MODULE No 25.1

Titre : État malade

But : Montrer comment les états des parties influencent l’état du tout

Antécédents : Module 25

Corps :

S’il y a un état que nous tous connaissons, c’est bien l’état de santé. Voici un diagramme conceptuel pour représenter une famille (dans la culture québécoise et non la famille élargie de type africain). Une famille est constituée de membres qui sont des individus. Il y a deux types de membres : les parents et les enfants.

Un individu peut être malade. Imaginons d’introduire deux états pour individu : sain et malade. Il est évident que les deux états ont bien de raisons d’être (surtout pour une application médicale !). Mais, est-ce que les enfants et les parents héritent l’état de santé que les membres peuvent avoir ? Bien sûr que oui, puisqu’une spécialisation peut restreindre les valeurs d’attribut ou ajouter d’autres attributs mais elle ne doit (devrait) pas en enlever. NOTE J’ai fait l’hypothèse que l’état est décrit pas un attribut de la classe Individu. Hypothèse qui n’est pas fort audacieuse ! FIN DE LA NOTE.

Est-ce que la famille est malade, si un membre est malade ? Certainement pas si on emploie le langage de tous les jours. Est-ce que la famille change d’état quand l’un des ses membres change d’état ? « En théorie » oui, en pratique ça dépend (ce « ça dépend » est un peu le leitmotiv de notre cours !).

Si on veut que les états servent à quelque chose dans une SEL, il faut que l’état (et surtout le diagramme qui montre les changements d’état) soit utile pour éclaircir les idées et favoriser le travail des concepteurs et des programmeurs.

Comme première chose il faut trouver des noms pour  les états. Donc trouver un nom qui indique qu’un membre est malade. Exemple de nom : Un_Membre_Est_Malade et l’autre état (il en faut au moins deux) pourrait être Aucun_Membre_Malade. Le passage d’un état à l’autre est évident mais, est-il d’une utilité quelconque ? À ce niveau-ci de l’exemple je dirais que non.

Imaginons deux autres noms : En_Détresse et Tranquille. Y a-t-il une amélioration quelconque ? Ça dépend (encore !) : on a introduit deux nouveaux noms qui ne sont pas directement liés aux états des membres. Ces deux nouveaux noms nous obligent à les définir. NOTE dans le cas précédent on n’avait pas besoin de définir car les noms des états disaient tout. C’est parce qu’on n’a pas besoin de les définir qu’ils risquent, dans ce cas-ci, d’être inutiles. FIN DE LA NOTE

Imaginons que nous définissons En_détresse comme l’état où tous les enfants et au moins un parent sont malades. Voilà que le lien n’est plus direct et que donc l’état de la famille peut être utile. Pensez aux implications différentes de l’état En_détresse d’une famille monoparentale avec un seul enfant par rapport à une famille avec deux parents et un enfant. Ces différences impliquent que l’analyste d’une « application sociale » devrait éventuellement introduire d’autres états liés au type de famille.  Tout cela pour vous montrer comment la définition des états peut influencer la définition des classes (que la définition des classes influence les états, c’est un truisme). Ce qui est évident, c’est que l’influence de l’état des constituants de la famille sur la famille est loin d’être évidente.

Considérons maintenant l’individu non plus comme le « constituant » de base de la famille mais comme un tout constitué de parties :

 

Avant tout le nouveau schéma contient quelque chose d’assez perturbant… un individu est constitué de Membres (ce qui est vrai, mais les membres dans les deux schémas ne sont pas la même chose : voilà un cas d’homonymie qui doit être éliminé car, comme on l’a déjà vu, il faut absolument éviter les homonymies). On appellera donc Membre_Famille le Membre du premier schéma.

Mais revenons à notre état de santé.

Est-ce que le lien entre l’état de santé des membres et des organes et l’état de santé de l’individu est le même que celui entre l’état de santé de l’individu et celui de la famille ? Dans le langage commun certainement pas : si quelqu’un a une maladie du cœur (le cœur est dans l’état Malade) il est, lui-aussi, en tant qu’individu, Malade. Ceci est dû au fait que la relation de tout-partie entre la famille et les Membre_Famille n’est pas du même type que celle entre Individu et Organe (ou Membre).

NOTE Il serait intéressant d’analyser les différents types de relations tout-partie mais malheureusement on n’a pas le temps. Pour vous donner le goût d’y penser, imaginez les différences entre un type de relation comme celui entre Hydrogène et Eau ou celui entre un jambon et ses tranches ou un ordinateur et ses cartes. FIN DE LA NOTE

Ce qui est important de souligner par rapport à l’état de santé des organes et des individus, c’est que les différents organes peuvent évoluer en parallèle et que seulement quand tous les organes sont sains, l’individu passe dans l’état sain.

La figure suivante montre les deux schémas conceptuels fusionnés (ce qui permet de voir que la propriété transitive ne vaut pas toujours et qu’une famille n’est pas constituée d’organe, ni de… membre !).

 

 

 

Conséquents : avoir une idée un peu plus claire des états pour des objets composés.

 

Notes :