Metodologías de Desarrollo de Software PDF
Document Details
Uploaded by SuperbTsavorite
Tags
Summary
This document provides an overview of various software development methodologies including linear, incremental, evolutionary, and spiral models. It details the characteristics and processes associated with each model. The document also discusses the roles of clients and developers in these processes.
Full Transcript
METODOLOGIAS DE DESARROLLO DE SOFTWARE ¿ QUÉ ES EL PROCESO DEL SOFTWARE? Metodología seguida por una organización para el desarrollo del software Esta metodología incluye todas las fases del ciclo de vida clásico Este proceso se define de manera general para toda...
METODOLOGIAS DE DESARROLLO DE SOFTWARE ¿ QUÉ ES EL PROCESO DEL SOFTWARE? Metodología seguida por una organización para el desarrollo del software Esta metodología incluye todas las fases del ciclo de vida clásico Este proceso se define de manera general para todas las aplicaciones de una organización Igualmente se definen tareas especificas a cada aplicación en particular EL PROCESO DEL SOFTWARE Marco de trabajo común Actividades del marco de trabajo Conjunto de tareas Tareas Hitos, entregas Puntos SQA MODELOS DEL PROCESO DEL SOFTWARE LINEALES Modelo Lineal o en Cascada INCREMENTALES Modelo Incremental Modelo de desarrollo rápido de aplicaciones (DRA) EVOLUTIVOS Modelo de Construcción de Prototipos Modelo Espiral MODELO LINEAL SECUENCIAL O CASCADA Desarrollado entre 1960-1980 Basado en el modelo en cascada de Winston Royce Se conoce como el ciclo de vida básico Secuencia de actividades, donde la estrategia principal es seguir el progreso del desarrollo de software hacia puntos de revisión bien definidos mediante entregas calendarizadas. MODELO LINEAL SECUENCIAL O EN CASCADA Definición Análisis Diseño Desarrollo Pruebas Mantenim. Definición de requisitos: Las restricciones y metas del sistema se definen a partir de la interacción con el interesado. Se comprende la naturaleza de la aplicación y el dominio de información, así como su funcionalidad, rendimiento e interconexión Se reúnen todos los requisitos que debe cumplir el software MODELO LINEAL SECUENCIAL O EN CASCADA Definición Análisis Diseño Desarrollo Pruebas Mantenim. Se concentra en cuatro características básicas: Estructura de datos Arquitectura del software Representaciones de interfaz Detalle procedimental (algoritmo) MODELO LINEAL SECUENCIAL O EN CASCADA Definición Análisis Diseño Desarrollo Pruebas Mantenim. Se llama también Implementación Generación de código entendible por la máquina Actualmente se investiga mucho sobre la manera de generar código automáticamente MODELO LINEAL SECUENCIAL O EN CASCADA Definición Análisis Diseño Desarrollo Pruebas Mantenim. Proceso de depuración de programas Chequear la validez de las sentencias Pruebas para detectar errores, asegurando que a partir de los datos de entrada si se genere la salida deseada MODELO LINEAL SECUENCIAL O EN CASCADA Definición Análisis Diseño Desarrollo Pruebas Mantenim. Corrección de errores no detectados en la etapa de pruebas Posibles mejoras funcionales debidas a nuevos requerimientos del cliente En esta fase se vuelven a aplicar todas las etapas anteriores sobre el software existente MODELO LINEAL SECUENCIAL O EN CASCADA Definición Análisis Diseño Desarrollo Pruebas LIMITACIONES Mantenim. En la realidad no estrictamente secuencial (se traslapan las etapas) El interesado debería exponer los requisitos en la etapa inicial, pero en realidad él lo hace a través de todo el proceso y esto complica las cosas La primera versión del software llega al final del proceso, a veces el afán del cliente hace que la aplicación final no cumpla con los requerimientos MODELO DE CONSTRUCCIÓN DE PROTOTIPOS Comienza con una recolección inicial de requisitos para pasar a un diseño rápido y finalmente a la construcción de un prototipo de la solución. MODELO DE CONSTRUCCIÓN DE PROTOTIPOS El desarrollador y el cliente deben ser concientes de que el prototipo se utiliza para precisar los requisitos del software y así evitar inconvenientes como: El cliente cree que el prototipo es una primera versión funcional del Sistema. El desarrollador construye el prototipo rápidamente y en ocasiones sin hacer uso de la tecnología optima disponible. MODELO DE DESARROLLO RÁPIDO DE APLICACIONES (DRA) Basado en el Modelo Lineal Secuencial Modelo llevado a cabo por varias equipos de trabajo que siguen las etapas del proceso de manera simultanea. Modelo aplicable a la construcción de sistemas de información fácilmente modularizables. El Modelo DRA necesita clientes y desarrolladores comprometidos con el proceso. No es muy útil para aplicaciones que requieren adopción de nuevas tecnologías porque la curva de aprendizaje puede afectar el cronograma del proyecto. MODELO DE DESARROLLO RÁPIDO DE APLICACIONES (DRA) MODELO 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 Análisis Diseño Código Pruebas Incremento 2 Análisis Diseño Código Pruebas............ Incremento n Análisis Diseño Código Pruebas MODELO INCREMENTAL Ventajas: Los clientes no tienen que esperar hasta que el sistema se entregue completamente para comenzar a hacer uso de él. Los clientes pueden usar los incrementos iniciales como prototipo para precisar los requerimientos posteriores del sistema. Minimización del riesgo de falla en el proyecto porque los errores se van corrigiendo progresivamente. Problemas: Adaptación de los requisitos del cliente para lograr incrementos pequeños (no mas de 20.000 líneas de código) que añadan funcionalidad al sistema. Nota: Una evolución de este enfoque se conoce como Programación Extrema (XP-Extreme Programming). MODELO ESPIRAL Utilización de ciclos en lugar de sucesión de actividades. Facilita el desarrollo rápido de versiones incrementales de software. 49