DIAGRAMA DE CLASES
Los diagramas de clases describen la estructura estática de un sistema.El diagrama de clase es el diagrama principal de diseño y análisis para un sistema, y en él se agrupan todas las clases y relaciones que existen entre ellas y que serán utilizadas dentro del sistema. Los diagramas de Clases por definición son estáticos, esto es, representan que partes interactúan entre sí, sin indicar el momento en que ocurre.
Un rectángulo es el símbolo que representa a la clase, y se divide en tres áreas. Un diagrama de clases está formado por varios rectángulos de este tipo conectados por líneas que representan las asociaciones o
maneras en que las clases se relacionan entre si.
Una clase agrupa los objetos que comparten estructura, comportamiento y relaciones similares. Una clase representa los conceptos del sistema que se desea modelar.
Gráficamente una clase se dibuja como un rectángulo con hasta tres (3) compartimentos:
Nombre de la clase
Lista de Atributos (opcional)
Lista de Operaciones (opcional)
Las cosas que existen y que nos rodean se agrupan naturalmente en categorías. Una clase es una categoría o grupo de cosas que tienen atributos (propiedades) y acciones similares. Un ejemplo puede ser la
clase “Aviones” que tiene atributos como el “modelo de avión”, “la cantidad de motores”, “la velocidad de crucero” y “la capacidad de carga útil”. Entre las acciones de las cosas de esta clase se encuentran:
“acelerar”, “elevarse”, “girar”, “descender”, “desacelerar”.
Se pueden visualizar los componentes del diagrama de clases mas específicamente en este gráfico:
Atributos de una clase
Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos. Por esta razón se crearon niveles de visibilidad para los elementos que son:
- (-) Privado: Son accesibles sólo por métodos propios de la clase.
- (#) Protegidos: Son accesible sólo por las clases derivadas de la original.
- (+) Públicos: Son accesibles por cualquier clase
Relaciones entre clases
Al construir abstracciones, descubrimos que muy pocas de las clases diseñadas actúan solas, y muchas otras colaboran con otras clases. Por lo que debemos conocer como se relacionan unas con otras.
Existen en el modelado orientado a objetos tres tipos de relaciones:
- Dependencia
- Generalización
- Asociación
La Dependencia representa el uso de las relaciones entre clases, La Generalización sirve para conectar las clases generales a otras más específicas, es decir, para relaciones subclase/superclase, y la Asociación indica relaciones estructurales entre los objetos.
La Agregación se deriva de la Asociación y la Especialización se deriva de la Generalización. Ambos tipos de relaciones forman jerarquías de clases.
Dependencia
La dependencia se usa para mostrar que una clase usa otra clase como un argumento, el cual se especifica en la firma de la operación. En el diagrama anterior la clase Event es utilizado por la clase Window por sus métodos.
Se dibuja como una flecha punteada.
Generalización
La Generalización consiste en factorizar las propiedades comunes de un conjunto de clases en una clase más general. A la clase más general se le denomina “Superclase” o “Padre” y a la clase más específica se le denomina “Subclase” o “Hijo”. A veces este tipo de relación es referenciada como "is-a-kind-of" o “es-un-tipo-de”. Por ejemplo, la clase CuadroDialogo es un tipo de la clase Ventana.
Las subclases heredan propiedades de sus clases padre, es decir, atributos y operaciones y asociaciones de la clase padre están disponibles en sus clases hijas.
Una clase puede tener cero, uno o más padres. Una clase que no tiene padre es llamada clase raíz o clase base. Una clase que no tiene hijos es una clase hoja. Una clase que tiene exactamente un padre se dice que usa herencia sencilla; una clase que tiene más de un padre se dice que tiene herencia múltiple.
La Generalización y Especialización son equivalentes en cuanto al resultado: la jerarquía y herencia establecidas. La Especialización es una técnica muy eficaz para la extensión y reutilización.
Asociación
Una asociación que conecta exactamente dos clases se llama asociación binaria, aunque se pueden asociar más clases la cual se llamaría asociación n-aria. Se dibuja como una línea continua.
Existen cuatro conceptos que se aplican a la asociación:
- Nombre
- Rol
- Multiplicidad
No hay comentarios:
Publicar un comentario