La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

France.ni.com Démystifier la mise en œuvre de la programmation orientée objet sous LabVIEW Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012.

Présentations similaires


Présentation au sujet: "France.ni.com Démystifier la mise en œuvre de la programmation orientée objet sous LabVIEW Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012."— Transcription de la présentation:

1 france.ni.com Démystifier la mise en œuvre de la programmation orientée objet sous LabVIEW Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012

2 Qui sommes nous ? Une PME du Grésivaudan Créée en 1989 ! Plus de 15 développeurs certifiés LabVIEW

3 Programme Pourquoi ? Etude de cas Exemples dapplications Perspectives

4 Historique 1950 : Apparition du concept de POO 1960 : Premiers langages « Orienté-Objet » 1990 : Adoption généralisée (JAVA, C++,…) 1994 : GOOP - Add-on LabVIEW 2006 : LabVIEW implémentation native

5 Bénéfices attendus Faciliter lajout des fonctionnalités Faciliter le travail en équipe Gagner du temps lors du développement Améliorer la maintenabilité du code

6 Etude de cas Développer une application capable de récupérer des données en provenance dinstruments multiples. USB GPIB RS-232

7 Exigences Lire pour chaque instrument Un identifiant Un numéro de série La valeur mesurée Pouvoir ajouter facilement dautres instruments

8 Sans objet – solution 1 « Modulaire » Peu évolutif Ne favorise pas un code homogène Risque de duplication de code

9 Sans objet – solution 2 « Modulaire » « Plus évolutif » Moins maintenable !

10 Solution OO Décrire le monde réel au sein du logiciel à laide dobjets Profiter des fonctionnalités de la POO pour obtenir un code évolutif et maintenable

11 Concept : Encapsulation Une classe est un ensemble de données et de fonctions qui interagissent sur ces données Un objet est une instance spécifique dune classe Classe Instrument Données Identifiant Numéro de série Dernière valeur lue Fonctions Initialiser Ecrire Lire Libérer Objet 1 AG34401 B ,4 mV Objet 2 SP E 15,37g Objet 3 LSC480 S/2323A88 57,3K

12 Important Laccès aux données et fonctions dune classe est cadré Le niveau daccès aux données de la classe est privé Le niveau daccès aux fonctions de la classe est configurable

13 Démo

14 Concept : Héritage Les enfants héritent des fonctions et des données du parent Les enfants peuvent ajouter des données et des fonctions Enfants Parent Instrument GPIBSérie Ancêtres Descendants

15 Concept : Redéfinition et dispatch dynamique Redéfinition Capacité de modifier le comportement dune fonction parente Dispatch dynamique LabVIEW décide lors de lexécution quelle fonction appeler Le choix est dicté par le type de lobjet

16 france.ni.com Classe Série Données Port COM Vitesse Bit de stop Identifiant Numéro de série Dernière valeur lue Fonctions Initialiser Récupérer info Lire Libérer Classe GPIB Données Adresse GPIB Identifiant Numéro de série Dernière valeur lue Fonctions Initialiser Récupérer info Lire Libérer Classe Instrument Données Identifiant Numéro de série Dernière valeur lue Fonctions Initialiser Récupérer info Lire Libérer Classe Série Données Port COM Vitesse Bit de stop Fonctions Initialiser Lire Libérer Classe GPIB Données Adresse GPIB Fonctions Initialiser Lire Libérer

17 Démo

18 Résumé

19 Un code structuré Organisation de code par les classes « Protection » des données Développement des classes >< Utilisation des classes Un code évolutif Très facile dajouter de nouvelles fonctionnalités Très facile de faire évoluer le code principal

20 france.ni.com Exemple dapplication - Topaze

21 france.ni.com

22 Contexte Pouvoir sadapter à tout type de fichiers Pouvoir proposer différentes configurations (traitements, visualisations, …) Navoir quun seul exécutable

23 Solution Mettre en place une architecture plug-in Chargement dynamique de classes filles Enrichissement de lexécutable au runtime grâce au dispatch dynamique Chargement dynamique Chargement statique Fichier CSVWAVAIFFTDMS…

24 Aller plus loin… De nombreux modèles de conception existent : Factory pattern Singleton Pattern … Débat ouvert entre « By value » et « By reference » Actor framework, G#,...

25 Pour aller plus loin… NI Community : Large LabVIEW Application Development Actor Framework 2011 G# Forum LAVALAVA Formation Object-Oriented Design and programming in LabVIEWObject-Oriented Design and programming in LabVIEW

26 france.ni.com Des questions ? https://decibel.ni.com/content/groups/saphir-toolkit https://decibel.ni.com/content/groups/saphir-topaze


Télécharger ppt "France.ni.com Démystifier la mise en œuvre de la programmation orientée objet sous LabVIEW Mathilde VINCENT - Olivier JOURDAN Paris - le 7/2/2012."

Présentations similaires


Annonces Google