Doporučená, 2021

Redakce Choice

Rozdíl mezi přístupem shora dolů a zdola nahoru

Algoritmy jsou navrženy pomocí dvou přístupů, které jsou přístupem shora dolů a zdola nahoru. V přístupu shora dolů je komplexní modul rozdělen do submodulů. Na druhé straně přístup zdola nahoru začíná u základních modulů a následně je dále kombinuje. Předcházejícím účelem algoritmu je provozovat data obsažená v datové struktuře. Jinými slovy, algoritmus se používá k provádění operací s daty uvnitř datových struktur.

Komplikovaný algoritmus je rozdělen do malých částí nazývaných moduly a proces štěpení je znám jako modularizace . Modularizace významně snižuje komplikace při navrhování algoritmu a usnadňuje návrh a implementaci procesu. Modulární programování je technika navrhování a psaní programu ve formě funkcí, kde každá funkce je od sebe odlišná a pracuje nezávisle. Obsah funkcí je soudržný a mezi moduly existuje nízká vazba.

Srovnávací graf

Základ pro srovnáníPřístup shora dolůPřístup zdola nahoru
ZákladníRozděluje masivní problém na menší subproblémy.Řeší základní problém s nízkou úrovní a integruje je do většího problému.
ProcesSubmodely jsou samostatně analyzovány.Prozkoumejte, jaká data mají být zapouzdřena, a zahrnuje koncept skrývání informací.
SděleníV přístupu shora dolů není vyžadováno.Potřebuje konkrétní množství komunikace.
NadbytekObsahuje zbytečné informace.Redundanci lze eliminovat.
Programovací jazykyStrukturní / procedurálně orientované programovací jazyky (tj. C) se řídí přístupem shora dolů.Objektově orientované programovací jazyky (např. C ++, Java atd.) Navazují na přístup zdola nahoru.
Používá se především vDokumentace modulu, vytvoření testovacího případu, implementace kódu a ladění.Testování

Definice přístupu shora dolů

Přístup shora dolů v podstatě rozděluje složitý problém nebo algoritmus do několika menších částí (modulů). Tyto moduly jsou dále rozloženy, dokud není výsledný modul v podstatě pochopen a nemůže být dále rozložen. Po dosažení určité úrovně modularity se zastaví rozklad modulů. Přístup shora dolů je postupný proces rozdělování velkého programového modulu do jednodušších a menších modulů pro efektivní organizaci a organizaci programu. Průtok v tomto přístupu je vždy směrem dolů. Přístup shora dolů je implementován v programovacím jazyce „C“ pomocí funkcí.

Metoda shora dolů tedy začíná abstraktním designem a následně je tento návrh zdokonalen tak, aby vytvořil více konkrétních úrovní, dokud není vyžadován další zjemnění.

Definice přístupu zdola nahoru

Přístup zdola nahoru funguje opačným způsobem než přístup shora dolů. Zpočátku zahrnuje návrh nejzákladnějších částí, které jsou pak kombinovány tak, aby vytvořily modul vyšší úrovně. Tato integrace submodulů a modulů do modulu vyšší úrovně je opakovaně prováděna, dokud není získán požadovaný úplný algoritmus.

Přístup zdola nahoru funguje s vrstvami abstrakce. Primární aplikace přístupu zdola nahoru je testování, protože každý základní modul je nejprve testován před jeho sloučením s větším. Testování se provádí s použitím určitých nízkoúrovňových funkcí.

Klíčové rozdíly mezi přístupem shora dolů a zdola nahoru

  1. Přístup shora dolů rozkládá velký úkol do menších dílčích úkolů, zatímco přístup zdola nahoru se nejprve rozhoduje řešit jednotlivé základní části úkolu přímo a pak tyto části kombinovat do celého programu.
  2. Každý submodul je zpracován odděleně postupem shora dolů. Přístup „zdola nahoru“ zavádí koncepci informací skrývajících se zkoumáním dat, která mají být zapouzdřena.
  3. Různé moduly v přístupu shora dolů nevyžadují mnoho komunikace. Naopak přístup zdola nahoru vyžaduje interakci mezi jednotlivými základními moduly, aby je bylo možné kombinovat později.
  4. Přístup shora dolů může způsobit nadbytečnost, zatímco přístup zdola nahoru nezahrnuje nadbytečné informace.
  5. Procesní programovací jazyky jako Fortran, COBOL a C následují přístup shora dolů. Naproti tomu objektově orientované programovací jazyky jako C ++, Java, C #, Perl, Python dodržují přístup zdola nahoru.
  6. Při testování se předem používá přístup zdola nahoru. Naopak přístup shora dolů je využíván v dokumentaci modulu, vytváření testovacích případů, ladění atd.

Závěr

Přístup shora dolů a přístup zdola nahoru jsou metody návrhu algoritmů, kde shora dolů je konvenční přístup, který rozkládá systém z vysoké úrovně specifikace na nízkou úroveň specifikace. Na druhé straně je přístup zdola nahoru účinnější a pracuje inverzním způsobem, kde jsou primitivní komponenty nejprve navrženy a poté přejít na vyšší úroveň.

Přístup shora dolů klade důraz na izolaci submodulů (znamená nízké propojení mezi moduly) a zároveň ignoruje identifikaci konceptu komunikace a opětovného použití. Zatímco v přístupu zdola nahoru jsou významnými faktory skrývání informací a opětovné použití.

Top