Telechargé par sebaizohra20

MOU Cours Chap01

publicité
Université Mohammed El Bachir El Ibrahimi- Bordj Bou
Arréridj
Faculté des Mathématiques et Informatique
Master I IID
Modélisation Objet avec UML
Djamila MOHDEB
[email protected]
[email protected]
Année universitaire: 2020/2021
2
Chapitre I: Introduction au langage UML
et l’approche Orientée Objet
3
Notions de base
Modèle, modélisation, analyse, conception
• Un modèle est une description abstraite d’un système ou d’un
processus, une représentation simplifiée qui permet de comprendre
et de simuler.
• En informatique, la modélisation consiste tout d’abord à décrire un
problème, puis à décrire la solution de ce problème ; ces activités
s’appellent respectivement l’analyse et la conception.
4
Notions de base
Méthode
• Une démarche d’organisation et de conception en vue de résoudre
un problème informatique (par opposition à un formalisme utilisé
par cette méthode).
Approche Orientée Objet
• L’approche orientée objet est une façon d’aborder un problème et de
le découper en petits sous-problèmes (on commence par rechercher
les objets du système puis leurs interactions).
Approche Orientée Objet
• La conception Orientée Objet conduit à des architectures logicielles
fondées sur les objets du système, plutôt que sur une
décomposition fonctionnelle (décomposer la fonction globale jusqu'à
obtenir des fonctions simples à appréhender et donc à programmer).
Exemple
Dans l’entreprise Ent, on voit l’employé Ent_E1 entrain de recevoir une
livraison de 100 mètres de câble K2000 du fournisseur F1. Il signe le
bon de livraison numéro 007 et un document papier donné par F1_E1
(F1_E1 est employé de F1). Il fait transporter le matériel dans le
magasin par l’employé Ent_E2, qui le place dans un espace de
rangement vide.
Les éléments repérés sont de diverses natures :
• Ent_E1, Ent_E2, F1_E1 sont des êtres humains qui effectuent des
activités.
• Les câbles sont des éléments matériels.
• F1 est une entreprise fournisseur de Ent.
• F1_E1 est employé de F1.
• Ent_E1 et Ent_E2 sont des employés de Ent.
• Le bon de livraison 007 est un document papier portant les
informations relatives à la livraison.
• Le magasin est une partie géographiquement localisée et distincte
de l’entreprise.
7
• Chaque élément est identifiable. Certains éléments sont concrets (ex
: 100 m de câble K2000), d’autres sont plus abstraits (ex : l’entreprise
Ent et l’entreprise F1).
• La plupart des éléments évoluent dans le temps : employé (en
activité, en repos), bon de livraison 007 (émis, signé, et peut être
annoté), le câble K2000 (camion de la livraison, magasin de stock).
• Certains éléments sont actifs (ex : les employés), d’autres sont
passifs, mais on peut agir sur eux (ex : signer le bon de commande).
Les actions, attendues ou possibles, sont souvent liées à la nature de
l’élément.
8
Concepts de l’approche orientée
objet
Objet
• Un objet représente une entité du monde réel (ou du monde virtuel pour
les objets immatériels) qui se caractérise par un identifiant, un ensemble
de propriétés (attributs), et un comportement (actions).
Exemple
• La voiture de Ali a pour numéro d’immatriculation AB-165-RE, elle pèse
1,5T, elle est verte. Elle a 55000 kilomètres au compteur. La voiture peut
démarrer, s’arrêter, accélérer, décélérer, et tourner.
• La voiture de Ahmed a pour numéro d’immatriculation AC-271-BB, elle
pèse 2T, elle est noire, elle a 90000 kilomètres au compteur. Cette voiture
peut démarrer, s’arrêter, accélérer, décélérer, et tourner.
9
Concepts de l’approche orientée
objet
Classe
• Une classe décrit un groupe d’objets ayant les
mêmes propriétés (attributs), un même
comportement
(opérations),
et
une
sémantique
commune
(domaine
de
définition).
• Un objet est une instance d’une et une seule
classe. La classe représente l’abstraction de
ses objets.
Voiture
numImmatriculation
poids
couleur
kilométrage
Démarrer ()
Arrêter ()
Accélérer ()
Décélérer ()
Tourner ()
10
Concepts de l’approche orientée
objet
Encapsulation
Par rapport à l’approche classique,
l’approche objet se caractérise par le
regroupement dans une même classe
de :
✓ La description de la structure des
attributs
✓ La description des opérations.
Voiture
numImmatriculation
poids
couleur
kilométrage
Démarrer ()
Arrêter ()
Accélérer ()
Décélérer ()
Tourner ()
Attributs
Opérations
11
Encapsulation
Par conséquence, l’objet/classe a deux aspects :
• Interface : vue externe de l’objet.
• Corps : implémentation des comportements (opérations) et des
attributs.
D’un objet, un utilisateur ne connaît que l’interface. L’implémentation
est masquée et non accessible à l’utilisateur.
12
Concepts de l’approche orientée
objet
Héritage (spécialisation/généralisation)
• La généralisation de classes consiste à factoriser dans une classe,
appelée superclasse, les attributs et/ou opérations des classes
considérées. Appliquée à l’ensemble des classes, elle permet de
réaliser une hiérarchie des classes.
• La spécialisation représente la démarche inverse de la généralisation
puisqu’elle consiste à créer à partir d’une classe, plusieurs classes
spécialisées.
13
Personne
Id_personne
nom
prénom
âge
getNom ()
getPrenom()
Employé
qualification
Calculer_salaire ()
14
Concepts de l’approche orientée
objet
Polymorphisme
• Le polymorphisme est la capacité donnée à une même opération de
s’exécuter différemment suivant le contexte de la classe où elle se
trouve.
• Ainsi une opération définie dans une superclasse peut s’exécuter de
manière différente selon la sous-classe où elle est héritée.
15
Forme graphique
Calculer_surface ()
Rectangle
Hauteur
Longueur
Cercle
Rayon
Calculer_surface ()
Calculer_surface ()
16
Concepts de l’approche orientée
objet
Avantages de l’approche objet
• La modularité: par construction, étant donné que l’on conçoit des
classes représentant une entité de taille limitée en données et en
opérations, il est plus aisé de construire des systèmes modulables que
si l’on élabore une seule base de données d’une part et un seul logiciel
d’autre part.
• La réutilisabilité: la définition d’un système à l’aide de classe ayant
chacune la responsabilité d’un sous-ensemble de données et des
opérations associées favorise fortement la potentialité de trouver des
classes réutilisables.
17
Langage de modélisation UML
• UML, Unified Modeling Language, langage de modélisation unifié,
est un ensemble de notations graphiques (modèles) qui s’appuient sur
une syntaxe (métamodèle). L’objectif initiale était de permettre aux
informaticiens de représenter un système logiciel et son utilisation
prévue dans l’entreprise, afin d’améliorer la qualité des applications
informatiques qu’ils développaient.
• Aujourd’hui, UML se présente comme un langage pouvant être
utilisé dans des domaines variés : génie logiciel, analyse d’un système
d’information…etc.
18
Langage de modélisation UML
Remarques importantes
• UML est un langage de modélisation orientée objet.
• UML n’est pas une méthode. Il n’offre pas une méthodologie pour
l’analyse et la conception, mais un langage qui permet d’exprimer le
résultat de ces phases.
• UML a été adopté par toutes les méthodes orientées objet.
• UML est dans le domaine public ; c’est un standard.
19
Diagrammes UML
UML dans sa version 2 propose 14 diagrammes qui peuvent être
utilisés dans la description d’un système. Ces diagrammes sont
regroupés dans deux grands ensembles.
• Les diagrammes structurels : ces diagrammes, au nombre de six, ont
vocation à représenter l’aspect statique d’un système (classes, objets,
composants…).
• Les diagrammes de comportement : ces diagrammes représentent la
partie dynamique d’un système réagissant aux événements et
permettant de produire les résultats attendus par les utilisateurs.
20
Diagrammes UML
Diagrammes structurels
Diagramme de classe
Diagramme d’objet
Diagramme de composant
Diagramme
de
déploiement
Diagramme de paquetage
Diagramme de structure
composite
Diagrammes de comportement
Diagramme des cas d’utilisation
Diagramme d’état-transition
Diagramme d’activités
Diagramme de séquence
Diagramme
de
communication
(anciennement appelé collaboration)
Diagramme global d’interaction
Diagramme de temps
Diagramme de profils
Téléchargement