Upload
trinhdat
View
233
Download
2
Embed Size (px)
Citation preview
ObjetosModelo de Clases UML
• El Lenguaje de Modelado Unificado. G. Booch, J. Rumbaugh,
I. Jacobson. Addison Wesley, 1999.
Bibliografía
1. Diagrama de clases UML
1.1. Clases
1.2. Asociaciones
1.3. Generalizaciones
2. Mecanismos de extensión
2.1. Restricciones
3. Ejemplo
Índice de Contenido
Clases
1. Diagrama de clases UML 1.1. Clases
Persona
nombre
dirección
teléfonos
crear()
eliminar()
Nombre
Atributo: tipo = valor {propiedad}
Método (parámetros):tipo {propiedad}
Responsabilidades
Persona
Descripción de un conjunto de objetos que comparten los mismos atributos,
operaciones, relaciones y semántica.
Pueden ser concretas o abstractas
Visibilidad:
+ público
# protegido
- privado
Asociación
Nombre
rol rol
multiplicidad multiplicidad
navegavilidad
Trabaja_en
empleado patrón
1..* 1Persona Empresa
1.2. Asociaciones1. Diagrama de clases UML
Multiplicidad:0, 1 N..M* 3..*1 2..53, 4, 6..*
Las asociaciones representan relaciones existentes entre clases.
Asociaciones: - Binarias
- Reflexivas
- Ternarias
Dirección del nombre
Rol empleado: Relación de Persona con respecto a Empresa
Asociación n-aria
* *
Equipo Temporada
Las asociaciones representan relaciones existentes entre más de dos
clases.
Jugador
*jugador
añoequipo
1.2. Asociaciones1. Diagrama de clases UML
Clases de Asociación
empleado patrón
1..* 1Persona Empresa
En una asociación entre dos clases, la propia asociación puede tener
atributos.
Trabaja_En
Descripción
Fecha_Contratación
Salario
1.2. Asociaciones1. Diagrama de clases UML
Agregación:
Universidad Estudiante
Composición (agregación física):
Parte
Todo
Universidad Departamento
1..* 1..*
1 1..*
Una agregación es una asociación que permite representar objetos
compuestos. Cuando los objetos de una clase (TODO) están compuestos
por la unión de los objetos de otra clase (PARTE) existe una agregación.
1.2. Asociaciones1. Diagrama de clases UML
Generalización:
Padre
Hijo Hijo Persona
Hombre MujerParcial
Exclusiva
La generalización es una asociación entre una clase más general (super-
clase o clase padre) y una clase más específica (subclase o clase hija).
Lleva implícito dos principios: herencia (simple o múltiple) e inclusión.
1.3. Generalización1. Diagrama de clases UML
Herencia Múltiple:
Animal
Bípedo Cuadrúpedo
Con Pelos
Con Plumas
Con Escamas
Herbívoro
Carnívoro
cubertura
cobertura
cobertura
comida
nro patas nro patas
comida
Conejo
1.3. Generalización1. Diagrama de clases UML
Mecanismos de extensión de UML
2. Mecanismos de extensión
• Estereotipos: palabras claves que alteran el
significado o funcionalidad de un elemento.
<<persistent>>
• Valor etiquetado: comentarios que permiten añadir
información al elemento. {versión=3.1}
• Restricción: limitan la funcionalidad de un
elemento. {edad>18}
•Permiten adecuar la semántica de los elementos de modelos
particulares
•Extienden las posibilidades de anotación
Restricciones:
Empleado
Curso
{restricción} OCL
Restricciones sobre asociaciones
ImparteRecibe {or}
Empleado
Departamento
DirigePertenece
{subconjunto}
Curso
Alumnos
{ordenado}
2. Mecanismos de extensión 2.1. Restricciones
Restricciones sobre generalizaciones
2. Mecanismos de extensión 2.1. Restricciones
Persona
AlumnoDocente
parcial y solapada
{overlapping, incomplete}
total y solapada
{overlapping, complete}
Persona
AlumnoEmpleado
Empleado
VendedorAnalista
{disjoint, incomplete}
parcial y exclusiva
Persona
MujerHombre
{disjoint, complete}
total y exclusiva
Consejos prácticos. No comenzar construyendo diagramas de clases;
primero, es necesario comprender el problema. Intentar mantener el Modelo sencillo. Seleccionar con cuidado los nombres. No introducir punteros o referencias a otros objetos
como atributos. Intentar evitar asociaciones n- arias. No intentar establecer el grado de multiplicidad
perfecto al principio. No introducir atributos de enlace dentro de la clase. Utilizar asociaciones cualificadas donde sea posible. Intentar evitar generalizaciones profundamente
anidadas. Intentar asociaciones uno a uno. No se sorprenda si su modelo requiere una revisión. Documentar siempre los Modelos de Objetos.
Un estudio de arquitectura desea crear una base de datos para gestionar sus proyectos. Nos dan
las siguientes especificaciones:
• Cada proyecto tiene un código y un nombre. Un proyecto tiene uno y solo un jefe de
proyecto y un jefe de proyecto sólo puede estar involucrado en un proyecto o en ninguno.
• De cada jefe de proyecto se desean recoger sus datos personales (código, nombre,
dirección y teléfono). Un jefe de proyecto se identifica por un código. No hay dos nombres
de jefe de proyecto con el mismo nombre.
• Un proyecto se compone de una serie de planos, pero éstos se quieren guardar de modo
independiente al proyecto. Es decir, si en un momento dado se dejara de trabajar en un
proyecto, se desea mantener la información de los planos asociados.
• De los planos se desea guardar su número de identificación, la fecha de entrega, los
arquitectos que trabajan en él y un dibujo del plano general con información acerca del
número de figuras que contiene.
• Los planos tienen figuras. De cada figura se desea conocer, el identificador, el nombre, el
color, el área y el perímetro. Además, de los polígonos se desea conocer el número de
líneas que tienen, además de las líneas que lo forman. El perímetro se desea que sea un
método diferido; el área se desea implementarlo como genérico para cualquier tipo de
figura, pero además se desea un método específico para el cálculo del perímetro de los
polígonos.
• De cada líneas que forma parte de un polígono se desea conocer el punto de origen y el de
fin (según sus coordenadas, X e Y), así como la longitud. Cada línea tiene un identificador
que permite diferenciarlo del resto. La longitud de la línea se puede calcular a partir de sus
puntos origen y final.
3. Ejemplo
La cadena de Video-Clubs Glob-Gusters ha decidido, para mejorar su
servicio, emplear una base de datos para almacenar la información
referente a las películas que ofrece en alquiler. Esta información es la
siguiente:• Una película se caracteriza por su título, nacionalidad, productora y
fecha (p.e., “Quo Vadis”, “Estados Unidos”, “M.G.M.”, 1955).
• En una película pueden participar varios actores (nombre,
nacionalidad, sexo) algunos de ellos como actores principales.
• Una película está dirigida por un director (nombre, nacionalidad).
• De cada película se dispone de uno o varios ejemplares diferenciados
por un número de ejemplar y caracterizados por su estado de
conservación.
• Un ejemplar se puede encontrar alquilado a algún cliente (DNI,
nombre, dirección, teléfono). Se desea almacenar la fecha de
comienzo del alquiler y la de devolución.
• Cada socio puede tener alquilados, en un momento dado, 4
ejemplares como máximo.
• Un socio tiene que ser avalado por otro socio que responda de él en
caso de tener problemas en el alquiler.
Enunciado 1