Please enable JavaScript.
Coggle requires JavaScript to display documents.
Modelo de Clases entregables - Coggle Diagram
Modelo de Clases
Introducción
Un diagrama de clases
Sirve para
Visualizar las relaciones entre las clases que involucran el sistema
Estas relaciones pueden ser
Herencia
De uso
Asociativas
Contenimiento
Esta compuesto por
Clase
Relaciones
Elementos
Clase
Unidad básica que encapsula toda la información de un Objeto
Objeto
Es una instancia de una clase
Con ella podemos modelar el entorno en estudio
Ejemplos
Un Auto
Una Cuenta Corriente
Una Casa
En UML
Es representada por
Un Rectángulo que posee tres divisiones
Intermedio
Contiene los atributos que caracterizan a la Clase
Inferior
Contiene los métodos u operaciones
Son la forma como interactúa el objeto con su
entorno
Superior
Contiene el nombre de la Clase
Atributos
Pueden ser de tres tipos
public
Indica que el atributo será visible tanto dentro como fuera de la clase
private
Indica que el atributo sólo será accesible desde dentro de la clase
protected
Indica que el atributo no será accesible desde fuera de la clase
Si podrá ser
accesado por métodos de la clase además de las subclases que se deriven
Métodos
La forma en como ésta interactúa con su entorno
Pueden ser de tres tipos
private
Indica que el método sólo será accesible desde dentro de la clase
protected
Indica que el método no será accesible desde fuera de la clase
Si podrá ser
accesado por métodos de la clase además de métodos de las subclases que se deriven
public
Indica que el método será visible tanto dentro como fuera de la clase
Relaciones entre Clases
Herencia
Indica que
Una subclase hereda: Métodos y atributos especificados por una Super Clase
La Subclase además de poseer sus propios métodos y atributo
Poseerá las características y atributos visibles
de la Super Clase
Ejemplo
Vehiculo
-> Auto -> Camioneta
Agregación
Objetos que son instancias de clases
definidas por el desarrollador de la aplicación
2 posibilidades
Por Valor
Tipo de relación estática
El tiempo de vida del objeto incluido esta
condicionado por el tiempo de vida del que lo incluye
Se denomina Composición
Por Referencia
Tipo de relación dinámica
El tiempo de vida del objeto incluido es
independiente del que lo incluye
Es comunmente llamada Agregación
Ejemplo:
Para una clase Almacen, si este se elimina, las Cuentas asociadas a este también lo hacen.
Para una clase Almacen, si esta se elimina, los Clientes no se eliminan con este.
Asociación
Permite asociar objetos que colaboran entre si
No es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro
Ejemplo:
Clase Cliente y Clase OrdenCompra:
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
Una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada
Es para denotar la dependencia que tiene una clase de otra
Ejemplo:
La creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicacion
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).
Cardinalidad de relaciones
uno o muchos: 1..* (1..n)
0 o muchos: 0..* (0..n)
número fijo: m (m denota el número)
Casos Particulares
Clase Abstracta
Indica que la clase definida no puede ser instanciada pues posee métodos abstractos
La única forma de utilizarla es definiendo subclases, que implementan los
métodos abstractos definidos
Una clase abstracta se denota con el nombre de la clase y de los métodos con letra "itálica"
Clase parametrizada
Se denota con un subcuadro en el extremo superior de la clase
Se especifican los parámetros que deben ser pasados a la clase para que esta pueda ser instanciada
Ejemplo: Diccionario en donde una llave o palabra tiene asociado un significado
La genericidad puede venir dada de un Template (como en el caso de C++) o bien de alguna estructura predefinida (especialización a través de clases).