Está en la página 1de 26

Tutorial de UML 1 de 26

INFORSALUD 2004
Tutorial de UML
MIGUEL ARREGUI
(marregui@sg.uji.es)
DPTO. DE LENGUAJES Y SISTEMAS INFORMTICOS
GRUPO IRIS (INTEGRACIN Y REINGENIERA DE SISTEMAS)
Univ!"i#$# J$%& I' C$"#(()n
INFORSLU! 2""#
Tutorial de UML 2 de 26
INFORSLU! 2""#
Tutorial de UML $ de 26
P!"n#$*i)n
%l &rese'te do(ume'to )a sido &re&arado (omo material de so&orte &ara el tutorial de
UML* Le'guaje U'i+i(ado de Modelado* del i'gl,s -U'i+ied Modeli'g La'guage.*
im&artido e' el /II 0o'greso Na(io'al de I'+orm1ti(a &ara la Salud* INFORSLU!
2""#.
%l tutorial o+re(e u'a i'trodu((i2' a todos los (o'(e&tos 3ue ma'eja UML* em&e4a'do
&or los m1s rele5a'tes del &aradigma de la Orie'ta(i2' a O6jetos* OO* so6re el 3ue
asie'ta' los (imie'tos de UML. 7or 8ltimo* des(ri6e (omo &uede em&learse UML e' el
desarrollo de u' &ro9e(to. %l tutorial 'o &rete'de &ro+u'di4ar e' (ada detalle* e' (am6io
6us(a ser u'a 8til toma de (o'ta(to (o' UML* (omo m:'imo &ara (o'o(er sus
&osi6ilidades 9 a9udar e' la de(isi2' de si ado&tarlo (omo &arte del arse'al de
desarrollo.
C+n#ni,+"
1.- Introduccin................................................................................................................5
2.- La Orientacin a Objetos, OO....................................................................................5
2.-.. /%0 " %n O12#+.................................................................................................3
2.2.. /%0 " %n$ C($"..................................................................................................4
2.5.. /%0 " ($ 6!n*i$...............................................................................................4
2.4.. /%0 " %n$ In#!7$8.............................................................................................9
3.- El Lenguaje Unificado de Modelado, UML..............................................................
5.-.. :(+;%" 1<"i*+" , *+n"#!%**i)n , UML.........................................................=
$.1.1.; %leme'tos.....................................................................................................1"
$.1.2.; Rela(io'es....................................................................................................11
$.1.$.; !iagramas.....................................................................................................11
$.1.$.1.; !iagrama de 0lases 9 !iagrama de O6jetos.........................................1$
$.1.$.2.; !iagrama de 0om&o'e'tes 9 !iagrama de !es&liegue........................1<
$.1.$.$.; !iagrama de 0asos de Uso...................................................................16
$.1.$.#.; !iagrama de Se(ue'(ia 9 !iagrama de 0ola6ora(i2'..........................1=
$.1.$.<.; !iagrama de %stados 9 !iagrama de (ti5idades................................2"
5.2.. C)&+ %#i(i8$! UML...........................................................................................22
!.- "eferencias................................................................................................................25
INFORSLU! 2""#
Tutorial de UML # de 26
Fi>%!$"
Figura 1> O6jetos (omu'i(1'dose.....................................................................................6
Figura 2> La ?ere'(ia........................................................................................................=
Figura $> !iagrama de 0lases..........................................................................................1$
Figura #> Rela(i2' de de&e'de'(ia e' !iagramas de 0lase............................................1#
Figura <> uto;agrega(i2'...............................................................................................1<
Figura 6> !iagrama de 0om&o'e'tes..............................................................................1<
Figura @> !iagrama de !es&liegue..................................................................................16
Figura => !iagrama de 0asos de Uso 'i5el 1..................................................................16
Figura A> !iagrama 0asos de Uso 'i5el 2 ...................................................................1@
Figura 1"> !iagrama 0asos de Uso 'i5el 2 B.................................................................1@
Figura 11> !iagrama 0asos de Uso 'i5el 1 detallado.....................................................1=
Figura 12> !iagrama de Se(ue'(ia..................................................................................1=
Figura 1$> !iagrama de 0ola6ora(i2'............................................................................2"
Figura 1#> M13ui'a de %stados* estados sim&les............................................................2"
Figura 1<> M13ui'a de %stados* estados (om&uestos.....................................................21
Figura 16> !iagrama de (ti5idades...............................................................................22
T$1($"
Ta6la 1> %leme'tos de (o'stru((i2' e' UML..................................................................11
Ta6la 2> %leme'tos de rela(i2' e' UML.........................................................................11
Ta6la $> !iagramas de UML...........................................................................................12
Ta6la #> Multi&li(idad e' !iagramas de 0lases..............................................................1#
Ta6la <> Ti&os de me'saje e' diagramas de i'tera((i2'..................................................1A
INFORSLU! 2""#
Tutorial de UML < de 26
-.. In#!+,%**i)n
%' los tiem&os 3ue (orre'* el so+tCare tie'e la te'de'(ia de ser gra'de 9 (om&lejo. Los
usuarios dema'da' i'ter+a(es (ada 5e4 m1s (om&letas 9 +u'(io'alidades m1s
ela6oradas* todo ello i'+lu9e'do e' el tamaDo 9 la (om&lejidad del &rodu(to +i'al. 7or
ello* los &rogramas de6e' ser estru(turados de ma'era 3ue &ueda' ser re5isados*
(orregidos 9 ma'te'idos* r1&ida 9 e+i(a4me'te* &or ge'te 3ue 'o 'e(esariame'te )a
(ola6orado e' su diseDo 9 (o'stru((i2'* &ermitie'do a(omodar 'ue5a +u'(io'alidad*
ma9or seguridad 9 ro6uste4* +u'(io'a'do e' todas las situa(io'es 3ue &ueda' surgir* de
ma'era &re5isi6le 9 re&rodu(i6le.
'te &ro6lemas de gra' (om&lejidad* la mejor +orma de a6ordar la solu(i2' es modelar.
Modelar es diseDar 9 estru(turar el so+tCare a'tes de la'4arse a &rogramar 9 es la 8'i(a
+orma de 5isuali4ar u' diseDo 9 (om&ro6ar 3ue (um&le todos los re3uisitos &ara ,l
esti&ulados* a'tes de 3ue la +lotilla de &rogramadores (omie'(e a ge'erar (2digo.
Modela'do* los res&o'sa6les del ,Eito del &rodu(to &uede' estar seguros de 3ue su
+u'(io'alidad es (om&leta 9 (orre(ta* 3ue todas las eE&e(tati5as de los usuarios +i'ales
se (um&le'* 3ue las &osi6les +uturas am&lia(io'es &uede' ser a(omodadas* todo ello
mu()o a'tes de 3ue la im&leme'ta(i2' )aga 3ue los (am6ios sea' di+:(iles o im&osi6les
de a(omodar. Modela'do* se a6strae' los detalles ese'(iales de u' &ro6lema (om&lejo 9
se o6tie'e diseDos estru(turados 3ue* adem1s* &ermite' la reutili4a(i2' de (2digo*
redu(ie'do los tiem&os de &rodu((i2' 9 mi'imi4a'do las &osi6ilidades de i'trodu(ir
errores.

UML es u' le'guaje gr1+i(o 3ue sir5e &ara modelar* diseDar* estru(turar* 5isuali4ar*
es&e(i+i(ar* (o'struir 9 do(ume'tar so+tCare. UML &ro&or(io'a u' 5o(a6ulario (om8'
&ara toda la (ade'a de &rodu((i2'* desde 3uie' re(a6a los re3uisitos de los usuarios*
)asta el 8ltimo &rogramador res&o'sa6le del ma'te'imie'to. %s u' le'guaje est1'dar
&ara (rear los &la'os de u' sistema de +orma (om&leta 9 'o am6igua. Fue (reado &or el
O6je(t Ma'ageme't Frou&* OMF* u' (o'sor(io i'ter'a(io'al si' 1'imo de lu(ro* 3ue
asie'ta est1'dares e' el 1rea de (om&uta(i2' distri6uida orie'tada a o6jetos* 9
a(tualme'te re5isa 9 a(tuali4a &eri2di(ame'te las es&e(i+i(a(io'es del le'guaje* &ara
ada&tarlo a las 'e(esidades 3ue surge'. %l &restigio de este (o'sor(io es u' a5al m1s
&ara UML* (o'sidera'do 3ue (ue'ta (o' so(ios ta' (o'o(idos (omo la NS* la
ge'(ia %uro&ea del %s&a(io %S* el I'stituto %uro&eo de Bioi'+orm1ti(a %BI* Boei'g*
Borla'd* Motorla 9 el G$0* &or me'(io'ar algu'os.
2.. L$ O!in#$*i)n $ O12#+"' OO
u'3ue UML &uede em&learse e' (ual3uier &aradigma* (omo la &rograma(i2'
estru(turada o la l2gi(a* est1 es&e(ialme'te (er(a del &aradigma de la orie'ta(i2' a
o6jetos. 7or ta'to* es &re(isa u'a +amiliari4a(i2' (o' algu'os detalles de este &aradigma
a'tes de (o'ti'uar (o' UML.
INFORSLU! 2""#
Tutorial de UML 6 de 26
2.-.. /%0 " %n O12#+
!e ma'era i'tuiti5a* la te'de'(ia ge'eral es aso(iar el t,rmi'o o6jeto (o' todo a3uello a
lo 3ue se &uede atri6uir la &ro&iedad +:si(a de masa* (omo u'a tostadora de &a'* au'3ue
es &osi6le e'(o'trar o6jetos de :'dole 'o ta'gi6le* (omo &or ejem&lo u'a dire((i2'
&ostal. %' el 1m6ito de la i'+orm1ti(a* u' o6jeto de+i'e u'a re&rese'ta(i2' a6stra(ta de
las e'tidades del mu'do* ta'gi6les o 'o* (o' la i'te'(i2' de emularlas. %Eiste &ues* u'a
rela(i2' dire(ta e'tre los o6jetos del mu'do 9 los o6jetos i'+orm1ti(os* de modo 3ue
&uede em&learse el t,rmi'o o6jeto de ma'era i'disti'ta.
Los o6jetos tie'e' dos (ara(ter:sti(as* 3ue so' su estado 9 su (om&ortamie'to. %l estado
es u'a situa(i2' e' la 3ue se e'(ue'tra el o6jeto* tal 3ue (um&le (o' algu'a (o'di(i2' o
(o'di(io'es &arti(ulares* reali4a algu'a a(ti5idad o es&era 3ue su(eda u'
a(o'te(imie'to. U'a tostadora &uede estar e'(e'dida 9 (argada de &a' 9* e' (ua'to a su
(om&ortamie'to* lo 'ormal e' este estado es tostar &a'.
Los o6jetos ma'tie'e' su estado e' u'o o m1s atri6utos* 3ue so' sim&leme'te datos
ide'ti+i(ados &or u' 'om6re* 9 eE)i6e' su (om&ortamie'to a tra5,s de m,todos* 3ue so'
tro4os de +u'(io'alidad aso(iados al o6jeto. %' este se'tido* u' o6jeto es realme'te u'
(o'ju'to de atri6utos 9 m,todos. 7ero u' o6jeto s2lo re5ela su 5erdadera utilidad
(ua'do es i'tegrado e' u' (o'teEto de (omu'i(a(i2' (o' otros o6jetos* a tra5,s del
e'5:o de me'sajes* &ara (om&o'er u' sistema mu()o ma9or 9 demostrar u'
(om&ortamie'to m1s (om&lejo. U'a tostadora e' u' armario resulta de &o(a utilidad*
&ero (ua'do i'tera(t8a (o' otro o6jeto* (omo u' ser )uma'o* se (o'5ierte e' u'a
)erramie'ta 8til &ara tostar &a'. %l )uma'o i'ter(am6iar:a (o' la tostadora el me'saje
-tuesta el &a' 3ue tie'es e' la 6a'deja. a tra5,s de la &ulsa(i2' del 6ot2' de tostar.
&artir del ejem&lo a'terior* es +1(il dedu(ir 3ue el e'5:o de me'sajes es la +orma e'
3ue se i'5o(a' los m,todos de u' o6jeto 9 3ue la i'5o(a(i2' de m,todos es el
me(a'ismo a tra5,s del (ual u' o6jeto &uede (am6iar su estado o el de otro o6jeto. Los
atri6utos 9 los m,todos de u' o6jeto &uede' te'er u' me'or o ma9or grado de
5isi6ilidad* desde -&ri5ado. )asta -&86li(o.* lo 3ue )a(e 3ue a&are4(a u' (o'(e&to
'ue5o* la e'(a&sula(i2'. La e'(a&sula(i2' o(ulta los detalles del +u'(io'amie'to
i'ter'o del o6jeto* eE&o'ie'do s2lo a3uello 3ue &ueda ser de i'ter,s.
Fi>%!$ -? O12#+" *+&%ni*<n,+"
INFORSLU! 2""#
Tutorial de UML @ de 26
2.2.. /%0 " %n$ C($"
Los o6jetos 'o so' e'tidades 3ue eEista' de modo 8'i(o. ?a9 mu()os ti&os de
tostadoras e* igualme'te* mu()as tostadoras del mismo ti&o. Se &uede e'te'der
+1(ilme'te el (o'(e&to de (lase si 'os &ermitimos em&lear el t,rmi'o tipo (omo
e3ui5ale'te. s:* todos los o6jetos 3ue so' del mismo tipo* (om&arte' el mismo juego
de atri6utos 9 m,todos (au'3ue (ada o6jeto &ueda te'er u' 5alor disti'to aso(iado a
(ada atri6uto) 9 &or ta'to &erte'e(e' a u'a misma (lase. Las (lases so' (omo &atro'es
3ue de+i'e' 3u, atri6utos 9 3u, m,todos so' (omu'es a todos los o6jetos de u' mismo
ti&o.
0ada o6jeto tie'e sus atri6utos 9 su (om&ortamie'to* (reados em&lea'do u'a (lase a
modo de &atr2'. U'a 5e4 (reado el o6jeto* &asa a ser u'a i'sta'(ia &arti(ular de la (lase
a la 3ue &erte'e(e 9 sus atri6utos tie'e' u'os 5alores (o'(retos* 3ue &odr1' 5ariar de u'
o6jeto a otro (dos o6jetos disti'tos &erte'e(ie'tes a la misma (lase* &uede' te'er
eEa(tame'te los mismos 5alores e' todos sus atri6utos). estos atri6utos* 3ue &uede'
5ariar de u' o6jeto a otro* se les (o'o(e tam6i,' (omo variables de instancia.
?a9 atri6utos 3ue* si' em6argo* 'o 5ar:a' de u' o6jeto a otro* es de(ir todas las
i'sta'(ias de la (lase a la 3ue &erte'e(e'* tie'e' el mismo 5alor &ara ese atri6uto. Todas
las tostadoras del mismo ti&o (o'sume' los mismos Gatios 9 sus resiste'(ias so' de los
mismos O)mios. estos atri6utos se les (o'o(e (omo variables de clase 9 so'
(om&artidos &or todas 9 (ada u'a de las i'sta'(ias de la (lase. !e ma'era a'1loga al
(aso de los atri6utos* e'(o'tramos mtodos de instancia 9 mtodos de clase.
2.5.. /%0 " ($ 6!n*i$
Los o6jetos se de+i'e' e' +u'(i2' de (lases* es de(ir* toma'do u'a (lase (omo &atr2'.
Se &uede sa6er mu()o a(er(a de u' o6jeto sa6ie'do la (lase a la 3ue &erte'e(e. 7or
ejem&lo* (o' de(ir 3ue la -Russell ?o66s 1"2#$ Hudos. es u' ti&o de tostadora*
i'mediatame'te se sa6e 3ue se trata de u'a m13ui'a &ara tostar &a'* &ro6a6leme'te
el,(tri(a 9 (o' &or lo me'os u'a ra'ura e' la 3ue i'sertar u'a re6a'ada de &a' 9 u'
6ot2' &ara a(ti5ar su +u'(io'amie'to.
Las (lases llega' u' &aso m1s lejos* &ermitie'do su de+i'i(i2' e' +u'(i2' de otras
(lases* de modo 3ue es &osi6le esta6le(er u'a jerar3u:a de es&e(iali4a(i2'. U'a (lase
3ue se de+i'e e' +u'(i2' de otra* )ereda todos los atri6utos 9 m,todos de a3uella 9
&ermite el aDadido de 'ue5os o la so6re es(ritura de los )eredados. La (lase &atr2' se
(o'o(e (o' el 'om6re de superclase o clase padre* mie'tas 3ue la 3ue )ereda se (o'o(e
(omo clase hija. La )ere'(ia 'o est1 limitada sim&leme'te a &adre;)ija(s)* la jerar3u:a
&uede ser todo lo &ro+u'da 3ue sea 'e(esario* )a6la'do e' t,rmi'os de 'ietas* 6i4'ietas*
et(. !e la misma ma'era* u'a (lase &uede )eredar de 5arias (lases a la 5e4.
%' la siguie'te +igura se &uede 5er u'a jerar3u:a de es&e(iali4a(i2' de dos 'i5eles. La
(lase -'imal. es la ra:4 * la (lase &adre e' la jerar3u:a. %s&e(i+i(a 3ue los a'imales
comen* (omo (ara(ter:sti(a m1s sig'i+i(ati5a de ,stos. %' el &rimer 'i5el de
es&e(iali4a(i2' e'(o'tramos las (lases -0ar':5oro. 9 -?er6:5oro.* am6as so' se'dos
INFORSLU! 2""#
Tutorial de UML = de 26
ti&os de a'imal 9 &or ta'to comen* s2lo 3ue e' el (aso de los (ar':5oros se )a
es&e(iali4ado el ti&o de (omida 3ue (ome' &ara i'di(ar 3ue se trata de carne. &are(e
u'a 'ue5a (ara(ter:sti(a de este ti&o de a'imal* 3ue es el )e()o de 3ue los (ar':5oros
cazan. %' el (aso de los )er6:5oros* e'(o'tramos 3ue comen plantas 9 pacen. %' el
segu'do 'i5el de es&e(iali4a(i2'* e'(o'tramos u' a'imal 3ue es a la 5e4 -?er6:5oro. 9
-0ar':5oro. 9* (omo (a6e es&erar* este 'ue5o ti&o de a'imal &uede )a(er todo lo 3ue
&uede' )a(er sus a'(estros* (omer (ar'e* (omer &la'tas* (a4ar 9 &a(er* 'o e'(o'tra'do
'i'gu'a (ara(ter:sti(a adi(io'al e' los -Om':5oros..
Fi>%!$ 2? L$ 6!n*i$
2.4.. /%0 " %n$ In#!7$8
U'a i'ter+a4 es u' me(a'ismo 3ue em&lea' dos o6jetos &ara i'tera(tuar. %' 'uestro
ejem&lo de la tostadora* el )uma'o em&lea el 6ot2' de tostar a modo de i'ter+a4 &ara
&asar el me'saje -tuesta el &a' 3ue tie'es e' la 6a'deja..
Las i'ter+a(es de+i'e' u' (o'ju'to de m,todos &ara esta6le(er el &roto(olo e' 6ase al
(ual i'tera(t8a' dos o6jetos. %' este se'tido* eEiste u'a a'alog:a e'tre i'ter+a(es 9
&roto(olos. 7ara 3ue el )uma'o &ueda tostar* de6e seguir el &roto(olo esta6le(ido &or la
i'ter+a4 6ot2' de tostar* (o'siste'te e' &ulsar di()o 6ot2'.
INFORSLU! 2""#
Tutorial de UML A de 26
Las i'ter+a(es (a&tura' las similitudes e'tre (lases 'o rela(io'aras* si' 'e(esidad de
+or4ar u'a i'terrela(i2' 9 so' a su 5e4 (lases.
5.. E( Ln>%$2 Uni7i*$,+ , M+,($,+' UML
%l UML es u' le'guaje de modelado (u9o 5o(a6ulario 9 si'taEis est1' ideados &ara la
re&rese'ta(i2' (o'(e&tual 9 +:si(a de u' sistema. Sus modelos so' &re(isos* 'o
am6iguos* (om&letos 9 &uede' ser trasladados dire(tame'te a u'a gra' 5ariedad de
le'guajes de &rograma(i2' * (omo Ia5a* 0JJ o /isual Basi(* &ero tam6i,' a ta6las de
6ases de datos rela(io'ales 9 orie'tadas a o6jetos. %s &osi6le ge'erar (2digo a &artir de
u' modelo UML (i'ge'ier:a dire(ta) 9 tam6i,' &uede (o'struirse u' modelo a &artir de
la im&leme'ta(i2' (i'ge'ier:a i'5ersa)* au'3ue e' las dos situa(io'es de6e i'ter5e'ir u'
ma9or o me'or grado de su&er5isi2' &or &arte del &rogramador* e' +u'(i2' de lo 6ue'as
3ue sea' las )erramie'tas em&leadas.
5.-.. :(+;%" 1<"i*+" , *+n"#!%**i)n , UML
Los 6lo3ues 61si(os de (o'stru((i2' de UML so' tres* los eleme'tos* las rela(io'es 9
los diagramas.
L+" ele#entos so' a6stra((io'es 3ue a(t8a' (omo u'idades 61si(as de
(o'stru((i2'. ?a9 (uatro ti&os* los estructurales* los de comportamiento* los de
agrupacin 9 los de notacin. %' (ua'to a los eleme'tos estru(turales so' las
&artes est1ti(as de los modelos 9 re&rese'ta' as&e(tos (o'(e&tuales o materiales.
Los eleme'tos de (om&ortamie'to so' las &artes di'1mi(as de los modelos 9
re&rese'ta' (om&ortamie'tos e' el tiem&o 9 e' el es&a(io. Los eleme'tos de
agru&a(i2' so' las &artes orga'i4ati5as de UML* esta6le(e' las di5isio'es e'
3ue se &uede +ra((io'ar u' modelo. S2lo )a9 u' eleme'to de agru&a(i2'* el
&a3uete* 3ue se em&lea &ara orga'i4ar otros eleme'tos e' gru&os. Los eleme'tos
de 'ota(i2' so' las &artes eE&li(ati5as de UML* (ome'tarios 3ue &uede'
des(ri6ir teEtualme'te (ual3uier as&e(to de u' modelo. S2lo )a9 u' eleme'to de
'ota(i2' &ri'(i&al* la 'ota.
L$" relaciones so' a6stra((io'es 3ue a(t8a' (omo u'i2' e'tre los disti'tos
elementos. ?a9 (uatro ti&os* la dependencia* la asociacin* la generalizacin 9
la realizacin.
L+" diagra#as so' la dis&osi(i2' de u' (o'ju'to de eleme'tos* 3ue re&rese'ta'
el sistema modelado desde di+ere'tes &ers&e(ti5as. UML tie'e 'ue5e diagramas
+u'dame'tales* agru&ados e' dos gra'des gru&os* u'o &ara modelar la estru(tura
est1ti(a del sistema 9 otro &ara modelar el (om&ortamie'to di'1mi(o. Los
,i$>!$&$" "#<#i*+" "+n? el de clases* de objetos* de componentes 9 de
despliegue. Los ,i$>!$&$" , *+&@+!#$&in#+ "+n? el de Casos de Uso* de
secuencia* de colaboracin* de estados 9 de actividades.
INFORSLU! 2""#
Tutorial de UML 1" de 26
5.-.-.. E(&n#+"
E
L
E
M
E
N
T
O
S
E
S
T
R
U
C
T
U
R
A
L
E
S
0lase
!es(ri6e u' (o'ju'to de o6jetos
3ue (om&arte' los mismos
atri6utos* m,todos* rela(io'es 9
sem1'ti(a. Las (lases
im&leme'ta' u'a o m1s
i'ter+a(es.
0lase a(ti5a
Se trata de u'a (lase* e' la 3ue
eEiste &ro(esos o )ilos de
eje(u(i2' (o'(urre'tes (o' otros
eleme'tos. Las l:'eas del
(o'tor'o so' m1s gruesas 3ue e'
la (lase -'ormal.
I'ter+a4
gru&a(i2' de m,todos u
o&era(io'es 3ue es&e(i+i(a' u'
ser5i(io de u'a (lase o
(om&o'e'te* des(ri6ie'do su
(om&ortamie'to* (om&leto o
&ar(ial* eEter'ame'te 5isi6le.
UML &ermite em&lear u' (:r(ulo
&ara re&rese'tar las i'ter+a(es*
au'3ue lo m1s 'ormal es em&lear
la (lase (o' el 'om6re e'
(ursi5a.
0ola6ora(i2'
!e+i'e u'a i'tera((i2' e'tre
eleme'tos 3ue (oo&era' &ara
&ro&or(io'ar u' (om&ortamie'to
ma9or 3ue la suma de los
(om&ortamie'tos de sus
eleme'tos.
0aso de uso
!es(ri6e u' (o'ju'to de
se(ue'(ias de a((io'es 3ue u'
sistema eje(uta* &ara &rodu(ir u'
resultado o6ser5a6le de i'ter,s.
Se em&lea &ara estru(turar los
as&e(tos de (om&ortamie'to de
u' modelo.
0om&o'e'te
7arte +:si(a 9 &or ta'to
reem&la4a6le de u' modelo* 3ue
agru&a u' (o'ju'to de i'ter+a(es*
ar()i5os de (2digo +ue'te*
(lases* (ola6ora(io'es 9
&ro&or(io'a la im&leme'ta(i2'
de di()os eleme'tos.
Nodo
%leme'to +:si(o 3ue eEiste e'
tiem&o de eje(u(i2' 9 re&rese'ta
u' re(urso (om&uta(io'al (o'
(a&a(idad de &ro(esar.
E(&n#+"
,
I'tera((i2'
0om&re'de u' (o'ju'to de
me'sajes 3ue se i'ter(am6ia'
e'tre u' (o'ju'to de o6jetos*
&ara (um&lir u' o6jeti5o
es&e(i+i(o.
INFORSLU! 2""#
Tutorial de UML 11 de 26
*+&@+!#$&in#+
M13ui'as
de
estados
%s&e(i+i(a la se(ue'(ia de
estados &or los 3ue &asa u'
o6jeto o u'a i'tera((i2'* e'
res&uesta a e5e'tos.
E(&n#+"
,
$>!%@$*i)n
7a3uete
Se em&lea &ara orga'i4ar otros
eleme'tos e' gru&os.
E(&n#+"
,
n+#$*i)n
Nota
7artes eE&li(ati5a de UML* 3ue
&uede des(ri6ir teEtualme'te
(ual3uier as&e(to del modelo
T$1($ -? E(&n#+" , *+n"#!%**i)n n UML
5.-.2.. R($*i+n"
!e&e'de'(ia
%s u'a rela(i2' e'tre dos eleme'tos* tal 3ue u'
(am6io e' u'o &uede a+e(tar al otro.
so(ia(i2'
%s u'a rela(i2' estru(tural 3ue resume u' (o'ju'to
de e'la(es 3ue so' (o'eEio'es e'tre o6jetos.
Fe'erali4a(i2'
%s u'a rela(i2' e' la 3ue el eleme'to ge'erali4ado
&uede ser su6stituido &or (ual3uiera de los
eleme'tos )ijos* 9a 3ue (om&arte' su estru(tura 9
(om&ortamie'to.
Reali4a(i2'
%s u'a rela(i2' 3ue im&li(a 3ue la &arte reali4a'te
(um&le (o' u'a serie de es&e(i+i(a(io'es &ro&uestas
&or la (lase reali4ada (i'ter+a(es).
T$1($ 2? E(&n#+" , !($*i)n n UML
5.-.5.. Di$>!$&$"
M
O
D
E
L
A
N
0lases
Muestra u' (o'ju'to de (lases*
i'ter+a(es 9 (ola6ora(io'es* as: (omo
sus rela(io'es* (u6rie'do la 5ista de
diseDo est1ti(a del sistema.
O6jetos
'1logo al diagrama de (lases*
muestra u' (o'ju'to de o6jetos 9 sus
rela(io'es* &ero a modo de 5ista
i'sta't1'ea de i'sta'(ias de u'a (lase
e' el tiem&o.
INFORSLU! 2""#
Tutorial de UML 12 de 26
E
S
T
R
U
C
T
U
R
A
0om&o'e'tes
Muestra la orga'i4a(i2' 9
de&e'de'(ias de u' (o'ju'to de
(om&o'e'tes. 0u6re' la 5ista de
im&leme'ta(i2' est1ti(a de u' sistema.
U' (om&o'e'te es u' m2dulo de
(2digo* de modo 3ue los diagramas de
(om&o'e'tes so' los a'1logos +:si(os a
los diagramas de (lases.
!es&liegue
Muestra la (o'+igura(i2' del )ardCare
del sistema* los 'odos de &ro(eso 9 los
(om&o'e'tes em&leados &or ,stos.
0u6re' la 5ista de des&liegue est1ti(a
de u'a ar3uite(tura.
M
O
D
E
L
A
N
C
O
M
P
O
R
T
A
M
I
E
N
T
O
0asos de Uso
Muestra u' (o'ju'to de (asos de uso*
los a(tores im&li(ados 9 sus rela(io'es.
So' diagramas +u'dame'tales e' el
modelado 9 orga'i4a(i2' del sistema.
Se(ue'(ia
So' diagramas de i'tera((i2'*
muestra' u' (o'ju'to de o6jetos 9 sus
rela(io'es* as: (omo los me'sajes 3ue
se i'ter(am6ia' e'tre ellos. 0u6re' la
5ista di'1mi(a del sistema. %l
diagrama de se(ue'(ia resalta la
orde'a(i2' tem&oral de los me'sajes*
mie'tras 3ue el de (ola6ora(i2' resalta
la orga'i4a(i2' estru(tural de los
o6jetos* am6os sie'do e3ui5ale'tes o
isomor+os. %' el diagrama de
(ola6ora(i2' de la +igura de la
i43uierda* se &uede 5er 3ue los
eleme'tos gr1+i(os 'o so' (ajas
re(ta'gulares* (omo (a6r:a es&erar* 9
e' su lugar e'(o'tramos sus 5ersio'es
ador'adas. %stas 5ersio'es tie'e'
(omo +i'alidad e5ide'(iar u' rol
es&e(:+i(o del o6jeto sie'do modelado.
%' la +igura e'(o'tramos de i43uierda
a dere()a 9 de arri6a a6ajo u' (tor*
u'a I'ter+a4* u' 0o'trol (modela u'
(om&ortamie'to) 9 u'a I'sta'(ia
(modela u' o6jeto de dato).
0ola6ora(i2'
%stados
Muestra u'a m13ui'a de estados* (o'
sus estados* tra'si(io'es* e5e'tos 9
a(ti5idades. 0u6re' la 5ista di'1mi(a
de u' sistema. Modela'
(om&ortamie'tos rea(ti5os e' 6ase a
e5e'tos.
(ti5idades
Ti&o es&e(ial de diagrama de estados
3ue muestra el +lujo de a(ti5idades
de'tro de u' sistema.
T$1($ 5? Di$>!$&$" , UML
INFORSLU! 2""#
Tutorial de UML 1$ de 26
5.-.5.-.. Di$>!$&$ , C($"" A Di$>!$&$ , O12#+"
Los diagramas de (lases muestra' u' resume' del sistema e' t,rmi'os de sus (lases 9
las rela(io'es e'tre ellas. So' diagramas est1ti(os 3ue muestra' ;%0 es lo 3ue
i'tera(t8a* &ero 'o (2mo i'tera(t8a o 3u, &asa (ua'do o(urre la i'tera((i2'.
%l siguie'te diagrama modela los &edidos de u' (lie'te a u'a tie'da de 5e'ta &or
(at1logo. La (lase &ri'(i&al es -7edido.* aso(iada a u' (lie'te* u'a +orma de &ago 9 u'
(o'ju'to de art:(ulos.
La (lase -7ago. es a6stra(ta* e' UML los 'om6res de (lases a6stra(tas se re&rese'ta'
e' Itlica. Las (lases a6stra(tas a(t8a' a modo de in#!7$8* &ro&or(io'a'do 8'i(ame'te
u' listado de m,todos a ser -reali4ados. &or las (lases 3ue las im&leme'ta' o reali4a'.
-7ago. es u'a su&er(lase es&e(iali4ada* 9 a la 5e4 reali4ada* &or sus +ormas m1s
(omu'es -0redito. 9 -%+e(ti5o.. U' -7edido. tie'e u'a 8'i(a +orma de &ago*
eE&resada &or su multi&li(idad* 1* mie'tras 3ue u'a +orma de &ago &uede estar &rese'te
e' u'o o m1s &edidos* (omo sugiere su multi&li(idad* 1..K.
%' (ua'to a las aso(ia(io'es* o6ser5amos 3ue algu'as 5ie'e' re&rese'tadas (omo u'a
flecha navegable* (u9a orie'ta(i2' eE&resa el se'tido e' 3ue se (o'sulta' los datos. Las
aso(ia(io'es si' +le()a so' 6i;dire((io'ales. Las agrega(io'es eE&resa' -(o'ju'to de.L
la rela(i2' e'tre -7edido. 9 -rti(ulo. es de (o'ju'to. U' &edido es u'a agrega(i2' de
u'a o m1s l:'eas de &edido* do'de (ada u'a )a(e alusi2' a u' art:(ulo (o'(reto* as:
mismo u'a l:'ea de &edido &uede estar &rese'te e' 5arios &edidos 9 u' art:(ulo &uede
'o )a6er sido soli(itado 'u'(a.
INFORSLU! 2""#
Tutorial de UML 1# de 26
Fi>%!$ 5? Di$>!$&$ , C($""
%' (ua'to a la multi&li(idad* la siguie'te ta6la resume las m1s (omu'es. ?a9 3ue te'er
e' (ue'ta 3ue la multi&li(idad se eE&resa -e' el lado o&uesto. de la rela(i2' 9 es el
'8mero de &osi6les i'sta'(ias de u'a (lase aso(iadas (o' u'a 8'i(a i'sta'(ia de la (lase
e' el otro eEtremo.
M%(#i@(i*i,$, Si>ni7i*$,+
1 U'a 8'i(a i'sta'(ia
N M K N i'sta'(ias
"..N M "..K %'tre 'i'gu'a 9 N i'sta'(ias
1..N M 1..K %'tre u'a 9 N i'sta'(ias
"..1 Ni'gu'a o u'a i'sta'(ia
N..M %'tre N 9 M i'sta'(ias
T$1($ 4? M%(#i@(i*i,$, n Di$>!$&$" , C($""
%l siguie'te diagrama muestra u'a de&e'de'(ia eEiste'te e'tre las (lases -7edido. 9
-Fe()a.. 0ual3uier (am6io e' la (lase de&e'dida* -Fe()a.* a+e(tar1 la (lase
de&e'die'te* -7edida..
s: mismo se &uede o6ser5ar 3ue las (lases 5ie'e' re&rese'tadas &or (ajas e' las 3ue
)a9 tres se&ara(io'es* o (om&artime'tos. %l @!i&!+ se em&lea siem&re &ara i'di(ar el
nombre de la (lase* el ">%n,+ &ara mostrar los atributos 9 el #!*!+ &ara los mtodos.
Ta'to los atri6utos (omo los m,todos 5ie'e' &re(edidos &or u' s:m6olo de a((eso* 3ue
'ormalme'te suele ser u' BCD &ara el a((eso pblico* u' B.D &ara el a((eso privado*
(s2lo &or otros m,todos de la (lase) 9 u' BED &ara el a((eso protegido (s2lo &or (lases
)ija)* au'3ue la )erramie'ta em&leada e' la ela6ora(i2' del tutorial tradu(e estos
eleme'tos e' i(o'os.
INFORSLU! 2""#
Tutorial de UML 1< de 26
Los atri6utos tie'e' u' ti&o 3ue &uede mostrarse a (o'ti'ua(i2' de su 'om6re se&arado
&or B?D. !e igual ma'era* los m,todos &uede' de5ol5er u' eleme'to de u' ti&o
determi'ado 9 re(i6ir &ar1metros* eE&resados e'tre &ar,'tesis media'te el 'om6re del
&ar1metro 9 el ti&o* se&arados &or B?D. 7ara el (aso de m8lti&les &ar1metros* se se&ara'
&or (omas (p1:t1 p!:t! """ pn:tn). Los &ar1metros 3ue tie'e' u' 5alor &or de+e(to se
eE&resa' media'te u' BFD 9 el 5alor* a (o'ti'ua(i2' del ti&o (p1:t1#v1) 9 si u'
&ar1metro e' la &osi(i2' -i. de la lista de &ar1metros tie'e 5alor &or de+e(to* todos los
&ar1metros 3ue le siga'* es de(ir 3ue o(u&e' &osi(io'es su(esi5as a -i. e' la lista*
de6er1' te'er tam6i,' u' 5alor &or de+e(to.
Los atri6utos 9 m,todos est1ti(os (de (lase) se re&rese'ta' media'te u' su6ra9ado (e' el
(aso de los m,todos se &uede em&lear el estereoti&o $$static%% los estereoti&os se 5e'
m1s adela'te).
Fi>%!$ 4? R($*i)n , ,@n,n*i$ n Di$>!$&$" , C($"
%l siguie'te diagrama muestra u'a auto;rela(i2' de agrega(i2'. U' -!e&artame'to.
&uede estar (om&uesto a su 5e4 &or m1s su6;de&artame'tos* o 'i'gu'o* (o' la
restri((i2' de 3ue el m:'imo '8mero de &erso'as e' los su6;de&artame'tos de6e ser
dos. Las restricciones so' (o'di(io'es 3ue de6e' ser (um&lidas siem&re* se eE&resa'
entre llaves -G(o'di(i2' H..
Fi>%!$ I? A%#+.$>!>$*i)n
Los diagramas de o6jetos so' a'1logos a los de (lases* (o' la &arti(ularidad de 3ue e'
lugar de e'(o'trar (lases* e'(o'tramos i'sta'(ias de ,stas. So' 8tiles &ara eE&li(ar
&artes &e3ueDas del modelo e' las 3ue )a9 rela(io'es (om&lejas.
5.-.5.2.. Di$>!$&$ , C+&@+nn#" A Di$>!$&$ , D"@(i>%
INFORSLU! 2""#
Tutorial de UML 16 de 26
Los (om&o'e'tes so' m2dulos de (2digo* as: 3ue los diagramas de (om&o'e'tes 5ie'e'
a ser los a'1logos +:si(os a los diagramas de (lases. Muestra' (omo est1 orga'i4ado u'
(o'ju'to de (om&o'e'tes 9 las de&e'de'(ias 3ue eEiste' e'tre ellos.
Fi>%!$ 3? Di$>!$&$ , C+&@+nn#"
Los diagramas de des&liegue sir5e' &ara modelar la (o'+igura(i2' )ardCare del
sistema* mostra'do 3u, 'odos lo (om&o'e'.
Fi>%!$ 4? Di$>!$&$ , D"@(i>%
5.-.5.5.. Di$>!$&$ , C$"+" , U"+
Los diagramas de 0asos de Uso des(ri6e' lo 3ue )a(e u' sistema desde el &u'to de
5ista de u' o6ser5ador eEter'o* e'+ati4a'do el ;%0 m1s 3ue el (2mo. 7la'tea'
INFORSLU! 2""#
Tutorial de UML 1@ de 26
es(e'arios* es de(ir* lo 3ue &asa (ua'do alguie' i'tera(t8a (o' el sistema*
&ro&or(io'a'do u' resume' &ara u'a tarea u o6jeti5o. %l siguie'te 0aso de Uso
des(ri6e (omo 0arlos 5a a desa9u'ar (este es su o6jeti5o)* &ara lo 3ue se &la'tea el
es(e'ario de &re&arar su (a+, 9 el &a' tostado
.
Fi>%!$ 9? Di$>!$&$ , C$"+" , U"+ niv( -
%' los 0asos de Uso* los &ctores so' &a&eles 3ue determi'adas &erso'as u o6jetos
desem&eDa'. Se re&rese'ta' media'te u' -)om6re de &alitos.* de modo 3ue e' el
ejem&lo* 0arlos es u' (tor. Los 0asos de Uso se re&rese'ta' &or medio de valos 9 las
l:'eas 3ue u'e' (tores (o' 0asos de Uso re&rese'ta' u'a aso(ia(i2' de (omu'i(a(i2'.
7or su &uesto* u' 0aso de Uso &uede ser des(rito e' ma9or &ro+u'didad. 7or ejem&lo si
tomamos &or se&arado -7re&arar &a'. 9 -7re&arar (a+e.* &odemos 6ajar u' 'i5el de
des(ri&(i2' 9 llegar a los siguie'tes 0asos de Uso.
Fi>%!$ =? Di$>!$&$ C$"+" , U"+ niv( 2 A
'Carlos tuesta el pan en la tostadora despus lo unta con mante(uilla ) mermelada de fresa ) se lo
come posiblemente mojndolo en un caf"*
Fi>%!$ -0? Di$>!$&$ C$"+" , U"+ niv( 2 :
'Carlos calienta leche a+ade caf ) azcar al gusto ) se lo bebe"*
INFORSLU! 2""#
Tutorial de UML 1= de 26
Los 0asos de Uso suele' 5e'ir delimitados &or +ro'teras o l:mites* 3ue de+i'e' u'a
se&ara(i2' e'tre lo 3ue es realme'te la +u'(io'alidad del sistema 9 los a(tores 3ue la
usa' o (ola6ora' e' su desem&eDo. %' las +iguras* esta se&ara(i2' 5ie'e re&rese'tada
&or medio de la (aja 3ue e'(a&sula los 25alos.
Los 0asos de Uso so' a(om&aDados &or u'a eE&li(a(i2' teEtual 3ue (lari+i(a las
&osi6les (ade'(ias del le'guaje merame'te gr1+i(o. !e esta ma'era* (om6i'a'do 0asos
de Uso 9 eE&li(a(i2' teEtual* se &uede o6te'er es(e'arios 'o am6iguos* 3ue resulta'
ideales e' la (a&tura de re3uisitos de usuario* dada su se'(ille4 de (om&re'si2' i'(luso
&or 3uie' 'o est1 +amiliari4ado (o' UML. Los 0asos de Uso se em&lea' tam6i,' e' la
&re&ara(i2' de es(e'arios de &rue6as (o' 3ue 5eri+i(ar el so+tCare u'a 5e4 )a sido
(o'struido.
%l siguie'te 0aso de Uso es e3ui5ale'te al &rimero* -!esa9u'o.* s2lo 3ue e' ,l se )a
(o'de'sado la m1Eima (a'tidad &osi6le de i'+orma(i2'. %' ,l se muestra u' 'ue5o
eleme'to 3ue )asta a)ora 'o se )a6:a mostrado* el -"#!+#i@+.* 3ue 5ie'e e'tre
se'dos s:m6olos a'gulados -NN. 9 -OO. 9 (o'(reta u' &aso m1s all1 el ti&o de rela(i2'
eEiste'te e'tre dos 0asos de Uso. %'(o'tramos dos estereoti&os $$include%% 9
$$e,tend%%. %l &rimero i'di(a 3ue el 0aso de Uso -Tostar &a'. re3uiere de -Usar
tostadora. &ara &oder ser lle5ado a (a6o. %sta es u'a +orma mu9 ade(uada de sa(ar
+a(tor (om8' e'tre 0asos de Uso* o i'(luso de +ra((io'ar 0asos de Uso mu9 gra'des. %l
segu'do i'di(a 3ue el 0aso de Uso -U'tar &a'. es u'a 5aria(i2' de -U'tar..
O6ser5amos tam6i,' 3ue -0omer &a'. 9 -Be6er (a+e. so' u'a ge'erali4a(i2' de
-lime'tarse..
Fi>%!$ --? Di$>!$&$ C$"+" , U"+ niv( - ,#$(($,+
-0arlos 5a a desa9u'ar. 7ara ello de6e )a(er dos a(ti5idades disti'tas* &ero rela(io'adas. La &rimera
(o'siste' e' tostar &a'* &ara lo (ual 'e(esita em&lear u'a tostadora. U'a 5e4 tostado el &a'* lo u'ta de
ma'te3uilla 9 mermelada de +resa (u'tar &a' 'o es mu9 disti'to de u'tar otro ti&o de alime'tos). La
segu'da (o'siste e' &re&arar el (a+,* &ar lo (ual 'e(esita (ale'tar le()e 9 aDadir (a+, 9 a4u4ar. Termi'adas
am6as a(ti5idades* 0arlos &uede &ro(eder a alime'tarse* (omie'do el &a' tostado 9 6e6ie'do el (a+,. %l
orde' e' 3ue reali(e las a(ti5idades da igual 9 tam6i,' da igual si se reali4a' a la 5e4..
5.-.5.4.. Di$>!$&$ , S*%n*i$ A Di$>!$&$ , C+($1+!$*i)n
INFORSLU! 2""#
Tutorial de UML 1A de 26
Los diagramas de se(ue'(ia des(ri6e' (omo los o6jetos del sistema (ola6ora'. Se trata
de u' diagrama de i'tera((i2' 3ue detalla (omo las o&era(io'es se lle5a' a (a6o* 3u,
me'sajes so' e'5iados 9 (ua'do* orga'i4ado todo e' tor'o al tiem&o. %l tiem&o a5a'4a
-)a(ia a6ajo. e' el diagrama. Los o6jetos i'5olu(rados e' la o&era(i2' se lista' de
i43uierda a dere()a de a(uerdo a su orde' de &arti(i&a(i2' de'tro de la se(ue'(ia de
me'sajes.
Fi>%!$ -2? Di$>!$&$ , S*%n*i$
Las l:'eas 5erti(ales o -l:'eas de la 5ida. re&rese'ta' el tiem&o de 5ida del o6jeto. La
5ida del o6jeto -(arlos. 'o termi'a e' este diagrama* si' em6argo la del o6jeto -tost9.
s: 9 esto 5ie'e re&rese'tado media'te el as&a al +i'al de su l:'ea de la 5ida.
Los re(t1'gulos 5erti(ales so' 6arras de a(ti5a(i2' 9 re&rese'ta' la dura(i2' de la
eje(u(i2' del me'saje. %l me'saje -%'(e'der.* &osi6leme'te im&leme'tado media'te la
i'trodu((i2' del e'()u+e e' u'a toma de &ared* tie'e u'a dura(i2' es(asa 9 similar a la
de -&agar.. No o(urre lo mismo (o' la llamada al m,todo -tostar().* 3ue dura desde la
&ulsa(i2' del 6ot2' de tostar )asta 3ue el &a' es retirado de la 6a'deja 9 adem1s
i'ter5ie'e la emisi2' de u' a5iso (ua'do el &a' est1 lo su+i(ie'teme'te (alie'te* a +i' de
e5itar 3ue se 3ueme.
0omo se &uede o6ser5ar* la a((i2' tostar 5ie'e (o'di(io'ada &or la &rese'(ia de &a' e'
la 6a'deja de la tostadora. %' UML los (or()etes BJKD eE&resa' (o'di(i2' 9 si est1'
&re(edidos de u' asteris(o i'di(a' i'tera((i2' mie'tras se (um&la la (o'di(i2'.
Los me'sajes 3ue so' i'ter(am6iados e'tre los o6jetos de u' diagrama de se(ue'(ia
&uede' ser s-ncronos o as-ncronos. Los me'sajes as:'(ro'os so' a3uellos tal 3ue el
emisor &uede e'5iar 'ue5os me'sajes mie'tras el origi'al est1 sie'do &ro(esado. %l
me'saje as:'(ro'o o(urre e' el tiem&o de ma'era i'de&e'die'te a otros me'sajes. Los
me'sajes s:'(ro'os so' todo lo (o'trario* el emisor de6e es&erar a 3ue termi'e el
tiem&o de &ro(eso del me'saje a'tes de 3ue &ueda emitir 'ue5os me'sajes. UML
em&lea los siguie'tes (o'5e'ios &ara re&rese'tar el ti&o de me'saje.
INFORSLU! 2""#
Tutorial de UML 2" de 26
SL&1+(+ Si>ni7i*$,+
Me'saje sim&le 3ue &uede
ser s:'(ro'o o as:'(ro'o.
Me'saje sim&le de 5uelta
(o&(io'al).
Me'saje s:'(ro'o.
Me'saje as:'(ro'o.
T$1($ I? Ti@+" , &n"$2 n ,i$>!$&$" , in#!$**i)n
Los diagramas de (ola6ora(i2' so' otro ti&o de diagramas de i'tera((i2'* 3ue (o'tie'e
la misma i'+orma(i2' 3ue los de se(ue'(ia* s2lo 3ue se (e'tra' e' las res&o'sa6ilidades
de (ada o6jeto* e' lugar de e' el tiem&o e' 3ue los me'sajes so' e'5iados. 0ada
me'saje de u' diagrama de (ola6ora(i2' tie'e u' '8mero de se(ue'(ia. %l &rimer 'i5el
de la se(ue'(ia es 1* 9 los me'sajes 3ue so' e'5iados dura'te la misma llamada a u'
m,todo se 'umera' 1.1* 1.2 9 as: su(esi5ame'te &ara ta'tos 'i5eles (omo sea 'e(esario.
Fi>%!$ -5? Di$>!$&$ , C+($1+!$*i)n
5.-.5.I.. Di$>!$&$ , E"#$,+" A Di$>!$&$ , A*#ivi,$,"
Los diagramas de estados muestra' los &osi6les estados e' 3ue &uede e'(o'trarse u'
o6jeto 9 las tra'si(io'es 3ue &uede' (ausar u' (am6io de estado. %l estado de u' o6jeto
de&e'de de la a(ti5idad 3ue est, lle5a'do a (a6o o de algu'a (o'di(i2'.
Las tra'si(io'es so' las l:'eas 3ue u'e' los di+ere'tes estados. %' ellas se re&rese'ta la
(o'di(i2' 3ue &ro5o(a el (am6io* seguida de la a((i2' o&ortu'a se&arada &or BMD. %' u'
estado e' 3ue el o6jeto esta &e'die'te de alg8' ti&o de 5alida(i2' 3ue de&e'da de u'
&ro(eso e' (urso* 'o es 'e(esario e5e'to eEter'o algu'o &ara 3ue se &rodu4(a la
tra'si(i2'* 9a 3ue ,sta o(urrir1 (ua'do termi'e el &ro(eso* e' +u'(i2' del resultado de
,ste. %' estos (asos es (o'5e'ie'te* &or (laridad* i'(luir la (o'di(i2' 3ue de la 3ue
de&e'de la tra'si(i2' (e'tre (or()etes).
INFORSLU! 2""#
Tutorial de UML 21 de 26
Los estados i'i(ial* a &artir del 3ue se -e'tra. e' la m13ui'a de estados* 9 +i'al* 3ue
i'di(a 3ue la m13ui'a de estados termi'a* 'o tie'e' otro sig'i+i(ado adi(io'al* so'
eleme'tos or'ame'tales 9 se re&rese'ta' media'te u' (ir(ulo 'egro 9 u' (ir(ulo 'egro
resaltado res&e(ti5ame'te.
Los estados de u' diagrama de estados &uede' a'idarse* de +orma 3ue los estados
rela(io'ados &uede' ser agru&ados e' u' estado (om&uesto. %sto &uede ser 'e(esario
(ua'do u'a a(ti5idad i'5olu(ra su6;a(ti5idades as:'(ro'as o (o'(urre'tes.
Fi>%!$ -4? M<;%in$ , E"#$,+"' "#$,+" "i&@("
Fi>%!$ -I? M<;%in$ , E"#$,+"' "#$,+" *+&@%"#+"
INFORSLU! 2""#
Tutorial de UML 22 de 26
Los diagramas de a(ti5idades so' 61si(ame'te diagramas de +lujo ador'ados* 3ue
guarda' mu()a similitud (o' los diagramas de estados. Mie'tras 3ue los diagramas de
estados (e'tra' su ate'(i2' e' el &ro(eso 3ue est1 lle5a'do a (a6o u' o6jeto* los
diagramas de a(ti5idades muestra' (omo las a(ti5idades +lu9e' 9 las de&e'de'(ias e'tre
ellas.
Los diagramas de a(ti5idades &uede' di5idirse e' -(alles. 3ue determi'a' 3u, o6jeto es
res&o'sa6le de 3u, a(ti5idad. Las a(ti5idades 5ie'e' u'idas &or tra'si(io'es* 3ue
&uede' se&ararse e' ramas e' +u'(i2' del resultado de u'a (o'di(i2' eE&resada e'tre
(or()etes. 0ada rama muestra la (o'di(i2' 3ue de6e ser satis+e()a &ara 3ue el +lujo o&te
&or ese (ami'o. Igualme'te* las tra'si(io'es se &uede' 6i+ur(arse e' dos o m1s
a(ti5idades &aralelas.
Fi>%!$ -3? Di$>!$&$ , A*#ivi,$,"
5.2.. C)&+ %#i(i8$! UML
UML es sim&leme'te u' le'guaje de modelado. !e+i'e u' (o'ju'to de eleme'tos 9
rela(io'es e'tre ellos* 3ue se em&lea' e' la de+i'i(i2' de modelos. UML es t:&i(ame'te
usado (omo &arte de u' &ro(eso de desarrollo* (o' la a9uda de u'a )erramie'ta 0S%
INFORSLU! 2""#
Tutorial de UML 2$ de 26
(0om&uter ided So+tCare %'gi'eeri'g)* &ara de+i'ir re3uerimie'tos* i'tera((io'es 9
eleme'tos del so+tCare 3ue se est1 desarrolla'do. UML es i'de&e'die'te de (ual3uier
&ro(eso &arti(ular* 'o est1 ligado a 'i'g8' (i(lo de 5ida de desarrollo del so+tCare
(o'(reto* 'o o6sta'te se o6tie'e' ma9ores 6e'e+i(ios si se sele((io'a u' &ro(eso 3ue
est, dirigido &or 0asos de Uso* se (e'tre e' la ar3uite(tura 9 sea i'(reme'tal.
La ar3uite(tura de u' sistema es el (o'ju'to de de(isio'es sig'i+i(ati5as 3ue se toma e'
tor'o a su orga'i4a(i2'* la sele((i2' de eleme'tos estru(turales* la de+i'i(i2' de las
i'ter+a(es e'tre estos eleme'tos* su (om&ortamie'to* su di5isi2' e' su6sistemas* 3u,
eleme'tos so' est1ti(os 9 (uales di'1mi(os. La ar3uite(tura tam6i,' i'(lu9e el uso 3ue
se le 5a a dar al sistema* la +u'(io'alidad* el re'dimie'to* la (a&a(idad de ada&ta(i2'* la
reutili4a(i2'* la (a&a(idad de ser (om&re'dido* las restri((io'es e(o'2mi(as* las
tem&orales* los (om&romisos e'tre alter'ati5as 9 los as&e(tos est,ti(os.
U' &ro(eso i'(reme'tal es a3u,l 3ue (o'siste e' su(esi5as am&lia(io'es 9 mejoras de la
ar3uite(tura* a &artir de u'a l:'ea 61si(a. 0ada i'(reme'to resuel5e los &ro6lemas
e'(o'trados e' la 5ersi2' a'terior mi'imi4a'do i'(reme'talme'te los riesgos m1s
sig'i+i(ati5os &ara el ,Eito del &ro9e(to.
Lo &rimero 3ue se de6e )a(er &ara (ome'4ar a desarrollar u' &ro9e(to (o' UML* es
sele((io'ar u'a metodolog:a de desarrollo 3ue de+i'a la 'aturale4a (o'(reta del &ro(eso
a seguir. %l modelo a de+i'ir e' 6ase al &ro(eso elegido* se di5ide e' realidad e' 5arios
ti&os de modelo o 5istas* (ada u'a (e'trada e' u' as&e(to o &u'to de 5ista del sistema.
%' ge'eral* i'de&e'die'teme'te del &ro(eso 3ue se em&lee* se &uede e'(o'trar las
siguie'tes 5istas>
Ni"#$ , C$"+" , U"+? %'glo6a los 0asos de Uso 3ue des(ri6e' el
(om&ortamie'to del sistema (omo lo 5er:a' los usuarios +i'ales* los a'alistas 9
dem1s (om&o'e'tes del e3ui&o de desarrollo. No es&e(i+i(a la orga'i4a(i2' del
sistema. 0o' UML los $"@*#+" "#<#i*+" de esta 5ista se &uede' (o'(retar (o'
los diagramas de Casos de UsoL los $"@*#+" ,in<&i*+" (o' los diagramas de
itera(i2' (secuencia 9 colaboracin)* diagramas de estados 9 de actividades.
Ni"#$ , Di"O+? %'glo6a las (lases e i'ter+a(es 3ue (o'+orma' el 5o(a6ulario
del &ro6lema 9 su solu(i2'. !a so&orte a los re3uisitos +u'(io'ales del sistema*
es de(ir los ser5i(ios 3ue &ro&or(io'a a los usuarios +i'ales. 0o' UML los
$"@*#+" "#<#i*+" de esta 5ista se &uede' (o'(retar (o' los diagramas de clases
9 de objetosL los $"@*#+" ,in<&i*+" (o' los diagramas de itera(i2' (secuencia
9 colaboracin)* diagramas de estados 9 de actividades.
Ni"#$ , P!+*"+"? %'glo6a los )ilos 9 &ro(esos 3ue +orma' los me(a'ismos de
si'(ro'i4a(i2' 9 (o'(urre'(ia del sistema. !a so&orte al +u'(io'amie'to*
(a&a(idad de (re(imie'to 9 re'dimie'to del sistema. 0o' UML los $"@*#+"
"#<#i*+" de esta 5ista se &uede' (o'(retar (o' los diagramas de clases* de
clases activas 9 de objetosL los $"@*#+" ,in<&i*+" (o' los diagramas de
itera(i2' (secuencia 9 colaboracin)* diagramas de estados 9 de actividades.
INFORSLU! 2""#
Tutorial de UML 2# de 26
Ni"#$ , D"@(i>%? %'glo6a los 'odos 3ue +orma' la to&olog:a )ardCare
so6re el 3ue se eje(uta el sistema. !a so&orte a la distri6u(i2'* e'trega e
i'stala(i2' de las &artes 3ue (o'+orma' el sistema +:si(o. 0o' UML los $"@*#+"
"#<#i*+" de esta 5ista se &uede' (o'(retar (o' los diagramas despliegueL los
$"@*#+" ,in<&i*+" (o' los diagramas de itera(i2' (secuencia 9 colaboracin)*
diagramas de estados 9 de actividades.
Ni"#$ , I&@(&n#$*i)n? %'glo6a los (om&o'e'tes 9 ar()i5os em&leados &ara
)a(er &osi6le el sistema +:si(o. !a so&orte a la gesti2' de (o'+igura(io'es de las
disti'tas 5ersio'es del sistema* a &artir de (om&o'e'tes 9 ar()i5os. 0o' UML
los $"@*#+" "#<#i*+" de esta 5ista se &uede' (o'(retar (o' los diagramas de
componentesL los as&e(tos di'1mi(os (o' los diagramas de itera(i2' (secuencia
9 colaboracin)* diagramas de estados 9 de actividades.
U' ejem&lo de &ro(eso &ara la (o'stru((i2' de u' &rograma* &odr:a ser similar al
siguie'te* te'ie'do e' (ue'ta 3ue el &ro(eso des(rito deja mu()as (osas &or am&liar 9
&uede 'o ada&tarse a las 'e(esidades &arti(ulares de u' gru&o de tra6ajo determi'ado.
Se &ro&or(io'a merame'te (omo u' ejem&lo de (2mo se &uede e'(ajar UML (omo
so&orte &ara el desarrollo de u' &ro9e(to>
1. I'i(iar 9 ma'te'er reuniones (o' los usuarios +i'ales del &rograma* &ara
(om&re'der sus 'e(esidades* el (o'teEto e' 3ue lo usar1' 9 todos los detalles
'e(esarios &ara (om&re'der el 1m6ito del &ro6lema a resol5er. %sta i'+orma(i2'
ser1 em&leada &ara (a&turar las a(ti5idades 9 &ro(esos i'5olu(rados 9
sus(e&ti6les de ser i'(or&orados e' el &rograma* a u' 'i5el alto* 9 &ro&or(io'ar1
la 6ase &ara (o'struir la 5ista de 0asos de Uso.
2. 0o'struir la vista de Casos de Uso de+i'ie'do eEa(tame'te la +u'(io'alidad 3ue
se 5a a i'(or&orar e' el &rograma* desde el &u'to de 5ista de sus usuarios. %l
modelo resulta'te es realme'te u' ma&eo de la i'+orma(i2' o6te'ida e' el &aso
a'terior* e' el 3ue (ada 'ue5o 0aso de Uso reali4a u' as&e(to de la
+u'(io'alidad &la'teada. Re+i'ar* e' (o'ju'to (o' los usuarios +i'ales* todos los
diagramas de 0asos de Uso* i'(lu9e'do re3uisitos 9 restri((io'es* &ara llegar a
u' a(uerdo (om8' e' lo 3ue el &rograma )ar1 9 'o )ar1. %' este &u'to &uede ser
(o'5e'ie'te diseDar es(e'arios de &rue6a 3ue a9ude' a 5eri+i(ar si el &rograma
+i'ali4ado (um&le (o' las eE&e(tati5as del (o'trato.
$. 7artie'do del modelo de 0asos de Uso se (omie'4a a estru(turar los re3uisitos
e' u'a ar3uite(tura llamada -l:'ea 6ase.. Se de+i'e' (lases 9 rela(io'es e'tre
ellas* los &rimeros diagramas de se(ue'(ia 9 (ola6ora(i2'* de+i'ie'do los
(om&ortamie'tos de (ada (lase* tam6i,' las i'ter+a(es e'tre los di+ere'tes
eleme'tos de la ar3uite(tura. Se (o'stru9e a3u: la vista de dise+o 9 la vista de
procesos. 0o'struir diagramas de (lases m1s ela6orados 9 re+i'ar los
(om&ortamie'tos del sistema.
#. medida 3ue (re(e el modelo se &uede +ra((io'ar e' (om&o'e'tes so+tCare 9
&a3uetes. &are(e' 'ue5os re3uisitos 3ue de6e' ser i'tegrados. Se de+i'e la
vista de despliegue* 3ue de+i'e la ar3uite(tura +:si(a del sistema* 9 la vista de
implementacin.
INFORSLU! 2""#
Tutorial de UML 2< de 26
<. 0o'struir el sistema* re&artie'do las tareas e'tre el e3ui&o de &rograma(i2'.
6. Bus(ar errores de &rograma(i2'* o i'(luso de diseDo* (orregirlos e ir sa(a'do
su(esi5as 5ersio'es del &rograma )asta llegar a u'a 5ersi2' 3ue (um&la (o'
todos los re3uisitos es&e(i+i(ados e' el (o'trato (o' los usuarios.
@. !o(ume'tar 9 e'tregar el &rograma a los usuarios +i'ales.
INFORSLU! 2""#
Tutorial de UML 26 de 26
4.. R7!n*i$"
Frad9 Boo()* Iames Rum6aug)* I5ar Ia(o6so'* (1AA6) .l /enguaje Unificado de
0odeladoPddiso' Gesle9.
S()'eider F.* Gi'ters I.7.* (2""1) &ppl)ing Use Cases: & 1ractical 2uide* ddiso'
Gesle9.
INFORSLU! 2""#

También podría gustarte