Přístup shora dolů a zdola nahoru jsou obě strategie zpracování informací a uspořádání znalostí, které se používají v různých oblastech včetně softwaru, humanistických a vědeckých teorií a řízení a organizace. V praxi je lze chápat jako styl myšlení, výuky nebo vedení. V tomto článku se seznámíte se základním rozdílem mezi přístupem shora dolů a zdola nahoru v programování softwaru.
Přístup shora dolů
Přístup shora dolů, označovaný také jako postupný návrh, v programování rozkládá složitý algoritmus na menší jednotky, označované jako moduly. Tím, že se složitý algoritmus rozdělí na menší jednotky,přístup shora dolů snižuje komplikace, které obvykle vznikají při návrhualgoritmů.
Jinými slovy, základním úkolem přístupu shora dolů je rozdělit problém na jednotky a poté jednotky rozdělit na menší podjednotky a tak dále. Při tomto přístupu se nejprve vytvoří hlavní modul a poté se vyvíjejí moduly další úrovně. Tento postup pokračuje, dokud nejsou vyvinuty všechny moduly. Při tomto přístupu je každá funkce v kódu jedinečná a pracuje nezávisle na ostatních funkcích.
No, začínáte na nejabstraktnější úrovni, definovánímproblému a odtud přidáváte další podrobnosti. Je to trochu jako začínat v rámci osnovy a pak ji průběžně doplňovat, až vznikne příběh. Strukturně/procedurálně orientované programovací jazyky jako COBOL, Fortran a programovací jazyk Cpoužívají přístup shora dolů.
Co byste měli vědět o přístupu shora dolů
- Při přístupu shora dolů je hlavní důraz kladen na rozdělení většího problému na menší celky a následné opakování procesu s každým problémem.
- Model shora dolů má vysokou míru redundance při zvětšování velikosti projektu.
- Model Top-down je založen na dekompozičním přístupu.
- Při přístupu Top-down nemusí být možné rozdělit problém na soubor menších problémů.
- Přístup shora dolů se používá hlavně při implementaci kódu, generování testovacích případů, ladění a dokumentaci modulů.
- Procedurální programovací jazyky, jako jsouFortran, COBOL a C, používají přístup shora dolů.
- Při přístupu shora dolů moduly nevyžadují, aby mezi nimi byla dobře zavedená komunikační linka.
- Při přístupu shora dolů se každý modul a podmodul zpracovává samostatně.
Přístup zdola nahoru
Přístup zdola nahoru zahrnuje návrh algoritmu tak, že se začíná na velmi základní úrovni a buduje se směrem nahoru ke komplexní úrovni. V tomto přístupu jsou moduly navrhoványnezávisle na sobě a poté jsou integrovány dohromady, aby vytvořily kompletní návrh algoritmu.
V tomto přístupu jsou nejprve vyvinuty, otestoványa odladěny moduly nejnižší úrovně a poté jsou vyvinuty, otestovány a odladěny další moduly před jejich integrací za účelem vytvoření konkrétního řešení. Stejnýproces pokračuje, dokud nejsou dokončeny všechny moduly. Objektově orientované programovací jazyky jako C++, Java, C#, Perl, Python se řídí přístupem zdola nahoru.
Co byste měli vědět o přístupu zdola nahoru
- Při přístupu zdola nahoru se primárně zaměřuje na identifikaci a řešení nejmenších problémů a jejich následnou integraci pro řešení většího problému.
- Přístup zdola nahoru má menší redundanci dat azaměřuje se na opakovanou použitelnost.
- Přístup zdola nahoru je založen na kompozičním přístupu.
- Při přístupu zdola nahoru je někdy poměrně obtížné určit obecnou funkčnost systému v počátečních fázích.
- Přístup zdola nahoru se používá hlavně při testování.
- Objektově orientované programovací jazyky jako C++,Java, C#, Perl, Python se řídí přístupem zdola nahoru.
- Při přístupu zdola nahoru musí mít moduly mezi sebou určitou míru interakce a komunikace.
- Pracuje na konceptu skrývání dat a zapouzdření.
Také čtěte: Rozdíl mezi shlukováním a klasifikací
Rozdíl mezi přístupem shora dolů a zdola nahoru v tabulkové formě
PODSTATA POROVNÁNÍ | PŘÍSTUP ZHORA DOLŮ | PŘÍSTUP ZPODU NAHORU |
Popis | V přístupu shora dolů, je hlavní důraz kladen na rozdělení většího problému na menší celky a následné opakování tohoto procesu u každého problému. | V přístupu zdola nahoru je primární zaměření na identifikaci a řešení nejmenších problémů a jejich následnou integraci do řešení většího problému. |
Redundance | Má vysokou míru redundance s rostoucí velikostí projektu. | Má menší redundanci dat a zaměřuje se na opakovanou použitelnost. |
Základ | Je založen na dekompozičním přístupu. | Je založen na kompozičním přístupu. |
Nevýhoda | Nemusí být možné rozložit problém na množinu menších problémů. | V počátečních fázích je někdy poměrně obtížné určit obecnou funkčnost systému. |
Použití | Používá se především při implementaci kódu, generování testovacích případů, ladění a dokumentaci modulů. | Používá se především při testování. |
Použití | Procedurální programovací jazyky, jako jsou Fortran, COBOL a C, se řídí přístupem shora dolů. | Objektově orientované programovací jazyky jako C++, Java, C#, Perl, Python se řídí přístupem zdola nahoru. |
Moduly | Moduly nevyžadují, aby mezi sebou měly moduly dobře zavedenou komunikační linku. | Moduly musí mít mezi sebou určitý stupeň interakce a komunikace. |
Koncepce práce | Každý modul a podmodul se zpracovává samostatně. | Pracuje na koncepci skrývání dat a zapouzdření. |