1 / 30

RAZVOJ PROGRAMA I PROGRAMSKI JEZICI

RAZVOJ PROGRAMA I PROGRAMSKI JEZICI. Grupa MI Milena Slaby Ivana Mežnarić. 1. Životni ciklus razvoja programa.

Download Presentation

RAZVOJ PROGRAMA I PROGRAMSKI JEZICI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RAZVOJ PROGRAMA I PROGRAMSKI JEZICI Grupa MI Milena Slaby Ivana Mežnarić

  2. 1. Životni ciklus razvoja programa • Stvaranje aplikacijskog programa se odnosi na razvoj aplikacijskog softvera. Potrebno je provesti 5 koraka potrebnih za razvoj programa koji čine životni ciklus razvoja programa. To su: • Analiza problema • Dizajn programa • Kodiranje programa • Uklanjanje grešaka programa i testiranje • Održavanje programa

  3. 1. Analiza programa Specifikacije programa 5. Održavanje programa 2. Dizajn programa Specifikacije dizajna 4. Uklanjanje grešaka i testiranje 3. Kodiranje programa Dokumentirani izvorni kod Grafikon 1: Životni ciklus razvoja programa Poboljšani komplet programa • Dovršeni komplet programa

  4. 1.1. Analiza programa Tijekom prvih par koraka životnog ciklusa razvoja sistema, sistemski analitičar razvija set specifikacija koje točno pokazuju što i kako bi trebao raditi novi sistem. Ove specifikacije se koriste u prvom koraku – analizi problema. Tijekom ove faze, sistemski analitičar i programer ponovno pregledavaju specifikacije. Također se nalaze sa korisnicima novog sistema da bi u potpunosti shvatili koje funkcije softverski program kojeg razvijaju treba imati za novi sistem. 1.2. Dizajn programa U ovom koraku, specifikacije iz analize koriste se da se preciznije objasni priroda programa. Dizajn programa predstavlja algoritam (koraci potrebni za obavljanje svih zadataka programa). Tek kad se završi programsko dizajniranje zapravo počinje kodiranje programa.

  5. 1.2.1. Vrste programiranja Strukturno programiranje Početkom 60-ih godina proizašle su metode koje su sistematizirale dizajn programa i učinile programe jednostavnijim za razumijevanje i održavanje. Ove metode se obično grupiraju pod nazivom sistemsko programiranje. Da bi se savladao problem razumijevanja, praćenja i modificiranja ovakvog tipa programa, strukturirani programi šalju naredbe van do potprograma – modula, kad god je potrebno izvesti malu ili ponavljanu radnju. Modul obavlja zadatak i tad se programska naredba vraća u glavni program. Programiranje orijentirano prema objektima (OOP) Jedna od glavnih motivacija za korištenje ovog pristupa je savladavanje multimedije i aplikacija za web stranice. Druga motivacija je pisanje programskog koda koji može značajno skratiti vrijeme razvoja programa. Ovo je stil programiranja u kojem su objekti, kao npr. tipke i prozori, modelirani koristeći softver objekti. Objekti u OOP programiranju sadrže i podatke i instrukcije.

  6. «Aspect-Oriented» Programiranje (AOP) Ova vrsta programiranja je poznatiji pristup softverskom razvoju. AOP je način slaganja programskih komponenata tako da se metode i pravila koje se zajedno koriste mogu lako ponovno koristiti sa odvojenim, nepovezanim objektima. Njegove pristalice AOP programiranje vide kao idući logički korak nakon objektno orijentiranog programiranja, nastavljajući proizvodnju softverskih programa koji su manji i lakši za upravljanje. 1.2.2. Alati za dizajniranje programa Alati za dizajn programa su planski alati. Sastoje se od dijagrama, grafikona, tablica, modela i drugih alata koji prikazuju organizaciju zadataka programa, korake koje će program slijediti ili karakteristike objekta.

  7. Structure charts – strukturni grafikoni Strukturni grafikoni slikovno i riječima prikazuju organizaciju programa. Prikazuju kako su dijelovi programa ili moduli, definirani i međusobno povezani. Klasični strukturni grafikon, sa svojih nekoliko redova kutija povezanih linijama, prikazuje organizacijski grafikon poduzeća. Strukturni dijagrami predstavljaju top – down filozofiju, prema kojoj su moduli konceptirani prvo na najvišim razinama hijerarhije a onda detaljnije prikazani u nižim razinama. Grafikon 2: Strukturni grafikon za aplikaciju platnog spiska

  8. Program flowcharts Program flowcharts koriste geometrijske simbole i znakove kao što je npr. < za „manje od“, da bi grafički prikazali slijed koraka u programu. Tablica 1: Znakovi koji se upotrebljavaju u program flowcharts Svaki flowchart počinje i završava sa ovalnim start/stop simbolom. Prvi simbol je start a zadnji stop. Simbol u obliku dijamanta označava pitanje, općenito sa dva moguća odgovora – da i ne, ili točno i netočno. Simboli za odluku uvijek imaju jednu flowline (linije sa strelicama koje povezuju simbole) koja ulazi i dvije koje izlaze.

  9. Pravokutni simbol je simbol obrade i sadržava akciju koja će se provesti. Connector je mjesto susreta nekoliko flowline-a. Input/output simbol omogućava procesu opisanom u flowchart-u da uvede ili izvede podatak. Pseudocode Pseudocode je alternativa flowchart-u. Ova strukturna tehnika koristi izjave na mjestu grafičkih simbola u flowchart-u. Izgledom više sliči na program nego flowchart. Ne postoji formalni set standarda za pisanje pseudocode-a, no ipak postoje neki standardi koji se češće koriste, npr. riječi start i stop se koriste za početak i kraj pseudocode-a, sve riječi koje su povezane sa kontrolnom strukturom se obično pišu velikim tiskanim slovima, itd. Data modeling Data modeling je tehnika ilustriranja podataka u aplikaciji i obično se koristi kad se dizajnira aplikacija koja će se primijeniti koristeći objektno – orijentirano programiranje.

  10. ULAZ Procedura 1 Procedura 2 Procedura 3 IZLAZ 1.2.3. Kontrolna struktura Kontrolna struktura je model koji kontrolira kad i kao će se instrukcije u programu izvoditi. Redoslijed kao kontrolna struktura Redoslijed ili sequence je jednostavna serija procedura koje slijede jedna drugu. Grafikon 3: Primjer redoslijeda

  11. ULAZ Točno (Da) Netočno (Ne) ? uvjet Procedura 1 Procedura 2 IZLAZ Selekcija kao kontrolna struktura Sa ovim tipom kontrolne strukture, upute koje prima kontrola programa ovise o određenim uvjetima. Najčešći tip selekcije je ako-onda-ili struktura prikazana na idućem grafikonu, u kojoj uvjet može rezultirati dvjema mogućnostima – točno ili netočno (da ili ne). Grafikon 4: Ako-onda-ili tip selekcije Ako je određeni uvjet točan, tada program slijedi jednu proceduru, ili, ako je netočan program slijedi drugu proceduru.

  12. ULAZ Netočno (Ne) ? uvjet Procedura ? uvjet Točno (Da) Procedura Netočno (Ne) Točno (Da) IZLAZ IZLAZ Do - while Do - until Ponavljanje kao kontrolna struktura Ponavljanje ili repetition control strukture koristi se jedna ili više instrukcija koje treba ponoviti u petlji sve dok se određeni uvjet ne zadovolji. Može biti u dva oblika: do-while ili do-until. Grafikon 5: Do-while i do-until tipovi repetition control strukture ULAZ

  13. Sa do-while strukturom instrukcije se ponavljaju toliko dugo dok je određeni uvjet točan. Sa do-until strukturom instrukcije se ponavljaju toliko dugo dok je određeni uvjet netočan. • 1.2.4. Važnost dobrog dizajna programa • Dobar dizajn programa je jako bitan. Postoji nekoliko osnovnih principa koji bi se trebali imati na umu da bi se napravio dobar programski dizajn: • budi točno određen (da bi se dale dobre instrukcije računalu, svaki njegov korak i odluka moraju biti precizno definirani) • pravilo jedne ulazne i jedne izlazne točke (iznimno važno pravilo kontrolne strukture da ima samo jednu ulaznu i jednu izlaznu točku) • ne postojanje infinite loops ili logičkih grešaka (infinite loops je set instrukcija koje se vječno ponavljaju. Nastane kad do-while uvjet nikad ne postane netočan ili do-until nikad ne postane točan. Razlog tome je stavljanje krivih znakova) • specifikacije dizajna (dokumentacija koja proizlazi iz dizajna programa, ilustrira korake potrebne da se riješi problem pitanja)

  14. 1.3. Kodiranje programa Nakon što se dovrši dizajniranje programa, program se kodira. Kodiranje je proces pisanja koraka programa na programskom jeziku. U procesu kodiranja računalni profesionalci često koriste posebne tehnike koje im pomažu da budu produktivniji. • 1.3.1. Odabir programskog jezika • Postoji mnogo različitih programskih jezika koji se mogu odabrati za kodiranje programa. Neki kriteriji koji utječu na taj odabir su sljedeći: • prikladnost • uklopljivost • standardi • dostupnost programera • prenosivost • brzina razvoja

  15. 1.3.2. Standardi kodiranja Mnoge organizacije danas slijede standarde kodiranja – lista pravila napravljenih da bi se standardizirali stilovi programiranja. Ova pravila pomažu da programi budu univerzalnije čitljivi i lakši za održavanje. 1.3.3. Ponovno upotrebljiv kod Različiti programi često upotrebljavaju neke iste blokove koda. Ponovno upotrebljiv kod omogućuje da se dijelovi novih programa kreiraju kopiranjem i lijepljenjem prethodno testiranih dijelova koda, iz već postojećih programa. 1.3.4. Rječnici podataka Rječnik podataka sadrži informacije o podacima koji se susreću u procesiranju informacija o poduzeću. Većina rječnika podataka su aktivni, što znači da su umreženi s aplikacijama koje podržavaju.

  16. 1.3.5. Prevođenje kodiranih programa u izvedivi kod Prevoditelj jezika je softverski program koji prevodi programerove kodirane programe u strojne jezike. Kompajleri Kompajler prevodi cijeli program u strojni jezik prije izvođenja istog. Interpreteri Interpreter ne kreira cijeli objektni modul za program, nego čita, prevodi i izvodi izvorni program red po red. Asembleri Treći tip prevoditelja jezika, asembler, prevodi navode sa asembli jezika na strojni jezik. Asembli jezik upotrebljavaju uglavnom samo profesionalni programeri za pisanje učinkovitog koda. Asembler radi kao kompajler, radeći spremljene objektne module.

  17. 1.4. Uklanjanje grešaka programa i testiranje Uklanjanje grešaka je proces kojim se osigurava da program nema grešaka ili bug-ova. 1.4.1. Preliminarno uklanjanje grešaka Proces uklanjanja grešaka počinje nakon ulaska izvornog koda u računalo. Greške sintakse Greške sintakse pojavljuju se kad programer ne slijedi odgovarajuće pravilo programskog jezika koji se upotrebljava (npr. računalo ne može razumjeti što se želi napraviti ako se krivo napiše PRINT kao PRNT). Logične greške Logične greške proizlaze iz logičnih problema u dizajnu programa i često ih je teško otkriti. Takva greška nastaje npr. ako se formula napiše pogrešno, ako se napravi pogreška u donošenju uvjeta, ili ako se pogrešno definira problem.

  18. Testiranje Na nekoj točci u procesu pronalaženja pogrešaka, program će izgledati pravilan. U tom trenutku programer pokreće program sa opsežnim «test data». Pravilno pronalaženje pogrešaka i testiranje je ključno zbog toga što greška čiji popravak košta samo nekoliko dolara na ovom stadiju u razvojnom procesu, mogla bi koštati nekoliko tisuća dolara za ispravljanje nakon što je program završen. Beta testiranje Test napravljen na mjestu proizvodnje u poduzeću je često upućen kao alpha test. «Beta» testiranje je vanjsko testiranje koje obavlja velik broj volontera koristeći različite hardverske konfiguracije. Preporuča se da program što više puta prođe kroz testiranja prije nego će proizvod biti pušten u prodaju. Završen paket programa Za završiti programski paket, potrebna je korisnička dokumentacija koja bi trebala biti razvijena. Korisnička dokumentacija uobičajeno obuhvaća korisnički priručnik, prikaz softverskih naredbi, te naputak za otkrivanje smetnji.

  19. 1.5. Programsko održavanje Svaki program, ako bi trebao trajati neko duže vrijeme zahtijeva konstantno održavanje. Programsko održavanje je proces obnavljanja softvera tako da i dalje bude koristan. Primjerice ako se u bazu podataka dodaju novi tipovi podataka programsko održavanje je nužno da bi program mogao koristiti nove podatke. Izmijenjen i dopunjen programski paket Programski paket trebao bi se obnavljati da bi pokazao koji problemi su se pojavili i koje promjene programa su potrebne da bi ih se uklonilo. Ako je problem prevelik za rutinsko programsko održavanje, program bi se trebao opet razviti.

  20. 2. Alati za olakšavanje programskog razvoja Brza razvojna tehnologija i alati su danas mnogo važniji nego ikada do sada. Programski razvojni alati mogu biti upotrijebljeni da olakšaju razvoj programskog procesa. 2.1. Aplikativni generatori Aplikativni generator je softverski proizvod koji omogućava programerima, također i korisnicima, šifrirati novu aplikaciju vrlo brzo. Jednostavni primjer je kompjutorski čarobnjak. 2.1.1. Macro zapisivač Mnogi aplikativni programi dozvoljavaju kreiranje macro-a. Macro je ishod pritiska tipke spremljenog u posebnu datoteku koja će biti prikazana u svakom trenutku kada zaželite da se pokaže iz aplikacijskog programa u kojem je kreiran.

  21. 2.1.2. Generatori izvješća i generatori oblika Generator izvješća omogućava pripremu izvješća brzo i jednostavno. Generatori oblika su srodni generatorima izvješća, izuzev što oni mogu kreirati oblike ili zaslone korištene za input podataka u programu ili bazi podataka. 2.1.3. Generatori šifri Generatori šifri su programi koji dozvoljavaju aplikacijama da se kreiraju automatskim prijevodom sa jednog jezika na drugi, ili sa jednog formata u neki drugi oblik šifre. 2.2. Kompjutorsko-potpomognuta softverska tehnika (CASE) Ponekad se također naziva poslovna svojstva alata; upućuje općenito na proizvode dizajnirane da automatiziraju, pomognu voditi, i pojednostave jedan ili više koraka u programskom razvoju.

  22. 2.3. Softver – sredstva menadžmentskih alata Ona su dizajnirana da bi olakšala ponovno korištenje šifri. Cilj upotrebe ovog softvera je da napravi nove aplikacije i podupre nove poslovne procese mnogo brže i vjerodostojnije. 2.4. Alati za brži aplikacijski razvoj (RAD) Odnose se na grupu metoda razvoja programa u kojima je glavni cilj postići ekstremnu zbijen raspored. RAD se često koristi zajedno sa objektno-orijentiranim programiranjima. RAD programi obično uključuju čarobnjaka da generiraju aplikacije u što kraćem vremenu.

  23. 3. Programski jezici Programski jezik je skup pravila, riječi, simbola i kodova koji se upotrebljavaju za pisanje kompjutorskih programa. Prilikom pisanja kompjutorskih programa koristi se programski softver – program čija je glavna svrha omogućavanje korisnicima da razvijaju kompjutorske programe u specifičnom programskom jeziku. • 3.1. Kategorije (vrste) programskih jezika • Programske jezike svrstavamo u tri kategorije: • jezici niske razine • jezici visoke razine • jezici vrlo visoke razine (jezici četvrte generacije) • Programski jezici također mogu biti prirodni ili vizualni programski jezici.

  24. 3.1.1. Programski jezici niske razine Najstarije programske jezike koji su vrlo detaljni i strojno ovisni nazivamo jezicima niske razine, a to su strojni i asemblerski jezici. Nazivamo ih jezicima niske razine jer programeri u njih upisuju instrukcije, odnosno naredbe na najnižoj razini kako bi ih računalni hardver mogao lakše i brže razumjeti. Strojni jezikje programski jezik niske razine pomoću kojeg se kompjutorski programi pišu u kodovima, odnosno naredbama binarne forme (0 i 1). Asemblerskijezikje nastao na temelju strojnog jezika, ali programerima omogućuje korištenje naziva umjesto brojeva, što je jednostavnije i lakše za razumjeti i zapamtiti. 3.1.2. Programski jezici visoke razine Programski jezici visoke razine jednostavniji su za pisanje programa, traže manje detaljan kod, neovisni su o stroju, te puno bliži prirodnim ljudskim jezicima (posebice u odnosu na strojne jezike).

  25. U ovu klasu jezika uključuju se i oni poznatiji kao treća generacija programskih jezika, kao što su BASIC, COBOL, Pascal, C, FORTRAN i drugi. Noviji visoko razvijeni jezici su C++, C# i Visual Basic. 3.1.3. Jezici četvrte generacije Jezici četvrte generacije još se nazivaju i jezicima vrlo visoke razine. Bliži su prirodnim jezicima koje koriste ljudi nego jezici treće generacije, jednostavniji su za korištenje i traže vrlo malo kodiranja od programera i korisnika. 3.1.4. Prirodni jezici Softver koji koristi sučelje prirodnog jezika omogućava ljudima komunikaciju sa računalnim sustavom na njihovom urođenom jeziku. Korisnik ovog sučelja ne mora poznavati pravila i sintaksu pojedinog kompjutorskog jezika. Programiranje prirodnim jezicima je još u početnoj, nerazvijenoj fazi.

  26. 3.1.5. Vizualni jezici To su jezici koji se, za razvijanje grafičkog korisničkog sučelja, koriste grafičkim programskim okruženjem. Programi pisani ovim jezikom reagiraju i djeluju povodom različitih poruka ili radnji, npr. klikom na neko dugme ili ikonicu. Prvi programski jezik koji je koristio vizualno okruženje je Visual Basic, a kasnije C++, Pascal i Java. 3.1.6. Popularni programski jezici Najpopularniji i najkorišteniji programski jezici današnjice su jezici treće i četvrte generacije. FORTRAN (FORmula TRANslator) Najstariji programski jezik visoke razine, razvijen je još 1954. g. Koristi se u aplikacijama za rješavanje znanstvenih, matematičkih i tehničkih problema pomoću manipulacije formula. FORTRAN je još uvijek popularan, osobito za znanstvene primjene koje zahtijevaju složene matematičke izračune.

  27. COBOL (Common Business-oriented Language) COBOL je programski jezik za poslovne primjene. Razvijen je 1958. g. i jedan je od prvih predstavnika programskih jezika visoke razine, odmah iza FORTRAN-a. Namijenjen je razvoju poslovnih aplikacija koje se izvode na velikim računalima. PASCAL Ovaj program je stvoren da bi ispunio potrebu alata za učenje za stvaranje strukturiranog programiranja. Pascal podupire obilje tipova podataka i posebno je prilagođen za matematičke i znanstvene aplikacije. BASIC i Visual Basic Basic je stvoren za lakše učenje početničkog jezika. Radi vrlo dobro gotovo na svim računalima i jedan je od najraširenije korištenih instrukcijskih jezika za početnike. Visual Basic je orijentiran na objekt, pripada u četvrtu generaciju Basica i stvoren je da bi razvio sofisticirane aplikacije koje rade u Microsoft Windows operativnom sustavu.

  28. C, C++ i C# C kombinira najbolje dijelove strukturiranih jezika visoke razine i asemblerskih jezika, tj. relativno lako kodira i efikasno koristi izvore računala. Iako originalno dizajniran kao sustav programiranja jezika, C se dokazao kao snažan i fleksibilan jezik koji se koristi za različite aplikacije. Najviše ga koriste stručnjaci da bi stvorili softver proizvode. Novija verzija C jezika je nazvana C++, a najnovija verzija C jezika je C# (C sharp). JAVA Java je objektno orijentiran programski jezik sličan C++, ali je pojednostavljen da bi izbacio dijelove koji prouzrokuju zajedničke programske greške. Java je trenutno jedan od najpopularnijih modernih programskih jezika.

  29. Pitanja: • Što je flowline? • Koje su 3 vrste prevoditelja jezika? • Kakve vrste grešaka u programu postoje? • Što je jednostavan primjer aplikativnog generatora? • Koje su 3 vrste programskih jezika? • Strukturni dijagrami predstavljaju filozofiju. • Ponavljanje kao kontrolna struktura može biti u 2 oblika: • ili . • je vanjsko testiranje koje obavlja velik broj volontera koristeći različite hardverske konfiguracije. • Programski jezik niske razine pomoću kojeg se kompjutorski programi pišu u kodovima, odnosno naredbama binarne forme (0 i 1) zove se . • Najstariji programski jezik visoke razine, razvijen još 1954. g. zove se .

  30. Hvala na pažnji!!!

More Related