Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagramadeclases 130227153455 Phpapp02
Diagramadeclases 130227153455 Phpapp02
de
Clases
Diagrama de Clases
El propsito de este diagrama es el de representar los
objetos fundamentales del sistema, es decir los que
percibe el usuario y con los que espera tratar para
completar su tarea en vez de objetos del sistema o de un
modelo de programacin.
La clase define el mbito de definicin de un conjunto de
objetos.
Cada objeto pertenece a una clase.
Los objetos se crean por instanciacin de las clases.
Diagrama de Clases
Cada clase se representa en un rectngulo con tres
compartimientos:
Nombre de la clase
Atributos de la clase
Operaciones de la clase
Tipo:
Tipo: puede llegar a depender del lenguaje de programacin a utilizar.
utilizar.
Valor inicial:
inicial: valor que poseer el atributo al crear un objeto.
Visibilidad:
Visibilidad: est relacionado con el encapsulamiento.
Multiplicidad:
Multiplicidad: determinar si un atributo debe estar o no, y si posee un nico valor o
una lista de valores.
Ordenamiento:
Ordenamiento: especifica si el atributo determina alguna relacin de orden dentro
dentro de la
clase.
Capacidad de cambio:
cambio: permite definir atributos con valores constantes.
Modificadores:
Modificadores: un atributo puede ser de clase, derivado, voltil, transitorio.
transitorio.
El atributo fecha de nacimiento es pblico.
Niveles de encapsulamiento:
(-) Privado : es el ms fuerte. Esta parte es totalmente invisible desde
fuera de la clase (excepto para clases friends en terminologa
terminologa C++).
(~) Package : Slo es visible dentro del mismo package.
(#) Los atributos/operaciones protegidos estn visibles para las clases
friends y para las clases derivadas de la original.
(+) Los atributos/operaciones pblicos son visibles a otras clases (cuando
se trata de atributos se est transgrediendo el principio
principio de
encapsulamiento).
5
0..1
0..*
1..*
El atributo puede tener varios valores, pero debe tener al menos uno
M..N
Modificadores
De clase o esttico:
esttico: el atributo se aparece subrayado. No es necesario contar
con un objeto para ejecutarlo.
Derivado:
Derivado: es calculable a partir de otros atributos.
Transitorio:
Transitorio: tendr valor slo durante una porcin de la ejecucin.
Voltil:
Voltil: no se persiste.
Tipo devuelto:
devuelto: puede llegar a depender del lenguaje de programacin a utilizar.
utilizar.
Parmetros:
Parmetros: adems del tipo, puede especificarse si son In, Out o InOut.
Visibilidad:
Visibilidad: est relacionado con el encapsulamiento.
Modificadores:
Modificadores: una operacin puede ser de clase, abstracta, query o constructor.
constructor.
Diagrama de Clases
Relaciones entre Clases
Una asociacin es una conexin estructural simple
entre clases. Las instancias de las clases implicadas en
una asociacin estarn probablemente comunicndose
en el momento de ejecucin.
Los enlaces entre de objetos pueden representarse
entre las respectivas clases
Formas de relacin entre clases:
Asociacin y Agregacin (vista como un caso particular de
asociacin)
Generalizacin/Especializacin
8
Enlace
Diagrama de Clases
Relaciones entre Clases
Multiplicidad
1
Un elemento relacionado.
0..1
0..*
1..*
M..N
10
11
12
13
14
fila:
fila: int
columna:
columna: int
15
16
17
Discriminador
19
20
21
22
23
24
26
27
Ejemplo
Cmo interpretara lo siguiente?
28
Modelo de Dominio
Es una representacin de las cosas, entidades,
idea, clases conceptuales u objetos del mundo
real o dominio de inters, no de componentes de
software.
Muestra clases conceptuales significativas en un
dominio del problema.
Se usa como base para el diseo de los objetos de
software.
30
Modelo de Dominio
Es el artefacto ms importante del anlisis.
Podra se considerado como un diccionario visual
de abstracciones de clases conceptuales,
vocabulario e informacin del dominio.
No es absolutamente correcto o incorrecto, su
intenci
intencin en ser til sirviendo como una
herramienta de comunicaci
comunicacin.
31
Modelo de Dominio
Otros nombres: modelo conceptual, modelo de objetos del dominio
y modelo de los objetos de an
anlisis.
Seg
Segn el punto de vista, tiene puntos en com
comn con el Diagrama
de Entidad Relaci
n
.
Relaci
Usando UML, el MD se representa con un conjunto de diagramas
de clases. Se puede mostrar:
objetos del dominio o clases conceptuales
asociaciones entre las clases conceptuales
atributos de las clases conceptuales
NO SE DEFINE NINGUNA OPERACI
OPERACIN. La asignaci
asignacin de
responsabilidades de los objetos no forma parte de este modelo.
32
33
34
35
Ejemplo
Un posible modelo de dominio para el caso del local de
venta de electrodom
electrodomsticos
sticos
36
Proyecto
ordena
Empleado
trabaja_en
37
Modelo de Diseo
A diferencia del Modelo de Dominio, el modelo
de diseo se encuentra ms cerca de la
solucin buscada.
Refleja decisiones en cuanto a asignacin de
responsabilidades entre los objetos
(operaciones).
Toma como base el Modelo de Dominio, donde
algunas entidades se promovern a Clases.
38
Modelo de Diseo
Muestra cmo se relacionan componentes de
software para resolver el problema planteado.
Es el paso previo a la implementacin.
Es posible aplicar patterns segn el tipo de
problema.
39
Objetos
40
Preguntas?
41