Está en la página 1de 37

UML y RUP

ndice
Conceptos
Lenguajes de modelado: UML
Metodologas:
Metodologas RUP
Componentes bsicos

RUP. Tcnicas y su aplicacin a la gestin de


proyectos software orientados a objeto.
UML. Diagramas, elementos notacionales y
semntica de los modelos generados.
Modelado con UML
Qu es UML?

El UML modela sistema mediante el uso de objetos que


forman parte de l as como, las relaciones estticas o
dinmicas que existen entre ellos.
UML puede ser utilizado por cualquier metodologa de
anlisis y diseo orientada por objetos para expresar los
diseos.
Qu es UML?

UML es un Lenguaje de Modelado Unificado basado en


una notacin grfica la cual permite: especificar,
construir, visualizar y documentar los objetos de un
sistema programado.
Este lenguaje es el resultado de la unificacin de los
mtodos de modelado orientados a objetos de Booch,
Rumbaugh (OMT: Object Modeling Technique) y
Jacobson (OOSE: Object-Oriented Sotfware
Engineering).
UML
UML es un lenguaje de modelado que sirve para
visualizar, especificar , construir y documentar un
sistema software.
Lenguaje de modelado:
Lenguaje cuyo vocabulario y reglas se centran en la
representacin conceptual y fsica de un sistema (Booch,
Jacobson y Rumbaugh).
UML para visualizar

Smbolos con semntica bien definida.


UML transciende al lenguaje de programacin.
Modelo explcito, que facilita la comunicacin.
UML para especificar
Especificar es equivalente a construir modelos que
cumplan las condiciones de no ambigedad y
completitud.
UML cubre la especificacin del anlisis, diseo e
implementacin de un sistema software.
UML para construir

Es posible hacer Ingeniera Directa


corresponder
con los lenguajes Modelo
de programacin UML CDIGO
(Java, C#,
B.Datos, etc.). Ingeniera Inversa
UML para documentar
UML cubre la documentacin de un sistema:
Requisitos
Arquitectura
Diseo
Cdigo fuente
Planificacin
Pruebas
Prototipos
Versiones
UML aglutina enfoques OO

Rumbaugh
Booch Jacobson

Odell
Meyer
Pre- and Post-conditions

Shlaer-Mellor UML
Object life cycles
Harel
State Charts
Gamma et. al.
Frameworks, patterns,
notes
Embly Wirfs-Brock
Singleton classes Responsabilities
Fusion
Operation descriptions,
message numbering
Historia de UML
2001 UML 2.0

2000 UML 1.4


1999 UML 1.3
Revisiones menores
1998
UML 1.2
Nov 97 UML aprobado por el OMG
Actualizaciones de UML

UML 1.3 es una versin madura de UML a la que se le han


aadido una serie de pequeas revisiones, las cuales
corrigen o mejoran la especificacin base (UML 1.2).
UML 1.4 incorpora ciertas modificaciones sobre el estndar
en base a los comentarios recogidos de los usuarios finales
y de los fabricantes de software compatible con UML.
UML 2.0 promete la puesta a punto del estndar para
poder integrarse con el desarrollo basado en componentes
que demanda el mercado.
UML 2.0
Arquitectura: refinamiento del ncleo del estndar para que est en
consonancia con el resto de estndares del mercado.
Personalizacin: mejora de los mecanismos de extensibilidad y
personalizacin.
Componentes: mejor soporte para el desarrollo basado en
componentes (CORBA, EJB, COM+).
Mecanismos generales: nuevos mecanimos para el control de las
versiones dentro del modelo, as como el intercambio de los
metadatos del mismo con XMI (XML Metadad Interchange).
Modelos y Diagramas

Un proceso de desarrollo de software debe ofrecer un conjunto de


modelos que permitan expresar el producto desde cada una de las
perspectivas de inters
El cdigo fuente del sistema es el modelo ms detallado del sistema
(y adems es ejecutable). Sin embargo, se requieren otros modelos
...
Cada modelo es completo desde su punto de vista del sistema, sin
embargo, existen relaciones de trazabilidad entre los diferentes
modelos
Modelos y Diagramas

Modelo: captura una vista de un sistema del mundo real. Es una


abstraccin de dicho sistema, considerando un cierto propsito.
Diagrama: representacin grfica de una coleccin de elementos
de modelado, a menudo dibujada como un grafo con vrtices
conectados por arcos.
Organizacin de Modelos

Vista de
Vista de Diseo Implementacin
Vista de los
Casos de Uso

Vista de Vista de
Procesos Despliegue
Diagramas de UML
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Secuencia

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboracin Modelo Componentes

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Distribucin
Estados Diagramas de
Actividad
Mecanismos comunes en UML

Especificaciones. Es ms que un lenguaje grfico


(semntica detrs de la notacin).
Adornos. Detalles sobre un clase, nivel de acceso
de sus mtodos, notas.
Divisiones Comunes: Clase/Objecto o
Interfaz/Implementacin.
Extensibilidad. Estereotipos, valores etiquetados
o restricciones.
Mecanismos comunes en UML

{orderById}

utility
Producto
-Paginas : int
+Insert() IDataManaged
+Update()
+Delete()
#GetNumPaginas() : int

utility utility
p1 : Producto p2 : Producto
Paginas : int Paginas : int

Definicin de un producto gestionado desde base de datos


RUP: El Proceso Unificado de Rational
Proceso Unificado de Rational

Orgenes
Modelo original Objectory definido por Ivan
Jacobson (1987)
Rational Software compra la empresa de
Objectory (1995)
Surge la primera versin de UML (1997)
Se publica la primera versin del Proceso
Unificado de Rational - RUP (junio 1998)
Casos de uso
Dirigido por casos de uso
Se centra en la funcionalidad que el sistema debe poseer para
satisfacer las necesidades de un usuario (persona, sistema
externo, dispositivo) que interactua con l
Casos de uso como el hilo conductor que orienta las actividades de
desarrollo

Casos de Uso
<<defineNecesidades>>
<<realiza>> <<verifica>>
Anlisis Diseo Pruebas
Recopilar,
Clarificar y Realizar los Verificar que se
Validar los casos de uso satisfacen los
requerimientos casos de uso
Arquitectura

Centrado en la arquitectura
Concepto similar a la arquitectura de un edificio
Varios planos con diferentes aspectos del edificio
Tener una imagen completa del edificio antes que comience la construccin
Arquitectura en software
Diferentes vistas del sistema: estructural, funcional, dinmico, etc.
Plataforma en la que va a operar
Determina la forma del sistema
Arquitectura: determina la forma del sistema
Casos de uso: determinan la funcin del sistema
Modelo que implementa

Iterativo e incremental
Descomposicin de un proyecto grande en mini-proyectos
Cada mini-proyecto es una iteracin
Las iteraciones deben estar controladas
Cada iteracin trata un conjunto de casos de uso
Ventajas del enfoque iterativo
Deteccin temprana de riesgos
Administracin adecuada del cambio
Mayor grado de reutilizacin
Mayor experiencia para el grupo de desarrollo
Estructura
Dinmica
Ciclo: cada ciclo una nueva versin del producto
Fase: Etapas de un ciclo que finalizan en un HITO
Iteracin: Proceso de ingeniera sobre una
funcionalidad limitada del sistema
Esttica - Flujos de trabajo
Artefactos
Actividades
Roles
Estructura

Roles QUIN?
Actividades CMO?
Artefactos QU?
Flujo de Trabajo CUNDO?

realiza

responsable de diseo de caso


diseador de uso

diagrama de
secuencia
Roles

Definicin del comportamiento y


responsabilidades de los participantes
Propietario de una serie de artefactos

Recurso Rol Actividad Artefacto

Patricia Diseador Diseo de Objetos DC


Juan Analista Definicin de CU DCU
Dominio
Mnica Diseador Diseo de CU DS
Pedro Funcional
Actividades

Unidad de trabajo que puede ejecutar un individuo en un rol


especfico
Tiene un propsito claro y se expresa en trminos de actualizar
artefactos
La granularidad de la actividad es generalmente de horas o pocos
das
Ejemplos de actividades
Planear una iteracin (administrador del proyecto)
Encontrar caso de uso y actores (analista del dominio)
Revisin del diseo (probador)
Artefactos

Pieza de informacin producida, modificada y utilizada


en un proceso
Productos tangibles del proyecto
Utilizados por los roles como entrada para la realizacin
de sus actividades
Resultado de las actividades realizadas por los roles
Metamodelo: Clase rol tiene como mtodos las
actividades y como parmetros los artefactos
Flujos de trabajo

Forma de describir significativamente la secuenciencias


de actividades que producen resultados y las
interacciones entre cargos
En trminos de UML se puede utilizar: diagrama de
actividades, de secuencia, de colaboracin
En RUP hay nueve tipos de flujos de trabajo
De ingeniera
Negocio, Requerimiento, Anlisis, Diseo, Pruebas, Liberacin
De soporte
Administracin del proyecto, Administracin del cambio,
Ambiente
Dimensin dinmica

fase ciclo

Concepcin Elaboracin Construccin Transicin

hito 1 hito 2 hito 3 hito 4

Iter. 1 Iter. 2 Iter. 3 Iter. 4 Iter. 5 Iter. 6

Hito: punto en el tiempo en donde se evaluan objetivos


logrados y se pueden tomar decisiones crticas
Desarrollo iterativo

Construccin

Ciclo de Ciclo de Ciclo de


desarrollo 1 desarrollo 2 desarrollo n

Perfeccionar Sincronizar
el plan Artefactos

Anlisis Diseo Construccin Pruebas


Fase de concepcin

Objetivo: definir la razn de ser y el alcance del proyecto.


Estudio de oportunidad.
Visin = QU + PARA QU + CUNTO
Actividades
Especificacin de los criterios de xito del proyecto
Definicin de los requerimientos
Estimacin de los recursos necesarios
Cronograma inicial de fases
Artefactos
Documento de definicin del proyecto
Fase de elaboracin

Objetivo: establecer un plan de proyecto y una arquitectura correcta


del sistema
Actividades
Anlisis del dominio del problema
Definicin de la arquitectura bsica
Anlisis de riesgos
Planificacin del proyecto
Artefactos
Modelo del dominio
Modelo de procesos
Modelo funcional de alto nivel
Arquitectura bsica
Fase de construccin

Objetivo: desarrollar el sistema a lo largo de una


serie de iteraciones
Actividades
Anlisis
Diseo
Codificacin
Pruebas (individuales, de integracin)