Top-Down-tilgang vs Bottom-Up-tilgang
Top-down tilgang og Bottom-up tilgang er to tilgange, der almindeligvis anvendes, når man designer ethvert projekt. Ikke mange forstår forskellene mellem disse to tilgange, og denne artikel har til hensigt at fremhæve funktionerne ved begge for at gøre det lettere for læseren at værdsætte de to koncepter i deres helhed.
Mens top-down-design starter fra abstrakt for til sidst at opnå et solidt design, er bottom-up-tilgangen lige omvendt, da den begynder med det konkrete design for at komme til en abstrakt enhed. Når det kommer til at designe helt nye systemer, er det top-down tilgang, der er mest almindeligt anvendt. På den anden side, i tilfælde af reverse engineering, som når det er målet at forstå en andens design, anvendes bottom up-tilgangen.
Bottom-up tilgang fortsætter med designet af det laveste niveau modul eller subsystem, til det højeste modul eller subsystem. Man har brug for et strukturdiagram for at kende de trin, der er involveret i udførelsen. Der kræves også drivere til at fuldføre denne type design.
Top-down tilgang starter med modulet på øverste niveau og fortsætter nedad til det laveste niveau. I virkeligheden følges intet system dog stift, og designere har en tendens til at hoppe frem og tilbage mellem disse to tilgange, alt efter behov.
Der er fordele og ulemper ved begge tilgange. Hvis vi taler om fordele ved en top-down tilgang, er den let at visualisere, giver følelse af fuldstændighed, og det er let at vurdere fremskridtene på ethvert tidspunkt. På den negative side, er der en UI-drevet tilgang, der er chancer for overflødige forretningslogikker.
På den anden side, i en bottom-up tilgang, har brugeren fordelene ved solid forretningslogik, evnen til at skrive god enhedstest og den lethed, hvormed ændringer kan administreres og modificeres. Dens ulemper er, at der kræves en stor indsats for at skrive testsager, og fremskridtene kan ikke nemt verificeres i midtfasen.
Oversigt
• Top-down og Bottom-up er to tilgange til design
• Begge bruges af designere
• Begge tilgange har deres egne fordele og ulemper
• Bottom-up er almindeligt anvendt i reverse engineering, mens til et helt nyt projekt bruges top-down tilgang generelt