Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MODELOS CON EL
LENGUAJE UML
¿Qué es UML?
• El Unified Modeling Language (UML) es
una notación estándar desarrollada por
Grady Booch, Ivar Jacobson y Jim
Rumbaugh.
• La documentación se publica en
http://www.rational.com/uml
vocabulario, ensamble
funcionalidad del sistema,
administración
Vista diseño Vista implementación
de la
configuración
topología
Vista proceso Vista implantación del sistema,
desempeño, distribución,
escalabilidad, entrega,
throughput instalación
Beneficios del UML
caso de uso
¿Qué es un actor?
• Los actores no son parte del
sistema, sino que representan roles
que los usuarios del sistema pueden
tener
• Un actor puede intercambiar
activamente información con el
Actor sistema
• Un actor puede ser un consumidor
pasivo de información
• Un actor puede ser un proveedor de
información
• Un actor puede ser un humano, una
máquina u otro sistema
Instancias de actores
insertar 1 2 3
tarjeta 4 5 6
Iván es un 7 8 9
actor * 0 #
Tomás es un
actor
Juan como
insertar
tarjeta 1 2 3 operador
4 5 6
7 8 9
* 0 #
Juan Operador
Juan como
cliente
Cliente
Actores y fronteras del sistema
Mantenimiento
de cajeros
¿Frontera
del sistema?
Cajero automático
Sistema
Cajero del banco
¿Qué es un caso de uso?
caso de uso
• Un caso de uso es iniciado por un
actor para invocar una cierta
funcionalidad en el sistema
• Un caso de uso es un flujo completo
y significativo de eventos
• Tomados todos juntos, los casos de
uso constituyen la totalidad los
modos posibles en que el sistema
puede ser utilizado
Fuentes para los casos de uso
realizar transacciones
Cliente Banco
obtener reportes
Mantenimiento de
cajeros
«extend»
colocar pedido tiene un punto (más pedidos)
de extensión para inserciones. solicitar catálogo sabe
dónde se invoca en
colocar pedido solicitar catálogo
colocar pedido, pero
colocar pedido no lo sabe.
Estas inserciones son
explícitas en colocar pedido. «include» «include» «include»
generalización
Agencia
pagar boleto
check in Empleado
«include» «extend» mostrador
abordar
Sobrecargo
entregar equipaje
Documentación
a) Completo
Libro Libro
e) Sólo nombre
d) Nombre y compartimentos
Estereotipos de clases
«frontera» «entidad» «control»
Libro Libro Libro
precio precio precio
cantidadEnExistencia cantidadEnExistencia cantidadEnExistencia
tasaRegalías tasaRegalías tasaRegalías
agotado agotado agotado
añoPublicación añoPublicación añoPublicación
calcularTiraje() calcularTiraje() calcularTiraje()
listarAutores() listarAutores() listarAutores()
listarEdiciones() listarEdiciones() listarEdiciones()
reexpresarPrecio() reexpresarPrecio() reexpresarPrecio()
V
Libro Libro Libro
T
Libro Autor
Libro Autor
Nombre de la asociación
• A las asociaciones se les puede poner un nombre para hacer más
claro su significado
• El nombre se representa como una etiqueta colocada a lo largo
de la línea de la asociación, a medio camino entre los iconos de
las clases
• Un nombre de asociación es usualmente un verbo o una frase
verbal
Curso Estudiante
0..* 3..15
Agregación
• La agregación es una forma especializada de asociación en la
cual un todo se relaciona con alguna o algunas de sus partes
• La agregación es una relación “parte de”
• Una agregación se representa como una asociación con un
rombo pegado a la clase que denota el agregado (todo)
• La multiplicidad se representa del mismo modo que en las
asociaciones débiles
Catálogo Libro
1..*
Agregación
ComputadoraPersonal
1 1 1 1
1..* 1 0..1 1
Monitor CajaSistema Ratón Teclado
1 1
1 1
1 1 0..* 0..1
Chasís Procesador RAM Ventilador
Agregación
Ventana
1 1
1 1
1 1 0..2 1
1 1 1 1 1
1 1 0..* 2 1
0..*
Los objetos Curso y sus objetos Curso
Prerrequisito
prerrequisito son independientes
Composición
CuerpoHumano
• Es una forma de agregación con una
fuerte apropiación y un ciclo vital
coincidente de las partes con el todo
1 1 0..4
• El cuerpo humano es un compuesto
Cabeza Tronco Extremidad
• La multiplicidad de la terminación en el
agregado no puede ser mayor que uno
(el agregado no puede ser compartido)
CuerpoHumano • Las partes con multiplicidad > 1 pueden
ser creadas después que el agregado,
1 Cabeza
pero una vez creadas viven y mueren
con él
1
• Prótesis
Tronco
• Estas partes pueden ser removidas del
agregado (señalado con un rombo
0..4 Extremidad relleno) antes de que muera
Asociaciones reflexivas
Autor
0..*
0..* EsCoautor
cursos
disponibles
Un diagrama de secuencia
1: captar identificación
2: validar identificación
3: semestre a cursar
tramitar cursos
Una llamada de emergencia
teléfono que línea telefónica teléfono que
llama recibe la llamada
iniciar llamada
emitir tono de marcar
recibir el dígito 9
finalizar tono de marcar
recibir el dígito 1
recibir el dígito 1
emitir señal de llamando sonar el teléfono
iniciar respuesta
terminar la señal de llamando terminar de sonar el teléfono
colgar
terminar la conexión terminar la conexión
colgar
Foco de control
• El foco de control representa el tiempo relativo que el flujo de control se enfoca en un
objeto
• Representa el tiempo durante el que un objeto está dirigiendo mensajes
• Los diagramas de secuencia pueden mostrar el foco de control
2: validar identificación
3: semestre a cursar
6: tramitar cursos
Una computación
A B C
f()
crear
g()
h()
destruir
return
Notas
• Se pueden añadir notas para agregar más información
al diagrama
cursos disponibles
para el semestre
seleccionado
formulario de cursos
programa disponibles
tramitar cursos
Scripts
• Para escenarios complejos, los diagramas de secuencia pueden ampliarse mediante el
uso de scripts
• Los scripts se escriben en la parte izquierda de los diagramas de secuencia, con los
pasos del script alineados con las interacciones de los objetos
• Los scripts pueden escribirse en lenguaje ordinario o seudocódigo
formulario de un curso
programa
2: validar identificación
3: semestre a cursar
4: crear nuevo programa
5: mostrar
6: tramitar cursos
7: inscribir
8: procesar
9: listar prerrequisitos
10: prerrequisito tomado
11: matricular estudiante (Juan)
12: inscripción completada
13: imprimir
14: facturar
Inscripción
2: validar identificación
calendario
1: captar identificación
3: semestre a cursar formulario de inscripción
4: crear nuevo programa
13: imprimir
registro estudiantil
7: inscribir 10: prerrequisito tomado
8: procesar 5: mostrar
14: facturar
Juan : Estudiante
12: inscripción completada formulario de programa facturación
9: listar prerrequisitos
cursos disponibles
matrícula de cursos
Una llamada de emergencia
1: iniciar llamada
teléfono que llama 3: recibir el dígito 9
5: recibir el dígito 1
6: recibir el dígito 1
15: colgar
12: colgar
9: iniciar respuesta