Documente Academic
Documente Profesional
Documente Cultură
UT3: UML
Tema 3: Modelado de Clases
Modelado de clases
Clases y objetos
Uso de la orientacin a objetos
Diagrama de clases
16/04/2015
Clases y Objetos.
Los diagramas de Clases y de Objetos son los
principales modos de representar los aspectos
estructurales en UML.
Diagramas de clases. Estructura del sistema.
Clases.
Clases y objetos
Un objeto es la instancia de una clase (categora)
que cuenta con una estructura:
Atributos (o propiedades)
Operaciones (todas las actividades
que el objeto es capaz de realizar)
Caractersticas o rasgos
16/04/2015
Clases y objetos
Instancia:Cada objeto que
pertenece a una clase
Instanciacin /
Instanciar: Proceso de
generacin o creacin de las
instancias (objetos) de una
clase
Objeto: Representacin de
algo que se describe mediante
un identificador, una
estructura y un
comportamiento.
Instancia de una Clase
Ejemplo
En la clase lavadora se indica
la marca, el modelo, el nmero
de serie y la capacidad, junto
con las operaciones agregar
ropa, agregar detergente y
sacar ropa.
Tendremos un mecanismo
para fabricar nuevas instancias
a partir de su clase nuevos
objetos.
Luego, tenemos una plantilla
en este modelo original para
generar nuevas instancias de
Lavadoras
16/04/2015
Clases y objetos
Es importante recordar que el propsito de la
orientacin a objetos es desarrollar software que
refleje particularmente (que modele) un esquema
del mundo.
Cuantos ms atributos y acciones se tengan en cuenta ,
mayor ser la similitud del modelo con la realidad
En el ejemplo de la lavadora tendremos un modelo ms
exacto si incluimos atributos como el volumen del
tambor, cronmetro interno, motor y su velocidad. Y..
todava ser un modelo ms preciso si se incluyen
acciones de agregar suavizante, cronometrar el lavado, el
aclarado y el centrifugado, por ejemplo
16/04/2015
Clase 1
Electrodomesticos::Lavadora
10
En cursiva si es
16/04/2015
11
12
16/04/2015
13
14
16/04/2015
15
16
16/04/2015
17
Restricciones
Una regla entre llaves
restringe al atributo
capacidad para contener uno
o ms valores
Con OCL (Lenguaje de
restriccin de objetos) es una
herramienta para agregar
restricciones en UML
18
16/04/2015
19
20
Diagramas de clases
Tipos de clases
Clases Parametrizables:
Plantillas de clases que se
pueden parametrizar con uno
o ms tipos de datos segn
sea necesario (Clases
Genricas)
Clases Abstractas: Clases
que no tienen
implementacin para todos
los mtodos definidos
Clases Utilitarias: Clases
que contienen libreras de
funciones, por ejemplo la API
java.util
10
16/04/2015
21
Clase1
Rol 1
Relacin 1-2
Rol 2
[0..*]
{Restriccin}
[0..*]
22
Diagramas de clases
Relaciones: Tipos
Dependencia
Asociacin
Generalizacin
Realizacin
Agregacin
11
16/04/2015
23
Clasificacin
Encapsulamiento
Generalizacin
Polimorfismo
24
12
16/04/2015
25
Mtodos de acceso al
encapsulamiento:
Set
get
26
13
16/04/2015
27
28
<<Interface>> es un estereotipo
14
16/04/2015
29
30
Representaciones alternativas:
Relaciones binarias
Estructura en rbol
15
16/04/2015
31
32
Enlaces y Asociacin
Asociacin
Conexin de clases entre s de
forma conceptual.
Enlace: conexin entre
objetos.
Determina una tupla de
objetos. Instancia de una
asociacin.
16
16/04/2015
33
Asociacin
Nombre de Asociacin y Nombre de Rol
34
Asociacin
Multiplicidad de la Asociacin (I)
En una asociacin binaria, la multiplicidad de un
extremo de asociacin especifica el nmero de
instancias destino que pueden estar enlazadas con una
nica instancia origen a travs de la asociacin.
17
16/04/2015
35
Asociacin
Multiplicidad de la Asociacin (y II)
Valores tpicos:
0..1
1..1
0..*
1..*
cero o uno
uno y slo uno (abreviado como 1)
desde cero hasta muchos (abreviado como *)
desde uno hasta muchos
Otros valores:
36
Asociacin
Ejemplos Multiplicidad
18
16/04/2015
37
Asociacin
Navegabilidad de la Asociacin
38
Asociacin
Asociaciones Actor-Sistema y Clase-Clase
19
16/04/2015
39
Asociacin
Asociacin y Dependencia
40
Asociacin
Asociaciones Reflexivas
20
16/04/2015
41
Asociacin
Restricciones
42
Asociaciones
Asociacin n-aria
Asociacin entre N clases: los enlaces conectan N instancias.
No permite: direccin del nombre, navegabilidad, agregacin.
S permite: clase-asociacin.
Multiplicidad engaosa:
Nmero permitido de instancias para cualquier posible combinacin de instancias
de las otras n-1 clases.
La multiplicidad mnima suele ser 0.
Efecto rebote del uno: la multiplicidad mnima 1 (o superior) en un extremo
implica que debe existir un enlace (o ms) para cualquier posible combinacin de
instancias de los otros extremos.
21
16/04/2015
43
Asociaciones
Ciclos de Asociaciones y Asociaciones Derivadas
44
Agregacin
Es un tipo especial de asociacin que representa una
relacin todo-parte, transitiva y asimtrica.
No impone ninguna restriccin especial sobre la
multiplicidad.
Puede ser reflexiva para las clases, pero no para las
instancias.
22
16/04/2015
45
Composicin
Es un tipo especial de agregacin no compartida.
46
Informacin importante
23
16/04/2015
47
Documentacin
Uml en 24 horas
Universidad Carlos III: Modelado Esttico
Diseo de Software Avanzado. Departamento de
Informtica
UML
EspecificacinUML.pdf
FormalUML.pdf
Diagramas de Clases (UML ilustrado)
Universidad de Los Andes
Demin Gutierrez
Marzo 2011
24