Kurs: Strukture podataka i algoritamsko modelovanje Materijali vezani uz ovu lekciju: - Test programiranje i veb aplikacije - Programiranje i veb aplikacije (PDF dokument) Šta je programiranje?Jednostavno posmatrano, programiranje ili kodiranje je skraćenica od računarskog programiranja. To je proces pisanja, testiranja, otklanjanja grešaka i održavanja izvornog koda nekog računarskog programa. Izvorni kod se piše na nekom od programskih jezika i može biti dorada nekog postojećeg programa ili neki sasvim novi kod. Cilj programiranja je da izrazi željeno ponašanje računara. Na primer, da slušamo muziku, da obrađujemo slike, pa čak i da pišemo druge programe na lakši način. Da bi se napisao izvorni kod, od programera se zahteva da poznaje različite pojmove o problemu za koji se piše program, znanje o domenu dalje primene samog programa i slično. Drugačije rečeno, programiranje je veština transformisanja zahteva u nešto što računar može da izvrši. Programiranje je samo jedna od faza u softverskom inženjerstvu. Još se vode debate da li je programiranje umetnost, veština ili jednostavno inženjerska disciplina.
Šta je program?Program je niz instrukcija zadatih računaru. Da bi računar funkcionisao, potrebni su mu programi. Računarski program se ne izvršava osim ako njegove instrukcije nisu izvršene od strane centralnog procesora (CPU). Računarski programi su obično izvršni programi ili izvorni kod iz kojeg se izvodi izvršivi program, na primer prevođenjem (kompajliranjem). Izvorni kod obično pišu profesionalni programeri u raznim programskim jezicima. Izvorni kod se može prevesti u izvršni fajl pomoću kompajlera, mogu se izvršavati direktno od strane računarskog procesora uz pomoć interpretera (jezika koji možemo smatrati simultanim prevodiocem) ili mogu biti ugrađeni direktno u hardver samog računara. Programe možemo kategorizovati po funkcionalnosti na sistemski softver i na aplikativni softver. Sistemski softver je operativni sistem konkretnog računara, kao i drajveri potrebni za pravilno funkcionisanje komponenti u računaru. Operativni sistem upravlja podacima koji se nalaze na računaru, uređajima koji se nalaze u njemu, prikazuje prozore (u slučaju grafički orijentisanih operativnih sistema), vodi računa o prioritetima izvršavanja procesa i slično. Aplikativni softver se koristi za konkretno izvršavanje nekog korisničkog zadatka. To može biti gledanje filmova, pisanje teksta, igranje igre, kreiranje muzike i tome slično. Noviji računari mogu da izvršavaju više programa istovremeno. Taj proces je poznat pod nazivom multitasking. Primeri operativnih sistema su Windows XP, Windows Vista, Linux, MacOS, itd... Potprogrami su delovi glavnog programa koji služe da se izvrše manji zadaci čije će rezultate iskoristiti glavni program u daljem radu. Instalacija programaModerni programi su sve složeniji i sastoje se od više malih celina. Često se isporučuju u kompaktnoj formi radi lakše prodaje ili distribucije. Da bi se mogli koristiti, potrebno ih je „raspakovati", odnosno izvršiti proces koji zovemo instalacijom softvera. Prilikom instalacije moraju da se uzmu u obzir varijacije u konfiguracijama različitih računara i tada se program konfiguriše tako da sačuva unete početne podatke, kao što su lokacija programa, opcije koje će se koristiti i sl. Raniji operativni sistemi nisu morali da se posebno instaliraju. Dovoljno je bilo iskopirati ih na određenu lokaciju. Pojam instalacije se prirodno proširuje na instalaciju drajvera za različite grafičke i zvučne kartice i tome slično.
Veb aplikacijeU softverskom inženjerstvu pod pojmom veb aplikacije se podrazumeva aplikacija kojoj se, uz pomoć nekog pretraživača (Internet explorera, Opere, Mozile...) pristupa direktno preko interneta. Osnova nekog programa je, dakle, na nekom veb serveru koji može da se nalazi bilo gde, a naš pretraživač je izvršava tek pošto mi zatražimo neku uslugu ili informaciju. To može biti i program koji je napisan u jeziku kojeg podržava naš pretraživač (HTML, JavaScript, PHP, Java) i oslanja se na to da će ga pretraživač izvršiti po potrebi. Veb aplikacije su popularne, jer ih je lako isporučivati, održavati i instalirati. Sve se odvija preko interneta i dostupne su hiljadama korisnika na klik dugmetom miša. Obično se koriste za usluge elektronske pošte, onlajn prodajama, aukcijama, diskusijama, blogovima, čak i za igranje na daljinu. ![]() Slika 1. Primer veb aplikacije u kojoj korisnik ima na raspolaganju razne sadržaje Pogodnosti korišćenja veb aplikacijaBitna prednost u korišćenju i pravljenju veb aplikacija je u tome da rade jednako dobro, bez obzira na operativni sistem klijenta na kom se izvršavaju. Umesto da se posebno pišu programi za različite operativne sisteme, takve aplikacije se mogu napisati samo jednom i distribuirati po potrebi. Međutim, nepoštovanje standarda pisanja koda u HTML-u ili CSS-u može da dovede do nepravilnog izvršavanja i ovih aplikacija. Dodatna mogućnost da svaki korisnik menja grafički prikaz na svom pretraživaču može da dovede do novih grešaka u izvođenju. Drugi pristup je da se koriste Adobe Flash ili Java apleti koji pružaju deo ili ceo korisnički interfejs. Na taj način je omogućeno programeru da zaobiđe razna podešavanja koja korisnici nameću dajući mu na taj način veću kontrolu nad interfejsom. Veb aplikacije su tipčni primer troslojne arhitekture programa. Prvi sloj ili nivo je sam pretraživač koji koristi korisnik. Drugi nivo je program koji koristi dinamičko pristupanje podacima napisan na nekom od sledećih jezika: ASP, ASP.NET, PHP i sl. Treći nivo je baza podataka na nekom serveru kojoj mi pristupamo u želji da nešto kupimo, pogledamo vremensku prognozu i slično. Mane korišćenja veb aplikacija su te da izvršavanje programa zavisi od veza sa serverom. Ako veza pukne aplikacija prestaje sa radom i potrebno ju je ponovo pokrenuti.
|