64
1 UML UML Wilson Peláez Hernández Wilson Peláez Hernández

1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

Embed Size (px)

Citation preview

Page 1: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

1

UMLUMLUMLUML

Wilson Peláez HernándezWilson Peláez Hernández

Page 2: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

2

LAS CLASES – LAS CLASES – DIAGRAMAS DE DIAGRAMAS DE

CLASESCLASES

Page 3: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

3UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Contenido

Introducción Qué es una clase Metamodelo de una clase Representación de una clase Ejemplos representación Utilidad de la presentación Atributos Operaciones Otras características Clases y requisitos

Page 4: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

4UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Contenido

Diagramas de clase Elementos de un diagrama de clases Perspectivas de los diagramas de clases Tipos de diagramas Cardinalidad Asociación Agragación Composición Diferencia entre agregación y composición Dependencia

Page 5: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

5UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Contenido

Herencia Especificación múltiple Síntesis de notación Clases parametrizadas Ejemplos Valores Enumerados Técnica común de modelado Lecturas recomendadas

Page 6: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

6UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Introducción

Son los bloques de construcción mas importantes de cualquier sistema orientado a objetos

Se utilizan para capturar el vocabulario del sistema que se esta desarrollando.

Muchos lenguajes de programación soportan directamente el concepto de clases

Page 7: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

7UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Qué es una Clase?

Una clase es una abstracción de las cosas que forman parte de un sistema.

Representa un conjunto de entidades que tienen propiedades comunes.

Define la estructura y comportamiento de una colección de objetos

Page 8: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

8UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Una Clase representa a un tipo de objetos que comparten: Las mismas propiedades (Atributos) El mismo comportamiento (Métodos) Las mismas responsabilidades Las mismas relaciones con otros objetos

(asociaciones y agregaciones) La misma semántica dentro del sistema

Qué es una Clase?

Page 9: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

9UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Metamodelo de una clase

Page 10: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

10UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Representación de una clase en UML

En UML la clase está representada por un rectángulo con tres divisiones internas, son los elementos fundamentales del diagrama.

Cada clase debe tener un nombre que la distinga de las demás.

El nombre debe ser un sustantivo en singular

Page 11: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

11UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Representación de una clase en UML

Page 12: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

12UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Representación de una clase en UML

Page 13: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

13UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo representación Clases

Cliente Java::awt::Rectangule

Page 14: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

14UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Utilidad de la representacion de clase

Muestran los atributos y operaciones de una clase y las restricciones a que se ven sujetos, según las forma en que se conecten los objetos.

Ilustra los requerimientos funcionales del sistema (los servicios que proporcionará a los usuarios finales).

Page 15: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

15UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Atributos

Atributo: Representa una propiedad de una entidad. Cada atributo de un objeto tiene un valor que pertenece a un dominio de valores determinado.

Las sintaxis de una atributo es: Visibilidad <nombre>: tipo = valor

incial { propiedades} Donde visibilidad es uno de los siguientes:

+ público. # protegido. - privado. 

Page 16: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

16UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Operaciones

Operación: El conjunto de operaciones que describen el comportamiento de los objetos de una clase.

La sintaxis de una operación en UML es: Visibilidad nombre (lista de parámetros): tipo

que retorna { propiedades}

En las operaciones se puede indicar si los parámetros son de entrada, salida o entrada/salida.

Page 17: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

17UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Otras Características

Alcance : Específica si la característica es una instancia de clase o una instancia de objetos. (Subraya la instancia de clase).

Elemento abstracto: No existe objetos tangible ( su nombre esta en CURSIVA o explicito “abstract”)

Clase sin hijos (usa la palabra {leaf} ) Multiplicidad: Número de instancias que puede

tener una clase.

Page 18: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

18UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo

# Titular: String # Número:Long { frozen} - Saldo:Double = 0.0 - CantidadCuentas:Int= 0

Cuenta{root}

+ Constructor + Titular() : String + Número(): Long + Saldo : Double + Consigne(Double valor):Double + Retire (Double valor): void + numeroCuentas :Int {leaf}

Page 19: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

19UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Clases y requisitos

Las clases de un modelo conceptual representarán conceptos relevantes del dominio del problema sobre los que el sistema debe almacenar información, porque así se ha especificado en uno o más requisitos.

Toda clase de un modelo conceptual debe estar trazada hacia aquellos requisitos que la justifican, normalmente requisitos de información, reglas del negocio.

Un requisito puede estar modelado por varias clases, o una clase modelar varios requisitos a la vez.

Page 20: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

20UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Definir las Clases

Atributos

Operaciones

Page 21: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

21UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Diagramas de Clases

Los diagramas de clases han llegado a ser realmente la parte central dentro de los métodos orientados a objeto.

Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema.

Page 22: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

22UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Diagramas de Clase

Nivel conceptual Se cuenta con un diagrama que representa los

conceptos del dominio Nivel de especificación

Se conocen las interfaces del software. No se pueden conocer las estructuras de datos de las clases.

Nivel de implementación En este nivel se especifican las estructuras

que forman las clases especificadas en el nivel anterior

Page 23: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

23UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Conceptos Diagrama de Clases

Muestra de una manera estática la estructura de información del sistema y la visibilidad que tiene cada una de las clases, dada por sus relaciones con los demás en el modelo.

Contenido Básico: Clases (Atributos-Operaciones) Relaciones (Dependencia-Asociación- Generalización)

Contenido con mas detalles Interfaces Colaboraciones

Page 24: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

24UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Elementos de un diagrama de Clases

Page 25: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

25UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Perspectivas

Hay tres perspectivas que se pueden usar en los diagramas de clase: Conceptual. Obtendrá un diagrama que

representa los conceptos del dominio bajo estudio (Vocabulario)

Especificación. Ahora vemos el software, pero vemos las interfaces del software, no la implementación.

Implementación. En esta vista, nosotros realmente tenemos clases y ponemos la implementación real.

Page 26: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

26UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Tipos de Diagramas

Solo las relaciones (multiplicidad)

Solo un aspecto del sistema (subsistemas)

Herencia – Composición - Agregación

Detallado (Clases –atributos-operaciones- Relaciones, multiplicidad, roles, notas)

Page 27: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

27UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Cardinalidad

En UML, la cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada extremo de la relación y éstas pueden ser: uno o muchos: 1..* (1..n) 0 o muchos: 0..* (0..n) número fijo: m (m denota el número).

Page 28: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

28UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Cardinalidad

Page 29: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

29UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Asociación

La relación entre clases conocida como Asociación, permite ligar objetos que colaboran entre si.

Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.

Page 30: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

30UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo asociaciones

Page 31: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

31UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Agregación

Asociación que representa una relacion TODO – PARTE

Se caracteriza por las siguientes propiedades: Una parte puede pertenecer a varios

agregados Una parte puede existir independientemente

del agregado Una parte puede cambiar de agregado La eliminación del agregado NO implica la

eliminación de las partes Es una relación transitiva y antisimétrica

Page 32: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

32UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Notación agregación

Page 33: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

33UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Composición

Agregación “fuerete”, donde se deben cumplir las siguientes caracterizticas:

Una parte sólo puede pertenecer a un agregado a la vez

La eliminación del agregado implica la eliminación de las partes. Agregación en que las partes nacen y mueren con el todo

Page 34: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

34UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Notación Composición

Page 35: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

35UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo Diferencia Agregación - Composición

Page 36: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

36UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo agregación - composición

Un almacén posee cuentas y clientes.

Cuando se destruye el objeto almacén, tambien desaparecen los objetos cuentas asociados, mientras los objetos clientes no.

Page 37: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

37UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Dependencia

Representa un tipo de relación muy particular, en la que una clase es instanciada.

El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra

Page 38: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

38UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Herencia:(Especialización /Generalización)

Indica que una subclase hereda los métodos y atributos especificados por una súper clase.

La subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la súper clase (public y protected).

A la herencia se le conoce como una relacion ES-UN (ES – UNA)

Page 39: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

39UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo: Herencia Especialización / Generalización

Page 40: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

40UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo: Herencia Especialización / Generalización

Page 41: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

41UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Clasificación multiple

Un conjunto de objetos puede clasificarse por diferentes criterios y un mismo objeto puede clasificarse como una especialización de varias clases.

Page 42: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

42UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Síntesis notación para asociaciones

Page 43: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

43UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Restricciones sobre asociaciones

Ordenación:Indica que en el conjunto de objetos asociados existe una relación de orden y que forman una secuencia ordenada.

Exclusividad:Indica que las instancias de la clase deben participar en una sóla asociación ala vez.

Page 44: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

44UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Restricciones sobre asociaciones

Navegabilidad: Una flecha en el extremo de una asociación indica que solo es navegable en ese sentido.

Por defecto una asociación es navegable en ambos sentidos.

Page 45: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

45UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Clases parametrizadas

Clases “genéricas” que reciben parametros. Una clase parametrizada se denota con un

subcuadro en el extremo superior de la clase, en donde se especifican los parámetros que deben ser pasados.

Page 46: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

Ejemplo

Page 47: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

47UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo

Page 48: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

48UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo 2 : Subsistemas

Page 49: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

49UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Valores enumerados

Los valores enumerados permiten modelar tipos de datos simples, que sólo pueden tomar valores dentro un rango o conjunto de datos.

Los atributos de las clases pueden tener como tipo una enumeración.

Page 50: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

50UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Técnica común de modelado Revise el enunciado del problema, casos de uso

y escenarios para identificar sustantivos. Cree una lista de cantidatos. Incluya objetos

físicos y conceptos. Revise los sustantivos para ver si tienen

relevancia con el problema, así como para ver si están en contexto.

Elimine los sustantivos innecesarios. Una vez obtenidas las clases candidatas vea

como se relacionan entre sí (tipos de enlaces, roles, multiplicidad). Defina relaciones avanzadas como agregación o herencia

Page 51: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

51UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Lecturas Recomendadas

Page 52: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

52

LOS OBJETOS – LOS OBJETOS – DIAGRAMAS DE DIAGRAMAS DE

OBJETOSOBJETOS

Page 53: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

53UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Contenido

Los Objetos Instancia de una clase Representación UML de un objeto Ejemplo Diagramas de objetos Ejemplos Lecturas recomendadas Bibliografía

Page 54: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

54UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Los objetos

Un objeto representa una identidad del mundo real o inventada.

Es un concepto o una abstracción, que dispone de unos límites bien definidos, y tiene una significancia para el sistema que se pretende modelar.

Un objetos es una instancia de clase Los objetos tienen un estado y un ciclo de vida. Primero debemos crear una clase antes de poder

crear objetos o ejemplares de esa clase

Page 55: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

55UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Objeto: instancia de clase

Page 56: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

56UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Representación de un Objeto en UML

Page 57: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

57UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo objeto Libro

LIBRO_titulo: Cien Años de Soledad

_autor: Gabriel García M

_editorial: Oveja Negra

_referencia: C234g

_num ejemplar: 7

DarTitulo()

DarAutor()

DarEditorial()

DarReferencia()

DarNumejemplar()

ActualizarReferencia()

Las operaciones son comunes a todos los objetos LIBROS y no se duplican

Los valores delos atributos en un momento dado representan el estado de un objeto

Page 58: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

58UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Diagramas de objetos

Los diagramas de objetos modelan las instancias de elementos contenidos en los diagramas de clases.

Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto.

Los diagramas de objetos se emplean para modelar la vista de diseño estática o la vista de procesos estática de un sistema al igual que se hace con los diagramas de clases, pero desde la perspectiva de instancias reales o prototípicas.

Page 59: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

59UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Diagramas de objetos

Un diagrama de objetos representa una escena estática dentro de la historia representada por un diagrama de interacción.

Los diagramas de objetos se utilizan para visualizar, especificar, construir y documentar la existencia de ciertas instancias en el sistema, junto a las relaciones entre ellas.

Page 60: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

60UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo diagrama objetos

Page 61: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

61UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Ejemplo diagrama objetos

Page 62: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

62UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Lecturas Recomendadas

Page 63: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

63UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

Bibliografia

El Lenguaje Unificado de Modelado UML –G. Booch- J. Rumbauhugh – I Jacobson.

UML Distilled Martin Fowler – Kendall Scott

www.vico.org, http://www.creangel.com/uml/diagramas.php

Page 64: 1 UMLUML Wilson Peláez Hernández. 2 LAS CLASES – DIAGRAMAS DE CLASES

64UML –Clases – Objetos Diagramas

Wilson Peláez Hernández

FinFin