Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción:
Objetivos:
Audiencia:
E l pres ente documento es ta orientado a alumnos que ya pos een ciertos conceptos
de OOP (o es tan haciendo un curs o) y a s u vez conocen algún lenguaje Orientado
a Objetos (ejemplo: C++ o Java), por lo tanto no es un curs o en s i, s ino más bien
un material de apoyo al es tudiante.
Contenidos:
• Modelamiento de Clases
• Casos de Uso
• Diagrama de Interacción
Un diagrama de clas es s irve para vis ualizar las relaciones entre las clas es que
involucran el s is tema, las cuales pueden s er as ociativas , de herencia, de us o y de
contenimiento.
E lementos
• Clase
E s la unidad bás ica que encaps ula toda la información de un Objeto (un
objeto es una ins tancia de una clas e). A través de ella podemos modelar el
entorno en es tudio (una Cas a, un Auto, una Cuenta Corriente, etc.).
E n UML, una clas e es repres entada por un rectángulo que pos ee tres
divis iones :
E n donde:
o Balance
o Depositar
o Girar
o y Balance
Atributos y Métodos :
o Atributos:
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).
o Métodos:
Los métodos u operaciones de una clas e s on la forma en como és ta
interactúa con s u entorno, és tos pueden tener las caracterís ticas :
♣ public (+, ): Indica que el método será visible tanto dentro como
fuera de la clase, es decir, es accsesible desde todos lados.
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:
v. Agregación:
Para modelar objetos complejos , n bas tan los tipos de datos bás icos
que proveen los lenguajes : enteros , reales y s ecuencias de
caracteres . Cuando s e requiere componer objetos que s on ins tancias
de clas es definidas por el des arrollador de la aplicación, tenemos
dos pos ibilidades :
Un E jemplo es el s iguiente:
vi. Asociación:
La relación entre clas es conocida como As ociación, permite as ociar
objetos que colaboran entre s i. Cabe des tacar que no es una
relación fuerte, es decir, el tiempo de vida de un objeto no depende
del otro.
E jemplo:
Cabe des tacar que el objeto creado (en es te cas o la Ventana gráfica)
no s e almacena dentro del objeto que lo crea (en es te cas o la
Aplicación).
• Casos Particulares:
o Clase Abstracta:
Una clas e abs tracta s e denota con el nombre de la clas e y de los
métodos con letra "itálica". E s to indica que la clas e definida no puede
s er ins tanciada pues pos ee métodos abs tractos (aún no han s ido
definidos , es decir, s in implementación). La única forma de utilizarla
es definiendo s ubclas es , que implementan los métodos abs tractos
definidos .
o Clase parametrizada:
E jemplo:
S upongamos que tenemos tenemos un el cas o del Diccionario implementado
mediante un árbol binario, en donde cada nodo pos ee:
• Actor.
• Casos de Uso.
• Relaciones de Uso, Herencia y Comunicación.
E lementos
• Actor:
Una definición previa, es que un Actor es un rol que un us uario juega con
res pecto al s is tema. E s importante des tacar el us o de la palabra rol, pues
con es to s e es pecifica que un Actor no neces ariamente repres enta a una
pers ona en particular, s ino más bien la labor que realiza frente al s is tema.
• Caso de Uso:
E s una operación/tarea es pecífica que s e realiza tras una orden de algún
agente externo, s ea des de una petición de un actor o bien des de la
invocación des de otro cas o de us o.
• Relaciones:
o Asociación
o Dependencia o Instanciación
o Generalización
E jemplo:
Como ejemplo es ta el cas o de una Máquina R ecicladora:
S is tema que controla una máquina de reciclamiento de botellas , tarros y jabas . E l
s is tema debe controlar y/o aceptar:
Como una primera aproximación identificamos a los actores que interactuan con el
s is tema:
Luego, tenemos que un Cliente puede Depos itar Itemes y un Operador puede
cambiar la información de un Item o bien puede Imprimir un informe:
Además podemos notar que un item puede s er una Botella, un T arro o una Jaba.
Otro as pecto es la impres ión de comprobantes , que puede s er realizada des pués
de depos itar algún item por un cliente o bien puede s er realizada a petición de un
operador.
• Un Objeto o Actor.
• Mensaje de un objeto a otro objeto.
• Mensaje de un objeto a si mismo.
E lementos
• Objeto/Actor:
S e repres enta por una flecha entre un objeto y otro, repres enta la llamada
de un método (operación) de un objeto en particular.
E jemplo
E n el pres ente ejemplo, tenemos el diagrama de interacción proveniente del
s iguiente modelo es tatico:
Aquí s e repres enta una aplicación que pos ee una Ventana gráfica, y és ta a s u vez
pos ee internamente un botón.
E ntonces el diagrama de interacción para dicho modelo es :
E n donde s e hacen notar las s uces ivas llamadas a Draw() (entre objetos ) y la
llamada a Paint() por el objeto Botón.
E l hotel pos ee tres tipos de piezas : s imple, doble y matrimonial, y dos tipos de
clientes : habituales y es porádicos . Una res ervación almacena datos del cliente, de
la pieza res ervada, la fecha de comienzo y el número de días que s erá ocupada la
pieza.
E l recepcionis ta del hotel debe poder hacer la s iguientes operaciones :
• Casos de uso
• Diagrama de clases
• Dos diagramas de interacción
E l contenido del pres ente ejemplo lo puedes obtener des de el s iguiente archivo:
hotel.zip (requerimientos : R ational R os e 98i).
CASOS DE USO
DIAGRAMA DE CLASES
DIAGRAMA DE INTERACCION