Priporočena, 2020

Izbira Urednika

Razlika med pristopom od zgoraj navzdol in od spodaj navzgor

Algoritmi so zasnovani z uporabo dveh pristopov, ki sta pristop od zgoraj navzdol in od spodaj navzgor. Pri pristopu od zgoraj navzdol je kompleksni modul razdeljen na podmodule. Po drugi strani se pristop od spodaj navzgor začne z osnovnimi moduli in jih nato združi. Predhodni namen algoritma je upravljanje podatkov, ki so vključeni v podatkovno strukturo. Z drugimi besedami, algoritem se uporablja za izvajanje operacij na podatkih znotraj podatkovnih struktur.

Zapleten algoritem je razdeljen na majhne dele, imenovane moduli, in postopek delitve je znan kot modularizacija . Modularizacija bistveno zmanjša zaplete pri načrtovanju algoritma in olajša njegovo načrtovanje in izvajanje. Modularno programiranje je tehnika načrtovanja in pisanja programa v obliki funkcij, pri katerih se vsaka funkcija med seboj razlikuje in deluje neodvisno. Vsebina v funkcijah je kohezivna na način, med moduli pa obstaja nizka vezava.

Primerjalna tabela

Podlaga za primerjavoPristop od zgoraj navzdolPristop od spodaj navzgor
OsnovnoPrelomi masivni problem v manjše podprobleme.Rešuje temeljni problem nizke ravni in jih integrira v večji problem.
ProcesSubmoduli so analizirani.Preučite, kateri podatki naj bodo povzeti, in vključuje koncept skrivanja informacij.
KomunikacijaNi potrebno pri pristopu od zgoraj navzdol.Potrebuje določeno količino komunikacije.
OdpuščanjeVsebujejo odvečne informacije.Odpuščanje se lahko odpravi.
Programski jezikiStrukturno / postopkovno usmerjeni programski jeziki (tj. C) sledijo pristopu od zgoraj navzdol.Objektno usmerjeni programski jeziki (kot so C ++, Java itd.) Sledijo pristopu od spodaj navzgor.
V glavnem se uporablja vDokumentacija modula, izdelava testnih primerov, implementacija kode in razhroščevanje.Testiranje

Opredelitev pristopa od zgoraj navzdol

Pristop od zgoraj navzdol v bistvu deli kompleksen problem ali algoritem na več manjših delov (modulov). Ti moduli so nadalje razčlenjeni, dokler nastali modul ni osnovni program, ki je v bistvu razumljiv in ga ni mogoče dodatno razčleniti. Po doseganju določene ravni modularnosti se razgradnja modulov preneha. Pristop od zgoraj navzdol je postopen proces razbijanja velikega programskega modula v enostavnejše in manjše module za učinkovito organiziranje in kodiranje programa. Pretok nadzora v tem pristopu je vedno v smeri navzdol. Pristop od zgoraj navzdol se izvaja v programskem jeziku „C“ z uporabo funkcij.

Metoda od zgoraj navzdol se začne z abstraktnim oblikovanjem, nato pa se ta zasnova zaporedoma izboljša, da se ustvarijo bolj konkretne ravni, dokler ni potrebe po dodatnem izboljšanju.

Opredelitev pristopa od spodaj navzgor

Pristop od spodaj navzgor deluje ravno nasprotno od pristopa od zgoraj navzdol. Sprva vključuje oblikovanje najbolj temeljnih delov, ki se nato združijo v modul višje ravni. To vključevanje podmodulov in modulov v modul višje ravni se večkrat izvaja, dokler ni dosežen potreben popoln algoritem.

Funkcije pristopa od spodaj navzgor s plastmi abstrakcije. Primarna uporaba pristopa od spodaj navzgor je preskušanje, saj se vsak temeljni modul najprej preizkusi, preden ga združimo z večjim. Testiranje se izvede z uporabo določenih funkcij nizke ravni.

Ključne razlike med pristopom od zgoraj navzdol in od spodaj navzgor

  1. Pristop od zgoraj navzdol razstavlja veliko nalogo na manjše podzadeve, medtem ko se pristop od spodaj navzgor najprej odloči, da bo različne temeljne dele naloge rešil neposredno, potem pa te dele združi v celoten program.
  2. Vsak podmodul se ločeno obdeluje s pristopom od zgoraj navzdol. V nasprotju s tem pristop od spodaj navzgor izvaja koncept skrivanja informacij s preučevanjem podatkov, ki jih je treba zajeti.
  3. Različni moduli v pristopu od zgoraj navzdol ne zahtevajo veliko komunikacije. Nasprotno, pristop od spodaj navzgor potrebuje interakcijo med ločenimi temeljnimi moduli, da jih kasneje združi.
  4. Pristop od zgoraj navzdol lahko povzroči odpuščanje, medtem ko pristop od spodaj navzgor ne vključuje odvečnih informacij.
  5. Postopkovni programski jeziki, kot sta Fortran, COBOL in C, sledijo pristopu od zgoraj navzdol. V nasprotju s tem objektno usmerjeni programski jeziki, kot so C ++, Java, C #, Perl, Python, upoštevajo pristop od spodaj navzgor.
  6. Pristop od spodaj navzgor se že uporablja pri testiranju. Nasprotno, pristop od zgoraj navzdol se uporablja v dokumentaciji modula, ustvarjanju testnih primerov, odpravljanju napak itd.

Zaključek

Pristop od zgoraj navzdol in pristop od spodaj navzgor sta metoda načrtovanja algoritmov, pri čemer je od zgoraj navzdol običajen pristop, ki razgrajuje sistem od specifikacij na visoki ravni do specifikacij nizke ravni. Po drugi strani pa je pristop od spodaj navzgor učinkovitejši in deluje na obraten način, kjer so prvotni sestavni deli sprva zasnovani, nato pa nadaljevali na višjo raven.

Pristop od zgoraj navzdol poudarja izolacijo submodulov (označuje nizko povezavo med moduli), pri tem pa ne upošteva koncepta komunikacije in ponovne uporabnosti. Medtem ko so pri pristopu od spodaj navzgor pomembni dejavniki skrivanje informacij in ponovna uporabnost.

Top