1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase.
-
Upload
agapeto-ante -
Category
Documents
-
view
9 -
download
0
Transcript of 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase.
1
Lenguaje de Modelación UnificadoLenguaje de Modelación Unificado
UnifiedModelingLanguage
Diagramas de ClaseDiagramas de Clase
2
Describe la estructura estática del modelo del sistema, en particular, las clases, tipos, y objetos, su estructura interna y las relaciones
entre ellos.
Diagrama de clasesDiagrama de clasesLa notación UML
3
Construcciones generalesConstrucciones generales
Iconos
Formas 2D
strings
Caminos (path)
es parte de
La notación UML
4
Construcciones generalesConstrucciones generales
Notas
Paquete
Dependencia
Estereotipo
Esto es...
<<interfaz>>
La notación UML
5
ClaseClase
Descriptor de un conjunto de objetos con estructura similar, mismo comportamiento y relaciones
Representa un concepto en el sistema que se modela
La notación UML
Rectángulo
p1: Punto p2: Punto
<<constructor>> rectángulo(p1, p2: Punto) <<query>> área( ): Real aspecto( ): Real (...) <<update>> mover (delta:Punto) escala (radio: Real)
Rectángulo
nombre
atributos
métodos
6
ObjetoObjeto
Entidad con identidad única que encapsula estado y comportamiento
La notación UML
triángulo: Polígono
centro = (0,0) vértices = ((0,0),(4,0),(4,3)) color-borde = negro color-relleno = blanco
triángulo
:Polígono
triángulo: Polígono
7
Clase: EstereotiposClase: Estereotipos
La notación UML
Un símbolo de clase puede contener o no un estereotipo.
Estereotipos:
<<type>><<implementationClass>><<interface>><<utility>>
<<type>>Tipo de dato
<<implementationClass>>Imp. tipo de dato
<<interface>>Int. tipo de dato
Clase
<<utility>>Funciones
9
Modelo del dominio:Modelo del dominio:sumando los atributossumando los atributos
Qué es un atributo??
Una información significativa de una clase -o de su instancia- que es necesaria para la comprensión del modelo y para satisfacer un requerimiento.
Tienda
dirección: Textnombre: Text
Venta
fecha: Fechahora: Tiempo
.........
1 *
realiza
Se indica el nombre y el tipo del atributo
Caso de Estudio:PVCaso de Estudio:PV
10
GuíasGuías para modelar el dominio para modelar el dominio::Clase o atributo?Clase o atributo?
Clase o atributo?
Vuelo___________aeropuerto
Aeropuerto___________
nombreVueloO ?
11
Identifique todos los elementosIdentifique todos los elementos(tarea en clase)(tarea en clase)
La notación UML
Polígono
centro: Punto vértices: Conj-Punto color-borde = Color color-relleno = Color
........ <<constructor>> Polígono(p1,p2,p3:Punto) <<query>> área( ): Real aspecto( ): Real (...) <<update>> mover (delta:Punto) escala (radio: Real)
triángulo: Polígono
centro = (0,0) vértices = ((0,0),(4,0),(4,3)) color-borde = negro color-relleno = blanco
12
RelacionesRelaciones
Conexión semántica entre elementos del modelo asociación
binariaagregacióncomposición
generalización dependencia
La notación UML
13
Asociación BinariaAsociación Binaria
¿Qué es una asociación??
Una relación significativa entre dos clases -o entre sus instancias-
Conexión semántica entre elementos del modelo.
Compañía Persona1 1..*emplea
La flecha -opcional- indica la dirección de lectura del nombre de la asociación
Multiplicidad de la asociación
14
Asociación binariaAsociación binaria
incluye: un nombre (nombre de la asociación, vinculada
a un comportamiento específico) un rol (nombre, dirección y multiplicidad del
extremo de una asociación).
La notación UML
dirige
Compañía1 1..*
emplea
jefe
*
0..1
empleado
Persona
15
MultiplicidadMultiplicidad
Indica cuántos objetos pueden participar en la relación
Pedido
fecha¿es prepagado?número precio
despacho( )
Clientenombredirección
credito( )
1*
Adaptado de Univ. Calgary
16
MultiplicidadMultiplicidad
Indica cuántos instancias pueden participar en la relación en un momento dado
ClienteNombre..
*
ClienteNombre..
1..*
ClienteNombre..
1..10
ClienteNombre..
5
0 ó más (muchos)
1 ó más
1 a 10
Exactamente 5
17
RolesRoles
Una asociación tiene roles
El Rol tiene dirección en la asociación
El Rol es explicitamente etiquetado
Pedido
fecha¿es prepagado?número costo
despacho( )
1
*
cantidadprecio¿satisfecho?
Pedido de producto
Línea de producto
18
Nombre del rolNombre del rol
Rol = identifica el extremo de la asociación
El nombre del rol es obligatorio para asociaciones entre objetos de la misma clase
nombredirección
Compañíatrabaja para
nombrecédula de Identidaddirección
Persona
empresa empleado
nombrecédula de Identidaddirección
Personagerente
supervisavendedor
19
ConvencionesConvenciones para asociaciones para asociaciones
LíneaAérea
Supervisa
Emplea
Asignado-a
1
1..*
Piloto Vuelo RutaAsignado-a
1 1
1 *
* *
Convención de lectura de los nombres de las asociaciones
20
GuíasGuías para para identificar asociacionesidentificar asociaciones
DescripciónItem_______________
descripciónprecio
identificador
Item_____________númeroSerial
1 *
• Centrarse en las relaciones que deben ser preservadas sin depender de la existencia de instancias
• Evitar asociaciones redundantes o derivables
• Chequear lista de asociaciones típicas.
21
Sumario: notación básica para Sumario: notación básica para asociaciones binariasasociaciones binarias
Clase B Clase BNombre de la Asociación
rol_Arol_B
Pedido ItemContiene
Incluído enConstituído de
Ejemplo:
22
Composición / agregaciónComposición / agregación(todo/partes)(todo/partes)
Gráficocolor
textura
1
1
Composición
Polígono Punto
13..*
Agregación
La notación UML
23
Diagrama de objetosDiagrama de objetosLa notación UML
triángulo: Polígono
punto 1: Punto
x = 0.0y= 1.0
punto 2: Punto
x = 3.0y= 1.0
punto 3: Punto
x = 3.0y= 5.0
Polígono Punto
13..*
es posible obtener el diagrama de objetos correspondiente al objeto triángulo
A partir de la definición, por agregación, de la Clase Polígono,
24
Asociación n-ariaAsociación n-aria
Vuelo Asiento
Persona
asientovuelo
pasajero
reservación
25
EspecializaciónEspecialización
Dada una clase, se crea otra clase (subclase) que especializa la clase dada, agregando las diferencias (adición, supresión o redefinición de propiedades)
Vehículo
Carro MotoGrúa
La notación UML
26
GeneralizaciónGeneralización
Se crea una clase (superclase), que generaliza las propiedades comunes de varias clases
Carro MotoGrúa
Vehículo
La notación UML
27
HerenciaHerencia
Mecanismo mediante el cual elementos más específicos incorporan la estructura y el comportamiento de elementos más generales
vehículo
carro
<<hereda>>
28
HerenciaHerencia
Una clase B hereda de una clase A si adquiere las propiedades (estructura y comportamiento) definidas en la clase A
A es una superclase de la clase B
B es una subclase de la clase A.
A
B
<<hereda>>
29
Herencia SimpleHerencia Simple
Una clase B hereda de una y solo una clase A
Peces
Peces de colores
<<hereda>>
30
Herencia MúltipleHerencia Múltiple
<<hereda>>
Una clase Z hereda de dos o más clases X, Y
Aves
Loros
Mascotas
31
Vehículo
Vehículoaeréo
Vehículoterrestre
VehículoAcuático
Aviones acuaticos
Herencia múltipleHerencia múltipleLa notación UML
32
asociacionesasociacionesresumen: notación básicaresumen: notación básica
Clase B Clase ANombre-de-la-asociación
rol_Arol_B
Superclase
Subclase2 Subclase 3Subclase1
Parte*
1
Todo
1 1..*
asociaciones
Generalización Agregación
Parte
Multi-plicidad
33
GuíasGuías para para identificar asociaciones:identificar asociaciones:lista de categorías de asociacioneslista de categorías de asociaciones
Categoría Sistema
A es parte física de B Cabeza - Cuerpo
A está contenida en B Producto - Tienda
A es una descripción de B Características del Producto - producto
A es miembro de B Cajero - Tienda
A se comunica con B Cliente - Cajero
34
Asociaciones complejas:Asociaciones complejas:¿Qué hacer ante estas situaciones?¿Qué hacer ante estas situaciones?
• Un atributo está relacionado a una asociación
• Hay dos clases asociadas y no se tiene claro en cual clase colocar un atributo
Solución:
• Crear una clase y anexarla a la asociación
35
Asociaciones complejas:Asociaciones complejas:Clase AsociaciónClase Asociación
Se utiliza cuando los atributos no pertenecen a las clases sino a la asociación
prioridadderechoAcceso
UsuarioAutorizado en EstaciónTrabajo
Autorización
inicioSesión
Directorio
36
Diagrama de ClasesDiagrama de Clases
Elementos del modelo
Vistas del modelo
Diagrama Proyección+placement:ListOfPoint+ style: Uninterpreted
1..* 0..*
proyección
Diagrama de Estado
Diagrama de Casos de Uso
Diagrama de Clases
Diagrama de Actividad
Diagrama de Objetos
(…)
La notación UML
38
Bibliografía recomendada:
- Martin Fowler. UML Distilled. 3a Ed. Addison-Wesley 2004
- www. omg.org