| 1. Osnove | | | 2. Elementi DRS | | | 3. DRS | | | 4. Windows | | | 5. Unix | | | 6. Programiranje | | | 7. Informatika u praksi | | | 8. Rječnik | | | 9. Prilozi | | | 10. Literatura | | | 11. Spone | | | 12. Indeks |
| 6. RAZVOJ PROGRAMSKE POTPORE |
| 6.1. Faze razvoja programske potpore | | | 6.2. Programiranje |
U poglavlju 3.4.2. već su navedene faze razvoja programske potpore. Karakter programa uslovljava način rješavanja po pojedinim etapama od kojih je za digitalno računalo specifična etapa pisanja i unošenja programa jednim od jezičkih procesora, a ilustrirana je u poglavlju 6.2. prema primjeru iz narednog podpoglavlja.
Kojim se od jezičkih procesora koristiti ovisi o vrsti problema koji se riješava te o mogućnostima i vrsti DRS na kojoj će se primjeniti. Stoga tu nema strogih zakonitosti. Jenostavnije zadaće rješavati će se na PC-računala s QBASIC ili VISUAL BASIC jezičkim procesorom, a za knjigovodstvene svrhe ili obradu studentske populacije koristiti će se alati koji mogu uporabiti neki od poslužitelja baze podataka kao DELPHI. Jedna od vrhunskih programski potpora za praćenje rada velikih firmi i ustanova, LOTUS-NOTES, vrlo je učinkovito ali i vrlo skupo rješenje.
U poglavlju 3.4.2 već je navedeno da postoje dvije osnovne grupe jezičkih procesora s obzirom na kreiranje izvršnog koda i sam način izvršavanja izvršnog koda. Ukratko: KOPAJLERI i INTERPRETERI. Za prevodjenje nekog napisanog izvornog koda služi Kompajler (prevodioc) koji stvara izvršivu datoteku (.exe ili .com tipa) od izvornog koda, znači prevodi izvorni kod u izvršivu (binarnu) verziju koja se potom može primijeniti i testirati rezultat, i ako se primijeti greška u radu programa moraju se ispraviti u izvornom kodu, kojeg potom opet treba prevesti i novu izvršivu datoteku te opet je pokrenuti i testirati. Interpreter to radi drugačije. Prevodi se jedna po jedna instrukcija izravno iz izvornog koda u realnom vremenu i po prevođenju izvršava. Prevedeni rezultat nigdje se ne čuva. Izmjene u samom izvornom kodu mogu se odmah provjeriti a mogu se vršiti i za vrijeme samog izvršavanja kreiranog programa. Uzastopno prevođenje instrukcija sigurno daje značajno sporije rezultate glede brzine obrade podataka, ali je otklanjanje grešaka jednostavnije. Poneki jezički procesori, kao QuickBASIC, imaju osobitost i interpretiranja izvornog koda i njegovog prevođenja u izvršivu datoteku.
No bez obzira koji se od jezičkih procesora primjeni, postupak kreiranja konačnog rezultata sagledan u etapama njegove kreacije je sličan. Broj etapa i način njihove primjene ovisi od 'škole programiranja', a najjednostavniji prikaz njihovog slijeda značaja opisan je u narednom poglavlju. Etape razvoja programske potpore prikazane su u narednim poglavljima kroz nekoliko primjera, ali bez prikaza riješenja s uporabom jednog od jezičkih procesora.
6.1. FAZE RAZVOJA PROGRAMSKE POTPORE
| 6.1.1. Pogađanje broja | | | 6.1.2. Jednadžbe | | | 6.1.3. Površine | | | 6.1.4. Funkcije | | | 6.1.5. Sortiranje | | | 6.1.6. Kosi hitac |
Svakodnevno se u životu susrećemo s problemima koji nam se nameću i koje moramo rješiti na način koji smo odabrali kao najpogodniji, bilo da je to nešto posve novo ili rutinski dio za koji ćemo iskoristiti već poznata saznanja i rješenja.
Jedan od svakodnevnih primjera je priprema objeda za porodicu, kada naše mame na primjer za blagdan spremaju kolaće. U narednoj tablici objašnjen je taj postupak u usporedbi s već prije navedenih 7 faza razvoja programske potpore u poglavlju 3.4.2.
| ||||||||||||||||||||||||||||||||
| Tablica 6.1.1. Faze razvoja izrade blagdanskog kolaća |
Navedeni primjer je ilustracija kako pristupiti riješavanju bilo kojeg zadatka. U narednim primjerima prikazane su prve četiri faze rješavanja problema pretvorbe u brojevnim sustavima. Prve tri faze su skup dobro definiranih podataka, uvijeta te njihove međusobne povezanosti i podrazumjevaju opis akcija koje vode ka konačnom rješenju i nazivaju se algoritam. Algoritam je postupak rasčlanjivanja problema (zadatka) u precizne sitne korake. Dijagram tijeka je grafički prikaz algoritma u kojem se redosljed akcija i njihova međusobna veza prikazuje međusobno povezanim geometrijskim likovima, odnosno standariziranim grafičkim simbolima za početak, kraj, naredbu, odluku i drugo.
Treba imati na umu da u informatici parametri ili varijable tijekom postupka programiranja obično za početnu vrijednosti imaju veličinu 0 za npr. prvo polje u matrici podatka ili gornji lijevi piksel u grafičkom prikazu i slično. Već je prije navedeno da su opisane faze samo jedan od mogućih primjera kako pristupiti rješavanju zadaće, te da programerske firme imaju svoje postupke razvijene prema njihovim načelima i potrebama, najčešće opisane kroz više koraka u odnosu na prethodno opisani primjer. Navedenih sedam faza su nekakva temeljna struktura koja ne mora biti pravilo, ali može poslužiti kao osnova za uspostavu složenije razvojne strukture. Složenija razvojna struktura pogoduje razvojnim timovima i u sebi će sadržavati sprege između pojedinih timova ili članova unutar tima u svrhu koordinacije postupaka i uvida učesnika u razvoju programske potpore u rezultate rada pojedinih članova tima ili samih timova.
Razvoj programske potpore nije trivijalan posao. Moguće su pogreške u dizajnu i samom programskom kodu. Tako ispravka jedne pogreške (bug-a) može dovesti do više novih da bi se postupno njihov broj smanjivao i sveo na najmanju moguću mjeru prije objelodanjivanja rezultata. Dakle, cijeli postupak je rekurzivan, iz tekuće faze moguć je povratak u prethodne da bi se uočeni nedostaci uklonili. Kad se gotov proizvod objelodani gotovo uvijek se naknadno ustanovi da ima nekakvih propusta. Nije popularno objelodaniti da je ispravljen nekakav propust (bug), već marketinški puno ljepše zvuči da je izvršen UPDATE, kako nekakva dogradnja ili slično. Nije .. nego .. :-) 'Update' je 'zakrpa' koji proizvođač obično nudi besplatno. U navedenom smislu sličan je termin UPGRADE, koji podrazumijeva nove osobitosti proizvoda (uz prešutno zakrpane bug-ove naravno) i za koje treba nešto i nadoplatiti.