Вы находитесь на странице: 1из 10

Anlisis y Diseo de Sistemas

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

Vista Esttica

Estructural

Diagramas

Diagrama
Clases

Conceptos Principales

Clase,
asociacin,
de generalizacin,
dependencia, realizacin,
interfaz.

Caso de Uso, Actor,


Vista de Casos de Diagramas
de
asociacin,
extensin,
Uso
Casos de Uso
generalizacin.

Vista
de Diagramas
de Componente,
interfaz,
Implementacin
Componentes
dependencia, realizacin.

Vista

de Diagramas

de Nodo,

componente,

Sesin no05

Anlisis y Diseo de Sistemas


Despliegue

Despliegue

dependencia, localizacin.

Vista de Estados Diagramas


de mquina
Estados

de Estado,
evento,
transicin, accin.

Vista de actividad

Estado,
actividad,
transicin, determinacin,
divisin, unin.

Diagramas
Actividad

de

Diagramas
Secuencia

de Interaccin,
objeto,
mensaje, activacin.

Dinmica

Vista
interaccin

de
Colaboracin, interaccin,
Diagramas
de
rol
de
colaboracin,
Colaboracin
mensaje.

Administracin
o Vista de Gestin Diagramas
Gestin de modelo de modelo
Clases

Extensin de UML

Todas

Todos

de Paquete,
modelo.

subsistema,

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:

Sesin no05

Anlisis y Diseo de Sistemas

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:

Sesin no05

Anlisis y Diseo de Sistemas

(-) 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)

Sesin no05

Anlisis y Diseo de Sistemas

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)
Sesin no05

Anlisis y Diseo de Sistemas

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.

Sesin no05

Anlisis y Diseo de Sistemas

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

Sesin no05

Anlisis y Diseo de Sistemas

IV

(La prctica tiene una duracin de 2 horas)

ACTIVIDADES

1. Realizar la revisin y anlisis del siguiente diagrama

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.

Sesin no05

Anlisis y Diseo de Sistemas


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

Sesin no05

Anlisis y Diseo de Sistemas


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

Sesin no05

Вам также может понравиться