přístup shora dolů vs. přístup zdola nahoruAlgoritmy jsou navrženy pomocí dvou přístupů, kterými jsou přístup shora dolů a přístup zdola nahoru. V přístupu shora dolů je komplexní modul rozdělen na dílčí moduly. Naproti tomu přístup zdola nahoru začíná elementárními moduly a ty pak dále kombinuje. Předchozím účelem algoritmu je operovat s daty obsaženými v datové struktuře. Jinými slovy, algoritmus slouží k provádění operací s daty uvnitř datových struktur.

Složitý algoritmus se rozdělí na malé části nazývané moduly a proces rozdělení se nazývá modularizace. Modularizace výrazně snižuje komplikovanost návrhu algoritmu a usnadňuje jeho návrh a implementaci. Modulární programování je technika návrhu a zápisu programu ve formě funkcí, kde každá funkce je od sebe odlišná a pracuje samostatně. Obsah ve funkcích je ucelený a mezi jednotlivými moduly existuje nízká provázanost.

Obsah: Přístup shora dolů vs. přístup zdola nahoru.nahoru

    1. Srovnávací graf
    2. Definice
    3. Klíčové rozdíly
    4. Závěr

Srovnávací graf

Podklad pro srovnání Přístup shora-dolů Přístup zdola nahoru
Základní Rozdělí obrovský problém na menší podproblémy. Řeší základní nízkoúrovňový problém a integruje je do většího.
Postup Podmoduly jsou solitérně analyzovány. Zkoumá, jaká data mají být zapouzdřena, a implikuje koncept skrývání informací.
Komunikace V přístupu shora dolů není vyžadována. Potřebuje určité množství komunikace.
Redundance Obsahuje redundantní informace. Redundanci lze eliminovat.
Programovací jazyky Strukturálně/procedurálně orientované programovací jazyky (např. C) se řídí přístupem shora dolů. Objektově orientované programovací jazyky (jako C++, Java apod.) se řídí přístupem shora dolů.) se řídí přístupem zdola nahoru.
Hlavně se používají při Dokumentaci modulů, vytváření testovacích případů, implementaci 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 na více menších částí (modulů). Tyto moduly se dále rozkládají, dokud výsledný modul není základním programem, kterému je třeba v podstatě porozumět a který nelze dále rozkládat. Po dosažení určité úrovně modularity se dekompozice modulů ukončí. Přístup shora dolů je postupný proces rozkladu rozsáhlého programového modulu na jednodušší a menší moduly za účelem efektivní organizace a kódování programu. Tok řízení při tomto přístupu probíhá vždy směrem dolů. Přístup shora dolů je realizován v programovacím jazyce „C“ pomocí funkcí.

Metoda shora dolů tedy začíná abstraktním návrhem a následně je tento návrh postupně zdokonalován a vytváří další konkrétní úrovně, dokud není požadavek na další zdokonalování.

Definice přístupu zdola nahoru

Přístup zdola nahoru funguje přesně opačným způsobem než přístup shora dolů. Zpočátku zahrnuje návrh nejzákladnějších částí, které se následně kombinují a vytvářejí modul vyšší úrovně. Tato integrace dílčích modulů a modulů do modulu vyšší úrovně se provádí opakovaně, dokud se nezíská požadovaný kompletní algoritmus.

Přístup zdola nahoru funguje s vrstvami abstrakce. Primární aplikací přístupu zdola nahoru je testování, protože každý základní modul je nejprve testován, než je sloučen do vyššího modulu. Testování se provádí pomocí 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á rozsáhlou úlohu na menší dílčí úlohy, zatímco přístup zdola nahoru nejprve zvolí přímé řešení jednotlivých základních částí úlohy a poté tyto části spojí do celého programu.
  2. Každý dílčí modul je v přístupu shora dolů zpracován samostatně. Oproti tomu přístup zdola nahoru realizuje koncept skrývání informací 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 potřebuje interakci mezi jednotlivými základními moduly, aby je později spojil.
  4. Přístup shora dolů může vytvářet nadbytečné informace, zatímco přístup zdola nahoru nadbytečné informace neobsahuje.
  5. Procedurální programovací jazyky jako Fortran, COBOL a C se řídí přístupem shora dolů. Naproti tomu objektově orientované programovací jazyky jako C++, Java, C#, Perl, Python dodržují přístup zdola nahoru.
  6. Přístup zdola nahoru se přednostně používá při testování. Naopak přístup shora dolů se využívá při dokumentaci modulů, 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 přístup shora dolů je konvenční přístup, který rozkládá systém od specifikace vysoké úrovně ke specifikaci nízké úrovně. Na druhé straně přístup zdola nahoru je efektivnější a funguje inverzním způsobem, kdy jsou nejprve navrženy primitivní komponenty a poté se postupuje k vyšší úrovni.

Přístup shora dolů klade důraz na izolaci dílčích modulů (znamená nízkou provázanost mezi moduly), zatímco ignoruje identifikaci komunikace a koncept opakovaného použití. Zatímco v přístupu zdola nahoru jsou významnými faktory skrývání informací a znovupoužitelnost.

.