You are on page 1of 22

Nouveauts UML 2.

0 : Diagramme de squence
Par Cian
Date de publication : 3 dcembre 2003 Dernire mise jour : 28 dcembre 2012

Cet article prsente les nouveauts UML2.0 (not galement U2, UML2) en ce qui concerne le diagramme de squence (appel sequence diagram ou interaction diagram en anglais). Les diagrammes de squence sont couramment utiliss par nombre d'acteurs d'un projet, mme quelque fois leur insu, sans savoir qu'ils utilisent l un des diagrammes UML. En effet, le diagramme de squence est une reprsentation intuitive lorsque l'on souhaite concrtiser des interactions entre deux entits (deux sous-systmes ou deux classes d'un futur logiciel). Ils permettent l'architecte/designer de crer au fur et mesure sa solution. Cette reprsentation intuitive est galement un excellent vecteur de communication dans une quipe d'ingnierie pour discuter cette solution. Les diagrammes de squence peuvent galement servir la problmatique de test. Les traces d'excution d'un test peuvent en effet tre reprsentes sous cette forme et servir de comparaison avec les diagrammes de squence raliss lors des phases d'ingnierie. Les diagrammes de squence tels que dfinis en UML1.x souffraient cependant d'un gros inconvnient. La quantit de diagrammes raliser pouvait atteindre un nombre consquent ds lors que l'on souhaitait dcrire avec un peu de dtail les diffrentes branches comportementales d'une fonctionnalit. Le plus coteux tant de remettre jour ces diagrammes lors d'un changement au niveau des exigences ou bien du design. Nous allons voir que UML2.0 souhaite donner plus de puissance de reprsentation ces diagrammes grce de nouvelles constructions qui peuvent servir rduire la quantit de diagramme raliser. Notez que les traductions franaises des termes techniques sont personnelles. Les notions abordes dans cet article sur les nouveauts UML2.0 sont : les "fragments combins" (combined fragment ou inline frames), les oprateurs de fragments combins,

les "rfrences" (interaction occurrence), les "continuations" (continuation symbol), la dcomposition hirarchique (part decomposition), les invariants ...

Nouveauts UML 2.0 : Diagramme de squence par Cian

I - Avant-Propos...........................................................................................................................................................4 II - Les fragments combins (appel aussi combined fragment ou inline frame)....................................................... 4 II-A - Oprateur "Alternative"..................................................................................................................................5 II-B - Oprateur "Option"........................................................................................................................................ 5 II-C - Oprateur "Break"......................................................................................................................................... 6 II-D - Oprateur "Parallel"...................................................................................................................................... 8 II-E - Oprateurs "Weak Sequencing" et "Strict Sequencing"............................................................................. 10 II-F - Oprateur "Negative"...................................................................................................................................12 II-G - Oprateur "Critical"..................................................................................................................................... 12 II-H - Oprateurs "Ignore" et "Consider".............................................................................................................. 13 II-I - Oprateur "Assertion"................................................................................................................................... 14 II-J - Oprateur "Loop"......................................................................................................................................... 15 II-K - Combiner les oprateurs.............................................................................................................................16 III - Les rfrences (appel en anglais "interaction occurrence")............................................................................. 16 IV - Les continuations (appel en anglais "continuation symbol")............................................................................ 17 V - Messages Perdus / Trouvs................................................................................................................................ 18 VI - Dcomposition hirarchique de diagrammes de squence (part decomposition).............................................. 19 VII - Cration d'objet et suppression.........................................................................................................................21 VIII - Contraintes de temps....................................................................................................................................... 22 IX - Contraintes et invariants.....................................................................................................................................22

-3Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

I - Avant-Propos
Avant de prsenter les nouveaux concepts du diagramme de squence, je vous propose quelques rappels. Diagramme de squence :

Un diagramme de classe permet de dcrire les interactions entre diffrentes entits et/ou acteurs : par exemple des objets dans un modle d'un logiciel, des sous-systmes dans un modle d'un systme complet. Le temps est reprsent comme s'coulant du haut vers le bas le long des "lignes de vie" (lifeline) des entits. Des flches reprsentent les messages qui transitent d'une entit vers l'autre. Le nom des message apparat sur chaque flche. Si l'extrmit de la flche est pleine, le message est synchrone. Si l'extrmit de la flche est creuse, le message est asynchrone. Message asynchrone :

Message synchrone :

II - Les fragments combins (appel aussi combined fragment ou inline frame)


Un fragment combin reprsente des articulations d'interactions. Il est dfini par un oprateur et des oprandes. L'oprateur conditionne la signification du fragment combin. Il existe 10 oprateurs dfinis dans la notation UML2.0.
-4Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

Les fragments combins permettent de dcrire des diagrammes de squence de manire compacte. Les fragments combins peuvent faire intervenir l'ensemble des entits participant au scnario ou juste un sous-ensemble.

II-A - Oprateur "Alternative"


L'oprateur "alt" dsigne un choix, une alternative. Il reprsente deux comportements possibles : c'est en quelque sorte l'quivalent du SI...ALORS...SINON : donc, une seule des deux branches sera ralise dans un scnario donn. La condition d'excution d'une des deux branches (l'quivalent du SI) peut tre explicite ou implicite. L'utilisation de l'oprateur else permet d'indiquer que la branche est excute si la condition du alt est fausse. L'exemple ci-dessous montre un oprateur "alt" : - soit l'utilisateur rentre un code correct et dans ce cas le diagramme de squence relatif la vrification du code est appel, - soit l'utilisateur rentre un code erron, trois fois, et sa carte est garde (le distributeur se r-initialise et demande nouveau une carte).

II-B - Oprateur "Option"


L'oprateur "opt" dsigne un fragment combin optionnel comme son nom l'indique : c'est dire qu'il reprsente un comportement qui peut se produire... ou pas. Un fragment optionnel est quivalent un fragment "alt" qui ne

-5Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

possderait pas d'oprande else (qui n'aurait qu'une seule branche). Un fragment optionnel est donc une sorte de SI...ALORS. L'exemple ci-dessous montre un oprateur "opt" : L'utilisateur, si il est mcontent, peut se dfouler sur le distributeur de billets. En revanche, la plupart des utilisateurs contiennent leur agressivit et restent corrects envers le distributeur de billet. L'oprateur "opt" montre cette possibilit.

II-C - Oprateur "Break"


L'oprateur "break" est utilis dans les fragments combins qui reprsentent des scenarii d'exception en quelque sorte. Les intractions de ce fragment seront excutes la place des intractions dcrites en dessous. Il y a donc une notion d'interruption du flot "normal" des intractions. L'exemple ci-dessous montre un oprateur "break" : L'utilisateur, lorsque le distributeur lui demande son code, peut choisir de rentrer son code ou de consulter l'aide. Si il choisit de consulter l'aide, le flot d'intraction relatif la saisie du code est interrompu. Les intractions de l'oprateur break sont "excutes".

-6Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

L'quivalent de ce diagramme de squence sans l'oprateur break correspond aux deux diagrammes de squence ci-aprs :

-7Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

II-D - Oprateur "Parallel"


L'oprateur "par" est utilis pour reprsenter des intractions ayant lieu en parallle. Les intractions des diffrents oprandes ( les deux branches de notre oprateur ci-dessous) peuvent donc se mlanger, s'intercaler, dans la mesure o l'ordre impos dans chaque oprande est respect. L'exemple ci-dessous montre un oprateur "par" trs simpliste : Un dveloppeur averti ayant accs Internet peut consulter en parallle, soit le site http://www.developpez.com soit le site http://www.developpez.net/forums/ sans prfrence d'ordre (il peut commencer par consulter les forums puis les cours, soit l'inverse).

-8Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

Cependant attention! dans tous les entrelacements possibles l'interaction "question" devra toujours apparatre aprs "consulterSite(" http://www.developpez.net/forums/")" et l'interaction "rponse" devra toujours apparatre aprs les deux prcdentes. Ainsi le cas suivant ne peux pas tre un des cas dcrit par l'oprateur par ci-dessus :

Au contraire le cas suivant est une illustration du diagramme de squence :

-9Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

II-E - Oprateurs "Weak Sequencing" et "Strict Sequencing"


Ces oprateurs sont assez difficiles comprendre : suit ci-aprs mon interprtation. La norme ne fournissant pour l'instant pas d'illustration de ces oprateurs, cette interprtation peut ne pas tre totalement exacte. N'hsitez pas me contacter pour m'indiquer votre point de vue. L'oprateur "Weak Sequencing" se note "seq". Cet oprateur est opposer l'oprateur "Strict Sequencing" not "strict". Ces deux oprateurs font appel la notion d'ordre des interactions le long des "lignes de vie" (lifeline). Un oprateur "seq" notifiera que les interactions qui s'oprent entre des entits indpendantes n'ont pas d'ordre particulier. Alors qu'un oprateur "strict" imposera l'ordre dcrit sur le diagramme. La norme indique (traduction personnelle) : Le "Weak Sequenceing" est dfini par un ensemble de traces ayant ces proprits : l'ordre des interactions prsentes dans chaque oprande est maintenu au final ; les interactions prsentes sur des "lignes de vie" (lifeline) diffrentes dans des oprandes diffrents peuvent arriver dans n'importe quel ordre ; les interactions prsentes sur des "lignes de vie" (lifeline) identiques dans des oprandes diffrents sont ordonnes de telle manire que les interactions du premier oprande arriveront avant celles du second oprande.

Donc le "Weak Sequencing" revient une excution en parallle lorsque les participants des oprandes sont disjoints. Le "Weak Sequencing" revient un "Strict Sequencing" lorsque les oprandes ne font intervenir qu'un seul participant. Mais plus qu'une explication textuelle sujette incomprhension, je vous propose deux exemples qui seront sans doute plus clairs. L'exemple ci-dessous montre un oprateur "seq" : Le "weak sequencing" est le "mode" de description par dfaut des diagrammes de squence. Ici, l'interprtation de ce diagramme est : - resultatMaintenance arrive aprs actionMaintenance, - question arrive aprs consulterSite, - reponse arrive aprs question. Les deux diagrammes cidessous sont donc quivalent.

- 10 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

L'exemple ci-dessous montre un oprateur "strict" : L, l'interprtation de ce diagramme est : - resultatMaintenance arrive aprs actionMaintenance, - question arrive aprs consulterSite, - reponse arrive aprs question. ET resultatMaintenance arrive apres reponse. Il y a donc un ordre impos dans cette squence entre les deux groupes d'intractions.

- 11 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

II-F - Oprateur "Negative"


L'oprateur "Negative" (ngatif) not "neg" dsigne un ensemble d'interactions invalides. L'exemple ci-dessous montre un oprateur "neg" : On ne souhaite pas que l'utilisateur puisse obtenir des billets avec un code erron et une somme demande incorrecte.

II-G - Oprateur "Critical"


L'oprateur "Critical" (critique) not "critical" dsigne une section critique. Une section critique permet d'indiquer que les interactions dcrites dans cet oprateur ne peuvent pas tre interrompues par d'autres interactions dcrites dans le diagramme. On dit que l'oprateur impose un traitement atomique des interactions qu'il contient.

- 12 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

L'exemple ci-dessous montre un oprateur "critical" : On ne souhaite pas que l'utilisateur puisse obtenir des billets avec un code erron et une somme demande incorrecte.

II-H - Oprateurs "Ignore" et "Consider"


L'oprateur "Ignore" (ignorer) indique qu'il existe des messages qui ne sont pas prsents dans le fragment combin. Ces messages sont en fait des messages que l'on peut qualifier d'insignifiants : intuitivement, ce sont des interactions que l'on ne prend pas en compte. On peut aussi interprter l'oprateur "ignore" dsignant des interactions pouvant intervenir tout moment dans le flot des interactions du diagramme de squence. Au contraire, l'oprateur "Consider" (considrer) dsigne les interactions prendre en compte dans la squence. On peut imaginer que ce genre de construction soit plus particulirement utilis dans des profils orients tests. L'exemple ci-dessous montre un exemple pour l'oprateur "ignore" : Le message connexionEtablie est spcifi comme ignore. On considre que la squence est tout de mme correcte si jamais lors de l'excution ce message n'apparaissait pas.

- 13 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

L'exemple ci-dessous montre un exemple pour l'oprateur "consider" : Le diagramme ci-dessous est exactement quivalent celui dcrit pour l'oprateur ignore.

II-I - Oprateur "Assertion"


L'oprateur "Assertion" est not "assert". Il indique que le fragment combin est une assertion. Rappel : qu'est-ce qu'une assertion : Une assertion dsigne, selon le Petit Larousse illustr, une proposition que l'on avance et que l'on soutient comme vraie : c'est donc l'quivalent d'une affirmation, la nuance rsidant dans le fait (si mes souvenirs sont exacts) que une assertion n'est pas prouve. La squence dcrite dans l'oprande dsigne donc l'unique squence possible. Toutes les autres squences possibles sont des squences invalides. La norme indique que cette construction est souvent utilise en combinaison avec les oprateurs "ignore" et "consider". On peut imaginer que ce genre de construction soit plus particulirement utilis dans des profils orients tests.

- 14 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

II-J - Oprateur "Loop"


L'oprateur "Loop" (boucle) est not "loop". Cet oprateur est utilis pour dcrire un ensemble d'interaction qui s'excutent en boucle. En gnral, une contrainte appele garde indique le nombre de rptitions (minimum et maximum) ou bien une condition boolenne respecter. L'exemple ci-dessous montre un exemple pour l'oprateur "loop" : Le diagramme de squence indique que lorsque l'utilisateur se trompe trois fois de code, la carte est garde et le distributeur se remet en mode d'attente d'une carte.

- 15 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

II-K - Combiner les oprateurs


Les fragments combins et leurs oprateurs peuvent tre combins/mixs en vue de dcrire des comportements complexes. L'exemple ci-dessous montre un exemple de combinaison de fragments : Le diagramme de sequence indique que lorsque l'utilisateur se trompe trois fois de code, la carte est garde et le distributeur se remet en mode d'attente d'une carte.

III - Les rfrences (appel en anglais "interaction occurrence")


Une rfrence (interaction occurrence) peut tre vue comme un pointeur ou un raccourci vers un autre diagramme de squence existant. Cela quivaut copier le contenu du diagramme de squence point en lieu et place de la rfrence. Attention cependant tre cohrent au niveau des paramtres utiliss. Cela permet de factoriser des parties de comportement utilises dans plusieurs scnario. L'exemple ci-dessus montre une rfrence : Le diagramme de squence "identifierUtilisateur" fait rfrence au diagramme de squence "vrifierSomme" prsent ci-dessous.

- 16 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

IV - Les continuations (appel en anglais "continuation symbol")


Un symbole continuation est un manire de dfinir des branchements. Ces symboles sont souvent utiliss avec les fragments combins "alt" : ils permettent ainsi de se brancher sur le bon comportement en fonction de la condition de l'alternative. Dans d'autres langages, ce type de construction est aussi connu sous le nom de label. Les continuations sont reprsentes par un tat qui peut recouvrir plusieurs "lignes de vie"(lifeline). L'exemple ci-dessous montre l'utilisation du symbole continuation combin l'oprateur "alt"

- 17 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

V - Messages Perdus / Trouvs


Deux reprsentations supplmentaires sont notre disposition pour la description de scenarii dgrads. Les constructions "perdu / trouv" (lost and found) permettent de reprsenter respectivement la perte d'un message (destinataire non contact) et l'arrive inopine d'un message (expditeur non identifi). L'exemple ci-dessous montre comment sont reprsents des messages perdus / trouvs.

- 18 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

VI - Dcomposition hirarchique de diagrammes de squence (part decomposition)


La dcomposition hirarchique permet de raliser une description TOP-DOWN du systme raliser. On peut ainsi commencer par un diagramme de haut niveau ( les utilisateurs + le systme) pour chaque fonctionnalit et ensuite raffiner chaque diagramme pour dcrire les interactions entre sous-systmes. L'exemple ci-dessous montre le principe relatif la dcomposition hirarchique. Attention : l'outil utilis pour raliser ces exemples ne propose pas encore ce type de construction : cela explique le soulign rouge aprs le mot cl ref.

- 19 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

- 20 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

VII - Cration d'objet et suppression


Il est possible de reprsenter la cration d'un objet (quivalent d'un new()) dans un diagramme de squence : ceci est modlis au moyen d'une ligne pointille partant de l'objet pre et allant vers l'objet fils. De mme, on peut reprsenter la mort/suppression d'un objet par une "croix" sur la "ligne de vie". Attention, ce symbole a un caractre dfinitif, l'objet est considr comme mort. On peut donc aisment reprsenter des crations dynamiques d'objet, des instanciations.

- 21 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

Nouveauts UML 2.0 : Diagramme de squence par Cian

VIII - Contraintes de temps


Des contraintes temporelles peuvent tre indiques sur les diagrammes de squence. Le diagramme ci-dessus impose une contrainte de temps pour la connexion d'un utilisateur. Attention, certains outils proposent galement la modlisation de timers : les timers ne sont pas spcifis dans la norme UML2.0 aujourd'hui. C'est donc une construction totalement propritaire des outils : cela peut poser problme lors des import / export par exemple.

IX - Contraintes et invariants
Il est possible d'indiquer les "lignes de vie" des entits des contraintes. Ceci est appel "state invariant" dans la norme UML2.0. Attention, on parle d'tat mais cela peut tre tout simplement une valeur d'un attribut. Cette contrainte est considre comme value l'excution. Elle est value immdiatement avant l'excution de la prochaine intraction de telle manire que toutes les actions qui ne sont pas explicitement modelises soient considres comme excutes. Ces contraintes sont reprsentes par un tat ou par un texte pouvant ressembler { NomEntite.Attribut1==0}.

- 22 Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2004 Cian. Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts. Cette page est dpose la SACD.

http://cian.developpez.com/uml2/tutoriel/sequence/

You might also like