15
Interface de génération de blason Projet STL Projet STL M.GIBERT / M.GIBERT / M.LIPPMANN M.LIPPMANN

Interface de génération de blason

  • Upload
    habib

  • View
    33

  • Download
    2

Embed Size (px)

DESCRIPTION

Interface de génération de blason. Projet STLM.GIBERT / M.LIPPMANN. Sommaire. L’héraldique Définitions Présentation Le projet Naissance Grammaire ? Fonctionnalités Architecture La réalisation Représentation Design Patterns Communication Bilan Métriques Conclusion. - PowerPoint PPT Presentation

Citation preview

Page 1: Interface de génération de blason

Interface de génération de blason

Projet STLProjet STL M.GIBERT / M.LIPPMANNM.GIBERT / M.LIPPMANN

Page 2: Interface de génération de blason

Sommaire1. L’héraldique

A. DéfinitionsB. Présentation

2. Le projetA. 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.LIPPMANN2

Page 3: Interface de génération de blason

L’héraldique ?

• Science du blason :– Identification d’un chevalier– Identification de la généalogie

• Intérêt :– Langage universel permettant une

identification de l’origine de la personne entre plusieurs pays

Interface de génération de blason M.GIBERT / M.LIPPMANN

3

Page 4: Interface de génération de blason

Création d’un blason

Interface de génération de blason M.GIBERT / M.LIPPMANN

4

Page 5: Interface de génération de blason

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.LIPPMANN5

Page 6: Interface de génération de blason

Grammaire : Blason

Pavage

Réduit

Brochant

Interface de génération de blason M.GIBERT / M.LIPPMANN

6

Plain

Simple

Partition

Page 7: Interface de génération de blason

Grammaire :Figure• Position :

• Accompagner :

• Charger :Interface de génération de blason

M.GIBERT / M.LIPPMANN7

Dextre Senestre

Pointe

Chef

Page 8: Interface de génération de blason

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

8

Page 9: Interface de génération de blason

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 »– Non-duplication du travail– Mise au point du protocole de communication

• Débouche sur :– 2 projets indépendants– 1 interface de communication

Interface de génération de blason M.GIBERT / M.LIPPMANN

9

Page 10: Interface de génération de blason

Représentation• 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

10

Page 11: Interface de génération de blason

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.LIPPMANN11

Page 12: Interface de génération de blason

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– Subsitutabilité des composants

• Inconvénients :– Pas de souplesse, fichiers non paramétrables– Ecritures sur disque inutilesInterface de génération de blason

M.GIBERT / M.LIPPMANN12

Page 13: Interface de génération de blason

Métriques• Utilisation de métriques

– Indicateurs de qualité (conception/réalisation)– Outils statistiques utilisés pour évaluer le coût de

maintenance d’un projet (ou repartir de zéro).

• 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

13

Page 14: Interface de génération de blason

Bilan• Projet formateur

– Métier inconnu auparavant– Cahier des charges inexistant– Premières versions demandées rapidement

• Travail en amont– Découpage fonctionnel– Identification de composants utilisables (moteur

graphique)

• Travail en aval– Intégration– Mesures de qualité

Interface de génération de blason M.GIBERT / M.LIPPMANN

14

Page 15: Interface de génération de blason

Interface de génération de blason M.GIBERT / M.LIPPMANN

15