Curso UML 2010.pdf

278
Modelamiento de Software con UML

Transcript of Curso UML 2010.pdf

Page 1: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 1/278

Modelamiento de Software conUML

Page 2: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 2/278

Contenidos

• Modelado del software

• Presentación de UML

• Modelado de Casos de Usos – Diagramas de casos de uso

• Modelado Estructural

 – Diagramas de Clases

Page 3: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 3/278

Contenidos

• Modelado del Comportamiento – Diagramas de interacción

 – Diagramas de actividades

 – Máquinas de estado• Modelado de la Implementación

 – Diagramas de componentes

 – Diagramas de despliegue• Colaboraciones

• Formalización de UML: MOF y metamodelo

Page 4: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 4/278

Contenidos

• Modelado del software• Presentación de UML

• Modelado de Casos de Usos – Diagramas de casos de uso

• Modelado Estructural – Diagramas de Clases

Page 5: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 5/278

• La gran mayoría de los programas

modelan algo.

• ¿Qué significa modelar? – Un modelo es una representación

simplificada. Incluye característicasque se consideran importantes parael que lo usa, a la vez que desecha

otras que no lo son.

 – Por ejemplo, un modelo de un autode plástico para un niño, muestralos detalles del exterior y las ruedas,pero obvia por completo el motor yla transmisión, una versión mássofisticada puede incluir un motor

que funcione y unos detalles muyrealistas en el interior. Porsupuesto, mientras más realista ydetallado sea el modelo, máscostosa será su creación

IntroducciónProgramas y Modelos

Page 6: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 6/278

Introducción Objetos,Comportamiento y Clases

• Los elementos del modelo en los programas Orientado porObjetos se llama Objetos.

• Los objetos que comparten cierto comportamiento se puedenagrupar en distintas categorías llamadas clases. – Objetos:

• Veamos la siguiente comparación:

Modelo de la Encargada Modelo Java

La encargada delmantenimiento modela cadauno de los 43 mecánicos con

un alfiler

En Java, los mecánicos semodelarán por un objetoMecánico y se instancian 43

La encargada modela a susclientes con chinchetas.

En Java, los clientes seránmodelados por objeto Cliente.

Cuando se produce unallamada de un cliente, laencargada pincha unachincheta en el mapa.

En Java se instancia un objetoCliente.

Page 7: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 7/278

Elemento que representa

Mecánicos

Elemento que representa

Clientes

1

5

9

13

17

21

25

1 5 9 13 17 21

EjemploServicio de Mantenimiento

Page 8: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 8/278

Clase que representa

Mecánicos

Clase que representa

Clientes

Mecánico

Cliente

EjemploServicio de Mantenimiento

Page 9: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 9/278

Modelo de Mecánicos en el mapa conalfileres

Cada mecánico tiene caracteristicaspropias, como:

•Nombre

•Calle (X)

•Carrera (Y)

Jorge CastroX: 6 , Y: 7

Pedro PerezX: 17 , Y: 12

Luis DiazX: 1 , Y: 22

KAOS S.A.X: 19 , Y: 17

INETI S.A.X: 6 , Y: 12

Modelo de Clientes en el mapa concanchetas

Cada cliente tiene caracteristicaspropias, como:

•Razon social

•Calle (X)•Carrera (Y)

EjemploServicio de Mantenimiento

Page 10: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 10/278

Clase que representa

Mecánicos

Clase que representa

Clientes

MecánicoNombre: Jorge CastroX: 6Y: 7

ClienteNombre: INETI S.A.X: 6Y: 12

MecánicoNombre: Luis DiazX: 1Y: 22

MecánicoNombre: Pedro PerezX: 17Y: 12

ClienteNombre: KAOS S.A.X: 19Y: 17

EjemploServicio de Mantenimiento

Page 11: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 11/278

Acción externaComportamiento asociadomover()

Acción externaComportamiento asociadomover()

Jorge CastroX: 6 , Y: 7

Pedro PerezX: 17 , Y: 12

Luis DiazX: 1 , Y: 22

KAOS S.A.X: 19 , Y: 17

INETI S.A.X: 6 , Y: 12

EjemploServicio de Mantenimiento

Page 12: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 12/278

Jorge CastroX: 6 , Y: 12

Pedro PerezX: 19 , Y: 17

Luis DiazX: 1 , Y: 22

KAOS S.A.X: 19 , Y: 17

INETI S.A.X: 6 , Y: 12

EjemploServicio de Mantenimiento

Page 13: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 13/278

Clase que representa

Mecánicos

Clase que representa

Clientes

MecánicoNombre: Jorge CastroX: 6Y: 12

ClienteNombre: INETI S.A.X: 6Y: 12

MecánicoNombre: Luis DiazX: 1Y: 22

MecánicoNombre: Pedro PerezX: 19Y: 17

ClienteNombre: KAOS S.A.X: 19Y: 17

mover(6, 12) mover(19, 17)mover( , )

EjemploServicio de Mantenimiento

Page 14: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 14/278

Jorge CastroX: 6 , Y: 12

Pedro PerezX: 19 , Y: 17

Luis DiazX: 1 , Y: 22

KAOS S.A.X: 19 , Y: 17

INETI S.A.X: 6 , Y: 12

Cuando un cliente llama, se coloca unachincheta en el mapa.

NOVA A.G.X: 10 , Y: 15

EjemploServicio de Mantenimiento

Ej l

Page 15: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 15/278

Clase que representa

Mecánicos

Clase que representa

Clientes

MecánicoNombre: Jorge CastroX: 6Y: 12

ClienteNombre: INETI S.A.X: 6Y: 12

MecánicoNombre: Luis DiazX: 1Y: 22

MecánicoNombre: Pedro PerezX: 19Y: 17

ClienteNombre: KAOS S.A.X: 19Y: 17

mover(6, 12) mover(19, 17)mover( , )

ClienteNombre: NOVA A.G.X: 10Y: 15

EjemploServicio de Mantenimiento

Ej l

Page 16: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 16/278

Jorge CastroX: 6 , Y: 12

Pedro PerezX: 19 , Y: 17

Luis DiazX: 1 , Y: 22

KAOS S.A.X: 19 , Y: 17

INETI S.A.X: 6 , Y: 12

Una vez se tenga el llamado de uncliente, se debe ubicar un mecánico ydesplazarlo hasta el cliente para queeste haga su trabajo.

NOVA A.G.X: 10 , Y: 15

EjemploServicio de Mantenimiento

Ej l

Page 17: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 17/278

Jorge CastroX: 6 , Y: 12

Pedro PerezX: 19 , Y: 17

Luis DiazX: 10 , Y: 15

KAOS S.A.X: 19 , Y: 17

INETI S.A.X: 6 , Y: 12

Una vez se tenga la llamada de uncliente, se debe ubicar un mecánico ydesplazarlo hasta el cliente para queeste haga su trabajo.

NOVA A.G.X: 10 , Y: 15

EjemploServicio de Mantenimiento

Ej l

Page 18: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 18/278

Clase que representa

Mecánicos

Clase que representa

Clientes

MecánicoNombre: Jorge CastroX: 6Y: 12

ClienteNombre: INETI S.A.X: 6Y: 12

MecánicoNombre: Luis DiazX: 10Y: 25

MecánicoNombre: Pedro PerezX: 19Y: 17

ClienteNombre: KAOS S.A.X: 19Y: 17

mover(6, 12) mover(19, 17)mover( 10, 15 )

ClienteNombre: NOVA A.G.X: 10Y: 15

EjemploServicio de Mantenimiento

Page 19: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 19/278

IntroducciónProgramas y Modelos

• Características de los modelos: – Ya sea un modelo del mundo real o uno hipotético, comparten

las siguientes características:• Los elementos del modelo representan otras entidades más complejas;

por ejemplo, alfileres que se utilizan como representación del personalde mantenimiento en un mapa.

• Estos elementos exhiben un comportamiento consistente;por ejemplo, los alfileres indican posición, y se pueden mover • Los elementos del modelo se pueden agrupar en categorías diferentes

basándose en su comportamiento común;por ejemplo, las chinchetas aparecen y desaparecen. Una vez que sehan pinchado en el mapa, no se mueven hasta que se quitan. Por elcontrario, los alfileres permanecen todo el tiempo en el mapa pero sepueden mover. (esto refleja el hecho de que el personal demantenimiento viaja, pero las localizaciones de los clientes, biennecesitan un servicio, o bien no).

•  Acciones externas sobre los elementos del modelo les hacen exhibir elcomportamiento asociado a los mismos;por ejemplo, una mano mueve el alfiler.

Page 20: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 20/278

Objetivos en el diseño de UML

• Modelar sistemas, desde los requisitos hastalos artefactos ejecutables, utilizando técnicasOO.

• Cubrir las cuestiones relacionadas con eltamaño propias de los sistemas complejos ycríticos.

• Lenguaje utilizable por las personas y las

máquinas• Encontrar equilibrio entre expresividad y

simplicidad.

Page 21: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 21/278

Resumiendo modelado delSoftware

• El modelado es el diseño de aplicacionessoftware antes de escribir el código.

• Se crean un conjunto de modelos (“planos

del software”) que permiten especificaraspectos del sistema como los requisitos, laestructura y el comportamiento.

• Los modelos

 – ayudan a razonar sobre el sistema – permiten documentar las decisiones – Permiten una generación automática de código

Ti d d l

Page 22: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 22/278

Tipos de modelo

• ¿En qué etapa del proceso se usa? ¿Análisis oDiseño?

• ¿Cuál es su grado de detalle? ¿Abstracto odetallado?

• ¿Qué sistema describe? ¿Modelo de negocio omodelo software?

• ¿Qué aspecto describe? ¿Estructural o decomportamiento?

• ¿Es específico o independiente de la plataforma?• ¿A qué plataforma va dirigido? EJB, JDBC, .NET,

CORBA, etc.

M d l d N i d

Page 23: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 23/278

Modelos de Negocio y deSoftware

Modelo del Negocio

Modelo Software

Empresa Sistemasoftware

Sistema dela empresa

describe

describe

derivado de

Utilid d d l d l d

Page 24: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 24/278

• “Una empresa desoftware con éxito esaquella que producede manera

consistente softwarede calidad quesatisface lasnecesidades de losusuarios”

• “El modelado es laparte esencial detodas las actividadesque conducen a la

producción desoftware de calidad

Utilidad del modelado

Utilid d d l d l d

Page 25: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 25/278

Utilidad del modelado

¿Escribimos códigodirectamente?

Sería lo ideal pero ........ necesitamos escribir modelos

Utilid d d l d l d

Page 26: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 26/278

Utilidad del modelado

• Hay estructuras que trascienden lorepresentable en un lenguaje deprogramación.

• Se facilita la comunicación entre el equipoal existir un lenguaje común.

• Se dispone de documentación que

trasciende al proyecto.

Utilid d d l d l d

Page 27: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 27/278

Utilidad del modelado

• Visualizar cómo es o queremos que sea elsistema

• Especificar la estructura y comportamiento

del sistema• Proporciona plantillas que guían la

construcción del sistema.

• Documentan las decisiones.

P i d d d l d l d

Page 28: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 28/278

Propiedades del modelado

• La elección de los modelos tiene unaprofunda influencia sobre cómo se acometeel problema y se moldea la solución.

• Todo modelo debe estar ligado a la realidad.• Un único modelo no es suficiente. Cualquier

sistema trivial se aborda mejor a través de un

pequeño conjunto de modelos casiindependientes.

P é l h

Page 29: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 29/278

¿Por qué las empresas no hacenmodelado?

• Hasta ahora, la mayor parte de lasempresas software no realizan ningúnmodelado.

• El modelado requiere: – aplicar un proceso de desarrollo

 – formación del equipo en la técnicas

 – concienciación de su importancia• ¿Se obtienen beneficios con el modelado?

C t i ft d

Page 30: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 30/278

¿Construimos software decalidad?

• Retrasos en los plazos• Proyectos cancelados• Rápido deterioro del sistema instalado

• Tasa de defectos o fallos• Requisitos mal comprendidos• Cambios frecuentes en el dominio del

problema

• Buenos programadores se cansan y dejan elequipo

• ¿Modelado es la solución?

Page 31: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 31/278

Conceptos de Programación

Orientada a Objetos

DEFINICIONES DE OBJETO

Page 32: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 32/278

DEFINICIONES DE OBJETO

•  Abstracción de software que modela todoslos aspectos relevantes de una realidad.

• Representación de la realidad que tieneestructura, estado y comportamiento.

• Entidad real o abstracta acerca de la cualse almacenan datos y operaciones queoperan sobre ellos

OBJETO = ESTADO +

Page 33: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 33/278

ESTADO

• Conjunto de Atributos

• Condición actual delobjeto

• Varía dinámicamente

• No es accesible desdeafuera

• No es directamentemodificable desde afuera

MÉTODOS

• “Puertos” de entrada del

objeto

• Responden a mensajes

• Unifica forma de entradaal objeto

OBJETO = ESTADO +MÉTODOS

Page 34: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 34/278

Mecánico

Nombre: Pedro PerezX: 19Y: 17

mover(19, 17)

¿Qué es la Programación

Page 35: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 35/278

¿Qué es la ProgramaciónOrientada a Objetos?

• Es la manera standard actual de enfocar laprogramación.

• Un programa contiene objetos que

responden a los mensajes que se les envían.• Un Mensaje (llamada a una función) es una

petición a un objeto para que haga algo.

•  A las acciones que realizan los objetos se lesllama Métodos.

Page 36: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 36/278

• Todos los objetos son ejemplares de unacategoría o Clase. El método invocadopor un objeto en respuesta a un mensaje

queda determinado por la clase delreceptor 

• Todos los objetos de una clase dada usan

el mismo método de respuesta amensajes similares.

Definición de Clase

Page 37: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 37/278

Definición de Clase

“Grupo de objetos marcado porcaracterísticas comunes que incluyen

estructura y comportamiento”(Booch)

 – Los objetos son instancias de una clase – Los métodos del objeto son virtuales:• Solo están definidos en la clase

Origen de las Clases

Page 38: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 38/278

Origen de las Clases

• Cosas tangibles: – Persona, Vehículo, producto, ...

• Papeles que representa: – Agente, profesor, vendedor, ...

• Eventos: – Aterrizaje, Suspensión, Venta, Devolución, ...

• Interacción: – Préstamo, Matrícula, Registro Público, ...

• Organizaciones: – Financiera, Sindicato, ...

Origen de las Clases

Page 39: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 39/278

Origen de las Clases

• Conceptos: – Proyecto, Materia, ...

• Localizaciones:

 – Punto de Venta, Bodega, Oficina, ...• Visibles en la interfaz:

 – Icono, Imagen, Ventana, ...

• Dispositivos: – Sensor, Lector de Tarjeta, Teclado, Pantalla,...

Características Programación OO

Page 40: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 40/278

Características Programación OO

• Encapsulación – Caja Negra

• Polimorfismo – Permitir un usar un nombre para especificar

una clase general de acciones

• Herencia

 – Un objeto puede adquirir las propiedades deotro

Claves en Desarrollo de SI

Page 41: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 41/278

Claves en Desarrollo de SI

Herramientas Proceso

NotaciónI. Introducción: Modelado de SWI

Abstracción Modelado Visual

Page 42: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 42/278

Sistema Computacional

Proceso de Negocios

Orden

Item

envío

“El modelado captura laspartes esenc iales del sistema ” 

Abstracción - Modelado Visual(MV)I. Introducción: Modelado de SW

II Notación (Visual) Beneficios

Page 43: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 43/278

II. Notación (Visual) - Beneficios

Interface de Usuario(Visual Basic,

Java, ..)Lógica del Negocio

(C++, Java, ..)

Servidor de BDs(C++ & SQL, ..)

Múltiples Sistemas

ComponentesReutilizados

Manejar la complejidad

“Modelar el sistema

independientementedel lenguaje de implementación” Promover la Reutilización

Page 44: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 44/278

¿Qué es UML?

Page 45: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 45/278

¿Qué es UML?

• UML = Unified Modeling Language• Un lenguaje de propósito general para el

modelado orientado a objetos• Documento “OMG Unified Modeling

Language Specification”• UML combina notaciones provenientes

desde: – Modelado Orientado a Objetos – Modelado de Datos – Modelado de Componentes – Modelado de Flujos de Trabajo (Workflows)

Page 46: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 46/278

Historia de UML

Page 47: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 47/278

Historia de UML

• Comenzó como el “Método Unificado”, conla participación de Grady Booch y JimRumbaugh. Se presentó en el

OOPSLA’95

• El mismo año se unió Ivar Jacobson. Los“Tres Amigos” fueron socios en la

compañía Rational Software. HerramientaCASE Rational Rose

Page 48: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 48/278

Page 49: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 49/278

UML “aglutina” enfoques OO

Page 50: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 50/278

UML aglutina enfoques OO

UML

RumbaughJacobson

Meyer 

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor 

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions,message numbering

Singleton classes

Frameworks, patterns,notes

Object life cycles

Page 51: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 51/278

Inconvenientes en UML

Page 52: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 52/278

Inconvenientes en UML

• Definición del proceso de desarrollo usandoUML. – UML no es una metodología

• Falta integración con respecto de otras

técnicas tales como patrones de diseño,interfaces de usuario, documentación, etc.

• Ejemplos aislados

 – “Monopolio de conceptos, técnicas y métodos entorno a UML”

Perspectivas de UML

Page 53: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 53/278

Perspectivas de UML

• UML es el lenguaje de modelado orientado aobjetos estándar predominante los próximosaños

• Razones:

 – Participación de metodólogos influyentes – Participación de importantes empresas – Aceptación del OMG como notación estándar 

• Evidencias: – Herramientas que proveen la notación UML – “Edición” de libros

 – Congresos, cursos, “camisetas”, etc.

Page 54: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 54/278

UML y el modelado

Page 55: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 55/278

UML y el modelado

• UML es una notación, no es un proceso

• Se han definido muchos procesos para UML. – Rational ha ideado RUP, el“proceso unificado”.

• Utilizable para sistemas que no sean software

UML es un lenguaje para visualizar  , especificar  ,construir  y documentar los artefactos (modelos) de

un sistema que involucra una gran cantidad de

 software, desde una perspectiva orientada a objetos.

Page 56: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 56/278

Page 57: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 57/278

Page 58: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 58/278

Page 59: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 59/278

Elementos de Comportamiento

Page 60: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 60/278

Elementos de Comportamiento

• Son las partes dinámicas de UML. – Máquina de estados

• Secuencia de estados por las que pasa un objeto

durante su vida en respuesta a eventos.

estadoactivado

Elementos de Agrupación

Page 61: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 61/278

Elementos de Agrupación

• Son las partes de organización de los modelosUML

 – Un paquete incluye un conjunto de elementos decualquier naturaleza.

 – Tiene una naturaleza conceptual.

Modelo del Negocio Paquete

Page 62: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 62/278

Relaciones

Page 63: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 63/278

Relaciones

Dependencia

Asociaciónpatron empleado0..1 *

Generalización

Realización

Page 64: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 64/278

Page 65: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 65/278

Page 66: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 66/278

Page 67: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 67/278

Modelo del Negocio

Page 68: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 68/278

Cambiar

admitidos

Registrar Curso

Hay alumnos?

no

Cerrar Curso

 Aprobar Curso

Preinscripción

Matriculación

Cancelar Curso

Hay alumnos?

no

 Avisar

 Admitidos

Crear Proyecto

SistemaAlumnoServicio PEResponsable

Diagramade

actividades

g

Modelo de Casos de Usos

Page 69: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 69/278

Teleoperador Part ic ipante

Realizar puja ordinaria

Cancelar puja ordinaria

Rechazar adjudicación

Pujador 

 Anular anuncio de subasta

 Anular edición de subasta

Crear edición de subasta

 Administrador 

Cerrar edición de subasta

Realizar pago de subasta ordinaria

Notif icar adjudicatario

Sistema

Diagramade casosde uso

Page 70: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 70/278

Page 71: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 71/278

Page 72: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 72/278

Page 73: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 73/278

Mecanismos comunes de UML

Page 74: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 74/278

• Dicotomía clasificador /instancia

Personanombre

direccion

telefonoElena :Persona

: Persona

Elena

Mecanismos comunes de UML

Page 75: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 75/278

• Dicotomía interfaz / implementación

IOrtografia

asistente

Ortografico.dll

Page 76: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 76/278

Page 77: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 77/278

Page 78: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 78/278

Page 79: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 79/278

Page 80: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 80/278

Page 81: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 81/278

Page 82: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 82/278

Organización en Paquetes

Page 83: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 83/278

Organización en Paquetes

Page 84: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 84/278

 java

lang

awt

 Applet

HolaMundo

Page 85: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 85/278

Page 86: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 86/278

Page 87: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 87/278

Page 88: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 88/278

ESCENARIO

Page 89: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 89/278

Emisor Centralita Receptor  

listo( )

tono

marcar_numero

tono_sonandotimbre_sonando

telefono_cogido

para_tono

para_timbre

• Casos de uso son ideados por Jacobson a principios de losnoventa

• Se inspira en los escenarios utilizados para describirprocesos

Otras definiciones de caso de uso

Page 90: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 90/278

“Describe un conjunto de interacciones entre actores externos yel sistema en consideración orientadas a satisfacer unobjetivo de un actor”.

[D. Bredemeyer]

“Es una colección de posibles secuencias de interacciones entre

el sistema en discusión y sus actores externos, relacionadocon un objetivo particular”.

[A. Cockburn]

“Es una colección de escenarios de éxito y fracaso relacionados

que describe a los actores que usan un sistema paraconseguir un objetivo”

[C. Larman]

Page 91: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 91/278

Page 92: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 92/278

Page 93: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 93/278

Page 94: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 94/278

Propiedades de los casos de uso

Page 95: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 95/278

• Son iniciados por un actor con un objetivo enmente y es completado con éxito cuando elsistema lo satisface.

• Puede incluir secuencias alternativas que llevan al

éxito y fracaso en la consecución del objetivo.• El sistema es considerado como una “caja negra”y las interacciones se perciben desde fuera.

• El conjunto completo de casos de uso especifica

todas las posibles formas de usar el sistema, estoes el comportamiento requerido.

Page 96: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 96/278

Page 97: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 97/278

Page 98: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 98/278

Descripción de un caso de uso

Page 99: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 99/278

Comprar artículos (en un terminal de punto de venta)

6. El Cajero le dice al cliente el total.

7. El cliente realiza el pago.8. El cajero registra la cantidad de dinero recibida.9. El sistema muestra la cantidad a retornar al cliente y genera

un recibo.10. El cajero deposita el dinero recibido y saca la cantidad a

devolver que entrega al cliente junto al ticket de compra.11. El sistema almacena la compra completada.12. El cliente recoge los artículos comprados.

Page 100: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 100/278

Page 101: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 101/278

Page 102: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 102/278

Ejemplo diagrama de casos deuso

Page 103: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 103/278

uso

Realizar preinscripciónGestión Expedientes Alumno

Matriculación Entidad Bancaria

 ActoresSecundario

 Actor Principal

Page 104: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 104/278

Page 105: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 105/278

Page 106: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 106/278

Casos de uso y Colaboraciones

Page 107: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 107/278

“El objetivo de la arquitectura del sistema

es encontrar el conjunto mínimo de

colaboraciones bien estructuradas, quesatisfacen el comportamiento especificadoen todos los casos de uso del sistema”

Organización de Casos de uso

Page 108: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 108/278

• Tres tipos de relaciones: – Generalización

• Un cdu hereda el comportamiento y significado de otro

 – Inclusión• Un cdu base incorpora explícitamente el

comportamiento de otro en algún lugar de susecuencia.

 – Extensión• Un cdu base incorpora implícitamente el

comportamiento de otro cdu en el lugar especificadoindirectamente por este otro cdu

Ejemplo

Page 109: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 109/278

Generalización

Comprobar clave

Examinar retina

Validar Usuario

Hacer Pedido

Seguir Pedido

(establecer prioridad)

Hacer PedidoUrgente

«extend»

Relación de extensión

«include»

«include»

Relación deinclusión

Page 110: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 110/278

Page 111: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 111/278

Page 112: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 112/278

Page 113: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 113/278

Page 114: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 114/278

Page 115: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 115/278

Plantilla usecases.org (Larman)

Page 116: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 116/278

•  Actor Principal• Personas involucradas e Intereses• Precondiciones• Postcondiciones• Escenario Principal (Flujo Básico)• Extensiones (Flujos Alternativos)• Requisitos especiales

• Tecnología y Lista Variaciones de datos• Frecuencia• Cuestiones abiertas

Page 117: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 117/278

Page 118: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 118/278

Page 119: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 119/278

Page 120: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 120/278

Page 121: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 121/278

Page 122: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 122/278

Page 123: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 123/278

Page 124: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 124/278

Page 125: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 125/278

Page 126: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 126/278

Page 127: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 127/278

Page 128: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 128/278

Page 129: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 129/278

Page 130: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 130/278

Page 131: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 131/278

Page 132: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 132/278

Del Modelo Conceptual a lasclases

Page 133: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 133/278

• Los modelos de análisis se obtienen apartir del modelo conceptual: – Conceptos a clases

 – Atributos de un concepto a atributos de laclase

 – Añadir comportamiento (métodos)

Page 134: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 134/278

Page 135: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 135/278

Page 136: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 136/278

Colaboración (parte estática)

Page 137: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 137/278

Colaboración (parte dinámica)

Page 138: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 138/278

 : Usuario

 : CarroCompras

 : ItemCarro

i : ItemCarro

 : Producto

 : MostrarProductos  : Añadir 

  : CatalagoProductos

11: recalcularTotal()

1: añadirItem(codigo)

5: i:=getItemCarro(codigo)

10: [nuevoItem]put(codigo,i)

6: [!nuevoItem]incrementarUnidades()

9: [nuevoItem]i:=creaItem(p)7: [nuevoItem]p:=get(codigo)

2: añadirItem(codigo) 3: [primer producto] crear()

4: añadirItem(codigo)

8: [nuevoItem]p:=buscar(codigo)

Page 139: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 139/278

Page 140: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 140/278

Ingeniería directa e Inversa

Page 141: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 141/278

• Ingeniería directa – Transformar modelos en código en un

lenguaje de programación determinado

• Ingeniería inversa – Obtener un modelo a partir de código.

 – Más difícil ya que hay pérdida de informaciónal pasar de los modelos al código.

Atributos

Page 142: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 142/278

visibilidad

nombre: nombre del atributo

tipo: tipo del atributo

valor_inicial: valor inicial o por defecto

[visibilidad] nombre [: tipo] [= valor_inicial ] [{propiedades}]

+ = pública# = protegida

- = privada

propiedades: {frozen} {addOnly}

Page 143: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 143/278

Page 144: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 144/278

Page 145: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 145/278

Clases Parametrizadas

Page 146: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 146/278

«bind» <Empleado>

G

Tabla

countcapacity

put(G)item() : G

EmpleadosTabla<Cliente>

Clase 

Parametrizada 

Instanciación 

Page 147: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 147/278

Clases Estereotipadas

Page 148: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 148/278

MetaclaseCuenta

<<metaclass>>

FueraRango

<<exception>>

Clases y valores etiquetados

Page 149: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 149/278

Page 150: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 150/278

Relaciones

Page 151: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 151/278

• Generalización – “Es-un-tipo-de”

Window

TextWindow BoxDialog

Cuenta

CuentaAhorro CuentaCorriente

Page 152: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 152/278

Page 153: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 153/278

Asociaciones

Page 154: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 154/278

•  Agregación – Caso especial de asociación

 – Relación estructural parte-deEmpresa

1..1

*

Departamento

1..1

*

Page 155: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 155/278

Page 156: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 156/278

Page 157: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 157/278

Page 158: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 158/278

Page 159: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 159/278

Page 160: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 160/278

Page 161: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 161/278

Composición

Page 162: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 162/278

• Es un caso particular de agregación: – exclusiva y dependiente – Las partes pueden crearse después del agregado

compuesta al que pertenecen, pero una vez

creadas viven y mueren con ella. – La parte sólo puede formar parte de unagregado.

 – El agregado gestiona la creación y destrucciónde las partes.

 – Las partes se pueden eliminar antes de eliminarel agregado.

Composición

Page 163: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 163/278

Marco

Ventana

1..1

*

1..1

*

agregado /todo

parte

composición

Page 164: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 164/278

Page 165: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 165/278

Page 166: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 166/278

Page 167: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 167/278

Page 168: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 168/278

Asociaciones derivadas

Page 169: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 169/278

 Asignatura

Profesor 

imparte

Estudianterecibe

 /enseña

 AsociaciónDerivada

Restricciones para Asociaciones

Page 170: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 170/278

Empresa

Cuenta

Persona

{or}

Departamento

Persona

*

1..11..*

* *

+Director 

1..1+miembro 1..*

*

{subconjunto}

Restricciones para Asociaciones

Page 171: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 171/278

PersonaCompañia* 0..1

empleado

*0..1

{Persona.patrón=

Persona.jefe.patrón }

patrón

 jefe

operario

Page 172: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 172/278

Page 173: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 173/278

Page 174: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 174/278

Page 175: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 175/278

Page 176: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 176/278

Page 177: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 177/278

Page 178: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 178/278

Page 179: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 179/278

Page 180: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 180/278

Page 181: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 181/278

Page 182: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 182/278

Page 183: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 183/278

Page 184: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 184/278

Page 185: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 185/278

Page 186: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 186/278

Page 187: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 187/278

Page 188: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 188/278

Page 189: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 189/278

Page 190: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 190/278

Page 191: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 191/278

Page 192: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 192/278

Page 193: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 193/278

Page 194: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 194/278

Page 195: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 195/278

Page 196: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 196/278

Page 197: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 197/278

Page 198: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 198/278

Page 199: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 199/278

Page 200: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 200/278

Diagramas de Colaboración

1: preparar() 2: preparar()

Page 201: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 201/278

 :InterfacePedido

 : ControladorPedido : Pedido

 :

LineaPedido

 : Item

 : ItemPedido :

ItemEntregado

1: preparar() 2: preparar()

3: * preparar()

4: hayStock:=check()5: [hayStock] eliminar()

6: pedir?:= necesarioPedir()

7: [pedir?] <<create>>

8: [hayStock] <<create>>

Page 202: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 202/278

Diagrama de Colaboración

1: <<create>>

Page 203: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 203/278

c:Cliente :Transaccion

p:ProxyODBC

1: <<create>>

2: establecerAcciones

3: establecerValores

5: exito

4: establecerValores

6: <<destroy>>

Page 204: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 204/278

Diagrama de Colaboración

3 l l R t

Page 205: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 205/278

a:Ayuda

Planificacion

c:Cliente :Agente

Billetes

3: calcularRuta

1: <<create>>2: establecerItinerario(i)

5: <<destroy>>

4: ruta

6: notificar 

Page 206: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 206/278

Page 207: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 207/278

Page 208: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 208/278

Page 209: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 209/278

Page 210: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 210/278

Page 211: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 211/278

Page 212: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 212/278

Page 213: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 213/278

Page 214: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 214/278

Uso de los diagramas deinteracción

• Modelado del aspecto dinámico

Page 215: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 215/278

Modelado del aspecto dinámico.• Modelado del flujo de control que

caracteriza el comportamiento de unsistema:

 – casos de uso – colaboraciones – patrones

 – frameworks – operaciones

Caso de Uso (Escenario)

Page 216: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 216/278

: Cliente:ReceptorPedidos :AgenteTarjeta

Credito:GestionPedido :AgenteFacturacion

enviarPedido

procesarTarjeta

tramitarPedido

confirmarPedido

emitirFactura

Caso de uso (Colaboración)

Page 217: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 217/278

:OrderManager : TechnicalResponsible

: LaunchManufacturing GUI

:EvaluatedOrders o : Order : Product : WorkOrder  : OrderLine

selectOrder()selectOrder(cod)

o:=find(cod)

launchManufacturing()launchManufacturing(cod)

launch manufacturing()*generateWO()

tpl:=getTemplate()

createWO(tpl)

Caso de uso de negocio

viajero: Empleado

encargado: Empleado

contable : Empleado

pagador : Empleado

Page 218: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 218/278

viajero: Empleado encargado: Empleado contable : Empleado pagador : Empleado

solicitudPermisoViaje()

PermisoViaje()

informeGastos(unInforme)

OKgastos(unInforme)

solicitudPago(viajero)

Caso de uso de negocio

: JefeTecnico: Cliente : Comercial : JefeProduccion

Page 219: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 219/278

darCursoPedido()estudiarPedido()

* analizarFabricacionProducto()

informarAnalisisPedido()

planificarFabricacion()

acceptarPedido()

Page 220: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 220/278

Page 221: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 221/278

Page 222: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 222/278

Page 223: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 223/278

Bifurcación

Page 224: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 224/278

[ hay materiales ]

PlanificarProceso

 Asignar Tareas

Volver aPlanificar 

[ no hay materiales ]

Page 225: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 225/278

Page 226: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 226/278

Cliente Ventas  Almacen

Page 227: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 227/278

Solicitar Producto

Procesar PedidoExtraer Articulos

Enviar Pedido

Recibir Producto Facturar al cliente

Pagar Factura Cerrar Pedido

Calles

Page 228: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 228/278

Page 229: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 229/278

Page 230: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 230/278

Page 231: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 231/278

Eventos

• Un evento es un acontecimiento que ocupa

Page 232: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 232/278

un lugar en el tiempo y espacio.• Un evento es un estímulo que dispara una

transición en una máquina de estados.

• Eventos externos vs. Eventos internos.• Tipos de eventos:

 – Señales (excepciones) – Llamadas – Paso de tiempo – Cambio de estado

Page 233: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 233/278

Page 234: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 234/278

Page 235: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 235/278

Estados

Page 236: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 236/278

Rastreando

entry/ activarModo(enRastreo)exit / activarModo(noRastreo)nuevoObjetivo/rastreador.adquirir do / seguirObjetivo

autotest / defer 

acción entrada

acción salidatransición interna

evento diferido

acción entrada

actividad

Page 237: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 237/278

Page 238: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 238/278

Page 239: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 239/278

Page 240: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 240/278

Page 241: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 241/278

Page 242: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 242/278

Page 243: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 243/278

Page 244: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 244/278

Page 245: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 245/278

Page 246: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 246/278

Page 247: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 247/278

Page 248: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 248/278

Page 249: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 249/278

Page 250: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 250/278

Page 251: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 251/278

Page 252: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 252/278

Page 253: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 253/278

Page 254: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 254/278

Page 255: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 255/278

Page 256: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 256/278

Componentes (UML 2.0)

Page 257: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 257/278

Interfaces

proporcionadas

Interfaces

requeridas

Componentes (UML 2.0)

Page 258: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 258/278

Interfazproporcionada

Interfazrequerida

Componentes (UML 2.0)

Page 259: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 259/278

Componentes (UML 2.0)

Page 260: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 260/278

Nodos

• Un nodo es un elemento físico que existeti d j ió t

Page 261: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 261/278

en tiempo de ejecución y representa unrecurso computacional que puede tenermemoria y capacidad de procesamiento.

• Los componentes se ejecutan en nodos• Los nodos representan el despliegue

físico de los componentes.

Diagramas de Despliegue

• Muestra la configuración de los nodos que

ti i l j ió d l

Page 262: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 262/278

participan en la ejecución y de loscomponentes que residen en los nodos.

• Incluye nodos y arcos que representanconexiones físicas entre nodos.

• Modelado de sistemas empotrados, sistemascliente-servidor, sistemas distribuidos.

Diagrama de Despliegue

i l

Page 263: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 263/278

servidor UnidadRAID

Consola

<<RS-232>>

terminal

<<10-T-Ethernet>>

Modem

Page 264: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 264/278

servidor cache<<procesador>

servidor cache<<procesador>>

servidorprincipal

<<procesador>servidor 

<<procesador>servidor 

<<procesador>>servidor 

<<procesador>>

<<red>> red local

internet

Deployment Diagram

Page 265: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 265/278

Contenidos

• Modelado del Comportamiento

– Diagramas de interacción

Page 266: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 266/278

 – Diagramas de interacción – Diagramas de actividades – Máquinas de estado

• Modelado de la Implementación – Diagramas de componentes – Diagramas de despliegue

• Colaboraciones• Formalización de UML:

 – MOF y metamodelo

Colaboraciones

• Sociedad de clases, interfaces y otros

elementos q e colaboran para

Page 267: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 267/278

elementos que colaboran paraproporcionar un comportamientocooperativo mayor que la suma de loscomportamientos de los elementos.

• Parte estructural (diagrama de clases) yparte de comportamiento (diagrama desecuencia).

Colaboraciones

• El núcleo de la arquitectura de un sistema

está formado por un conjunto de

Page 268: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 268/278

está formado por un conjunto decolaboraciones que representan lasdecisiones de diseño más importantes.

• Un sistema orientado a objetos bienestructurado se compone de un conjuntorelativamente pequeño de colaboraciones.

• Modelado de un caso de uso, operación omecanismo (patrón o framework)

Casos de uso y Colaboraciones

Page 269: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 269/278

Hacer Pedido

Gestión Pedidos

caso de uso

colaboración

realización

Ejercicio

• Diseña una colaboración de un mecanismo Object

Trading que separa la representación de unainformación de su presentación y edición; las clases

Page 270: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 270/278

Trading que separa la representación de unainformación de su presentación y edición; las clasesque representan a los objetos información no conocena las clases que representan editores y viceversa. Unmismo editor puede editar diferentes tipos deinformación y una misma información puede sereditada por diferentes editores.

• El propósito del mecanismo es seleccionar un editorque colaborará adecuadamente con el objetoinformación, creará un objeto editor y lo ligará con elobjeto información.

• Un objeto cliente solicitará a un objeto Trader editarcierta información.

Mecanismo trading (Parte estática)

F t i EditT dCli t D G t

Page 271: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 271/278

FactoriaEditor 

Editor 

1..1

1..1

1..1

1..1

especifica

Trader 

1..n1..1 1..n1..1

ObjetoInformacion

1..n1..n 1..n1..n

editado con

ClienteDeGestor 

1..11..n 1..11..n

1..n

0..n

1..n

0..n

necesita editar 

Mecanismo trading(Comportamiento)

: ClienteDeGestor : Trader : FactoriaEditor info :

ObjetoInformacion

Page 272: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 272/278

: Editor 

editar(info)* i:= getInterfaz()

p:= soportaInterfaz(i)

[p] crearEditor(info)<<create>>

¿Clases Cliente, Editor y ObjetoInformacion?

Mecanismo trading(Comportamiento)

2: * i:= getInterfaz()

Page 273: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 273/278

 :

Cliente... : Trader   : FactoriaEdi tor 

info :

ObjetoInformacion  : Editor 

1: edi tar(info)

g ()

4: [p] crearEditor(info)

3: p:= soportaInterfaz(i)5: <<create>>

¿Clases Cliente, Editor y ObjetoInformacion?

Colaboraciones Parametrizadas

Modelado de patrones de diseño

Page 274: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 274/278

Observer 

SubjectObserver 

 Alarma Ventana

Subject Observer 

Patrón de diseño (Parte Estática)

Observer 

Subject

subjectState +observers

Page 275: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 275/278

Update() Attach()Detach()Notify()

1..*1..1 1..*

observers

1..1

ConcreteSubject

subjectState

getState()setState()

ConcreteObserver 

observerState

update()

+subject

observerState=subject->getState()

for all o in observers{o->update}

Patrón de diseño (Parte dinámica)

 : Subject one : Observer  

SetState( )

another : Observer 

Page 276: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 276/278

Update( )

SetState( )

Notify( )

GetState( )

Update( )

GetState( )

Contenidos

• Modelado del Comportamiento– Diagramas de interacción

Page 277: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 277/278

 – Diagramas de interacción

 – Diagramas de actividades

 – Máquinas de estado

• Modelado de la Implementación – Diagramas de componentes

 – Diagramas de despliegue

• Colaboraciones

F I N

Page 278: Curso UML 2010.pdf

7/26/2019 Curso UML 2010.pdf

http://slidepdf.com/reader/full/curso-uml-2010pdf 278/278