< Retour au sommaire de l’arbre programmatique <

 

L’arbre programmatique

 

 

 

Le sommaire :

  1. Présentation.
  2. L’enveloppe.
  3. Les feuilles.
  4. Appliquons l’arbre programmatique à notre projet « factures ».

 

 

Présentation

 

 

 

Cette nouvelle étape nécessite une certaine concentration de votre part, car maintenant, nous allons associer les étapes précédentes à la construction de la structure de l’application «elle-même.

 

J’ai presque envie de vous dire que nous arrivons à un maillon de la chaîne plutôt difficile, mais je ne le vous dirai pas…

 

L’application est un ensemble de codes de programmation qui s’enchaîne, mais pas n’importe comment ! En effet, ces différents morceaux ne s’enchaînent pas consécutivement, bêtement de façon linéaire, car des évènements de nature diverses ou des décisions venant de l’utilisateur vont interférés sur le déroulement de l’application, en orientant l’exécution du programme sur une destination plutôt que sur une autre. Ces destinations peuvent être l’exécution de morceaux d’application, des paragraphes en quelle que sorte, ou l’affichage d’écrans…

Ce sont des traitements ; et les traitements, sont de type « procédure » s’ils ne retournent aucune valeur, et ils  sont de type « fonction »  au contraire, s’ils retournent une valeur.

 

-         Par exemple, l’affichage d’une image à l’écran peut être une procédure, une procédure qui fait sont travail d’affichage point barre.

 

-         Le calcul d’un montant TTC peut être une fonction, une fonction qui retourne un résultat, le TTC.

 

Les morceaux de l’application sont donc des traitements de types procédure ou fonction.

Ces procédures et fonctions sont exécutées lorsqu’elles sont appelées par leur nom à l’intérieur du programme et selon une syntaxe précise.

 

Au départ de l’application, nous avons un noyau du programme qui prend systématiquement la main et qui exécute du code quoi qu’il arrive.

C’est un peu le traitement d’initialisation de l’application, et il s’agit bien souvent d’un menu principal.

Ensuite, selon les évènements qui surviennent durant l’exécution de l’application, des procédures et des fonctions seront exécutées…

Pour choisir « une procédure plutôt qu’une autre », ou « une fonction plutôt qu’une autre », le programme offre des commandes dans son interface utilisateurs donc dans les fenêtres affichées à l’écran, C’est donc parfois l’utilisateur qui va orienter l’exécution, mais aussi selon des évènements qui seront traités par des embranchements conditionnels.

Par exemple :

-         Si résultat de TTC inférieur à 1000, Alors

Afficher « tout va mal ! »,

-         Sinon

Afficher « tout va bien madame la marquise… »

 

Remarque :

On trouve rarement ce genre d’application…

 

Bon, l’arbre programmatique va nous permettre d’exprimer tout ce blabla !

L’analyse, à ce stade de notre travail, se divise en 2 parties, « l’enveloppe » et « les feuilles », et ces 2 parties réunies donnent l’arbre programmatique…

 


L’enveloppe

 

- L’enveloppe, c’est le niveau de l’application où les conditions sont posées.

Ce sont des traitements qui sont encore à développer, car l’orientation de l’exécution n’est pas achevée. A chaque fois qu’un traitement mérite d’être encore développé, on descend d’un niveau à l’intérieure de la hiérarchie de l’enveloppe.

  On commence le premier niveau de développement de l’application au niveau 0, puis on développe les traitements si nécessaire au niveau 1, puis si nécessaire encore, au niveau 2 etc.

 

A titre d’exemple, voici la mini analyse d’une mini application qui demande à l’utilisateur de saisir un login et un mot de passe dans le cadre de la création d’un mini compte.

   Nous avons un premier écran, « écran 1 », qui affiche un formulaire avec 2 champs de saisie, « Login » et « Mot de passe ».

Associés à cet écran, 2 boutons, « Suivant» et « Annuler ».

Si l’utilisateur valide le bouton « Annuler », l’application est fermée, quant au bouton « Suivant», il affiche un nouvel écran, « écran 2 », qui lui, affichera un formulaire de saisie afin d’obtenir plus amples informations concernant l’identité de l’utilisateur,

« Nom », « prénom » et « age ».

L’ « écran 2 » affiche également 2 boutons, « Annuler » et « s’enregistrer ».

Si l’utilisateur valide le bouton « Annuler », l’application redonne la main à « écran 1 », sinon, dans le cas de la validation du bouton « s’Enregistrer », un traitement de vérification de validité des données est exécuté.

Si les données sont valides, l’utilisateur est enregistré dans la table « utilisateurs « et un message de succès est affiché, c’est Écran3. Sinon, un message d’erreur est affiché, donc Écran 4, puis l’application redonne la main à « écran 2 ».

 

La base de données :

Recensement des données :

« Login », « Mot de passe », « Nom », « Prénom » et « age ».

 

Création de l’unique table de notre mini base de données :

« NumUtilisateur », champ de type entier, clef primaire et unique en auto incrémentation.

« login », champ de type alphanumérique, 25 caractères.

« MotDePasse », champ de type alphanumérique, 25 caractères.

« nom », champ de type texte, 25 caractères.

« prénom », champ de type texte, 25 caractères.

« age », champ de type entier, 2 caractères.

 

Ici, pas de relation puisqu’il n’y a qu’une seule table !

 

L’analyse organique

 

Description de « l’écran 1 ».

Titre : « Création d’un compte utilisateur ».

Contenu :

« login » : champ texte de 25 caractères.

« Mot de passe » : champ texte de 25 caractères, données masquée à l’écran.

Bouton : « Annuler ».

Bouton : « Suivant ».

 

Voir l’écran 1 de notre mini analyse >>

 

Description de « l’écran 2 ».

Titre : « Enregistrement de l’identité ».

Contenu :

« Nom » : champ de type texte, 25 caractères.

« Prénom » : champ de type texte, 25 caractères.

« Age » : champ de type entier, 2 caractères.

Bouton : « Annuler ».

Bouton « s’Enregistrer ».

 

Voir l’écran 2 de notre mini analyse >>

 

Description de l'Écran 3.

Titre : « Bravo ! ».

Message : « Félicitation, vous êtes enregistrés, merci de votre visite… »

Bouton : « Ok ».

 

Voir l’écran 3 de notre mini analyse >>

 

Description de l'Écran 4.

Titre : « Erreur ! ».

Message : « Des données non valides ont été saisies, vous devez recommencer, bien fait. »

Bouton : « Ok ».

 

Voir l’écran 4 de notre mini analyse >>

 

L’enchaînement des écrans :

 

Écran 1.

Bouton « Annuler » > Fermer l’application.

Bouton « Suivant » > Écran 2.

 

Écran 2.

Bouton « Annuler » > Écran 1.

Bouton « s’enregistrer » > traitement Vérifier-Coordonnées.

 

Traitement Vérifier-coordonnées.

Si les champs de saisie sont valide, Alors

Traitement Enregistrement-ok,

Sinon

Traitement Enregistrement-pas-ok.

 

Traitement Enregistrement-Ok.

Enregistrer le nouveau compte dans la table « utilisateurs ».

Afficher Écran 3.

Fermer l’application.

 

Traitement Enregistrement-pas-ok.

Afficher Écran 4.

Revenir à Écran 1.

 

L’arbre programmatique

 

L’enveloppe :

 

Niveau 0

 

Accueil :

Faire Menu-Accueil

Si choix de l’utilisateur égal « Annuler » Alors

 Fermer l’application

Sinon

Faire Suite-Saisie

Fin du si.

 

Niveau 1

 

Suite-Saisie :

Faire Formulaire-Coordonnées

Si choix de l’utilisateur égal « s’enregistrer » Alors

Faire Vérification-Données

Sinon

Ne rien faire

Fin du si.

 

Niveau 2

 

Vérification-Données :

Si Tous les champs texte différents de chaîne vide, et champ « Age » supérieur à 0 Alors

Faire  Enregistrement-ok

Sinon

Faire Enregistrement-pas-ok

Fin du si.

 

Fin de l’enveloppe…

Tous les traitements qui ont été successivement développés dans les différents niveaux de l’enveloppe exécutent maintenant des traitements qui ne sont plus conditionnels, ces traitements peuvent donc être écris dans la deuxième partie de l’arbre programmatique, « les feuilles ».

 


Les feuilles :

 

Menu-Accueil :

Afficher Écran 1.

 

Formulaire-Coordonnées :

Afficher Écran 2.

 

Enregistrement-ok :

Enregistrer les données dans la table « Utilisateurs »

Afficher Écran 3

Fermer l’application.

 

Enregistrement-pas-ok :

Afficher Écran 4

Faire Menu-Accueil.

 

Fin des feuilles…

 

L’arbre programmatique se divise donc en 2 parties, « l’enveloppe » et « les feuilles ».

Dans l’enveloppe, on commence au niveau 0, le traitement « initialisation de l’application ».

Dans notre exemple, ce traitement était « Accueil ».

Après avoir écrit le nom du traitement suivi du signe « 2 points », on développe le contenu du traitement.

Le contenu du développement intègre les conditions d’exécution et donne naissance à d’autres traitements. Si les traitements nouveau-nés font l’objet d’autres conditions d’exécution, nous devront développer ces traitements en question dans un nouveau niveau de l’enveloppe. Cependant, quand des traitements ne contiennent aucune structure conditionnelle, ils doivent être développés dans la partie « Feuilles » de l’arbre programmatique…

 

Dans l’étape de codage de l’arbre programmatique dans un langage de programmation, les traitements deviendront tous des procédures et des fonctions…

 

 


Appliquons l’arbre programmatique à notre application « factures ».

 

 

 

Nous pouvons sans trop nous encombrer de blabla, appliquer cette nouvelle étape d’analyse à notre application « clients-factures », vous êtes ok ?

Feu !

 

L’enveloppe

 

Niveau 0

 

Accueil :

 

Faire

Menu-principal

Jusqu’à ce que choix utilisateur égal « Quitter ».

 

Niveau 1

 

Menu-principal :

 

Afficher Écran1.

Selon si choix utilisateur

Egal « Créer une facture », faire Nouvelle-facture

égal « créer un nouveau client », faire Nouveau-client

 égal « Modifier un client », faire Modifier-client

 égal « Supprimer un client », faire Supprimer-client

Fin du selon.

 

Niveau 2

 

Nouvelle-facture :

 

Afficher Écran 2

Si choix utilisateur égal « Enregistrer » alors

 Faire Enregistrer-facture

Sinon

 Ne rien faire

Fin du si.

 

Nouveau-client :

 

Afficher Écran 3

Si choix utilisateur égal « Enregistrer » Alors

Faire Vérification_Client

Sinon

Ne rien faire

Fin du si.

 

Modifier-client :

 

Afficher Écran 4

Si choix utilisateur égal « Modifier » Alors

Faire Vérification-MAJ-client

Sinon

Ne rien faire

Fin du si.

 

Supprimer-client :

 

Afficher Écran 5

Si choix utilisateur égal « Supprimer » Alors

Faire Suppression_Client-ok

Sinon

Ne rien faire

Fin du Si.

 

Niveau 3

 

Vérification-client :

 

Si les données sont valides Alors

Faire Enregistrer-client

Sinon

Ne rien faire

Fin du si.

 

Vérification-MAJ-client :

 

Si les données sont valides Alors

Faire Mise-à-jour-client

Sinon

Ne rien faire

Fin du si.

 

Les feuilles

 

Enregistrer-facture :

 

Enregistrer les données de la facture dans les tables « Factures » et « DétailsFactures »

 Imprimer la facture

 

Enregistrer-client :

 

Enregistrer les données dans table « Clients »

 

Mise-à-jour-client :

 

Enregistrer les données dans table « Clients »

quand Cllients.NumClient égal Écran4.NumClient

 

Suppression-Client-ok :

 

Supprimer enregistrement dans table « Clients »

Quand Clients.NumClient égal Écran5.NumClient

 

Fin de l’arbre programmatique…

 

Philippe BOULANGER

 

< Retour au sommaire de l’arbre programmatique <