22
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

Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 2: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 3: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 4: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 5: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 6: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 7: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 8: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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ó

Page 9: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 10: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 11: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 12: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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”

Page 13: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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ó

Page 14: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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ó

Page 15: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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ó

Page 16: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 17: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 18: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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

Page 19: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 19IS31

Diagrama de classes

Page 20: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 20IS31

Diagrama de seqüència

Page 21: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

Presentació i planificació del 1r semestreTema 6. Diagrames d’interacció © Reyes GrangelNovembre 2007 21IS31

Diagrama de comunicació

Page 22: Tema 6. Diagrames d’interacciómermaja.act.uji.es/itis/IS31/is310708_tema6.pdf · Diagrama Flux de control d’una operació d’activitat Estats, transicions, esdeveniments i marques

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.