19.1 Élaboration d’une maquette
401
© Dunod – La photocopie non autorisée est un délit.
La traduction d’un sous-modèle, et plus généralement d’un modèle, sous la forme
d’une fonction programmée (fonction macro d’EXCEL par exemple) offre une
encapsulation idéale de la description interne du modèle, puisque celle-ci est
implantée dans une feuille spéciale (feuille macro) qui est invisible lors de l’exécution. On rappelle cependant que ce qu’on gagne en lisibilité des résultats à l’écran
est perdu en qualité de structure du modèle, puisque celui-ci est désormais réalisé
par un algorithme.
19.1.3 Les sous-modèles
En règle générale, on cherchera à cacher les concepts des sous-modèles. La représentation des sous-modèles n’est pas toujours immédiate. Contrairement aux
langages de troisième génération 3 , les tableurs n’offrent pas toujours des concepts
permettant leur traduction directe. Nous proposerons quelques techniques qui systématisent cette représentation.
• Dans tous les cas.
La technique la plus simple, mais la moins élégante et souvent la plus coûteuse
en mémoire, consiste à remplacer chaque invocation d’un sous-modèle par le
développement de ce dernier (transformation de démodularisation). On fait
donc disparaître les sous-modèles en tant que tels. Les grandeurs internes des
sous-modèles deviennent des grandeurs internes du modèle invoquant; elles
seront donc traitées comme indiqué ci-dessus. Ainsi, dans le modèle de la
figure 17.14, on remplace l’expression :
COTISATION_SOCIALE T = calcul_COTISATION(NIVEAU T ,BRUT T )
par la suivante :
COTISATION_SOCIALE T = (0,1+NIVEAU T /100)*BRUT T
• Le sous-modèle est invoqué une seule fois, c’est-à-dire à un seul endroit, et sur
des données non dimensionnées (cf. modèle de la figure 17.13).
Le sous-modèle est implanté dans une plage isolée hors de la vue de l’utilisateur. Il dispose de cellules propres représentant ses données, ses résultats et ses
grandeurs internes.
1. La cellule représentant une donnée du sous-modèle contient une formule qui y
range le contenu de la cellule correspondant à l’argument de son invocation.
Par exemple, la cellule de la donnée ANC du sous-modèle calcul_BRUT
contient la formule « = α », où α est l’adresse de la cellule de la grandeur
ANCIENNETE du modèle TRAITEMENT.
2. Inversement, la cellule représentant une grandeur du modèle invoquant qui
est définie par le sous-modèle (c’est-à-dire correspondant à un résultat de
celui-ci) contiendra une formule qui y range le contenu de la cellule du
3. Via les notions de fonction et procédure par exemple, comme on les trouve en C, Pascal,
BASIC et Java.
401
© Dunod – La photocopie non autorisée est un délit.
La traduction d’un sous-modèle, et plus généralement d’un modèle, sous la forme
d’une fonction programmée (fonction macro d’EXCEL par exemple) offre une
encapsulation idéale de la description interne du modèle, puisque celle-ci est
implantée dans une feuille spéciale (feuille macro) qui est invisible lors de l’exécution. On rappelle cependant que ce qu’on gagne en lisibilité des résultats à l’écran
est perdu en qualité de structure du modèle, puisque celui-ci est désormais réalisé
par un algorithme.
19.1.3 Les sous-modèles
En règle générale, on cherchera à cacher les concepts des sous-modèles. La représentation des sous-modèles n’est pas toujours immédiate. Contrairement aux
langages de troisième génération 3 , les tableurs n’offrent pas toujours des concepts
permettant leur traduction directe. Nous proposerons quelques techniques qui systématisent cette représentation.
• Dans tous les cas.
La technique la plus simple, mais la moins élégante et souvent la plus coûteuse
en mémoire, consiste à remplacer chaque invocation d’un sous-modèle par le
développement de ce dernier (transformation de démodularisation). On fait
donc disparaître les sous-modèles en tant que tels. Les grandeurs internes des
sous-modèles deviennent des grandeurs internes du modèle invoquant; elles
seront donc traitées comme indiqué ci-dessus. Ainsi, dans le modèle de la
figure 17.14, on remplace l’expression :
COTISATION_SOCIALE T = calcul_COTISATION(NIVEAU T ,BRUT T )
par la suivante :
COTISATION_SOCIALE T = (0,1+NIVEAU T /100)*BRUT T
• Le sous-modèle est invoqué une seule fois, c’est-à-dire à un seul endroit, et sur
des données non dimensionnées (cf. modèle de la figure 17.13).
Le sous-modèle est implanté dans une plage isolée hors de la vue de l’utilisateur. Il dispose de cellules propres représentant ses données, ses résultats et ses
grandeurs internes.
1. La cellule représentant une donnée du sous-modèle contient une formule qui y
range le contenu de la cellule correspondant à l’argument de son invocation.
Par exemple, la cellule de la donnée ANC du sous-modèle calcul_BRUT
contient la formule « = α », où α est l’adresse de la cellule de la grandeur
ANCIENNETE du modèle TRAITEMENT.
2. Inversement, la cellule représentant une grandeur du modèle invoquant qui
est définie par le sous-modèle (c’est-à-dire correspondant à un résultat de
celui-ci) contiendra une formule qui y range le contenu de la cellule du
3. Via les notions de fonction et procédure par exemple, comme on les trouve en C, Pascal,
BASIC et Java.
