top of page

| TEMA 7 | UML: DIAGRAMA DE CLASES

I. INTRODUCCIÓN


La documentación del software es muy importante en varios aspectos, uno de estos, es el cambio que puede existir en la persona que desarrollo el software, en ocasiones una empresa puede perder contacto con el desarrollador o grupo de desarrolladores de un software, esto puede convertirse en un problema si se requiere darle mantenimiento al software o agregar alguna funcionabilidad.


Una solución para el problema anteriormente expuesto, es la documentación que debe existir para el programador es por esta razón que el lenguaje unificado tiene dentro de sus diagramas, los diagramas de clases que se explicaran más detalladamente a medida de que se vaya leyendo este documento.


II. OBJETIVO

El objetivo de esta publicación es conocer acerca de los diagramas de clases los cuales son parte del lenguaje modelado unificado, con la finalidad de entender su importancia y principales conceptos.

III. MARCO TEÓRICO

3.1. DIAGRAMAS DE CLASES

Los diagramas de clases se basan en la POO (Programación Orientada a Objetos) y en las clases, atributos, métodos y relaciones que existan entre los distintos objetos de un software.


3.1.1. ¿QUÉ ES UNA CLASE?

Una clase es el pilar fundamental para la programación orientada a objetos y representan las características, métodos y demás aspectos que tenga una entidad, el objetivo principal de este tipo de diagramas es incorporar los principales objetos dentro de un sistema, es decir aquellos objetos que el usuario pueda percibir directamente y que le ayudan a cumplir algo específico.


Un diagrama de clases debe tener tres elementos fundamentales que son explicados en el gráfico 3.1


Imagen 3.1: Elementos del diagrama de clases


3.1.1.1. SOBRECARGA DE MÉTODOS

Pueden existir clases en donde un mismo método exista dos o más veces, es decir que dos métodos tengan el mismo nombre y la misma acción pero que reciban distintos parámetros.


Un ejemplo de esto puede ser la clase profesor con un método de presentar calificaciones, este método puede repetirse ya que puede presentar las calificaciones al alumno o al padre de familia e incluso a la institución, es decir, es el mismo método, con la misma acción pero diferentes parámetros.

3.1.1.2. PARTES FUNDAMENTALES DE UNA CLASE

Los elementos más importantes que posee una clase son los descritos en el gráfico 3.2.

Imagen 3.2: Elementos de una clase

3.1.1.3. TIPOS DE CLASES

Existen 4 tipos de clases o de categorías a las que pertenecen y están son:

  • Clases de entidad: Este tipo de clases, hace una representación de los elementos reales que constituyen una entidad ya sea persona o cosa, por hablar de elementos del mundo real se refiere a que el diseñador de las clases debe escoger entre un conjunto de atributos aquellos que sean utilizados por la empresa u organización.

  • ​Este tipo de clases son representadas en un diagrama de entidad-relación como se puede apreciar en el gráfico 3.3

Imagen 3.3: Entidad relación

  • Clases de interfaz: Son también llamadas de límite y se subdividen en 2 aspectos:

  • El aspecto humano que es lo que el usuario puede ver, o con lo que este puede interactuar, ya sea una pantalla, una página web, entre otros.

  • El aspecto de sistema y es aquí en donde existe un flujo de datos de entrada y de salida desde nuestro sistema hacia otro, un ejemplo de otro sistema podría ser la base de datos que se utiliza.


  • Clases abstractas: Este tipo de clases se instancian, una instancia es la creación de un objeto de una clase. Una clase abstracta tiene una relación de herencia con otra clase.


  • Clases de control: Controlan las actividades y sirven cuando se requiera reutilizar clases sin embargo no son tomadas en cuenta cuando el sistema se diseña.

3.1.1.4. RELACIONES EN LOS DIAGRAMAS DE CLASES

Al igual que un diagrama de entidad-relación se muestra la asociación que existe entre una clase y otra para esto es importante tomar en cuenta aspectos como:

  • Multiplicidad: Es decir el número de relaciones que tiene una clase con otra.

Imagen 3.4: Tabla de significados de la multiplicidad

  • Rol: Existen asociaciones que se llevan a cabo tomando en cuenta los roles que tiene cada clase, en ocasiones una asociación puede ser bidireccional.



  • Asociaciones bidireccionales: Son aquellas en las que las clases se pertenecen entre sí, es decir que se puede navegar de una a otra.



  • Las asociaciones todo/parte: Esto es cuando una clase o más son parte del conjunto de otra por ejemplo un jugador tiene una asociación con el equipo, forma parte de ese conjunto.


  • Asociación de N-arias: Es en donde una clase puede desempeñar distintos roles, generalmente son utilizadas para evitar inconsistencias en el modelo.


  • Generalización: Es más conocido como herencia, y es la relación que existe entre una clase padre y una clase hijo.

Imagen 3.5: Herencia y jerarquía

3.1.1.5. INTERFACES EN UN DIAGRAMA DE CLASES

Una interfaz en una clase es una asociación que tiene el conjunto de operaciones o también llamados métodos, que describen el comportamiento de una clase pública.


Existen dos tipos de interfaces de clases las cuales son:

  • Interfaz suministrada: La cual es una interfaz efectiva que la clase implementa.

Imagen 3.6: Interfaz suministrada.

  • Interfaz requerida: Son aquellas que necesitan de otra clase para realizar su acción y son representadas al contrario de las suministradas con un medio círculo.

Imagen 3.7: Interfaz requerida

IV. CONCLUSIÓN

Una clase es el objeto primordial en la programación orientada a objetos, dentro de ella son representados los atributos, métodos y demás funciones que tengan sus elementos, por lo que un diagrama de clases se basa en los mismos conceptos.


Los diagramas de clases son muy importantes para documentar los procesos que serán mejor entendidos por el desarrollador o el conjunto de los mismos, dentro de estos diagramas se representan los métodos y funciones que cumple cada parte del sistema, y se especifican las relaciones, abstracciones, dependencias y demás aspectos que deben ser definidos de manera correcta para entender de mejor manera el software.

V. BIBLIOGRAFÍA

Berzal, F. 2004. Relaciones entre clases: Diagrama de clases UML. (En línea). ES. Consultado, 10 de Jun. 2015. Formato PDF. Disponible en: http://elvex.ugr.es/decsai/java/pdf/3C-Relaciones.pdf


García, F y Pardo, C. 2013. Diagramas de Clase en UML 1.1. (En línea). ES. Consultado, 10 de Jun. 2015. Formato PDF. Disponible en: http://gredos.usal.es/jspui/bitstream/10366/121969/3/DIA_GarciaPenalvo_PardoAguilar_DClase.pdf


Gutiérrez, D. 2011. UML Diagramas de clases. (En línea). VE. Consultado, 10 de Jun. 2015. Formato PDF. Disponible en: http://www.codecompiling.net/files/slides/UML_clase_04_UML_clases.pdf


Kendall, K y Kendall, J. 2011. Análisis y diseño de sistemas. 8 ed. México. Pearson Education. p 600

bottom of page