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

Projet GenDiapo Alexandre FLAMENT Christophe QUAY-THEVENON

Présentations similaires


Présentation au sujet: "Projet GenDiapo Alexandre FLAMENT Christophe QUAY-THEVENON"— Transcription de la présentation:

1 Projet GenDiapo Alexandre FLAMENT Christophe QUAY-THEVENON
Responsable : Jean-Pierre DAVID - CLIPS / Synergie 3R Consultant : Pierre-Yves MONNET - Cap Gemini

2 Développer un prototype de générateur de documents multimédias
Projet GenDiapo 2 / 42 Étudiants DEUG Licence DESS Édition Publication Cours de Langage Objet Enseignant Développer un prototype de générateur de documents multimédias

3 Sommaire Projet Solution Assurance Qualité Gestion de Projet
3 / 42 Projet Christophe Solution Alexandre Assurance Qualité Christophe Gestion de Projet Christophe Conclusion Alexandre

4 PROJET

5 Acteurs Projet CRIMEI du GRECO CLIPS - ARCADE SYNERGIE 3R
5 / 42 Projet CRIMEI du GRECO SYNERGIE 3R CLIPS - ARCADE  Laboratoire Start up spécialisée dans le e-learning Projet

6 + + Contexte Enseignement actuel Deux types d’étudiants
6 / 42 Enseignement actuel + Ceci est un exemple d’un support écrit pour le langage objet Support Écrit Évolutivité Sous point Point 2 Sous Point Modularité Module Flexibilité Évolution Diapositives Je vais vous expliquer le langage objet Explications Orales + Deux types d’étudiants Développement de l’enseignement interactif Projet

7 Problèmes Nombreux Fichiers Nombreux Outils Problème de Cohérence
7 / 42 DIAPOSITIVES SUPPORT ECRIT SUPPORT ECRIT A SUPPORT ECRIT B Étudiants DEUG DESS DIAPOSITIVES A DIAPOSITIVES B Enseignant Outils Bureautique Nombreux Fichiers Nombreux Outils Problème de Cohérence Projet

8 Besoins Un document pour toutes les informations
8 / 42 Un document pour toutes les informations Type (Support écrit & Diapositive) Catégorie d’étudiants Un outil pour tous les traitements Édition Publication Portabilité du système Édition Publication Interopérabilité Format (XML) Projet

9 SOLUTION Les besoins détailé nous établis une solution en accord avec le clips. Synergie 3R suivant le projet

10 Système GenDiapo GenDiapo Enseignant Outil Auteur Outil Publication
10 / 42 Enseignant SUPPORT ECRIT A Étudiants DEUG DIAPOSITIVES A GenDiapo Outil Auteur COURS Outil Publication SUPPORT ECRIT B Étudiants DESS Donc le but de GenDiapo est d’éviter la redondance d’information, c’est à dire de centraliser les cours traitant d’un meme sujet dans un meme document. On retrouve ce cours entre deux outils : Le 1er concerne l’édition de cours Le second la creation des documents appropriés pour le public visé et en fonction de format Support ecrit pour des deug par exemple Les propriétés du cours doivent ainsi permettrent de stocker la version support écrit et la version diapositive d’une part, et d’autre part permettrent de structurer le cours pour plusieurs catégories de public Avant de voir la structure plus en détail, voyons comment à été repartir les tâches DIAPOSITIVES B Solution

11 Tâches But principal Nous Enseignant Outil Auteur Outil Publication
11 / 42 Enseignant SUPPORT ECRIT A Étudiants DEUG DIAPOSITIVES A Nous Outil Auteur COURS Outil Publication SUPPORT ECRIT B Étudiants DESS La 1er partie, celle qui est en début de châine, est l’outil auteur, ainsi que la structure de cours qui sert de base pour l’outil auteur. C’est notre but principal DIAPOSITIVES B But principal Solution

12 Tâches Faisabilité Nous Équipe GenEval Équipe Outil de Publication
12 / 42 Enseignant SUPPORT ECRIT A Nous Équipe GenEval Étudiants DEUG DIAPOSITIVES A Outil Auteur COURS Outil Publication SUPPORT ECRIT B Étudiants DESS Faisabilité La second partie, qui concerne l’outil de publication et la création des hyperdiaporamas à partir du cours. Le but ici est de montrer la faisabilité afin qu’on puisse à la fin du projet produire des documents à partir de cours. Cette partie a été developper par nous et l’équipe geneval. Pourquoi l’équipe geneval ? En fait, ils ont deja developper un outil similaire de publication pour d’autre type de document, on donc eviter de reinventer la roue. DIAPOSITIVES B Outil de Publication similaire Équipe GenEval Solution

13 Cours Enseignant Outil Auteur Outil Publication Étudiants DEUG
13 / 42 Enseignant SUPPORT ECRIT A Étudiants DEUG DIAPOSITIVES A Outil Auteur COURS COURS Outil Publication SUPPORT ECRIT B Étudiants DESS Retournons à structure de données importante : Le cours DIAPOSITIVES B Solution

14 Regroupement des cours
14 / 42 COURS Regroupement des cours Un document pour toutes les informations Différentes catégories d’étudiants Type de support Maintenabilité Support Écrit Diapositive Papier Web Solution

15 Cours Structure Section Section … Atome Catégories d’étudiants
15 / 42 Structure Section Section Atome Catégories d’étudiants Aucune Une ou Plusieurs Types d’atomes Types de support Le but est de centralisé les informations d’un cours pour différent type de public et 2 formats : support ecrit et diaposive. On donc decider de structure l’information sous forme d’arbre: Avec en racine une section Qu’on peut a nouveau imbriqué Autant de fois qu’on le souhaite Au feuille de cet arbre, on a des atomes. Ici on introduit la notion de categories de public : chaque atom peut être tagger avec des categories (aucune, une ou plusieurs) En fait que sont les atomes ? : Ca peut êre un paragraphe de texte Ou Une image Reste a faire la distinction entre support ecrit et dispositive Paragraphe Diapositive Image Support Écrit Solution

16 Outil Auteur Édition de cours Fonctionnalités Propriétés
16 / 42 Édition de cours Fonctionnalités Édition de cours Lancement de l’outil de publication Enseignant Propriétés Indépendant de la plate-forme Indépendant de la présentation Il doit donc permettre l’édition de cours avec une interface graphique Etre independent de la plateforme, étant donnée qu’il y a des enseignants sur différent système d’exploitation Commen la structure le suggère, On doit pouvoirs s’abstraindre de la présentation Ainsi que la création d’index, glossaire et table des matières Et on doit pouvoir lancer l’outil de publication… Donc on a vu le cours et l’outil auteur Outil Auteur COURS Solution

17 HyperDiaporama Hyper Diaporama Enseignant Outil Auteur Outil
17 / 42 Enseignant Hyper Diaporama SUPPORT ECRIT A DEUG DIAPOSITIVES A Outil Auteur COURS Outil Publication SUPPORT ECRIT B Le but étant de créér des documents pour les étudiants. Ces documents ont été appeler hyperdiaporama. Voyons leurs propriétés DESS DIAPOSITIVES B Solution

18 Adaptation au niveau de l’étudiant
HyperDiaporama 18 / 42 Adaptation au niveau de l’étudiant Catégories d’étudiants Hyper Diaporama SUPPORT ECRIT A Aucune Une ou plusieurs DEUG DIAPOSITIVES A Présentation homogène Outil Publication Type de support Donc un hyperdiaporama s’adresse à un ensemble de catégories Avec une présentation homogène Il est définie par un type de support, c-est a dire Diapositive Ou support écrit Ca second caractéristique est sa version : Qui peut être papier Ou web L’acces l’information doit pouvoir se faire par Index Glossaire (???? A laisser ????) Table des matières Ces propriétés définissent implicitement celle de l’outil de publication don’t les paramètres sont le choix des catégories, la présentation, le type et la version Apres avoir vu les différents éléments voyons quelle technologie nous avons utilisée SUPPORT ECRIT B Support Écrit Diapositive Papier Web DESS DIAPOSITIVES B Solution

19 Technologies Technologie XML Langage Java DTD XSL Java XML HTML/PDF
19 / 42 Technologie XML Langage Java DTD XSL GRAMMAIRE REGLES Outil Auteur COURS HYPER DIAPORAMA Outil Publication Toutes les technologies sont des standard ou futur standard XML, DTD, XSL sont tous des formats XML XML permet de stocker les informations de manière structurée DTD est une grammaire pour les données XML Le moteur XSL à l’aide de données XSL, tranforme des données XML en autre format, ou réorganiser les ces données. Java a été utilisé pour s’abstraindre des spécificitées des plateformes Donc l’outil auteur utiliser la grammaire des cours, et il est écrit en Java Les cours sont stockés en XML et sa grammaire décrite à l’aide d’une DTD L’outil de publication utilise : La DTD pour lire les cours XSL pour décrire comment produire les hyperdiaporama Le moteur XSL pour effectuer les transformations XSL Et il est écrit en Java pour l’indépendance de la plateforme L’hyperdiaporama est lui produit en HTML pour la version Web PDF pour la version Papier Voyons comment nous avons procéder pour l’outil auteur Java XML HTML/PDF Solution

20 Outil Auteur Non expert Petite Équipe Phase d’Étude Open Source
20 / 42 Non expert Petite Équipe Phase d’Étude Open Source En fait, comme Nous étions une petite équipe Non expert dans le domaine Java et XML Mais en prennant compte de la phase d’étude Et qui nous devions réaliser le projet en open source Nous avons décider de reprendre un logiciel existant Merlot Concretement il ressemble à ca Solution

21 Outil Auteur XML Open Source
Merlot 21 / 42 Outil Auteur XML Open Source C’est un outil permet un document XML quelconque en ayant fournis sa DTD De la même façon que explorer : A gauche, on retrouve la structure XML. Et a droit le contenu des éléments. Contenu des éléments Arbre XML Solution

22 Pourquoi Merlot… Open Source Portabilité (Java)
22 / 42 Open Source Portabilité (Java) Fonctionnalités standards Outil auteur générique Système de Plugins Plugin DTD : Personnalisation pour une DTD Plugin Action : Ajout de traitement Plugin DTD 2 Plugin Action 2 En fait pourquoi nous avons utilisé Merlot : Tout d’abord il répond au 2 critères : Il est open source, plus précisement nous pouvons reprendre son code et ajouté des fonctionnalité et Synergie3R peut en faire une exploitation commerciale. D’autre part, il est écrit en Java, donc il correspond à nos besoins. Les deux points suivante viennent s’ajouter : Ils possèdent les fonctionnalités standard, en clair il a une interface simple sobre avec couper/copier/coller etc… C’est un outil auteur générique puisqu’il suffit de lui fournir une DTD pour avoir éditer un document. Cependant cette généricité ne serait pas utile si on peut pas le spécialisé. Hors Merlot possède un système plugin qui sont de 2 types : DTD et Action Le plugin DTD permet une personnalisation de l’interface par rapport à une DTD Le plugin Action permet de rajouter un traitement sur un document édité Donc Merlot se compose de 2 sortes de plugin Et on peut utiliser autant de plugin que l’on souhaite pour chaque sorte Plugin DTD 1 Plugin Action 1 Merlot Plugin DTD Plugin Action Solution

23 Manques Pas de vue globale du document Spécialisation non appropriée
23 / 42 Pas de vue globale du document Spécialisation non appropriée Aucune aide à la publication Outil Auteur COURS Outil Publication HYPER DIAPORAMA Cependant il comporte plusieurs inconvénients : Pour l’outil auteur, il n’y a pas de vue global du document : vue d’ensemble comme on pourrait trouver dans Word Pour les plugin DTD qui peuvent servir à l’implémentation de la spécificité des cours, la spécialisation n’est pas appropriée Pour les plugin Action qui peuvent servir à l’implémentation de l’outil de publication, Il n’y a aucun support pour la publication. Pour les hyperdiaporama, comme ils sont produit par l’outil de publication, ils ne sont pas touché. Merlot Plugin DTD Plugin Action Solution

24 GenDiapo Architecture GenDiapo Merlot Outil Auteur Outil Publication
24 / 42 Architecture GenDiapo Plugin GenDiapo Cours Plugin GenDiapo Publication Outil Auteur COURS Outil Publication HYPER DIAPORAMA On a donc décidé d’ajouté une couche GenDiapo à Merlot avec extension du système de plugin dtd et action afin de résoudre les problèmes expose précédemment La couche Gendiapo est toujours un outil générique. Les specificitees du cours sont gérées par un plugin dtd Et l outil de publication est Implémente comme un plugin action L hyperdiaporama étant génère par l outil de publication l enseignant peut le placer a la disposition de l élève L’enseignant voit donc gendiapo comme un outil auteur générique avec une spécialisation pour les cours et une action spécifique pour lancer l’outil de publication Merlot Plugin DTD Plugin Action Solution

25 Architecture GenDiapo Vue Stylée et Attributs
25 / 42 Vue Stylée et Attributs Ré-ingénierie de Merlot GenDiapo Architecture Package à modifier Merlot Plugin DTD Plugin Action GenDiapo Composants Swing (JDK 1.3) Vue stylée (package javax.swing.text) Création d’un composant spécifique Maquette pour vérifier faisabilité L’une des 1er phase dans le développement est donc la ré ingénierie de Merlot C’est à dire établir son architecture Et établir les packages à modifier La second phase, est l’ajout de la couche GenDiapo Pour cela on a utilisé essentiellement les composants swing du JDK 1.3 Et plus particulièrement le package javax.swing.text pour la vue stylée c’est a dire la vue globale du document. (On a eviter le terme wysiwig puisque la mise en forme du document ne se fait pas a ce niveau). L’utilisation a été atypique puisqu’on a développer un composant pour gérer les données XML (travail qui n’a pas été fait ailleurs, d’apres nos recherche sur internet) La faisabilité à donc été vérifié à l’aide d’une maquette Le dernier point consiste à établir un pont entre l’architecture de Merlot et celle de GenDiapo C’est à dire étendre les classes de Merlot avec celles de GenDiapo Solution

26 Architecture GenDiapo Vue Stylée et Attributs
26 / 42 Vue Stylée et Attributs Intégration Classe héritée de Merlot GenDiapo Merlot Plugin DTD Plugin Action Caractéristiques de l’architecture L’une des 1er phase dans le développement est donc la ré ingénierie de Merlot C’est à dire établir son architecture Et établir les packages à modifier La second phase, est l’ajout de la couche GenDiapo Pour cela on a utilisé essentiellement les composants swing du JDK 1.3 Et plus particulièrement le package javax.swing.text pour la vue stylée c’est a dire la vue globale du document. (On a eviter le terme wysiwig puisque la mise en forme du document ne se fait pas a ce niveau). L’utilisation a été atypique puisqu’on a développer un composant pour gérer les données XML (travail qui n’a pas été fait ailleurs, d’apres nos recherche sur internet) La faisabilité à donc été vérifié à l’aide d’une maquette Le dernier point consiste à établir un pont entre l’architecture de Merlot et celle de GenDiapo C’est à dire étendre les classes de Merlot avec celles de GenDiapo Code de Merlot intact Problème pour les futures versions de Merlot Solution

27 Architecture GenDiapo
27 / 42 Plugins Plugin DTD Mise en place d’un SDK Personnalisation de l’Outil Auteur Arbre XML Vue Stylée Attributs Documentation Code Plugin Action Outre l’ajout de la vue stylée, des fonctionnalités sur le système de plugin ont été ajouté Pour les plugin DTD La personnalisation de l’outil auteur peut se faire au niveau de l’arbre XML, la vue stylée et les attributs Pour les plugin Action On a ajouté des moteurs XSL, une interface pour leurs utilisation dans les plugin action Afin d’aider au developpement on mis en place un SDK qui est composé D’une documentation D’exemple de code Voyons a quoi ressemble gendiapo : Intégration de moteurs XSL Solution

28 GenDiapo Vue Stylée Attributs Arbre XML 28 / 42
On retrouve l’arbre XML La vue stylée qui a été ajoutée, on retrouve la structure XML, mais chaque éléments possède une représentation plus concrète. Enfin les attributs de l’éléments courrant (ici un paragraphe). Ces attributs sont classés à l’aide d’onglet. Après avoir vu les tâches que nous avons effectué, Chritophe va vous présenter comme nous nous sommes assurer de la qualité de notre travail. Attributs Arbre XML Solution

29 Évolution Contacts avec Merlot Organisation Intégration à Merlot
29 / 42 Contacts avec Merlot Intégration à Merlot Organisation GenDiapo Plugin GenDiapo Cours Publication COURS Outil GenDiapo Merlot Plugin Action DTD Outil Auteur Merlot Plugin Action DTD Outil Auteur On retrouve l’arbre XML La vue stylée qui a été ajoutée, on retrouve la structure XML, mais chaque éléments possède une représentation plus concrète. Enfin les attributs de l’éléments courrant (ici un paragraphe). Ces attributs sont classés à l’aide d’onglet. Après avoir vu les tâches que nous avons effectué, Chritophe va vous présenter comme nous nous sommes assurer de la qualité de notre travail. Solution

30 ASSURANCE QUALITE

31 Pérennité & Prototypage
Critère 31 / 42 Pérennité & Prototypage Évolutivité Concerne : Outil Auteur & Outil de Publication Contrôle : Réalisation d’un plugin par équipe GenEval Indépendance Concerne : Tous les éléments Contrôle : Technologies utilisées (Java, XML, XSL, …) Tests sur Windows et Linux Assurance Qualité

32 Pérennité & Accessibilité
Règles 32 / 42 Pérennité & Accessibilité Code Sauvegarde quotidienne Local Base de programmes (CVS) Normes de Merlot Site Web Hébergeur Projets Open Source CVS, Bugs, Forum, Statistiques….. Code Exécutable Source Plugin SDK Documents Assurance Qualité

33 Réalisation d’un Prototype
Tests 33 / 42 Réalisation d’un Prototype Gestion de Bugs Formulaire sur SourceForge Fichier ToDo & Documents Tests Unitaires Utilisation de JTest (ParaSoft) Tests d’Intégration D’après les Spécifications Externes Tests sur Windows et Linux Assurance Qualité

34 Réunions Contrôle du Projet Réunions d’avancement
34 / 42 Contrôle du Projet Réunions d’avancement Stagiaires Responsable Équipe GenEval Contrôle du projet Propositions techniques Définition des tâches suivantes Réunions de présentation Stagiaires Responsable Enseignants Démonstration de prototypes Discussion ouverte Présentation de l’architecture Assurance Qualité

35 GESTION DE PROJET

36 Satisfaction Enseignants
Cycle de Vie 36 / 42 Satisfaction Enseignants Outil Auteur Structure de Document Outil de Publication We have three goal : Author tool Course structure Feasibility of publishing tool More over, the exact specification requirement was define at the beginning of the project. So we design and code using increment. One increment consist of external design AND validation, then normal phase with a validation at the end And then, we iterate with a second one a final validation. We have more detail with planning…. Deux Outils Contrôle Flexibilité Gestion de Projet

37 Objectifs Prioritaires
Planning 37 / 42 Outil Auteur Juin Septembre Avril Janvier Mai Juillet Août Étude Besoins Codage Intégration Conception Spécification Choix de Merlot Objectifs Prioritaires Ré-Ingénierie Fonctionnalités Version stable Prolongement In fact the project was into 3 parts. The first one corresponding to the half time period ( 4/1/2001 – 31/8/2001 ) We got requirement And study system feasibility with XML and Java technologies Since the full time period we are in the first increment. ( 10/4/ /6/2001 ) There is two goal here, but linked : Develop a prototype for author tool Develop course structure Since this is the most important part of the project, it’s take 50% of all effort In a second phase, ( 9/7/2001 – 31/8/2001 ) We will make a revision of 1st increment And will add the publishing tool. Actually, We will just show the production chain. In fact a correct development of the publishing tool need the double in works. (why in this order feasibility and revision ?) Now, taking in account the project context, we have different risks. Gestion de Projet

38 Risques Satisfaction des Enseignants Délais Architecture Faisabilité
38 / 42 Satisfaction des Enseignants Réunions de présentations Cycle de vie Délais Planning Buts prioritaires Reprise de Merlot Architecture Réunions d’avancement Reprise de Merlot About requirements first : The goal was not well define at the beginning. All won’t be done. So the risk was to assign wrong priority. To minimise this problem, we made validation meeting with teachers and document about what will do (????) A second risk is delay : Because the project was to important, and ??? We use planning adjust correctly during project We defined priority goal We recovery open source code. A third risk is architecture : Similar project aren’t mature. Two method was use to avoid problem : Validation & Weekly meeting Reusability of existing code ???? (creation de maquette) A last main risk is feasibility : It is link to architecture in fact To minimise this, we made model at the end system feasibility and in 1st increment. This guaranty the feasibility using the architecture we design. Although, we try not to reinvent the wheel, that’s why during the system feasibility we have look for existing components. That’s all folk…… Faisabilité Réalisation de maquette Recherche de composants existants Gestion de Projet

39 CONCLUSION

40 Objectifs Objectifs réalisés Objectifs non réalisés
40 / 42 Objectifs réalisés Outil générique avec vue du document Édition & Publication d’un cours Plugin DTD Plugin Action Objectifs non réalisés Gestion des images Gestion du glossaire Mise en forme du contenu Conclusion

41 Nos Impressions Collaboration avec d’autres équipes Découvertes
41 / 42 Collaboration avec d’autres équipes Virtuelles : Merlot (Evert Hoff) Réelles : GenEval (Cécile Guilloux) Découvertes Open Source Technologies Java, XML et XSL Gestion de Risques Si c’était à refaire…. Phase d’étude plus courte Collaboration avec Merlot Conclusion

42 QUESTIONS … COMMENTAIRES …


Télécharger ppt "Projet GenDiapo Alexandre FLAMENT Christophe QUAY-THEVENON"

Présentations similaires


Annonces Google