Diagrama de clases
Ejemplo de diagrama de
clases de una Universidad.
En ingeniería de software, un diagrama
de clases enLenguaje Unificado de Modelado (UML)
es un tipo de diagrama de estructura estática que describe la estructura de un
sistema mostrando las clases del sistema, sus atributos, operaciones (o
métodos), y las relaciones entre los objetos.
Índice
[ocultar]
Miembros
UML proporciona mecanismos
para representar los miembros de la clase, como atributos y métodos, así como
información adicional sobre ellos.
Visibilidad
Para especificar la
visibilidad de un miembro de la clase (es decir, cualquier atributo o método),
se coloca uno de los siguientes signos delante de ese miembro:
+
|
Público
|
-
|
Privado
|
#
|
Protegido
|
/
|
Derivado (se puede
combinar con otro)
|
~
|
Paquete
|
Ámbitos
UML especifica dos tipos de
ámbitos para los miembros: instancias y clasificadores y
estos últimos se representan connombres subrayados.
- Los miembros clasificadores se
denotan comúnmente como “estáticos” en muchos lenguajes de programación.
Su ámbito es la propia clase.
- Los valores de los atributos son los
mismos en todas las instancias
- La invocación de métodos no afecta al
estado de las instancias
- Los miembros instancias tienen
como ámbito una instancia específica.
- Los valores de los atributos pueden
variar entre instancias
- La invocación de métodos puede afectar
al estado de las instancias(es decir, cambiar el valor de sus atributos)
Para indicar que un miembro
posee un ámbito de clasificador, hay que subrayar su nombre. De lo contrario,
se asume por defecto que tendrá ámbito de instancia.
Relaciones
Una relación es un término
general que abarca los tipos específicos de conexiones lógicas que se pueden
encontrar en los diagramas de clases y objetos. UML presenta las siguientes
relaciones:
Relaciones a nivel de
instancia
Enlace
Un enlace es
la relación más básica entre objetos.
Asociación
Ejemplo de diagrama de
clases con una asociación de dos clases (en inglés)
Una asociación representa
a una familia de enlaces. Una asociación binaria (entre dos clases) normalmente
se representa con una línea continua. Una misma asociación puede relacionar
cualquier número de clases. Una asociación que relacione tres clases se llama
asociación ternaria.
A una asociación se le puede asignar un nombre, y en sus extremos se puede hacer indicaciones, como el rol que desempeña la asociación, los nombres de las clases relacionadas, su multiplicidad, su visibilidad, y otras propiedades.
Hay cuatro tipos diferentes de asociación: bidireccional, unidireccional, agregación (en la que se incluye la composición) y reflexiva. Las asociaciones unidireccional y bidireccional son las más comunes.
Por ejemplo, una clase vuelo se asocia con una clase avión de forma bidireccional. La asociación representa la relación estática que comparten los objetos de ambas clases.
A una asociación se le puede asignar un nombre, y en sus extremos se puede hacer indicaciones, como el rol que desempeña la asociación, los nombres de las clases relacionadas, su multiplicidad, su visibilidad, y otras propiedades.
Hay cuatro tipos diferentes de asociación: bidireccional, unidireccional, agregación (en la que se incluye la composición) y reflexiva. Las asociaciones unidireccional y bidireccional son las más comunes.
Por ejemplo, una clase vuelo se asocia con una clase avión de forma bidireccional. La asociación representa la relación estática que comparten los objetos de ambas clases.
Agregación
Ejemplo de diagrama de
clases con una agregación entre dos clases (en inglés)
La agregación es
una variante de la relación de asociación “tiene un”: la agregación es más
específica que la asociación. Se trata de una asociación que representa una
relación de tipo parte-todo o parte-de.
Como se puede ver en la
imagen del ejemplo (en inglés), un Profesor 'tiene una' clase a la que enseña.
Al ser un tipo de
asociación, una agregación puede tener un nombre y las mismas indicaciones en
los extremos de la línea. Sin embargo, una agregación no puede incluir más de
dos clases; debe ser una asociación binaria.
Una agregación se
puede dar cuando una clase es una colección o un contenedor de otras clases,
pero a su vez, el tiempo de vida de las clases contenidas no tienen una dependencia
fuerte del tiempo de vida de la clase contenedora (deel todo).
Es decir, el contenido de la clase contenedora no se destruye automáticamente
cuando desaparece dicha clase.
En UML, se representa
gráficamente con un rombo hueco junto a la clase contenedora
con una línea que lo conecta a la clase contenida. Todo este conjunto es,
semánticamente, un objeto extendido que es tratado como una única unidad en
muchas operaciones, aunque físicamente está hecho de varios objetos más
pequeños.
Diagramas[editar]
- El diagrama de clases puede tener como
ejemplo: una clase que seria un objeto o persona misma en la cual se
especifica cada acción y especificación.
- Propiedades de objetos que tienen
propiedades y/u operaciones que contienen un contexto y un dominio, los primeros
dos ejemplos son clases de datos y el tercero clase de lógica de negocio,
dependiendo de quién diseñe el sistema se pueden unir los datos con las
operaciones.
- El diagrama de clases incluye mucha más
información como la relación entre un objeto y otro, la herencia de
propiedades de otro objeto, conjuntos de operaciones/propiedades que son
implementadas para una interfaz gráfica.
- Presenta las clases del sistema con sus
relaciones estructurales y de herencia.
- El diagrama de clases es la base para
elaborar una arquitectura MVC o MVP.
No hay comentarios:
Publicar un comentario