4.2 - Proceso de Desarrollo de Software.doc

9
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 9

description

Proceso de Desarrollo de Software

Transcript of 4.2 - Proceso de Desarrollo de Software.doc

Page 1: 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

Page 2: 4.2 - Proceso de Desarrollo de Software.doc

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

Page 3: 4.2 - Proceso de Desarrollo de Software.doc

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

Page 4: 4.2 - Proceso de Desarrollo de Software.doc

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

Page 5: 4.2 - Proceso de Desarrollo de Software.doc

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

Page 6: 4.2 - Proceso de Desarrollo de Software.doc

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

Page 7: 4.2 - Proceso de Desarrollo de Software.doc

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