56
UML 2.0 Jordi Oliveras Rovira – u1060213 Marc Verdaguer Ginestera – u1063616

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;

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

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;

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;

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;

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;
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;

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;

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;

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;

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;

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;

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;

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;
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;

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;

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;

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;

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;
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;

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;

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;

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;

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;
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;

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;

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;

• 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;

• 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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;

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;
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;

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;

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;

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;

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;

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;

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;

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;

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;
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;

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;

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;

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;

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.

Posar­hototjuntLeslí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;
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;

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;