Professional Documents
Culture Documents
Softverski Inženjering
Softverski Inženjering
Softverski inenjering
Ciljevi predavanja
2
Razumjeti vanost ispravnog specificiranja zahtjeva Razmotriti razliite prikaze zahtjeva u modelu
Softverski inenjering
Nasi Lemak!
Softverski inenjering
ta sluite danas?
4
Nasi Lemak Sambal Krastavac Kikiriki? Jaje? Ikan Bilis? Piletina? Sotong?
Softverski inenjering
Oekivanja
5
Kikiriki + Ikan Bilis Velika: Sve standardno + Jaje + Piletina/Sotong Razoaravajue: Nasi Lemak + Sambal + Krastavac
Softverski inenjering
ta radimo
6
ABC softver!
Softverski inenjering
Prvi zadatak
7
Analiza
Problem
Dizajn
Modeli
Razvoj Rjeenje
Testiranje
Softverski inenjering
oblikovali detalje softvera Razvojni inenjer (developer) ispitiva, rjeava problema (problem solver) Kupac (customer) potrebne funkcije i performansa Problemi:
Softverski inenjering
1. 2.
3. 4. 5.
Prepoznavanje problema: kako ga kupac vidi. Evaluacija i sinteza: analitiar definira podatkovne objekte, evaluira tok informacija, definira sve funkcije softvera, jasno mu je ponaanje sistema, utvrditi karakteristike sistemskog interfejsa i ogranienja dizajna. Modeliranje: modeli podataka, informacijski i upravljaki tok, i operativna ponaanja. Specifikacija: model softvera kreiraju i evaluiraju i softverski inenjeri i kupci. Pregled: specifikacija softverskih zahtjeva koju vre razvojni inenjer i klijent.
Softverski inenjering
Principi analize
10
reprezentirati i razumjeti Moraju biti definirane potrebne funkcije Mora biti reprezentirano ponaanje softvera Modeli koji prikazuju informacije, funkciju i ponaanje moraju biti podijeljeni na slojevit ili hijerarhijski nain Proces analize se treba usmjeriti sa osnovnih informacija na detalje implementacije
Softverski inenjering
Vie smjernica
11
Razumjeti problem prije kreiranja modela analize Razviti prototip Zabiljeiti porijeklo i razlog zahtjeva Koristiti viestruke poglede Prioritizirati zahtjeve Eliminirati dvoznanost
Softverski inenjering
Model analize
12
Dijagram entiteti-veze
Rjenik podataka
Softverski inenjering
PSPEC) moe se koristiti za specificiranje detalja obrade koji proizlaze iz balona unutar DFD-a. Specifikacija procesa opisuje ulaz u funkciju, algoritam, PSPEC naznaava restrikcije i ogranienja postavljena na proces (funkciju), karakteristike performanse koje su relevantne za proces, i ogranienja dizajna koja mogu uticati na nain na koji e proces biti implementiran. Drugim rijeima, specifikacija procesa se koristi za opisivanje unutranjih radnih objekata procesa predstavljenih u dijagramu toka.
Softverski inenjering
se koristi da se naznai (1) kako se softver ponaa kada se detektuje dogaaj ili upravljaki signal i (2) koji procesi se pozivaju kao posljedica nastupanja dogaaja. Kontrolna specifikacija (CSPEC) sadri odreen broj znaajnih alata za modeliranje. Kontrolna specifikacija predstavlja ponaanje sistema na dva naina. CSPEC sadri dijagram prijelaza stanja koji je sekvencijalna specifikacija ponaanja. Takoer, sadri i tabelu aktivacije procesa (Process Activation Table PAT) kombinatoriku specifikaciju ponaanja.
Softverski inenjering
Rjenik podataka Sadri opise svih podatkovnih objekata koji se koriste Dijagram entiteti-veze (Entity-Relationship Diagram
ERD)
DFD)
STD)
Softverski inenjering
Modeliranje podataka
16
podruja (problem domain) relevantni Grafiki se predstavlja dijagramom entiteti-veze, koji sadri:
Softverski inenjering
Entiteti
17
je primjenljiv na sistem Ima skup atributa koji ga opisuju Crta se kao oznaeni pravougaonik u ERD-u
Kupac
lan
Softverski inenjering
Primjeri entiteta
18
upotrebljava informacije) Stvar (npr. izvjetaj ili prikaz) Zbivanje ili dogaaji (npr. telefonski poziv) Uloga (npr. prodava) Organizaciona jedinica (npr. raunovodstveni odjel) Mjesto (npr. skladite) Struktura (npr. datoteka)
Softverski inenjering
Atributi
19
Svojstva entiteta Ime instance Opis instance Veza s drugim entitetom Jedan ili vie atributa moraju biti definirani kao
identifikator "klju" za nalaenje instance entiteta (npr. ID broj studenta). Skup atributa se moe razlikovati u razliitim analizama
Softverski inenjering
Veze
20
entiteta koji su od interesa Obino znai da se dogaaj dogodio ili da postoji nekakva prirodna povezanost izmeu instanci entiteta Crtaju se kao linija izmeu entiteta, oznaena glagolskim frazama
Mjesto za parking
Zaposlenik
Softverski inenjering
je dodijeljeno se dodjeljuje
Kardinalnost
21
mogu biti povezani s brojem dogaaja drugog objekta Obino se izraava kao "One" ili "Many" Mogue veze:
Softverski inenjering
Veza jedan-na-jedan
22
lan
je u braku sa je suprunik od
Suprunik
Softverski inenjering
Veza jedan-na-vie
23
lan
je u braku sa je suprunik od
Suprunik
Softverski inenjering
Veza vie-na-vie
24
Roditelj
je roditelj od je dijete od
Dijete
"Svaki roditelj ima jedno ili vie djece, a svako dijete ima jednog ili vie roditelja"
Softverski inenjering
Modalitet
25
Specificira da li je veza opcionalna ili mandatna Modalitet je 0 ako je veza opcionalna predstavlja se takastom linijom u ERD-u Modalitet je 1 ako je veza mandatna predstavlja se pravcem u ERD-u
Softverski inenjering
Opcionalne veze
26
lan
je u braku sa je suprunik od
Suprunik
lan
Suprunik
Softverski inenjering
Kupac
poruuje je poruena od
Narudba
sadri
dio od
Proizvod
opisuje je
Stavka narudbe
Softverski inenjering
Reference
28
5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 "Software Engineering" by Ian Sommerville, Addison-Wesley, 2001 "Modern Systems Analysis and Design" by Jeffrey A. Hoffer, Joey F. George & Joseph S. Valacich, Benjamin/Cummings, 1996
Softverski inenjering