desarrollo de software, desde la fase inicial hasta la fase final. El propsito de este ciclo es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicacin, es decir, para garantizar que el software cumpla los requisitos para la aplicacin y verificacin de los procedimientos de desarrollo y se debe asegura de que los mtodos utilizados son apropiados
Software: Una aproximacin lgica a la adquisicin, el suministro, el desarrollo, la explotacin y mantenimiento del Software. La Norma ISO 12207-1: Entiende por ciclo de vida: un marco de referencia que contiene los procesos las actividades y las tareas involucradas, en el desarrollo, la explotacin y el mantenimiento de un producto de Software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso.
Ambas consideran:
una actividad como un conjunto de tareas una tarea como una accin que transforma entrada
en salida.
El ciclo de vida abarca:
toda la vida del sistema : desde su concepcin hasta
Procesos de Soporte
Documentacin
Suministro
Desarrollo
Explotacin mantenimiento
Infraestructura Formacin
desarrollo explotacin y mantenimiento del Software. (compradores, suministradores, el personal de desarrollo, operadores, personal de mantenimiento)
Proceso de Adquisicin: actividades y tareas que el
comprador el cliente o usuario realiza para adquirir un sistema. Proceso de Suministro: actividades y tareas que el suministrador realiza. Inicia con decisin de preparar una respuesta a una peticin de un comprador.
Integracin del Software. Prueba del software Integracin del Sistema Prueba del Sistema Instalacin del Software. Soporte de Proceso de aceptacin del Software.
Software, necesita de modificaciones en el cdigo o documentacin. Incluye actividades de migracin a un nuevo entorno.
producida por un proceso o actividad del ciclo de vida. Proceso de Gestin de la Configuracin: aplica procedimientos administracin y tcnicos durante el ciclo de vida del sistema:
Identificar definir establecer la lnea de los elementos de
10
seguridad que los procesos y producto, cumplen con los requisitos especificados. Proceso de Verificacin: determina si los requisitos de un sistema estn completos y son correctos Proceso de Validacin: sirve para determinar si el sistema final cumple con los requisitos previstos.
11
estado del Softw., y sus productos en una actividad del ciclo de vida Proceso de Auditoria.: determina los hitos predeterminados, han cumplido los requisitos, planes y contrato. Proceso de Resolucin de Problemas.: analiza y elimina los problemas descubiertos durante el desarrollo , explotacin, mantenimiento u otro proceso.
12
gestionar procesos. Procesos de Infraestructura: establece la infraestructura necesaria para cualquier proceso (software y hardware) Proceso de Mejora: valorar, medir controlar y mejorar los procesos del ciclo de vida Software Proceso de Formacin: sirve para mantener al personal formado. Material y plan de formacin.
13
respecto a los proyectos de software. Dado que los procesos se aplican durante el ciclo de vida del software, de diferentes formas es necesario comprender los procesos, las organizaciones y sus relaciones tal como se ve en la sig. Figura.
14
P.Adquisicin
V.contrato
P.Suministro P.Gestin
Compra.prove
V.direccin
direccion
Operad.Usua
P. Explotacin
V.operativo
P.Desarrollo
V.Ingeni.
Desarrolla. Mant.
soporte
Per.usa proc.apoyo
Anlisis requisitos del sistema ii. Diseo del sistema iii. Diseo del programa iv. codificacin v. Pruebas y verificacin vi. mantenimiento
i.
sistema de software
Codificacin:
Se implementa el cdigo fuente Se crean bibliotecas y componentes reutilizables
Pruebas :
los elementos ya programados se ensamblan para componer
el sistema y se comprueba que funcione correctamente y que cumple con los requisitos antes de ser entregado al usuario final. Verificacin:
Es la fase donde el usuario final ejecuta el sistema , para ello
el o los programadores ya realizaron exhaustivas pruebas para comprobar que el sistema no falle.
Mantenimiento:
manejo
del usuario Una de las etapas mas criticas ya que al utilizarlo puede . ser que no cumpla con todas nuestras expectativas
Caractersticas: es un modelo similar al modelo en cascada Es de naturaleza interactiva Cada incremento concluye con la actividad de << mantenimiento >> es un modelo evolutivo. Lleva a un desarrollo modular Facilita la incorporacin de nuevos elementos durante . el desarrollo Permite entregas funcionales tempranas al cliente Con cada incremento se agrega una nueva funcionalidad o se cubren nuevos requisitos o bien se mejora la versin previamente implementada
Ventajas: Provee un impacto ventajoso frente al cliente El modelo proporciona todas las ventajas del modelo en cascada realimentado Permite entregar al cliente un producto mas rpido en comparacin del modelo en cascada Desventajas:
Requiere de mucha planeacin , tanto administrativa
como tcnica
que permite completar el conjunto de requisitos funcionales de un programa. Ayuda al usuario a definir sus necesidades y a ver las necesidades reales del sistema. Los prototipos son probados por los usuarios antes de obtener el programa final y el cliente es involucrado en el desarrollo del programa.
Las ventajas son: Reduce el riesgo de construir productos que no satisfagan l as necesidades de los usuarios. Reduce costos y aumenta la probabilidad de xito. Involucra al cliente en el desarrollo del programa. Se puede analizar el trabajo maquina y el usuario. Ofrece visibilidad del sistema desde el principio, con el primer prototipo.
Las desventajas son: Este modelo se demora y demanda fuertes inversiones en los prototipos que se descartan. el cliente ve el funcionando versiones del prototipo pero puede desilusionarse porque el producto final no ha sido construido. El desarrollador puede caer en la tentacin de hacer mejoras del prototipo para construir el programa final. Equipo de trabajo que desarrolla el programa debe ser reducido.
Este modelo comienza encontrando las posibles alternativas para disear el programa e identifica los riesgos que se presentaran. Elige la opcin de menor riesgo y elabora un plan de trabajo cclico.
de diversos artculos de ingeniera del software, tambin desarrollo modelos que calculaban el esfuerzo y tiempo que se necesita para realizar un software. El modelo evolutivo espiral pone nfasis en los riesgos que pueden aparecer cuando se disea el programa. Se comienza eligiendo entre las posibles alternativas de desarrollo y se elige la opcin de riesgos venidnos y se hace un ciclo de la espiral.
Este modelo esta compuesto de varios ciclo o iteracin y estos ciclos estn compuestos a su vez de cuatro tareas(partes): 1. Determinar o fijar objetivos: Se estudian todas las necesidades del usuario que debe cumplir el programa 2. Anlisis del riesgo: Se estudian todos los posibles riesgos y se seleccionan las alternativas para reducir los riesgos. 3. Desarrollo, verificacin y validacin: Se prueba el prototipo y se evala cuales de la alternativa de resolucin de riesgos es la mas conveniente. 4. Planificar: Analizamos como a funcionado todo lo realizado, y decimos si se disea otra ciclo. Si el resultado no es el esperado se planificar otro ciclo y as hasta que el usuario quede conforme.
Las ventajas: Se analiza los riesgos de forma explcita y clara. Une los mejores elementos de los modelos. Reduce riesgos de fracaso del proyecto. Se estudia la calidad. Une el desarrollo con el mantenimiento. No necesita una lista complet a de los requisitos para empezar a funcionar.
Las desventajas: Es difcil encontrar los riesgos. Necesita de la participacin continua por parte del cliente. Es un modelo que genera mucho trabajo adicional. Exige un alto nivel de experiencia y cierta habilidad en los analistas de riesgos. Es un modelo costoso. No es un modelo que funcione bien para proyectos pequeos.
mismo dominio de aplicacin. El software puede representarse como una combinacin de mdulos Disear aplicaciones = especificar mdulos + interrelaciones. Los sistemas nuevos se pueden caracterizar por diferencias respecto a los antiguos
Mejora de la productividad.
Mayor fiabilidad.
Mayor eficiencia.
Escasa formacin.
reutilizacin (estructurados).
No existe plan de reutilizacin (no se considera
prioritario).
ordenado. La documentacin se genera de forma automtica. El mantenimiento se realiza por sustitucin. Diseos poco optimizados.
39
40
41
42
43
44
45
46