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