Está en la página 1de 12

DIAGRAMA DE CLASES

UML
Profesor: Milton Serrano C.
Diagramas en UML
El bloque de construcción básico de UML es un “Diagrama”

Introducción a UML 2
Diagrama de Clase

1 2 3 4 5

Los diagramas Es un tipo de Son utilizados durante el


proceso de análisis y diseño
Describe Contiene la siguiente
información:
diagrama estático que gráficamente las
de clases son los describe la estructura
de los sistemas, donde se
especificaciones de • Clases, asociaciones y
crea el diseño conceptual
más utilizados de un sistema de la información que se las clases de software atributos.
• Interfaces, con sus
en el modelado mostrando sus clases, manejará en el sistema, los
componentes que se
y de las interfaces
operaciones y
de sistemas atributos y las encargaran del (por ejemplo, las de constantes.
relaciones entre ellas. funcionamiento y la Java) en una
orientados a relación entre uno y otro. aplicación.
• Métodos.
• Información sobre los
objetos. tipos de los atributos.
• Navegabilidad.
• Dependencias.

Introducción a UML 3
Diagrama de Clase

Identifique los atributos


Para elaborar un diagrama Identifique todas las clases
Dibújelas en un diagrama provenientes de los
de clases orientado al que participan en la
de clases. conceptos asociados del
diseño: solución del software.
modelo conceptual.

Agregue flechas de
Agregue las asociaciones
Incorpore la información navegabilidad a las
Agregue los nombres de los necesarias para dar soporte
sobre los tipos a los asociaciones para indicar la
métodos. a la visibilidad requerida de
atributos y a los métodos. dirección de la visibilidad
los atributos.
de los atributos.

Introducción a UML 4
Diagrama de Clase: Atributos

• Clase: Descripción de un conjunto de objetos que comparten los mismos


atributos, operaciones y relaciones.
• Se representa mediante un rectángulo con hasta tres compartimentos:
• nombre de la clase
• lista de atributos
• lista de métodos

Introducción a UML 5
Diagrama de Clase: Atributos
• Atributo: Son valores que corresponden a un objeto, como color, material, cantidad, ubicación. Generalmente se conoce como la
información detallada del objeto. Suponiendo que el objeto es una persona, sus propiedades serían: nombre, edad, sexo,etc.

• Tipo: Puede llegar a depender del lenguaje de programación a utilizar (public, protected, private).
• Valor inicial: valor que poseerá el atributo al crear un objeto.
• Visibilidad: Está relacionado con el encapsulamiento.
• Multiplicidad: Determinar si un atributo debe estar o no, y si posee un único valor o una lista de valores.
• 1-> El atributo debe tener un único valor.
• 0..1-> El atributo puede o no tener un valor.
• 0..* -> El atributo puede tener varios valores o ninguno.
• 1..*-> El atributo puede tener varios valores, pero debe tener al menos uno
• * -> El atributo puede tener varios valores.
• M..N ->El atributo puede tener entre M y N valores.
Introducción a UML 6
Diagrama de Clase: Atributos
• Visibilidad
CLASE CLIENTE EJEMPLO
• El encapsulamiento presenta las siguientes ventajas básicas:
• Se protegen los datos de accesos indebidos Cliente
• Favorece la modularidad y el mantenimiento - Nombre_cliente : String
- direccion : String
- correo : String
• Los atributos de una clase no deberían ser manipulables
directamente por el resto de objetos. - trajetaCreditoInfo : String
- InfoCompra : String
- Balance_Cuenta : float
• Niveles de encapsulamiento:
+ registrarse ()
(-) Privado: Es el más fuerte. Esta parte es totalmente invisible desde + loguearse ()
fuera de la clase (excepto para clases “friends” en terminología C++). + actualizar_perfil ()
(~) Package: Sólo es visible dentro del mismo package.
(#) Los atributos/métodos protegidos están visibles para las clases
friends y para las clases derivadas de la original.
(+) Los atributos/métodos públicos son visibles a otras clases.
Introducción a UML 7
Diagrama de Clase: Métodos

• Un método (operación) es la implementación de un servicio que puede ser requerido a cualquier objeto de la clase para
que muestre un comportamiento. Una operación es una abstracción de algo que se puede hacer a un objeto y que es
compartido por todos los objetos de la clase.

• Para cada método debe especificarse:

• Tipo devuelto: Puede llegar a depender del lenguaje de programación a utilizar.


• Parámetros: Especificación del tipo de datos y la información que determina el funcionamiento de la clase.
• Visibilidad: Está relacionada con el encapsulamiento (-, #, +).

Introducción a UML 8
Asociación
Diagrama de Clase:
Relaciones entre Clases
• En un diagrama de clases los vínculos entre clases se representan
por líneas a las que se les da diferentes características,
dependiendo del tipo de relación.
• Relaciones entre clases:
• Asociación: Es una relación estructural que describe una
conexión entre objetos. La multiplicidad de una asociación
determina cuántos objetos de cada tipo intervienen en la Agregación
relación.
• Agregación (“es parte de …”): Es una asociación especial, una
relación del tipo “todo/parte” dentro de la cual una o más
clases son partes de un conjunto.
• Composición “la parte no puede existir sin el todo”: es una
asociación que impide que las subclases existan sin la clase
padre.

• Generalización (herencia): “es un caso particular de …”.

Introducción a UML 9
Ejemplo: Sistema de Alquiler de
Vehículos
• Se pretende desarrollar un sistema de gestión para una empresa de alquiler de vehículos cuyas principales funcionalidades y características son
las que a continuación se describen:
• La empresa se dedica al alquiler vehículos. Dentro de los automóviles, la empresa distingue entre automóviles de lujo y básicos.
• Un cliente puede realizar reservas de automóviles desde Internet. Para ello accederá a la opción “Realizar Reservas” y el sistema le pedirá su
login y password. Si no ha sido cliente anteriormente el usuario deberá acceder a la opción “Registrarse”, en la que el sistema le solicitará sus
datos personales. Una vez finalizado el registro podrá realizar la reserva. Para ello el sistema le preguntará si desea un automóvil de lujo o básico,
y una vez que el cliente le ha indicado lo que desea, el sistema le pedirá las fechas inicial y final para las que desea el alquiler, así como las
ciudades de recogida y devolución del vehículo. Después le mostrará la relación de automóviles (marca, modelo, motor y precio diario)
disponibles en esas fechas, entre las que el cliente escogerá uno. La reserva queda realizada e identificada con un código del que el cliente debe
tomar nota. El cliente podrá, posteriormente, acceder al sistema para consultar o cancelar su reserva, previa identificación en el sistema.
• Para recoger el vehículo el cliente debe presentarse en las oficinas de la empresa para firmar el contrato de alquiler del vehículo. Un empleado
será el encargado de registrar ese contrato en el sistema, y se considera imprescindible que quede registrado qué empleado ha realizado cada
contrato. El empleado accederá a la parte de “Contratos” y, si existe reserva previa (no siempre tiene por qué haberla) introducirá el código de
reserva que debe de facilitarle el cliente.
• El sistema comprueba la existencia de la reserva y genera un contrato tipo para el tipo de vehículo reservado.
• El gerente de la empresa accede al sistema para realizar diversas consultas e informes sobre cuestiones como alquileres realizados, vehículos
disponibles, contratos firmados por empleados, etc. Por último existe un administrador, que es el encargado de registrar y mantener la
información de los usuarios y de los vehículos de la empresa.
Introducción a UML 10
DIAGRAMA DE CLASES: SISTEMA DE ALQUILER DE VEHICULOS

Vehiculo
marca : string
modelo : string Empleado_
Diagrama de motor : string
precio_float
nombre : string
direccion : string
Clases: Sistema 1..*
telefono : string
cedula : string
de Alquiler de Tiene 1..1
Vehículos
Registra

1..1
Reserva Cliente_ 1..1
fecha_inicio : fecha nombre : string Contrato
Realiza Tiene
fecha_fin : fecha dirección : string id_contrato : string
ciudad_entrega : string 1..1 1..* telefono : string 1..* 1..1 tipo_contrato
ciudad_devolucion : string cedula : string

Introducción a UML 11

También podría gustarte