Paradigme de programmation De l ’intérêt de la programmation objet

Slides:



Advertisements
Présentations similaires
Enjeux Connaissances Solutions Modélisation Conclusion
Advertisements

SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
Langage de modélisation objet unifié
Treuil IRD Abdelwahed FSSM-Marrakech
La Méthode TRIZ en Agroalimentaire?
19 septembre 2006 Tendances Logicielles MDD/MDA : Génération dapplications avec IBM Rational Software Architect Jean-Pierre Schoch –
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
L’activité productive
UML - Présentation.
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
Démarche de Projet D’après la norme X50-106, un projet est une démarche spécifique qui permet de structurer méthodiquement et progressivement une réalité.
1 Démarche dinvestigation Epreuve Pratique en S. 2 Culture scientifique acquise au collège A lissue de ses études au collège, lélève doit sêtre construit.
Gestion de la persistance des objets
UML (Unified Modeling Langage)
Les Ateliers de Génie Logiciel
Introduction à la POO: Les classes vs les objets
FSAB1402: Informatique 2 Techniques de Programmation Orientée Objet
La programmation Orienté Objet
MRP, MRP II, ERP : Finalités et particularités de chacun.
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Altaïr Conseil Maîtriser l'information stratégique Sécurisé
Principes de la technologie orientée objets
Introduction au Génie Logiciel
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Analyse et Conception orientée objet
Initiation à la conception de systèmes d'information
Réalisée par :Samira RAHALI
Sommaire Objectif de Peakup Principes de fonctionnement
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
L’orienté objet: hier, aujourd’hui et demain
Modélisation orientée objet UML
Etude globale de système.
SCIENCES DE L ’INGENIEUR
Structures de données IFT-10541
Portée, arrimages et intervenants Évolution des méthodes
Programmation non procédurale Le projet ECOLE 2000
Sensibilisation a la modelisation
Patrons de conceptions de créations
Urbanisation des SI Réalisé par: Kerai yassine kertiou ismail
Travaux Pratiques Représentation des connaissances
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
EVOLUTION DU SYSTEME D’INFORMATION
GENIE LOGICIEL
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
UML : un peu d’histoire H. Lounis.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Visite du président de la Commission fédérale HES Projet ISNet-43 Atelier de génie logiciel Approche « fonctionnelle » et/ou « objets » 2 juillet 2003.
Prototypage Rapide Du modèle numérique au modèle physique
Introduction et Généralités sur l’Algorithmique
Power AMC-Rational Rational Rose, Étude comparative
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
Unified Modeling Language
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
2 Tracks Unified Process
Initiation aux SGBD Frédéric Gava (MCF)
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Campus-Booster ID : Copyright © SUPINFO. All rights reserved La programmation objet, un fondement de la programmation évènementielle.
Nouvelles Technologies Internet & Mobile
Introduction à la Programmation Orientée Objet
Présentation du référentiel ITIL v3
UML support à la COO 2ème année IUT Calais-Boulogne Bénédicte Talon
Conférence 2TUP Stéphane Barthon 03/12/
Présentation de la méthode Merise
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
UE 93 – Scenerios, ePortfolio et developpement de competences L’essentiel d’un article. Article 2 « Scénario pédagogique et portfolio numérique, deux outils.
Transcription de la présentation:

Philippe Holland : philippe.holland@free.fr Paradigme de programmation De l ’intérêt de la programmation objet Philippe Holland : philippe.holland@free.fr

Sommaire Différents paradigmes de programmation Origine de la programmation objet Principes de programmation objet Bonnes pratiques de conception objet Historique de la modélisation UML Programmation par assamblage alternative au « Make all versus buy all » Typologie des investissements dans les systèmes d ’information

Différents paradigmes de programmation Programmation procédurale : Un programme est vu comme un ensemble d’instructions qui manipulent un ensemble de données Exemples : Fortran, Pascal, C Programmation fonctionnelle : Un programme est vu comme l’équivalent informatique d’une fonction mathématique qui associe à des valeurs d’entrée des valeurs de sorties Exemples : Lisp Programmation logique : Un programme est vu comme un raisonnement logique dont l’exécution est une preuve de la déductibilité d’une formule logique. Exemples : Prolog Programmation objet : Un programme est vu comme un ensemble de petites entités interagissant par messages. Exemples : C++, Java

Origine de la programmation objet La programmation objet est aujourd’hui une réalité industrielle qui comme la plupart des innovations en informatique est issue de la recherche en Intelligence Artificielle : 1967 : SIMULA (Norvège) L’objectif initial était de simuler le comportement d’un système (dans le domaine de la recherche nucléaire) ayant des parties pouvant fonctionner en concurrence. Les langages constituées de suite d’instructions successives ne pouvaient convenir. En poussant jusqu’au bout la logique de programmation modulaire on est parvenu à élaboré un langage permettant de définir des modules stables avec des comportements possibles. C’est la remise en question de la séparation entre données et programmes. 1972 : SMALLTALK (Centre de recherche de Xerox à Palo Alto) Alan Kay souhaitait réaliser un langage de programmation de son ordinateur convivial (souris, écran bitmap,…) il reprend est systématise SIMULA pour faire de SMALLTALK le premier langage objet. Si la cuisine est l’art de réutiliser les restes, la programmation objet est aujourd’hui son équivalent informatique

Principes de programmation objet La séparation classique entre les données et les traitements dans la programmation procédurale est remplacée par des objets qui incorporent des aspects statiques (données) et dynamiques (traitements) dans la programmation objet. Principes de bases : Modélisation (classes et instances) : Une classe regroupe des objets possédant une structure et des comportements communs. Une classe est définie par des attributs et des méthodes qui leur sont applicables. Les objets qui correspondent à une classe sont des instances de cette classe L’encapsulation (des données) : N ’autoriser la modification des données d ’un objet que via ces méthodes. L’activation (méthodes) : Appel de méthode d ’un objet par l ’équivalent d ’un envoi de message L’héritage : Récupération automatique des attributs et méthodes d’une classe parente et de définition d’une hiérarchie de classes

Bonnes pratiques de conception objet Tout est objet Si on peut parler de quelque chose en lui attribuant des propriétés ou que cette chose peut être manipulée alors il faut en faire un objet Autonomie et localité Un programme objet doit être constitué d’unités indépendantes, chacune disposant de sa propre mémoire locale et des opérations qu’elle sait effectuer Composition et affinage L’objectif est de n’écrire que la différence entre ce qui existe et ce qu’on souhaite réaliser en utilisant le classique mécanisme de composition et celui plus original d’affinage qui consiste à hériter de classes plus génériques. Plus on est capable de concevoir des classes abstraites plus on est capable de définir des mécanismes de gestion génériques sans nécessairement disposer de tous les mécanismes d’implémentation propres à des classes de plus bas niveau.

Modélisation UML Dans les années 70, il existait en France une profusion de méthodes d’analyse à l’initiative de nombreuses SSII avec deux grandes écoles celle de l’approche par les données et celle de l’approche par les traitements. En 1979, le projet français Merise est lancé avec le soutien du Ministère de l’Industrie et rencontre un vif succès pendant plus d’une décennie. Les nouvelles approches de modélisation et le savoir-faire acquis par les SSII permettent de réconcilier l’approche par les données et l’approche par les traitements et de mettre la modélisation au cœur du processus d’étude, les modèles étant construits pour comprendre, diagnostiquer et proposer des solutions. Le principal reproche à Merise est d’avoir sous-estimé l’importance de la modularité des SI. UML né en 1997 de la fusion de trois méthodes d’analyse orientées objet initialement issues des milieux industriels à l’initiative de Rational Software : Objet Oriented Design de Booch, DOD, structuration de programme Ada et C++ Object Modeling Technique de Rumbaugh, General Electric, modélisation de comportement Object Oriented Software Engineering, Ericson, modélisation d’utilisation du système A partir de 1998, UML est le langage de modélisation retenu comme norme par l’OMG, son intérêt continue de croître depuis auprès des développeurs

Programmation par assemblage alternative au « Make all versus Buy all»… Programmation de logiciel spécifique : Solution optimale pour la satisfaction des besoins métiers Production et maintenance coûteuse Délais de réalisation importants Programmation de logiciel spécifique : Solution optimale pour la satisfaction des besoins métiers Production et maintenance coûteuse Délais de réalisation importants Paramétrage de logiciel générique : Réduction des coûts et de risques à court terme Nécessite une réorganisation des processus métiers Avantage stratégique moins fort Perte de control local Solution parfois inadaptée à certaines problématiques métiers Paramétrage de logiciel générique : Réduction des coûts et de risques à court terme Nécessite une réorganisation des processus métiers Avantage stratégique moins fort Perte de control local Solution parfois inadaptée à certaines problématiques métiers Courbe de réduction des coûts Courbe de réduction des coûts Courbe de flexibilité Courbe de flexibilité Les besoins et les technologies évoluent tellement vite qu’aujourd’hui la programmation par assemblage est inévitable. La programmation par assemblage : Solution optimale pour la satisfaction des besoins métiers Coût maîtrisé Possibilité de développement d’un système stratégique La programmation par assemblage : Solution optimale pour la satisfaction des besoins métiers Coût maîtrisé Possibilité de développement d’un système stratégique 0% 0% % acheté % acheté 100 % 100 % L’alternative offerte par la programmation par assemblage est une solution beaucoup plus souple que la programmation de logiciel spécifique ou le paramétrage de logiciel générique.

Typologie des investissements dans les systèmes d ’information Améliorer la capacité de tous à prendre les bonnes décisions Acquérir un avantage concurrentiel Succès conditionné par l'utilisation Risque élevé (50% d'échec) Systèmes d'aide à la décision Réduire les coûts Systèmes stratégiques Risque faible Retour sur investissement entre 25 et 40% Systèmes transactionnels Accroître la flexibilité, la réactivité Infrastructure Investissement élevé Favorise la croissance On constate pratiquement que les gros investissements réalisés dans le domaine du SI sont plus souvent fondés sur la foi que sur des démonstrations solides