uml 2 - udgima.udg.edu/~sellares/einf-es2/prsent0910/apuntsuml2.pdf · els paquets es representen...
TRANSCRIPT
![Page 1: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/1.jpg)
UML2.0
JordiOliverasRovira–u1060213
MarcVerdaguerGinestera–u1063616
![Page 2: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/2.jpg)
DiagramadepaquetsEls diagrames de paquets s’utilitzen per a reflectir l’organització de paquets i els seus
elements.Quans’utilitzenperarepresentacions,elsdiagramesdepaquetsdelselementsdeclasses’utilitzenperamostrarunavisualitzaciódel’espaidenoms.Elsusosméscomunsperalsdiagramesdepaquetssónorganitzarelsdiagramesdecasosd’úsidiagramesdeclasse,toti
queelseuúsnoeslimitaaaquestselementsdeUML.
Elsegüentésunexempledediagramadepaquets:
Els elements continguts en un paquet comparteixen el mateix espai de noms, el fet decompartir un espai de noms requereix que els elements continguts en un mateix espai de
nomshagindeserúnics.
Els paquets es poden construir per representar relacions tant físiques com lògiques. Quans’escull incloure una classe a un paquet específic, és útil assignar les classes de la mateixajerarquia d’herència al mateix paquet. Les classes que estan relacionades a través d’una
composició i lesclassesquecol∙laborentambétenenunfortargumentperser inclosesenelmateixpaquet...
![Page 3: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/3.jpg)
Els paquets es representen en UML 2.0 com a carpetes i contenen els elements quecomparteixen un espai de noms; com s’ha dit anteriorment, tots els elements dintre d’unpaquethande tenir un identificadorúnic. El paquethademostrar el nomdel paquet i pot
mostraropcionalmentelselementsdintredelpaquetencompartimentsextres.
CombinaciódepaquetsQuanun connector <<merge>> s’utilitza enunpaquet, la font de la combinació importa els
contingutsimportatsianiuatsdeldestí.Siexisteixunelementdintredel’origenieldestí,lesdefinicions de l’element origen s’expandiran per incloure les definicions de l’elementcontingutseneldestí.Totselselementsagregatsoactualitzatsperunacombinacióesdenoten
perunarelaciódegeneralitzaciódesdel’origenfinseldestí.
ImportaciódepaquetsEl connector <<import>> indica que els elements dintre del paquet destí, que en l’exempleanterior és una sola classe, s’importaran al paquet d’origen. L’espai de noms del paquetd’origenguanyaràaccésalaclasse/sdedestí;l’espaidenomsdedestínoesveuràafectat.
ConnectorsniatsElconnectorniatentreelpaquetdestíielpaquetorigenreflexaelquemostrenelscontingutsdelpaquets.
![Page 4: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/4.jpg)
![Page 5: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/5.jpg)
DiagramadeclassesEldiagramadeclassemostraelsblocsdeconstrucciódequalsevolsistemaorientataobjectes.
Elsdiagramesdeclassedescriuenlavistaestàticadelmodelopartdelmodel,descrivintquinsatributsicomportamentstenenenllocdedetallarelsmètodesperarealitzaroperacions.Elsdiagrames de classe són més útils per a il∙lustrar relacions entre classes i interfícies. Les
generalitzacions, agregacions i associacions són totes valuoses al reflectir herències,composicionsoús,iconnexionsrespectivament.
Elsegüentdiagramail∙lustrarelacionsd’agregacióentreclasses.Laagregació,quetélapuntade fletxa en color més clar, indica que la classe Account usa AddressBook, però no
necessariamentcontéunainstànciad’aquest.Lasagregacionscompostescomposicions),ambunapuntadefletxamésfosca,indicalapertinençaocontenciódelesclassesd’origenperlesclassesdesti,perexempleelsvalorsContactiContactGroupestancontingutsaAddressBook.
ClassesUna classe és un element que defineix els atributs i comportaments que un objecte podràgenerar. El comportament es el que es descriu per possibles missatges que la classe pot
comprendre conjuntamentamb lesoperacionsque sónapropiadesper a cadamissatge. Lesclassespodentambécontenirdefinicionsdevalorsetiquetatsderestriccionsiestereotips.
NotaciódeclasseLesclasseses representenper rectanglesquemostrenelnomde laclasse iopcionalmentelnomdelesoperacionsiatributs.Elscompartimentss’utilitzenperdividirelnomdelaclasse,
atributs i operacions. Addicionalment les restriccions, valors inicials i paràmetres es podenassignaralaclasse.
En el següent diagrama la classe conté el nom de la classe en el compartimentmés alt, elcompartiment següent llista els atributs, amb l’atribut “center” mostrant els valors inicials.
L’últimcompartimentmostralesoperacions, lesoperacionssetWidth,setLengthisetPositionmostrantelsseusparàmetres.Lanotacióqueprecedeixelnomdel'atributooperacióindicalavisibilitat de l'element, si s'usa el símbol + l'atribut o l'operació tenen un nivell públic de
visibilitat, sies fa servirunsímbol ‐ l'atributooperacióésprivat.Amés,el símbol#permetdefinirunaoperacióoatributcomprotegitielsímbol~indicalavisibilitatdelpaquet.
![Page 6: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/6.jpg)
InterfíciesUna interfície és una especificació que els implementadors han acordat realitzar. És uncontracte.Siesrealitzaunainterfície,esgaranteixquelesclassessuportinuncomportament
requerit,quepermetqueelsistematractielselementsnorelacionatsdelamateixamanera‐ésadiratravésdelainterfíciecomuna.
Les interfícies es poden dibuixar en un estil similar al d'una classe, amb operacions
especificadescomesmostraacontinuació.Tambéespodendibuixarcomuncercleambcapoperacióexplicitadetallada.Quanesdibuixencomuncercle,esdibuixenvinclesderealitzacióalaformadecercledelanotaciósensefletxesdedestí.
TaulesUnataulaésunaclasseestereotipada(novaaUML2.0).Aixòesdibuixaambunapetitaiconade la taula a la cantonada superior dreta. Els atributs de la taula són «columnes»
estereotipades.Lamajoriade les taules tenenunaclauprimària, iunoméscampsdelsqueformenunacombinacióúnicausadaperaccedir la taula,mésunaoperaciódeclauprimàriaque és «PK» estereotipada. Algunes taules tindran una omés claus foranes, sent un omés
campsquejuntstracenaunaclauforanaenunataularelacionada,mésunaoperaciódeclauforanaqueés«FK»estereotipada.
![Page 7: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/7.jpg)
AssociacionsUna associació implica que dos elements del model tenen una relació ‐ normalment
implementada comunavariabled'instànciad'una classe.Aquest connectorpot incloure rolsnomenats a cada extrem, cardinalitat, direcció i restriccions. Una associació és el tipus derelaciógeneralentreelements.Peramésdedoselements,unelementdelacaixad'einesde
representaciódiagonaltambéespotutilitzar.Quanesgeneracodiperadiagramesdeclasse,lesassociacionsesconverteixenenvariablesd'instànciaalaclassededestí.
GeneralitzacionsUnageneralitzacióesfaservirperindicarherència.Dibuixadadesd'unclassificadorespecíficaunclassificadorgeneral, la implicaciógeneralésquel'origenhereta lescaracterístiquesde la
destinació. El següent diagrama mostra una classe pare generalitzant una classe fill.Implícitament,unobjecteinstànciadelaclasseCercletindràelsatributsx_position,y_positioniradiusiunmètodedisplay().TenirencomptequelaclasseShapeésabstracta,mostradapel
nomencursiva.
Elsegüentdiagramamostraunavistaequivalentdelamateixainformació.
![Page 8: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/8.jpg)
AgregacionsLesagregacionsesfanservirperdescriureelementsqueestancompostosdecomponentsméspetits. Les relacions d'agregació esmostrenper unapunta de fletxa amb formadediamantapuntantcapaladestinacióoclassepare.
Una formamés forta d'agregació ‐ una agregació composta ‐ esmostra per una fletxa amb
forma de diamant negre i s'usa on els components es poden incloure en un màxim d'unacomposicióa lavegada.Sielpared'unaagregaciócompostas'elimina,normalmenttotes lesseves parts s'eliminen amb el mateix, però una part pot ser individualment eliminada des
d'una composició sense haver d'eliminar tota la composició. Les composicions són relacionstransitives,asimètriquesipodenserrecursives.
Elsegüentdiagrama il∙lustra ladiferènciaentreagregacionsforts i febles.Un llibred'adrecesaquestaconformatdemúltiplescontactesigrupsdecontacte,uncontacteespotincloureen
més d'un grup de contacte. Si esborreu un llibre d'adreces, tots els contactes i grups decontactess'eliminarantambé,sieliminaungrupdecontacte,capcontactes'eliminarà.
ClasseAssociacióUna classe associació és una estructura que permet una connexió d'associació per tenirconnexions i atributs. El següent exemplemostra que hi hamés al ubicar un empleat a unprojectequeenferunvincleassociaciósimpleentreduesclasses:elrolquel'empleattéenun
projecte és una entitat complexa i conté detalls que no pertanyen a l'empleat o classe del
![Page 9: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/9.jpg)
projecte.Perexemple,untreballadorpotestartreballantenmoltsprojectesalmateixtempsi
tenendiferentstítolsdetreballinivellsdeseguretat.
DependènciesUnadependènciaesfaservirpermodelarunaltrangderelacionsdependentsentreelementsdelmodel.Aixòesfariaservirnormalmentaviatenelprocésdedissenyonesconeixquehihaalguntipusdevincleentredoselementsperòésmoltaviatpersaberexactamentquinaésla
relació. Després en el procés de disseny, les dependències seran estereotipades (elsestereotips disponibles inclouen <<instanciar>>, <<traçar>>, <<importar>> i altres) oreemplaçarambuntipusdeconnectormésespecífic.
TraçatLarelaciódetraçatésunaespecialitzaciód'unadependència,vinculantelementsdelmodeloconjuntsd'elementsquerepresenten lamateixa ideaa travésdelsmodels.Els traçatses fan
servirsovintperrastrejarcanvisderequisitsidelmodel.Comqueelscanvispodenocórrerenduesdireccions, l'ordred'aquestadependènciausualment s'ignora. Lespropietatsde relaciópodenespecificar l'assignacióde traçat, peròel traçat ésusualmentbidireccional, informal i
raramentcomputable.
RealitzacionsL'objecte font implementa o realitza el destí. Realitzar s'usa per expressar traçabilitat iintegritatenelmodel‐unprocésdenegociorequisitsesrealitzaperunoméscasosd'úsqueal seu tornes realitzenperun component, etc.Assignant requisits, classes, etc. a travésdel
disseny del sistema, cap amunt a través dels nivells d'abstraccions del model, assegura lesimatgesgransdel seusistema, recorda i reflecteix totes les imatgespetites idetallaaquestarestriccióiladefineix.Unarelacióesmostracomunalíniadetraçosambunapuntadefletxa
sòlidail'estereotip<<realizar>>.
![Page 10: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/10.jpg)
NiamentUn niament és un connector que mostra que l'element font es troba dins de l'element
destinació.Elsegüentdiagramamostraladefiniciód'unaclasseinternatotiqueésmésusualmostrar‐losperlasevaposicióenlajerarquiadelavistadelProjecte.
![Page 11: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/11.jpg)
Diagramad'objectesUn diagrama d'objectes es pot considerar un cas especial d'un diagrama de classe. Els
diagramesd'objectesusenunsubconjuntd'elementsd'undiagramadeclasseperemfatitzarlarelació entre les instàncies de les classes en algun punt en el temps. Aquests són útils perentendreelsdiagramesdeclasses.Aquestsnomostrenresdiferentenlasevaarquitecturaals
diagramesdeseqüència,peròreflecteixenmultiplicitatirols.
ElementsdeclasseiobjecteElsegüentdiagramamostralesdiferènciesenaparençaentreunelementclasseiunelement
objecte. Cal tenir en compte que l'element classe consisteix de tres parts, dividides encompartiments de noms, atributs i operacions, per defecte, els elements objectes no tenencompartiments. L'exhibició dels noms és també diferent: els noms dels objectes estan
subratllatsipodenmostrarelnomdelclassificadordesdelquall'objecteesinstància.
Estatentempsd'execucióUn element classificador pot tenir qualsevol nombre d'atributs i operacions. Aquests esmostren en una instància objecte. No obstant això, és possible definir l'estat en tempsd'execuciódel'objecte,mostrantunconjuntdevalorsd'atributsenlainstànciaparticular.
ExemplesdediagramesdeclasseiobjecteElsegüentdiagramamostraundiagramaobjecteamblasevaintercalaciódeclassedefinida,i
il∙lustralaformaenlaqualundiagramaobjecteespotutilitzarperprovarlesmultiplicitatsdetasques en els diagrames de classe. La classe car té multiplicitat d'una a molts a la classewheel,peròsienelseullocestriaunamultiplicitatd'1a4,aixònohauriapermèsunaclasse
carambtresclasseswheelcomesmostraaldiagramaobjecte.
![Page 12: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/12.jpg)
![Page 13: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/13.jpg)
Diagramesd'EstructuraComposta(NouaUML2.0).Undiagramad'estructuracompostaésundiagramaquemostral'estructura
interna d'un classificador, incloent els seus punts d'interacció amb altres parts del sistema.Això mostra la configuració i relació de les parts que juntes realitzen el comportament declassificadorcontingut.
Elselementsdeclassehanestatdescritsengrandetallalaseccióenelsdiagramesdeclasse.
Aquesta secció descriu la forma en què les classes es poden mostrar com a elementscompostosexposantinterfíciesicontenintportsiparts.
PartUnapart ésunelementque representaun conjuntd'unaomés instànciesquepertanyena
unainstànciadelclassificadorcontinguda.Perexemple,siunainstànciadediagramas'apropiad'unconjuntd'elementsgràfics,despréselsestrispodenrepresentarcomparts,siésútil feraixòpermodelaralguntipusderelacióentreells.Tenirencomptequeunapartespottreure
delsseusparesabansqueelpares'elimini,perquèlapartnos'eliminialmateixtemps.
Una part es mostra com un rectangle no adornat dins del cos d'una classe o de l'elementcomponent.
PortUn Port és un element escrit que representa una part visible externa d'una instància delclassificadorcontingut.Elsportsdefineixenlainteraccióentreunclassificadorielseuentorn.Unportpotaparèixerenellímitdelapartcontinguda,unaclasseounaestructuracomposta.
Unportpotespecificarelsserveisqueunclassificadorproveeixaixícomtambéelsserveisqueaquestrequereixdelseuentorn.
![Page 14: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/14.jpg)
Un Port es mostra com un rectangle nomenat a la vora del límit de la seva classificador
apropiat.
InterfíciesUnainterfícieéssimilaraunaclasseperòambunnombrederestriccions.Toteslesoperacionsdelainterfíciesónpúbliquesiabstractes,inoproveeixencapimplementacióperdefecte.Tots
elsatributsde la interfíciehandeserconstants.Noobstantaixò,mentrequeunaclassepotnomésheretard'unasolasuperclasse,potimplementarinterfíciesmúltiples.
Unainterfície,quanestasolaenundiagrama,esmostracomunrectangledel'elementclasseamblaclau«interface»iambelseunomencursivaperdenotarqueésabstracte,oesmostra
comuncercle.
Tenirencompteque lanotaciódelcerclenomostra lesoperacionsde la interfície.Quan les
interfícies es mostren com si fossin apropiades per les classes, es refereixen a elles cominterfícies exposades. Una interfície exposada es pot definir comproveïda o requerida. Unainterfície proveïda és una afirmació que el classificador contingut proveeix a les operacions
definidesperl'elementdelainterfícienomenadaiesdefineixdibuixantunvinclederealitzacióentre la classe i la interfície. Una interfície requerida és un estat que el classificador potcomunicarambalgunaltreclassificadorqueproveeixoperacionsdefinidesperl'elementdela
interfície nomenada i es defineix dibuixant un vincle de dependència entre la classe i lainterfície.
Unainterfícieproveïdaesmostracomuna"pilotaenunpal"adjuntadaalavorad'unelementclassificador.Unainterfícierequeridaesmostracomuna"copaenunpal"adjuntadaalavora
d'unelementclassificador.
![Page 15: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/15.jpg)
DelegarUnconnectordelegaresfaservirperdefinirelstreballsinternsdelsportsiinterfíciesexternes
delcomponent.Unconnectordelegaresmostracomunafletxaambunestereotip«delegar».Això connecta un contracte extern d'un component com es mostra pels seus ports a larealitzacióinternadelcomportamentdelapartdelcomponent.
Col·laboracióUna col∙laboració defineix un conjunt de rols cooperatius usats col∙lectivament per il∙lustrar
una funcionalitatespecífica.Unacol∙laboracióhauriadenomésmostrarels rols ielsatributsrequeritsperaconseguir les seves tasqueso funcionsdefinides.Aïllarels rolsprimarisésunexercici de simplificar l'estructura i classificar el comportament, i també proveeix per poder
reutilitzar‐lo.Unelementcol∙laboraciósovintimplementaunpatró.
Unelementcol∙laboracióesmostracomunel∙lipse.
![Page 16: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/16.jpg)
EnllaçdeRolsUnconnectorenllaçderolsesdibuixadesd'unacol∙laboracióaunclassificadorquecompletaelrol.Aixòesmostracomunalíniadetraçosambunapuntadefletxail'estereotip«role».
RepresentaUnconnectorrepresentaespotdibuixardesd'unacol∙laboracióaunclassificadorpermostrarque una col∙laboració s'usa en el classificador. Es mostra com una línia de traços amb unapuntadefletxail'estereotip«represents».
OcurrènciaUnconnectorocurrènciaespotdibuixardesd'unacol∙laboracióaunclassificadorpermostrar
que la col∙laboració representa el classificador. Això es mostra com una línia de traços il'estereotip«occurrence».
![Page 17: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/17.jpg)
![Page 18: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/18.jpg)
DiagramesdecomponentsElsdiagramesdecomponentsil∙lustrenlespecesdelprogramari,controladorsembedded,etc.
que conformaranun sistema.UndiagramadeComponents té unnivellmés alt d'abstraccióqueundiagramadeclasse‐usualmentuncomponents'implementaperunaomésclasses(oobjectes) en temps d'execució. Aquests són blocs de construcció, com eventualment un
componentpotcomprendreunagranporciód'unsistema.
Eldiagramade sotamostraalgunscomponents i les seves relacions internes.Els connectorsensamble 'vinculen' les interfíciesproporcionadessubministradapelproducte ielClienta lesinterfíciesrequeridesespecificadesperordre.Unarelaciódedependènciatraçaelsdetallsdel
compteassociatdelclientalainterfícierequerida,'pagament',indicadaperordre.
Elselementssimilarsenpràcticaalsdiagramesdepaquetielslímitsdefinitsiesfanservirperagrupar elements en estructures lògiques. La diferència entre diagrames del paquet idiagrames de component és que els diagrames de component ofereixen un mecanisme
d'agrupamentmésricsemànticament.Ambelsdiagramesdecomponenttotselselementsdelmodelsónprivatsmentrequeelsdiagramesdelpaquetnomésmostrensubjectepúblics.
RepresentantcomponentsEls components es representen com un classificador rectangular amb la clau «component»,opcionalmentelcomponentespotmostrarcomunrectangleambunaiconadecomponenta
lacantonadadretaadalt.
![Page 19: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/19.jpg)
InterfíciesrequeridesEl connector ensamble uneix la interfície requerida del component (Component1) amb lainterfícieproporcionadad'unaltrecomponent(Component2),aixòpermetqueuncomponentofereix els serveis que un altre component requereix. Les Interfícies són col∙leccions d'un o
mésmètodesquepodenonoconteniratributs.
ComponentsambportsUtilitza ports amb diagrames de components permet que s'especifiqui un servei o
comportament al seuentorn així com tambéun servei o comportamentqueun componentrequereix. Els ports poden especificar entrades, sortides així com també operarbidireccionalment. El següentdiagramadetalla un component ambunport per a serveis En
LíniaconjuntamentambduesinterfíciesproporcionadesOrdenarEntradaiSeguimentaixícomtambéunainterfícierequeridaPagament.
![Page 20: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/20.jpg)
DiagramadedesplegamentUndiagramadedesplegamentmodela l'arquitecturaentempsd'execuciód'unsistema.Això
mostra la configuració dels elements de maquinari (nodes) i mostra com els elements iartefactesdelprogramariestracenenaquestsnodes.
NodeUnnodeésunelementdemaquinarioprogramari.Aixòesmostraamblaformad'unacaixaentresdimensions,comacontinuació.
InstànciadeNodeUnainstànciadenodeespotmostrarenundiagrama.Unainstànciaespotdistingirdesd'un
nodepelfetqueelseunomestàsubratllat itédospuntsabansdeltipusdenodebase.Unainstància pot o no tenir un nom abans dels dos punts. El següent diagrama mostra unainstàncianomenadad'unordinador.
EstereotipdeNodeUn nombre d'estereotips estàndard es proveeixen per als nodes, anomenats «cdrom", "CD‐
ROM","computer","diskarray»,«pc»,«pcclient»,«pcserver","secure»,«server","storage,«unixserver","userpc».Aquestsmostraranunaiconaapropiatalacantonadadretaadaltdelsímbolnode.
ArtefacteUnartefacteésunproductedelprocésdedesenvolupamentdeprogramari,quepotincloureelsmodelsdelprocés(perexemplemodelsdeCasosd'Ús,modelsdeDisseny,etc.),Codifont,executables,documentsdedisseny,reportsdeprova,prototips,manualsd'usuariimés.
![Page 21: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/21.jpg)
Unartefacteesdenotaperunrectanglemostrantelnomdel'artefacte,l'estereotip"Artifact"i
unaiconadedocument,comacontinuació.
AssociacióEn el context del diagrama de desplegament, una associació representa una ruta decomunicacióentreelsnodes.Elsegüentdiagramamostraundiagramadedesplegamentpera
unaxarxa,mostrantelsprotocolsdexarxacomestereotipsitambémostrantmultiplicitatsenelsextremsdel'associació.
NodecomacontenidorUnnodepot contenir altreselements, coma componentsoartefactes. El següentdiagrama
mostra un diagrama de desplegament per a una part del sistema encastat i mostra unartefacteexecutablecomacontingutpelnodemare(motherboard).
![Page 22: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/22.jpg)
![Page 23: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/23.jpg)
DiagramesdeCasd’ÚsElmodeldecasosd’ússerveixperesquematitzarelsrequerimentsd’unsistema.Sónunmitjà
decomunicacióambelsusuarisialtresinteressatssobreelqueespensaferdelsistema.
ActorsEnundiagramadecasosd’úsesmostra la interaccióentreel sistema ientitatsexternesdel
sistema.Aquestesentitatsexternessónelsactors,quepodenrepresentardiferentsrols (desd’unhumàfinsaunhardwareextern).
Espodenrepresentar(larepresentacióenformadecaixaésnovadel’UML2):
Elsactorstambépodentenirrelacionsd’especialització/generalitzacióambherència.Onels
actorsdescendentsheretenelsrolsilescomunicacionsambelscasosd’úspròpiesdelpare.
Aquestesrelacionsesrepresenten:
Casosd’ÚsÉs una unitat de treball que dóna una visió d’alt nivell del comportament del sistema.Normalmentesnombrencomunafraseverbaliselidónaunadescripciótextualinformal.Es
representamitjançantunel∙lipsecom:
![Page 24: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/24.jpg)
La notació per utilitzar un cas d’ús és una línia de connexió que uneix l’actor i el cas d’ús.
Exemple:
A més, si es vol es poden posar valors als extrems de la línia de connexió per designar lamultiplicitatde la relació (tenenun funcionament igualqueeneldiagramadeclasses,ésun
afegitdel’UML2).Comara:
Onespotveurequeunclientnoméspottenirunasessióderetiralavegadaencanvielbancenpottenirmésd’una.
EscenarisÉsunrecorregutespecíficd’uncasd’ús.Cadacasd’ústéunescenariprincipal,onsesuposaquetotfuncionaràidealment(senseerrors,alternativesniinterrupcions).
Encasosd’usosméscomplexospothaver‐hiescenarissecundaris,alternativesdelprincipal.
RelacionsEnuncasd’úshipodenhaver3tipusderelacions:
• Inclusió ( << include>> ): Permet incorporarexplícitamentel comportamentd’altrescasosd’úscomafragmentsdelseupropicomportament.Enl’exempledesotaespot
veurecomlaretiradadedinersdelbancpotinclourelaidentificaciódelatargeta.
![Page 25: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/25.jpg)
• Extensió(<<extend>>):Uncasd’úsAespotdefinircomunaextensióopcionald’un
altrecasd’úsB.Ésadir,dinsdelcasd’úsBs’executaAquanescompleixunacondiciódeterminada. En la imatge de sota es pot veure un exemple on, per exemple, permodificar un tipus d’ordre particular del client cal obtenir una aprovació d’una
autoritatsuperior.Pertantpotserqueelcasd’ús“GetApproval”siguiunaextensiódelcasd’ús“ModifyOrder”oqueno.
Apart(comanovacaracterísticade l’UML2),enunaextensióse lipotespecificar lacondició que fa que aquesta es produeixi a partir d’un punt d’extensió. Per
representar‐hos’afegeixunanotaalarelacióposant‐hi:condition:{condició}Extensionpoint:puntExtensió
oncondicióéslacondicióques’hadecomplirperquècalguiagregarelcasd’úsextès i onpuntExtensió és el punt d’extensió que ens diu quina extensió calexecutar.
Apart,alcasd’úsqueabanshemanomenatB(elquetéextensionsquederivend’ell),
selirepresentaelpuntd’extensióescrivintunalíniahoritzontalasotadeltextdelcasd’ús (com un subratllat) i escrivint a sota d’aquesta línia Extension points: i a sotad’aquestadeclaraciócaldràescriure‐hipuntExtensió(onpuntExtensióéselmateixque
s’haexplicatanteriorment).Enlafigurasegüentesmostrauncasd’úsonesveuquepermostrar l’ajuda on‐line cal estar fent una transacció i durant la fase de selecciól’usuarihaescollitl’ajuda.
![Page 26: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/26.jpg)
• Generalització(<<generalize>>):Unageneralitzaciód’uncasd’úsmostraqueuncas
d’ús A és un tipus especial d’un altre cas d’ús B. És a dir, el cas d’ús A fa tots elsprocessosdelcasd’úsBmésalgunaltred’específic.
LímitdelsistemaNormalmentperrepresentarelsdiagrameselscasosd’ús,esdibuixaunlímitontotselscasosd’úsestrobenalseuinteriorielsactorsalseuexterior,comperexemple:
![Page 27: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/27.jpg)
Diagramesd’activitatEls diagrames d’activitat es centren en el flux d’activitats involucrades en un procés,
generalmentdinsdelmarcd’unodiversoscasosd’ús.Undiagramad’activitatsmostraenquinordres’executenlespartsdelprocésicomdepenenunesdelesaltres.
ActivitatsUna activitat és l’especificació d’una seqüència parametritzada de comportament, esrepresentamitjançantun rectangleamb lespuntesarrodonidesdinsdelqualesdibuixaràeldiagramad’activitat.
AccionsUnaacciórepresentaunpasdinsd’unaactivitat.Tambéesdenotencomarectanglesambles
puntesarrodonidesiadintreseucontenenuntextquedescriul’acció.
Restriccionsd’Acció(novesenUML2)Aunaaccióselipodenadjuntarrestriccionsenformadeprecondicióipostcondiciólocals.Perfer‐hoseliassignaunanotaamblanotació<<localPreCondition>>o<<localPostCondition>>itotseguitentreclaus{}selidescriulaprecondicióolapostcondiciólocals.
![Page 28: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/28.jpg)
FluxdeControlMostraelfluxdecontrolentreduesaccions,esrepresentaambunafletxa.
NodeInicialElnodeinicialrepresental’inicideldiagramad’activitats,esrepresentaambcerclenegra.
NodeFinalHihadostipusdenodesfinals,elsnodesfinalsd’activitatielsnodesfinalsdeflux.Elsnodesfinalsd’activitatesrepresentenambuncercleambunpuntalseuinteriorielsnodesfinalsdefluxesrepresentencomuncercleambunacreualseuinterior.
![Page 29: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/29.jpg)
La diferència entre ells és que el node final de flux només denota el final d’un sol flux de
control, en canvi, el node final d’activitat denota el final de tots els fluxos finals dins del’activitat.
Fluxosd’ObjectesiObjecte(nousenUML2)Unfluxd’objecteéslarutaperlaqualpodenpassarobjectesodades.Elsobjectesesmostrencomunrectangle:
Elsfluxosd’objecte, igualqueelsfluxosdecontrolesrepresentenmitjançantfletxes.Unflux
d’objectehadetenirunobjectealmenysenundelsseusextrems,espodenrepresentardeduesformes:
NodesdeDecisióiCombinacióTenenlamateixaforma,unrombe.Atotsdosse’lshipotassignarunnom,apart,elsfluxosdecontrol que surten d’un node de decisió tindran condicions (representades entre []) quepermetranqueelfluxflueixiperlabrancaperlaquelacondicióescompleix.
![Page 30: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/30.jpg)
NodesdeBifurcacióid’UnióTotes dues es representen o bé a partir d’una barra horitzontal o bé d’una de vertical (la
orientaciódepèndeladirecciódelflux).
La unió és diferent que una combinació, ja que la unió sincronitza els fluxos d’entrada iprodueix un sol flux de sortida.Aquest flux de sortidanoespot executar fins quenohaginarribat els fluxosd’entrada. En canvi enuna combinació, qualsevol fluxpassadirectament a
travésd’aquesta.
Regiód’Expansió(novesenUML2)És una regió d’activitat estructurada que s’executa moltes vegades. Els nodes d’expansió
d’entrada i de sortida es dibuixen com un grup de 3 caselles (representant una selecciómúltipled’ítems).Laclaureiterativa,paral∙lelofluxesrepresentaalazonasuperiordretadelaregió.
![Page 31: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/31.jpg)
Gestorsd’Excepció(novesenUML2)En els diagrames d’activitat també s’hi podenmodelar excepcions. Es representen ambunafletxaambformadellamp.
Regiód’ActivitatInterrompible(novesenUML2)Una regió d’activitat interrompible rodeja un grup d’accions que es poden interrompre. Enl’exemple següent es veu que l’acció processar odre s’executarà fins que al complir‐se es
tancarà l’odre, a no ser que es cancel∙li la petició que llavors passarà a l’acció de cancel∙larl’odre.(Comesveualafigura,lesinterrupcionsesrepresentenambunafiguradebandereta).
![Page 32: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/32.jpg)
ParticióUna partició d’una activitat es mostra com carrers horitzontals o verticals. S’utilitzen persepararaccionsrealitzadesperdiferentsactors.
![Page 33: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/33.jpg)
Diagramad’EstatsUn diagrama d’estats modela el comportament d’un sol objecte, especificant la seqüència
d’eventsqueaquesttravessadurantelseutempsdevida.
Enlafigurasegüentesmostraeldiagramad’estatsd’unaporta.Aquestapotestaren3estatsdiferents, oberta, tancada o bloquejada. A part, una porta es pot tancar quan està oberta,obrirobloquejarquanestàtancadaidesbloquejarquanestàbloquejada.Caltenirencompte
quelaportanomésespodràtancarsitévialliure(nohihaobjectesalmigdelatrajectòriadetancar‐la).
EstatsUnestatesdenota comun rectangleamb lespuntesarrodonides i ambel seunomescrit adins.
EstatsInicialiFinalComeneldiagramad’activitatl’estatinicialesrepresentacomuncerclenegreielfinalcomun
cercleambunpuntnegrealmig.Totsdosespodennombrar.
![Page 34: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/34.jpg)
TransicionsLestransicionsdesd’unestatcapaunaltreesdenotenambfletxes.Aquestespodentenirundisparador(lacausadelatransició,podriaserunasenyal,unevent,etc.),unguarda(Condició
quehadeserverdaderaperquèeldisparadorcausilatransició)iunefecte(Ésunaaccióqueescridaràdirectamental’objectequetélamàquinad’estatcomaresultatdelatransició).Alafiguraespotveurecomesrepresenten.
Accionsd’Estat(NovesenUML2)Elsefectesqueespodenassignaralestransicions,tambéespodenassignaralsestats.Aixòésútilsiperexempleunestattémoltestransicionsd’entradaitotesellestenenelmateixefecte,aixínocalposar‐loa totes les transicions in’hihaprouposant‐loa l’estat.Podenposar‐s’hi
efectesd’entradaidesortida,aldibuixespotveurecomesrepresenten.
TransicionsRecursivesUnestatpottenirunatransicióqueretornaalmateixestat.
![Page 35: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/35.jpg)
EstatsCompostosUn diagrama d’estats pot tenir inclosos dins d’ell altres diagrames d’estats. Es podenrepresentar de dues formes. A continuació hi ha dos diagrames equivalents, escrits en
cadascunadelesformes:
![Page 36: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/36.jpg)
Puntd’EntradaAvegadesnoesvolqueescomencienunestat inicialnormal.Peraixòexisteixenelspuntsd’entrada(representatscomunacircumferència).Enelsegüentexempleespotveurequeelnormal seria començar a l’estat inicial però per si alguna raó no fos necessari realitzar la
inicialitzaciópodríemcomençarpelpuntd’entradaicomençarjaal’estat“Ready”.
Aunnivellsuperiorespodriarepresentarcom:
![Page 37: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/37.jpg)
PuntdeSortidaIgualquepelque faapuntsd’entrada tambéespoden ferpuntsdesortida.Es representencomunacircumferènciaambunacreuadins.
PseudoEstatEscollirEsrepresentamitjançantunrombeitéunatransicióentranti2omésdesortida.Serveixperdirigirelfluxdeldiagramacapaunestatsegonsalgunaguardaenlatransició.
![Page 38: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/38.jpg)
PseudoEstatUnióUtilitzatsperunirtransicionsmúltiples.Pottenirunaoméstransicionsd’entradaiunaomésdesortida,tambés’hipotaplicarunaguardaacadatransició.Enaquestcasquanhihavariesbranquesdesortida,es realitzaunabrancacondicionalestàtica,encanvienelpseudoestat
eleccióeraunabrancacondicionaldinàmica.
PseudoEstatAcabarQuans’entraaunpseudoestatacabar,s’indicaquelalíniadevidadeldiagramahaacabat.Es
representaambunacreu.
![Page 39: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/39.jpg)
EstatHistorial(nouenUML2)S’utilitza per recordar l’estat anterior d’una màquina d’estats quan és interrompuda. En elsegüentexempleesveul’estatd’unarentadora,onencasqueestallilacorrentlarentadoraespararàiquantorniahaver‐hicorrentaquestatornaràal’estatqueestavaabansquemarxés
lacorrent.
RegionsRecents(novesenUML2)Unestatespotdividirenregionsquecontenensubestatsqueexisteixenis’executendeformaconcurrent.Enelsegüentexempleespotveurequeenfrenartantesfrenaambelsfrensdedavantcomambelsdedarrera.
![Page 40: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/40.jpg)
![Page 41: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/41.jpg)
DiagramesdeSeqüènciaUn diagrama de seqüència és un diagrama d’interacció que detalla com s’executen les
operacionsenfunciódeltemps:quinsmissatgessónenviats,perquinobjecte,aquinobjecteiquan.Sónmoltútilspermodelarescenaris.
Elsobjectesinvolucratseneldiagramaesllistend’esquerraadretaenfunciódelmomentenquèintervenenenlaseqüència.
LíniadevidaLalíniadevidarepresentaunparticipantindividualenundiagramadeseqüència.Normalmentcontéunrectanglequecontéelnomdel’objecte.Sielnomésselfllavorsindicaquelalíniade
vidarepresentaelclassificadorqueposseeixeldiagramadeseqüència.
Altresvegadeselsímbolpotserdiferent,perexemplesiestractad’unactoreldibuixseràlafiguretaques’utilitzatambéalsdiagramesdecasd’ús.Tambécaltenirencomptelesdiferentsclassesd’anàlisiquetenencadascunaunarepresentaciódiferent:
• Classes d’Entitats: Contenen els objectes bàsics que corresponen al món real, en
aquestcaselsqueestrobenalabasededades.• Classes de Control: Cada cas d’ús n’ha de tenir almenys una. S’ocupa de dirigir els
diferentscaminsdelcasd’ús.
• ClassesdeFrontera:Defineixenlesinterfíciesambelsactors.
![Page 42: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/42.jpg)
MissatgesEsmostrencomfletxes.Podensercomplets(tenenretorn),perdutsotrobats,tambésíncronso asíncrons. Els síncrons es representen amb una fletxa que té un triangle a la punta de la
fletxa(totapintada),elsasíncronstenenunapuntadefletxaenformadeV.Elsmissatgesderetornesdenotenambunalíniapuntejada.
Alasegüentfiguraesveuen3missatges,elprimerd’ellséssíncronicomplet(téunmissatgede retorn implícit), el segon és un missatge asíncron i el tercer és un missatge de retorn
asíncron.
Ocurrènciad’execucióUnpetit rectangleque segueix la líniadevida representa l’ocurrènciad’execucióoactivaciód’unfocusdecontrol.Enelcasanteriorn’hihatres,1alSourcei2alTarget.
MissatgeSelfPot representar una crida recursiva d’una operació o unmètode cridant‐ne a un altre quepertanyalmateixobjecte.
![Page 43: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/43.jpg)
Missatgesperdutsimissatgestrobats(nousenUML2)Elsmissatgesperdutssónaquellsques’hanenviatperòquenohanarribataldestíesperat,o
béquehanarribataundestíquenoesmostraaldiagramaactual.Elsmissatgestrobatssónaquells que arriben d’un remitent desconegut o bé d’un remitent que no està al diagramaactual.Esrepresentenambunafletxaquevaotornad’unpuntfinal.
IniciifinaldelalíniadevidaLalíniadevidacomençaallàonhihaelsímbolquerepresental’objected’aquestalíniadevida(pottrobar‐semésamuntomésavalldeldiagramasegonselmomentdelseuinici)ielfinalesrepresentaambunacreu.
![Page 44: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/44.jpg)
Restriccionsdetempsiduració(nouenUML2)Normalmentelsmissatgesesmostrenapartird’unalíniahoritzontal.Comquelalíniadevidadelsobjecteses trobaen líniavertical,avegadespotserútil (siesmodelaalgunsistemaentempsrealoaltressistemesoneltempssiguiunfactorimportant)tenirencompteeltempsa
l’hora de representar els missatges. Per fer‐ho, es configura una restricció de duració pelmissatgeonentre { }s’escriuel tempsdeduraciódelmissatge iaquestesdibuixade formainclinada.
![Page 45: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/45.jpg)
Fragmentscombinats(nousenUML2)Els fragments combinats són una o més seqüències de processos incloses en un marc iexecutadessotacircumstànciesespecífiques.Els fragmentsdisponiblessón(siesdenotende
forma diferent que el seu nom es posa la seva denotació entre parèntesis, els altres esdenotenambelseunom):
• Alternative(alt):Modelaestructuressi...llavors...altrament.• Option(opt):Modelaestructurescas(switchcase).
• Break:Modelauna seqüenciaalternativad’eventsqueesprocessaen llocde tota larestadeldiagrama.
• Parallel(par):Modelaprocessosconcurrents.
• SeqüenciatWeak(seq):Inclouunnúmerodeseqüènciesperlesquetotselsmissatgess’handeprocessarenun segmentanterior, abansdequeel següent segmentpuguicomençar,peròquenoimposacapseqüènciaenelsmissatgesquecomparteixenuna
líniadevida.• Seqüenciat Strict (strict): Inclou una sèrie de missatges que s’han de processar en
l’ordreproporcionat.
• Negative(neg):Inclouunasèriedemissatgesinvàlids.• Critical:Inclouunasecciócrítica.• Ignore:Declaraunmissatgeomissatgesquenosóndecapinterèssiapareixenenel
contextactual.• Consider:Qualsevolmissatgequenos’incloguienaquestfragments’hauràd’ignorar.• Assertion(assert):Designaquequalsevolseqüènciaquenoesmostricomunoperand
del’assercióésinvàlida.• Loop:Inclouunasèriedemissatgesqueestanrepetits.
• Referència (ref): Permet referenciar altres diagrames de seqüència per tal dereutilitzardiagramesexistentsosimplificardiagramescomplexos.
![Page 46: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/46.jpg)
En lafigurasuperiorespotveureunexempledeloop,ons’agafaeltamanyd’unataula itotseguitapartird’aquesttamanys’agafacadaelementdelataula.
![Page 47: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/47.jpg)
Enaquestcas,espotveureunloopiunalt.Aquíenprimerlloc(enelloop)esseleccionaunaoperacióarealitzaritotseguit,segonsl’operacióseleccionadafaunacosaounaaltra.
Porta(novaenUML2)Una porta és un punt de connexió per connectar un missatge dins d’un fragment amb unmissatgedeforadelsegment.Lesportesesrepresentencomunquadrepetitenunmarcdelfragment.
![Page 48: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/48.jpg)
DescomposicióenpartUnobjectepottenirmésd’unalíniadevida.Aixòpermetmissatgesentreobjectesperquèesmostrinenelmateixdiagrama.
Continuacions/Invariantsd’Estat(novaenUML2)Unainvariantd’estatésunarestriccióubicadaalalíniadevidaquehadeserverdaderaenel
tempsd’execució.Esmostracomunrectangleambsemicerclesalsextrems.Unacontinuaciótelamateixanotacióperòs’utilitzaenfragmentscombinatsiespotextendreatravésdemésd’unalíniadevida.
![Page 49: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/49.jpg)
![Page 50: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/50.jpg)
DiagramesdeComunicacionsÉsundiagramad’interaccióquemostra informació similar a ladelsdiagramesde seqüència
peròesfocalitzenmésenlarelaciód’objectes.
Enelsdiagramesdecomunicacionselsobjectesesmostrenambconnectorsd’associacióentreells.Elsmissatgess’agreguenalesassociacionsiesmostrencomfletxescurtesqueapuntenenladirecciódelfluxdelmissatge.Laseqüènciadelsmissatgesesmostraapartird’unesquema
enumerat.
Lesdiferentsclassesesrepresentendelamateixaformaqueenelsdiagramesdeseqüència.Elseufuncionamentésmoltsemblant i l’únicquecalcomentaréscomesrepresentenalgunesdelesfuncionsexplicadesenelsdiagramesdeseqüència.
Missatged’autocridaQuanunobjectecridaunmissatgesobreellmateixnoméscalferunaliniaquevadel’objectefinsal’objecteiposar‐hielmissatgedeformanormal.
MissatgeCondicionalElmissatgequeenelsdiagramesdeseqüèncias’haanomenatOption.Télamateixafuncióiesrepresenta:
MissatgesExcloentsElmissatgequeenelsdiagramesdeseqüèncias’haanomenatAlternative.Télamateixafuncióiesrepresenta:
![Page 51: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/51.jpg)
Creaciód’instànciaQuanescreaunanovainstànciad’unaclasse,esrepresenta:
IteraciódemissatgesElmateixqueenelsdiagramesdeseqüèncias’haanomenatLoop.Esrepresenta:
Col·leccionsUnacol∙lecciód’objectes, tantenelsdiagramesde comunicació comenelsde seqüènciaesrepresenten:
Iunobjecteconcretdelacol∙lecció:
![Page 52: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/52.jpg)
Exempledediagramesdeseqüènciaicomunicació
![Page 53: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/53.jpg)
DiagramesdeTemps(nousenUML2)L’objectiudelsdiagramesdetempsésmostrarelscanvisenl’estatolacondiciód’unalíniadevida d’una instància (d’un classificador o d’un rol d’un classificador) al llarg del temps i de
forma lineal. L’ús més comú és mostrar el canvi d’estat d’un objecte al llarg del temps enrespostaalseventsoestímulsacceptats.
Líniadevidadel’estatUna línia de vida de l’estatmostra el canvi d’estat d’un ítemen el temps. L’eix Xmostra eltemps que ha passat en qualsevol unitat escollida i l’eix Y mostra una llista dels estatsproporcionats.
LíniadevidadelvalorUnalíniadevidadelvalormostraelcanvidelvalord’unítemeneltemps.Elvaloresmostraentreelparelldelínieshoritzontalsqueescreuenencadacanvidelvalor.
PosarhototjuntLeslíniesdevidaidel’estatespodenposarunaasobredel’altraenqualsevolcombinació.CalquetinguinelmateixeixX.Aixíelsmissatgesespodranpassard’unalíniadevidaaunaaltra.
Cadatransiciódel’estatovalorpotteniruneventdefinit,unarestricciódetempsqueindicaquanhadepassarunevent iuna restricciódeduracióque indicaquan tempshad’estarenefecteunvaloroestat.
![Page 54: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/54.jpg)
![Page 55: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/55.jpg)
DiagramesdeDescripciód’Interaccions(nousenUML2)Mostrencom interactuenvarisdiagramesd’interaccions (seqüència i comunicació). Sónútils
permostrardequinamaneraescombinendiferentsescenaris.
Esrepresentadelamateixaformaqueelsdiagramesd’activitat,peròenaquestcascadanoderepresenta undiagramad’interacció. Els nodes inicial, final, decisió, combinació, bifurcació iuniósónelsmateixosqueenelsdiagramesd’activitat.Peròenaquestcass’introdueixendues
cosesnoves.
Ocurrènciad’InteraccióSón referències als diagrames d’interacció existents. Es mostra com un marc de referència
(s’indicaambref)iambelnomdeldiagramaalqualesfareferènciaescritalcentredelmarc.
Elementd’InteraccióEls elementsd’interacció són similars alsd’ocurrènciesd’interaccióenel fetdequeaquests
mostren una representació de diagrames d’interacció existents dins d’un marc rectangular.Peròenaquestcasmostrenelscontingutsdelsdiagramesdereferènciaenlínia.
Com hem dit, es poden utilitzar els mateixos controls que en els diagrames d’activitat, totseguithihaunexemple:
![Page 56: UML 2 - UdGima.udg.edu/~sellares/einf-es2/prsent0910/ApuntsUML2.pdf · Els paquets es representen en UML 2.0 com a carpetes i contenen els elements que comparteixen un espai de noms;](https://reader030.vdocuments.net/reader030/viewer/2022041014/5ea874112a089c47147b9f77/html5/thumbnails/56.jpg)