SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriMansouri Khalifa
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationLilia Sfaxi
 
patron de conception
patron de conception patron de conception
patron de conception Shili Mohamed
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objetAmir Souissi
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir Souissi
 
Diagramme de Séquence
Diagramme de SéquenceDiagramme de Séquence
Diagramme de SéquenceabdoMarocco
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseLilia Sfaxi
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services webCHOUAIB EL HACHIMI
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 

Mais procurados (20)

diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Cours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observerCours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observer
 
Uml examen
Uml  examenUml  examen
Uml examen
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Chp4 - UML
Chp4 - UMLChp4 - UML
Chp4 - UML
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
 
patron de conception
patron de conception patron de conception
patron de conception
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Diagramme de Séquence
Diagramme de SéquenceDiagramme de Séquence
Diagramme de Séquence
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-Eclipse
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Modélisation avec UML
Modélisation avec UMLModélisation avec UML
Modélisation avec UML
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 

Destaque

Chp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLLilia Sfaxi
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des ChargesLilia Sfaxi
 
Chp6 - De UML vers C++
Chp6 - De UML vers C++Chp6 - De UML vers C++
Chp6 - De UML vers C++Lilia Sfaxi
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASELilia 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
Sécurité des Systèmes Répartis- Partie 1 Lilia Sfaxi
 
Présentation de Thèse
Présentation de ThèsePrésentation de Thèse
Présentation de ThèseLilia Sfaxi
 
TD gestion de projet séance 3
TD gestion de projet séance 3TD gestion de projet séance 3
TD gestion de projet séance 3Sophie Bocquet Pro
 
Realisation 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_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_08bouzidi26
 
TD gestion de projet
TD gestion de projetTD gestion de projet
TD gestion de projetsophiebocquet
 

Destaque (20)

Chp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGLChp1 - Introduction à l'AGL
Chp1 - Introduction à l'AGL
 
Tp1 - Eclipse
Tp1 - EclipseTp1 - Eclipse
Tp1 - Eclipse
 
Chp2 - Cahier des Charges
Chp2 - Cahier des ChargesChp2 - Cahier des Charges
Chp2 - Cahier des Charges
 
Chp6 - De UML vers C++
Chp6 - De UML vers C++Chp6 - De UML vers C++
Chp6 - De UML vers C++
 
Chp5 - Les outils CASE
Chp5 - Les outils CASEChp5 - Les outils CASE
Chp5 - Les outils CASE
 
Chp3 - IHM
Chp3 - IHMChp3 - IHM
Chp3 - IHM
 
Tp5 - WINDEV
Tp5 - WINDEVTp5 - WINDEV
Tp5 - WINDEV
 
UML 2
UML 2UML 2
UML 2
 
Tp4 - PHP
Tp4 - PHPTp4 - PHP
Tp4 - PHP
 
Uml
UmlUml
Uml
 
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
Sécurité des Systèmes Répartis- Partie 1
 
71 corrige-gantt
71 corrige-gantt71 corrige-gantt
71 corrige-gantt
 
Méthode pert
Méthode pertMéthode pert
Méthode pert
 
La planification du projet
La planification du projetLa planification du projet
La planification du projet
 
Planification
PlanificationPlanification
Planification
 
Présentation de Thèse
Présentation de ThèsePrésentation de Thèse
Présentation de Thèse
 
TD gestion de projet séance 3
TD gestion de projet séance 3TD gestion de projet séance 3
TD gestion de projet séance 3
 
Realisation 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_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
 
TD gestion de projet
TD gestion de projetTD gestion de projet
TD gestion de projet
 
Exo pert
Exo pertExo pert
Exo pert
 

Semelhante a Tp3 - UML

Semelhante a Tp3 - UML (20)

ppt sur Le langage de modélisation UML.pdf
ppt sur  Le langage de modélisation UML.pdfppt sur  Le langage de modélisation UML.pdf
ppt sur Le langage de modélisation UML.pdf
 
Support de cours Conception orientée objets - partie 1.pdf
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
 
Présentation cours UML.pptx
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptx
 
cours2diagStatiq.pdf
cours2diagStatiq.pdfcours2diagStatiq.pdf
cours2diagStatiq.pdf
 
CM uml-intro
CM uml-introCM uml-intro
CM uml-intro
 
uml ikram elcaid.pdf
uml ikram elcaid.pdfuml ikram elcaid.pdf
uml ikram elcaid.pdf
 
Uml
UmlUml
Uml
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
 
Splpv2 annexes-c
Splpv2 annexes-cSplpv2 annexes-c
Splpv2 annexes-c
 
Uml 2 pratique de la modélisation
Uml 2  pratique de la modélisationUml 2  pratique de la modélisation
Uml 2 pratique de la modélisation
 
Cours Coosi
Cours CoosiCours Coosi
Cours Coosi
 
Methodo support
Methodo supportMethodo support
Methodo support
 
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interactionCM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
556ef78d93c3b
556ef78d93c3b556ef78d93c3b
556ef78d93c3b
 
CM uml-concepts-avances
CM uml-concepts-avancesCM uml-concepts-avances
CM uml-concepts-avances
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
 
Manuel uml-poweramc
Manuel uml-poweramcManuel uml-poweramc
Manuel uml-poweramc
 
Unified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VFUnified Modeling Language Intro 2021-2022 VF
Unified Modeling Language Intro 2021-2022 VF
 

Mais de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de donnéesLilia Sfaxi
 
TD2-JS-functions
TD2-JS-functionsTD2-JS-functions
TD2-JS-functionsLilia Sfaxi
 

Mais de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de données
 
Lab3-Android
Lab3-AndroidLab3-Android
Lab3-Android
 
Lab 5-Android
Lab 5-AndroidLab 5-Android
Lab 5-Android
 
Lab4 - android
Lab4 - androidLab4 - android
Lab4 - android
 
Lab2-android
Lab2-androidLab2-android
Lab2-android
 
Lab1-android
Lab1-androidLab1-android
Lab1-android
 
TD2-JS-functions
TD2-JS-functionsTD2-JS-functions
TD2-JS-functions
 

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