sábado, 23 de febrero de 2008

anexo ciclo de vida del software

· Anexo:
· Modelos de ciclo de Vida del Software:

El ciclo de vida del software son las fases por las que atraviesa un proyecto de desarrollo de software, el cual describe las fases principales de desarrollo de software, define las fases primarias de ser ejecutadas durante esas fases, ayuda a administrar el progreso del desarrollo y provee un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.
Alternativas de Modelos de Ciclo de Vida:
-Modelo Cascada: es el más básico de los modelos. La visión: el desarrollo de software puede ser a través de una secuencia simple de fases las cuales tienen un conjunto de metas bien definidas, y las actividades dentro de una fase contribuye a la satisfacción de metas de esa fase o a metas de sub-fases.
-Principios básicos:
· Planear un proyecto antes de embarcarse en él.
· Definir el comportamiento externo del sistema antes de diseñar su arquitectura interna.
· Documentar los resultados de cada actividad.
· Diseñar un sistema antes de codificarlo.
· Testear un sistema después de construirlo.
-Modelo De Desarrollo Incremental: el desarrollo incremental es el proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema. Se elabora un documento de requerimientos al capturar todos los requerimientos para el sistema completo.
-Beneficios del modelo:
· un sistema pequeño es menos riesgoso que construir un sistema grande.
· Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los requerimientos planeados para los niveles subsiguientes son correctos.
· Si un error importante es realizado, sólo la última iteración necesita ser descartada.
· Reduciendo el tiempo de desarrollo de un sistema decrecen las probabilidades que esos requerimientos de usuarios puedan cambiar durante el desarrollo.
· Si un error importante es realizado, el incremento previo puede ser usado.
· Los errores de desarrollo realizados en un incremento, pueden ser arreglados antes del comienzo del próximo incremento.
-Modelo De Desarrollo Evolutivo: este modelo construye una serie de grandes versiones sucesivas de un producto. El modelo evolutivo asume que los requerimientos (cuidadosamente examinados) no son completamente conocidos al inicio del proyecto, y sólo esos que son bien comprendidos son seleccionados para el primer incremento.
El sistema es desarrollado, usado por los usuarios, y proveen retroalimentación a los desarrolladores. Basada en la retroalimentación, la especificación de requerimientos es actualizada, y una segunda versión del producto es desarrollada y desplegada. El proceso se repite indefinidamente.
Este modelo requiere un especial cuidado en la manipulación de documentos, programas, datos de test, etc. desarrollados para distintas versiones del software.
-Modelo de Prototipado de Requerimientos.- : es la creación de una implementación parcial de un sistema, con el propósito de aprender sobre los requerimientos del sistema. Un prototipo es construido de manera rápida. Esto es dado a los usuarios, clientes o representantes de ellos, posibilitando que ellos experimenten con el prototipo. Luego ellos proveen la retroalimentación sobre lo que a ellos les gustó y no les gustó acerca del prototipo proporcionado, quienes capturan en la documentación actual de la especificación de requerimientos la información entregada por los usuarios para el desarrollo del sistema real.
un prototipo generalmente se construye con los requerimientos entendidos más pobremente.
-Modelo Espiral: es un modelo del ciclo de meta-vida y el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza.
-Pasos en cada desarrollo ejecutado:
 Determinar qué quieres lograr.
 Determinar las rutas alternativas que puedes tomar para lograr estas metas. Analizar riesgos y resultados finales, y seleccionar la mejor.
 Seguir la alternativa seleccionada en el paso 2.
 Establecer qué tienes terminado.
-Principios básicos:
· Decidir qué problema se quiere resolver antes de resolverlo.
· Examinar las alternativas de acción y elegir la más conveniente.
· Evaluar qué tienes hecho y qué tienes que haber aprendido después de hacer algo.
· No ser tan ingenuo para pensar que el sistema que estás construyendo será "EL" sistema que el cliente necesita.
· Conocer los niveles de riesgo.
-Modelo Concurrente: este modelo provee una meta-descripción del proceso software. la contribución de este modelo es su capacidad de describir las múltiples actividades del software ocurriendo simultáneamente
Por ejemplo, estar haciendo mantención de la etapa 1 de un producto, y al mismo tiempo estar haciendo mantención sobre un componente 2, mientras que se está haciendo codificación sobre un componente 3, mientras se realiza diseño sobre una etapa 4, y especificación de requisitos sobre un componente 5.

No hay comentarios: