Upload
tamra
View
37
Download
1
Embed Size (px)
DESCRIPTION
Interface de génération de blason. Projet STLM.GIBERT / M.LIPPMANN. Sommaire. L’héraldique Le projet Naissance Grammaire ? Fonctionnalités Architecture La réalisation Représentation Design Patterns Communication Bilan Métriques Conclusion. L’héraldique ?. Science du blason : - PowerPoint PPT Presentation
Citation preview
Sommaire1. L’héraldique2. Le projet
A. NaissanceB. Grammaire ?C. FonctionnalitésD. Architecture
3. La réalisationA. ReprésentationB. Design PatternsC. Communication
4. BilanA. MétriquesB. Conclusion
Interface de génération de blason M.GIBERT / M.LIPPMANN
2
L’héraldique ?
• Science du blason :– Identification d’un chevalier– Identification de la généalogie / faits
d’armes, etc…
• Intérêt :– Langage universel permettant une
identification « rapide » de la personne
Interface de génération de blason M.GIBERT / M.LIPPMANN
3
Naissance du projet• Projet précédent
– Création d’une armoirie à partir de la description sous forme de S-expression
– Ecrit en ML
• Objectif du nouveau logiciel– Ecrit en JAVA– Créer une armoirie par opérations successives
sur une IHM– Générer la S-expression correspondant
(possibilité de s’interfacer avec l’application ML)
– Créer un moteur graphique plus riche Interface de génération de blason
M.GIBERT / M.LIPPMANN4
Grammaire : Blason
Pavage
Brochant
Interface de génération de blason M.GIBERT / M.LIPPMANN
5
Plain
Simple
Partition
Grammaire :Figure• Position :
• Nombre :
Interface de génération de blason M.GIBERT / M.LIPPMANN
6
Dextre Senestre
Pointe
Chef
Grammaire :Figure• Accompagner :
• Charger :
Interface de génération de blason M.GIBERT / M.LIPPMANN
7
S-Expression
Interface de génération de blason M.GIBERT / M.LIPPMANN
9
(Or ( Accompagné (charge ( fasce sable ) (molette gueules ))( en Chef Senestre ( molette argent ))))
Fonctionnalités• Fonctionnalités sur le blason
– Création– Edition– Import / Export– Transformation en S-expression
• Fonctionnalités sur les figures– Chargement– Accompagnement– Agrandissement / Réduction– Décalage horizontal et / ou vertical
• Fonctionnalités sur l’armoirie– Prévisualisation– Export Jpeg ou SVG
Interface de génération de blason M.GIBERT / M.LIPPMANN
10
Architecture• Découpage fonctionnel
– Un composant pour l’IHM– Un composant pour le moteur graphique– Un composant pour la description sous forme de S-
expression.
• Réutilisation de composants– PSTL n°31 : « Réalisation SVG du blason »– Partage de composants– Mise au point du protocole de communication (travail
collaboratif)
• Débouche sur :– 2 projets indépendants– 1 interface de communication
Interface de génération de blason M.GIBERT / M.LIPPMANN
12
Représentation du blason
• Nécessité d’une représentation :– Proche de la grammaire pré-établie– Exprimable en XML– Exprimable en S-expression– Utilisable dans une interface graphique
• Choix d’une représentation arborescente– Copie conforme de la grammaire– Traductible directement en S-expression et en XML– Prédéfini dans SWING (JTree)
• Définition des entités de base : les nœuds de l’arbre– Rapprochement du cours d’ILP– Réutilisation de concepts (design pattern,
« compilation », explicitation)
Interface de génération de blason M.GIBERT / M.LIPPMANN
13
Design pattern• Application de divers motifs de conception
– Fabrique (Blason, Figure)– Visiteurs
• Traduction d’un blason en XML• Traduction d’un blason en S-expression• Edition de nœuds du blason• Représentation graphique d’un blason (JTree)
– Observateurs (IHM)– Singleton (Journalisation des opérations
successives)
• Utilisation combinée de visiteurs et de fabriques – Fabrication de Blasons et Figure abstraits via l’IHM– Un visiteur remplace des bouts de l’arbre– Indépendance entre l’IHM et les types concretsInterface de génération de blason
M.GIBERT / M.LIPPMANN14
Communication• Projet composé de deux sous-projets
indépendants– IHM– Moteur graphique
• Nécessité d’une interface entre les deux modules– Communication IHM / Moteur Graphique via un fichier
XML– Communication Moteur Graphique / IHM via un fichier
SVG
• Avantages :– Formats indépendants du langage et de la plate-forme– Substituabilité des composants
Interface de génération de blason M.GIBERT / M.LIPPMANN
15
Métriques• Utilisation de métriques
– Indicateurs de qualité (conception/réalisation)– Outils statistiques– Evaluation du coût de maitenance
• Mesures à l’aide d’outils spécialisés pour Java– Plugin Metrics pour Eclipse– Analyseur PMD
• Mise en évidence des sections « délicates »– Interprétation des données– Normalisation du code
Interface de génération de blason M.GIBERT / M.LIPPMANN
16
Bilan• Projet formateur
– Découverte du métier (héraldique)– Ecriture d’un cahier des charges– Premières versions demandées rapidement
• Travail en amont– Découpage fonctionnel– Identification de composants utilisables
• Travail en aval– Intégration– Mesures de qualité
Interface de génération de blason M.GIBERT / M.LIPPMANN
17