2. ¿Qué es un diagrama de clases?
• Un diagrama de clases es una representación gráfica que sirve para
representar la estructura de un sistema que será implementado utilizando
un lenguaje orientado a objetos. Los diagramas de clases se realizan en la
fase de diseño del software después de la fase de requisitos. La idea de
estos diagramas es representar las clases que tendrá el sistema así como su
contenido y sus relaciones con otras clases.
3. Componentes de un diagrama de clases
• Clase
• Atributos y métodos
• Relaciones
4. Clase
• Este es el elemento básico del diagrama de
clases. Las clases representan entidades o
conceptos. Normalmente cada vez que
aparece un sustantivo en un documento de
descripción de un sistema ese sustantivo es
una clase. En cada clase se definen los
atributos y métodos que tendrán los objetos
de esa clase.
5. Atributos y métodos
Los atributos y los métodos se muestran con su nombre además de su tipo. En el caso
de los métodos también se muestra el tipo de retorno en caso de que retorne algo y el
nombre y tipo de sus parámetros. Los atributos pueden tener un valor inicial.
Además, los símbolos que se encuentran antes del nombre de los atributos y métodos
representan la visibilidad de éstos:
• El símbolo – representa atributos privados.
• El símbolo + representa atributos públicos.
• El símbolo # representa atributos protegidos.
6. Relaciones
Las clases se relacionan con otras. En cada relación aparece el nombre del
atributo que se usará para representar esa relación y la multiplicidad. Las
relaciones que existen son las siguientes:
• Generalización: Esta relación representa la herencia o la extensión de una
clase de otra.
7. • Asociación: Representa una relación básica entre dos clases. Pueden ser
unidireccionales (sólo una de las clases conoce a la otra) o bidireccionales
(ambas clases tienen conocimiento de la otra). En la siguiente imagen podemos
ver un ejemplo. La primera es una asociación bidireccional que representa que
un curso tiene desde 1 hasta varios alumnos y que un alumno puede estar en 0 o
varios cursos. La segunda es una asociación unidireccional que representa que
una asignatura tiene un único profesor responsable.
8. • Composición: Es un tipo de asociación, pero podemos decir que son
agregaciones fuertes. La diferencia con las agregaciones es que no tiene
sentido que el objeto contenedor siga existiendo si no existen los objetos
contenidos.