Atelier de génie logiciel - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

On désigne par atelier de génie logiciel (AGL) un ensemble de programmes informatiques permettant eux-mêmes de produire des programmes de manière industrielle. On parle aussi d'outils CASE pour Computer Aided Software Engineering

Alors qu'un compilateur (Un compilateur est un programme informatique qui traduit un langage, le langage source, en un...), par exemple, ne peut que traduire un langage informatique (On appelle langage informatique un langage formel utilisé lors de la conception, la mise en...) 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 (Un projet est un engagement irréversible de résultat incertain, non reproductible a...), étapes ou phases de réalisation,
  • composition et organisation (Une organisation est) de l'équipe projet,
  • calendrier (Un calendrier est un système de repérage des dates en fonction du temps. Ces systèmes ont été...), charges de travail, moyens et budgets,
  • conventions de nommage des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...) et des sous-ensembles de programmes,
  • structuration des données,
  • aide à l'édition de programmes dans différents langages,
  • compilation,
  • é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,
  • etc.

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 (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface...) graphique permettant la modélisation, suivant un ou plusieurs formalismes tels que MERISE. Parfois, l'outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son...) a l'intelligence pour mettre en forme, et rendre lisible dans un schéma, l'inévitable complexité (La complexité est une notion utilisée en philosophie, épistémologie (par...) du " plat de nouilles " issu du dictionnaire de données.

L'AGL permet de " zoomer " et d'enrichir un référentiel (BDD) d'entreprise suivant plusieurs axes : cycle de vie (La vie est le nom donné :), domaines projet, cycle d'abstraction ( En philosophie, l'abstraction désigne à la fois une opération qui consiste a isoler par la...), portage technologique sur d'autres environnements de développement…

Un apport essentiel de l'AGL est de permettre de documenter automatiquement un programme, et de maintenir en permanence à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la...) cette documentation, et, ce tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) 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 la réutilisabilité.

Certains AGL peuvent aller jusqu'à la génération de code ou à l'inverse (En mathématiques, l'inverse d'un élément x d'un ensemble muni d'une loi de...) peuvent inclure des fonctionnalités de rétro-ingénierie (La rétro-ingénierie (traduction littérale de l'anglais reverse engineering),...) 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.

Exemples d'AGL :

Sous licence libre

  • ArgoUML
  • Eclipse
  • KDevelop (Kdevelop est un environnement de développement intégré (IDE) pour KDE.)
  • StarUML

Sous licence propriétaire

  • AD-Cycle d'IBM (International Business Machines Corporation (IBM) est une société multinationale américaine...),
  • Case*dictionnary d'Oracle,
  • Method/1,
  • Excelerator,
  • Optima PLC atelier d'automatisme ( Techniquement, un automatisme est un sous-ensemble ou un organe de machine(s) destiné à...) sur PC (norme IEC 61131-3)
  • Mega,
  • AGL Merise/2,
  • ARIS d'IDS-Scheer
  • WinDev (WinDev est un atelier de génie logiciel édité par la société...),
  • PACBASE (PACBASE est un atelier de génie logiciel générant des programmes en langage COBOL. Son nom...),
  • UNIFACE,
  • Advantage Plex
  • ASA & GEODE
  • Corporate Modeler de Casewise
  • Acsi (Analyse et Conception des Systèmes d'information) : un AGL (graticiel) avec génération SQL et interface AS/400
Page générée en 0.009 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise