Você está na página 1de 27

Tutorial de UML 1 de 27

COMPUTACION E
INFORMATICA
Tutorial de UML
WILDER OJED@ RABANAL
(Wilder.ojeda@gmail.com)
INSTITUTO DE EDUCACION SUPERIOR TECNOLOGICO PBLICO CHOTA
TALLER DE MODELAMIENTO DE SOFTWARE
COMPUTACION E INFORMATICA
COMPUTACIO ! I"O#MATICA
Tutorial de UML 2 de 27
COMPUTACIO ! I"O#MATICA
Tutorial de UML $ de 27
Presentacin
!l %re&e'te docume'to (a &ido %re%arado como material de &o%orte %ara el tutorial de
UML) Le'guaje U'i*icado de Modelado) del i'gl+& ,U'i*ied Modeli'g La'guage-)
im%artido e' el I'&tituto de educaci.' &u%erior tec'ol.gico Pu/lico C(ota e' la U'idad
did0ctica Taller de modelamie'to de &o*t1are.
!l tutorial o*rece u'a i'troducci.' a todo& lo& co'ce%to& 2ue ma'eja UML) em%e3a'do
%or lo& m0& rele4a'te& del %aradigma de la Orie'taci.' a O/jeto&) OO) &o/re el 2ue
a&ie'ta' lo& cimie'to& de UML. Por 5ltimo) de&cri/e como %uede em%lear&e UML e' el
de&arrollo de u' %ro6ecto. !l tutorial 'o %rete'de %ro*u'di3ar e' cada detalle) e' cam/io
/u&ca &er u'a 5til toma de co'tacto co' UML) como m7'imo %ara co'ocer &u&
%o&i/ilidade& 6 a6udar e' la deci&i.' de &i ado%tarlo como %arte del ar&e'al de
de&arrollo.
C!nteni"!s
1.- Introduccin................................................................................................................5
2.- La Orientacin a Objetos, OO....................................................................................5
#$%$& '() es (n O*+et!$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$,
#$#$& '() es (na C-ase$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.
#$/$& '() es -a Herencia$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$.
#$0$& '() es (na Inter1a2$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$3
3.- El Lenguaje Unificado de Modelado, UML..............................................................
/$%$& B-!4(es *5sic!s "e c!nstr(ccin "e UML$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$6
$.1.1.8 !leme'to&.....................................................................................................19
$.1.2.8 #elacio'e&....................................................................................................11
$.1.$.8 :iagrama&.....................................................................................................11
$.1.$.1.8 :iagrama de Cla&e& 6 :iagrama de O/jeto&.........................................1$
$.1.$.2.8 :iagrama de Com%o'e'te& 6 :iagrama de :e&%liegue........................1;
$.1.$.$.8 :iagrama de Ca&o& de U&o...................................................................1<
$.1.$.=.8 :iagrama de >ecue'cia 6 :iagrama de Cola/oraci.'..........................1?
$.1.$.;.8 :iagrama de !&tado& 6 :iagrama de Acti4idade&................................29
/$#$& C7! (ti-i2ar UML$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$##
!.- "eferencias................................................................................................................25
COMPUTACIO ! I"O#MATICA
Tutorial de UML = de 27
Fi8(ras
"igura 1@ O/jeto& comu'ic0'do&e.....................................................................................<
"igura 2@ La Aere'cia........................................................................................................?
"igura $@ :iagrama de Cla&e&..........................................................................................1$
"igura =@ #elaci.' de de%e'de'cia e' :iagrama& de Cla&e............................................1=
"igura ;@ Auto8agregaci.'...............................................................................................1;
"igura <@ :iagrama de Com%o'e'te&..............................................................................1;
"igura 7@ :iagrama de :e&%liegue..................................................................................1<
"igura ?@ :iagrama de Ca&o& de U&o 'i4el 1..................................................................1<
"igura B@ :iagrama Ca&o& de U&o 'i4el 2 A...................................................................17
"igura 19@ :iagrama Ca&o& de U&o 'i4el 2 C.................................................................17
"igura 11@ :iagrama Ca&o& de U&o 'i4el 1 detallado.....................................................1?
"igura 12@ :iagrama de >ecue'cia..................................................................................1?
"igura 1$@ :iagrama de Cola/oraci.'............................................................................29
"igura 1=@ M02ui'a de !&tado&) e&tado& &im%le&............................................................29
"igura 1;@ M02ui'a de !&tado&) e&tado& com%ue&to&.....................................................21
"igura 1<@ :iagrama de Acti4idade&...............................................................................22
Ta*-as
Ta/la 1@ !leme'to& de co'&trucci.' e' UML..................................................................11
Ta/la 2@ !leme'to& de relaci.' e' UML.........................................................................11
Ta/la $@ :iagrama& de UML...........................................................................................12
Ta/la =@ Multi%licidad e' :iagrama& de Cla&e&..............................................................1=
Ta/la ;@ Ti%o& de me'&aje e' diagrama& de i'teracci.'..................................................1B
COMPUTACIO ! I"O#MATICA
Tutorial de UML ; de 27
%$& Intr!"(ccin
!' lo& tiem%o& 2ue corre') el &o*t1are tie'e la te'de'cia de &er gra'de 6 com%lejo. Lo&
u&uario& dema'da' i'ter*ace& cada 4e3 m0& com%leta& 6 *u'cio'alidade& m0&
ela/orada&) todo ello i'*lu6e'do e' el tamaDo 6 la com%lejidad del %roducto *i'al. Por
ello) lo& %rograma& de/e' &er e&tructurado& de ma'era 2ue %ueda' &er re4i&ado&)
corregido& 6 ma'te'ido&) r0%ida 6 e*ica3me'te) %or ge'te 2ue 'o 'ece&ariame'te (a
cola/orado e' &u di&eDo 6 co'&trucci.') %ermitie'do acomodar 'ue4a *u'cio'alidad)
ma6or &eguridad 6 ro/u&te3) *u'cio'a'do e' toda& la& &ituacio'e& 2ue %ueda' &urgir) de
ma'era %re4i&i/le 6 re%roduci/le.
A'te %ro/lema& de gra' com%lejidad) la mejor *orma de a/ordar la &oluci.' e& modelar.
Modelar e& di&eDar 6 e&tructurar el &o*t1are a'te& de la'3ar&e a %rogramar 6 e& la 5'ica
*orma de 4i&uali3ar u' di&eDo 6 com%ro/ar 2ue cum%le todo& lo& re2ui&ito& %ara +l
e&ti%ulado&) a'te& de 2ue la *lotilla de %rogramadore& comie'ce a ge'erar c.digo.
Modela'do) lo& re&%o'&a/le& del +Eito del %roducto %uede' e&tar &eguro& de 2ue &u
*u'cio'alidad e& com%leta 6 correcta) 2ue toda& la& eE%ectati4a& de lo& u&uario& *i'ale&
&e cum%le') 2ue la& %o&i/le& *utura& am%liacio'e& %uede' &er acomodada&) todo ello
muc(o a'te& de 2ue la im%leme'taci.' (aga 2ue lo& cam/io& &ea' di*7cile& o im%o&i/le&
de acomodar. Modela'do) &e a/&trae' lo& detalle& e&e'ciale& de u' %ro/lema com%lejo 6
&e o/tie'e di&eDo& e&tructurado& 2ue) adem0&) %ermite' la reutili3aci.' de c.digo)
reducie'do lo& tiem%o& de %roducci.' 6 mi'imi3a'do la& %o&i/ilidade& de i'troducir
errore&.

UML e& u' le'guaje gr0*ico 2ue &ir4e %ara modelar) di&eDar) e&tructurar) 4i&uali3ar)
e&%eci*icar) co'&truir 6 docume'tar &o*t1are. UML %ro%orcio'a u' 4oca/ulario com5'
%ara toda la cade'a de %roducci.') de&de 2uie' reca/a lo& re2ui&ito& de lo& u&uario&)
(a&ta el 5ltimo %rogramador re&%o'&a/le del ma'te'imie'to. !& u' le'guaje e&t0'dar
%ara crear lo& %la'o& de u' &i&tema de *orma com%leta 6 'o am/igua. "ue creado %or el
O/ject Ma'ageme't Frou%) OMF) u' co'&orcio i'ter'acio'al &i' 0'imo de lucro) 2ue
a&ie'ta e&t0'dare& e' el 0rea de com%utaci.' di&tri/uida orie'tada a o/jeto&) 6
actualme'te re4i&a 6 actuali3a %eri.dicame'te la& e&%eci*icacio'e& del le'guaje) %ara
ada%tarlo a la& 'ece&idade& 2ue &urge'. !l %re&tigio de e&te co'&orcio e& u' a4al m0&
%ara UML) co'&idera'do 2ue cue'ta co' &ocio& ta' co'ocido& como la A>A) la
Age'cia !uro%ea del !&%acio !>A) el I'&tituto !uro%eo de Cioi'*orm0tica !CI) Coei'g)
Corla'd) Motorla 6 el W$C) %or me'cio'ar algu'o&.
#$& La Orientacin a O*+et!s9 OO
Au'2ue UML %uede em%lear&e e' cual2uier %aradigma) como la %rogramaci.'
e&tructurada o la l.gica) e&t0 e&%ecialme'te cerca del %aradigma de la orie'taci.' a
o/jeto&. Por ta'to) e& %reci&a u'a *amiliari3aci.' co' algu'o& detalle& de e&te %aradigma
a'te& de co'ti'uar co' UML.
COMPUTACIO ! I"O#MATICA
Tutorial de UML < de 27
#$%$& '() es (n O*+et!
:e ma'era i'tuiti4a) la te'de'cia ge'eral e& a&ociar el t+rmi'o o/jeto co' todo a2uello a
lo 2ue &e %uede atri/uir la %ro%iedad *7&ica de ma&a) como u'a to&tadora de %a') au'2ue
e& %o&i/le e'co'trar o/jeto& de 7'dole 'o ta'gi/le) como %or ejem%lo u'a direcci.'
%o&tal. !' el 0m/ito de la i'*orm0tica) u' o/jeto de*i'e u'a re%re&e'taci.' a/&tracta de
la& e'tidade& del mu'do) ta'gi/le& o 'o) co' la i'te'ci.' de emularla&. !Ei&te %ue&) u'a
relaci.' directa e'tre lo& o/jeto& del mu'do 6 lo& o/jeto& i'*orm0tico&) de modo 2ue
%uede em%lear&e el t+rmi'o o/jeto de ma'era i'di&ti'ta.
Lo& o/jeto& tie'e' do& caracter7&tica&) 2ue &o' &u e&tado 6 &u com%ortamie'to. !l e&tado
e& u'a &ituaci.' e' la 2ue &e e'cue'tra el o/jeto) tal 2ue cum%le co' algu'a co'dici.' o
co'dicio'e& %articulare&) reali3a algu'a acti4idad o e&%era 2ue &uceda u'
aco'tecimie'to. U'a to&tadora %uede e&tar e'ce'dida 6 cargada de %a' 6) e' cua'to a &u
com%ortamie'to) lo 'ormal e' e&te e&tado e& to&tar %a'.
Lo& o/jeto& ma'tie'e' &u e&tado e' u'o o m0& atri/uto&) 2ue &o' &im%leme'te dato&
ide'ti*icado& %or u' 'om/re) 6 eE(i/e' &u com%ortamie'to a tra4+& de m+todo&) 2ue &o'
tro3o& de *u'cio'alidad a&ociado& al o/jeto. !' e&te &e'tido) u' o/jeto e& realme'te u'
co'ju'to de atri/uto& 6 m+todo&. Pero u' o/jeto &.lo re4ela &u 4erdadera utilidad
cua'do e& i'tegrado e' u' co'teEto de comu'icaci.' co' otro& o/jeto&) a tra4+& del
e'47o de me'&aje&) %ara com%o'er u' &i&tema muc(o ma6or 6 demo&trar u'
com%ortamie'to m0& com%lejo. U'a to&tadora e' u' armario re&ulta de %oca utilidad)
%ero cua'do i'teract5a co' otro o/jeto) como u' &er (uma'o) &e co'4ierte e' u'a
(erramie'ta 5til %ara to&tar %a'. !l (uma'o i'tercam/iar7a co' la to&tadora el me'&aje
,tue&ta el %a' 2ue tie'e& e' la /a'deja- a tra4+& de la %ul&aci.' del /ot.' de to&tar.
A %artir del ejem%lo a'terior) e& *0cil deducir 2ue el e'47o de me'&aje& e& la *orma e'
2ue &e i'4oca' lo& m+todo& de u' o/jeto 6 2ue la i'4ocaci.' de m+todo& e& el
meca'i&mo a tra4+& del cual u' o/jeto %uede cam/iar &u e&tado o el de otro o/jeto. Lo&
atri/uto& 6 lo& m+todo& de u' o/jeto %uede' te'er u' me'or o ma6or grado de
4i&i/ilidad) de&de ,%ri4ado- (a&ta ,%5/lico-) lo 2ue (ace 2ue a%are3ca u' co'ce%to
'ue4o) la e'ca%&ulaci.'. La e'ca%&ulaci.' oculta lo& detalle& del *u'cio'amie'to
i'ter'o del o/jeto) eE%o'ie'do &.lo a2uello 2ue %ueda &er de i'ter+&.
Fi8(ra %: O*+et!s c!7(nic5n"!se
COMPUTACIO ! I"O#MATICA
Tutorial de UML 7 de 27
#$#$& '() es (na C-ase
Lo& o/jeto& 'o &o' e'tidade& 2ue eEi&ta' de modo 5'ico. Aa6 muc(o& ti%o& de
to&tadora& e) igualme'te) muc(a& to&tadora& del mi&mo ti%o. >e %uede e'te'der
*0cilme'te el co'ce%to de cla&e &i 'o& %ermitimo& em%lear el t+rmi'o tipo como
e2ui4ale'te. A&7) todo& lo& o/jeto& 2ue &o' del mi&mo tipo) com%arte' el mi&mo juego
de atri/uto& 6 m+todo& (au'2ue cada o/jeto %ueda te'er u' 4alor di&ti'to a&ociado a
cada atri/uto) 6 %or ta'to %erte'ece' a u'a mi&ma cla&e. La& cla&e& &o' como %atro'e&
2ue de*i'e' 2u+ atri/uto& 6 2u+ m+todo& &o' comu'e& a todo& lo& o/jeto& de u' mi&mo
ti%o.
Cada o/jeto tie'e &u& atri/uto& 6 &u com%ortamie'to) creado& em%lea'do u'a cla&e a
modo de %atr.'. U'a 4e3 creado el o/jeto) %a&a a &er u'a i'&ta'cia %articular de la cla&e
a la 2ue %erte'ece 6 &u& atri/uto& tie'e' u'o& 4alore& co'creto&) 2ue %odr0' 4ariar de u'
o/jeto a otro (do& o/jeto& di&ti'to& %erte'ecie'te& a la mi&ma cla&e) %uede' te'er
eEactame'te lo& mi&mo& 4alore& e' todo& &u& atri/uto&). A e&to& atri/uto&) 2ue %uede'
4ariar de u' o/jeto a otro) &e le& co'oce tam/i+' como variables de instancia.
Aa6 atri/uto& 2ue) &i' em/argo) 'o 4ar7a' de u' o/jeto a otro) e& decir toda& la&
i'&ta'cia& de la cla&e a la 2ue %erte'ece') tie'e' el mi&mo 4alor %ara e&e atri/uto. Toda&
la& to&tadora& del mi&mo ti%o co'&ume' lo& mi&mo& Watio& 6 &u& re&i&te'cia& &o' de lo&
mi&mo& O(mio&. A e&to& atri/uto& &e le& co'oce como variables de clase 6 &o'
com%artido& %or toda& 6 cada u'a de la& i'&ta'cia& de la cla&e. :e ma'era a'0loga al
ca&o de lo& atri/uto&) e'co'tramo& mtodos de instancia 6 mtodos de clase.
#$/$& '() es -a Herencia
Lo& o/jeto& &e de*i'e' e' *u'ci.' de cla&e&) e& decir) toma'do u'a cla&e como %atr.'.
>e %uede &a/er muc(o acerca de u' o/jeto &a/ie'do la cla&e a la 2ue %erte'ece. Por
ejem%lo) co' decir 2ue la ,#u&&ell Ao//& 192=$ Gudo&- e& u' ti%o de to&tadora)
i'mediatame'te &e &a/e 2ue &e trata de u'a m02ui'a %ara to&tar %a') %ro/a/leme'te
el+ctrica 6 co' %or lo me'o& u'a ra'ura e' la 2ue i'&ertar u'a re/a'ada de %a' 6 u'
/ot.' %ara acti4ar &u *u'cio'amie'to.
La& cla&e& llega' u' %a&o m0& lejo&) %ermitie'do &u de*i'ici.' e' *u'ci.' de otra&
cla&e&) de modo 2ue e& %o&i/le e&ta/lecer u'a jerar2u7a de e&%eciali3aci.'. U'a cla&e
2ue &e de*i'e e' *u'ci.' de otra) (ereda todo& lo& atri/uto& 6 m+todo& de a2uella 6
%ermite el aDadido de 'ue4o& o el &o/re e&critura de lo& (eredado&. La cla&e %atr.' &e
co'oce co' el 'om/re de superclase o clase padre) mie'ta& 2ue la 2ue (ereda &e co'oce
como clase hija. La (ere'cia 'o e&t0 limitada &im%leme'te a %adre8(ija(&)) la jerar2u7a
%uede &er todo lo %ro*u'da 2ue &ea 'ece&ario) (a/la'do e' t+rmi'o& de 'ieta&) /i3'ieta&)
etc. :e la mi&ma ma'era) u'a cla&e %uede (eredar de 4aria& cla&e& a la 4e3.
!' la &iguie'te *igura &e %uede 4er u'a jerar2u7a de e&%eciali3aci.' de do& 'i4ele&. La
cla&e ,A'imal- e& la ra73) la cla&e %adre e' la jerar2u7a. !&%eci*ica 2ue lo& a'imale&
comen) como caracter7&tica m0& &ig'i*icati4a de +&to&. !' el %rimer 'i4el de
e&%eciali3aci.' e'co'tramo& la& cla&e& ,Car'74oro- 6 ,Aer/74oro-) am/a& &o' &e'do&
COMPUTACIO ! I"O#MATICA
Tutorial de UML ? de 27
ti%o& de a'imal 6 %or ta'to comen) &.lo 2ue e' el ca&o de lo& car'74oro& &e (a
e&%eciali3ado el ti%o de comida 2ue come' %ara i'dicar 2ue &e trata de carne. A%arece
u'a 'ue4a caracter7&tica de e&te ti%o de a'imal) 2ue e& el (ec(o de 2ue lo& car'74oro&
cazan. !' el ca&o de lo& (er/74oro&) e'co'tramo& 2ue comen plantas 6 pacen. !' el
&egu'do 'i4el de e&%eciali3aci.') e'co'tramo& u' a'imal 2ue e& a la 4e3 ,Aer/74oro- 6
,Car'74oro- 6) como ca/e e&%erar) e&te 'ue4o ti%o de a'imal %uede (acer todo lo 2ue
%uede' (acer &u& a'ce&tro&) comer car'e) comer %la'ta&) ca3ar 6 %acer) 'o e'co'tra'do
'i'gu'a caracter7&tica adicio'al e' lo& ,Om'74oro&-.
Fi8(ra #: La Herencia
#$0$& '() es (na Inter1a2
U'a i'ter*a3 e& u' meca'i&mo 2ue em%lea' do& o/jeto& %ara i'teractuar. !' 'ue&tro
ejem%lo de la to&tadora) el (uma'o em%lea el /ot.' de to&tar a modo de i'ter*a3 %ara
%a&ar el me'&aje ,tue&ta el %a' 2ue tie'e& e' la /a'deja-.
La& i'ter*ace& de*i'e' u' co'ju'to de m+todo& %ara e&ta/lecer el %rotocolo e' /a&e al
cual i'teract5a' do& o/jeto&. !' e&te &e'tido) eEi&te u'a a'alog7a e'tre i'ter*ace& 6
%rotocolo&. Para 2ue el (uma'o %ueda to&tar) de/e &eguir el %rotocolo e&ta/lecido %or la
i'ter*a3 /ot.' de to&tar) co'&i&te'te e' %ul&ar dic(o /ot.'.
COMPUTACIO ! I"O#MATICA
Tutorial de UML B de 27
La& i'ter*ace& ca%tura' la& &imilitude& e'tre cla&e& 'o relacio'ara&) &i' 'ece&idad de
*or3ar u'a i'terrelaci.' 6 &o' a &u 4e3 cla&e&.
/$& E- Len8(a+e Uni1ica"! "e M!"e-a"!9 UML
!l UML e& u' le'guaje de modelado cu6o 4oca/ulario 6 &i'taEi& e&t0' ideado& %ara la
re%re&e'taci.' co'ce%tual 6 *7&ica de u' &i&tema. >u& modelo& &o' %reci&o&) 'o
am/iguo&) com%leto& 6 %uede' &er tra&ladado& directame'te a u'a gra' 4ariedad de
le'guaje& de %rogramaci.') como Ha4a) CII o Ji&ual Ca&ic) %ero tam/i+' a ta/la& de
/a&e& de dato& relacio'ale& 6 orie'tado& a o/jeto&. !& %o&i/le ge'erar c.digo a %artir de
u' modelo UML (i'ge'ier7a directa) 6 tam/i+' %uede co'&truir&e u' modelo a %artir de
la im%leme'taci.' (i'ge'ier7a i'4er&a)) au'2ue e' la& do& &ituacio'e& de/e i'ter4e'ir u'
ma6or o me'or grado de &u%er4i&i.' %or %arte del %rogramador) e' *u'ci.' de lo /ue'a&
2ue &ea' la& (erramie'ta& em%leada&.
/$%$& B-!4(es *5sic!s "e c!nstr(ccin "e UML
Lo& /lo2ue& /0&ico& de co'&trucci.' de UML &o' tre&) lo& eleme'to&) la& relacio'e& 6
lo& diagrama&.
L!s ele#entos &o' a/&traccio'e& 2ue act5a' como u'idade& /0&ica& de
co'&trucci.'. Aa6 cuatro ti%o&) lo& estructurales) lo& de comportamiento) lo& de
agrupacin 6 lo& de notacin. !' cua'to a lo& eleme'to& e&tructurale& &o' la&
%arte& e&t0tica& de lo& modelo& 6 re%re&e'ta' a&%ecto& co'ce%tuale& o materiale&.
Lo& eleme'to& de com%ortamie'to &o' la& %arte& di'0mica& de lo& modelo& 6
re%re&e'ta' com%ortamie'to& e' el tiem%o 6 e' el e&%acio. Lo& eleme'to& de
agru%aci.' &o' la& %arte& orga'i3ati4a& de UML) e&ta/lece' la& di4i&io'e& e'
2ue &e %uede *raccio'ar u' modelo. >.lo (a6 u' eleme'to de agru%aci.') el
%a2uete) 2ue &e em%lea %ara orga'i3ar otro& eleme'to& e' gru%o&. Lo& eleme'to&
de 'otaci.' &o' la& %arte& eE%licati4a& de UML) come'tario& 2ue %uede'
de&cri/ir teEtualme'te cual2uier a&%ecto de u' modelo. >.lo (a6 u' eleme'to de
'otaci.' %ri'ci%al) la 'ota.
Las relaciones &o' a/&traccio'e& 2ue act5a' como u'i.' e'tre lo& di&ti'to&
elementos. Aa6 cuatro ti%o&) la dependencia) la asociacin) la generalizacin 6
la realizacin.
L!s diagra#as &o' la di&%o&ici.' de u' co'ju'to de eleme'to&) 2ue re%re&e'ta'
el &i&tema modelado de&de di*ere'te& %er&%ecti4a&. UML tie'e 'ue4e diagrama&
*u'dame'tale&) agru%ado& e' do& gra'de& gru%o&) u'o %ara modelar la e&tructura
e&t0tica del &i&tema 6 otro %ara modelar el com%ortamie'to di'0mico. Lo&
"ia8ra7as est5tic!s s!n: el de clases) de objetos) de componentes 6 de
despliegue. Lo& "ia8ra7as "e c!7;!rta7ient! s!n: el de Casos de Uso) de
secuencia) de colaboracin) de estados 6 de actividades.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 19 de 27
/$%$%$& E-e7ent!s
E
L
E
M
E
N
T
O
S
E
S
T
R
U
C
T
U
R
A
L
E
S
Cla&e
:e&cri/e u' co'ju'to de o/jeto&
2ue com%arte' lo& mi&mo&
atri/uto&) m+todo&) relacio'e& 6
&em0'tica. La& cla&e&
im%leme'ta' u'a o m0&
i'ter*ace&.
Cla&e acti4a
>e trata de u'a cla&e) e' la 2ue
eEi&te' %roce&o& o (ilo& de
ejecuci.' co'curre'te& co' otro&
eleme'to&. La& l7'ea& del
co'tor'o &o' m0& grue&a& 2ue e'
la cla&e ,'ormal-
I'ter*a3
Agru%aci.' de m+todo& u
o%eracio'e& 2ue e&%eci*ica' u'
&er4icio de u'a cla&e o
com%o'e'te) de&cri/ie'do &u
com%ortamie'to) com%leto o
%arcial) eEter'ame'te 4i&i/le.
UML %ermite em%lear u' c7rculo
%ara re%re&e'tar la& i'ter*ace&)
au'2ue lo m0& 'ormal e& em%lear
la cla&e co' el 'om/re e'
cur&i4a.
Cola/oraci.'
:e*i'e u'a i'teracci.' e'tre
eleme'to& 2ue coo%era' %ara
%ro%orcio'ar u' com%ortamie'to
ma6or 2ue la &uma de lo&
com%ortamie'to& de &u&
eleme'to&.
Ca&o de u&o
:e&cri/e u' co'ju'to de
&ecue'cia& de accio'e& 2ue u'
&i&tema ejecuta) %ara %roducir u'
re&ultado o/&er4a/le de i'ter+&.
>e em%lea %ara e&tructurar lo&
a&%ecto& de com%ortamie'to de
u' modelo.
Com%o'e'te
Parte *7&ica 6 %or ta'to
reem%la3a/le de u' modelo) 2ue
agru%a u' co'ju'to de i'ter*ace&)
arc(i4o& de c.digo *ue'te)
cla&e&) cola/oracio'e& 6
%ro%orcio'a la im%leme'taci.'
de dic(o& eleme'to&.
odo
!leme'to *7&ico 2ue eEi&te e'
tiem%o de ejecuci.' 6 re%re&e'ta
u' recur&o com%utacio'al co'
ca%acidad de %roce&ar.
E-e7ent!s
"e
I'teracci.'
Com%re'de u' co'ju'to de
me'&aje& 2ue &e i'tercam/ia'
e'tre u' co'ju'to de o/jeto&)
%ara cum%lir u' o/jeti4o
e&%eci*ico.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 11 de 27
c!7;!rta7ient!
M02ui'a&
de
e&tado&
!&%eci*ica la &ecue'cia de
e&tado& %or lo& 2ue %a&a u'
o/jeto o u'a i'teracci.') e'
re&%ue&ta a e4e'to&.
E-e7ent!s
"e
a8r(;acin
Pa2uete
>e em%lea %ara orga'i3ar otro&
eleme'to& e' gru%o&.
E-e7ent!s
"e
n!tacin
ota
Parte& eE%licati4a de UML) 2ue
%uede de&cri/ir teEtualme'te
cual2uier a&%ecto del modelo
Ta*-a %: E-e7ent!s "e c!nstr(ccin en UML
/$%$#$& Re-aci!nes
:e%e'de'cia
!& u'a relaci.' e'tre do& eleme'to&) tal 2ue u'
cam/io e' u'o %uede a*ectar al otro.
A&ociaci.'
!& u'a relaci.' e&tructural 2ue re&ume u' co'ju'to
de e'lace& 2ue &o' co'eEio'e& e'tre o/jeto&.
Fe'erali3aci.'
!& u'a relaci.' e' la 2ue el eleme'to ge'erali3ado
%uede &er &u/&tituido %or cual2uiera de lo&
eleme'to& (ijo&) 6a 2ue com%arte' &u e&tructura 6
com%ortamie'to.
#eali3aci.'
!& u'a relaci.' 2ue im%lica 2ue la %arte reali3a'te
cum%le co' u'a &erie de e&%eci*icacio'e& %ro%ue&ta&
%or la cla&e reali3ada (i'ter*ace&).
Ta*-a #: E-e7ent!s "e re-acin en UML
/$%$/$& Dia8ra7as
M
O
D
E
L
A
N
Cla&e&
Mue&tra u' co'ju'to de cla&e&)
i'ter*ace& 6 cola/oracio'e&) a&7 como
&u& relacio'e&) cu/rie'do la 4i&ta de
di&eDo e&t0tica del &i&tema.
O/jeto&
A'0logo al diagrama de cla&e&)
mue&tra u' co'ju'to de o/jeto& 6 &u&
relacio'e&) %ero a modo de 4i&ta
i'&ta't0'ea de i'&ta'cia& de u'a cla&e
e' el tiem%o.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 12 de 27
E
S
T
R
U
C
T
U
R
A
Com%o'e'te&
Mue&tra la orga'i3aci.' 6
de%e'de'cia& de u' co'ju'to de
com%o'e'te&. Cu/re' la 4i&ta de
im%leme'taci.' e&t0tica de u' &i&tema.
U' com%o'e'te e& u' m.dulo de
c.digo) de modo 2ue lo& diagrama& de
com%o'e'te& &o' lo& a'0logo& *7&ico& a
lo& diagrama& de cla&e&.
:e&%liegue
Mue&tra la co'*iguraci.' del (ard1are
del &i&tema) lo& 'odo& de %roce&o 6 lo&
com%o'e'te& em%leado& %or +&to&.
Cu/re' la 4i&ta de de&%liegue e&t0tica
de u'a ar2uitectura.
M
O
D
E
L
A
N
C
O
M
P
O
R
T
A
M
I
E
N
T
O
Ca&o& de U&o
Mue&tra u' co'ju'to de ca&o& de u&o)
lo& actore& im%licado& 6 &u& relacio'e&.
>o' diagrama& *u'dame'tale& e' el
modelado 6 orga'i3aci.' del &i&tema.
>ecue'cia
>o' diagrama& de i'teracci.')
mue&tra' u' co'ju'to de o/jeto& 6 &u&
relacio'e&) a&7 como lo& me'&aje& 2ue
&e i'tercam/ia' e'tre ello&. Cu/re' la
4i&ta di'0mica del &i&tema. !l
diagrama de &ecue'cia re&alta la
orde'aci.' tem%oral de lo& me'&aje&)
mie'tra& 2ue el de cola/oraci.' re&alta
la orga'i3aci.' e&tructural de lo&
o/jeto&) am/o& &ie'do e2ui4ale'te& o
i&omor*o&. !' el diagrama de
cola/oraci.' de la *igura de la
i32uierda) &e %uede 4er 2ue lo&
eleme'to& gr0*ico& 'o &o' caja&
recta'gulare&) como ca/r7a e&%erar) 6
e' &u lugar e'co'tramo& &u& 4er&io'e&
ador'ada&. !&ta& 4er&io'e& tie'e'
como *i'alidad e4ide'ciar u' rol
e&%ec7*ico del o/jeto &ie'do modelado.
!' la *igura e'co'tramo& de i32uierda
a derec(a 6 de arri/a a/ajo u' Actor)
u'a I'ter*a3) u' Co'trol (modela u'
com%ortamie'to) 6 u'a I'&ta'cia
(modela u' o/jeto de dato).
Cola/oraci.'
!&tado&
Mue&tra u'a m02ui'a de e&tado&) co'
&u& e&tado&) tra'&icio'e&) e4e'to& 6
acti4idade&. Cu/re' la 4i&ta di'0mica
de u' &i&tema. Modela'
com%ortamie'to& reacti4o& e' /a&e a
e4e'to&.
Acti4idade&
Ti%o e&%ecial de diagrama de e&tado&
2ue mue&tra el *lujo de acti4idade&
de'tro de u' &i&tema.
Ta*-a /: Dia8ra7as "e UML
COMPUTACIO ! I"O#MATICA
Tutorial de UML 1$ de 27
/$%$/$%$& Dia8ra7a "e C-ases < Dia8ra7a "e O*+et!s
Lo& diagrama& de cla&e& mue&tra' u' re&ume' del &i&tema e' t+rmi'o& de &u& cla&e& 6
la& relacio'e& e'tre ella&. >o' diagrama& e&t0tico& 2ue mue&tra' 4() e& lo 2ue
i'teract5a) %ero 'o c.mo i'teract5a o 2u+ %a&a cua'do ocurre la i'teracci.'.
!l &iguie'te diagrama modela lo& %edido& de u' clie'te a u'a tie'da de 4e'ta %or
cat0logo. La cla&e %ri'ci%al e& ,Pedido-) a&ociada a u' clie'te) u'a *orma de %ago 6 u'
co'ju'to de art7culo&.
La cla&e ,Pago- e& a/&tracta) e' UML lo& 'om/re& de cla&e& a/&tracta& &e re%re&e'ta'
e' Itlica. La& cla&e& a/&tracta& act5a' a modo de inter1a2) %ro%orcio'a'do 5'icame'te
u' li&tado de m+todo& a &er ,reali3ado&- %or la& cla&e& 2ue la& im%leme'ta' o reali3a'.
,Pago- e& u'a &u%ercla&e e&%eciali3ada) 6 a la 4e3 reali3ada) %or &u& *orma& m0&
comu'e& ,Cr+dito- 6 ,!*ecti4o-. U' ,Pedido- tie'e u'a 5'ica *orma de %ago) eE%re&ada
%or &u multi%licidad) 1) mie'tra& 2ue u'a *orma de %ago %uede e&tar %re&e'te e' u'o o
m0& %edido&) como &ugiere &u multi%licidad) 1..K.
!' cua'to a la& a&ociacio'e&) o/&er4amo& 2ue algu'a& 4ie'e' re%re&e'tada& como u'a
flecha navegable) cu6a orie'taci.' eE%re&a el &e'tido e' 2ue &e co'&ulta' lo& dato&. La&
a&ociacio'e& &i' *lec(a &o' /i8direccio'ale&. La& agregacio'e& eE%re&a' ,co'ju'to de-L
la relaci.' e'tre ,Pedido- 6 ,Articulo- e& de co'ju'to. U' %edido e& u'a agregaci.' de
u'a o m0& l7'ea& de %edido) do'de cada u'a (ace alu&i.' a u' art7culo co'creto) a&7
mi&mo u'a l7'ea de %edido %uede e&tar %re&e'te e' 4ario& %edido& 6 u' art7culo %uede
'o (a/er &ido &olicitado 'u'ca.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 1= de 27
Fi8(ra /: Dia8ra7a "e C-ases
!' cua'to a la multi%licidad) la &iguie'te ta/la re&ume la& m0& comu'e&. Aa6 2ue te'er
e' cue'ta 2ue la multi%licidad &e eE%re&a ,e' el lado o%ue&to- de la relaci.' 6 e& el
'5mero de %o&i/le& i'&ta'cia& de u'a cla&e a&ociada& co' u'a 5'ica i'&ta'cia de la cla&e
e' el otro eEtremo.
M(-ti;-ici"a" Si8ni1ica"!
1 U'a 5'ica i'&ta'cia
M K i'&ta'cia&
9.. M 9..K !'tre 'i'gu'a 6 i'&ta'cia&
1.. M 1..K !'tre u'a 6 i'&ta'cia&
9..1 i'gu'a o u'a i'&ta'cia
..M !'tre 6 M i'&ta'cia&
Ta*-a 0: M(-ti;-ici"a" en Dia8ra7as "e C-ases
!l &iguie'te diagrama mue&tra u'a de%e'de'cia eEi&te'te e'tre la& cla&e& ,Pedido- 6
,"ec(a-. Cual2uier cam/io e' la cla&e de%e'dida) ,"ec(a-) a*ectar0 la cla&e
de%e'die'te) ,Pedida-.
A&7 mi&mo &e %uede o/&er4ar 2ue la& cla&e& 4ie'e' re%re&e'tada& %or caja& e' la& 2ue
(a6 tre& &e%aracio'e&) o com%artime'to&. !l ;ri7er! &e em%lea &iem%re %ara i'dicar el
nombre de la cla&e) el se8(n"! %ara mo&trar lo& atributos 6 el tercer! %ara lo& mtodos.
Ta'to lo& atri/uto& como lo& m+todo& 4ie'e' %recedido& %or u' &7m/olo de acce&o) 2ue
'ormalme'te &uele &er u' =>? %ara el acce&o pblico) u' =&? %ara el acce&o privado)
(&.lo %or otro& m+todo& de la cla&e) 6 u' =@? %ara el acce&o protegido (&.lo %or cla&e&
(ija)) au'2ue la (erramie'ta em%leada e' la ela/oraci.' del tutorial traduce e&to&
eleme'to& e' ico'o&.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 1; de 27
Lo& atri/uto& tie'e' u' ti%o 2ue %uede mo&trar&e a co'ti'uaci.' de &u 'om/re &e%arado
%or =:?. :e igual ma'era) lo& m+todo& %uede' de4ol4er u' eleme'to de u' ti%o
determi'ado 6 reci/ir %ar0metro&) eE%re&ado& e'tre %ar+'te&i& media'te el 'om/re del
%ar0metro 6 el ti%o) &e%arado& %or =:?. Para el ca&o de m5lti%le& %ar0metro&) &e &e%ara'
%or coma& (p1:t1 p!:t! """ pn:tn). Lo& %ar0metro& 2ue tie'e' u' 4alor %or de*ecto &e
eE%re&a' media'te u' =A? 6 el 4alor) a co'ti'uaci.' del ti%o (p1:t1#v1) 6 &i u'
%ar0metro e' la %o&ici.' ,i- de la li&ta de %ar0metro& tie'e 4alor %or de*ecto) todo& lo&
%ar0metro& 2ue le &iga') e& decir 2ue ocu%e' %o&icio'e& &uce&i4a& a ,i- e' la li&ta)
de/er0' te'er tam/i+' u' 4alor %or de*ecto.
Lo& atri/uto& 6 m+todo& e&t0tico& (de cla&e) &e re%re&e'ta' media'te u' &u/ra6ado (e' el
ca&o de lo& m+todo& &e %uede em%lear el e&tereoti%o $$static%% lo& e&tereoti%o& &e 4e'
m0& adela'te).
Fi8(ra 0: Re-acin "e "e;en"encia en Dia8ra7as "e C-ase
!l &iguie'te diagrama mue&tra u'a auto8relaci.' de agregaci.'. U' ,:e%artame'to-
%uede e&tar com%ue&to a &u 4e3 %or m0& &u/8de%artame'to&) o 'i'gu'o) co' la
re&tricci.' de 2ue el m7'imo '5mero de %er&o'a& e' lo& &u/8de%artame'to& de/e &er
do&. La& restricciones &o' co'dicio'e& 2ue de/e' &er cum%lida& &iem%re) &e eE%re&a'
entre llaves ,Bco'dici.' C-.
Fi8(ra D: A(t!&a8re8acin
Lo& diagrama& de o/jeto& &o' a'0logo& a lo& de cla&e&) co' la %articularidad de 2ue e'
lugar de e'co'trar cla&e&) e'co'tramo& i'&ta'cia& de +&ta&. >o' 5tile& %ara eE%licar
%arte& %e2ueDa& del modelo e' la& 2ue (a6 relacio'e& com%leja&.
/$%$/$#$& Dia8ra7a "e C!7;!nentes < Dia8ra7a "e Des;-ie8(e
COMPUTACIO ! I"O#MATICA
Tutorial de UML 1< de 27
Lo& com%o'e'te& &o' m.dulo& de c.digo) a&7 2ue lo& diagrama& de com%o'e'te& 4ie'e'
a &er lo& a'0logo& *7&ico& a lo& diagrama& de cla&e&. Mue&tra' como e&t0 orga'i3ado u'
co'ju'to de com%o'e'te& 6 la& de%e'de'cia& 2ue eEi&te' e'tre ello&.
Fi8(ra ,: Dia8ra7a "e C!7;!nentes
Lo& diagrama& de de&%liegue &ir4e' %ara modelar la co'*iguraci.' (ard1are del
&i&tema) mo&tra'do 2u+ 'odo& lo com%o'e'.
Fi8(ra .: Dia8ra7a "e Des;-ie8(e
/$%$/$/$& Dia8ra7a "e Cas!s "e Us!
Lo& diagrama& de Ca&o& de U&o de&cri/e' lo 2ue (ace u' &i&tema de&de el %u'to de
4i&ta de u' o/&er4ador eEter'o) e'*ati3a'do el 4() m0& 2ue el c.mo. Pla'tea'
COMPUTACIO ! I"O#MATICA
Tutorial de UML 17 de 27
e&ce'ario&) e& decir) lo 2ue %a&a cua'do alguie' i'teract5a co' el &i&tema)
%ro%orcio'a'do u' re&ume' %ara u'a tarea u o/jeti4o. !l &iguie'te Ca&o de U&o
de&cri/e como Carlo& 4a a de&a6u'ar (e&te e& &u o/jeti4o)) %ara lo 2ue &e %la'tea el
e&ce'ario de %re%arar &u ca*+ 6 el %a' to&tado
.
Fi8(ra 3: Dia8ra7a "e Cas!s "e Us! niEe- %
!' lo& Ca&o& de U&o) lo& &ctores &o' %a%ele& 2ue determi'ada& %er&o'a& u o/jeto&
de&em%eDa'. >e re%re&e'ta' media'te u' ,(om/re de %alito&-) de modo 2ue e' el
ejem%lo) Carlo& e& u' Actor. Lo& Ca&o& de U&o &e re%re&e'ta' %or medio de valos 6 la&
l7'ea& 2ue u'e' Actore& co' Ca&o& de U&o re%re&e'ta' u'a a&ociaci.' de comu'icaci.'.
Por &u %ue&to) u' Ca&o de U&o %uede &er de&crito e' ma6or %ro*u'didad. Por ejem%lo &i
tomamo& %or &e%arado ,Pre%arar %a'- 6 ,Pre%arar ca*e-) %odemo& /ajar u' 'i4el de
de&cri%ci.' 6 llegar a lo& &iguie'te& Ca&o& de U&o.
Fi8(ra 6: Dia8ra7a Cas!s "e Us! niEe- # 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"*
Fi8(ra %F: Dia8ra7a Cas!s "e Us! niEe- # B
'Carlos calienta leche a+ade caf ) azcar al gusto ) se lo bebe"*
COMPUTACIO ! I"O#MATICA
Tutorial de UML 1? de 27
Lo& Ca&o& de U&o &uele' 4e'ir delimitado& %or *ro'tera& o l7mite&) 2ue de*i'e' u'a
&e%araci.' e'tre lo 2ue e& realme'te la *u'cio'alidad del &i&tema 6 lo& actore& 2ue la
u&a' o cola/ora' e' &u de&em%eDo. !' la& *igura&) e&ta &e%araci.' 4ie'e re%re&e'tada
%or medio de la caja 2ue e'ca%&ula lo& .4alo&.
Lo& Ca&o& de U&o &o' acom%aDado& %or u'a eE%licaci.' teEtual 2ue clari*ica la&
%o&i/le& cade'cia& del le'guaje merame'te gr0*ico. :e e&ta ma'era) com/i'a'do Ca&o&
de U&o 6 eE%licaci.' teEtual) &e %uede o/te'er e&ce'ario& 'o am/iguo&) 2ue re&ulta'
ideale& e' la ca%tura de re2ui&ito& de u&uario) dada &u &e'cille3 de com%re'&i.' i'clu&o
%or 2uie' 'o e&t0 *amiliari3ado co' UML. Lo& Ca&o& de U&o &e em%lea' tam/i+' e' la
%re%araci.' de e&ce'ario& de %rue/a& co' 2ue 4eri*icar el &o*t1are u'a 4e3 (a &ido
co'&truido.
!l &iguie'te Ca&o de U&o e& e2ui4ale'te al %rimero) ,:e&a6u'o-) &.lo 2ue e' +l &e (a
co'de'&ado la m0Eima ca'tidad %o&i/le de i'*ormaci.'. !' +l &e mue&tra u' 'ue4o
eleme'to 2ue (a&ta a(ora 'o &e (a/7a mo&trado) el ,estere!ti;!-) 2ue 4ie'e e'tre
&e'do& &7m/olo& a'gulado& ,NN- 6 ,OO- 6 co'creta u' %a&o m0& all0 el ti%o de relaci.'
eEi&te'te e'tre do& Ca&o& de U&o. !'co'tramo& do& e&tereoti%o& $$include%% 6
$$e,tend%%. !l %rimero i'dica 2ue el Ca&o de U&o ,To&tar %a'- re2uiere de ,U&ar
to&tadora- %ara %oder &er lle4ado a ca/o. !&ta e& u'a *orma mu6 adecuada de &acar
*actor com5' e'tre Ca&o& de U&o) o i'clu&o de *raccio'ar Ca&o& de U&o mu6 gra'de&. !l
&egu'do i'dica 2ue el Ca&o de U&o ,U'tar %a'- e& u'a 4ariaci.' de ,U'tar-.
O/&er4amo& tam/i+' 2ue ,Comer %a'- 6 ,Ce/er ca*e- &o' u'a ge'erali3aci.' de
,Alime'tar&e-.
Fi8(ra %%: Dia8ra7a Cas!s "e Us! niEe- % "eta--a"!
,Carlo& 4a a de&a6u'ar. Para ello de/e (acer do& acti4idade& di&ti'ta&) %ero relacio'ada&. La %rimera
co'&i&te e' to&tar %a') %ara lo cual 'ece&ita em%lear u'a to&tadora. U'a 4e3 to&tado el %a') lo u'ta de
ma'te2uilla 6 mermelada de *re&a (u'tar %a' 'o e& mu6 di&ti'to de u'tar otro ti%o de alime'to&). La
&egu'da co'&i&te e' %re%arar el ca*+) %ar lo cual 'ece&ita cale'tar lec(e 6 aDadir ca*+ 6 a3u3ar. Termi'ada&
am/a& acti4idade&) Carlo& %uede %roceder a alime'tar&e) comie'do el %a' to&tado 6 /e/ie'do el ca*+. !l
orde' e' 2ue realice la& acti4idade& da igual 6 tam/i+' da igual &i &e reali3a' a la 4e3.-
/$%$/$0$& Dia8ra7a "e Sec(encia < Dia8ra7a "e C!-a*!racin
COMPUTACIO ! I"O#MATICA
Tutorial de UML 1B de 27
Lo& diagrama& de &ecue'cia de&cri/e' como lo& o/jeto& del &i&tema cola/ora'. >e trata
de u' diagrama de i'teracci.' 2ue detalla como la& o%eracio'e& &e lle4a' a ca/o) 2u+
me'&aje& &o' e'4iado& 6 cua'do) orga'i3ado todo e' tor'o al tiem%o. !l tiem%o a4a'3a
,(acia a/ajo- e' el diagrama. Lo& o/jeto& i'4olucrado& e' la o%eraci.' &e li&ta' de
i32uierda a derec(a de acuerdo a &u orde' de %artici%aci.' de'tro de la &ecue'cia de
me'&aje&.
Fi8(ra %#: Dia8ra7a "e Sec(encia
La& l7'ea& 4erticale& o ,l7'ea& de la 4ida- re%re&e'ta' el tiem%o de 4ida del o/jeto. La
4ida del o/jeto ,carlo&- 'o termi'a e' e&te diagrama) &i' em/argo la del o/jeto ,to&t6-
&7 6 e&to 4ie'e re%re&e'tado media'te el a&%a al *i'al de &u l7'ea de la 4ida.
Lo& rect0'gulo& 4erticale& &o' /arra& de acti4aci.' 6 re%re&e'ta' la duraci.' de la
ejecuci.' del me'&aje. !l me'&aje ,!'ce'der-) %o&i/leme'te im%leme'tado media'te la
i'troducci.' del e'c(u*e e' u'a toma de %ared) tie'e u'a duraci.' e&ca&a 6 &imilar a la
de ,A%agar-. o ocurre lo mi&mo co' la llamada al m+todo ,to&tar()-) 2ue dura de&de la
%ul&aci.' del /ot.' de to&tar (a&ta 2ue el %a' e& retirado de la /a'deja 6 adem0&
i'ter4ie'e la emi&i.' de u' a4i&o cua'do el %a' e&t0 lo &u*icie'teme'te calie'te) a *i' de
e4itar 2ue &e 2ueme.
Como &e %uede o/&er4ar) la acci.' to&tar 4ie'e co'dicio'ada %or la %re&e'cia de %a' e'
la /a'deja de la to&tadora. !' UML lo& corc(ete& =GH? eE%re&a' co'dici.' 6 &i e&t0'
%recedido& de u' a&teri&co i'dica' i'teracci.' mie'tra& &e cum%la la co'dici.'.
Lo& me'&aje& 2ue &o' i'tercam/iado& e'tre lo& o/jeto& de u' diagrama de &ecue'cia
%uede' &er s-ncronos o as-ncronos. Lo& me'&aje& a&7'cro'o& &o' a2uello& tal 2ue el
emi&or %uede e'4iar 'ue4o& me'&aje& mie'tra& el origi'al e&t0 &ie'do %roce&ado. !l
me'&aje a&7'cro'o ocurre e' el tiem%o de ma'era i'de%e'die'te a otro& me'&aje&. Lo&
me'&aje& &7'cro'o& &o' todo lo co'trario) el emi&or de/e e&%erar a 2ue termi'e el
tiem%o de %roce&o del me'&aje a'te& de 2ue %ueda emitir 'ue4o& me'&aje&. UML
em%lea lo& &iguie'te& co'4e'io& %ara re%re&e'tar el ti%o de me'&aje.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 29 de 27
SI7*!-! Si8ni1ica"!
Me'&aje &im%le 2ue %uede
&er &7'cro'o o a&7'cro'o.
Me'&aje &im%le de 4uelta
(o%cio'al).
Me'&aje &7'cro'o.
Me'&aje a&7'cro'o.
Ta*-a D: Ti;!s "e 7ensa+e en "ia8ra7as "e interaccin
Lo& diagrama& de cola/oraci.' &o' otro ti%o de diagrama& de i'teracci.') 2ue co'tie'e
la mi&ma i'*ormaci.' 2ue lo& de &ecue'cia) &.lo 2ue &e ce'tra' e' la& re&%o'&a/ilidade&
de cada o/jeto) e' lugar de e' el tiem%o e' 2ue lo& me'&aje& &o' e'4iado&. Cada
me'&aje de u' diagrama de cola/oraci.' tie'e u' '5mero de &ecue'cia. !l %rimer 'i4el
de la &ecue'cia e& 1) 6 lo& me'&aje& 2ue &o' e'4iado& dura'te la mi&ma llamada a u'
m+todo &e 'umera' 1.1) 1.2 6 a&7 &uce&i4ame'te %ara ta'to& 'i4ele& como &ea 'ece&ario.
Fi8(ra %/: Dia8ra7a "e C!-a*!racin
/$%$/$D$& Dia8ra7a "e Esta"!s < Dia8ra7a "e ActiEi"a"es
Lo& diagrama& de e&tado& mue&tra' lo& %o&i/le& e&tado& e' 2ue %uede e'co'trar&e u'
o/jeto 6 la& tra'&icio'e& 2ue %uede' cau&ar u' cam/io de e&tado. !l e&tado de u' o/jeto
de%e'de de la acti4idad 2ue e&t+ lle4a'do a ca/o o de algu'a co'dici.'.
La& tra'&icio'e& &o' la& l7'ea& 2ue u'e' lo& di*ere'te& e&tado&. !' ella& &e re%re&e'ta la
co'dici.' 2ue %ro4oca el cam/io) &eguida de la acci.' o%ortu'a &e%arada %or =J?. !' u'
e&tado e' 2ue el o/jeto e&ta %e'die'te de alg5' ti%o de 4alidaci.' 2ue de%e'da de u'
%roce&o e' cur&o) 'o e& 'ece&ario e4e'to eEter'o algu'o %ara 2ue &e %rodu3ca la
tra'&ici.') 6a 2ue +&ta ocurrir0 cua'do termi'e el %roce&o) e' *u'ci.' del re&ultado de
+&te. !' e&to& ca&o& e& co'4e'ie'te) %or claridad) i'cluir la co'dici.' 2ue de la 2ue
de%e'de la tra'&ici.' (e'tre corc(ete&).
COMPUTACIO ! I"O#MATICA
Tutorial de UML 21 de 27
Lo& e&tado& i'icial) a %artir del 2ue &e ,e'tra- e' la m02ui'a de e&tado&) 6 *i'al) 2ue
i'dica 2ue la m02ui'a de e&tado& termi'a) 'o tie'e' otro &ig'i*icado adicio'al) &o'
eleme'to& or'ame'tale& 6 &e re%re&e'ta' media'te u' circulo 'egro 6 u' circulo 'egro
re&altado re&%ecti4ame'te.
Lo& e&tado& de u' diagrama de e&tado& %uede' a'idar&e) de *orma 2ue lo& e&tado&
relacio'ado& %uede' &er agru%ado& e' u' e&tado com%ue&to. !&to %uede &er 'ece&ario
cua'do u'a acti4idad i'4olucra &u/8acti4idade& a&7'cro'a& o co'curre'te&.
Fi8(ra %0: M54(ina "e Esta"!s9 esta"!s si7;-es
Fi8(ra %D: M54(ina "e Esta"!s9 esta"!s c!7;(est!s
COMPUTACIO ! I"O#MATICA
Tutorial de UML 22 de 27
Lo& diagrama& de acti4idade& &o' /0&icame'te diagrama& de *lujo ador'ado&) 2ue
guarda' muc(a &imilitud co' lo& diagrama& de e&tado&. Mie'tra& 2ue lo& diagrama& de
e&tado& ce'tra' &u ate'ci.' e' el %roce&o 2ue e&t0 lle4a'do a ca/o u' o/jeto) lo&
diagrama& de acti4idade& mue&tra' como la& acti4idade& *lu6e' 6 la& de%e'de'cia& e'tre
ella&.
Lo& diagrama& de acti4idade& %uede' di4idir&e e' ,calle&- 2ue determi'a' 2u+ o/jeto e&
re&%o'&a/le de 2u+ acti4idad. La& acti4idade& 4ie'e' u'ida& %or tra'&icio'e&) 2ue
%uede' &e%arar&e e' rama& e' *u'ci.' del re&ultado de u'a co'dici.' eE%re&ada e'tre
corc(ete&. Cada rama mue&tra la co'dici.' 2ue de/e &er &ati&*ec(a %ara 2ue el *lujo o%te
%or e&e cami'o. Igualme'te) la& tra'&icio'e& &e %uede' /i*urcar&e e' do& o m0&
acti4idade& %aralela&.
Fi8(ra %,: Dia8ra7a "e ActiEi"a"es
/$#$& C7! (ti-i2ar UML
UML e& &im%leme'te u' le'guaje de modelado. :e*i'e u' co'ju'to de eleme'to& 6
relacio'e& e'tre ello&) 2ue &e em%lea' e' la de*i'ici.' de modelo&. UML e& t7%icame'te
u&ado como %arte de u' %roce&o de de&arrollo) co' la a6uda de u'a (erramie'ta CA>!
COMPUTACIO ! I"O#MATICA
Tutorial de UML 2$ de 27
(Com%uter Aided >o*t1are !'gi'eeri'g)) %ara de*i'ir re2uerimie'to&) i'teraccio'e& 6
eleme'to& del &o*t1are 2ue &e e&t0 de&arrolla'do. UML e& i'de%e'die'te de cual2uier
%roce&o %articular) 'o e&t0 ligado a 'i'g5' ciclo de 4ida de de&arrollo del &o*t1are
co'creto) 'o o/&ta'te &e o/tie'e' ma6ore& /e'e*icio& &i &e &eleccio'a u' %roce&o 2ue
e&t+ dirigido %or Ca&o& de U&o) &e ce'tre e' la ar2uitectura 6 &ea i'creme'tal.
La ar2uitectura de u' &i&tema e& el co'ju'to de deci&io'e& &ig'i*icati4a& 2ue &e toma e'
tor'o a &u orga'i3aci.') la &elecci.' de eleme'to& e&tructurale&) la de*i'ici.' de la&
i'ter*ace& e'tre e&to& eleme'to&) &u com%ortamie'to) &u di4i&i.' e' &u/&i&tema&) 2u+
eleme'to& &o' e&t0tico& 6 cuale& di'0mico&. La ar2uitectura tam/i+' i'clu6e el u&o 2ue
&e le 4a a dar al &i&tema) la *u'cio'alidad) el re'dimie'to) la ca%acidad de ada%taci.') la
reutili3aci.') la ca%acidad de &er com%re'dido) la& re&triccio'e& eco'.mica&) la&
tem%orale&) lo& com%romi&o& e'tre alter'ati4a& 6 lo& a&%ecto& e&t+tico&.
U' %roce&o i'creme'tal e& a2u+l 2ue co'&i&te e' &uce&i4a& am%liacio'e& 6 mejora& de la
ar2uitectura) a %artir de u'a l7'ea /0&ica. Cada i'creme'to re&uel4e lo& %ro/lema&
e'co'trado& e' la 4er&i.' a'terior mi'imi3a'do i'creme'talme'te lo& rie&go& m0&
&ig'i*icati4o& %ara el +Eito del %ro6ecto.
Lo %rimero 2ue &e de/e (acer %ara come'3ar a de&arrollar u' %ro6ecto co' UML) e&
&eleccio'ar u'a metodolog7a de de&arrollo 2ue de*i'a la 'aturale3a co'creta del %roce&o
a &eguir. !l modelo a de*i'ir e' /a&e al %roce&o elegido) &e di4ide e' realidad e' 4ario&
ti%o& de modelo o 4i&ta&) cada u'a ce'trada e' u' a&%ecto o %u'to de 4i&ta del &i&tema.
!' ge'eral) i'de%e'die'teme'te del %roce&o 2ue &e em%lee) &e %uede e'co'trar la&
&iguie'te& 4i&ta&@
Kista "e Cas!s "e Us!: !'glo/a lo& Ca&o& de U&o 2ue de&cri/e' el
com%ortamie'to del &i&tema como lo 4er7a' lo& u&uario& *i'ale&) lo& a'ali&ta& 6
dem0& com%o'e'te& del e2ui%o de de&arrollo. o e&%eci*ica la orga'i3aci.' del
&i&tema. Co' UML lo& as;ect!s est5tic!s de e&ta 4i&ta &e %uede' co'cretar co'
lo& diagrama& de Casos de UsoL lo& as;ect!s "in57ic!s co' lo& diagrama& de
iteraci.' (secuencia 6 colaboracin)) diagrama& de estados 6 de actividades.
Kista "e DiseL!: !'glo/a la& cla&e& e i'ter*ace& 2ue co'*orma' el 4oca/ulario
del %ro/lema 6 &u &oluci.'. :a &o%orte a lo& re2ui&ito& *u'cio'ale& del &i&tema)
e& decir lo& &er4icio& 2ue %ro%orcio'a a lo& u&uario& *i'ale&. Co' UML lo&
as;ect!s est5tic!s de e&ta 4i&ta &e %uede' co'cretar co' lo& diagrama& de clases
6 de objetosL lo& as;ect!s "in57ic!s co' lo& diagrama& de iteraci.' (secuencia
6 colaboracin)) diagrama& de estados 6 de actividades.
Kista "e Pr!ces!s: !'glo/a lo& (ilo& 6 %roce&o& 2ue *orma' lo& meca'i&mo& de
&i'cro'i3aci.' 6 co'curre'cia del &i&tema. :a &o%orte al *u'cio'amie'to)
ca%acidad de crecimie'to 6 re'dimie'to del &i&tema. Co' UML lo& as;ect!s
est5tic!s de e&ta 4i&ta &e %uede' co'cretar co' lo& diagrama& de clases) de
clases activas 6 de objetosL lo& as;ect!s "in57ic!s co' lo& diagrama& de
iteraci.' (secuencia 6 colaboracin)) diagrama& de estados 6 de actividades.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 2= de 27
Kista "e Des;-ie8(e: !'glo/a lo& 'odo& 2ue *orma' la to%olog7a (ard1are
&o/re el 2ue &e ejecuta el &i&tema. :a &o%orte a la di&tri/uci.') e'trega e
i'&talaci.' de la& %arte& 2ue co'*orma' el &i&tema *7&ico. Co' UML lo& as;ect!s
est5tic!s de e&ta 4i&ta &e %uede' co'cretar co' lo& diagrama& despliegueL lo&
as;ect!s "in57ic!s co' lo& diagrama& de iteraci.' (secuencia 6 colaboracin))
diagrama& de estados 6 de actividades.
Kista "e I7;-e7entacin: !'glo/a lo& com%o'e'te& 6 arc(i4o& em%leado& %ara
(acer %o&i/le el &i&tema *7&ico. :a &o%orte a la ge&ti.' de co'*iguracio'e& de la&
di&ti'ta& 4er&io'e& del &i&tema) a %artir de com%o'e'te& 6 arc(i4o&. Co' UML
lo& as;ect!s est5tic!s de e&ta 4i&ta &e %uede' co'cretar co' lo& diagrama& de
componentesL lo& a&%ecto& di'0mico& co' lo& diagrama& de iteraci.' (secuencia
6 colaboracin)) diagrama& de estados 6 de actividades.
U' ejem%lo de %roce&o %ara la co'&trucci.' de u' %rograma) %odr7a &er &imilar al
&iguie'te) te'ie'do e' cue'ta 2ue el %roce&o de&crito deja muc(a& co&a& %or am%liar 6
%uede 'o ada%tar&e a la& 'ece&idade& %articulare& de u' gru%o de tra/ajo determi'ado.
>e %ro%orcio'a merame'te como u' ejem%lo de c.mo &e %uede e'cajar UML como
&o%orte %ara el de&arrollo de u' %ro6ecto@
1. I'iciar 6 ma'te'er reuniones co' lo& u&uario& *i'ale& del %rograma) %ara
com%re'der &u& 'ece&idade&) el co'teEto e' 2ue lo u&ar0' 6 todo& lo& detalle&
'ece&ario& %ara com%re'der el 0m/ito del %ro/lema a re&ol4er. !&ta i'*ormaci.'
&er0 em%leada %ara ca%turar la& acti4idade& 6 %roce&o& i'4olucrado& 6
&u&ce%ti/le& de &er i'cor%orado& e' el %rograma) a u' 'i4el alto) 6 %ro%orcio'ar0
la /a&e %ara co'&truir la 4i&ta de Ca&o& de U&o.
2. Co'&truir la vista de Casos de Uso de*i'ie'do eEactame'te la *u'cio'alidad 2ue
&e 4a a i'cor%orar e' el %rograma) de&de el %u'to de 4i&ta de &u& u&uario&. !l
modelo re&ulta'te e& realme'te u' ma%eo de la i'*ormaci.' o/te'ida e' el %a&o
a'terior) e' el 2ue cada 'ue4o Ca&o de U&o reali3a u' a&%ecto de la
*u'cio'alidad %la'teada. #e*i'ar) e' co'ju'to co' lo& u&uario& *i'ale&) todo& lo&
diagrama& de Ca&o& de U&o) i'clu6e'do re2ui&ito& 6 re&triccio'e&) %ara llegar a
u' acuerdo com5' e' lo 2ue el %rograma (ar0 6 'o (ar0. !' e&te %u'to %uede &er
co'4e'ie'te di&eDar e&ce'ario& de %rue/a 2ue a6ude' a 4eri*icar &i el %rograma
*i'ali3ado cum%le co' la& eE%ectati4a& del co'trato.
$. Partie'do del modelo de Ca&o& de U&o &e comie'3a a e&tructurar lo& re2ui&ito&
e' u'a ar2uitectura llamada ,l7'ea /a&e-. >e de*i'e' cla&e& 6 relacio'e& e'tre
ella&) lo& %rimero& diagrama& de &ecue'cia 6 cola/oraci.') de*i'ie'do lo&
com%ortamie'to& de cada cla&e) tam/i+' la& i'ter*ace& e'tre lo& di*ere'te&
eleme'to& de la ar2uitectura. >e co'&tru6e a2u7 la vista de dise+o 6 la vista de
procesos. Co'&truir diagrama& de cla&e& m0& ela/orado& 6 re*i'ar lo&
com%ortamie'to& del &i&tema.
=. A medida 2ue crece el modelo &e %uede *raccio'ar e' com%o'e'te& &o*t1are 6
%a2uete&. A%arece' 'ue4o& re2ui&ito& 2ue de/e' &er i'tegrado&. >e de*i'e la
vista de despliegue) 2ue de*i'e la ar2uitectura *7&ica del &i&tema) 6 la vista de
implementacin.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 2; de 27
;. Co'&truir el &i&tema) re%artie'do la& tarea& e'tre el e2ui%o de %rogramaci.'.
<. Cu&car errore& de %rogramaci.') o i'clu&o de di&eDo) corregirlo& e ir &aca'do
&uce&i4a& 4er&io'e& del %rograma (a&ta llegar a u'a 4er&i.' 2ue cum%la co'
todo& lo& re2ui&ito& e&%eci*icado& e' el co'trato co' lo& u&uario&.
7. :ocume'tar 6 e'tregar el %rograma a lo& u&uario& *i'ale&.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 2< de 27
L!s ti;!s "e Dia8ra7as UML
0$& Re1erencias
Frad6 Cooc() Hame& #um/aug() I4ar Haco/&o') (1BB<) .l /enguaje Unificado de
0odeladoPAddi&o' We&le6.
>c('eider F.) Wi'ter& H.P.) (2991) &ppl)ing Use Cases: & 1ractical 2uide) Addi&o'
We&le6.
COMPUTACIO ! I"O#MATICA
Tutorial de UML 27 de 27
COMPUTACIO ! I"O#MATICA

Você também pode gostar