Univerzitet u Beogradu Fakultet organizacionih organizaci onih nauka n auka Laboratorija za softversko inženjerstvo
Seminarski rad iz predmeta
Projektovanje softvera Tema T ema Softverski sistem za pra!enje pra!enje rada u"enika u srednjoj #koli
Profesor dr Sini#a $laji!
Student Sr%an Tajdi! &'()&*
Beograd+ ,*&-.
Beograd+ ,*&-.
SADRŽAJ
&. /orisni"ki zahtevi...............................................................................................zahtevi...............................................................................................&.&. $erbalni opis................................................................................................opis................................................................................................&.,. Slu"ajevi kori#!enja.....................................................................................kori#!enja .....................................................................................S/& Slu"aj kori#!enja0 Unos u"enika u sistem ................................................1 S/, Slu"aj kori#!enja 2 Brisanje u"enika iz sistema.......................................3 sistema .......................................3 S/ 4 Slu"aj kori#!enja 2 Pretraga u"enika......................................................( u"enika ......................................................( S/ - Slu"aj kori#!enja 2 5zmena podataka o u"eniku ......................................( S/ 1 Slu"aj kori#!enja 2 Unos izostanaka u"enika ..........................................6 S/ 3 Slu"aj kori#!enja 2 5zmena izostanaka u"enika.......................................' u"enika .......................................' S/( Slu"aj kori#!enja 2 Uno#enje predmeta.................................................&* predmeta .................................................&* S/6 Slu"aj kori#!enja 2 Uno#enje ocene.......................................................&* ocene .......................................................&* S/ ' Slu"aj kori#!enja 2 5zmena ocene u"enika ............................................&& S/&* Slu"aj kori#!enja 2 Prijavljivanje korisnika ...........................................&, ,. 7naliza.............................................................................................................&4 7naliza.............................................................................................................&4 ,.&. Pona#anje softverskog sistema 2 Sistemski dijagram sekvenci .................&4 8S&8ijagramsekvenci slu"ajakori#!enja 2Unos u"enika..............................&4 u"enika ..............................&4 8S,8ijagramsekvencislu"ajakori#!enja 8S,8ijagramsekvencislu"ajakori#!enja 2Brisanje u"enika...........................&1 u"enika ...........................&1 8S48ijagramsekvencislu"ajakori#!enja 8S48ijagramsekvencislu"ajakori#!enja 2Pretraga 2Pretraga u"enika..........................&( u"enika..........................&( 8S-8ijagramsekvencislu"ajakori#!enja 8S-8ijagramsekvencislu"ajakori#!enja 25zmena podataka o u"eniku u"eniku .........&6 8S18ijagramsekvencislu"ajakori#!enja 8S18ijagramsekvencislu"ajakori#!enja 2Unos izostanaka u"enika..............,& u"enika ..............,& 8S38ijagramsekvencislu"ajakori#!enja 8S38ijagramsekvencislu"ajakori#!enja 25zmena izostanaka u"enika..........,4 u"enika ..........,4 8S( 8ijagram sekvenci slu"aja kori#!enja 2Unos predmeta .........................,1 8S6 8ijagram sekvenci slu"aja kori#!enja 2 Uno#enje ocene .......................,( 8S' 8ijagram sekvenci slu"aja kori#!enja kori#!enja 2 5zmena ocene.........................,' ocene .........................,' 8S&* 8ijagram sekvenci slu"aja kori#!enja 2 Prijavljivanje korisnika ...........4, ,.,. Pona#anje softverskog sistema 2 8e9nisanje ugovora o sistemskim operacijama.................. operacijama ...................................... ........................................ ........................................ ............................................ ........................ 44 Struktura softverskog sistema 2 /onceptualni :domenski; model ....................46 Struktura softverskog sistema 2
7rhitektura softverskog sistema.......................................................................-4 4.&. Projektovanje korisni"kog interfejsa..........................................................-4.&.&. Projektovanje ekranskih formi.............................................................-4.&.,. Projektovanje kontrolera korisni"kog interfejsa...................................(4 4.,. Projektovanje aplikacione logike................................................................(4.,.&. /omunikacija sa klijentima..................................................................(4.,.,. /ontroler aplikacione logike.................................................................(4.,.4. Poslovna logika....................................................................................(1 4.,.-. Broker baze podataka..........................................................................64.4. Projektovanje skladi#ta podataka..............................................................63 -.5mplemetacija...................................................................................................'* 1. Testiranje.........................................................................................................'&
1. Korisnički zahtevi 1.1. Verbalni opis Potrebno je napraviti aplikaciju koja omogućava da se efikasno izvršava evidencija podataka o učeniku, o njegovim ocenama i izostancima. Korisnik sistema je službenik u školskoj upravi (korisnik. !istem treba da omogući unošenje podataka o učenicima i predmetima, kao i pretraživanje, izmenu i brisanje ocena. Pored ovi" za"teva potrebno je omogućiti i da korisnik može da unese rezultate predmeta. #a bi korisnik mogao da vrši promene nad podacima u sistemu mora da bude prijavljen na sistem (ulogovan.
1.2. Slučajevi korišenja
U konkretnom slu"aju evidentirani su slede!i slu"ajevi kori#!enja koji su prikazani na slici & & Unos u"enika u sistem , Brisanje u"enika iz sistema 4 Pretraga u"enika - 5zmena podataka o u"eniku 1 Unos izostanaka u"enika 3 5zmena izostanaka u"enika ( Unos predmeta 6 Uno#enje ocene ' 5zmena ocene &*;Prijava korisnika na sistem
Slika 1. Dija!ra" slučajeva korišenja
SK1# Slučaj korišenja$ %nos učenika u siste" Naziv SK
Kreiranje novog učenika Aktori SK Korisnik (službenik) Učesnici SK Korisnik isistem (program) Preduslov : Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa učenicima . Osnovni scenario SK
1. Korisnik poziva sistem da kreira novog učenika . (!S") #. Sistem kreira novog učenika. (S") $. Sistem prikazuje korisniku novog učenika i poruku: %Sistem je kreirao novog učenika &. (') . Korisnik unosi podatke o novom učeniku. (!S") *. Korisnik kontroliše da li je korektno uneo podatke o novom učeniku . (+S")
,. Korisnik poziva sistem da zapamti podatke o novom učeniku . (!S") -. Sistem pamti podatke o novom učeniku . (S") . Sistem prikazuje korisniku poruku: %Sistem je zapamtio učenika&. (') Alternativna scenarija
$.1 koliko sistem ne može da kreira novog učenika on prikazuje korisniku poruku: %Sistem ne može da kreira novog učenika&. !rekida se izvršenje s/enarija. (') .1 koliko sistem ne može da zapamti podatke o novom učeniku on prikazuje korisniku poruku %Sistem ne može da zapamti novog učenika&.
SK2# Slučaj korišenja & 'risanje učenika iz siste"a Naziv SK 0risanje učenika Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov : Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad za brisanje učenika . Osnovni scenario SK
1 # $ * , -
Korisnik unosi vrednost po kojoj pretražuje učenika . (!S") Korisnik poziva sistem da nae učenika po zadatoj vrednosti. (!S") Sistem traži učenika po zadatoj vrednosti. (S") Sistem prikazuje korisniku pronaenog učenika . (') Korisnik poziva sistem da obriše učenika . (!S") Sistem briše učenika. (S") Sistem prikazuje korisniku poruku: %Sistem je obrisao učenika .& (')
Alternativna scenarija
.1 koliko sistem ne može da nae učenike on prikazuje korisniku poruku: %Sistem ne može da nae učenika po zadatoj vrednosti&. !rekida se izvršavanje s/enarija (') -.1 koliko sistem ne može da obriše učenika on prikazuje korisniku poruku: %Sistemne može da obriše učenika &. (')
SK (# Slučaj korišenja & )retra!a učenika *aziv SK Pretraga učenika Aktori SK Korisnik %česni+i SK Korisnik i siste" :program; )re,uslov#Siste" je uklju"en i korisnik je ulogovan pod svojom #ifrom. Siste" prikazuje formu za pretragu učenika. -snovni s+enario SK & , 4 -
Korisnik unosi vrednosti po kojima pretražuje u čenika. :7PUS=; Korisnik poziva siste" da na%e učenika po zadatim vrednostima. :7PS=; Siste" traži učenika po zadatim vrednostima. :S=; Siste" prikazuje korisniku na%enog učenika. :57;
Alternativna s+enarija -.&. Ukoliko siste" ne može da na%e učenike on prikazuje korisniku poruku >Siste" ne može da na%e učenika po zadatim vrednostima?. Prekida se izvr#enje scenarija. :57;
SK # Slučaj korišenja & /z"ena po,ataka o učeniku
*aziv SK 5zmena podataka o učeniku Aktori SK Korisnik %česni+i SK Korisnik i siste" :program;
)re,uslov#Siste" je uklju"en i korisnik je ulogovan pod svojom #ifrom. Siste" prikazuje formu za izmenu podataka. -snovni s+enario SK & , 4 1 3 ( 6 '
Korisnik unosi vrednosti po kojima pretražuje učenika. :7PUS=; Korisnik poziva siste" da na%e učenika po zadatim vrednostima. :7PS=; Siste" traži učenika po zadatim vrednostima. :S=; Siste" prikazuje korisniku na%enog učenika. :57; Korisnik unosi :menja; podatke o učeniku. :7PUS=; Korisnik kontroli#e da li je korektno uneo podatke o učeniku. :7@S=; Korisnik poziva siste" da zapamti podatke o učeniku. :7PS=; Siste" pamti podatke o učeniku. :S=; Siste" prikazuje korisniku poruku >Siste" je zapamtio učenika.? :57;
Alternativna s+enarija# -.&. Ukoliko siste" ne može da na%e učenike on prikazuje korisniku poruku >Siste" ne može da na%e učenika po zadatim vrednostima?. Prekida se izvr#enje scenarija. :57; '.&. Ukoliko siste" ne može da zapamti podatke o učeniku on prikazuje korisniku poruku >Siste" ne može da zapamti učenika?. :57;
SK 0# Slučaj korišenja & %nos izostanaka učenika Naziv SK nos izostanaka učenika Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa izostankom učenika 2 učitani su svi predmeti. Osnovni scenario SK
1 # $ * , -
Korisnik unosi vrednost po kojoj pretražuje učenika . (!S") Korisnik poziva sistem da nae učenika po zadatoj vrednosti. (!S") Sistem traži učenika po zadatoj vrednosti. (S") Sistem prikazuje korisniku pronaenog učenika . (') Korisnik bira učenika .(!S") Korisnik poziva sistem da kreira nov izostanak učenika . (!S") Sistem kreira nov izostanak učenika . (S")
3 14 11 1# 1$
Sistem prikazuje korisnikunov izostanak učenika . (') Korisnik unosi podatke o novomizostanku učenika . (!S") Korisnik kontroliše da li je korektno uneo podatke o novom izostanku učenika . (+S") Korisnik poziva sistem da zapamti podatke o novom izostanku učenika . (!S") Sistem pamti podatke o novom izostanku učenika . (S") Sistem prikazuje korisniku poruku:&Sistem je zapamtio nov izostanak &. (')
Alternativna scenarija
.1. koliko sistem ne može da pronae učenikeon prikazuje korisniku poruku: %Sistem ne može da pronae učenika po zadatoj vrednosti&. !rekida se izvršenje s/enarija. (') .1. koliko sistem ne može da kreira izostanak učenika on prikazuje korisniku poruku: %Sistem ne može da kreira izostanak učenika &. !rekida se izvršenje s/enarija. (') 1$.1. koliko sistem ne može da zapamti podatke o novom izostanku on prikazuje korisniku poruku %Sistem ne može da zapamti nov izostanak &. (')
SK # Slučaj korišenja & /z"ena izostanaka učenika Naziv SK
5viden/ija izostanaka učenika Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za izostankeučenika . Osnovni scenario SK scenario SK
1 # $ *
Korisnik unosi podatke o u/eniku /ije izostanke zeli da prikaze. (!S") Korisnik poziva sistem da nae izostanke izabranog učenika (!S") Sistem traži izostanke učenika po zadatim vrednostima. (S") Sistem prikazuje korisniku naenu eviden/iju izostanaka. (') Korisnik biraizostanank koje želi da izmeni. (!S")
, Korisnik poziva sistem da opravda izostanku . (!S") - Sistem pamti podatke o izostanku . (S") Sistem prikazuje korisniku poruku: %Sistem je opravdao izostanak .& .& (')
Alternativna scenarija
.1. koliko sistem ne može da nae eviden/iju izostanaka on prikazuje korisniku poruku: %Sistem ne može da nae eviden/iju izostanaka &. !rekida se izvršenje s/enarija. (') .1. koliko sistem ne može da zapamti podatke o izostanku on prikazuje korisniku poruku: %Sistem ne može da opravda izostanak &. &. (')
SK# Slučaj korišenja & %nošenje pre,"eta Naziv SK
Kreiranje novog predmeta Aktori SK Korisnik (službenik) Učesnici SK Korisnik isistem(program)
Sistem je je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje Preduslov : Sistem predmetima a. formu za rad sa predmetim Osnovni scenario SK
1. Korisnik poziva sistem sistem da da kreira nov predmet . (!S") #. Sistem kreira nov predmet . (S") $. Sistem prikazuje korisniku nov predmet i poruku: %Sistem je kreirao nov predmet&. predmet& . (') . Korisnik unosi podatke o novom predmetu. (!S") *. Korisnik kontroliše da li je korektno uneo podatke o novom predmetu. (+S") ,. Korisnik poziva sistem sistem da da zapamti podatke o novom predmetu. (!S") -. Sistem pamti podatke o novom predmetu. (S") . Sistem prikazuje korisniku poruku: %Sistem je zapamtio predmet &. &. (')
Alternativna scenarija
$.1 koliko sistem ne može da kreira nov predmeton predmeton prikazuje korisniku poruku: %Sistem ne može da kreira nov predmet&. predmet&. !rekida se izvršenje s/enarija. (') .1 koliko sistem ne može da zapamti podatke o novom predmetuon prikazuje korisniku poruku %Sistem ne može da zapamti nov predmet&. predmet&.
SK3# Slučaj korišenja & %nošenje o+ene Naziv SK
nošenje ocene Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za unošenje ocene2 učitani su svi predmeti. Osnovni scenario SK scenario SK
1 # $ * ,
Korisnik unosi vrednost po kojoj pretražuje učenike . (!S") Korisnik poziva sistem da nae učenike po zadatoj vrednosti. (!S") Sistem traži učenike po zadatoj vrednosti. (S") Sistem prikazuje korisniku pronaenog učenika . (') Korisnik unosi podatke o novim ocenama učenika . (!S") Korisnik kontroliše da li je korektno uneo podatke o novim unešenim ocenama .
(+S") - Korisnik poziva sistem da zapamti podatke o unešenim ocenama . (!S") Sistem pamti podatke o novim unešenim ocenama . (S") 3 Sistem prikazuje korisniku poruku:&Sistem je zapamtio unešene ocene &. (') Alternativna scenarija
.1. koliko sistem ne može da pronae učenike on prikazuje korisniku poruku: %Sistem ne može da pronae učenike &. !rekida se izvršenje s/enarija. (') 3.1. koliko sistem ne može da kreira nov unos ocene on prikazuje korisniku poruku: %Sistem ne može da kreira nov unos ocene &. !rekida se izvršenje s/enarija. (')
SK 4# Slučaj korišenja & /z"ena o+ene učenika Naziv SK 'zmena ocene Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za izmenu ocene. Osnovni scenario SK scenario SK
1 Korisnik po pozi ziva va sistem da prikaže ocene izabranog učenika za izabrani predmet (!S") # Sistem traži ocene po zadatoj vrednosti. (S") $ Sistem prikazuje korisniku korisniku pronaene pronaene ocene učenika . (') Korisnik bira ocenu (!S") * Sistem prikazuje korisniku o/enu (+S") , Korisnik unosi izmene ocene (!S") - Korisnik pozivasistemda izmeni ocenu. (!S") Sistem menja ocenu. (S") 3 Sistem prikazuje korisniku poruku: %Sistem je izmenio ocenu.& (')
Alternativna scenarija
$.1 koliko sistem ne može da nae podatke o ocenama on prikazuje korisniku poruku: %Sistemne može da nae ocenepo zadatoj vrednosti&. !rekida se izvršenje s/enaria. (')
3.1 koliko sistem ne može da izmeni ocenu on prikazuje korisniku poruku %Sistem ne može da izmeni ocenu&. (')
SK15# Slučaj korišenja & )rijavljivanje korisnika
Naziv SK:
!rijavljivanje korisnika Aktori SK: Korisnik Učesnici SK: Korisnik i sistem (program) Preduslov: Sistem je uključen i prikazuje formu za logovanje. Osnovni scenario SK:
1. Korisnik unosi podatke za autentifika/iju korisnika . (!S") #. Korisnik poziv asistem da prijavi korisnika sa zadatim poda/ima. (!S") $. Sistem prijavljuje korisnika . (S") . Sistem prikazuje poruku da je korisnik uspešno prijavljen i omogu6ava pristup sistemu.(')
Alternativna scenarija:
.1. koliko sistem ne može da nae korisnika prikazuje poruku da korisnik nije uneo tačne podatke. (')
2. Analiza 2.1. )onašanje so6tversko! siste"a & Siste"ski ,ija!ra" sekven+i
DS1#Dija!ra"sekven+i slučajakorišenja &%nos učenika 1 Korisnik poziva sistem da kreira novog učenika . (!S") # Sistem prikazuje korisniku novog učenika i poruku: %Sistem je kreirao novog učenika &. (') $ Korisnik poziva sistem da zapamti podatke o novom učeniku. (!S") Sistem prikazuje korisniku poruku: %Sistem je zapamtio učenika &. (')
Alternativna s+enarija ,.& koliko sistem ne može da kreira novog učenika on prikazuje korisniku poruku: %Sistem ne može da kreira novog učenika &. !rekida se izvršenje s/enarija. (')
.1 koliko sistem ne može da zapamti podatke o novom učeniku on prikazuje korisniku poruku %Sistem ne može da zapamti novog učenika&.
Sanavedeni7slučajevakoriš6enjauočavajusedvesistemske opera/ije opera/ije koje treba projektovati: $
%. signalKreirajNovogUčenika (&čenik' . signalZapamtiUčenika(&čenik'
DS2#Dija!ra"sekven+islučajakorišenja &'risanje učenika 1 Korisnik poziva sistem da nae učenike po zadatoj vrednosti. (!S") # Sistem prikazuje korisniku pronaene učenike. (') $ Korisnik poziva sistem da obriše učenika . (!S") Sistem prikazuje korisniku poruku: %Sistem je obrisao učenika .& (')
Alternativna s+enarija #.1 koliko sistem ne može da nae učenike on prikazuje korisniku poruku: %Sistem ne može da nae učenike po zadatoj vrednosti&. !rekida se izvršavanje s/enarija (')
.1 koliko sistem ne može da obriše učenika on prikazuje korisniku poruku: %Sistemne može da obriše učenika &. (')
Sa navedenih sekvencnih dijagrama uo"avaju se dve sistemske operacije koje treba projektovati & signal )retra7i%čenika:KriterijumPretrage)
, signal -briši%čenika:Učenik ;
DS(#Dija!ra" sekven+islučajakorišenja &)retra!a učenika 1 # $
Korisnik poziva sistem da nae učenike po zadatim vrednostima. (!S") Sistem prikazuje korisniku naene učenike . (') Korisnik poziva sistem da prikaže podatke o izabranom učeniku . (!S") Sistem prikazuje korisniku podatke o izabranom učeniku . (')
Alternativna s+enarija
,.1 koliko sistem ne može da nae učenike on prikazuje korisniku poruku: %Sistem ne može da nae učenike po zadatim vrednostima&. !rekida se izvršenje s/enarija.(')
Sa navedeni7 sekven/ni7 dijagrama uočavaju se dve sistemske opera/ije koje treba projektovati: 1 signal PretraziUčenika (KriterijumPretrage)
DS#Dija!ra" sekven+i slučajakorišenja &/z"ena po,ataka o učeniku 1 # $
Korisnik poziva sistem da nae učenika po zadatim vrednostima. (!S") Sistem prikazuje korisniku naenog učenika . (') Korisnik poziva sistem da zapamti podatke o učeniku. (!S") Sistem prikazuje korisniku poruku: %Sistem je zapamtio učenika .& (')
Alternativna s+enarija
#.1 koliko sistem ne može da nae učenika on prikazuje korisniku poruku: %Sistem ne može da nae učenike po zadatim vrednostima&. !rekida se izvršenje s/enarija. (')
,.1 . koliko sistem ne može da zapamti podatke o učeniku on prikazuje korisniku poruku: %Sistem ne može da zapamti učenika&. (')
Sa navedenih sekvencnih dijagrama uo"avaju se tri sistemske operacije koje treba projektovati
& signal )retrazi%čenika:KriterijumPretrage ; , signal 8apa"ti%čenika:Učenik ;
DS0#Dija!ra"sekven+i slučaja korišenja &%nos izostanaka učenika 1 # $
Korisnik poziva sistem da nae učenika po zadatoj vrednosti. (!S") Sistem prikazuje korisniku pronaene učenika. (') Korisnik poziva sistem da zapamti podatke o novom izostanku učenika . (!S") Sistem prikazuje korisniku poruku:&Sistem je zapamtio nov i zostanak &. (')
Alternativna s+enarija .1 koliko sistem ne može da pronae učenikeon prikazuje korisniku poruku: %Sistem ne može da pronae učenike po zadatoj vrednosti&. !rekida se izvršenje s/enarija. (')
.1 kolikosistem ne može da zapamti podatke o novom izostanku on prikazuje korisniku poruku %Sistem ne može da zapamti nov izostanak &. (')
Sa navedenih sekvencnih dijagrama uo"avaju se tri sistemske operacije koje treba projektovati & signal )retrazi%čenika:KriterijumPretrage ; , signal 8apa"ti*ov/zostanak :Izostanak ;
DS#Dija!ra" sekven+i slučaja korišenja &/z"ena izostanaka učenika 1 # $
Korisnik poziva sistem da nae izostanke izabranog učenika (!S") Sistem prikazuje korisniku naenu eviden/iju izostanaka. (') Korisnik poziva sistem da zapamti podatke o izostanku . (!S") Sistem prikazuje korisniku poruku: %Sistem je zapamtio izostanak .& (')
Alternativna s+enarija
3.& koliko sistem ne može da nae eviden/iju izostanaka on prikazuje korisniku poruku: %Sistem ne može da nae eviden/iju izostanaka &. !rekida se izvršenje s/enarija. (')
14.1 . koliko sistem ne može da zapamti podatke o izostanku on prikazuje korisniku poruku: %Sistem ne može da zapamti izostanak &. (')
Sa navedenih sekvencnih dijagrama uo"avaja se 1 sistemskih operacija koje treba projektovati & signal )retra7i9vi,en+iju/zostanaka(KriterijumPretrage,List
) , signal /z"eni/zostanak (Izostanak)
DS# Dija!ra" sekven+i slučaja korišenja &%nos pre,"eta 1 # $
Korisnik poziva sistem da kreira nov predmet . (!S") Sistem prikazuje korisniku nov predmet i poruku: %Sistem je kreirao nov predmet &. (') Korisnik poziva sistem da zapamti podatke o novom predmetu. (!S") Sistem prikazuje korisnikuporuku: %Sistem je zapamtio predmet &. (')
Alternativna s+enarija ,.& koliko sistem ne može da kreira nov predmeton prikazuje korisniku poruku: %Sistem ne može da kreira nov predmet &. !rekida se izvršenje s/enarija. (')
.1 koliko sistem ne može da zapamti podatke o novom predmetuon prikazuje korisniku poruku %Sistem ne može da zapamti nov predmet &.
Sa navedeni7 slučajeva koriš6enja uočavaju se dve sistemske opera/ije opera/ije koje treba projektovati: $
%. signal KreirajNovPredmet ( Pred met ' . signal ZapamtiPredmet( Pred met '
DS3# Dija!ra" sekven+i slučaja korišenja & %nošenje o+ene 1 # $
Korisnik poziva sistem da nae učenika po zadatoj vrednosti. (!S") Sistem prikazuje korisniku pronaene učenika. (') Korisnik poziva sistem da zapamti podatke o unešenim ocenama . (!S") Sistem prikazuje korisniku poruku:&Sistem je zapamtio unešene ocene &. (')
Alternativna s+enarija
.1 koliko sistem ne može da pronae učenikeon prikazuje korisniku poruku: %Sistem ne može da pronae učenike po zadatim vrednostima&. !rekida se izvršenje s/enarija. (')
.1 koliko sistem ne može da zapamti podatke o novim ocenama, on prikazuje korisniku poruku %Sistem ne može da zapamti nove ocene&. (')
Sa navedenih sekvencnih dijagrama uo"avaju se tri sistemske operacije koje treba projektovati 1 signal VratiSvePredmete (KriterijumPretrage,List) , signal )retrazi%čenika:KriterijumPretrage ; 4 signal 8apa"ti*ove%nešene-+ene(Unos)
DS4# Dija!ra" sekven+i slučaja korišenja & /z"ena o+ene 1 Korisnik poziva sistem da prikaže ocene izabranog učenika za predmet (!S")
# Sistem prikazuje korisniku pronaene ocene učenika . (') $ Korisnik poziva sistem da izmeni ocenu. (!S") Sistem prikazuje korisniku poruku: %Sistem je izmenio ocenu.& (')
Alternativna s+enarija
,.1 koliko sistem ne može da nae podatke o ocenama on prikazuje korisniku poruku: %Sistemne može da nae ocenepo zadatoj vrednosti&. !rekida se izvršenje s/enaria. (')
.1 koliko sistem ne može da izmeni ocenu on prikazuje korisniku poruku %Sistem ne može da izmeni ocenu&. (')
Sa navedenih sekvencnih dijagrama uo"avaju se #est sistemskih operacija koje treba projektovati 1 signal VratiSvePredmete (KriterijumPretrage,List) , signal)retra7i%čenike:KriterijumPretrage, List ; 4 signal /z"eni-+enu(Oena) - signal )retra7i-+ene(KriterijumPretrage,List)
DS15# Dija!ra" sekven+i slučaja korišenja & )rijavljivanje korisnika
1 Korisnik poziv asistem da prijavi korisnika sa zadatim poda/ima. (!S") # Sistem prikazuje poruku da je korisnik uspešno prijavljen i omogu6ava pristup sistemu. (')
Alternativna s+enarija #.1. koliko sistem ne može da nae korisnika prikazuje poruku da korisnik nije uneo tačne podatke. (')
Sa navedenih sekvencnih dijagrama uo"ava se jedna sistemska operacija koju treba projektovati & signal )rijaviKorisnika:Korisnik ;
Kao rezultat analize s/enarija dobijeno je ukupno 1,sistemski7 opera/ija koje treba projektovati: 1 signal KreirajNovogUčenika(čenik)8 # signal ZapamtiUčenika(čenik)8 $ signal PretraiUčenika (KriterijumPretrage) signal O!ri"iUčenika (Učenik ) * signal ZapamtiUčenikaUčenik) , signal ZapamtiNov#zostanak (!zostanak ) - signal KreirajNov#zostanak (!zostanak ) signal Pretrai$videnciju#zostanaka KriterijumPretrage,List) 3 signal KreirajNovPredmet(Predmet )8 14 signal ZapamtiPredmet(Predmet )8 11 signal ZapamtiNoveUne"eneOcene Unos) 1# signal PretraiOceneKriterijumPretrage,List<"cena>) 1$ signal ZapamtiOcenu"cena) 1 signal PrijaviKorisnika (Korisnik ) 1* signal VratiSvePredmete (List) 1, signal VratiSveUcenike(List)
2.2. )onašanje so6tversko! siste"a & De:nisanje u!ovora o siste"ski" opera+ija"a
%!ovor %;1# Kreiraj*ovo!%čenika =peracija /reiraj@ovogU"enika:Učenik ;signalA
$eza sa S/ S/& Preduslovi 0 Postuslovi Kreiran je no!i učenik.
%!ovor %;2# 8apa"ti%čenika =peracija apamtiU"enika:Učenik ;signalA $eza sa S/ S/&+ S/Preduslovi Prosto !rednosno ograničenje nad o"jektom Učenik mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Učenik mora "iti zado!oljeno.
Postuslovi Podai o učeniku su zapam$eni.
%!ovor %;(# )retrazi%čenika =peracija PretraziU"enike:KriterijumPretrage ;signalA $eza sa S/ S/,+ S/4+ S/-+S/1+S/3+S/6+S/' Preduslovi 0 Postuslovi 0
%!ovor %;#-briši%čenika =peracija =bri#iU"enika:Učenik ;signalA $eza sa S/ S/, Preduslovi 0 Postuslovi Učenik je o"risan.#trukturno ograničenje nad o"jektom Učenik mora "iti zado!oljeno.
%!ovor %;0#8apa"ti%čenika =peracija apamtiU"enika:Učenik ;signalA $eza sa S/ S/&+ S/Preduslovi Prosto !rednosno ograničenje nad o"jektom Učenik mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Učenik mora "iti zado!oljeno.
Postuslovi Podai o učeniku su zapam$eni.
%!ovor %;#Kreiraj*ov/zostanak =peracija /reiraj@ov5zostanak:Izostanak ;signalA $eza sa S/ S/1 Preduslovi %ko za datog učenika postoje !e$ tri izostanka koja nisu opra!dana, ne mo&e se iz!r'iti sistemska operaija.
Postuslovi Kreiran je no! izostanak.
%!ovor %;# 8apa"ti*ov/zostanak =peracija apamti@ov5zostanak:Izostanak ;signalA $eza sa S/ S/1+ S/3 Preduslovi %ko za datog učenika postoje !e$ tri izostanka koja nisu opra!dana ne mo&e se iz!r'iti sistemska operaija. Prosto !rednosno ograničenje nad o"jektom aduzenje mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom aduzenje mora "iti zado!oljeno. Postuslovi Podai o izostanku su zapam$eni.
%!ovor %;3# )retrazi9vi,en+iju/zostanaka =peracija !retraži5viden/iju'zostanakaKriterijumPretrage,List) :signalA $eza sa S/ S/3 Preduslovi 0 Postuslovi 0
%!ovor %;4# Kreiraj*ov)re,"et =peracija /reiraj@ovPredmet:Predmet ;signalA
$eza sa S/ S/( Preduslovi 0 Postuslovi Kreiran je no! predmet.
%!ovor %;15# 8apa"ti)re,"et =peracija 9apamti!redmet(Predmet )8signalA $eza sa S/ S/( Preduslovi Prosto !rednosno ograničenje nad o"jektom Predmet mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Predmet mora "iti zado!oljeno.
Postuslovi Podai o predmetu su zapam$eni.
%!ovor %;11# Kreiraj*ov%nos-+ene =peracija /reiraj@ovUnos=cene:Unos;signalA $eza sa S/ S/6 Preduslovi 0 Postuslovi Kreirana je no!a oena.
%!ovor %;12# 8apa"ti*ove%nošene-+ene =peracija apamti@oveUne#ene=cene:Unos;signalA $eza sa S/ S/6 Preduslovi Prosto !rednosno ograničenje nad o"jektom Unos mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Unos mora "iti zado!oljeno.
Postuslovi Podai o unosu su zapam$eni.
%!ovor %;1(# )retra7i-+ene =peracija Pretraži=ceneKriterijumPretrage,List<"cena> ;signalA
$eza sa S/ S/' Preduslovi 0 Postuslovi 0
%!ovor %;1# 8apa"ti-+enu =peracija apamti=cenu:Oena;signalA $eza sa S/ S/6+ S/' Preduslovi Prosto !rednosno ograničenje nad o"jektom Oena mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Oena mora "iti zado!oljeno. Postuslovi Podai o oeni su zapam$eni.
%!ovor %;10# )rijaviKorisnika =peracija Prijavi/orisnika:Korisnik ;signalA $eza sa S/ S/&* Preduslovi 0 Postuslovi 0
%!ovor %;1# VratiSve)re,"ete =peracija$ratiSvePredmete:KriterijumPretrage,List)signal* $eza sa S/ S/1+S/3+S/6+S/' Preduslovi0 Postuslovi0 Predmeti su na+eni.
Struktura so6tversko! siste"a & Kon+eptualni <,o"enski= "o,el
Struktura so6tversko! siste"a & Rela+ioni "o,el Smer(Smer'2 +azivSmera) čenik(;<0=2 'me2 !rezime2 ifra) 'zostanak(čenik'2 'zostanak'2 atum2 "pravdani2 0roj'zostanaka2 Korisnik!$)
>abela S"er
Atribu ti
/"e
)rosto vre,nosno o!raničenje
Slo7eno vre,nosno o!raničenje
?e@uz >ip Vre,nos av. atribut t atribut a atributa a je,ne tabele
DifraSmera
5nteger
@azivSmera BrojPredmet a
String
BrojU"enika
5nteger
5nteger
not null and E* not null not null andE* not null andE*
Strukturn o o!raničen je
?e@uz av. 5nsert ) atribut a više Update tabela Cascade U"enik 8elete
>abela %čenik
/"e
U"enik58
String
String String String String String String
Broj
5nteger
DifraSmera Gesto
5nteger String
/"e
Slo7eno vre,nosno o!raničenje
?e@uz Vre,no >ip av. st atribut atribut atribut a a je,ne a tabele
5me Prezime GBH /ontakt Gail Ulica
>abela )re,"et
Atribu
)rosto vre,nosno o!raničenje
not null
?e@uz av. 5nsert atribut
not null not null not null not null not null not null not null and E* not null andE* not null
)rosto vre,nosno o!raničenje >ip Vre,nos atribut t
Strukturn o o!raničen je
Slo7eno vre,nosno o!raničenje ?e@uz av.
?e@uz av.
Strukturn o o!raničen je 5nsert )
ti a
Predmet58
String
not null
@aziv
String
not null
>abela -+ena
Atribu ti
/"e
)rosto vre,nosno o!raničenje
String
not null
Predmet58
String
not null
=cena58
String
not null
$rednost=ce ne 5nteger
not null
8atum
8ate
not null
/orisnik58
String
not null
/"e
)rosto vre,nosno o!raničenje
atribut Update) a više tabela 8elete Cascade =cena
Slo7eno vre,nosno o!raničenje
?e@uz >ip Vre,nos av. atribut t atribut a atributa a je,ne tabele
U"enik58
>abela Korisnik
Atribu ti
atribut atributa a je,ne tabele
?e@uz av. atribut a više tabela
Strukturn o o!raničen je 5nsert
Update
8elete )
Slo7eno vre,nosno o!raničenje
>ip Vre,nos ?e@uz atribut t av. a atributa atribut
?e@uz av. atribut
Strukturn o o!raničen je
a je,ne tabele /orisnik58
String
not null
5me
String
not null
Prezime String /orisni"ko5m e String /orisni"kaDif ra String
not null
>abela /zostanak
not null not null
)rosto vre,nosno o!raničenje
Slo7eno vre,nosno o!raničenje
>ip atribu ta
?e@ uzav . Vre,nos atrib t uta atributa je,n e tabe le
U"enik58
String
not null
5zostanak58 8atum5zostank a 8atum=pravda nja
String
not null
8ate
not null
8ate
not null
Atribu ti /"e
a više tabela
Strukturn o o!raničen je 5nsert
?e@uz av. atribut a više Update tabela
:default* ;
=pravdano
Bool
BrojIasova
5nteger not null
/orisnik58
String
not null
(. )rojektovanje Faza projektovanja opisuje 9zi"ku strukturu i pona#anje softverskog sistema :arhitekturu softverskog sistema;.
Arhitektura so6tversko! siste"a 7rhitekrura sistema je tronivojska i sastoji se od slede!ih nivoa
korisni"ki interfejs aplikaciona logika skladi#te podataka
@ivo korisni"kog interfejsa je na strani klijenta+ dok su aplikaciona logika i skladi#te podataka na strani servera.
>ronivojska arhitektura
(.1. )rojektovanje korisničko! inter6ejsa /orisni"ki interfejs+ predstavlja realizaciju ulaza i)ili izlaza softverskog sistema.
Struktura korisničko! inter6ejsa
Jkranska forma ima ulogu da prihvati podatke koje korisnik unosi+ prihvata doga%aje koje pravi korisnik+ poziva kontroler korisni"kog interfejsa kako bi mu prosledio podatke i prikazuje podatke dobijene od kontrolera korisni"kog interfejsa.
(.1.1. )rojektovanje ekranskih 6or"i Korisnički interfejs defenisan je preko skupa ekranski" formi. !cenarija korišćenja ekranski" formi su direktno povezana sa scenarijima slučajeva korišćenja. )lavna ekranska forma serverskog dela aplikacije treba da izgleda ovako$
)lavna ekranska forma klijentskog dela aplikacije, posle uspesnog logovanja na sistem izgledala bi ovako$
Kroz slučajeve korišćenja projektovane su i ostale ekranske forme koje će aplikacija posedovati, a koje se pozivaju iz menija glavne ekranske forme klijentskog dela aplikacije, kao i forma za logovanje koje mora da se pokrene, da bi se pokrenula glavna ekranska forma.
SK1# Slučaj korišenja$ %nos učenika u siste" Naziv SK
Kreiranje novog učenika Aktori SK Korisnik (službenik) Učesnici SK Korisnik isistem (program) Preduslov : Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa učenicima .
Osnovni scenario SK
1. Korisnik poziva sistem da kreira novog učenika . (!S") #. Sistem kreira novog učenika. (S") $. Sistem prikazuje korisnikun ovog učenika i poruku: %Sistem je kreirao novog učenika &. (')
. Korisnik unosi podatke o novom učeniku. (!S")
*. Korisnik kontroliše da li je korektno uneo podatke o novom učeniku . (+S") ,. Korisnik poziva sistem da zapamti podatke o novom učeniku . (!S") -. Sistem pamti podatke o novom učeniku . (S") . Sistem prikazuje korisniku poruku: %Sistem je zapamtio učenika&. (')
Alternativna scenarija
1 koliko sistem ne može da kreira novog učenika on prikazuje korisniku poruku: %Sistem ne može da kreira novog učenika &. !rekida se izvršenje s/enarija. (')
.1 koliko sistem ne može da zapamti podatke o novom učeniku on prikazuje korisniku poruku %Sistem ne može da zapamti novog učenika&.
SK2# Slučaj korišenja & 'risanje učenika iz siste"a Naziv SK 0risanje učenika Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov : Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad za brisanje učenika .
Osnovni scenario SK
1 Korisnik unosi vrednost po kojoj pretražuje učenika . (!S")
# Korisnik poziva sistem da nae učenika po zadatoj vrednosti. (!S") $ Sistem traži učenika po zadatoj vrednosti. (S") Sistem prikazuje korisniku pronaenog učenika . (')
* Korisnik poziva sistem da obriše učenika . (!S") , Sistem briše učenika. (S") - Sistem prikazuje korisniku poruku: %Sistem je obrisao učenika .& (')
Alternativna scenarija
1 koliko sistem ne može da nae učenike on prikazuje korisniku poruku: %Sistem ne može da nae učenika po zadatoj vrednosti&. !rekida se izvršavanje s/enarija (')
-.1 koliko sistem ne može da obriše učenika on prikazuje korisniku poruku: %Sistemne može da obriše učenika &. (')
SK (# Slučaj korišenja & )retra!a učenika *aziv SK Pretraga učenika Aktori SK Korisnik %česni+i SK Korisnik i siste" :program; )re,uslov#Siste" je uklju"en i korisnik je ulogovan pod svojom #ifrom. Siste" prikazuje formu za pretragu učenika.
-snovni s+enario SK -snovni s+enario SK & Korisnik unosi vrednosti po kojima pretražuje u čenika. :7PUS=;
, Korisnik poziva siste" da na%e učenika po zadatim vrednostima. :7PS=; 4 Siste" traži učenika po zadatim vrednostima. :S=; - Siste" prikazuje korisniku na%enog učenika. :57;
Alternativna s+enarija -.&. Ukoliko siste" ne može da na%e učenike on prikazuje korisniku poruku >Siste" ne može da na%e učenika po zadatim vrednostima?. Prekida se izvr#enje scenarija. :57;
SK # Slučaj korišenja & /z"ena po,ataka o učeniku
*aziv SK 5zmena podataka o učeniku Aktori SK Korisnik
%česni+i SK Korisnik i siste" :program; )re,uslov#Siste" je uklju"en i korisnik je ulogovan pod svojom #ifrom. Siste" prikazuje formu za izmenu podataka.
-snovni s+enario SK & Korisnik unosi vrednosti po kojima pretražuje učenika. :7PUS=;
, Korisnik poziva siste" da na%e učenika po zadatim vrednostima. :7PS=; 4 Siste" traži učenika po zadatim vrednostima. :S=; - Siste" prikazuje korisniku na%enog učenika. :57;
1 Korisnik unosi :menja; podatke o učeniku. :7PUS=;
3 Korisnik kontroli#e da li je korektno uneo podatke o učeniku. :7@S=;
( Korisnik poziva siste" da zapamti podatke o učeniku. :7PS=; 6 Siste" pamti podatke o učeniku. :S=; ' Siste" prikazuje korisniku poruku >Siste" je zapamtio učenika.? :57;
Alternativna s+enarija# &
Ukoliko siste" ne može da na%e učenike on prikazuje korisniku poruku >Siste" ne može da na%e učenika po zadatim vrednostima?. Prekida se izvr#enje scenarija. :57;
'.&. Ukoliko siste" ne može da zapamti podatke o učeniku on prikazuje korisniku poruku >Siste" ne može da zapamti učenika?. :57;
SK 0# Slučaj korišenja & %nos izostanaka učenika Naziv SK nos izostanaka učenika Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa izostankom učenika 2 učitani su svi predmeti.
Osnovni scenario SK
1 Korisnik unosi vrednost po kojoj pretražuje učenika . (!S")
# Korisnik poziva sistem da nae učenika po zadatoj vrednosti. (!S") $ Sistem traži učenika po zadatoj vrednosti. (S") Sistem prikazuje korisniku pronaenog učenika . (')
* Korisnik bira učenika .(!S")
, Korisnik poziva sistem da kreira nov izostanak učenika . (!S") - Sistem kreira nov izostanak učenika . (S") Sistem prikazuje korisniku nov izostanak učenika . (')
3 Korisnik unosi podatke o novom izostanku učenika . (!S")
14 11 1# 1$
Korisnik kontroliše da li je korektno uneo podatke o novom izostanku učenika . (+S") Korisnik poziva sistem da zapamti podatke o novom izostanku učenika . (!S") Sistem pamti podatke o novom izostanku učenika . (S") Sistem prikazuje korisniku poruku:&Sistem je zapamtio nov izostanak &. (')
Alternativna scenarija
1
koliko sistem ne može da pronae učenike on prikazuje korisniku poruku: %Sistem ne može da pronae učenika po zadatoj vrednosti&. !rekida se izvršenje s/enarija. (')
.1. koliko sistem ne može da kreira izostanak učenika on prikazuje korisniku poruku: %Sistem ne može da kreira izostanak učenika &. !rekida se izvršenje s/enarija. (')
1$.1. koliko sistem ne može da zapamti podatke o novom izostanku on prikazuje korisniku poruku %Sistem ne može da zapamti nov izostanak &. (')
SK # Slučaj korišenja & /z"ena izostanaka učenika Naziv SK
5viden/ija izostanaka učenika Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za izostanke učenika .
Osnovni scenario SK scenario SK
1 Korisnik unosi podatke o u/eniku /ije izostanke zeli da prikaze. (!S")
# Korisnik poziva sistem da nae izostanke izabranog učenika (!S") $ Sistem traži izostanke učenika po zadatim vrednostima. (S") Sistem prikazuje korisniku naenu eviden/iju izostanaka. (')
* Korisnik bira izostanank koje želi da izmeni. (!S")
, Korisnik poziva sistem da opravda izostanku . (!S") - Sistem pamti podatke o izostanku . (S") Sistem prikazuje korisniku poruku: %Sistem je opravdao izostanak .& (')
.1. koliko sistem ne može da nae eviden/iju izostanaka on prikazuje korisniku poruku: %Sistem ne može da nae eviden/iju izostanaka &. !rekida se izvršenje s/enarija. (')
.1. koliko sistem ne može da zapamti podatke o izostanku on prikazuje korisniku poruku: %Sistem ne može da opravda izostanak &. (')
SK# Slučaj korišenja & %nošenje pre,"eta
Naziv SK
Kreiranje novog predmeta Aktori SK Korisnik (službenik) Učesnici SK Korisnik isistem (program) Preduslov : Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa predmetima.
Osnovni scenario SK
1. Korisnik poziva sistem da kreira nov predmet . (!S") #. Sistem kreira nov predmet . (S") $. Sistem prikazuje korisniku nov predmet i poruku: %Sistem je kreirao nov predmet&. (')
. Korisnik unosi podatke o novom predmetu. (!S")
*. Korisnik kontroliše da li je korektno uneo podatke o novom predmetu. (+S") ,. Korisnik poziva sistem da zapamti podatke o novom predmetu. (!S") -. Sistem pamti podatke o novom predmetu. (S") . Sistem prikazuje korisniku poruku: %Sistem je zapamtio predmet &. (')
Alternativna scenarija
$.1 koliko sistem ne može da kreira nov predmet on prikazuje korisniku poruku: %Sistem ne može da kreira nov predmet&. !rekida se izvršenje s/enarija. (')
1 koliko sistem ne može da zapamti podatke o novom predmetu on prikazuje korisniku poruku %Sistem ne može da zapamti nov predmet&.
SK3# Slučaj korišenja & %nošenje o+ene Naziv SK
nošenje ocene Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za unošenje ocene2 učitani su svi predmeti.
Osnovni scenario SK scenario SK
1 Korisnik unosi vrednost po kojoj pretražuje učenike . (!S")
# Korisnik poziva sistem da nae učenike po zadatoj vrednosti. (!S") $ Sistem traži učenike po zadatoj vrednosti. (S") Sistem prikazuje korisniku pronaenog učenika . (')
* Korisnik unosi podatke o novim ocenama učenika . (!S")
, Korisnik kontroliše da li je korektno uneo podatke o novim unešenim ocenama . (+S") - Korisnik poziva sistem da zapamti podatke o unešenim ocenama . (!S") Sistem pamti podatke o novim unešenim ocenama . (S") 3 Sistem prikazuje korisniku poruku:&Sistem je zapamtio unešene ocene &. (')
Alternativna scenarija
.1. koliko sistem ne može da pronae učenike on prikazuje korisniku poruku: %Sistem ne može da pronae učenike &. !rekida se izvršenje s/enarija. (')
3.1. koliko sistem ne može da kreira nov unos ocene on prikazuje korisniku poruku: %Sistem ne može da kreira nov unos ocene &. !rekida se izvršenje s/enarija. (')
SK 4# Slučaj korišenja & /z"ena o+ene učenika
Naziv SK 'zmena ocene Aktori SK Korisnik Učesnici SK Korisnik i sistem (program) Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za izmenu ocene.
Osnovni scenario SK scenario SK
1 Korisnik po pozi ziva va sistem da prikaže ocene izabranog učenika za izabrani predmet (!S") # Sistem traži ocene po zadatoj vrednosti. (S") $ Sistem prikazuje korisniku korisniku pronaene pronaene ocene učenika . (')
Korisnik bira ocenu (!S")
* Sistem prikazuje korisniku korisniku o/enu o/enu (+S") , Korisnik unosi izmene o/ene (!S")
- Korisnik pozivasistemda izmeni ocenu. (!S") Sistem menja ocenu. (S") 3 Sistem prikazuje korisniku poruku: %Sistem je izmenio ocenu.& (')
Alternativna scenarija
$.1 koliko sistem ne može da nae podatke o ocenama on prikazuje korisniku poruku: %Sistem ne može da nae ocene po zadatoj vrednosti&. !rekida se izvršenje s/enaria. (')
3.1 koliko sistem ne može da izmeni ocenu on prikazuje korisniku poruku %Sistem ne može da izmeni ocenu&. (')
SK15# Slučaj korišenja & )rijavljivanje korisnika Naziv SK:
!rijavljivanje korisnika Aktori SK: Korisnik Učesnici SK: Korisnik i sistem (program) Preduslov: Sistem je uključen i prikazuje formu za logovanje.
Osnovni scenario SK:
1 Korisnik unosi podatke za autentifika/iju korisnika . (!S")
#. Korisnik poziv asistem da prijavi korisnika sa zadatim poda/ima. (!S") $. Sistem prijavljuje korisnika . (S") . Sistem prikazuje poruku da je korisnik uspešno prijavljen i omogu6ava pristup sistemu.(')
Alternativna scenarija:
.1. koliko sistem ne može da nae korisnika prikazuje poruku da korisnik nije uneo tačne podatke. (')
(.1.2. )rojektovanje kontrolera korisničko! inter6ejsa
Jkranska forma prosle%uje podatke i prikazuje podatke dobijene od kontrolera korisni"kog interfejsa. U skladu sa tim kontroler korisni"kog interfejsa odgovoran je za
prihvatanje podataka koje #alje ekranska forma konvertovanje podataka :koji se nalaze u gra9"kim elementima; u objekat koji predstavlja ulazni argument sistemske operacije slanje zahteva izvr#enje sistemske operacije do aplikacionog servera :softverskog sistema; prihvatanje objekta :izlaz; softverskog sistema koji nastaje kao rezultat izvr#enja sistemske operacije konvertovanje objekta u podatke gra9"kih elemenata
(.2. )rojektovanje aplika+ione lo!ike 7plikacioni serveri treba da obezbede servise koji !e da omogu!e realizaciju aplikacione logike softverskog sistema. Projektovani aplikacioni server sadrži
deo za komunikaciju sa klijentima kontroler aplikacione logike deo za komunikaciju sa skladi#tem podataka :Broker baze podataka; deo koji sadrži poslovnu logiku
(.2.1. Ko"unika+ija sa klijenti"a
8eo za komunikaciju podiže serverski soket koji dalje oslu#kuje mrežu. /ada klijent uspostavi konekciju server generi#e nit koja !e biti odgovorna za dvosmernu vezu sa klijentom. /lijent #alje zahtev za izvr#enje neke od sistemskih operacija+ odgovaraju!a nit :dodeljena klijentu; prihvata zahtev i prosle%uje ga do kontrolera aplikacione logike. @akon izvr#enja sistemske operacije kontroler vra!a rezultat >niti klijenta?.
set K transfer=bjekat valueA M M =bject rezultatA Public =bject
(.2.2. Kontroler aplika+ione lo!ike
/ontroler aplikacione logike prihvata zahteve za izvr#enje sistemskih operacija i iste prosle%uju do konkretne sistemske operacije. @akon+ izvr#enja sistemske operacije kontroler prihvata odgovor i vra!a nazad pozivaocu :niti klijenta;. /ako je u fazama prikupljanja zahteva i analize data speci9kacija strukture i pona#anja softverskog sistema+ odnosno speci9kacija poslovne logike softverskog sistema+ slede!a slika daje opis sistema nakon faza projektovanja komunikacije sa klijentima i kontrolera aplikacione logike.
(.2.(. )oslovna lo!ika Projektovanje ponašanja softverskog sistema – sistemske operacije
Preko klase /ontroler prihvataju se zahtevi od niti klijenta za izvr#enje sistemskih operacija koji se zatim prosle%uju do odgovaraju!ih klasa koje su odgovorne za izvr#enje S=. a svaku S= prave se softverske klase koje treba da realizuju S= :one opisuju pona#anje sistema;.
%!ovor %;1# Kreiraj*ovo!%čenika
=peracija /reiraj@ovogU"enika:Učenik ;signalA $eza sa S/ S/& Preduslovi 0 Postuslovi Kreiran je no!i učenik. namespace Sistemske=peracije.UcenikS= K Public class /reiraj@ovogUcenika=pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.dajSve:odo;A M M M
%!ovor %;2# 8apa"ti%čenika =peracija apamtiU"enika:Učenik ;signalA $eza sa S/ S/&+ S/Preduslovi Prosto !rednosno ograničenje nad o"jektom Učenik mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Učenik mora "iti zado!oljeno.
Postuslovi Podai o učeniku su zapam$eni. namespace Sistemske=peracije.UcenikS= K Public class apamti Ucenika=pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.ubaci:odo;A M M M
%!ovor %;(# )retrazi%čenika =peracija PretraziU"enike:KriterijumPretrage ;signalA $eza sa S/ S/,+ S/4+ S/-+S/1+S/3+S/6+S/'
Preduslovi 0 Postuslovi 0
namespace Sistemske=peracije.UcenikS= K Public class PretraziUcenike=pstaS= K publicoverrideobject 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K Biblioteka.Ucenik u Sesija.Broker.dajSesiju:;.dajaUslovedan:odo; as Biblioteka.UcenikA u.Smer Sesija.Broker.dajSesiju:;.dajaUslovedan:u.Smer; as Biblioteka.SmerA return uA M M M
%!ovor %;#-briši%čenika =peracija =bri#iU"enika:Učenik ;signalA $eza sa S/ S/, Preduslovi 0 Postuslovi Učenik je o"risan.#trukturno ograničenje nad o"jektom Učenik mora "iti zado!oljeno. namespace Sistemske=peracije.UcenikS= K Public class =brisiUcenika=pstaS= K Public overrid eobject 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.obrisi:odo;A M M M
%!ovor %;0#8apa"ti%čenika =peracija apamtiU"enika:Učenik ;signalA $eza sa S/ S/&+ S/Preduslovi Prosto !rednosno ograničenje nad o"jektom Učenik mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Učenik mora "iti zado!oljeno.
Postuslovi Podai o učeniku su zapam$eni. namespace Sistemske=peracije.UcenikS= K public class apamtiUcenika=pstaS= K public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.ubaci:odo;A M M M
%!ovor %;#Kreiraj*ov/zostanak =peracija /reiraj@ov5zostanak:Izostanak ;signalA $eza sa S/ S/1 Preduslovi %ko za datog učenika postoje !e$ tri izostanka koja nisu opra!dana, ne mo&e se iz!r'iti sistemska operaija.
Postuslovi Kreiran je no! izostanak. namespace Sistemske=peracije.5zostanakS= K Public class /reiraj @ovi5zostanak=pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.dajSifru:odo;A M M M
%!ovor %;# 8apa"ti*ov/zostanak =peracija apamti@ov5zostanak:Izostanak ;signalA $eza sa S/ S/1+ S/3 Preduslovi %ko za datog učenika postoje !e$ tri izostanka koja nisu opra!dana ne mo&e se iz!r'iti sistemska operaija. Prosto !rednosno ograničenje nad o"jektom aduzenje mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom aduzenje mora "iti zado!oljeno. Postuslovi Podai o izostanku su zapam$eni. namespace Sistemske=peracije.5zostanakS= K
Public class apamti@ovi5zostanak=pstaS= K publicoverrideobject 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.ubaci:odo;A M M M
%!ovor %;3# )retrazi9vi,en+iju/zostanaka =peracija !retraži5viden/iju'zostanakaKriterijumPretrage,List) :signalA $eza sa S/ S/3 Preduslovi 0 Postuslovi 0
namespace Sistemske=peracije.5zostanakS= K Public cclas sPronadji5zostanak=pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K ListBiblioteka.5zostanakE lista Sesija.Broker.dajSesiju:;.dajSveaUslov8va:odo;.=fTQpeBiblioteka.5zostanakE:;.ToListBibliote ka.5zostanakE:;A foreach :Biblioteka.5zostanak i in lista; K i.Ucenik Sesija.Broker.dajSesiju:;.dajaUslovedan:i.Ucenik; as Biblioteka.UcenikA i./orisnik Sesija.Broker.dajSesiju:;.dajaUslov8va:i./orisnik; as Biblioteka./orisnikA M return listaA M M M
%!ovor %;4# Kreiraj*ov)re,"et =peracija /reiraj@ovPredmet:Predmet ;signalA $eza sa S/ S/( Preduslovi 0
Postuslovi Kreiran je no! predmet. namespace Sistemske=peracije.PredmetS= K Public class /reiraj@oviPredmet =pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.dajSifru:odo;A M M M
%!ovor %;15# 8apa"ti)re,"et =peracija 9apamti!redmet(Predmet )8signalA $eza sa S/ S/( Preduslovi Prosto !rednosno ograničenje nad o"jektom Predmet mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Predmet mora "iti zado!oljeno.
Postuslovi Podai o predmetu su zapam$eni. namespace Sistemske=peracije.PredmetS= K public class apamtiPredmet =pstaS= K public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K
M M
return Sesija.Broker.dajSesiju:;.ubaci:odo;A
M
%!ovor %;11# Kreiraj*ov%nos-+ene =peracija /reiraj@ovUnos=cene:Unos;signalA $eza sa S/ S/6 Preduslovi 0 Postuslovi Kreirana je no!a oena. namespace Sistemske=peracije.=cena K public class Unos=cene=pstaS=
K public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K Biblioteka.Ucenik u odo as Biblioteka.UcenikA
foreach :Biblioteka.=cena o in u.Spisak=cena; K o.=cena58 Sesija.Broker.dajSesiju:;.dajSifru:o;A Sesija.Broker.dajSesiju:;.ubaci:o;A
M return &A M
M
M
%!ovor %;12# 8apa"ti*ove%nošene-+ene =peracija apamti@oveUne#ene=cene:Unos;signalA $eza sa S/ S/6 Preduslovi Prosto !rednosno ograničenje nad o"jektom Unos mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Unos mora "iti zado!oljeno.
Postuslovi Podai o unosu su zapam$eni. namespace Sistemske=peracije.=cena K Public class Unos=cene=pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K Biblioteka.Ucenik u odo as Biblioteka.UcenikA foreach :Biblioteka.=cena o in u.Spisak=cena; K o.=cena58 Sesija.Broker.dajSesiju:;.dajSifru:o;A Sesija.Broker.dajSesiju:;.ubaci:o;A M return &A M M M
%!ovor %;1(# )retra7i-+ene =peracija Pretraži=ceneKriterijumPretrage,List<"cena> ;signalA $eza sa S/ S/'
Preduslovi 0 Postuslovi 0 namespace Sistemske=peracije.=cena K Public class Pronadji=cenu=pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.dajSveaUslov8va:odo;A M M M
%!ovor %;1# 8apa"ti-+enu
=peracija apamti=cenu:Oena;signalA $eza sa S/ S/6+ S/' Preduslovi Prosto !rednosno ograničenje nad o"jektom Oena mora "iti zado!oljeno. #trukturno ograničenje nad o"jektom Oena mora "iti zado!oljeno. Postuslovi Podai o oeni su zapam$eni. namespace Sistemske=peracije.=cena K public class Unos=cene=pstaS= K public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K Biblioteka.Ucenik u odo as Biblioteka.UcenikA foreach :Biblioteka.=cena o in u.Spisak=cena; K o.=cena58 Sesija.Broker.dajSesiju:;.dajSifru:o;A Sesija.Broker.dajSesiju:;.ubaci:o;A
M M
M return &A
M
%!ovor %;10# )rijaviKorisnika =peracija Prijavi/orisnika:Korisnik ;signalA
$eza sa S/ S/&* Preduslovi 0 Postuslovi 0 namespace Sistemske=peracije./orisnikS= K Public class LoginS==pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.dajaUslovedan:odo;A M M M
%!ovor %;1# VratiSve)re,"ete =peracija$ratiSvePredmete:KriterijumPretrage,List)signal* $eza sa S/ S/1+S/3+S/6+S/' Preduslovi0 Postuslovi0 Predmeti su na+eni. namespace Sistemske=peracije.PredmetS= K Public class vratiPredmeteaSmer=pstaS= K Public override object 5zvrsi:Biblioteka.=psti8omenski=bjekat odo; K return Sesija.Broker.dajSesiju:;.dajSveaUslov8va:odo;A M M M
/lase koje su odgovorne za S= nasledjuju R=pstuS=>
Projektovanje strukture softverskog sistema
@a osnovu konceptualnih klasa kreiraju se softverske klase strukture sistema. Svaka klasa ima privatna polja atributra+ gettere i settere za te atribute+ besparametaski konstruktor kao i parametarski konstruktori. Primer klase :Predmet; dat je slede!im linijama koda namespace Biblioteka K NSerializableO Public class Predmet=psti8omenski=bjekat K int predmet58A public int Predmet58 K get K return predmet58A M set K predmet58 valueA M M string nazivA public string @aziv K get K return nazivA M set K naziv valueA M M bool matematickiA public bool Gatematicki K get K return matematickiA M set K matematicki valueA M M bool drustveniA public bool 8rustveni K get K return drustveniA M set K drustveni valueA M M bool opstiA public bool =psti K get K return opstiA M set K opsti valueA M M
string uslov8vaatrA public string Uslov8vaatr K get K return uslov8vaatrA M set K uslov8vaatr valueA M M Public override string ToString:; K return nazivA M region =8= Public string tabela K get K returnPredmetA M M Public string kljuc K get K returnPredmet58A M M Public string uslovedan K get K returnPredmet58 predmet58 A M M Public string uslov8va K get K return uslov8vaatrA M M Public string uslovTri K get K returnnullA M M Public string azuriranje K get K returnnullA M M Public string upisivanje K get K return:predmet58+VnazivV+matematicki+drustveni+opsti;A M M Public =psti8omenski=bjekat napuni:8ata
return pA M endregion M M
(.2.. 'roker baze po,ataka
/lasa 8atabaseBroker :Broker baze podataka; se projektuje kako bi se obezbedio perzistentni servis objektima domenskih klasa koji se "uvaju u bazi podataka. Tako klasa 8atabaseBroker predstavlja perzistentni okvir koji posreduje u svim operacijama nad bazom podataka i realizuje slede!e metode & , 4 1 3 (
public void otvori/onekciju:; public void zatvori/onekciju:; public void zapocniTransakciju:; public void potvrdiTransakciju:; public void ponistiTransakciju:; public List=psti8omenski=bjekatEdajSve:=psti8omenski=bjekat odo; public List=psti8omenski=bjekatEdajSveaUslov8va:=psti8omenski=bjekat odo; 6 public List=psti8omenski=bjekatEdajSveaUslovTri:=psti8omenski=bjekat odo; ' public =psti8omenski=bjekat dajaUslovedan:=psti8omenski=bjekat odo; &* public =psti8omenski=bjekat dajaUslov8va:=psti8omenski=bjekat odo; && int ubaci :=psti8omenski=bjekat odo; &, int obrisi :=psti8omenski=bjekat odo; &4 int azuriraj :=psti8omenski=bjekat odo; &- int dajSifru :=psti8omenski=bjekat odo;
Getode 8atabaseBrokera su projektovane kao generi"ke+ #to zna"i da mogu da prihvate razli"ite domenske objekte preko parametara kako ne bi u 8atabaseBroker0u implementirali pojedina"ne metode za svaku domensku
klasu. Tako%e postoje i pojedina"ne metode koje nisu mogle biti projektovane kao generi"ke..
$eze klase 8BBroker sa klasom =psti8omenski objekat
(.(. )rojektovanje skla,išta po,ataka @a osnovu softverskih klasa strukture projektovane su tabele :skladi#ta podataka; relacionog sistema za upravljanje bazom podataka :GS 7ccess;.
Smer Smer58 @azivSmera
@umber TeXt
Ucenik GBH 5me Prezime Gail Ulica Broj Hrad
TeXt TeXt TeXt TeXt @umber TeXt @umber
Predmet Predmet58 @aziv Gatematicki 8rustveni =psti
@umber TeXt Yes)@o Yes)@o Yes)@o
=cena =cena58 8atum =cena Ucenik58 Predmet58 /orisnik58
@umber 8ate)Time @umber TeXt @umber @umber
/orisnik /orisnik58 5me Prezime /orisnicko5me /orisnickaSifra
@umber TeXt TeXt TeXt TeXt
5zostanak 5zostanak58 8atum Ucenik58 Broj5zostanaka =pravdani /orisni58
@umber 8ate)Time TeXt @umber Yes)@o @umber
./"ple"eta+ija Softverski sQstem je razvijen u programskom jeziku C.Sistem je projektovan kao klijent0server./ao sistem za upravljanjem bazom podataka kori#!en je GS 7ccess+ dok je razvojno okruženje $isualStudio ,*&*.
Slika 0 Arhitektura so6tversko! siste"a