Title: Les principes de lapproche oriente objets
1Les principesde lapproche orientée objets
Esse est percipi. Être cest être
perçu. Berkeley
2Objectif de la séquence
- Compétence visée
- Pré-requis
- Avoir une légère pratique de la modélisation ou
de la programmation objet - Même livresque
Prendre possession des repèresnécessaires à la
modélisation objet
Durée de la séquence 1 h
Protection des documents
3Contenu de la séquence
- Les concepts de lapproche objet
- Les principes de lapproche objet
- Les dimensions de la modélisation
- Le paradigme objet
- ? diapositive 47
- Précisions
- En complément
- Hors agenda
4Les concepts de lapproche objet
1
- La perception du réel
- Lobjet
- La représentation du réel
- La classe
- Les relations entre classes
- La représentation des communications
- Les messages
5La notion dobjet approche
- Tout d abord
- Voir les dictionnaires courants
- Des définitions compliquées pour un concept
simple ! - Tout ce sur quoi lattention peut se porter
- que lon peut décrire
- dont on peut parler
Une approche du réel
6La notion d objet exemples (1)
- Des objets physiques
- Une voiture, une maison, etc.
- Un dossier, un plan de travail, un agenda, etc.
- Des objets conceptuels ou conventionnels
- Un compte bancaire, un contrat, etc.
- Un risque, un projet, etc.
- L argent, la responsabilité, l action, etc.
Bref, tout ce à quoi l on peut penser comme
quelque chose de cohérent...
7La notion d objet exemples (2)
- Des entités physiques
- Une voiture
- La voiture bleue immatriculée 1254 RH 75
- Elle roule, elle s arrête
- Elle est en réparation
- Une boîte
- La boîte de crayons devant moi
- Un éléphant
- Celui du zoo de Thoiry qui s'appelle DUMBO
- Des concepts
- Un nombre ( le nombre 4 )
- Une chaîne de caractères ( "attention" )
8La notion d objet caractéristiques
- Lobjet se caractérise par un ensemble de
propriétés - Propriété ce quil possède en propre
- Ce qui le caractérise, ce qui le distingue des
autres objets - Les propriétés peuvent être informatives ou
actives - Pour le langage commun
- informations et actions (transformations,
opérations, comportements) - Pour linformaticien
- données et traitements
9Lobjet
- Un objet est un composant du monde réel
- Objet physique
- Concept
- Un objet se définit par ce quil est et ce quil
fait - Des propriétés
- Informations
- attributs
- Couleur, forme, longueur, nom .
- Actions
- opérations
- Avancer, Reculer, Calculer
- Des comportements
- Des règles et contraintes
- contraignent le comportement
10Analyse de la notion dobjet
- Lidentité
- Un objet est unique
- Son identité permet de le distinguer des autres
objets - De façon non ambiguë
- Létat
- Létat regroupe les valeurs des propriétés dun
objet à un instant donné - Létat dun objet évolue en fonction de son
comportement - Lobjet est seul responsable de son état
- Un attribut est un dispositif qui permet à
l'objet de conserver l'information - Le comportement
- Le comportement définit la manière dont lobjet
agit et réagit aux différentes sollicitations de
lextérieur - Les opérations (ou actions ) dun objet sont
déclenchées par les messages quil reçoit - Une opération correspond à un "atome" de
comportement - Envoi de messages
11La notion dobjet en programmation
- Dans le cadre de la programmation
- En réponse à deux questions
- Le découpage Données / Traitements est-il la
meilleure façon de structurer les logiciels ? - Comment réutiliser les développements effectués ?
- Les langages de Programmation Objet (LPO)
- Simula I ( 1966), Simula II ( 1973), Smalltalk
(1972) - C, Object Pascal Eiffel , Java
12La notion dobjet en modélisation
- L'objet comme unité de représentation
- L'objet est une représentation d'une portion
cohérente de la réalité - La cohérence est liée à l'adéquation de l'objet
soit à une entité réelle, soit à un concept - Elle est toujours perçue relativement à une
intention - Critère de pertinence
- Décision de réification (/)
- En cela réside la nouveauté
- L'objet du modèle est plus que la donnée du
modèle entités-relations... - ...plus qu'un regroupement de données et de
traitements - Il est un modèle exact et complet d'un objet du
monde réel
13La notion dobjet les nuances
- Une confusion possible
- Par raccourci, le terme objet désigne souvent
le modèle de lobjet réel - Et non lobjet réel lui-même
- L'objet comme unité informatique
- Entités qui combinent les propriétés des
procédures et des données puisqu'ils réalisent
des calculs et sauvegardent un état local. - Stefik et Bobrow, cités par G. Booch, Conception
orientée objets et application, p. 34.
14La classe
- La classe décrit un ensemble d'objets similaires
- La classe est une représentation
- Le modèle des objets observés
- La classe est obtenue par une démarche
dabstraction à partir des objets - Identification des caractéristiques communes à un
ensemble d'éléments - La classe est un moule pour la fabrication
dun objet - Lobjet sobtient par instanciation de la classe
- L'objet est dit aussi "instance de classe"
- Linstanciation processus de création des
instances à partir d'une classe
15La représentation d'un objet
Ma mobylette
Lidentification
Couleur rouge Cylindrée 49,9 Vitesse Maxi
30 En circulation
L état Les attributs
Démarrer ( ) Accélérer ( ) Freiner ( )
Le comportement Les opérations
16La représentation d'une classe
Mobylette
Le nom
Couleur Cylindrée Vitesse maximale Etat de marche
Les attributs
Démarrer( ) Accélérer( ) Freiner( )
Les opérations
17La représentation dune classe
18La notion de classe
- La classe représente un ensemble dobjets qui
ont le même comportement - En extension
- La classe comme ensemble des objets semblables
- Un objet est une instance de classe
- et la classe se compose de lensemble de ses
instances de classe ou objets - En intension
- La classe est un concept
- Cest une abstraction par rapport à lobjet
19La communication entre objets
- Elle seffectue par des messages
- Le message est l'unité de communication entre les
objets - Le message permet de relier dynamiquement les
objets entre eux - L envoi de message
- Objet-gtopération
20Récapitulatif sur la notion d objet
- L objet est une unité
- qui renferme ses informations,
- Les attributs
- est responsable de son état
- L état est une notion forte de la modélisation
objet - et interagit avec son environnement par envoi de
messages - Les opérations
Services publics
OBJET
Données protégées
Environnement
Messages
21Les relations entre classes
- Association
- Relations structurelles entre instances
- Relation au sens de Merise
- Généralisation
- Relations reliant des classes générales à des
classes plus spécialisées - est une sorte de
- Sous-type au sens de Merise
- Dépendance
- Relation d'utilisation
- servant à montrer qu'un élément en utilise un
autre
22Relation de type association
- L'association est une relation connectant
plusieurs classes - formalisme un trait plein
23Les principes de lapproche objet
2
- Labstraction et la réification
- La classification et la factorisation
- Lencapsulation et le principe de localité
- La coopération
24Labstraction
- L'abstraction comme processus mental
- L'abstraction est l'action de l'esprit qui, à
partir d'un donné, en extrait une signification
utile et construit une idée (ou concept) - Le concept (pour nous, la classe) est
manipulable intellectuellement
25Le triangle sémiotique
Sens, signification Classe, concept
Signifié Objet réel (référent, denotatum)
Signifiant Objet logiciel,représentation
26La réification
- Terme emprunté à la philosophie
- Étymologie
- Res La chose
- Facere Faire
- Définition en modélisation
- Décision que prend le modélisateur de considérer
une portion du réel comme un objet - Avec ce quimplique la notion dobjet
- Le principe de réification pragmatique formulé
par Jacques FERBER - "Si l'on parle de quelque chose en lui attribuant
des propriétés, ou si cette chose doit être
manipulée, alors il faut la représenter sous
forme d'objet." - En pratique
- Action ordinaire du modélisateur
- Un cas particulier
- La réification des associations
27La classification
- La généralisation
- Factoriser les éléments communs d'un ensemble de
classes dans une classe plus générale appelée
super-classe - Exemple Chats lt Félins lt mammifères lt vertébrés
lt êtres vivants - La spécialisation
- Définir dans une sous-classe des attributs et des
opérations spécifiques - Exemple Chat gt Persan Européen
28Exemple de réification
- Une personne travaille pour une entreprise
- Cette relation est décrite par des informations
29La classification (suite)
- La classification sexprime par une hiérarchie de
classes - Larbre dhéritage
- Deux catégories de classes
- Les classes concrètes
- Elles sont directement instanciables
- Les classes abstraites
- Elles sont découvertes par un effort de
conception - Elles ne sont pas instanciables
30Représentation dune hiérarchie
Classes abstraites
Classes concrètes
31La factorisation
- La factorisation
- Une exigence qui agit sur la qualité du modèle
- Incitation à la généricité
- On ne doit pas écrire deux fois la même chose !
- Thème lié
- Le polymorphisme
- Cf. séquence La modélisation structurelle
optimisation - Réf. MLQ-08
32Le principe dencapsulation
- La classe regroupe tout ce qui se rapport aux
objets quelle représente - Les attributs et les opérations encapsulent les
traits sémantiques - Les attributs
- Les objets sont responsables de la valeur de
leurs attributs - Seules les opérations définies dans la classe
font évoluer létat de lobjet - Pas d'accès intempestif ? meilleure intégrité
- Les opérations
- Les opérations sont réalisées sous la seule
responsabilité de la classe - Acquisition de paramètres en provenance de
lextérieur - Fourniture dinformations en retour vers
lextérieur
33Lencapsulation et la visibilité
Nom de la classe
Contrat
Propriétés publiques
Numéro
Compartiment
Date d'effet
des attributs
- Prime
Propriété privée
Compartiment
Obtenir_prime
Opération publique
des opérations
34Le principe de localité
- Quand on parle dune chose (ou dun concept),
les opérations sur cette chose doivent être
portées par la classe qui la représente. - Inspiré de Jacques Ferber
- Pas de manipulation à distance
35Le principe de coopération
- Les objets coopèrent entre eux pour former des
systèmes - La coopération de deux objets se fait au moyen de
messages - Envoi de message
36Le principe de coopération (suite)
- Un résultat attendu du système s obtient par le
concours de plusieurs objets
37Ce quil faut retenir
- Lapproche objet
- Permet de décomposer le système en objets
élémentaires - Intègre la vision statique et dynamique dans une
même entité - Encapsulation
- Factorisation
- Généricité
- Ce nest pas une approche par fonctions
38Les dimensions de la modélisation
3
- Comment approcher le réel ?
39Les outils de la modélisation
- Quel que soit laspect à représenter
- La situation de travail perçue par lutilisateur
- Le processus élaboré par lorganisateur
- Larchitecture logique souhaitée par lurbaniste
- Larchitecture technique
- Lapplication conçue par le développeur
informaticien - la modélisation comporte plusieurs dimensions
- Le modélisateur doit les parcourir toutes
- Pour produire un modèle complet
40Les dimensions de la modélisation
- La connaissance dun objet sorganise autour de
trois axes
Ce qu'il est
Comment il se comporte
Ce qu'il fait
41Les dimensions de la modélisation
- La structure
- Le QUOI
- Lêtre, la substance
- Le fonctionnement
- Le FAIRE
- Laction, la production
- Le comportement
- Le DEVENIR
- La réaction, le contrat, les transformations
42Les trois approches de la modélisation
- Nous en déduisons les approches du réel
- Selon ces axes
Modélisation structurelle
Modélisation fonctionnelle
Modélisation contractuelle
43La modélisation évolue dans ces trois dimensions
Modéliser la structure
Modéliser le compor-tement
Modélisation structurelle
Modéliser le fonction- nement
Modélisation fonctionnelle
Modélisation contractuelle
44Les diagrammes et les axesde la modélisation
- Essai de classification
- Pouvez-vous répartir les neuf diagrammes UML
- Diagramme de cas dutilisation
- Diagramme de classes
- Diagramme dobjets
- Diagramme détats
- Diagramme dactivité
- Diagramme de séquence
- Diagramme de collaboration
- Diagramme des composants
- Diagramme de déploiement
- sur les trois dimensions de la modélisation ?
45Le paradigme objet
4
- Appuyée sur la base des concepts
- Guidée par les principes
- Lapproche orientée objet met en uvre
un paradigme précis
46Définition de paradigme
- Un paradigme est une représentation du monde,
une manière de voir les choses - Source Wikipedia
- Un ensemble de convictions partagées
par une communauté scientifique - Thomas Kuhn
- Structure des révolutions scientifiques
47Le paradigme objet
Une logique cohérente !
48Précisions
5
49Les catégories d'opérations
- Les constructeurs
- Créent les objets
- Les destructeurs
- Détruisent les objets
- Les modificateurs
- Changent tout ou partie de l'état d'un objet
- Les sélecteurs
- Renvoient tout ou partie de l'état de l'objet
50Les relations entre classes
- Association
- C'est le reflet d'une connexion "sémantique" qui
a du sens dans lunivers décrit - Cest aussi une abstraction de liens entre objets
- Exemple Un salarié travaille dans l'entreprise
X - Agrégation
- C'est une relation exprimant une relation de
type composant / composé - Exemple un mail est composé d'un émetteur,
d'un destinataire, - d'un texte de message, d'un titre de message
- Relations de hiérarchies entre classes
- Il est possible de lier des classes entre elles
en définissant de liens de type " est une sorte
de " - Exemple Un caniche "est une sorte de" chien
51Les relations de type "Association"
52Exercices sur les associations
- Une entreprise commercialise des produits
- Le lion du zoo de Vincennes mange 14 kg de viande
tous les jours - Létudiant de "Math-spé" passe des concours ( en
fin d'année) - Les personnes qui mangent dans ce snack
travaillent dans l'entreprise d'assurance
53Les cardinalités
- Dans l'approche objet il est possible de définir
des cardinalités - Attention, celles-ci se lisent dans le sens
inverse de celui de merise
54Exercices sur les associations avec les
cardinalités
- Reprendre l'exercice précédent en indiquant les
cardinalités sur le schéma
55Les relations de type "agrégation"
- Ce type de relation permet
de modéliser les
relations de type "Possède"
56Exercices sur lagrégation
- Lhôtel de la plage possède 10 chambres et 3
suites - Chaque chambre et chaque suite disposent d'une
salle de bain - Dans chaque suite, il y a en plus un sauna
57De la difficulté à classifier
- Une classification doit être robuste
- Stable
- Extensible
- On peut, parfois, hésiter
- Exemple
- Classement des animaux suivants
- Lion, lapin, mouton, tigre, cheval, vache,
gazelle, gnou, chien , chat - Classement des véhicules suivants
- Mobylette, avion, planeur, vélo, trottinette,
scooter, voiture
58Le mécanisme dhéritage
- L'héritage
- "Mécanisme au moyen duquel les éléments les plus
spécifiques incorporent la structure et le
comportement d'éléments plus généraux" - Guide de l'utilisateur UML
- Lors de l'exécution d'une application, les
attributs et les opérations d'une classe amont
sont considérés comme faisant partie de la classe
aval comme s'ils avaient été déclarés localement - Classe VEHICULE A MOTEUR
- Classes BUS, MOBYLETTE
59Lhéritage multiple
- L'héritage multiple est source de conflit
- L'étudiant salarié appartient
- à la classe étudiant
- et à la classe Salarié
- Le véhicule amphibie
- est une sous classe
- de véhicule flottant
- et de véhicule roulant
-
60Le concept de polymorphisme
- Le polymorphisme
- "Qui peut se présenter
sous plusieurs formes - Robert
- C'est la possibilité
pour une opération,
de se réaliser de façon
différente selon la classe
sur laquelle on l'active - Si une opération est définie sur une sur-classe,
elle peut se réaliser de façon
différente selon la sous-classe
61Récapitulatif des acquis
- Rappel de la compétence visée
- Test des connaissances
- QCM
- Exercice
- Distribution des diagrammes sur les trois dimensio
ns de la modélisation
Prendre possession des repèresnécessaires à la
modélisation objet
Compétence Performance
62QCM
- Qu'est-ce qu'un objet ?
- Qu'est-ce qu'une classe ?
- Quelle est la relation entre un objet et une
classe ? - Comment se construit un système selon l'approche
objet ? - Quelle est, selon vous, l'innovation qui
caractérise le plus la logique objet ? - Définissez
- la classification
- la réification
- Citez les types de relations entre classes
63Exercice récapitulatif
- Énoncé
- L'hôtel de la plage appartient au groupe hôtelier
Vacances Heureuses ( x hôtels) - Monsieur Le-Boss dirige le groupe et chaque hôtel
du groupe - Chaque hôtel est situé à une adresse, dispose
d'un nombre de pièces et d'un nombre d'étages - Chaque hôtel dispose de chambres et de suites
- Chaque chambre est située à un étage, dispose
d'un numéro, d'un nombre de Lits et d'un prix
de chambre - Chaque chambre dispose de salles de bain
- Les clients peuvent louer une ou plusieurs
chambres
64Les diagrammes et les axesde la modélisation
(réponse)
Diagrammes de classes et dobjets
Aspects physiques
Diagramme des composants
Diagramme de paquetages
Diagramme de déploiement
Diagrammes des cas dutilisation (actions des
utilisateurs)
Diagrammes dynamiques Activité, séquence,
collaboration
Diagramme détats