Upload
goran-panic
View
1.584
Download
3
Embed Size (px)
DESCRIPTION
Košarkaška statistika - Goran Panić
Citation preview
UNIVERZITET U NOVOM SADU
FAKULTET TEHNIĈKIH NAUKA
ODSEK ZA RAĈUNARSTVO I AUTOMATIKU
KATEDRA ZA RAĈUNARSKE NAUKE I INFORMATIKU
PROJEKAT IZ INFORMACIONIH
SISTEMA
KOŠARKAŠKA STATISTIKA
Profesor: dr Dragan Mihajlović Student: Goran Panić, E9286
Novi Sad, februar 2008.
Projekat iz Informacionih Sistema Goran Panić,E9286
2
Sadrţaj
1. ZADATAK .................................................................................................................................... 3
2. ŠEMA BAZE PODATAKA .......................................................................................................... 4
2.1 KONCEPTUALNI MODEL ............................................................................................................. 4 2.2 FIZIČKI MODEL .......................................................................................................................... 5
3. ARHITEKTURA INTERFEJSA PROGRAMA .......................................................................... 6
4. KLASE PROGRAMA ................................................................................................................ 13
5. BITNI DELOVI KODA .............................................................................................................. 14
6. IZGLED I NAČIN KORIŠĆENJA PROGRAMA ..................................................................... 22
6.1 GLAVNA FORMA...................................................................................................................... 22 6.2 PROZOR PRIPREMA .................................................................................................................. 25 6.3 PROZOR KREIRAJ ..................................................................................................................... 28 6.4 PROZOR UTAKMICA ................................................................................................................. 32 6.5 PROZOR STATISTIKA ................................................................................................................ 36 6.6 PROZOR LOGOVANJE ............................................................................................................... 38 6.7 PROZOR BAZA PODATAKA ........................................................................................................ 39 6.8 PROZOR PODEŠAVANJA............................................................................................................ 41 6.9 PROZOR O PROGRAMU ............................................................................................................. 42
7. IZGLED I NAČIN KORIŠĆENJA HTML HELPA .................................................................. 43
8. ZAKLJUČAK ............................................................................................................................. 45
9. LITERATURA ........................................................................................................................... 46
Projekat iz Informacionih Sistema Goran Panić,E9286
3
1. Zadatak
Napravi aplikaciju za voĊenje statistike sa košarkaških
utakmica. Statistika se vodi za utakmice koje se igraju po kolima, kup
utakmicama ili prijateljskim utakmicama. Vodi se evidencija o klubovima, njihovim igračima, trenerima klubova, sudijama i zapisnicima sa utakmica.
Podaci se unose tokom utakmice. Za svaku utakmicu se beleţi kog
datuma je utakmica odigrana, mesto u kome se utakmica odigrala, hala u kojoj je utakmica odigrana, broj posetilaca na utakmici, o kom tipu
utakmice se radi (redovno kolo, kup ili prijateljska utakmica). Ako se radi
o redovnom kolu, beleţi se kolo u kome je utakmica odigrana, a ako se
radi o kup utakmici da li se igra prva ili revanš, ili se igra smo jedna utakmica. Na svakoj utakmici moţe da učestvuje po 12 igrača iz kluba pri
čemu igrači ne moraju da nose uvek iste brojeve za svaku utakmicu.
Svaki igrač i trener imaju svoj PC broj koji je jedinstven, ime, prezime i datum rodjenja. Klub takođe ima svoj PC broj, naziv, sedište i
adresu. Svaki klub pripada određenoj ligi (Prva muška luga, Prva ţenska
liga... ). U zapisnicima se vodi evidencija o sledećim statističkim podacima:
broju igrača koji je igrač nosio na utakmici, broju postignutih koševa za
jedan, dva i tri poena i sledeće lične greške: P, P1, P2, P3, T (tehnička),
D(diskvalifikaciona) i U (nesportska), kao i vreme koje je proveo na terenu. Svaka lična greška igrača nosi određeni broj slobodnih bacanja
protivničkoj ekipi: P – nula bacanja, P1 – jedno bacanje, P2, T, D, U – dva
bacanja i P3 – tri bacanja.
Aplikacija treba da obezbedi:
1. Aţuriranje osnovnih podataka: lige, klubovi, igrači i sudije. 2. Vođenje statistike na utakmicama i memorisanje zapisnika sa
utakmice.
3. Procenat slobodnih bacanja neke ekipe. Procenat se računa kao
količnik ukupnih poena iz slobodnih bacanja (za jedan poen) i ukupnog broja pokušaja (suma ličnih grešaka protivničke ekipe
pomnoţena određenim brojem bacanja koje ta greška donosi).
Projekat iz Informacionih Sistema Goran Panić,E9286
4
2. Šema baze podataka
Šema baze će biti predstavljena u obliku konceptualnog i fizičkog
modela podataka.
2.1 Konceptualni model
Konceptualni model je kreiran u alatu PowerDesigner, verzija 10. U
nastavku će biti prikazan konceptualni model podataka u potpunosti.
Slika 1. – Izgled konceptualnog modela šeme baze
Projekat iz Informacionih Sistema Goran Panić,E9286
5
2.2 Fiziĉki model
Na osnovu konceptualnog modela, generisan je fizički model podataka. Za generisanje je korišćen alata PowerDesigner, verzija 10.
Slika 2. – Izgled fizičkog modela šeme baze
Projekat iz Informacionih Sistema Goran Panić,E9286
6
3. Arhitektura interfejsa programa
Program je rađen u alatu Borland C++ Builder 6, pa je njegov
interfejs organizovan po formama. Spiska svih formi programa moţe se
videti u View Form prozoru Borland Builder-a. Prefiks frm označava da se radi o formi, GlavnaForma je osnovna forma i ona nema prefiks.
Slika 3. – Prikaz View Form prozora
Glavna forma predstavlja osnovnu formu, sa nje se moţe pristupiti
svim ostalim formama. Ona se kreira pri startovanju programa, a njeno zatvaranje predstavlja kraj izvršenja programa.
Projekat iz Informacionih Sistema Goran Panić,E9286
7
Slika 4. – Pregled elemenata Glavne Forme
Forma frmIzlazIzPrograma pruţa korisniku šansu da potvrdi
izlazak iz programa.
Slika 5. – Pregled elemenata forme frmIzlazIzPrograma
Forma frmPriprema omogućava korisniku da kreira utakmicu
odabirom timova koji igraju, mesta odigravanje, broja gledalaca, tipa
utaknice, igrača koji igraju, broja dresova, sudija … Uspešan prolazak kroz ovu formu, preduslov je za pokretanje forme za vođenje utakmice
(frmUtakmica).
Projekat iz Informacionih Sistema Goran Panić,E9286
8
Slika 6. - Pregled elemenata forme frmPriprema
Forma frmUtakmica sluţi za vođenje statistike na utakmici. Daje pregled svih igrača na utakmici. Za odabranog igrača omogućava
beleţenje poena, prekršaja i minutaţe igrača na terenu. Sve ovo se odvija
u realnom vemenu o čemu brine semafor pri dnu prozora.
Projekat iz Informacionih Sistema Goran Panić,E9286
9
Slika 7. - Pregled elemenata forme frmUtakmica
Forma frmKreiraj pruţa korisniku mogućnost da kreira, menja i briše podatke o igračima, sudijama, trenerima, klubovima, ligama i
mestima. Forma omogućava organizovan prikaz podataka i njihovu
pretragu.
Projekat iz Informacionih Sistema Goran Panić,E9286
10
Slika 8. – Pregled elemenata forme frmKreiraj
Forma frmBazaPodataka sluţi za izvoz i uvoz podataka u bazu
podataka, kao i njihovo uklanjanje iz baze. Omogućava kreiranje tekstualnog fajla, sa SQL naredbama za kreiranje podataka nad bazom,
koji se moţe koristiti nezavisno od samog programa.
Slika 9. – Pregled elemenata forme frmBazaPodataka
Forma frmStatistika omogućava pregled statistike o igračima,
klubovima i utakmicama, kao i pretrage po istim.
Projekat iz Informacionih Sistema Goran Panić,E9286
11
Slika 10. - Pregled elemenata forme frmStatistika
Forma frmLogovanje omogućava dodavanje novih i brisanje postojećih korisnika, kao i izmenu lozinke aktivnog korisnika.
Slika 11. – Pregled elemenata forme frmLogovanje
Forma frmPodešavnje pruţa mogućnost podešavanja osnovnih
parametara konekcije, kao i boja interfejsa samog programa.
Projekat iz Informacionih Sistema Goran Panić,E9286
12
Slika 12. – Pregled elemenata forme frmPodešavanja
Forma frmIzlazIzUtakmice pruţa korisniku šansu da potvrdi izlaz
iz prozora Utakmica.
Slika 13. – Pregled elemenata forme frmIzlazIzUtakmice
Forma frmPotvrdaBrisanja pruţa korisniku mogućnost da potvrdi
brisanje elementa iz baze podataka.
Slika 14. – Pregled elemenata forme frmPotvrdaBrisanja
Projekat iz Informacionih Sistema Goran Panić,E9286
13
4. Klase programa
Spisak klasa programa moţe se videti u View Unit prozoru Borland
Builder-a, slika 15.
Slika 15. – Prikaz View Unit prozora
Projekat iz Informacionih Sistema Goran Panić,E9286
14
5. Bitni delovi koda
Klasa zadužena za konekciju na bazu
TSharedConnection.h TSharedConnection.cpp
TSharedConnection.h #ifndef TSharedConnectionH
#define TSharedConnectionH #include <ADODB.hpp> class TSharedConnection { protected: TADOConnection *conn;
TSharedConnection();
public: ~TSharedConnection();
static TSharedConnection* getInstance(); TADOConnection* getConnection();
}; #endif
TSharedConnection.cpp #pragma hdrstop #include "TGlavnaForma.h" #include "TSharedConnection.h" TSharedConnection::TSharedConnection()
{ if (conn == NULL) {
conn = new TADOConnection(NULL); //sledi konekcioni string conn->ConnectionString="Provider=SQLOLEDB.1;Password="+ GlavnaForma-> bazaLozinka+";Integrated Security=SSPI;Persist
Security Info=False; User ID= "+Glavna Forma->bazaIme+";Initial Catalog="+GlavnaForma->bazaBaza+";Workstation ID=SIN"; } } TSharedConnection* TSharedConnection::getInstance() {
static TSharedConnection instance; return &instance; } TSharedConnection::~TSharedConnection() { conn->Close(); delete conn; }
TADOConnection* TSharedConnection::getConnection() {
Projekat iz Informacionih Sistema Goran Panić,E9286
15
return conn; } #pragma package(smart_init)
Otvaranje konekcije i čitanje iz baze <SELECT> __________________________TLogovanje.h #include <ExtCtrls.hpp> #include <ADODB.hpp> … private: // User declarations
TADOCommand *command; TADODataSet *dataset; … _________________________TLogovanje.cpp #include "TSharedConnection.h" int TfrmLogovanje::PronadjIdKorisnika(AnsiString aImeKorisnika) {
int aIdKorisnika; try { dataset = new TADODataSet(this); dataset->Connection = TSharedConnection::getInstance()->getConnection(); dataset->CommandText = "SELECT * FROM Korisnik WHERE ImeKorisnika='" +aImeKorisnika+"' AND AktivanKorisnik=1" ; dataset->CommandType = cmdText; dataset->Open(); if(dataset->Fields->FieldByName("IdKorisnika")->AsString!="") { aIdKorisnika=StrToInt(dataset->Fields->FieldByName("IdKorisnika")-
>AsString); } else { aIdKorisnika=-1; } dataset->Close();
delete dataset; } catch(...) { ShowMessage("Greska prilikom isèitavanja podataka iz baze!"); }
return aIdKorisnika; }
Upis u bazu <INSERT> void TfrmLogovanje::DodajKorisnika() {
try {
Projekat iz Informacionih Sistema Goran Panić,E9286
16
int aSlobodanIdKorisnika = SlobodanIdKorisnika(); command=new TADOCommand(this); command->Connection=TSharedConnection::getInstance()->getConnection(); command->CommandText= "INSERT INTO Korisnik VALUES (:SLOBODANIDKORISNIKA,:IMEKORISNIKA,:LOZINKAKORISNIKA,2,1)"; command->CommandType=cmdText; command->Parameters->ParamByName("SLOBODANIDKORISNIKA")->Value = aSlobodanIdKorisnika; command->Parameters->ParamByName("IMEKORISNIKA")->Value =eImeKorisnika->Text;
command->Parameters->ParamByName("LOZINKAKORISNIKA")->Value =eLozinkaKorisnika->Text; command->Execute(); delete command; ShowMessage("Korisnik '"+eImeKorisnika->Text+ "' uspesno dodat!"); }
catch(...) { ShowMessage("Greska prilikom upisa podataka u bazu!"); } }
Izmena podataka u bazi <UPDATE> void TfrmLogovanje::IzmeniKorisnika() { try { command=new TADOCommand(this); command->Connection=TSharedConnection::getInstance()-
>getConnection(); command->CommandText="UPDATE Korisnik SET ImeKorisnika= :IMEKORISNIKA, LozinkaKorisnika= :LOZINKAKORISNIKA where IdKorisnika=:IDKORISNIKA"; command->CommandType=cmdText; command->Parameters->ParamByName("IMEKORISNIKA")->Value = eImeKorisnika->Text;
command->Parameters->ParamByName("LOZINKAKORISNIKA")->Value = eLozinkaKorisnika->Text; command->Parameters->ParamByName("IDKORISNIKA")->Value = PronadjIdKorisnika(GlavnaForma->lKorisnik->Caption); command->Execute(); delete command;
ShowMessage("Korisnik '"+eImeKorisnika->Text+ "' uspesno izmenjen!"); } catch(...) { ShowMessage("Greska prilikom modifikacije podataka u bazi!"); } }
Brisanje podataka iz baze – logičko <UPDATE>
Projekat iz Informacionih Sistema Goran Panić,E9286
17
void TfrmLogovanje::ObrisiKorisnika() { try { int aNivoPrivilegija = NivoPrivilegija(eImeKorisnika->Text); if(aNivoPrivilegija!=1) { command=new TADOCommand(this); command->Connection=TSharedConnection::getInstance()->getConnection(); command->CommandText="UPDATE Korisnik SET
AktivanKorisnik=0 WHERE IdKorisnika=:IDKORISNIKA"; command->CommandType=cmdText; command->Parameters->ParamByName("IDKORISNIKA")->Value = PronadjIdKorisnika(eImeKorisnika->Text); command->Execute(); delete command;
ShowMessage("Korisnik '"+eImeKorisnika->Text+ "' uspesno obrisan!"); } else { ShowMessage("Administratorska lozinka se ne moze brisati niti dodavati, moze se samo izmeniti!");
} } catch(...) { ShowMessage("Greska prilikom modifikacije podataka u bazi!"); } }
Brisanje podataka iz baze – fizičko <DELETE> void TfrmBazaPodataka::Delete() { try{ command=new TADOCommand(this); command->Connection=TSharedConnection::getInstance()->getConnection(); command->Connection->BeginTrans(); command->CommandType=cmdText;
command->CommandText= "DELETE FROM Zapisnik"; command->Execute(); ProgressBarBaza->Position=8; command->CommandText= "DELETE FROM Angazovan"; command->Execute(); ProgressBarBaza->Position=16; …
command->Connection->CommitTrans();
Projekat iz Informacionih Sistema Goran Panić,E9286
18
} catch(...) { … } }
Popunjavanje StringGrid - a … sgLista->ColCount = 5;
sgLista->RowCount = dataset->RecordCount + 1; int row = 1; sgLista->Cells[0][0] = "Pc Igraca"; sgLista->Cells[1][0] = "Ime"; sgLista->Cells[2][0] = "Prezime"; sgLista->Cells[3][0] = "Naziv Kluba"; sgLista->Cells[4][0] = "Datum Rodjenja";
while (!dataset->Eof) { sgLista->FixedRows=1; sgLista->Cells[0][row] = dataset->Fields->FieldByName("PcLica")->AsString; sgLista->Cells[1][row] = dataset->Fields->FieldByName("Ime")->AsString; sgLista->Cells[2][row] = dataset->Fields->FieldByName("Prezime")->AsString; sgLista->Cells[3][row] = dataset->Fields->FieldByName("NazivKluba")->AsString; sgLista->Cells[4][row] = dataset->Fields->FieldByName("DatumRodjenja")->AsString;
dataset->Next(); row++; } …
Transakcija
… command->Connection->BeginTrans(); command->CommandText= "INSERT INTO Lice VALUES (:PCLICA,:IME,:PREZIME,:DATUMRODJENJA,1)"; command->CommandType=cmdText; command->Parameters->ParamByName("IME")->Value = eImeIgraca->Text; command->Parameters->ParamByName("PREZIME")->Value = ePrezimeIgraca->Text; command->Parameters->ParamByName("DATUMRODJENJA")->Value = dtpDatumRodjenjaIgraca->Date; command->Parameters->ParamByName("PCLICA")->Value =
aSlobodanIdLica;
Projekat iz Informacionih Sistema Goran Panić,E9286
19
command->Execute(); command->CommandText="INSERT INTO Angazovan VALUES (:IDANGAZOVAN,:PCLICA,:PCKLUBA,'I')"; command->Parameters->ParamByName("IDANGAZOVAN")->Value = aSlobodanIdAngazovan; command->Parameters->ParamByName("PCLICA")->Value = aSlobodanIdLica; command->Parameters->ParamByName("PCKLUBA")->Value = PronadjiPcKluba(cbKlubIgraca->Text); command->Execute();
command->Connection->CommitTrans(); …
Help #include "HTMLHelp.h" …
private: // User declarations HWND m_hWindow; AnsiString m_asHelpFile; … __fastcall TGlavnaForma::TGlavnaForma(TComponent* Owner) : TForm(Owner) { … // initialize helpfile location -- m_asHelpFile is an AnsiString type private // member of the TForm1 class m_asHelpFile = ::ExtractFilePath(ParamStr(0)) + "Help\\KosarkaHelp.chm"; m_asHelpFile = ::ExpandFileName(m_asHelpFile);
// make sure the helpfile exists and display a message if not if (!FileExists(m_asHelpFile)) ShowMessage("Help file not found\n" + m_asHelpFile); …. } void __fastcall TGlavnaForma::FormClose(TObject *Sender,
TCloseAction &Action) { ::HtmlHelp(0, NULL, HH_CLOSE_ALL, 0); } void __fastcall TGlavnaForma::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift)
{ if (Key == VK_F1) { HWND H = this->Handle; m_hWindow = ::HtmlHelp(H, m_asHelpFile.c_str(), HH_HELP_CONTEXT, 21); } }
Projekat iz Informacionih Sistema Goran Panić,E9286
20
Pokretanje i obrada dijalog forme void __fastcall TGlavnaForma::bbIzlazClick(TObject *Sender) {
TfrmIzlazIzPrograma* instIzlazIzPrograma = new TfrmIzlazIzPrograma(this); if (instIzlazIzPrograma ->ShowModal() == mrYes) { Close(); } delete instIzlazIzPrograma; }
Popunjavanje status bara void __fastcall TGlavnaForma::eProjectDirMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { sbGlavnaForma->Panels->operator [](1)->Text="TEKUCI DIREKTORIJUM PROGRAMA"; }
Promena formata datuma void __fastcall TGlavnaForma::FormCreate(TObject *Sender)//data format { try{ DateSeparator='.'; ShortDateFormat="dd.mm.yy"; LongDateFormat="dd.mm.yy"; }
catch(...)
{ ShowMessage("Greska prilokom promene formata datuma");
} }
Učitavanje trenutnog direktorijuma
eProjectDir->Text=GetCurrentDir();
Učitavanje slike void TfrmKreiraj::PopuniSlikuIgraca(AnsiString aString) { iSlikaIgraca->Picture->LoadFromFile(aGetProjectDir+aString+".jpg"); }
Otvaranje dijaloga za izbor slike i snimanje odabrane slike void __fastcall TfrmKreiraj::iSlikaIgracaClick(TObject *Sender) { try{ if(OpenPictureDialog->Execute())
Projekat iz Informacionih Sistema Goran Panić,E9286
21
{ iSlikaIgraca->Picture->LoadFromFile(OpenPictureDialog->FileName); iSlikaIgraca->Picture->SaveToFile(aGetProjectDir+"\\Igraci\\"+ sgLista->Cells[0][sgLista->Row]+".jpg"); } } catch(...) { ShowMessage("Greska pri radu sa slikama!"); }
Projekat iz Informacionih Sistema Goran Panić,E9286
22
6. Izgled i naĉin korišćenja programa
U ovom delu će biti predstavljene funkcionalnosti programa
Košarkaška Statistika.
6.1 Glavna forma
GLAVNA FORMA – Izgled primarnog prozora aplikacije za vođenje
statistike na košerkaškim utakmicama.
PROZOR ZA LOGOVANJE – Aktivira se pri startu programa, omogućava
zaštitu programa od neovlašćenog pristupa
INFORMACIJE – Sadrţe ime logovanog korisnika, kao i tekući
direktorijum u kojem se izvršava program.
Projekat iz Informacionih Sistema Goran Panić,E9286
23
DUGME ZA PROMENU KORISNIKA – Odloguje postojećeg korisnika i
pokreće panel za logovanje novog korisnika.
STATUS BAR – Daje informacije o samom programu (Polje levo), kao i o
funkciji objekta na koji pokazuje kursor (Polje desno).
KREIRAJ – Otvara dijalog prozor Kreiraj, u kojem je moguće vršiti
dodavanje izmenu i brisanje podataka o Licima (igrači, treneri i sudije),
Ligama, Klubovima i Mestima.
PRIPREMA – Otvara dijalog prozor Priprema, u kojem se vrši izbor
klubova, igrača i sudija na utakmici, kao i unos osnovnih podataka
vezanih za samu utakmicu.
UTAKMICA – Otvara dijalog prozor Utakmica, u kojem će se vršiti
vođenje zapisnika za igrače na utakmici.
STATISTIKA – Otvara dijalog prozor Statistika, gde se korisniku nude
razne statističke informacije o igračima, klubovima i ligama.
Projekat iz Informacionih Sistema Goran Panić,E9286
24
LOGOVANJE – Otvara dijalog prozor Logoanje, koji korisniku omogućava dodavanje novih i brisanje postojećih korisnika, kao i izmenu svoje
lozinke.
PODACI – Otvara dijalog prozor Baza Podataka, u kojem korisnik moţe
sačuvati, uneti ili obrisati podatke iz Baze Podataka.
PODEŠAVANJA – Otvara dijalog prozor Podešavanja koji pruţa
mogućnost podešavanja osnovnih parametara konekcije, kao i boja
interfejsa samog programa.
POMOĆ – Otvara HTML HELP sistem.
O PROGRAMU – Otvara dijalog prozor O Programu, u kojem se mogu
pronaći informacije vezane za naziv i verziju programa, informacije o
autoru programa i informacije o naručiocu programa.
IZLAZ – Izlaz iz programa
Projekat iz Informacionih Sistema Goran Panić,E9286
25
6.2 Prozor priprema
PANEL ZA UNOS OSNOVNIH PODATAKA NA UTAKMICI – Sluţi za
unos osnovnih podataka o utakmici.
IZBOR TIPA UTAKMICE - Klikom na neku od slika vrši se odabir tipa
utkmice. Od tipa utakmice zavisi prikaz polja koja se nude korisniku radi
popunjavanja.
ODABIR KLUBOVA – Dvoklikom na klub u tabeli, vrši se odabir kluba za utakmicu. Klub se dodaje na prvo slobodno polje u prikazu ispod. U
Projekat iz Informacionih Sistema Goran Panić,E9286
26
slučaju greške dovoljno je čekirati klub koji je pogrešno unet i odabrati
novi klub u tabeli iznad.
PANEL ZA IZBOR IGRAĈA – Sastoji se iz tabele svih igrača kluba (Svi
Igrači), polja za unos broja dresa igrača (Broj Dresa) i tabele igača koji će
igrati na utakmici (Izabrani Igrači). Prebacivanje elemenata iz jedne tabele u drugu vrši se dvoklikom na zadati element, pozivanjem Popup
Menija ili jednostavnim prevlačenjem elemenata.
POLJE ZA UNOS BROJA DRESA – Generiše se automatsi po selekciji
igrača u tabeli Svih Igrača, ukoliko je čekirano polje “Uobičajni Broj”. Ukoliko nije čekirano korisniku se ostavlja mogućnost da sam unese broj
dresa. Ako igrač nastupa prvi put, broj nije moguće generisati, pa se
dodeljuje broj nula.
Projekat iz Informacionih Sistema Goran Panić,E9286
27
Isti panel će biti otvoren za drugi tim, klikom na .
PANEL ZA IZBOR SUDIJE – Sastoji se iz tabele svih sudija (Sve Sudije) i
tabele sudija koji će suditi na utakmici (Izabrane Sudije). Prebacivanje
elemenata iz jedne tabele u drugu vrši se dvoklikom na zadati element,
pozivanjem Popup Menija ili jednostavnim prevlačenjem elemenata.
POPUP MENI – Otvara se desnim klikom miša na polje u tabeli, a iz
njega se moţe pozvati funkcija premeštanja elementa iz jedne tabele u
drugu.
NAZAD – Dugme za povratak na prethodni dijalog.
DALJE – Dugme za nastavak dijaloga.
Projekat iz Informacionih Sistema Goran Panić,E9286
28
UTAKMICA – Dugme za otvaranje prozora Utakmica, za trenutno
kreiranu utakmicu.
IZLAZ – Dugme za izlaz iz dijaloga.
6.3 Prozor kreiraj
PROZOR KREIRAJ – Omogućava dodavanje izmenu i brisanje podataka o
Licima, Ligama, Klubovima i Mestima.
MODOVI KREIRANJA – Nalazi se u zaglavlju Diajalog Prozora Kreiraj. Sluţi za izmenu moda kreiranja. U zavisnosti od selektovanog moda vrši
se prikaz ostatka prozora.
MOD IGRAĈ – Sluţi za manipulisaje podacima o igračima
Projekat iz Informacionih Sistema Goran Panić,E9286
29
MOD TRENER – Sluţi za manipulisaje podacima o trenerima
MOD SUDIJA – Sluţi za manipulisaje podacima o sudijama
MOD LIGA – Sluţi za manipulisaje podacima o ligama
MOD KLUB – Sluţi za manipulisaje podacima o klubovima
MOD MESTO – Sluţi za manipulisaje podacima o mestima
Projekat iz Informacionih Sistema Goran Panić,E9286
30
IZMENLJIVA TABELA SA PRETRAGAMA – Izgled i funkcionalnost se
generišu po izboru moda kreiranja. Selekcija se vrši levim klikom miša.
POPUP MENI - Denim klikom miša, moguće je pozvati popup meni i
pokrenuti izvršenje neke od funkcija menija.
PRETRAGE – Unosom teksta u neko od edit polja, vrši se osveţavanje
tabele, prikazom elemenata koji zadovoljavaju zadati uslov. Osveţavanje
se vrši za svaki uneti znak.
PROGRES BAR – Obaveštava korisnika o napretku operacije koja se
izvršava.
Projekat iz Informacionih Sistema Goran Panić,E9286
31
PRIKAZ INFORMACIJA – Prikaz zavisi od aktivnog moda. Vrši se
popunjavanje u odnosu na selektovanu stavku iz tabele. Moguće je
modifikovati ponuđena polja.
Klikom na sliku otvara se dijalog prozor za izbor nove slike.
IZBOR SLIKE – Izaberite sliku i potvrdite na Open ili dvoklikom na
ikonicu. Prozor se zatvara, a slika će automatski biti učitana u sam
program.
DUGME DODAJ – Dugme za kreiranje novog elementa u tabeli
elemenata.
DUGME IZMENI – Dugme za izmenu postojećeg selektovanog elementa
u tabeli elemenata.
Projekat iz Informacionih Sistema Goran Panić,E9286
32
DUGME OBRIŠI – Dugme za brisanje elementa selektovanog u tabeli
elemenata.
DUGME POMOĆ – Pruţa pomoć korisniku.
DUGME IZLAZ - Dugme za izlaz iz dijaloga.
6.4 Prozor utakmica
PROZOR ZA VOĐENJE ZAPISNIKA NA UTAKMICI – Sastoji se iz
grupe tabela sa leve i desne strane, koje predstavljaju igrače i trenere iz
dva kluba. Zaglavlje daje osnovne informacije o samoj utakmici. Centralni deo daje pregled informacija koje opisuju selektovanog igrača iz neke od
tabela. Centralni deo dole prikazuje informacije vezane za vreme na
utakmici kao i funkcije za rukovanje vremenom.
Projekat iz Informacionih Sistema Goran Panić,E9286
33
ZAGLAVLJE LEVO – Prikazuje id utakmice, tip utakmice, kao i specifične
parameter za određeni tip utakmice.
ZAGLAVLJE CENTAR – Prikazuje imena klubova, njihove grbove i
trenutni rezultat.
ZAGLAVLJE DESNO – Prikazuje imena sudija koji vode utakmicu.
TABELA TEREN – Spisak igrača sa parametrima koji se trenutno nalaze
na terenu.
TABELA KLUPA– Spisak igrača sa parametrima koji se trenutno nalaze
na klupi.
Projekat iz Informacionih Sistema Goran Panić,E9286
34
TABELA TRENER – Spisak trenera koji vode klub.
INFORMACIJE O IGRAĈU - Prikazuje osnovne informacije o
selektovanom igraču, ime, prezime, klub, slika…
PRIKAZ I MANIPULACIJA POENIMA – Nudi funkcije za dodavanje
ili oduzimanje poena selektovanom igraču. Poeni su razvrstani po
tipovima poena.
Tasteri za dodavanje sadrţe podvučene brojeve , koji predstavljaju
prečice na tastaturi kojima se mogu aktivirati funkcije koje opisuju.
PRIKAZ I MANIPULACIJA PREKRŠAJIMA – Nudi funkcije za dodavanje
ili oduzimanje prekršaja selektovanog igrača. Prekršaji su
razvrstani po tipovima prekršaja.
Projekat iz Informacionih Sistema Goran Panić,E9286
35
Tasteri za dodavanje sadrţe podvučene slova , koja predstavljaju
prečice na tastaturi kojima se mogu aktivirati funkcije koje opisuju.
PRIKAZ MINUTAŢE – Prikazuje vreme koje je selektovani igrač proveo
na terenu.
PANEL SEMAFOR - Prikazuje informacije vezane za vreme na utakmici i
nudi funkcije za rukovanje vremenom.
DUGME KRENI – Pokreće odbrojavanje semafora.
DUGME PAUZA – Zaustavlja odbrojavanje semafora.
PRIKAZ VREMENA – Prikazuje preostalo vreme na utakmici (gore),
preostalo vreme četvrtine (dole) i daje informaciju o četvrtini koja je u
toku. Vreme se automatski zaustavlja na kraju svake četvrtine, a postoji
mogućnost produţetka sa bonus vremenom.
DUGME POMOĆ – Pruţa pomoć korisniku, pozicionirajući se na deo helpa
koji opisuje utakmicu.
DUGME PREKID – Zaustavlja vreme u slučaju prekida i izlazlazi iz
prozora Utakmica.
Projekat iz Informacionih Sistema Goran Panić,E9286
36
6.5 Prozor statistika
PROZOR STATISTIKA – Omogućava pregled statističkih podataka, po
raznim kriterijumima.
MODOVI SELEKCIJE – Klikom na odgovarajuće polje vrši se selektovanje
moda za statistički prikaz, od čega zavisi izgled ostatka prozora.
MOD KLUBOVI – Sluţi za prikaz klubova, sa igrača po klubovima,
uklučujući njihovu statistiku.
Projekat iz Informacionih Sistema Goran Panić,E9286
37
MOD LIGE – Sluţi za prikaz liga, sa klubovima koji igraju u određenim
ligama.
MOD UTAKMICE – Sluţi za prikaz utakmica, sa igačima koji su
učestvovali na pomenutim utakmicama.
MOD UĈINAK – Sluţi za prikaz utakmica, sa odnosom faula i slobodnih
bacanja na pomenutim utakmicama.
TABELA SELEKCIJE GORE – Odgovara aktivnom modu. Prikazuje sve
elemente koji zadovoljavaju uslove pretrage ukoliko postoji.
Projekat iz Informacionih Sistema Goran Panić,E9286
38
PANEL PRETRAGE – Suţava izbor elemenata u Gornjoj Tabeli Selekcije,
na elemente čiji odgovarajući parametri odgovaraju vrednostima unesenim u polja pretrage. Osveţavanje se vrši posle svakog unetog
znaka.
TABELA SELEKCIJA DOLE – Odgovara aktivnom modu. Prikazuje sve
elemente koji zadovoljavaju selektovani element iz Gornje Tabele
Selekcije.
DUGME POMOĆ – Pruţa pomoć korisniku.
DUGME IZLAZ – Izlazi iz prozora Statistika.
6.6 Prozor logovanje
PROZOR LOGOVANJE – Omogućava unos novog korisnika, izmenu
lozinke aktivnom korisniku i brisanje korisnika.
Projekat iz Informacionih Sistema Goran Panić,E9286
39
POLJA ZA UNOS TEKSTA – Sadrţi polje za unos imena korisnika i polje
za unos lozinke korisnika.
DUGME DODAJ – Vrši dodavanje novog korisnika NIŢEG PRIORITETA,
čije će ime i lozinka odgovarati vrednostima u poljima za unos teksta.
DUGME IZMENI – Vrši izmenu lozinke trenutno aktivnog korisnika. Nova
vrednost postaje vrednost upisana u polju Lozinka.
DUGME OBRIŠI – Vrši brisanje korisnika čije ime i lozinka odgovaraju
vrednostima u poljima za unos teksta. Brisanje mogu vrešiti samo
korisnici sa NAJVIŠIM PRIORITETOM.
DUGME POMOĆ – Pruţa pomoć korisniku.
DUGME IZLAZ – Izlazi iz prozora Logovanje.
6.7 Prozor baza podataka
PROZOR BAZA PODATAKA – Omogućava manipulaciju nad podacima u
bazi podataka.
Projekat iz Informacionih Sistema Goran Panić,E9286
40
DUGME IZVOZ PODATAKA – Generiše SQL SKRIPT koji predstavlja
BACKUP svih podataka iz Baze Podataka, vezanih za ovaj program. Ovim
je omogućeno nesmetano prenošenje podataka na druge računare.
DUGME UVOZ PODATAKA – Učitava ranije generisan SQL SKRIPT koji
predstavlja BACKUP Baze Podataka ovog programa.
DUGME BRISANJE PODATAKA – Vrši brisanje svih podataka iz Baze
Podataka, ovog programa.
PROGRES BAR – Pruţa korisniku vizuelnu informaciju o napredovanju
izvršenja operacije.
DUGME POMOĆ – Pruţa pomoć korisniku.
Projekat iz Informacionih Sistema Goran Panić,E9286
41
DUGME IZLAZ – Izlazi iz prozora Baza Podataka.
6.8 Prozor podešavanja
PROZOR PODEŠAVANJA – Pruţa mogućnost izmene konekcije na bazi,
promene boje interfejsa…
POLJA ZA PODEŠAVANJE BOJE PROGRAMA – Omogućava
podešavanje boje pozadina, kao i boja dva nivoa panela.
POLJA ZA PODEŠAVANJE KONEKCIJE – Omogućava podešavnje imena
korisnika, lozinke korisnika i naziva baze.
Projekat iz Informacionih Sistema Goran Panić,E9286
42
DUGME POMOĆ – Pruţa pomoć korisniku.
DUGME PONIŠTI – Izmen neće biti prihvaćene.
DUGME SAĈUVAJ – Izmene će biti prihvaćene.
6.9 Prozor o programu
PROZOR O PROGRAMU – Daje osnovne informacije o programu, autoru,
kao i naručiocima programa.
Projekat iz Informacionih Sistema Goran Panić,E9286
43
7. Izgled i naĉin korišćenja HTML Helpa
Help je urađen u HTML formatu, a za njegovu izradu je korišćen
Free RoboPDF Trial. Daje osnovne informacije o programu i načinu
korišćenja. Help je kontekst senzitivan, a poziva se pritiskon na taster F1
ili na odgovarajuće dugme u programu.
Slika 16. – Košarkaška Statistika Help v2.0
Omogućena je pretraga po stranama helpa klikom na element u
prozoru Contents, stablo u levom delu prozora. Pretraga se moţe još vršiti po indeksima (tab Index) i ključnim rečima (tab Search), odabirom
ţeljenog taba u prozoru za navigaciju.
Projekat iz Informacionih Sistema Goran Panić,E9286
44
Slika 17. – Prozor za pretragu po indeksima (slika levo) i prozor za
pretragu po ključnim rečima (slika desno)
Projekat iz Informacionih Sistema Goran Panić,E9286
45
8. Zakljuĉak
Program omogućava vođenje statistike na košarkaškim
utakmicama, njihov statistički pregled i manipulaciju svim potrebnim podacima.
Radi pod Microsoft Windows operativnim sistemima i koristi Microsoft SQL Server bazu podataka, za rad sa podacima.
U njegovoj izradi poštovana su pravila FIBE (FIBA, SLUŽBENA PRAVILA IGRE 2004, Centralni Bord FIBA, Pariz, Francuska, Jun 2004, u
primeni od 01.09.2004.), tako da se on moţe koristiti na svim
košarkaškim utakmicama koja se igraju po FIBI-nim pravilima.
Autor se trudio da program maksimalno prilagodi korisniku, zbog toga je ponuđeno nekoliko načina za izvršenje istih operacija. Početnicima
je omogućeno lako savladavanje funkcionalnosti programa, a iskusnijim korisnicima, se nudi mogućnost korišćenja prečica na tastaturi.
Prilagođen je korisnicima sa Srpskog govornog područja, što olakšava upotrebu, ali ograničava broj potencijalnih korisnika.
Podrţan je rad sa slikama, tako da korisnik neće imati problema oko identifikovanja igrača na terenu.
Omogućava lak i nesmetan prenos podataka sa računara na računar
kao i njihovo čuvanje (u vidu SQL skripta za generisanje identične baze, koji se moţe koristiti nezavisno od samog programa), za slučaj gubitka
istih.
Sadrţi pregledno napisan HTML Help, u kojem su opisane sve funkcionalnosti programa sa slikama i primerima korišćenja programa.
Program je testiran od strane više korisnika, a pokazao je besprekornu stabilnost u normalnim uslovima rada, kao i sasvim solidnu mogućnost restauracije podataka u namerno izazvanim problematičnim
situacijama.
Projekat iz Informacionih Sistema Goran Panić,E9286
46
9. Literatura
[1] Primeri programa urađenih u Borland C++ Builder-u 6.
[2] FIBA, Sluţbena pravila igre 2004, Centralni Bord FIBA, Pariz,
Francuska, Jun 2004, u primeni od 01.09.2004.