Modelo de Clases UML
Modelo de Clases UML
Modelo de Clases UML
Introduccin
Un diagrama de clases sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y
de contenimiento.
Un diagrama de clases esta compuesto por los siguientes elementos:
Elementos
Clase
Es la unidad bsica que encapsula toda la informacin de un Objeto (un
objeto es una instancia de una clase). A travs de ella podemos modelar
el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).
En UML, una clase es representada por un rectngulo que posee tres
divisiones:
En donde:
o
o
o
Ejemplo:
Una Cuenta Corriente que posee como caracterstica:
o
Balance
Depositar
Girar
y Balance
Atributos y Mtodos:
o
Atributos:
Los atributos o caractersticas de una Clase pueden ser de tres
tipos, los que definen el grado de comunicacin 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 accesible desde
todos lados.
private (-,
): Indica que el atributo slo ser accesible
desde dentro de la clase (slo sus mtodos lo pueden
accesar).
protected (#,
): Indica que el atributo no ser
accesible desde fuera de la clase, pero si podr ser
accesado por mtodos de la clase adems de las subclases
que se deriven (ver herencia).
Mtodos:
private (-,
): Indica que el mtodo slo ser accesible
desde dentro de la clase (slo otros mtodos de la clase lo
pueden accesar).
protected (#,
): Indica que el mtodo no ser
accesible desde fuera de la clase, pero si podr ser
accesado por mtodos de la clase adems de mtodos de
las subclases que se deriven (ver herencia).
iv.
Herencia (Especializacin/Generalizacin):
Indica que una subclase hereda los mtodos y atributos
especificados por una Super Clase, por ende la Subclase adems
de poseer sus propios mtodos y atributos, poseer las
caractersticas y atributos visibles de la Super Clase (public y
protected), ejemplo:
Agregacin:
Para modelar objetos complejos, n bastan los tipos de datos
bsicos 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
aplicacin, tenemos dos posibilidades:
Asociacin:
La relacin entre clases conocida como Asociacin, permite
asociar objetos que colaboran entre si. Cabe destacar que no es
una relacin fuerte, es decir, el tiempo de vida de un objeto no
depende del otro.
Ejemplo:
Casos Particulares:
o
Clase Abstracta:
Clase parametrizada:
Para este caso particular hemos definido un Diccionario para almacenar String
y Personas, las cuales pueden funcionar como llaves o como item, solo se
mostrarn las relaciones para la implementacin del Diccionario:
Actor.
Casos de Uso.
Relaciones de Uso, Herencia y Comunicacin.
Elementos
Actor:
Caso de Uso:
Relaciones:
o
Asociacin
Es el tipo de relacin ms bsica que indica la invocacin desde
un actor o caso de uso a otra operacin (caso de uso). Dicha
relacin se denota con una flecha simple.
Dependencia o Instanciacin
Es una forma muy particular de relacin entre clases, en la cual
una clase depende de otra, es decir, se instancia (se crea). Dicha
relacin se denota con una flecha punteada.
Generalizacin
Este tipo de relacin es uno de los ms utilizados, cumple una
doble funcin dependiendo de su estereotipo, que puede ser
de Uso (<<uses>>) o de Herencia (<<extends>>).
Adems podemos notar que un item puede ser una Botella, un Tarro o una
Jaba.
Diagrama de Interaccin
Introduccin
El diagrama de interaccin, representa la forma en como un Cliente (Actor) u
Objetos (Clases) se comunican entre si en peticin a un evento. Esto implica
recorrer toda la secuencia de llamadas, de donde se obtienen las
responsabilidades claramente.
Dicho diagrama puede ser obtenido de dos partes, desde el Diagrama Esttico
de Clases o el de Casos de Uso (son diferentes).
Los componentes de un digrama de interaccin son:
Un Objeto o Actor.
Mensaje de un objeto a otro objeto.
Mensaje de un objeto a si mismo.
Elementos
Objeto/Actor:
Ejemplo
En el presente ejemplo, tenemos el diagrama de interaccin proveniente del
siguiente modelo estatico:
Aqu se representa una aplicacin que posee una Ventana grfica, y sta a su
vez posee internamente un botn.
Entonces el diagrama de interaccin para dicho modelo es:
Ejercicios resueltos
1. Carrito de Compras
Amazon.com ha decidido que su sistema de compras esta obsoleto, por lo que
desea implementarlo utilizando java. Ustedes voluntariosamente se ofrecen para
programarlo, (y de paso ganar mucho $$$). Pero antes de contratarlos Amazon
desea ver los diagramas de UML, mas epecificamente hablando el Diagrama de
Clase, para determinar si es que los contrata o no.
Amazon desea que su sistema tenga las siguientes funcionalidades:
-
2. Reserva autos.