Ejemplos UML
Juan de Lara
Grupo 46
46
Curso 2008/09
1
Indice
Indice
Diagramas de clases y
OCL
OCL.
Diagramas de Transición de Estados
de Transición de Estados
Diagramas de Interacción.
2
Ejercicio
Ejercicio
Representa mediante un diagrama de clases la siguiente
especificación:
Una aplicación necesita almacenar información sobre
empresas, sus empleados y susclientes.
Ambos se caracterizan por su nombre y edad.
Los empleados tienen un sueldo bruto, los empleados que
son directivos tienen una categoría, así como un conjunto de
empleados subordinados.
De los clientes además se necesita conocer su teléfono de
contacto.
La aplicación necesita mostrar los datos de empleados y
clientes.
3
Ejercicio
Ejercicio
Persona
- nombre
- edad
+ mostrar()Cliente
Empleado
subordinados
0..*
- sueldo_bruto
- telefono_de_contacto
nombre_empresa
+ mostrar ()
()
+ calcular_salario_neto()
1..*
empleados
+mostrar()
0..* clientes
1..*
Directivo
0..*
- categoria
+ mostrar ()
1
Empresa
- nombre
4
Ejercicio: Biblioteca
Ejercicio: Biblioteca
Una biblioteca tiene copias de libros. Estos últimos sebiblioteca tiene copias de libros Estos últimos se
caracterizan por su nombre, tipo (novela, teatro, poesía,
ensayo), editorial, año y autor.
Los autores se caracterizan por su nombre, nacionalidad
y fecha de nacimiento.
Cada copia tiene un identificador, y puede estar en la
copia tiene un identificador puede estar en la
biblioteca, prestada, con retraso o en reparación.
Los lectores pueden tenerun máximo de 3 libros en
préstamo
préstamo.
Cada libro se presta un máximo de 30 días, por cada día
de retraso, se impone una “multa” de dos días sin
posibilidad de coger un nuevo libro.
Realiza un diagrama de clases y añade los métodos
necesarios para realizar el prestamo devolución de
necesarios para realizar el prestamo y devolución de
libros.
Libro
Libro
Copia
- id : Identifierejemplar
- estado: estadoCopia 1..*
0..3 prestamos
- titulo : string
libro - tipo: tipoLibro
1 - editorial: string
- anyo: int
1..* obras
Prestamo
- inicio: Date
- fin: Date
1 autor
Autor
0..1 lector
Lector
- nSocio : Identifier
- nombre: string
- telefono: string
- direccion: string
+ devolver(id: Identifier, fechaAct: Date) 1
{precondition: prestamos.notEmpty()}prestamos.notEmpty()}
+ prestar(id: Identifier, fechaAct: Date)
{precondition: multa==0}
- multar(dias : int)
- nombre: string
- nacionalidad: string
- fechaNacimiento: Date
tipoLibro
novela
teatro
poesia
ensayo
multa 0..1
Multa
- fInicio: Date
- fFin: Date
estadoCopia
prestado
retraso
biblioteca
reparacion
Ejercicio
Ejercicio
Especificar un diagrama declases que describa redes
de ordenadores.
Los elementos que se pueden incluir en la red son:
Servidor, PC, Impresora.
Hub, Cable de red.
Los PCs pueden conectarse con un único Hub, los
servidores con uno o varios.
Los Servidores y PCs pueden generar mensajes, con
una cierta longitud.
Los Hubs tienen un número de puertos, algunos de los
cuales puede usarse para conectar con otros Hubs.Tienen cierta probabilidad de “perder” mensajes.
Las
Las impresoras pueden averiarse, con cierta
probabilidad, durante cierto tiempo.
7
Ejercicio Posible Solución
Ejercicio. Posible Solución.
“Los PCs pueden conectarse con un único Hub, los servidores con uno o varios”
8
Podemos modelarlo como una restricción OCL, o bien añadir asociaciones desde
Servidor y PC
OCL
OCL
“Los PCspueden conectarse con un único Hub, los servidores con uno o varios”
Context PC
Inv: cable_equipo->size() = 1
Context Servidor
Inv: cable_equipo->size() >= 1
“Un Hub no puede conectarse consigo mismo a través de un puerto”
Context Cable_Hubs
Inv: Puerto_Hub.hub->asSet()->size() = 2
9
Ejercicio
Examen Junio 2008.
Realiza el diseño de una aplicación para la gestión de pedidos. La...
Regístrate para leer el documento completo.