Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

Analiza softverskih zahtjeva

1 "TA KUPAC ELI?"

Softverski inenjering

Ciljevi predavanja
2

Razumjeti vanost ispravnog specificiranja zahtjeva Razmotriti razliite prikaze zahtjeva u modelu

analize Ilustrirati modeliranje podatkovnih elemenata u problemskom podruju (problem domain)

Softverski inenjering

Jednog dana za vrijeme doruka...


3

Nasi Lemak!

Softverski inenjering

ta sluite danas?
4

Nasi Lemak Sambal Krastavac Kikiriki? Jaje? Ikan Bilis? Piletina? Sotong?

Softverski inenjering

Oekivanja
5

Standardno: Nasi Lemak + Sambal + Krastavac +

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

Analiza softverskih zahtjeva


8

Razvojni inenjer i kupac komuniciraju kako bi

oblikovali detalje softvera Razvojni inenjer (developer) ispitiva, rjeava problema (problem solver) Kupac (customer) potrebne funkcije i performansa Problemi:

Pogrena interpretacija Dezinformacije Dvoznanost

Softverski inenjering

Zadaci pri analizi zahtjeva


9

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

Informacijska domena problema mora se

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

Dijagram toka podataka

Rjenik podataka

Dijagram prijelaza stanja

Softverski inenjering

Specifikacija procesa (PSPEC)


13

Specifikacija procesa (Process SPECification

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

Kontrolna specifikacija (CSPEC)


14

Kontrolna specifikacija (Control SPECification CSPEC)

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

Elementi modela analize


15

Rjenik podataka Sadri opise svih podatkovnih objekata koji se koriste Dijagram entiteti-veze (Entity-Relationship Diagram

ERD)

Opisuje veze izmeu podatkovnih objekata

Dijagram toka podataka (Data Flow Diagram

DFD)

Opisuje tok i transformaciju podataka

Dijagram prijelaza stanja (State Transition Diagram

STD)

Opisuje ponaanje sistema

Softverski inenjering

Modeliranje podataka
16

Identifikacija "koji" su elementi iz problemskog

podruja (problem domain) relevantni Grafiki se predstavlja dijagramom entiteti-veze, koji sadri:

Entitete Atribute Veze

Softverski inenjering

Entiteti
17

Entitet je prikaz stavki iz problemskog podruja koji

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

Eksterni entitet (bilo ta to proizvodi ili

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

Asocijacije izmeu instanci jedne ili vie vrsta

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

Specifikacija broja dogaaja jednog objekta koji

mogu biti povezani s brojem dogaaja drugog objekta Obino se izraava kao "One" ili "Many" Mogue veze:

Jedan-na-jedan (One-to-One) Jedan-na-vie (One-to-Many) Vie-na-vie (Many-to-Many)

Softverski inenjering

Veza jedan-na-jedan
22

lan

je u braku sa je suprunik od

Suprunik

"Svaki lan ima suprunika"

Softverski inenjering

Veza jedan-na-vie
23

lan

je u braku sa je suprunik od

Suprunik

"Svaki lan ima jednog ili vie suprunika"

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

"Svaki lan moe imati suprunika"


je u braku sa je suprunik od

lan

Suprunik

"Svaki lan moe imati jednog ili vie suprunika"

Softverski inenjering

Primjer dijagrama entiteti-veze


27

Kupac

poruuje je poruena od

Narudba
sadri

dio od

Proizvod

opisuje je

Stavka narudbe

Softverski inenjering

Reference
28

"Software Engineering: A Practitioner's Approach"

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

You might also like