Osnovni potek izgradnje programske opreme Življenjski cikel programske opreme • • • • • • • Podajanje problema – specifikacija zahtev Analiza zahtev Načrtovanje rešitve problema Implementacija Testiranje in validacija Namestitev in predaja Vzdrževanje in nadgradnja Način podajanja problemov – specifikacija zahtev • Izdelava programa se začne s podajo oz. specifikacijo zahtev • Specifikacija zahtev je lahko neformalna ali formalna oz. nekje vmes • Neformalne zahteve so običajno podane v obliki prostega besedila – problem dvoumnosti • Formalne zahteve so običajno podane v obliki matematičnih formul, primerov delovanja oz. uporabe programa – problem razumljivosti Primeri podajanja zahtev Dvoumne in nepopolne specifikacije • Popolne specifikacije že za nekoliko kompleksnejše probleme je skoraj nemogoče podati • Naročnik predvideva, da programer pozna področje problema do potankosti – “samoumevne” zahteve • Programer misli, da zna uporabnik razmišljati na “računalniški” način Dvoumne in nepopolne specifikacije • Naloga iz ankete: – Napišite program, ki bo na zaslon izpisal prvih deset parnih števil. Pri tem naj izpusti števili 4 in 5. 2, 6, 8, 10, 12, 14, 16, 18, 20 • Ali je 22 tudi del rešitve? • Kakšen pomen ima število 5? Spremenljive specifikacije • Uporabnik ugotovi, da ni podal vseh zahtev • Uporabnik sproti spoznava dodatne zmožnosti ponujene rešitve in možne razširitve funkcionalnosti aplikacije • Spremembe zakonodaje • … “Edina nespremenljiva lastnost specifikacij je, da se bodo spreminjale.” Kako priti do popolnejših specifikacij zahtev? • Z dobrim poznavanjem področja problema, ki ga rešujemo • Z intervjuji z uporabnikom • Z zbiranjem informacij o obstoječih postopkih dela, dokumentih, ki pri tem nastajajo, predpisih in zakonskih odločbah, … (posnetek stanja) • … Prototipiranje • Ena izmed možnosti, da pridemo do ustreznih specifikacij zahtev je, da izdelamo model (prototip) končne aplikacije in jo uporabimo za komunikacijo z uporabnikom • Prototip lahko nadgradimo do polne aplikacije ali pa ga zavržemo in aplikacijo implementiramo od začetka Analiza problema • Z analizo lahko ugotovimo ali problem sploh lahko rešimo v podanih časovnih (in denarnih) okvirjih – projekt lahko tudi zavrnemo • Z analizo določimo grob časovni plan in resurse, ki jih bo potrebno angažirati za izpeljavo projekta • Z analizo določimo osnovno idejo rešitve problema Načrtovanje rešitve problema • V tem koraku naderimo načrt kako bomo problem rešili • Določijo se osnovni sklopi (segmenti) aplikacije • Določi se podatkovni model (načrt baze podatkov) • Določi se splošna oblika uporabniških vmesnikov, povezave z drugimi obstoječimi aplikacijami, … Implementacija • • • • • • Izdelava programske kode – kodiranje Izdelava poročil Implementacija podatkovne baze Izdelava tehniške dokumentacije Izdelava uporabniških priročnikov … Testiranje in validacija • Preverimo pravilnost delovanja programov • Preverimo skladnost delovanja programov z osnovnimi specifikacijami zahtev • Preverimo in ocenimo zmogljivosti (performanse) delovanja Namestitev in predaja • Namestitev programske opreme v okolju naročnika (preko namestitvenih programov) • Uvajanje uporabnikov • Prevzemno testiranje Vzdrževanje in nadgradnja • Nameščena programska oprema je le redko statična: – Odkrijejo se nove napake – Pride do spremembe zakonodaje – Pojavijo se potrebe po izboljšavah
© Copyright 2024