Tp3 - UML

Lilia Sfaxi
Lilia SfaxiDocteur-Ingénieur en Informatique - Assistante à l'INSAT em INSAT

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

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

attribut



identifiant



relation



opération



I.3.

classe

généralisation / spécialisation

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

Institut Supérieur d'Informatique

Niveau : L2-SIL-ARS

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

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

Mme. Lilia SFAXI

Page 6/7
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

Recomendados

Angular Avancé por
Angular AvancéAngular Avancé
Angular AvancéNizar MAATOUG -ISET Sidi Bouzid
800 visualizações90 slides
Modele mvc por
Modele mvcModele mvc
Modele mvcSoulef riahi
1.7K visualizações16 slides
Chp3 - Diagramme de Classes por
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
7.7K visualizações22 slides
Une introduction à Hive por
Une introduction à HiveUne introduction à Hive
Une introduction à HiveModern Data Stack France
12.9K visualizações15 slides
Support cours angular por
Support cours angularSupport cours angular
Support cours angularNizar MAATOUG -ISET Sidi Bouzid
2K visualizações162 slides
Chp2 - Diagramme des Cas d'Utilisation por
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationLilia Sfaxi
5.4K visualizações14 slides

Mais conteúdo relacionado

Mais procurados

Support de cours Spring M.youssfi por
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfiENSET, Université Hassan II Casablanca
97.8K visualizações164 slides
UML Diagrammes Dynamiques por
UML Diagrammes DynamiquesUML Diagrammes Dynamiques
UML Diagrammes Dynamiques'Farouk' 'BEN GHARSSALLAH'
7.6K visualizações49 slides
TD2 - UML - Correction por
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
21.1K visualizações6 slides
Chp4 - Diagramme de Séquence por
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
14.2K visualizações19 slides
Support de Cours JSF2 Première partie Intégration avec Spring por
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringENSET, Université Hassan II Casablanca
26.4K visualizações59 slides
diagramme de séquence UML por
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
21.4K visualizações20 slides

Mais procurados(20)

TD2 - UML - Correction por Lilia Sfaxi
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
Lilia Sfaxi21.1K visualizações
Chp4 - Diagramme de Séquence por Lilia Sfaxi
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
Lilia Sfaxi14.2K visualizações
diagramme de séquence UML por Amir Souissi
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
Amir Souissi21.4K visualizações
Conception et réalisation d’un Système d’information des étudiants du départe... por Ilyas CHAOUA
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
Ilyas CHAOUA39.2K visualizações
Tp2 - WS avec JAXRS por Lilia Sfaxi
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
Lilia Sfaxi4.1K visualizações
Java Server Faces (JSF) por Heithem Abbes
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)
Heithem Abbes3.4K visualizações
Chp6 - De UML vers C++ por Lilia Sfaxi
Chp6 - De UML vers C++Chp6 - De UML vers C++
Chp6 - De UML vers C++
Lilia Sfaxi12.8K visualizações
TP2-UML-Correction por Lilia Sfaxi
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi9.9K visualizações
Android-Tp5 : web services por Lilia Sfaxi
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
Lilia Sfaxi5.5K visualizações
Chp3 - Les Services Web por Lilia Sfaxi
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
Lilia Sfaxi3.9K visualizações
Presentation bpel por Anasse Ej
Presentation bpelPresentation bpel
Presentation bpel
Anasse Ej4.5K visualizações
Architectures n-tiers por Heithem Abbes
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
Heithem Abbes32.2K visualizações
Application web Gestion RH ASP.NET MVC5 por YounessLaaouane
Application web Gestion RH ASP.NET MVC5Application web Gestion RH ASP.NET MVC5
Application web Gestion RH ASP.NET MVC5
YounessLaaouane1.6K visualizações
Cours2 uml usecase por vangogue
Cours2 uml usecaseCours2 uml usecase
Cours2 uml usecase
vangogue1.7K visualizações

Destaque

Chp1 - Introduction à l'AGL por
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLLilia Sfaxi
5.9K visualizações12 slides
Chp4 - UML por
Chp4 - UMLChp4 - UML
Chp4 - UMLLilia Sfaxi
4.6K visualizações20 slides
Tp1 - Eclipse por
Tp1 - EclipseTp1 - Eclipse
Tp1 - EclipseLilia Sfaxi
2.4K visualizações6 slides
Chp2 - Cahier des Charges por
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des ChargesLilia Sfaxi
9.1K visualizações23 slides
Chp5 - Les outils CASE por
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASELilia Sfaxi
6.8K visualizações35 slides
Chp3 - IHM por
Chp3 - IHMChp3 - IHM
Chp3 - IHMLilia Sfaxi
1.9K visualizações15 slides

Destaque(20)

Chp1 - Introduction à l'AGL por Lilia Sfaxi
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGL
Lilia Sfaxi5.9K visualizações
Chp4 - UML por Lilia Sfaxi
Chp4 - UMLChp4 - UML
Chp4 - UML
Lilia Sfaxi4.6K visualizações
Tp1 - Eclipse por Lilia Sfaxi
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
Lilia Sfaxi2.4K visualizações
Chp2 - Cahier des Charges por Lilia Sfaxi
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
Lilia Sfaxi9.1K visualizações
Chp5 - Les outils CASE por Lilia Sfaxi
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASE
Lilia Sfaxi6.8K visualizações
Chp3 - IHM por Lilia Sfaxi
Chp3 - IHMChp3 - IHM
Chp3 - IHM
Lilia Sfaxi1.9K visualizações
Tp5 - WINDEV por Lilia Sfaxi
Tp5 - WINDEVTp5 - WINDEV
Tp5 - WINDEV
Lilia Sfaxi3K visualizações
Tp4 - PHP por Lilia Sfaxi
Tp4 - PHPTp4 - PHP
Tp4 - PHP
Lilia Sfaxi1.8K visualizações
Uml por VINOT Bernard
UmlUml
Uml
VINOT Bernard10.8K visualizações
Sécurité des Systèmes Répartis- Partie 1 por Lilia Sfaxi
Sécurité des Systèmes Répartis- Partie 1 Sécurité des Systèmes Répartis- Partie 1
Sécurité des Systèmes Répartis- Partie 1
Lilia Sfaxi4.5K visualizações
Chp5 - Diagramme d'Etat Transition por Lilia Sfaxi
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
Lilia Sfaxi6.6K visualizações
71 corrige-gantt por Nosnos Nisrine
71 corrige-gantt71 corrige-gantt
71 corrige-gantt
Nosnos Nisrine5.2K visualizações
Méthode pert por Kevin Ratsimbazafy
Méthode pertMéthode pert
Méthode pert
Kevin Ratsimbazafy5.8K visualizações
La planification du projet por ABDERRAHMAN ID -SAID
La planification du projetLa planification du projet
La planification du projet
ABDERRAHMAN ID -SAID8.5K visualizações
Planification por Rabia AZIZA
PlanificationPlanification
Planification
Rabia AZIZA14.6K visualizações
Présentation de Thèse por Lilia Sfaxi
Présentation de ThèsePrésentation de Thèse
Présentation de Thèse
Lilia Sfaxi3K visualizações
TD gestion de projet séance 3 por Sophie Bocquet Pro
TD gestion de projet séance 3TD gestion de projet séance 3
TD gestion de projet séance 3
Sophie Bocquet Pro2.1K visualizações
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08 por bouzidi26
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08Realisation d une application de gestion d-un -tablissement priv-e 26-04_08
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08
bouzidi2636.6K visualizações
TD gestion de projet por sophiebocquet
TD gestion de projetTD gestion de projet
TD gestion de projet
sophiebocquet3.3K visualizações

Similar a Tp3 - UML

Support de cours Conception orientée objets - partie 1.pdf por
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfYasushiTsubakik
49 visualizações143 slides
Présentation cours UML.pptx por
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptxPrinceLankoand
110 visualizações365 slides
cours2diagStatiq.pdf por
cours2diagStatiq.pdfcours2diagStatiq.pdf
cours2diagStatiq.pdftorrenttorrent
8 visualizações107 slides
CM uml-intro por
CM uml-introCM uml-intro
CM uml-introYannick Prié (Enseignement)
1.7K visualizações30 slides
uml ikram elcaid.pdf por
uml ikram elcaid.pdfuml ikram elcaid.pdf
uml ikram elcaid.pdfikram679173
5 visualizações26 slides
Uml por
UmlUml
UmlMohammed Zaoui
7.3K visualizações257 slides

Similar a Tp3 - UML(20)

Support de cours Conception orientée objets - partie 1.pdf por YasushiTsubakik
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
YasushiTsubakik49 visualizações
Présentation cours UML.pptx por PrinceLankoand
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptx
PrinceLankoand110 visualizações
cours2diagStatiq.pdf por torrenttorrent
cours2diagStatiq.pdfcours2diagStatiq.pdf
cours2diagStatiq.pdf
torrenttorrent8 visualizações
uml ikram elcaid.pdf por ikram679173
uml ikram elcaid.pdfuml ikram elcaid.pdf
uml ikram elcaid.pdf
ikram6791735 visualizações
Uml por Mohammed Zaoui
UmlUml
Uml
Mohammed Zaoui7.3K visualizações
Uml upxp2 por Joubi Aaziz
Uml upxp2Uml upxp2
Uml upxp2
Joubi Aaziz15.9K visualizações
Splpv2 annexes-c por xerty
Splpv2 annexes-cSplpv2 annexes-c
Splpv2 annexes-c
xerty446 visualizações
Uml 2 pratique de la modélisation por Nassim Amine
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
Nassim Amine13.4K visualizações
Cours Coosi por guest2a09ec
Cours CoosiCours Coosi
Cours Coosi
guest2a09ec2.2K visualizações
Methodo support por James Sylvano
Methodo supportMethodo support
Methodo support
James Sylvano647 visualizações
556ef78d93c3b por zineb taki
556ef78d93c3b556ef78d93c3b
556ef78d93c3b
zineb taki743 visualizações
CoursUML-SlimMesfar-Total por Ahmed Mekkaoui
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
Ahmed Mekkaoui4.4K visualizações
7 diagramme de cas d'utilisation por Kamel Eddine Heragmi
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
Kamel Eddine Heragmi20.6K visualizações
diagramme de cas d'utilisation por Kamel Eddine Heragmi
diagramme de cas d'utilisationdiagramme de cas d'utilisation
diagramme de cas d'utilisation
Kamel Eddine Heragmi7.6K visualizações

Mais de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf por
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
387 visualizações58 slides
Plan d'études_INSAT_2022_2023.pdf por
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
1.8K visualizações28 slides
Lab3-DB_Neo4j por
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4jLilia Sfaxi
1.8K visualizações8 slides
Lab2-DB-Mongodb por
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-MongodbLilia Sfaxi
980 visualizações4 slides
Lab1-DB-Cassandra por
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
942 visualizações4 slides
TP1-UML-Correction por
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
1.7K visualizações4 slides

Mais de Lilia Sfaxi(20)

chp1-Intro à l'urbanisation des SI.pdf por Lilia Sfaxi
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
Lilia Sfaxi387 visualizações
Plan d'études_INSAT_2022_2023.pdf por Lilia Sfaxi
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
Lilia Sfaxi1.8K visualizações
Lab3-DB_Neo4j por Lilia Sfaxi
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
Lilia Sfaxi1.8K visualizações
Lab2-DB-Mongodb por Lilia Sfaxi
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
Lilia Sfaxi980 visualizações
Lab1-DB-Cassandra por Lilia Sfaxi
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
Lilia Sfaxi942 visualizações
TP1-UML-Correction por Lilia Sfaxi
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
Lilia Sfaxi1.7K visualizações
TP0-UML-Correction por Lilia Sfaxi
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
Lilia Sfaxi151 visualizações
TD4-UML por Lilia Sfaxi
TD4-UMLTD4-UML
TD4-UML
Lilia Sfaxi175 visualizações
TD4-UML-Correction por Lilia Sfaxi
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
Lilia Sfaxi1.7K visualizações
TD3-UML-Séquences por Lilia Sfaxi
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
Lilia Sfaxi403 visualizações
TD3-UML-Correction por Lilia Sfaxi
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
Lilia Sfaxi1.2K visualizações
TD2-UML-Classes por Lilia Sfaxi
TD2-UML-ClassesTD2-UML-Classes
TD2-UML-Classes
Lilia Sfaxi1.1K visualizações
TD1 - UML - DCU por Lilia Sfaxi
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
Lilia Sfaxi199 visualizações
TD1-UML-correction por Lilia Sfaxi
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
Lilia Sfaxi1.6K visualizações
Android - Tp1 - installation et démarrage por Lilia Sfaxi
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
Lilia Sfaxi185 visualizações
Android - Tp2 - Elements graphiques por Lilia Sfaxi
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
Lilia Sfaxi55 visualizações
Android - Tp3 - intents por Lilia Sfaxi
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
Lilia Sfaxi150 visualizações
Android - TPBonus - web services por Lilia Sfaxi
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
Lilia Sfaxi88 visualizações
Android - Tp4 - graphiques avancés por Lilia Sfaxi
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
Lilia Sfaxi114 visualizações
Android - Tp 5 - stockage de données por Lilia Sfaxi
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de données
Lilia Sfaxi149 visualizações

Tp3 - UML

  • 1. 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
  • 2. 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
  • 3. 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 :   attribut  identifiant  relation  opération  I.3. classe généralisation / spécialisation 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
  • 4. 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
  • 5. 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
  • 6. Module : Atelier de Génie Logiciel Institut Supérieur d'Informatique Niveau : L2-SIL-ARS 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 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 Mme. Lilia SFAXI Page 6/7
  • 7. 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