La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lenguaje de Modelación Unificado

Presentaciones similares


Presentación del tema: "Lenguaje de Modelación Unificado"— Transcripción de la presentación:

1 Lenguaje de Modelación Unificado
12/02/13 Lenguaje de Modelación Unificado Diagramas de Clase U Unified L M Modeling Language

2 La notación UML 12/02/13 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.

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

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

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

6 La notación UML 12/02/13 Objeto Entidad con identidad única que encapsula estado y comportamiento 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

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

8 <<utility>>
La notación UML 12/02/13 Utilitarios 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. <<utility>> Math seno(Ángulo): Real coseno(Ángulo): Real raiz2(Real): Real aleatorio():Real

9 Modelo del dominio: sumando los atributos
Caso de Estudio:PV 12/02/13 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 dirección: Text nombre: Text Venta fecha: Fecha hora: Tiempo * 1 realiza

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

11 Identifique todos los elementos (tarea en clase)
La notación UML 12/02/13 Identifique todos los elementos (tarea en clase) 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 Relaciones Conexión semántica entre elementos del modelo asociación
La notación UML 12/02/13 Relaciones Conexión semántica entre elementos del modelo asociación binaria agregación composición generalización dependencia

13 Asociación Binaria ¿Qué es una asociación??
12/02/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. La flecha -opcional- indica la dirección de lectura del nombre de la asociación Compañía Persona Multiplicidad de la asociación emplea 1..* 1

14 Asociación binaria incluye:
La notación UML 12/02/13 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 Persona jefe * 0..1 empleado 1..* 1 emplea dirige

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

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

17 Roles Una asociación tiene roles
12/02/13 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 Línea de producto * Pedido de producto cantidad precio ¿satisfecho?

18 Nombre del rol Rol = identifica el extremo de la asociación
12/02/13 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 Persona trabaja para nombre cédula de Identidad dirección empresa empleado Persona gerente nombre cédula de Identidad dirección vendedor supervisa

19 Convenciones para asociaciones
12/02/13 Convenciones para asociaciones Convención de lectura de los nombres de las asociaciones LíneaAérea 1 Emplea 1..* Piloto Asignado-a Vuelo Asignado-a Ruta 1 * * 1 1 * Supervisa

20 Guías para identificar asociaciones
12/02/13 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ónItem _______________ descripción precio identificador Item _____________ númeroSerial 1 *

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

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

23 A partir de la definición, por agregación, de la Clase Polígono,
La notación UML 12/02/13 Diagrama de objetos A partir de la definición, por agregación, de la Clase Polígono, Polígono Punto 1 3..* es posible obtener el diagrama de objetos correspondiente al objeto triángulo 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

24 Asociación n-aria Vuelo Asiento Persona reservación asiento vuelo
12/02/13 Asociación n-aria Vuelo Asiento Persona asiento vuelo pasajero reservación

25 La notación UML 12/02/13 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 Moto Grúa

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

27 12/02/13 Herencia 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 12/02/13 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 <<hereda>>

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

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

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

32 asociaciones resumen: notación básica
12/02/13 asociaciones resumen: notación básica Multi- plicidad asociaciones 1 Nombre-de-la-asociación Clase B 1..* Clase A rol_B rol_A Generalización Agregación Superclase Subclase2 Subclase 3 Subclase1 Parte * 1 Todo Parte

33 12/02/13 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

34 Asociaciones complejas: ¿Qué hacer ante estas situaciones?
12/02/13 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 Clase Asociación

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

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

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

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

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

40 Clases Parametrizadas
La notación UML 12/02/13 Clases Parametrizadas 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 atributos métodos ... nombre parámetros

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

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

43 Dependencias entre clases
La notación UML 12/02/13 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 <<fuente>> <<destino>> Indica que un cambio en el fuente requiere un cambio en el destino

44 Dependencias entre clases
La notación UML 12/02/13 Dependencias entre clases <<refina>> Clase B Clase A ClaseD OperaciónZ( ) <<importa>> <<instancia>> <<usa>> ClaseC Meta: minimizar dependencias


Descargar ppt "Lenguaje de Modelación Unificado"

Presentaciones similares


Anuncios Google