PUD Desarrollo iterativo e incremental Metodologas de Desarrollo
- Slides: 39
PUD Desarrollo iterativo e incremental Metodologías de Desarrollo Software Javier Sánchez Pérez Facultad de Informática Universidad de Las Palmas de Gran Canaria
Desarrollo iterativo e incremental Flujos de trabajo / Fases Gestación Elaboración Construcción Transición Requisitos Análisis Diseño Implementac. Test Iter #1 Iter #2 --- --- --- Iter #n-1 Iter #n
Fase de inicio l l Objetivo: Establece la viabilidad del proyecto Se fundamenta el análisis de negocio inicial: – – l Se delimita el ámbito del sistema Se propone o esboza una arquitectura del sistema Se identifican riesgos críticos Se demuestra a los usuarios la utilidad del sistema propuesto Sistema rentable económicamente
Fase de elaboración l Dos grandes objetivos: – – l Elaborar una arquitectura estable Conocer suficientemente el sistema como para planificar en detalle la fase de construcción Tareas básicas: – – Crear una línea base para la arquitectura Identificar riesgos significativos Especificar atributos de calidad Estudiar 80% de los requisitos funcionales
Fase de construcción l l Objetivo: La capacidad de operación inicial Versión beta Requiere mayor número de iteraciones Tareas básicas: – – Extensión a todos los casos de uso Finalización del análisis, diseño, implementación y prueba Mantenimiento de la integridad de la arquitectura Monitorización de los riesgos críticos y significat.
Fase de transición l l Objetivo: Entrega del producto final Tareas básicas: – – – Preparar el lugar y actualizar el entorno Preparar manuales Ajustar el software al entorno del usuario Corregir defectos de la versión beta Evaluar y registrar las “lecciones aprendidas” Registrar asuntos útiles para la versión siguiente
Analista de sistemas Especificador de casos de uso Encontrar actores y casos de uso Detallar un caso de uso Ingeniero de casos de uso Planificar prueba Diseñar prueba Priorizar los casos de uso Ingeniero de pruebas Evaluar prueba Integrador de sistemas Integrar sistemas Realizar prueba de integración Prototipar la interfaz de usuario Diseñador de interfaces Arquitecto Estructurar el modelo de casos de uso Diseño de la arquitectura Análisis de la arquitectura Analizar un caso de uso Ingeniero de pruebas de int. Realizar prueba Ingeniero de de sistema pruebas de sis. Implementación de la arquitectura Diseñar un caso de uso Implementar pruebas Analizar una clase Ingeniero de componentes Diseñar una clase Analizar un paquete Diseñar un subsistema Implementar un subsistema Realizar prueba Implementar una clase de unidad
Planificación de las fases l l l Asignaciones de tiempo Hitos principales Iteraciones por fases Plan de proyecto En la fase de inicio – – Ajustar el PUD al proyecto y seleccionar herramientas Reunir a gente conocimientos específicos Entender el dominio Familiarizar al equipo con las herramientas
Planificación de las iteraciones l l La iteración se planifica más en detalle cuando está próxima Para planificar tenemos en cuenta: – – l Los casos de uso Los riesgos técnicos Cambios en los requisitos Los subsistemas de implementación El nº de iteraciones depende del proyecto
Administración de riesgos l Se crea una lista de riesgos – – – l Descripción Prioridad (crítico, significativo, rutinario) Impacto: partes del proyecto afectadas Monitor: responsable del seguimiento del riesgo Responsabilidad: responsable de eliminarlo Contingencia: lo que hacer cuando ocurra Aparecen nuevos riesgos
Evaluación de las iteraciones l Se evalúa al final de cada iteración – – l Reconsiderar plan de la siguiente iteración Modificar el proceso, adaptar las herramientas El jefe del proyecto: – – – Determina si el trabajo está listo para pasar a la siguiente iteración Planea en detalle la siguiente iteración Actualiza el plan de las siguientes Actualiza la lista de riesgos Compara el coste y la planificación de la iteración
Fase de inicio l l La mayor parte se realiza en el flujo de requisitos Ajuste del proyecto al entorno – – – l Proceso + herramientas + servicios para proyectos Herramientas para los flujos de trabajo Herramientas para la gestión del proyecto Identificar y mitigar/planificar riesgos críticos
Analista de sistemas Especificador de casos de uso Encontrar actores y casos de uso Detallar un caso de uso Ingeniero de casos de uso Planificar prueba Diseñar prueba Priorizar los casos de uso Ingeniero de pruebas Evaluar prueba Integrador de sistemas Integrar sistemas Definir ámbito del sistema Prototipar la interfaz de usuario Diseñador de interfaces Arquitecto Estructurar el modelo de casos de uso Análisis de la arquitectura Esbozar la arquitectura Implementación candidata de la Diseño de la arquitectura Analizar un caso de uso Realizar prueba de integración Ingeniero de pruebas de int. Realizar prueba Ingeniero de de sistema pruebas de sis. arquitectura Diseñar un caso de uso Implementar pruebas Analizar una clase Ingeniero de componentes Diseñar una clase Analizar un paquete Diseñar un subsistema Implementar un subsistema Realizar prueba Implementar una clase de unidad
Fase de inicio l Requisitos – – – Enumerar requisitos candidatos Comprender contexto del sistema Recopilar requisitos funcionales l l l – Encontrar actores y casos de uso Priorizar casos de uso Detallar un caso de uso Recoger requisitos no funcionales
Fase de inicio l Análisis – – – l Se completa alrededor del 5% del modelo Análisis de la arquitectura Analizar un caso de uso Diseño – – Diseño de la arquitectura Colaboraciones entre clases y subsistemas Identificar interfaces entre clases y subsistemas Elegir software del sistema y elementos del middleware
Fase de inicio l Implementación – – l No suele ser necesaria Implementación de un prototipo desechable Prueba – – – Los ingenieros de pruebas consideran qué pruebas se requerirán Planes de prueba No se realizan pruebas
Fase de inicio Modelo negocio Casos de uso identificados Casos de uso descritos Casos de uso analizados Casos de uso diseñados, implementados y probados Fase inicio 50% -70% 50% 10% 5% Lo suficiente para el prototipo Fase elaboración Cerca del 100% >80% 40% - 80% 20% - 40% <10% Fase construcción 100% si se mantiene 100%
Fase de inicio l Productos de la fase: – – – – Lista de características Primera versión del modelo del negocio Primera versión del modelo de casos de uso, de análisis y de diseño Descripción de la arquitectura candidata Prototipo exploratorio Lista inicial de riesgos y clasificación de casos de uso Plan para el proyecto Primer borrador del análisis del negocio
Fase de elaboración l Objetivos: – – l l Recopilar la mayor parte de los requisitos Establecer la línea base de la arquitectura Controlar riesgos críticos e identificar riesgos significativos Completar detalles del plan del proyecto Planificación de la fase Formación del equipo
Encontrar actores y casos de uso Analista de sistemas Especificador de casos de uso Diseñador de interfaces Arquitecto Ingeniero de casos de uso Estructurar el modelo de casos de uso Detallar un caso de uso Planificar prueba Diseñar prueba Integrar sistemas Evaluar prueba Desarrollar línea base de la arquitectura Refinar mayor parte de requisitos Prototipar la interfaz de usuario Priorizar los casos de uso Análisis de la arquitectura Diseño de la arquitectura Analizar un caso de uso Ingeniero de pruebas Integrador de sistemas Realizar prueba de integración Ingeniero de pruebas de int. Realizar prueba Ingeniero de de sistema pruebas de sis. Implementación de la arquitectura Diseñar un caso de uso Implementar pruebas Analizar una clase Ingeniero de componentes Diseñar una clase Analizar un paquete Diseñar un subsistema Implementar un subsistema Realizar prueba Implementar una clase de unidad
Fase de elaboración l Recopilar requisitos – – – Encontrar casos de uso y actores adicionales Desarrollar prototipos de interfaces de usuario Determinar prioridad de los casos de uso Detallar un caso de uso Estructurar el modelo de casos de uso
Fase de elaboración l Análisis – – Análisis de la arquitectura Analizar un caso de uso Analizar una clase Analizar un paquete
Fase de elaboración l Diseño – Diseño de la arquitectura l l – – – Identificar la arquitectura en capas Identificar subsistemas y sus interfaces Identificar clases significativas Si es un sistema distribuido, identificar nodos Diseñar un caso de uso Diseñar una clase Diseñar un subsistema
Fase de elaboración l Implementación – – – l Implementación de la arquitectura Implementación de una clase y de un subsistema Integrar el sistema Pruebas – – – Planificar las pruebas Diseñar las pruebas Realizar pruebas de integración y pruebas de sistema
Fase de elaboración l l l Análisis del negocio Evaluación de la fase de elaboración Planificación de la fase de construcción – – Se planifica en detalle la 1ª iteración Se esboza el plan de las siguientes
Fase de elaboración l Productos – – – – Modelo del negocio completo Versión de los modelos Línea base de la arquitectura Lista de riesgos actualizada Plan de proyecto para construcción y transición Manual de usuario (opcional) Análisis del negocio completo
Fase de construcción l l l Versión beta Se detallan todos los casos de uso Se modifica la descripción de la arquitectura Se terminan todos los modelos Es la fase del desarrollo Se mitigan todos los riesgos excepto los de operación
Fase de construcción l l Esta fase comienza con la firma del contrato Asignación de personal Se divide el trabajo atendiendo a subsistemas e interfaces Se preparan primeras versiones de manuales de usuario y cursos de formación
Analista de sistemas Especificador de casos de uso Encontrar actores y casos de uso Detallar un caso de uso Ingeniero de casos de uso Planificar prueba Diseñar prueba Integrador de sistemas Integrar sistemas Realizar prueba de integración hace crecer el sistema Priorizar los casos de uso Ingeniero de pruebas Evaluar prueba Prototipar la interfaz de usuario Se Diseñador de interfaces Arquitecto Estructurar el modelo de casos de uso Análisis de la arquitectura Diseño de la arquitectura Analizar un caso de uso Ingeniero de pruebas de int. Realizar prueba Ingeniero de de sistema pruebas de sis. Implementación de la arquitectura Diseñar un caso de uso Implementar pruebas Analizar una clase Ingeniero de componentes Diseñar una clase Analizar un paquete Diseñar un subsistema Implementar un subsistema Realizar prueba Implementar una clase de unidad
Fase de construcción l Requisitos – – – Encontrar casos de uso y actores: pequeña fracción Desarrollar prototipos de interfaces de usuario Determinar prioridad de los casos de uso Detallar un caso de uso: todos Estructurar el modelo de casos de uso: sólo para los casos de uso no desarrollados
Fase de construcción l Análisis – – – Puede no mantenerse Análisis de la arquitectura Analizar un caso de uso Analizar una clase Analizar un paquete
Fase de construcción l Diseño – – Diseño de la arquitectura: prácticamente no se modifica Las otras tres tareas se realizan para el resto de los casos de uso (cerca del 90%) l l l Diseñar un caso de uso Diseñar una clase Diseñar un subsistema
Fase de construcción l Implementación – – Implementación de la arquitectura: se actualiza si es necesario Implementación de una clase y de un subsistema: se pueden utilizar stubs Pruebas de unidad: podrá requerir corregir el diseño y la implementación del componente Integrar el sistema: por capas. Define período de las construcciones
Fase de construcción l Pruebas – – – Planificar las pruebas Diseñar las pruebas Realizar pruebas de integración: después de cada construcción Realizar pruebas de sistema: hacia el final de las iteraciones Evaluar las pruebas
Fase de construcción l Productos – – – El plan de proyecto para la fase de transición El sistema software ejecutable Todos los artefactos La descripción de la arquitectura actualizada Versión preliminar del manual de usuario Análisis del negocio actualizado
Fase de transición l l l Se completa la versión del producto Se gestionan los aspectos relativos al entorno del cliente Se corrigen los defectos de la versión beta Se terminan los manuales de usuario y cursos de formación La atención se desplaza a la corrección de defectos
Fase de transición l l l Preparar la versión beta Instalación Adaptar el producto a las circunstancias del usuario Completar los artefactos del proyecto Determinar cuándo se acaba el proyecto
Fase de transición l Si ya existía un software : – – l Sustitución del sistema antiguo por el nuevo Transferencia de datos del sistema antiguo: migración y conversión de datos Evaluación – – De las iteraciones y de la fase Autopsia del proyecto
Fase de transición l Productos – – – El sistema software ejecutable + software instalación Documentos legales, contratos, licencias, garantías Versión completa y corregida del producto, incluyendo los modelos del sistema La descripción de la arquitectura completa y actualizada Manuales y material de formación del usuario, del operador y del administrador Referencias para la ayuda del cliente, cómo informar de defectos
- Desarrollo iterativo
- Metodologas
- Características de la heurística
- Stomach ulcer definition
- Med pub
- Zonálnost půd
- Pud
- Epigastric pain differential diagnosis
- Ulcer definition anatomy
- Pug puz pud
- Pendulous tuberosity
- Pud triple therapy
- Curso medcurso
- Pud connector
- Pud
- Pud triple therapy
- Borborygmi
- Planejamento iterativo
- Metodo jacobi
- O que é busca cega
- Ciclo iterativo informatica
- Servidor concurrente
- Fibonacci iterativo
- Enumerativa
- Iterativo
- How to calculate incremental cash flows
- Robocopy incremental
- How to calculate incremental cash flows
- Modèle en cascade génie logiciel
- Chapter3
- Incremental cash flows
- Incremental decision making
- Incremental inductance
- Incremental plagiarism
- Modelo incremental ejemplo
- Radical vs disruptive innovation
- Taylor russell table
- Backup exec forever incremental
- Which decision will involve no incremental revenues?
- Prepare an incremental analysis for the special order