114
Univerzitet u Beogradu Fakultet organizacionih nauka Laboratorija za softversko inženjerstvo Seminarski rad iz predmeta Projektovanje softvera Tema: Softverski sistem za praćenje rada učenika u srednjoj školi Profesor: dr Siniša Vlajić Student: Srđan Tajdić

Srdjan projektovanje softvera

  • Upload
    srdjan

  • View
    354

  • Download
    18

Embed Size (px)

DESCRIPTION

projektovanje softvera dokumentacija

Citation preview

Page 1: Srdjan projektovanje softvera

Univerzitet u BeograduFakultet organizacionih nauka

Laboratorija za softversko inženjerstvo

Seminarski rad iz predmeta

Projektovanje softvera

Tema: Softverski sistem za praćenje rada učenika u srednjoj školi

Profesor: dr Siniša Vlajić

Student:Srđan Tajdić 197/10

Beograd, 2014.

Page 2: Srdjan projektovanje softvera

SADRŽAJ

1. Korisnički zahtevi...............................................................................................................................4

1.1. Verbalni opis...............................................................................................................................4

1.2. Slučajevi korišćenja.....................................................................................................................4

SK1: Slučaj korišćenja- Unos učenika u sistem...............................................................................5

SK2: Slučaj korišćenja – Brisanje učenika iz sistema......................................................................6

SK 3: Slučaj korišćenja – Pretraga učenika.....................................................................................7

SK 4: Slučaj korišćenja – Izmena podataka o učeniku....................................................................7

SK 5: Slučaj korišćenja – Unos izostanaka učenika.........................................................................8

SK 6: Slučaj korišćenja – Izmena izostanaka učenika.....................................................................9

SK7: Slučaj korišćenja – Unošenje predmeta...............................................................................10

SK8: Slučaj korišćenja – Unošenje ocene.....................................................................................10

SK 9: Slučaj korišćenja – Izmena ocene učenika...........................................................................11

SK10: Slučaj korišćenja – Prijavljivanje korisnika.........................................................................12

2. Analiza.............................................................................................................................................13

2.1. Ponašanje softverskog sistema – Sistemski dijagram sekvenci.................................................13

DS1:Dijagramsekvenci slučajakorišćenja –Unos učenika............................................................13

DS2:Dijagramsekvencislučajakorišćenja –Brisanje učenika.........................................................15

DS3:Dijagramsekvencislučajakorišćenja –Pretraga učenika........................................................17

DS4:Dijagramsekvencislučajakorišćenja –Izmena podataka o učeniku.......................................18

DS5:Dijagramsekvencislučajakorišćenja –Unos izostanaka učenika............................................21

DS6:Dijagramsekvencislučajakorišćenja –Izmena izostanaka učenika........................................23

DS7: Dijagram sekvenci slučaja korišćenja –Unos predmeta.......................................................25

DS8: Dijagram sekvenci slučaja korišćenja – Unošenje ocene.....................................................27

DS9: Dijagram sekvenci slučaja korišćenja – Izmena ocene........................................................29

DS10: Dijagram sekvenci slučaja korišćenja – Prijavljivanje korisnika..........................................32

2.2. Ponašanje softverskog sistema – Definisanje ugovora o sistemskim operacijama...................33

Struktura softverskog sistema – Konceptualni (domenski) model...................................................38

Struktura softverskog sistema – Relacioni model............................................................................39

3. Projektovanje...................................................................................................................................42

Page 3: Srdjan projektovanje softvera

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

3.1. Projektovanje korisničkog interfejsa.........................................................................................44

3.1.1. Projektovanje ekranskih formi...........................................................................................44

3.1.2. Projektovanje kontrolera korisničkog 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 skladišta podataka.............................................................................................86

4.Implemetacija...................................................................................................................................90

5. Testiranje.........................................................................................................................................91

Page 4: Srdjan projektovanje softvera

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).

Sistem treba da omogući unošenje podataka o učenicima i predmetima, kao i pretraživanje, izmenu i brisanje ocena. Pored ovih zahteva potrebno je omogućiti i da korisnik može da unese rezultate predmeta. Da 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 1:

1) Unos učenika u sistem2) Brisanje učenika iz sistema3) Pretraga učenika4) Izmena podataka o učeniku5) Unos izostanaka učenika6) Izmena izostanaka učenika7) Unos predmeta8) Unošenje ocene9) Izmena ocene10)Prijava korisnika na sistem

Page 5: Srdjan projektovanje softvera

Slika 1. Dijagram slučajeva korišćenja

SK1: Slučaj korišćenja- Unos učenika u sistem

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. (APSO) 2. Sistem kreira novog učenika. (SO) 3. Sistem prikazuje korisniku novog učenika i poruku: “Sistem je kreirao novog učenika”. (IA) 4. Korisnik unosi podatke o novom učeniku. (APUSO) 5. Korisnik kontroliše da li je korektno uneo podatke o novom učeniku. (ANSO) 6. Korisnik poziva sistem da zapamti podatke o novom učeniku. (APSO)

Page 6: Srdjan projektovanje softvera

7. Sistem pamti podatke o novom učeniku. (SO) 8. Sistem prikazuje korisniku poruku: “Sistem je zapamtio učenika”. (IA)

Alternativna scenarija

3.1 Ukoliko sistem ne može da kreira novog učenikaon prikazuje korisniku poruku: “Sistem ne može da kreira novog učenika”. Prekida se izvršenje scenarija. (IA)

8.1 Ukoliko sistem ne može da zapamti podatke o novom učenikuon prikazuje korisniku poruku “Sistem ne može da zapamti novog učenika”.

SK2: Slučaj korišćenja – Brisanje učenika iz sistema

Naziv SK Brisanje 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. (APUSO) 2. Korisnik poziva sistem da nađe učenika po zadatoj vrednosti. (APSO) 3. Sistem traži učenika po zadatoj vrednosti. (SO) 4. Sistem prikazuje korisniku pronađenog učenika. (IA) 5. Korisnik poziva sistem da obriše učenika. (APSO)6. Sistem briše učenika. (SO)7. Sistem prikazuje korisniku poruku: “Sistem je obrisao učenika.” (IA)

Alternativna scenarija

4.1 Ukoliko sistem ne može da nađe učenike on prikazuje korisniku poruku: “Sistem ne može da nađe učenika po zadatoj vrednosti”. Prekida se izvršavanje scenarija (IA)

7.1 Ukoliko sistem ne može da obriše učenika on prikazuje korisniku poruku: “Sistemne može da obriše učenika”. (IA)

Page 7: Srdjan projektovanje softvera

SK 3: Slučaj korišćenja – Pretraga učenika

Naziv SKPretraga učenika

Aktori SKKorisnik

Učesnici SKKorisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za pretragu učenika.

Osnovni scenario SK

1. Korisnik unosi vrednosti po kojima pretražuje učenika. (APUSO)2. Korisnik poziva sistem da nađe učenika po zadatim vrednostima. (APSO)3. Sistem traži učenika po zadatim vrednostima. (SO)4. Sistem prikazuje korisniku nađenog učenika. (IA)

Alternativna scenarija

4.1. Ukoliko sistem ne može da nađe učenike on prikazuje korisniku poruku: “Sistem ne može da nađe učenika po zadatim vrednostima”. Prekida se izvršenje scenarija. (IA)

SK 4: Slučaj korišćenja – Izmena podataka o učeniku

Naziv SKIzmena podataka o učeniku

Aktori SKKorisnik

Učesnici SKKorisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za izmenu podataka.

Page 8: Srdjan projektovanje softvera

Osnovni scenario SK

1. Korisnik unosi vrednosti po kojima pretražuje učenika. (APUSO)2. Korisnik poziva sistem da nađe učenika po zadatim vrednostima. (APSO)3. Sistem traži učenika po zadatim vrednostima. (SO)4. Sistem prikazuje korisniku nađenog učenika. (IA)5. Korisnik unosi (menja) podatke o učeniku. (APUSO)6. Korisnik kontroliše da li je korektno uneo podatke o učeniku. (ANSO)7. Korisnik poziva sistem da zapamti podatke o učeniku. (APSO)8. Sistem pamti podatke o učeniku. (SO)9. Sistem prikazuje korisniku poruku: “Sistem je zapamtio učenika.” (IA)

Alternativna scenarija:

4.1. Ukoliko sistem ne može da nađe učenike on prikazuje korisniku poruku: “Sistem ne može da nađe učenika po zadatim vrednostima”. Prekida se izvršenje scenarija. (IA)9.1. Ukoliko sistem ne može da zapamti podatke o učeniku on prikazuje korisniku poruku: “Sistem ne može da zapamti učenika”. (IA)

SK 5: Slučaj korišćenja – Unos izostanaka učenika

Naziv SKUnos izostanaka učenika

Aktori SKKorisnik

Učesnici SKKorisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa izostankom učenika, učitani su svi predmeti.

Osnovni scenario SK

1. Korisnik unosi vrednost po kojoj pretražuje učenika. (APUSO) 2. Korisnik poziva sistem da nađe učenika po zadatoj vrednosti. (APSO) 3. Sistem traži učenika po zadatoj vrednosti. (SO) 4. Sistem prikazuje korisniku pronađenog učenika. (IA) 5. Korisnik bira učenika .(APUSO) 6. Korisnik poziva sistem da kreira nov izostanak učenika. (APSO)7. Sistem kreira nov izostanak učenika. (SO)8. Sistem prikazuje korisnikunov izostanak učenika. (IA)9. Korisnik unosi podatke o novomizostanku učenika. (APUSO)

Page 9: Srdjan projektovanje softvera

10. Korisnik kontroliše da li je korektno uneo podatke o novom izostanku učenika. (ANSO)11. Korisnik poziva sistem da zapamti podatke o novom izostanku učenika. (APSO)12. Sistem pamti podatke o novom izostanku učenika. (SO)13. Sistem prikazuje korisniku poruku:”Sistem je zapamtio nov izostanak”. (IA)

Alternativna scenarija

4.1. Ukoliko sistem ne može da pronađe učenikeon prikazuje korisniku poruku: “Sistem ne može da pronađe učenika po zadatoj vrednosti”. Prekida se izvršenje scenarija. (IA)

8.1. Ukoliko sistem ne može da kreira izostanak učenika on prikazuje korisniku poruku: “Sistem ne može da kreira izostanak učenika”. Prekida se izvršenje scenarija. (IA)

13.1. Ukoliko sistem ne može da zapamti podatke o novom izostanku on prikazuje korisniku poruku “Sistem ne može da zapamti nov izostanak”. (IA)

SK 6: Slučaj korišćenja – Izmena izostanaka učenika

Naziv SKEvidencija izostanaka učenika

Aktori SKKorisnik

Učesnici SKKorisnik 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 uceniku cije izostanke zeli da prikaze. (APUSO)2. Korisnik poziva sistem da nađe izostanke izabranog učenika (APSO)3. Sistem traži izostanke učenika po zadatim vrednostima. (SO)4. Sistem prikazuje korisniku nađenu evidenciju izostanaka. (IA)5. Korisnik biraizostanank koje želi da izmeni. (APUSO)

Page 10: Srdjan projektovanje softvera

6. Korisnik poziva sistem da opravda izostanku. (APSO)7. Sistem pamti podatke o izostanku. (SO)8. Sistem prikazuje korisniku poruku: “Sistem je opravdao izostanak.” (IA)

Alternativna scenarija

4.1. Ukoliko sistem ne može da nađe evidenciju izostanaka on prikazuje korisniku poruku: “Sistem ne može da nađe evidenciju izostanaka”. Prekida se izvršenje scenarija. (IA)

8.1. Ukoliko sistem ne može da zapamti podatke o izostanku on prikazuje korisniku poruku: “Sistem ne može da opravda izostanak”. (IA)

SK7: Slučaj korišćenja – Unošenje predmeta

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. (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 kontroliše 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)

Page 11: Srdjan projektovanje softvera

Alternativna scenarija

3.1 Ukoliko sistem ne može da kreira nov predmeton prikazuje korisniku poruku: “Sistem ne može da kreira nov predmet”. Prekida se izvršenje scenarija. (IA)

8.1 Ukoliko sistem ne može da zapamti podatke o novom predmetuon prikazuje korisniku poruku “Sistem ne može da zapamti nov predmet”.

SK8: Slučaj korišćenja – Unošenje ocene

Naziv SKUnošenje ocene

Aktori SKKorisnik

Učesnici SKKorisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za unošenje ocene, učitani su svi predmeti.

Osnovni scenario SK

scenario SK

1. Korisnik unosi vrednost po kojoj pretražuje učenike. (APUSO) 2. Korisnik poziva sistem da nađe učenike po zadatoj vrednosti. (APSO) 3. Sistem traži učenike po zadatoj vrednosti. (SO) 4. Sistem prikazuje korisniku pronađenog učenika. (IA) 5. Korisnik unosi podatke o novim ocenama učenika. (APUSO)6. Korisnik kontroliše da li je korektno uneo podatke o novim unešenim ocenama.

(ANSO)7. Korisnik poziva sistem da zapamti podatke o unešenim ocenama. (APSO)8. Sistem pamti podatke o novim unešenim ocenama. (SO)9. Sistem prikazuje korisniku poruku:”Sistem je zapamtio unešene ocene”. (IA)

Alternativna scenarija

4.1. Ukoliko sistem ne može da pronađe učenike on prikazuje korisniku poruku: “Sistem ne može da pronađe učenike”. Prekida se izvršenje scenarija. (IA)

9.1. Ukoliko sistem ne može da kreira nov unos ocene on prikazuje korisniku poruku: “Sistem ne može da kreira nov unos ocene”. Prekida se izvršenje scenarija. (IA)

Page 12: Srdjan projektovanje softvera

SK 9: Slučaj korišćenja – Izmena ocene učenika

Naziv SKIzmena ocene

Aktori SKKorisnik

Učesnici SKKorisnik 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 poziva sistem da prikaže ocene izabranog učenika za izabrani predmet (APSO)

2. Sistem traži ocene po zadatoj vrednosti. (SO) 3. Sistem prikazuje korisniku pronađene ocene učenika. (IA) 4. Korisnik bira ocenu (APUSO) 5. Sistem prikazuje korisniku ocenu (ANSO)6. Korisnik unosi izmene ocene (APUSO)7. Korisnik pozivasistemda izmeni ocenu. (APSO) 8. Sistem menja ocenu. (SO) 9. Sistem prikazuje korisniku poruku: “Sistem je izmenio ocenu.” (IA)

Alternativna scenarija

3.1 Ukoliko sistem ne može da nađe podatke o ocenama on prikazuje korisniku poruku: “Sistemne može da nađe ocenepo zadatoj vrednosti”. Prekida se izvršenje scenaria. (IA)

9.1 Ukoliko sistem ne može da izmeni ocenu on prikazuje korisniku poruku “Sistem ne može da izmeni ocenu”. (IA)

Page 13: Srdjan projektovanje softvera

SK10: Slučaj korišćenja – Prijavljivanje korisnika

Naziv SK: Prijavljivanje 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 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 uspešno prijavljen i omogućava pristup sistemu.(IA)

Alternativna scenarija:

4.1. Ukoliko sistem ne može da nađe korisnika prikazuje poruku da korisnik nije uneo tačne podatke. (IA)

Page 14: Srdjan projektovanje softvera

2. Analiza

2.1. Ponašanje softverskog sistema – Sistemski dijagram sekvenci

DS1:Dijagramsekvenci slučajakorišćenja –Unos učenika

1. Korisnik poziva sistem da kreira novog učenika. (APSO) 2. Sistem prikazuje korisnikunovog učenika i poruku: “Sistem je kreirao novog učenika”.

(IA)3. Korisnik poziva sistem da zapamti podatke o novom učeniku. (APSO) 4. Sistem prikazuje korisniku poruku: “Sistem je zapamtio učenika”. (IA)

Alternativna scenarija

2.1 Ukoliko sistem ne može da kreira novog učenikaon prikazuje korisniku poruku: “Sistem ne može da kreira novog učenika”. Prekida se izvršenje scenarija. (IA)

Page 15: Srdjan projektovanje softvera

4.1 Ukoliko sistem ne može da zapamti podatke o novom učenikuon prikazuje korisniku poruku “Sistem ne može da zapamti novog učenika”.

Sanavedenihslučajevakorišćenjauočavajusedvesistemskeoperacije operacije koje treba projektovati:

:1. signalKreirajNovogUčenika(Učenik);2. signalZapamtiUčenika(Učenik);

Page 16: Srdjan projektovanje softvera

DS2:Dijagramsekvencislučajakorišćenja –Brisanje učenika

1. Korisnik poziva sistem da nađe učenike po zadatoj vrednosti. (APSO)

2. Sistem prikazuje korisniku pronađene učenike. (IA)

3. Korisnik poziva sistem da obriše učenika. (APSO)

4. Sistem prikazuje korisniku poruku: “Sistem je obrisao učenika.” (IA)

Alternativna scenarija

2.1 Ukoliko sistem ne može da nađe učenike on prikazuje korisniku poruku: “Sistem ne može da nađe učenike po zadatoj vrednosti”. Prekida se izvršavanje scenarija (IA)

Page 17: Srdjan projektovanje softvera

4.1 Ukoliko sistem ne može da obriše učenika on prikazuje korisniku poruku: “Sistemne može da obriše učenika”. (IA)

Sa navedenih sekvencnih dijagrama uočavaju se dve sistemske operacije koje treba projektovati:

1. signalPretražiUčenika(KriterijumPretrage)2. signalObrišiUčenika(Učenik)

Page 18: Srdjan projektovanje softvera

DS3:Dijagram sekvencislučajakorišćenja –Pretraga učenika

1. Korisnik poziva sistem da nađe učenike po zadatim vrednostima. (APSO)2. Sistem prikazuje korisniku nađene učenike. (IA)3. Korisnik poziva sistem da prikaže podatke o izabranom učeniku. (APSO)4. Sistem prikazuje korisniku podatke o izabranom učeniku. (IA)

Alternativna scenarija

2.1 Ukoliko sistem ne može da nađe učenike on prikazuje korisniku poruku: “Sistem ne može da nađe učenike po zadatim vrednostima”. Prekida se izvršenje scenarija.(IA)

Page 19: Srdjan projektovanje softvera

Sa navedenih sekvencnih dijagrama uočavaju se dve sistemske operacije koje treba projektovati:

1. signalPretraziUčenika(KriterijumPretrage)

DS4:Dijagram sekvenci slučajakorišćenja –Izmena podataka o učeniku

1. Korisnik poziva sistem da nađe učenika po zadatim vrednostima. (APSO)2. Sistem prikazuje korisniku nađenog učenika. (IA)3. Korisnik poziva sistem da zapamti podatke o učeniku. (APSO)4. Sistem prikazuje korisniku poruku: “Sistem je zapamtio učenika.” (IA)

Page 20: Srdjan projektovanje softvera

Alternativna scenarija

2.1 Ukoliko sistem ne može da nađe učenika on prikazuje korisniku poruku: “Sistem ne može da nađe učenike po zadatim vrednostima”. Prekida se izvršenje scenarija. (IA)

Page 21: Srdjan projektovanje softvera

6.1 . Ukoliko sistem ne može da zapamti podatke o učeniku on prikazuje korisniku poruku: “Sistem ne može da zapamti učenika”. (IA)

Sa navedenih sekvencnih dijagrama uočavaju se tri sistemske operacije koje treba projektovati:

Page 22: Srdjan projektovanje softvera

1. signalPretraziUčenika(KriterijumPretrage)2. signalZapamtiUčenika(Učenik)

DS5:Dijagramsekvenci slučaja korišćenja –Unos izostanaka učenika

1. Korisnik poziva sistem da nađe učenika po zadatoj vrednosti. (APSO)2. Sistem prikazuje korisniku pronađene učenika. (IA) 3. Korisnik poziva sistem da zapamti podatke o novom izostanku učenika. (APSO)4. Sistem prikazuje korisniku poruku:”Sistem je zapamtio novi zostanak”. (IA)

Alternativna scenarija

4.1 Ukoliko sistem ne može da pronađe učenikeon prikazuje korisniku poruku: “Sistem ne može da pronađe učenike po zadatoj vrednosti”. Prekida se izvršenje scenarija. (IA)

Page 23: Srdjan projektovanje softvera

8.1 Ukolikosistem ne može da zapamti podatke o novom izostanku on prikazuje korisniku poruku “Sistem ne može da zapamti nov izostanak”. (IA)

Page 24: Srdjan projektovanje softvera

Sa navedenih sekvencnih dijagrama uočavaju se tri sistemske operacije koje treba projektovati:

1. signalPretraziUčenika(KriterijumPretrage)2. signalZapamtiNovIzostanak(Izostanak)

DS6:Dijagram sekvenci slučaja korišćenja –Izmena izostanaka učenika

1. Korisnik poziva sistem da nađe izostanke izabranog učenika (APSO)2. Sistem prikazuje korisniku nađenu evidenciju izostanaka. (IA)3. Korisnik poziva sistem da zapamti podatke o izostanku. (APSO)4. Sistem prikazuje korisniku poruku: “Sistem je zapamtio izostanak.” (IA)

Alternativna scenarija

Page 25: Srdjan projektovanje softvera

6.1 Ukoliko sistem ne može da nađe evidenciju izostanaka on prikazuje korisniku poruku: “Sistem ne može da nađe evidenciju izostanaka”. Prekida se izvršenje scenarija. (IA)

10.1 . Ukoliko sistem ne može da zapamti podatke o izostanku on prikazuje korisniku poruku: “Sistem ne može da zapamti izostanak”. (IA)

Page 26: Srdjan projektovanje softvera

Sa navedenih sekvencnih dijagrama uočavaja se 5 sistemskih operacija koje treba projektovati:

1. signal PretražiEvidencijuIzostanaka(KriterijumPretrage,List<Izostanak>)2. signal IzmeniIzostanak(Izostanak)

DS7: Dijagram sekvenci slučaja korišćenja –Unos predmeta

1. Korisnik poziva sistem da kreira novpredmet. (APSO) 2. Sistem prikazuje korisniku nov predmet i poruku: “Sistem je kreirao nov predmet”. (IA)3. Korisnik poziva sistem da zapamti podatke o novom predmetu. (APSO) 4. Sistem prikazuje korisnikuporuku: “Sistem je zapamtio predmet”. (IA)

Page 27: Srdjan projektovanje softvera

Alternativna scenarija

2.1 Ukoliko sistem ne može da kreira nov predmeton prikazuje korisniku poruku: “Sistem ne može da kreira nov predmet”. Prekida se izvršenje scenarija. (IA)

4.1 Ukoliko sistem ne može da zapamti podatke o novom predmetuon prikazuje korisniku poruku “Sistem ne može da zapamti nov predmet”.

Page 28: Srdjan projektovanje softvera

Sa navedenih slučajeva korišćenja uočavaju se dve sistemske operacije operacije koje treba projektovati:

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

DS8: Dijagram sekvenci slučaja korišćenja – Unošenje ocene

1. Korisnik poziva sistem da nađe učenika po zadatoj vrednosti. (APSO) 2. Sistem prikazuje korisniku pronađene učenika. (IA) 3. Korisnik poziva sistem da zapamti podatke o unešenim ocenama. (APSO)4. Sistem prikazuje korisniku poruku:”Sistem je zapamtio unešene ocene”. (IA)

Page 29: Srdjan projektovanje softvera

Alternativna scenarija

4.1 Ukoliko sistem ne može da pronađe učenikeon prikazuje korisniku poruku: “Sistem ne može da pronađe učenikepo zadatim vrednostima”. Prekida se izvršenje scenarija. (IA)

Page 30: Srdjan projektovanje softvera

8.1 Ukoliko sistem ne može da zapamti podatke o novim ocenama, on prikazuje korisniku poruku “Sistem ne može da zapamti nove ocene”. (IA)

Page 31: Srdjan projektovanje softvera

Sa navedenih sekvencnih dijagrama uočavaju se tri sistemske operacije koje treba projektovati:

1. signalVratiSvePredmete(KriterijumPretrage,List<Predmet>)

2. signalPretraziUčenika(KriterijumPretrage)3. signal ZapamtiNoveUnešeneOcene(Unos)

DS9: Dijagram sekvenci slučaja korišćenja – Izmena ocene

1. Korisnik poziva sistem da prikaže ocene izabranog učenika za predmet (APSO)2. Sistem prikazuje korisniku pronađene ocene učenika. (IA) 3. Korisnik poziva sistem da izmeni ocenu. (APSO) 4. Sistem prikazuje korisniku poruku: “Sistem je izmenio ocenu.” (IA)

Alternativna scenarija

Page 32: Srdjan projektovanje softvera

6.1 Ukoliko sistem ne može da nađe podatke o ocenama on prikazuje korisniku poruku: “Sistemne može da nađe ocenepo zadatoj vrednosti”. Prekida se izvršenje scenaria. (IA)

8.1 Ukoliko sistem ne može da izmeni ocenu on prikazuje korisniku poruku “Sistem ne može da izmeni ocenu”. (IA)

Page 33: Srdjan projektovanje softvera

Sa navedenih sekvencnih dijagrama uočavaju se šest sistemskih operacija koje treba projektovati:

1. signalVratiSvePredmete(KriterijumPretrage,List<Predmet>)

2. signalPretražiUčenike(KriterijumPretrage, List<Učenik>)3. signal IzmeniOcenu(Ocena)4. signal PretražiOcene(KriterijumPretrage,List<Ocena>)

DS10: Dijagram sekvenci slučaja korišćenja – Prijavljivanje korisnika

1. Korisnik poziv asistem da prijavi korisnika sa zadatim podacima. (APSO)2. Sistem prikazuje poruku da je korisnik uspešno prijavljen i omogućava pristup sistemu.

(IA)

Page 34: Srdjan projektovanje softvera

Alternativna scenarija

2.1. Ukoliko sistem ne može da nađe korisnika prikazuje poruku da korisnik nije uneo tačne podatke. (IA)

Sa navedenih sekvencnih dijagrama uočava se jedna sistemska operacija koju treba projektovati:

1. signalPrijaviKorisnika(Korisnik)

Kao rezultat analize scenarija dobijeno je ukupno 16sistemskih operacija koje treba projektovati:

1. signalKreirajNovogUčenika(Učenik);2. signalZapamtiUčenika(Učenik);3. signalPretražiUčenika(KriterijumPretrage)4. signalObrišiUčenika(Učenik)5. signal ZapamtiUčenika(Učenik) 6. signalZapamtiNovIzostanak(Izostanak)

Page 35: Srdjan projektovanje softvera

7. signalKreirajNovIzostanak(Izostanak)8. signal PretražiEvidencijuIzostanaka(KriterijumPretrage,List<Izostanak>)9. signalKreirajNovPredmet(Predmet);10. signalZapamtiPredmet(Predmet);11. signal ZapamtiNoveUnešeneOcene(Unos)12. signal PretražiOcene(KriterijumPretrage,List<Ocena>)13. signal ZapamtiOcenu(Ocena)14. signalPrijaviKorisnika(Korisnik)15. signalVratiSvePredmete(List<Predmet>)16. signalVratiSveUcenike(List<Predmet>)

2.2. Ponašanje softverskog sistema – Definisanje ugovora o sistemskim operacijama

Ugovor UG1: KreirajNovogUčenika

Operacija: KreirajNovogUčenika(Učenik):signal;

Veza sa SK: SK1

Preduslovi: -

Postuslovi: Kreiran je novi učenik.

Ugovor UG2: ZapamtiUčenika

Operacija: ZapamtiUčenika(Učenik):signal;

Veza sa SK: SK1, SK4

Preduslovi: Prosto vrednosno ograničenje nad objektom Učenik mora biti zadovoljeno.

Strukturno ograničenje nad objektom Učenik mora biti zadovoljeno.

Postuslovi: Podaci o učeniku su zapamćeni.

Ugovor UG3: PretraziUčenika

Operacija: PretraziUčenike(KriterijumPretrage):signal;

Veza sa SK: SK2, SK3, SK4,SK5,SK6,SK8,SK9

Preduslovi: -

Page 36: Srdjan projektovanje softvera

Postuslovi: -

Ugovor UG4:ObrišiUčenika

Operacija: ObrišiUčenika(Učenik):signal;

Veza sa SK: SK2

Preduslovi: -

Postuslovi: Učenik je obrisan.Strukturno ograničenje nad objektom Učenik mora biti zadovoljeno.

Ugovor UG5:ZapamtiUčenika

Operacija: ZapamtiUčenika(Učenik):signal;

Veza sa SK: SK1, SK4

Preduslovi: Prosto vrednosno ograničenje nad objektom Učenik mora biti zadovoljeno.

Strukturno ograničenje nad objektom Učenik mora biti zadovoljeno.

Postuslovi: Podaci o učeniku su zapamćeni.

Ugovor UG6:KreirajNovIzostanak

Operacija: KreirajNovIzostanak(Izostanak):signal;

Veza sa SK: SK5

Preduslovi:Ako za datog učenika postoje već tri izostanka koja nisu opravdana, ne može se izvršiti sistemska operacija.

Postuslovi: Kreiran je nov izostanak.

Ugovor UG7: ZapamtiNovIzostanak

Operacija: ZapamtiNovIzostanak(Izostanak):signal;

Veza sa SK: SK5, SK6

Preduslovi: Ako za datog učenika postoje već tri izostanka koja nisu opravdana ne može se izvršiti sistemska operacija. Prosto vrednosno ograničenje nad objektom Zaduzenje mora biti zadovoljeno.

Strukturno ograničenje nad objektom Zaduzenje mora biti zadovoljeno.Postuslovi: Podaci o izostanku su zapamćeni.

Page 37: Srdjan projektovanje softvera

Ugovor UG8: PretraziEvidencijuIzostanaka

Operacija: PretražiEvidencijuIzostanaka(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 ograničenje nad objektom Predmet mora biti zadovoljeno.

Strukturno ograničenje nad objektom Predmet mora biti zadovoljeno.

Postuslovi: Podaci o predmetu su zapamćeni.

Ugovor UG11:KreirajNovUnosOcene

Operacija: KreirajNovUnosOcene(Unos):signal;

Veza sa SK: SK8

Preduslovi: -

Postuslovi: Kreirana je nova ocena.

Page 38: Srdjan projektovanje softvera

Ugovor UG12: ZapamtiNoveUnošeneOcene

Operacija: ZapamtiNoveUnešeneOcene(Unos):signal;

Veza sa SK: SK8

Preduslovi: Prosto vrednosno ograničenje nad objektom Unos mora biti zadovoljeno.

Strukturno ograničenje nad objektom Unos mora biti zadovoljeno.

Postuslovi: Podaci o unosu su zapamćeni.

Ugovor UG13: PretražiOcene

Operacija: PretražiOcene(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 ograničenje nad objektom Ocena mora biti zadovoljeno.

Strukturno ograničenje nad objektom Ocena mora biti zadovoljeno.Postuslovi: Podaci o oceni su zapamćeni.

Ugovor UG15: PrijaviKorisnika

Operacija: PrijaviKorisnika(Korisnik):signal;

Veza sa SK: SK10

Page 39: Srdjan projektovanje softvera

Preduslovi: -

Postuslovi: -

Ugovor UG16: VratiSvePredmete

Operacija:VratiSvePredmete(KriterijumPretrage,List<Predmet>):signal;

Veza sa SK: SK5,SK6,SK8,SK9

Preduslovi:-

Postuslovi:-Predmeti su nađeni.

Page 40: Srdjan projektovanje softvera

Struktura softverskog sistema – Konceptualni (domenski) model

Page 41: Srdjan projektovanje softvera

Struktura softverskog sistema – Relacioni model

Smer(SmerID, NazivSmera)

Učenik(JMBG, Ime, Prezime, Mail, Ulica, Broj ,Grad,SmerID)

Predmet(PredmetID, Naziv)

Ocena( UčenikID, PredmetID, OcenaID, Ocena, Datum, KorisnikID )

Korisnik ( KorisnikID, Ime, Prezime, KorisničkoIme, KorisnickaŠifra)

Izostanak(UčenikID, IzostanakID, Datum, Opravdani, BrojIzostanaka,KorisnikID)

Tabela SmerProsto vrednosno

ograničenjeSloženo vrednosno

ograničenjeStrukturno ograničenje

Atributi ImeTip

atributaVrednost atributa

Međuzav. atributa

jedne tabele

Međuzav. atributa

više tabela

Insert /

UpdateCascadeUčenik

DeleteRestrictedUčenik

ŠifraSmera Integernot null and >0

NazivSmera String not null

BrojPredmeta Integernot null and>0

BrojUčenika Integer

not null

and>0

Page 42: Srdjan projektovanje softvera

Tabela UčenikProsto vrednosno

ograničenjeSloženo vrednosno

ograničenjeStrukturno ograničenje

ImeTip

atributaVrednost atributa

Međuzav. atributa

jedne tabele

Međuzav. atributa

više tabela

InsertRestrictedSmer

UpdateRestrictedSmer

DeleteCascadeOcena,Izostanak

UčenikID String not null

Ime String not null

Prezime String not null

JMBG String not null

Kontakt String not null

Mail String not null

Ulica String not null

Broj Integer

not null

and >0

ŠifraSmera Integer

not null

and>0

Mesto String not null

Tabela PredmetProsto vrednosno

ograničenjeSloženo vrednosno

ograničenjeStrukturno ograničenje

Atributi ImeTip

atributaVrednost atributa

Međuzav. atributa

jedne tabele

Međuzav. atributa

više tabela

Insert /Update/

Delete

PredmetID String not null

Page 43: Srdjan projektovanje softvera

CascadeNaziv String not null

Tabela OcenaProsto vrednosno

ograničenjeSloženo vrednosno

ograničenjeStrukturno ograničenje

Atributi ImeTip

atributaVrednost atributa

Međuzav. atributa

jedne tabele

Međuzav. atributa

više tabela

Insert RestrictedPredmet,Učenik

Update RestrictedPredmet,Učenik

Delete /

UčenikID String not null

PredmetID String not null

OcenaID String not null

VrednostOcene Integer not null

Datum Date not null

KorisnikID String not null

Tabela KorisnikProsto vrednosno

ograničenjeSloženo vrednosno

ograničenjeStrukturno ograničenje

Atributi ImeTip

atributaVrednost atributa

Međuzav. atributa

jedne tabele

Međuzav. atributa

više tabela

KorisnikID String not null

Ime String not null

Prezime String not null

KorisničkoIme String not null

KorisničkaŠifra String not null

Page 44: Srdjan projektovanje softvera

Tabela IzostanakProsto vrednosno

ograničenje

Složeno vrednosno

ograničenje

Strukturno ograničenje

Atributi

ImeTip

atributaVrednost atributa

Međuzav.

atributa

jedne tabel

e

Međuzav. atributa

više tabela

InsertRestrictedUčenik,Korisnik

UpdateRestrictedUčenik,Korisnik

Delete /UčenikID String not null

IzostanakID String not null

DatumIzostanka Date not null

DatumOpravdanja Date not null

Opravdano Bool (default:0)

BrojČasova Integer not null

KorisnikID String not null

Page 45: Srdjan projektovanje softvera

3. Projektovanje

Faza projektovanja opisuje fizičku strukturu i ponašanje softverskog sistema (arhitekturu softverskog sistema).

Arhitektura softverskog sistema

Arhitekrura sistema je tronivojska i sastoji se od sledećih nivoa:

korisnički interfejs aplikaciona logika skladište podataka

Nivo korisničkog interfejsa je na strani klijenta, dok su aplikaciona logika i skladište podataka na strani servera.

Page 46: Srdjan projektovanje softvera

Tronivojska arhitektura

3.1. Projektovanje korisničkog interfejsa

Korisnički interfejs, predstavlja realizaciju ulaza i/ili izlaza softverskog sistema.

Struktura korisničkog interfejsa

Page 47: Srdjan projektovanje softvera

Ekranska 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.

3.1.1. Projektovanje ekranskih formiKorisnički interfejs defenisan je preko skupa ekranskih formi. Scenarija korišćenja ekranskih formi su direktno povezana sa scenarijima slučajeva korišćenja.

Glavna ekranska forma serverskog dela aplikacije treba da izgleda ovako:

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

Page 48: Srdjan projektovanje softvera

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- Unos učenika u sistem

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. (APSO) 2. Sistem kreira novog učenika. (SO) 3. Sistem prikazuje korisnikun ovog učenika i poruku: “Sistem je kreirao novog učenika”. (IA)

Page 49: Srdjan projektovanje softvera

4. Korisnik unosi podatke o novom učeniku. (APUSO)

5. Korisnik kontroliše da li je korektno uneo podatke o novom učeniku. (ANSO) 6. Korisnik poziva sistem da zapamti podatke o novom učeniku. (APSO) 7. Sistem pamti podatke o novom učeniku. (SO) 8. Sistem prikazuje korisniku poruku: “Sistem je zapamtio učenika”. (IA)

Page 50: Srdjan projektovanje softvera

Alternativna scenarija

2.1 Ukoliko sistem ne može da kreira novog učenika on prikazuje korisniku poruku: “Sistem ne može da kreira novog učenika”. Prekida se izvršenje scenarija. (IA)

8.1 Ukoliko sistem ne može da zapamti podatke o novom učeniku on prikazuje korisniku poruku “Sistem ne može da zapamti novog učenika”.

Page 51: Srdjan projektovanje softvera

SK2: Slučaj korišćenja – Brisanje učenika iz sistema

Naziv SK Brisanje 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. (APUSO)

2. Korisnik poziva sistem da nađe učenika po zadatoj vrednosti. (APSO) 3. Sistem traži učenika po zadatoj vrednosti. (SO) 4. Sistem prikazuje korisniku pronađenog učenika. (IA)

Page 52: Srdjan projektovanje softvera

5. Korisnik poziva sistem da obriše učenika. (APSO)6. Sistem briše učenika. (SO)7. Sistem prikazuje korisniku poruku: “Sistem je obrisao učenika.” (IA)

Page 53: Srdjan projektovanje softvera

Alternativna scenarija

4.1 Ukoliko sistem ne može da nađe učenike on prikazuje korisniku poruku: “Sistem ne može da nađe učenika po zadatoj vrednosti”. Prekida se izvršavanje scenarija (IA)

7.1 Ukoliko sistem ne može da obriše učenika on prikazuje korisniku poruku: “Sistemne može da obriše učenika”. (IA)

SK 3: Slučaj korišćenja – Pretraga učenika

Naziv SKPretraga učenika

Aktori SKKorisnik

Učesnici SKKorisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za pretragu učenika.

Page 54: Srdjan projektovanje softvera

Osnovni scenario SK

Osnovni scenario SK

1. Korisnik unosi vrednosti po kojima pretražuje učenika. (APUSO)

2. Korisnik poziva sistem da nađe učenika po zadatim vrednostima. (APSO)3. Sistem traži učenika po zadatim vrednostima. (SO)4. Sistem prikazuje korisniku nađenog učenika. (IA)

Page 55: Srdjan projektovanje softvera

Alternativna scenarija

4.1. Ukoliko sistem ne može da nađe učenike on prikazuje korisniku poruku: “Sistem ne može da nađe učenika po zadatim vrednostima”. Prekida se izvršenje scenarija. (IA)

SK 4: Slučaj korišćenja – Izmena podataka o učeniku

Naziv SKIzmena podataka o učeniku

Aktori SKKorisnik

Učesnici SK

Page 56: Srdjan projektovanje softvera

Korisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za izmenu podataka.

Osnovni scenario SK

1. Korisnik unosi vrednosti po kojima pretražuje učenika. (APUSO)

2. Korisnik poziva sistem da nađe učenika po zadatim vrednostima. (APSO)3. Sistem traži učenika po zadatim vrednostima. (SO)4. Sistem prikazuje korisniku nađenog učenika. (IA)

Page 57: Srdjan projektovanje softvera

5. Korisnik unosi (menja) podatke o učeniku. (APUSO)

6. Korisnik kontroliše da li je korektno uneo podatke o učeniku. (ANSO)

Page 58: Srdjan projektovanje softvera

7. Korisnik poziva sistem da zapamti podatke o učeniku. (APSO)8. Sistem pamti podatke o učeniku. (SO)9. Sistem prikazuje korisniku poruku: “Sistem je zapamtio učenika.” (IA)

Alternativna scenarija:

4.1. Ukoliko sistem ne može da nađe učenike on prikazuje korisniku poruku: “Sistem ne može da nađe učenika po zadatim vrednostima”. Prekida se izvršenje scenarija. (IA)

9.1. Ukoliko sistem ne može da zapamti podatke o učeniku on prikazuje korisniku poruku: “Sistem ne može da zapamti učenika”. (IA)

Page 59: Srdjan projektovanje softvera

SK 5: Slučaj korišćenja – Unos izostanaka učenika

Naziv SKUnos izostanaka učenika

Aktori SKKorisnik

Učesnici SKKorisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za rad sa izostankom učenika, učitani su svi predmeti.

Osnovni scenario SK

1. Korisnik unosi vrednost po kojoj pretražuje učenika. (APUSO)

Page 60: Srdjan projektovanje softvera

2. Korisnik poziva sistem da nađe učenika po zadatoj vrednosti. (APSO) 3. Sistem traži učenika po zadatoj vrednosti. (SO) 4. Sistem prikazuje korisniku pronađenog učenika. (IA)

Page 61: Srdjan projektovanje softvera

5. Korisnik bira učenika .(APUSO)

6. Korisnik poziva sistem da kreira nov izostanak učenika. (APSO)7. Sistem kreira nov izostanak učenika. (SO)8. Sistem prikazuje korisniku nov izostanak učenika. (IA)

Page 62: Srdjan projektovanje softvera

9. Korisnik unosi podatke o novom izostanku učenika. (APUSO)

Page 63: Srdjan projektovanje softvera

10. Korisnik kontroliše da li je korektno uneo podatke o novom izostanku učenika. (ANSO)11. Korisnik poziva sistem da zapamti podatke o novom izostanku učenika. (APSO)12. Sistem pamti podatke o novom izostanku učenika. (SO)13. Sistem prikazuje korisniku poruku:”Sistem je zapamtio nov izostanak”. (IA)

Page 64: Srdjan projektovanje softvera

Alternativna scenarija

4.1. Ukoliko sistem ne može da pronađe učenike on prikazuje korisniku poruku: “Sistem ne može da pronađe učenika po zadatoj vrednosti”. Prekida se izvršenje scenarija. (IA)

Page 65: Srdjan projektovanje softvera

8.1. Ukoliko sistem ne može da kreira izostanak učenika on prikazuje korisniku poruku: “Sistem ne može da kreira izostanak učenika”. Prekida se izvršenje scenarija. (IA)

13.1. Ukoliko sistem ne može da zapamti podatke o novom izostanku on prikazuje korisniku poruku “Sistem ne može da zapamti nov izostanak”. (IA)

SK 6: Slučaj korišćenja – Izmena izostanaka učenika

Naziv SKEvidencija izostanaka učenika

Aktori SKKorisnik

Učesnici SKKorisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za izostanke učenika.

Page 66: Srdjan projektovanje softvera

Osnovni scenario SK

scenario SK

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

2. Korisnik poziva sistem da nađe izostanke izabranog učenika (APSO)3. Sistem traži izostanke učenika po zadatim vrednostima. (SO)4. Sistem prikazuje korisniku nađenu evidenciju izostanaka. (IA)

Page 67: Srdjan projektovanje softvera

5. Korisnik bira izostanank koje želi da izmeni. (APUSO)

6. Korisnik poziva sistem da opravda izostanku. (APSO)7. Sistem pamti podatke o izostanku. (SO)8. Sistem prikazuje korisniku poruku: “Sistem je opravdao izostanak.” (IA)

Page 68: Srdjan projektovanje softvera

4.1. Ukoliko sistem ne može da nađe evidenciju izostanaka on prikazuje korisniku poruku: “Sistem ne može da nađe evidenciju izostanaka”. Prekida se izvršenje scenarija. (IA)

8.1. Ukoliko sistem ne može da zapamti podatke o izostanku on prikazuje korisniku poruku: “Sistem ne može da opravda izostanak”. (IA)

SK7: Slučaj korišćenja – Unošenje predmeta

Page 69: Srdjan projektovanje softvera

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. (APSO) 2. Sistem kreira nov predmet. (SO) 3. Sistem prikazuje korisniku nov predmet i poruku: “Sistem je kreirao nov predmet”. (IA)

Page 70: Srdjan projektovanje softvera

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

5. Korisnik kontroliše 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 može da kreira nov predmet on prikazuje korisniku poruku: “Sistem ne može da kreira nov predmet”. Prekida se izvršenje scenarija. (IA)

Page 71: Srdjan projektovanje softvera

4.1 Ukoliko sistem ne može da zapamti podatke o novom predmetu on prikazuje korisniku poruku “Sistem ne može da zapamti nov predmet”.

SK8: Slučaj korišćenja – Unošenje ocene

Naziv SKUnošenje ocene

Aktori SKKorisnik

Učesnici SKKorisnik i sistem (program)

Preduslov:Sistem je uključen i korisnik je ulogovan pod svojom šifrom. Sistem prikazuje formu za unošenje ocene, učitani su svi predmeti.

Page 72: Srdjan projektovanje softvera

Osnovni scenario SK

scenario SK

1. Korisnik unosi vrednost po kojoj pretražuje učenike. (APUSO)

2. Korisnik poziva sistem da nađe učenike po zadatoj vrednosti. (APSO) 3. Sistem traži učenike po zadatoj vrednosti. (SO) 4. Sistem prikazuje korisniku pronađenog učenika. (IA)

Page 73: Srdjan projektovanje softvera

5. Korisnik unosi podatke o novim ocenama učenika. (APUSO)

6. Korisnik kontroliše da li je korektno uneo podatke o novim unešenim ocenama. (ANSO)

7. Korisnik poziva sistem da zapamti podatke o unešenim ocenama. (APSO)8. Sistem pamti podatke o novim unešenim ocenama. (SO)9. Sistem prikazuje korisniku poruku:”Sistem je zapamtio unešene ocene”. (IA)

Page 74: Srdjan projektovanje softvera

Alternativna scenarija

4.1. Ukoliko sistem ne može da pronađe učenike on prikazuje korisniku poruku: “Sistem ne može da pronađe učenike”. Prekida se izvršenje scenarija. (IA)

9.1. Ukoliko sistem ne može da kreira nov unos ocene on prikazuje korisniku poruku: “Sistem ne može da kreira nov unos ocene”. Prekida se izvršenje scenarija. (IA)

SK 9: Slučaj korišćenja – Izmena ocene učenika

Page 75: Srdjan projektovanje softvera

Naziv SKIzmena ocene

Aktori SKKorisnik

Učesnici SKKorisnik 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 poziva sistem da prikaže ocene izabranog učenika za izabrani predmet (APSO)

2. Sistem traži ocene po zadatoj vrednosti. (SO) 3. Sistem prikazuje korisniku pronađene ocene učenika. (IA)

Page 76: Srdjan projektovanje softvera

4. Korisnik bira ocenu (APUSO)

5. Sistem prikazuje korisniku ocenu (ANSO)6. Korisnik unosi izmene ocene (APUSO)

Page 77: Srdjan projektovanje softvera

7. Korisnik pozivasistemda izmeni ocenu. (APSO) 8. Sistem menja ocenu. (SO) 9. Sistem prikazuje korisniku poruku: “Sistem je izmenio ocenu.” (IA)

Alternativna scenarija

Page 78: Srdjan projektovanje softvera

3.1 Ukoliko sistem ne može da nađe podatke o ocenama on prikazuje korisniku poruku: “Sistem ne može da nađe ocene po zadatoj vrednosti”. Prekida se izvršenje scenaria. (IA)

9.1 Ukoliko sistem ne može da izmeni ocenu on prikazuje korisniku poruku “Sistem ne može da izmeni ocenu”. (IA)

SK10: Slučaj korišćenja – Prijavljivanje korisnika

Naziv SK: Prijavljivanje korisnika

Aktori SK: Korisnik

Učesnici SK: Korisnik i sistem (program)

Preduslov: Sistem je uključen i prikazuje formu za logovanje.

Page 79: Srdjan projektovanje softvera

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 uspešno prijavljen i omogućava pristup sistemu.(IA)

Page 80: Srdjan projektovanje softvera

Alternativna scenarija:

4.1. Ukoliko sistem ne može da nađe korisnika prikazuje poruku da korisnik nije uneo tačne podatke. (IA)

3.1.2. Projektovanje kontrolera korisničkog interfejsa

Ekranska 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 grafič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 grafičkih elemenata

Page 81: Srdjan projektovanje softvera

3.2. Projektovanje aplikacione logike

Aplikacioni 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

3.2.1. Komunikacija sa klijentima

Deo za komunikaciju podiže serverski soket koji dalje osluškuje mrežu. Kada klijent uspostavi konekciju server generiše nit koja će biti odgovorna za dvosmernu vezu sa klijentom. Klijent šalje zahtev za izvršenje neke od sistemskih operacija, odgovarajuća nit (dodeljena klijentu) prihvata zahtev i prosleđuje ga do kontrolera aplikacione logike. Nakon izvršenja sistemske operacije kontroler vraća rezultat “niti klijenta”.Rezultat se zatim prosleđuje klijentu.Komunikacija između 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; }

Page 82: Srdjan projektovanje softvera

}Object rezultat;

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

3.2.2. Kontroler aplikacione logike

Kontroler aplikacione logike prihvata zahteve za izvršenje sistemskih operacija i iste prosleđuju do konkretne sistemske operacije. Nakon, izvršenja sistemske operacije kontroler prihvata odgovor i vraća nazad pozivaocu (niti klijenta). Kako je u fazama prikupljanja zahteva i analize data specifikacija strukture i ponašanja softverskog sistema, odnosno specifikacija poslovne logike softverskog sistema, sledeća slika daje opis sistema nakon faza projektovanja komunikacije sa klijentima i kontrolera aplikacione logike.

3.2.3. Poslovna logika

Projektovanje ponašanja softverskog sistema – sistemske operacije

Preko klase Kontroler 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 SO. Za svaku SO prave se softverske klase koje treba da realizuju SO (one opisuju ponašanje sistema).

Ugovor UG1: KreirajNovogUčenika

Operacija: KreirajNovogUčenika(Učenik):signal;

Page 83: Srdjan projektovanje softvera

Veza sa SK: SK1

Preduslovi: -

Postuslovi: Kreiran je novi učenik.

namespace SistemskeOperacije.UcenikSO{Public class KreirajNovogUcenika:OpstaSO {Public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo) {return Sesija.Broker.dajSesiju().dajSve(odo); } }}

Ugovor UG2: ZapamtiUčenika

Operacija: ZapamtiUčenika(Učenik):signal;

Veza sa SK: SK1, SK4

Preduslovi: Prosto vrednosno ograničenje nad objektom Učenik mora biti zadovoljeno.

Strukturno ograničenje nad objektom Učenik mora biti zadovoljeno.

Postuslovi: Podaci o učeniku su zapamćeni.

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

Ugovor UG3: PretraziUčenika

Operacija: PretraziUčenike(KriterijumPretrage):signal;

Veza sa SK: SK2, SK3, SK4,SK5,SK6,SK8,SK9

Preduslovi: -

Postuslovi: -

Page 84: Srdjan projektovanje softvera

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:ObrišiUčenika

Operacija: ObrišiUčenika(Učenik):signal;

Veza sa SK: SK2

Preduslovi: -

Postuslovi: Učenik je obrisan.Strukturno ograničenje nad objektom Učenik 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:ZapamtiUčenika

Operacija: ZapamtiUčenika(Učenik):signal;

Veza sa SK: SK1, SK4

Preduslovi: Prosto vrednosno ograničenje nad objektom Učenik mora biti zadovoljeno.

Strukturno ograničenje nad objektom Učenik mora biti zadovoljeno.

Postuslovi: Podaci o učeniku su zapamćeni.

namespace SistemskeOperacije.UcenikSO{ public class ZapamtiUcenika:OpstaSO

Page 85: Srdjan projektovanje softvera

{ 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 učenika postoje već tri izostanka koja nisu opravdana, ne može se izvršiti 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 učenika postoje već tri izostanka koja nisu opravdana ne može se izvršiti sistemska operacija. Prosto vrednosno ograničenje nad objektom Zaduzenje mora biti zadovoljeno.

Strukturno ograničenje nad objektom Zaduzenje mora biti zadovoljeno.Postuslovi: Podaci o izostanku su zapamćeni.

namespace SistemskeOperacije.IzostanakSO{Public class ZapamtiNoviIzostanak:OpstaSO {publicoverrideobject Izvrsi(Biblioteka.OpstiDomenskiObjekat odo) {return Sesija.Broker.dajSesiju().ubaci(odo); } }

Page 86: Srdjan projektovanje softvera

}

Ugovor UG8: PretraziEvidencijuIzostanaka

Operacija: PretražiEvidencijuIzostanaka(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<Biblioteka.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

Page 87: Srdjan projektovanje softvera

{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 ograničenje nad objektom Predmet mora biti zadovoljeno.

Strukturno ograničenje nad objektom Predmet mora biti zadovoljeno.

Postuslovi: Podaci o predmetu su zapamćeni.

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)

Page 88: Srdjan projektovanje softvera

{ o.OcenaID = Sesija.Broker.dajSesiju().dajSifru(o); Sesija.Broker.dajSesiju().ubaci(o); } return 1; } }}

Ugovor UG12: ZapamtiNoveUnošeneOcene

Operacija: ZapamtiNoveUnešeneOcene(Unos):signal;

Veza sa SK: SK8

Preduslovi: Prosto vrednosno ograničenje nad objektom Unos mora biti zadovoljeno.

Strukturno ograničenje nad objektom Unos mora biti zadovoljeno.

Postuslovi: Podaci o unosu su zapamćeni.

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: PretražiOcene

Operacija: PretražiOcene(KriterijumPretrage,List<Ocena>):signal;

Veza sa SK: SK9

Preduslovi: -

Postuslovi: -

namespace SistemskeOperacije.Ocena{

Page 89: Srdjan projektovanje softvera

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 ograničenje nad objektom Ocena mora biti zadovoljeno.

Strukturno ograničenje nad objektom Ocena mora biti zadovoljeno.Postuslovi: Podaci o oceni su zapamćeni.

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

Page 90: Srdjan projektovanje softvera

{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 nađeni.

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

Page 91: Srdjan projektovanje softvera

Klase koje su odgovorne za SO nasledjuju „OpstuSO“

Page 92: Srdjan projektovanje softvera

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 sledećim 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; } }

Page 93: Srdjan projektovanje softvera

string uslovDvaatr;

public string UslovDvaatr {get { return uslovDvaatr; }set { uslovDvaatr = value; } }

Public override string ToString() {return naziv; }

#region ODOPublic 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]);

Page 94: Srdjan projektovanje softvera

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 sledeće metode:

1) public void otvoriKonekciju()2) public void zatvoriKonekciju()3) public void zapocniTransakciju()4) public void potvrdiTransakciju()5) public void ponistiTransakciju()6) public List<OpstiDomenskiObjekat>dajSve(OpstiDomenskiObjekat odo)7) 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 generičke, što znači da mogu da prihvate različite domenske objekte preko parametara kako ne bi u DatabaseBroker-u implementirali pojedinačne metode za svaku domensku klasu. Takođe postoje i pojedinačne metode koje nisu mogle biti projektovane kao generičke..

Page 95: Srdjan projektovanje softvera

Veze klase DBBroker sa klasom OpstiDomenski objekat

Page 96: Srdjan projektovanje softvera

3.3. Projektovanje skladišta podataka

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

Smer

SmerID NumberNazivSmera Text

Ucenik

JMBG TextIme Text

Prezime TextMail TextUlica NumberBroj TextGrad Number

Predmet

PredmetID NumberNaziv Text

Matematicki Yes/NoDrustveni Yes/No

Opsti Yes/No

Ocena

Page 97: Srdjan projektovanje softvera

OcenaID NumberDatum Date/Time

Ocena NumberUcenikID Text

PredmetID NumberKorisnikID Number

Korisnik

KorisnikID NumberIme Text

Prezime TextKorisnickoIme TextKorisnickaSifra Text

Izostanak

IzostanakID NumberDatum Date/Time

UcenikID TextBrojIzostanaka Number

Opravdani Yes/NoKorisniID Number

Page 98: Srdjan projektovanje softvera

4.Implemetacija

Softverski system je razvijen u programskom jeziku C#.Sistem je projektovan kao klijent-server.Kao sistem za upravljanjem bazom podataka korišćen je MS Access, dok je razvojno okruženje VisualStudio 2010.

Page 99: Srdjan projektovanje softvera

Slika 5 Arhitektura softverskog sistema

Page 100: Srdjan projektovanje softvera

5. Testiranje

Literatura

dr Siniša Vlajić, Projektovanje softvera (skripta), Beograd, 2011.