Atelier de génie logiciel

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources ().

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?

Page d’aide sur l’homonymie

Pour les articles homonymes, voir AGL.

Un atelier de génie logiciel (AGL), ou un progiciel de développement, ou des outils CASE pour Computer Aided Software Engineering, désignent un ensemble de programmes informatiques permettant eux-mêmes de produire des programmes de manière industrielle.

Fonctionnalités d'un AGL

Alors qu'un compilateur, par exemple, ne peut que traduire un langage informatique vers un autre, la réalisation de programmes, notamment au sein d'équipes nombreuses, requiert bien d'autres activités qui sont généralement couvertes par un AGL :

  • conception générale du projet, étapes ou phases de réalisation ;
  • composition et organisation de l'équipe projet ;
  • calendrier, charges de travail, moyens et budgets ;
  • conventions de nommage des données et des sous-ensembles de programmes ;
  • structuration des données ;
  • aide à l'édition de programmes dans différents langages ;
  • compilation ;
  • génération de code optimisé ;
  • édition de liens ;
  • aide aux tests et suivi des corrections ;
  • bibliothèques de sous-ensembles pouvant être réutilisées dans plusieurs projets ;
  • documentations ;
  • gestion des versions successives ou des variantes d'un même programme.

Les AGL couvrent donc un champ au-delà des environnements de développement intégrés.

Dictionnaire de données

Un AGL est basé sur un dictionnaire de données, (qui fait implicitement référence à un méta modèle de données). Il est généralement interfacé avec une interface graphique permettant la modélisation, suivant un ou plusieurs formalismes tels que MERISE ou UML. Parfois, l'outil a l'intelligence pour mettre en forme, et rendre lisible dans un schéma, l'inévitable complexité du « plat de nouilles » issu du dictionnaire de données. Un AGL inclut aussi un système de calcul formel comme Maple, Mathematica ou MuPAD permettant la génération de code optimisé en Fortran, C ou Java.

L'AGL permet de « zoomer » et d'enrichir un référentiel d'entreprise suivant plusieurs axes : cycle de vie, domaines projet, cycle d'abstraction, portage technologique sur d'autres environnements de développement…

Avantages liés à l'utilisation d'un AGL

Un apport essentiel de l'AGL est de permettre de documenter automatiquement un programme, et de maintenir en permanence à jour cette documentation, et, ce tout au long de sa conception.

L'objectif est souvent d'essayer de trouver le bon niveau de granularité dans la conception de chaque composant applicatif, de manière à essayer d'en améliorer le réemploi.

Certains AGL peuvent aller jusqu'à la génération de code ou à l'inverse peuvent inclure des fonctionnalités de rétro-ingénierie et donc analyser pour modélisation les données contenues dans un programme. Enfin certains peuvent faciliter la génération de jeux de test.

Un AGL facilite la collaboration des différents programmeurs (urbanisme informatique) ainsi que la maintenance ultérieure des programmes en les incitant à partager les mêmes méthodes.

Quelques AGL

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article contient une ou plusieurs listes ().

Ces listes gagneraient à être rédigées sous la forme de paragraphes synthétiques, plus agréables à la lecture, les listes pouvant être aussi introduites par une partie rédigée et sourcée, de façon à bien resituer les différents items.
D'autre part, Wikipédia n'a pas pour rôle de constituer une base de données et privilégie un contenu encyclopédique plutôt que la recherche de l'exhaustivité.

Voir aussi

Lien externe

  • Démarche de constitution d'un AGL pour le langage PHP
  • icône décorative Portail de l’informatique
  • icône décorative Portail de la programmation informatique