Está en la página 1de 22

Mara Eugenia Valencia

Dpto. Ciencias de la Computacin


Diagramas de clases del diseo
Diagramas de clases del diseo
Su preparacin exige crear antes:

Diagramas de interaccin. De ellos se identifican las


clases de software que intervienen en la solucin y sus
mtodos.

Modelo conceptual: a partir de l se agregan detalles a la


definicin de las clases.
Los diagramas de clases se pueden crear al mismo tiempo
que los diagramas de interaccin.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
!emplo de un diagrama de clases de diseo
!emplo de un diagrama de clases de diseo
"#D$
introducir#roducto%&
$enta
'ec(a
esta"erminada:)ooleano
(ora
(acerL*neade#roducto%&
+aptura
, ,
Casilla de tres secciones
para la definicin de clase
Navegabilidad
Mtodos
Informacin sobre tipos
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
Diagramas de clases del diseo
Diagramas de clases del diseo
Descri-e gr.ficamente las especificaciones de las clases de
software y de las interfaces %por e!emplo/ las de 0ava& en
una aplicacin.
+ontiene la siguiente informacin:

+lases/ asociaciones y atri-utos.

1nterfaces/ con sus operaciones y constantes.

Mtodos.

1nformacin so-re los tipos de los atri-utos.

2avega-ilidad.

Dependencias.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
Diagramas de clases del diseo
Diagramas de clases del diseo
#ara ela-orar un diagrama de clases orientado al diseo:
3. Di-4!elas en un diagrama de clases.
,. 1dentifique todas las clases que participan en la solucin
del software. #ara ello analice los diagramas de
interaccin.
5. Duplique los atri-utos provenientes de los conceptos
asociados del modelo conceptual.
6. 7gregue los nom-res de los mtodos anali8ando los
diagramas de interaccin.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
Diagramas de clases del diseo
Diagramas de clases del diseo
9. 1ncorpore la informacin so-re los tipos a los atri-utos y
a los mtodos.
:. 7gregue las asociaciones necesarias para dar soporte a la
visi-ilidad requerida de los atri-utos.
;. 7gregue flec(as de navega-ilidad a las asociaciones para
indicar la direccin de la visi-ilidad de los atri-utos.
<. 7gregue las l*neas de relaciones de dependencia para
indicar la visi-ilidad no relacionada con los atri-utos.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
+omparacin entre el Modelo +onceptual
+omparacin entre el Modelo +onceptual
y los Diagramas de +lases de Diseo
y los Diagramas de +lases de Diseo
TPDV
Captura
Modelo Conceptual
Venta
fecha
estaTerminada:ooleano
hora
! !
Concepto" abstraccin
Diagrama de clases
del dise#o
TPDV
terminarVenta$%
introducirProducto$%
efectuarPago$%
Venta
fecha
estaTerminada:ooleano
hora
hacer&ineadeProducto$%
Captura
! !
Componente del soft'are
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
,. 1dentificar las clases de software y su ilustracin. %Se encuentran
examinando todos los diagramas de interaccin/ luego se di-u!an los
diagramas de clase correspondientes y se incluyen los atri-utos que
aparecen en el modelo conceptual&.
TPDV
Tienda
direccion
nombre
CatalogodeProductos
cantidad
(specificaciondeProducto
descripcion
precio
C)P
Venta
fecha
estaTerminada
hora
Ventas&ineadeProducto
cantidad
Pago
monto
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
3. 7gregar los nom-res de los mtodos. stos se sacan de los
mensa!es de los diagramas de cola-oracin. #or cada mensa!e
enviado a la clase =/ esta de-er. definir un mtodo con el mismo
nom-re.
:TPDV :Venta
*:hacer&ineadeProductos
$especif+cant%
Venta
fecha
estaTerminada
hora
hacer&ineadeProducto$%
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
TPDV
terminarVenta$%
introducirProducto$%
efectuarPago$%
Tienda
direccion
nombre
agregarVenta$%
CatalogodeProductos
especificacin$%
(specificaciondeProducto
descripcion
precio
C)P
Venta
fecha
estaTerminada
hora
seTermina$%
hacer&ineadeProducto$%
efectuarPago$%
total$%
Ventas&ineadeProducto
cantidad
subtotal$%
Pago
monto
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
7spectos especiales referentes a los
7spectos especiales referentes a los
nom-res de los mtodos
nom-res de los mtodos
El mensaje crear: n >ML representa instanciacin e
iniciali8acin.
n +?? 7signacin autom.tica o en el almacenamiento li-re
con 2ew llamada al constructor.
n 0ava1nvocar 2ew seguido de la llamada a un
constructor.
Se acostum-ra omitir los mtodos relacionados con la
creacin y los constructores procedentes del diagrama de
clases del diseo.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
Mtodos de Acceso: Son los que recuperan o los que
esta-lecen el valor de los atri-utos. >na estructura com4n
cuenta con una forma de tener acceso y de esta-lecer el valor
para cada atri-uto y declara privados todos los atri-utos
%o-liga al encapsulamiento&.
7spectos especiales referentes a los
7spectos especiales referentes a los
nom-res de los mtodos
nom-res de los mtodos
stos mtodos normalmente 2@ se incluyen en la descripcin
del diagrama de clase %!emplo: l mtodo o-tener#recio no
se muestra auque esta presente&.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
Mensajes a Multiobjetos: >n mensa!e a un multio-!eto se
interpreta como destinado al o-!eto contenedorAcoleccin
7spectos especiales referentes a los
7spectos especiales referentes a los
nom-res de los mtodos
nom-res de los mtodos
l mensa!e encontrar dirigido a
un multio-!eto se interpreta
como destinado a un o-!eto
contenedorAcoleccinB e!emplo:
>na ta-la Cas(ta-le/ un Map de
+?? o un Dictionary de SmalltalD.
:Catalogo
deProductos
:(specificacion
deProducto
,:especif:-especificacion
$cup%
,.!:especif:-encontrar
$cup%
l mtodo encontrar 2@ forma parte de la clase
specificacinde#roducto/ sino m.s -ien de la definicin de la
ta-la Casta-le o Dictionary.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
Las clases contenedorAcoleccin %como !ava.util.$ector y
!ava.util.Cas(ta-le& son clases predefinidas de las -i-liotecas y
no se acostum-ra mostrarlas de forma expl*cita en el diagrama
de clases porque aportan muy poca informacin nueva e
incorporan ruido.
7spectos especiales referentes a los
7spectos especiales referentes a los
nom-res de los mtodos
nom-res de los mtodos
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
5. 7gregar m.s informacin so-re los tipos. s opcional
mostrar el tipo de los atri-utos/ de los parametros del
mtodo y de los valores de devolver mtodo. Se recomienda
mostrarlo cuando se usan (erramientas +7S con
generacin autom.tica de cdigo porque ellas requieren
todos los detalles
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
TPDV
terminarVenta$%
introducirProducto$cup:(ntero+
cant:(ntero%
efectuarPago$efectivo/frecido:
Cantidad%
Tienda
direccion:Direccion
nombre:Te0to
agregarVenta$v.Venta%
CatalogodeProductos
especificacion$cup:(ntero%:
(specificaciondeProducto
(specificaciondeProducto
descripcion:Te0to
precio:Cantidad
cup:C)P
Venta
fecha:1echa
estaTerminada:ooleano
hora:2ora
seTermina$%
hacer&ineadeProducto$especif:
(specificaciondeProd+cant:(ntero%
efectuarPago$efectivo/frecido: Cantidad%
total$%:Cantidad
Ventas&ineadeProducto
cantidad:(ntero
subtotal$%:Cantidad
Pago
monto:Cantidad
1ncorporacin de informacin so-re los tipos.
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
6. 1ncorporar 7sociaciones y 2avega-ilidad.
La Naegabilidad indica la posi-ilidad de navegar
unidireccionalmente en una asociacin/ desde los o-!etos fuente
(asta la clase destino. "am-in significa visi-ilidad
%generalmente de atri-utos&.
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
&a flecha de navegabilidad indica
3ue los ob4etos TPDV est5n conectados
unidireccionalmente con los ob4etos Venta.
TPDV
terminarVenta$%
introducirProducto$%
efectuarPago$%
Venta
fecha
estaTerminada
hora
seTermina$%
hacer&ineadeProducto$%
efectuarPago$%
total$%
Captura
! !
&a clase TPDV probablemente tenga
un atributo 3ue apunta a un ob4eto
Venta.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
n los diagramas de clase orientados al diseo/ la mayor*a de
las asociaciones de-er*an completarse con las flec(as
necesarias de navegacin.
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
La visi-ilidad y las asociaciones requeridas entre las clases se
indican con los diagramas de interaccin. s necesario definir
una asociacin con una flec(a de navega-ilidad 7 a ) en las
siguientes situaciones comunes:
E 7 env*a un mensa!e a ).
E 7 crea una instancia ).
E 7 necesita mantener una conexin con ).
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
7sociaciones con s*m-olos de navega-ilidad
7sociaciones con s*m-olos de navega-ilidad
Tienda
direccion:Direccion
nombre:Te0to
agregarVenta$ %
TPDV
terminarVenta$ %
introducirProducto$ %
efectuarPago$ %
CatalogodeProductos
especificacion$ %
(specificaciondeProducto
descripcion:Te0to
precio:Cantidad
cup:C)P
Venta
fecha:1echa
estaTerminada:ooleano
hora:2ora
seTermina$ %
hacer&ineadeProducto$ %
efectuarPago$ %
total$ %
Ventas&ineadeProducto
cantidad:(ntero
subtotal$ %
Pago
monto:Cantidad
!
!
! !
!
!
!
! !
!
!
!
! !..6
!..6
6
7egistros8terminados
Captura Contiene
Contiene
)sa
9lberga
Mira8en
Pagado8por
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
9. Felaciones de Dependencia.
l >ML incluye una relacin general de dependencia la cual
indica que un elemento %clase/ caso de uso/ etc.& conoce la
existencia de otro. Se denota con una l*nea punteada y con
flec(a.
n los diagramas de clase/ la relacin de dependencia
descri-e la visi-ilidad de un par.metro glo-al o visi-ilidad
declarada localmente.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
+reacin de Diagramas de +lases de Diseo
+reacin de Diagramas de +lases de Diseo
para el punto de venta
para el punto de venta
Tienda
direccion:Direccion
nombre:Te0to
agregarVenta$ %
TPDV
terminarVenta$ %
introducirProducto$ %
efectuarPago$ %
CatalogodeProductos
especificacion$ %
(specificaciondeProducto
descripcion:Te0to
precio:Cantidad
cup:C)P
Venta
fecha:1echa
estaTerminada:ooleano
hora:2ora
seTermina$ %
hacer&ineadeProducto$ %
efectuarPago$ %
total$ %
Ventas&ineadeProducto
cantidad:(ntero
subtotal$ %
Pago
monto:Cantidad
!
!
! !
!
!
!
! !
!
!
!
! !..6
!..6
6 7egistros8terminados
Captura Contiene
Contiene
)sa
9lberga
Mira8en
Pagado8por
Dependencia de TPDV 3ue conoce sobre
(specificaciondeProducto.
:e recomienda cuando e0iste un par5metro ;
visibilidad global o declarada localmente.
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
2otacin de los detalles de los miem-ros
2otacin de los detalles de los miem-ros
de la clase
de la clase
Nombre de la clase
atributo
atributo:tipo
atributo:tipo-valor inicial
atributodeClase
<atributoDerivado
...
metodo!$%
metodo,$lista de parametros%
:tipo de retorno
metodoAbstracto()
+metodoPrivado$%
=metodoProtegido$%
metododeClase$%
...
>ava.a't.1ont
plain:Integer-?
bold:Integer-!
name::tring
st;le:Integer-?
...
@get1ont$name::tring%:1ont
@getName$%::tring
...
>ava.a't.ToolAit
=createutton$target:utton%:uttonPeer
...
@getColorModel$%:ColorModel
...
Mara Eugenia Valencia
Dpto. Ciencias de la Computacin
2otacin de los detalles de los miem-ros
2otacin de los detalles de los miem-ros
de la clase
de la clase
TPDV
@terminarVenta$%
@introducirProducto$%
@efectuarPago$%
Tienda
direccion
nombre
@agregarVenta$%
CatalogodeProductos
@especificacion$%
(specificaciondeProducto
descripcion
precio
cup
Venta
fecha
estaTerminada
hora
@seTermina$%
@hacer&ineadeProducto$%
@efectuarPago$%
@total$%
Ventas&ineadeProducto
cantidad
@subtotal$%
Pago
monto

También podría gustarte