4.2 - Proceso de Desarrollo de Software.doc
-
Upload
cristian-bossolasco -
Category
Documents
-
view
7 -
download
1
description
Transcript of 4.2 - Proceso de Desarrollo de Software.doc
FACULTAD DE TECNOLOGÍA INFORMÁTICA
UNIVERSIDAD ABIERTA INTERAMERICANA
Unidad 4
Ciclo de Vida de Desarrollo de Sistemas
Alumno: Cristian Bossolasco
Página 1 de 7
Objetivo: comprender las características más importantes y sus ámbitos de aplicación de los principales ciclos de vidas de desarrollo de sistemas
Palabras claves: Métodos de desarrollo, ciclo de vida, cascada, prototipo, espiral.
Duración: 3 hs
Preguntas
a) ¿Por qué el análisis de los requisitos es una de las tareas más complejas en el desarrollo de software?
b) ¿Cuáles son las ventajas de la utilización de un ciclo de vida para el desarrollo de sistemas?c) Explique las principales diferencias entre los ciclos de vida presentados d) Detalle los ámbitos de aplicación más adecuados para cada modelo de ciclo de vidae) Investigue algunos lenguajes de cuarta generación, explique sus características más
importantes y sus limitaciones.f) ¿Con cuáles modelos de ciclos de vida complementaría a los lenguajes de cuarta
generación?g) ¿Por qué el término “mantenimiento” no es el más adecuado?h) ¿De qué manera complementaría el ciclo de vida en cascada con prototipos?i) ¿Por qué no dejaría un prototipo como sistema final?
Ejercicios
a) Dé tres ejemplos de proyectos de desarrollo adecuados para la construcción mediante el ciclo de vida en
i. Cascadaii. 4GL
iii. Prototiposiv. Ciclo de vida en espiral, ¿qué tipos de riesgos evaluaría?
b) Desarrolle un prototipo básico de algún sistema que se adecue a sus características de desarrollo.
c) Dé ejemplos de los diversos tipos de mantenimiento que existen.
Página 2 de 7
Preguntas
a) Extraer los requisitos y requerimientos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requerimientos incompletos, ambiguos o contradictorios. El resultado del análisis de requerimientos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMMI. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software.
b) Utilizar un ciclo de vida en el desarrollo de un sistema permite que la administración del proyecto se adecúe a las características organizacionales particulares de tiempo, espacio y recursos computacionales, dando además la posibilidad de estimar y definir necesidad de recursos.
c)
i. Ciclo de vida en cascada :
Es estrictamente secuencial.
Necesita establecer inicialmente todos los requisitos del sistema.
Recién en la fase final del desarrollo se dispone de una versión operativa del programa.
ii. Ciclo de vida 4GL:
Se apoyan en un conjunto de herramientas que tienen como objetivo facilitar el desarrollo de los sistemas, facilitando la generación de código, de pantallas e informes, permitiendo además la gestión de entornos gráficos, facilitando el acceso a bases de datos.
La ventaja de este tipo de herramientas es la generación de código a partir de un alto nivel de abstracción.
Necesita establecer inicialmente todos los requisitos del sistema.
Si el proyecto es pequeño se puede pasar directamente de el análisis de requisitos a la generación de código
Generalmente el código generado es ineficiente
Es un proceso secuencial.
iii. Ciclo de vida de prototipos
No es necesaria realizar una definición inicial completa de los requisito
Página 3 de 7
Es un proceso interactivo e incremental
Con frecuencia los prototipos pasan a formar parte del sistema final, sin tener en cuenta que el prototipo ha sido creado sin tener en cuenta consideraciones de eficiencia, calidad de software y mantenimiento.
El prototipo provee una retroalimentación para el descubrimiento de nuevos requerimientos
iv. Ciclo de vida en espiral
Es un sistema evolutivo, con cada iteración se obtiene una versión mas refinada del sistema
Incorporal el factor de riesgo en el proyecto.
La determinación de riesgo no es una tarea sencilla
Se necesita mucha experiencia en proyectos de software
Intenta eliminar errores en las etapas tempranas
d)
i. Ciclo de vida en cascada :
Es útil para sistemas pequeños en los que es fácil determinar todos los requisitos de entrada.
v. Ciclo de vida 4GL:
Software de Gestión
vi. Ciclo de vida de prototipos
Es útil para proyectos que requieran mucha interacción con los usuarios
vii. Ciclo de vida en espiral
Se adapta bien a proyectos dinámicos, complejos e innovadores
e) Los lenguajes de cuarta generación son ciertas herramientas prefabricadas, que aparentemente dan lugar a un lenguaje de programación de alto nivel que se parece más al idioma inglés que a un lenguaje de tercera generación, porque se aleja más del concepto de "procedimiento". Pueden acceder a bases de datos.
Algunos restringen el nombre de "lenguajes de cuarta generación" para los lenguajes
orientados a objetos.
Ejemplos: NATURAL, PL/SQL...
Ventajas y desventajas de los lenguajes de cuarta generación:
I. Ventajas:
Página 4 de 7
Permiten elaborar programas en menor tiempo, lo que conlleva a un aumento de la
productividad.
El personal que elabora software sufre menos agotamiento, ya que generalmente
requiere escribir menos.
El nivel de concentración que se requiere es menor, ya que algunas instrucciones,
que le son dadas a las herramientas, a su vez, engloban secuencias de
instrucciones a otro nivel dentro de la herramienta.
Cuando hay que dar mantenimiento a los programas previamente elaborados, es
menos complicado por requerir menor nivel de concentración.
II. Desventajas:
Las herramientas prefabricadas generalmente son menos flexibles que
los lenguajes de alto nivel.
Se crea dependencia de uno o varios proveedores externos, lo que se traduce en
pérdida de autonomía. A menudo las herramientas prefabricadas contienen
librerías de otros proveedores, que conlleva a instalar opciones adicionales que
son consideradas opcionales. Los programas que se elaboran generalmente se
ejecutan sólo con la herramienta que lo creó (a menos que existan acuerdos con
otros proveedores).
A menudo no cumplen con estándares internacionales ISO ANSI. Por este motivo
invertir tiempo y dinero es un riesgo a futuro, porque no se sabe a ciencia cierta
cuanto tiempo permanecerá la herramienta y su fabricante en el mercado.
f) Se puede complementar con el modelo de prototipos y el análisis de riesgo del ciclo de vida en espiral. El término mantenimiento hace referencia a mantener en funcionamiento algo; pero cuando lo aplicamos al mantenimiento de un sistema informático esta palabra tiene un significado más amplio. Dependiendo del problema que se presente con el software, a veces supone volver atrás en el ciclo de vida y teniendo muy en cuenta el tipo de cambio encaminado, podemos necesitar un remplazo completo de la aplicación.
g) En la etapa de descubrimiento de descubrimiento, se puede hacer uso de prototipos, y de esa manera colaborar con la dificultad de descubrir todos los requerimientos en la primer etapa.
h) El prototipo ha sido creado sin tener en cuenta consideraciones de eficiencia, calidad de software y mantenimiento.
Ejercicios
Página 5 de 7
a)i. Cascada:
Librería Videoclub
ii. 4GL Un sistema de control presupuestario
iii. Prototipos Una pagina Web interactiva
iv. Ciclo de vida en espiral Un sistema de control de tráfico aéreo: Evaluaría el riesgo de no llegar a
realizar una entrega a tiempo, el riesgo de perder a un miembro importante de mi equipo.
b) Un prototipo de un almacen muy elemental, que consta de tres formulariosi. Formulario de registración de ventas:
Una grilla para los artículos que se lleva el cliente Un campo para el total de la venta Un campo para el cliente Un campo para la fecha de la venta Un campo para la forma de pago Un botón guardar Un botón anular Un botón salir
ii. Formulario para el alta de clientes Un campo para el nombre Un campo para el apellido Un campo para el DNI Un campo para el CUIT Un campo para la calle Un campo para la altura Un campo para el teléfono Un chek para verificar si el cliente esta dado de alta Un botón guardar Un botón cancelar Un botón salir
iii. Formulario para el alta de artículos Un campo para la descripción del articulo Un campo para el código del articulo Un campo para el precio del articulo
c)
Página 6 de 7
i. Durante la utilización, el cliente puede detectar errores en el software, estos se denominan errores latentes
ii. Cuando se producen cambios en alguno de los componentes del sistema informático, por ejemplo cambios en la computadora, en el sistema operativo o en los periféricos, se debe adaptar el software a ellos.
iii. El cliente habitualmente requiere modificaciones funcionales, normalmente ampliaciones, que no fueron contempladas inicialmente en el proyecto
Fuentes:
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
http://www.di-mare.com/adolfo/cursos/2007-1/pp-Intro4GL.pdf
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_de_cuarta_generaci%C3%B3n
Página 7 de 7