Está en la página 1de 37

Proceso Unificado

Desarrollo

RUP
¿Qué es un Proceso de Desarrollo de SW?

 Define Quién debe hacer Qué, Cuándo y Cómo


debe hacerlo

Requisitos nuevos Sistema nuevo


o modificados o modificado
Proceso de Desarrollo
de Software

 No existe un proceso de software universal. Las


características de cada proyecto (equipo de
desarrollo, recursos, etc.) exigen que el proceso
sea configurable
Elementos de un Proceso SW

Actividades

Personas Herramientas

Proceso
SW

Artefactos Notación
Roles
Rational Unified Process (RUP)

Rational Unified Process • Pruebas funcionales


1998 • Pruebas de desempeño
• Gestión de requisitos
• Gestión de cambios y
configuración
• Ingeniería de Negocio
Rational Objectory Process • Ingeniería de datos
1996-1997
• Diseño de interfaces

Objectory Process UML


1987-1995

Enfoque Ericsson
Proceso Unificado desarrollo
 Problema es:
 Aparece respuesta demanda software complejo
 Mayoría gente desarrolla como hace 25 años
 Hipótesis Solución
 Buscar un marco de trabajo genérico
 Que se Aplique una variedad de proyecto
 Basado en componentes
 Conectados por interfaces
 Utiliza el UML
 Preparar esquemas del sistema
Proceso Unificado desarrollo

 El Proceso Unificado es un proceso de desarrollo de software:


“conjunto de actividades necesarias para transformar los requisitos
del usuario en un sistema software”.
 RUP es un marco genérico que puede especializarse para una
variedad de tipos de sistemas, diferentes áreas de aplicación, tipos
de organizaciones, niveles de aptitud y diferentes tamaños de
proyectos.
 RUP está basado en componentes. El sw esta formado por
componentes software interconectados a través de interfaces.
 RUP está dirigido por casos de uso, centrado en la
arquitectura, y es iterativo e incremental.
Ciclo de vida RUP, compuesto por:
Las 4 Fases e Hitos (Milestones)

Inception Elaboration Construction Transition

Objetivos Arquitectura Funcionalidad Versión


(Vision) del Producto

tiempo
Hitos compuesto por artefactos
Modelos, diseños, código y dctos.
Que se hace en cada Fase.

 Inicio
 Principales funciones del sistema
 Cómo podría ser arquitectura del sistema
 Plan de proyecto (costos, calendario, organización)
 Elaboración
 Especificar y detallar cada caso uso
 Diseño arquitectura (geográfica, redes, puestos)
 Vistas (casos uso, análisis, diseño, implementación y despliegue)
 Línea base del desarrollo (esquema)
 Construcción
 Creación del producto
 Línea base se aplica  Sistema completo
 Entrega producto despliegue
 Transición
 El producto se versiona
 Entra a operación
 Identifican defectos
 Versión estable
Distribución de Recursos por Fases en
RUP
Los flujos de trabajo en RUP

Workflows Primarios
1. Business Modeling (Modelado del
Negocio)
2. Requirements (Ingeniería de
Requisitos)
3. Analysis & Design (Análisis y Diseño)
4. Implementation (Implementación)
5. Test (Pruebas)
6. Deployment (Despliegue)
Workflows de Apoyo
1. Environment (Entorno)
2. Project Management (Gestión del
Proyecto)
3. Configuration & Change Management
(Gestión de Configuración y
Cambios)
Trabajadores, actividades y artefactos
RUP
Workflow (requerimientos)
Workflow Detail: Workers, Actividades y Artefactos.

Se parte requerimientos Contexto Análisis del problema


Flujos trabajo, disponibles?

Workers Artefactos
Actividades
... Los trabajadores y roles RUP
Trabajadores y roles 3. Profesional Pruebas
Test Designer
1. AnalIstas
 Business-Process Analyst Tester
 Business Designer
 Business-Model Reviewer 4. Administrador
 Requirements Reviewer Change Control Manager
 System Analyst Configuration Manager
 Use-Case Specifier Deployment Manager
 User-Interface Designer Process Engineer
2. Desarrolladores Project Manager
 Architect Project Reviewer
 Architecture Reviewer
 Capsule Designer 5. Otros
 Code Reviewer Any Worker
 Database Designer
Course Developer
 Design Reviewer
Graphic Artist
 Designer
Stakeholder
 Implementer
 Integrator
System Administrator
Technical Writer
Tool Specialist
Características Esenciales de RUP

1. Proceso Dirigido por los Casos de Uso


2. Proceso Iterativo e Incremental
3. Proceso Centrado en la Arquitectura
... Proceso dirigido por los Casos de Uso
 Un caso de uso es un fragmento de funcionalidad del
sistema que proporciona un resultado de valor a un
usuario. Los casos de uso modelan los requerimientos
funcionales del sistema.
 Todos los casos de uso juntos constituyen el modelo de
casos de uso.
 Los casos de uso también guían el proceso de
desarrollo (diseño, implementación, y prueba).
Basándose en los casos de uso los desarrolladores
crean una serie de modelos de diseño e implementación
que llevan a cabo los casos de uso.

[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
... Proceso dirigido por los Casos de Uso

«trace» «trace»

Caso de Uso 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, 1999]
Proceso Iterativo e Incremental
 El ciclo de vida iterativo se basa en la evolución de
prototipos ejecutables que se muestran a los
usuarios y clientes

 En el ciclo de vida iterativo a cada iteración se


reproduce el ciclo de vida en cascada a menor
escala

 Los objetivos de una iteración se establecen en


función de la evaluación de las iteraciones
precedentes
... Proceso Iterativo e Incremental
 Las actividades se encadenan en una mini-cascada con un
alcance limitado por los objetivos de la iteración
 Obtiene un componente cada vez

Análisis

Diseño

Codific.
n veces Pruebas e
Integración
Proceso Iterativo e Incremental

Enfoque
Secuencial
Cubre 1
Iteración

Enfoque
Iterativo e
Incremental
Inicio y fin
... Proceso Iterativo e Incremental
Grado de Finalización de Artefactos
Proceso 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 establece refinamientos sucesivos de una arquitectura


ejecutable, construida como un prototipo evolutivo
Inception Elaboration Construction Transition

Architecture
Mapa conceptual RUP (en síntesis)
Aspectos claves RUP

1. Personas
2. Proyectos
3. Productos
4. Procesos
Afectan personas

 Viabilidad del proyecto


 Gestión del riesgo
 Estructura de equipos
 Planificación proyecto
 Comprensión del proyecto
 Sensación éxito
Los trabajadores

 Concepto trabajador (RUP)


 Papel desempeñar proceso
 Un trabajador puede asumir distintos roles
 Analista, integrador, desarrollador, evaluador
Proyectos construyen producto
 Un proyecto da como resultado una versión del producto

 Secuencia de cambio

 Cada ciclo lleva una versión

 Cambio es continuo

 Cada iteración implementa casos uso

 Cada iteración pasa por flujos trabajo

 Iteración da lugar a: Mini-proyecto


Los Productos es más que código

 Sistema software
 Todos los artefactos que se necesitan para representarlo

 Comprensible

 Artefactos
 Ingeniería y de gestión

 Sistema contiene colección de modelos


 Modelo es una abstracción o representación

 Vista auto-contenida

 Mutuamente consistentes

 Modelos se relacionan entre sí


... PRODUCTOS

Artefactos
 Resultado parcial o final que es producido y usado

durante el proyecto. Son las entradas y salidas de las


actividades

 Un artefacto puede ser un documento, un modelo o


un elemento de modelo

 Conjuntos de Artefactos
 Business Modeling Set  Deployment Set
 Requirements Set  Project Management Set
 Analysis & Design Set  Configuration & Change Management Set
 Implementation Set  Environment Set

 Test Set
El proceso es una plantilla

 El RUP sirve como un template


 Instancia en proyectos

 Plantilla  esquema, estructura.

 Las actividades relacionadas forman


 Diagramas de actividades Swinlanes

 Flujos de trabajo

 No exiten?  diseñarlas

 Procesos especializados
 Ningún proceso sw aplicación universal

 Los contextos y situaciones son diferentes

 Naturaleza del proyecto distinta

 RUP es proceso genérico (adaptable)

 Se pueden eliminar artefactos y actores

 Experiencia: primero aplique RUP, luego personalice su proceso


Las herramientas esenciales proceso
 Soportan los procesos desarrollo
 Influyen en el proceso
 Aumentan productividad, reducen costos
 Permiten hacer cosas operativas y repetitivas
 Proceso dirige Tools
 Hay tener una visión clara proceso automatizar
 Incluir tools sencillas
 Fomentar la creatividad
 Gestionar información
 Equilibrio entre procesos y tools
 Utilizar herramientas en el momento adecuado
 Automatizar procesos
 El modelado Visual
 Desarrolladores trabajen correctamente
 UML, es un lenguaje de modelado
 UML, no define un proceso de desarrollo
 Las herramientas soporte ciclo de vida
 Gestión de requerimientos
 Modelado visual, entornos integrados
 Programación, editores
 ASQ.
UML está compuesto por los diagramas:
Área Vista Diagramas Conceptos Principales

Clase, asociación, generalización,


Vista Estática Diagrama de Clases
dependencia, realización, interfaz.

Caso de Uso, Actor, asociación,


Vista de Casos de Uso Diagramas de Casos de Uso
extensión, generalización.
Estructural
Componente, interfaz, dependencia,
Vista de Implementación Diagramas de Componentes
relaización.

Nodo, componente, dependencia,


Vista de Despliegue Diagramas de Despliegue
localización.

Vista de Estados de máquina Diagramas de Estados Estado, evento, transición, acción.

Estado, actividad, transición,


Vista de actividad Diagramas de Actividad
determinación, división, unión.
Dinámica
Interacción, objeto, mensaje,
Diagramas de Secuencia
activación.
Vista de interacción
Colaboración, interacción, rol de
Diagramas de Colaboración
colaboración, mensaje.

Administración o Gestión Vista de Gestión de modelo Diagramas de Clases Paquete, subsistema, modelo.
de modelo
Restricción, estereotipo, valores,
Extensión de UML Todas Todos
etiquetados.
Modelo Proceso negocio

1. Tiene un objetivo
2. Tiene entradas específicas
3. Tiene salidas específicas
4. Emplea recursos
5. Tiene un número de actividades que se
llevan a cabo en algún orden
6. Puede afectar más de una unidad
organizacional. Impacto organizacional
horizontal
7. Crea valores de algún tipo para el
cliente. El cliente puede ser interno o
externo.
Los diagramas de secuencia

 Se usan para mostrar la interacción entre los usuarios, las pantallas y las instancias de los
objetos en el sistema. Proveen un mapa secuencial del paso de los mensajes entre los
objetos a lo largo del tiempo.
Diagrama de actividad
Modelo clases

La herencia mostrada a continuación consiste en:


una clase abstracta en este caso, es el padre de dos
clases hijos, las cuales heredan las características y
extienden sus comportamientos. Las clases se pueden agrupar en unidades lógicas o paquetes.
Modelo despliegue
Diagrama de implementación
 Representa una funcionalidad. Un diagrama de
implementación se asocia típicamente con un caso
de uso implementará la funcionalidad del Caso de
Uso en el nuevo sistema

También podría gustarte