fotos
Juan de Lara
Grupo 46
G
Curso 2008/09
1
Indice
Diagramas de clases y
OCL.
OCL
Diagramas de Transición de Estados
Diagramas de Interacción.
2
Ejercicio
Representa mediante un diagrama de clases la siguiente
especificación:
Una aplicación necesita almacenar información sobre
empresas, sus empleados y sus clientes.
Ambos se caracterizan por su nombre yedad.
Los
L empleados ti
l d tienen un sueldo b t l empleados que
ld bruto, los
l d
son directivos tienen una categoría, así como un conjunto de
empleados subordinados.
p
De los clientes además se necesita conocer su teléfono de
contacto.
La
L aplicación necesita mostrar l
li
ió
it
t
los d t
datos d empleados y
de
l d
clientes.
3
Ejercicio
Persona
- nombre
- edad
+mostrar()
Cliente
Empleado
subordinados
0..*
- sueldo_bruto
- telefono_de_contacto
nombre_empresa
+ mostrar ()
t
+ calcular_salario_neto()
1..*
empleados
+mostrar()
0..* clientes
1..*
Directivo
0..*
- categoria
+ mostrar ()
1
Empresa
- nombre
b
4
Ejercicio: Biblioteca
Una biblioteca tiene copias de libros Estos últimos se
libros.
caracterizanpor 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
identificador,
biblioteca, prestada, con retraso o en reparación.
Los lectores pueden tener un 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
p
posibilidad de coger un nuevo libro.
Realiza un diagrama de clases y añade los métodos
necesarios para realizar el prestamo y devolución de
libros.
Libro
Copia
- id : Identifier
ejemplar
- estado: estadoCopia 1..*
0..3 prestamos
- titulo : string
libro - tipo: tipoLibro
1 - editorial: string
- anyo: i t
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()}
+ prestar(id: Identifier, fechaAct: Date)
{precondition: multa==0}
- multar(dias : int)
- nombre: string
b
ti
- nacionalidad: string- fechaNacimiento: Date
tipoLibro
novela
teatro
poesia
i
ensayo
multa 0..1
Multa
- fInicio: Date
- fFin: Date
estadoCopia
prestado
retraso
biblioteca
reparacion
Ejercicio
Especificar un diagrama de clases que describa redes
de ordenadores.
Los elementos que se pueden incluir en la red son:
Servidor, PC, Impresora.
S id PC I
Hub, Cable de red.
Los PCs puedenconectarse con un único Hub los
Hub,
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
Hubs.
Tienen cierta probabilidad de “perder” mensajes.
Las impresoras pueden averiarse, con cierta
probabilidad, durante cierto tiempo.
7Ejercicio.
Ejercicio Posible Solución.
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
“Los PCs pueden conectarse con un único Hub, los servidores con uno o varios”
Context PC
Inv: cable equipo >size() = 1
cable_equipo->size()
Context Servidor
Inv:cable_equipo->size() >= 1
q p
“Un Hub no puede conectarse consigo mismo a través de un puerto”
Context Cable_Hubs
Conte t C bl H b
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 aplicación deberá
manejar clientes (se guarda su nombre, dirección, teléfono y e-mail), que pueden
realizar pedidos...
Regístrate para leer el documento completo.