Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clases
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
El atributo edad es derivado (puede calcularse a partir de la fecha de nacimiento), y determina una relacin de orden entre las instancias de las personas. El atributo DNI es un atributo protegido.
El atributo coloresPreferidos representa una coleccin o conjunto de valores del tipo Color
4
Los atributos de una clase no deberan ser manipulables directamente directamente por el resto de objetos.
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
Modificadores
De clase o esttico: el atributo se aparece subrayado. No es necesario contar con un objeto para ejecutarlo. Derivado: es calculable a partir de otros atributos. Transitorio: tendr valor slo durante una porcin de la ejecucin. Voltil: no se persiste.
El mtodo pblico calcularHorasTrabajadas es abstracto, las subclases de la clase Persona deber implementarlo para utilizarlo.
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 0..1 0..* 1..* * M..N Un elemento relacionado. Uno o ningn elemento relacionado. Varios elementos relacionados o ninguno. Varios elementos relacionados pero al menos uno. Varios elementos relacionados. Entre M y N elementos relacionados.
10
11
12
13
14
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
trabaja_en
Empleado
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