CONCEPTION des SYSTÈMES d`INFORMATION UML SOMMAIRE
Transcription
CONCEPTION des SYSTÈMES d`INFORMATION UML SOMMAIRE
CONCEPTION des SYSTÈMES d’INFORMATION UML 2 : Analyse Fonctionnelle Epitech 3 – Automne 2007 Bertrand LIAUDET SOMMAIRE LES CAS D’UTILISATION 2 1. Présentation intuitive de la notion de cas d’utilisation 2 2. Les cas d’utilisation du logiciel – Approche par l’exemple 4 3. Les cas d’utilisation du logiciel – Formalisme 10 4. Méthode de construction d’un diagramme des cas d’utilisation 15 5. TP-PROJET : Diagramme des cas d’utilisation avec VISIO 17 LES SCENARIOS ET LEURS SEQUENCES 18 1. Les scénarios des cas d’utilisation et leurs séquences 18 2. TP-PROJET : Séquence des scénarios avec VISIO 21 LE DIAGRAMME D’ACTIVITE DES SCENARIOS 22 1. Les diagrammes d’activité dans l’analyse fonctionnelle 22 2. Diagramme d’activité d’un cas d’utilisation 24 3. Diagramme d’activité d’un traitement MERISE 25 4. TP-PROJET : Séquence des scénarios avec VISIO 26 EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 1/26- Bertrand LIAUDET LES CAS D’UTILISATION Il est facile de décrire la méthode encore que son application exige à coup sûr savoir et pratique. 1. Présentation intuitive de la notion de cas d’utilisation Diagramme UML Cas d’utilisation ANALYSE FONCTIONNELLE Séquence Activités Cas d’utilisation Un cas d’utilisation est, comme son nom l’indique : un usage du système (du programme), une fonctionnalité du système. Un cas d’utilisation est : une fonctionnalité complète du système. Par exemple : Dans le système « guichet automatique d’une banque », « retirer de l’argent » est un cas d’utilisation. C’est une fonctionnalité complète du système qui va de l’insertion de la carte de retrait par le client jusqu’à la récupération de la carte de retrait par le client. Du point de vue de l’utilisateur, un cas d’utilisation est : un ensemble d’activités du système qui produit un résultat intéressant pour un utilisateur Du point de vue du système lui-même, un cas d’utilisation est : un ensemble d’activités qui part d’un système au repos pour arriver de nouveau à un système au repos. Acteur Les cas d’utilisation sont initiés par des acteurs. Un acteur est à l’extérieur du système. Il interagit avec le système. Par exemple : EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 2/26- Bertrand LIAUDET Dans le système « guichet automatique d’une banque », le client qui vient retirer de l’argent est un acteur du système. Acteur et cas d’utilisation contiennent des instances concrètes Les cas d’utilisation peuvent être considérés comme des classes (des ensembles ou des types) dont instances concrètes (les éléments de l’ensemble) seront les scénarios. Par exemple : Il y aura plusieurs scénarios pour retirer de l’argent : si le code de la carte de retrait est faux ; si le client n’est pas autorisé à retirer de l’argent ; si le guichet n’a plus de billets ; etc. De même, les acteurs peuvent être considérés comme des classes dont les instances concrètes sont des personnes concrètes. Par exemple : M. Dupond qui vient retirer de l’argent est un acteur concret. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 3/26- Bertrand LIAUDET 2. Les cas d’utilisation du logiciel – Approche par l’exemple Reverse engineering : cas d’utilisation du logiciel WORD : les menus Partons du logiciel Word et décrivons les cas d’utilisation. Les cas d’utilisation sont donnés par les menus. Les cas d’utilisation abstraits sont les menus qui contiennent des sous-menus. Les cas d’utilisation concrets sont les menus qui conduisent à une activité. Arborescence des menus Menu général New Fichier Edition Affichage Insertion etc. Ouvrir Save Save as Envoyer vers Destinataire Dossier exchange etc. Les cas d’utilisation concrets correspondent aux feuilles de l’arbre. Ils sont soulignés. Les cas d’utilisation abstraits correspondent aux nœuds non-feuilles. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 4/26- Bertrand LIAUDET Cas d’utilisation des menus Affichage Edition Gestion des fichiers Utilisateur «hérite» Nouveau Ouvrir «hérite» «hérite» Sauver «hérite» «hérite» Envoyer vers Sauver sous «hérite» Destinataire «hérite» Dossier exchange Cas d’utilisation abstraits Il y a 4 cas d’utilisation abstraits : « Edition », « Affichage », « Gestion de fichier » et « Envoyer vers ». Ces cas d’utilisation abstraits regroupent des cas d’utilisation concrets. Cas d’utilisation concrets Il y a 6 cas d’utilisation concrets : « Nouveau », « Ouvrir », « Sauver », « Sauver sous », « Destinataire », et « Dossier exchange ». Les cas d’utilisation concrets correspondent à un usage concret du logiciel. Niveaux de présentation des cas d’utilisation On peut proposer un seul diagramme des cas d’utilisation : il risque d’être très embrouillé. On aura donc intérêt à présenter plusieurs diagrammes d’utilisation par niveau d’abstraction descendant. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 5/26- Bertrand LIAUDET Cas d’utilisation du menu général Affichage Edition Gestion des fichiers Utilisateur Etc. Cas d’utilisation du menu général Cas d’utilisation du menu Gestion de fichier Gestion des fichiers «hérite» «hérite» «hérite» «hérite» «hérite» Utilisateur Nouveau Ouvrir Sauver Envoyer vers Sauver sous «hérite» «hérite» Destinataire Cas d’utilisation du menu Gestion de fichier EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 6/26- Bertrand LIAUDET Dossier exchange Cas d’utilisation d’une borne de retrait d’argent : inclusion et extension Système Borne interactive de banque «extends» (si demandé) Demander un ticket Retirer argent Tout porteur de carte «uses» «hérite» «uses» S'autenthifier Faire virement «uses» Porteur de carte de la banque Consulter compte Cas d’utilisation concret Il y a trois cas d’utilisation concrets: « retirer de l’argent », « effectuer un virement » et « consulter le compte ». Sous-cas d’utilisation inclus Ces trois cas d’utilisation incluent le sous-cas d’utilisation « s’authentifier ». Sous-cas d’utilisation étendu Le cas d’utilisation « retirer de l’argent » est étendu par le sous-cas d’utilisation « demander un ticket » à la condition que ce soit demandé. Inclusion de cas d’utilisation Un cas d’utilisation correspond au « film » du déroulement du programme pour une utilisation donnée. Un cas d’utilisation inclus est un morceau de ce film. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 7/26- Bertrand LIAUDET Il faut éviter de mettre trop de cas d’utilisation inclus pour éviter d’alourdir inutilement le diagramme des cas d’utilisation. On met des cas d’utilisation inclus dans 3 cas : 1. Quand on pense que cela apporte quelque chose à la compréhension du diagramme 2. Quand le cas d’utilisation inclus est partagé par plusieurs cas d’utilisation. 3. Quand le cas d’utilisation inclus est aussi un cas d’utilisation pour un acteur. Extension de cas d’utilisation C’est le même principe que pour les inclusions : Un cas d’utilisation correspond au « film » du déroulement du programme pour une utilisation donnée. L’extension d’un cas d’utilisation inclus est un morceau de ce film. Mais ce morceau ne s’exécute que sous condition. Il faut éviter de mettre trop d’extension de cas d’utilisation pour éviter d’alourdir inutilement le diagramme des cas d’utilisation. On met des cas d’utilisation étendus dans 3 cas : 1. Quand on pense que cela apporte quelque chose à la compréhension du diagramme. 2. Quand le cas d’utilisation étendu est partagé par plusieurs cas d’utilisation. 3. Quand le cas d’utilisation étendu est aussi un cas d’utilisation pour un acteur. Sur les acteurs Généralisation des acteurs Les acteurs peuvent être généralisés et inversement spécialisés. L’intérêt de la généralisation, c’est de montrer que certains acteurs héritent de tous les cas d’utilisation d’autres acteurs, et qu’ils ont en plus leur cas d’utilisation spécifiques. Dans l’exemple traité, l’acteur « porteur de carte de la banque » peut consulter son compte et faire des virements. En plus de cela, il peut faire ce que peuvent faire tous les porteurs de carte, à savoir retirer de l’argent. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 8/26- Bertrand LIAUDET Version avec héritage Retirer argent «hérite» Tout porteur de carte Faire virement Consulter compte Porteur de carte de la banque Version équivalente sans héritage Retirer argent Tout porteur de carte Faire virement Consulter compte Porteur de carte de la banque Différents types d’acteurs On peut distinguer entre : • Acteur primaire vs Acteur secondaire l’acteur primaire, c’est l’acteur principal : l’utilisateur, etc. L’acteur secondaire, c’est par exemple l’administrateur du système. • Acteur actif vs Acteur passif : l’acteur actif est à l’origine du cas d’utilisation. L’acteur passif n’est pas à l’origine du cas d’utilisation. • Acteur humain vs Acteur mécanique : les personnes ou les services par opposition aux périphériques ou aux logiciels. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 9/26- Bertrand LIAUDET 3. Les cas d’utilisation du logiciel – Formalisme Description des cas d’utilisation Exemple Borne interactive d’une banque Retirer de l’argent Effectuer un virement Client Consulter les comptes UML2, p.3 Cas d’utilisation <<stéréotype>> Nom du cas Liste de propriétés Ou bien Nom du cas Liste de propriétés Le petit ovale symbolise le stéréotype <<cas d’utilisation >> Ou bien <<cas d’utilisation>> Nom du cas Liste de propriétés Stéréotype Un stéréotype est une utilisation particulière d’un élément de modélisation. L’élément stéréotypé a un parent non stéréotypé. La syntaxe est la même pour l’élément stéréotypé et pour son parent, mais la sémantique est différente. Le rectangle (qui est un classeur) est stéréotypé en <<cas d’utilisation >> EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 10/26- Bertrand LIAUDET L’ovale (qui est un cas d’utilisation) peut être stéréotypé si on en voit l’utilité. Le classeur Un classeur est un élément de modélisation qui décrit une unité comportementale ou structurelle. C’est la forme la plus simple du regroupement. Un classeur se représente par un rectangle. Le système complet est un classeur. Borne interactive d’une banque Retirer de l’argent Effectuer un virement Consulter les comptes L’acteur Nom de l’acteur Ou bien <<acteur>> Nom de l’acteur L’association C’est un lien entre l’acteur et le cas d’utilisation. Par défaut, l’association n’est pas orientée : cela signifie que la communication se fait dans les deux sens. En orientant l’associant dans un sens, on signifie la priorité d’un sens de communication sur un autre. Par exemple : en cas d’acteur passif, on pourra orienter l’association vers l’acteur. Les 3 relations entre les cas d’utilisation 3 relations possibles entre les cas d’utilisation : EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 11/26- Bertrand LIAUDET • généralisation • inclusion • extension La relation relie deux cas d’utilisation par une flèche. Du côté du départ de la flèche, on parle de source, du côté de l’arrivée de la flèche, on parle de destination. Source destination La généralisation Le cas d’utilisation source est une espèce du cas d’utilisation destination. Le cas d’utilisation destination est un genre pour le cas d’utilisation source. Par exemple Le cas d’utilisation « consulter le compte carte bleue » est une espèce du cas d’utilisation « consulter les comptes » Formalisme Ce formalisme vaudra pour toutes les relations de généralisation / spécialisation. Consulter les comptes Consulter le compte CB L’inclusion Le cas d’utilisation source comprend le comportement du cas d’utilisation destination. Donc la destination est une partie nécessaire de la source : D inclut dans S. On peut aussi dire que la destination est une étape obligée de la source. Donc : si S alors D si non D alors non S L’inclusion, comme la généralisation, sont des relations structurelles et nécessaires. Par exemple EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 12/26- Bertrand LIAUDET Le cas d’utilisation « Retirer de l’argent» inclut le cas d’utilisation « s’authentifier ». « S’authentifier » est une étape obligée de « retirer de l’argent ». Formalisme Retirer de l’argent <<inclut>> S’authentifier L’extension Le cas d’utilisation source ajoute son comportement au cas d’utilisation destination. Il l’ajoute sous condition. Remarque : S’il n’y avait pas de condition, alors l’extension serait une inclusion inversée : le cas d’utilisation destination comprendrait le comportement du cas d’utilisation source. Mise à part la condition, l’extension peut être vue comme équivalente à l’inclusion (mais à l’envers). Ce qui distingue les deux, c’est le caractère nécessaire de l’une (inclusion) et le caractère accidentel de l’autre (extension). Par exemple Le cas d’utilisation « Acheter un billet» est étendu par le cas d’utilisation « établir une facture». En effet, le cas d’utilisation « établir une facture» sera effectué uniquement à la demande du client. Formalisme Acheter un billet Condition : si le client le demande <<étend>> établir une facture Relation entre les acteurs : la généralisation Il n’y a qu’une seule relation possible entre les acteurs : la généralisation EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 13/26- Bertrand LIAUDET L’acteur source est une espèce de l’acteur destination. L’acteur destination est un genre de l’acteur source. Exemple et formalisme affichage utilisateur paramétrage administrateur MO.UML, p. 154 L’administrateur est une espèce d’utilisateur. Tous les administrateurs sont des utilisateurs. Donc les administrateurs accèdent aux cas d’utilisation des utilisateurs : ils accèdent à « affichage ». Par contre, les utilisateurs n’accèdent pas au paramétrage. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 14/26- Bertrand LIAUDET 4. Méthode de construction d’un diagramme des cas d’utilisation Recherche des acteurs - distinction entre acteur principal et acteur secondaire Est acteur du système tout ce qui est à l’extérieur du système et qui interagit avec le système. Les principaux acteurs sont les utilisateurs du système. Mais il ne faut pas oublier ceux qui l’administrent d’une façon ou d’une autre. Ni les acteurs mécaniques : • Des périphériques manipulés par le système (imprimantes, système de télétransmission, etc.) • Des logiciels interfacés ou intégrés au système (SGBD, etc.) L’acteur principal d’un cas d’utilisation est celui pour qui le cas d’utilisation produit le résultat utile. En général, l’acteur principal initie le cas d’utilisation, mais ce n’est pas toujours vrai. Les autres acteurs du cas d’utilisation sont dits secondaires. Recherche des cas d’utilisation Les cas d’utilisation sont les finalités du système : ses objectifs, ce qu’on veut qu’il permette de réaliser. Les cas d’utilisation doivent couvrir tous les besoins fonctionnels du système. Par exemple : Un logiciel de réservation de billet de train sur internet à trois cas d’utilisation : • La recherche des voyages possibles • La réservation des places (on peut réserver et payer plus tard). • Le paiement Autre exemple : Dans le cas des retraits d’argent, le système interagit avec le système central qui donne les autorisations. Ce système central doit être représenté comme un acteur. Dans ce système il y a trois cas d’utilisation : • Le retrait d’argent • La consultation de compte EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 15/26- Bertrand LIAUDET • Les virements de compte à compte • Si on distinguait entre consultation du solde et consultation des opérations, on aurait deux espèces de cas d’utilisation pour le genre consultation de compte. Mais il n’y a pas d’acteur qui soit spécifiquement associé à l’un de ces cas d’utilisation sans être associé aussi au cas général. • Donc, la précision des cas d’utilisation espèce sera ici inutile au niveau d’abstraction le plus élevé. Cas d’utilisation principaux Seuls les cas d’utilisation directement associés à un acteur sont les cas d’utilisation principaux du modèle. C’est la liste des cas d’utilisation principaux qui doit couvrir exhaustivement toutes les fonctionnalités du système (inclusion et extension peuvent être considérées comme implicites). Les extensions et les inclusions de cas d’utilisation sont des précisions apportées, mais qui, le plus souvent, n’augmentent pas le nombre des cas d’utilisation principaux. Il en va de même pour les généralisations / spécialisations. Recherche des cas d’utilisation par la recherche des événements Pour trouver tous les cas d’utilisation du système, on peut aussi lister tous les stimulus qui peuvent être envoyés au système. Ces stimulus sont des événements. • Evénements externes : ceux qui sont initiés par un acteur externe • Evénements temporels : moments qui déclenchent une action dans le système • Evénements décision : événements déclenchés par une décision On peut aussi s’intéresser aux résultats produits par le système. En effet, les résultats peuvent être à l’origine de nouveaux cas d’utilisation du système. Recherche par le diagramme des flux et les diagrammes d’activité Pour déterminer les cas d’utilisation et les acteurs externes, on peut reprendre la technique de l’analyse des flux : diagramme des flux et diagrammes d’activité par processus. Diagramme des cas d’utilisation abstraits - Diagramme des cas d’utilisation détaillés On peut produire un diagramme des cas d’utilisation principaux : c’est le diagramme le plus abstrait. C’est celui qui donne la vision fonctionnelle du système la plus globale. Ensuite, pour chaque cas d’utilisation abstrait, on peut entrer dans le détail et produire un diagramme des cas d’utilisation détaillés. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 16/26- Bertrand LIAUDET 5. TP-PROJET : Diagramme des cas d’utilisation avec VISIO Faire la description textuelle des cas d’utilisation concrets sous Word. 1. Le dossier « Dossier analyse fonctionnelle » étant sélectionné : bouton droit : créer un soussystème. Renommer ce sous-système en « Logiciel ». 2. Le sous-système « Logiciel » étant sélectionné : bouton droit : créer un diagramme des cas d’utilisation. Une page de dessin apparaît à droite (si elle reprend un diagramme déjà existant, créer un autre diagramme des cas d’utilisation, puis supprimer le premier). 3. Mettez les acteurs qui sont dans l’explorateur dans la page de dessin. 4. Mettez les cas d’utilisation que vous trouverez dans l’explorateur : Formes/Cas d’utilisation. 5. Mettez les liens « communication » entre les acteurs et les cas d’utilisation. Bouton droit sur le lien : option d’affichage, supprimer les options de terminaison : nom 1er et 2ème term, et Mult. Terminaison. Double clique sur le lien : supprimez les noms de terminaison et sélectionnez un « is navigable ». 6. Mettez les liens d’inclusion si nécessaire. Flèche « utilise » dans Formes/Cas d’utilisation. Le lien d’inclusion se fait du cas incluant vers le cas inclus. 7. Mettez les liens d’extension si nécessaires. Flèche « extend » dans Formes/Cas d’utilisation. Double clique sur le lien : mettez la condition dans le nom, entre parenthèses. Bouton droit, option d’affichage sur le lien : sélectionner nom. Le lien d’extension se fait du cas extension vers le cas général (sens inverse du lien d’inclusion). 8. Mettez les liens de généralisation si nécessaire. Flèche « généralisation » dans Formes/Structure statique. 9. Mettez les bornes du système. « Limite de système » dans Formes/Cas d’utilisation. Modifier le nom et la taille du bloc. On peut courber les liens : bouton droit, lien en arc. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 17/26- Bertrand LIAUDET LES SCENARIOS ET LEURS SEQUENCES Il est facile de décrire la méthode encore que son application exige à coup sûr savoir et pratique. 1. Les scénarios des cas d’utilisation et leurs séquences Diagramme UML Cas d’utilisation ANALYSE FONCTIONNELLE Séquence Activités Cas d’utilisation et scénarios Un cas d’utilisation est une abstraction. Les scénarios correspondent aux instances concrètes d’un cas d’utilisation. Le scénario nominal est le scénario pour lequel le cas d’utilisation est conçu. Les scénarios alternatifs sont les scénarios alternatifs au scénario nominal. Il faut décrire chaque scénario. On peut pour cela soit faire une fiche écrite, soit faire un diagramme UML de séquence. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 18/26- Bertrand LIAUDET Diagramme de séquence d’un scénario : exemple du « save as » Diagramme de séquence du scénario nominal du cas d’utilisation : « save as » UC : save as But: sauver sous un nouveau nom Scénario Nominal Pré condition : fichier ouvert Post condition: fichier ouvert Système Word::Utilisateur Entrez nom et répertoire() OK Message synchrone : une fois le message envoyé, l’expéditeur est bloqué jusqu’à ce que le destinataire accepte le message. Message asynchrone : le message envoyé n’interrompt pas l’exécution de l’expéditeur. Autre représentation d’un message asynchrone On s’intéresse au logiciel d’une banque : un client vient retirer de l’argent sur son compte. C’est le guichetier qui gère l’opération. Description textuelle du cas d’utilisation : « save as » On peut aussi décrire les scénarios de façon uniquement textuelle. En général dans ce cas, on décrit à la fois le cas nominal et les cas alternatifs. On n’utilisera pas cette méthode. Identification Nom du cas : Save as But : sauvegarder dans un autre fichier Acteur principal : l’utilisateur Acteur secondaire : aucun Séquencement Le cas d’utilisation se trouve dans le menu Fichier Pré-conditions (état du système avant l’opération). Fichier ouvert Enchaînement nominal 1.0 L’utilisateur entre le nom et le répertoire du nouveau fichier et valide. 2.0 L’application renvoie un message de confirmation de l’opération. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 19/26- Bertrand LIAUDET Post-conditions (état du système après l’opération) Fichier sauvegardé ouvert Alternative n°1 1.1 Annulation en cours de saisie (1.1 est une alternative à 1.0) .Post-conditions (état du système après l’opération) Fichier ouvert et non sauvé. Alternative n°2 2.1 Problème de sauvegarde Post-conditions (état du système après l’opération) Retour en 1.0 Diagramme de séquence d’un scénario : exemple du « retirer de l’argent » Diagramme de séquence du scénario nominal du cas d’utilisation : retirer de l’argent. On s’intéresse au logiciel d’une banque : un client vient retirer de l’argent sur son compte. C’est le guichetier qui gère l’opération. UC : retirer de l’argent But : retirer de l’argent Cas nominal Pré condition : rien Post condition : rien Guichetier : Système Système central Saisie du numéro de compte Demande de validité du compte Compte valide Demande de type d’opération Retrait d’espèces de 200 euros Demande de débit du compte Compte débité Autorisation de délivrer 200 euros UML2, p. 11 Description textuelle du cas d’utilisation : retirer de l’argent. On peut aussi décrire les scénarios de façon uniquement textuelle. En général dans ce cas, on décrit à la fois le cas nominal et les cas alternatifs. On n’utilisera pas cette méthode. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 20/26- Bertrand LIAUDET Identification Nom du cas : retirer de l’argent But : opération de retrait d’argent par un guichetier de banque Acteur principal : le guichetier Acteur secondaire : le système central Séquencement Le cas d’utilisation commence quand un client demande un retrait d’espèces. Pré-conditions (état du système avant l’opération). Système central en état de marche Enchaînement nominal 1.0 Le guichetier saisit le numéro de compte client 2.0 L’application valide le compte auprès du système central 3.0 Le système central valide le compte 4.0 L’application demande le type d’opération au guichetier 5.0 Le guichetier sélectionne un retrait d’espèces 6.0 L’application demande au système central de débiter le compte. 7.0 Le système central valide la demande 8.0 Le système notifie au guichetier qu’il peut délivrer le montant demandé. 9.0 Le guichetier ferme le compte. Post-conditions (état du système après l’opération). Aucune Alternative n°1 3.1 Le système central ne valide pas le compte (alternative à 3.0) .Post-conditions (état du système après l’opération) Retour en 1.0 Alternative n°2 7.1 Le système central ne valide pas le retrait (alternative à 7.0) Post-conditions (état du système après l’opération) Retour en 6.0 2. TP-PROJET : Séquence des scénarios avec VISIO Faire les diagrammes de séquences des cas d’utilisation sou VISIO. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 21/26- Bertrand LIAUDET LE DIAGRAMME D’ACTIVITE DES SCENARIOS Il est facile de décrire la méthode encore que son application exige à coup sûr savoir et pratique. 1. Les diagrammes d’activité dans l’analyse fonctionnelle Diagramme UML Cas d’utilisation ANALYSE FONCTIONNELLE Séquence Activités 1. Présentation Le diagramme d’activité montre l’enchaînement des actions (une action est un partie de l’activité) et des décisions au sein d’une activité du système, ou au sein de tout le système (d’où son utilisation en analyse fonctionnelle et en analyse architectonique). 2. Eléments des diagrammes d’activité et formalisme UML Action et Activité Une activité est l’exécution d’un comportement. Une action est une partie de l’activité. Une activité est par exemple constituée de plusieurs actions qui se déroule l’une après l’autre : elles seront reliées par des transition. Transition ou Flux de contrôle Une transition relie deux actions entre elles (source - destination). Une transition peut être réflexive. Elle montre le passage d’une activité à l’autre. En général, elle est déclenchée par la fin du comportement de l’activité source. Etat initial EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 22/26- Bertrand LIAUDET L’état initial montre le point de départ de la première activité. Il n’y a qu’un seul état initial par activité. Etat final L’état final montre le point d’arrivée de la dernière activité. Il peut y avoir plusieurs états finaux pour une activité. Transition conditionnelle = décision C’est un aiguillage dans une transition. condition On précise la condition de l’aiguillage. non oui Attention : la transition conditionnelle indique que le flux peut partir d’un côté ou de l’autre. Mais attention : il n’y a pas de choix à ce niveau. Le choix a été fait au niveau de l’action. Synchronisation fourche ou Transition fourche Certaines activités peuvent se dérouler en parallèle : Synchronisation jonction ou Transition jonction Certaines activités peuvent être déclenchées par la fin coordonnée de plusieurs autres Travée ou Couloir Les travées répartissent les activités par responsable des activités (personnes ou service). On peut aussi représenter les acteurs dans les travées. Transition à objet objet : Classe [valeur] On peut faire apparaître les objets dans une transition entre deux activités Les objets représentés sont ceux qui initient des activités, qui sont utilisés par des activités, ou qui sont modifiés par des activités. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 23/26- Bertrand LIAUDET Transition à signal : envoi et réception Envoi : Recption : On peut faire apparaître l’envoi ou la réception d’un signal entre deux activités Etat à sous-activité Un état à sous-activités « encapsule » un diagramme d’activité. 2. Diagramme d’activité d’un cas d’utilisation On peut représenter tous les scénarios d’un cas d’utilisation dans un diagramme d’activité. On utilisera cette possibilité dans le projet. Exemple : le save as Annulation Activité du save as. Affichage de la fenêtre Sauvegarde EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 24/26- Bertrand LIAUDET 3. Diagramme d’activité d’un traitement MERISE On peut représenter un traitement au sens MERISE dans un diagramme d’activité. On n’utilisera pas cette possibilité dans le projet. Exemple : diagramme d’activité du traitement PasserCommande Client Service comptable Passer Commande Etablir devis Service livraison Vérifier disponibilité [modifier] Calculer le prix Devis Valider valider Annuler Facture [émise] établir la facture Facture [réglée] valider le paiement préparer la commande Régler la facture Livrer commande Clôturer dossier UML2, p. 165 Etat initial Activité Etat final Synchronisation transition Classe / Objet EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 25/26- Bertrand LIAUDET 4. TP-PROJET : Séquence des scénarios avec VISIO Faire un diagramme d’activité pour tous les scénarios de quelques cas d’utilisation sous VISIO. 1. Créez un diagramme d’activité dans le sous-système logiciel (dans l’explorateur). 2. Mettez un état initial : Etat initial pris dans Formes/Activités. 3. Mettez une activité : Etat action pris dans Formes/Activités. 4. Mettez un lien entre l’état initial et l’activité : Flux de contrôle pris dans Formes/Activités. 5. Mettez des décisions si nécessaire. EPITECH - CSI - UML – Analyse Fonctionnelle - 2007-2008 - page 26/26- Bertrand LIAUDET