Egy bonyolult algoritmus apró részekre van osztva, amit moduloknak neveznek, és a felosztási folyamatot modularizációnak nevezik. A modularizáció jelentősen csökkenti az algoritmus tervezésének bonyolultságát és könnyebbé teszi a folyamat tervezését és megvalósítását. A moduláris programozás a program tervezése és írása a funkciók formájában, ahol minden funkció egymástól elkülönül és önállóan működik. A funkciók tartalma összetartozó, és a modulok között alacsony a kapcsolat.
Összehasonlító táblázat
Az összehasonlítás alapja | Felülről lefelé irányuló megközelítés | Alulról felfelé építkező megközelítés |
---|---|---|
Alapvető | A hatalmas problémát kisebb alproblémákra szakítja. | Megoldja az alapvető alacsony szintű problémát, és egy nagyobbba integrálja őket. |
Folyamat | Az almodulokat solitíven elemezzük. | Vizsgálja meg, hogy milyen adatokat kell kapszulázni, és az információ elrejtését jelenti. |
közlés | Nem szükséges a felülről lefelé mutató megközelítésben. | Szükség van egy bizonyos mennyiségű kommunikációra. |
redundancia | Tartalmazza a redundáns információkat. | A redundancia megszüntethető. |
Programozási nyelvek | A struktúra / eljárásorientált programozási nyelvek (azaz C) a felülről lefelé irányuló megközelítést követik. | Az objektum-orientált programozási nyelvek (például a C ++, Java stb.) Az alulról felfelé irányuló megközelítést követik. |
Főleg a | Modul dokumentáció, teszt eset létrehozása, kód végrehajtása és hibakeresés. | Tesztelés |
A felülről lefelé mutató megközelítés meghatározása
A felülről lefelé irányuló megközelítés alapvetően egy összetett problémát vagy algoritmust több kisebb részre (modulra) oszt. Ezek a modulok tovább bomlanak mindaddig, amíg az eredményül kapott modul az alapprogram, amelyet lényegében megértünk és nem lehet tovább bontani. A modularitás bizonyos szintjének elérése után a modulok lebontása megszűnik. A felülről lefelé irányuló megközelítés a nagy programmodul egyszerűsített és kisebb modulokba történő törésének lépésenkénti folyamata, amely hatékonyan szervezi és kódolja a programot. A vezérlés áramlása ebben a megközelítésben mindig lefelé van. A felülről lefelé irányuló megközelítést a „C” programozási nyelven a funkciók használatával valósítják meg.
Így a felülről lefelé irányuló módszer elvont formatervezéssel kezdődik, majd ezt követően a tervezést tovább finomítják, hogy konkrétabb szinteket hozzanak létre, amíg nincs szükség további finomításra.
Az alulról felfelé irányuló megközelítés meghatározása
Az alulról felfelé irányuló megközelítés a top-down megközelítéssel ellentétben működik. Kezdetben magában foglalja a legfontosabb részek tervezését, amelyeket ezután egyesítenek a magasabb szintű modul létrehozásához. Ez a részmodulok és modulok magasabb szintű modulba történő integrálása többször megtörténik, amíg a szükséges teljes algoritmust meg nem kapjuk.
Az alulról felfelé irányuló megközelítés absztrakciós rétegekkel működik. Az alulról felfelé irányuló megközelítés elsődleges alkalmazása a tesztelés, mivel minden egyes alapvető modult először tesztelnek, mielőtt a nagyobbat összekapcsolnák. A tesztelés bizonyos alacsony szintű funkciókkal történik.
A felülről lefelé és az alulról felfelé irányuló megközelítés legfontosabb különbségei
- A felülről lefelé irányuló megközelítés a nagy feladatot kisebb részfeladatokra bontja, míg az alulról felfelé irányuló megközelítés először úgy dönt, hogy megoldja a feladat különböző alapvető részeit, majd ezeket a részeket egy egész programba egyesíti.
- Minden egyes részmodult külön-külön egy felülről lefelé irányuló megközelítéssel dolgoznak fel. Az alulról felfelé irányuló megközelítés ellentétben az információ elrejtésével foglalkozik a kapszulázandó adatok vizsgálatával.
- A felülről lefelé irányuló megközelítés különböző moduljai nem igényelnek sok kommunikációt. Éppen ellenkezőleg, az alulról felfelé irányuló megközelítésnek kölcsönhatást kell követnie a különálló alapvető modulok között, hogy később összekapcsolják őket.
- A felülről lefelé irányuló megközelítés redundanciát eredményezhet, míg az alulról felfelé irányuló megközelítés nem tartalmaz redundáns információkat.
- Az eljárási programozási nyelvek, mint például a Fortran, a COBOL és a C egy felülről lefelé irányuló megközelítést követnek. Ezzel ellentétben az objektum-orientált programozási nyelvek, mint a C ++, Java, C #, Perl, Python, az alulról felfelé irányuló megközelítést alkalmazzák.
- Az alulról felfelé irányuló megközelítést előzetesen használják a tesztelés során. Ezzel szemben a top-down megközelítést használják a modul dokumentációjában, a tesztesemények létrehozásában, a hibakeresésben stb.
Következtetés
A felülről lefelé irányuló megközelítés és az alulról felfelé irányuló megközelítés azok az algoritmus-tervezési módszerek, ahol a felülről lefelé egy hagyományos megközelítés, amely a rendszert magas szintű specifikációról alacsony szintű specifikációra bontja. Másrészt az alulról felfelé irányuló megközelítés hatékonyabb és fordított módon működik, ahol a primitív komponenseket először tervezték, majd a magasabb szintre léptek.
A felülről lefelé irányuló megközelítés az almodulok izolálására helyezi a hangsúlyt (a modulok közötti alacsony kapcsolást jelenti), miközben figyelmen kívül hagyja a kommunikációs és újrafelhasználhatósági koncepció azonosítását. Míg az alulról felfelé irányuló megközelítésben az információ elrejtése és újrafelhasználhatósága a legfontosabb tényezők.