Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009....
Transcript of Tema 7. Diagrama d’activitat i d’estatsmermaja.act.uji.es/itis/IS31/is310708_tema7.pdf · 2009....
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
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
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
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
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
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ó
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
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
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
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
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]
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]
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]
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]
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
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
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
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
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
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
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
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]
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”
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
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
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
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( )
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( )
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.