Un algoritm complicat este împărțit în părți mici numite module, iar procesul de divizare este cunoscut sub numele de modularizare . Modularizarea reduce semnificativ complicațiile proiectării unui algoritm și face procesul său mai ușor de proiectat și implementat. Modularea programării este tehnica de proiectare și scriere a unui program sub forma funcțiilor în care fiecare funcție este distinctă una de cealaltă și funcționează independent. Conținutul funcțiilor este coerent în mod și există o cuplare scăzută între module.
Diagramă de comparație
Bazele de comparație | Abordare de sus în jos | Abordarea de jos în sus |
---|---|---|
De bază | Pauzează problema masivă în subprobleme mai mici. | Rezolvă problema fundamentală de nivel scăzut și o integrează într-una mai mare. |
Proces | Submodulele sunt analizate solitar. | Examinați ce date trebuie încapsulate și implică conceptul de ascundere a informațiilor. |
Comunicare | Nu este necesar în abordarea de sus în jos. | Are nevoie de o anumită cantitate de comunicare. |
Redundanţă | Conține informații redundante. | Redundanța poate fi eliminată. |
Limbaje de programare | Structurile / limbile de programare orientate pe procedură (adică C) urmează abordarea de sus în jos. | Obiective orientate limbi de programare (cum ar fi C + +, Java, etc) urmează abordarea de jos în sus. |
Utilizat în principal în | Modularea documentației, crearea cazurilor de testare, implementarea codului și depanare. | Testarea |
Definiția abordării Top-down
Abordarea de sus în jos împarte în mod esențial o problemă complexă sau algoritm în mai multe părți mai mici (module). Aceste module sunt descompuse în continuare până când modulul rezultat este programul fundamental, în esență, înțeles și nu poate fi descompus în continuare. După atingerea unui anumit nivel de modularitate, descompunerea modulelor este întreruptă. Abordarea de sus în jos este procesul în etapa de rupere a modulului de program mare în module mai simple și mai mici pentru organizarea și codificarea programului într-un mod eficient. Debitul de control în această abordare este întotdeauna în direcția descendentă. Abordarea de sus în jos este implementată în limbajul de programare "C" prin utilizarea funcțiilor.
Astfel, metoda de sus in jos incepe cu un design abstract si apoi secvential acest design este rafinat pentru a crea nivele mai concretate pana cand nu exista cerinte de rafinare suplimentara.
Definiția abordării Bottom-up
Abordarea de jos în sus funcționează în mod contrar abordării de sus în jos. Inițial, aceasta include proiectarea celor mai fundamentale părți care sunt apoi combinate pentru a face modulul de nivel superior. Această integrare a submodulilor și modulelor în modulul de nivel superior este efectuată în mod repetat până când se obține algoritmul complet necesar.
Abordarea de jos în sus funcționează cu straturi de abstractizare. Aplicarea principală a abordării de jos în sus se testează pe măsură ce fiecare modul fundamental este testat pentru prima dată înainte de a fi asociat cu cel mai mare. Testarea se realizează utilizând anumite funcții de nivel scăzut.
Diferențe cheie între abordarea de sus în jos și cea de jos în sus
- Abordarea de sus în jos descompune sarcina mare în submăsuri mai mici, în timp ce abordarea de jos în sus alege mai întâi să rezolve direct diferitele părți fundamentale ale sarcinii, apoi să le combine într-un întreg program.
- Fiecare submodul este procesat separat printr-o abordare de sus în jos. În schimb, abordarea de jos în sus implementează conceptul de ascundere a informațiilor prin examinarea datelor care urmează a fi încapsulate.
- Diferitele module din abordarea de sus în jos nu necesită multă comunicare. Dimpotrivă, abordarea de jos în sus necesită interacțiunea dintre modulele fundamentale separate pentru a le combina mai târziu.
- Abordarea de sus în jos poate produce redundanță, în timp ce abordarea de jos în sus nu include informații redundante.
- Limbile de programare procedurală, cum ar fi Fortran, COBOL și C, urmează o abordare de sus în jos. În contrast, limbile de programare orientate pe obiecte, cum ar fi C ++, Java, C #, Perl, Python, respectă abordarea de jos în sus.
- Abordarea de sus în jos este folosită în prealabil pentru testare. În schimb, abordarea de sus în jos este utilizată în documentația modulului, crearea cazurilor de testare, depanare, etc.
Concluzie
Abordarea de sus în jos și abordarea de jos în sus sunt metodele de proiectare a algoritmilor în care partea de sus în jos reprezintă o abordare convențională, care descompune sistemul de la specificațiile de nivel înalt la specificațiile de nivel scăzut. Pe de altă parte, abordarea de jos în sus este mai eficientă și funcționează într-o manieră inversă, în care componentele primitive sunt proiectate la început, apoi au trecut la nivelul superior.
Abordarea de sus în jos accentuează izolarea submodulelor (înseamnă cuplajul scăzut dintre module), ignorând identificarea conceptului de comunicare și reutilizare. În timp ce în abordarea de jos în sus, ascunderea informațiilor și reutilizarea sunt factorii proeminenți.