Julie Dugdale Julie.Dugdale@upmf-grenoble.fr Génie Logiciel 2 Julie Dugdale Julie.Dugdale@upmf-grenoble.fr
Diagrammes d'activité Master ICA
Sommaire Rappel: UML propose quatre types de diagrammes pour établir le modèle dynamique d'un système : Diagrammes dynamiques de description “générique” diagrammes d'états diagrammes d'activités Diagrammes de description de scénarios Notion de scénario diagrammes de séquence diagrammes de collaboration Master ICA
Diagrammes dynamiques de description “générique” Rappel: Diagrammes d'états : ils décrivent le cycle de vie d'un objet (ou du système), qui participe éventuellement à plusieurs activités, on associe généralement un diagramme d'états à une classe. Diagrammes d'activités : ils décrivent le déroulement d'une activité, qui concerne éventuellement plusieurs objets. Master ICA
Dessiner des diagrammes d'activité But : Modéliser une tâche ou un processus ('workflow‘ /’flowchart’) (par exemple dans la modélisation du 'business') Décrire une fonction d'un système, représentée par un cas d'exemple Décrire la logique d'une opération Master ICA
Diagrammes d'activités et diagrammes d'états Un diagramme d'activités n'est pas un diagramme d'états, au delà des différences fondamentales, on peut noter que : la grande majorité des transitions d'un diagramme d'activités sont implicites (la tâche source est effectuée), quelques unes sont gardées, la grande majorité des diagrammes d'activités proposent un cheminement séquentiel ou “approchant”. Master ICA
Diagrammes d'activités et diagrammes d'états Spécifique aux diagrammes d'états Affichage notation d'état Spécifique aux diagrammes d’activités Affichage notation d'activité États et activités : attention aux différences de notation Master ICA
Diagrammes d'activités et diagrammes d'états Notez: Ces différences de notation ne sont pas acceptées par tout le monde… Vous trouverez de nombreux exemples où la notation des diagrammes d’états est utilisée dans des diagrammes d’activité… Master ICA
Notation des diagrammes d'activité Nœud initial Cercle noir Ajouter un nouveau Client Dès que cette action est achevée, l’action suivante commence Nœud de décision Diamant Assigner employé à contacter [pas de campagne de pub] Condition de garde Dans des crochets [campagne de pub à démarrer] Démarrer nouvelle campagne Nœud finale Cercle noir dans cercle blanc Master ICA Exemple: entreprise de publicité
Notation des diagrammes d'activité Nœuds de bifurcation et Nœuds d’union Barre épaisse Actions menées en parallèle Ajouter un nouveau Client Démarrer nouvelle campagne Assigner employé à contacter Master ICA
Notation des diagrammes d'activité En UML 1.X il n’était pas nécessaire d’utiliser un nœud de décision explicite : les flots multiples d'une action étaient implicitement sujets à l’opérateur logique ‘OR’ (Ou) [campagne de pub à démarrer] Ajouter un nouveau Client Assigner employé à contacter Démarrer nouvelle campagne [pas de campagne de pub] Master ICA
Notation des diagrammes d'activité En UML 2.0 ils sont implicitement ANDed Tous les flots doivent être pris Activité 1 Activité 2 Activité 3b Activité 3a Master ICA
Notation des diagrammes d'activité Les conditions de garde n'ont pas besoin d'être mutuellement exclusives, mais il est recommandé qu'elles le soient. (Sinon vous devez spécifier l’ordre d’évaluation) [Garde a] Activité 1 Activité 2 Activité 3 Mauvaise idée! Master ICA
Notation des diagrammes d'activité: itérations Ajouter un nouveau Client Boucle (ou itération) Activité ‘assigner employés à campagne’ est répétée jusqu’à ce qu’il n’y ait plus de ‘employé’ à assigner à cette campagne particulière Assigner employé à contacter [pas de campagne de pub] [campagne to add] Démarrer nouvelle campagne [pas d’employé à assigner] [employé à assigner] Assigner employé à Campagne [encore des employés à assigner] [plus d’employé à assigner] Master ICA
Diagrammes d'activité Avec les diagrammes d’activité il est possible de représenter les trois composants structurels de tous les langages de programmation procéduraux: Séquences Sélections Itérations Master ICA
Résumé Des éléments-clé des diagrammes d'activité sont : Activités actions dont la complétion d'une d'entre elles entraine automatiquement une transition vers la prochaine étape du processus. Transitions un mouvement d'une activité vers une autre Conditions de garde règles décrivant dans quelles circonstances une transition pourra se produire Master ICA
Résumé Etat de départ / état initial l'état initial du système au début du processus. Etat de fin / final, ou point de sortie Un processus peut avoir plusieurs points de sortie, chacun relié à une post-condition spécifique (c.a.d. une condition vérifiée quand le processus se termine) Swim lanes (Couloirs) optionnels. Ils montrent comment différents objets prennent la responsabilité d'effectuer certaines actions… Master ICA
Notation des diagrammes d'activité Enregistrer fin de la campagne Envoyer facture Manager de Campagne Client Expert comptable Payer facture Enregistrer paiement du client Partition d'activité (Swimlanes) Colonnes verticales Étiquetées avec la personne, l'organisation, le département ou le système responsable pour les activités dans cette colonne Master ICA
Diagramme d’activités: distributeur de billets Utilisateur Distributeur Insérer carte Demander code Abandonner Entrer code Accéder compte Contrôler code [Vérifications OK] else Demander montant Refuser retrait Entrer montant Master ICA
Diagramme d'activités Exemple: Fonctionnement d’un commerce Client Ventes Entrepôt Demande d'achat une swimlane Commande Préparer la marchandise Paiement Délivrer la marchandise une autre swimlane Récupérer la marchandise Utiliser des “swimlanes” permet de fixer les responsabilités. Master ICA