Roger Sessions poste quelques articles intéressants, même si je ne suis souvent pas d'accord avec ses prises de position. Récemment, j'ai reçu par sa "mailing list" un renvoi sur sa méthodologie SIP. Cet article est intéressant car il traite de la complexité du SI et de l'architecture comme moyen de maîtrise de cette complexité.
Roger donne la définition de la complexité d'un système comme étant le nombre total d'état que peut prendre un système. Ma vision de la complexité est proche mais différente et sera exposée dans un futur billet.
Néanmoins, ce qui est intéressant est l'explication basée sur des fondements mathématiques pourquoi sa méthodologie SIP (pour Simple Iterative Partioning) est un moyen de réduire cette complexité. Mais en fait ce qui est amusant est que son explication est fausse.
En effet, le nombre d'état total de 2 sous-systèmes indépendants n'est pas la somme de 2 sous-systèmes, mais bien le produit. Par exemple: soit 2 dés à jouer. Chaque dé peut être dans un de ses 6 états. Le nombre total d'états est de 36 et non pas 12.
La complexité du système total n'a pas changé : que j'ai 2 dés ou un dé à 36 faces, le problème est le même. Par contre, le fait de savoir partitionner en 2 entités indépendantes permet une meilleure maîtrise de cette complexité, car il permet de réfléchir sur un sous-domaine autonome.
Toute la difficulté est le découpage en entités indépendantes... Ce que propose Roger est un partitionnement sur la dépendance réflexive entre fonctions. Le risque que je vois est l'oubli assez facile des données dans ce périmètre qui peut mener à un partitionnement différent.
Aucun commentaire:
Enregistrer un commentaire