Diagrama de Clases PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

DIAGRAMA DE CLASES

Un diagrama de clases es un tipo de diagrama estático que describe la estructura


de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los
diagramas de clases son utilizados durante el proceso de análisis y diseño de los
sistemas, donde se crea el diseño conceptual de la información que se manejará en
el sistema, y los componentes que se encargaran del funcionamiento y la relación
entre uno y otro.

Elementos

Clase: Es la unidad básica que encapsula 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.). En UML, una clase es
representada por un rectángulo que posee tres divisiones:

Superior: Contiene el nombre de la Clase


Intermedio: Contiene los atributos que caracterizan a la Clase
Inferior: Contiene los métodos u operaciones, los cuales son la
forma como interactúa el objeto con su entorno

Ejemplo:

Una Cuenta Corriente que posee como característica:

 Balance

Puede realizar las operaciones de:


 Depositar
 Girar
 Balance

Atributos y Métodos:

Atributos:
Los atributos o características de una Clase pueden ser de tres tipos, los
que definen el grado de comunicación y visibilidad de ellos con el entorno,
estos son:

public (+,): Indica que el atributo será visible tanto dentro como fuera de la
clase, es decir, es accsesible desde todos lados.
private (-,): Indica que el atributo sólo será accesible desde dentro de la
clase (sólo sus métodos lo pueden accesar).
DIAGRAMA DE CLASES
protected (#,): Indica que el atributo no será accesible desde fuera de la clase, pero
si podrá ser accesado por métodos de la clase además de las subclases que se
deriven (ver herencia).

Métodos:
Los métodos u operaciones de una clase son la forma en como ésta interactúa con
su entorno, éstos pueden tener las características:

public (+,): Indica que el método será visible tanto dentro como fuera de la clase, es
decir, es accsesible desde todos lados.
private (-,): Indica que el método sólo será accesible desde dentro de la clase (sólo
otros métodos de la clase lo pueden accesar).
protected (#,): Indica que el método no será accesible desde fuera de la clase, pero
si podrá ser accesado por métodos de la clase además de métodos de las
subclases que se deriven (ver herencia).

Relaciones entre Clases:


Ahora ya definido el concepto de Clase, es necesario explicar como se pueden
interrelacionar dos o más clases (cada uno con características y objetivos
diferentes).

Antes es necesario explicar el concepto de cardinalidad de relaciones: En UML, la


cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en
cada extremo de la relación y éstas pueden ser:

uno o muchos: 1..* (1..n)


0 o muchos: 0..* (0..n)
número fijo: m (m denota el número).
Herencia (Especialización/Generalización):
Indica que una subclase hereda los métodos y atributos especificados por una
Super Clase, por ende la Subclase además de poseer sus propios métodos y
atributos, poseerá las características y atributos visibles de la Super Clase (public y
protected), ejemplo:
DIAGRAMA DE CLASES

En la figura se especifica que Auto y Camión heredan de Vehículo, es decir, Auto


posee las Características de Vehículo (Precio, VelMax, etc) además posee algo
particular que es Descapotable, en cambio Camión también hereda las
características de Vehiculo (Precio, VelMax, etc) pero posee como particularidad
propia Acoplado, Tara y Carga.

Cabe destacar que fuera de este entorno, lo único "visible" es el método


Caracteristicas aplicable a instancias de Vehículo, Auto y Camión, pues tiene
definición publica, en cambio atributos como Descapotable no son visibles por ser
privados.

Agregación:
Para modelar objetos complejos, n bastan los tipos de datos básicos que proveen
los lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere
componer objetos que son instancias de clases definidas por el desarrollador de la
aplicación, tenemos dos posibilidades:

Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto
incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de
relación es comunmente llamada Composición (el Objeto base se contruye a partir
del objeto incluido, es decir, es "parte/todo").
Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del
objeto incluido es independiente del que lo incluye. Este tipo de relación es
comunmente llamada Agregación (el objeto base utiliza al incluido para su
funcionamiento).
Un Ejemplo es el siguiente:
DIAGRAMA DE CLASES

En donde se destaca que:

Un Almacen posee Clientes y Cuentas (los rombos van en el objeto que posee las
referencias).
Cuando se destruye el Objeto Almacen también son destruidos los objetos Cuenta
asociados, en cambio no son afectados los objetos Cliente asociados.
La composición (por Valor) se destaca por un rombo relleno.
La agregación (por Referencia) se destaca por un rombo transparente.
La flecha en este tipo de relación indica la navegabilidad del objeto refereniado.
Cuando no existe este tipo de particularidad la flecha se elimina.

Asociación: ------->
La relación entre clases conocida como Asociación, permite asociar objetos que
colaboran entre si. Cabe destacar que no es una relación fuerte, es decir, el tiempo
de vida de un objeto no depende del otro.

Ejemplo:

Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una


orden de compra solo puede tener asociado un cliente.

Dependencia o Instanciación (uso):


Representa un tipo de relación muy particular, en la que una clase es instanciada
(su instanciación es dependiente de otro objeto/clase). Se denota por una flecha
punteada.

El uso más particular de este tipo de relación es para denotar la dependencia que
tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una
ventana (la creación del Objeto Ventana esta condicionado a la instanciación
proveniente desde el objeto Aplicacion):
DIAGRAMA DE CLASES

Cabe destacar que el objeto creado (en este caso la Ventana gráfica) no se
almacena dentro del objeto que lo crea (en este caso la Aplicación).

EJEMPLO DIAGRAMA DE CLASES

 El programa contará con la clase principal BIBLIOTECA que cargará lo


necesario para ejecutar el programa.
 La clase MATERIAL contiene los campos y métodos para los libros y revistas
que se prestarán.
 La clase LIBRO se hereda de la clase material, hereda sus campos y
métodos.
 La clase REVISTA también se hereda de la clase material heredando sus
campos y métodos.
 Los métodos que tendrán los libros y revistas serán: darse de Alta, Baja y
Cambios.
 La clase PERSONA contiene los campos y métodos de los alumnos y
profesores que pueden pedir prestado los libros y revistas.
 La clase ALUMNO se hereda de la clase persona, hereda sus campos y
métodos.
 La clase PROFESOR también se hereda de la clase persona heredando sus
campos y métodos.
 Los métodos que tendrán los alumnos y profesores serán: llevar un libro o
revista, y devolver el libro o revista.
 La clase PRESTAMO realizará el préstamo entre la persona y el material a
prestar.
DIAGRAMA DE CLASES

También podría gustarte