Sie sind auf Seite 1von 63

UML

Arturo Florian Herencia

1
LAS CLASES –
DIAGRAMAS DE
CLASES

2
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

3
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

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

5
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

6
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

7
Qué es una Clase?

 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

8
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

9
Representación de una
clase en UML

10
Representación de una
clase en UML

11
Ejemplo representación
Clases

Cliente Java::awt::Rectangule

12
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).

13
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.

14
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.

15
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.

16
Ejemplo

Cuenta
{root}

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

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

17
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.

18
Definir las Clases
Operaciones

Atributos

19
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.

20
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

21
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

22
Elementos de un diagrama
de Clases

23
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.

24
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)

25
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).

26
Cardinalidad

27
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.

28
Ejemplo asociaciones

29
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

30
Notación agregación

31
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

32
Notación Composición

33
Ejemplo Diferencia
Agregación - Composición

34
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.

35
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

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

37
Ejemplo: Herencia
Especialización / Generalización

38
Ejemplo: Herencia
Especialización / Generalización

39
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.

40
Síntesis notación para
asociaciones

41
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.

42
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.

43
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.

44
Ejemplo
Ejemplo

46
Ejemplo 2 : Subsistemas

47
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.

48
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

49
Lecturas Recomendadas

50
LOS OBJETOS –
DIAGRAMAS DE
OBJETOS

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

52
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

53
Objeto: instancia de clase

54
Representación de un
Objeto en UML

55
Ejemplo objeto Libro
LIBRO
_titulo: Cien Años de Soledad
Los valores delos
_autor: Gabriel García M
atributos en un
_editorial: Oveja Negra
momento dado
_referencia: C234g representan el
_num ejemplar: 7 estado de un
DarTitulo() objeto
DarAutor()

DarEditorial()
DarReferencia()
DarNumejemplar()
ActualizarReferencia()

Las operaciones son comunes a todos


los objetos LIBROS y no se duplican
56
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.

57
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.

58
Ejemplo diagrama objetos

59
Ejemplo diagrama objetos

60
Lecturas Recomendadas

61
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

62
Fin

63

Das könnte Ihnen auch gefallen