Contribution pour la spécification

La spécification d'une projet freedom, comme pour tout projet, est un élément essentiel.
C'est lors de cette phase que vont être défini les éléments composants l'application et ses fonctionnalités.

Template de document

Nous proposons un modèle de documents pour spécifier un projet d'application freedom de manière précise et facilement réutilisable pour initier les développements.

Une application freedom se base sur un élément essentiel, les familles, celles-ci permettent de décrire 80% du fonctionnement de l'application.
Notre modèle de document se présente donc sous la forme de 4 fichiers ODS à remplir par famille. Chacun de ces fichiers décrit une caractéristique de la famille :

  • Attributs : il décrit l'ensemble des attributs structurants ou non de la famille et les différentes actions associées à ces attributs
  • Cycle : il décrit le cycle de vie associé à la famille : les acteurs associés aux états, les actions particulières etc.
  • Profil/État : il décrit pour chaque état du cycle de vie les profils associés et les droits
  • Masque : il décrit l'ensemble des masques associés à la famille

Vous pouvez trouver un template vierge (template vierge)

Exploitation des documents

Ces documents sont structurés et assez proche des entrants freedom, on peut donc facilement les exploiter pour effectuer un certain nombre d'actions, par exemple:

  • Vérifier la cohérence des données dans les documents
  • Générer une spécification au format ODT
  • Générer des documents permettant de mieux visualiser les éléments (graphe de cycle de vie, graphe de lien interfamille…)
  • Générer une base pour les entrants freedom (pré-remplissage de l'ODS d'importation des familles, pré-remplissage de l'ODS de l'importation des cycles de vie, pré-création des classes des cycles de vie)
  • Générer une application de prototypage rapide qui permet de d'échanger autour d'une maquette en cours de spécification

Parseurs

Pour ce faire, il faut parser les documents et en extraire les structures de données associées :
Deux parseurs (écrit en python) l'analyse des ODS pour en extraire les données soit des fichiers attributs, soit des fichiers de cycle et de profil état. Ils permettent une sortie soit:

  • au format pickle pour une réutilisation dans des scripts python
  • au format json pour une réutilisation dans d'autres contextes

Une première version des parseurs peut-être trouvée dans le fichier zip suivant parseurs, ils nécessitent de lancer openoffice en mode serveur et n'ont été testé que sous ubuntu mais devraient être compatible windows (à condition d'installer python et le binding UNO utiliser open office et python sous windows)

Scripts d'export

En utilisant les fichiers produit par les parseurs, on peut obtenir les différents éléments présentés ci-dessus. Pour l'instant, seul les scripts suivants sont disponibles :

Le pré-remplissage de l'ods des familles

Ce script peut, à partir d'un fichier pickle créé par le parseur des attributs, générer un fichier d'importation de famille au format freedom pré-complété. Il complète les points suivants:

  • création d'un onglet par famille
  • remplissage des nom des attributs
  • des types des attributs
  • pré-remplissage avec des valeurs par défaut des colonnes (T, A, Vis)
  • numérotation automatique des différents éléments (en suivant la structure onglet, cadre)
  • génération d'une proposition d'ID d'attribut
  • pré-remplissage de l'ID frame avec la proposition d'ID par défaut.

Le script est disponible à l'emplacement suivant pré-génération ODS

Génération des schémas de cycle de vie

Ce script peut, à partir d'un fichier pickle créé par le parseur des cycles, générer un graphe de cycle de vie au format dot ou png par famille. Le script est disponible à l'emplacement suivant Génération des graphes

Pré-génération des fichiers de cycle de vie

Ce script peut, à partir d'un fichier pickle créé par le parseur des cycles, générer une classe PHP pré-remplie par famille et générer le fichier ODS des workflows Le script est disponible à l'emplacement suivant Pré-génération des cycles

contribution/contribution/contribution_pour_la_specification.txt · Dernière modification: 14/05/2010 14:17 par charles