Diagrama de clase

r

Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargarán del funcionamiento y la relación entre uno y otro. En un diagrama de clases se pueden distinguir principalmente dos elementos: clases y sus relaciones.

CLASES

r

La clase es la unidad básica que encapsula toda la información de un objeto a través de la cual podemos modelar el entorno en estudio.En UML, una clase es representada por un rectángulo que posee tres divisiones

Caracteristicas

El rectángulo superior contiene el nombre de la clase

El rectángulo intermedio contiene los atributos (o variables de instancia) que caracterizan a la clase (pueden ser private, protected o public).

El rectángulo inferior contiene los métodos u operaciones, los cuales son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: private, protected o public).

Ejemplo

r

podemos representar una clase denominada Figura que contiene dos atributos (lado1 y lado2) y 3 métodos (método constructor Figura, método área y método perímetro)

RELACIONES

Herencia (Especialización/Generalización)

r

Indica que una clase (clase derivada) hereda los métodos y atributosespecificados por una clase (clase base), por lo cual una clase derivadaademás de tener sus propios métodos y atributos, podrá acceder a lascaracterísticas y atributos visibles de su clase base (public y protected).

Ejemplo

r

Se especifica que las clase Alumno y Profesor heredan de la clasePersona, es decir, Alumno y Profesor podrán acceder a las características dePersona. También puede tener su respectiva diferenciación, ya que un Alumno puede obtener sus notas previa evaluación realizada por parte de un Profesor.

Composición

r

La composición es un tipo de relación estática, en donde el tiempo de vidadel objeto incluido está condicionado por el tiempo de vida del que lo incluye (el objeto base se construye a partir del objeto incluido, es decir, esparte/todo)

Ejemplo

r

Un Almacen posee Cuentas, cuando se destruye el Objeto Almacen también son destruidos los objetos Cuenta asociados

Agregación

r

La agregación es un tipo de relación dinámica, en donde el tiempo de vidadel objeto incluido es independiente del que lo incluye (el objeto base utiliza al incluido para su funcionamiento)

Ejemplo

r

Un Almacen posee Clientes y Cuentas Cuando se destruye el Objeto Almacen también son destruidos los objetos Cuenta asociados, en cambio no son afectados los objetos Cliente asociados.

Dependencia o Instanciación (uso)

r

Representa un tipo de relación muy particular, en la que una clase esinstanciada (su instanciación es dependiente de otro objeto/clase). Sedenota por una flecha punteada. El uso más particular de este tipo derelación es para denotar la dependencia que tiene una clase de otra

Ejemplo

r

Una aplicación grafica que instancia una ventana (la creacióndel Objeto Ventana está condicionado a la instanciación proveniente desde el objeto Aplicación).

Asociación

r

La relación entre clases conocida como Asociación, permite asociar objetosque colaboran entre sí. Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.

Ejemplo

r

Se puede deducir que una persona puede usa diferentes tipos de ropa(varias ropas), en cambio una ropa solo puede ser usada por sólo una persona en un momento determinado.

atributos o características

r

Los atributos o características de una clase pueden ser de tres tipos, que definen su grado de comunicación y visibilidad con el entorno, estos son:

protected (#)

r

Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser manipulado por métodos de la clase y de sus subclases

public (+)

r

Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados

private (-)

r

Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos pueden manipular los atributos)

métodos u operaciones

public (+)

r

Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados

protected (#)

r

Indica que el método no será accesible desde fuera de la clase, pero si podrá ser utilizado por métodos de la clase y de sus subclases

private (,)

r

Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden utilizar)

elementos adicionales

Rol

r

Identifica con nombres a los elementos que aparecen en losextremos de la línea que denota la relación, dicho nombre describe lasemántica que tiene la relación en el sentido indicado

Caracteristicas

Cada asociación tiene dos multiplicidades (una para cada extremo de la
relación)

Para especificar hay que indicar que la multiplicidad mínima y máxima
(mínima...máxima)

Cuando a multiplicidad mínima es 0, la relación es opcional

Una multiplicidad mínima mayor igual que 1 establece una relación
obligatoria

Multiplicidad

r

La multiplicidad de una relación determina cuantos objetosde cada tipo intervienen en la relación

Caracteristicas

1 Uno y solo uno

0..1 Cero o uno

X..Y Desde X hasta Y

* Cero o varios

0..* Cero o varios

1..* Uno o varios