tema v: el proceso unificado de desarrollo: … · Índice " introducción ! el proceso...
TRANSCRIPT
TEMA V: El Proceso Unificado de Desarrollo: Introducción
Profesor: David Granada
1
Índice
Ø Introducción n El proceso Unificado
¨ Principios básicos ¨ Las 4 «P»
n Estructura del proceso unificado n Flujos de trabajo principales n Fases del desarrollo n Otros aspectos
¨ Iteración genérica ¨ Planificación y evaluación
Introducción n Situación Actual: Sistemas más complejos y más
grandes. n Objetivo:
Desarrollo más rápido y software de calidad. n Es necesario un proceso que integre todas las facetas
de un desarrollo software: ¨ Proporcione una guía para ordenar las actividades
del equipo. ¨ Dirija las tareas individuales y del equipo. ¨ Especifique los productos que hay que desarrollar. ¨ Ofrezca criterios para monitorizar y medir los
productos y actividades. 3
Índice
n Introducción Ø El proceso unificado
¨ Principios básicos ¨ Las 4 “p”
n Estructura del proceso unificado n Flujos de trabajo principales n Fases del desarrollo n Otros aspectos
¨ Iteración genérica ¨ Planificación y evaluación
El Proceso Unificado (PU)
n Unificación de tres metodologías de desarrollo basadas en el paradigma orientado a objetos.
¨ OOSE: Object Oriented Software Engineering (Casos de Uso) Jacobson, I.
¨ Booch (Diseño) Booch, G.
¨ OMT: Object Modeling Technique (Análisis) Rumbaugh, J.
5
El Proceso Unificado (PU) n Es un proceso de desarrollo software. n Es un conjunto de actividades para
transformar los requisitos de usuario en un sistema software.
n Construcción temprana de prototipos con la funcionalidad fundamental.
n Afronta en primer lugar los mayores riesgos del diseño.
n Basado en componentes interconectados a través de interfaces.
n Usa UML - Unified Modeling Language. 6
Características Principales
7
n Dirigido por casos de uso.
n Centrado en la arquitectura.
n Iterativo e incremental.
Principios del PU - Dirigido por casos de uso
n Ideas: ¨ Cualquier interacción del sistema con el usuario es un
caso de uso ¨ Actor: alguien o algo
n Def.: caso de uso ¨ Es una función del sistema que da al usuario un
resultado útil ¨ Captura los requisitos funcionales
n ¿Qué debe hacer el sistema para cada actor? ¨ Modelo de casos de uso
n Conducen el proceso de desarrollo: ¨ Los desarrolladores crean modelos de diseño e
implementación que realizan los casos de uso ¨ Los encargados de pruebas aseguran que los
componentes implementan los casos de uso
n Los casos de uso se especifican, se diseñan y sirven de base para construir los casos de prueba
n Se desarrollan junto a la arquitectura del sistema ¨ Ambos evolucionan en paralelo
Principios del PU - Dirigido por casos de uso
n Def.: D. Garlan and D. Perry (guest editorial to the IEEE Transactions on Software Engineering, April 1995): ¨ Software architecture is "the structure of the components of a program/system, their
interrelationships, and principles and guidelines governing their design and evolution over time”
¨ Es una vista del diseño completo que hace visibles las características principales ¨ Más definiciones: http://www.bredemeyer.com/definiti.htm
n Influencias: ¨ Plataforma, aspectos legales, componentes reusables disponibles...
n El proceso ayuda a centrarse en los objetivos correctos: legibilidad, adaptabilidad, reutilización.
n Relación entre casos de uso y arquitectura ¨ Casos de uso à Funcionalidad del sistema ¨ Arquitectura à Forma
Principios del PU - Centrado en la Arquitectura
n Tareas relacionadas: ¨ Crear una arquitectura inicial no específica de los
casos de uso
¨ Trabajar con un conjunto seleccionado de casos de uso que representan las tareas clave del sistema. n Caso de uso à subsistemas, clases y componentes
¨ Evolución a lo largo del proceso de desarrollo à concepto de “vista arquitectónica”
Principios del PU - Centrado en la Arquitectura
n División del proyecto en “hitos” obtenidos como consecuencia de la repetición de iteraciones de trabajo ¨ Una iteración produce un incremento ¨ Cada fase e iteración se centra en disminuir algún riesgo y concluye con un hito bien
definido
n Todas las iteraciones son planificadas y controladas
n Factores para la selección en una iteración: ¨ La iteración trata un grupo de casos que extienden la funcionalidad ¨ La iteración trata los riesgos más importantes
n Importante: un incremento no siempre es aditivo
n Elementos contemplados en cada iteración: ¨ Casos de uso relevantes ¨ Diseño guiado por arquitectura ¨ Actividades de implementación y verificación
n Beneficios
Principios del PU - Iterativo e incremental
n Desarrollo iterativo distribuido en grupos de trabajo:
Análisis Diseño e Implantación GeneralizaciónPrueba
Análisis Diseño e Implantación GeneralizaciónPrueba
Análisis Diseño e Implantación GeneralizaciónPrueba
Grupo 1
Grupo 2
Grupo n
Tiempo
Tiempo T
Principios del PU - Iterativo e incremental
n Ciclo de vida del software: ¨ Varios ciclos de desarrollo que concluyen con un producto
evolucionado ¨ El paso a través de las 4 fases principales constituye un ciclo de
desarrollo à produce una generación del software n Primera pasada à desarrollo inicial n Siguientes à ciclos de evolución del sistema
¨ Entregas: código fuente, ejecutables, manuales y documentos ¨ Hitos por fases (milestones)
... Entrega
Ciclos
Concepción Elaboración Transición Construcción Iter. 1
Iter. 2 ... ... ... ... ... ... Iter.
n
Fases
Iterac.
Principios del PU - Iterativo e incremental
n Soporta las técnicas orientadas a objetos: ¨ Los modelos definidos como artefactos del proceso son orientados a objetos ¨ Los modelos se basan en la definición de clases, objetos y las relaciones entre
ellos ¨ Se utiliza UML como notación común
n Enfocado a riesgos: ¨ La gestión del riesgo está incluida en el proceso ¨ Los riesgos se identifican y se acometen al principio del proceso de desarrollo (a
tiempo)
n Impulsa un control de la calidad: ¨ La evaluación de la calidad está contenida en el proceso (trazabilidad) ¨ Implica a todos los participantes mediante medidas y criterios objetivos ¨ No se trata como algo a posteriori o una actividad separada
n Es un proceso configurable: ¨ Puede adaptarse a proyectos de diferente envergadura (medianos-grandes) ¨ Se adapta a las necesidades de desarrollo de la organización
Principios del PU - Otras características
Principios del PU - Las 4 “P” n Proyecto:
¨ Elemento organizativo a través del cual se gestiona el desarrollo de software. ¨ El resultado de un proyecto es una versión de un producto
n Proceso: ¨ Un proceso de ingeniería de software es una definición del conjunto de actividades
necesarias para transformar los requisitos de usuario en un producto ¨ Un proceso es una plantilla para crear proyectos
n Producto: ¨ Artefactos que se crean durante la vida del proyecto, como los modelos, código
fuente, ejecutables, y documentación ¨ El resultado de llevar a cabo un proceso software dentro de un proyecto concreto
n Personas: ¨ Los principales autores de un proyecto de software son loas arquitectos,
desarrolladores, ingenieros de prueba y el personal de gestión que les da soporte, además de los usuarios, clientes, y otros interesados
¨ Las personas son realmente seres humanos, a diferencia del termino abstracto “trabajadores”
Principios del PU - Proyecto
Requisitos
Diseño
Implementación
Prueba
Análisis
Planificación Anál. Riesgos Preparación
Elaboración Construcción Verificación
Transición
FASES Workflow
Iteración(es) Inicial(es)
Iter. #1
Iter. #2
Iter. #3
Iter. #4
Iter. #5
Iter. #6
Iter. #7
(Adaptado de Jacobson, 1999)
Iteración en Fase de Elaboración
Principios del PU - Proceso
Modelo de análisis
Modelo de diseño
Modelo de despliegue
Modelo de implementación
Modelo de pruebas
Modelo de casos de uso
Especificado por
Soportado por
Distribuido por
Implementado por
Verificado por
Principios del PU - Producto
Principios del PU - Personas
Diseño de Arquitectura Implementación
de Arquitectura
Estructura Modelo de Casos de Uso Descubre Actores
y Casos de Uso Analista de Sistemas
Detalla un Caso de Uso
Especificador Casos de Uso
Prototipo del Interfaz de Usuario
Diseñador de Interfaces de Usuario
Análisis de Arquitectura Prioriza
Casos de Uso Arquitecto
Diseña un Caso de Uso Analiza un
Caso de Uso Ingeniero de Casos de Uso
Ingeniero de Componentes
Diseña una clase Analiza
un Paquete
Analiza una Clase Diseña un
Subsistema
Implementa una clase
Implementa Subsistema Ejecuta Test
Unitario Implementa Test
Evalua Test
Diseña Test Ingeniero de
pruebas Planifica Test
Integrador de Sistemas
Integra Sistema
Ejecuta Test de Integración
Ejecuta test del sistema
Ingeniero de pruebas de integración
Ingeniero de pruebas de
sistema
Índice
n Introducción n El proceso unificado
¨ Principios básicos ¨ Las 4 “p”
Ø Estructura del proceso unificado n Flujos de trabajo principales n Fases del desarrollo n Otros aspectos
¨ Iteración genérica ¨ Planificación y evaluación
n Fase: intervalo de tiempo entre dos hitos importantes del proceso durante el cual se cumple un conjunto bien definido de objetivos, se completan artefactos y se toman decisiones sobre si pasar a la siguiente fase.
n 4 fases: ¨ Iniciación (inception): Establecer la visión, el alcance y el plan
inicial del proyecto.
¨ Elaboración (elaboration): Diseñar, implementar y probar una arquitectura correcta, y completar el plan del proyecto.
¨ Construcción (construction): Desarrollar el sistema (construir la primera versión operativa).
¨ Transición (transition): Proporcionar el sistema a sus usuarios finales.
Estructura del PU - Fases e iteraciones
n Iteración: representa un ciclo de desarrollo completo, desde la captura de requisitos en el análisis hasta la implementación y pruebas, que produce una versión (interna o externa) de un producto ejecutable, que constituye un subconjunto del producto final en desarrollo.
n Iteración genérica (similar al modelo en cascada): ¨ Planificación ¨ Flujos de trabajo fundamentales: requisitos, análisis, diseño,
implementación y pruebas ¨ Evaluación
n Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, el énfasis se pone más en unos u otros flujos de trabajo
n El contenido varía para adaptarse al objetivo de cada fase
Estructura del PU - Fases e iteraciones
n Flujos de trabajo fundamentales: ¨ Modelado del negocio: describe la estructura y la dinámica de la organización del cliente ¨ Requisitos: extrae los requisitos del sistema a desarrollar utilizando diferentes métodos ¨ Análisis y diseño: describe las diferentes vistas arquitectónicas del sistema ¨ Implementación: tiene en cuenta el desarrollo del software, las pruebas unitarias y la
integración ¨ Pruebas: describe los casos de pruebas, los procedimientos y las métricas para la
evaluación y rastreo de defectos ¨ Despliegue: cubre la configuración del sistema entregable (materiales, notas de edición,
formación, etc.)
n Flujos de trabajo auxiliares: ¨ Gestión de configuraciones: controla los cambios y mantiene la integridad de los artefactos
de un proyecto y de las actividades de gestión ¨ Gestión del proyecto: describe varias estrategias de trabajo en un proceso iterativo ¨ Entorno: cubre la infraestructura necesaria para desarrollar un sistema
Estructura del PU - Flujos de trabajo (RUP)
Estructura del PU - Flujos de trabajo (RUP)
Elementos del PU - Artefactos y Modelos n Las actividades del proceso unificado destacan en la creación y
mantenimiento de modelos más que de documentos en papel
n Modelo: representación abstracta y simplificada de la realidad, creada para comprender mejor el sistema que se está desarrollando
n Vista: proyección de un modelo ¨ RUP: diseño, procesos, implementación, despliegue y casos de uso ¨ Kruchten (4+1): lógica, procesos, realización, distribución y casos de
uso
n Artefacto: Resultado parcial o final que es producido y usado durante el proyecto. ¨ Son las entradas y salidas de las actividades ¨ Un artefacto puede ser un documento, un modelo o un elemento de
modelo
Elementos del PU - Artefactos y Modelos n Modelos
¨ Del negocio ¨ Del dominio ¨ De casos de uso ¨ De análisis ¨ De diseño ¨ Del proceso ¨ De despliegue ¨ De implementación ¨ De pruebas
n Otros artefactos ¨ Conjunto de requisitos: qué debe hacer el sistema ¨ Conjunto de diseño: cómo se va a construir el sistema ¨ Conjunto de implementación: ensamblado de los componentes software ¨ Conjunto de despliegue: datos para la configuración del entregable
Elementos del PU - Artefactos y Modelos n Artefactos en RUP:
¨ Fase de Inicio: n Documento Visión n Especificación de Requerimientos
¨ Elaboración: n Diagramas de caso de uso
¨ Construcción: n Documento con la descripción de la Arquitectura. Vistas:
¨ Vista Lógica: § Diagrama de clases § Modelo E-R (si el sistema así lo requiere)
¨ Vista de Implementación: § Diagrama de Secuencia § Diagrama de estados § Diagrama de Colaboración
¨ Vista Conceptual: § Modelo de dominio
¨ Vista Física: § Mapa de comportamiento a nivel de hardware.
Índice
n Introducción n El proceso unificado
¨ Principios básicos ¨ Las 4 “p”
n Estructura del proceso unificado Ø Flujos de trabajo principales n Fases del desarrollo n Otros aspectos
¨ Iteración genérica ¨ Planificación y evaluación
Flujos de trabajo principales (Workflows)
Requisitos
Diseño
Implementación
Prueba
Análisis
Planificación Anál. Riesgos Preparación
Elaboración Construcción Verificación
Transición
FASES Workflow
Iteración(es) Inicial(es)
Iter. #1
Iter. #2
Iter. #3
Iter. #4
Iter. #5
Iter. #6
Iter. #7
(Adaptado de Jacobson, 1999)
Flujos de Trabajo Principales - Requisitos n Captura de los requisitos del sistema à Difícil:
¨ Los requisitos cambian ¨ Comprensión: lenguaje utilizado à cliente ¨ El cliente debe ser capaz de leer y comprender el resultado de la captura
n Objetivo: guiar el desarrollo hacia el sistema correcto
n El resultado ayuda al jefe de proyecto a planificar las iteraciones y los recursos
n Pasos a seguir: ¨ Enumerar los requisitos candidatos à lista de características ¨ Comprender el contexto del sistema à modelo de negocio/dominio ¨ Capturar requisitos funcionales à modelo de casos de uso ¨ Capturar requisitos no funcionales à requisitos suplementarios o casos individuales
Flujos de Trabajo Principales - Requisitos n Artefactos de requisitos
¨ Modelo de casos de uso n Diagramas de casos de uso:
¨ Flujos de eventos principales ¨ Caminos alternativos
n Descripciones textuales de los casos de uso n Diagramas de estado para explicar los casos de uso complejos
¨ Descripción de la arquitectura ¨ Glosario ¨ Prototipo de la interfaz de usuario
n Actividades ¨ Encontrar actores y casos de uso à Analista de sistemas ¨ Priorizar los casos de uso à Arquitecto ¨ Detallar un caso de uso à Especificador de C.U. ¨ Prototipar la interfaz de usuario à Diseñador de la interfaz ¨ Estructurar el modelo de casos de uso à Arquitecto
Flujos de Trabajo Principales - Análisis
n Se trabaja con conceptos
n Especificación más precisa de los requisitos
n Se utiliza el lenguaje de desarrolladores
n Facilita comprensión, preparación, modificación y mantenimiento de requisitos
n Primera aproximación al modelo de diseño
Flujos de Trabajo Principales - Análisis
Modelo de Casos de Uso Modelo de Análisis
Lenguaje del cliente Lenguaje del desarrollador
Vista externa del sistema Vista interna del sistema
Estructurado por casos de uso Estructurado por clases y paquetes
Contrato entre cliente-desarrolladores Usado por desarrolladores para entender el sistema
Redundancias, inconsistencias, etc. entre requisitos
No debería contener redundancias ni inconsistencias de requisitos
Captura la funcionalidad del sistema Captura cómo realizar la funcionalidad del sistema
Define casos de uso Define realizaciones de casos de uso
Flujos de Trabajo Principales - Análisis n Artefactos de análisis
¨ Modelo de análisis n Diagramas de colaboración:
¨ Flujos de eventos principales ¨ Caminos alternativos
n Descripciones textuales de las clases
¨ Descripción de la arquitectura n Vista de la arquitectura del modelo de análisis n Descomposición del modelo en paquetes
¨ Realización de los casos de uso en análisis n Diagramas de clases del análisis n Diagramas de interacción de objetos del análisis n Una descripción textual del flujo de sucesos
¨ Clases y paquetes de análisis
Flujos de Trabajo Principales - Análisis n Actividades
¨ Análisis de la arquitectura à Arquitecto n Identificar paquetes de análisis n Identificar clases de entidad n Requisitos comunes
¨ Analizar (refinar) un caso de uso à Ingeniero de CU n Identificar clases de análisis n Describir interacciones entre los objetos del análisis n Capturar requisitos especiales sobre la realización del CU
¨ Analizar una clase à Ingeniero de Componentes n Identificar responsabilidades y atributos n Identificar relaciones: asociación, agregación y generalización n Capturar requisitos especiales sobre la realización del CU
¨ Analizar un paquete à Ingeniero de Componentes
Flujos de Trabajo Principales - Diseño n Se modela el sistema para que dé soporte a los
requisitos funcionales y no funcionales.
n Objetivos: ¨ Profundizar en la requisitos no funcionales y restricciones
dependientes de la plataforma. ¨ Crear una entrada apropiada para la implementación ¨ Descomponer los trabajos de implementación en partes
mas manejables y que permitan concurrencia. ¨ Capturar las interfaces entre los subsistemas.
n Final de la fase de elaboración e Inicio de la fase de construcción.
Flujos de Trabajo Principales - Diseño n Artefactos de diseño
¨ Modelo de diseño n Diagramas de secuencia
¨ Flujos de eventos principales ¨ Caminos alternativos
n Descripciones textuales de las clases n Diagramas de transición de estados para el comportamiento interno de cada
clase
¨ Modelo de despliegue n Diagramas de despliegue: distribución física del sistema en nodos de computo n Descripciones de los nodos y sus interrelaciones
¨ Descripción de la arquitectura n Vista de la arquitectura del modelo de diseño n Descomposición del modelo en subsistemas
¨ Realización de los casos de uso en diseño n Diagramas de clases de realización en diseño n Diagramas de interacción (clases, subsistemas, interfaces) n Flujo de sucesos-diseño n Requisitos de implementación
Flujos de Trabajo Principales - Diseño n Actividades
¨ Diseño de la arquitectura à Arquitecto n Identificar nodos y configuración n Identificar subsistemas y clases
¨ Diseñar un caso de uso à Ingeniero de CU n Identificar clases de diseño y subsistemas n Distribuir comportamiento del caso de uso n Capturar requisitos de implementación
¨ Diseñar una clase à Ingeniero de Componentes n Identificar responsabilidades y atributos n Capturar requisitos especiales sobre la realización del CU
¨ Diseñar un subsistema à Ingeniero de Componentes
Flujos de Trabajo Principales - Implementación n Se implementa el sistema en términos de
componentes: ¨ Ficheros de código fuente, scripts, ficheros de código
binarios, ejecutables y similares
n Objetivos: ¨ Planificar las integraciones de sistema necesarias en cada
iteración ¨ Distribuir el sistema asignando componentes ejecutables a
nodos en el diagrama de despliegue ¨ Implementar las clases y subsistemas encontrados
durante el diseño ¨ Probar los componentes individualmente, integrarlos
(compilándolos y enlazándolos en uno o más ejecutables)
n Artefactos de implementación ¨ Modelo de implementación
n Diagramas de componentes ¨ Subsistemas de implementación y sus dependencias ¨ Componentes (fichero y ejecutables) y sus dependencias ¨ Interfaces
¨ Modelo de despliegue n Diagrama de despliegue à Nodos
¨ Descripción de la arquitectura n Vista de la arquitectura del modelo de implementación n Asignación de componentes ejecutables a nodos
¨ Plan de integración de construcciones
Flujos de Trabajo Principales - Implementación
n Actividades ¨ Implementación de la arquitectura
à Arquitecto
¨ Integrar sistemas à Integrador de sistemas
¨ Implementar una clase à Ingeniero de Componentes
¨ Implementar un subsistema à Ingeniero de Componentes
¨ Realizar prueba de unidad à Ingeniero de Componentes
Flujos de Trabajo Principales - Implementación
Flujos de Trabajo Principales - Prueba
n Verificamos el resultado de la implementación probando cada construcción
n Objetivos: ¨ Planificar las pruebas necesarias para cada
iteración n Pruebas de sistema n Pruebas de integración
¨ Diseñar e implementar las pruebas diseñando los casos de prueba
¨ Realizar las diferentes pruebas
Flujos de Trabajo Principales - Prueba
n Artefactos de prueba ¨ Modelo de pruebas
n Casos de prueba n Procedimientos de prueba n Componentes de prueba
¨ Plan de prueba ¨ Defectos ¨ Evaluación de la prueba
Flujos de Trabajo Principales - Prueba n Actividades
¨ Planificar prueba à Diseñador de pruebas
¨ Diseñar prueba à Diseñador de pruebas n Describir casos de prueba de cada construcción n Identificar y estructurar los procedimientos de prueba
¨ Implementar prueba à Ingeniero de componentes
¨ Realizar pruebas de integración à Ingeniero de pruebas de integración
¨ Realizar prueba de sistema à Diseñador de pruebas
¨ Evaluar prueba à Diseñador de pruebas
Índice
n Introducción n El proceso unificado
¨ Principios básicos ¨ Las 4 “p”
n Estructura del proceso unificado n Flujos de trabajo principales Ø Fases del desarrollo n Otros aspectos
¨ Iteración genérica ¨ Planificación y evaluación
Fases del Proceso Unificado
Requisitos
Diseño
Implementación
Prueba
Análisis
Planificación Anál. Riesgos Preparación
Elaboración Construcción Verificación
Transición
FASES Workflow
Iteración(es) Inicial(es)
Iter. #1
Iter. #2
Iter. #3
Iter. #4
Iter. #5
Iter. #6
Iter. #7
(Adaptado de Jacobson, 1999)
Fases del PU - Inicial n Propósito: establecer viabilidad
n Objetivo: ¨ Análisis del negocio: casos de uso fundamentales para el
negocio
n Actividades: 1. Delimitar el ámbito (interfaces con otros sistemas) 2. Proponer una arquitectura especialmente en lo nuevo,
arriesgado o difícil (expresada en función de algunos modelos) 3. Identificar riesgos críticos (los que afecten a la viabilidad) 4. Mostrar a usuarios y clientes un prototipo (exploratorio)
Fases del PU - Elaboración n Propósito: factibilidad
n Objetivo: ¨ Arquitectura estable para guiar el sistema ¨ Estimación de costes para fases siguientes con precisión
n Actividades: 1. Línea base de la arquitectura. Consiste en: modelos, descripción de la
arquitectura e implementación ejecutable de la arquitectura. 2. Identificación de riesgos que pueden perturbar los planes y costes
posteriores. 3. Especificar niveles para los atributos de calidad: fiabilidad y tiempo de
respuesta. 4. Recopilar casos de uso para el 80% de los requisitos funcionales para
planificar la fase de construcción. 5. Planificación: personal, coste.
Fases del PU - Construcción
n Propósito: desarrollar el sistema
n Objetivo: ¨ Versión beta
n Actividades: 1. Terminar la identificación, descripción y realización de
todos los casos de uso. 2. Finalizar el análisis, el diseño la implementación y
pruebas. 3. Mantener la integridad de la arquitectura. 4. Monitorizar los riesgos críticos
Fases del PU - Transición n Propósito: puesta en funcionamiento del sistema en el entorno
del cliente/usuario
n Objetivo: ¨ Producto final
n Actividades: 1. Preparar las actividades, por ejemplo, el lugar 2. Aconsejar sobre el entorno de funcionamiento 3. Manuales y documentos para la entrega 4. Ajustar el software al entorno del usuario 5. Corregir los defectos detectados en la versión beta
¨ Lecciones aprendidas ¨ Asuntos útiles para la versión siguiente
Índice
n Introducción n El proceso unificado
¨ Principios básicos ¨ Las 4 “p”
n Estructura del proceso unificado n Flujos de trabajo principales n Fases del desarrollo Ø Otros aspectos
¨ Iteración genérica ¨ Planificación y evaluación
Otros aspectos del PU - Iteración genérica n Iteración = miniproyecto que obtiene como resultado una
versión interna. ¨ ¿Cómo planificarla? ¨ ¿Cómo organizarla? ¨ ¿Cuál es su resultado?
n Incluye: ¨ Planificación ¨ Flujos de trabajo fundamentales
n Requisitos n Análisis n Diseño n Implementación n Pruebas
¨ Evaluación
n El contenido varía para adaptarse al objetivo de cada fase
Otros aspectos del PU - Planificación (fases)
n Establecer: ¨ Asignaciones de tiempo y fecha de entrega por
cada fase (inestable hasta fin de elaboración) ¨ Hitos principales y criterios de aceptación ¨ Iteraciones por fase y qué se realiza en ellas à Depende de la complejidad del sistema
¨ Plan de proyecto: n Fechas y criterios de objetivos principales n División de fases en iteraciones
n Pensar a largo plazo
Otros aspectos del PU - Planificación (iteraciones)
n Se define: ¨ Planificación de la Iteración: cuánto tiempo, fecha de
terminación, etc. ¨ Contenido de la Iteración: ya está esbozado en el plan del
proyecto pero al comenzar cada iteración se debe detallar: n Casos de uso n Riesgos técnicos que se deben identificar en forma de casos de uso n Cambios que han sufrido los requisitos o defectos encontrados n Subsistemas que se deben implementar n Personal
n El plan de la iteración siguiente se va detallando.
n El número de iteraciones de cada fase esta determinado por la complejidad del sistema.
Otros aspectos del PU – Planificación/Evaluación n Antes de cada iteración se han de planificar los criterios de
evaluación para establecer la satisfacción de los objetivos de cada iteración (medidos u observados): ¨ Requisitos funcionales en casos de uso ¨ Requisitos no funcionales de esos requisitos funcionales ¨ Requisitos no funcionales sueltos
n Requisitos verificables (pruebas)
n Requisitos generales (prototipo)
n Productos intermedios para determinar el progreso del trabajo
n Al final de cada iteración se realiza la evaluación de la misma de acuerdo a los criterios inicialmente establecidos
Otros aspectos del PU - Evaluación n Jefe de proyecto: ha de crear un documento como resultado de la
evaluación
n Objetivos: ¨ Evaluar iteraciones según criterios: presupuesto, tiempo, requisitos de calidad,
resultados de las pruebas ¨ Reconsiderar el plan de la siguiente iteración ¨ Modificar el proceso ¨ Evaluar y modificar criterios
n Es frecuente no alcanzar los criterios à prolongar el trabajo a la iteración siguiente: ¨ Modificar o extender el modelo de casos de uso ¨ Modificar o extender la arquitectura ¨ Modificar o extender los subsistemas desarrollados ¨ Buscar otros riesgos ¨ Incorporar ciertas habilidades al equipo ¨ Puede que solo falte tiempo
Otros aspectos del PU - Evaluación n A partir de la evaluación anterior, el jefe de
proyecto: ¨ Determina si se puede pasar a la siguiente
iteración ¨ Si hay que rehacer, decide cuándo, quién y cómo ¨ Planifica en detalle siguiente iteración ¨ Actualiza el plan de las iteraciones posteriores a
la siguiente ¨ Actualiza la lista de riesgos y el plan del proyecto
n Evolución del conjunto de modelos
Bibliografía
59
§ The unified software development process, Ivar Jacobson, Grade Booch, James Rumbaug, Ed. Addison Wesley, 1999
§ El proceso unificado de desarrollo, Ivar Jacobson, Grade Booch, James Rumbaug, Ed. Addison Wesley, 1999
TEMA V: El Proceso Unificado de Desarrollo: Introducción
60
Profesor: David Granada