Introduction à UML Langage de modélisation pour la Conception Orientée Objet

Documents pareils
Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Les diagrammes de modélisation

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

IFT2255 : Génie logiciel

Chapitre I : le langage UML et le processus unifié

Cours de Génie Logiciel

Cours STIM P8 TD 1 Génie Logiciel

Table des matières Sources

Université de Bangui. Modélisons en UML

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Analyse,, Conception des Systèmes Informatiques

Le Guide Pratique des Processus Métiers

UML (Paquetage) Unified Modeling Language

Projet Active Object

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

UML (Diagramme de classes) Unified Modeling Language

Rational Unified Process

Guichet automatique de banque

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Business Process Modeling (BPM)

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Nom de l application

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Ingénierie des Modèles. Méta-modélisation

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Présentation du PL/SQL

Architecture d'entreprise : Guide Pratique de l'architecture Logique

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

RTDS G3. Emmanuel Gaudin

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Qualité du logiciel: Méthodes de test

Conception des systèmes répartis

Cours Gestion de projet

Générer du code à partir d une description de haut niveau

Conception, architecture et urbanisation des systèmes d information

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Cours en ligne Développement Java pour le web

Méthodologies de développement de logiciels de gestion

//////////////////////////////////////////////////////////////////// Administration bases de données

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Description de la formation

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

RAPPORT DE CONCEPTION UML :

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Intelligence Artificielle Planification

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

LES INTERFACES HOMME-MACHINE

GL Le Génie Logiciel

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

UML : DIAGRAMME D ETATS

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Conception des bases de données : Modèle Entité-Association

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Business Process Execution Language

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Pré-conditions : Evénement déclencheur : le client souhaite un virement. Description du déroulement du cas : Description des Use cases

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Diagrammes de Package, de déploiement et de composants UML

Notice de fonctionnement DVR H Méthode de Visionnage ESEENET

CATALOGUE FORMATION 2014/2015 Produits & Logiciels

Génie Logiciel Avancé Cours 3 Le modèle à objets

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

Initiation à LabView : Les exemples d applications :

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Formation : Modélisation avec UML 2.0 et Mise en pratique

Information utiles. webpage : Google+ : digiusto/

Introduction : présentation de la Business Intelligence

Management des processus opérationnels

Systèmes d information et bases de données (niveau 1)

Comprendre Merise et la modélisation des données

EXERCICES UML. Modéliser cette situation par un diagramme de cas d utilisation. Consulter planning

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Méthodes de développement. Analyse des exigences (spécification)

Patrons de Conception (Design Patterns)

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

Diagramme de classes

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Cours 14 Les fichiers

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Cours d algorithmique pour la classe de 2nde

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Transcription:

. Ecole Nationale Polytechnique Département Génie Industriel Année Universitaire 2011/2012 Programmation avancée Introduction à UML Langage de modélisation pour la Conception Orientée Objet Introduction Un ingénieur doit être capable de : 1. Spécifier clairement le problème qu il doit résoudre. 2. Dialoguer avec des équipes de conception/ les clients. besoin d un langage ou d une méthode de spécification et de modélisation. UML «Unified Modeling Language «Langage de Modélisation Unifié» UML : Langage de modélisation graphique Programmation sans programmer 1. Introduction Modélisation Les vues UML Diagrammes UML 2. Spécifications des besoins Modèle des besoins Cas d'utilisation (CU) Diagramme des CU 3. Diagrammes Structurels Diagrammes de classes Diagrammes d objets Les diagrammes d implémentation i. Diagrammes de composants / ii. Diagrammes de déploiement 4. Diagrammes comportementaux Diagramme de séquence système Diagramme d activités Diagramme états-transitions 5. Diagrammes d'interaction. Diagramme de séquences Diagrammes de communication /collaboration 6. Conclusion ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 1 Modélisation Un modèle est une abstraction de la réalité Modéliser = identifier les caractéristiques intéressantes d un système Principes de base Tout modèle peut être exprimé à divers niveaux d abstraction. On ne peut rendre compte de la complexité d'un système par une représentation unique; il est nécessaire d'avoir plusieurs points de vue complémentaires : De nombreuses méthodes 1. Méthodes orientées données : entité relation (Merise) 2. Méthodes orientées comportement :, réseaux de Petri - SART 3. Méthodes fonctionnelles hiérarchiques : data flow, SADT, SASD 4. Méthodes orientées objets : OOA et OMT, OOD/HOOD/OOSD Unification des méthodes : Besoin d un langage commun unique UML standardisation des artéfacts de développement (modèles, notation, diagrammes Points forts des sources OMT : Représentation graphique des aspects statique, dynamique et fonctionnel. BOOCH : Concept de package, OOSE : Analyse des besoins des utilisateurs «cas d utilisation». Qu est-ce que UML? UML est un langage visuel pour la modélisation. Adapté à toutes les phases du développement Indépendant des langages de programmation Les vues UML ("4+1") : UML propose différentes vues complémentaires de l architecture du système. 1. Vue logique : Vue de haut niveau : Le COMMENT. 2. Vue implémentation : Vue de bas niveau de réalisation. 3. Vue des processus : Vue temporelle et technique. 4. Vue de déploiement : Description des ressources + le OÙ. + vue : cas d'utilisation : Description des besoins attendus (c'est le QUOI et le QUI). N.B. : le POURQUOI?, n est pas défini dans UML. ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 2

Diagrammes UML Cas d'utilisation Un diagramme UML est une représentation graphique, qui s'intéresse à un aspect précis du modèle; c'est une perspective du modèle, pas «le modèle». Les principaux diagrammes Diagramme de «cas d utilisation» Diagrammes structurels (vue statique) Diagrammes comportementaux (vue dynamique) Vue d'ensemble des diagrammes UML Analyse et spécification des besoins Description fonctionnelle du système selon le point de vue de ses futurs utilisateurs : Diagramme de cas d utilisation Conception : Structuration des données du système définies comme un ensemble de relations entre classes : Diagrammes de classes/objets : Représentation du comportement des objets d une classe 1. Diagramme d états-transitions 2. Diagramme d activités : 3. Diagramme de séquence Description du déploiement des composants : 1. Diagramme de composants 2. Diagramme de déploiement : Spécification des besoins 1. Identifier les fonctionnalités principales (critiques) du système. 2. Définir le contour du système à modéliser (ce qu il y a à faire et ne pas faire ) Ne pas chercher l'exhaustivité, juste clarifier, filtrer et organiser les besoins! UML : Spécification des besoins L'utilisateur est le mieux placé pour parler de ses besoins : 1. Quels types d utilisateurs (les acteurs du système)? 2. Que devrait faire le système (comportement désiré)? Définir les besoins du point de vue de l utilisateur. ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 3 Objets du domaine À partir de concepts que manipule le système, on cherche les noms des objets représentatifs et on construit un glossaire. Le glossaire sera d une grande utilité pour : 1. Formuler les fonctionnalités et les services attendus du système. 2. Spécifier les cas d'utilisation. Pour chaque objet rechercher les différentes interactions métier avec lesquelles il utilise/agit sur le système. Exemple : Gestion d un aéroport Exemple : Gestion de scolarité Glossaire Glossaire Tour de contrôle Étudiant Avion Scolarité Vol Administration Atterrissage Inscription Décollage Dossier Pilote Frais d inscription Passager Carte d étudiant Examens Comportement = {Actions} + {Réactions} Cas d'utilisation Les cas d'utilisations spécifient les fonctionnalités du système Un cas d'utilisation un ensemble d interactions entre acteur(s) et système. Acteur : Une entité externe, humaine ou matérielle, qui interagit avec le système : 1. Acteurs principaux : Le système est construit peur eux. 2. Acteurs secondaires : Acteurs qui interagissent avec le cas d utilisation mais dont l objectif n est pas essentiel. Diagramme des cas d utilisation (use cases) La description des cas d utilisation repose sur la notion de scénario. Un scénario = un flot d'évènements qui permettent d'accomplir la fonctionnalité ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 4

Un scénario décrit ce que le système doit faire et pas comment il le fait. Les scénarios doivent contenir : a) Quand et comment le cas d'utilisation démarre et se termine. b) Les interactions du cas d'utilisation et des acteurs. c) Les données nécessaires au cas d'utilisation. d) La séquence d'évènement normale. e) La description de tous les flots d évènements alternatifs ou exceptionnels (erreurs). Plusieurs formats de description (Pas de standardisation dans UML) 1. Abrégé : Scénario de base. 2. Détaillé : Tous les scénarios. 3. Graphique : Diagrammes de séquence système. Cas d utilisation : Description textuelle Une description textuelle est plus informelle, plus lisible pour un non-informaticien. Plan Type Cas d utilisation : Exemple Cas d utilisation Inscription d un Étudiant Titre Procédure d inscription d un étudiant. Objectifs Dossier d inscription, paiement, délivrance de la carte d étudiant. Acteur principal Étudiant Acteur secondaire Scolarité Préconditions Vérification préalable des conditions d inscription Post conditions Dossier d inscription, paiement, délivrance carte élève1. Scénario nominal 1. L étudiant présente sa demande 2. Paiement des frais d inscription 3... Scénario alternatifs Scénario exception Si année blanche, vérifier dossier Relations entre cas d utilisation Les cas d utilisation peuvent être structurés Les relations entre les cas d'utilisation 1. Relation de communication avec le système : Déclenche 2. Relation d'utilisation entre cas <Utilise> : inclusion <<Include>> 3. Relation d'extension entre cas << Étend >> : <<extend>>.relation d'utilisation La relation <<Utilise>> suppose une obligation d'exécution des interactions décrites dans un autre cas. Interactions systématique Exemple : La relation d'utilisation sert parfois pour alléger la description de cas principaux ou secondaires particulièrement importants Relation d'extension ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 5 La relation <<etend>> montre une possibilité d'exécution d'interactions qui améliorent les fonctionnalités du cas étendu, Exemple : La relation <<etend>> est typique d'une situation optionnelle dans les interactions : Tel acteur a le choix parmi les cas d utilisation. Exercice : Soit un distributeur automatique de billet (DAB). Les clients peuvent accéder à leurs comptes bancaires pour faire un retrait en espèce ou pour vérifier le solde de leur compte. Fonctionnement : le client insère sa carte, saisit son code secret. Le code est vérifié avant d afficher un menu s options. Après trois erreurs la carte est avalée. Le client demande une somme d argent, le DAB se connecte à la banque du client pour valider la transaction. L argent retirable est limité par l argent disponible dans le DAB et par une limite inscrite sur la carte. Évidemment, le DAB doit être rechargé périodiquement en billets. Enfin, le client a la possibilité d annuler et de mettre fin à l opération. Donner le diagramme des cas d utilisation. Solution : Le DAB communique avec : 1. Le client : toute personne possédant une carte. 2. Le système d'information d'une banque (Autorisation de transactions) 3. L'opérateur de maintenance : Recharger le DAB, Récupérer les cartes avalées par le DAB etc). Cas d utilisation : Remarques? Les cas d'utilisation peuvent être classés (Une propriété à chaque cas=niveau de valeur ajoutée)? L'ensemble des CU décrit les objectifs (le but) du système.? Le diagramme des cas d utilisation est un outil de communication 1. Utilisateur / expert du domaine 2. Développeur/concepteur ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 6

Diagrammes structurels : Les diagrammes structurels sont employés pour capturer l'organisation physique des éléments dans le système. 1. Diagrammes de classes : Modèle conceptuel du système. 2. Diagrammes d objets : Un vue (instantané) du système. 3. Diagrammes de composants : Ressources du système. 4. Diagrammes de déploiement : Besoins en équipements et leur déploiement. Rappels: Modélisation orientée Objet. UML est basé sur différents concepts de base : (1) Objet et Classe, (2) Lien, Association (3) Contrainte. Les objets sont identifiés dans le système et portent un nom. Une classe décrit un ensemble d'objets ayant des propriétés similaires (attributs), des comportements communs (Méthodes/Opérations) et partageant les mêmes liens avec les autres objets. Généralement dans le cahier des charges, les noms sont des classes ou des attributs de classes et les verbes sont des méthodes o Un objet est une instance d une classe o Un lien est une association entre deux objets. UML propose des notations et des diagrammes 1. Diagrammes de classes (Niveau modélisation : cas général) 2. Diagrammes d objets (Niveau instance : exemples) Diagrammes de classes Le diagramme de classes (DC): Le plus largement répandu dans les spécifications Le diagramme de classe permet de représenter l ensemble des informations finalisées du domaine de l application. Le DC identifie la structure des classes d'un système : 1. Les propriétés et les méthodes de chaque classe. 2. Les diverses relations de dépendance entre classes Représentation des classes: Les classes sont représentées par des rectangles compartimentés :? 1er compartiment représente le nom de la classe.? Le 2ème compartiment représente les attributs de la classe.? Le 3ème compartiment représente les opérations de la classe. Un attribut est une caractéristique intrinsèque partagée par tous les objets d une classe.? On peut donner une valeur initiale à l attribut Une opération est un service que propose une classe sur son interface. Diagramme d objets Représentation des objets Un objet est représenté par un rectangle découpé en deux compartiments. Le nom de l objet peut être présenté selon trois formats plus ou moins précis. Les diagrammes des objets (DO) modélisent des exemples de classes. o Le DO est employé pour décrire un état possible du système. o Le DO emprunte les éléments et la notation du diagramme des classes. o Les diagrammes d objets peuvent être utilisés pour 1. Expliquer un diagramme de classe (donner un exemple) 2. Valider un diagramme de classe et ses règles de multiplicité. 3. Exprimer une exception en modélisant des cas particuliers. Le diagramme de classes modélise les règles, le diagramme d objets modélise des faits. Exemples : Donner les diagrammes d objets et les diagrammes de classes correspondants aux situations suivantes L Algérie est frontalière avec la Tunisie. Le Maroc est frontalier avec L Algérie. L Égypte est frontalière avec la Lybie. Analyse : Une frontière sépare (Exactement) deux pays. Diagramme de classes : Diagrammes d objets : Naturellement, dans les diagrammes d objets, on ne représente pas les multiplicités. Deux pays voisins sont Frontaliers. Diagrammes de composants Un composant encapsule des fonctionnalités bien définies et cohérentes. Modélisation du système sous forme de composants: Modules, programmes, processus, tâches.? Les dépendances entre composants permettent de mettre en évidence la réutilisation de composants.? Les composants peuvent être organisés en paquetages, qui définissent des soussystèmes. Diagrammes de déploiement : Identification des éléments de l'architecture physique du système (PC, Stations de travail, Serveurs, Modem etc.) Disposition des composants logiciels (les différents modules de l application : Fichiers exécutables, librairies, etc.) sur ces éléments matériels. Les interconnexions physiques (natures des lignes de communication) entre les dispositifs matériels peuvent être précisées. ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 7 ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 8

UML : Diagrammes comportementaux Capture des conditions, des opérations, et des changements d'état interne pour les éléments du système. Les diagrammes comportementaux sont : 1. Diagrammes d activités : modélisent l activité des objets du système (organigramme) 2. Diagrammes d état-transition : modélisent les changements d etat des objets du système. 3. Diagrammes de collaboration/ de séquences : modélisent les interactions des objets dans un système. Diagramme de séquence système? Représentation de la chronologie des envois de messages entre des acteurs et le système vue comme une entité (boite noire)? Le temps y (Lifelines) est représenté explicitement par la dimension verticale et s écoule de haut en bas. Message = un événement + une action Exemple : Ascenseur Description compacte des diagrammes de séquences Il est possible d effectuer des échanges conditionnels, de combiner des fragments de séquences avec des opérateurs prédéfinis (notation UML 2)? Alternative (alt), Option (opt), Boucle (loop), Parallèle (par)? «Critical», pour désigner une section critique? «Ignore» et «Consider», pour filtrer les messages Les diagrammes de séquence peuvent servir à illustrer un cas d'utilisation. Exemple : DAB Exemple DAB: Identification Exemple DAB: Retrait Exemple DAB: Consultation ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 9 Types de messages : Synchrone: l émetteur est bloqué jusqu à la fin du traitement. Asynchrone: l émetteur peut poursuivre son exécution. Les diagrammes de séquence sont utilisés dans le modèle dynamique : Exercice : Donner le diagramme de séquence du cas suivant : Utilisation d un téléphone pour la communication entre deux personnes. Scénario : le numéro appelé n'est pas occupé L'appelant décroche le téléphone La tonalité est déclenchée L'appelant tape un chiffre La tonalité s'arrête L'appelant tape le reste du numéro Le téléphone appelé commence à sonner et la tonalité de sonnerie commence dans appelant L'appelé décroche Le téléphone de l'appelé cesse de sonner et la tonalité de sonnerie cesse dans appelant Les téléphones sont connectés. La conversation se déroule L'appelé raccroche le téléphone Les téléphones sont déconnectés L appelant raccroche le téléphone Limites des diagrammes de séquences :? Comment faire apparaître des opérations non séquentielles?? Les diagrammes de séquences et les diagrammes d'état-transitions sont les vues dynamiques les plus importantes d'uml. Diagramme d activités (états-actions) Activité : enchaînement plus ou moins complexes d actions. Objectif : Mettre en évidence les contraintes de séquent alité et de parallélisme entre # activités. Représentation du flot de contrôle : déroulement d étapes regroupées séquentiellement dans des branches parallèles : couloirs d activités. Les diagrammes d activités permettent de? Mettre l accent sur les traitements.? Représenter graphiquement le déroulement d un cas d utilisation. Le diagramme d activités est une variante du diagramme d états-transitions. o Le passage d une activité vers une autre est matérialisé par une transition Synchronisation On peut éventuellement synchroniser deux activités déclenchées par la même transition On peut également démarrer une activité en synchronisant l achèvement de deux autres. ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 10

Diagramme états-transitions Un objet peut passer par une série d états pendant sa durée de vie. Un état = étape dans le cycle de vie d un objet durant lequel 1. il satisfait à certaines conditions. 2. il réalise certaines actions. 3. ou attend certains événements. Le passage d un état à un autre est une transition. Un événement est quelque chose qui se produit pendant l exécution d un système et qui mérite d être modélisé. À la réception d un événement, une transition peut être déclenchée et fait basculer l objet dans un nouvel état. Le comportement est modélisé par un graphe : 1. Nœuds = états possibles des objets. 2. Arcs = transitions d état à état. La condition de passage est appelée «garde» On peut préciser une action ou activité à la transition Le diagramme d état transition est une abstraction des comportements possibles à l image des diagrammes de classes qui sont les abstractions de la structure statique. Chaque diagramme d état transition comprend: Un état initial unique, des états intermédiaires, un ou plusieurs états finaux. Transitions internes Une transition interne ne possède pas d état cible. l état actif reste le même à la suite de son déclenchement. Les transitions internes sont spécifiées dans un compartiment de leur état associé. Les transitions internes possèdent des noms d événement prédéfinis (mots clefs réservés) : entry, exit, do et include. Les diagrammes d'interaction. Une interaction est un échange de messages entre les éléments d un système. Il existe deux types de diagrammes d interaction : 1. Diagramme de séquence : représentation temporelle d une interaction 2. Diagramme de communication : représentation spatiale d une interaction. Le plus utilisé est le diagramme de séquence. Diagramme de séquences? Description de l ordre des interactions entre les objets qui composent le système. Remplacer dans le DSS le système par une collaboration d'objets. Les diagrammes de séquences permettent de faire apparaitre :? Les objets intervenant dans l interaction? La description de l interaction (messages). Un diagramme des séquences permet de vérifier que tous les acteurs, les classes, les associations et les opérations ont bien été identifiés dans les diag. de cas et de classes.. Exercice : Étude du Cas ascenseur Étude du déplacement d un ascenseur entre les étages : Contraintes suivantes: L ascenseur possède un bouton pour chaque étage. Un témoin s allume lorsque l ascenseur est en déplacement. Le témoin s éteint quand l ascenseur arrive à l étage souhaité. Chaque étage, possède un bouton pour demander l ascenseur. Le bouton s allume lorsqu il est appuyé et s éteint quand l ascenseur arrive à l étage. Quand l ascenseur n est pas requis, il reste à l étage où il se trouve et ferme ses portes. Travail demandé Décrire à l aide d un diagramme de séquence chacun des scénarios suivants: 1. requête d ascenseur depuis l étage. 2. requête d étage depuis l ascenseur. Représentation du flot de controle? On peut matérialiser la création et la destruction d objets.? Modélisation des structures de contrôles conditionnelles, o par pseudo-code (if X else end if)/ou par garde ([X]) o et duplication de la ligne de vie.? Modélisations de l envoi de messages récursifs par un dédoublement de la bande d activation.? Modélisations des structures itératives par pseudo-code ou par condition d itération Syntaxe générale de l étiquette d un message : [ [ condition ] ] [itération] [résultat :=] nom message [ ( arguments ) ] ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 11 ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 12

Diagrammes de communication /collaboration Le diagramme de communication répond aux mêmes objectifs que le diagramme de séquences, mais avec une vision différente : Représentation des interactions et échanges de messages entre les objets. La dimension temporelle est ajoutée grâce à des numéros de séquences Les messages sont placés par-dessus un diagramme d'objets. Le passage à un diagramme de séquences et inversement est simple. Chaque élément d une collaboration joue un role. Les diagrammes de collaboration sont plus adaptés quand une opération fait interagir de nombreux objets. Remarques : Un diag. communication propose la même information qu un diagramme d objets, en y ajoutant les envois de messages inter objets, Si les opérations ont une structure algorithmique, on préfèrera les décrire avec des diagrammes d activités. La construction d'un diagramme de communication peut également être l'opportunité de tester un modèle statique pendant la conception. : Exécution d un scénario sur des instances d objets. Modélisation et Diagrammes UML Conclusion UML : Un ensemble de formalismes permettant d appréhender un problème et de le modéliser. Une aide à toutes les étapes de conception du projet Modélisation visuelle : Facilite la communication entre les personnes (client, experts du domaine, analystes, concepteurs,...) Les diagrammes principaux :? Cas d utilisation : C est là où on assimile les fonctionnalités demandées par le client? Diagramme de classes : Le cœur de la conception d un système? Diagramme de séquence : Indispensable pour comprendre l interaction entre les classes.? Diagramme états- transitions et diagramme d activités : Toute la dynamique du système est là. Un formalisme n est qu un outil : Le succès = savoir utiliser les outils Il n'y a pas spécialement de difficultés à apprendre la méthode des diagrammes UML, il faut simplement s'y intéresser et surtout la pratiquer. Principe de modélisation Les modèles ne sont pas justes ou faux; ils sont seulement plus ou moins utiles. Martin FOWLER Un diagramme n'est pas forcément une représentation exhaustive d'un modèle. Selon le "guide de l'utilisateur UML" [GUML] : Un diagramme bien structuré doit : Être centré sur la communication d'un aspect d'une vue du système. Ne contenir que les éléments essentiels à la compréhension de cet aspect. Fournir les détails cohérents avec son niveau d'abstraction : peut cacher des parties du modèle Ne pas être trop minimaliste afin de ne pas ignorer une sémantique importante. ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 13 ENP /2011/2012/G.I /1 Année / Chap. 2 : UML 14