1. 1
Génie logiciel et méthodes de
conception orientées objetp j
Introduction
aux méthodes de conception
orientées objet
A. ABDELLATIF
abdelaziz.abdellatif@fst.rnu.tn
2012-2013
orientées objet
GL & MCOO A. Abdellatif
Sommaire
La technologie objet :
Programmation OOg
Bases de données OO
MCOO
Concepts de base de l’objet:
Objet
Classe
Encapsulation
Spécialisation/généralisation
Héritage
Introduction aux MCOO 2
Polyphormisme
Les trois dimensions du SI :
Dimension statique
Dimension dynamique
Dimension fonctionnelle
2. 2
GL & MCOO A. Abdellatif
La technologie objet :
vue d’ensemble
Conception
Orientée
objet
Introduction aux MCOO 3
Objet
Programmation
Orientée objet
BD
Orientées
objet
GL & MCOO A. Abdellatif
La technologie objet :
Programmation OO
1967 : Simula : 1ère introduction des
concepts d’objet et de classeconcepts d objet et de classe
1976 : Smalltalk : 1ère station graphique
Xerox Parc (pré-Macintosh)
1980 : C++ : introduction des concepts de
l’objet dans C
1980 : Object Pascal (Turbo Pascal) :
d l
Introduction aux MCOO 4
extension de Pascal
1995 : Java : introduit par Sun Microsystems
2004 : C# : introduit par Microsoft
3. 3
GL & MCOO A. Abdellatif
La technologie objet :
Bases de données OO
Deux courants d’idées :
Le tout objetj
Le relationnel-objet
1980 : Extension du modèle relationnel avec quelques concepts
de l’objet (nouveaux types, héritage, …)
1985 : Postgres : Extension objet du SGBD relationnel Ingress
1986 : O2 : SGBDOO par le GIP Altair puis repris par la société
O2.
1985 - 1995 :
Parution d’autres SGBDOO : Orion, GemStone,
ObjectStore, …
Introduction aux MCOO 5
ObjectStore, …
Adoption du courant relationnel-objet par la majorité des
éditeurs des SGBD relationnels : Oracle, Informix,
Sybase, …
GL & MCOO A. Abdellatif
La technologie objet :
MCOO
♦ Constituent une évolution des méthodes systémiques
vers une plus grande cohérence entre les objetsvers une plus grande cohérence entre les objets
et leur dynamique.
♦ Sont basées sur le concept d’objet.
♦ Permettent de décrire la dynamique du SI comme un
ensemble d’opérations rattachées aux objets.
♦ Permettent une meilleure modularité et une
réutilisation des composants du SI.
Introduction aux MCOO 6
♦ Utilisent une approche ascendante.
4. 4
GL & MCOO A. Abdellatif
Principales méthodes OO
OOD G. Booch
HOOD Hood Technical Group
OOA S. Shlear et S. Mellor
OOA / OOD T. Coal et E. Yourdon
OMT J. Rumbaugh, M. Blaha, W.
Premerlani, F. Eddy, W. Lorensen
Introduction aux MCOO 7
OOM M. Bouzeghoub et A. Rochfeld
UML OMG
GL & MCOO A. Abdellatif
Concepts de base de l’objet
Objet
Classe
Encapsulation
Spécialisation/Généralisation
Héritage
Introduction aux MCOO 8
Polymorphisme
5. 5
GL & MCOO A. Abdellatif
Notion d’objet
Un objet est la représentation d'un
concept abstrait ou une abstraction
d'un objet physique du monde réel.
Un objet est défini par :
◊ Des attributs
D é h d
Introduction aux MCOO 9
◊ Des méthodes
◊ Une identité
GL & MCOO A. Abdellatif
Notion d’objet : Exemple
Attributs :
N° immatriculation : 125 TU 9999
Marque : Renault
Type : Laguna
Méthodes :
Démarrer
Accélérer
Introduction aux MCOO 10
Accélérer
Freiner
Identité :
"La voiture de M. Untel"
6. 6
GL & MCOO A. Abdellatif
Notion de classe
Une classe décrit des objets ayant les mêmes
attributs et les mêmes méthodes.
moule servant à fabriquer des objets.
Les objets rattachés à une classe sont les
instances de cette classe.
Introduction aux MCOO 11
Exemples : Employé, Voiture, Commande, etc
GL & MCOO A. Abdellatif
Notion d ’encapsulation
Permet de masquer les détails relevant de
é él’implémentation d’un objet (partie privée) et
de ne laisser accessible que la vue externe
(interface).
L'encapsulation:
◊ garantie la sécurité et l'intégrité des données
Introduction aux MCOO 12
◊ augmente la maintenabilité en limitant la portée des
modifications
Exemple : Circuit intégré
7. 7
GL & MCOO A. Abdellatif
Notion de
spécialisation/généralisation
Généralisation : Regroupement au sein d'une
é àsuper-classe des caractéristiques communes à
un ensemble de classes (attributs et méthodes).
Spécialisation : Adaptation des caractéristiques
transmises par une ou plusieurs super-classes en
leur ajoutant des nouvelles caractéristiques
(attributs et méthodes).
Introduction aux MCOO 13
La généralisation et la spécialisation génèrent une
hiérarchie des classes.
GL & MCOO A. Abdellatif
Spécialisation/Généralisation
Exemple
Spécialisation Généralisation
Plat
Viande Dessert
p
Introduction aux MCOO 14
Poulet Steak Gâteau Fruit
8. 8
GL & MCOO A. Abdellatif
Notion d’héritage
L'héritage permet le transfert des
é i i d' lcaractéristiques d'une super-classe vers ses
sous-classes.
Une classe hérite des attributs et des
méthodes de tous ses ancêtres.
L'héritage constitue un premier moyen de
é ili i
Introduction aux MCOO 15
réutilisation.
GL & MCOO A. Abdellatif
Notion de polymorphisme
C'est la capacité • Vitesse moyenneC est la capacité
des objets
d'une même
hiérarchie de
classes de
répondre
différemment à
Moyen de
transport
• Nbre passagers
• Calculer distance
• Démarrer
Introduction aux MCOO 16
différemment à
la même
opération.
• Vitesse moyenne
• Nbre passagers
• Puissance
• Calculer distance
• Démarrer
(démarrer moteur)
• Vitesse moyenne
• Nbre passager
• Altitude max
• Calculer distance
• Démarrer
(démarrer réacteur)
• Vitesse moyenne
• Nbre passagers
• Tonnage
• Calculer distance
• Démarrer
(démarrer turbine)
9. 9
GL & MCOO A. Abdellatif
Les trois dimensions du SI
La plupart des
Dimension fonctionnelle
La plupart des
méthodes objet
ont une
approche
commune basée
sur une triple
Dimension
statique
(Objets)
(flux/processus)
Introduction aux MCOO 17
sur une triple
perception du
SI. Dimension dynamique
(événement/état)
GL & MCOO A. Abdellatif
Les trois dimensions du SI
♦ dimension statique : décrit les objets duq j
système, les associations entre ces objets,
les contraintes et les opérations
correspondantes.
♦ dimension dynamique : représente les types
Introduction aux MCOO 18
y q p yp
d'événements qui peuvent survenir dans le
SI et les changements d'états résultant du
traitement de ces événements.
10. 10
GL & MCOO A. Abdellatif
Les trois dimensions du SI
♦ dimension fonctionnelle : représente♦ dimension fonctionnelle : représente
les flux d'informations qui circulent
entre les différents acteurs du SI, ainsi
que les processus qui les transforment.
Introduction aux MCOO 19
GL & MCOO A. Abdellatif
Couverture des 3 dimensions par
les MCOO
DIMENSION OOD HOOD OOA/OOD OMT OOSE OOM UML
STATIQUE
DYNAMIQUE
Introduction aux MCOO 20
FONCTIONNELLE