Les principes de lapproche oriente objets - PowerPoint PPT Presentation

1 / 64
About This Presentation
Title:

Les principes de lapproche oriente objets

Description:

'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. ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 65
Provided by: Dominique53
Category:

less

Transcript and Presenter's Notes

Title: Les principes de lapproche oriente objets


1
Les principesde lapproche orientée objets
 Esse est percipi.   Être cest être
perçu.  Berkeley
2
Objectif 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
3
Contenu 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

4
Les 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

5
La 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
6
La 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...
7
La 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" )

8
La 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 

9
Lobjet
  • 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

10
Analyse 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 

11
La 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

12
La 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

13
La 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.

14
La 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

15
La 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
16
La 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
17
La représentation dune classe
18
La 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

19
La 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

20
Ré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
21
Les 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

22
Relation de type association
  • L'association est une relation connectant
    plusieurs classes
  • formalisme un trait plein

23
Les principes de lapproche objet
2
  • Labstraction et la réification
  • La classification et la factorisation
  • Lencapsulation et le principe de localité
  • La coopération

24
Labstraction
  • 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

25
Le triangle sémiotique
Sens, signification Classe, concept
Signifié Objet réel (référent, denotatum)
Signifiant Objet logiciel,représentation
26
La 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

27
La 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

28
Exemple de réification
  • Une personne travaille pour une entreprise
  • Cette relation est décrite par des informations

29
La 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

30
Représentation dune hiérarchie
Classes abstraites
Classes concrètes
31
La 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

32
Le 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

33
Lencapsulation 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
34
Le 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 

35
Le 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 

36
Le principe de coopération (suite)
  • Un résultat attendu du système s obtient par le
    concours de plusieurs objets

37
Ce 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

38
Les dimensions de la modélisation
3
  • Comment approcher le réel ?

39
Les 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

40
Les 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
41
Les 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

42
Les 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
43
La 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
44
Les 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 ?

45
Le 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

46
Dé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

47
Le paradigme objet
Une logique cohérente !
48
Précisions
5
49
Les 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

50
Les 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

51
Les relations de type "Association"
  • Représentation

52
Exercices 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

53
Les 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

54
Exercices sur les associations avec les
cardinalités
  • Reprendre l'exercice précédent en indiquant les
    cardinalités sur le schéma

55
Les relations de type "agrégation"
  • Ce type de relation permet
    de modéliser les
    relations de type "Possède"

56
Exercices 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

57
De 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

58
Le 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

59
Lhé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

60
Le 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

61
Ré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
62
QCM
  • 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

63
Exercice 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

64
Les 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
Write a Comment
User Comments (0)
About PowerShow.com