Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parArlette Picot Modifié depuis plus de 11 années
1
Lapproche Objet Séminaire IOS-AT 1996
2
Chapitre I Introduction
3
Les entreprises dépendent de plus en plus des données (reçues, traitées ou envoyées) Elles se noient dans cette avalanche dinformations Les matériels (hardware) ne cessent de progresser Les programmes (software) sont le problème La plupart sont livrés hors délais et hors budgets Besoins : Disposer de meilleurs programmes Avoir des délais plus courts La crise du Software
4
Construire de meilleurs programmes est un challenge majeur Comment ? Plusieurs réponses ont été données par le passé La construction des programmes
5
1ère approche : le programme mono procédure Une seule procédure ou séquence dinstructions En général, écrits par un seul programmeur Peuvent être faits par un petit nombre de programmeurs à condition que la communication et les échanges dinformations soient fréquents Convient pour les petits programmes La construction des programmes : Les réponses apportées
6
2ème approche : la programmation modulaire Principe : découper en sous-ensembles le système à développer Est apparue avec linvention des «subroutines» Inconvénients : chaque programmeur réalise son sous-programme à sa façon - Nécessite RIGUEUR - Nécessite DISCIPLINE La construction des programmes Les réponses apportées
7
3 ème approche : la programmation structurée Cest une évolution de la programmation modulaire Cela apporte la discipline nécessaire Rôle central : la décomposition fonctionnelle Inconvénient majeur : ne permet pas dappréhender le système final avant de lavoir implémenté - Retours arrières fréquents et coûteux La construction des programmes Les réponses apportées
8
4ème approche : les outils CASE (AGLs) Computer-Aide-Software-Engineering Avantage : automatise la programmation structurée Inconvénients : - Napporte pas de valeur ajoutée sur le fond - Est plutôt consommatrice de temps de ressources - Nautomatise quune partie de la programmation La construction des programmes Les réponses apportées
9
5ème approche : les langages de 4ème génération Les L4G peuvent générer des programmes directement Ils peuvent être utilisés par différents niveaux de programmeurs Mais ne sappliquent quaux problèmes simples et aux programmes restreints La construction des programmes Les réponses apportées
10
40 ans après linvention de la subroutine, on construit encore les systèmes à la main, instruction après instruction. -Nécessité dune nouvelle approche La technologie « orienté-objet » est cette nouvelle approche La construction des programmes : Conclusion
11
Chapitre II Les clés de la Technologie Orienté-objet
12
Dix termes essentiels : Objet, Méthode, Message, Classe, Sous-Classe, Instance, Héritage, Encapsulation, Abstraction et Polymorphisme. Trois clés pour comprendre lOrienté-Objet : Objet Message Classe Le vocabulaire
13
Le concept objet dans les programmes est n du besoin de modéliser des objets réels Un objet est composé de Procédure ou fonctions Données En langage objet, les procédures ou fonctions sont appelées Méthodes. Les données sont assimilables à des variables en programmation classique. Introduction à la notion dObjet
14
Les objets peuvent inter-agir de multiples façons Le message permet de représenter cette inter-action entre les objets Il est émis un objet émetteur et reçu par un objet récepteur Cest un Nom dobjet suivi dune méthode et éventuellement de un ou plusieurs paramètres Introduction à la notion de message
15
Une classe définit un groupe dobjets similaires. La description des méthodes et des données(variables) communes à ces objets ne se fait quune seule fois : dans la description de la classe. Les objets dune même classe sont appelés instances. Introduction à la notion de classe
16
Lhéritage est un mécanisme qui permet à une classe dobjets dêtre définie à partir dune autre classe, plus générale, en incluant automatiquement ses méthodes et variables Cette classe est appelée sous-classe La classe plus générale est une super-classe Une sous-classe peut avoir ses propres méthodes et variables, en plus de celles de sa super-classe Lhéritage
17
Il y a maintenant de nombreux langages «orienté-objet» Par exemple : - Smalltalk est totalement orienté-objet, conçu sur les principes même de cette technique - C++ est « Hybride » dans la mesure où des concepts orienté-objet ont été greffés au langage C traditionnel. Programmer avec des objets
18
Chapitre III Les Objets
19
Lobjet est assimilable à une cellule : Une cellule comprend des données Une cellule comprend des comportements (assimilables aux fonctions ou procédures appelées Méthodes en Orienté-Objet) Les cellules communiquent entre elles par des flux électriques (assimilables à des messages) Lobjet : élément de construction naturel
20
Mettre en relation des données et des comportements(méthodes) sappelle, en orienté- objet : lencapsulation Lencapsulation permet de cacher les informations. Elles ne sont accessibles quà travers les méthodes Ceci protège les données des objets environnants (et vice versa) et garantit leur intégrité Lencapsulation
21
Lencapsulation est vraiment utile en cas de changements Elle permet une expérimentation facile Les modifications ne sont à apporter que dans un seul objet Lencapsulation
22
En orienté-objet, on raisonne à un niveau dabstraction élevé puisque lon représente les objets réels souhaités Ceci est possible puisque lon peut définir de nouvelles structures de données et de comportements : les classes dobjets Les anciens langages limitent les données à des types (integer, string,…) Labstraction au niveau des données
23
Les objets peuvent aussi contenir dautres objets On les appelle alors objets composites Ceci augmente leur pouvoir de représentation du monde réel Les objets contenus peuvent aussi contenir dautres objets, et ainsi de suite Labstraction au niveau des données
24
Chapitre IV Les messages
25
Les objets inter-agissent par le biais de Messages A la base, un message comporte 3 parties : Le nom dun objet récepteur Le nom dune méthode que lobjet récepteur sait exécuter Un ou plusieurs paramètres nécessaires à lexécution de cette méthode Définition
26
La syntaxe varie dun langage à lautre Lordre est quasi systématiquement : Objet Récepteur+Méthode+Paramètres Seuls les séparateurs varient : Ex : Vehicule104Tourner :90 en SmallTalk Vehicule104.Tourner(90) en C++ Syntaxe des messages
27
Les messages requièrent le plus souvent des réponses (feedback) La réponse est appelée : return value en anglais ou valeur de retour en français Dans les langages pur orienté-objet (comme smalltalk), la réponse est un objet Dans les langages hybrides (comme C++), la réponse est un objet ou une simple variable. Réponse aux messages
28
Chapitre V Les Classes
29
Les objets et les messages peuvent suffire à produire un langage orienté-objet (ex ADA) Mais le concept de classe est celui qui permet encore une plus grande efficacité Les classes organisent lapproche orienté-objet De même que le monde est organisé en ordres (mammifères, carnivores, humains, plantes,…), le concept de classes permet une représentation idéale des systèmes Définition
30
Les classes définissent les caractéristiques communes des objets Les instances contiennent uniquement les valeurs des variables Définition
31
Un objet qui reçoit un message avec pour ordre dexécution dune méthode : Cherche une méthode dans sa classe Si pas présente, dans sa superclasse Si pas présente, encore au niveau au dessus Ainsi de suite Si trouvée, exécution Sinon, message derreur Parcourir les classes
32
Les méthodes peuvent être définies à plusieurs niveaux dans la hiérarchie des classes (pour un objet cest la première trouvée qui sera exécutée). Cette technique est très utile pour définir des exceptions Cest beaucoup plus efficace que de modifier les superClasses Relation entre les classes
33
Classe virtuelle : classe purement organisationnelle (en général tout en haut de la hiérarchie), dont on ne définit pas dinstances. Multiple Héritage : Certains langage comme le C++ permettent à un objet davoir plusieurs superclasses. Dans ce cas, lobjet hérite des caractéristiques de toutes ses superclasses. Cas particuliers
34
Les langages purs (smalltack) nautorisent quune seule hiérarchie de classes (donc un ancêtre unique et commun à toutes les classes) C++ (Hybride) autorise plusieurs hiérarchies de classes. Dans tous les cas, la conception de (ou des) hiérarchies est primordiales pour représenter le système à réaliser. Les hiérarchies de classes
35
Chapitre VI Avantages et Inconvénients
36
1 er avantage : Développement plus rapide Utilisation dobjet représentant la réalité Réutilisation dobjets ou de modèles Prototypage rapide Sept avantages
37
2 ème avantage : Meilleure qualité Assemblage dobjets et de classes Modularité Mise au point facilité Sept avantages
38
3ème avantage : Maintenance facilitée Bugs repérés plus facilement Debuggage facilité du fait de la modularité (objets isolés et non inter-actifs) Sept avantages
39
4 ème avantage : coût moindre Programmation plus rapide Conception plus rapide (= représentation naturelle des systèmes à réaliser) Administration facilitée (maintenance, évolutions, mises au point,…) Sept avantages
40
5ème avantage : facilite la réalisation des systèmes complexes Permet de répartir le travail (modularité) Permet des tests unitaires et indépendants Permets la réutilisabilité entre les équipes, lusage des mêmes noms sans confusion (polymorphisme) Sept avantages
41
6 ème avantage : meilleures structures de données Classes virtuelles Hiérarchies de classes Objets composites Gestion des exceptions … Sept avantages
42
7 ème avantage : facilite les adaptations Les modifications ne nécessitent pas de modifier les programmes existants Il « suffit » dajouter de nouveaux objets et de nouvelles classes Sept avantages
43
1er inconvénient : manque de maturité Cette technologie est encore en évolution Les systèmes actuels doivent évoluer pour profiter pleinement de cette approche Il ny a pas de méthodologie de développement « orienté- objet » vraiment éprouvée Sept Inconvénients
44
2ème inconvénient : besoins de standards Il ny a pas de standards pour les langages Le manque de standards rend difficile lacquisition de librairies de classes et surtout lusage mixé de différentes librairies de classes Sept Inconvénients
45
3 ème inconvénient : besoin de meilleurs outils Meilleur outils de développement Meilleur outils de tests Meilleures librairies de classes Meilleurs gestionnaires de versions Meilleurs outils de modélisation … Sept Inconvénients
46
4 ème inconvénient : rapidité dexécution Moins bonnes performances (même si les derniers outils powerbuilder, delphi,… sont très proches des performances obtenues en programmation classique) Toutefois, permet de programmer des concepts complexes, contrairement aux langages classiques Sept Inconvénients
47
5 ème inconvénient :manque de compétences Manque de programmeurs Manque de personnel dencadrement Les recyclages réclament un changement de culture, beaucoup de formation et de pratique sur des projets concrets Sept Inconvénients
48
6 ème inconvénient : coût des conversions Achat de nouveaux outils de programmation Achat de nouveaux outils périphériques : librairies de classes, gestionnaires de batch, gestionnaire de versions, outils de tests, outils dadministration, … Coût des formations Sept Inconvénients
49
7 ème inconvénient : Trop grande modularité La modularité poussée à son extrême peut conduire à un « code ravioli » Labsence de méthode éprouvée peut conduire à cela Les objets externes peuvent menacer lintégrité des données Sept Inconvénients
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.