Dpto. de Computación y T.I.
Taller de Sistemas de
Programas
http://www.ldc.usb.ve/~gescuela/ci3715.html
http://www.ldc.usb.ve/~jtcadenas
Clase 5
Agenda
1.Diagrama de Secuencia
2.Contratos
3.Exposición por equipos
4.Asignación próxima semana
Diagramas de Interacción



Usados en la etapa de diseño de objetos
Se deben crear en paralelo con
Diagramas de Clase
Sugerencia: crear por pares
Clases e Instancias
Diagrama de Secuencia
Diagrama de Secuencia
:S yste m
: C a sh ie r
b e tte r n a m e
e n te rIte m (ite m ID , q u a n tity )
sca n (ite m ID , q u a n tity )
w o rse n a m e
Elementos del Diagrama de Secuencia
syste m a s b la ck b o x
th e n a m e co u ld b e "N e xtG e n P O S " b u t "S yste m " ke e p s it
sim p le
th e ":" a n d u n d e rlin e im p ly a n in sta n ce , a n d a re e xp la in e d in a
la te r ch a p te r o n se q u e n ce d ia g ra m n o ta tio n in th e U M L
e xte rn a l a cto r to
syste m
P ro ce ss S a le S ce n a rio
:S yste m
: C a sh ie r
m a ke N e w S a le
a U M L lo o p
in te ra c tio n
fra m e, w ith a
b o o le a n g u a rd
e xp re ssio n
lo o p
[ m o re ite m s ]
e n te rIte m (ite m ID , q u a n tity )
d e scrip tio n , to ta l
e n d S a le
re tu rn va lu e (s)
a sso cia te d w ith th e
p re vio u s m e ssa g e
a n a b stra ctio n th a t
ig n o re s p re se n ta tio n
a n d m e d iu m
th e re tu rn lin e is
o p tio n a l if n o th in g is
re tu rn e d
to ta l w ith ta xe s
m a ke P a ym e n t(a m o u n t)
ch a n g e d u e , re ce ip t
a m e ssa g e w ith
p a ra m e te rs
it is a n a b stra ctio n
re p re se n tin g th e
syste m e ve n t o f
e n te rin g th e
p a ym e n t d a ta b y
so m e m e ch a n ism
Diagrama de secuencia
P ro ce ss S a le S ce n a rio
:S yste m
: C a sh ie r
m a ke N e w S a le ()
lo o p
[ m o re ite m s ]
e n te rIte m (ite m ID , q u a n tity )
d e scrip tio n , to ta l
e n d S a le ()
to ta l w ith ta xe s
m a ke P a ym e n t(a m o u n t)
ch a n g e d u e , re ce ip t
th e se in p u t syste m e ve n ts
in vo ke syste m o p e ra tio n s
th e syste m e ve n t e n te rIte m
in vo ke s a syste m o p e ra tio n
ca lle d e n te rIte m a n d so fo rth
th is is th e sa m e a s in o b je cto rie n te d p ro g ra m m in g w h e n
w e sa y th e m e ssa g e fo o
in vo ke s th e m e th o d (h a n d lin g
o p e ra tio n ) fo o
Diagrama de secuencia
P ro ce ss S a le S ce n a rio
: C a sh ie r
m a ke N e w S a le
S im p le ca sh -o n ly P ro ce ss S a le sce n a rio :
1 . C u sto m e r a rrive s a t a P O S ch e cko u t
w ith g o o d s a n d /o r se rvice s to p u rch a se .
2 . C a sh ie r sta rts a n e w sa le .
3 . C a sh ie r e n te rs ite m id e n tifie r.
4 . S yste m re co rd s sa le lin e ite m a n d
p re se n ts ite m d e scrip tio n , p rice , a n d
ru n n in g to ta l.
C a sh ie r re p e a ts ste p s 3 -4 u n til in d ica te s
done.
5 . S yste m p re se n ts to ta l w ith ta xe s
ca lcu la te d .
6 . C a sh ie r te lls C u sto m e r th e to ta l, a n d
a sks fo r p a ym e n t.
7 . C u sto m e r p a ys a n d S yste m h a n d le s
p a ym e n t.
...
lo o p
[ m o re ite m s ]
e n te rIte m (ite m ID , q u a n tity )
d e scrip tio n , to ta l
e n d S a le
to ta l w ith ta xe s
m a ke P a ym e n t(a m o u n t)
ch a n g e d u e , re ce ip t
:S yste m
Creación de instancias
Mensajes Condicionales
Iteración para un y múltiples mensajes
Diagrama de Secuencia
a stick arrow in UM L im plies an asynchronous call
a filled arrow is the m ore com m on synchronous call
active
object
System :
Class
:ClockStarter
In Java, for exam ple, an asynchronous call m ay occur as
follows:
// Clock im plem ents the Runnable interface
Thread t = new Thread( new Clock() );
t.start();
the asynchronous start call always invokes the run m ethod
on the Runnable (Clock) object
to sim plify the UM L diagram , the Thread object and the
start m essage m ay be avoided (they are standard
“overhead”); instead, the essential detail of the Clock
creation and the run m essage im ply the asynchronous call
startClock
create
:Clock
run
runFinalization
Diagrama de Colaboración
Diagrama de Colaboración
Diagrama de Colaboración
T h re e w a ys to sh o w cre a tio n in a
co m m u n ica tio n d ia g ra m
cre a te m e ssa g e , w ith o p tio n a l in itia lizin g p a ra m e te rs . T h is w ill
n o rm a lly b e in te rp re te d a s a co n stru cto r ca ll.
1 : cre a te (ca sh ie r)
: R e g iste r
:S a le
1 : cre a te (ca sh ie r)
: R e g iste r
:S a le {n e w }
« cre a te »
1 : m a ke (ca sh ie r)
: R e g iste r
if a n u n o b vio u s cre a tio n m e ssa g e n a m e is u se d , th e
m e ssa g e m a y b e ste re o typ e d fo r cla rity
:S a le
Diagrama de Colaboración
m sg1
: A
1: m sg2
: B
1 .1 : m s g 3
n o t n u m b e re d
le g a l n u m b e rin g
: C
c o n d itio n a l m e s s a g e , w ith te s t
m essage 1
: Foo
1 [ c o lo r = re d ] : c a lc u la te
: Bar
Diagrama de Colaboración
u n co n d itio n a l a fte r
e ith e r m sg 2 o r m sg 4
:E
1 a a n d 1 b a re m u tu a lly
e xclu sive co n d itio n a l p a th s
2 : m sg 6
1 a [te s t1 ] : m sg 2
m sg 1
:A
:B
1 b [n o t te s t1 ] : m sg 4
:D
1 b .1 : m sg 5
1 a .1 : m sg 3
:C
Diagrama de Colaboración
ru n S im u la tio n
: S im u la to r
1 * [ i = 1 ..n ]: n u m = n e xtIn t
: R andom
ite ra tio n is in d ica te d w ith a * a n d a n o p tio n a l
ite ra tio n cla u se fo llo w in g th e se q u e n ce n u m b e r
m e ssa g e to cla ss , o r a
sta tic m e th o d ca ll
doX
1 : lo cs = g e tA va ila b le L o ca le s
: Foo
« m e ta c la s s »
C a le n d a r
Diagrama de Colaboración
sta rtC lo ck
3: ru n F in a liza tio n
:C lo ckS ta rte r
S yste m : C la ss
1 : cre a te
a syn ch ro n o u s m e ssa g e
2 : ru n
a ctive o b je ct
:C lo ck
Contratos



Una descripción más detallada que los
casos de uso textuales
Son escritos para añadir más detalle o
especificidad a algunas operaciones
Describen el comportamiento del sistema
detallado en términos del cambio de
estado de los objetos en el Modelo del
Dominio, después que una operación del
sistema ha sido ejecutada
Contratos (sugerencias)



Identificar las operaciones del sistema de
los Diagramas de Secuencia
Para operaciones del sistema que son
complejas y quizás vagas en sus
resultados, o no son claras en el caso de
uso, elaborar un contrato
Describir las postcondiciones. Categorías:



Creación de instancias y eliminación
Modificación de atributos
Formar o romper asociaciones
Operaciones del sistema
P ro ce ss S a le S ce n a rio
:S yste m
: C a sh ie r
m a ke N e w S a le ()
lo o p
[ m o re ite m s ]
e n te rIte m (ite m ID , q u a n tity )
d e scrip tio n , to ta l
e n d S a le ()
to ta l w ith ta xe s
m a ke P a ym e n t(a m o u n t)
ch a n g e d u e , re ce ip t
th e se in p u t syste m e ve n ts
in vo ke syste m o p e ra tio n s
th e syste m e ve n t e n te rIte m
in vo ke s a syste m o p e ra tio n
ca lle d e n te rIte m a n d so fo rth
th is is th e sa m e a s in o b je cto rie n te d p ro g ra m m in g w h e n
w e sa y th e m e ssa g e fo o
in vo ke s th e m e th o d (h a n d lin g
o p e ra tio n ) fo o
Partes de un Contrato
Contratos
Próxima Entrega
 Diagramas de Secuencia
 Contratos
 2do. Prototipo
Descargar

Taller de Sistemas de Programas http://www.ldc.usb.ve