DIAGRAMA DE
CLASES
Presentado por:
❑ VENTURA TAYPE, MERCEDES
❑ MENDOZA HUINCHO, EDISON MANUEL
❑ HUACHO LLANCARI, ABEL JOSÉ
INTRODUCCIÓN
En esta presentación, abordaremos los
diagramas de clases, una herramienta clave en
el desarrollo de software orientado a objetos.
Analizaremos cómo representan la estructura
del sistema, incluyendo clases, atributos,
métodos y relaciones, y su importancia en el
análisis, diseño, documentación y
comunicación entre desarrolladores.
HISTORIA DE DIAGRAMA
DE CLASES EN UML
El Diagrama de Clases comienza a utilizarse cuando se
inicia la implementación del Lenguaje Unificado de
Modelado (UML) que fue en octubre de 1994, cuando
Rumbaugh se unió a la Compañía Rational, empresa
creada por Booch y James (dos investigadores en el
área de metodologías del software.
DIAGRAMA DE CLASES
¿Qué es?
Un diagrama de clases es un esquema
gráfico que representa las clases,
atributos y sus relaciones que existen
entre estos.
Estos diagramas son utilizados en la
etapa de análisis y diseño.
Importancia ¿Para qué sirve?
Es muy importante para el Sirve para visualizar las
diseño y la visualización de relaciones entre las
sistemas, ya que permiten clases que involucran el
comprender la estructura sistema, las cuales
de las aplicaciones y la pueden ser asociativa,
relación entre los objetos. herencia.
Elementos de Diagrama de Clases
CLASE
Es la unidad básica que agrupa
toda la información de un Objeto
(un objeto es una instancia de una
clase). A través de ella podemos
modelar el entorno en estudio
(una Casa, un Auto, una Cuenta
Corriente, etc.).
CLASE
En UML, una clase es representada por un rectángulo que posee tres divisiones:
Superior Intermedio Inferior
Es la parte central Es para definir las
Contiene el nombre que definen los acciones que
de la clase. atributos o tendrá la clase,
propiedades de la muestra las
clase. operaciones.
CLASE
Una clase se componen de tres elementos principales:
Nombre
Cada clase debe tener
un nombre que la
distinga de las otras
clases. Dicho nombre
puede ser simple o
compuesto.
CLASE
Una clase se componen de tres elementos principales:
Atributos
Tipos de datos:
Un tipo de dato es la descripción sobre la clase de datos que se va a
Son valores que manejar. Los tipos de datos comunes son: enteros, numero de coma
corresponden a un objeto, flotante (decimales), cadenas alfanuméricos valores booleanos,
como color, material, entre otros.
cantidad, ubicación.
Su visibilidad puede ser:
Generalmente se conoce
como la información ❑ +(Publica):Que hace el atributo visible a todos los
detallada del objeto. clientes de la clase.
❑ -(Privada): Que hace el atributo visible solo parala
clase.
❑ #(Protegida): Que hace el atributo visible a las
subclases de la clase.
CLASE
Una clase se componen de tres elementos principales:
Operaciones o Métodos
Ejemplo:
Son aquellas actividades o Su visibilidad puede ser:
comportamientos que pueden
realizar los objetos. ❑ +(Publica):Que hace el método visible a todos los
Los métodos u operaciones de clientes de la clase.
una clase son la forma en como ❑ -(Privada): Que hace el método visible solo parala
esta interactúa con su entorno. clase.
❑ #(Protegida): Que hace el método visible a las
subclases de la clase.
Las relacione casi nunca se encuentran aisladas.
RELACIONES Por lo general la mayoría de ellas colaboran con
otras de varias maneras.
Cardinalidad
La cardinalidad de las relaciones
indica el grado y el nivel de
dependencia, se anotan en cada
extremo de la relación y estas
pueden ser:
RELACIONES
Herencia
(Especificación/ Generalización
Indica que una subclase hereda los métodos
y atributos especificados por una super
clase (también llamadas clase padre), la
subclase además de poseer sus propios
métodos y atributos poseerá las
características y comportamientos visibles.
RELACIONES
Asociación
La relación entre clase conocida como
Asociación, permite asociar objetos
que colaboran entre si (la asociación
es la interacción de una clase a otra).
RELACIONES
Realización
La realización conecta un elemento
del modelo, tales como una clase
con otro elemento, tal como una
interfaz que especifica su
comportamiento, pero no su
estructura o implementación.
RELACIONES
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. Es decir, la destrucción de la
clase contenedora no conlleva la
destrucción de la clase influida.
RELACIONES
Composición
Es un tipo de relación dependiente en
donde un objeto más complejo es
conformado por objetos más pequeños. En
esta situación, la frase “Tiene un”, debe
tener sentido:
El auto tiene llantas.
RELACIONES
Dependencia
Representa un tipo de relación muy
particular representa una relación de
uso, es decir que una clase utiliza a
otra si esta última se alterna, la
anterior se puede ver afectada. Se
denota por una fecha punteada.
EJEMPLO
DIAGRAMA DE CLASES
VENTAJAS DESVENTAJAS
➢ Es el más utilizado y más ➢ Puede volverse complejo y difícil
de entender en sistemas grandes.
conocido de los diagramas ➢ No representa el comportamiento
orientados a objetos. dinámico de las clases, solo su
➢ Propone soluciones a algunos estructura.
errores. ➢ Requiere un mantenimiento
➢ Representa relaciones entre las constante para reflejar cambios en
el sistema.
clases de Sistema. ➢ Puede llevar a una sobrecarga de
➢ Es una fuente de generación de información si no se organiza
código. adecuadamente.
Aplicaciones de Diagrama de Clases en
Diversas Áreas
Desarrollo de Bases de Educación
Ingeniería de Software Datos
Ayuda a modelar entidades y Enseñanza de programación
Modelado de sistemas: Facilita
sus relaciones, lo que es orientada a objetos: Es una
el diseño y la organización de
fundamental para la herramienta pedagógica para
sistemas orientados a objetos,
planificación de bases de ayudar a los estudiantes a
ayudando a los desarrolladores
datos relacionales. comprender conceptos como
a visualizar la estructura del
clases, objetos y relaciones
software.
en la programación.
CONCLUSIÓN
Los diagramas de clases son una
herramienta esencial en el desarrollo
de software orientado a objetos.
Proporcionan claridad en la estructura
y comportamiento del sistema,
mejorando la comunicación entre los
miembros del equipo y facilitando el
diseño y mantenimiento del software.
Muchas
GRACIAS