Université Hassan 1er
Faculté des Sciences et techniques Settat
Département GE&GM Cycle
Ingénieur
Ingénierie des systèmes électriques
et systèmes embarqués
La conception orientée objet
UML et l’outil Eclipse UML
Module: Conception et programmation et sécurité des
systèmes
Réaliser par : Encadré par:
ADDAL Fouzia [Link]
DRIOUICH Toufik
Plan
I. Introduction
II. Modélisation orientée objet
III. UML
IV. Les diagrammes UML
V. Modélisation UML avec outil Eclipse
I. Introduction
II. Modélisation orientée objet
• Un modèle est une représentation abstraite de la réalité qui exclut certains détails du monde réel.
Il permet de réduire la complexité d'un phénomène en éliminant les détails qui n’influencent pas son
comportement de manière significative.
Il reflète ce que le concepteur croit important pour la compréhension et la prédiction du phénomène modélisé,
les limites du phénomène modélisé dépendent des objectifs du modèle.
• langage de modélisation
• Un langage de modélisation doit définir :
• La sémantique des concepts.
• Une notation pour la représentation de concepts.
• Des règles de construction et d'utilisation des concepts.
II. Modélisation orientée objet
Les langages de modélisation
Des langages à différents niveaux de formalisation:
Langages formels.
Langages semi-formels.
L'industrie du logiciel dispose de nombreux langages de modélisation :
Adaptés aux systèmes procéduraux (MERISE...).
Adaptés aux systèmes temps réel (ROOM, SADT...).
Adaptés aux systèmes à objets (OMT, Booch, UML...).
La programmation orientée objet
programmation orientée objet, chaque programme est constitué d’entités appelées objets, qui ne sont pas facilement
accessibles et modifiables.
programmation structurée, les programmes sont basés sur des fonctions, et les données peuvent être facilement
accessibles et modifiables
Programmation structurée Programmation orientée objet
La programmation orientée objet
Concept de base de la POO
La POO se base sur les notions clés suivantes :
Encapsulation
Abstraction
Classe et objets
Héritage
Polymorphisme
L’encapsulation est le faite qu’un objet renferme ses propres attributs et ses méthodes. Les détails de
l’implémentation d’un objet sont masqués aux autres objets du système à objets. On dit qu’il y’a encapsulation
de données et du comportement des objets.
On précise trois modes d’accès aux attributs d’un objet :
• Le mode public
• Le mode private
• Le mode protected
La programmation orientée objet
Abstraction
C’est le faite de se concentrer sur les caractéristiques importantes d’un objet selon le point de vue de
l’observateur.
le concept d’abstraction consiste à cacher les détails inutiles à l’utilisateur final d’une classe. Il va ainsi pouvoir
utiliser une classe dans son code de programmation tout en ne sachant pas comment celle-ci a été développée.
Objet
Les objets : un objet est un bloc de code mêlant des variables et des fonctions, appelées respectivement attributs
et méthodes. Les attributs définissent les caractéristiques d’un objet d’une classe, les méthodes définissent quant
à elles les fonctions propres aux instances d’une classe.
Une classe est un ensemble d’objets qui ont en commun :
les mêmes méthodes
les mêmes types d’attributs
Classe = attributs + méthodes + instanciations
La programmation orientée objet
Une instance d’une classe est un objet particulier d’une classe qui peut activer les méthodes de la classe et qui a des
valeurs particulières de ses attributs.
Objet 1 : Etudiant1
Nom : saghiri
Classe Etudiant Prenom : hamza
Age : 22
Attributs:
Nom : char[] nom
Prenom : char[] prenom Objet 2 : Etudiant2
3 instances
Age : int a Nom : malihi de la classe
Prenom : Ilyas Etudiant
Méthodes : Age : 23
Lecture-etudiant()
Ecriture-etudiant() Objet 3 : Etudiant3
Calcul-age()
Nom : ait el mekki
Prenom : youssef
Age : 22
La programmation orientée objet
Héritage
La notion d’héritage est une relation entre différentes classes permettant de définir une nouvelle classe en se
basant sur les classes existantes. On parle d’héritage simple lorsqu’une classe fille ne possède qu’une classe
mère. On parle d’héritage multiple lorsqu’une classe fille possède plusieurs classes filles.
Classe mère Classe A Classe A Classe C
Classe fille Classe B Classe B
Héritage simple Héritage Multiple
La programmation orientée objet
Polymorphisme
Le terme polymorphisme issu du grec signifie la faculté de prendre plusieurs formes.
C’est un mécanisme qui permet à une sous classe de redéfinir une méthode dont elle a hérité tout en gardant la
même signature de la méthode.
III. UML
1. Définition
UML Unified Modeling Language, est un langage de modélisation graphique à base de
diagrammes. Il est utilisé en développement logiciel, et en conception orientée objet.
2. Pourquoi l’UML
Systèmes réel
Modèle Modèle de Modèle de Modèle de
d’analyse conception réalisation déploiement
III. Les diagrammes UML
1. Diagramme de cas d’utilisation
Objectifs:
Définir les besoins fonctionnels du système.
Définir le périmètre fonctionnel du système.
Définir le dialogue entre l’utilisateur et le système.
Acteur Borne interactive
Nom du système
d’une banque
Retirer
argent
Client
Frontière du système
Effectuer
virement
Association Consulter
compte
2. Diagramme de contexte
Objectifs:
Présente le système à modéliser, sous la forme d’une « boîte noire » et
les différents acteurs qui interagissent avec ce système.
<<Acto
r>>
Exemple d’un diagramme
de contexte statique
Exemple d’un diagramme
de contexte dynamique
3. Diagramme d’activité
Objectifs:
•Décrire les étapes effectuées dans un cas d'utilisation d’UML.
•Démontrer la logique d'un algorithme.
•Illustrer un processus de travail entre les utilisateurs et le système.
Composants de base d’un diagramme d'activités
•Action
•Nœud de décision
•Flux de contrôle
•Nœud de départ
•Nœud de fin
4. Diagramme de classe
Objectifs:
Déterminer les données qui seront manipulé par le système.
Donner la structure statique de ces données.
Représenter les relations statique existant entre les diffèrent données du système.
Composants de base d’un diagramme de classes
Section supérieure
Section intermédiaire
Section inférieure
Modificateurs d'accès des membres
•Public (+)
•Privé (-)
•Protégé (#)
•Paquetage (~)
•Dérivé (/)
•Statique (souligné)
Cardinalité:
Association binaire
Association n-aire
Agrégation
Héritage
Héritage
5. Diagramme de communication
Définition :
Le diagramme de communication (collaboration) est une description des interactions
entre les objet composant le système pour un scénario.
Un diagramme dynamique d’UML .
Version simplifiée d’un diagramme de séquence.
Permettant aussi de représenter les échanges entre les objets.
31
Cas d’ascenseur
5:CabineArriver()
:Porte 2:AppelCabine(numéro Porte)
1:AppelCabine
6:Open()
:Porte 9:Close()
14:CabineArriver()
15:open() 17:sortie
16:Sortie() 13:déplacer
10:DemandeEtage(n) 4:déplacer
7:enter() :Cabine :Contrôleur 3:Traitement()
12:Traitement()
<<vide>> 8:Enter()
11:DemandeEtage(n)
15:Sortie()
32
[Link] de séquence
Diagramme de séquence
Définition :
Les principales informations contenues dans un diagramme de séquence sont les messages
échangés entre les lignes de vie : Ils sont représentés par des flèches. Ils sont présentés du
haut vers le bas le long des lignes de vie, dans un ordre chronologique.
Diagramme de
séquence
33
Les types des messages :
Message synchrone : bloque l’expéditeur jusqu’à la prise en compte du message par le
récepteur. Le contrôle est passé de l’émetteur aux récepteur qui devient à son tour
émetteur(actif) pour la réponse ou la prise en compte. Un message de retour(en pointillé)
peut être associé.
Représentation = flèche pleine.
Message asynchrone : n’interrompt pas l’exécution de l’expéditeur qui peut émettre sans
attendre de réponse du récepteur.
Représentation = flèche creuse.
Message réflexif : message envoyé d’un objet vers lui-même.
34
Exemple de Diagramme de séquence
Cas Retirer D'argent
Scénario nominal
1. Le Porteur de cartes introduit sa carte dans le lecteur de cartes du
GAB.
2. Le GAB vérifie que la carte introduite est bien une carte bancaire.
3. Le GAB demande au Porteur de carte de saisir son code
d'identification.
4. Le Porteur de carte saisit son code d'identification.
5. Le GAB compare le code d'identification avec celui qui est codé sur
la puce de la carte.
6. Le GABR demande une autorisation au Système d'autorisation.
7 Le Système d'autorisation donne son accord et indique le solde
hebdomadaire.
35
Exemple de Diagramme de séquence
36
7. Diagramme de composants
Notion de composant
Fournir un service bien précis.
Unité autonome représentée par un classeur structuré.
Son comportement interne est réalisé par un ensemble de classes.
Symbole graphique d’un composant
Le nom du composant
8. Diagramme de déploiement
Décrit la disposition physique des ressources matérielles qui composent le système et
montre la répartition des composants sur ces matériels ainsi que leur relation entre eux.
Éléments d'un diagramme de déploiement
• Artefact : produit développé par le logiciel.
• Association : ligne indiquant la communication entre deux nœuds.
• Composant : rectangle avec deux onglets indiquant un élément logiciel.
• Dépendance : ligne en pointillés terminée par une flèche, qui indique qu'un nœud ou
composant est dépendant d'un autre.
• Nœud : élément matériel ou logiciel représenté par cube.
• Nœud conteneur : nœud qui en contient un autre.
• Stéréotype : dispositif contenu dans le nœud.
III. L’outil Eclipse
Création d'un diagramme de cas d'utilisation
Il faut créer une nouvelle entité de type « UML Diagrams / UML Use Case Diagram» et cliquer sur le bouton
« Suivant ».
Saisissez le nom du fichier et cliquez sur le bouton « Fin ».
Le fichier est créé par l'assistant.
et une vue dédiée à l'édition du diagramme ouvre le fichier.
Il suffit alors de composer son diagramme.
Pour ajouter un acteur, il faut cliquer sur le bouton puis cliquer sur la surface de travail de la
vue.
Une boite de dialogue permet de saisir le stéréotype et le nom du nouvel acteur.
Le diagramme est enrichi avec le nouvel acteur.
Il est possible de répéter l'opération d'ajout d'un nouvel acteur en cliquant sur la surface tant que le bouton
Est activé.
création d'un cas d'utilisation est similaire en utilisant le bouton
Une boîte de dialogue permet de saisir les informations concernant le nouveau cas d'utilisation.
Il faut saisir les informations et cliquer sur le bouton « OK ».
• pour ajouter des associations, il suffit de cliquer sur l'association désirée dans la barre d'outils, puis de cliquer
sur la première entité (celle ci change de couleur au passage de la souris) puis sur la seconde (celle ci change
aussi de couleur au passage de la souris).
• Pour ajouter un commentaire, il suffit de cliquer sur le bouton.
• Une boite de dialogue permet de saisir le commentaire
Voici un exemple de diagramme.