Ingeniería de Softwareisis2603/... · 2011-01-12 · 1 INGENIERÍA DE SOFTWARE Rational Unified...
Transcript of Ingeniería de Softwareisis2603/... · 2011-01-12 · 1 INGENIERÍA DE SOFTWARE Rational Unified...
1
INGENIERÍA DE SOFTWARERational Unified Process RUP
Rubby Casallas
Departamento de Sistemas y Computación
Facultad de Ingeniería
Universidad de los Andes
2
Referencias
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)
3
Agenda
Introducción
Principio 1: Iterativo e incremental
Disciplinas y Actividades
Principio 2: Guiado por los casos de uso
Principio 3: Centrado en la arquitectura
4
Introducción: Principios
Principio 1: Iterativo e incremental
Principio 2: Guiado por los casos de uso
Principio 3: Centrado en la arquitectura
5
Introducción: Principios (cont.)
Precisa artefactos
entregables concretos, basados en UML
Define roles
precisa quienes intervienen en las actividades
6
Introducción: Ciclo de Vida Global
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
7
Agenda
Introducción
Principio 1: Iterativo e incremental
Disciplinas y Actividades
Principio 2: Guiado por los casos de uso
Principio 3: Centrado en la arquitectura
8
PRINCIPIO 1: Incremental e Iterativo
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.
9
Un Ciclo
ELABORACION CONSTRUCCION TRANSICIONINICIO
Cuatro grandes fases.
Al final del ciclo debe haber un producto
funcionando que satisface un conjunto de casos
de uso
10
Propósito de las fases
ELABORACION CONSTRUCCION TRANSICIONINICIO
Definir los
objetivos del
cicIo
Definir la
arquitectura del
productoDesarrollar el
producto
Liberar el
producto
11
Propósito de las fases
ELABORACION CONSTRUCCION TRANSICIONINICIO
Definir los
objetivos del
cicIo
Definir la
arquitectura del
productoDesarrollar el
producto
Liberar el
productoPara lograr el propósito de cada fase se
pueden realizar varias iteraciones.
12
Una Iteración
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
13
Las disciplinas de ingeniería siguen un modelo en cascada
Una Iteración (cont.)
Business
Modeling
Requirements
Analysis &
Design
Implementation
Test
Deploy
14
Una Iteración (cont.)
Las disciplinas de soporte se realizan a lo largo de
toda la iteración
Business
Modeling
Requirements
Analysis &
Design
Implementation
Test
Deploy
Administration de Configuración y Cambios
Entorno y Soporte
Administration del Proyecto
15
Una Iteración (cont.)
Business
Modeling
Requirements
Analysis &
Design
Implementation
Test
Deploy
Dependiendo de la fase se
hace más o menos énfasis
en la disciplina
16
Iteraciones en la fase de Inicio
Business
Modeling
Requirements
Analysis &
Design
Implementation
Test
Deploy
Se hace un plan de fases
Se identifican los principales
casos de uso
Se identifican los riesgos
17
Iteraciones en la fase de Elaboración
Business
Modeling
Requirements
Analysis &
Design
Implementation
Test
Deploy
Se hace un plan de proyecto
Se completan los casos de uso
Se eliminan los riesgos
18
Iteraciones en la fase de Construcción
Business
Modeling
Requirements
Analysis &
Design
Implementation
Test
Deploy
Se elabora un producto totalmente operativo y eficiente
Se escribe el manual de usuario
19
Iteraciones en la fase de Transición
Business
Modeling
Requirements
Analysis &
Design
Implementation
Test
DeploySe implanta el producto en el sitio del cliente
Se entrena a los usuarios.
20
Iteraciones (cont.)
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
21
El famoso diagrama RUP
CYCLE
22
Agenda
Introducción
Principio 1: Iterativo e incremental
Disciplinas y Actividades
Principio 2: Guiado por los casos de uso
Principio 3: Centrado en la arquitectura
23
Disciplinas y Actividades
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
24
Ejemplo de un flujo de trabajo
Se expresa en un diagrama
de actividades UML
Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html
25
Ejemplo de un flujo de trabajo
Se expresa en un diagrama
de actividades UML
Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html
26
Ejemplo de un flujo de trabajo
detallado
Tomado de: http://www-128.ibm.com/developerworks/rational/library/5383.html
27
Ejemplo de un flujo de trabajo
detallado
Roles
Tareas
Artefactos
28
Roles
Developer
Architect
Architecture Reviewer
Capsule Designer
Code Reviewer
Database Designer
Design Reviewer
Designer
Implementer
Integrator
Analyst
Business-Process Analyst
Business Designer
Business-Model Reviewer
Requirements Reviewer
System Analyst
Use-Case Specifier
User-Interface Designer
29
Roles (cont.)
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
30
Artefactos
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
31
Artefactos (cont.)
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
33
Agenda
Introducción
Principio 1: Iterativo e incremental
Disciplinas y Actividades
Principio 2: Guiado por los casos de uso
Principio 3: Centrado en la arquitectura
34
PRINCIPIO 2: Guiado por los casos de uso
Iteraciones y Casos de Uso
Fases y Casos de Uso
Roles y Casos de Uso
Rastreabilidad de los Casos de Uso
35Business
Modeling
Requirements
Analysis &
Design
Implementation
Test
Deploy
36
Fases y Casos de Uso
37
Roles y Casos de Uso
Tomado de: http://www.dcs.ed.ac.uk/teaching/cs2/online/Lectures/CS2Ah/SoftEng/se02-slides.PDF
38
Caso de Uso Realización de Análisis Realización de Diseño
Caso de Prueba
X
«trace» «trace»
«trace»«trace»
Pruebas Funcionales
PruebasUnitarias
Rastreabilidad de los Casos de Uso
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley]
39
Agenda
Introducción
Principio 1: Iterativo e incremental
Disciplinas y Actividades
Principio 2: Guiado por los casos de uso
Principio 3: Centrado en la arquitectura
40
PRINCIPIO 3: Centrado en la
arquitectura
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
41
PRINCIPIO 3: Centrado en la
arquitectura (cont.)
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
42
La Arquitectura y las Fases
RUP establece refinamientos sucesivos de una
arquitectura ejecutable, construida como un prototipo
evolutivo
Architecture
Inception Elaboration Construction Transition
43
Tomado de:http://www.enterpriseunifiedprocess.com/essays/enterpriseArchitecture.html
Proceso para definir una arquitectura
44
45
46
Anexo: Disciplinas y actividades
Tomado de:
www.x-tier.com/public/RUPUPIn10EasySteps.doc
47
Process Disciplines Steps Human Actions Artifacts Produced*
Business Modeling
(Business Understanding)
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 Use-
Case Model, Business Vision,
Object Model, Business
Architecture Document,
Supplementary Business
Specification, Business
Glossary
Requirements
(User/System
Requirements
Gathering)
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 Use-
cases first), Specifications, Models,
Realizations to match all lower-level Analysis
Classes and Analysis Diagrams and higher-
level 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
48
Process Disciplines Steps Human Actions Artifacts Produced*
Analysis & Design
(Behavioral & Structural
Modeling)
6.
7.
8.
9.
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 higher-
level 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 higher-
level 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-of-
Concept Prototype, Use-
Case Realizations, Design
Packages, Subsystem
Design Packages, Design
Classes, Unit Test Classes,
Analysis Classes, Data
Models, Data Definitions
49
Process Disciplines 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
50
Process Disciplines Steps Human Actions Artifacts Produced*
Deployment
(Environmental Modeling)
12.
13.
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
51
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