Академический Документы
Профессиональный Документы
Культура Документы
www.kybele.es
ndice
Estructura del proceso unificado Flujos de trabajo principales Fases del desarrollo Otros aspectos
Introduccin
Solucin: un proceso de desarrollo que integre todas las facetas de un desarrollo software
D una gua para ordenar las actividades del equipo Dirija las tareas de cada desarrollador por separado y del equipo
como un todo Especifique los productos (artefactos) que hay que desarrollar Ofrezca criterios para controlar y medir los productos y actividades del proyecto
Ingeniera del Software de Gestin www.kybele.es
El Proceso Unificado
Ivar Jacobson
Booch
Grady Booch
OMT (Object Modeling Technique)
James Rumbaugh
www.kybele.es
El Proceso Unificado
www.kybele.es
El Proceso Unificado
un sistema software
Caractersticas
Usa UML (Unified Modeling Language) como notacin para los modelos del
Ideas:
Cualquier interaccin del sistema con el usuario es un caso
www.kybele.es
implementacin que realizan los casos de uso Los encargados de pruebas aseguran que los componentes implementan los casos de uso
Los casos de uso se especifican, se disean y sirven de base para construir los casos de prueba Se desarrollan junto a la arquitectura del sistema
Ambos evolucionan en paralelo
www.kybele.es
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 diseo completo que hace visibles las caractersticas principales Ms definiciones: http://www.bredemeyer.com/definiti.htm
Relacin entre casos de uso y arquitectura Casos de uso Funcionalidad del sistema Arquitectura Forma
www.kybele.es
El arquitecto debe:
Crear una arquitectura inicial, no especfica de los
casos de uso.
Ejemplo: la plataforma
www.kybele.es
Divisin del proyecto en hitos obtenidos como consecuencia de la repeticin de iteraciones de trabajo
Una iteracin produce un incremento Cada fase e iteracin se centra en disminuir algn riesgo y concluye
www.kybele.es
La vida del PU
...
Concepcin
Iter. 1 Iter. 2
Fases Iterac.
Ingeniera del Software de Gestin
Elaboracin
Construccin
...
...
...
...
...
Enfocado a riesgos:
La gestin del riesgo est incluida en el proceso Los riesgos se identifican y se acometen al principio del proceso de desarrollo (a
tiempo)
Es un proceso configurable:
Puede adaptarse a proyectos de diferente envergadura (medianos-grandes) Se adapta a las necesidades de desarrollo de la organizacin
www.kybele.es
Plan de iteracin
Experiencia pasada
www.kybele.es
Un proceso de IS es una definicin del conjunto de actividades necesarias para transformar los requisitos de usuario en un producto Un proceso es una plantilla para crear proyectos
FASES
Workflow
Requisitos Anlisis
Elaboracin
Construccin Verificacin
Transicin
Artefactos que se crean durante la vida del proyecto, como los modelos, cdigo fuente, ejecutables, y documentacin
Especificado por Soportado por Modelo de anlisis
Modelo de diseo
Distribuido por
Modelo de despliegue Implementado por
Modelo de implementacin
Verificado por
Modelo de pruebas
www.kybele.es
Los principales autores de un proyecto de SW son los arquitectos, desarrolladores, ingenieros de prueba y el personal de gestin que les da soporte, adems de los usuarios, clientes, y otros interesados Las personas son realmente seres humanos, a diferencia del termino abstracto trabajadores
Analista de Descubre Sistemas Actores y Casos de Uso Especifica Casos de Uso Detalla un Caso de Uso Estructura Modelo de Casos de Uso Planific a Test Dise a Test Integra Sistem a Ejecuta Test de Integracin Ejecuta test del sistema Evalu Ingeniero de a Test pruebas
Integrador de Sistemas
Prototipo del Interfaz de Usuario Anlisis Diseo de Implementaci de Arquitectu n de Arquitectu ra Arquitectura ra Analiza un Disea un Caso de Caso de Uso Uso Analiza un Paquet e Disea una clase Implemen ta una Disea un clase Subsistem Implement a a Subsistem a
Ingeniero de Componentes
Implement a Test
www.kybele.es
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
inicial del proyecto Elaboracin (elaboration): Disear, implementar y probar una arquitectura correcta, y completar el plan del proyecto Construccin (construction): Desarrollar el sistema (construir la primera versin operativa) Transicin (transition): Proporcionar el sistema a sus usuarios finales
Ingeniera del Software de Gestin www.kybele.es
Iteracin:
Representa un ciclo de desarrollo completo, desde la captura de
requisitos en el anlisis hasta la implementacin y pruebas, que produce una versin (interna o externa) de un producto ejecutable, que constituye un subconjunto del producto final en desarrollo
Dependiendo de la iteracin y de la fase en la que se encuentre el proyecto, el nfasis se pone ms en unos u otros flujos de trabajo El contenido vara para adaptarse al objetivo de cada fase
www.kybele.es
FASES
Workflow
Requisitos
Anlisis
Elaboracin
Construccin Verificacin
Transicin
www.kybele.es
Pasos a seguir:
Enumerar los requisitos candidatos Comprender el contexto del sistema Capturar requisitos funcionales Capturar requisitos no funcionales
www.kybele.es
Artefactos de requisitos
Modelo de casos de uso
Diagramas de casos de uso:
Flujos de eventos principales Caminos alternativos
Descripciones textuales de los casos de uso Diagramas de estado para explicar los casos de uso complejos
Actividades
Encontrar actores y casos de uso Priorizar los casos de uso Detallar un caso de uso Prototipar la interfaz de usuario Estructurar el modelo de casos de uso
www.kybele.es
www.kybele.es
Artefactos de anlisis
Modelo de anlisis
Diagramas de colaboracin:
Flujos de eventos principales Caminos alternativos
Descripcin de la arquitectura
Vista de la arquitectura del modelo de anlisis Descomposicin del modelo en paquetes
www.kybele.es
Actividades
Anlisis de la arquitectura
Identificar paquetes de anlisis Identificar clases de entidad Requisitos comunes
Arquitecto
Ingeniero de CU
Identificar clases de anlisis Describir interacciones entre los objetos del anlisis Capturar requisitos especiales sobre la realizacin del CU
Ingeniero de Componentes
Identificar responsabilidades y atributos Identificar relaciones: asociacin, agregacin y generalizacin Capturar requisitos especiales sobre la realizacin del CU
Analizar un paquete
Ingeniero de Componentes
www.kybele.es
Se modela el sistema para que d soporte a los requisitos funcionales y no funcionales Objetivos:
Profundizar los requisitos no funcionales y restricciones
dependientes de la plataforma. Crear una entrada apropiada para la implementacin Descomponer los trabajos de implementacin en partes mas manejables y que permitan concurrencia. Capturar las interfaces entre los subsistemas.
Artefactos de diseo
Modelo de diseo
Diagramas de secuencia
Flujos de eventos principales Caminos alternativos
Descripciones textuales de las clases Diagramas de transicin de estados para el comportamiento interno de cada clase
Modelo de despliegue
Diagramas de despliegue: distribucin fsica del sistema en nodos de computo Descripciones de los nodos y sus interrelaciones
Descripcin de la arquitectura
Vista de la arquitectura del modelo de diseo Descomposicin del modelo en subsistemas
www.kybele.es
Actividades
Diseo de la arquitectura
Identificar nodos y configuracin Identificar subsistemas y clases
Arquitecto Ingeniero de CU
Identificar clases de diseo y subsistemas Distribuir comportamiento del caso de uso Capturar requisitos de implementacin
Disear un subsistema
Ingeniera del Software de Gestin
Objetivos:
Planificar las integraciones de sistema necesarias en cada
iteracin Distribuir el sistema asignando componentes ejecutables a nodos en el diagrama de despliegue Implementar las clases y subsistemas encontrados durante el diseo Probar los componentes individualmente, integrarlos (compilndolos y enlazndolos en uno o ms ejecutables)
Ingeniera del Software de Gestin www.kybele.es
Artefactos de implementacin
Modelo de implementacin
Diagramas de componentes
Subsistemas de implementacin y sus dependencias Componentes (fichero y ejecutables) y sus dependencias Interfaces
Modelo de despliegue
Diagrama de despliegue Nodos
Descripcin de la arquitectura
Vista de la arquitectura del modelo de implementacin Asignacin de componentes ejecutables a nodos
Actividades
Implementacin de la arquitectura Arquitecto Integrar sistemas Integrador de sistemas
Ingeniero de Componentes
www.kybele.es
Artefactos de prueba
Modelo de pruebas Casos de prueba Procedimientos de prueba Componentes de prueba Plan de prueba Defectos Evaluacin de la prueba
www.kybele.es
Actividades
Planificar prueba Disear prueba
Describir casos de prueba de cada construccin Identificar y estructurar los procedimientos de prueba
de integracin Realizar prueba de sistema Diseador de pruebas Evaluar prueba Diseador de pruebas
Ingeniera del Software de Gestin www.kybele.es
FASES
Workflow
Requisitos
Anlisis
Elaboracin
Construccin Verificacin
Transicin
www.kybele.es
negocio
Actividades:
1. Delimitar el mbito (interfaces con otros sistemas) 2. Proponer una arquitectura especialmente en lo nuevo,
arriesgado o difcil (expresada en funcin de algunos modelos) 3. Identificar riesgos crticos (los que afecten a la viabilidad) 4. Demostrar a usuarios y clientes un prototipo (exploratorio)
Ingeniera del Software de Gestin www.kybele.es
Actividades:
1. 2. 3. 4. 5.
Lnea base de la arquitectura. Consiste en: modelos, descripcin de la arquitectura e implementacin ejecutable de la arquitectura. Identificacin de riesgos que pueden perturbar los planes y costes posteriores. Especificar niveles para los atributos de calidad: fiabilidad y tiempo de respuesta. Recopilar casos de uso para el 80% de los requisitos funcionales para planificar la fase de construccin. Planificacin: personal, coste.
www.kybele.es
Actividades:
1. Terminar la identificacin, descripcin y realizacin
de todos los casos de uso. 2. Finalizar el anlisis, el diseo la implementacin y pruebas. 3. Mantener la integridad de la arquitectura. 4. Monitorizar los riesgos crticos
Ingeniera del Software de Gestin www.kybele.es
Producto final
Actividades:
1. 2. 3. 4. 5.
Preparar las actividades, por ejemplo, el lugar Aconsejar sobre el entorno de funcionamiento Manuales y documentos para la entrega Ajustar el software al entorno del usuario Corregir los defectos detectados en la versin beta
Lecciones aprendidas Asuntos tiles para la versin siguiente
www.kybele.es
Incluye
Planificacin Flujos de trabajo fundamentales
Requisitos Anlisis Diseo Implementacin Pruebas
Evaluacin
Establecer:
Asignaciones de tiempo y fecha de entrega por cada
fase (inestable hasta fin de elaboracin) Hitos principales y criterios de aceptacin Iteraciones por fase y qu se realiza en ellas Depende de la complejidad del sistema Plan de proyecto:
Fechas y criterios de objetivos principales Divisin de fases en iteraciones
Se define:
Planificacin de la Iteracin: cunto tiempo, fecha de
terminacin, etc. Contenido de la Iteracin: ya est esbozado en el plan del proyecto pero al comenzar cada iteracin se debe detallar:
Casos de uso Riesgos tcnicos que se deben identificar en forma de casos de uso Cambios que han sufrido los requisitos o defectos encontrados Subsistemas que se deben implementar Personal
El plan de la iteracin siguiente se va detallando. El nmero de iteraciones de cada fase esta determinado por la complejidad del sistema.
Antes de cada iteracin se han de planificar los criterios de evaluacin para establecer la satisfaccin de los objetivos de cada iteracin (medidos u observados):
Requisitos funcionales en casos de uso Requisitos no funcionales de esos requisitos funcionales Requisitos no funcionales sueltos
Requisitos verificables (pruebas) Requisitos generales (prototipo) Productos intermedios para determinar el progreso del trabajo Al final de cada iteracin se realiza la evaluacin de la misma de acuerdo a los criterios inicialmente establecidos
www.kybele.es
calidad, resultados de las pruebas Reconsiderar el plan de la siguiente iteracin Modificar el proceso Evaluar y modificar criterios
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
www.kybele.es
www.kybele.es
Bibliografa
The unified software development process. Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999
El proceso unificado de desarrollo. Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999
www.kybele.es