Modelos Iterativos e Incrementales
[editar]
Introduccin
La elaboracin de proyectos requiere en su etapa inicial una buena planificacin, dentro del desarrollo de software existen varios parmetros en los que basarse como por ejemplo grado de definicin de requisitos, tamao del proyecto, riesgos identificados, entre otros, el reto de los desarrolladores est en saber elegir un buen modelo de desarrollo, una opcin es el modelo iterativo e incremental. Trminos importantes: Versin de Software.- es un nmero que indica el nivel de desarrollo de un programa. Es habitual que una aplicacin sufra modificaciones, mejoras o correcciones. El nmero de versin suele indicar el avance de los cambios. Suelen ser nmeros correlativos, y frecuentemente son dos cifras separadas por un punto. Por ejemplo, el paso de la versin 2 a la 3 de una aplicacin suele conllevar cambios significativos, mientras que el paso de la 3.0 a la 3.1 indica cambios de menor importancia; el siguiente grupo de mejoras fuertes llevara a la versin 4.0. Hay quien afina ms, utilizando tres cifras en vez de dos: 1.1.56. Algunos fabricantes usan el nmero de ao de lanzamiento (por ejemplo: Microsoft Office 97) en vez de nmeros consecutivos.(Fuente: http://es.wikipedia.org/wiki/Versin) Tipos de Versin: Pre-alfa Se publica a veces antes del lanzamiento de una versin alfa o beta. No tiene sus caractersticas completas. Los diseadores todava estn determinando en esta etapa exactamente Alfa o esencial La versin alfa de un producto es la primera para la que el equipo de desarrollo decide que implementa todas las funcionalidades especificadas en los requisitos. Es la primera versin del programa que se enva a los verificadores para probarla. Beta Representa generalmente la primera versin completa del programa informtico o de otro producto, que es probable que sea inestable pero til para que las demostraciones internas y las inspecciones previas seleccionen a clientes. Las versiones beta estn en un paso intermedio en el ciclo de desarrollo completo. Los probadores divulgan cualquier error que encuentran y caractersticas, a veces de menor importancia, que quisieran ver en la versin final. Versin candidata a definitiva Se refiere a un producto final, preparado para lanzarse como versin definitiva a menos que aparezcan errores que lo impidan.
Iterativo.- que se repite, mejorando su funcionalidad durante el desarrollo de las nuevas versiones. Incremental.- que se aumenta, corresponde al aumento de funcionalidad del producto en las nuevas versiones. Entonces, el Modelo Iterativo e Incremental est dividido en partes pequeas o mini-proyectos, donde cada miniproyecto es una iteracin que resulta en un incremento. Las iteraciones hacen referencia a pasos en el flujo de trabajo, y los incrementos, al crecimiento del producto, todo con el fin de obtener una nueva versin mejorada del producto. [editar]
Descripcin con Esquemas y Fases
DESCRIPCIN DEL MODELO El modelo es una evolucin del modelo cascada, ya que esta basado en el mismo, el producto final del desarrollo de software es la secuencia de una serie de versiones conformadas por mini-cascadas (mini-proyectos) las cuales van
aumentando tanto en su funcionabilidad como tambin el mejoramiento de dichas funciones que suplen las necesidades del cliente. Existen dos factores para decidir que se implementar en una iteracin: -La iteracin trata un grupo de casos de uso que juntos amplan la utilidad del producto desarrollado hasta ahora. -La iteracin trata los riesgos ms importantes. Las iteraciones sucesivas se construyen sobre los artefactos de desarrollo tal como quedaron al final de la ltima iteracin. Un proceso iterativo e incremental se denomina dirigido por el riesgo, lo que significa que cada nueva versin se ataca y reducen los riesgos ms significativos para el xito del proyecto. ESQUEMA DEL MODELO ITERATIVO-INCREMENTAL
-Planificacin y Anlisis de la Iteracin (Estudio de riesgos): Anlisis de los Casos de Uso y escenarios. Diseo de opciones arquitectnicas. -Codificacin y Pruebas: La integracin del nuevo cdigo con el existente de iteraciones anteriores se hace gradualmente durante la construccin. -Evaluacin de la entrega ejecutable: Evaluacin del prototipo en funcin de las pruebas y criterios definidos. -Preparacin de la entrega: Documentacin e instalacin de la versin del producto. Al finalizar se realiza una integracin de los resultados con lo obtenido de las iteraciones anteriores. Cada iteracin aborda una parte de la funcionalidad total, pasando por todos los flujos de trabajo relevantes y refinando la arquitectura. Ciclo de Vida Iterativo Incremental Est constituido en tres etapas: 1.Etapa de Inicializacin
Se crea una primera versin con el objetivo de que el usuario pueda interactuar con el producto de software de manera que esta informacin pueda ser retroalimentada. Se crea una lista de control en donde se puntualizan las mejoras que el producto debe tener en la siguiente versin, adems de las funciones que se deben implementar y los rediseos de la solucin ya existente, esta debe ser supervisada constantemente como parte del proceso de anlisis. 2.Etapa de Iteracin Involucra principalmente el rediseo e implementacin de una tarea de la lista de control. El anlisis del rediseo se basa en la retroalimentacin del usuario adems de del anlisis de estructura, modularidad, usabilidad, confiabilidad, eficiencia y eficacia. 3.Lista de Control del Proyecto Esta lista se crea en el proceso de anlisis del proyecto y nos sirve para aplicar las medidas correctivas a los diversos errores que se pueden generar en el transcurso de todo el ciclo de vida del software. Enfoque Iterativo Incremental
[editar]
Ventajas
Provee soporte para determinar la efectividad de los procesos y de la calidad del producto. Permite estudiar y despus mejorar y ajustar el proceso para el ambiente en particular. Se tiene una visin del producto esencial en un corto espacio de tiempo. Se puede ir corrigiendo errores con el modelo iterativo Se puede agregar ms funcionalidades con el modelo incremental [editar]
Desventajas
El desarrollo con este modelo requiere ms tiempo para entregar un producto final.
El modelo no es tan sencillo como el de cascada debido a su complejidad en la planificacin. Es difcil distinguirlo del proceso "codifica y corrige", ya que son parecidos, la diferencia est que en la prctica se requiere que al construir el prototipo se aplique el anlisis y el diseo pero slo a una parte de los requerimientos, que se documente y se codifique, logrando un poco de disciplina heredada del modelo en cascada. [editar]
Conformidades y No Conformidades con la Norma IEEE 12207
Nomenclatura: C Conformidad P Conformidad Parcial N No conformidad [editar]
Procesos Principales del Ciclo de Vida
[editar] Vision Contractual: Procesos de Adquisicion y Suministro Conformidad General (C) El Proceso de Adquisicin contempla las siguientes tareas:
Inicio. Preparacin de la peticin de ofertas. Preparacin y actualizacin del contrato. Seguimiento del Suministrador. Aceptacin y finalizacin. (C) (C) (C) (C) (C)
El Proceso de Suministro contempla las siguientes tareas:
Inicio. Preparacin de la respuesta. Contrato. Planificacin. Ejecucin y Control. Revisin y Evaluacin. Suministro y Terminacin. (C) (P) (C) (P) (C) (C) (C)
AQUI ANALISIS GENERAL El modelo iterativo e incremental siguiendo la norma IEEE 12207 cumple con lo establecido para el proceso de adquisicin y suministro, excepto en ciertas ocasiones, este tipo de modelo se apega mucho a las necesidades del adquisidor debido a que en el proceso de adquisicin y suministro se puede establecer un contrato por medio del cual se ponen en manifiesto los acuerdos mutuos. [editar] Visin Desarrollo: Proceso de Desarrollo Conformidad General (P)
El Proceso de Desarrollo contempla las siguientes tareas:
Implementacin del proceso. Anlisis de los requisitos del sistema. Diseo de la arquitectura del sistema. Anlisis de los requisitos de software. Diseo de la arquitectura del software. Diseo detallado del software. Codificacin y Pruebas de software. Integracin del software. Pruebas de calificacin de software. Integracin del sistema. Pruebas de calificacin de sistema. Instalacin del software. Soporte a la aceptacin del software. (P) (C) (P) (P) (P) (N) (P) (P) (C) (P) (P) (C) (C)
AQUI ANALISIS GENERAL Las conformidades del modelo iterativo e incremental dentro del proceso de desarrollo no han sido las ms ptimas debido a que la norma establece una gran cantidad de documentacin y descripcin especfica del proceso de desarrollo que en nuestro modelo empleado no es parte de los objetivos principales. [editar] Visin Operativa: Proceso de Operacin y Mantenimiento Conformidad General (C) El Proceso de Operacin contempla las siguientes tareas:
Implementacin del proceso. Pruebas de operacin. Operacin del sistema. Apoyo al usuario. (C) (C) (C) (C)
El Proceso de Mantenimiento contempla las siguientes tareas:
Implementacin del proceso. Anlisis de problemas y modificaciones. Implementacin de las modificaciones. Revisin/aceptacin del mantenimiento. Migracin. Retirada del Software. (C) (C) (C) (C) (C) (N)
AQUI ANALISIS GENERAL El proceso de operacin y mantenimiento cumple con la norma casi en su totalidad debido a que en el modelo aparecen frecuentemente iteraciones e incremento de funciones con la finalidad de ir mejorando el producto final. La retirada del software deber establecer el adquisidor dentro del contrato pero no es un requisito establecido dentro del proceso de operacin y mantenimiento.
[editar]
Procesos de Apoyo al Ciclo de Vida
[editar] Proceso de Documentacin Conformidad General (C)
El Proceso de Documentacin contempla las siguientes tareas:
Implementacin del proceso. Diseo y desarrollo. Produccin. Mantenimiento. (C) (C) (C) (P)
AQUI ANALISIS GENERAL
Este modelo no contiene una documentacin extensa con en otros modelos como el RUP pero si la necesaria e indispensable con la calidad que establece la norma, para que tanto los operadores como los usuarios lo puedan entender. [editar] Proceso de Gestin de la Configuracin Conformidad General (C) El Proceso de Gestin de la Configuracin contempla las siguientes tareas:
Implementacin del proceso. Identificacin de la configuracin. Control de la configuracin. Reporte del estado de la configuracin. Evaluacin de la configuracin. Gestin de liberacin y entrega. (C) (C) (C) (C) (C) (C)
AQUI ANALISIS GENERAL Los modelos iterativos e incrementales usan varias versiones antes de entregar un producto de software final, en consecuencia las configuraciones estn abiertas a realizar algunos cambios. [editar] Procesos de Aseguramiento de la Calidad, Verificacin, Validacin, Revisiones Conjuntas y Auditoria Conformidad General (C) El Proceso de Aseguramiento de la Calidad contempla las siguientes tareas:
Implementacin del proceso. (C)
Aseguramiento del producto. Aseguramiento del proceso. Aseguramiento de los sistemas de la calidad.
(C) (C) (P)
El Proceso de Verificacin contempla las siguientes tareas:
Implementacin del proceso. Verificacin. (P) (C)
El Proceso de Validacin contempla las siguientes tareas:
Implementacin del proceso. Validacin. (C) (C)
El Proceso de Revisiones Conjuntas contempla las siguientes tareas:
Implementacin del proceso. Revisiones de la gestin del proyecto. Revisiones tcnicas. (C) (C) (C)
El Proceso de Auditoria contempla las siguientes tareas:
Implementacin del proceso. Auditoria. (C) (C)
ANALISIS GENERAL El modelo iterativo incremental cumple casi en su totalidad con los procesos de Aseguramiento de la Calidad, Verificacin, Validacin, Revisiones Conjuntas y Auditoria, ya que al mediante las iteraciones e incrementos que se realizan durante el desarrollo del producto de software se garantiza la calidad del mismo en aspectos como la seguridad, eficiencia, confiabilidad, manejabilidad, etc. Uno de los objetivos principales de este modelo es que el producto final sea de alta calidad, basndose en versiones del mismo, hasta que la versin definitiva sea la mejor. En cuanto a la Auditoria y Revisiones, este modelo no presenta mayor problema, pues en cada etapa del desarrollo del producto se realiza la respectiva documentacin, incluso en cada iteracin e incremento por mnimo que este sea, lo cual es muy til a la hora de rendir cuentas ya que se tiene una documentacin detallada y confiable. [editar] Proceso de Solucin de Problemas Conformidad General (P)
El Proceso de Solucin de Problemas contempla las siguientes tareas:
Implementacin del proceso Solucin de problemas (P) (C)
ANALISIS GENERAL El modelo permite un continuo chequeo de errores, por lo cual se implementa parcialmente el proceso de solucin de problemas. El objetivo es el proporcionar un mecanismo responsable, documentado y a tiempo que asegure que todos los problemas descubiertos se analizan y resuelven y se reconozcan las tendencias. Para realizar una nueva iteracin se toma como punto de partida el producto actual y se lo modifica realizando nuevas iteraciones e incrementos en la etapa que se necesite. La documentacin tambin tiene un papel muy importante en este proceso, pues facilita encontrar una pronta solucin al problema, ya que se pueden o descubrir patrones de errores dentro de las versiones del producto. Una vez solucionado uno o ms problemas, se puede realizar una nueva versin del producto. [editar]
Procesos de Organizativos del Ciclo de Vida
[editar] Proceso de Gestin Conformidad General (C) El Proceso de Gestin contempla las siguientes tareas:
Inicio y definicin del alcance (C) Planificacin Ejecucin y control Revisin y evaluacin Terminacin (C) (C) (C) (C)
ANALISIS GENERAL Este proceso se aplica parcialmente dentro del modelo ya que cada iteracin tiene un alcance, por lo tanto existe una planificacin continua durante el desarrollo del producto. Cada etapa del modelo avanza gradualmente, generando una organizacin parcial y no total. [editar] Proceso de Infraestructura Conformidad General (P)
El Proceso de Infraestructura contempla las siguientes tareas:
Implementacin del proceso Establecimiento de la infraestructura Mantenimiento de infraestructura
(P) (P) (P)
ANALISIS GENERAL El proceso de infraestructura dentro del modelo es parcial, pues los requerimientos que se necesitan se van presentando segn el avance del desarrollo del producto. Se trabaja con los requerimientos necesarios para el desarrollo del producto, pues lo indispensable del modelo es generar lo ms pronto posible una versin tangible para el cliente. [editar] Proceso de Formacin Conformidad General (C) El Proceso de Formacin contempla las siguientes tareas:
Implementacion del proceso Desarrollo del material de formacin Implementacin del plan de formacin (C) (C) (P)
ANALISIS GENERAL Mientras se tenga un personal altamente capacitado, formado y calificado el equipo de desarrollo de software rendir al mximo y por ende, l o los productos de software que se realicen, reflejarn fielmente la formacin del personal. Este modelo toma muy en cuenta el trabajo en equipo, por lo tanto la formacin de cada persona debe abarcar, a parte de un conocimiento en algn campo especfico, conocer tambin acerca de los otros campos que se estn tratando durante y despus del desarrollo del producto de software. Pues una vez desarrollado el producto, tambin se requiere de capacitacin para los usuarios y operadores, y tambin un mantenimiento del producto. [editar] Proceso de Mejora Conformidad General (C) El Proceso de Mejora contempla las siguientes tareas:
Establecimiento del proceso. Evaluacin del proceso. Mejora del proceso. (C) (C) (C)
ANALISIS GENERAL El objetivo de cada iteracin e incremento que se realiza durante el desarrollo del producto de software, es siempre, mejorar la versin anterior del producto, lo cual implica una mejora en todo el proceso del ciclo de vida del mismo.
Ref: http://introingsw.a.wiki-site.com/index.php?title=Introducci%C3%B3n_a_la_Ingenier%C3%ADa_de_Software&redirect=no#Modelos_Iterativos_e_Incrementales