4.1 Resumen
4.1 Resumen
4.1 Resumen
ASIGNATURA:
PROFESOR:
TAREA:
4.1 RESUMEN
ALUMNO:
ARELI BRAVO
NUMERO DE CONTROL:211260071
SEMESTRE:
CARRERA:
El diagrama UML de clases está formado por dos elementos: clases, relaciones e
interfaces.
Clases
Las clases son el elemento principal del diagrama y representa, como su nombre
indica, una clase dentro del paradigma de la orientación a objetos. Este tipo de
elementos normalmente se utilizan para representar conceptos o entidades del
«negocio». Una clase define un grupo de objetos que comparten características,
condiciones y significado. La manera más rápida para encontrar clases sobre un
enunciado, sobre una idea de negocio o, en general, sobre un tema concreto es
buscar los sustantivos que aparecen en el mismo. Por poner algún ejemplo, algunas
clases podrían ser: Animal, Persona, Mensaje, Expediente… Es un concepto muy
amplio y resulta fundamental identificar de forma efectiva estas clases, en caso de
no hacerlo correctamente se obtendrán una serie de problemas en etapas
posteriores, teniendo que volver a hacer el análisis y perdiendo parte o todo el
trabajo que se ha hecho hasta ese momento.
Bajando de nivel una clase está compuesta por tres elementos: nombre de la clase,
atributos, funciones. Estos elementos se incluyen en la representación (o no,
dependiendo del nivel de análisis).
Para representar la clase con estos elementos se utiliza una caja que es dividida
en tres zonas utilizando para ello lineas horizontales:
• La última de las zonas incluye cada una de las funciones que ofrece la
clase. De forma parecida a los atributos, sigue el siguiente formato:
visibilidad nombre_funcion { parametros } : tipo-devuelto { propiedades }
Estos tres tipos de visibilidad son los más comunes. No obstante, pueden incluirse
otros en base al lenguaje de programación que se esté usando (no es muy común).
Por ejemplo: (/) Derivado o (~) Paquete.
Relaciones
Una relación identifica una dependencia. Esta dependencia puede ser entre dos o
más clases (más común) o una clase hacía sí misma (menos común, pero existen),
este último tipo de dependencia se denomina dependencia reflexiva. Las relaciones
se representan con una linea que une las clases, esta línea variará dependiendo del
tipo de relación
Relación reflexiva
Las relaciones en el diagrama de clases tienen varias propiedades, que
dependiendo la profundidad que se quiera dar al diagrama se representarán o no.
Estas propiedades son las siguientes:
Ejemplo de relación
Empresa-Empleado
Tipos de relaciones
Asociación
Ejemplo de asociación
Agregación
Es una representación jerárquica que indica a un objeto y las partes que componen
ese objeto. Es decir, representa relaciones en las que un objeto es parte de otro,
pero aun así debe tener existencia en sí mismo.
Se representa con una línea que tiene un rombo en la parte de la clase que es una
agregación de la otra clase (es decir, en la clase que contiene las otras).
Un ejemplo de esta relación podría ser: «Las mesas están formadas por tablas de
madera y tornillos o, dicho de otra manera, los tornillos y las tablas forman parte de
una mesa». Como ves, el tornillo podría formar parte de más objetos, por lo que
interesa especialmente su abstracción en otra clase.
Ejemplo de agregación
Composición
Se representa con una linea continua con un rombo relleno en la clase que es
compuesta.
Un ejemplo de esta relación sería: «Un vuelo de una compañía aerea está
compuesto por pasajeros, que es lo mismo que decir que un pasajero está asignado
a un vuelo»
Ejemplo de composición
Diferencia entre agregación y composición
La composición, por otro lado, implica un acoplamiento aún más estricto que la
agregación, y definitivamente implica la contención. El requisito básico es que, si
una clase de objetos (llamado «contenedor») se compone de otros objetos
(llamados «elementos»), entonces los elementos aparecerán y también serán
destruidos como un efecto secundario de crear o destruir el contenedor. Sería raro
que un elemento no se declare como privado. Un ejemplo podría ser el nombre y la
dirección del Cliente. Un cliente sin nombre o dirección no tiene valor. Por la misma
razón, cuando se destruye al cliente, no tiene sentido mantener el nombre y la
dirección. (Compare esta situación con la agregación, donde destruir al Comité no
debe causar la destrucción de los miembros, ya que pueden ser miembros de otros
Comités).
Dependencia
Se utiliza este tipo de relación para representar que una clase requiere de otra para
ofrecer sus funcionalidades. Es muy sencilla y se representa con una flecha
discontinua que va desde la clase que necesita la utilidad de la otra flecha hasta
esta misma.
Ejemplo de dependencia
Herencia
Un ejemplo de esta relación podría ser la siguiente: Un pez, un perro y un gato son
animales.
Ejemplo de herencia
En este ejemplo, las tres clases (Pez, Perro, Gato) podrán utilizar la función respirar,
ya que lo heredan de la clase animal, pero solamente la clase Pez podrá nadar, la
clase Perro ladrar y la clase Gato maullar. La clase Animal podría plantearse ser
definida abstracta, aunque no es necesario.
Interfaces
Una interfaz es una entidad que declara una serie de atributos, funciones y
obligaciones. Es una especie de contrato donde toda instancia asociada a una
interfaz debe de implementar los servicios que indica aquella interfaz.
Las interfaces se asocian a clases. Una asociación entre una clase y una interfaz
representa que esa clase cumple con el contrato que indica la interfaz, es decir,
incluye aquellas funciones y atributos que indica la interfaz.
Notación de interfaz
Cómo dibujar un diagrama de clases
Los diagramas de clase van de la mano con el diseño orientado a objetos. Por lo
tanto, saber lo básico de este tipo de diseño es una parte clave para poder dibujar
diagramas de clase eficaces.
Este tipo de diagramas son solicitados cuando se está describiendo la vista estática
del sistema o sus funcionalidades. Unos pequeños pasos que puedes utilizar de
guía para construir estos diagramas son los siguientes:
Aquí te dejo un ejemplo de clases con sus atributos que podrías incluir en un
diagrama de clases de una tienda online:
1. Usuario:
2. Producto:
3. Carrito de Compras:
4. Orden de compra:
5. Categoría:
6. Comentarios: