Niveau de complexité d’un projet.
Tout projet inclut le modèle de base de l’évolution représenté dans TF(B) par : (U’) mether U”.
Mether intègre tous les algorithmes, de toutes les tâches que l’on peut imaginer. Toutes celles que l’on pourra découvrir en sont membre actif ou non actif selon le cas d’application de mether. Tous les modèles d’algorithmes le sont également.
L’algorithme. Algorithme, du nom du mathématicien arabe al-Khuwarizmi qui publia deux livres importants : l’un sur l’arithmétique et l’autre sur « l’action de faire passer et d’agencer les parties d’un tout » (titre original : Kitab al-jabr wal muqabala). Trois siècles plus tard, le livre, traduit en latin, porta le nom Algorismus. © 1993-2003 Microsoft Corporation. Tous droits réservés.
« l’action de faire passer et d’agencer les parties d’un tout », exprime ce qui se passe pour mether, à cela près que les parties sont des actions. Il faut souligner que le procédé est l’inverse de la méthode de Descartes.
La mathématicien Russe Markov lui donnera une définition pratique : « Tout ensemble de règles précises qui définit un procédé de calcul destiné à obtenir un résultat déterminé à partir de certaines données initiales .» © 1993-2003 Microsoft Corporation. Tous droits réservés.
On peut retirer les termes “de calcul” pour lui donner un sens général. La règle sera toujours de la forme : à partir des éléments U’ former l’élément U”. Elle exprime le comment de cette formation. On peut résumer : une méthode est essentiellement composée d’un ou de plusieurs algorithmes s’exécutant en série (chaînés) ou s’exécutant en parallèle.
Notons : IBM inventa le JCL ou Job Control Language. Il permettait au programmeur d’avoir la vision et le contrôle de l’enchaînement de travaux (Jobs). Avec l’Informatique visuelle actuelle, on peut lancer plusieurs tâches en même temps et voir le système se bloquer, sans que l’on puisse “corriger”. Cela produit une technologie dont les pannes nécessitent d’avoir un spécialiste sous la main. Un système de développement coûteux et de plus en plus inefficace en raison de sa haute technicité et qui asservit de plus en plus l’humain aux machines.
Décomposer un travail et y reconnaître les algorithmes qui le composent permet de le classer par un niveau de complexité.
Classement par attributs de dimensions.
L’informatique est la transposition électronique de la réalité. Certains acquis font définitivement référence.
Lorsque l’on devait soumettre un travail à l’ordinateur, le programmeur disposait de 640 mille bytes et de tranches de temps calculées en millisecondes. Les 640 mille bytes sont restés dans les PC d’origine lancés par IBM.
La tâche sera composée de plusieurs opérations. Elles sont l’équivalent de celles comprises dans la gamme de fabrication en milieu industriel. L’opération est l’équivalent de l’instruction d’un programme.
Au cours des années 70, IBM avait établi qu’un bon programmeur devait pouvoir écrire environ 7 instructions exactes par heure. L’instruction pouvait être de niveau langage Assembleur ou de niveau langage évolué. Par exemple un sous-gramme qui ne demande qu’une ligne d’écriture peut se considérer comme une seule instruction. Il faut être attentif à la bonne écriture du nom et des arguments, au bon passage des valeurs des arguments. Cela ne demande pas plus de temps que pour la bonne écriture d’une instruction. Selon la taille de l’instruction en langage évolué on comptera une, deux ou trois instructions Assembleur. J’ai pu vérifier cela en 1963 sur un programme écrit en Assembleur. Il en sera de même sur des programmes écrits en Fortran.
Dans cet esprit une tâche humaine doit se réaliser en quelques heures. Ne jamais dépasser les 6 heures dans une journée. La fatigue du sujet joue sur la précision et l’exactitude de l’action, elle limite de ce fait le temps actif. Elle doit également se réaliser dans l’espace de travail d’un établi ou d’un bureau ou face à une machine outil fixe. Ne pas imposer le déplacement de l’exécutant pendant la durée de la tâche.
Une tâche ne doit jamais s’interrompre et le JCL ne prévoyait jamais ce cas qui est venu avec la micro informatique.
Pour illustrer cela, signalons les voitures montées le Lundi matin sur les chaînes de fabrication des constructeurs automobiles. Elles présentent une probabilité de défaut la plus élevée. La machine humaine nécessite aussi un temps de mise en route, l’interrompre c’est l’obliger à réamorcer l’énergie de démarrage. Il est plus économique de laisser tourner une machine, que de l’arrêter et la redémarrer de nouveau, pour économiser l’énergie pendant les temps de pause. Ce sont des idées générales qui nécessitent des études en profondeur.
Classement par nombre de tâches.
Les données précédentes donnent un moyen de découpage d’un travail. On le code par un symbole approprié.
Tj : La tâche est unique. Elle doit comprendre un maximum de 60 actions réalisables en moins de 8 heures, temps de pause inclus.
Ts : La tâche est faite de cinq Tj. Elle est réalisable dans une semaine ouvrée composée de 5 jours.
Tm : La tâche est composé de 4 Ts. Elle est réalisable en un mois ouvré : 4 semaines plus deux jours.
Ces niveaux de regroupement permettent à l’exécutant d’être à la fois réalisateur et vérificateur de son travail. Un niveau plus complexe nécessite des postes de vérifications. Ils constituent un travail en soi.
Tv : Travail de vérification, sa durée ne devrait pas dépasser le dixième du temps de réalisation du travail dont on doit vérifier le produit obtenu.
Tc : Travail de coordination. De fait c’est un Tv qui vérifie le bon enchaînement de divers travaux Tm. Ici également cela ne doit pas dépasser le dixième du temps attribué à l’ensemble ( Tm) à coordonner.
Lorsqu’il y a multiplicité de travaux par exemple (Tj), (Ts), (Tm), (Tv), (Tc) le symbole est suivi d’un numéro.
Cela conduit à l’architecture suivante : niveproj.gif

Dans le schéma ci-dessus nous avons trois plans qui opèrent en parallèle : P0, P1, P2.
- P0 contrôle ce qui se fait sur P1 et P2.
- P1 prépare des produits qui serviront à P2
- P2 élabore un produit final objet de la totalité du travail.
Dans chaque plan n’apparaîtront que des tâches de type Tj, Ts, Tm.
Cela donne un tableau des temps de début et de fin de chaque tâche. Simple vue schématique.
|
t0 |
t1 |
t2 |
t3 |
t4 |
t5 |
t6 |
t7 |
P0 |
|
|
|
Tv01 |
|
|
|
Tv02 |
P1 |
|
Tj01 |
Tj02 |
Tj03 |
Tj04 |
|
|
|
P2 |
Tj01 |
Ts01 |
Tj02 |
Ts02 |
|
Tj03 |
Ts03 |
|