Vers une méthode de développement pour les Systèmes Mixtes David Juras, Sophie Dupuy-Chessa, Dominique Rieu Laboratoires LSR-IMAG / CLIPS-IMAG Grenoble
Plan de la présentation Présentation d’une méthode de conception pour les Systèmes Mixtes Les Systèmes Mixtes Pratiques du Génie Logiciel et de l’Interaction Homme-Machine Vue d’ensemble sur la méthode proposée Images PDA + HMD Journées Neptune 2006
Cadre Général Évolution rapide des technologies Communication (sans fil) Dispositifs d’interaction (PDA, Casques semi transparents) Favorise l’émergence de nouveaux types de systèmes interactifs dont les Systèmes Mixtes Les Systèmes Mixtes sont des systèmes fusionnant monde réel et monde virtuel dans un même paradigme d’interaction D Journées Neptune 2006
Un exemple de Système Mixte Un exemple simple mais complet: un État des Lieux augmenté Journées Neptune 2006
Un exemple de Système Mixte Apports Objectivité de la description Complétude des inspections Dans le respect d’une interaction qui reste la plus naturelle possible Journées Neptune 2006
Les préoccupations de l’Interaction Homme-Machine (IHM) Préoccupation principale de l’IHM Concevoir et développer un logiciel en adéquation avec les capacités et les connaissances de l’utilisateur Réalisation à travers Des diagrammes de tâches décrivant, pour tout type de système interactif, la réalisation des tâches d’un utilisateur sous forme d’une hiérarchie organisée et séquencée de tâches typées (CTT) Journées Neptune 2006
Les préoccupations de l’Interaction Homme-Machine (IHM) Journées Neptune 2006
Les préoccupations de l’Interaction Homme-Machine (IHM) Préoccupation principale de l’IHM Concevoir et développer un logiciel en adéquation avec les capacités et les connaissances de l’utilisateur Réalisation à travers Des diagrammes de tâches décrivant, pour tout type de système interactif, la réalisation des tâches d’un utilisateur sous forme d’une hiérarchie organisée et séquencée de tâches typées (CTT) Des diagrammes d’interaction formalisant, dans le cadre d’un Système Mixte, les dispositifs d’interaction, les objets physiques et numériques d’interaction et les relations de ces éléments avec l’utilisateur (diagrammes ASUR) Journées Neptune 2006
Les préoccupations de l’Interaction Homme-Machine (IHM) Journées Neptune 2006
Les préoccupations du Génie Logiciel Préoccupation principale du Génie Logiciel (GL) Concevoir et développer un système correspondant aux besoins fonctionnels de l’utilisateur Réalisation à travers des méthodes et modèles classiques qui ont fait leurs preuves, entre autres, pour l’analyse et la conception des Systèmes d’Information (SI) Modèles: UML, … Méthodes: RUP, 2TUP, Symphony, … Journées Neptune 2006
Impact de l’IHM sur le GL Journées Neptune 2006
Impact de l’IHM sur le GL Journées Neptune 2006
Constat sur les méthodes GL Deux manques principaux, communs à l’ensemble des méthodes classiques de conception du GL Des activités limitées à la description d’interfaces graphiques classiques Une prise en compte trop tardive de la dimension interactive du système Journées Neptune 2006
Constat sur les méthodes GL Journées Neptune 2006
Objectifs Proposer une méthode de conception clairement formalisée Intégrant les méthodes ou fragments de méthodes pertinents du GL et de l’IHM et les modèles associés Permettant la conception de systèmes interactifs classiques en étant agrémentée d’activités spécifiques pour les Systèmes Mixtes Respecter des principes pour cette méthode Pas de révolution des habitudes de travail des intervenants (Spécialiste GL, IHM, ergonome, etc.) Définition d’activités collaboratives pour la synchronisation entre les spécialistes (et donc leurs processus et modèles) Assurer une traçabilité et une cohérence entre modèles des deux mondes Fournir un guide méthodologique utile et utilisable par les intervenants Journées Neptune 2006
Une première approche basée sur les objectifs Choisir les méthodes et modèles adéquats: S’assurer que chaque intervenant peut atteindre ses objectifs propres Journées Neptune 2006
Une première approche basée sur les objectifs Journées Neptune 2006
Une première approche basée sur les objectifs Choisir les méthodes et modèles adéquats: S’assurer que chaque intervenant peut atteindre ses objectifs propres Utiliser des méthodes (ou fragments de méthodes) et des modèles reconnus et pratiqués S’assurer d’une compatibilité entre éléments choisis (cycle de vie, mise à disposition des ressources, communauté d’objectifs, complexité des modèles, …) Journées Neptune 2006
Démarche Symphony: le canevas de base Approche itérative, incrémentale, orientée composants métier Cycle en Y facilitant l’étude en parallèle des aspects fonctionnels et techniques du SM Etude guidée par le métier dès les phases amonts du projet Une combinaison équilibrée des pratiques UML et Merise Journées Neptune 2006
Les extensions de Symphony Réutilisation et adaptation de processus existants dans le milieu de la recherche pour la conception de Systèmes Mixtes Réutilisation et adaptation des modèles classiques existants Scénarios (usage, interaction,…) Diagrammes de tâches (CTT) Diagrammes d’interaction (ASUR) Journées Neptune 2006
Synchronisation et cohérence entre méthodes et modèles Harmoniser les méthodes et modèles choisis Paralléliser et synchroniser les méthodes Maintenir la cohérence entre artefacts produits à travers ces méthodes Journées Neptune 2006
Synchronisation et cohérence entre méthodes et modèles Harmoniser les méthodes et modèles choisis Journées Neptune 2006
Synchronisation et cohérence entre méthodes et modèles La traçabilité intra-processus Chaque méthode retenue propose une traçabilité entre les modèles manipulés Journées Neptune 2006
Synchronisation et cohérence entre méthodes et modèles Cohérence intra-processus entre modèles de chaque spécialité Journées Neptune 2006
Cohérence intra-processus Génie Logiciel Journées Neptune 2006
Cohérence intra-processus IHM Journées Neptune 2006
Synchronisation et cohérence entre méthodes et modèles La synchronisation des processus à travers deux types de collaborations entre spécialistes Coordination Journées Neptune 2006
Activités de coordination Scénario textuel, représentant un cas concret facile à comprendre par tous Extrait du scénario « Supprimer un marqueur de dommage » « L’utilisateur indique, par la direction de son regard, le marqueur qu’il souhaite sélectionner. Le système indique le marqueur comme observé. L’utilisateur demande la suppression du marqueur courant en utilisant la commande vocale et / ou la commande tactile sur son PDA » Journées Neptune 2006
Activités de coordination Scénario Journées Neptune 2006
Synchronisation et cohérence entre méthodes et modèles Coopération Journées Neptune 2006
Activités de coopération Les coopérations fournissent des points de synchronisation entre spécialistes Exemple à travers les raffinements, au cours des différentes étapes de la méthode, des diagrammes de tâches et de la décomposition du métier en cas d’utilisation Journées Neptune 2006
Activités de coopération Journées Neptune 2006
Organiser ces cohérences et synchronisations Une complexité nécessitant la spécification d’une méthode bien structurée et organisée pour gérer ces cohérences et ces collaborations à travers des processus Journées Neptune 2006
Formalisation de la méthode Formalisation sous forme de patrons Gestion de la complexité en la structurant en patrons organisés sous forme d’un catalogue ou système de patrons Simplification de l’utilisation Guide dans le processus Formalisme P-SIGMA Gestion des Processus et Produits à travers un formalisme unique Trois catégories de rubriques organisées Journées Neptune 2006
Un exemple de Patron – Partie Interface Identifiant : Phase de Spécification organisationnelle et interactionnelle des besoins Participants : Maître d’ouvrage, Spécialiste Métier, Spécialiste IIHM, Spécialiste GL, Ergonome Classification (termes du domaine) : Phase ^ Processus ^ Spécification organisationnelle et interactionnelle des besoins Contexte : Phase de spécification conceptuelle des besoins Problème : décrire le « Qui fait quoi et quand » envisager la meilleure interaction pour le réaliser. Forces : Mise en évidence des cas d’utilisation et proposition d’une cartographie d’objets métiers favorisant le développement et la réutilisation à terme. Etude de l’activité réelle des utilisateurs permettant d’aboutir aux scénarios d’usage projetés du système et aux interactions associées. Journées Neptune 2006
Un exemple de Patron – Partie Réalisation Solution : Textuelle Démarche (sous forme d’un diagramme d’activités UML étendu) Documents : Dossier des prescriptions ergonomiques, Cartographie des objets métier et des cas d’utilisation, Arbres de tâches utilisateur, Scénarios projetés de la tâche, Diagrammes d’interaction… Journées Neptune 2006
Un exemple de Patron – Partie Relation Utilise : Étude de l’activité réelle des utilisateurs, Prise en compte des prescriptions organisationnelles, Etablissement de la cartographie des objets métier, … Requiert : Phase de spécification conceptuelle des besoins Autres relations: « alternative », « raffine » Journées Neptune 2006
Outillage de la méthode - AGAP AGAP (Atelier de Gestion et d’Application de Patrons) Permet de décrire n’importe quel langage de patrons à partir de sa grammaire Génère un site web indépendant pour chaque système de patrons Journées Neptune 2006
Conclusion Une aide à la conception des Systèmes Mixtes à travers une méthode et un système de patrons associé Les patrons servent de liant entre les artefacts de modélisation de chaque spécialité intervenant dans la méthode Des liens intra / inter modèles ont été identifiés de manière informelle Journées Neptune 2006
Perspectives Une véritable approche d’ingénierie dirigée par les modèles est incontournable Définition explicite de métamodèles nécessaires et utiles pour la conception des Systèmes Mixtes Rapprochement avec les métamodèles existants en IHM et en GL La construction de la méthode doit se poursuivre Rapprochement avec les travaux en cours sur la branche technique Prise en compte des patrons de conception en interaction existants Trouver une solution élégante pour la gestion des problèmes d’outillage (multiplicité des outils, problèmes d’intégration) Journées Neptune 2006
Merci de votre attention Journées Neptune 2006