Les outils connus sous le nom d' AGL (Atelier de Génie Logiciel) en anglais CASE (Computer Aided Software Environment) ont pour objectif l'accroissement de la productivité, des compétences et de la qualité des produits développés par les équipes de conception .
L'articulation produit - processus
L'organisation de toute méthode d'aide au développement des systèmes s'articule autour des deux notions de produit et de processus (OLLE 88). Les outils AGL doivent aider à formuler les produits et supporter le processus aboutissant à leur construction.
La variété des outils peut aller d'un simple éditeur graphique tel le schéma E/R - Entité / Relation (CHEN 76) aux outils plus sophistiqués comportant des outils de saisie de plusieurs techniques de modélisation basée sur un Méta-Modèle, le stockage dans une base de donnée centrale, le contrôle de cohérence et de complétude, la documentation, l'intégration des outils spécifiques des différentes étapes de développement .
La complexité grandissante des systèmes d'information à développer rend nécessaire la mise au point d'outils gérant les activités techniques de spécification, réalisation, maintenance et de gestion et d'organisation du projet.
L'aide aux tâches de développement
Les gains de productivité et de qualité passent par l'automatisation de certaines tâches et l'assistance aux équipes de développement des systèmes tel que :
transformation de schémas (E/R - relationnel),
normalisation 5 FN (5° Forme Normale),
génération de codes exécutables,
aide au raisonnement (par analogie),
réutilisation de connaissances (composants génériques),
aide à la correction des erreurs (IEW),
guidage du processus (modèle de processus intégré).
L'architecture fonctionnelle
L'architecture standard de l'environnement CASE comprend une structure à 5 couches :
l'interface utilisateur (interface homme / machine),
les outils verticaux (spécifiques à chaque étape du cycle de vie) modèle en cascade utilisé :
planning (schéma directeur),
analyse (schéma E/R) réutilisation des lignes Cobol (ingénierie à rebours),
conception (design) réutilisation des codes Cobol des lignes de programmes,
les outils horizontaux (utilisés au long du cycle de vie),
le dictionnaire de donnée commun sur SGBDR (repository),
la plate-forme opératoire (matériel et logiciel).
.
.
.
INTERFACE HOMME-MACHINE
.
.
.
Outil de Planning
Outil d'Analyse
Outil Conceptuel
Outil de Réalisation
Outil de Test
Outil d'Évolution
OUTILS VERTICAUX
.
.
.
OUTILS HORIZONTAUX
.
.
.
.
.
.
Outil de Trace
.
.
.
.
.
.
Outil de Documentation
.
.
.
.
.
.
Outil d'Aide à la Configuration
.
.
.
.
.
.
Outil de Gestion de Projet
.
.
.
.
.
.
DICTIONNAIRE
.
.
.
.
.
.
PLATE-FORME OPÉRATOIRE
.
.
.
Fig. 5.3.3 Architecture fonctionnelle standard de l'environnement CASE
Les composants clés correspondants à cette architecture sont représentés dans le schéma suivant.
![]()
Fig. 5.3.3/2 Fonctionnalités de l'environnement CASE
Les standards
Les standards développés dans l'industrie portent sur :
les systèmes de fenêtrage - X WINDOWS, Présentation Manager
la communication et le graphisme - MOTIF, OPEN LOOK,
la typographie - Post Script,
la documentation - SGML, CALS,
le contenu des documents (EDI) - DOD-STD-2167A.
La méthodologie
Une démarche méthodologique doit être mise en place couvrant la définition, la trace, le guidage et l'évolution des processus (voir figure ci-dessous).
![]()
Fig. 5.4.5. schéma d'interaction de définition, guidage et traçage des processus
PAIRE de NIVEAUX
NIVEAUX
.
CONTENUS
3 et 4
DÉFINITION DES
CONCEPTS
4
Méta-modèles
META-META
Méta-Modélisation
Schéma de définition des dictionnaires
2 et 3
DICTIONNAIRE
3
Modèles
META
Modélisation
Schéma dictionnaire
1 et 2
APPLICATION
2
Base de Données
SCHÉMA
Modélisation
Schéma application
idem
1
Application
INSTANCE
Données de l'application
Fig. 5.4.5/2. Tableau des différents niveaux d'un outil AGL
Les outils intelligents
Les outils AGL actuels ne font qu'assister le concepteur dans la progression de sa démarche, les outils de demain devront être plus intelligents pour gérer la complexité durant le processus de conception La nouvelle génération d'outils relève de l'intelligence artificielle et du génie logiciel ARANGO , elle propose une reformulation du processus de conception par les techniques d'IDA. suivantes :
le raisonnement autour des spécifications (lever ambiguïtés, contradictions et redondances),
l'utilisation des connaissances heuristiques,
le raisonnement flou (qui permet de bâtir des spécifications à partir d'énoncés incomplets),
l'apprentissage (qui permet à l'outil d'exploiter sa connaissance d'un domaine applicatif donné),
L'utilisation des ces technique permet de construire des outils CASE / AGL qui :
pallient l'incomplétude des spécifications et aident le concepteur à les gérer,
détectent les incohérences des spécifications et guident le concepteur dans leur résolution,
réutilisent la connaissance acquise lors de projets antérieurs,
expliquent au concepteur le pourquoi d'un résultat et justifient leurs décisions,
L'évolution des techniques de conception comporte trois aspects :
l'automatisation du processus de conception : il est conduit par l'homme, il est long, intuitif et souvent créatif, il se caractérise par un certain indéterminisme dans le processus de conception (dans les objectifs et limites souvent floues du SI, dans le choix d'un schéma conceptuel et le passage au schéma physique), le concepteur associe sa connaissance des techniques à un savoir expérimental.
On peut admettre l'hypothèse selon laquelle le processus de conception est un processus dirigé par la décision et que sa formulation passe par l'identification des types de décision à prendre (ROLLAND 86).
la réutilisation de connaissance liée au domaine : L'expertise des concepteurs acquise au cours des projets successifs de développement de SI liés à un domaine. Partant de ce constat, développer un outil qui apprenne au fur et à mesure des projets et qui utilise ce qu'il a appris pour de nouveaux projets et s'en souvienne pour de futurs projets vient naturellement à l'esprit. L'I.A. apporte aux outils d'aide à la conception de SI des techniques de représentation des connaissances et d'apprentissage. L'apprentissage par l'exemple QUILAN et par observation et découverte LANGLEY P. paraissent les mieux adaptées à la nature des problèmes à résoudre.
l'explication et le tutorat (pour aider l'utilisateur, l'outil nécessite qu'on y ait intégré la démarche méthodologique qu'il supporte comprenant d'une part, un module d'explication informant le concepteur du pourquoi d'un résultat et d'autre part un module "tuteur" qui lui enseigne l'emploi des formalismes, modèles, langages, démarches et techniques utilisées par l'outil. Les travaux de CLANCEY, SLEEMAN et NICAUD proposent une architecture de tutoriel à quatre composantes :
le tuteur,
le module expert,
la base de connaissance,
l'interface..
Les nouvelles approches objets en matière de conception et de gestion des systèmes d'information ainsi que les nouveaux outils qui se profilent vont bouleverser les méthodes de conception des SI.