Vous êtes sur la page 1sur 9

CONCEPTO DE CICLO DE VIDA Una aproximacin lgica a la adquisicin, el suministro, el desarrollo, la explotacin y el mantenimiento del software IEEE 1074

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 ISO 12207-1 PROCESOS DEL CICLO DE VIDA SOFTWARE PROCESOS PRINCIPALES ADQUISICIN SUMINISTRO DESARROLLO EXPLOTACIN MANTENIMIENTO PROCESOS DE SOPORTE DOCUMENTACIN GESTIN DE CONFIGURACIN ASEGURAMIENTO DE CALIDAD VERIFICACIN VALIDACIN AUDITORA REVISIN CONJUNTA RESOLUCIN DE PROBLEMAS PROCESOS DE LA ORGANIZACIN GESTIN INFRAESTRUCTURA MEJORA FORMACIN 3.2. Modelo incremental El modelo incremental consiste en un desarrollo inicial de la arquitectura completa del sistema, seguido de sucesivos incrementos funcionales. Cada incremento tiene su propio ciclo de vida y se basa en el anterior, sin cambiar su funcionalidad ni sus interfaces. Una vez entregado un incremento, no se realizan cambios sobre el mismo, sino nicamente correccin de errores. Dado que la arquitectura completa se desarrolla en la etapa inicial, es necesario, al igual que en el modelo en cascada, conocer los requerimientos completos al comienzo del desarrollo. Respecto al modelo en cascada, el incremental tiene la ventaja de entregar una funcionalidad inicial en menor tiempo. Se evitan proyectos largos y se entrega Algo de valor a los usuarios con cierta frecuencia El usuario se involucra ms Difcil de evaluar el coste total Difcil de aplicar a sistemas transaccionales que tienden a ser integrados y a operar como un todo Requiere gestores experimentados Los errores en los requisitos se detectan tarde. El resultado puede ser muy positivo 3.3. Modelo evolutivo El modelo evolutivo es, en cierta forma, similar al incremental, pero admite que la especificacin no est completamente determinada al comienzo del ciclo de vida.

Los requerimientos que estn suficientemente detallados al comienzo darn lugar a un entrega inicial, mientras que los siguientes incrementos sern cambios progresivos que implementen deltas de especificacin de requerimientos. El modelo admite que, si la especificacin no es suficientemente clara al principio, puede desarrollarse un prototipo experimental, que tiene como funcin validar o identificar los requisitos del sistema. u Problemas l Poca visibilidad en el proceso l Los sistemas estn pobremente especificados l Se requieren habilidades especiales. u Aplicabilidad l Para sistemas interactivos pequeos o medianos. l Para partes de sistemas grandes (p.ej. la interfaz de usuario). l Para sistemas de corta vida. 3.4. Modelo espiral El modelo de espiral, introducido por Barry Bohem a fines de la dcada de 1980 [8], intenta combinar las ventajas del modelo en cascada con el modelo evolutivo. El modelo enfatiza el estudio de los riesgos del proyecto, como por ejemplo las especificaciones incompletas. Se prev, en este modelo, varios ciclos o vueltas de espiral, cada uno de ellos con cuatro etapas: Definicin de objetivos, Evaluacin y reduccin del riesgo, Desarrollo y validacin y Planificacin del siguiente ciclo. En este modelo, una actividad comienza solo cuando se entienden los objetivos y riesgos involucrados. El desarrollo se incrementa en cada etapa, generando una solucin completa. La metodologa en espiral ha sido utilizado con xito en grandes sistemas, pero su complejidad la hace desaconsejable para el desarrollo de sistemas medianos o pequeos. Trata de mejorar los ciclos de vida clsicos y prototipos. Permite acomodar otros modelos Incorpora objetivos de calidad y gestin de riesgos Elimina errores y alternativas no atractivas al comienzo Permite iteraciones, vuelta atrs y finalizaciones rpidas Cada ciclo empieza identificando: Los objetivos de la porcin correspondiente Las alternativas Restricciones Cada ciclo se completa con una revisin que incluye todo el ciclo anterior y el plan para el siguiente Diferencias entre modelo en espiral y modelos tradicionales Reconocimiento explcito de las diferentes alternativas. Identificacin de riesgos para cada alternativa desde el comienzo. Al dividir el proyecto en ciclos, al final de cada uno existe un acuerdo para los cambios que hay que realizar en el sistema. El modelo se adapta a cualquier tipo de actividad adicional

Fases del Modelo de Espiral u Planteamiento de Objetivos l u Se identifican los objetivos especficos para cada fase del proyecto.

Identificacin y reduccin de riesgos. l Los riesgos clave se identifican y analizan, y la informacin sirve para minimizar los riesgos.

Desarrollo y Validacin. l Se elige un modelo apropiado para la siguiente fase del desarrollo.

Planeacin. l Se revisa el proyecto y se trazan planes para la siguiente ronda del espiral.

Ventajas del Modelo de Espiral u Centra su atencin en la reutilizacin de componentes y eliminacin de errores en informacin descubierta en fases iniciales. Los objetivos de calidad son el primer objetivo. Integra desarrollo con mantenimiento. Provee un marco de desarrollo de hardware/software.

u u u

Problemas con el Modelo de Espiral u El desarrollo contractual especifica el modelo del proceso y los resultados a entregar por adelantado. Requiere de experiencia en la identificacin de riesgos. Requiere refinamiento para uso generalizado.

u u

El modelo de cascada considera cada actividad del proceso como una actividad discreta. El modelo de desarrollo evolutivo considera actividades del proceso en forma concurrente. El modelo de espiral se basa en anlisis de riesgos. La visibilidad del proceso involucra la creacin de documentos o resultados de las actividades.

u u

Los Ingenieros de software deben tener responsabilidades ticas, sociales y profesionales. El proceso de software consiste en aquellas actividades involucradas en el desarrollo de software.

Modelo de Espiral Visibilidad del Proceso Buena visibilidad, cada segmento y cada anillo del espiral debe producir un documento.

Modelos evolutivos n Caractersticas: n Gestionan bien la naturaleza evolutiva del software n Son iterativos: construyen versiones de software cada vez ms completas n Se adaptan bien: n Los cambios de requisitos del producto n Fechas de entrega estrictas poco realistas n Especificaciones parciales del producto

Modelos evolutivos. Espiral n Original: Boehm, 1988 n IEEE Std. 1490-1998 n Se centra en tratar las reas de mayor riesgo en un proyecto (requisitos, arquitectura, etc.) n El proyecto se compone de varios mini-proyectos, que tratan una o varias reas de riesgo n Multiples iteraciones sobre varias regiones de tareas n Vuelta a la espiral: ciclo n Nmero de iteraciones predeterminadas o calculadas dinmicamente n Se pueden variar las actividades de desarrollo: familia de modelos de procesos n Las regiones de tareas son asimilables a las fases del modelo en cascada n Identificar requisitos En funcin del ciclo: Requisitos de negocio Requisitos del sistema Requisitos de subsistemas Requisitos de unidad n Disear En funcin del ciclo: Diseo conceptual Diseo lgico Diseo fsico Diseo final n Construir n En funcin del ciclo: Prueba de concepto (prototipo) Primer desarrollo

Segundo desarrollo Desarrollo final n Evaluar n En funcin del ciclo se hace: Anlisis de riesgo Prueba del concepto Evaluacin de los primeros desarrollos Prueba del desarrollo final

Modelos evolutivos. Incremental Aplica el enfoque lineal secuencial escalonadamente Incrementos parciales de la herramienta completa (versiones) Cada incremento agrega funcionalidad adicional o mejorada sobre el sistema Cada etapa debe cumplir con los requisitos de las desarrolladas Ventajas: Los clientes no tienen que esperar hasta que el sistema se entregue completamente para comenzar a hacer uso de l. Los clientes pueden usarlo sin incrementos iniciales como prototipo para precisar los requerimientos posteriores del sistema. Minimizacin del riesgo de falla en el proyecto porque los errores se van corrigiendo progresivamente. Problemas: Adaptacin de los requisitos del cliente para lograr incrementos pequeos (nomas de 20.000 lneas de cdigo) que aadan funcionalidad al sistema. Una evolucin de este enfoque se conoce como Programacin Extrema (XPExtremeProgramming).

Fusiona el Modelo lineal secuencial (Pressman) y con y el de construccin de prototipos. Modelo lineal secuencial (Pressman) n Ingeniera de sistemas n Al ser el software parte de un sistema ms grande el trabajo comienza estableciendo requisitos de todos los elementos del sistema y asignando al software una parte de estos requisitos Modelo de construccin de prototipos n Comienza con la recoleccin de requisitos n Cliente y desarrolladores definen los objetivos globales del software. n Adems, identifican los requisitos conocidos y aquellos que deben ser ms definidos. n Aparece un diseo rpido centrado en los aspectos visibles para el cliente (e.g. informacin de E/S) n El diseo rpido lleva a la construccin de un prototipo n El prototipo lo evala el cliente y lo utiliza para refinar los requisitos n El proceso se itera... ... desechando el primer prototipo

Modelo de construccin de prototipos n Ventajas n Permite identificar los requisitos incrementalmente n Permite probar alternativas a los desarrolladores n Tiene una alta visibilidad tanto clientes como desarrolladores ven resultados rpidamente n Inconvenientes n El cliente no entiende porque hay que desechar el primer prototipo Si simplemente ha pedido unos ajustes...(?) n Riesgo de software de baja calidad Compromisos de implementacin para que el prototipo funcione rpidamente y que al final son parte integral del sistema

Proceso de Software Es un conjunto de actividades y resultados asociados, que generan un producto de software, las cuales son llevadas a cabo por los ingenieros de software. Actividades comunes a todo Proceso de Software Especificacin Diseo e implementacin Validacin Evolucin

Distintos procesos organizan estas actividades de diferentes formas y las describen a diferente nivel de detalle. Organizaciones diferentes utilizan procesos diferentes Modelos de Proceso del software Es una descripcin de un proceso del software que se presenta desde una perspectiva particular. Es una abstraccin de un proceso real. Existe una gran variedad de modelos o paradigmas de desarrollo de software: Enfoque de Cascada Desarrollo Evolutivo Desarrollo Formal Desarrollo basado en la reutilizacin

Modelos de Proceso del software Es una descripcin de un proceso del software que se presenta desde una perspectiva particular. Es una abstraccin de un proceso real. Existe una gran variedad de modelos o paradigmas de desarrollo de software: Enfoque de Cascada Desarrollo Evolutivo Desarrollo Formal Desarrollo basado en la reutilizacin

Vous aimerez peut-être aussi