You are on page 1of 10

Anlisis y Diseo de Sistemas

Sesin n
o
05
UNIVERSIDAD CATLICA DE SANTA MARA
PROGRAMA PROFESIONAL DE INGENIERA DE SISTEMAS



SESIN 06


UML
Diagrama de Clases


I
OBJETIVOS

o Demuestra, explica y exhibe el uso de metodologas, tcnicas y herramientas para el Anlisis
Orientado a Objetos.

II
TEMAS A TRATAR

Diagramas de Clases
Tipos de relaciones de clases
III
MARCO TEORICO


UML est compuesto por los siguientes diagramas:
rea Vista Diagramas Conceptos Principales
Estructural
Vista Esttica
Diagrama de
Clases
Clase, asociacin,
generalizacin,
dependencia, realizacin,
interfaz.
Vista de Casos de
Uso
Diagramas de
Casos de Uso
Caso de Uso, Actor,
asociacin, extensin,
generalizacin.
Vista de
Implementacin
Diagramas de
Componentes
Componente, interfaz,
dependencia, relaizacin.
Vista de Diagramas de Nodo, componente,
Anlisis y Diseo de Sistemas

Sesin n
o
05
Despliegue Despliegue dependencia, localizacin.
Dinmica
Vista de Estados
de mquina
Diagramas de
Estados
Estado, evento,
transicin, accin.
Vista de actividad
Diagramas de
Actividad
Estado, actividad,
transicin, determinacin,
divisin, unin.
Vista de
interaccin
Diagramas de
Secuencia
Interaccin, objeto,
mensaje, activacin.
Diagramas de
Colaboracin
Colaboracin, interaccin,
rol de colaboracin,
mensaje.
Administracin o
Gestin de modelo
Vista de Gestin
de modelo
Diagramas de
Clases
Paquete, subsistema,
modelo.
Extensin de UML Todas Todos
Restriccin, estereotipo,
valores, etiquetados.


Diagrama de Clases

El Diagrama de Clases es el diagrama principal para el anlisis y diseo. Un diagrama de clases
presenta las clases del sistema con sus relaciones estructurales y de herencia. La definicin de
clase incluye definiciones para atributos y operaciones. El modelo de casos de uso aporta
informacin para establecer las clases, objetos, atributos y operaciones.

La clase define las principales caractersticas de los objetos, tal como se muestra en el ejemplo:




Anlisis y Diseo de Sistemas

Sesin n
o
05

El mundo real puede ser visto desde abstracciones diferentes (subjetividad)
Mecanismos de abstraccin:
1. Clasificacin / Instanciacin
2. Composicin / Descomposicin
3. Agrupacin / Individualizacin
4. Especializacin / Generalizacin
La clasificacin es uno de los mecanismos de abstraccin ms utilizados. La clase define el
mbito de definicin de un conjunto de objetos, y cada objeto pertenece a una clase, Los objetos
se crean por instanciacin de las clases.
Cada clase se representa en un rectngulo con tres compartimientos:
1. nombre de la clase
2. atributos de la clase : piezas de informacin que representan el estado de un objeto

3. operaciones de la clase: describe lo que una clase puede hace pero no necesariamente
cmo se realiza. Es ms una promesa o un contrato mnimo que declara el
comportamiento que contendr una clase.

Los parmetros son usados para especificar la informacin provista para la operacin, tal
como se muestra en el ejemplo:

Los atributos de una clase no deberan ser manipulables directamente por el resto de objetos. Por
esta razn se crearon niveles de visibilidad para los elementos que son:
Anlisis y Diseo de Sistemas

Sesin n
o
05

(-) Privado : es el ms fuerte. Esta parte es totalmente invisible (excepto para clases
friends en terminologa C++)

(#) Los atributos/operaciones protegidos estn visibles para las clases friends y para las
clases derivadas de la original.

(+) Los atributos/operaciones pblicos son visibles a otras clases (cuando se trata de
atributos se est transgrediendo el principio de encapsulacin)

Anlisis y Diseo de Sistemas

Sesin n
o
05


La figura de abajo muestra cuatro formas diferentes de mostrar una clase usando la notacin de
UML



Relaciones entre clases:
Los enlaces entre objetos pueden representarse entre las respectivas clases y sus formas de
relacin son:

En esta prctica nos enfocaremos en las relaciones:
Asociacin y Agregacin (vista como un caso particular de asociacin)
Generalizacin/Especializacin.
Las relaciones de Agregacin y Generalizacin forman jerarquas de clases.
Asociacin:
La asociacin expresa una conexin bidireccional entre objetos. Una asociacin es una
abstraccin de la relacin existente en los enlaces entre los objetos. Puede determinarse por la
especificacin de multiplicidad (mnima...mxima)
Anlisis y Diseo de Sistemas

Sesin n
o
05
Uno y slo uno
0..1 Cero o uno
M..N Desde M hasta N (enteros naturales)
* Cero o muchos
0..* Cero o muchos
1..* Uno o muchos (al menos uno)
Ejemplos:



Agregacin:
La agregacin representa una relacin parte_de entre objetos. En UML se proporciona una escasa
caracterizacin de la agregacin. Esta relacin puede ser caracterizada con precisin
determinando las relaciones de comportamiento y estructura que existen entre el objeto agregado
y cada uno de sus objetos componentes.
Una agregacin se podra caracterizar segn:
Puede el objeto parte comunicarse directamente con objetos externos al objeto agregado?
No => inclusiva
Si => no inclusiva
Puede cambiar La composicin del objeto agregado?
Si => dinmica
No => esttica
Ejemplo:

Generalizacin:
Generalizacin y herencia son usadas para describir una clase que es un tipo de otra clase. Los
trminos tiene un y es un tipo de llegan a decidir si la relacin entre dos clases es agregacin
o herencia.

Anlisis y Diseo de Sistemas

Sesin n
o
05
Ejemplo:

Diagrama de Clases y Diagramas de Objetos pertenecen a dos vistas complementarias del
modelo. Un Diagrama de Clases muestra la abstraccin de una parte del dominio. Un Diagrama
de Objetos representa una situacin concreta del dominio. Las clases abstractas no son
instanciadas.


Ejemplo de Diagrama de Clases




Anlisis y Diseo de Sistemas

Sesin n
o
05

IV

(La prctica tiene una duracin de 2 horas) ACTIVIDADES

1. Realizar la revisin y anlisis del siguiente diagrama



V
EJERCICIOS

1. Se desea disear un diagrama de clases sobre la informacin de las reservas de una
empresa dedicada al alquiler de automviles, teniendo en cuenta que:

Un determinado cliente puede tener en un momento dado hechas varias reservas.
De cada cliente se desean almacenar su DNI, nombre, direccin y telfono. Adems
dos clientes se diferencian por un cdigo nico.
Cada cliente puede ser avalado por otro cliente de la empresa.
Una reserva la realiza un nico cliente pero puede involucrar varios coches.
Es importante registrar la fecha de inicio y final de la reserva, el precio del alquiler de
cada uno de los coches, los litros de gasolina en el depsito en el momento de
realizar la reserva, el precio total de la reserva y un indicador de si el coche o los
coches han sido entregados.
Todo coche tiene siempre asignado un determinado garaje que no puede cambiar.
De cada coche se requiere la matricula, el modelo el color y la marca.
Cada reserva se realiza en una determinada agencia.
Anlisis y Diseo de Sistemas

Sesin n
o
05
2. Represente mediante un diagrama de clases la siguiente especificacin
Una aplicacin necesita almacenar informacin sobre empresas, sus empleados y
sus clientes
Ambos se caracterizan por su nombre y edad
Los empleados tienen un sueldo bruto, los empleados que son directivos tienen una
categora, as como un conjunto de empleados subordinados
De los clientes adems se necesita conocer su telfono de contacto
La aplicacin necesita mostrar los datos de empleados y clientes
3. Se quiere realizar el diseo de una aplicacin software que sea capaz de soportar una red de
cambio de divisas. Esta red de cambio de divisas estar formada por una serie de bancos
controlados todos ellos por un banco central del que dependen. Las operaciones de cambio de
divisas se pueden realizar de dos modos:
a) Delante de una ventanilla, con un dependiente atendiendo a un cliente. En este caso el
cliente podr ir a la ventanilla y cambiar el dinero en metlico por su correspondiente
cantidad en divisas extranjeras.
b) En un cajero automtico, en el que con la utilizacin de una tarjeta nica para todos los
bancos, se podr acceder a la cuenta asociada con la tarjeta y sacar una cantidad de
dinero especificada en euros pero obtenida en una divisa que se especificar al principio
de la operacin.
Cada una de las cajas manuales son propiedad de un nico banco, es decir, el banco tiene toda
la responsabilidad sobre este tipo de cajas. Las cajas se comunican directamente con los
ordenadores de su banco central del que dependen. El personal a cargo de las cajas introduce la
identificacin del usuario que realiza el cambio de divisas (pasaporte o DNI), la cantidad de
dinero, moneda de procedencia, cantidad de dinero entregada y la divisa extranjera que se
entrega.
En caso de que se utilicen los cajeros automticos, stos se comunican con los ordenadores de
su banco central. Un cajero automtico acepta tarjetas con formato normalizado emitidas por
cada uno de los bancos, pero solamente destinada al cambio de divisas; interacta con los
posibles usuarios, se comunica con el sistema central para llevar a cabo la transaccin, sirve el
dinero e imprime un recibo.


VI
CUESTIONARIO
1. Qu es generalizacin? .
2. Defina el trmino estereotipo
3. Qu es una especificacin?


VII
BIBLIOGRAFIA Y REFERENCIAS

Roger S. Pressman 2010. Ingeniera de Software: Un Enfoque Prctico. Sptima
Edicin: Mac Graw Hill, 2010. ISBN: 978-607-15-0314-3.
Ian Sommerville 2005.Sommerville, I. 2002. Ingeniera de Software. 6 Edicin. s.l. :
Addison-Wesley, 2002.
Sommerville, Ian. 2005. Ingeniera de Software. Sptima Edicin. Madrid: Pearson
Educacin, 2005. pg. 712. ISBN: 84-7829-074-5.
IEEE Computer Society. 2004. Guide to the Software Engineering Body of Knowledge.
SWEBOK. [En lnea] 2004. IEEE.1993.IEEE Recomended Practice for Software
Anlisis y Diseo de Sistemas

Sesin n
o
05
Requeriments Specificacitons. Institute of Electronical and Electronics Engineers, 1993.
IEEE/ANSI Standard 830-1993

You might also like