La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase."— Transcripción de la presentación:

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

2 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 clases La notación UML

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

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

5 5 Clase 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 > rectángulo(p1, p2: Punto) > área( ): Real aspecto( ): Real (...) > mover (delta:Punto) escala (radio: Real) Rectángulo nombre atributos métodos

6 6 Objeto 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 7 Clase: Estereotipos La notación UML Un símbolo de clase puede contener o no un estereotipo. Estereotipos: > > > > > Tipo de dato > Imp. tipo de dato > Int. tipo de dato Clase > Funciones

8 8 Utilitarios La notación UML > Math seno(Ángulo): Real coseno(Ángulo): Real raiz2(Real): Real aleatorio():Real Agrupa variables globales y procedimientos en forma de una declaración de clase. Los atributos y operaciones de un utility se interpretan como atributos globales y operaciones.

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

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

11 11 Identifique todos los elementos (tarea en clase) La notación UML Polígono centro: Punto vértices: Conj-Punto color-borde = Color color-relleno = Color > Polígono(p1,p2,p3:Punto) > área( ): Real aspecto( ): Real (...) > 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 12 Relaciones Conexión semántica entre elementos del modelo asociación binaria agregación composición generalización dependencia La notación UML

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

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

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

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

17 17 Roles 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 * cantidad precio ¿satisfecho? Pedido de producto Línea de producto

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

19 19 Convenciones para asociaciones LíneaAérea Supervisa Emplea Asignado-a 1 1..* PilotoVueloRuta Asignado-a * ** Convención de lectura de los nombres de las asociaciones

20 20 Guías para identificar asociaciones DescripciónItem _______________ descripción precio 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 21 Sumario: notación básica para asociaciones binarias Clase B Nombre de la Asociación rol_A rol_B Pedido Item Contiene Incluído enConstituído de Ejemplo:

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

23 23 Diagrama de objetos La notación UML triángulo: Polígono punto 1: Punto x = 0.0 y= 1.0 punto 2: Punto x = 3.0 y= 1.0 punto 3: Punto x = 3.0 y= 5.0 PolígonoPunto 1 3..* 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 24 Asociación n-aria VueloAsiento Persona asiento vuelo pasajero reservación

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

26 26 Generalización Se crea una clase (superclase), que generaliza las propiedades comunes de varias clases CarroMotoGrúaVehículo La notación UML

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

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

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

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

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

32 32 asociaciones resumen: notación básica Clase B Clase A Nombre-de-la-asociación rol_A rol_B Superclase Subclase2Subclase 3Subclase1 Parte * 1 Todo 1 1..* asociaciones GeneralizaciónAgregación Parte Multi- plicidad

33 33 Guías para identificar asociaciones: lista de categorías de asociaciones CategoríaSistema A es parte física de BCabeza - Cuerpo A está contenida en BProducto - Tienda A es una descripción de BCaracterísticas del Producto - producto A es miembro de BCajero - Tienda A se comunica con BCliente - Cajero

34 34 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 a la asociación

35 35 Asociaciones complejas: Clase Asociación Se utiliza cuando los atributos no pertenecen a las clases sino a la asociación prioridad derechoAcceso Usuario Autorizado en EstaciónTrabajo Autorización inicioSesión Directorio

36 36 Diagrama 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

37 37 Presenta una imagen del sistema en un instante de tiempo (un ejemplo del sistema). Diagrama de objetos La notación UML

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

39 39 una interfaz permite especificar las operaciones visibles externamente de una clase, componente, subsistema, etc. sin indicar la estructura interna Interfaces La notación UML > Comparable esIgual(String): Boolean Hash():Integer

40 40 Clases Parametrizadas La notación UML atributos métodos nombre parámetros Es un descriptor para una clase con uno o más parámetros formales no acotados. Define una familia de clases, cada una de las cuales viene dada por la asociación de valores actuales a los parámetros

41 41 Clases Parametrizadas La notación UML atributos métodos nombre parámetros Forma de los parámetros: nombre: tipo = valor por defecto nombre

42 42 Composición: diferentes formas de expresarla La notación UML Slider Scrollbar 2 1 Window Panel Header body 1 1 title 1 1 Window scrollbar[2]:Slider title: Header body: Panel Window scrollbar:Slider title: Header body: Panel 2 1 1

43 43 Dependencias entre clases Relación unidireccional semántica entre 2 (o más) elementos del modelo y existe cuándo cambios en la definición de un elemento causa cambios en el otro > Indica que un cambio en el fuente requiere un cambio en el destino La notación UML

44 44 Dependencias entre clases Clase B ClaseD OperaciónZ( ) Clase A ClaseC > La notación UML > Meta: minimizar dependencias


Descargar ppt "1 Lenguaje de Modelación Unificado Unified Modeling Language Diagramas de Clase."

Presentaciones similares


Anuncios Google