tema 6. diagrames d’interacciómermaja.act.uji.es/itis/is31/is310708_tema6.pdf · diagrama flux...
TRANSCRIPT
Novembre 2007
Tema 6. Diagrames d’interacció
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
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 2IS31
Sessió 6: Quin és el comportament dels objectes?
� Abans de la classe
• Feu una llista dels escenaris conflictius que trobeu en el diagrama de casos d’ús que heu confeccionat per al vostre projecte o cas pràctic
� Durant la classe
• Continguts
− Conceptes bàsics
− Diagrama de comunicació
− Diagrama de seqüència
− Exemples
• Exercici 6:
− Realitzeu el diagrama de seqüència per a un dels escenaris conflictius que heu identificat i transformeu-lo en el diagrama de comunicació corresponent utilitzant la ferramenta IBM RSM
� Després de la classe
• Reviseu el diagrama de casos d’ús i de classes del vostre projecte o cas pràctic per tal d’incorporar les modificacions necessàries després d’haver realitzat el diagrama de seqüència
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © 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 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 4IS31
Introducció als diagrames d’interacció en UML 1.5
�Diagrames d’interacció
• Diagrama de col�laboració
• Diagrama de seqüència
�Diagrama d’estat � diagrama d’activitat
Model de comportament
Activitats, transicions, barres de sincronització, diamants de decisió i marques de creació i destrucció, i carrers (swimlanes)
Flux de control d’una operacióDiagrama d’activitat
Estats, transicions, esdeveniments i marques de creació i destrucció
Seqüència d’estats per els quals passa un objecte al llarg de la seua vida
Diagrama d’estat
Flux de control entre els estats d’un objecte o entre activitats
Objectes, actors i missatges
Línies de vida d’un objecte
Focus de control
Número de seqüència
Ordenació temporal dels missatges implicats en una interacció
Diagrama de seqüència
Objectes, actors, enllaços i missatges
Camí
Número de seqüència
Organització estructural dels objectes que envien i reben missatges en una interacció
Diagrama de col�laboració
Diagrames d’interacció
� Diagrames isomorfs
� Flux de control entre objectes
Elements del diagramaRepresentenDiagramesObjectius
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 5IS31
Introducció als diagrames d’interacció
� Diagrames d’interacció
• Diagrama de comunicació
• Diagrama de seqüència
� Permeten detallar de forma precisa com els objectes interactuen per executar una tasca
� No es fa un diagrama d’interacció per a cada cas d’ús o cada operació, només quan el benefici supera el cost
� Aquests dos diagrames mostren quasi la mateixa informació, fins i tot algunes eines CASE (en el RSM dibuixar-los en la mateixa interacció) permeten desenvolupar un a partir de l’altre
� Quin és el seu objectiu?
• Visualitzar, especificar, construir i documentar els aspectes dinàmics d’un conjunt particular d’objectes
• Modelar el flux de missatges particular d’un cas d’ús
� S’utilitzen per a:
• Mostrar com el sistema realitza un escenari en particular corresponent a un cas d’ús
• Servir d’ajuda per examinar diverses opcions possibles en els casos difícils
• Servir per a la comunicació entre els desenvolupadors
• Ajudar a clarificar les associacions entre les classes i les operacions que necessita cada classe
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 6IS31
Diagrama de comunicació
� Un diagrama de comunicació on no apareix cap interacció, seria paregut a una instància d’una part d’un diagrama de classes
� Elements d’un diagrama de comunicació
• Objectes: són elements concrets o elements prototípics, que poden representar qualsevol instància de la classe
• Enllaços: poden tenir navegabilitat i incloure el nom de l’associació, però no inclouen la multiplicitat
• Missatges: que s’envien entre objectes entre els quals existeix un enllaç, que és navegable en la direcció del missatge, a més a més l’objecte destí ha d’entendre el missatge, és a dir, ha de proporcionar l’operació apropiada
• Actors: es corresponen amb els relacionats amb el cas d’ús que s’està descrivint
Diagrama de comunicació sense interaccions, per al cas d’ús: “Prendre prestada còpia de llibre”
s : SociBiblioteca
c : Còpia l : Llibre
p : PrestatariLlibre
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 7IS31
Diagrama de comunicació
� Interaccions en els diagrames de comunicació � per mostrar l’enviament i recepció de missatges entre els objectes enllaçats
� Procés de revisió juntament amb el diagrama de classes
Diagrama de comunicació amb interaccions, per al cas d’ús: “Prendre prestada còpia de llibre”
s : SociBiblioteca
c : Còpia l : Llibre
p : PrestatariLlibre
1. prendrePrestat(laCòpia )
2. okPrendrePrestat
3. prendrePrestada
4. prestada
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 8IS31
Diagrama de seqüència
� Elements d’un diagrama de seqüència
• Objectes
• Missatges
• Actors
� Característiques
• Es representen els objectes i actors que participen en una col�laboració mitjançant línies de punts
• Les línies de punts representen el temps des del punt de vista d’un objecte, és a dir, la línia de vida de l’objecte
• El temps corre de dalt a baix segons s’avança en el diagrama d’esquerra a dreta
• Un missatge apareix com una fletxa des de la línia de vida de l'emissor fins la del receptor
• No importa l’ordre en el qual apareixen els objectes, però convé col�locar els objectes que participen abans el més a l’esquerra possible per tal de fer el diagrama més llegible, d’aquesta forma la major part dels missatges aniran d’esquerra a dreta
• Al començament a l’esquerra es posa l’objecte que inicia la interacció
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 9IS31
Diagrama de seqüència
�Destaca l’ordenació temporal dels missatges
�Característiques específiques
• Línia de vida d’un objecte
− Línia discontinua vertical
− Representa l’existència d’un objecte al llarg d’un període de temps
− La major part dels objectes existeixen mentre dura la interacció
− Poden crear-se objectes durant la interacció � missatge <<create>>
− Poden destruir-se objectes durant la interacció � missatge <<destroy>>
• Focus de control
− Rectangle estret i vertical dibuixat sobre la línia de vida d’un objecte
− Representa el període de temps durant el qual un objecte executa una acció, directament o subordinadament
− La part superior del rectangle s’alinea amb el començament de l’acció
− I la part inferior amb el seu acabament
− Les cridades recursives a operacions pròpies es mostren amb el niament de focus de control situats a la dreta del focus de control principal o pare
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 10IS31
Tipus de missatges
�Missatge síncron
• La cridada es representa amb fletxa sòlida i punta sòlida
• La tornada es representa amb fletxa discontínua i punta sòlida
• Quan es fa la cridada a l’operació l’objecte que l’ha iniciat ha d’esperar la resposta de retorn
�Missatge asíncron
• Es representa amb fletxa sòlida i punta oberta
• S’utilitza en execucions concurrents, quan hi ha més d’un fil d’execució
Missatge asíncron
Missatge síncron
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 11IS31
Tipus de missatges
Missatge reflexiu síncron
Missatge reflexiu asíncron
Missatge amb retard de propagació
Missatge per a la creació d’un objecte en IBM RSM, la fletxa hauria de ser discontinua i amb la punta oberta per seguir l’especificació de UML 2.x, en Magic Draw si segueix l’especificació
Missatge per a la destrucció d’un objecte
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 12IS31
Exemple cas pràctic “Biblioteca” (II)
p : PrestatariLlibrec : Còpia l : Llibres : SociBiblioteca
1. prendrePrestat(laCòpia)
1.1. okPrendrePrestat
1.2. prendrePrestada
1.2.1. prestada
Diagrama de seqüència, per al cas d’ús: “Prendre pr estada còpia de llibre”
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 13IS31
Exemple cas pràctic “Agència tributaria” (II)
Diagrama de seqüència per al cas d’ús: “Participar en subhasta no oberta”
p : P artic i pant E mpresa
s : S ubhas ta l : Lic itac ióe : E mp resa
1: inic iarLic itac ió( )
2: validarU suari( )
3: obtenirS ubhas tesA c t ives ( )
4: subhas tesA c tives
5: o kPa rt ic ipac io
6: realitzarLic itac ió( )7: g es tionarLic it ació ( )
8: obtenirE s tatS ubhas tes ( )
9: sub has ta Ac ti vaNoA djudic ada
10: controlarLic itac ió( )
11 : resulta tLi ci tac ió
12 : resulta tLi ci tac ió
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 14IS31
Exemple cas pràctic “Agència tributaria” (III)
Diagrama de seqüència per al cas d’ús: “Participar en subhasta n o oberta” amb numeració jeràrquica p :
Partic ipantEmpresa
s : S ubhast a l : Lic it ac ióe : Em presa
1. inic iarLic itac ió( )
1.1. validarUsuari( )
1.2. obtenirSubhastesActives( )
1.2.1. subhastesActives
1.3. okPart ic ipac io
1.3.1. realitzarLic itac ió( )1.3.1.1. gestionarLic itac ió( )
1.3.1.1.1. obtenirEstatSubhastes ( )
1.3.1.1.1.1. subhastaActivaNoAdjudicada
1.3.1.1.2. controlarLic itac ió( )
1.3.1.1.3. resultatLic itac ió
1.3.1 .2. resul tat Lic it ac ió
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 15IS31
Exemple cas pràctic “Agència tributaria” (IV)
Diagrama de comunicació per al cas d’ús: “Participa r en subhasta no oberta”
p : ParticipantEmpresa
s : S ubhastal : Licitació
e : E mpresa
1.1. validarUsuari ( )
1.2. obtenirSubhastesActives( )
1.2.1. subhastesActives
1.3.1.1.2. cont rolarLici tació( )
1. iniciarLicitació( )1.3.1. realitzarLicitació( )
1.3. okParticipacio1.3.1.2. resultatLicitació
1.3.1.1.1. obtenirEstatSubhastes( )
1.3.1.1.1.1. subhastaActivaNoAdjudicada
1.3.1.1. gestionarLicitació( )
1.3.1.1.3. resultatLicitació
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 16IS31
Empresa
raóSocialapoderatmailContactesectorcapitalSocialsolvènciaFiscaldataAprovació
inscriureParticipació()assignarCodiContrasenya()esSolvent()
Embargat
nifnomadreçatelèfon
Article
codidescripciódataAltavalortipus
1
1..n
1
1..n
pertany
Particular
numeroTargetaCrèdit
inscriureParticipació()assignarCodiContrasenya()ferDipòsit()
Lici tació
horaimport
controlarLicitació()adjudicarLicitació()
Subhasta
codidataEixidapreuEixidadataAdjudicac iópreuAdjudicac iótipus
crearSubhasta()ésOberta()estàAdjudicada()
1
0..n
1
0..n
apareix
0..n
1
0..n
1
produeix
0..n
0..n
0..n
0..n
fer dipòsit
Participant
nifnomadreçatelèfoncodicontrasenya
inscriureParticipació()generarLicitació()
0..n
1
0..n
1
realitza
0..n
0..1
0..n
0..1
s'adjudica
IObtenirInformacióArt icle
ICrearSubhasta
IObtenirInformacióSubhasta
IGestorLicitació
IMantenirPart icipant
IGestorParticipació
IObtenirInformacióEmbargat
Exemple cas pràctic “Agència tributaria” (V)
Diagrama de classes amb interfícies
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 17IS31
Exemple cas pràctic “Agència tributaria” (VI)
Diagrama de classes modificat en funció dels diagra mes d’interacció realitzats per al cas d’ús: “Participar en subhasta no oberta”
IObtenirInformacióArticle
ICrearSubhasta
IObtenirInformacióSubhasta
IGestorLici tació
IMantenirPart icipant
IGestorParticipació
IObtenirInformacióEmbargat
fer dipòsit
quantitatDipòsit : DoubledataDipòsit : Date
Empresa
raóSocialapoderatmailContactesectorcapitalSocialsolvènciaFiscaldataAprovació
inscriureParticipació()assignarCodiContrasenya()esSolvent()
Embargat
nifnomadreçatelèfon
Article
codidescripciódataAltavalortipus
1
1..n
1
1..n
pertany
Particular
numeroTargetaCrèdit
inscriureParticipació()assignarCodiContrasenya()ferDipòsit()
Subhasta
codidataEixidapreuEixidadataAdjudicaciópreuAdjudicaciótipus
crearSubhasta()ésOberta()estàAdjudicada()obtenirSubhastesActives()obtenirEstatSubhastes()
1
0..n
1
0..n
apareix
0..n
0..n
0..n
0..n
fer dipòsit
Licitació
horaimport
controlarLicitació()adjudicarLicitació()gestionarLicitació()
0..n
1
0..n
1
produeix
Participant
nifnomadreçatelèfoncodicontrasenya
inscriureParticipació()iniciarLicitació()validarUsuari()realitzarLicitació()
0..n
0..1
0..n
0..1
s'adjudica
0..n
1
0..n
1
realitza
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 18IS31
Exemple: projecte d’Enginyeria de Sistemes
�Dades del projecte
• “Sistema TINI redundante de sensores/actuadores sobre bus 1-wire controlado por PC”
• Autor: Francisco Javier Salvador Mingarro
• Director: José Vicente Martí Aviles
• http://mermaja.act.uji.es/itis/is31.html
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 19IS31
Diagrama de classes
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 20IS31
Diagrama de seqüència
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 21IS31
Diagrama de comunicació
Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 22IS31
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.