28
SOMMAIRE Apport d’un AGL dans le développement d’un logiciel de gestion Goulven FURET 1

Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

Embed Size (px)

Citation preview

Page 1: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

SOMMAIRE

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

1

Page 2: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

I - INTRODUCTION

1.1 CONTEXTE

Ce projet a été réalisé en collaboration avec Aurélie Raoul, également étudiante en BTS informatique de gestion. Il prend appui sur le stage que nous avons effectué dans la société ABC Informatique. Cette entreprise s’occupe de développement pour les collectivités, telles que les SIVOMS, les SMITOMS et les syndicats des eaux. Notre produit doit satisfaire un besoin de gestion sur la collecte des ordures ménagères. En effet, avec l’avènement du tri sélectif, il devenait nécessaire d’apporter une solution logicielle permettant une approche globale du système de collecte des déchets.

Jusqu'à présent, les collectivités de communes géraient cette activité sur papier, avec un système ne permettant pas d’exploiter de manière optimale les informations recueillies lors des différentes collectes. Dans cette optique, notre application doit pouvoir répondre à plusieurs critères.

1.2 BESOINS

Tout d’abord, il convient de définir ce qu’est un Point d’Apport Volontaire. Un P.A.V est un lieu, aménagé ou non, réservé par la commune pour accueillir un ou plusieurs conteneurs, accessibles en libre service.Il sert à recueillir régulièrement certains déchets et emballages ménagers, préalablement triés à domicile, puis apportés par les habitants pour y être déposés provisoirement avant leur recyclage. Pour répondre au besoin de gestion qu’impose la collecte de ces conteneurs, le logiciel développé doit offrir les fonctionnalités suivantes :

Enregistrement des données liées au PAV (numéro, capacité, position géographique)Constitution des circuits de collecteTraitement des collectes (volume collecté, périodicité du ramassage …)Prise en charge des entretiens des PAV (nettoyage, réparation …)Gestion des incidents (dégradation, débordement…) concernant les PAVEdition des statistiques sur les collectes, les entretiens, les incidents ….

L’édition des statistiques est destinée à analyser le comportement des utilisateurs par secteur géographique et à ainsi optimiser le système de traitement des déchets.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

2

Page 3: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

1.3 SPECIFICITES DU PROJET

Il convient de spécifier que l’application de gestion des PAV est une application non critique, c’est à dire qu’elle ne répond pas à un besoin nécessitant une fiabilité de 100%, ni ne nécessite des temps de réponses immédiats. L’interface de l’application a ici toute son importance, elle doit être claire et intuitive, car destinée à des utilisateurs peu formés en informatique.

Les outils qui se prêtent le mieux à un tel développement (si on prend en compte l’aspect rentabilité) sont les L4G et les AGL.

Comme notre maître de stage ne travaille qu’avec le logiciel Windev de PC-Soft, c’est avec cet outil que nous avons réalisé ce projet. Ayant réalisé cette application à deux, nous avons utilisé Windev depuis un serveur sur des clients NT 4 Workstation. L’analyse et le programme étaient stockés sur ce même serveur.

Ce produit a déjà donné lieu à un stage l’an dernier, mais l’application n’était pas achevée. Malheureusement, la structure des données ne donnait pas satisfaction (notamment en raison des redondances d’informations) donc le code déjà existant n’était pas très propre ; M. Maurin a donc souhaité que nous partions de zéro, d’autant plus que les besoins ont évolué depuis l’an dernier.

II -ETUDE DES POSSIBILITES ET CHOIX D’UNE SOLUTION

Comme nous l’avons dit précédemment, l’outil que nous devions utiliser était Windev version 5.5, avec toute liberté d’action sur la façon de produire notre application.

Partant de là, les possibilités qui s’offraient à nous étaient simples :

Utiliser Windev comme un AGL (ce qui est sa fonction première)Utiliser Windev en tant que L4G classique.

Tout d’abord, il me semble utile de donner une rapide définition d’un L4G et d’un AGL.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

3

Page 4: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

2.1 DEFINITION D’UN L4G

Un langage de programmation de quatrième génération est un produit permettant une programmation dite «aisée». En effet, les langages de niveau 1,2 et 3 sont beaucoup plus proches du matériel. Cela signifie donc deux choses pour les programmes développés en L4G

Ils sont moins performants (en temps de réponse et en fiabilité), car ils ont plus de couches logicielles à traverser que les L3G, L2G ou L1G pour dialoguer avec le matériel.

L’écriture d’un programme est moins longue et moins laborieuse. Le L4G est donc bien adapté à la programmation de gestion, puisque celle ci demande de la rapidité de programmation, et ne nécessite pas d’accès au matériel.

2.2 DEFINITION D’UN AGL

Le génie logiciel est une sous-partie de l’informatique qui a pour tâche l’étude des techniques visant à réduire les coûts de production des logiciels informatiques.

Un Atelier de Génie Logiciel, ou CASE (Computer Aided System Engineering) est un outil permettant une approche complète du projet, en outillant la plus grande partie des étapes du développement (et plus généralement du cycle de vie) de l’application. Le rôle d’un AGL est également de permettre et d’optimiser le travail à plusieurs sur le même projet.

Un AGL se décompose en 3 couches :Higher case (Planification)Middle case (Conception)Lower case (Réalisation)

En effet, celui-ci prend en charge (éventuellement dans un environnement de travail GroupWare) la phase de planification, de conception et de réalisation du projet, contrairement aux L4G. Windev ne gère pas cette phase de planification, il faut faire appel à un OGL (Outil de Génie Logiciel) tel que Ms Project. Cela n’empêche cependant pas Windev d’être considéré comme un AGL.

A partir du MCD saisi sous l’éditeur, l’AGL va générer une application : les fenêtres et leurs enchaînements sont construits à partir des entités et des liens qui les unissent. Le langage de programmation fourni avec ce type de produit est de niveau 4, puisque les AGL sont utilisés spécifiquement pour le développement de gestion. En pratique, on peut utiliser un AGL comme un simple L4G.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

4

Page 5: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

2.3 PREMIERE SOLUTION   : UTILISER WINDEV UNIQUEMENT POUR LA PARTIE REALISATION

Cela revient à programmer sous Windev comme on le fait sous Visual Basic, c'est-à-dire qu’on crée toute une série d’écrans auxquels on associe du code. Il faut au préalable générer les fichiers Hyperfiles sous l’éditeur d’analyse.

L’approche est facile puisque le langage utilisé (le W-langage) est entièrement en français, et offre la possibilité au programmeur de développer en langage procédural ou en code objet. (Cela n’a pas été utilisé pour notre application, car ce mode de programmation demande un plus long temps de développement et a surtout de l’intérêt dans le cas ou le code de l’application doit être réutilisable).M. Maurin, notre maître de stage, ne se sert pas des outils de conception et utilise Windev comme un L4G. De plus, comme j’ai une expérience de Visual Basic, cette approche était plus naturelle pour moi.

Les inconvénients d’une utilisation L4G de cet outil sont cependant multiples : tout d’abord Windev est avant tout un AGL, ce qui signifie que le W-Langage s’intègre totalement dans l’enchaînement de conception qu’offre Windev. Par conséquent, utiliser Windev comme un L4G prive le développeur de plusieurs fonctions fort utiles pour la conception et la maintenance du projet.

De plus, le coût d’un AGL est plus élevé que celui d’un L4G (tel Visual Basic ou PowerBuilder). Il faut également préciser que le langage utilisé par un atelier de génie logiciel est moins évolué que celui d’un outil dédié à la phase de programmation.

2.4 DEUXIEME SOLUTION   : UTILISER AU MAXIMUM LES POSSIBILITES QU’OFFRE WINDEV

Comme Windev est un AGL, c’est cette solution qui offre le plus de cohérence et d’homogénéité dans le développement de l’application. Tout d’abord, pour bien percevoir les atouts du développement AGL, il me paraît important d’expliquer brièvement le fonctionnement de Windev.

La première étape sous Windev est la conception. Cette opération s’effectue sous l’éditeur d’analyse, avec en premier lieu la saisie du Modèle Conceptuel de Données, conforme à la méthodologie MERISE. C’est ici l’un des points forts de ce produit, la saisie du MCD étant très simple. (Assimilable à la saisie du MCD sous AMC Designor).

Cependant, il est à noter que Windev (en tout cas dans sa version 5.5) ne prend pas en charge les extensions de MERISE.

La deuxième étape est la génération du Modèle Logique des Données. C’est ce modèle (modifiable à volonté, par exemple pour pallier au fait que Merise/2 n’est pas supporté dans Windev) qui va servir d’ossature à l’application.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

5

Page 6: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

Il devient maintenant possible de procéder à la « Construction automatique de l’application ». Windev va construire une application permettant une saisie et une mise à jour des différentes tables présentes dans le Modèle Logique. C’est cette application basique obtenue, en définitive, à partir du MCD qui forme l’intérêt principal de cet AGL.

En effet, le code de saisie et de mise à jour étant déjà présent, la tâche du développeur se réduira (en principe et suivant l’application) à réorganiser l’enchaînement des fenêtres et à ajouter les quelques fonctions manquantes à l’application.

Il faut ajouter que Windev dispose de beaucoup d’outils trouvant leur plein emploi dans le cadre d’un développement AGL, bien qu’ils soient également accessibles lors d’un développement type L4G.

Module de travail en groupe (GroupWare)Ce module permet à plusieurs développeurs de travailler en même temps sur le même projet. Pour cela, le superviseur (l’administrateur) définit des droits sur les fenêtres, champs, codes, structures de fichiers et groupe de champs.Les droits peuvent être d’écriture, de lecture et d’accès total. Une autre fonction, connexe au module groupware est le «time stamp ». Celle ci permet de visualiser la date et l’auteur des lignes de code de l’application. Ce module groupware devient utile à partir du moment où il y a une grosse équipe de développeurs. Dans notre cas, nous n’avons pas utilisé cette fonction, n’étant que deux à travailler sur cette application.

Conception multilingueLa gestion de différents langages est prise en charge, de l’analyse jusqu’à la phase de déploiement. En pratique, pour chaque zone de texte, il faut saisir le libellé dans toutes les langues spécifiées. Au final, lors de l’installation du produit, l’utilisateur n’aura qu’à sélectionner le langage désiré. Notre application n’étant pas destinée à être commercialisée à l’étranger, nous n’avons pas exploité cette possibilité.

D’autres outils (dits de services), tels que l’éditeur d’état, le correcteur d’interface, l’éditeur de dossier technique, le dictionnaire, le gestionnaire de versions et l’assistant déploiement sont également disponibles. Les ayant utilisés dans le développement de notre application, ils seront traités dans la partie mise en œuvre.

C’est justement cette grande intégration, depuis la phase de conception à la phase de déploiement, qui justifie l’avantage d’un AGL. En effet, cela permet un développement rapide, et une grande homogénéité dans l’application (toutes les fenêtres ont le même format, les règles de saisie sont standards).

2.5 SOLUTION RETENUE

L’Atelier de Génie Logiciel, de par son approche d’ensemble et ses outils, garantit davantage la cohérence des données et l’homogénéité de l’interface.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

6

Page 7: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

Les temps de développement sont réduits grâce aux générateurs et assistants, par conséquent l’AGL contribue à la productivité du développement, notion importante dans l’approche du processus de développement d’un projet.

Il faut également noter que le prix d’un outil AGL est plus élevé que celui d’un L4G, il serait donc dommage de sous-utiliser l’outil acquis.Utiliser un AGL avec l’aspect RAD qu’il offre facilite l’interaction avec l’utilisateur au cours du développement.

En effet, on peut rapidement proposer un prototype de l’application à l’utilisateur puis effectuer les modifications qu’il souhaite et lui en proposer un autre.

Notre interlocuteur était M. Maurin, et nous avions une réunion hebdomadaire avec lui, au cours de laquelle nous affinions nos interfaces et nous précisions le fonctionnement de l’application.

Pour ces raisons, et aussi parce que c’était là l’occasion d’avoir une première expérience de la conception AGL, nous avons décidé d’utiliser les possibilités AGL de Windev au maximum, c’est à dire « d’outiller » chacune des étapes de production et de maintenance de notre application.

III - MISE EN ŒUVRE

Dans cette partie, nous nous intéresserons au développement de l’application de gestion de P.A.V. Je mettrai plus spécialement en évidence l’intérêt qu’apportent les outils de l’AGL Windev pour ce développement.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

7

Page 8: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

3.1 MODELISATION DES DONNEES

Une fois l’analyse papier terminé, il nous a fallu saisir ces informations sous Windev.

A LE MODELE CONCEPTUEL DE DONNEES

La première étape du développement de l’application est la saisie de l’analyse. La possibilité est offerte de saisir directement le modèle logique de données. Cependant la saisie préalable du MCD permet une meilleure approche du projet.

En effet, l’éditeur d’analyse de Windev dispose au niveau du MCD d’un vérificateur de cohérence. Selon les options sélectionnées, deux types de messages sont générés : les "Warning", signalant une incohérence, mais n'empêchant pas la génération du MLD (dans notre cas, nous avons rencontré des « Warnings » quand des propriétés d’entités ou d’associations différentes portaient le même nom) et les erreurs, signalant une incohérence grave : la génération du MLD est alors arrêtée.

Cette saisie s’effectue en deux temps : description des entités et création des relations. Pour cela, Windev pose des questions en langage naturel.

C’est à partir du MCD que Windev gère le typage. C’est-à-dire que si la propriété au niveau MCD est déclarée de type entier, le contrôle de numéricité sera automatiquement fait lors de la saisie et ce dans tous les écrans comportant la propriété alors qu'en VB, ce contrôle est fait seulement par le moteur de la Base de données lors de l’ajout ou de la modification du tuple.

Nous nous sommes répartis le travail, et j’ai pris plus spécialement en charge la gestion des incidents et des entretiens des PAV. Cette gestion est représentée par la portion de MCD suivante.

Représentation d’un extrait du modèle conceptuel des données

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

8

Page 9: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

DateMES, dans l’entité PAV désigne la date de mise en service.

Un entretien peut être réalisé consécutivement à un incident, ou bien de façon préventive, ou encore de façon curative mais sans qu’il n’y ait eu un incident.

Un type d’entretien est par exemple « nettoyage », ou encore «imperméabilisation» ; on considère que suite à une détérioration complète du PAV, il y a un entretien de type « évacuation » qui est effectué.

La difficulté liée à cette partie du MCD était la suivante :

Si un incident a eu lieu sur un PAV, ce dernier doit obligatoirement faire l’objet d’un ou plusieurs entretiens. Cependant celui-ci doit pouvoir être planifié ultérieurement. L’association implique porte la date à laquelle il est prévu d’effectuer le ou les types d’entretiens requis suite à un incident.. Si cette date est vide, cela signifie que l’entretien de ce type n’a pas encore été planifié. Il faudra alors rappeler cette planification à l’utilisateur jusqu’à ce qu’il effectue cette action.

L’association réaliser lie l’entretien à l’incident qui en est à l’origine.

B CHOIX DU SYSTEME DE STOCKAGE DES DONNEES

Cette étape a lieu lors de la création d’un nouveau projet. Windev dispose d’un système de stockage de données propriétaire. Il s’agit du format Hyper File, qui fonctionne sur le

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

9

Page 10: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

principe des fichiers séquentiels indexés. On peut accéder à ces fichiers soit par des ordres HyperFile (commandes incluses dans le W-Langage), soit par des requêtes SQL.

Ce système permet l’utilisation de triggers. Il existe également la possibilité de stocker les données au format Xbase, AS-400 ou dans un SGBD relationnel en mode client serveur.On notera que le système de Windev supporte un grand nombre de types de données, y compris les images. Nous avons choisi d’utiliser le système Hyper File.

C MODELE LOGIQUE DES DONNEES

Une fois le modèle conceptuel de données saisi sous l’éditeur, il faut effectuer une génération pour aboutir au MLD. Comme nous l’avons dit, l’éditeur d’analyse de Windev ne comprend pas les extensions Merise/2. Il est cependant possible d’y pallier en intervenant au niveau du MLD.Nous avons laissé Windev gérer les clés primaires au niveau du nommage et des valeurs (numérotation séquentielle).

3.2 GENERATION DE L’APPLICATION, PERSONNALISATION

A SQUELETTE DE L’APPLICATION ET ECRANS ASSOCIES

La construction de l’application marque la fin des étapes d’analyse sous Windev. Cette procédure consiste à créer la cinématique de l’application à partir du MLD. Pour cela, Windev va générer les écrans de saisie, de mise à jour et d’affichage pour les tables. Par défaut, toutes les tables sont sélectionnées pour la construction.Il est cependant possible de spécifier quelles tables devront en faire l’objet ainsi que de définir le statut de construction des associations correspondantes aux tables non sélectionnées.

Voici un extrait de la cinématique que Windev va générer à partir de la portion de MCD présentée précédemment.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

10

Page 11: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

Les règles de construction sont les suivantes :

Pour chaque table :Génération d’une feuille de saisie, de mise à jour et de sélection/affichage

Pour chaque feuille de saisie / mise à jourCréation des liens (boutons) selon les relations. 

Un bouton par cardinalité (1,1) pour la sélection directe et obligatoire de l’élément associé. La clé étrangère apparaît dans la feuille.

Un bouton pour la saisie facultative des données relatives à chaque relation de type (0,n),(1,n).

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

11

Page 12: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

Voici un exemple de feuille générée automatiquement. Elle joue le rôle de feuille de saisie, de parcours et de mise à jour d’un incident. Seul un paramètre passé à l’appel de cette feuille permettra à celle-ci de définir son aspect et son comportement.

Le style des écrans (police, taille, alignement, etc..) a été défini dans la feuille de style, lors de la création du projet. La barre d’outil est un élément provenant du dictionnaire, et nous l’avons incluse dans les fenêtres. (cf. 3.3 C)

Dès qu’un incident a eu lieu, l’utilisateur le saisit et enregistre également les types d’entretiens à prévoir. Pour chaque type d’entretien nécessaire, il prévoira si possible la date de l’entretien.En fait, la détermination de la date se fera en consultant le planning des techniciens (planning encore géré manuellement).

Notons que les techniciens en charge des entretiens ne sont pas recensés lors des prévisions d’entretien, mais uniquement lors de la réalisation de cet entretien.

B CREATION INDIVIDUELLE ET RETOUCHE DES FENETRES

Bien que très puissante, la construction automatique de l’application ne permet pas de se dispenser d’ajouter manuellement des feuilles, ni d’en modifier le code. Pour cela trois possibilités s’offrent au concepteur :

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

12

Page 13: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

Création entièrement manuelle.

Le procédé est similaire à la construction d’une feuille sous Visual Basic. Le développeur « pose » les contrôles sur la feuille et associe le code correspondant. La principale différence avec le L4G cité précédemment est qu’il est possible d’affecter directement une rubrique d’un fichier à un champ de la feuille.

Utilisation de fenêtres Visio+

Les fenêtres Visio+ sont des feuilles préconçues (Connexion et authentification, feuille de saisie, d’affichage, de mise à jour, de recherche, etc.). Il suffit ensuite d’associer les champs aux rubriques des tables correspondantes.

Je présente ci-après la fenêtre de connexion, elle est affichée au démarrage de l’application. Cette fenêtre a été modifiée, car elle était à l’origine conçue pour se connecter à une base de données. Nous avons donc uniquement gardé l’aspect de la fenêtre Visio+.Dans cet exemple, nous utilisons des ordres Hyper files pour rechercher l’utilisateur sélectionné dans le fichier société. Pour cela, nous avons créé un index sur le nom d’utilisateur afin de permettre la lecture directe à partir du nom d’utilisateur.

Retouche des fenêtres Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

13

Page 14: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

Nous avons du, par exemple, modifier la fenêtre de « fond » du projet (feuille mère MDI). En effet, une des fonctionnalités à pourvoir, toujours dans le cadre de la planification des entretiens consécutifs à un incident, était le contrôle des entretiens non planifiés et ce, dès le démarrage de l’application. En effet, comme tout incident doit aboutir à un ou plusieurs entretiens, il est nécessaire de rappeler ce fait à l’utilisateur.

Pour cela :

Lors du chargement de la feuille de menu, on vérifie s’il existe des tuples de la table Implique ayant une date vide. Si c’est le cas, on affiche un drapeau signalant le fait. Le clique sur ce drapeau amène l’utilisateur à la feuille de prévisions d’entretiens (feuille présentée en page 12).

On accède ici au fichier Implique par le biais d’une requête SQL. L’exemple de la feuille de connexion nous montre que l’on peut y accéder par des ordres HyperFile. Ce sont les deux méthodes d’accès aux fichiers HyperFile fournies par Windev.

Code de recherche des entretiens non planifiés

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

14

Page 15: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

C ETATS

Les états permettent une présentation claire et concise des données présentes dans les tables. Pour cela, il faut spécifier les critères de sélection, de ruptures et d’affichage.

Lors de la construction de l’état, deux possibilités sont offertes : Création manuelle ou automatique. C’est cette dernière solution qui a été retenue pour l’état présenté ci-dessus.

Dans notre cas, il fallait entre autres présenter clairement les incidents par catégorie d’incident. La rupture se fait sur libelle_In (libellé de la catégorie d’incident).

Cet état s’appuie sur la requête SQL suivante :

SELECT numserie,Designation_In,I0CLEUNIK,nom,date_incident, rapport_incidentFROM incident, commune, catinci, pavWHERE catinci.cacleunik = incident.cacleunikAND commune.C1cleunik = pav.c1cleunikAND pav.pacleunik = incident.pacleunikAND catinci.cacleunik = incident.cacleunik;

3.3 HOMOGENEITE DE L’INTERFACE

L’homogénéité de l’interface est un critère très important. Dans cette optique, Windev met à disposition un certain nombre d’outils qui permettent une personnalisation

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

15

Page 16: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

rapide et efficace de l’application, tout en respectant la cohérence entre les différentes feuilles.

A FEUILLE DE STYLE

Windev permet l’utilisation d’une feuille de style, définissable lors de la création d’un nouveau projet. Cette feuille (constituée d’un ensemble de règles) permet d’uniformiser l’apparence de l’application, puisque les règles définies dans ces feuilles s’appliqueront à la totalité du projet. Ces règles concernent la taille et l’aspect des champs et boutons (encadrements, polices, couleurs, ...) et l’adaptation des contrôles à une résolution donnée.

La vérification des styles des contrôles n'est effectuée que pour les champs utilisant un style de la feuille de style (et non pour les champs ayant un style dissocié).Pour notre projet, nous avons réutilisé une feuille de style d’un précédent projet de M. Maurin, afin de garder un maximum d’homogénéité avec les autres applicatifs développés par ABC informatique.

B LE CORRECTEUR D’INTERFACE

Le correcteur d'interface est un outil permettant d'harmoniser la disposition des champs dans les différentes fenêtres d'une application. Il propose pour la fenêtre en cours ou uniquement pour les champs sélectionnés, d'appliquer des règles de présentation d'interface issues du standard Windows : alignement des champs, normalisation de la taille des boutons, ....

C LE DICTIONNAIRE

Nous nous sommes servis de cet outil pour faciliter la mise en place des barres de menus. En effet, celles ci sont standards dans toutes les fenêtres.Grâce au dictionnaire, il est possible d'intégrer dans les fenêtres des objets prédéfinis tels que champs de saisie, boutons (textes ou graphiques, .....) ou encore des groupes de champs. Lors de l'insertion d'un objet du dictionnaire dans un éditeur, l'objet de l'éditeur devient une "copie" de l'objet du dictionnaire. Si l'objet du dictionnaire est modifié, ses différentes copies peuvent :

- être informées des modifications apportées sur le dictionnaire grâce à l'abonnement. Il est alors possible pour ces objets d'intégrer les évolutions de l'objet du dictionnaire.

- être complètement indépendantes du dictionnaire, si aucun abonnement n'est défini. Il est cependant possible à tout moment de rétablir l'abonnement d'une copie au dictionnaire.

3.4 MAINTENANCE ET INSTALLATION DE L’APPLICATION

A GESTIONNAIRE DE VERSIONS

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

16

Page 17: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

A chaque génération de l’application, le numéro de version est incrémenté de un. Ce numéro de version concerne indépendamment l’analyse et les fichiers (quand ceux-ci ont été modifiés). Le gestionnaire de versions permet de revenir à une version précédente, ou également de fusionner deux versions de l’application

En plus de gérer le suivi des versions de l’application à proprement dit, Windev gère également le suivi des versions de l’analyse et le suivi des générations des fichiers. Il ne faut cependant pas confondre le numéro de version de l'analyse et le numéro de génération d'un fichier. Un numéro de génération est associé à chaque fichier. Ce numéro commence à 1 puis s'incrémente à chaque fois qu'une génération a été faite et que le fichier est modifié (il ne s'incrémente pas systématiquement à chaque génération, il s'incrémente uniquement si le fichier a été modifié).

Le numéro de génération du fichier est donc inférieur ou égal au numéro de version de l'analyse.

Ces possibilités de traçabilité du développement de l’application nous ont été très utiles. En effet, cela nous a permis de faire des modifications dans le projet sans nous inquiéter des effets de ces évolutions. Afin d’éviter toute mauvaise surprise, nous avons toutefois procédé à des sauvegardes régulières.

Avant la production du kit d’installation, nous avons remis le numéro de génération de l'analyse à "0". Dans ce cas le numéro de version de l'analyse et des fichiers de données est remis à zéro. L'utilisateur ne peut donc pas voir le nombre de générations qui ont été nécessaire pour mettre au point son application.

B LE DOSSIER TECHNIQUE

La génération de la documentation effectuée par Windev est très intéressante car le code est clairement présenté. (Distinction entre le code des contrôles et celui des procédures, récapitulatif des variables …) Elle m’a beaucoup aidé lorsque le code devenait trop long et qu’il n’était plus possible de trouver les erreurs en examinant le code à l’écran.

De plus, cela nous a permis de laisser un dossier complet sur le projet à M. Maurin. Comme on le voit ci-après, les options permettant une personnalisation du dossier technique sont assez impressionnantes.

Fenêtre d’impression du dossier technique

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

17

Page 18: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

C L’INSTALLATION DE L’APPLICATION

La création du kit d’installation est très simple. Cette fonctionnalité est largement paramétrable, ce qui permet une adaptation efficace aux conditions matérielles et logicielles des postes des utilisateurs.

Le choix est donné de créer cet exécutable en 16 ou 32 bits, suivant la nature du système d’exploitation de la station cliente.Il y a également possibilité de fusionner les DLL à l’intérieur même de l’exécutable.

Les autres fonctions intéressantes à signaler sont :

Création d’un Autorun (pour l’installation à partir d’un CD)Choix du langage de l’éditeur d’installationGestion complète des répertoires (cibles, systèmes, par défaut)Paramétrage du décor de programme d’installation.

Dans notre cas, nous avons choisi de dissocier les DLL. En effet, bien que cette solution présente l’inconvénient de rendre l’application plus vulnérable (les DLL sont souvent mises à jour, parfois de manière malencontreuse, par des logiciels tiers), elle permettait plus facilement à notre application de fonctionner sur des petites configurations, ce qui est souvent le cas dans les mairies que ciblait notre logiciel.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

18

Page 19: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

Ecran de l’éditeur d’installation

Dans le cas d’un seul fichier, toutes les DLL sont directement placées en mémoire au lancement de l’application, alors qu’en utilisant des fichiers de liaisons dynamiques externes, celles-ci ne sont chargées que lorsqu’elles sont nécessaires lors du déroulement du programme.

Nous avons laissé le fond de l’écran d’installation par défaut. Celui-ci présente l’avantage d’être standard et donc de ne pas perturber l’utilisateur durant la phase d’installation du produit.

Enfin, nous avons décidé de créer le kit d’installation sur CD. Bien que peu volumineuse au final, notre application aurait toutefois nécessité plusieurs disquettes.

De plus, ce support magnétique est beaucoup plus vulnérable que le CD. Nous avons donné un CD type à M. Maurin qui s’est occupé lui-même de l’installation chez le client et de la formation des utilisateurs.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

19

Page 20: Apport d’un AGL dans application de gestion des PAVgoulven.furet.free.fr/cours/ex_style_word.doc · Web viewOn peut accéder à ces fichiers soit par des ordres HyperFile (commandes

IV - CONCLUSION

Cette expérience avec Windev m’a permis de découvrir à quel point l’utilisation d’un AGL optimise et rentabilise le développement d’une application de gestion. En effet, avoir recours à des générateurs et divers assistants pour toutes les phases du cycle de vie de l’application est très bénéfique.

De plus, disposer de tous les outils de conception d’une application à l’intérieur du même produit est plus profitable que de disposer de ces outils séparément (utilisation d’un ou plusieurs OGL et d’un L4G).Le gain de temps se situe au niveau de l’interaction directe et automatique de ces outils. De plus, la communication entre ces outils harmonise réellement la structure et l’aspect de l’application développée, la génération des feuilles et du code étant faite en cascade, à partir d’un modèle défini.

Bien que concluant, le développement sous Windev ne s’est pas avéré exempt de problèmes techniques (problèmes de développement sur le réseau, plantages fréquents).

Il faut ajouter que le langage de programmation intégré à Windev est moins évolué qu’un L4G. En pratique, le nombre d’événements dans le W-Langage est beaucoup plus réduit que dans Visual Basic.

J’ai profondément apprécié le principe de l’Atelier de Génie Logiciel, que je ne connaissais, avant cette expérience dans l’entreprise ABC informatique, que de concept.

Le principal enseignement que j’ai retiré de ce stage est que le développement AGL est de loin le plus adapté pour la conception d’applications d’informatique de gestion, car il contribue à la fois à la qualité de l’application (cohérence des données, homogénéité de l’interface….) et à la rapidité du développement.

Notre application a donné entière satisfaction à notre maître de stage et il envisage de nous confier la réalisation d’un module de cartographie pouvant être utilisé pour la constitution des collectes, mais également pour d’autres applications.

Apport d’un AGL dans le développement d’un logiciel de gestion

Goulven FURET

20