Tema 5 Rezultati faze „Analiza i definisanje“ · Rezultati faze „Analiza i definisanje“...

26
1 Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac Version: Feb. 06, 2004 (D Feb. 06, 2004) DAAD Project “Joint Course on Software Engineering” Tema 5 Rezultati faze „Analiza i definisanje“ Parts of this Tema use material from the textbook H. Balzert, “Software-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001 2 DAAD project „Joint Course on Software Engineering“ © 5. Rezultati faze „Analiza i definisanje“ a) Opšti pregled rezultata: studija izvodljivosti, definicija proizvoda b) Aktivnosti faze planiranja c) Sadržaj specifikacije zahteva - standardizacija d) Primer specifikacije zahteva

Transcript of Tema 5 Rezultati faze „Analiza i definisanje“ · Rezultati faze „Analiza i definisanje“...

1

Humboldt University Berlin, University of Novi Sad, University of Plovdiv,University of Skopje, University of Belgrade, University of Niš, University of Kragujevac

Version: Feb. 06, 2004 (D Feb. 06, 2004)

DAAD Project“Joint Course on Software Engineering”

Tema 5Rezultati faze „Analiza i definisanje“

Parts of this Tema use material from the textbook H. Balzert, “Software-Technik”, Vol. 1, 2nd ed., Spektrum Akademischer Verlag, 2001

2DAAD project „Joint Course on Software Engineering“ ©

5. Rezultati faze „Analiza i definisanje“

a) Opšti pregled rezultata: studija izvodljivosti, definicija proizvoda

b) Aktivnosti faze planiranja

c) Sadržaj specifikacije zahteva -standardizacija

d) Primer specifikacije zahteva

2

3DAAD project „Joint Course on Software Engineering“ ©

Analizai

definisanje

Analizai

definisanje

Klasični “vodopad” model:analiza i definisanje

DizajnDizajn

ImplementacijaImplementacija

TestiranjeTestiranje

Upotreba i održavanjeUpotreba i održavanje

4DAAD project „Joint Course on Software Engineering“ ©

Ciljevi faze “Analiza i definisanje”

Analiza problema koji se rešavaDefinisanje zahteva softverskogproizvoda

opis spoljnog ponašanja softverskogsistema

3

5DAAD project „Joint Course on Software Engineering“ ©

Definicija proizvoda• Specifikacija zahteva• Model proizvoda• Korisnički interfejs• Uputstvo za upotrebu

Faza definisanja

Analiza idefinisanjeAnaliza i

definisanje

Podela faze “Analiza i definisanje”

DizajnDizajn

ImplementacijaImplementacija

TestiranjeTestiranje

Upotreba i održavanje

Upotreba i održavanje

Studija izvodljivosti• rečnik• prethodna specifikacija

zahteva• procena troškova• plan projekta

Faza planiranja

Balzert(2001)

Razlog za podelu?

6DAAD project „Joint Course on Software Engineering“ ©

Dokumenti faze “Analiza i definisanje”

Studija izvodljivosti• rečnik• Prethodna specifikacija

zahteva• Procena troškova• Plan projekta

Definicija proizvoda• Specifikacija zahteva

(verbalni opis)• Model proizvoda

(odgovarajući osnovni metodi, ne-verbalni, formalizovani opis)

• Korisnički interfejs (koncepti i/ili prototip)

• Uputstvo za upotrebu(prethodni)

Faza definisanjeFaza planiranja

2 podfaze, 8 pojedinačnih dokumenata

Tema 6

Tema 27

Tema 10, 13

Tema 25

Tema 26

4

7DAAD project „Joint Course on Software Engineering“ ©

Napomene

Rezultati ove faze:• ne samo jedan dokument• nego: skup dokumenata (4 + 4)

Studija izvodljivosti može dovesti do prekida projektaStudija izvodljivosti: osnova ugovoraDefinicija proizvoda: osnova za projektovanjeNema unificiranog koncepta dokumenataRazličite notacije:

Definisanje proizvoda= Definisanje zahteva= Specifikacija sistema

Zavistan od projekta i kompanijeovde: Balzert 2001

8DAAD project „Joint Course on Software Engineering“ ©

5. Rezultati faze „Analiza i definisanje“

a) Opšti pregled rezultata: studija izvodljivosti, definicija proizvoda

b) Aktivnosti faze planiranja

c) Sadržaj specifikacije zahteva -standardizacija

d) Primer specifikacije zahteva

5

9DAAD project „Joint Course on Software Engineering“ ©

Faza planiranja: aktivnosti, uloge, proizvodi

Prethodna specifikacija zahteva

rečnik

procena troškova

plan projekta

Source: Balzert, vol. 1, s. 60

ŠabloniPrethodnaspecifikacijazahtevarečnik

RepozitorijumTekst editor

Vodilje za kupca

planiranje proizvoda

vođa projekta

kupac specijalista za primenu

Ostvarivost

legenda:aktivnost uloga dokument (artefakt) alat

10DAAD project „Joint Course on Software Engineering“ ©

Uloge: odgovornosti i saradnja (1)

crcPlan projektacrcProcena troškovarccRečnikrccPrethodna spec. zahteva

Specijalistprimene

Vođa projekta

KorisnikAktivnosti

6

11DAAD project „Joint Course on Software Engineering“ ©

Primer: zahtev kupca„Organizacija seminara“

Kompanija za naprednu obuku (obuku na radnom mestu) želi računarski sistem za upravljanje svojim lekcijama i kursevima. Posebno, mora se omogućiti administriranje seminara i učesnika, kreiranje računa, odgovaranje naupite i pravljenje statistike.

osnovni studijski primer za ovaj kurs

12DAAD project „Joint Course on Software Engineering“ ©

Rečnik

Definiše pojmove da bi se obezbedila jedinstvena terminologijaRečnik će se ponovo koristiti za Korisnički interfejs, online help kao i za uputstvo za korisnika.Primeri:• Organizacija seminara: 12 pojmova• XCTL (kontrolni program iz oblasti fizike): 110 pojmova

7

13DAAD project „Joint Course on Software Engineering“ ©

Primer rečnika (izvod)Rečnik

Organizacija seminaraVerzija 1.0

Verzija Autor Datum Status Komentar——————————————————————————————————————1.0 Balzert 31.07.2000 prihvaćen

KlijentSaradnik kompanije ili privatno lice koje je zainteresovano za usluge, rezervisalo je mesto ili je učestvovalo na seminaru.

Menadžer klijenataOdgovoran za komunikaciju sa klijentima i kompanijama, uključujući rezervisanje i obezbeđivanje informacija.

KompanijaSaradnik kompanije - osoba za kontakt - koja je odgovorna za obrazovanje i dodatno obrazovanje zaposlenih u kompaniji i koja je informisana o uslugama, ili šalje saradnike na javne prezentacije, ili pravi rezervacije za prezentacije zatvorenog tipa.

14DAAD project „Joint Course on Software Engineering“ ©

Dodatni slučaj korišćenja: XCTL

Polje primene: tehnička primena (kontrolniprogram u eksperimentalnoj fizici)Stvarni korisnik: Institut za Fiziku, HUXCTL: Kontrola X-zraka• Analiza kristalnih struktura poluprovodnika pomoću

X-zraka• Eksperiment sa softverskim upravljanjem:

pomeranje uzoraka pomoću motora, nadgledanjeeksperimentalnih sekveenci, snimanje(prijavljivanje) i interpretacija merenja (npr. slika)

Upotreba u lekcijama iz SI: primeri specifikacija zahteva, dijagram studijskog primera, softverske metrike, reverzno inženjerstvo.

8

15DAAD project „Joint Course on Software Engineering“ ©

XCTL –radno okruženje

radno mesto

topografska kamerasa X-zracima

16DAAD project „Joint Course on Software Engineering“ ©

5. Rezultati faze „Analza i definisanje“

a) Opšti pregled rezultata: studija izvodljivosti, definicija proizvoda

b) Aktivnosti faze planiranja

c) Sadržaj specifikacije zahteva -standardizacija

d) Primer specifikacije zahteva

9

17DAAD project „Joint Course on Software Engineering“ ©

Definisanje faza: aktivnosti, uloge, proizvodi

rečnik

definisanje proizvoda

Korisnik Specijalistaza primenu

Vođa projekta

Sistemanalitičar

Prethodnaspecifikacija zahteva

ŠablonSpecifikacijazahteva

Definicija proizvoda

Rečnik

Specifikacijazahteva

Modelproizvoda

Prototipkorisničkog interfejsa

Uputstvo za korisnika

Source: Balzert, vol. 1, s. 98

legenda :

uloga

activnost model (artefakt)

dokument (artefakt)

18DAAD project „Joint Course on Software Engineering“ ©

Uloge: odgovornosti i saradnja (2)

o

o

s

o

o

Specijalistza primenu

s

s

o

s

s

Sistemanalitičar

ssUputstvo za upotrebu

ssRečnik

ssPrototip korisničnog interfejsa

ssModel proizvoda

ssSpecifikacija zahteva

Vođa projekta

KupacAktivnosti

10

19DAAD project „Joint Course on Software Engineering“ ©

Primer: zahtev kupca„Organizacija seminara“

Kompanija za naprednu obuku (obuku na radnom mestu) želi računarski sistem za upravljanje svojim lekcijama i kursevima. Posebno, mora se omogućiti administriranje seminara i učesnika, kreiranje računa, odgovaranje naupite i pravljenje statistike.

Šta je potrebno preciznije specificirati u ovom primeru specifikacije zahteva pre nego što započne razvoj proizvoda?

20DAAD project „Joint Course on Software Engineering“ ©

Sadržaj specifikacije zahteva:verbalni opis zahteva proizvoda(prema Balzert, Pagel/Six, IEEE Standard)

funkcionalni (operativni) zahtevi:funkcionalnost, podaci (logički pogled), korisnički interfejszahtevi razvojnog okruženja:aplikativna situacija, korisnički profiltehnički zahtevi:jezik implementacije, operativni sistem, hardverzahtevi performansi:efikasnost, nosioci podatakazahtevi valjanosti:priprema za testiranje, a posebno test primerazahtevi kvaliteta:naklonjena korisniku, pouzdanost, ...zahtevi realizacije:model procesa, dokumentacija, pravila, rokovi, troškovi

11

21DAAD project „Joint Course on Software Engineering“ ©

Specifikacija zahtevafunkcionalni (operativni) zahtevi:funkcionalnost, podaci (logički pogled), korisnički interfejszahtevi aplikativnog okruženja:situacija primene, korisnički profiltehnički zahtevi:jezik implementacije, operativni sistem, hardverzahtevi izvršavanja:efikasnost, količina podatakazahtevi valjanosti:priprema testova, a posebno test primerazahtevi kvaliteta:okrenutost korisniku, pouzdanost, ...zahtevi realizacije:model procesa, dokumentacija, propisi, rokovi, troškovi

Prethodna specifikacija zahteva: sadržaj po Balzert-u

Prethodna specifikacija zahtevaSpecifikacija prethodnih zahteva:• glavne funkcije• glavni podaci• opšti radni režim• važni aspekti korisničkog interfejsa• važni kriterijumi kvaliteta

22DAAD project „Joint Course on Software Engineering“ ©

IEEE:šablon

12

23DAAD project „Joint Course on Software Engineering“ ©

24DAAD project „Joint Course on Software Engineering“ ©

Sadržaj: IEEE SRS (1)(Specifikacija Softverskih Zahteva)

1 Uvod1.1 Svrha1.2 Delokrug1.3 Definicije i skraćenice1.4 Reference1.5 Opšti pregled

2 Opšti opis2.1 Izgled proizvoda2.2 Funkcije proizvoda2.3 Korisničke karakteristike2.4 Ograničenja2.5 Pretpostavke i zavisnosti

13

25DAAD project „Joint Course on Software Engineering“ ©

Sadržaj: IEEE SRS (2)(Specifikacija Softverskih Zahteva)

3 Specifični zahtevi• Postoji više mogućih načina organizacije ovog odeljka,

u zavisnosti od područja primene• Nezavisno od izabrane organizacije. ovaj odeljak bi

trebalo da sadrži sledeće informacije:- spoljašnji zahtevi interfejsa- funkcionalni zahtevi- zahtevi radnog režima- ograničenja dizajna- kriterijumi kvaliteta- ostali zahtevi

26DAAD project „Joint Course on Software Engineering“ ©

5. Rezultati faze „Analiza i definisanje“

a) Opšti pregled rezultata: studija izvodljivosti, definicija proizvoda

b) Aktivnosti faze planiranja

c) Sadržaj specifikacije zahteva -standardizacija

d) Primer specifikacije zahteva

14

27DAAD project „Joint Course on Software Engineering“ ©

Primer specifikacije zahteva (izvadak)Specifikacija zahteva

Organizacija seminaraverzija 3.0

Verzija Autor Datum Stanje Komentar—————————————————————————————————————————2.1 Balzert 03/91 prihvaćen2.2 Balzert 10/91 prihvaćen /F115/ dodat2.3 Balzert 10/95 prihvaćen /F15/, /F125/, /F185/, /D65/ uklonjen,

/F130/, /D10/, /D20/ dodat,/D30/, /D70/ izmenjen

3.0 Balzert 31.08.00 prihvaćen Proširenje na mrežu

oTRIs Software AG Landgrafenstr. 153 44139 Dortmund

Tel. +49 (0)231 106 15 40 Fax +49 (0)231 106 15 44

EMail [email protected]

počevši od verzije 3.0 nova organiza-cija: bazirana na studijskim primerima

ime dokumenta

ime projekta

kontakt informacije

stvarna verzija

28DAAD project „Joint Course on Software Engineering“ ©

1 CiljeviSeminari koje organizuje kompanija "Teachware" treba da budu podržani

računarima.

1.1 Obavezne komponente • upravljanje seminarima.• upravljanje prezentacijama.• upravljanje klijentima (učesnici/zainteresovane strane).• upravljanje klijentskim kompanijama.• upravljanje predavačima.• upiti kao što su:

• Kada će se održati sledeći seminar X?• Koji saradnici su učestvovali u radu seminara X?

1.2 Opcione komponente• sve obavezne funkcije (obavezni kriterijumi) moraju biti pristupačni preko

Interneta (Web brauzera) • upravljanje hotelima i osobama za kontakt• statistička procena• podrška bezbednosti podataka1.3 Nepotrebne komponente• Bez računovodstva (knjigovodstva) ugrađenih u softver (računovodstvo ima

kopiju računa, prati sva plaćanja, te obaveštava o kašnjenju u plaćanju.).

opšti pregled funkcionalnosti: 3 nivoa

15

29DAAD project „Joint Course on Software Engineering“ ©

2 Korišćenje proizvodaProizvod koriste uprave zadužene za klijenta, kompaniju, predavača, seminar i prezentacije kompanije "Teachware". Osim toga, potrebno je obezbediti odgovore na razne upite.

2.1 Područje primeneProdaja, delokrug rada administracije.

2.2 Ciljne grupeSaradnici kompanije "Teachware" treba da budu podeljeni na: menadžer klijenata, menadžer seminara, menadžer prezentacija.Klijenti "Teachware"-a: klijenti i kompanije mogu dobiti informacije o seminarima i prezentacijama preko Interneta. Takođe mogu korišćenjem Interneta rezervisati mesta.

Akteri

30DAAD project „Joint Course on Software Engineering“ ©

3 Opšti pregled proizvoda

Poslovni proces SemOrg proizvoda (opšti dijagram)

(jednostavan) dijagram poslovnog procesa (dijagram slučajeva korišćenja):

• Imenovanje osnovnihfunkcija

• Definisanje pristupnihprava za aktere

(jednostavan) dijagram poslovnog procesa (dijagram slučajeva korišćenja):

• Imenovanje osnovnihfunkcija

• Definisanje pristupnihprava za aktere

Kompanija

Klijent

Predavač

SemOrg

Menadžer seminara

Menadžer prezentacija

od registracije do plaćanjainterne prezentacije kompanije

od upita do informacije

od registracije do plaćanja

od odustajanja do obaveštenja

od odustajanja do obaveštenja o odustajanju

od učešća do ocene kvaliteta

od ideje do novog seminara

od izbora do angažovanja

od pravljenja rasporeda do rezervacija

Menadžer klijenata

Informisanje

Plaćanje

Odjavljivanje

Odustajanje

Plaćanje

Održavanje seminara

Kreiranje seminara

Obezbeđivanje predavača

Planiranje prezentacija

16

31DAAD project „Joint Course on Software Engineering“ ©

4 Funkcije proizvoda4.1 Studijski primeri

F10 (PF10)Slučaj korišćenja: informisanje: od upita do informacijeCilj: klijent dobija traženu informaciju ili je materijal za informisanje poslat klijentuKategorija: glavniPrethodno stanje: -Uspešno naknadno stanje: klijent dobija traženu informacijuNeuspešno naknadno stanje: traženu informaciju je nemoguće obezbeditiUčesnik: menadžer klijenata, klijent, kompanijaPokretački događaj: klijent piše (pismo, fax, e-mail) ili zoveOpis:1. Dobavljanje informacija za klijenta 2. Izdavanje informacijeDodatak:1. Ažuriranje podataka o klijentu2. Kreiranje nalepnice sa adresom (za slanje materijala) Alternative:1. Uključenje novog klijenta

strukturna šema za tekstualni opis slučajeva korišćenja

slučaj korišćenja = redosled akcija

32DAAD project „Joint Course on Software Engineering“ ©

F20 (PF20)

Slučaj korišćenja: plaćanje: od registracije do plaćanjaCilj: obaveštenje o registraciji i slanje računa klijentu Kategorija: glavniPrethodno stanje: -Uspešno naknadno stanje: klijent je obaveštenNeuspešno naknadno stanje: obaveštenje klijentu da je prezentacija prebukirana,

ne postoji, ili je klijent već uplatio prezentacijuUčesnik: menadžer klijenata, klijent, kompanijaPokretački događaj: raspoloživa je registracija klijentaOpis: 1. Dobavljanje informacija za klijenta (1 složena funkcija) 2. Verifikacija prezentacije (1 srednja funkcija) 3. Naplaćivanje (1 jednostavna funkcija) 4. Obaveštenje o registraciji i slanje računa (1 jednostavna funkcija) 5. Slanje kopije računa računovodstvu (1 jednostavna function) Dodatak:1. A Ažuriranje podataka o klijentu2. B Kada je klijent povezan sa kompanijom, podaci o kompaniji su ažurirani i

omogućen je pristup3. C Verifikacija računaAlternative:1. A Uključenje novog klijenta2. A Kada je prezentacija prebukirana, ponuditi alternativnu 3. B Obaveštenje o “pogrešnoj prezentaciji", ukoliko prezentacija ne postoji

17

33DAAD project „Joint Course on Software Engineering“ ©

4.2 ListeF70 (PF70)Lista učesnika: a) po prezentaciji sa sledećim

podacima: naslov seminara, datum početka, datum završetka, mesto održavanja, predavači; b) po učesnicima: ime, prezime, preduzeće, grad.

F80 (PF80)Svedočanstvo za učesnike: za svakog učesnika

prezentacija, sa sledećim podacima: adresa, naslov, ime, prezime, datum početka, datum završetka, naslov seminara, mesto, opis, vođa

F90 (PF90)Upiti poput sledećih moraju biti dozvoljeni:Kada će biti održan sledeći seminar tipa X?Koji saradnik kompanije Y je učestvovao u seminaru X?

pravljenje lista: specijalne funkcije proizvoda

34DAAD project „Joint Course on Software Engineering“ ©

5 Podaci o proizvodu

5.1 Podaci o klijentu

D10 (PD10) Podaci o klijentu (max. 50 000):Broj klijenta, ime, adresa, kontakt podaci, datum rođenja, funkcija,

razmena, kratka informacija, napomene, informativni materijal, od kada je klijent.

D20 (PD20) Podaci o kompaniji (max. 10 000):Kada je klijent saradnik kompanije:Kratko ime kompanije, ime kompanije, adresa, kontakt podaci, kontakt

osoba, odeljenje (section), datum rođenja, funkcija kontakt osobe, kratka informacija, napomene, razmena, od kada je klijent

D21Ukoliko kompanija kasni sa uplatom, potrebno je sačuvati sledeće podatke:Datum za još neuplaćene račune, kao i iznos.

struktura podataka

veličina podataka

18

35DAAD project „Joint Course on Software Engineering“ ©

5.2 Seminar Data

D30 (PD30) Podaci o prezentaciji (max. 100 000):Redni broj prezentacije, trajanje (u danima), od, do, dnevna podela nastave-

početak, dnevna podela nastave-kraj, početak prvog dana, kraj poslednjeg dana, mesto prezentacije (hotel/preduzeće, adresa, soba), partner za saradnju, javno (da/ne), neto cena, cena odustajanja, min. broj učesnika, maks. broj učesnika, stvaran broj učesnika, održan (da/ne)

D40 (PD40) Podaci o tipu seminara (max. 10 000):Kratak naslov seminara, naslov seminara, svrha, metodika, opšti pregled, dnevni

postupak, trajanje, zapisi, ciljna grupa, zahtevi, cena bez poreza, min. broj učesnika, maks. broj učesnika

D50 (PD50) Podaci o predavaču (max. 5 000):Redni broj predavača, ime, adresa, kontakt podaci, datum rođenja, biografija,

dnevna plata, kratke informacije, napomene, od kada je predavač

D60 Ako predavač održi seminar, ove informacije je potrebno sačuvati.

5.3 Podaci o rezervacijama…

6. Performanse u vezi vremena ikoličine podataka

36DAAD project „Joint Course on Software Engineering“ ©

7 Zahtevi kvaliteta

XXX

XXXX

XXXXX

XX

XX

X

FunkcionalnostPogodnostTačnostLakoća saradnjeSaglasnostBezbednostPouzdanostZrelostOsetljivost na greškeMogućnost oporavkaKorisnostRazumljivostJednostavnost učenjaLakoća rukovanjaEfikasnostPonašanje u vremenuPonaš.prema resursimaLakoća održavanjaMogućnost analizeMogućnost izmeneStabilnostMogućnost testiranjaPortabilnost…

nije bitnonormalandobarvrlo dobarKvalitet proizvoda

ISO 9126

19

37DAAD project „Joint Course on Software Engineering“ ©

8 Korisnički interfejsU10

Standardno Windows okruženje.U20

Korišćenje web-brauzera je pojednostavljeno. Raspoložive funkcije se izvršavaju u bočnim frejmovima. U glavnom frejmu se prikazuju liste i maske za registraciju.

UI30Servisni interfejsi su kreirani tako da se njima upravlja pomoću miša.

U40Treba uzeti u obzir standard ISO 9241-10: 1996 (Ergonomski zahtevi za rad u kancelariji na mašinama sa ekranom, odeljak 10: osnove dizajna dijaloga).

U50Razlikovanje sledećih uloga:

F10, F20, F21 (samo korišćenjem Interneta) Klijent, preduzeće

F70, F80 (za neke prezentacije samo korišćenjem Interneta)

Predavač

F30, F70, F80 Menadžer prezentacija

F22, F23, F40, F50, F60, F90Menadžer seminara

PravaF10, F20, F21, F90

RoleMenadžer klijenata

38DAAD project „Joint Course on Software Engineering“ ©

9 Ne-funkcionalni zahteviUkoliko će se određena funkcija koristiti korišćenjem Interneta, mora biti omogućen bezbedan prenos podataka po želji klijenta, a posebno za uloge menadžer klijenta, menadžer seminara, menadžer prezentacija.

10 Tehničko okruženje proizvodaProizvod je rađen u tehnologiji klijent/server i prilagođen je radu preko Interneta.

10.1 Softver

Operativni sistem - Server: Windows NT/98.Operativni sistem - Klijent: Windows NT/98 ili brauzer.

10.2 HardverServer: PC. Klijent: Mašina sa grafičkim monitorom i mogućnošću korišćenja brauzera.

20

39DAAD project „Joint Course on Software Engineering“ ©

12 Struktura delova proizvoda

Planiraju se tri dela proizvoda: prva verzija sadrži jezgro funkcionalnosti bez pristupa Internetu. Druga verzija pokriva osnovne funkcije proširene delom Internet funkcija, kao što su plaćanje ili plaćanje interne prezentacije preduzeća. Treća verzija podržava upravljanje hotelom i završno upravljanje.

(bez Interneta)(bez Interneta) (bez Interneta) (bez Interneta) (bez Interneta) (bez Interneta) (bez uprave hotela)(bez Interneta) (bez Interneta) (bez Interneta)(bez Interneta)

(bez Interneta)

Informisanje: od upita do informacije.Plaćanje: od registracije do plaćanja.Održavanje seminara: od učešća do realizacije. Kreiranje seminara: od ideje do novog seminara. Obezbeđivanje predavača: od izbora do angažovanja. Planiranje prezentacija: od rasporeda do rezervacija.Spisak učesnikaSvedočanstvo za učesnikeUpitiOdustajanje: od odustajanja do obaveštenja o odustajanju Odjavljivanje: od odjavljivanja do obaveštenja..

F10F20F30

F40F50F60F70F80F90F22

F21

SemOrg V1.0 (Jezgro)

40DAAD project „Joint Course on Software Engineering“ ©

13 DodaciPrema iskustvu, 5% svih klijenata kasne sa plaćanjem .

(sa Internetom) (sa Internetom) (sa Internetom) (sa Internetom) (sa Internetom) (sa Internetom) (sa Internetom) (sa Internetom)

(sa Internetom) (sa Internetom)

Informisanje: od upita do informacije.Plaćanje: od registracije do plaćanja.Održavanje seminara: od učešća do realizacije. Kreiranje seminara: od ideje do novog seminara.. Spisak učesnikaSvedočanstvo za učesnikeUpitiOdustajanje: od odustajanja do obaveštenja o odustajanju Odjavljivanje: od odjavljivanja do obaveštenja.Banka: od registracije do plaćanja interne prezentacije kompanije.

F10F20F30F40F70F80F90F22

F21F23

SemOrg V2.0

(sa upravom hotela)

Banka: od registracije do plaćanja interne prezentacije kompanije.

F23SemOrg V3.0

21

41DAAD project „Joint Course on Software Engineering“ ©

„Ljudi uvek dobiju ono što su tražili, jedini je problem što nikad ne znaju, dok ne dobiju, šta je to što su u stvari tražili.“

(A. Huxley, u: Leestma, Nyhoff: Modula-2)

42DAAD project „Joint Course on Software Engineering“ ©

Pregled

Pozadina:proizvoljni softverski dokumenti (npr. specifikacija zahteva) moraju biti jednako precizni kao i programiMetod (Pregled):Inspekcija dokumenata od strane grupe procenitelja iščitavanjem dokumenata(napomena: 2 – 5 procenitelja + autor dokumenta)Proces:1. Priprema učesnika2. Sastanak grupe za pregled:

sekvencijalno ili po tačkama od značaja3. Pravi se protokol

IEEE Std 1028-1988, Standardi za pregled i

proveru softvera

22

43DAAD project „Joint Course on Software Engineering“ ©

Protokol pregleda(šema sadržaja)

Dokument:Učesnici:Vođa:Protokol:Datum i vreme sastanka:———————————————————————1. Izvod2. Problemi sa dokumentom

2.1 nepreciznosti2.2 greške2.3 nedostajuće informacije

3. Napomene u vezi strukture dokumenta4. Napomene u vezi sastanka grupe za pregled

(priprema učesnika, dužina sastanka, tačke od značaja)

44DAAD project „Joint Course on Software Engineering“ ©

Specifikacija zahteva v3.0 u poređenju sa prethodnikom v2.3

Specifikacija zahteva se često menja zbog:Grešaka, nepreciznosti, nerazumevanja, … kao i potrebe da se one ispraveZahtevi se menjaju (tokom životnog veka projekta) Neophodna je različita struktura dokumenata

Naš studijski primer – uvedena specifikacija zahteva v3.0:Nova funkcionalnost (pristup web-u)Različita struktura dokumenata

23

45DAAD project „Joint Course on Software Engineering“ ©

Specifikacija zahteva verzija 2.34. Funkcije proizvoda4.1 Upravljanje klijentima/F 10/ Registracija klijenata, izmena i brisanje (klijent = učesnik/zainteresovana strana) /PF 10//F 15/ Registracija, izmena i brisanje preduzeća koja su poslala svoje saradnike na seminare./F 20/ Registracija klijenata sa verifikacijom:/F 30/ - da li je ona/on već registrovan/F 40/ - da li je traženi seminar raspoloživ/F 50/ - da li na seminaru ima slobodnih mesta/F 55/ - način plaćanja./F 60/ Prosleđivanje obaveštenja o registraciji /PF 20/./F 70/ Otkazivanje klijenata (odustajanje) sa verifikacijom /PF 20/:/F 80/ - da li je ona/on uopšte registrovana./F 90/ - ako je odustajanje izvršeno više od 4 nedelje pre seminara.

(-> 100 EUR naplata odustajanja ili obezbeđenje zamene)./F 100/ - ako je odustajanje izvršeno manje od 4 nedelje pre seminara.

(-> naplata 100% cene ili obezbeđenje zamene)./F 110/ - ako je “Teachware” odustao od seminara (® nema slanja računa) /PF 20/./F 115/ Obaveštenje učesnicima u slučaju da je “Teachware” odustao od seminara./F 120/ Registracija, izmena i brisanje naplata za učešće na seminaru /PF 50/./F 125/ Preduzeće može uplatiti učešće na lokalnoj prezentaciji drugog preduzeća./F 130/ Pravljenje nalepnica sa adresama za slanje propagandnih poruka klijentima i preduzećima./F 135/ Cirkularno pismo može biti poslato klijentima i preduzećima./F 140/ Računovodstvo unosi sva kašnjenja u plaćanjima korišćenjem ugrađene funkcije.

v2.3: linearna sekvenca40 pojedinačnih funkcija

v3.0: 9 slučajeva korišćenja

46DAAD project „Joint Course on Software Engineering“ ©

v. 2.3 vs. v. 3.0 (1) 1.1 Compulsory Criteria • managing seminars.• managing presentations.• managing clients

(participants/interested parties).• managing client companies.• managing lecturers.• queries like:

• When will the next X seminar take place?

• Which associates participated the seminar X?

1.2 Optional Criteria• all compulsory functions (the

compulsory criteria) should be accessible through Internet (Web browser)

• hotel and contact person management

• statistic evaluation • data security support

1.1 Compulsory Criteria• Managing seminars• Managing clients

(participants/interested parties)• Issuing and sending invoices• Queries like:

• When will the next X seminar take place?

• Which associates of Y company participated the seminar X?

1.2 Optional Criteria

• Advanced query possibility• Statistics• Support of data backup• Reuse of seminar and client

management

Why not desired anymore?

24

47DAAD project „Joint Course on Software Engineering“ ©

v. 2.3 vs. v. 3.0 (2)

F10 (PF10)Use case: informing: from question to

information Goal: client gets required information or the

information material is sent to her/himCategory: primaryPrecondition: -Post condition success: client gets

required informationPost condition failure: the required

information can not be issuedActor: client manager, client, companyTriggering event: client writes (letter, fax,

e-mail) or callsDescription:1. client data retrieval 2. information issue Extension:1. A client data actualization 2. A production of address label (for

sending info-material) Alternatives:1. An inclusion of a new client

/F 10/Client registration, editing and deletion

(client = participant/interested party)/PF 10/

48DAAD project „Joint Course on Software Engineering“ ©

v. 2.3 vs. v. 3.0 (3)

F20 (PF20)

Use case: booking: from registration to bookingGoal: the registration notification and sending invoice to

the client Category: primaryPreconditions: -Post condition success: client is notifiedPost condition failure: notification of clients that

presentation is overbooked, or does not exist, or a booking for the client is already made

Actor: client manager, client, companyTriggering event: client registration is availableDescription: 1. client data retrieval 2. presentation verification 3. booking undertaking4. registration notification and sending invoice 5. sending invoice copy to the accounts department Extension:1. A client data actualisation1. B when client is associate of the company,

associated company data are updated and accessed

1. C invoice verification Alternatives:1. A inclusion of a new client 2. A when the presentation is over booked, to point

out the alternative one 2. B notification of "false presentation", if the

presentation does not exist

/F 20/ Registration of a client with verification:

/F 30/ - if she/he is already registered/F 40/ - if the desired seminar is possible/F 50/ - if the seminar is still free/F 55/ - what is the kind of payment.

25

49DAAD project „Joint Course on Software Engineering“ ©

v. 2.3 vs. v. 3.0 (4)

D10 (PD10) Client data (max. 50 000):Client number, name, address, communication data, date of birth, function, exchange, short information, notices, info material, client since

D20 (PD20) Company data (max. 10 000), when a client is an associate of a company:Company's short name, company name, address, communication data, contact person, section, date of birth, function of contact person, short information, notices, exchange, client since

D21 If a company is in a paying delay, then the following data should be saved:Date of still unpaid invoice, as well as amount

/D 10/ Save the following information about client (interested party/participant): /PD 10/ personal number, name (address, title, first and second name), address (street, house number, land code, postal code, place, phone, fax), date of birth, function, revenue, memo, notes, info-material, client since.

/D 20/ If a client is associate of a company, then save the following information about it: /PD 20/ Company short name, company name, address, phone, fax, name, address, department, date of birth, associate’s position in company, memo, notes, revenue, client since.

/D 30/ If a client or a company is late with payment, then save the following data: date of invoice, which is not yet paid for, and amount of invoice.

50DAAD project „Joint Course on Software Engineering“ ©

v. 2.3 vs. v. 3.0 (5)

Test casesFollowing function sequences are to be

checked: /T 10/ Participants login,

registration, checking out, new login, invoice, payment delay.

/T 20/ Canceling, change./T 30/ Canceling, issuing invoice./T 40/ Entering a seminar

realization, and issuing invoices.

Following data consistencies are to be kept:

/T 50/ The booking is possible to be made only if there is a client entry as well as a seminar presentation entry, and if the seminar presentation is not yet overbooked.

/T 60/ A new seminar presentation can be entered only if the corresponding seminar type is available.

26

51DAAD project „Joint Course on Software Engineering“ ©

XCTL: Specifikacija zahteva za studijski primer „Ručno podešavanje“

Zadatak:

Pokretanje motora u cilju promene položaja uzorka.

Posebnost:

Opisuje se postojeći sistem.

(Reverzno inženjerstvo)

Specifikacijazahteva