Está en la página 1de 11

MODELO DE CLASES

Docente: Alcalá Molina Félix Andrés


MODELO DE CLASES

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:

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 (ver la
figura 1).

1
MODELO DE CLASES

En donde:

 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).

Por ejemplo, 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), de la siguiente manera:

2
MODELO DE CLASES

RELACIONES:
1) Herencia (Especialización/Generalización):

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

En la siguiente figura podrá observar un ejemplo de este tipo de relación:

En este ejemplo se especifica que las clase Alumno y Profesor heredan de


la clase Persona, es decir, Alumno y Profesor podrán acceder a las
características de Persona. 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.

2) Composición:

La composición es un tipo de relación estática, en donde el tiempo de vida


del 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, es
parte/todo). En la siguiente figura podrá observar un ejemplo de este tipo
de relación:

3
MODELO DE CLASES

3) Agregación:

La agregación es un tipo de relación dinámica, en donde el tiempo de vida


del objeto incluido es independiente del que lo incluye (el objeto base
utiliza al incluido para su funcionamiento). En la siguiente figura podrá
observar un ejemplo de este tipo de relación:

4
MODELO DE CLASES

4) Dependencia o Instanciación (uso):

Representa un tipo de relación muy particular, en la que una clase es


instanciada (su instanciación es dependiente de otro objeto/clase). Se
denota por una flecha punteada. El uso más particular de este tipo de
relación es para denotar la dependencia que tiene una clase de otra, como
por ejemplo una aplicación grafica que instancia una ventana (la creación
del Objeto Ventana está condicionado a la instanciación proveniente desde
el objeto Aplicación).

5) Asociación:

La relación entre clases conocida como Asociación, permite asociar objetos


que 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. En la siguiente
figura podrá observar un ejemplo de este tipo de relación:

5
MODELO DE CLASES

Los elementos adicionales que pueden aparecer en una relación de este


tipo son los siguientes:

- Rol: Identifica con nombres a los elementos que aparecen en los


extremos de la línea que denota la relación, dicho nombre describe la
semántica que tiene la relación en el sentido indicado.
- Multiplicidad: La multiplicidad de una relación determina cuantos
objetos de cada tipo intervienen en la relación. Presenta las
siguientes características:

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

6
MODELO DE CLASES

¿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 (más información sobre las fases de la ingeniería del software aquí).
La idea de estos diagramas es representar las clases que tendrá el sistema así como su
contenido y sus relaciones con otras clases. La implementación de sistemas
medianamente grandes no sería abordable sin este tipo de diagramas, y aunque fuera
abordable se tardaría mucho más y sería más fácil cometer errores.

Componentes de un diagrama de clases


Los componentes que describiré son los que se incluyen en UML (Unified Modeling
Language) que es el lenguaje de modelado más extendido y más usado en todo el
mundo.

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. La siguiente imagen es un
ejemplo de representación de una clase.

7
MODELO DE CLASES

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.
Relaciones
Como he dicho antes 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. En la siguiente imagen podemos ver un ejemplo.

8
MODELO DE CLASES

 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.

9
MODELO DE CLASES

 Agregación: Es un tipo de asociación con la que se representa que cada objeto de


una de las clases contiene objetos de la otra clase. El objeto contenedor seguirá
existiendo aunque los objetos contenidos dejen de existir.
 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.

Esta imagen representa la diferencia entre una agregación y una composición. Un


vehiculo seguirá existiendo aunque no existan sus ruedas (otra cosa es que pueda rodar).
Sin embargo un libro no existirá si no existen sus capítulos.

Pues esto ha sido todo, espero que os sea útil y tanto si sabíais que era un diagrama de
clases como si no, espero que os sirva para saber lo que es, para lo que sirve y sepáis
realizarlo sin errores.

10

También podría gustarte