softversko inzenjerstvo

7
Uvod u softversko 1. Objasnite šta je softverski proces, a šta model softverskog procesa. Navedite najmanje 5 modela. Šta je softverski proces i kakva je razlika između modela i metoda softverskih procesa? Šta je CASE? U kakvoj je relaciji CASE sa softverskim procesima. 2. Po vašem mišljenju kada se može tvrditi da je softverski proizvod dobar? Obrazložite svoj stav. 3. Šta je softver, a šta softversko inženjerstvo? 4. Uvod u softversko inženjerstvo a. Šta je softversko inženjerstvo? Kakva je distribucija troškova prema aktivnostima softverskog inženjerstva? b. Šta je generički, a šta ugovorni softver? Koji su atributi dobrog generičkog, a koji dobrog ugovornog softvera? 5. Uvod u softversko inženjerstvo a. Šta je softversko inženjerstvo i kakva je razlika između sofverskog inženjerstva i nauke o računarstvu, a kakva između softverskog i sistemskog inženjerstva? b. Opisati atribute dobrog softvera. Koje atribute treba da poseduje generički, a koje ugovorni softver? 6. Uvod u softversko inženjerstvo c. Šta je softversko inženjerstvo i kakva je razlika između sofverskog inženjerstva i nauke o računarstvu? d. Koji su atributi dobrog softvera? 7. Šta je softversko inženjerstvo i u kakvoj je vezi sa sistemskim inženjerstvom? 8. U kakvoj su vezi softversko inženjerstvo, sistemsko inženjerstvo i računarske nauke? Zašto smatramo da je softver više od programa koji može izvršavati krajnji korisnik na svom sistemu? 9.Kakva je razlika u razvoju generičkog i ugovorenog softverskog proizvoda? Objasniti zašto su troškovi testiranja generičkog softvera posebno visoki. 10.Šta je inženjerstvo'? Po čemu se inženjerstvo' razlikije od nauke'? 11.Navedite osnovne aktivnosti softverskog inženjerstva. 12. Softverski procesi a. Šta je softverski proces i kakva je razlika između modela i metoda softverskih procesa? Šta je CASE? U kakvoj je relaciji CASE sa softverskim procesima? b. Navesti 4 generička modela softverskog procesa i sa 2-4 rečenice opisati 4

Upload: milos-stojanovic

Post on 30-Jul-2015

102 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Softversko inzenjerstvo

Uvod u softversko

1. Objasnite šta je softverski proces, a šta model softverskog procesa. Navedite najmanje 5 modela. Šta je softverski proces i kakva je razlika između modela i metoda softverskih procesa? Šta je CASE? U kakvoj je relaciji CASE sa softverskim procesima.

2. Po vašem mišljenju kada se može tvrditi da je softverski proizvod dobar? Obrazložite svoj stav.3. Šta je softver, a šta softversko inženjerstvo?4. Uvod u softversko inženjerstvo

a. Šta je softversko inženjerstvo? Kakva je distribucija troškova prema aktivnostimasoftverskog inženjerstva?b. Šta je generički, a šta ugovorni softver? Koji su atributi dobrog generičkog, a kojidobrog ugovornog softvera?

5. Uvod u softversko inženjerstvoa. Šta je softversko inženjerstvo i kakva je razlika između sofverskog inženjerstva i nauke o računarstvu, a kakva između

softverskog i sistemskog inženjerstva?b. Opisati atribute dobrog softvera. Koje atribute treba da poseduje generički, a koje ugovorni softver?

6. Uvod u softversko inženjerstvoc. Šta je softversko inženjerstvo i kakva je razlika između sofverskog inženjerstva i nauke o računarstvu?d. Koji su atributi dobrog softvera?

7. Šta je softversko inženjerstvo i u kakvoj je vezi sa sistemskim inženjerstvom?8. U kakvoj su vezi softversko inženjerstvo, sistemsko inženjerstvo i računarske nauke? Zašto smatramo da je softver više od programa koji može izvršavati krajnji korisnik na svomsistemu?9.Kakva je razlika u razvoju generičkog i ugovorenog softverskog proizvoda? Objasniti zašto su troškovi testiranja generičkog softvera posebno visoki.10.Šta je inženjerstvo'? Po čemu se inženjerstvo' razlikije od nauke'?11.Navedite osnovne aktivnosti softverskog inženjerstva.12. Softverski procesi

a. Šta je softverski proces i kakva je razlika između modela i metoda softverskihprocesa? Šta je CASE? U kakvoj je relaciji CASE sa softverskim procesima?

b. Navesti 4 generička modela softverskog procesa i sa 2-4 rečenice opisati 4zajedničke aktivnosti softverskih procesa. Ako je vaš zadatak razvoj UML editora,koji biste model softverskog procesa odabrali? Obrazložite odgovor.

c. Opisati spiralni model softverskog procesa.13. Softverski procesi

a. Navesti 4 generička modela softverskog procesa i sa 2-4 rečenice opisati 4 zajedničke aktivnosti softverskih procesa. Ako ste rukovodilac projekta čiji je zadatak razvoj Word procesora za tržište, koji biste model softverskog procesa odabrali? Obrazložite odgovor.

b. Navesti izlazne produkte svake faze modela vodopada.c. Opisati model razvoja softvera koji je zasnovan na komponentama.

14. Softverski procesia. Objasnite prototipni model softverskog procesa.b. Objasnite glavne aktivnosti u procesu projektovanja softvera i

izlaze iz ovih aktivnosti.15.Softverski procesi

d. Šta je softverski proces i kakva je razlika između modela i metoda softverskih procesa?e. Navesti 4 generička modela softverskog procesa i sa 2-4 rečenice opisati 4 zajedničke aktivnosti softverskih procesa.

Ako je vaš zadatak razvoj Operativnog sistema, koji biste model softverskog procesa odabrali? Obrazložite odgovor.f. Kakva je razlika između istraživačkog razvoja i prototipovanja sa odbacivanjem prototipova?

Page 2: Softversko inzenjerstvo

16.Kakva je razlika u razvoju generičkog i ugovorenog softverskog proizvoda?17.Objasniti zašto su programi razvijeni korišćenjem evolutivnog modela razvoja teški za održavanje.18.Navedite modele softverskih procesa koji su se pojavili nakon modela vodopada. Na osnovu kojih kriterijuma biste izabrali softverski proces za konkretni softverski projekat?19.Rukovodilac ste jednog softverskog projekta. Vaš razvojni tim čine analitičari/inženjeri zahteva, projektanti, programeri, inženjeri testiranja i instruktori/uvođači softvera. Za razvoj softvera ste izabrali inkrementalni model. Kako ćete rasporediti osoblje? Obrazložite raspored. Objasnite zašto dodavanje osoblja na projekat koji kasni može da prouzrokuje još veće kašnjenje.20.Objasnite razlike između greške, nedostatka i neispravnosti (otkaza). Da li se broj nedostataka može koristiti kao mera kvaliteta softverskog proizvoda? Obrazložite odgovor.21.Dva najpopularnija pristupa faznom razvoju softvera su inkrementalni i iterativni razvoj. Objasnite razliku između ova dva pristupa i na osnovu kojih kriterijuma biste izabrali jedan od njih za konkretni softverski projekat.22.Prikažite V model procesa U kakvoj je vezi V model sa modelom vodopada.23.Ako softverski proizvod poseduje funkcionalnost koju korisnik očekuje, da li se može tvrditi da je softverski proizvod dobar? Obrazložite odgovor23.Opisati glavne aktivnosti procesa projektovanja softvera i izlaze iz ovih aktivnosti. Koristeći dijagram, prikazati veze između ovih izlaza.25. Navedite alate koje ste koristili za razvoj vašeg projekta iz Uvoda u softversko inženjerstvo. Klasifikujte ove alate prema sledećim parametrima: funkcija, aktivnost, podrška koju obezbeđuje.26.Objasniti kako se model vodopada i spiralni model mogu smestiti u spiralni model procesa27. Ako softverski proizvod poseduje funkcionalnost koju korisnik očekuje, da li se može tvrditi da je softverski proizvod dobar?Obrazložite odgovor.28.Koje su prednosti postojanja statičkog i dinamičkog pogleda na softverski proces, kao što jeslučaj u RUP-u?29. Kada se po RUP metodologiji vrši arhitekturno projektovanje i šta se pod tim podrazumeva?

DRUGI DEO PRVE SKRIPTE

Upravljanje projektima1. Koje aktivnosti obuhvata upravljanje projektima? Rukovodilac projekta je zadužen za izradu planova rada na projektu. O kojim je planovima reč i šta oni sadrže?

2. Šta su kontrolne tačke, a šta izlazni produkti? Ko određuje kontrolne tačke projekta i na osnovu kojih parametara?

3. Šta je rizik, a šta upravljanje rizikom? Kao rukovodilac projekta Word procesor koje biste rizike identifikovali? Razvrstajte ih po tipovima.

4. Diskutovati tipove rizika koristeći kao primer projekat razvoja Operativnog sistema.

5. Objasniti zašto je planiranje projekta iterativan proces i zašto plan projekta mora biti kontinualno revidirati?

6. Šta je rizik? Šta je cilj analize rizika, a šta monitoringa rizika?

7. Šta je rizik, a šta upravljanje rizikom? Da li se rizik može sprečiti? Ako je odgovor DA, opišite kako.

8 .Šta je rizik, a šta upravljanje rizikom? Navesti tipove rizika. Ako ste rukovodilacprojekta UML editor, koje biste rizike identifikovali? Razvrstajte ih po tipovima.

9. Navedite glavne aktivnosti upravljanja projektima. Koristeći ovu listu objasnite zašto najbolji programeri nisu uvek najbolji softver menadžeri (rukovodioci softverskih projekata).

10. Objasnite sledeće koncepte SW inžinjeringa: rizik, upravljanje rizikom. Naveditetipove rizika i po jedan primer za svaki tip rizika.

11. Šta su kontrolne tačke, a šta izlazni produkti? Navesti moguće kontrolne tačke iizlazne produkte kodmodela vodopada. Ko određuje kontrolne tačke projekta i naosnovu kojih parametara?

Page 3: Softversko inzenjerstvo

12. Šta sadrži plan softverskog projekta? Ukratko objasnite namenu svake sekcije projekta.

13. Na javnim mestima u gradu treba instalirati turističke table koje će omogućiti turistimapronalaženje željene lokacije i puta do te lokacije. Vi ste rukovodilac projekta ”Turističketable”. Identifikujte rizike i izvršite njihovu analizu.

14. Šta je rizik, a šta upravljanje rizikom? Analizirajte studentske projekte iz softverskog inženjerstva i navedite rizike da se projekat ne završi na vreme. Koje tehnike možete da koristite za ublažavanje rizika?

Specifikacije zahteva1. Objasnite razliku između definicije i specifikacije zahteva. Ko priprema definicija, a ko specifikaciju zahteva?

2. Objasnite šta u softverskom inženjerstvu znače sledeća dva termina: (1) zahtev i (2) inženjering zahteva.

3. Zahtevi se razvrstavaju u tri kategorije: (1) funkcionalni, (2) nefinkcionalni i (3) domenski. Objasnite ovu kategorizaciju.Kao primer koristite zahteve koje je naveo naručilac softvera za podršku servisnoj službi koja održava rendgen aparate širom sveta:

a. Softver treba da je dostupan samo registrovanim serviserimab. Softver treba da je na raspolaganju 24 hc. Softver treba da je dostupan preko mobilnih telefona i PAD uređajad. Softver treba da ima interfejs ka Oracle bazi podatakae. Softver treba istovremeno da opslužuje 50 000 servisera širom svetaf. Softver treba da omogući serviseru da pregleda sve ranije intervencije na konkretnom r rendgen aparatug. Softver treba da ima centralizovani sistem administriranja

4. Naručilac je tokom prvih sastanaka naveo sledeće ’zahteve’:

a. Softver treba da služi kao podrška servisnoj službi kompanije

b. Softver treba da je na raspolaganju 24 h

c. Softver treba istovremeno da opslužuje 50 000 servisera širom sveta

d. Softver treba da je dostupan preko mobilnih telefona i PAD uređaja

e. Softver mora da ima interfejs ka Oracle bazi podataka

f. Klijentski demon treba da je nevidljiv za korisnika

g. Softver treba da obezbedi tri nivoa zaštite podataka

h. Softver treba da je dostupan samo registrovanim serviserima

i. Softver treba da ima centralizovani sistem administriranja

j. Komunikacija između baze podataka i servera treba da bude šifrovana

Klasifikujte ove zahteve kao funkcionalni zahtev, zahtev u pogledu kvaliteta, projektno ograničenje ili ograničenje procesa. Objasnite klasifikaciju.

5. Navesti metode inženjeringa zahteva zasnovane na ponašanju sistema i objasniti svaku od njih.

Page 4: Softversko inzenjerstvo

6. Objasnite 4 tipa nefunkcionalnih zahteva i za svaki tip navedite primer.

7. Objasnite namenu i strukturu dokumenta o zahtevima. Da li ovajdokument sadrži use-case dijagrame i dijagrame

sekvenci? Akoje odgovor DA, navedite deo dokumenta gde se ovi dijagraminalaze.

8. Šta je zahtev? Kakva je razlika između funkcionalnih, nefunkcionalnih idomenskih zahteva?

9. Vaš zadatak je razvoj UML editora. Navesti bitne funkcionalne, nefunkcionalne idomenske zahteve.

10. Šta su C-, a šta D-zahtevi? Ko definiše C-, a ko D- zahteve i koja im je namena?Navesti primer C i D zahteva projekta UML

editor.

11. Šta sadrži dokument o zahtevima? Ukratko objasnite namenu svake sekcije dokumenta.

12. Napisati nefunkcionalne zahteve za projekat ”Turističke table”.

13. Objasnite razlike između korisničkih i sistemskih zahteva. Formulišite jedan korisnički i jedan sistemski zahtev za softverski proizvod po izboru. Navedite o kom se proizvodu radi.

Metode inženjering zahteva1.

a. Objasniti DFD dijagrame.b. Navesti najpoznatije metode inženjeringa zahteva.c. Šta je to studija izvodljivosti i koja je njena uloga u procesu specifikacijezahteva?d. Navesti metode inženjeringa zahteva zasnovane na ponašanju sistema.

2. Navesti osnovne aktivnosti u procesu inženjeringa zahteva i objasniti svaku od njih.

3. Objasniti spiralni model procesa inženjeringa zahteva.

4. Šta je slučaj korišćenja? Kada se razvijaju slučajevi korišćenja.

5. Skicirati slučajeve korišćenja ”Turističke table”.

6. Navedite metode inženjeringa zahteva zasnovane na ponašanju sistema i objasnite svaku od njih.

7. Objasniti Use-case dijagrame.

8. Navesti najpoznatije metode inženjeringa zahteva.

DRUGI DEO

1. Objasniti Use-case dijagrame.2. Objasniti spiralni model procesa inženjeringa zahteva.3. Navesti najpoznatije metode inženjeringa zahteva.4. Objasniti DFD dijagrame.5. Navesti osnovne arhitekturne modele za projektovanje softvera.6. Objasniti Client/Server arhitekturni model.

Page 5: Softversko inzenjerstvo

7. Objasniti Feed-Back arhitekturni model.8. Šta je integrisano u radnu klupu za testiranje?9. Ko obavlja inspekciju softvera? Kako se izvodi inspekcija?10. Prikažite proces testiranja objektno-orijentisanog programa.11. Kakva je razlika između defektnog i validacionog testiranja, a kakva između testiranja i debaginga?

12. Objasniti u kakvoj je relaciji arhitekturno i detaljno projektovanje.13. Kada se po RUP metodologiji vrši arhitekturno projektovanje i šta se pod tim podrazumeva?14. Napisati preporuke kada treba koristiti Feed-Back, a kada Event-driven arhitekturni model.15. Objasnite zašto je potrebno projektovati arhitekturu sistema pre pisanja specifikacije.16. Identifikujte moguće objekte u sistemu ”Turističke table”.17. Prikažite V model testiranja softvera.18. Objasniti razlike između inspekcije i testiranja softvera.19. Kakva je razlika između validacionog i defektnog testiranja?20. Uporedite top-down i bottom-up prilaze integracionom testiranju. Objasnite zašto se u praksi zaintegraciju jako velikih sistema koristi kombinacija ova dva prilaza.21. Napisati preporuke kada treba koristiti Feed-Back, a kada Event-driven arhitekturni model.22. Objasnite zašto je potrebno projektovati arhitekturu sistema pre pisanja specifikacije.23. Identifikujte moguće objekte u sistemu ”Studentske informacione table”.24. Koristeći UML grafičku notaciju za klase objekata projektujte klasu za jedan odidentifikovanih objekata u sistemu ”Studentske informacione table”.25. Objasniti razlike između inspekcije i testiranja softvera.26. Koji su tipovi testiranja uključeni u V-model razvoja softvera?27. Vaš zadatak je da napišete preporuke za testiranje OO sistema. Ukratko napišite šta bistepreporučili da se testira i kako.

28. Objasnite razlike između C-zahteva i D-zahteva. Koje su prednosti, a koji nedostaci razdvajanja zahteva u ove dve kategorjie (C i D)?

29. Šta je studija izvodljivosti? Koja od sledećih aplikacija zahteva studiju izvodljivosti? Obrazložite odgovor.

a. Baza podataka zaposlenih neke kompanije.

b. Sistem za praćenje saobraćaja na putevima Republike Srbije.

30. Navedite metode inženjeringa zahteva zasnovane na ponašanju sistema i objasnite svaku od njih.

31. Navesti osobine dobrog projekta.

32. Objasniti „4+1“ model softvera po RUP metodologiji.

33. Navesti osnovne tehnike za projektovanje softvera i objasniti svaku od njih.

34. Objasniti pojam arhitekturnih modela i navesti osnovne arhitekturne modele za projektovanje softvera.

35. Objasniti Client-Server arhitekturni model.

36. Objasniti Repository arhitekturni model i dati konkretan primer ovog modela.

37. Šta je integrisano u radnu klupu za testiranje?

38. Ko obavlja inspekciju softvera? Kako se izvodi inspekcija?

39. Prikažite proces testiranja objektno-orijentisanog programa.Kakva je razlika između defektnog i validacionog testiranja, a kakva između testiranja i debaginga?

40. Navesti osnovne arhitekturne modele za projektovanje softvera.41. Objasniti Client/Server arhitekturni model.42. Objasniti Feed-Back arhitekturni model.43. Šta je integrisano u radnu klupu za testiranje?44. Ko obavlja inspekciju softvera? Kako se izvodi inspekcija?45. Prikažite proces testiranja objektno-orijentisanog programa.46. Kakva je razlika između defektnog i validacionog testiranja, a kakva između testiranja i debaginga?