1 INGENIERÍA DE SOFTWARE Rational Unified Process RUP Rubby Casallas Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes Referencias 2 http://www.rational.com/ http://www-306.ibm.com/software/awdtools/rup/ The Rational Unified Process: An Introduction. Philippe Kruchten. Addison-Wesley Professional; 2 edition (March 14, 2000) Agenda 3 Introducción Principio 1: Iterativo e incremental Disciplinas y Actividades Principio 2: Guiado por los casos de uso Principio 3: Centrado en la arquitectura Introducción: Principios 4 Principio 1: Iterativo e incremental Principio 2: Guiado por los casos de uso Principio 3: Centrado en la arquitectura Introducción: Principios (cont.) 5 Precisa artefactos entregables concretos, basados en UML Define roles precisa quienes intervienen en las actividades Introducción: Ciclo de Vida Global 6 Varios ciclos: cada uno termina con un producto utilizable (POR ESTO ES INCREMENTAL PRINCIPIO 1) 4 Fases: termina con un hito donde se debe tomar una decisión importante Varias Iteraciones: cada una termina con el cumplimiento de un objetivo preciso que puede ser: La producción de un prototipo para validar con el usuario El refinamiento de un caso de uso La mitigación de un riesgo POR ESTO ES ITERATIVO Agenda 7 Introducción Principio 1: Iterativo e incremental Disciplinas y Actividades Principio 2: Guiado por los casos de uso Principio 3: Centrado en la arquitectura PRINCIPIO 1: Incremental e Iterativo 8 Es incremental porque en cada ciclo se agrega un incremento que es un conjunto de casos de uso. Es iterativo porque cada fase se realiza en varias iteraciones cada una con un objetivo definido. Un Ciclo 9 INICIO ELABORACION CONSTRUCCION TRANSICION Cuatro grandes fases. Al final del ciclo debe haber un producto funcionando que satisface un conjunto de casos de uso Propósito de las fases 10 INICIO ELABORACION CONSTRUCCION TRANSICION Definir los objetivos del cicIo Definir la arquitectura del producto Desarrollar el producto Liberar el producto Propósito de las fases 11 INICIO ELABORACION CONSTRUCCION TRANSICION Definir los objetivos del cicIo Definir la arquitectura del producto Desarrollar el producto Para lograr el propósito de cada fase se pueden realizar varias iteraciones. Liberar el producto Una Iteración 12 Conformada por un conjunto de actividades clasificadas en nueve disciplinas: Disciplinas de ingeniería: 1. Disciplina de modelaje del negocio 2. Disciplina de requerimientos 3. Disciplina de análisis y diseño 4. Disciplina de implementación 5. Disciplina de pruebas 6. Disciplina de despliegue Disciplinas de soporte: 7. Disciplina de administración de la configuración y control de cambios 8. Disciplina de administración de proyectos 9. Disciplina de entorno y soporte del ambiente de desarrollo Una Iteración (cont.) 13 Las disciplinas de ingeniería siguen un modelo en cascada Business Modeling Requirements Analysis & Design Implementation Test Deploy Una Iteración (cont.) 14 Las disciplinas de soporte se realizan a lo largo de toda la iteración Business Modeling Requirements Analysis & Design Implementation Test Deploy Entorno y Soporte Administration de Configuración y Cambios Administration del Proyecto Una Iteración (cont.) 15 Business Modeling Requirements Analysis & Design Implementation Dependiendo de la fase se hace más o menos énfasis en la disciplina Test Deploy Iteraciones en la fase de Inicio 16 Business Modeling Requirements Analysis & Design Implementation Se hace un plan de fases Se identifican los principales casos de uso Se identifican los riesgos Test Deploy Iteraciones en la fase de Elaboración 17 Business Modeling Requirements Analysis & Design Implementation Se hace un plan de proyecto Se completan los casos de uso Se eliminan los riesgos Test Deploy Iteraciones en la fase de Construcción 18 Business Modeling Requirements Analysis & Design Implementation Test Se elabora un producto totalmente operativo y eficiente Se escribe el manual de usuario Deploy Iteraciones en la fase de Transición 19 Business Modeling Requirements Analysis & Design Implementation Test Se implanta el producto en el sitio del cliente Se entrena a los usuarios. Deploy Iteraciones (cont.) 20 Cada iteración comprende: Planificar la iteración Estudio de riesgos Análisis de los casos de uso y escenarios Diseño de opciones arquitectónicas Codificación y pruebas Evaluación de la entrega ejecutable Preparación de la entrega El famoso diagrama RUP 21 CYCLE Agenda 22 Introducción Principio 1: Iterativo e incremental Disciplinas y Actividades Principio 2: Guiado por los casos de uso Principio 3: Centrado en la arquitectura Disciplinas y Actividades 23 Cada disciplina puede tener asociada varias actividades (Steps) Cada actividad se describe como un flujo de trabajo (Workflow) Cada flujo de trabajo describe: el qué: los entregables o artefactos el cómo: las tareas el quién: los roles Anexo: Disciplinas y actividades Ejemplo de un flujo de trabajo 24 Se expresa en un diagrama de actividades UML Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html Ejemplo de un flujo de trabajo 25 Se expresa en un diagrama de actividades UML Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html Ejemplo de un flujo de trabajo detallado 26 Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html Ejemplo de un flujo de trabajo detallado 27 Artefactos Roles Tareas Roles 28 Analyst Business-Process Analyst Business Designer Business-Model Reviewer Requirements Reviewer System Analyst Use-Case Specifier User-Interface Designer Developer Architect Architecture Reviewer Capsule Designer Code Reviewer Database Designer Design Reviewer Designer Implementer Integrator Roles (cont.) 29 Testing professional Test Designer Tester Manager Change Control Manager Configuration Manager Process Engineer Deployment Manager Project Manager Project Reviewer Other Course Developer Graphic Artist Stakeholder System Administrator Technical Writer Tool Specialist Artefactos 30 Resultado parcial o final que es producido y utilizado durante el proyecto. Entradas y salidas de las actividades Puede ser un documento, un modelo o un elemento de modelo Artefactos (cont.) 31 Conjuntos de Artefactos Business Modeling Requirements Analysis & Design Implementation Test Deployment Project Management Configuration & Change Management Environment 32 Ejemplo: Artefactos de la disciplina de modelaje del negocio Agenda 33 Introducción Principio 1: Iterativo e incremental Disciplinas y Actividades Principio 2: Guiado por los casos de uso Principio 3: Centrado en la arquitectura PRINCIPIO 2: Guiado por los casos de uso 34 Iteraciones y Casos de Uso Fases y Casos de Uso Roles y Casos de Uso Rastreabilidad de los Casos de Uso 35 Business Modeling Requirements Analysis & Design Implementation Test Deploy Fases y Casos de Uso 36 Roles y Casos de Uso 37 Rastreabilidad de los Casos de Uso 38 «trace» Caso de Uso «trace» Realización de Análisis Realización de Diseño «trace» «trace» Pruebas Unitarias Pruebas Funcionales X Caso de Prueba [The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley] Agenda 39 Introducción Principio 1: Iterativo e incremental Disciplinas y Actividades Principio 2: Guiado por los casos de uso Principio 3: Centrado en la arquitectura PRINCIPIO 3: Centrado en la arquitectura 40 Arquitectura de un sistema es la organización o estructura de sus partes más relevantes Un arquitectura ejecutable es una implementación parcial del sistema, construida para demostrar algunas funciones y propiedades RUP enfatiza la definición de una arquitectura básica desde las primeras iteraciones La arquitectura evoluciona en cada iteración Se van capturando restricciones de la arquitectura a medida que se avanza Gradualmente se van identificando los componentes y su reutilización PRINCIPIO 3: Centrado en la arquitectura (cont.) 41 La definición de la arquitectura no es un proceso prescriptivo Existe un conjunto de guías Hay extensiones de RUP para tipos de aplicaciones específicos como por ejemplo J2EE La Arquitectura y las Fases 42 RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo Inception Elaboration Construction Architecture Transition Proceso para definir una arquitectura 43 Tomado de:http://www.enterpriseunifiedprocess.com/essays/enterpriseArchitecture.html 44 45 Anexo: Disciplinas y actividades 46 Tomado de: www.x-tier.com/public/RUPUPIn10EasySteps.doc Process Disciplines Business Modeling 47 (Business Understanding) Requirements (User/System Requirements Gathering) Steps Human Actions Artifacts Produced* 1. 2. For initial iteration, ELICIT Business Rules, Business Needs, Business Understanding ; for all subsequent x iterations DETAIL Business Rules, Needs, Understanding For initial iteration, IDENTIFY all significant Business Use-Cases, Specifications, Models, Rules, Vision, and Architecture; for all subsequent x iterations DETAIL Business Use-Cases, Specifications, Models, Rules, Vision, Architecture Target Organizational Assessment Document, Business Glossary Document, Business Rules Document, Business UseCase Model, Business Vision, Object Model, Business Architecture Document, Supplementary Business Specification, Business Glossary 3. 4. 5. For initial iteration, ELICIT Requirements (Requests), & Rules; for all subsequent x iterations DETAIL Requirements (Requests), & Rules. For initial iteration, IDENTIFY all significant Use-Cases and classify by risk; for all subsequent x iterations DETAIL Use-Cases (high risk Usecases first), Specifications, Models, Realizations to match all lower-level Analysis Classes and Analysis Diagrams and higherlevel Business Rules, & Requests. PRIORITIZE or REPRIORITIZE USE-CASES by RISK. Stakeholder Requests Requirements Management Plan, Supplementary Specification, Use-Case Specification, Use-Case Model, Glossary, Software Requirements Specification, Storyboard, Use-Case Package Diagrams, User Interface Prototype Process Disciplines Analysis & Design 48 (Behavioral & Structural Modeling) Steps 6. 7. 8. 9. Human Actions Artifacts Produced* For initial iteration, CREATE Collaboration Diagrams, Analysis Classes, Analysis Packages, Charts, Realizations, Definitions, & Analysis Models; for all subsequent x iterations DETAIL Collaboration Diagrams, Analysis Classes, Analysis Packages, Charts, Realizations, Definitions, & Analysis Models to match all lower-level Design Class Diagrams and higherlevel Use-Case Models. For initial iteration, CREATE Sequence Diagrams, Analysis Classes, Analysis Packages, Charts, Realizations, Definitions, & Analysis Models; for all subsequent x iterations DETAIL Sequence Diagrams, Classes, Packages, Charts, Realizations, Definitions, & Models to match all lower-level Design Class Diagrams and higherlevel Use-Case Models. For initial iteration, CREATE Design Classes & Class Diagrams; for all subsequent x iterations ns DETAIL Design Classes & Class Diagrams to match all higher-level Analysis Classes, Diagrams, & Models. For initial iteration, CREATE Data Models; for all subsequent x iterations DETAIL Data Models. Communication Diagrams, Object Diagrams, Sequence Diagrams, State Charts, Activity Diagrams, Package Diagrams, Class Diagrams, Software Architecture Document, Deployment Model, Analysis Model, Design Model, Proof-ofConcept Prototype, UseCase Realizations, Design Packages, Subsystem Design Packages, Design Classes, Unit Test Classes, Analysis Classes, Data Models, Data Definitions Process Disciplines 49 Steps Human Actions Artifacts Produced* Implementation (Process Modeling) 10. For initial iteration, CREATE Component Diagrams & Models; for all subsequent x iterations DETAIL Component Diagrams & Models to reflect any changes to Design Classes, Diagrams, & Models. Implementation Model, Component Diagrams Test (Quality Assurance) 11. For initial iteration, CREATE Class Diagrams, Logs, Lists, Components, Classes & Architecture; for all subsequent x iterations DETAIL Class Diagrams, Logs, Lists, Components, Classes & Architecture. Test Cases, Test Classes, Test Plan, Test Evaluation Summary, Test Scripts, Test Ideas List, Workload Analysis Model, Test Data, Test Results, Test Log, Test Guidelines, Test Classes, Test Components, Test Interface Specification, Test Automation Architecture, Test Environment Configuration Process Disciplines Deployment 50 (Environmental Modeling) Steps 12. 13. Human Actions Artifacts Produced* For initial iteration, CREATE Deployment Diagrams, Builds, Instructions, Plans, Notes, Releases; for all subsequent x iterations DETAIL Deployment Diagrams, Builds, Instructions, Plans, Notes, Releases. For initial iteration, CREATE Component Diagrams, Builds, Instructions, Plans, Notes, Releases; for all subsequent x iterations DETAIL Component Diagrams, Builds, Instructions, Plans, Notes, Releases. Deployment Diagrams, Alpha Software Build Releases, Beta Software Build Releases, Versioned Software Build Releases, Release Notes, Deployment Plan, Bill of Materials, Installation Instructions, End-User Support Material, Training Materials, Artwork Process Disciplines Steps Human Actions Artifacts Produced* Change Management (Risk & Capacity Planning) 14. For initial iteration, CREATE Change Management Plan, Requests, Findings; for all subsequent x iterations DETAIL Change Management Plan, Requests, Findings. Change Management Plan, Change Request, Configuration Audit Findings Project Management (Resource & Time Management) 15. For initial iteration, CREATE Project Management & Iteration Plans, Lists, Records, Cases, Orders, Assessments; for all subsequent x iterations DETAIL Project Management & Iteration Plans, Lists, Records, Cases, Orders, Assessments. Project Plan, Iteration Plan, Business Case, Software Development Plan, Iteration Assessment, Status Assessment, Problem Resolution Plan, Risk Management Plan, Risk List, Work Orders, Product Acceptance Plan, Measurement Plan, Quality Assurance Plan, Issues List, Project Measurements, Review Records 51