Professional Documents
Culture Documents
Strukturno programiranje
Podsetimo se da smo gore naveli da praktikovanje strukturnog programiranja spada u apsekte
dobrog stila programiranja
• Strukturne naredbe (treba koristiti)
- Sekvence
- Uslovne naredbe
- While petlje
Odbrambeno programiranje
• Podstiče programera da se ne oslanja na sistem u smislu da će on uraditi stvari umesti vas
Portabilno programiranje
• Portabilno programiranje je takvo da je akcenat na zavisnosti od hardvera I
sistema(operativnog, kompajlerskog)
Stepenasto profinjavanje
• Dobar način za kreiranje “čistog” koda I obuhvata:
- Implementaciju sa apstraktnim podacima, operacijama
- Profinjavanje komentara
• Prednosti primene profinjavanja:
- Dokumentovan proces razvoja
- Jednostavnije I brže uvođenje novih osoba u suštinu programa
- Program je struktuiran po kontrolnim strukturama I po slojevima profinjenja.
Komentari
Identifikatori
● Ciljevi:
- Podrška razvoju programa
- Uproštavanje procesa razvoja softvera korišćenjem osnovnih koncepata
● Osnovni koncepti razvoja softvera:
- Funkcijsko stablo
- Psudo kod
- Box dijagram
- Petri mreže
- Dijagram klasa
- Dijagram toka programa (poluformalni, verbalni)
● Faze razvoja softvera:
- Faza definisanja
- Faza projektovanja
- Faza implementacije
Napomena:Radi boljeg razumevanja pogledati primere dijagrama (grafički prikaz) u temi 19(str. 40+)
Testiranje
Funkcionalno testiranje
● Takvo da se test primer kreira na osnovu specifikacije softvera i u toku kojeg je program
nepoznat
● Test primere možemo pronaći u specifikaciji zahteva i modelu proizvoda(ovo su delovi faze
definisanja)
Napomena: Objašnjenje na primeru možete viditi u Temi 21(str. 7-9)
● Pristup zasnovan na slučajevima korišćenja (seti se praktičnog zadatka u kojem smo imali
use case dijagrame)
● Dijagrami aktivnosti omogućavaju dodatnu analizu scenarija primene i test sekvenci
● Testiranje izuzetaka I graničnih vrednosti je izuzetno bitno ukoliko želimo bezbedan softver
Strukturno testiranje
● Takvo da se test primeri određuju iz programa I sam program je poznat (test bele kutije u kojem
je odlučujući faktor struktura programa )
● Orijentisano je ka toku kontrole i ka toku podataka
- Metodi toka kontore:
- Pokrivenost naredbi (svi test primeri moraju prolaziti bar jednom kroz svaku naredbu)
Cnaredba = BrojPosećenihČvorova / UkupanBrojČvorova
- Pokrivenost grana (prolaz kroz sve grane)
Cgrana = BrojPosećenihGrana / UkupanBrojGrana
- Uslov minimalno višestruke pokrivenosti (svaki uslov mora biti proveren test
primerom bar jednom za TRUE i jednom za FALSE slučaj)
- Testiranje unutrašnjih graničnih putanja (prolaz kroz telo ciklusa bar jednom)
- Metodi toka podataka:
- Odnos između dodele vrednosti i upotrebe vrednosti kod promenljivih
- Definisanje vrednosti (def:value)
- Upotreba vrednosti (use:value)
- Proširenje grafa kontrole toka
Struktuno VS Funkcionalno
● Strukturno testiranje
- Prednosti:
- Meri se kvalitet test primera
- Problemi:
- Funkcionalnost koja nedostaje se ne može uočiti
- Alati:
- Mere stepen pokrivenosti
● Funkcionalno testiranje
- Prednosti:
- Program se testira prema specifikaciji
- Problemi:
- Ako je specifikacija neprecizna i nekompletna
- Nemoguće je izmeriti kvalitet test primera
- Alati:
- Sistematičan izbor test primera