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

INFORS LU! 2""#

Tutorial de UML

2 de 26

INFORS LU! 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* INFORS LU! 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................................................................................................................2#

INFORS LU! 2""#

Tutorial de UML

# de 26

Fi>%!$"
$igura 1% Objetos co&unic'ndose...................................................................................# $igura 2% La (erencia.....................................................................................................) $igura 3% *iagra&a de +lases.......................................................................................1! $igura !% "elacin de de,endencia en *iagra&as de +lase........................................15 $igura 5% -uto-agregacin............................................................................................15 $igura #% *iagra&a de +o&,onentes...........................................................................1# $igura .% *iagra&a de *es,liegue...............................................................................1# $igura )% *iagra&a de +asos de Uso ni/el 1................................................................1. $igura % *iagra&a +asos de Uso ni/el 2 -.................................................................1. $igura 10% *iagra&a +asos de Uso ni/el 2 1...............................................................1. $igura 11% *iagra&a +asos de Uso ni/el 1 detallado..................................................1) $igura 12% *iagra&a de 2ecuencia...............................................................................1 $igura 13% *iagra&a de +olaboracin.........................................................................20 $igura 1!% M'3uina de Estados, estados si&,les.........................................................21 $igura 15% M'3uina de Estados, estados co&,uestos..................................................21 $igura 1#% *iagra&a de -cti/idades.............................................................................22

T$1($"
4abla 1% Ele&entos de construccin en UML...............................................................11 4abla 2% Ele&entos de relacin en UML......................................................................11 4abla 3% *iagra&as de UML.........................................................................................12 4abla !% Multi,licidad en *iagra&as de +lases...........................................................1! 4abla 5% 4i,os de &ensaje en diagra&as de interaccin..............................................20

INFORS LU! 2""#

Tutorial de UML

< de 26

-.. In#!+,%**i)n
%' los tiem&os 3ue (orre'* el so+t>are 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 tama?o 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 dise?o 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 dise?ar 9 estru(turar el so+t>are a'tes de la'4arse a &rogramar 9 es la 8'i(a +orma de 5isuali4ar u' dise?o 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 ,@ito del &rodu(to &uede' estar seguros de 3ue su +u'(io'alidad es (om&leta 9 (orre(ta* 3ue todas las e@&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 dise?os 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* dise?ar* estru(turar* 5isuali4ar* es&e(i+i(ar* (o'struir 9 do(ume'tar so+t>are. 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 Arou&* OMA* 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 N S * 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 C$0* &or me'(io'ar algu'os.

2.. L$ O!i n#$*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.

INFORS LU! 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. %@iste &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 e@)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'te@to 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* e@&o'ie'do s2lo a3uello 3ue &ueda ser de i'ter,s.

Fi>%!$ -? O12 #+" *+&%ni*<n,+"

INFORS LU! 2""#

Tutorial de UML

D de 26

2.2.. /%0 " %n$ C($"


Los o6jetos 'o so' e'tidades 3ue e@ista' de modo 8'i(o. Ea9 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 e@a(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. Ea9 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 Catios 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 Eo66s 1"2#$ Fudos. 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 a?adido 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 -Eer6:5oro.* am6as so' se'dos

INFORS LU! 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 -Eer6: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* e@iste 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'.

INFORS LU! 2""#

Tutorial de UML

G 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( L n>%$2 Uni7i*$,+ , M+, ($,+' UML


%l UML es u' le'guaje de modelado (u9o 5o(a6ulario 9 si'ta@is 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 Ha5a* 0II 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'. Ea9 (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 e@&li(ati5as de UML* (ome'tarios 3ue &uede' des(ri6ir te@tualme'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. Ea9 (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$>!$&$" , *+&@+!#$&i n#+ "+n? el de Casos de Uso* de secuencia* de colaboracin* de estados 9 de actividades.

INFORS LU! 2""#

Tutorial de UML

1" de 26

5.-.-.. E( & n#+"


!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. Se trata de u'a (lase* e' la 3ue e@iste &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. 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* e@ter'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. !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. !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. 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. %leme'to +:si(o 3ue e@iste 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. 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.

0lase

0lase a(ti5a E L E M E N T O S E S T R U C T U R A L E S

I'ter+a4

0ola6ora(i2'

0aso de uso

0om&o'e'te

Nodo

I'tera((i2' E( & n#+" ,

INFORS LU! 2""#

Tutorial de UML *+&@+!#$&i n#+ M13ui'as de estados E( & n#+" , $>!%@$*i)n E( & n#+" , n+#$*i)n 7a3uete

11 de 26 %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. Se em&lea &ara orga'i4ar otros eleme'tos e' gru&os.

Nota

7artes e@&li(ati5a de UML* 3ue &uede des(ri6ir te@tualme'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. %s u'a rela(i2' estru(tural 3ue resume u' (o'ju'to de e'la(es 3ue so' (o'e@io'es e'tre o6jetos. %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. %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

so(ia(i2'

Ae'erali4a(i2'

Reali4a(i2'

5.-.5.. Di$>!$&$"
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 dise?o est1ti(a del sistema. '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.

0lases M O D E L A N

O6jetos

INFORS LU! 2""#

Tutorial de UML

12 de 26 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. Muestra la (o'+igura(i2' del )ard>are 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. 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. 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). 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. Ti&o es&e(ial de diagrama de estados 3ue muestra el +lujo de a(ti5idades de'tro de u' sistema.

E S T R U C T U R A

0om&o'e'tes

!es&liegue

0asos de Uso

M O D E L A N

Se(ue'(ia

C O M P O R T A M I E N T O

0ola6ora(i2'

%stados

(ti5idades

T$1($ 5? Di$>!$&$" , UML

INFORS LU! 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* e@&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..J. %' (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' e@&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 e@&resa' -(o'ju'to de.K 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.

INFORS LU! 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. Ea9 3ue te'er e' (ue'ta 3ue la multi&li(idad se e@&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 e@tremo.
M%(#i@(i*i,$, 1 NLJ "..N L "..J 1..N L 1..J "..1 N..M Si>ni7i*$,+ U'a 8'i(a i'sta'(ia N i'sta'(ias %'tre 'i'gu'a 9 N i'sta'(ias %'tre u'a 9 N i'sta'(ias Ni'gu'a o u'a i'sta'(ia %'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 e@iste'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.

INFORS LU! 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* e@&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 e@&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 e@&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 e@&li(ar &artes &e3ue?as del modelo e' las 3ue )a9 rela(io'es (om&lejas.

5.-.5.2.. Di$>!$&$ , C+&@+n n# " A Di$>!$&$ , D "@(i >%

INFORS LU! 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 e@iste' e'tre ellos.

Fi>%!$ 3? Di$>!$&$ , C+&@+n n# "

Los diagramas de des&liegue sir5e' &ara modelar la (o'+igura(i2' )ard>are 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 e@ter'o* e'+ati4a'do el ;%0 m1s 3ue el (2mo. 7la'tea'
INFORS LU! 2""#

Tutorial de UML

1D 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&e?a'. 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"*

INFORS LU! 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&e?o. %' 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&a?ados &or u'a e@&li(a(i2' te@tual 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 e@&li(a(i2' te@tual* 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+t>are 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 m1@ima (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 -MM. 9 -NN. 9 (o'(reta u' &aso m1s all1 el ti&o de rela(i2' e@iste'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 a?adir (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

INFORS LU! 2""#

Tutorial de UML

1G 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 e@&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.

INFORS LU! 2""#

Tutorial de UML 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.

2" de 26

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 e@ter'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).

INFORS LU! 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"#$,+"' "#$,+" *+&@% "#+"

INFORS LU! 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' e@&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 0 S%

INFORS LU! 2""#

Tutorial de UML

2$ de 26

(0om&uter ided So+t>are %'gi'eeri'g)* &ara de+i'ir re3uerimie'tos* i'tera((io'es 9 eleme'tos del so+t>are 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+t>are (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 ,@ito 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 5istasO 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 UsoK 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 objetosK 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 objetosK los $"@ *#+" ,in<&i*+" (o' los diagramas de itera(i2' (secuencia 9 colaboracin)* diagramas de estados 9 de actividades.

INFORS LU! 2""#

Tutorial de UML

2# de 26

Ni"#$ , D "@(i >% ? %'glo6a los 'odos 3ue +orma' la to&olog:a )ard>are 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 despliegueK 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 componentesK 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(toO 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'te@to 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 e@a(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 dise?ar es(e'arios de &rue6a 3ue a9ude' a 5eri+i(ar si el &rograma +i'ali4ado (um&le (o' las e@&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+t>are 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.

INFORS LU! 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 dise?o* (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. D. !o(ume'tar 9 e'tregar el &rograma a los usuarios +i'ales.

INFORS LU! 2""#

Tutorial de UML

26 de 26

4.. R 7 ! n*i$"
Arad9 Boo()* Hames Rum6aug)* I5ar Ha(o6so'* (1GG6) .l /enguaje Unificado de 0odeladoP ddiso' Cesle9. S()'eider A.* Ci'ters H.7.* (2""1) &ppl)ing Use Cases: & 1ractical 2uide* ddiso' Cesle9.

INFORS LU! 2""#

También podría gustarte