oisisi - drugi projekat

Upload: marko-bilanovic

Post on 13-Jul-2015

263 views

Category:

Documents


1 download

TRANSCRIPT

FAKULTET TEHNIKIH NAUKA U NOVOM SADU

OSNOVI INFORMACIONIH SISTEMA I SOFTVERSKOG INENJERSTVASPECIFIKACIJA DRUGOG PROJEKTA

Novi Sad, 2011

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

1.1. Prijava za radPrilikom pokretanja aplikacije implementirati mehanizam prijave za rad korisnika. Izgled Login dijaloga na slici samo je predlog implementacije. Mogua je i prvo pojava dijaloga za autorizaciju korisnika a zatim prikaz glavne forme aplikacije. Login dijalog mora biti strogo modalan, odnosno korisnik ne moe pre uspene prijave za rad da pristupi funkcionalnostima aplikacije:

Uneto korisniko ime i lozinka proveravaju se u korisnicima aplikacije. Korisnici aplikacije su uneti kroz dijalog korisnika u aplikaciji i sauvani u datoteci korisnika. U sluaju da se unese korisniko ime i lozinka koji ne odgovaraju nijednom korisniku, dijalog za logovanje ostaje otvoren. Korisnik ima mogunost pristupa glavnoj formi aplikacije tek kada unese ispravno korisniko ime i lozinku. U sluaju da korisnik odabere opciju Odustanak na dijalogu za prijavu za rad, kompletna aplikacija prekida rad. Da bi postojala mogunost provere ispravnosti unetih podataka, pre prikaza dijaloga za logovanja potrebno je uitati sve serijalizovane korisnike iz datoteke u odgovarajue strukture podataka. Prilikom potvrde prijave neophodno je izvriti proveru unetih podataka sa postojeim podacima o korisnicima u strukturama podataka. Obratiti panju na problem unosa prvog korisnika aplikacije (provera korisnikog imena i lozinke jednog korisnika moe da postoji u kodu ili je mogue iskljuiti dijalog za unos prilikom unosa prvog korisnika - administratora sistema).

2

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

1.2. Glavna forma aplikacijeRealizovati Java aplikaciju ija glavna forma ima izgled kao na slici:

Glavna forma sadri: 1) Glavni meni aplikacije 2) Toolbar aplikacije 3) Logo aplikacije 4) Status Bar aplikacije 5) Naslov aplikacije Izgled aplikacije sa slike je potreban minimum. Svaki student moe da menja boje, fontove, ikone i slike. Glavna forma inicijalno treba da zauzime duine i irine monitora i da bude centrirana u odnosu na ekran. U naslov aplikacije uneti konkretan problem grupe (Multiteka), prilagoditi logo aplikacije na glavnoj formi prema konkretnom problemu. Struktura glavnog menija nee biti potpuno identina kod svih studenata, zavisie od konkretnog problema svakog studenta. Ime i prezime korisnika koji je izvrio logovanje treba da se pojavi u status baru glavne forme.

3

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

1.2.1. Glavni meni aplikacijeGlavni meni aplikacije kod svih studenata imae tri identine stavke: Katalozi, Administracija i Pomo. Naziv etvrte stavke zavisie od konkretnog problema: Kadrovska evidencija, Iznajmljivanje filmova, Autori knjiga... Svaka stavka glavnog menija treba da ima odgovarajui mnemonik i ikonu. Svaka podstavka menija treba da sadri odgovarajui akcelerator i ikonu:

Stavka Katalozi sadri podstavke Registar drava i Institucije:

Stavka Kadrovska evidencija sadri specifine entitete u zadatku studenta. Kod svakog studenta ova stavka e imati drugaije ime i sadrae 2-3 specifina entiteta:

Stavka Administracija sadri akcije za auriranje korisnika aplikacije kao i promenu aktivnog jezika aplikacije (lokalizacija aplikacije):

Stavka Pomo sadri akciju za prikaz osnovnih podataka o autoru programa:

4

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

1.2.2. Toolbar aplikacijeToolbar aplikacije sadri 6 ili 7 dugmia koje izvode identine akcije kao podstavke menije: Svaka stavka toolbara treba da poseduje hint. Ikone mogu biti proizvoljne (iste kao na odgovarajuim stavkama menija).

1.2.3. Logo aplikacijeLogo aplikacije moe biti proizvoljna slika koja je centrirana u sredinjem delu glavne forme aplikacije. Slika treba da bude u kontekstu konkretnog problema grupe (u primeru je prikazan logo u sluaju da je konkretan problem - multiteka).

1.2.4. Status Bar aplikacijeStatus bar aplikacije predstavlja panel koji se nalazi na dnu aplikacije.

Sastoji se iz tri dela: a) Deo u kome se nalazi ime i prezime ulogovanog korisnika. U zavisnosti od toga koji je korisnik ulogovan u aplikaciju prikazuje se odgovarajue ime i prezime korisnika. b) Deo u kome se nalazi trenutno aktivan jezik aplikacije c) Deo u kome se nalazi trenutni datum, formatiran na osnovu trenutno izabranih lokalnih podeavanja Font i boja teksta u Status baru je proizvoljna, ali je poeljno da se jasno razlikuju 3 odvojena dela status bara kao na slici.

5

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

1.3. Dijalozi aplikacijeDijalozi aplikacije se otvaraju prilikom izbora jedne od pet/est stavki menija (Registar drava, Korisnici,Institucije...) ili odgovarajuih stavki toolbara:

Otvoren dijalog treba da bude modalan, centriran u odnosu na glavnu formu aplikacije. Dimenzije dijaloga su dimenzija glavne forme aplikacije. Naslov dijaloga predstavlja naslov stavke menija iz koje je dijalog otvoren. Svi dijalozi aplikacije imae identinu strukturu: a) Naslov dijaloga b) Toolbar dijaloga c) Tabelu koja slui za prikaz podataka. d) Detalj u kome se nalaze podaci selektovanog sloga tabele. U svakom redu panela koji predstavlja detalj nalazi se po jedan par: labela - komponenta za unos podataka, po istom redosledu kao to su kolone rasporeene u tabeli. Poljima za unos podataka nije omoguen prustup (disabled). e) Izmeu tabele i detalja dijaloga se nalazi pregrada kojom se mogu menjati dimanzije ova dva dela dijaloga (JSplitPane) f) Status bar dijaloga koji se sastoji iz tri dela u kome se nalazi naslov tabele i redni broj selektovan sloga/ukupan broj slogova u tabeli (pogledati sliku dijaloga). Prilikom promene selektovanog reda u tabeli ovej deo status bara treba da se aurira.

6

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

1.3.1. Dijalog Institucije

Kao primer izgleda dijaloga bie predstavljen dijalog Institucije. Dijalog poseduje polja u tabeli i u detalju kao na slici. Sva polja su onemoguena za editovanje. Pregrada izmeu tabele i detalja moe se pomerati do minimalnih dimenzija detalja koje e omoguiti da itav detalj bude vidljiv. Toolbar svakog dijaloga je isti. Sadri jedno jedno dugme za sakrivanje detalja dijaloga, odnosno promena prikaza dijaloga detalj/tabela, 4 navigaciona dugmeta koji e sluiti za kretanje kroz tabelu: 1) Selekcija prvog sloga tabele 2) Selekcija narednog sloga tabele 3) Selekcija prethodnog sloga tabele 4) Selekcija poslednjeg sloga tabele i 4 dugmeta za akcije nad slogovima: 1) Dodavanje novog sloga 2) Izmena selektovanog sloga 3) Brisanje selektovanog sloga 4) Pretraga slogova (samo za bonus zadatak) Sve stavke toolbar-a imaju i hint kao i akcelarator koji omoguava izvravanje akcija toolbara putem tastature. Tip komponente u detalju zavisi od tipa atributa u klasi koju dijalog predstavlja (String - JTextField ili JTextArea, boolean - JCheckBox, int - JTextField, Date - ?, Sloeni objekti, odnosno vezani entiteti - JComboBox ). 7

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

1.3.2. Dijalog Autor programa

Dijalog Autor programa se otvara prilikom izbora stavke Pomo->Autor programa ili izborom odgovarajueg dugmeta na toolbar-u. Dijalog je modalan, centriran u odnosu na glavnu formu aplikacije. Sadri sliku autora programa, broj indeksa, ime i prezime kao i mail adresu. Vaa slika je obavezna!!!

8

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

2. Funkcije aplikacijeU funkcije aplikacije pored promene aktivnog jezika spadaju promena prikaza dijaloga, kretanje kroz selekciju tabele, unos, izmena i brisanje podataka iz otvorenih dijaloga koji e se obavljati putem novih, pomonih dijaloga. Prikaz potrebnih funkcija bie prikazan na primeru dijaloga Institucije. Aplikacija mora imati isto ovo ponaanje i u svim ostalim dijalozima.

2.1. Promena pogleda detalj/tabelaIzborom dugmeta na toolbaru dijaloga ili pritiskom na ALT+V sakriva se detalj dijaloga, odnosno omoguava se prikaz samo tabele u kompletnom dijalogu.

Ponovnim klikom na isto dugme vraa se prikaz detalja u dijalogu. Obratiti panju na vrednost u status baru dijalogu u ovom primeru.

9

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

2.2. Dodavanje i izmena slogaIzborom dugmeta + ili pritiskom na ALT + F2 otvara se novi dijalog koji e sluiti za unos novog korisnika:

Dijalog za dodavanje sloga treba da bude modalan, centriran u odnosu na dijalog koji ga poziva. Treba da sadri identinu strukturu kao i detalj dijaloga koji ga je pozvao uz dva dugmeta koji slue za potvrdu i odustanak unosa. Sva polja za unos su u ovom dijalogu omoguena za editovanje teksta. Posebnu panju obratiti na obavezna polja, polja koja su oznaena sa * . Ova polja predstavljaju polja obavezna za unos koja ukoliko su prazna, nee biti dozvoljeno zatvaranje dijaloga za unos sa dugmetom Potvrda: u trenutku pritiska na dugme Potvrda proveravaju se polja koja su obavezna za unos pa ukoliko su prazna oznaavaju se crvenom bojom i ne dozvoljava se zatvaranje dijaloga za unos (uvek se moe odustati od unosa). im korisnik unese neto u oznaena polja, crvena boja nestaje:

10

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta Neuspean unos:

Korisnik nastavlja unos:

Pored kontrole unosa obaveznih polja, postoje logika kontrole tipa podataka: u poljima u kojima se unose celobrojne vrednosti zabraniti unos karaktera koji nisu brojevi i kontrolisati duinu unetog teksta (na primer godina registracije u dijalogu Korisnici, samo brojevi, maksimalno 4 cifre, proverava se im korisnik unese broj):

Kontrola unetog tipa podataka pored celobrojnih vrednosti postojae i za polja u koja se unose datumi. Sve neuspene validacije (obavezno polje za unos, neispravan tip podataka) treba da izazovu korisniki definisane izuzetke koji e biti obraeni odgovarajuom porukom korisniku.

11

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

Nakon uspenog unosa podataka u dijalog za dodavanje sloga i potvrde unosa, sledi zatvaranje dijaloga i osveavanje slogova u tabeli. Slog koji je upravo unet kroz dijalog za unos treba da bude selektovan u tabeli:

Izmena sloga veoma malo se razlikuje od dodavanja sloga. Za operaciju izmene neophodno je da se u tabeli selektuje slog koji se eli izmeniti. Ukoliko ne postoji selektovan slog a korisnik inicira akciju promene sloga potrebno je upozoriti korisnika:

12

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

Ukoliko je korisnik selektovao slog koji eli izmeniti i inicirao akciju promene sloga (klik na dugme toolbar-a ili ALT+F3) prikazuje se identian dijalog kao prilikom unosa sloga. Prilikom izmene sloga dijalog je napunjen vrednostima selektovanog sloga:

Polja koja predstavljaju vrednost primarnog kljua prilikom izmene sloga onemoguena su za izmenu (u ovom sluaju polje za izbor drave i oznake institucije). Sva pravila validacije podataka koja vae prilikom dodavanja vae i za izmenu sloga. Nakon izmene sloga u tabeli ostaje selektovan slog koji se menjao

13

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

2.3. Brisanje slogaIzborom dugmeta X ili kombinacijom ALT + F4 otvara se dijalog kojim korisnik treba da potvrdi buduu destruktivnu akciju brisanja selektovanog sloga iz tabele. U sluaju da ne postoji selektovan slog u tabeli potrebno je upozoriti korisnika (kao kod izmene sloga).

Dijalog za potvrdu brisanja treba da bude modalan, centriran u odnosu na dijalog koji ju je pozvao. U sluaju da korisnik potvrdi brisanje sloga potrebno je osveiti tabelu prilikom zatvaranja dijaloga za potvrdu brisanja. Posebnu panju obratiti na brisanje slogova koji mogu biti referencirani iz drugih objekata. Na primer, ako bi korisnik pokuao da iz registra drava obrie dravu, pre brisanja neophodno je proveriti u slogovima institucija da li neka institucija referencira dravu koja se brie. Ukoliko postoji takva institucija potrebno je zabraniti brisanje traene drave.

2.4. Lokalizacija aplikacijeSva pravila promene jezika koja su vaila za prvi projekat vae i u drugom projektu. Korisnik treba da ima mogunost izbora: Srpski - latinica, - , English. Lokalizuje se kompletna glavna forma aplikacije, svi dijalozi za prikaz, dodavanje, izmenu i brisanje slogova. Lokalizacija treba da obuhvati naslove svih dijaloga ali i labele na svim dugmadima (posebnu panju obratiti na dijaloge klase JOptionPane). Lokalizacija treba da obuhvati i formate prikaza datuma.

14

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

3. Serijalizacija podatakaSvi uneti podaci kroz pet/est dijaloga za unos trebaju prilikom zatvaranja aplikacije da budu sauvani u datoteke. Postoji mogunost dodavanja dodatnih funkcionalnosti prikom rada sa sauvavanjem podataka: automatsko sauvavanje prikom dodavanja, izmene i brisanja slogova. U ovom sluaju vrie se serijalizacija samo jedne strukture podataka, one u kojoj je vreno auriranje, odnosno radie se samo sa jednom datotekom. Mogue je i dodati kontrolu koja e po zahtevu korisnika aplikacije izvriti serijalizaciju svih struktura podataka u datoteke. Minimum potrebne funkcionalnosti jeste serijalizacija svih struktura podataka prilikom zatvaranja glavne forme aplikacije. Prilikom pokretanja aplikacije potrebno je izvriti deserijalizaciju podataka koji se nalaze u datotekama u interne strukture podataka.

15

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

4. Nain ocenjivanja4.1. Glavna forma aplikacije R.br. 1. Opis Realizacija glavne forme aplikacije: - naslov aplikacije - veliina i pozicija glavnog prozora aplikacije - logo aplikacije Realizacija glavnog menija aplikacije: - ikone, mnemonici glavnog menija - ikone, akceleratori podstavki glavnog menija Realizacija toolbara-a glavnog prozora aplikacije - ikone, hintovi, akceleratori dugmadi toolbara Status bar aplikacije - Ime i prezime ulogovanog korisnika aplikacije - Datum i aktivni jezik aplikacije Dijalog sa informacijama o autoru aplikacije Lokalizacija glavne forma aplikacije: - srpski latinica - srpski irilica - engleski Ukupno bodova za implementaciju glavne forme aplikacije Bodova 1

2.

2

3. 4.

1

2 1

5. 6.

3

10

4.2. Prijava za rad korisnika R.br. 1. 2. Opis Implementacija modalnog dijaloga za unos korisnikog imena i lozinke Provera ispravnosti unetog korisnikog imena i lozinke u korisnicima aplikacije 8 Ukupno bodova za implementaciju prijave za rad 10 Bodova 2

16

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

4.3. Dijalozi aplikacije R.br. 1. 2. 2. 3. 4. Opis Izrada GUI-ja dijaloga: - toolbar, tabela, detalj dijaloga, split pane, status bar Ispravan tip komponenti u detalju dijaloga Promena pogleda dijaloga tabela/detalj Kretanje kroz selekciju tabele - prvi slog, sledei slog, prethodni slog, poslednji slog Dodavanje novog sloga - validacija obaveznih polja, celobrojnih vrednosti, datuma - unos sloga u kolekciju i osveavanje tabele - selekcija novog sloga u tabeli po zavretku dodavanja - prikaz vezanih entiteta u dijalogu za unos - realizacija korisnikih izuzetaka prilikom neuspene validacije i prilikom dodavanja ve postojeeg sloga Izmena selektovanog sloga - onemoguavanje promene vrednosti kljua - validacija obaveznih polja, celobrojnih vrednosti, datuma - izmena sloga u kolekciju i osveavanje tabele - selekcija izmenjenog sloga u tabeli po zavretku izmene - prikaz vezanih entiteta u dijalogu za izmenu - realizacija korisnikih izuzetaka prilikom neuspene validacije Brisanje selektovanog sloga - potvrda brisanja sloga - provera postojanja vezanih entiteta Popunjavanje detalja dijaloga sa selektovanim slogom tabele, auriranje informacija u status baru prilikom izmene selekcije Lokalizacija svih elemenata dijaloga - GUI dijaloga, detalja, tabele, status bara - GUI dijaloga za dodavanje, izmenu, brisanje Ukupno bodova za dijalog Za svaki dijalog aplikacije dobija se isti broj bodova, ukupno (u zavisnosti da li u zadatku postoji 5 ili 6 traenih entiteta) Bodova 0.5 0.5 0.5 0.5

2

5.

2

6.

2

7. 8.

1

1 10 50-60

17

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta 4.4. Serijalizacija i deserijalizacija podataka R.br. 1. Opis Uspena serijalizacija jedne kolekcije podataka (jedne hash mape) u jednu datoteku - prilikom zatvaranja glavne forme aplikacije - ili prilikom auriranja (dodavanje, izmena, brisanje) strukture podataka - ili na zahtev korisnika - ili sve navedene situacije Deserijalizacija jedne kolekcije podataka (jedne hash mape) iz jedne datoteke prilikom pokretanja aplikacije, tj. prilikom kreiranja glavnog prozora aplikacije Ukupno bodova za serijalizaciju/deserijalizaciju jedne kolekcije podataka Za serijalizaciju/deserijalizaciju svih kolekcija podataka u aplikaciji, ukupno (u zavisnosti da li u zadatku postoji 5 ili 6 traenih entiteta) 4.5. Celokupni utisak R.br. 1. 2. 3. Opis Prisustvo na vebama Aktivnost na vebama Dodatne funkcionalnosti aplikacije Ukupno bodova za celokupni utisak 4.6. Ukupno R.br. 1. 2. 3. 4. 5. Opis Implementacija glavne forme aplikacije Implementacija mehanizma prijave za rad Dijalozi aplikacije (u zavisnosti da li u zadatku postoji 5 ili 6 traenih entiteta) Serijalizaciju/deserijalizaciju kolekcija podataka u aplikaciji (u zavisnosti da li u zadatku postoji 5 ili 6 traenih entiteta) Ukupno bodova za celokupni utisak Ukupno bodova Bodova 10 10 50-60 10-12 8 100 Bodova 2 3 3 8 Bodova

1

2.

1 2 10-12

18

Osnove informacionih sistema i softverskog inenjerstva - Specifikacija drugog projekta

5. Termini i rokoviTermin Datum as 1. XII09.01-15.01.

Opis Samostalan rad na projektu. Ocenjivanje + dodela bonus zadatka Samostalan rad na projektu. Ocenjivanje + dodela bonus zadatka Samostalan rad na projektu. Ocenjivanje Ocenjivanje.

2.

1. XIII16.01-22.01.

2.

Drugi projekat nosi 70% ukupnog broja poena sa vebi. Za bonus zadatak mora se ostvariti maksimalnih 100 bodova na projektu i projekat mora biti odbranjen u XII nedelji (09.01-15.01.). Bonus zadatak se mora odbraniti u XIII nedelji. Studenti koji ne odbrane redovan projekat ni u XIII nedelji imaju 0 bodova na drugom projektu.

19