Anbefalet, 2021

Redaktørens Valg

Forskel mellem Top-down og Bottom-up Approach

Algoritmerne er designet ved hjælp af to metoder, der er top-down og bottom-up tilgang. I top-down-tilgangen er det komplekse modul opdelt i submoduler. På den anden side begynder bunden-tilgangen med elementære moduler og kombinerer dem derefter yderligere. Det tidligere formål med en algoritme er at drive dataene omfattet af datastrukturen. Med andre ord bruges en algoritme til at udføre operationerne på dataene inde i datastrukturerne.

En kompliceret algoritme er opdelt i små dele kaldet moduler, og splittringsprocessen er kendt som modularisering . Modularisering reducerer betydeligt komplikationerne ved at designe en algoritme og gøre processen mere nemmere at designe og implementere. Modulær programmering er teknikken til at designe og skrive et program i form af de funktioner, hvor hver funktion er forskellig fra hverandre og virker uafhængigt. Indholdet i funktionerne er sammenhængende på en måde, og der findes en lav kobling mellem modulerne.

Sammenligningstabel

Grundlag for sammenligningTop-down ApproachBottom-up Approach
GrundlæggendeBryder det massive problem i mindre underproblemer.Løser det grundlæggende lavniveauproblem og integrerer dem i en større.
BehandleUndermodulerne analyseres solitært.Undersøg hvilke data der skal indkapsles, og indebærer begrebet information, der gemmer sig.
MeddelelseIkke nødvendig i top-down tilgangen.Har brug for en bestemt mængde kommunikation.
RedundansIndeholde overflødige oplysninger.Redundans kan fjernes.
ProgrammeringssprogStruktur / procedureorienteret programmeringssprog (dvs. C) følger top-down-tilgangen.Objektorienterede programmeringssprog (som C ++, Java osv.) Følger bottom-up tilgangen.
Bruges hovedsagelig iModul dokumentation, oprettelse af test case, kode implementering og debugging.Test

Definition af Top-down Approach

Top-down- fremgangsmåden deler i grunden et komplekst problem eller algoritme i flere mindre dele (moduler). Disse moduler nedbrydes yderligere, indtil det resulterende modul er det grundlæggende program i det væsentlige forstås og kan ikke yderligere nedbrydes. Efter at have opnået en vis grad af modularitet, er nedbrydning af moduler ophørt. Top-down-fremgangsmåden er den trinvise proces med at bryde det store programmodul i enklere og mindre moduler for at organisere og kode programmet på en effektiv måde. Kontrolstrømmen i denne tilgang er altid i nedadgående retning. Top-down tilgangen er implementeret i "C" programmeringssprog ved at bruge funktioner.

Således begynder top-down-metoden med abstrakt design og derefter successivt bliver dette design raffineret for at skabe mere konkrete niveauer, indtil der ikke er behov for yderligere raffinement.

Definition af bottom-up metode

Den bottom-up tilgang fungerer på lige modsat måde til top-down tilgangen. Indledningsvis omfatter den udformningen af ​​de mest grundlæggende dele, som derefter kombineres til at lave modulet på højere niveau. Denne integration af submoduler og moduler i modulet på højere niveau udføres gentagne gange, indtil den krævede komplette algoritme er opnået.

Bottom-up tilgangen fungerer med abstraktionslag. Den primære anvendelse af bottom-up-fremgangsmåden er testning, da hvert grundlæggende modul først testes, før det fusioneres til det større. Afprøvningen udføres ved hjælp af visse lavniveaufunktioner.

Nøgleforskelle mellem top-down og bottom-up tilgang

  1. Top-down-fremgangsmåden nedbryder den store opgave i mindre undergrupper, mens bottom-up-tilgang først vælger at løse de forskellige grundlæggende dele af opgaven direkte og derefter kombinere disse dele i et helt program.
  2. Hver submodule behandles separat i en top-down-tilgang. I modsætning hertil implementerer bottom-up-tilgang begrebet information, der gemmer sig ved at undersøge de data, der skal indkapsles.
  3. De forskellige moduler i top-down-tilgang kræver ikke meget kommunikation. Tværtimod kræver bottom-up tilgangen samspillet mellem de separate grundlæggende moduler for at kombinere dem senere.
  4. Top-down-tilgang kan producere redundans, mens bottom-up-tilgang ikke indeholder overflødige oplysninger.
  5. De processuelle programmeringssprog som Fortran, COBOL og C følger en top-down-tilgang. I modsætning hertil holder objektorienterede programmeringssprog som C ++, Java, C #, Perl, Python bottom-up tilgangen.
  6. Bottom-up tilgang er tidligere brugt til testning. Omvendt benyttes top-down-tilgangen i moduldokumentation, oprettelse af testcase, fejlfinding osv.

Konklusion

Top-down tilgang og bottom-up tilgang er algoritme design metoder, hvor top-down er en konventionel tilgang, der nedbryder systemet fra high-level specifikation til lavniveau specifikation. På den anden side er bottom-up tilgangen mere effektiv og arbejder på en omvendt måde, hvor de primitive komponenter er designet først og derefter videre til det højere niveau.

Top-down-fremgangsmåden lægger vægt på isolering af submodulerne (betyder den lave kobling mellem modulerne), mens man ignorerer identifikationen af ​​kommunikations- og genbrugskoncept. Mens der er bottom-up-tilgang, er informationens skjul og genanvendelse de fremtrædende faktorer.

Top