Vue d'ensemble du projet UWSAPIL

De Langolen.

Sommaire

Introduction

Wikis for Software Engineering

Les wikis sont considérés comme des plate-formes d'édition collaborative ayant un faible coût d'entrée.

Björn Decker, Eric Ras, Jörg Rech, Bertin Klein, Christian Hoecht dans Self-organized Reuse of Software Engineering Knowledge Supported by Semantic Wikis définissent les caractéristiques principales comme :

  • one place publishing, meaning that there is only one version of a document available that is regarded as the current version;
  • simple and safe collaboration refers to versioning and locking mechanisms that most Wikis provide;
  • easy linking means that documents within a Wiki can be linked by their title using a simple markup;
  • description on demand means that links can be defined to pages that are not created yet, but might be filled with content in the future.

Article : http://www.mel.nist.gov/msid/conferences/SWESE/repository/11self-org_reuse_of_se.pdf

Parmi les usages qu'on peut faire des wikis dans le domaine de l'ingénierie du logiciel, un wiki peut être utilisé comme un réservoir (ou référentiel ? ) de connaissances (knowldege repository). La gestion et l'organisation de connaissances repose généralement sur une structuration des contenus et sur l'usage de méta-données pour indexer, classer, annoter, rechercher, ... l'information. Dans ce cas, il est préférable d'utiliser des wikis sémantiques permettant d'associer des méta-données aux pages du wiki.

Quelles connaissances veut-on gérer ?

Il s'agit avant tout de celles relatives au métier d'ingénieur du logiciel, débutant dans une équipe ou en charge d'un projet. Plus précisément, on cherche à fournir une aide à la cartographie des activités réalisées dans un projet logiciel, soit dans un but d'amélioration de procédé (process improvement), soit dans un but d'aide à l'apprentissage, voire dans une optique d'évaluation de capacité (capability) de pratiques (process assessment).

En accord avec la norme ISO/IEC 15504, nous pensons qu'il est utile de séparer processus et capacités dans deux dimensions différentes. Il existe donc un modèle de référence des processus et un modèle de référence des capacités (qui doivent être utilisés conjointement pour l'amélioration et l'évaluation de processus).

La norme ISO/IEC 12207 « Processus du cycle de vie du logiciel » a l'objectif principal de fournir une structure de référence et un modèle de décomposition en groupe de processus, processus, activités, tâches de manière à ce que les différents acteurs du logiciel emploient un langage commun. C'est donc la 12207 qui fournit le modèle de référence des processus et ce modèle fait partie des connaissances qu'un ingénieur du logiciel doit posséder.

Cependant, c'est avant tout l'activité (avant, pendant et après les projets) d'ingénieur qu'on veut accompagner et les connaissances relatives à cette activité et à ces projets qu'on veut gérer. On a donc besoin d'une description pragmatique de l'activité et des projets en terme de tâches, de produits, d'étapes du cycle de vie ...

Pour cela (et ce n'est pas le moindre problème), on a besoin d'un vocabulaire commun, ou à tout le moins d'un glossaire recensant une liste de termes et les définitions qui y sont associées. La norme ISO/IEC 24765 « Ingénierie des systèmes et du logiciel -- Vocabulaire » a pour but de fournir un vocabulaire commun pour l'ingénierie du logiciel et fournira la référence des connaissances requises.

Wikis sémantiques utilisés

A la lumière du paragraphe précédent, au moins 3 wikis sémantiques sont utilisés :

  • le wiki 24765 est un thésaurus des concepts d'ingénierie du logiciel, il prend ses termes dans le vocabulaire ISO/IEC 24765;
  • le wiki 12207 décrit un sous-ensemble du modèle de référence des processus de la norme ISO/IEC 12207;
  • le wiki company accueille et accompagne chaque ingénieur du logiciel dans la gestion des connaissances relative à son activité et à ses projets.

Technologies

RDF Resource Description Framework est un modèle de graphe destiné à décrire de façon formelle les ressources Web et leurs métadonnées.

MediaWiki est un moteur de wiki pour le web. Conçu pour répondre aux besoins de Wikipédia, ce moteur est également utilisé par des entreprises comme une solution de gestion des connaissances et comme un système de gestion de contenu.

Semantic MediaWiki est une extension du logiciel MediaWiki, qui permet à chaque utilisateur de rendre les informations plus accessibles aux ordinateurs, ce qui facilite la recherche ou l'utilisation de ces informations. Les données ainsi encodées peuvent être également exportées via RDF.

Outils personnels