Tp3 - UML

7
Module : Atelier de Génie Logiciel Institut Supérieur d'Informatique Niveau : L2-SIL-ARS Année Universitaire : 2010-2011 Mme. Lilia SFAXI Page 1/7 U U M ML L : : U U N NI I F F I I E E D D M MO O D D E E L L I I N NG G L L A A N NG G U UA A G G E E 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é

description

Visitez http://liliasfaxi.wix.com/liliasfaxi

Transcript of Tp3 - UML

Page 1: Tp3 - UML

Module : Atelier de Génie Logiciel Institut Supérieur d'InformatiqueNiveau : L2-SIL-ARS Année Universitaire : 2010-2011

Mme. Lilia SFAXI Page 1/7

UUUMMMLLL ::: UUUNNNIIIFFFIIIEEEDDD MMMOOODDDEEELLLIIINNNGGG LLLAAANNNGGGUUUAAAGGGEEE

Le langage UMLUML (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é

Page 2: Tp3 - UML

Module : Atelier de Génie Logiciel Institut Supérieur d'InformatiqueNiveau : L2-SIL-ARS Année Universitaire : 2010-2011

Mme. Lilia SFAXI Page 2/7

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

Page 3: Tp3 - UML

Module : Atelier de Génie Logiciel Institut Supérieur d'InformatiqueNiveau : L2-SIL-ARS Année Universitaire : 2010-2011

Mme. Lilia SFAXI Page 3/7

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

Page 4: Tp3 - UML

Module : Atelier de Génie Logiciel Institut Supérieur d'InformatiqueNiveau : L2-SIL-ARS Année Universitaire : 2010-2011

Mme. Lilia SFAXI Page 4/7

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 UMLMyEclipse 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 unevue 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

Page 5: Tp3 - UML

Module : Atelier de Génie Logiciel Institut Supérieur d'InformatiqueNiveau : L2-SIL-ARS Année Universitaire : 2010-2011

Mme. Lilia SFAXI Page 5/7

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.

Page 6: Tp3 - UML

Module : Atelier de Génie Logiciel Institut Supérieur d'InformatiqueNiveau : L2-SIL-ARS Année Universitaire : 2010-2011

Mme. Lilia SFAXI Page 6/7

- 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 :

- 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 qui se trouve sur la barre du haut.

Choisissez New Use-case Diagram.

- 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

12

3

4

Page 7: Tp3 - UML

Module : Atelier de Génie Logiciel Institut Supérieur d'InformatiqueNiveau : L2-SIL-ARS Année Universitaire : 2010-2011

Mme. Lilia SFAXI Page 7/7

<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.