You are on page 1of 103

Univerzitet u Beogradu

Fakultet organizacionih nauka


Laboratorija za softversko inenjerstvo

Seminarski rad iz predmeta

Projektovanje softvera
Tema: Softverski sistem za praenje rada uenika u
srednjoj koli

Profesor:
dr Sinia Vlaji

Student:
Sran Tajdi 197/10

Beograd, 2014.

SADRAJ

1. Korisniki zahtevi............................................................................................... 4
1.1. Verbalni opis................................................................................................ 4
1.2. Sluajevi korienja..................................................................................... 4
SK1: Sluaj korienja- Unos uenika u sistem................................................5
SK2: Sluaj korienja Brisanje uenika iz sistema.......................................6
SK 3: Sluaj korienja Pretraga uenika......................................................7
SK 4: Sluaj korienja Izmena podataka o ueniku......................................7
SK 5: Sluaj korienja Unos izostanaka uenika..........................................8
SK 6: Sluaj korienja Izmena izostanaka uenika.......................................9
SK7: Sluaj korienja Unoenje predmeta.................................................10
SK8: Sluaj korienja Unoenje ocene.......................................................10
SK 9: Sluaj korienja Izmena ocene uenika............................................11
SK10: Sluaj korienja Prijavljivanje korisnika...........................................12
2. Analiza............................................................................................................. 13
2.1. Ponaanje softverskog sistema Sistemski dijagram sekvenci.................13
DS1:Dijagramsekvenci sluajakorienja Unos uenika..............................13
DS2:Dijagramsekvencisluajakorienja Brisanje uenika...........................15
DS3:Dijagramsekvencisluajakorienja Pretraga uenika..........................17
DS4:Dijagramsekvencisluajakorienja Izmena podataka o ueniku.........18
DS5:Dijagramsekvencisluajakorienja Unos izostanaka uenika..............21
DS6:Dijagramsekvencisluajakorienja Izmena izostanaka uenika..........23
DS7: Dijagram sekvenci sluaja korienja Unos predmeta.........................25
DS8: Dijagram sekvenci sluaja korienja Unoenje ocene.......................27
DS9: Dijagram sekvenci sluaja korienja Izmena ocene.........................29
DS10: Dijagram sekvenci sluaja korienja Prijavljivanje korisnika...........32
2.2. Ponaanje softverskog sistema Definisanje ugovora o sistemskim
operacijama...................................................................................................... 33
Struktura softverskog sistema Konceptualni (domenski) model....................38
Struktura softverskog sistema Relacioni model.............................................39
3. Projektovanje................................................................................................... 42

Arhitektura softverskog sistema.......................................................................43


3.1. Projektovanje korisnikog interfejsa..........................................................44
3.1.1. Projektovanje ekranskih formi.............................................................44
3.1.2. Projektovanje kontrolera korisnikog interfejsa...................................73
3.2. Projektovanje aplikacione logike................................................................74
3.2.1. Komunikacija sa klijentima..................................................................74
3.2.2. Kontroler aplikacione logike.................................................................74
3.2.3. Poslovna logika.................................................................................... 75
3.2.4. Broker baze podataka..........................................................................84
3.3. Projektovanje skladita podataka..............................................................86
4.Implemetacija................................................................................................... 90
5. Testiranje......................................................................................................... 91

1. Korisniki zahtevi
1.1. Verbalni opis
Potrebno je napraviti aplikaciju koja omoguava da se efikasno izvrava evidencija
podataka o ueniku, o njegovim ocenama i izostancima. Korisnik sistema je slubenik u
kolskoj upravi (korisnik).
Sistem treba da omogui unoenje podataka o uenicima i predmetima, kao i
pretraivanje, izmenu i brisanje ocena. Pored ovih zahteva potrebno je omoguiti i da
korisnik moe da unese rezultate predmeta. Da bi korisnik mogao da vri promene nad
podacima u sistemu mora da bude prijavljen na sistem (ulogovan).

1.2. Sluajevi korienja

U konkretnom sluaju evidentirani su sledei sluajevi korienja


koji su prikazani na slici 1:
1 Unos uenika u sistem
2 Brisanje uenika iz sistema
3 Pretraga uenika
4 Izmena podataka o ueniku
5 Unos izostanaka uenika
6 Izmena izostanaka uenika
7 Unos predmeta
8 Unoenje ocene
9 Izmena ocene
10)Prijava korisnika na sistem

Slika 1. Dijagram sluajeva korienja

SK1: Sluaj korienja- Unos uenika u sistem


Naziv SK
Kreiranje novog uenika
Aktori SK
Korisnik (slubenik)
Uesnici SK
Korisnik isistem(program)
Preduslov: Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za rad sa uenicima.
Osnovni scenario SK
1. Korisnik poziva sistem da kreira novog uenika. (APSO)
2. Sistem kreira novog uenika. (SO)
3. Sistem prikazuje korisniku novog uenika i poruku: Sistem je kreirao novog uenika. (IA)
4. Korisnik unosi podatke o novom ueniku. (APUSO)
5. Korisnik kontrolie da li je korektno uneo podatke o novom ueniku. (ANSO)

6. Korisnik poziva sistem da zapamti podatke o novom ueniku. (APSO)


7. Sistem pamti podatke o novom ueniku. (SO)
8. Sistem prikazuje korisniku poruku: Sistem je zapamtio uenika. (IA)
Alternativna scenarija
3.1 Ukoliko sistem ne moe da kreira novog uenikaon prikazuje korisniku poruku: Sistem ne
moe da kreira novog uenika. Prekida se izvrenje scenarija. (IA)
8.1 Ukoliko sistem ne moe da zapamti podatke o novom uenikuon prikazuje korisniku
poruku Sistem ne moe da zapamti novog uenika.

SK2: Sluaj korienja Brisanje uenika iz sistema


Naziv SK
Brisanje uenika
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov: Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za rad za brisanje uenika.
Osnovni scenario SK
1
2
3
4
5
6
7

Korisnik unosi vrednost po kojoj pretrauje uenika. (APUSO)


Korisnik poziva sistem da nae uenika po zadatoj vrednosti. (APSO)
Sistem trai uenika po zadatoj vrednosti. (SO)
Sistem prikazuje korisniku pronaenog uenika. (IA)
Korisnik poziva sistem da obrie uenika. (APSO)
Sistem brie uenika. (SO)
Sistem prikazuje korisniku poruku: Sistem je obrisao uenika. (IA)

Alternativna scenarija
4.1 Ukoliko sistem ne moe da nae uenike on prikazuje korisniku poruku: Sistem ne moe
da nae uenika po zadatoj vrednosti. Prekida se izvravanje scenarija (IA)
7.1 Ukoliko sistem ne moe da obrie uenika on prikazuje korisniku poruku: Sistemne moe
da obrie uenika. (IA)

SK 3: Sluaj korienja Pretraga uenika


Naziv SK
Pretraga uenika
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem
prikazuje formu za pretragu uenika.
Osnovni scenario SK
1
2
3
4

Korisnik unosi vrednosti po kojima pretrauje uenika. (APUSO)


Korisnik poziva sistem da nae uenika po zadatim vrednostima. (APSO)
Sistem trai uenika po zadatim vrednostima. (SO)
Sistem prikazuje korisniku naenog uenika. (IA)

Alternativna scenarija
4.1. Ukoliko sistem ne moe da nae uenike on prikazuje korisniku poruku:
Sistem ne moe da nae uenika po zadatim vrednostima. Prekida se
izvrenje scenarija. (IA)

SK 4: Sluaj korienja Izmena podataka o ueniku

Naziv SK
Izmena podataka o ueniku
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)

Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem


prikazuje formu za izmenu podataka.
Osnovni scenario SK
1
2
3
4
5
6
7
8
9

Korisnik unosi vrednosti po kojima pretrauje uenika. (APUSO)


Korisnik poziva sistem da nae uenika po zadatim vrednostima. (APSO)
Sistem trai uenika po zadatim vrednostima. (SO)
Sistem prikazuje korisniku naenog uenika. (IA)
Korisnik unosi (menja) podatke o ueniku. (APUSO)
Korisnik kontrolie da li je korektno uneo podatke o ueniku. (ANSO)
Korisnik poziva sistem da zapamti podatke o ueniku. (APSO)
Sistem pamti podatke o ueniku. (SO)
Sistem prikazuje korisniku poruku: Sistem je zapamtio uenika. (IA)

Alternativna scenarija:
4.1. Ukoliko sistem ne moe da nae uenike on prikazuje korisniku poruku:
Sistem ne moe da nae uenika po zadatim vrednostima. Prekida se
izvrenje scenarija. (IA)
9.1. Ukoliko sistem ne moe da zapamti podatke o ueniku on prikazuje
korisniku poruku: Sistem ne moe da zapamti uenika. (IA)

SK 5: Sluaj korienja Unos izostanaka uenika


Naziv SK
Unos izostanaka uenika
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za rad sa izostankom uenika, uitani su svi predmeti.
Osnovni scenario SK
1
2
3
4
5
6
7

Korisnik unosi vrednost po kojoj pretrauje uenika. (APUSO)


Korisnik poziva sistem da nae uenika po zadatoj vrednosti. (APSO)
Sistem trai uenika po zadatoj vrednosti. (SO)
Sistem prikazuje korisniku pronaenog uenika. (IA)
Korisnik bira uenika .(APUSO)
Korisnik poziva sistem da kreira nov izostanak uenika. (APSO)
Sistem kreira nov izostanak uenika. (SO)

8
9
10
11
12
13

Sistem prikazuje korisnikunov izostanak uenika. (IA)


Korisnik unosi podatke o novomizostanku uenika. (APUSO)
Korisnik kontrolie da li je korektno uneo podatke o novom izostanku uenika. (ANSO)
Korisnik poziva sistem da zapamti podatke o novom izostanku uenika. (APSO)
Sistem pamti podatke o novom izostanku uenika. (SO)
Sistem prikazuje korisniku poruku:Sistem je zapamtio nov izostanak. (IA)

Alternativna scenarija

4.1. Ukoliko sistem ne moe da pronae uenikeon prikazuje korisniku poruku: Sistem ne
moe da pronae uenika po zadatoj vrednosti. Prekida se izvrenje scenarija. (IA)
8.1. Ukoliko sistem ne moe da kreira izostanak uenika on prikazuje korisniku poruku:
Sistem ne moe da kreira izostanak uenika. Prekida se izvrenje scenarija. (IA)
13.1. Ukoliko sistem ne moe da zapamti podatke o novom izostanku on prikazuje
korisniku poruku Sistem ne moe da zapamti nov izostanak. (IA)

SK 6: Sluaj korienja Izmena izostanaka uenika


Naziv SK
Evidencija izostanaka uenika
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za izostankeuenika.
Osnovni scenario SK
scenario SK
1
2
3
4
5

Korisnik unosi podatke o uceniku cije izostanke zeli da prikaze. (APUSO)


Korisnik poziva sistem da nae izostanke izabranog uenika (APSO)
Sistem trai izostanke uenika po zadatim vrednostima. (SO)
Sistem prikazuje korisniku naenu evidenciju izostanaka. (IA)
Korisnik biraizostanank koje eli da izmeni. (APUSO)

6
7
8

Korisnik poziva sistem da opravda izostanku. (APSO)


Sistem pamti podatke o izostanku. (SO)
Sistem prikazuje korisniku poruku: Sistem je opravdao izostanak. (IA)

Alternativna scenarija

4.1. Ukoliko sistem ne moe da nae evidenciju izostanaka on prikazuje korisniku poruku:
Sistem ne moe da nae evidenciju izostanaka. Prekida se izvrenje scenarija. (IA)
8.1. Ukoliko sistem ne moe da zapamti podatke o izostanku on prikazuje korisniku
poruku: Sistem ne moe da opravda izostanak. (IA)

SK7: Sluaj korienja Unoenje predmeta


Naziv SK
Kreiranje novog predmeta
Aktori SK
Korisnik (slubenik)
Uesnici SK
Korisnik isistem(program)
Preduslov: Sistem je ukljuen 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. (APSO)
2. Sistem kreira nov predmet. (SO)
3. Sistem prikazuje korisniku nov predmet i poruku: Sistem je kreirao nov predmet. (IA)
4. Korisnik unosi podatke o novom predmetu. (APUSO)
5. Korisnik kontrolie da li je korektno uneo podatke o novom predmetu. (ANSO)
6. Korisnik poziva sistem da zapamti podatke o novom predmetu. (APSO)
7. Sistem pamti podatke o novom predmetu. (SO)
8. Sistem prikazuje korisniku poruku: Sistem je zapamtio predmet. (IA)

Alternativna scenarija
3.1 Ukoliko sistem ne moe da kreira nov predmeton prikazuje korisniku poruku: Sistem ne
moe da kreira nov predmet. Prekida se izvrenje scenarija. (IA)
8.1 Ukoliko sistem ne moe da zapamti podatke o novom predmetuon prikazuje korisniku
poruku Sistem ne moe da zapamti nov predmet.

SK8: Sluaj korienja Unoenje ocene


Naziv SK
Unoenje ocene
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za unoenje ocene, uitani su svi predmeti.
Osnovni scenario SK
scenario SK
1
2
3
4
5
6
7
8
9

Korisnik unosi vrednost po kojoj pretrauje uenike. (APUSO)


Korisnik poziva sistem da nae uenike po zadatoj vrednosti. (APSO)
Sistem trai uenike po zadatoj vrednosti. (SO)
Sistem prikazuje korisniku pronaenog uenika. (IA)
Korisnik unosi podatke o novim ocenama uenika. (APUSO)
Korisnik kontrolie da li je korektno uneo podatke o novim uneenim ocenama.
(ANSO)
Korisnik poziva sistem da zapamti podatke o uneenim ocenama. (APSO)
Sistem pamti podatke o novim uneenim ocenama. (SO)
Sistem prikazuje korisniku poruku:Sistem je zapamtio uneene ocene. (IA)

Alternativna scenarija

4.1. Ukoliko sistem ne moe da pronae uenike on prikazuje korisniku poruku: Sistem
ne moe da pronae uenike. Prekida se izvrenje scenarija. (IA)
9.1. Ukoliko sistem ne moe da kreira nov unos ocene on prikazuje korisniku poruku:
Sistem ne moe da kreira nov unos ocene. Prekida se izvrenje scenarija. (IA)

SK 9: Sluaj korienja Izmena ocene uenika


Naziv SK
Izmena ocene
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za izmenu ocene.
Osnovni scenario SK
scenario SK
1
2
3
4
5
6
7
8
9

Korisnik poziva sistem da prikae ocene izabranog uenika za izabrani predmet


(APSO)
Sistem trai ocene po zadatoj vrednosti. (SO)
Sistem prikazuje korisniku pronaene ocene uenika. (IA)
Korisnik bira ocenu (APUSO)
Sistem prikazuje korisniku ocenu (ANSO)
Korisnik unosi izmene ocene (APUSO)
Korisnik pozivasistemda izmeni ocenu. (APSO)
Sistem menja ocenu. (SO)
Sistem prikazuje korisniku poruku: Sistem je izmenio ocenu. (IA)

Alternativna scenarija
3.1 Ukoliko sistem ne moe da nae podatke o ocenama on prikazuje korisniku poruku:
Sistemne moe da nae ocenepo zadatoj vrednosti. Prekida se izvrenje scenaria. (IA)

9.1 Ukoliko sistem ne moe da izmeni ocenu on prikazuje korisniku poruku Sistem ne moe
da izmeni ocenu. (IA)

SK10: Sluaj korienja Prijavljivanje korisnika

Naziv SK:
Prijavljivanje korisnika
Aktori SK:
Korisnik
Uesnici SK:
Korisnik i sistem (program)
Preduslov: Sistem je ukljuen i prikazuje formu za logovanje.
Osnovni scenario SK:
1. Korisnik unosi podatke za autentifikaciju korisnika. (APUSO)
2. Korisnik poziv asistem da prijavi korisnika sa zadatim podacima. (APSO)
3. Sistem prijavljuje korisnika. (SO)
4. Sistem prikazuje poruku da je korisnik uspeno prijavljen i omoguava pristup sistemu.(IA)

Alternativna scenarija:
4.1. Ukoliko sistem ne moe da nae korisnika prikazuje poruku da korisnik nije uneo tane
podatke. (IA)

2. Analiza
2.1. Ponaanje softverskog sistema Sistemski dijagram
sekvenci

DS1:Dijagramsekvenci sluajakorienja Unos uenika


1
2
3
4

Korisnik poziva sistem da kreira novog uenika. (APSO)


Sistem prikazuje korisnikunovog uenika i poruku: Sistem je kreirao novog uenika.
(IA)
Korisnik poziva sistem da zapamti podatke o novom ueniku. (APSO)
Sistem prikazuje korisniku poruku: Sistem je zapamtio uenika. (IA)

Alternativna scenarija
2.1 Ukoliko sistem ne moe da kreira novog uenikaon prikazuje korisniku poruku:
Sistem ne moe da kreira novog uenika. Prekida se izvrenje scenarija. (IA)

4.1 Ukoliko sistem ne moe da zapamti podatke o novom uenikuon prikazuje korisniku
poruku Sistem ne moe da zapamti novog uenika.

Sanavedenihsluajevakorienjauoavajusedvesistemskeoperacije operacije koje treba


projektovati:

:
1. signalKreirajNovogUenika(Uenik);
2. signalZapamtiUenika(Uenik);

DS2:Dijagramsekvencisluajakorienja Brisanje uenika


1
2

Korisnik poziva sistem da nae uenike po zadatoj vrednosti. (APSO)


Sistem prikazuje korisniku pronaene uenike. (IA)

Korisnik poziva sistem da obrie uenika. (APSO)

Sistem prikazuje korisniku poruku: Sistem je obrisao uenika. (IA)

Alternativna scenarija
2.1 Ukoliko sistem ne moe da nae uenike on prikazuje korisniku poruku: Sistem ne
moe da nae uenike po zadatoj vrednosti. Prekida se izvravanje scenarija (IA)

4.1 Ukoliko sistem ne moe da obrie uenika on prikazuje korisniku poruku: Sistemne
moe da obrie uenika. (IA)

Sa navedenih sekvencnih dijagrama uoavaju se dve sistemske operacije


koje treba projektovati:
1 signalPretraiUenika(KriterijumPretrage)

2 signalObriiUenika(Uenik)

DS3:Dijagram sekvencisluajakorienja Pretraga uenika

1
2
3
4

Korisnik poziva sistem da nae uenike po zadatim vrednostima. (APSO)


Sistem prikazuje korisniku naene uenike. (IA)
Korisnik poziva sistem da prikae podatke o izabranom ueniku. (APSO)
Sistem prikazuje korisniku podatke o izabranom ueniku. (IA)

Alternativna scenarija

2.1 Ukoliko sistem ne moe da nae uenike on prikazuje korisniku poruku: Sistem ne
moe da nae uenike po zadatim vrednostima. Prekida se izvrenje scenarija.(IA)

Sa navedenih sekvencnih dijagrama uoavaju se dve sistemske operacije koje treba


projektovati:
1

signalPretraziUenika(KriterijumPretrage)

DS4:Dijagram sekvenci sluajakorienja Izmena podataka o ueniku


1
2
3
4

Korisnik poziva sistem da nae uenika po zadatim vrednostima. (APSO)


Sistem prikazuje korisniku naenog uenika. (IA)
Korisnik poziva sistem da zapamti podatke o ueniku. (APSO)
Sistem prikazuje korisniku poruku: Sistem je zapamtio uenika. (IA)

Alternativna scenarija

2.1 Ukoliko sistem ne moe da nae uenika on prikazuje korisniku poruku: Sistem
ne moe da nae uenike po zadatim vrednostima. Prekida se izvrenje scenarija. (IA)

6.1 . Ukoliko sistem ne moe da zapamti podatke o ueniku on prikazuje korisniku poruku:
Sistem ne moe da zapamti uenika. (IA)

Sa navedenih sekvencnih dijagrama uoavaju se tri sistemske operacije koje


treba projektovati:

1 signalPretraziUenika(KriterijumPretrage)
2 signalZapamtiUenika(Uenik)

DS5:Dijagramsekvenci sluaja korienja Unos izostanaka uenika


1
2
3
4

Korisnik poziva sistem da nae uenika po zadatoj vrednosti. (APSO)


Sistem prikazuje korisniku pronaene uenika. (IA)
Korisnik poziva sistem da zapamti podatke o novom izostanku uenika. (APSO)
Sistem prikazuje korisniku poruku:Sistem je zapamtio novi zostanak. (IA)

Alternativna scenarija
4.1 Ukoliko sistem ne moe da pronae uenikeon prikazuje korisniku poruku: Sistem
ne moe da pronae uenike po zadatoj vrednosti. Prekida se izvrenje scenarija. (IA)

8.1 Ukolikosistem ne moe da zapamti podatke o novom izostanku on prikazuje korisniku


poruku Sistem ne moe da zapamti nov izostanak. (IA)

Sa navedenih sekvencnih dijagrama uoavaju se tri sistemske operacije koje


treba projektovati:
1 signalPretraziUenika(KriterijumPretrage)
2 signalZapamtiNovIzostanak(Izostanak)

DS6:Dijagram sekvenci sluaja korienja Izmena izostanaka uenika


1
2
3
4

Korisnik poziva sistem da nae izostanke izabranog uenika (APSO)


Sistem prikazuje korisniku naenu evidenciju izostanaka. (IA)
Korisnik poziva sistem da zapamti podatke o izostanku. (APSO)
Sistem prikazuje korisniku poruku: Sistem je zapamtio izostanak. (IA)

Alternativna scenarija

6.1 Ukoliko sistem ne moe da nae evidenciju izostanaka on prikazuje korisniku


poruku: Sistem ne moe da nae evidenciju izostanaka. Prekida se izvrenje scenarija. (IA)

10.1 . Ukoliko sistem ne moe da zapamti podatke o izostanku on prikazuje korisniku


poruku: Sistem ne moe da zapamti izostanak. (IA)

Sa navedenih sekvencnih dijagrama uoavaja se 5 sistemskih operacija koje


treba projektovati:
1 signal
PretraiEvidencijuIzostanaka(KriterijumPretrage,List<Izostanak>
)
2 signal IzmeniIzostanak(Izostanak)

DS7: Dijagram sekvenci sluaja korienja Unos predmeta


1
2
3
4

Korisnik poziva sistem da kreira novpredmet. (APSO)


Sistem prikazuje korisniku nov predmet i poruku: Sistem je kreirao nov predmet. (IA)
Korisnik poziva sistem da zapamti podatke o novom predmetu. (APSO)
Sistem prikazuje korisnikuporuku: Sistem je zapamtio predmet. (IA)

Alternativna scenarija
2.1 Ukoliko sistem ne moe da kreira nov predmeton prikazuje korisniku poruku:
Sistem ne moe da kreira nov predmet. Prekida se izvrenje scenarija. (IA)

4.1 Ukoliko sistem ne moe da zapamti podatke o novom predmetuon prikazuje korisniku
poruku Sistem ne moe da zapamti nov predmet.

Sa navedenih sluajeva korienja uoavaju se dve sistemske operacije operacije koje treba
projektovati:

:
1. signalKreirajNovPredmet(Predmet);
2. signalZapamtiPredmet(Predmet);

DS8: Dijagram sekvenci sluaja korienja Unoenje ocene


1
2
3
4

Korisnik poziva sistem da nae uenika po zadatoj vrednosti. (APSO)


Sistem prikazuje korisniku pronaene uenika. (IA)
Korisnik poziva sistem da zapamti podatke o uneenim ocenama. (APSO)
Sistem prikazuje korisniku poruku:Sistem je zapamtio uneene ocene. (IA)

Alternativna scenarija

4.1 Ukoliko sistem ne moe da pronae uenikeon prikazuje korisniku poruku: Sistem ne
moe da pronae uenikepo zadatim vrednostima. Prekida se izvrenje scenarija. (IA)

8.1 Ukoliko sistem ne moe da zapamti podatke o novim ocenama, on prikazuje korisniku
poruku Sistem ne moe da zapamti nove ocene. (IA)

Sa navedenih sekvencnih dijagrama uoavaju se tri sistemske operacije koje


treba projektovati:
1

signalVratiSvePredmete(KriterijumPretrage,List<Predmet>)

2 signalPretraziUenika(KriterijumPretrage)
3 signal ZapamtiNoveUneeneOcene(Unos)

DS9: Dijagram sekvenci sluaja korienja Izmena ocene


1

Korisnik poziva sistem da prikae ocene izabranog uenika za predmet (APSO)

2
3
4

Sistem prikazuje korisniku pronaene ocene uenika. (IA)


Korisnik poziva sistem da izmeni ocenu. (APSO)
Sistem prikazuje korisniku poruku: Sistem je izmenio ocenu. (IA)

Alternativna scenarija

6.1 Ukoliko sistem ne moe da nae podatke o ocenama on prikazuje korisniku poruku:
Sistemne moe da nae ocenepo zadatoj vrednosti. Prekida se izvrenje scenaria. (IA)

8.1 Ukoliko sistem ne moe da izmeni ocenu on prikazuje korisniku poruku Sistem ne moe
da izmeni ocenu. (IA)

Sa navedenih sekvencnih dijagrama uoavaju se est sistemskih operacija


koje treba projektovati:
1

signalVratiSvePredmete(KriterijumPretrage,List<Predmet>)

2 signalPretraiUenike(KriterijumPretrage, List<Uenik>)
3 signal IzmeniOcenu(Ocena)
4 signal PretraiOcene(KriterijumPretrage,List<Ocena>)

DS10: Dijagram sekvenci sluaja korienja Prijavljivanje korisnika

1
2

Korisnik poziv asistem da prijavi korisnika sa zadatim podacima. (APSO)


Sistem prikazuje poruku da je korisnik uspeno prijavljen i omoguava pristup sistemu.
(IA)

Alternativna scenarija
2.1. Ukoliko sistem ne moe da nae korisnika prikazuje poruku da korisnik nije uneo tane
podatke. (IA)

Sa navedenih sekvencnih dijagrama uoava se jedna sistemska operacija


koju treba projektovati:
1 signalPrijaviKorisnika(Korisnik)

Kao rezultat analize scenarija dobijeno je ukupno 16sistemskih operacija koje treba projektovati:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

signalKreirajNovogUenika(Uenik);
signalZapamtiUenika(Uenik);
signalPretraiUenika(KriterijumPretrage)
signalObriiUenika(Uenik)
signal ZapamtiUenika(Uenik)
signalZapamtiNovIzostanak(Izostanak)
signalKreirajNovIzostanak(Izostanak)
signal PretraiEvidencijuIzostanaka(KriterijumPretrage,List<Izostanak>)
signalKreirajNovPredmet(Predmet);
signalZapamtiPredmet(Predmet);
signal ZapamtiNoveUneeneOcene(Unos)
signal PretraiOcene(KriterijumPretrage,List<Ocena>)
signal ZapamtiOcenu(Ocena)
signalPrijaviKorisnika(Korisnik)
signalVratiSvePredmete(List<Predmet>)
signalVratiSveUcenike(List<Predmet>)

2.2. Ponaanje softverskog sistema Definisanje ugovora o


sistemskim operacijama

Ugovor UG1: KreirajNovogUenika


Operacija: KreirajNovogUenika(Uenik):signal;

Veza sa SK: SK1


Preduslovi: Postuslovi: Kreiran je novi uenik.

Ugovor UG2: ZapamtiUenika


Operacija: ZapamtiUenika(Uenik):signal;
Veza sa SK: SK1, SK4
Preduslovi: Prosto vrednosno ogranienje nad objektom Uenik mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Uenik mora biti
zadovoljeno.
Postuslovi: Podaci o ueniku su zapameni.

Ugovor UG3: PretraziUenika


Operacija: PretraziUenike(KriterijumPretrage):signal;
Veza sa SK: SK2, SK3, SK4,SK5,SK6,SK8,SK9
Preduslovi: Postuslovi: -

Ugovor UG4:ObriiUenika
Operacija: ObriiUenika(Uenik):signal;
Veza sa SK: SK2
Preduslovi: Postuslovi: Uenik je obrisan.Strukturno ogranienje nad objektom Uenik
mora biti zadovoljeno.

Ugovor UG5:ZapamtiUenika
Operacija: ZapamtiUenika(Uenik):signal;
Veza sa SK: SK1, SK4
Preduslovi: Prosto vrednosno ogranienje nad objektom Uenik mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Uenik mora biti zadovoljeno.

Postuslovi: Podaci o ueniku su zapameni.

Ugovor UG6:KreirajNovIzostanak
Operacija: KreirajNovIzostanak(Izostanak):signal;
Veza sa SK: SK5
Preduslovi:Ako za datog uenika postoje ve tri izostanka koja nisu
opravdana, ne moe se izvriti sistemska operacija.
Postuslovi: Kreiran je nov izostanak.

Ugovor UG7: ZapamtiNovIzostanak


Operacija: ZapamtiNovIzostanak(Izostanak):signal;
Veza sa SK: SK5, SK6
Preduslovi: Ako za datog uenika postoje ve tri izostanka koja nisu
opravdana ne moe se
izvriti sistemska operacija. Prosto vrednosno
ogranienje nad objektom
Zaduzenje mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Zaduzenje mora biti
zadovoljeno.
Postuslovi: Podaci o izostanku su zapameni.

Ugovor UG8: PretraziEvidencijuIzostanaka


Operacija: PretraiEvidencijuIzostanaka(KriterijumPretrage,List<Izostanak>):signal;
Veza sa SK: SK6
Preduslovi: Postuslovi: -

Ugovor UG9: KreirajNovPredmet


Operacija: KreirajNovPredmet(Predmet):signal;

Veza sa SK: SK7


Preduslovi: Postuslovi: Kreiran je nov predmet.

Ugovor UG10: ZapamtiPredmet


Operacija: ZapamtiPredmet(Predmet);:signal;
Veza sa SK: SK7
Preduslovi: Prosto vrednosno ogranienje nad objektom Predmet mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Predmet mora biti zadovoljeno.
Postuslovi: Podaci o predmetu su zapameni.

Ugovor UG11:KreirajNovUnosOcene
Operacija: KreirajNovUnosOcene(Unos):signal;
Veza sa SK: SK8
Preduslovi: Postuslovi: Kreirana je nova ocena.

Ugovor UG12: ZapamtiNoveUnoeneOcene


Operacija: ZapamtiNoveUneeneOcene(Unos):signal;
Veza sa SK: SK8
Preduslovi: Prosto vrednosno ogranienje nad objektom Unos mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Unos mora biti zadovoljeno.
Postuslovi: Podaci o unosu su zapameni.

Ugovor UG13: PretraiOcene


Operacija: PretraiOcene(KriterijumPretrage,List<Ocena>):signal;

Veza sa SK: SK9


Preduslovi: Postuslovi: -

Ugovor UG14: ZapamtiOcenu


Operacija: ZapamtiOcenu(Ocena):signal;
Veza sa SK: SK8, SK9
Preduslovi: Prosto vrednosno ogranienje nad objektom
Ocena mora biti zadovoljeno.
Strukturno ogranienje nad objektom Ocena mora biti
zadovoljeno.
Postuslovi: Podaci o oceni su zapameni.

Ugovor UG15: PrijaviKorisnika


Operacija: PrijaviKorisnika(Korisnik):signal;
Veza sa SK: SK10
Preduslovi: Postuslovi: -

Ugovor UG16: VratiSvePredmete


Operacija:VratiSvePredmete(KriterijumPretrage,List<Predmet>):signal;
Veza sa SK: SK5,SK6,SK8,SK9
Preduslovi:Postuslovi:-Predmeti su naeni.

Struktura softverskog sistema Konceptualni (domenski)


model

Struktura softverskog sistema Relacioni model


Smer(SmerID, NazivSmera)
Uenik(JMBG, Ime, Prezime, Mail, Ulica, Broj ,Grad,SmerID)
Predmet(PredmetID, Naziv)
Ocena( UenikID, PredmetID, OcenaID, Ocena, Datum, KorisnikID )
Korisnik ( KorisnikID, Ime, Prezime, KorisnikoIme, Korisnickaifra)
Izostanak(UenikID, IzostanakID, Datum, Opravdani, BrojIzostanaka,KorisnikID)

Tabela Smer

Atribu
ti

Ime

Prosto
vrednosno
ogranienje
Tip
Vrednos
atribut
t
a
atributa

ifraSmera

Integer

NazivSmera
BrojPredmet
a

String

BrojUenika

Integer

Integer

not null
and >0
not null
not null
and>0
not null
and>0

Sloeno
vrednosno
ogranienje
Meuz
av.
atribut
a jedne
tabele

Meuz
av.
atribut
a vie
tabela

Strukturn
o
ogranien
je
Insert /
Update
Cascade
Uenik
Delete
Restricted
Uenik

Tabela Uenik

Ime

UenikID

Tip
atribut
a

String

Ime
Prezime
JMBG
Kontakt
Mail
Ulica

String
String
String
String
String
String

Broj

Integer

ifraSmera
Mesto

Integer
String

Tabela Predmet
Ime
Atribu

Prosto
vrednosno
ogranienje
Vredno
st
atribut
a

Sloeno
vrednosno
ogranienje
Meuz
av.
atribut
a jedne
tabele

Meuz
av.
atribut
a vie
tabela

Delete
Cascade
Ocena,
Izostanak

not null
not null
not null
not null
not null
not null
not null
and >0
not null
and>0
not null

Tip
Vrednos
atribut
t

Insert
Restricted
Smer
Update
Restricted
Smer

not null

Prosto
vrednosno
ogranienje

Strukturn
o
ogranien
je

Sloeno
vrednosno
ogranienje
Meuz
av.

Meuz
av.

Strukturn
o
ogranien
je
Insert /

ti
a

PredmetID

String

not null

Naziv

String

not null

Tabela Ocena

Atribu
ti

Ime

Prosto
vrednosno
ogranienje
Tip
Vrednos
atribut
t
a
atributa

UenikID

String

not null

PredmetID

String

not null

OcenaID

String

not null

VrednostOce
ne

Integer

not null

Datum

Date

not null

KorisnikID

String

not null

Tabela Korisnik
Ime
Atribu
ti

atributa

Prosto
vrednosno
ogranienje
Tip
Vrednos
atribut
t
a
atributa

atribut
a jedne
tabele

atribut
a vie
tabela

Sloeno
vrednosno
ogranienje
Meuz
av.
atribut
a jedne
tabele

Meuz
av.
atribut
a vie
tabela

Update/
Delete
Cascade
Ocena

Strukturn
o
ogranien
je
Insert
Restricted
Predmet,
Uenik

Update
Restricted
Predmet,
Uenik

Delete /

Sloeno
vrednosno
ogranienje
Meuz
av.
atribut

Meuz
av.
atribut

Strukturn
o
ogranien
je

a jedne
tabele
KorisnikID

String

not null

Ime

String

not null

Prezime
KorisnikoIm
e
Korisnikaif
ra

String

not null

String

not null

String

not null

Tabela Izostanak

Prosto
vrednosno
ogranienje

Atribu
ti
Tip
atribu
ta

Vrednos
t
atributa

UenikID

String

not null

IzostanakID
DatumIzostank
a
DatumOpravda
nja

String

not null

Date

not null

Date

not null

Ime

a vie
tabela

Sloeno
vrednosno
ogranienje
Me
uzav
.
atrib
uta
jedn
e
tabe
le

Meuz
av.
atribut
a vie
tabela

Strukturn
o
ogranien
je
Insert
Restricted
Uenik,
Korisnik
Update
Restricted
Uenik,
Korisnik
Delete /

Opravdano

Bool

(default:0
)

Brojasova

Integer

not null

KorisnikID

String

not null

3. Projektovanje
Faza projektovanja opisuje fiziku strukturu i ponaanje softverskog sistema
(arhitekturu softverskog sistema).

Arhitektura softverskog sistema


Arhitekrura sistema je tronivojska i sastoji se od sledeih nivoa:
korisniki interfejs
aplikaciona logika
skladite podataka

Nivo korisnikog interfejsa je na strani klijenta, dok su aplikaciona logika i


skladite podataka na strani servera.

Tronivojska arhitektura

3.1. Projektovanje korisnikog interfejsa


Korisniki interfejs, predstavlja realizaciju ulaza i/ili izlaza softverskog
sistema.

Struktura korisnikog interfejsa

Ekranska forma ima ulogu da prihvati podatke koje korisnik unosi, prihvata
dogaaje koje pravi korisnik, poziva kontroler korisnikog interfejsa kako bi
mu prosledio podatke i prikazuje podatke dobijene od kontrolera korisnikog
interfejsa.

3.1.1. Projektovanje ekranskih formi

Korisniki interfejs defenisan je preko skupa ekranskih formi. Scenarija korienja ekranskih
formi su direktno povezana sa scenarijima sluajeva korienja.
Glavna ekranska forma serverskog dela aplikacije treba da izgleda ovako:

Glavna ekranska forma klijentskog dela aplikacije, posle uspesnog logovanja na sistem izgledala
bi ovako:

Kroz sluajeve korienja 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: Sluaj korienja- Unos uenika u sistem
Naziv SK
Kreiranje novog uenika
Aktori SK
Korisnik (slubenik)
Uesnici SK
Korisnik isistem(program)
Preduslov: Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za rad sa uenicima.

Osnovni scenario SK
1. Korisnik poziva sistem da kreira novog uenika. (APSO)
2. Sistem kreira novog uenika. (SO)
3. Sistem prikazuje korisnikun ovog uenika i poruku: Sistem je kreirao novog uenika. (IA)

4. Korisnik unosi podatke o novom ueniku. (APUSO)

5. Korisnik kontrolie da li je korektno uneo podatke o novom ueniku. (ANSO)


6. Korisnik poziva sistem da zapamti podatke o novom ueniku. (APSO)
7. Sistem pamti podatke o novom ueniku. (SO)
8. Sistem prikazuje korisniku poruku: Sistem je zapamtio uenika. (IA)

Alternativna scenarija
1

Ukoliko sistem ne moe da kreira novog uenika on prikazuje korisniku poruku:


Sistem ne moe da kreira novog uenika. Prekida se izvrenje scenarija. (IA)

8.1 Ukoliko sistem ne moe da zapamti podatke o novom ueniku on prikazuje korisniku
poruku Sistem ne moe da zapamti novog uenika.

SK2: Sluaj korienja Brisanje uenika iz sistema


Naziv SK
Brisanje uenika
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov: Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za rad za brisanje uenika.

Osnovni scenario SK
1

Korisnik unosi vrednost po kojoj pretrauje uenika. (APUSO)

2
3
4

Korisnik poziva sistem da nae uenika po zadatoj vrednosti. (APSO)


Sistem trai uenika po zadatoj vrednosti. (SO)
Sistem prikazuje korisniku pronaenog uenika. (IA)

5
6
7

Korisnik poziva sistem da obrie uenika. (APSO)


Sistem brie uenika. (SO)
Sistem prikazuje korisniku poruku: Sistem je obrisao uenika. (IA)

Alternativna scenarija
1

Ukoliko sistem ne moe da nae uenike on prikazuje korisniku poruku: Sistem ne


moe da nae uenika po zadatoj vrednosti. Prekida se izvravanje scenarija (IA)

7.1 Ukoliko sistem ne moe da obrie uenika on prikazuje korisniku poruku: Sistemne moe
da obrie uenika. (IA)

SK 3: Sluaj korienja Pretraga uenika


Naziv SK
Pretraga uenika
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem
prikazuje formu za pretragu uenika.

Osnovni scenario SK
Osnovni scenario SK
1

Korisnik unosi vrednosti po kojima pretrauje uenika. (APUSO)

2
3
4

Korisnik poziva sistem da nae uenika po zadatim vrednostima. (APSO)


Sistem trai uenika po zadatim vrednostima. (SO)
Sistem prikazuje korisniku naenog uenika. (IA)

Alternativna scenarija
4.1. Ukoliko sistem ne moe da nae uenike on prikazuje korisniku poruku:
Sistem ne moe da nae uenika po zadatim vrednostima. Prekida se
izvrenje scenarija. (IA)

SK 4: Sluaj korienja Izmena podataka o ueniku

Naziv SK
Izmena podataka o ueniku
Aktori SK
Korisnik

Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem
prikazuje formu za izmenu podataka.

Osnovni scenario SK
1

Korisnik unosi vrednosti po kojima pretrauje uenika. (APUSO)

2
3
4

Korisnik poziva sistem da nae uenika po zadatim vrednostima. (APSO)


Sistem trai uenika po zadatim vrednostima. (SO)
Sistem prikazuje korisniku naenog uenika. (IA)

Korisnik unosi (menja) podatke o ueniku. (APUSO)

Korisnik kontrolie da li je korektno uneo podatke o ueniku. (ANSO)

7
8
9

Korisnik poziva sistem da zapamti podatke o ueniku. (APSO)


Sistem pamti podatke o ueniku. (SO)
Sistem prikazuje korisniku poruku: Sistem je zapamtio uenika. (IA)

Alternativna scenarija:
1

Ukoliko sistem ne moe da nae uenike on prikazuje korisniku poruku:


Sistem ne moe da nae uenika po zadatim vrednostima. Prekida se
izvrenje scenarija. (IA)

9.1. Ukoliko sistem ne moe da zapamti podatke o ueniku on prikazuje


korisniku poruku: Sistem ne moe da zapamti uenika. (IA)

SK 5: Sluaj korienja Unos izostanaka uenika


Naziv SK
Unos izostanaka uenika
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za rad sa izostankom uenika, uitani su svi predmeti.

Osnovni scenario SK
1

Korisnik unosi vrednost po kojoj pretrauje uenika. (APUSO)

2
3
4

Korisnik poziva sistem da nae uenika po zadatoj vrednosti. (APSO)


Sistem trai uenika po zadatoj vrednosti. (SO)
Sistem prikazuje korisniku pronaenog uenika. (IA)

6
7
8

Korisnik bira uenika .(APUSO)

Korisnik poziva sistem da kreira nov izostanak uenika. (APSO)


Sistem kreira nov izostanak uenika. (SO)
Sistem prikazuje korisniku nov izostanak uenika. (IA)

Korisnik unosi podatke o novom izostanku uenika. (APUSO)

10
11
12
13

Korisnik kontrolie da li je korektno uneo podatke o novom izostanku uenika. (ANSO)


Korisnik poziva sistem da zapamti podatke o novom izostanku uenika. (APSO)
Sistem pamti podatke o novom izostanku uenika. (SO)
Sistem prikazuje korisniku poruku:Sistem je zapamtio nov izostanak. (IA)

Alternativna scenarija

Ukoliko sistem ne moe da pronae uenike on prikazuje korisniku poruku: Sistem


ne moe da pronae uenika po zadatoj vrednosti. Prekida se izvrenje scenarija.
(IA)

8.1. Ukoliko sistem ne moe da kreira izostanak uenika on prikazuje korisniku poruku:
Sistem ne moe da kreira izostanak uenika. Prekida se izvrenje scenarija. (IA)

13.1. Ukoliko sistem ne moe da zapamti podatke o novom izostanku on prikazuje


korisniku poruku Sistem ne moe da zapamti nov izostanak. (IA)

SK 6: Sluaj korienja Izmena izostanaka uenika


Naziv SK
Evidencija izostanaka uenika
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za izostanke uenika.

Osnovni scenario SK
scenario SK
1

Korisnik unosi podatke o uceniku cije izostanke zeli da prikaze. (APUSO)

2
3
4

Korisnik poziva sistem da nae izostanke izabranog uenika (APSO)


Sistem trai izostanke uenika po zadatim vrednostima. (SO)
Sistem prikazuje korisniku naenu evidenciju izostanaka. (IA)

Korisnik bira izostanank koje eli da izmeni. (APUSO)

6
7
8

Korisnik poziva sistem da opravda izostanku. (APSO)


Sistem pamti podatke o izostanku. (SO)
Sistem prikazuje korisniku poruku: Sistem je opravdao izostanak. (IA)

4.1. Ukoliko sistem ne moe da nae evidenciju izostanaka on prikazuje korisniku poruku:
Sistem ne moe da nae evidenciju izostanaka. Prekida se izvrenje scenarija. (IA)

8.1. Ukoliko sistem ne moe da zapamti podatke o izostanku on prikazuje korisniku


poruku: Sistem ne moe da opravda izostanak. (IA)

SK7: Sluaj korienja Unoenje predmeta

Naziv SK
Kreiranje novog predmeta
Aktori SK
Korisnik (slubenik)
Uesnici SK
Korisnik isistem(program)
Preduslov: Sistem je ukljuen 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. (APSO)
2. Sistem kreira nov predmet. (SO)
3. Sistem prikazuje korisniku nov predmet i poruku: Sistem je kreirao nov predmet. (IA)

4. Korisnik unosi podatke o novom predmetu. (APUSO)

5. Korisnik kontrolie da li je korektno uneo podatke o novom predmetu. (ANSO)


6. Korisnik poziva sistem da zapamti podatke o novom predmetu. (APSO)
7. Sistem pamti podatke o novom predmetu. (SO)
8. Sistem prikazuje korisniku poruku: Sistem je zapamtio predmet. (IA)

Alternativna scenarija
3.1 Ukoliko sistem ne moe da kreira nov predmet on prikazuje korisniku poruku: Sistem ne
moe da kreira nov predmet. Prekida se izvrenje scenarija. (IA)

Ukoliko sistem ne moe da zapamti podatke o novom predmetu on prikazuje korisniku


poruku Sistem ne moe da zapamti nov predmet.

SK8: Sluaj korienja Unoenje ocene


Naziv SK
Unoenje ocene
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za unoenje ocene, uitani su svi predmeti.

Osnovni scenario SK
scenario SK
1

Korisnik unosi vrednost po kojoj pretrauje uenike. (APUSO)

2
3
4

Korisnik poziva sistem da nae uenike po zadatoj vrednosti. (APSO)


Sistem trai uenike po zadatoj vrednosti. (SO)
Sistem prikazuje korisniku pronaenog uenika. (IA)

Korisnik unosi podatke o novim ocenama uenika. (APUSO)

Korisnik kontrolie da li je korektno uneo podatke o novim uneenim ocenama.


(ANSO)
Korisnik poziva sistem da zapamti podatke o uneenim ocenama. (APSO)
Sistem pamti podatke o novim uneenim ocenama. (SO)
Sistem prikazuje korisniku poruku:Sistem je zapamtio uneene ocene. (IA)

7
8
9

Alternativna scenarija

4.1. Ukoliko sistem ne moe da pronae uenike on prikazuje korisniku poruku: Sistem
ne moe da pronae uenike. Prekida se izvrenje scenarija. (IA)

9.1. Ukoliko sistem ne moe da kreira nov unos ocene on prikazuje korisniku poruku:
Sistem ne moe da kreira nov unos ocene. Prekida se izvrenje scenarija. (IA)

SK 9: Sluaj korienja Izmena ocene uenika

Naziv SK
Izmena ocene
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
Preduslov:Sistem je ukljuen i korisnik je ulogovan pod svojom ifrom. Sistem prikazuje
formu za izmenu ocene.

Osnovni scenario SK
scenario SK
1
2
3

Korisnik poziva sistem da prikae ocene izabranog uenika za izabrani predmet


(APSO)
Sistem trai ocene po zadatoj vrednosti. (SO)
Sistem prikazuje korisniku pronaene ocene uenika. (IA)

Korisnik bira ocenu (APUSO)

5
6

Sistem prikazuje korisniku ocenu (ANSO)


Korisnik unosi izmene ocene (APUSO)

7
8
9

Korisnik pozivasistemda izmeni ocenu. (APSO)


Sistem menja ocenu. (SO)
Sistem prikazuje korisniku poruku: Sistem je izmenio ocenu. (IA)

Alternativna scenarija

3.1 Ukoliko sistem ne moe da nae podatke o ocenama on prikazuje korisniku poruku:
Sistem ne moe da nae ocene po zadatoj vrednosti. Prekida se izvrenje scenaria. (IA)

9.1 Ukoliko sistem ne moe da izmeni ocenu on prikazuje korisniku poruku Sistem ne moe
da izmeni ocenu. (IA)

SK10: Sluaj korienja Prijavljivanje korisnika


Naziv SK:
Prijavljivanje korisnika
Aktori SK:
Korisnik
Uesnici SK:
Korisnik i sistem (program)
Preduslov: Sistem je ukljuen i prikazuje formu za logovanje.

Osnovni scenario SK:


1

Korisnik unosi podatke za autentifikaciju korisnika. (APUSO)

2. Korisnik poziv asistem da prijavi korisnika sa zadatim podacima. (APSO)


3. Sistem prijavljuje korisnika. (SO)
4. Sistem prikazuje poruku da je korisnik uspeno prijavljen i omoguava pristup sistemu.(IA)

Alternativna scenarija:
4.1. Ukoliko sistem ne moe da nae korisnika prikazuje poruku da korisnik nije uneo tane
podatke. (IA)

3.1.2. Projektovanje kontrolera korisnikog interfejsa

Ekranska forma prosleuje podatke i prikazuje podatke dobijene od kontrolera


korisnikog interfejsa. U skladu sa tim kontroler korisnikog interfejsa
odgovoran je za:
prihvatanje podataka koje alje ekranska forma
konvertovanje podataka (koji se nalaze u grafikim elementima) u
objekat koji predstavlja ulazni argument sistemske operacije
slanje zahteva izvrenje sistemske operacije do aplikacionog servera
(softverskog sistema)
prihvatanje objekta (izlaz) softverskog sistema koji nastaje kao rezultat
izvrenja sistemske operacije
konvertovanje objekta u podatke grafikih elemenata

3.2. Projektovanje aplikacione logike


Aplikacioni serveri treba da obezbede servise koji e da omogue realizaciju
aplikacione logike softverskog sistema. Projektovani aplikacioni server sadri:

deo za komunikaciju sa klijentima


kontroler aplikacione logike
deo za komunikaciju sa skladitem podataka (Broker baze podataka)
deo koji sadri poslovnu logiku

3.2.1. Komunikacija sa klijentima

Deo za komunikaciju podie serverski soket koji dalje oslukuje mreu. Kada
klijent uspostavi konekciju server generie nit koja e biti odgovorna za
dvosmernu vezu sa klijentom. Klijent alje zahtev za izvrenje neke od
sistemskih operacija, odgovarajua nit (dodeljena klijentu) prihvata zahtev i
prosleuje ga do kontrolera aplikacione logike. Nakon izvrenja sistemske
operacije kontroler vraa rezultat niti klijenta.Rezultat se zatim prosleuje
klijentu.Komunikacija izmeu klijenta i servera se obavlja razmenom objekta
klase TransferKlasa.
namespace Biblioteka
{
Public enumO peracije { Kraj = 1, login, sacuvajPredmet, kreirajPredmet, kreirajUcenika,
zapamtiUcenika, pronadjiUcenika, izmeniUcenika, obrisiUcenika, kreirajIzostanak,
zapamtiIzostanak, pronadjiIzostanak, izmeniIzostanak, vratiPredmete, sacuvajOcene,
izmeniOcene, pronadjiOcene, vratiSveUcenike }
[Serializable]
Public class TransferKlasa
{
Operacije operacija;
Public Operacije Operacija
{
get { return operacija; }
set { operacija = value; }
}
Object transferObjekat;
Public Object TransferObjekat
{
get { return transferObjekat; }

set { transferObjekat = value; }


}
Object rezultat;
Public Object Rezultat
{
get { return rezultat; }
set { rezultat = value; }
}
}
}

3.2.2. Kontroler aplikacione logike

Kontroler aplikacione logike prihvata zahteve za izvrenje sistemskih


operacija i iste prosleuju do konkretne sistemske operacije. Nakon, izvrenja
sistemske operacije kontroler prihvata odgovor i vraa nazad pozivaocu (niti
klijenta). Kako je u fazama prikupljanja zahteva i analize data specifikacija
strukture i ponaanja softverskog sistema, odnosno specifikacija poslovne
logike softverskog sistema, sledea slika daje opis sistema nakon faza
projektovanja komunikacije sa klijentima i kontrolera aplikacione logike.

3.2.3. Poslovna logika


Projektovanje ponaanja softverskog sistema sistemske operacije

Preko klase Kontroler prihvataju se zahtevi od niti klijenta za izvrenje


sistemskih operacija koji se zatim prosleuju do odgovarajuih klasa koje su
odgovorne za izvrenje SO. Za svaku SO prave se softverske klase koje treba
da realizuju SO (one opisuju ponaanje sistema).

Ugovor UG1: KreirajNovogUenika

Operacija: KreirajNovogUenika(Uenik):signal;
Veza sa SK: SK1
Preduslovi: Postuslovi: Kreiran je novi uenik.
namespace SistemskeOperacije.UcenikSO
{
Public class KreirajNovogUcenika:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().dajSve(odo);
}
}
}

Ugovor UG2: ZapamtiUenika


Operacija: ZapamtiUenika(Uenik):signal;
Veza sa SK: SK1, SK4
Preduslovi: Prosto vrednosno ogranienje nad objektom Uenik mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Uenik mora biti
zadovoljeno.
Postuslovi: Podaci o ueniku su zapameni.
namespace SistemskeOperacije.UcenikSO
{
Public class Zapamti Ucenika:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().ubaci(odo);
}
}
}

Ugovor UG3: PretraziUenika


Operacija: PretraziUenike(KriterijumPretrage):signal;
Veza sa SK: SK2, SK3, SK4,SK5,SK6,SK8,SK9

Preduslovi: Postuslovi: -

namespace SistemskeOperacije.UcenikSO
{
Public class PretraziUcenike:OpstaSO
{
publicoverrideobject Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
Biblioteka.Ucenik u= Sesija.Broker.dajSesiju().dajZaUslovJedan(odo) as Biblioteka.Ucenik;
u.Smer = Sesija.Broker.dajSesiju().dajZaUslovJedan(u.Smer) as Biblioteka.Smer;
return u;
}
}
}

Ugovor UG4:ObriiUenika
Operacija: ObriiUenika(Uenik):signal;
Veza sa SK: SK2
Preduslovi: Postuslovi: Uenik je obrisan.Strukturno ogranienje nad objektom Uenik
mora biti zadovoljeno.
namespace SistemskeOperacije.UcenikSO
{
Public class ObrisiUcenika:OpstaSO
{
Public overrid eobject Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().obrisi(odo);
}
}
}

Ugovor UG5:ZapamtiUenika
Operacija: ZapamtiUenika(Uenik):signal;
Veza sa SK: SK1, SK4
Preduslovi: Prosto vrednosno ogranienje nad objektom Uenik mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Uenik mora biti zadovoljeno.

Postuslovi: Podaci o ueniku su zapameni.


namespace SistemskeOperacije.UcenikSO
{
public class ZapamtiUcenika:OpstaSO
{
public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().ubaci(odo);
}
}
}

Ugovor UG6:KreirajNovIzostanak
Operacija: KreirajNovIzostanak(Izostanak):signal;
Veza sa SK: SK5
Preduslovi:Ako za datog uenika postoje ve tri izostanka koja nisu
opravdana, ne moe se izvriti sistemska operacija.
Postuslovi: Kreiran je nov izostanak.
namespace SistemskeOperacije.IzostanakSO
{
Public class Kreiraj NoviIzostanak:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().dajSifru(odo);
}
}
}

Ugovor UG7: ZapamtiNovIzostanak


Operacija: ZapamtiNovIzostanak(Izostanak):signal;
Veza sa SK: SK5, SK6
Preduslovi: Ako za datog uenika postoje ve tri izostanka koja nisu
opravdana ne moe se
izvriti sistemska operacija. Prosto vrednosno
ogranienje nad objektom
Zaduzenje mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Zaduzenje mora biti
zadovoljeno.
Postuslovi: Podaci o izostanku su zapameni.

namespace SistemskeOperacije.IzostanakSO
{

Public class ZapamtiNoviIzostanak:OpstaSO


{
publicoverrideobject Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().ubaci(odo);
}
}
}

Ugovor UG8: PretraziEvidencijuIzostanaka


Operacija: PretraiEvidencijuIzostanaka(KriterijumPretrage,List<Izostanak>):signal;
Veza sa SK: SK6
Preduslovi: Postuslovi: -

namespace SistemskeOperacije.IzostanakSO
{
Public cclas sPronadjiIzostanak:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
List<Biblioteka.Izostanak> lista
=Sesija.Broker.dajSesiju().dajSveZaUslovDva(odo).OfType<Biblioteka.Izostanak>().ToList<Bibliote
ka.Izostanak>();
foreach (Biblioteka.Izostanak i in lista)
{
i.Ucenik = Sesija.Broker.dajSesiju().dajZaUslovJedan(i.Ucenik) as Biblioteka.Ucenik;
i.Korisnik = Sesija.Broker.dajSesiju().dajZaUslovDva(i.Korisnik) as Biblioteka.Korisnik;
}
return lista;
}
}
}

Ugovor UG9: KreirajNovPredmet


Operacija: KreirajNovPredmet(Predmet):signal;
Veza sa SK: SK7
Preduslovi: -

Postuslovi: Kreiran je nov predmet.


namespace SistemskeOperacije.PredmetSO
{
Public class KreirajNoviPredmet:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().dajSifru(odo);
}
}
}

Ugovor UG10: ZapamtiPredmet


Operacija: ZapamtiPredmet(Predmet);:signal;
Veza sa SK: SK7
Preduslovi: Prosto vrednosno ogranienje nad objektom Predmet mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Predmet mora biti zadovoljeno.
Postuslovi: Podaci o predmetu su zapameni.
namespace SistemskeOperacije.PredmetSO
{
public class ZapamtiPredmet:OpstaSO
{
public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{

return Sesija.Broker.dajSesiju().ubaci(odo);
}

Ugovor UG11:KreirajNovUnosOcene
Operacija: KreirajNovUnosOcene(Unos):signal;
Veza sa SK: SK8
Preduslovi: Postuslovi: Kreirana je nova ocena.
namespace SistemskeOperacije.Ocena
{
public class UnosOcene:OpstaSO

{
public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
Biblioteka.Ucenik u = odo as Biblioteka.Ucenik;
foreach (Biblioteka.Ocena o in u.SpisakOcena)
{
o.OcenaID = Sesija.Broker.dajSesiju().dajSifru(o);
Sesija.Broker.dajSesiju().ubaci(o);
}
return 1;
}

Ugovor UG12: ZapamtiNoveUnoeneOcene


Operacija: ZapamtiNoveUneeneOcene(Unos):signal;
Veza sa SK: SK8
Preduslovi: Prosto vrednosno ogranienje nad objektom Unos mora biti
zadovoljeno.
Strukturno ogranienje nad objektom Unos mora biti zadovoljeno.
Postuslovi: Podaci o unosu su zapameni.
namespace SistemskeOperacije.Ocena
{
Public class UnosOcene:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
Biblioteka.Ucenik u = odo as Biblioteka.Ucenik;
foreach (Biblioteka.Ocena o in u.SpisakOcena)
{
o.OcenaID = Sesija.Broker.dajSesiju().dajSifru(o);
Sesija.Broker.dajSesiju().ubaci(o);
}
return 1;
}
}
}

Ugovor UG13: PretraiOcene


Operacija: PretraiOcene(KriterijumPretrage,List<Ocena>):signal;
Veza sa SK: SK9

Preduslovi: Postuslovi: namespace SistemskeOperacije.Ocena


{
Public class PronadjiOcenu:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().dajSveZaUslovDva(odo);
}
}
}

Ugovor UG14: ZapamtiOcenu

Operacija: ZapamtiOcenu(Ocena):signal;
Veza sa SK: SK8, SK9
Preduslovi: Prosto vrednosno ogranienje nad objektom
Ocena mora biti zadovoljeno.
Strukturno ogranienje nad objektom Ocena mora biti
zadovoljeno.
Postuslovi: Podaci o oceni su zapameni.
namespace SistemskeOperacije.Ocena
{
public class UnosOcene:OpstaSO
{
public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
Biblioteka.Ucenik u = odo as Biblioteka.Ucenik;
foreach (Biblioteka.Ocena o in u.SpisakOcena)
{
o.OcenaID = Sesija.Broker.dajSesiju().dajSifru(o);

}
}

Sesija.Broker.dajSesiju().ubaci(o);
}
return 1;

Ugovor UG15: PrijaviKorisnika


Operacija: PrijaviKorisnika(Korisnik):signal;

Veza sa SK: SK10


Preduslovi: Postuslovi: namespace SistemskeOperacije.KorisnikSO
{
Public class LoginSO:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().dajZaUslovJedan(odo);
}
}
}

Ugovor UG16: VratiSvePredmete


Operacija:VratiSvePredmete(KriterijumPretrage,List<Predmet>):signal;
Veza sa SK: SK5,SK6,SK8,SK9
Preduslovi:Postuslovi:-Predmeti su naeni.
namespace SistemskeOperacije.PredmetSO
{
Public class vratiPredmeteZaSmer:OpstaSO
{
Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
{
return Sesija.Broker.dajSesiju().dajSveZaUslovDva(odo);
}
}
}

Klase koje su odgovorne za SO nasledjuju OpstuSO

Projektovanje strukture softverskog sistema

Na 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 sledeim linijama koda:
namespace Biblioteka
{
[Serializable]
Public class Predmet:OpstiDomenskiObjekat
{
int predmetID;
public int PredmetID
{
get { return predmetID; }
set { predmetID = value; }
}
string naziv;
public string Naziv
{
get { return naziv; }
set { naziv = value; }
}
bool matematicki;
public bool Matematicki
{
get { return matematicki; }
set { matematicki = value; }
}
bool drustveni;
public bool Drustveni
{
get { return drustveni; }
set { drustveni = value; }
}
bool opsti;
public bool Opsti
{
get { return opsti; }
set { opsti = value; }
}

string uslovDvaatr;
public string UslovDvaatr
{
get { return uslovDvaatr; }
set { uslovDvaatr = value; }
}
Public override string ToString()
{
return naziv;
}
#region ODO
Public string tabela
{
get { return"Predmet"; }
}
Public string kljuc
{
get { return"PredmetID"; }
}
Public string uslovJedan
{
get { return"PredmetID=" + predmetID ; }
}
Public string uslovDva
{
get { return uslovDvaatr; }
}
Public string uslovTri
{
get { returnnull; }
}
Public string azuriranje
{
get { returnnull; }
}
Public string upisivanje
{
get { return"("+predmetID+",'"+naziv+"',"+matematicki+","+drustveni+","+opsti+")"; }
}
Public OpstiDomenskiObjekat napuni(DataRow red)
{
Predmet p = new Predmet();
p.predmetID = Convert.ToInt32(red[0]);
p.naziv = red[1].ToString();
p.matematicki = Convert.ToBoolean(red[2]);
p.drustveni = Convert.ToBoolean(red[3]);
p.opsti = Convert.ToBoolean(red[4]);

return p;
}
#endregion
}
}

3.2.4. Broker baze podataka

Klasa DatabaseBroker (Broker baze podataka) se projektuje kako bi se


obezbedio perzistentni servis objektima domenskih klasa koji se uvaju u bazi
podataka. Tako klasa DatabaseBroker predstavlja perzistentni okvir koji
posreduje u svim operacijama nad bazom podataka i realizuje sledee
metode:
1
2
3
4
5
6
7

public void otvoriKonekciju()


public void zatvoriKonekciju()
public void zapocniTransakciju()
public void potvrdiTransakciju()
public void ponistiTransakciju()
public List<OpstiDomenskiObjekat>dajSve(OpstiDomenskiObjekat odo)
public
List<OpstiDomenskiObjekat>dajSveZaUslovDva(OpstiDomenskiObjekat
odo)
8 public
List<OpstiDomenskiObjekat>dajSveZaUslovTri(OpstiDomenskiObjekat
odo)
9 public OpstiDomenskiObjekat dajZaUslovJedan(OpstiDomenskiObjekat
odo)
10 public OpstiDomenskiObjekat dajZaUslovDva(OpstiDomenskiObjekat
odo)
11 int ubaci (OpstiDomenskiObjekat odo)
12 int obrisi (OpstiDomenskiObjekat odo)
13 int azuriraj (OpstiDomenskiObjekat odo)
14 int dajSifru (OpstiDomenskiObjekat odo)

Metode DatabaseBrokera su projektovane kao generike, to znai da mogu


da prihvate razliite domenske objekte preko parametara kako ne bi u
DatabaseBroker-u implementirali pojedinane metode za svaku domensku

klasu. Takoe postoje i pojedinane metode koje nisu mogle biti projektovane
kao generike..

Veze klase DBBroker sa klasom OpstiDomenski objekat

3.3. Projektovanje skladita podataka


Na osnovu softverskih klasa strukture projektovane su tabele (skladita
podataka) relacionog sistema za upravljanje bazom podataka (MS Access).

Smer
SmerID
NazivSmera

Number
Text

Ucenik
JMBG
Ime

Text
Text

Prezime
Mail
Ulica
Broj
Grad

Text
Text
Number
Text
Number

Predmet
PredmetID
Naziv

Number
Text

Matematicki
Drustveni
Opsti

Yes/No
Yes/No
Yes/No

Ocena
OcenaID
Datum

Number
Date/Time

Ocena
UcenikID
PredmetID
KorisnikID

Number
Text
Number
Number

Korisnik
KorisnikID
Ime

Number
Text

Prezime
KorisnickoIme
KorisnickaSifra

Text
Text
Text

Izostanak
IzostanakID
Datum

Number
Date/Time

UcenikID
BrojIzostanaka
Opravdani
KorisniID

Text
Number
Yes/No
Number

4.Implemetacija
Softverski system je razvijen u programskom jeziku C#.Sistem je projektovan
kao klijent-server.Kao sistem za upravljanjem bazom podataka korien je MS
Access, dok je razvojno okruenje VisualStudio 2010.

Slika 5 Arhitektura softverskog sistema

5. Testiranje

Literatura
dr Sinia Vlaji, Projektovanje softvera (skripta), Beograd, 2011.

You might also like