Ejercicios de uml
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 y edad. Los Lempleados 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()
Empleado
subordinados- sueldo_bruto + mostrar () t + calcular_salario_neto()
Cliente
- telefono_de_contacto nombre_empresa +mostrar()
0..*
1..*
empleados
0..* clientes 1..* 1
Directivo
0..*
- categoria + mostrar ()
Empresa
- nombre b
4
Ejercicio: Biblioteca
Una biblioteca tiene copias de libros Estos últimos se libros. 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 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 pposibilidad 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 Prestamo - inicio: Date - fin: Date 0..1 lector - titulo : string libro - tipo: tipoLibro 1 - editorial: string - anyo: i t int 1..* obras
1 autor
Autor
- nombre:string b ti - nacionalidad: string - fechaNacimiento: Date
tipoLibro
novela teatro poesia i ensayo
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)
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 pueden conectarse con un único Hub los Hub, servidores con uno o varios. Los Servidores y PCs pueden generar mensajes, con unacierta 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. 7
Ejercicio. Ejercicio Posible Solución. Solución
“Los PCs pueden conectarse con un único Hub, los servidores con uno o varios” 8 Podemosmodelarlo 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 p p , realizar pedidos de productos, de los cuales se anota la cantidad en stock. Un cliente puede tener una o varias cuentas para el pago de los pedidos. Cada...
Regístrate para leer el documento completo.