Module : Atelier de Génie Logiciel Niveau : L2-SIL-ARS

Institut Supérieur d'Informatique Année Universitaire : 2010-2011

UML : UNIFIED MODELING LANGUAGE NIFIED ODELING ANGUAGE
 Le langage UML
UML (Unified Modeling Language) est une méthode de modélisation orientée objet développée en réponse à l’appel à propositions lancé par l’OMG (Object Management Group) dans le but de définir la notation standard pour la modélisation des applications construites à l’aide d’objets. UML est une méthode utilisant une représentation graphique. L’usage d’une représentation graphique est un complément excellent à celui de représentions textuelles. En effet, l’une comme l’autre sont ambigues mais leur utilisation simultanée permet de diminuer les ambigüités de chacune d’elle. Un dessin permet bien souvent d’exprimer clairement ce qu’un texte exprime difficilement et un bon commentaire permet d’enrichir une figure. Les diagrammes UML supportent l'abstraction. Leur niveau de détail caractérise le niveau d'abstraction du modèle. Il existe 2 types de vues du système qui comportent chacune leurs propres diagrammes :  les vues statiques :  de cas d'utilisation  diagrammes d'objets  diagrammes de classes  diagrammes de composants  diagrammes de déploiement  les vues dynamiques :  diagrammes de collaboration  diagrammes de séquence  diagrammes d'états-transitions  diagrammes d’activité

Mme. Lilia SFAXI

Page 1/7

Module : Atelier de Génie Logiciel Niveau : L2-SIL-ARS

Institut Supérieur d'Informatique Année Universitaire : 2010-2011

I.1. Diagramme de Cas d’utilisation (Use Case)
Les use cases permettent de structurer les besoins des utilisateurs et les objectifs correspondants d'un système. Ils centrent l'expression des exigences du système sur ses utilisateurs : ils partent du principe que les objectifs du système sont tous motivés. La détermination et la compréhension des besoins sont souvent difficiles car les intervenants sont noyés sous de trop grandes quantités d'informations : il faut clarifier et organiser les besoins des clients (les modéliser). Pour cela, les cas d’utilisation identifient les utilisateurs du système (acteurs) et leurs interactions avec le système. Ils permettent de classer les acteurs et structurer les objectifs du système. Une fois identifiés et structurés, ces besoins :   définissent le contour du système à modéliser (ils précisent le but à atteindre), permettent d'identifier les fonctionnalités principales (critiques) du système. Les use cases ne doivent donc en aucun cas décrire des solutions d'implémentation. Leur but est justement d'éviter de tomber dans la dérive d'une approche fonctionnelle, où l'on liste une litanie de fonctions que le système doit réaliser. L’acteur : La première étape de modélisation consiste à définir le périmètre du système, à définir le contour de l’organisation et à le modéliser. Toute entité qui est en dehors de cette organisation et qui interagit avec elle est appelé acteur selon UML. Le cas d’utilisation : Le cas d’utilisation (ou use case) correspond à un objectif du système, motivé par un besoin d’un ou plusieurs acteurs. L'ensemble des use cases décrit les objectifs (le but) du système. La relation : Elle exprime l’interaction existant entre un acteur et un cas d’utilisation. Il existe 3 types de relations entre cas d’utilisation :    la relation de généralisation la relation d’extension la relation d’inclusion

I.2. Diagramme de classes
Le diagramme de classes exprime la structure statique du système en termes de classes et
Mme. Lilia SFAXI Page 2/7

Module : Atelier de Génie Logiciel Niveau : L2-SIL-ARS

Institut Supérieur d'Informatique Année Universitaire : 2010-2011

de relations entre ces classes. L’intérêt du diagramme de classe est de modéliser les entités du système d’information. Le diagramme de classe permet de représenter l’ensemble des informations finalisées qui sont gérées par le domaine. Ces informations sont structurées, c’està-dire qu’elles ont regroupées dans des classes. Le diagramme met en évidence d’éventuelles relations entre ces classes. Le diagramme de classes comporte 6 concepts :       classe attribut identifiant relation opération généralisation / spécialisation

I.3.

Diagramme de collaboration
Le diagramme de collaboration permet de mettre en évidence les interactions entre les

différents objets du système. Dans le cadre de l’analyse, il sera utilisé :  pour préciser le contexte dans lequel chaque objet évolue  pour mettre en évidence les dépendances entre les différents objets impliqués dans l’exécution d’un processus ou d’un cas d’utilisation. Un diagramme de collaboration fait apparaître les interactions entre des objets et les messages qu’ils échangent. Une interaction définit la communication entre les objets sous la forme d’un ensemble partiellement ordonné de messages. L’objet émetteur envoie un message à l’objet récepteur. Les objets représentés dans les diagrammes de collaboration ne sont pas nécessairement des instances d’entités. Certains messages peuvent avoir pour origine des acteurs que l’on pourra représenter.

I.4. Définition du diagrammes de séquence
Le diagramme de séquence est une variante du diagramme de collaboration. Par opposition aux diagrammes de collaboration, les diagrammes de séquence possèdent
Mme. Lilia SFAXI Page 3/7

Module : Atelier de Génie Logiciel Niveau : L2-SIL-ARS

Institut Supérieur d'Informatique Année Universitaire : 2010-2011

intrinsèquement une dimension temporelle mais ne représente pas explicitement les liens entre les objets. Ils privilégient ainsi la représentation temporelle à la représentation spatiale et sont plus aptes à modéliser les aspects dynamiques du système. En revanche, ils ne rendent pas compte du contexte des objets de manière explicite, comme les diagrammes de collaboration. Le diagramme de séquence permet de visualiser les messages par une lecture de haut en bas. L’axe vertical représente le temps, l’axe horizontal les objets qui collaborent. Une ligne verticale en pointillé est attachée à chaque objet et représente sa durée de vie.

II MyEclipse UML
MyEclipse est un ensemble d’outils fourni uniquement en édition professionnelle, qui propose une solution pour la modélisation UML. Il permet aux développeurs de réaliser les tâches suivantes : Créer des diagrammes de cas d’utilisation, de clase, de séquence, de collaboration, d’état, d’activité, de déploiement… Utiliser un éditeur de diagrammes intégré, une vue pour la structure du projet, et une vue des propriétés Utiliser des outils de dessin Editer directement les nœuds et les connexions via des Hot-Zones Générer du code Java à partir de modèles Exporter les modèles en format XMI Exporter les diagrammes en images de format GIF, PNG, PS, EPS, SVG Réaliser une rétro-ingénierie à partir de n’importe quel projet J2EE ou Java Glisser-déplacer tout élément d’UML de la liste vers les diagrammes

III Enoncé
Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que du matériel pédagogique (ordinateur portable ou/et Vidéo projecteur). Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de disponibilité de la salle ou du matériel). Le planning des salles peut quant à lui être consulté par
Mme. Lilia SFAXI Page 4/7

Module : Atelier de Génie Logiciel Niveau : L2-SIL-ARS

Institut Supérieur d'Informatique Année Universitaire : 2010-2011

tout le monde (enseignants et étudiants).Par contre, le récapitulatif horaire par enseignant (calculé à partir du planning des salles) ne peut être consulté que par les enseignants. Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le récapitulatif horaire pour l’ensemble de la formation. Le but de ce TP est de réaliser le diagramme des cas d’utilisation, le diagramme des séquences et le diagramme des classes de ce système. Le diagramme de séquences représentera le scénario de réservation d’une salle et d’un vidéo projecteur par un enseignant.

III.1. Création de diagrammes
 Ouvrez l'IDE MyEclipse, et créez un nouveau projet Java, que vous nommerez « Etablissement Scolaire »

-

Faites un clic droit sur le répertoire src et choisissez New → Other. Choisissez MyEclipse → UML → UML2 Model. Appelez votre modèle DiagUML. Acceptez si on vous demande d’utiliser la perspective UML.

Mme. Lilia SFAXI

Page 5/7

Module : Atelier de Génie Logiciel Niveau : L2-SIL-ARS -

Institut Supérieur d'Informatique Année Universitaire : 2010-2011

Deux fichiers seront créés sous le répertoire src. Le fichier DiagUML.uml et le fichier DiagUML.umldi. Ce dernier représente le fichier qui va contenir l’ensemble des diagrammes sous leur forme graphique.

-

Votre fenêtre aura la forme suivante :

2

1

3 4

-

Dans la fenêtre active, vous verrez les vues suivantes : (1) C’est la fenêtre principale, dans laquelle seront créés les diagrammes sous leur forme graphique. (2) C’est la fenêtre qui contient votre projet et les fichiers sources (3) C’est la fenêtre qui contient la hiérarchie des diagrammes (4) C’est la fenêtre des propriétés qui affichera les propriétés de chaque élément UML sélectionné.

-

Par défaut, la fenêtre (1) vous permet de réaliser un diagramme de classes. Pour créer un nouveau diagramme, cliquez sur le bouton Choisissez New Use-case Diagram. qui se trouve sur la barre du haut.

-

La fenêtre (1) va changer pour vous permettre de créer un diagramme de cas d’utilisation, et dans la fenêtre (3), vous verrez que, sous le répertoire
Page 6/7

Mme. Lilia SFAXI

Module : Atelier de Génie Logiciel Niveau : L2-SIL-ARS

Institut Supérieur d'Informatique Année Universitaire : 2010-2011

<Model>DiagUML, une nouvelle entrée a été créée : useCaseDiagram1. Pour créer votre diagramme, utiliser les boutons fournis à gauche de la fenêtre (1).

III.2. Génération de code
MyEclipse UML vous offre une grande facilité, qui est la génération automatique de code. Une fois votre diagramme de classes terminé, vous pourrez générer le squelette de code en Java. Pour cela, cliquez sur le menu UML2→Generate Java. La fenêtre suivante apparaîtra :

-

Choisissez le répertoire src comme répertoire de sortie Java. Et cliquez sur Finish. Des fichiers .java seront générés dans le répertoire src. Ces fichiers contiennent un squelette de code Java correspondant aux classes que vous avez créé.

III.3. Rétro-Ingénierie (Reverse Engineering)
Pour générer un diagramme UML à partir d’un code Java existant, cliquer avec le bouton droit sur le projet, et aller vers MyEclipse→Generate UML Class Diagram.

Mme. Lilia SFAXI

Page 7/7