Vous êtes sur la page 1sur 20

Analyse et conception de système orienté

objet avec UML

Dr Ibrahima GAYE

22 mai 2021
Références

I https ://www.uml.org/
I Le génie logiciel et ses applications, I. Sommerville,
InterEditions, 1988
I UML 2 en action, Pascal Roques, Franck Vallée, Eyrolles,
2004
I Object-Oriented Analysis and Design, with applications,
3rd Ed. BOOCH, Grady, et al. Addison-Wesley, 2007.
I Jacques Printz.Le genie logiciel.Que sais-je ? Presses
Universitaires de France, 2002.
I Bertrand Meyer.Conception et Programmation Orient ´ee
Objet.Eyrolles, 2000.
I Pierre-Alain Muller and Nathalie Gaertner.Mod ´elisation
Objet avec UML.Eyrolles, 2000.
I Pascal Roques.UML en action.Eyrolles, 2003.
Outline

UML (Unified Modeling Language) : Introduction

Approche objet

Les diagrammes UML


Introduction

I Résultat de la fusion de plusieurs modèles de conception


objet :

OOD (Object Oriented Design) - Grady Booch :

I une vue logique et physique du système


I Définie pour le DOD, afin de rationaliser de développement
d’applications ADA, puis C++.
I Ne couvre pas la phase d’analyse dans ses 1ères versions
(préconise SADT).
I Introduit le concept de package (élément d’organisation
des modèles)
Introduction

I Résultat de la fusion de plusieurs modèles de conception


objet :

OOSE (Object Oriented Software Engineering) - Ivar


Jacobson :
I couvre tout le cycle de développement
I La méthodologie repose sur l’analyse des besoins des
utilisateurs
I Issue d’un centre de développement d’Ericsson, en Suède
I Adopté et normalisé par l’OMG (Object
ManagementGroup) en 1997 (UML 1.1).
I Représentation standardisée d’un système orienté objet.
Introduction

I UML est différent d’une Méthode de conception


I UML est une notation graphique normalisée de
présentation de certains concepts pour modéliser des
systèmes objets.
I Peut être utilisée avec tout processus de développement
objet.
I UML comble une lacune importante des technologies
objet. Il permet d’exprimer et d’élaborer des modèles objet,
indépendamment de tout langage de programmation
I UML est un langage formel, défini par un méta-modèle qui
décrit de manière très précise tous les éléments de
modélisation (les concepts véhiculés et manipulés par le
langage) et la sémantique de ces éléments (leur définition
et le sens de leur utilisation).
Approche Objet

Une classe, un objet et une instance :

I Une classe est une entité abstraite qui regroupe un


ensemble de propriétés cohérentes et de traitements
associés.
I Elle est un ensemble d’attributs caractérise l’état de l’objet
et un ensemble d’opérations (méthodes) en définissent le
comportement.
I Un objet est une instance de classe
Approche Objet

Une classe, un objet et une instance :


I L’identité :
I L’objet possède une identité, qui permet de le distinguer
des autres objets, indépendamment de son état. (par
exemple un produit pourra être repéré par un code, une
voiture par un numéro de série, etc.)
I Les attributs
I Il s’agit des données caractérisant l’objet. Ce sont des
variables stockant des informations sur l’état de l’objet.
Approche Objet

Une classe, un objet et une instance :


I Les méthodes :
I Les méthodes d’un objet caractérisent son comportement,
c’est-à-dire l’ensemble des actions (appelées opérations)
que l’objet est à même de réaliser. Ces opérations
permettent de faire réagir l’objet aux sollicitations
extérieures (ou d’agir sur les autres objets). De plus, les
opérations sont étroitement liées aux attributs, car leurs
actions peuvent dépendre des valeurs des attributs, ou bien
les modifier.
Approche Objet

Une classe, un objet et une instance :

I figure 16, une classe Voiture


I Marque, Couleur, Matricule sont les attributs
I Démarer, Arreter sont les méthodes
Approche Objet

Une classe, un objet et une instance :


Approche Objet

Encapsulation
Masquage de propriétés ou de comportements, restriction
d’utilisation.

Héritage (et polymorphisme)


L’héritage est un mécanisme de transmission des propriétés
d’une classe (ses attributs et méthodes) vers une sous-classe.
Le polymorphisme représente la faculté d’une méthode à
pouvoir s’appliquer à des objets de classes différentes.il
augmente la généricité du code.
Approche Objet

Une classe peut être spécialisée en d’autres classes ou


plusieurs classes peuvent être généralisées. La spécialisation
et la généralisation permettent de construire des hiérarchies de
classes. L’héritage peut être simple ou multiple.

Avantages
Evite la duplication et encourage la réutilisation.
Approche Objet

Agrégation
Il s’agit d’une relation entre deux classes, spécifiant que les
objets d’une classe sont des composants de l’autre classe. Une
relation d’agrégation permet donc de définir des objets
composés d’autres objets. L’agrégation permet donc
d’assembler des objets de base, afin de construire des objets
plus complexes.
Approche Objet

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.

Spécification
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.
Approche Objet

Généralisation - Spécification
Diagrammes

I La version actuelle de UML (2) s’articule autour de 13


diagrammes.
I 4 ont été introduits dans UML 2, Juillet 2005.
I Chaque diagramme fournit une représentation du système
suivant un point de vue particulier.
Diagrammes

I UML modélise le système suivant 2 modes de


représentation (nécessaires et complémentaires) :
I Mode statique (ou structurel) : concerne la structure du
système pris au repos.
I Mode dynamique (ou comportemental) : concerne la
dynamique de fonctionnement du système.
Diagrammes
Les 7 diagrammes UML de structure

I Use cases : description des fonctionnalités du point de


vue user
I Classes : structuration des entités manipulées par les
utilisateurs (classes, interfaces)
I Packages : hiérarchie des modules du système (UML 2)
I Objets : illustration des structures de classe complexes en
montrant des exemples d’instances et leurs relations
I Structure composite : description de la composition d’un
objet complexe lors de son exécution (UML 2)
I Composants : architecture des composants physiques du
système
I Déploiement : description de l’installation des composants
du système sur le matériel et sur le réseau
Diagrammes
Les 6 diagrammes UML de comportement

I Etats : représentation du cycle de vie commun aux objets


d’une même classe.
I Activités : règles d’enchaînement des activités du
système.
I Séquences : description d’échanges de messages entre
objets dans le cadre d’un fonctionnement particulier du
système ; représentation des scénarios d’utilisation du
système.
I Communication (ou collaboration) : représentation
simplifiée du diagramme de séquence.
I Global d’interactions : association entre diagrammes de
séquence et d’activités (UML 2).
I De temps : description de contraintes tps-réel délicates
(UML 2).

Vous aimerez peut-être aussi