![Page 1: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/1.jpg)
1
Lenguaje de Modelación UnificadoLenguaje de Modelación Unificado
UnifiedModelingLanguage
Diagramas de ClaseDiagramas de Clase
![Page 2: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/2.jpg)
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
![Page 3: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/3.jpg)
3
Construcciones generalesConstrucciones generales
Iconos
Formas 2D
strings
Caminos (path)
es parte de
La notación UML
![Page 4: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/4.jpg)
4
Construcciones generalesConstrucciones generales
Notas
Paquete
Dependencia
Estereotipo
Esto es...
<<interfaz>>
La notación UML
![Page 5: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/5.jpg)
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
![Page 6: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/6.jpg)
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
![Page 7: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/7.jpg)
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
![Page 8: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/8.jpg)
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
![Page 9: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/9.jpg)
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 ?
![Page 10: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/10.jpg)
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
![Page 11: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/11.jpg)
12
RelacionesRelaciones
Conexión semántica entre elementos del modelo asociación
binariaagregacióncomposición
generalización dependencia
La notación UML
![Page 12: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/12.jpg)
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
![Page 13: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/13.jpg)
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
![Page 14: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/14.jpg)
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
![Page 15: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/15.jpg)
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
![Page 16: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/16.jpg)
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
![Page 17: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/17.jpg)
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
![Page 18: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/18.jpg)
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
![Page 19: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/19.jpg)
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.
![Page 20: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/20.jpg)
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:
![Page 21: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/21.jpg)
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
![Page 22: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/22.jpg)
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,
![Page 23: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/23.jpg)
24
Asociación n-ariaAsociación n-aria
Vuelo Asiento
Persona
asientovuelo
pasajero
reservación
![Page 24: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/24.jpg)
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
![Page 25: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/25.jpg)
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
![Page 26: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/26.jpg)
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>>
![Page 27: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/27.jpg)
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>>
![Page 28: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/28.jpg)
29
Herencia SimpleHerencia Simple
Una clase B hereda de una y solo una clase A
Peces
Peces de colores
<<hereda>>
![Page 29: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/29.jpg)
30
Herencia MúltipleHerencia Múltiple
<<hereda>>
Una clase Z hereda de dos o más clases X, Y
Aves
Loros
Mascotas
![Page 30: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/30.jpg)
31
Vehículo
Vehículoaeréo
Vehículoterrestre
VehículoAcuático
Aviones acuaticos
Herencia múltipleHerencia múltipleLa notación UML
![Page 31: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/31.jpg)
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
![Page 32: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/32.jpg)
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
![Page 33: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/33.jpg)
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
![Page 34: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/34.jpg)
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
![Page 35: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/35.jpg)
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
![Page 36: 1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase](https://reader034.vdocumento.com/reader034/viewer/2022051400/54c0eebc497959591d8b5588/html5/thumbnails/36.jpg)
38
Bibliografía recomendada:
- Martin Fowler. UML Distilled. 3a Ed. Addison-Wesley 2004
- www. omg.org