tema 6 proceso unificado - grupo de investigación · dependiendo de la iteración y de la fase en...

102
Tema 6 Proceso Unificado Ingeniería del Software I [email protected]

Upload: hoangthuy

Post on 30-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Tema 6Proceso Unificado

Ingeniería del Software I

[email protected]

Page 2: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Índice

Introducción

El proceso unificado Principios básicos

Las 4 “p”

Estructura del proceso unificado

Flujos de trabajo principales

Fases del desarrollo

Otros aspectos Iteración genérica

Planificación y evaluación

Page 3: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Introducción

Realidad actual: sistemas más complejos y más grandes

Objetivo: Desarrollo más rápido menor tiempo de salida al mercado Software de calidad Mejor adaptación del software a las necesidades del cliente

Solución: un proceso de desarrollo que integre todas las facetas de un desarrollo software Dé una guía para ordenar las actividades del equipo Dirija las tareas individuales y del equipo Especifique los productos (artefactos) que hay que desarrollar Ofrezca criterios para monitorizar y medir los productos y

actividades

Page 4: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Índice

Introducción

El proceso unificado Principios básicos

Las 4 “p”

Estructura del proceso unificado

Flujos de trabajo principales

Fases del desarrollo

Otros aspectos Iteración genérica

Planificación y evaluación

Page 5: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

El Proceso Unificado

Unificación de tres metodologías de desarrollo basadas en el paradigma orientado a objetos

OOSE (Object-Oriented Software Engineering) Ivar Jacobson

Booch Grady Booch

OMT (Object Modeling Technique) James Rumbaugh

Page 6: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

El Proceso Unificado

Unified Process (1999) vs. Rational Unified Process (2003) UP: define el proceso y un “marco” extensible para el desarrollo de

software

RUP© (propietario: IBM / Rational):

6 disciplinas de ingeniería (flujos de trabajo) principales

Elementos principales: roles (quién), productos (qué se debe obtener), tareas (qué se debe hacer).

Page 7: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

El Proceso Unificado

Es un proceso de desarrollo software Def.: conjunto de actividades para transformar los requisitos de usuario en un sistema

software Entre modelo de proceso y metodología. Especifica que las herramientas son necesarias para apoyar el desarrollo del producto. No

indica cuáles utilizar.

Basado en componentes (código reutilizable) Principios:

Dirigido por casos de uso Centrado en la arquitectura Iterativo e incremental Usa UML (Unified Modeling Language) como notación para los modelos del proceso de

desarrollo Otros: enfocado a riesgos, impulsa la calidad, es configurable, etc.

Las 4 “P” del proceso unificado: Proyecto Proceso Producto Personas

Page 8: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoDirigido por casos de uso

Ideas: Cualquier interacción del sistema con el usuario es un

caso de usoActor: alguien o algo

Def.: caso de uso Es una función del sistema que da al usuario un

resultado útil Captura los requisitos funcionales

¿Qué debe hacer el sistema para cada actor?Modelo de casos de uso

Page 9: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoDirigido por casos de uso

Conducen el proceso de desarrollo: Los desarrolladores crean modelos de análisis, modelos

de diseño e implementación a partir de los casos de uso

Los encargados de pruebas aseguran que los componentes implementan los casos de uso

Los casos de uso se especifican, se diseñan y sirven de base para construir los casos de prueba

Se desarrollan junto a la arquitectura del sistemaAmbos evolucionan en paralelo

Page 10: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoCentrado en la Arquitectura

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

Influencias: Plataforma, aspectos legales, componentes reusables disponibles...

El proceso ayuda a centrarse en los objetivos correctos: legibilidad, adaptabilidad, reutilización.

Relación entre casos de uso y arquitectura Casos de uso Funcionalidad del sistema Arquitectura Forma

Page 11: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoCentrado en la Arquitectura

Tareas relacionadas:Para la definición de la arquitectura se debe poseer

una comprensión general de los C.U. tener en cuenta otros aspectos como la plataforma.

Trabajar con un conjunto seleccionado de casos de uso que representan las tareas clave del sistema. Caso de uso subsistemas, clases y componentes

Evolución a lo largo del proceso de desarrollo concepto de “vista arquitectónica”

Page 12: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoIterativo e incremental

División del proyecto en miniproyectos. Cada miniproyecto es una iteración (conjunto de pasos). Una iteración produce un incremento. Código ejecutable Cada iteración se centra en disminuir algún riesgo y concluye con un hito bien definido

Todas las iteraciones están planificadas y controladas (gestión de riesgos)

Factores para la selección en una iteración: La iteración trata un grupo de casos de uso que extienden la funcionalidad La iteración trata los riesgos más importantes

Elementos contemplados en cada iteración: Casos de uso relevantes Existe una arquitectura que sirve de guía. Se implementa utilizando componentes (código reutilizable). Elementos contemplados en cada iteración:

Cuando una iteración no cumple sus objetivos, los desarrolladores deben revisar sus decisiones tomadas.

Page 13: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoIterativo e incremental

Beneficios de una iteración controlada y planificada:

Reduce el coste del riesgo a los costes de un solo incremento.

Reduce el riesgo de no sacar al mercado el producto en el calendario previsto (mediante la identificación de riesgos en fases tempranas del desarrollo).

Se obtienen resultados a corto plazo.

El cliente/usuario puede añadir nuevos requisitos en cualquier momento.

Page 14: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoIterativo e incremental

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

Page 15: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoIterativo e incremental

Ciclo de vida del software: El paso a través de las 4 fases principales constituye un ciclo de desarrollo produce una generación del software

Al final de cada ciclo obtenemos una versión nueva del sistema

Entregas: código fuente, ejecutables, manuales y documentos

Hitos por fases (milestones)

...

Entrega

Ciclos

Concepción Elaboración TransiciónConstrucción

Iter.1

Iter.2 ... ...... ... ... ...

Iter.n

Fases

Iteraciones

Page 16: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoOtras características

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

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)

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

Es un proceso configurable: Puede adaptarse a proyectos de diferente envergadura (medianos-grandes) Se adapta a las necesidades de desarrollo de la organización

Page 17: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoLas 4 “P”

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

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

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

Personas: Los principales autores de un proyecto de software son los arquitectos,

desarrolladores, ingenieros de prueba y el personal de gestión que les da soporte, además de los usuarios, clientes, y otros interesados

La gente trabaja más eficazmente en grupos pequeños. Trabajador = puesto de trabajo al que se le asigna una persona.

Page 18: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoProyecto

Iteracionesen cuatro fases

Planificar

Experiencia pasada

Plan de proyecto

Plan de iteración

Información sobreel sistema propuesto

Informacióndel dominio

Page 19: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Requisitos

Diseño

Implementación

Prueba

Análisis

PlanificaciónAnál. RiesgosPreparación

Elaboración ConstrucciónVerificació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 Proceso UnificadoProceso

Page 20: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoProducto

Consta de un cuerpo de código fuente incluido en componentes que puede compilarse y ejecutarse, además de manuales y otros productos asociados.

Además, forman parte del producto todos aquellos artefactos que se han ido generando durante el desarrollo de la aplicación.

Page 21: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

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 Proceso UnificadoProducto (Artefactos)

Page 22: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Principios del Proceso UnificadoTrabajadores

Diseño de

Arquitectura

Implementación

de Arquitectura

Estructura Modelo

de Casos de Uso

Descubre Actores

y Casos de UsoAnalista de

Sistemas

Detalla un Caso

de Uso

Especifica

Casos de Uso

Prototipo del Interfaz

de Usuario

Diseñador de

Interface de Usuario

Análisis de

Arquitectura

Prioriza

Casos de UsoArquitecto

Diseña un

Caso de Uso

Analiza un

Caso de UsoIngeniero de

Casos de Uso

Ingeniero de

Componentes

Diseña

una claseAnaliza

un

Paquete

Analiza

una Clase Diseña un

Subsistema

Implementa

una clase

Implementa

Subsistema

Ejecuta Test

Unitario

Implementa

Test

Evalua

Test

Diseña

TestIngeniero 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

Page 23: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Índice

Introducción

El proceso unificado Principios básicos

Las 4 “p”

Estructura del proceso unificado

Flujos de trabajo principales

Fases del desarrollo

Otros aspectos Iteración genérica

Planificación y evaluación

Page 24: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Estructura del Proceso UnificadoFases e iteraciones

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

4 fases: Iniciación (inception): Establecer la visión, el alcance y el plan

inicial del proyecto Elaboración (elaboration): Diseñar 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

Page 25: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Estructura del Proceso UnificadoFases e iteraciones

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

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

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

El contenido varía para adaptarse al objetivo de cada fase

Page 26: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Requisitos

Diseño

Implementación

Prueba

Análisis

PlanificaciónAnál. RiesgosPreparación

Elaboración ConstrucciónVerificació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)

Principios del Proceso UnificadoFases e iteraciones

Page 27: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Estructura del Proceso UnificadoFlujos de trabajo

Flujos de trabajo fundamentales:

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

Page 28: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Estructura del Proceso UnificadoFlujos de trabajo

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

Page 29: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Elementos del Proceso UnificadoModelo y artefacto

Las actividades del proceso unificado se destacan en la creación y mantenimiento de modelos.

Modelo (una perspectiva del sistema): El modelo es una abstracción del sistema, especificando el sistema modelado

desde un cierto punto de vista y en un determinado nivel de abstracción. Representación abstracta y simplificada de la realidad, creada para comprender

mejor el sistema que se está desarrollando. Se puede ver como un contenedor de elementos como clases, casos de uso,

actores, subsistemas, colaboraciones que se encuentran representados en diferentes diagramas, bocetos, prototipos…

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, los diagramas UML y su texto asociado,

bocetos de la interfaz de usuario, prototipos… A su vez, un modelo es considerado un artefacto

Page 30: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Elementos del Proceso UnificadoArtefactos

Modelos De casos de uso De análisis De diseño De implementación De pruebas

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

Page 31: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Elementos del Proceso UnificadoArtefactos

Artefactos en PU: Fase de Inicio:

Planificación proyecto. Especificación de Requerimientos

Fase de Elaboración: Diagramas de caso de uso Diagramas de clase. Diagramas de colaboración

Fase de Construcción: Diagrama de clases Modelo E-R (si el sistema así lo requiere) Diagrama de Secuencia Diagrama de estados Diagrama de Colaboración Modelo de dominio Mapa de comportamiento a nivel de hardware.

Page 32: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Índice

Introducción

El proceso unificado Principios básicos

Las 4 “p”

Estructura del proceso unificado

Flujos de trabajo principales

Fases del desarrollo

Otros aspectos Iteración genérica

Planificación y evaluación

Page 33: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de trabajo principales (Workflows)

Requisitos

Diseño

Implementación

Pruebas

Análisis

PlanificaciónAnál. RiesgosPreparación

Elaboración ConstrucciónVerificació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)

Page 34: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Requisitos

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

Objetivo: guiar el desarrollo hacia el sistema correcto

El resultado ayuda al jefe de proyecto a planificar las iteraciones y a la asignación de recursos

Pasos a seguir: Artefactos: 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

Page 35: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Requisitos

Modelo de dominio: captura los tipos más importantes de objetos en el contexto donde trabaja el sistema.

Representado mediante un diagrama de clases. Las clases del dominio se utilizan en el desarrollo de los modelos de casos de uso y de análisis.

Page 36: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Requisitos

Artefactos de requisitosModelo de casos de uso

Diagramas de casos de uso: • Flujos de eventos principales • Caminos alternativos

Descripciones textuales de los casos de uso Diagramas de actividad Descripción de la arquitectura Glosario Prototipo de la interfaz de usuario

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

Page 37: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Análisis

Se trabaja con conceptos

Especificación más precisa de los requisitos

Se utiliza el lenguaje de desarrolladores

Facilita comprensión, preparación, modificación y mantenimiento de requisitos

Primera aproximación al modelo de diseño

Page 38: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

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 de cómo realizar la funcionalidad del sistema

Define casos de uso Define realizaciones de casos de uso

Page 39: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Análisis

Una clase de análisis representa una abstracción de una o mas clases del diseño del sistema

Se centra en el tratamiento de los requisitos funcionales

Son evidentes en el dominio del problema

Los atributos, operaciones y relaciones de las clases de análisis están a un nivel mayor de abstracción.

Pueden clasificarse fácilmente en clases de entidad, interfaz y de control.

Page 40: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Análisis

Artefactos de análisis Modelo de análisis

Diagramas de colaboración: • Es un diagrama de interacción que define cómo se lleva a cabo y se

ejecuta un caso de uso en términos de objetos de análisis• Tanto para el camino principal como para los caminos alternativos

Diagramas de clases del análisis Descripciones textuales de las clases Descripción de la arquitectura

• Vista de la arquitectura del modelo de análisis• Descomposición del modelo en paquetes

Paquetes de análisis• Proporcionan un medio para organizar los artefactos del modelo de

análisis en piezas manejables.• Son cohesivos y débilmente acoplados• Basados en los requisitos funcionales y en el dominio del problema• Generan subsistemas del diseño

Page 41: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Análisis

Actividades

Análisis de la arquitectura Arquitecto Identificar paquetes de análisis

Identificar clases de entidad

Requisitos comunes

Analizar (refinar) un caso de uso Ingeniero de CU Identificar clases de análisis

Describir interacciones entre los objetos del análisis

Capturar requisitos especiales sobre la realización del CU

Analizar una clase Ingeniero de Componentes Identificar responsabilidades y atributos

Identificar relaciones: asociación, agregación y generalización

Capturar requisitos especiales sobre la realización del CU

Analizar un paquete Ingeniero de Componentes

Page 42: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Diseño

Se modela el sistema para que dé soporte a los requisitos funcionales y no funcionales

Su entrada esencial es el modelo de análisis (una comprensión detallada de los requisitos)

Objetivos: Profundizar en los 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. Utilización de subsistemas Capturar las interfaces entre los subsistemas.

Es el centro de atención final de la fase de elaboración e iteraciones iniciales de la fase de construcción

Page 43: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Diseño

Modelo de Análisis Modelo de Diseño

Abstracción del sistema Modelo físico. Plano de implementación

Genérico respecto al diseño (aplicable a varios diseños)

No genérico. Específico para una implementación

3 estereotipos conceptuales sobre las clases: interfaz, control y entidad.

Cualquier número de estereotipos físicossobre las clases de diseño (depende del lenguaje de programación)

Menos formal y menos caro de desarrollar Más formal y más caro de desarrollar

Bosquejo del diseño del sistema Manifiesto del diseño del sistema

No necesariamente tiene que estar mantenido durante todo el ciclo de vida del software

Debe ser mantenido durante todo el ciclo de vida del software

Entrada esencial para modelar el sistema Da forma al sistema mientras intenta preservar la estructura heredada del modelo de análisis

Page 44: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Diseño

Artefactos de diseño Modelo de diseño

Diagramas de secuencia • Es un diagrama de interacción que define cómo se lleva a cabo y se ejecuta un

caso de uso en términos de objetos de diseño• Para flujos de eventos principales y caminos alternativos

Diagramas de clases de diseño Descripciones textuales de las clases Diagramas de transición de estados para el comportamiento interno de

cada clase Descomposición del modelo en subsistemas

Modelo de despliegue Diagramas de despliegue: distribución física del sistema en nodos de

computo Descripciones de los nodos y sus interrelaciones

Page 45: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Diseño

Actividades Diseño de la arquitectura Arquitecto

Identificar nodos y configuración Identificar subsistemas y clases

Diseñar un caso de uso Ingeniero de CU Identificar clases de diseño y subsistemas Distribuir comportamiento del caso de uso Capturar requisitos de implementación

Diseñar una clase Ingeniero de Componentes Identificar responsabilidades y atributos Capturar requisitos especiales sobre la realización del CU

Diseñar un subsistema Ingeniero de Componentes

Page 46: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Diseño

Creación modelos

diseño y

despliegue

(arquitecto)

Esbozo nodos del

modelo de despliegue,

subsistemas principales

e interfaces, clases

importantes

Realizar cada caso de uso en

términos de clases, objetos y/o

subsistemas de diseño

(Ingeniero de casos de uso)

Las realizaciones

establecen los requisitos

de comportamiento para

cada clase.

Definen para cada clase de

diseño: atributos y

operaciones.

(Ingeniero de componentes)

Page 47: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Diseño-Diagrama de clases de diseño

Page 48: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Diseño-Diagrama de clases de diseño

GestorDeCliente

miTransaccion : Transacción

crear() : GestorDeClientecreaCajeroVirtual()iniciarSesion()

visualizar(resultados : String)

Transacción

miCliente : GestorDeClientedatosTarjeta : DatosTarjetanumIntentosFallidos : 1..3 = 0cuentas : Cuentas

usuarios : UsuariosDelBanco

almacenarDatos(datos : DatosTarjeta)validar(importe : Dinero, cantidad : Dinero)autenticar(datos : DatosTarjeta, PIN : UnPIN) : BooleanretirarDinero(importe : Dinero) : BooleaningresarDinero(importe : Dinero) : Boolean

trasnsferencia(cuentaOrigen : Cuenta, cuentaDestino : Cuenta, importe : Dinero) : Boolean

UsuariosDelBanco

usuarios : Dictionary

validar(datos : DatosTarjeta, PIN : UnPIN) : Boolean

Cuentas

cuentas : Dictionary

reintegro(cuenta : Cuenta, importe : Dinero) : Booleaningreso(cuenta : Cuenta, importe : Dinero) : Boolean

Cuenta

datos : DatosCuentalimiteDiario : Dinero = 50000

reintegro(importe : Dinero) : Booleaningreso(importe : Dinero) : Boolean

Page 49: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Implementación

Se implementa el sistema en términos de componentes: Ficheros de código fuente, scripts, ficheros de código

binarios, ejecutables y similares

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)

Page 50: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Implementación

Artefactos de implementación Modelo de implementación

Diagramas de componentes

• Muestra cómo los elementos del modelo de diseño se implementan en términos de componentes (ficheros de código fuente, ejecutables...)

• Muestra cómo dependen los componentes unos de otros• Un componente

» Es el empaquetamiento físico de los elementos de un modelo » Cada uno puede implementar varios elementos dependiendo

del lenguaje que se utilice.» Proporcionan las mismas interfaces que los elementos que

implementan.» Tienen relaciones de traza con los elementos del diseño que

implementan.» Tienen dependencias de compilación entre ellos (unos deben

haberse compilado antes para poder compilar otros).

Page 51: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Implementación

Artefactos de implementación• Subsistema de implementación

» Forma de organizar los artefactos del modelo de implementación en trozos más manejables.

» Un subsistema puede estar formado por: componentes, interfaces y otros subsistemas

• Interfaz» Un componente que implementa una interfaz debe implementar correctamente todas

las operaciones de la interfaz» Un subsistema que implementa una interfaz debe contener componentes que

proporcionen la interfaz u otros subsistemas que la proporcionen.

• Plan de integración de construcciones» 1 construcción = una parte ejecutable del sistema.» Lo normal es que para cada iteración se genere una construcción (1 iteración = 1

construcción)» En algunos casos, si la funcionalidad a implementar en esa iteración es muy

compleja, se puede subdividir en diferentes construcciones (1 iteración = n construcciones).

» El plan de integración de construcciones describe la secuencia de construcciones necesarias en una iteración.

Modelo de despliegue Diagrama de despliegue Nodos

Page 52: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Implementación

Actividades Implementación de la arquitectura Arquitecto

Implementar una clase Ingeniero de Componentes

Implementar un subsistema Ingeniero de

Integrar sistemas Integrador de sistemas

Componentes

Realizar prueba de unidad Ingeniero de Componentes

Page 53: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Prueba

Verificamos el resultado de la implementación probando cada construcción

Objetivos:

Planificar las pruebas necesarias para cada iteración

Pruebas de integración

Pruebas de sistema

Diseñar e implementar las pruebas diseñando los casos de prueba

Realizar las diferentes pruebas

Page 54: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Prueba

Artefactos de prueba

Modelo de pruebas

Casos de prueba

Procedimientos de prueba

Componentes de prueba

Plan de prueba

Defectos

Evaluación de la prueba

Page 55: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Prueba

Actividades Planificar prueba Diseñador de pruebas

Diseñar prueba Diseñador de pruebas Describir casos de prueba para cada construcción Identificar y estructurar los procedimientos de prueba

Implementar prueba Ingeniero de componentes

Realizar pruebas de integración Ingeniero de pruebas deintegración

Realizar prueba de sistema Diseñador de pruebas

Evaluar prueba Diseñador de pruebas

Page 56: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Flujos de Trabajo Principales Resumen Implementación/Prueba

Creación modelo de implementación

(arquitecto)

Planear las construcciones en la presente iteración

(Integrador del sistema)

Implementación de los componentes para cada

construcción(Ingeniero de componentes)

Los componentes se prueban con pruebas de unidad(Ingeniero de pruebas)

Cada construcción se somete a pruebas de integración

(Ingeniero de integración)

La última integración validada se somete a las

pruebas de sistema(Ingeniero de pruebas)

Page 57: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Índice

Introducción

El proceso unificado Principios básicos

Las 4 “p”

Estructura del proceso unificado

Flujos de trabajo principales

Fases del desarrollo

Otros aspectos Iteración genérica

Planificación y evaluación

Page 58: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso Unificado

Requisitos

Diseño

Implementación

Prueba

Análisis

PlanificaciónAnál. RiesgosPreparación

Elaboración ConstrucciónVerificació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)

Page 59: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoInicio

Propósito: establecer viabilidad para poner en marcha el proyecto

Objetivo: Análisis del negocio: casos de uso fundamentales para el

negocio

Actividades:1. Delimitar el ámbito (interfaces con otros sistemas)

2. Identificar riesgos críticos (los que afecten a la viabilidad)

3. Demostrar a usuarios y clientes un prototipo (exploratorio)

4. Obtener la arquitectura candidata.

Page 60: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Planificación Fase de Inicio

Definición criterios de evaluación

Flujos de trabajo

Evaluación

Análisis inicial del negocio

Planificación de la fase de elaboración

Requisitos Análisis Diseño Implement. Pruebas

Fases del Proceso UnificadoFase de Inicio

Page 61: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoInicio - Planificación

Entradas de esta fase Información de proyectos anteriores Estudios de mercado Estudios de la competencia

Hay que planificar con poca información ¿Qué hacer?

Reunir la información previa Organizarla para su uso Reunir personas que sepan usarla Descubrir lo que falta, en términos de los objetivos de la fase de

inicio Desarrollar un plan provisional para clarificar requisitos Planificar la creación de una arquitectura Decidir 1 ó 2 iteraciones

Page 62: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoInicio – Definición Criterios de Evaluación

Referentes al ámbito del sistema ¿Está claro lo que va a formar parte del sistema? ¿Se han identificado todos los actores? ¿Se han definido las interfaces con estos actores? ¿Lo que se ha incluido en el ámbito puede constituir un sistema que funcione?

Resolver ambigüedades de los requisitos de esta fase ¿Se han identificado y detallado los requisitos de los casos de uso necesarios? ¿Se han identificado y detallado los requisitos adicionales?

Determinar arquitectura candidata ¿Satisface las necesidades de los usuarios? ¿Puede usar la tecnología adecuadamente? ¿Puede evolucionar?

Mitigar riesgos críticos ¿Se han identificado? ¿Se han mitigado o existe un plan de contingencia?

Page 63: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

1. Enumerar requisitos candidatos

2. Comprender el contexto del sistema

Desarrollar si no existe un modelo de negocio o modelo de dominio

3. Representar los requisitos funcionales como casos de uso

3.1. Encontrar actores y casos de uso

Ignorar alternativas de los c.u. que no sean significativas

Ignorar los c.u. que tengan poco efecto en el análisis inicial del negocio

3.2. Determinar la prioridad de los casos de uso

Refinar el plan del proyecto y de las iteraciones

3.3. Detallar los casos de uso

Puede parecer que se han comprendido los requisitos

Detallar el 10% de los casos de uso.

4. Recoger requisitos no funcionales relacionados

Elección de plataforma y definición de la arquitectura

Fases del Proceso UnificadoInicio – Requisitos

Page 64: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Objetivo: analizar, refinar y estructurar los requisitos funcionales

1. Análisis de la arquitectura (arquitectura candidata)

Clasificar los casos de uso necesarios para esta fase (sólo los más prioritarios)

Construir modelo de análisis para esta parte del sistema

No exhaustivo

Se podría descartar posteriormente

2. Analizar un caso de uso

Algunos casos de uso comparten recursos. El modelo de análisis revela los recursos compartidos

3. Análisis mínimo de clases y paquetes

Fases del Proceso UnificadoInicio – Análisis

Page 65: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Diseño de la arquitectura (arquitectura candidata) Colaboraciones entre subsistemas o clases Identificar interfaces Elegir sw del sistema Considerar rendimiento y requisitos no funcionales Modelo de despliegue limitado a los nodos cuyo rendimiento

es dudoso.

Diseño mínimo de clases y subsistemas

Fases del Proceso UnificadoInicio – Diseño

Page 66: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Implementación Hasta que no se implementa no se puede asegurar el

funcionamiento de la arquitectura Escasez de recursos Prototipo de demostración

Pruebas Planes provisionales de pruebas Pruebas del prototipo

Fases del Proceso UnificadoInicio – Implementación y pruebas

Page 67: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Grupo de evaluación: representantes del cliente o usuario.

Criterios no alcanzables en el plan original:

El diagrama de casos de uso no abarca lo necesario

Desarrollo de prototipo exploratorio no ha cumplido las expectativas

Sospecha de no haber encontrado todos los riesgos críticos o no haberlos cubierto en el plan de contingencia

¿Qué hacer?

Iteraciones posteriores modificar plan

Abandonar

Modificar criterios

Fases del Proceso UnificadoInicio – Evaluación

Page 68: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Vista la viabilidad establecer:

recursos necesarios

costes de la inversión

estimación de beneficios

aceptación

Recursos y costes: estimación de horas/persona, coste y tiempo: experiencia. ¿y si el proceso o producto son nuevos?

Beneficios y aceptación: Externo: expertos en ventas

Interno: solicitar al departamento estimación del ahorro esperado

Estas estimaciones no son exactas. Demostrar que parece rentable.

Fases del Proceso UnificadoInicio – Análisis inicial del negocio

Page 69: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

¿Qué se espera obtener en la fase de elaboración?

Plan económico más exacto

Definir más casos de uso

¿Qué se debe planificar?

Qué se hace en cada iteración

Qué requisitos van a implementar y probar

Qué riesgos se tienen que mitigar

Fases del Proceso UnificadoInicio – Planificación de la fase de elaboración

Page 70: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Lista de características

Versión inicial del modelo de negocio o modelo de dominio

1ª versión del modelo de casos de uso, el modelo de análisis y el de diseño. Requisitos adicionales.

Descripción de la arquitectura candidata

Prototipo exploratorio

Lista de riesgos y clasificación de casos de uso

Esbozo de plan del proyecto

Borrador del análisis del negocio

Fases del Proceso UnificadoInicio – Productos obtenidos

Page 71: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoElaboración

Propósito: factibilidad Objetivo:

Arquitectura estable para guiar el sistema Recopilar la mayor parte de los requisitos definiéndolos como casos de uso Continuar la observación y control de los riesgos críticos Estimación con precisión de costes para fases siguientes. Completar el plan de

proyecto heredado de la fase de Inicio.

Actividades:1. Obtener 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, recursos materiales.

Page 72: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Planificación Fase Elaboración

Definición criterios de evaluación

Flujos de trabajo

Evaluación

Planificación de la fase de construcción

Requisitos Análisis Diseño Implementación Pruebas

Fases del Proceso UnificadoFase de Elaboración

Page 73: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoElaboración - Planificación

Entradas de esta fase Planificación inicial para la fase de elaboración heredada de la fase de Inicio Modelo parcial de casos de uso Arquitectura candidata Rudimentos de análisis y diseño Un prototipo, si se ha construido

La planificación hecha en la fase de inicio puede no ser completa No se conocen de forma exacta los recursos necesarios Jefe de Proyecto (JP) replanifica:

Formar el equipo Mantener “memoria del equipo” Necesidades adicionales: expertos en componentes

Modificar el entorno de desarrollo Herramientas de desarrollo, de gestión, comunicaciones, copias de seguridad,...

Page 74: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Establecer criterios de evaluación

Extender los requisitos ¿Se han identificado requisitos, actores y casos de uso para la arquitectura?

¿Se han identificado los riesgos? ¿Se han detallado los casos de uso necesarios?

Definir línea base de la arquitectura ¿La arquitectura satisface los requisitos recopilados formalmente hasta

ahora y las necesidades del usuario? ¿Es robusta y flexible?

Mitigar riesgos significativos ¿Se han eliminado o existe plan de contingencia? ¿Se han identificado los

riesgos significativos? ¿Los riesgos que perduran se pueden eliminar de forma rutinaria en construcción?

Análisis de negocio ¿El plan de proyecto está lo suficientemente definido? ¿Se puede recuperar

la inversión? ¿Se puede redactar un contrato con precio fijo?

Fases del Proceso UnificadoElaboración – Definición Criterios de Evaluación

Page 75: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Representar los requisitos funcionales como casos de uso

Encontrar actores y casos de uso

Identificar casos de uso (80%)

Describir una parte. ¿Cuántos? Depende del riesgo asumible, exactitud del precio

Analizar parte de los descritos

Determinar la prioridad de los casos de uso

Riesgos y casos de uso

Detallar los casos de uso

Detallar el 40-80% de los casos de uso

Estructurar el modelo de casos de uso

Reducir redundancia

Recoger requisitos no funcionales relacionados

Fases del Proceso UnificadoElaboración – Requisitos

Page 76: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

La entrada principal: el borrador obtenido en la fase de inicio

Se analiza el 50% de los descritos en detalle en el flujo de trabajo de Requisitos

Análisis de la arquitectura

Partición inicial en paquetes de análisis

Descubrir colaboraciones y paquetes genéricos (recuperación de errores, transacciones, persistencia, IU gráficas, distribución de objetos)

Analizar un caso de uso

Buscar clases que realicen el caso de uso considerando las yadefinidas en la arquitectura

Analizar clases

Refinar clases anteriores

Analizar paquetes

Fases del Proceso UnificadoElaboración – Análisis

Page 77: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoElaboración – Diseño

Diseñar sólo lo significativo para la arquitectura

Diseño de la arquitectura

Uso de bloques reutilizables (subsistemas)

Cómo definir los subsistemas (sistemas heredados)

No siempre un paquete de análisis se convierte en un subsistema de diseño.

Distribución. Clases activas. Traducir las clases de análisis en clases de diseño.

Diseñar un caso de uso

Detalles de aspectos de comunicación (diagramas de secuencia)

Diseñar clases

Integrar roles de cada clase. Atributos y métodos.

Page 78: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoElaboración – Implementación

Implementar sólo lo significativo para la arquitectura

Implementación de la arquitectura

A partir del modelo de diseño y despliegue asignar componentes ejecutables a nodos

Implementación de clases y subsistemas

Agruparlos en componentes

Pruebas de unidad

Page 79: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoElaboración – Pruebas

Sólo se pueden probar los componentes ejecutables

Empezar por el uso de mecanismos de distribución, almacenamiento, recuperación, concurrencia,... Rendimiento

Planificar las pruebas

Seleccionar objetivos a probar

Diseñar las pruebas

Integración de subsistemas

Realizar pruebas de integración

Plan de construcciones

Realizar pruebas del sistema

Realizar pruebas y comunicar defectos

Revisar resultados de pruebas

Verificar objetivos iniciales

Nuevos riesgos. Ej: transferencias inconsistentes

Page 80: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoElaboración – Evaluación

Comprobar que la línea base de la arquitectura lleva a cabo los objetivos iniciales y mitiga los riesgos

Varias iteraciones. Evaluar de acuerdo a los objetivos fijados en cada una

Comprobar que en la última iteración obtenemos la línea base de la arquitectura.

Colaboración con el cliente: mejoras

Page 81: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoElaboración – Planificación de la fase de

construcción

Número de iteraciones que se llevarán a cabo en la fase de construcción: tamaño y complejidad (2 ó 3)

Riesgos:

El jefe de proyecto (JP) planifica en qué orden se va a llevar a cabo la construcción para evitar interrupciones

Completar los modelos:

JP planifica en qué orden se desarrollarán los casos de uso y se completarán los modelos

JP organiza trabajos en paralelo basándose en los subsistemas de la arquitectura (Un grupo de desarrollo será responsable de un subsistema de diseño).

Page 82: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoElaboración – Productos obtenidos

Modelo completo del negocio

Nueva versión de los modelos

Línea base de la arquitectura

Lista de riesgos actualizada. Los críticos seguro que se pueden mitigar.

Plan de proyecto para construcción y transición

Manual de usuario preliminar

Análisis del negocio incluida propuesta económica

Page 83: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoConstrucción

Propósito: desarrollar el sistema

Objetivo:Versión beta

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

Page 84: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoFase de Construcción

Planificación de la Fase de Construcción

Definir criterios de evaluación

Flujos de trabajo

Evaluación

Planificación de la fase de transición

Requisitos Análisis Diseño ImplementaciónPruebas

Page 85: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Entradas de esta fase

Línea base de la arquitectura = la implementación de, aproximadamente, el 10% de los casos de uso

Plan de contingencia de los riesgos críticos. En esta fase ya no deberían existir riesgos críticos sin descubrir ni analizar, sólo riesgos rutinarios.

Responsables financieros deben aprobar el plan del proyecto

Personal

Asignar un responsable para cada subsistema

Puede aumentar considerablemente

Fases del Proceso UnificadoConstrucción - Planificación

Page 86: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoConstrucción – Definición Criterios de Evaluación

Establecer criterios de evaluación

Desarrollar casos de uso Se basan en los requisitos

Material del usuario (guías, texto de ayuda, manuales) ¿Es suficiente para dar soporte a los usuarios en la fase de

transición?

Material de cursos (ejemplos, tutoriales, diapositivas) ¿Es suficiente para dar soporte a los usuarios en la fase de

transición?

Page 87: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoConstrucción – Requisitos, Análisis y Diseño

Requisitos

Representar otros posibles requisitos funcionales como casos de uso

Análisis

Puede que no se mantenga

En la fase de construcción completamos el modelo de análisis heredado de la fase de elaboración.

En cuanto a la arquitectura sólo actualizaciones necesarias

Diseño

No se añaden subsistemas nuevos.

Page 88: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoConstrucción – Implementación

Objetivo principal. Implementar y hacer pruebas de unidad de TODOS los componentes

1. Definir un plan de integración de construcciones

2. Implementación de clases y subsistemas

3. Realizar pruebas de unidad

Corregir diseño e implementación si fuera necesario

Page 89: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoConstrucción – Pruebas

1. Planificar las pruebas

2. Diseñar las pruebas de integración

Objetivo: verificar interfaces entre componentes

3. Diseñar las pruebas de sistema

Objetivo: verificar la integración de diferentes construcciones (el conjunto de construcciones que componen el sistema)

4. Realizar pruebas de integración

Si se detectan fallos, se registran y notifican al JP

5. Realizar pruebas del sistema

Si se detectan fallos, se registran y notifican al JP

6. Evaluar las pruebas

Page 90: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoConstrucción – Evaluación

Jefe de proyecto y grupo de evaluación:

Revisan los logros de la iteración frente a la planificación

Planifican iteraciones siguientes

Actualizan lista de riesgos

Si es la última iteración, determinan si se han superado las pruebas del sistema

Autorizan el cambio de fase

Actualizan el plan del proyecto

Page 91: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoConstrucción – Planificación de la fase de

transición

Se planifica en detalle

¿Quién probará el sistema?

Instrucciones para llevar a cabo las pruebas

Los resultados son difíciles de prever: riesgos, problemas, fallos

Page 92: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoConstrucción – Productos obtenidos

Plan de proyecto para la fase de transición

Versión ejecutable (versión beta)

Modelos completos del sistema

Descripción de la arquitectura

Manual de usuario para guiar a los usuarios beta

Análisis del negocio

Page 93: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoTransición

Propósito: puesta en funcionamiento del sistema en el entorno del cliente/usuario

Objetivo: Producto final

Actividades:1. Preparar las actividades, por ejemplo, el lugar2. Aconsejar sobre el entorno de funcionamiento3. Manuales y documentos para la entrega4. Ajustar el software al entorno del usuario5. Corregir los defectos detectados en la versión beta6. Determinar cuándo acaba el proyecto

Lecciones aprendidas Asuntos útiles para la versión siguiente

Page 94: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoFase de Transición

Planificación de la Fase de Transición

Flujos de trabajo (sólo correcciones)

Preparación e instalación versión beta

Cierre

Evaluación

Requisitos Análisis Diseño Implementación Pruebas

Page 95: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoTransición - Planificación

Para planificar esta fase disponemos de la información obtenida en la producción de la versión beta durante la fase de construcción.

No podemos pretender planificar de forma detallada esta fase. Se desconoce la cantidad de trabajo . Depende de los resultados de las pruebas beta.

Planificar la manera de recopilar la información resultante de las pruebasSi se cumplen requisitos, riesgos inesperados, problemas no

resueltos, fallos, lagunas y ambigüedades en la

documentación…

Los errores deben haber sido detectados y corregidos construcción a construcción (escenario ideal)

Se deben reservar recursos

Page 96: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoTransición – Preparación e instalación de la

versión beta

Seleccionar usuarios

Preparar documentación

Instruir de cómo informar de los problemas

Distribuir la versión beta

Pruebas beta (objetivo: encontrar fallos y errores)

No presente el personal de transición

Instrucciones muy precisas de uso e informes, migraciones de datos,...

En caso de actualización de un sw ya existente. Ejecución en paralelo con sistema anterior

Pruebas de aceptación (objetivo: dar por finalizado el producto)

Presente el personal de transición

Documento de pruebas + comunicación informal

Fallos y problemas se resuelven o se remiten

Page 97: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoTransición – Preparación e instalación de la

versión beta

¿Cómo actuar según los resultados de las pruebas?

Fallos de codificación menores

Resulta de un fallo en un componente. Rastrear hasta requisitos. Pruebas de regresión

¿Nuevos defectos? ¿Afecta a los modelos?

Problemas más importantes

Iteración de pruebas adicional

Tratados por el Comité de Control de Cambios.

Los cambios sustanciales que pudiesen hasta modificar la arquitectura deberían postergarse hasta el siguiente ciclo de desarrollo (una nueva versión del producto).

Page 98: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoTransición – Cierre

¿Cuándo se considera acabado el proyecto?

Cuando el cliente queda satisfecho:

Cuando el sistema va dirigido al mercado sin ningún cliente en específico:

El JP decide según la reacción de usuarios beta

Cuando hay una petición de un cliente:

Al terminar las pruebas de aceptación según requisitos.

Una vez pasa las pruebas de aceptación la fase de transición se considera terminada. Luego el propio cliente decide si el mantenimiento lo llevará él mismo o contratará a un tercero.

Page 99: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoTransición – Evaluación

Control del progreso

El JP compara el progreso real con la planificación

Revisión de tiempo, esfuerzo, coste, % de defectos y otras métricas: Analizar satisfacción de objetivos

Examinar razones de fracaso

Ampliación del conocimiento de la empresa

Revisión del plan de negocio

Este plan prevé si el proyecto tendrá éxito económicamente hablando.

Cliente: ¿Ha cubierto el precio contratado los costes del proyecto?

Mercado: El éxito se mide de acuerdo a si el producto alcanzará objetivos tales como el margen de beneficios obtenido sobre el capital invertido en el desarrollo.

Page 100: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoTransición – Evaluación

Jefe de proyecto y grupo de evaluación:

Si las 3 primeras fases se han llevado de forma efectiva se esperaran pocos problemas en la fase de transición.

En cambio si la organización fracasó al identificar los requisitos, en construir una arquitectura correcta, se reflejará en la fase de transición. Modificación en los requisitos y ampliación de la fase de transición

Revisión de las decisiones tomadas

Ver qué áreas han dado más problemas

Necesidad de formación previa.

El grupo de evaluación debe registrar las cosas más importantes (tanto las que se han hecho bien como mal) para en un futuro poder organizar proyectos de forma más efectiva y llevar un proceso de desarrollo con más éxito.

Page 101: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Ingeniería del Software de Gestión www.kybele.es

Fases del Proceso UnificadoTransición – Productos obtenidos

Software ejecutable, incluyendo instalación

Contratos, licencias, renuncias de derechos y garantías

Todos los modelos del sistema

Arquitectura del sistema

Manuales y material de formación

Referencias para la ayuda del cliente

Page 102: Tema 6 Proceso Unificado - Grupo de Investigación · Dependiendo de la iteración y de la fase en la que se encuentre el proyecto, ... Estructura del Proceso Unificado Flujos de

Tema 6Proceso Unificado

Ingeniería del Software I

[email protected]