En komplicerad algoritm är uppdelad i små delar som kallas moduler, och splittringsprocessen är känd som modularisering . Modularisering minskar betydligt komplikationerna vid utformning av en algoritm och gör processen enklare att designa och implementera. Modulär programmering är tekniken för att designa och skriva ett program i form av funktioner där varje funktion skiljer sig från varandra och fungerar oberoende. Innehållet i funktionerna är kohesivt på sätt och det finns en låg koppling mellan modulerna.
Jämförelsediagram
Grunder för jämförelse | Top-down Approach | Bottom-up Approach |
---|---|---|
Grundläggande | Bryter det massiva problemet i mindre delproblem. | Lös det grundläggande lågnivåproblemet och integrerar dem i en större. |
Bearbeta | Submodulerna analyseras oberoende. | Undersök vilka data som ska inkapslas, och innebär att begreppet information gömmer sig. |
Kommunikation | Behövs ej i topp-ner-tillvägagångssättet. | Behöver en viss mängd kommunikation. |
redundans | Innehåller överflödig information. | Redundans kan elimineras. |
Programmeringsspråk | Struktur / procedurorienterade programmeringsspråk (dvs. C) följer top-down-metoden. | Objektorienterade programmeringsspråk (som C ++, Java, etc.) följer bottom-up-metoden. |
Används huvudsakligen i | Moduldokumentation, skapande av testfall, kodimplementering och felsökning. | Testning |
Definition av Top-down Approach
Top-down- metoden delar i grunden ett komplext problem eller en algoritm i flera mindre delar (moduler). Dessa moduler sönderfaller vidare tills den resulterande modulen är det grundläggande programmet i huvudsak förstås och kan inte vidare brytas ner. Efter att ha uppnått en viss grad av modularitet, sönderdelas modulen sönderdelning. Top-down-tillvägagångssättet är stegvis processen att bryta den stora programmodulen till enklare och mindre moduler för att organisera och koda program på ett effektivt sätt. Kontrollflödet i detta tillvägagångssätt ligger alltid i nedåtgående riktning. Top-down-tillvägagångssättet implementeras i "C" programmeringsspråket genom att använda funktioner.
Således börjar topp-down-metoden med abstrakt design och därefter successivt förfinas denna design för att skapa mer konkreta nivåer tills det inte finns några krav på ytterligare förfining.
Definition av Bottom-up Approach
Bottom-up- tillvägagångssättet fungerar på ett motsatt sätt till topp-ner-tillvägagångssättet. Initialt innefattar den utformningen av de mest grundläggande delarna som sedan kombineras för att göra modulen på högre nivå. Denna integration av submoduler och moduler i modulen på högre nivå utförs upprepade gånger tills den erforderliga fullständiga algoritmen erhålls.
Bottom-up-tillvägagångssättet fungerar med abstraktionskikt. Den primära tillämpningen av bottom-up-metoden är att testa eftersom varje grundläggande modul först testas innan den sammanfogas till den större. Testningen utförs med hjälp av vissa lågnivåfunktioner.
Viktiga skillnader mellan Top-down och Bottom-up Approach
- Top-down-tillvägagångssätt sönderdelar den stora uppgiften i mindre delkroppar medan bottom-up-tillvägagångssätt först väljer att lösa de olika grundläggande delarna av uppgiften direkt och sedan kombinera dessa delar till ett helt program.
- Varje submodul behandlas separat i en topp-ner-strategi. Däremot implementerar bottom-up-metoden begreppet information som gömmer sig genom att undersöka de data som ska inkapslas.
- De olika modulerna i top-down-tillvägagångssätt kräver inte mycket kommunikation. Tvärtom behöver bottom-up-tillvägagångssättet växelverkan mellan de separata grundläggande modulerna för att kombinera dem senare.
- Top-down-tillvägagångssätt kan ge redundans medan bottom-up-tillvägagångssättet inte innehåller överflödig information.
- De processuella programmeringsspråken som Fortran, COBOL och C följer en topp-down-strategi. I motsats till detta, är objektorienterade programmeringsspråk som C ++, Java, C #, Perl, Python botten uppåt.
- Bottom-up-tillvägagångssättet har tidigare använts vid testning. Omvänt används top-down-metoden i moduldokumentation, skapande av testfall, debugging, etc.
Slutsats
Top-down-tillvägagångssättet och bottom-up-tillvägagångssättet är algoritmdesignmetoderna där topp-down är ett konventionellt tillvägagångssätt som sönderdelar systemet från högnivåspecifikation till lågnivåspecifikation. Å andra sidan är bottom-up-tillvägagångssättet effektivare och fungerar på ett inverterat sätt där de primitiva komponenterna konstrueras först och fortsätter sedan till högre nivå.
Top-down-tillvägagångssättet betonar isoleringen av submodulerna (betecknar den låga kopplingen mellan modulerna) medan man ignorerar identifieringen av kommunikations- och återanvändningsbegreppet. Medan i botten-up-tillvägagångssättet är informationskläder och återanvändning de framstående faktorerna.