1 Curso de UML Actividad 1 Introducción a UML Dra. Anaisa Hernández González.
Curso UML 2010.pdf
-
Upload
praxedes-garcia-valenciano -
Category
Documents
-
view
230 -
download
0
Transcript of 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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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
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?
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
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 +
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
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
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.
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
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
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
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
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
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
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 44/278
¿Qué es UML?
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)
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 46/278
Historia de UML
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 48/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 49/278
UML “aglutina” enfoques OO
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 51/278
Inconvenientes en UML
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
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.
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 54/278
UML y el modelado
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.
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 56/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 57/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 58/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 59/278
Elementos de Comportamiento
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 62/278
Relaciones
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 64/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 65/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 66/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 67/278
Modelo del Negocio
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 70/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 71/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 72/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 73/278
Mecanismos comunes de UML
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 76/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 77/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 78/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 79/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 80/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 81/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 82/278
Organización en Paquetes
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 83/278
Organización en Paquetes
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 84/278
java
lang
awt
Applet
HolaMundo
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 85/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 86/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 87/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 88/278
ESCENARIO
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
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]
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 91/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 92/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 93/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 94/278
Propiedades de los casos de uso
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.
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 96/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 97/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 98/278
Descripción de un caso de uso
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.
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 100/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 101/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 102/278
Ejemplo diagrama de casos deuso
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 104/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 105/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 106/278
Casos de uso y Colaboraciones
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
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 110/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 111/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 112/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 113/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 114/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 115/278
Plantilla usecases.org (Larman)
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 117/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 118/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 119/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 120/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 121/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 122/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 123/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 124/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 125/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 126/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 127/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 128/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 129/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 130/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 131/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 132/278
Del Modelo Conceptual a lasclases
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)
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 134/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 135/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 136/278
Colaboración (parte estática)
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 137/278
Colaboración (parte dinámica)
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)
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 139/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 140/278
Ingeniería directa e Inversa
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
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}
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 143/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 144/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 145/278
Clases Parametrizadas
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 147/278
Clases Estereotipadas
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 149/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 150/278
Relaciones
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 152/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 153/278
Asociaciones
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
*
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 155/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 156/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 157/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 158/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 159/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 160/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 161/278
Composición
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 164/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 165/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 166/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 167/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 168/278
Asociaciones derivadas
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
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 172/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 173/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 174/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 175/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 176/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 177/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 178/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 179/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 180/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 181/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 182/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 183/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 184/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 185/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 186/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 187/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 188/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 189/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 190/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 191/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 192/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 193/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 194/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 195/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 196/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 197/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 198/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 199/278
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()
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>>
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 202/278
Diagrama de Colaboración
1: <<create>>
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>>
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 206/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 207/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 208/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 209/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 210/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 211/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 212/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 213/278
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
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)
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)
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 219/278
darCursoPedido()estudiarPedido()
* analizarFabricacionProducto()
informarAnalisisPedido()
planificarFabricacion()
acceptarPedido()
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 220/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 221/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 222/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 223/278
Bifurcación
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 ]
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 225/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 226/278
Cliente Ventas Almacen
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 228/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 229/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 230/278
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 233/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 234/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 235/278
Estados
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 237/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 238/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 239/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 240/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 241/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 242/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 243/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 244/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 245/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 246/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 247/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 248/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 249/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 250/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 251/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 252/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 253/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 254/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 255/278
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 256/278
Componentes (UML 2.0)
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)
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 258/278
Interfazproporcionada
Interfazrequerida
Componentes (UML 2.0)
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 259/278
Componentes (UML 2.0)
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
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
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
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
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
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
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
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
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
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
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
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
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()
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
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
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
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
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
7/26/2019 Curso UML 2010.pdf
http://slidepdf.com/reader/full/curso-uml-2010pdf 278/278