MODELOS DE DESARROLLO
Enviado por Jaque190817 • 6 de Julio de 2022 • Apuntes • 688 Palabras (3 Páginas) • 72 Visitas
CARACTERÍSTICAS | VENTAJAS | DESVENTAJAS | FASES | |
CICLO DE VIDA CLÁSICO (CASCADA) | Se basa en intentar hacer las cosas bien desde el principio, de una vez y para siempre. Se basa, en orden, de una etapa a la siguiente sólo tras finalizar con éxito las tareas de verificación y validación propias de la etapa. Si resulta necesario, únicamente se da marcha atrás hasta la fase inmediatamente anterior. Este modelo tradicional de ciclo de vida exige una aproximación secuencial al proceso de desarrollo del software. No es posible desarrollar dos etapas simultáneamente | Es un modelo sencillo y disciplinado Es fácil aprender a utilizarlo y comprender su funcionamiento Está dirigido por los tipos de documentos y resultados que deben obtenerse al final de cada etapa Ha sido muy usado y, por tanto, está ampliamente contrastado Ayuda a detectar errores en las primeras etapas a bajo costo Ayuda a minimizar los gastos de planificación, pues se realiza sin problemas | Los proyectos raramente siguen el proceso lineal tal cómo se definía originalmente el ciclo de vida. Es difícil que el cliente exponga explícitamente todos los requisitos al principio. El cliente debe tener paciencia pues obtendrá el producto al final del ciclo de vida. Puede resultar complicado regresar a etapas anteriores (ya acabadas) para realizar correcciones. El producto final obtenido puede que no refleje todos los requisitos del usuario. | Investigación preliminar Determinar los requerimientos del sistema Estudio de factibilidad (Análisis) Diseño del sistema Desarrollo del sistema Prueba del sistema Implantación y mantenimiento |
PROTOTIPOS | Siguen un proceso evolutivo Se mantiene la comunicación con el cliente en todo el proceso (retroalimentación) Inicia con la determinación de requerimientos Se hace un diseño rápido y construcción del prototipo El prototipo se evalúa por el cliente, permitiendo refinar requerimientos y entender mejor las necesidades | Menor margen de errores dado que existe retroalimentación del cliente En cada iteración se mejora el producto Se inicia con un funcionamiento básico, pero siempre es un producto funcional Es útil cuando el cliente conoce los objetivos generales del software | Cuando el cliente piensa que ya va a recibir el producto final se encuentra que aún es un prototipo El cliente se molesta con cada producto y puede elevar sus expectativas El desarrollador hace implementaciones inadecuadas y se sacrifica la calidad Puede haber funcionalidades contradictorias entre las versiones de los prototipos | Comunicación Plan rápido Modelo de diseño rápido Construcción del prototipo Desarrollo, entrega y retroalimentación |
MODELO RAD | Es un modelo que tiene un ciclo de desarrollo corto. Se basa en la construcción de componentes No se desarrolla todo el software de una vez, sino que se van desarrollando las funcionalidades en cada incremento | Permite desarrollar un sistema rápidamente. Utiliza herramientas de generación automática de código, reutilización de código Es difícil cometer errores importantes por el proceso iterativo de pruebas | Es para proyectos grandes, no escalables. Inadecuado con riesgos técnicos altos Comprar puede ser más caro que construir. Costo de herramientas integradas y equipo necesario Requiere más personal (programadores senior) Dependencia de componentes de terceros Más fallas (por síndrome de "codificar a lo bestia"). Falta de compromiso por parte de los clientes | Modelo de negocios(gestión) Modelado de datos Proceso de modelación Generación de aplicaciones Pruebas y entrega |
ESPIRAL | Combina la naturaleza iterativa y los aspectos de control y sistematización del modelo en cascada Las actividades se fijan en base a un análisis de riesgos Tiene un enfoque cíclico, para el crecimiento y puntos de fijación (aseguran el compromiso del usuario) | Puede adaptar para aplicarse a lo largo de toda la vida del software Permite aplicar prototipos en cualquier etapa de la espiral Existen formas de obtener y tomar en cuenta la retroalimentación Enfoque realista de sistemas a gran escala | Demanda mucha experiencia a la hora de evaluar el riesgo Puede ser complicado convencer al cliente que el enfoque evolutivo es controlable Existe el riesgo de que el producto tenga errores o puntos conceptuales débiles | Definición de objetivos y alternativas Descripción de las condiciones generales Valoración de alternativas Planificación del siguiente ciclo Revisión y desarrollo del resultado intermedio checar |
INCREMENTAL | Usa las fases del modelo en cascada en forma escalonada, iterativa e interactiva Se centra en la entrada de un producto operativo en cada incremento Utiliza prototipos para desarrollar el sistema | Reduce el tiempo de desarrollo El cliente/usuario se involucra en el desarrollo (retroalimentación) Se genera un sistema operando en forma rápida y desde las primeras etapas es flexible en tiempo y buena administración. Fácil de probar y depurar. El producto mejora en cada incremento | Modelo no recomendable para sistemas de tiempo real Requiere mucha planeación técnica y administrativa Requiere de metas claras para conocer el estado del proyecto Requiere experiencia para definir incrementos No es para grandes sistemas pues sería costoso | Comunicación Planeación Modelado (Análisis y Diseño) Construcción (Codificación, pruebas) Despliegue (entrega, retroalimentación) |
...