| André Leclerc | informaticien-conseil |
|---|
Cette page propose une méthodologie simple pour spécifier la logique contenue dans les composants métier d’un système d’information.
Cette méthodologie est basée sur quelques concepts de modélisation d’affaires qui devraient être lus avant de continuer la lecture de cette page-ci.
Comme le but principal de cette méthodologie est de de spécifier la logique métier mise en oeuvre par une méthode d’un composant métier, et comme les méthodes sont un des artefacts d’un modèle de domaine d’affaires d’un système d’information, ces artefacts de modélisation d’affaires devraient aussi être lus avant de continuer la lecture de cette page-ci.
| But |
|---|
|
Le but principal de cette méthodologie est de spécifier la logique métier de manière à ce qu’elle soit comprise autant par les gens d’affaires qui utilisent les systèmes d’information que par les informaticiens qui les construisent. Même si le pseudo code n’est pas le seul moyen d’atteindre ce but, il est le moyen de choix qui est décrit ici étant donné sa grande utilisation et son haut niveau de compréhension parmi ses utilisateurs. Le pseudo code est aussi connu sous le vocable de français structuré puisqu’il est basé sur un sous-ensemble très simple de la langue française. La logique exprimée en pseudo code est non seulement claire mais aussi complète. La traduction de bon pseudo code en vrai code (celui que les programmeurs d’ordinateurs produisent) est une tâche qui peut être automatisée en grande partie. |
| Retour à la page d’accueil | Retour au matériel documentaire | Retour au haut de cette page |
| Vocabulaire |
|---|
|
Parce qu’il doit décrire une logique d’affaires, tout pseudo code devrait être formulé en utilisant un vocabulaire emprunté au domaine d’affaires plutôt qu’à la technologie de l’information. Par exemple, “Obtenez la prochaine ligne d’article qui fait partie de la commande.” est une bonne formulation d’une action à l’intérieur de pseudo code puisqu’elle utilise des termes connus des gens d’affaires. Toutefois, “Augmentez de un le numéro de ligne d’article courante et lisez l’enregistrement de la ligne d’article de commande correspondant au nouveau numéro de ligne d’article courante.” n’en est pas une car les termes utilisés n’ont de signification que pour les techniciens qui auront à développer et à mettre en oeuvre la logique. |
| Retour à la page d’accueil | Retour au matériel documentaire | Retour au haut de cette page |
| Formes de programmation |
|---|
|
Seulement trois (3) formes générales de programmation sont requises pour spécifier le flux de contrôle à l’intérieur de pseudo code:
La forme sélective se décompose en deux (2) formes plus raffinées:
La forme itérative se décompose en trois (3) formes plus raffinées:
En comptant la forme “séquentielle”, les deux formes “sélectives” et les trois formes “itératives”, six (6) formes de base de programmation sont disponibles pour spécifier le flux de contrôle à l’intérieur de pseudo code. Chacune de ces formes peut être imbriquée à l’intérieur de n’importe quelle autre forme. À part des mots clé et des symboles bien choisis, le pseudo code ne suit pas de notation rigoureuse puisqu’il est fait pour être lu et compris par des personnes et non pas par des ordinateurs. La méthodologie présentée dans ce document ne constitue pas une norme universelle. Une telle norme universelle pour le pseudo code n’existe tout simplement pas. Cependant, la méthodologie présentée ici, pour spécifier de la logique sous forme de pseudo code, a prouvé son utilité lors de multiples projets et est facile à apprendre et à utiliser. |
| Retour à la page d’accueil | Retour au matériel documentaire | Retour au haut de cette page |
| 1) Formes séquentielles |
|---|
|
Une forme séquentielle est spécifiée en écrivant les actions les unes après les autres, chaque action étant sur une ligne par elle-même, et toutes les actions étant alignées avec le même décalage à partir de la marge de gauche. Les actions sont exécutées suivant l’ordre (de haut en bas) dans lequel elles sont écrites. Voici un exemple d’une série séquentielle d’actions:
Brosser dents.
Laver visage. Peigner cheveux. Sourire au miroir. |
| 2) Formes sélectives “Si ... Sinon” |
|---|
|
Le choix d’une série d’actions au lieu d’une autre, selon l’existence ou l’inexistence d’un état, est spécifié comme suit:
si ( état à vérifier ) {
série d’actions } sinon { une autre série d’actions } Dans la syntaxe ci-dessus, les mots clé “si” et “sinon” marquent le commencement des deux clauses de cette forme. La clause “sinon” est facultative. L’état dont l’existence est à vérifier est spécifié à l’intérieur de parenthèses. Les deux séries d’actions alternatives sont en fait deux séries séquentielles (la première forme de base décrite plus haut) et distinctes déactions, chacune étant encadrée par une paire de parenthèses bouclées assorties. Voici un exemple d’une forme sélective “si ... sinon”:
si ( heures travaillées > nombre d’heures régulières ) {
calculer heures de surtemps afficher message de surtemps } sinon { afficher message de temps réglementaire } |
| 3) Formes sélectives “Selon” |
|---|
|
Le choix d’une série d’actions parmi plusieurs séries potentielles, selon la valeur de données retournée par une expression, est indiqué comme suit:
selon ( expression à évaluer ) {
cas première valeur: première série d’actions cas deuxième valeur: deuxième série d’actions défaut: série d’actions par défaut } Dans la syntaxe ci-dessus, les mots clé “cas” et “défaut” marquent le commencement de séries d’actions alternatives correspondant à différentes valeurs que l’expression à évaluer peut prendre. Il n’y a pas de limite au nombre de clauses “cas” pouvant être spécifiées et la clause “défaut” est facultative. L’ordre dans lequel ces clauses sont spécifiées est important car seulement la première clause ayant la bonne valeur obtient le contrôle; toute clause subséquente, qu’elle ait la bonne valeur ou pas, est ignorée. Le mot clé “selon” marque le commencement d’une série de cas se référant à la même expression. L’expression à évaluer apparaît entre parenthèses. Voici un exemple d’une forme sélective “selon”:
selon ( âge du client ) {
cas 65 ans ou plus: charger 2,50 $ cas 18 ans ou plus: charger 5,00 $ défaut: charger 2,00 $ } |
| 4) Formes itératives “Pour” |
|---|
|
L’exécution d’un groupe d’actions apparentées un certain nombre de fois est spécifiée comme suit:
pour ( expression d’itération ) {
série d’actions } Dans la syntaxe ci-dessus, le mot clé “pour” marque le commencement d’une série d’actions à exécuter itérativement un certain nombre de fois tel qu’indiqué par l’expression d’itération. Cette forme de programmation est souvent appelée une boucle de “comptage”. L’expression d’itération apparaissant à l’intérieur des parenthèses détermine le nombre exact de fois que les actions listées à l’intérieur de la boucle vont s’exécuter. Voici un exemple d’une forme itérative “pour”:
pour ( chaque mois de l’année financière ) {
calculer les revenus totaux calculer les dépenses totales calculer les profits ou pertes afficher les profits ou pertes } |
| 5) Formes itératives “Tant que” |
|---|
|
L’exécution d’un groupe d’actions apparentées aussi longtemps qu’un certain état existe est spécifiée comme suit:
tant que ( état à vérifier ) {
série d’actions } Dans la syntaxe ci-dessus, les mots clé “tant que” marquent le commencement d’une série d’actions à exécuter itérativement tant que l’état à vérifier existe. L’existence du dit état est testée avant qu’aucune action ne s’exécute à l’intérieur d’une itération. La série d’actions est exécutée jusqu’à ce que l’état à vérifier n’existe plus. L’état à vérifier est spécifié à l’intérieur de parenthèses. Voici un exemple d’une forme itérative “tant que”:
chercher la première transaction impliquant la caisse
si ( pas trouvée ) quitter lire détails de la transaction initialiser le solde du compte de la caisse à zéro tant que ( transaction trouvée ) { si ( la transaction débite la caisse ) ajouter le montant de la transaction au solde de la caisse sinon soustraire le montant de la transaction du solde de la caisse chercher la prochaine transaction impliquant la caisse si ( trouvée ) lire détails de la transaction } afficher le solde du compte de la caisse |
| 6) Formes itératives “Faire ... jusqu’à” |
|---|
|
L’exécution d’un groupe d’actions apparentées jusqu’à ce que un certain état se produise est spécifiée comme suit:
faire {
série d’actions } jusqu’à ( état à vérifier ) Dans la syntaxe ci-dessus, le mot clé “faire” marque le commencement d’une série d’actions à exécuter itérativement jusqu’à ce que l’état à vérifier existe. La série d’actions est exécutée au moins une fois étant donné que l’état n’est vérifié qu’après une itération. La série d’actions est exécutée jusqu’à ce que l’état à vérifier existe. L’état à vérifier est spécifié à l’intérieur de parenthèses. Voici un exemple d’une forme itérative “faire ... jusqu’à”:
initialiser le solde du compte de la caisse à zéro
se positionner en haut des transactions faire { chercher la prochaine transaction impliquant la caisse si ( trouvée ) { lire détails de la transaction si ( la transaction débite la caisse ) ajouter le montant de la transaction au solde de la caisse sinon soustraire le montant de la transaction du solde de la caisse } } jusqu’à ( transaction pas trouvée ) afficher le solde du compte de la caisse |
| Retour à la page d’accueil | Retour au matériel documentaire | Retour au haut de cette page |
Les six (6) formes de base de programmation décrites sur les pages précédentes permettent la spécification de n’importe quel ensemble d’opérations logiques, que ces opérations soient des opérations d’une entreprise, d’une application roulant sur ordinateur ou d’un périphérique programmable Ces opérations s’exécutent via les méthodes dans lesquelles elles sont groupées. Les composants métier d’un système d’information possèdent des méthodes mettant en oeuvre leurs comportements et leur permettant de prendre leurs parts de responsabilités lors de cas d’utilisation du système d’information. La logique de ces méthodes peut être spécifiée avec du pseudo code. En spécifiant la logique de ces méthodes, on rencontre toujours des parcelles de pseudo code qui réapparaissent plusieurs fois à l’intérieur d’une même méthode ou à l’intérieur de plusieurs méthodes. Ces ensembles de pseudo code commun peuvent être spécifiés une seule fois dans des méthodes qui leur sont propres, lesquelles méthodes peuvent être invoquées à partir de n’importe quelle autre méthode en ayant besoin. La boîte ci-bas montre une façon de déclarer et d’invoquer des méthodes, de passer des paramètres à ces méthodes, et de retourner des valeurs des méthodes invoquées aux méthodes les invoquant:
Une fois déclaré, le nom d’une méthode devient un mot clé devant être mis en évidence comme les autres mots clé. D’autres mots clé peuvent être ajoutés aux mots clé rencontrés jusqu’ici s’ils peuvent contribuer à clarifier la logique spécifiée par le pseudo code. Par exemple:
Voici quelques lignes directrices à garder en tête lorsqu’on écrit du pseudo code:
| Retour à la page d’accueil | Retour au matériel documentaire | Retour au haut de cette page |