Approche descendante vs approche ascendante
L'approche descendante et l'approche ascendante sont deux approches couramment utilisées lors de la conception de tout projet. Peu de gens comprennent les différences entre ces deux approches et cet article vise à mettre en évidence les caractéristiques des deux pour permettre au lecteur d'apprécier plus facilement les deux concepts dans leur intégralité.
Alors que la conception descendante part de l'abstrait pour finalement aboutir à une conception solide, l'approche ascendante est tout simplement l'inverse car elle commence par la conception concrète pour arriver à une entité abstraite. Lorsqu'il s'agit de concevoir de nouveaux systèmes, c'est l'approche descendante qui est la plus couramment utilisée. D'un autre côté, dans le cas de l'ingénierie inverse, comme lorsque l'objectif est de comprendre la conception de quelqu'un d'autre, une approche ascendante est utilisée.
L'approche ascendante procède de la conception du module ou sous-système de niveau le plus bas, jusqu'au module ou sous-système le plus élevé. Il faut un organigramme pour connaître les étapes d'exécution. Des pilotes sont également nécessaires pour effectuer ce type de conception.
L'approche descendante commence par le module de niveau supérieur et progresse vers le bas jusqu'au module de niveau le plus bas. En réalité cependant, aucun système n'est suivi de manière rigide et les concepteurs ont tendance à osciller entre ces deux approches selon les besoins.
Il y a des avantages et des inconvénients des deux approches. Si nous parlons des avantages d'une approche descendante, elle est facile à visualiser, donne un sentiment d'exhaustivité et il est facile d'évaluer les progrès à n'importe quelle étape. En revanche, étant une approche axée sur l'interface utilisateur, il existe des risques de logiques commerciales redondantes.
D'autre part, dans une approche ascendante, l'utilisateur bénéficie d'une logique métier solide, de la capacité à écrire de bons tests unitaires et de la facilité avec laquelle les changements peuvent être gérés et modifiés. Ses inconvénients sont que beaucoup d'efforts sont nécessaires pour écrire des cas de test et que la progression ne peut pas être vérifiée facilement à mi-parcours.
Résumé
• Top-down et Bottom-up sont deux approches de conception
• Les deux sont utilisés par les designers
• Les deux approches ont leurs propres avantages et inconvénients
• L'approche ascendante est couramment appliquée dans la rétro-ingénierie, tandis que pour un tout nouveau projet, l'approche descendante est généralement utilisée