1. Le projet de construction d’une borne interactive
2. Le mode saisie
et les plans d’action
1. Le projet de construction
d’une borne interactive
Programmons un exemple en utilisant les principes d’élaboration d’une interface par plans d’action.
Nous sommes l’I.N.S., un institut
d’enquêtes et de sondages au service de clients qui nous commandent
des enquêtes de données chiffrées que nous exploiterons
ultérieurement. Le travail ci-dessous peut être réalisé
en environ 500 lignes de Delphi. Il peut être réalisé
par un seul programmeur (temps de programmation 50h environ) ou avec une équipe
de trois étudiants à qui l’on confiera des activités
différentes.
Le client, une organisation de lutte contre le tabagisme, nous a commandé une enquête sur le public des fumeurs de cigarettes dont l’âge est compris entre 10 ans et 120 ans. Il désire obtenir un fichier de données recueillies auprès du public des deux sexes. Pour chaque personne interrogée nous devons stocker dans notre fichier :
Le client veut en même temps
faire œuvre de pédagogie auprès des individus fumeurs sondés.
Il souhaite que le sondé puisse se situer dans une fourchette de pourcentages
de consommation sur toute la population des personnes déjà
sondées. D’autre part le client dispose de tables de mortalité
dont il a extrait des formules permettant d’évaluer le risque de cancer
du poumon ou du larynx en fonction du sexe, de l’âge, de la durée
du tabagisme et du nombre de cigarettes fumées par jour. Le client
espère ainsi faire prendre conscience du risque accru d’apparition
d’un cancer en cas de tabagisme prolongé.
1.2 Aspect général d’un prototype
Delphi.Interfaces\Fumeur.dlfi\InterfaceEnquete.enonce
Delphi.Interfaces\Fumeur.dlfi\ InterfaceEnquete.dev
Notre équipe de développement
a réfléchi au problème et a décidé que
nous construirions un prototype de borne interactive :
1.3 Partition de l’interface en zones d’action
Actuellement tous les plans d’action sont visibles. Nous proposons de diviser l’interface en plusieurs zones d’action différentes.
Cinq zones de saisies de l’information
Aspect de la zone-2 :
Aspect de la zone-3 :
Aspect de la zone-4 :
Aspect de la zone-5 :
Deux zones de résultats consultables
Aspect de la zone-7 :
Une zone d’affichage de résultats
zone-8 d’affichage des pourcentages de répartition
Aspect de la zone-8 :
1.4 Le mode attente utilisateur
A ce stade, le sondé peut
soit entrer ses données personnelles, et il entre dans le séquencement
des plans d’action que nous allons voir ensuite, soit consulter les zones
6 et 7.
Le sondé peut clicker sur
une donnée de la liste comme ci dessous. Les deux zones 5 et 7 sont
immédiatement informées par les données sélectionnées
dans la liste.
Graphe événementiel
de la zone-6
Table des états initiaux : |
L’objet " liste " est implanté par l’objet visuel ListBoxReponses de la classe des TListBox.
Aspect visuel d’une consultation
:
|
¯ Information dans zone-5 |
¯ information dans zone-7 |
L’utilisateur peut alors consulter
les différents pourcentages de risques associés à cette
configuration en sélectionnant dans la zone-7 le risque à un
an, à deux ans etc... L’affichage se fait visuellement d’une façon
chiffrée et d’une façon imagée.
Risque à 2 ans :
|
Risque à 10 ans
: |
2. Le mode saisie et les
plans d’action
Ce mode est dans le graphe événementiel
le chemin produisant le plus grand nombre de lignes de code. C’est pourquoi
il fait l’objet d’une étude à part.
2.1 Graphe général des plans d’action
Pour les zones de saisie 2 et 3 où nous demandons à l’utilisateur d’entrer un nombre, nous avons choisi la saisie dirigée par la syntaxe. Un nombre est décrit par les diagrammes syntaxiques suivants :
Opérateur t3 dont
nous avons déjà spécifié une implantation :
Le bouton " Ok " permet de passer
au plan d’action suivant.
2.2 Graphe événementiel de la zone-1
Table des états initiaux
:
zone-1 activé Homme désactivé Femme désactivé Zone-2 désactivé |
Les objets " homme " et " femme " sont implantés par les objets visuels de RadioButtonHomme et RadioButtonFemme de la classe des TRadioButton.
2.3 Graphe événementiel de la zone-2
Table des états initiaux
:
zone-2 activé
chiffre activé effacer désactivé Ok désactivé Zone-3 désactivé |
zone-2 avant saisie
à |
zone-2 pendant saisie
|
2.4 Graphe événementiel de la zone-3
zone-3 avant saisie
à |
zone-3 pendant saisie
|
2.5 Graphe événementiel
de la zone-4
zone-4 activé
Ok désactivé afficher désactivé Zone-5 désactivé Zone-6 désactivé |
Aspect visuel du quatrième plan d’action :
zone-4 avant saisie
à |
zone-4 pendant saisie
|
2.6 Graphe événementiel
de la zone-5
zone-6 activé
votre âge activé vous fumez activé cigarette/j activé Zone-2 désactivé Zone-3 désactivé Zone-4 désactivé |
Le bouton de validation de
la zone-6 est activé.
zone-6 avant saisie
à |
zone-6 après saisie
|
Fin du séquencement
des plans d’action : l’interface est remise à l’état initial.
Ce qui reste à décrire
dans notre logiciel figure à des fins pédagogiques afin que
le lecteur puisse voir que la notion de séquencement de plan d’action
ne se limite pas à l’utilisation des seuls objets visuels que sont
les boutons. La liaison est faite entre une autre fiche de dialogue permettant
de saisir un mot de passe et l’activation-désactivation de zones de
menu.
Remarque L’utilisateur clique sur la zone surlignée. |
procedure TForm1.Motdepasse1Click(Sender:
TObject); {le menu affiche une fiche de saisie du mot de passe dans UFmotPasse} begin MotdePass.Showmodal; end; |
|
|
Si le mot de passe est valide, la fiche " MotdePass " se ferme et informe le menu " INS " en désactivant une zone (la zone mot de passe) et en activant les deux qui étaient inactivées au départ.
Remarque le séquencement d’action est assuré aussi de cette façon. |