Lenguaje de Modelacin Unificado Diagramas de Clase Unified

  • Slides: 36
Download presentation
Lenguaje de Modelación Unificado Diagramas de Clase Unified Modeling Language 1

Lenguaje de Modelación Unificado Diagramas de Clase Unified Modeling Language 1

La notación UML Diagrama de clases Describe la estructura estática del modelo del sistema,

La notación UML Diagrama de clases Describe la estructura estática del modelo del sistema, en particular, las clases, tipos, y objetos, su estructura interna y las relaciones entre ellos. 2

La notación UML Construcciones generales Iconos Formas 2 D strings Caminos (path) es parte

La notación UML Construcciones generales Iconos Formas 2 D strings Caminos (path) es parte de 3

La notación UML Construcciones generales Notas Paquete Dependencia Estereotipo Esto es. . . <<interfaz>>

La notación UML Construcciones generales Notas Paquete Dependencia Estereotipo Esto es. . . <<interfaz>> 4

La notación UML Clase Descriptor de un conjunto de objetos con estructura similar, mismo

La notación UML Clase Descriptor de un conjunto de objetos con estructura similar, mismo comportamiento y relaciones Representa un concepto en el sistema que se modela nombre atributos métodos Rectángulo p 1: Punto p 2: Punto <<constructor>> rectángulo(p 1, p 2: Punto) <<query>> área( ): Real aspecto( ): Real (. . . ) <<update>> mover (delta: Punto) escala (radio: Real) Rectángulo 5

La notación UML Objeto Entidad con identidad única que encapsula estado y comportamiento triángulo:

La notación UML Objeto Entidad con identidad única que encapsula estado y comportamiento triángulo: Polígono centro = (0, 0) vértices = ((0, 0), (4, 3)) color-borde = negro color-relleno = blanco : Polígono triángulo: Polígono 6

La notación UML Clase: Estereotipos Un símbolo de clase puede contener o no un

La notación UML Clase: Estereotipos Un símbolo de clase puede contener o no un estereotipo. Estereotipos: <<type>> <<implementation. Class>> <<interface>> <<utility>> <<type>> Tipo de dato <<implementation. Class>> Imp. tipo de dato <<interface>> Int. tipo de dato Clase <<utility>> Funciones 7

Caso de Estudio: PV Modelo del dominio: sumando los atributos Qué es un atributo?

Caso de Estudio: PV Modelo del dominio: sumando 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. Se indica el nombre y el tipo del atributo Tienda Venta * 1 dirección: Text nombre: Text realiza fecha: Fecha hora: Tiempo. . 9

Guías para modelar el dominio: Clase o atributo? Vuelo ______ aeropuerto O? Vuelo Aeropuerto

Guías para modelar el dominio: Clase o atributo? Vuelo ______ aeropuerto O? Vuelo Aeropuerto ______ nombre 10

La notación UML Identifique todos los elementos (tarea en clase) Polígono triángulo: Polígono centro

La notación UML Identifique todos los elementos (tarea en clase) Polígono triángulo: Polígono centro = (0, 0) vértices = ((0, 0), (4, 3)) color-borde = negro color-relleno = blanco centro: Punto vértices: Conj-Punto color-borde = Color color-relleno = Color. . . . <<constructor>> Polígono(p 1, p 2, p 3: Punto) <<query>> área( ): Real aspecto( ): Real (. . . ) <<update>> mover (delta: Punto) escala (radio: Real) 11

La notación UML Relaciones Conexión semántica entre elementos del modelo asociación binaria agregación composición

La notación UML Relaciones Conexión semántica entre elementos del modelo asociación binaria agregación composición generalización dependencia 12

Asociación Binaria ¿Qué es una asociación? ? Una relación significativa entre dos clases -o

Asociació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 La flecha -opcionalmodelo. indica la dirección de lectura del nombre de la asociación Compañía 1 emplea 1. . * Persona Multiplicidad de la asociación 13

La notación UML Asociación binaria incluye: un nombre (nombre de la asociación, vinculada a

La notación UML Asociació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). Compañía 1 emplea 1. . * Persona empleado * jefe 0. . 1 dirige 14

Multiplicidad Indica cuántos objetos pueden participar en la relación Pedido fecha ¿es prepagado? número

Multiplicidad Indica cuántos objetos pueden participar en la relación Pedido fecha ¿es prepagado? número precio * Cliente nombre 1 dirección credito( ) despacho( ) Adaptado de Univ. Calgary 15

Multiplicidad Indica cuántos instancias pueden participar en la relación en un momento dado *

Multiplicidad Indica cuántos instancias pueden participar en la relación en un momento dado * Cliente Nombre. . 1. . 10 Cliente Nombre. . 5 Cliente Nombre. . 0 ó más (muchos) 1 ó más 1 a 10 Exactamente 5 16

Roles Una asociación tiene roles fecha ¿es prepagado? número costo El Rol tiene dirección

Roles Una asociación tiene roles fecha ¿es prepagado? número costo El Rol tiene dirección en la asociación Pedido despacho( ) 1 Línea de producto El Rol es explicitamente etiquetado * Pedido de producto cantidad precio ¿satisfecho? 17

Nombre del rol Rol = identifica el extremo de la asociación Compañía nombre dirección

Nombre del rol Rol = identifica el extremo de la asociación Compañía nombre dirección Persona trabaja para empresa empleado nombre cédula de Identidad dirección El nombre del rol es obligatorio para asociaciones entre objetos de la misma clase gerente supervisa Persona nombre cédula de Identidad dirección vendedor 18

Convenciones para asociaciones Convención de lectura de los nombres de las asociaciones Línea. Aérea

Convenciones para asociaciones Convención de lectura de los nombres de las asociaciones Línea. Aérea 1 Emplea 1. . * Asignado-a Piloto 1 1 * Vuelo Asignado-a * Ruta 1 * Supervisa 19

Guías para identificar asociaciones • Centrarse en las relaciones que deben ser preservadas sin

Guías para identificar asociaciones • 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. Descripción. Item ________ descripción precio identificador 1 * Item _______ número. Serial 20

Sumario: notación básica para asociaciones binarias Nombre de la Asociación Clase B rol_A rol_B

Sumario: notación básica para asociaciones binarias Nombre de la Asociación Clase B rol_A rol_B Ejemplo: Pedido Contiene Constituído de Incluído en 21 Item

La notación UML Composición / agregación (todo/partes) 1 Polígono 3. . * Punto Agregación

La notación UML Composición / agregación (todo/partes) 1 Polígono 3. . * Punto Agregación 1 1 Gráfico color textura Composición 22

La notación UML Diagrama de objetos A partir de la definición, por agregación, de

La notación UML Diagrama de objetos A partir de la definición, por agregación, de la Clase Polígono, 1 Polígono 3. . * Punto es posible obtener el diagrama de objetos correspondiente al objeto triángulo: Polígono punto 1: Punto punto 2: Punto punto 3: Punto x = 0. 0 y= 1. 0 x = 3. 0 y= 5. 0 23

Asociación n-aria Vuelo vuelo reservación asiento Asiento pasajero Persona 24

Asociación n-aria Vuelo vuelo reservación asiento Asiento pasajero Persona 24

La notación UML Especialización Dada una clase, se crea otra clase (subclase) que especializa

La notación UML Especializació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 Grúa Carro Moto 25

La notación UML Generalización Se crea una clase (superclase), que generaliza las propiedades comunes

La notación UML Generalización Se crea una clase (superclase), que generaliza las propiedades comunes de varias clases Vehículo Grúa Carro Moto 26

Herencia Mecanismo mediante el cual elementos más específicos incorporan la estructura y el comportamiento

Herencia Mecanismo mediante el cual elementos más específicos incorporan la estructura y el comportamiento de elementos más generales vehículo <<hereda>> carro 27

Herencia Una clase B hereda de una clase A si adquiere las propiedades (estructura

Herencia 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 A <<hereda>> B B es una subclase de la clase A. 28

Herencia Simple Una clase B hereda de una y solo una clase A Peces

Herencia Simple Una clase B hereda de una y solo una clase A Peces <<hereda>> Peces de colores 29

Herencia Múltiple Una clase Z hereda de dos o más clases X, Y Aves

Herencia Múltiple Una clase Z hereda de dos o más clases X, Y Aves Mascotas <<hereda>> Loros 30

La notación UML Herencia múltiple Vehículo aeréo Vehículo terrestre Vehículo Acuático Aviones acuaticos 31

La notación UML Herencia múltiple Vehículo aeréo Vehículo terrestre Vehículo Acuático Aviones acuaticos 31

asociaciones resumen: notación básica Multiplicidad asociaciones Clase B 1 Nombre-de-la-asociación 1. . * Clase

asociaciones resumen: notación básica Multiplicidad asociaciones Clase B 1 Nombre-de-la-asociación 1. . * Clase A rol_B Generalización Agregación Superclase Todo 1 Subclase 2 Subclase 3 * Parte 32

Guías para identificar asociaciones: lista de categorías de asociaciones Categoría Sistema A es parte

Guías para identificar asociaciones: lista 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 33

Asociaciones complejas: ¿Qué hacer ante estas situaciones? • • Un atributo está relacionado a

Asociaciones complejas: ¿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 asociación 34

Asociaciones complejas: Clase Asociación Se utiliza cuando los atributos no pertenecen a las clases

Asociaciones complejas: Clase Asociación Se utiliza cuando los atributos no pertenecen a las clases sino a la asociación Usuario Autorizado en Estación. Trabajo Autorización prioridad derecho. Acceso inicio. Sesión Directorio 35

La notación UML Diagrama de Clases proyección Elementos del modelo 1. . * 0.

La notación UML Diagrama de Clases proyección Elementos del modelo 1. . * 0. . * Proyección +placement: List. Of. Point + style: Uninterpreted Diagrama de Casos de Uso Diagrama de Clases Diagrama de Estado Vistas del modelo Diagrama de Actividad Diagrama de Objetos 36 (…)

Bibliografía recomendada: - Martin Fowler. UML Distilled. 3 a Ed. Addison -Wesley 2004 -

Bibliografía recomendada: - Martin Fowler. UML Distilled. 3 a Ed. Addison -Wesley 2004 - www. omg. org 38