Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capitulo 01 P 01
Capitulo 01 P 01
Captulo 1
El Lenguaje Unificado de Modelado, UML
Captulo 1. Estructura
Presentacin de UML
Necesidad del modelado
Modelado de casos de Uso
Modelado estructural
Diagrama de clases
Paquetes
Vistas de UML
Modelado dinmico
Diagramas de interaccin
2
Mquinas de estado
Modelado de la implementacin
Diagramas de componentes
Diagramas de despliegue
Colaboraciones
OCL (Object Constraint Language)
3
Captulo 1. Bibliografa
[Booch et al. 99] Booch, G. et al. "El lenguaje
unificado de modelado", Addison-Wesley, 1999.
[Larman 02] Larman, C. UML y Patrones: Una
Prentice-Hall, 2002.
El consorcio OMG
Rational Software
ICON Computing
Oracle
i-Logix
IBM
ObjectTime
DEC
Platinum Technology
Microsoft
Petch
Hewlett-Packard
Taskon A/S
Sterling Software
Reich Technologies
MCI Systemhouse
Softeam
Unisys
IntelliCorp
....
http://www.rational.com/media/uml/intro_rd
n.pdf
Evolucin de UML
Diciembre04- OMG adopta UML 2.0
Marzo03- OMG adopta UML 1.5
UML 2.0
UML 1.5
UML 1.3
Booch
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor
Object life cycles
UML
Harel
State Charts
Embly
Singleton classes
Wirfs-Brock
Fusion
Responsabilities
Operation descriptions,
message numbering
(Tomada de www.dsic.upv.es/~uml)
11
Ventajas de la unificacin
Reunir los puntos fuertes de cada mtodo
Idear nuevas mejoras
Proporcionar estabilidad al mercado
Proyectos basados en un lenguaje maduro
Aparicin de potentes herramientas
12
UML y el modelado
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 OO.
Por qu modelamos?
Por qu modelamos?
Un modelo es una simplificacin de la realidad
Construimos modelos para comprender mejor el sistema
que estamos desarrollando
Cuatro utilidades de los modelos:
17
18
Modelado es la solucin?
19
20
Utilidad de UML
Permite especificar todas las decisiones de anlisis, diseo
e implementacin, construyndose modelos precisos, no
ambiguos y completos.
UML puede conectarse a lenguajes de programacin:
Ingeniera directa e inversa
21
Metamodelo UML
Cmo se expresa la semntica del modelo?
Informalmente
Formalmente
El metamodelo UML define la notacin de un modo
riguroso, a travs de diagramas de la propia notacin y con
OCL (Object Constraint Language).
22
Generalizacin
Asociacion
1
ordered
2..*
Role de
asociacin
23
Estructurales, Comportamiento,
Agrupacin (paquetes), Anotacin
(notas, comentarios)
Relaciones
Dependencia, Asociacin
(Agregacin), Generalizacin,
Realizacin
Diagramas
Bloques bsicos
de construccin
UML
Reglas de uso
Mecanismos
Comunes
Especificaciones, Dicotoma,
Adornos (detalles), Mecanismos
de Extensibilidad
Relaciones
Diagramas
Mecanismos comunes
25
Elementos Estructurales
Partes estticas de un modelo
Ventana
origen
tamao
abrir()
cerrar()
mover()
dibujar()
clase
<<Interface>>
IAvisable
IAvisable
Interface
ValidarTransaccion
caso de uso
26
Elementos Estructurales
Gestor Eventos
Hola
Mundo.class
suspender()
vaciarCola()
colaboracin
Gestin Pedidos
Servidor
nodo
27
Elementos de Comportamiento
Son las partes dinmicas de UML.
Interaccin
Conjunto de mensajes intercambiados entre un conjunto
de objetos con un propsito particular.
dibujar
mensaje
28
Elementos de Comportamiento
Son las partes dinmicas de UML.
Mquina de estados
Secuencia de estados por las que pasa un objeto durante
su vida en respuesta a eventos.
activado
estado
29
Elementos de Agrupacin
Son las partes organizativas de los modelos UML
Paquete
Elementos de Anotacin
Son las partes explicativas de los modelos UML
Retorna 0 si no
existe el valor
Nota
31
Relaciones
Dependencias
0..1
patron
empleado
Asociaciones
Generalizaciones
Realizacin
32
Diagramas de UML
Diagramas de Estados
Diagramas de Actividades
Diagramas de Componentes
Diagramas de Despliegue
http://www.agilemodeling.com/essays/umlDiagrams.htm
33
Diagramas de UML
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Colaboracin
Comportamiento
Interaccin
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados
Modelo
Estructural
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Secuencia
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Casos de Uso
State
State
Diagramas de
Diagrams
Diagrams
Clases
State
State
Diagramas de
Diagrams
Diagrams
Objetos
State
State
Diagramas de
Diagrams
Diagrams
Componentes
Implementacin
Diagramas de
Actividad
Component
Component
Diagrams
Diagramas
Diagrams de
Despliegue
Adornos
La notacin grfica bsica de cada elemento puede incluir
adornos textuales o grficos para resaltar algunas
propiedades de la especificacin.
36
Elena
Elena :
Persona
: Persona
37
asistente
Ortografico.dll
IOrtografia
38
Valores etiquetados
Extienden las propiedades de un bloque de construccin, aadiendo
nueva informacin
Restricciones
Extiende la semntica de un bloque, aadiendo reglas o modificando
las existentes.
39
<<Exception>>
Overflow
aadir()
quitar()
vaciar()
{ordenado}
restriccin
40
Perfiles de UML
Profiles (perfiles) de UML
Conjuntos pre definidos de estereotipos, valores
etiquetados, restricciones e iconos de la notacin
que juntos especializan y adaptan UML a un
dominio (modelado de negocios) o procesos
especficos ( como Rational Unified Process)
41
43
44
caso de uso
Procesar Prstamo
ResponsablePrestamos
asociacion
45
Efectuar llamada
Red
telefnica
<<extend>>
Realizar llamada de conferencia
Recibir llamada
telefnica
<<extend>>
Recibir llamada
adicional
Usar agenda
Telfono mvil
Usuario
46
Centralita
Receptor
Emisor_listo
Tono
Efectuar_llamada
Marca_nmero
Tono_sonando
Timbre_sonando
Telefono_cogido
Para_tono
Para_timbre
ESCENARIO
CASO DE USO
47
Actores
Un actor representa un conjunto coherente de roles que
juegan los usuarios de los casos de uso al interaccionar
con el sistema.
Roles jugados por personas, dispositivos, u otros
sistemas.
No forman parte del sistema
Inician la ejecucin de los casos de uso
49
Actores
Un usuario puede jugar diferentes roles.
En la realizacin de un caso de uso pueden intervenir
diferentes actores.
Un actor puede intervenir en varios casos de uso.
Identificar casos de uso mediante actores y eventos
externos.
Un actor necesita el caso de uso y/o participa en l.
50
Actores
A. Cockburn distingue dos tipos de actores:
Primarios:
Requieren al sistema el cumplimiento de un objetivo
Secundarios:
El sistema necesita de ellos para satisfacer un objetivo
51
Mquina de reciclado:
Botes
Recibo
Cajas de botellas
Botellas
Devolver
tems
Modif.
tems
Usuario
Actor
Listar
diario
Operador
Asociacin
56
57
Interactuar con
ATM
CASO DE USO
ESCENARIO
61
Comprar Articulos
Cajero
Cliente
:Sistema
: Cajero
introducirItem(upc,cantidad)
finalizarVenta()
hacerPago(cantidad)
Reservar Libro
Prestamo revista
Profesor
Prestamo Libro
Devolver revista
Devolver libro
Actualizar catalogo
Socio
Extender Prestamo
Consultar
Bibliotecario
Socio
64
Algunas consideraciones
Cdu consulta
Cdu CRUD
Create/Read/Update/Delete
cdu Manage X
Rellenar Pedido
Analizar Viabilidad
Cliente
JefeTecnico
Cursar Pedido
Ordenar Fabricacion
Planificar Produccion
JefeProduccion
Comercial
caso de uso
colaboracin
Hacer Pedido
Gestin Pedidos
realizacin
68
: Interfaz Compra
: CarroCompra
: Producto
iniciarCompra()
nuevoCarroCompra(cliente)
seleccProducto(cantidad)
obtenerDescripcionDe(prod)
cargarProd(cliente,prod,cantidad)
confirmarCompra()
confirmarCompraDe(cliente)
decremStock(cantidad)
69
70
Inclusin
Un c.d.u. base incorpora explcitamente el comportamiento de
otro en algn lugar de su secuencia.
Extensin
Un c.d.u. base incorpora implcitamente el comportamiento de
otro c.d.u. en el lugar especificado indirectamente por este
otro c.d.u.
71
Ejemplo
Relacin de extensin
extend
Hacer Pedido
(establecer
prioridad)
include
Relacin de
inclusin
Seguir Pedido
Validar Usuario
include
Hacer Pedido
Urgente
Comprobar clave
Generalizacin
Examinar retina
72
Relacin de inclusin
Permite factorizar un comportamiento en un caso de
uso aparte y evitar repetir un mismo flujo en diferentes
casos de uso.
Ejemplo caso de uso Seguir Pedido:
Obtener y verificar el nmero de pedido. Include (Validar
usuario). Examinar el estado de cada parte del pedido y
preparar un informe para el usuario.
73
Relacin de extensin
El caso de uso base incluye una serie de puntos de
extensin.
Sirve para modelar
la parte opcional del sistema
un subflujo que slo se ejecuta bajo ciertas condiciones
varios flujos que se pueden insertar en un punto
identificador / historia
Descripcin
objetivo a conseguir
Actores
lista de actores
Asunciones
Pasos
Variaciones
(opcional) cualquier variacin en los pasos
No-funcional (opcional) lista requisitos no funcionales
Cuestiones
Lista de cuestiones que permanecen por
resolver
76
77
Ejemplo
Caso de Uso
Ordenar Fabricacin
Descripcin
Se crearn rdenes de trabajo para cada producto solicitado en el pedido, y sern enviadas al jefe de
produccin para su planificacin.
Jefe tcnico
Es viable la fabricacin de cada producto solicitado en el pedido.
Existe una plantilla de fabricacin para cada producto solicitado.
1. REPETIR
1.1 Obtener un producto del pedido.
1.2 Buscar la plantilla de fabricacin asociada al producto.
1.3 Crear la orden de trabajo.
1.4 Almacenar la orden de trabajo con el estado pendiente.
-
Actores
Asunciones
Pasos
Variaciones
Req. No Funcionales
Cuestiones
79
Sistema
Actor principal
Objetivo
Compaa Seguros
Asegurado
Cobrar seguro accidente
80
82
(B.Meyer, E. Berard)
85
Granularidad
(M. Fowler)
Diferente granularidad
Un caso de uso puede describir:
Un objetivo o propsito del usuario
Una interaccin con el sistema
Granularidad
(A. Cockburn)
Organizacin
Objetivo estratgico para la empresa, de mucho
valor
Subfunciones
Un paso en la descripcin de un caso de uso
(validar, buscar, log on)
87
(Larman)
90
Recomendaciones
(M. Fowler)
91
Recomendaciones
A. Pols
92
Recomendaciones
(A. Pols)
93
Especificacin de requisitos
La ERS (Especificacin de Requisitos del Software)
puede estar formada por:
Diagrama de casos de uso
Modelo del dominio (modelo conceptual)
(Para cada caso de uso)
Descripcin textual (usando una plantilla)
Descripciones de las interfaces de usuario
Requisitos no funcionales
94
Si se producen componentes
Asociarle su propio caso de uso
95