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

Košarkaška Statistika

Embed Size (px)

DESCRIPTION

Košarkaška statistika - Goran Panić

Citation preview

Page 1: Košarkaška Statistika

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.

Page 2: Košarkaška Statistika

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

Page 3: Košarkaška Statistika

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

Page 4: Košarkaška Statistika

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

Page 5: Košarkaška Statistika

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

Page 6: Košarkaška Statistika

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.

Page 7: Košarkaška Statistika

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

Page 8: Košarkaška Statistika

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.

Page 9: Košarkaška Statistika

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.

Page 10: Košarkaška Statistika

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.

Page 11: Košarkaška Statistika

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.

Page 12: Košarkaška Statistika

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

Page 13: Košarkaška Statistika

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

Page 14: Košarkaška Statistika

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() {

Page 15: Košarkaška Statistika

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 {

Page 16: Košarkaška Statistika

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>

Page 17: Košarkaška Statistika

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();

Page 18: Košarkaška Statistika

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;

Page 19: Košarkaška Statistika

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); } }

Page 20: Košarkaška Statistika

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

Page 21: Košarkaška Statistika

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!"); }

Page 22: Košarkaška Statistika

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.

Page 23: Košarkaška Statistika

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.

Page 24: Košarkaška Statistika

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

Page 25: Košarkaška Statistika

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

Page 26: Košarkaška Statistika

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.

Page 27: Košarkaška Statistika

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.

Page 28: Košarkaška Statistika

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

Page 29: Košarkaška Statistika

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

Page 30: Košarkaška Statistika

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.

Page 31: Košarkaška Statistika

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.

Page 32: Košarkaška Statistika

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.

Page 33: Košarkaška Statistika

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.

Page 34: Košarkaška Statistika

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.

Page 35: Košarkaška Statistika

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.

Page 36: Košarkaška Statistika

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.

Page 37: Košarkaška Statistika

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.

Page 38: Košarkaška Statistika

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.

Page 39: Košarkaška Statistika

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.

Page 40: Košarkaška Statistika

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.

Page 41: Košarkaška Statistika

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.

Page 42: Košarkaška Statistika

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.

Page 43: Košarkaška Statistika

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.

Page 44: Košarkaška Statistika

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)

Page 45: Košarkaška Statistika

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.

Page 46: Košarkaška Statistika

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.