TEMA 4.
Proceso Unificado de
Desarrollo de Software RUP
Ing. Marisol Ingrid Muriel Almanza
I. Introducción: Modelado de SW
Construcción de una casa para “fido”
Puede hacerlo una sola persona
Requiere:
Modelado mínimo
Proceso simple
Herramientas simples
I. Introducción: Modelado de SWI
Construcción de una casa
Construida eficientemente y en un tiempo
razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas más sofisticadas
I. Introducción: Modelado de SI
Construcción de un rascacielos
I. Introducción: Modelado de SWI
Claves en Desarrollo de SI
Notación
Herramientas Proceso
Ingeniería de Software
Definición según Fritz Bauer [PRE93] :
“ El establecimiento y uso de principios de
ingeniería robustos, orientados a obtener
software económico que sea fiable y funcione de
manera eficiente sobre máquinas reales.”
Ingeniería de Software
PRINCIPIOS Y METODOS ROBUSTOS
• METODOS
• HERRAMIENTAS
• LINEAMIENTOS
Enfoques al problema del
análisis y diseño de sistemas
• Enfoque estructurado:
Orientado a flujos de datos y funciones.
•Enfoque orientado a objetos:
Orientado a conceptos u objetos y
relaciones entre estos.
Rational Unified Process
RUP es una propuesta de proceso para el
desarrollo de software orientado a objeto
que utiliza UML para describir un sistema
¿UML?
Rational Software Corporation, 1998
Unified Modeling Language
UML
Booch, Rational Software
Rumbaugh Corporation.
Jacobson (1995)
Las Bases de UML
JAMES Object Modelling Technique 1991
RUMBAUGH (OMT)
GRADY Object Oriented Design with
BOOCH Applications 1991
IVAR Object Oriented Software
JACOBSON Engineering: A Use Case Driven
Approach 1992 (OOSE)
UML no es un método
El UML es un lenguaje que permite la modelación
de sistemas con tecnología orientada a objetos
Aprobado como estándar por OMG en
noviembre de 1997
Modelos Gráficos del UML
Casos de Uso y Diagramas de Casos de Uso
Casos de uso
Diagrama de casos de uso
Modelos Gráficos del UML
Diagramas de estructura estática
Diagrama de clases
Diagrama de Objetos
Modelos Gráficos del UML
Diagramas del comportamiento
Diagramas de Transición de estado
Diagramas de Actividad
Diagramas de Secuencia
Diagrama de Colaboración
Diagrama de Secuencia Diagrama de Colaboración
Modelos Gráficos del UML
Diagramas de implementación
Diagramas de componentes
Diagramas de instalación/Distribución
(Despliegue)
Diagrama de componentes
II. Breve Tour por UML
Diagramas de UML
Los diagramas expresan gráficamente partes de un modelo
State
State
Diagrams
Use Case Diagramas
Diagrams de
Use Case
Diagrams Clases State
Use Case Diagramas
Diagrams de State
Diagrams
Diagramas
Use Case
Diagrams
Diagramas Casos de Uso Diagrams de
Diagrams de Objetos
Secuencia
Scenario State
Scenario
Diagrams State
Diagrams
Diagramas
Diagrams de Diagramas
Diagrams de
Colaboración Modelo Componentes
Scenario Component
Scenario Component
Diagrams
Diagramas
Diagrams
Diagramas
Diagrams de Diagrams de
Estados Distribución
Diagramas de
Actividad
Proceso de desarrollo de software
¿Qué es?
Es el conjunto de actividades necesarias para
transformar los requisitos de un usuario en un
sistema de software.
Requisitos Sistema
del usuario Proceso de
software
desarrollo de
software
IV. Proceso de Desarrollo de SW basado en UML
Dos Dimensiones
IV. Proceso de Desarrollo de SW basado en UML
Fases e Hitos (Milestones)
Inicio Elaboración Construcción Transición
Objetivos Arquitectura Capacidad Liberación
(Visión) Operacional del Producto
Inicial
tiempo
IV. Proceso de Desarrollo de SW basado en UML
Elementos en RUP
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
IV. Proceso de Desarrollo de SW basado en UML
Características Esenciales de
RUP
▷ Proceso Dirigido por los Casos de Uso
▷ Proceso Iterativo e Incremental
▷ Proceso Centrado en la Arquitectura
IV. Proceso de Desarrollo de SW basado en UML
Proceso dirigido por los Casos de Uso
Capturar, definir y
Requisitos
validar los casos de uso
Análisis & Diseño Casos de Uso
Realizar los
integran el
casos de uso
Implementación trabajo
Verificar que se
Pruebas satisfacen los casos
de uso
IV. Proceso de Desarrollo de SW basado en UML
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]
IV. Proceso de Desarrollo de SW basado en UML
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
IV. Proceso de Desarrollo de SW basado en UML
Proceso Iterativo e Incremental
Las actividades se encadenan en una
mini-cascada con un alcance limitado por
los objetivos de la iteración
Análisis
Diseño
Codific.
n veces Pruebas e
Integración
IV. Proceso de Desarrollo de SW basado en UML
Proceso Iterativo e Incremental
Enfoque
Cascada
Enfoque
Iterativo e
Incremental
IV. Proceso de Desarrollo de SW basado en UML
Proceso Iterativo e Incremental
Grado de Finalización de Artefactos
Beneficios de la iteración
• Reduce el coste del riesgo al coste de un solo
incremento.
• Menos riesgo de no sacar el producto al mercado
en fecha.
• Acelera el ritmo de desarrollo.
• Las necesidades del usuario y correspondientes
requisitos no pueden definirse completamente al
principio. Se requieren iteraciones sucesivas.
Centrado en la arquitectura
En la construcción,
vista de:
A) Estructura.
B) Calefacción.
C) Plomería.
D) Electricidad.
Estáticos
Aspectos
Dinámicos
IV. Proceso de Desarrollo de SW basado en UML
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
GRACIAS POR SU
ATENCION