Top-down- ja bottom-up-lähestymistapa ovat kumpikin tiedonkäsittelyn ja tietämyksen järjestämisen strategioita, joita käytetään monilla eri aloilla, kuten ohjelmistoissa, humanistisissa ja tieteellisissä teorioissa sekä johtamisessa ja organisoinnissa. Käytännössä ne voidaan nähdä ajattelu-, opetus- tai johtamistyyleinä. Tässä artikkelissa pääset ymmärtämään ohjelmisto-ohjelmoinnissa vallitsevaa eroa ylhäältä alas- ja alhaalta ylös -lähestymistavan välillä.
Top-downApproach
Ohjelmoinnissa ylhäältä alaspäin suuntautuva lähestymistapa, jota kutsutaan myös vaiheittaiseksi suunnitteluksi monimutkainen algoritmi pilkotaan pienempiin yksiköihin, joita kutsutaan moduuleiksi. Hajottamalla monimutkainen algoritmi pienempiin yksiköihin ylhäältä alas -lähestymistapa vähentää komplikaatioita, joita yleensä syntyy algoritmien suunnittelussa.
Top-down-lähestymistavan perustehtävänä on toisin sanoen jakaa ongelma yksiköihin ja sitten jakaa yksiköt pienempiin alayksiköihin ja niin edelleen. Tässä lähestymistavassa kehitetään ensin päämoduuli ja sitten seuraavan tason moduulit. Menettelyä jatketaan, kunnes kaikki moduulit on kehitetty. Tässä lähestymistavassa jokainen koodin funktio on yksilöllinen ja toimii muista funktioista riippumatta.
Niin, aloitetaan abstraktimmalta tasolta, määrittelemällä ongelma ja siitä eteenpäin lisätään yksityiskohtia. Se on vähän kuin aloittaisit hahmotelmasta ja sitten täydentäisit sitä matkan varrella, kunnes sinulla on tarina. Rakenne-/proseduuripainotteiset ohjelmointikielet, kuten COBOL, Fortran ja C-ohjelmointikieli, noudattavat ylhäältä alaspäin suuntautuvaa lähestymistapaa.
Mitä sinun tarvitsee tietää ylhäältä alas -lähestymistavasta
- Hylhäältä alas -lähestymistavassa keskitytään ensisijaisesti isomman ongelman pilkkomiseen pienempiin yksiköihin ja sen jälkeen prosessin toistamiseen jokaisen ongelman kohdalla.
- Hylhäältä alas -mallissa on paljon redundanssia, kun projektin koko kasvaa.
- Top-down-malli perustuu hajautuslähestymistapaan.
- Top-down-lähestymistavalla ei välttämättä ole mahdollista jakaa ongelmaa pienempiin ongelmiin.
- Top-down-lähestymistapaa käytetään pääasiassa koodintoteutuksessa, testitapausten luomisessa, virheenkorjauksessa ja moduulin dokumentoinnissa.
- Proseduraalisissa ohjelmointikielissä, kutenFortranissa, COBOLissa ja C:ssä, noudatetaan top-down-lähestymistapaa.
- Top-down-lähestymistavassa moduulit eivät vaadi moduuleilta vakiintunutta kommunikaatiolinjaa keskenään.
- Top-down-lähestymistavassa kutakin moduulia ja alamoduulia käsitellään erikseen.
Bottom-Up-lähestymistapa
Bottom-up-lähestymistavassa algoritmi suunniteltaisiin aloittamalla ihan alkeelliselta tasolta ja rakentamalla se ylöspäin kohti monimutkaisempaa tasoa. Lähestymistavassa moduulit suunnitellaan itsenäisesti ja integroidaan sitten yhteen täydelliseksi algoritmisuunnitteluksi.
Tässä lähestymistavassa alimman tason moduulit kehitetään, testataan ja virheenkorjataan ensin, minkä jälkeen seuraavat moduulit kehitetään, testataan ja virheenkorjataan ennen niiden yhdistämistä konkreettisen ratkaisun rakentamiseksi. Samaa prosessia jatketaan, kunnes kaikki moduulit on saatu valmiiksi. Oliopohjaiset ohjelmointikielet, kuten C++, Java, C#, Perl ja Python, noudattavat alhaalta ylöspäin -lähestymistapaa.
Mitä sinun tarvitsee tietää bottom-up-lähestymistavasta
- Bottom-up-lähestymistavassa keskitytään ensisijaisesti pienimpien ongelmien tunnistamiseen ja ratkaisemiseen ja sen jälkeen niiden integroimiseen suuremman ongelman ratkaisemiseksi.
- Bottom-up-lähestymistavassa on vähemmän tietojen redundanssia ja pääpaino on uudelleenkäytettävyydessä.
- Alhaalta ylöspäin -lähestymistapa perustuu koostumuslähestymistapaan.
- Alhaalta ylöspäin -lähestymistavassa on joskus melko vaikeaa tunnistaa järjestelmän yleistä toimivuutta alkuvaiheessa.
- Bottom-up-lähestymistapaa käytetään pääasiassa testauksessa.
- Objektipainotteiset ohjelmointikielet, kuten C++, Java, C#, Perl, Python, noudattavat bottom-up-lähestymistapaa.
- Alhaalta ylös -lähestymistavassa moduuleilla on oltava tietynasteinen vuorovaikutus ja kommunikaatio keskenään.
- Työskentelee datan piilottamisen ja kapseloinnin käsitteellä.
Lue myös: Vertailun perusteet