Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009....

29
Novembre 2007 Tema 7. Diagrama d’activitat i d’estats Departament de Llenguatges i Sistemes Informàtics 3r Enginyeria Tècnica en Informàtica de Sistemes IS31.Projectes Informàtics de Sistemes Curs 2007/2008 Professora: Reyes Grangel Seguer Castelló, Spain

Transcript of Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009....

Page 1: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Novembre 2007

Tema 7. Diagrama d’activitat i d’estats

Departament de Llenguatges i Sistemes Informàtics3r Enginyeria Tècnica en Informàtica de Sistemes

IS31.Projectes Informàtics de SistemesCurs 2007/2008

Professora: Reyes Grangel Seguer

Castelló, Spain

Page 2: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 2IS31

Sessió 7: Quin és el comportament del sistema?

� Abans de la classe

• Feu una llista de totes les accions atòmiques que realitza el vostre projecte o cas pràctic

� Durant la classe

• Continguts

− Conceptes bàsics

− Diagrama d’activitats

− Diagrama d’estats

• Exercici 7:

− Realitzeu del diagrama d’activitats a nivell de negoci per al vostre projecte o cas pràctic

� Després de la classe

• Refineu la resta de diagrames que heu realitzat

Page 3: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 3IS31

Diagrames de comportament

� Diagrames de comportament

• Diagrama d’activitat

• Diagrames d’interacció

• Diagrama d’estats

� No és fa un diagrama de comportament per a cada cas d’ús o cada operació, només quan el benefici supera el cost

� S’utilitzen per a:

• Mostrar les connexions i dependències entre activitats, per tal de comprendre les activitats complexes

• Modelar la “decisió” d’un objecte, és a dir, que és el que cal fer quan un objecte rep un missatge

• Comprendre quines són les dependències entre l’estat d’un objecte i la seua reacció front als missatges o altres esdeveniment

Escenari 4Escenari 3

Escenari 2Escenari 1

Cas d’ús

Diagrama d’activitat

Diagrama d’estats

Diagrama de comunicació

Diagrama de seqüència

Page 4: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 4IS31

Diagrama d’activitat en UML 1.5

� Elements d’un diagrama d’activitat

• Activitats: és un tipus d’estat que s’abandona, no com a resposta a qualsevol esdeveniments sinó quan acaba l’activitat que representa

• Transicions: normalment no s’etiqueten, doncs la transició és provocada per la fi de l’activitat prèvia

• Barres de sincronització: descriu la coordinació entre activitats

• Diamant de decisió: s’utilitza per representar decisions

• Marca de creació: que apunta a l’estat inicial del diagrama

• Marca de destrucció: significa que l’objecte ha arribat a la fi de la seua vida i serà destruït

� Carrers (swimlanes) ���� divideixen el diagrama d’activitat en particions, que agrupen diversos grups d’activitats relacionades per els objectes i actors que les executen, o als casos d’ús dels quals formen part

Page 5: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 5IS31

Exemple cas pràctic “Biblioteca” (I)

Diagrama d’activitat de la biblioteca a nivell de n egoci

[ p rest atar i ]trobar llibre en

prestageria

esperar en cola

emmagatzemar prést ec

emm agat zemar devolució

posar llibre de tornada a la prestageria

preparar per al següent soci

[ retornador ]

[ prendre prestat ]

[ t ornar ]

bibliotecarisoc i

Page 6: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 6IS31

Exemple cas pràctic “Agència tributaria” (I)

Diagrama d’activitat de l’Agència Tributaria a nive ll de negoci

inscriure part icipant en subhastes

realitzar licitació en s ubhast es obertes

consultar subhastes obertes actives

realitzar dipòsit

embargar article

preparar subhasta oberta

oberta

preparar subhasta no oberta

[ no oberta ]

activar subhasta

controlar licitació

[ liciatació més alt a ]

inscriure empresa en s ubhast es

consultar subhastes actives

realitzar licitació en subhasta no oberta

realitzar licitació en subhastes obertes

[ no oberta ] [ oberta ]

[ licitació inferior ]

ParticipantParticipantEmpresaCapRecaptació

Page 7: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 7IS31

Diagrama d’activitat en UML2

� UML permet representar gràficament el comportament d’un mètode o el desenvolupament d’un cas d‘ús mostrant el flux d’una activitat a un altra

� Els principals elements d’un diagrama d’activitat són:

• Una activitat representa l'execuciód’un conjunt d’accions seqüencials que defineixen el flux de treball

• El pas d’una activitat cap a un altra es duu a terme per una transició

� Les transicions són desencadenades per la fi d’una activitat i provoquen el començament d’un altra, és a dir, són automàtiques

� En UML 2.0, és possible representar a més a més, condicions, sincronitzacions, senyals, tokens, etc.

Diagrama d’activitat per al procés de Gestionar Comanda a nivell de negoci

Page 8: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 8IS31

Exemple cas pràctic “Franquícia (I)”

Diagrama d’activitat per al cas de la franquícia de telecomunicacions

Page 9: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 9IS31

Exemple cas pràctic “Franquícia (II)”

Diagrama d’activitat per al cas de la franquícia de telecomunicacions

Page 10: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 10IS31

Exemple cas pràctic “Franquícia (III)”

Diagrama d’activitat per al cas de la franquícia de telecomunicacions

Page 11: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 11IS31

Constructors del diagrama d’activitat en UML2

�Nodes gràfics [5]

Page 12: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 12IS31

Constructors del diagrama d’activitat en UML2

�Nodes gràfics [5]

Page 13: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 13IS31

Constructors del diagrama d’activitat en UML2

�Nodes gràfics [5]

Page 14: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 14IS31

Elements contenidors del diagrama d’activitat en UML2

� Contenidors [5]

Page 15: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 15IS31

Diagrama d’activitat en UML2

� Diferència entre ...• Activitat: és una execució no atòmica

• Acció: les activitats acaben per l’execució d’una acció “atòmica”. Lesaccions contenen per exemple:

� Una cridada a un altra operació

� L’enviament d’una senyal

� La creació o la destrucció d’un objecte

� Un càlcul senzill

Activitat, es subdivideix en accions més petites

Acció, ja no es subdivideix més

Page 16: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 16IS31

Relacions en el diagrama d’activitat en UML2

� Transició• Defineix el flux seqüencial de les accions dins de l'activitat modelada

• Normalment no s’etiqueten, encara que poden portar una etiqueta

• La direcció de la fletxa indica quina és la següent acció

� Activitat definida en una altre diagrama

Flux d’objecte que uneix una acció/activitat amb un objecte o un objecte amb

una acció/activitat

Flux de control que serveix per a unir dues

accions/activitats o nodes de control amb

accions/activitats

Page 17: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 17IS31

Nodes de control: decisió i fusió

�Node de decisió

• Serveixen per a la presa de decisions

• Només una transició d’entrada

• Possibilitat de tenir diverses transicions d’eixida

− Cadascun té una condició (guard)

− Les transicions eixints han de cobrir totes les possibilitats

�Node de fusió

• Són utilitzats per a dissenyar una fusió després d’una presa de decisió

• Possibilitat de tenir diverses transicions d’entrada

• Només una transició d’eixida

Page 18: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 18IS31

Nodes de control: sincronització

�Hi ha dos mecanismes de sincronització, utilitzant les anomenades "barres de sincronització"• Permeten obrir i tancar branques paral�lels dins d’un flux d’execució

• Les transicions que parteixen des d’una barra de sincronització tenen lloc al mateix temps

• No s'alcança una barra de sincronització fins que s'han realitzat totes les transicions que recull

�Fork

• Serveix per a mostrar el començament d’accions concurrents

• Només una transició d’entrada, possibilitat de diverses d’eixida

�Join

• Serveix per a marcar la fi d’accions concurrents

• Només una transició d’eixida, possibilitat de diverses d'entrada

Page 19: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 19IS31

Diferència entre els nodes de control ...

Nodes de decisió i fusió Nodes de sincronització: fork i join

Node de decisió , o s’executa un acció o l’altra depenent del compliment de la

condició

Node de fusió , s’arriba al final per el camí de

l’esquerra o pel de la dreta

Fork , en aquest punt s’executen l’acció 1 i 2 de

forma concurrent

Join , tant l’acció 1 com la

2 han de finalitzar per a poder acabar

Page 20: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 20IS31

... i el següent cas

� Açò també és vàlid segons la sintaxis de UML 2.0 ...

però la seua semàntica pot resultar confusa, per tant és recomanable utilitzar els anteriors nodes de control de forma explícita

� Segons l’especificació de UML 2.0 si no s’explicità la divisió o unió de transicions en l’eixida o entrada d’una acció, s’està indicant implícitament un forki un join respectivament

Page 21: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 21IS31

Partició

� Útil per modelitzar el flux de control de les activitats entre diversos objectes

� Utilització de passadís verticals i/o horitzontals

� El nom de l'objecte està associat a cada partició

� Es col�loca cada acció associa a un objecte dins de la mateixa partició

� Una partició pot ser descomposta en subparticions

Page 22: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 22IS31

Senyals

�La recepció d'una senyal desencadena una activitat

�Després del desencadenament d'un flux; es pot emetre una senyal

�Un retard és una senyal emesa automàticament

Senyal

Regió d’expansió (bucle de repetició)

Regió d’interrupció

[8]

Page 23: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 23IS31

Exemple: tiramisú

En l’actual versió del Rational Software Modeler no es proporcionen directament les regions d’expansió en la paleta de dibuix, per tant tenint en compte la definició de les mateixes podeu utilitzar una activitat estructurada i estereotipar-la com a “ExpansionRegion”

El mateix passa amb les senyals, una solució seria utilitzar una acció i estereotipar-la com “Signal”

Page 24: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 24IS31

Resum

�Diagrama d'activitat executable• Possibilitat de col�locar un token d'activitat sobre una activitat per a indicar la

seua execució

• Possibilitat de tenir diversos tokens en casos de concurrència

� Possibilitat de descompondre una activitat en activitats/accions cada vegada més detallades

�Necessitat de tenir un mateix nivell de detall per a totes les activitats d’un mateix diagrama

� Possibilitat d’utilitzar la condició [else]

�No és possible garantir l’elecció de l’activitat executada en cas de satisfacció de diverses condicions

� Possibilitat de tenir activitats concurrents

Page 25: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 25IS31

Diagrames de comportament

� Diagrames de comportament

• Diagrama d’activitat

• Diagrames d’interacció

• Diagrama d’estats

� No és fa un diagrama de comportament per a cada cas d’ús o cada operació, només quan el benefici supera el cost

� S’utilitzen per a:

• Mostrar les connexions i dependències entre activitats, per tal de comprendre les activitats complexes

• Modelar la “decisió” d’un objecte, és a dir, que és el que cal fer quan un objecte rep un missatge

• Comprendre quines són les dependències entre l’estat d’un objecte i la seua reacció front als missatges o altres esdeveniment

Escenari 4Escenari 3

Escenari 2Escenari 1

Cas d’ús

Diagrama d’activitat

Diagrama d’estats

Diagrama de comunicació

Diagrama de seqüència

Page 26: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 26IS31

Diagrama d’estat

�Estat: valors dels atributs i dels enllaços entre objectes en un instant particular• Es correspon a l’interval entre la recepció de dos esdeveniments per un objecte

• Està normalment associat al valor d’un objecte satisfent una condició

�Elements d’un diagrama d’estat

• Estat: per comprendre com la reacció d’un objecte a un missatge depèn del seu estat

• Transició: entre dos estats produïda com a reacció a un esdeveniment

• Esdeveniments: qualsevol cosa que apareix instantàneament en un punt en el tems i que provoca la transició entre dos estats

• Marca de creació: que apunta a l’estat inicial del diagrama

• Marca de destrucció: significa que l’objecte ha arribat a la fi de la seua vida i serà destruït

Page 27: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 27IS31

Exemple cas pràctic “Biblioteca” (II)

no està disponible per a prestar

està disponible per a prestar

prestat( )[ última còpia ]

tornat( )

t ornat( )

prestat( )[ no última còpia ]

Diagrama d’estat de la classe Còpia

Diagrama d’estat de la classe Llibre

en préstec en prestageria

prendreP restat( )

tornar( )

Page 28: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 28IS31

Exemple cas pràctic “Agència tributaria” (II)

Diagrama d’estat de la classe Subhasta

preparada amb dipòsits

activa adjudicada

prepararSubhasta( )

realitzarDipòsit( )

activarSubhasta( )

adjudicarSubhasta( )

real itzarLicitació( )

activarSubhasta( )

desactivarSubhasta( )

tancarSubhasta( )

Page 29: Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009. 10. 21. · Tema 7. Diagrama d’activitat i d’estats ... Diagrama d’activitat

Presentació i planificació del 1r semestreTema 7. Diagrama d’activitat i d’estats © Reyes GrangelNovembre 2007 29IS31

Bibliografia

[1] Scott W. Ambler. The Elements of UML 2.0 Style. Cambridge University Press, 2005.

[2] Martin Fowler. UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley, 2003.

[3] Craig Larman. UML y Patrones. Pearson, Prentice Hall 2003.

[5] OMG. Unified Modeling Language: Superstructure, version 2.0. Object Management Group, version 2.0 formal/05-07-04 edition, July 2005.

[7] Pascal Roques. Les Cahiers du programmeur UML. Eyrolles, 2002.

[8] Pascal Roques and Franck Vallée. UML 2 en action. Eyrolles, 2004.

[12] OMG. Unified Modeling Language: Superstructure, version 2.1. Object Management Group, version 2.1 ptc/06-04-02 edition, April 2004.