0% encontró este documento útil (0 votos)
45 vistas17 páginas

Diagrama de ClasesV1 MPZ

El documento describe los diagramas de clases en UML, que son herramientas esenciales para visualizar las clases y relaciones en el desarrollo de software, similar a los planos en la construcción. Se explican los componentes básicos de un diagrama de clases, incluyendo la definición de clases, atributos, métodos y relaciones, así como la importancia de la multiplicidad y los modificadores de acceso. Además, se presentan ejemplos y conceptos adicionales como herencia, asociaciones y un diagrama de clases para un sistema administrativo hotelero.

Cargado por

mpzamudio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas17 páginas

Diagrama de ClasesV1 MPZ

El documento describe los diagramas de clases en UML, que son herramientas esenciales para visualizar las clases y relaciones en el desarrollo de software, similar a los planos en la construcción. Se explican los componentes básicos de un diagrama de clases, incluyendo la definición de clases, atributos, métodos y relaciones, así como la importancia de la multiplicidad y los modificadores de acceso. Además, se presentan ejemplos y conceptos adicionales como herencia, asociaciones y un diagrama de clases para un sistema administrativo hotelero.

Cargado por

mpzamudio
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Diagrama de Clases

Ing. Marcelo Zamudio


UTN-FRT
Diagrama de Clases
 Cuando se construye una casa o edificio, arquitectos e ingenieros elaboran un conjunto de
planos para visualizar todos los aspectos de la construcción antes de que comience cualquier
trabajo. Los diagramas de clases del lenguaje de modelado unificado (UML) cumplen la misma
función que un plano, pero para el desarrollo de software.

 Así como no construirías una casa sin un plano, no es buena idea construir un sistema sin un
diagrama UML durante su inicio y actualización. Los diagramas de clases UML forman parte de
una serie de diagramas UML que visualizan diferentes aspectos del desarrollo, todos utilizando
el mismo lenguaje para una interpretación más sencilla.

 Los diagramas de clases visualizan las clases de un sistema y las relaciones entre ellas.

 En un diagrama de clases, los nombres de las clases son los mismos que los nombres de los
objetos porque el propósito de una clase es definir los atributos y operaciones para cada
instancia de objeto en el sistema. Una clase es un modelo para un objeto, y un diagrama de
clases es el modelo estático del sistema.
¿Qué es una clase en UML?

 Una clase es un elemento de modelado que define las características del objeto que representa,
incluidos sus atributos y comportamientos.

 Tomemos como ejemplo la clase 'Car'. 'Car' tiene un conjunto de atributos estáticos, como marca,
modelo, año y color. La clase 'Car' también tiene métodos (cosas que los coches pueden hacer)
como acelerar, desacelerar, detenerse y arrancar. Dado que un objeto es una instancia de la clase:
una instancia de objeto puede ser: Subaru, Forester, 2023, verde oscuro. En este ejemplo, los
atributos de este coche son marca, modelo, año y color

¿Cuál es el propósito de los diagramas de clases UML?

 Un diagrama de clases UML tiene dos propósitos principales como modelo estático de un sistema
orientado a objetos:

 - Visualizar las clases de un sistema y sus propiedades.

 - Mostrar y analizar las relaciones entre las clases.

 Además de estos, los diagramas de clases UML también son la base para los diagramas de
componentes y despliegue que muestran los aspectos de hardware y software de un sistema.
Componentes básicos de un diagrama de clases

 El diagrama de clases estándar está compuesto por tres partes:

Sección superior:

Contiene el nombre de la clase. Esta sección siempre es necesaria, ya sea que estés hablando del
clasificador o de un objeto.

Sección central:

Contiene los atributos de la clase. Usa esta sección para describir cualidades de la clase. Esto solo es
necesario al describir una instancia específica de una clase.

Sección inferior:

Incluye operaciones de clases (métodos). Esto está organizado en un formato de lista. Cada operación
requiere su propia línea. Las operaciones describen cómo una clase puede interactuar con los datos.
Cómo definir una clase?
Reconociendo una clase

Para definir estos objetos/clases, debemos tener un escenario de uso del sistema (Narrativa/texto), extraer los
sustantivos de la declaración.

Ej: “Un Cliente inserta su TarjetaDeDébito en el Cajero y retira Efectivo.”

Los sustantivos en negrita son los objetos y, por lo tanto, también las clases.

Crea un modelo de tres partes para cada clase y agrega los nombres en la sección superior.
Atributos de la clase

En el segundo compartimento de cada modelo de clase, van los atributos. Los atributos del modelo de clase Cajero
son la ubicación, el ID de la máquina y el banco que lo gestiona. Hasta ahora, la clase Cajero con la lista de
atributos se ve así:

Cajero

+location : dirección

+machineId : entero

+managedBy : cadena
Cómo definir una clase?
Métodos de una clase (operaciones)

En el tercer compartimento, añade las operaciones para cada clase en una lista, al igual que los
atributos. Para la clase Cajero, una operación podría ser que lee la tarjeta, identifica una transacción y
pide un PIN. Ahora el modelo de clase se ve así:

Cajero

+location : dirección

+machineId : entero

+managedBy : cadena

+readsCard

+identifiesTransaacción

#preguntaporcódigo
Cómo definir una clase?
Visualizar las relaciones y la multiplicidad de una clase

La notación de multiplicidad es un conjunto de números colocados en la intersección de una línea de


relación y un modelo de clase. La multiplicidad de las instancias define cuántas instancias de un objeto
participan en una relación. Los dígitos muestran el número de instancias de una clase que están
vinculadas a una instancia de otra clase. Se denotan de la siguiente manera:

 0..1 = Cero o uno

 1 = Solo uno

 0..* = Cero o más

 1..* = Uno o más

 3 = Solo tres

 0..5 = De cero a cinco

 5..15 = De cinco a quince


 Modificadores de acceso a miembros

Todas las clases poseen diferentes niveles de acceso en función del modificador de acceso
(visibilidad). A continuación te mostramos los niveles de acceso con sus símbolos
correspondientes:

 Público (+)

 Privado (-)

 Protegido (#)

 Paquete (~)

 Derivado (/)

 Estático (subrayado)
Componentes adicionales del diagrama de clases

 En función del contexto, las clases de un diagrama de clases pueden representar los
objetos principales, las interacciones en la aplicación o las clases que se programarán.

 Clases: En UML, una clase representa un objeto o un conjunto de objetos que


comparte una estructura y un comportamiento comunes. Se representan con un
rectángulo que incluye filas del nombre de la clase, sus atributos y sus operaciones. Al
dibujar una clase en un diagrama de clases, solo se debe cumplimentar la fila superior.
Las otras son opcionales y se usan si deseas agregar más detalles.
Componentes adicionales del diagrama de clases
o Nombre: La primera fila en una figura de clase.

o Atributos: La segunda fila en una figura de clase. Cada atributo de una clase está
ubicado en una línea separada.

o Métodos: La tercera fila en una figura de clase. También conocidos como


"operaciones", los métodos se organizan en un formato de lista donde cada operación
posee su propia línea.

o Señales: Símbolos que representan comunicaciones unidireccionales y asincrónicas


entre objetos activos.

o Tipos de datos: Clasificadores que definen valores de datos. Los tipos de datos pueden
modelar tanto enumeraciones como tipos primitivos.

o Paquetes: Figuras diseñadas para organizar clasificadores relacionados en un


diagrama. Se simbolizan con una figura de un gran rectángulo con pestañas.
Componentes adicionales del diagrama de clases

o Interfaces: Una recopilación de firmas de operaciones o de definiciones de atributo


que define un conjunto uniforme de comportamientos. Las interfaces son similares a una clase,
excepto por que una clase puede tener una instancia de su tipo, y una interfaz debe poseer,
como mínimo, una clase para implementarla.

o Enumeraciones: Representaciones de tipos de datos definidos por el usuario. Una enumeración


incluye grupos de identificadores que representan valores de la enumeración.

o Objetos: Instancias de una clase o clases. Los objetos se pueden agregar a un diagrama de
clases para representar instancias prototípicas o concretas.

o Artefactos: Elementos modelo que representan las entidades concretas de un sistema de


software, como documentos, bases de datos, archivos ejecutables, componentes de software y
más.
Componentes adicionales del diagrama de clases
 Señales: Símbolos que representan comunicaciones unidireccionales y asincrónicas entre objetos activos.

 Tipos de datos: Clasificadores que definen valores de datos. Los tipos de datos pueden modelar tanto
enumeraciones como tipos primitivos.

 Paquetes: Figuras diseñadas para organizar clasificadores relacionados en un diagrama. Se simbolizan con una figura
de un gran rectángulo con pestañas.

 Interfaces: Una recopilación de firmas de operaciones o de definiciones de atributo que define un conjunto uniforme
de comportamientos. Las interfaces son similares a una clase, excepto por que una clase puede tener una instancia
de su tipo, y una interfaz debe poseer, como mínimo, una clase para implementarla.

 Enumeraciones: Representaciones de tipos de datos definidos por el usuario. Una enumeración incluye grupos de
identificadores que representan valores de la enumeración.

 Objetos: Instancias de una clase o clases. Los objetos se pueden agregar a un diagrama de clases para representar
instancias prototípicas o concretas.

 Artefactos: Elementos modelo que representan las entidades concretas de un sistema de software, como
documentos, bases de datos, archivos ejecutables, componentes de software y más.
Interacciones
El término "interacciones" se refiere a múltiples relaciones y enlaces que pueden existir en diagramas de objetos y de clases. Algunas
de las interacciones más comunes incluyen:

Herencia:

El proceso en el que una subclase o clase


derivada recibe la funcionalidad de una
superclase o clase principal, también se conoce
como "generalización". Se simboliza mediante
una línea de conexión recta con una punta de
flecha cerrada que señala a la superclase.
En este ejemplo, el objeto "Auto" heredaría todos
los atributos (velocidad, números de pasajeros,
combustible) y los métodos (arrancar(), frenar(),
cambiarDirección()) de la clase principal
("Vehículo"), además de los atributos específicos
(tipo de modelo, número de puertas, fabricante del
auto) y métodos de su propia clase (Radio(),
limpiaparabrisas(), aireacondicionado/calefacción()).
La herencia se muestra en un diagrama de clases por
medio de una línea continua con una flecha cerrada
y vacía.
Interacciones
 Asociación bidireccional:

La relación predeterminada entre dos clases. Ambas clases están conscientes una de la otra y de la relación
que tienen entre sí. Esta asociación se representa mediante una línea recta entre dos clases.

En el ejemplo anterior, la clase Auto y la clase Viaje están interrelacionadas. En un extremo de la línea, el Auto
recibe la asociación de "autoAsignado" con el valor de multiplicidad de 0..1, de modo que cuando la instancia
de Viaje existe, puede tener una instancia de Auto asociada a ella o no tener instancias de Autos asociadas a
ella. En este caso, una clase CasaRodante separada con un valor de multiplicidad de 0..* es necesaria para
demostrar que un Viaje puede tener múltiples instancias de Autos asociadas a ella. Dado que una instancia de
Auto podría tener múltiples asociaciones "iniciarViaje", en otras palabras, un auto podría realizar múltiples
viajes, el valor de multiplicidad se establece en 0..*
Interacciones
 Asociación unidireccional:

Una relación un poco menos común entre dos clases. Una clase está consciente de la otra e interactúa con ella.
La asociación unidireccional se dibuja con una línea de conexión recta que señala una punta de flecha abierta
desde la clase "knowing" a la clase "known".

Como ejemplo, en tu viaje por Arizona, podrías encontrarte con una trampa de velocidad donde un radar de tráfico
registra la velocidad a la que conducías, pero no lo sabrás hasta que recibas la notificación por correo. Esto no está
dibujado en la imagen, pero en este caso, el valor de multiplicidad sería 0..* en función de cuántas veces hayas
conducido frente al radar de tráfico.
Ejemplo Diagrama de clases para un sistema administrativo hotelero

Un diagrama de
clases puede
mostrar
las relaciones
entre cada
objeto en un
sistema
administrativo
hotelero,
incluidas la
información de
huéspedes, las
responsabilidade
s del personal y
la ocupación por
habitación. El
siguiente
ejemplo proporci
ona un
panorama útil del
sistema
administrativo
hotelero.
Fin !!!

También podría gustarte