fbpx
Wikipedia

Diagrama de clases

En ingeniería de software, un diagrama de clases en Lenguaje 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.

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
 
Ejemplo de diagrama de clases de una Universidad.

Ámbitos

UML especifica dos tipos de ámbitos para los miembros: instancias y clasificadores y estos últimos se representan con nombres 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.

Agregación

 
Ejemplo de diagrama de clases con una agregación entre dos clases (en inglés)

La agregación o agrupació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 (de el 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.

Composición

 
El rombo negro muestra una relación de composición: el almacén está compuesto de cuentas, si se elimina el almacén las cuentas por si solas no tienen sentido como una entidad separada del almacén y se eliminan también. El rombo sin rellenar muestra una relación de agregación: el almacén tiene clientes, si el almacén cierra los clientes irán a otro, su razón de existir sigue teniendo sentido sin el almacén.

La representación en UML de una relación de composición es mostrada con una figura de diamante rellenado del lado del la clase contenedora, es decir al final de la línea que conecta la clase contenido con la clase contenedor.

Diferencias entre Composición y Agregación

Relación de Composición
  1. Cuando intentamos representar un todo y sus partes. Ejemplo, un motor es una parte de un coche.
  2. Cuando se elimina el contenedor, el contenido también es eliminado. Ejemplo, si eliminamos una universidad eliminamos igualmente sus departamentos.
Relación de Agregación (o Agrupación)
  1. Cuando representamos las relaciones en un software o base de datos. Ejemplo, el modelo de motor MTR01 es parte del coche MC01. Como tal, el motor MTR01 puede ser parte de cualquier otro modelo de coche, es decir si eliminamos el coche MC01 no es necesario eliminar el motor pues podemos usarlo en otro modelo.
  2. Cuando el contenedor es eliminado, el contenido usualmente no es destruido. Ejemplo, un profesor tiene estudiantes, cuando el profesor muere los estudiantes no mueren con él o ella.

Así, una relación de agregación es a menudo "clasificar" o "catalogar" contenido para distinguirlo del todo "físico" del contenedor.

Diagramas

  • El diagrama de clases puede tener como ejemplo: una clase que sería 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.
  •   Datos: Q664166
  •   Multimedia: Class diagrams

diagrama, clases, ingeniería, software, diagrama, clases, lenguaje, unificado, modelado, tipo, diagrama, estructura, estática, describe, estructura, sistema, mostrando, clases, sistema, atributos, operaciones, métodos, relaciones, entre, objetos, Índice, miemb. En ingenieria de software un diagrama de clases en Lenguaje Unificado de Modelado UML es un tipo de diagrama de estructura estatica que describe la estructura de un sistema mostrando las clases del sistema sus atributos operaciones o metodos y las relaciones entre los objetos Indice 1 Miembros 1 1 Visibilidad 1 2 Ambitos 2 Relaciones 2 1 Relaciones a nivel de instancia 2 1 1 Enlace 2 1 2 Asociacion 2 1 3 Agregacion 2 1 4 Composicion 2 1 5 Diferencias entre Composicion y Agregacion 2 1 5 1 Relacion de Composicion 2 1 5 2 Relacion de Agregacion o Agrupacion 3 DiagramasMiembros EditarUML proporciona mecanismos para representar los miembros de la clase como atributos y metodos asi como informacion adicional sobre ellos Visibilidad Editar Para especificar la visibilidad de un miembro de la clase es decir cualquier atributo o metodo se coloca uno de los siguientes signos delante de ese miembro Publico Privado Protegido Derivado se puede combinar con otro Paquete Ejemplo de diagrama de clases de una Universidad Ambitos Editar UML especifica dos tipos de ambitos para los miembros instancias y clasificadores y estos ultimos se representan con nombres subrayados Los miembros clasificadores se denotan comunmente como estaticos en muchos lenguajes de programacion Su ambito es la propia clase Los valores de los atributos son los mismos en todas las instancias La invocacion de metodos no afecta al estado de las instancias Los miembros instancias tienen como ambito una instancia especifica Los valores de los atributos pueden variar entre instancias La invocacion de metodos puede afectar al estado de las instancias es decir cambiar el valor de sus atributos Para indicar que un miembro posee un ambito de clasificador hay que subrayar su nombre De lo contrario se asume por defecto que tendra ambito de instancia Relaciones EditarUna relacion es un termino general que abarca los tipos especificos de conexiones logicas que se pueden encontrar en los diagramas de clases y objetos UML presenta las siguientes relaciones Relaciones a nivel de instancia Editar Enlace Editar Un enlace es la relacion mas basica entre objetos Asociacion Editar Ejemplo de diagrama de clases con una asociacion de dos clases en ingles Una asociacion representa a una familia de enlaces Una asociacion binaria entre dos clases normalmente se representa con una linea continua Una misma asociacion puede relacionar cualquier numero de clases Una asociacion que relacione tres clases se llama asociacion ternaria A una asociacion se le puede asignar un nombre y en sus extremos se puede hacer indicaciones como el rol que desempena la asociacion los nombres de las clases relacionadas su multiplicidad su visibilidad y otras propiedades Hay cuatro tipos diferentes de asociacion bidireccional unidireccional agregacion en la que se incluye la composicion y reflexiva Las asociaciones unidireccional y bidireccional son las mas comunes Por ejemplo una clase vuelo se asocia con una clase avion de forma bidireccional La asociacion representa la relacion estatica que comparten los objetos de ambas clases Agregacion Editar Ejemplo de diagrama de clases con una agregacion entre dos clases en ingles La agregacion o agrupacion es una variante de la relacion de asociacion tiene un la agregacion es mas especifica que la asociacion Se trata de una asociacion que representa una relacion de tipo parte todo o parte de Como se puede ver en la imagen del ejemplo en ingles un Profesor tiene una clase a la que ensena Al ser un tipo de asociacion una agregacion puede tener un nombre y las mismas indicaciones en los extremos de la linea Sin embargo una agregacion no puede incluir mas de dos clases debe ser una asociacion binaria Una agregacion se puede dar cuando una clase es una coleccion 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 de el todo Es decir el contenido de la clase contenedora no se destruye automaticamente cuando desaparece dicha clase En UML se representa graficamente con un rombo hueco junto a la clase contenedora con una linea que lo conecta a la clase contenida Todo este conjunto es semanticamente un objeto extendido que es tratado como una unica unidad en muchas operaciones aunque fisicamente esta hecho de varios objetos mas pequenos Composicion Editar El rombo negro muestra una relacion de composicion el almacen esta compuesto de cuentas si se elimina el almacen las cuentas por si solas no tienen sentido como una entidad separada del almacen y se eliminan tambien El rombo sin rellenar muestra una relacion de agregacion el almacen tiene clientes si el almacen cierra los clientes iran a otro su razon de existir sigue teniendo sentido sin el almacen La representacion en UML de una relacion de composicion es mostrada con una figura de diamante rellenado del lado del la clase contenedora es decir al final de la linea que conecta la clase contenido con la clase contenedor Diferencias entre Composicion y Agregacion Editar Relacion de Composicion Editar Cuando intentamos representar un todo y sus partes Ejemplo un motor es una parte de un coche Cuando se elimina el contenedor el contenido tambien es eliminado Ejemplo si eliminamos una universidad eliminamos igualmente sus departamentos Relacion de Agregacion o Agrupacion Editar Cuando representamos las relaciones en un software o base de datos Ejemplo el modelo de motor MTR01 es parte del coche MC01 Como tal el motor MTR01 puede ser parte de cualquier otro modelo de coche es decir si eliminamos el coche MC01 no es necesario eliminar el motor pues podemos usarlo en otro modelo Cuando el contenedor es eliminado el contenido usualmente no es destruido Ejemplo un profesor tiene estudiantes cuando el profesor muere los estudiantes no mueren con el o ella Asi una relacion de agregacion es a menudo clasificar o catalogar contenido para distinguirlo del todo fisico del contenedor Diagramas EditarEl diagrama de clases puede tener como ejemplo una clase que seria un objeto o persona misma en la cual se especifica cada accion y especificacion 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 logica de negocio dependiendo de quien disene el sistema se pueden unir los datos con las operaciones El diagrama de clases incluye mucha mas informacion como la relacion entre un objeto y otro la herencia de propiedades de otro objeto conjuntos de operaciones propiedades que son implementadas para una interfaz grafica 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 Datos Q664166 Multimedia Class diagramsObtenido de https es wikipedia org w index php title Diagrama de clases amp oldid 136859258, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos