Professional Documents
Culture Documents
Srdjan Projektovanje Softvera
Srdjan Projektovanje Softvera
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
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).
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)
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)
Naziv SK
Izmena podataka o ueniku
Aktori SK
Korisnik
Uesnici SK
Korisnik i sistem (program)
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)
8
9
10
11
12
13
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)
6
7
8
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)
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.
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)
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)
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
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.
:
1. signalKreirajNovogUenika(Uenik);
2. signalZapamtiUenika(Uenik);
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)
2 signalObriiUenika(Uenik)
1
2
3
4
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)
signalPretraziUenika(KriterijumPretrage)
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)
1 signalPretraziUenika(KriterijumPretrage)
2 signalZapamtiUenika(Uenik)
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)
Alternativna scenarija
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);
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)
signalVratiSvePredmete(KriterijumPretrage,List<Predmet>)
2 signalPretraziUenika(KriterijumPretrage)
3 signal ZapamtiNoveUneeneOcene(Unos)
2
3
4
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)
signalVratiSvePredmete(KriterijumPretrage,List<Predmet>)
2 signalPretraiUenike(KriterijumPretrage, List<Uenik>)
3 signal IzmeniOcenu(Ocena)
4 signal PretraiOcene(KriterijumPretrage,List<Ocena>)
1
2
Alternativna scenarija
2.1. Ukoliko sistem ne moe da nae korisnika prikazuje poruku da korisnik nije uneo tane
podatke. (IA)
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>)
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.
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 UG11:KreirajNovUnosOcene
Operacija: KreirajNovUnosOcene(Unos):signal;
Veza sa SK: SK8
Preduslovi: Postuslovi: Kreirana je nova ocena.
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).
Tronivojska arhitektura
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.
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)
Alternativna scenarija
1
8.1 Ukoliko sistem ne moe da zapamti podatke o novom ueniku on prikazuje korisniku
poruku Sistem ne moe da zapamti novog uenika.
Osnovni scenario SK
1
2
3
4
5
6
7
Alternativna scenarija
1
7.1 Ukoliko sistem ne moe da obrie uenika on prikazuje korisniku poruku: Sistemne moe
da obrie uenika. (IA)
Osnovni scenario SK
Osnovni scenario SK
1
2
3
4
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)
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
7
8
9
Alternativna scenarija:
1
Osnovni scenario SK
1
2
3
4
6
7
8
10
11
12
13
Alternativna scenarija
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)
Osnovni scenario SK
scenario SK
1
2
3
4
6
7
8
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)
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)
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)
Osnovni scenario SK
scenario SK
1
2
3
4
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)
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
5
6
7
8
9
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)
Alternativna scenarija:
4.1. Ukoliko sistem ne moe da nae korisnika prikazuje poruku da korisnik nije uneo tane
podatke. (IA)
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; }
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);
}
}
}
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.
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);
}
}
}
namespace SistemskeOperacije.IzostanakSO
{
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;
}
}
}
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;
}
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;
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
}
}
klasu. Takoe postoje i pojedinane metode koje nisu mogle biti projektovane
kao generike..
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.
5. Testiranje
Literatura
dr Sinia Vlaji, Projektovanje softvera (skripta), Beograd, 2011.