Chapitre I - Introduction
Chapitre I - Introduction
Chapitre I - Introduction
1-1
I. INTRODUCTION
Concepts de l’orienté objet
✓ Classe: est une structure abstraite qui décrit des objets du
monde réel sous deux angles : ses propriétés (ses
caractéristiques) et ses méthodes (les actions qu’elle peut
effectuer ou son comportement).
Une classe est finalement une sorte de moule, de modèle.
• Opérations/Méthodes :
– démarrer une voiture – démarrer une voiture
– accélérer une voiture – accélérer une voiture
Identité
Etat
Méthode
Ou
comportement
UML: Unified Modeling Language 1-5
Concepts de l’orienté objet
✓ Orienté objet : organisation d’un logiciel sous la forme
d’une collection d’objets indépendants incorporant
structure de données et comportement.
✓ Attributs : il s'agit des données caractérisant l'objet. Ce
sont des variables stockant des informations sur l'état de
l'objet
✓ L’encapsulation permet de définir des niveaux de visibilité
des éléments de la classe. Ces niveaux de visibilité
définissent ce qu’on appelle la portée (ou encore le
périmètre) de la l’attribut/méthode. Il existe trois niveaux de
visibilité :
❖ Publique (+): les attributs publics sont accessibles à tous.
❖ Protégée (#): les attributs protégés sont accessibles seulement
dans la classe elle-même et aux classes dérivées.
❖ Privée (-): les attributs privés sont accessibles seulement par la
classe elle-même.
UML: Unified Modeling Language 1-6
Concepts de l’orienté objet
Modularité :
Décomposer un programme en un ensemble de modules
cohérents et faiblement couplés pouvant être compilés
séparément.
Hiérarchisation :
Ranger ou ordonnancer les abstractions
héritage => généralisation / spécialisation ("genre de")
agrégation => composition par regroupement ("partie de")
Généralisation de classe
• Factoriser dans une classe, appelée superclasse, les
attributs et/ou opérations des classes considérées.
• Permettre de réaliser une hiérarchie des classes
Polymorphisme
• Capacité donnée à une même opération de s’exécuter
différemment suivant le contexte de la classe où elle se
trouve.
• Une opération définie dans une super-classe peut
s’exécuter de manière différente selon la sous-classe
où elle est héritée.
• Le polymorphisme permet la spécialisation des
traitements en fonction de la spécialisation des objets.
De plus, il n’existe aucune restriction quant à la nature
ou au nombre des traitements qui peuvent être définis
sur les objets.
1-10
UML: Unified Modeling Language
Concepts de l’orienté objet
Persistance
• La persistance est la propriété donnée à un objet de
continuer à exister après la fin de l’exécution du
programme qui l’a créé.
• Par défaut dans l’approche objet, aucun objet n’est
persistant. Les modèles décrivent le système en
exécution en mémoire centrale et ne tiennent pas
compte à priori de l’état du système qui doit être stocké
sur disque.
OMT-2
James Rumbaugh
UML 0.8
OOSPLay ‘95 UML 0.9 UML 1.0 UML 1.1
Booch ‘93 Proposé à un Standard
Juin 96
Grady Booch standard OMG OMG
fin 1997 ADTF fin 1997
UML 2.5.1
2017
17
UML et l’OMG
19
Rôle de l’analyse
• Le but de l’analyse est de traduire dans un langage qui se
rapproche doucement de celui des informaticiens les modèles
exprimés dans l’expression des besoins
• Cependant, pour rester compréhensible par les clients ou
utilisateurs, elle ne prend en considération que des entités du
domaine (métier)
• Elle sert d’interface, avec l’expression des besoins, aux
dialogues avec les clients et les utilisateurs
• L’analyse doit servir de support pour la conception, l’implantation
et la maintenance
• Le modèle de l’analyse décrit le problème (ce que doit faire le
système et comment il le fait tel que vu d’un point de vue métier)
sans spécifier la solution technique (avec les canevas
logiciels)
Analyse = LE-QUOI
UML : Unified Modeling Language
20
Rôle de la conception
21
Principes de la modélisation
Objectif principal de la modélisation = maîtriser la complexité
• Modéliser = abstraire la réalité pour mieux comprendre le
système à réaliser / réalisé
• Le modèle doit être relié au monde réel
– Par exemple : l’existant avant les travaux, le réalisé, le
restant à réaliser
• Un modèle peut être exprimé avec différents niveaux
d’abstraction / raffinement
– Par analogie : répartition électrique de l’immeuble, de la
cage d’escalier, de l’appartement, de la pièce
• Une seule « vue » du système n’est pas suffisante
– Les intervenants multiples du projet informatique possèdent
des préoccupations multiples
• Par analogie : plan de masse, vues de face et de côté,
schéma électrique, plan de plomberie, plan de calculs de
construction. UML : Unified Modeling Language
22
Pourquoi et comment modéliser en orienté objet
23
Avantages de la modélisation
UML est un langage de modélisation standardisé qui peut être
utilisé pour différents environnements de programmation et
processus de développement. Il est conçu pour que la majorité
des développeurs de logiciels le comprennent et soient en
mesure de l’appliquer à leur travail.
Au lieu de les considérer comme un simple « plus », accordez à
vos diagrammes UML une place centrale dans votre
documentation. Ces visuels peuvent aider les équipes
d’ingénieurs à :
✓ former rapidement les nouvelles recrues ou les développeurs
qui changent d’équipe.
✓ appréhender le code source.
✓ planifier les nouvelles fonctionnalités avant leur programmation.
✓ communiquer plus facilement avec des publics techniques et
non techniques.
UML: Unified Modeling Language
1-24