Marjan Seljak
predmet: RPK
mentor:Leon Kos
datum:19.8.1998

Opis delovanje programa
Opis kode programa
Sklep

Abstract

This program is designed for analysis of LECAD lab entrance. We have a file "userinfo" which contains all data of entrances and leavings of lab workers with the key. The program is written in Java language as applet. Because of some file restrictions of Java language, this program has access to file only if the file is located on the same server as the program. When the program is started in the Netscape, the name of input file with the path has to be given. Then we have to choose the months to include in reading the file. After that we choose the "Run" from menu. When In the "Java Console" window "Ok" is printed, we can find the printed barchart with choosing the "Izris" option from menu. The chart presents us all the key owners with their entrance numbers. seminar:

STATISTIKA PRIHODOV V LECAD


Opis delovanja programa


Program je napisan v programskem jeziku Java zato ga posredno pozenemo z datoteko seminar.html. Zaradi varnostnih omejitev v internetu, lahko uspesno uporabljamo program le na serverju,s katerega je program poslan na internet.Program lahko pozenemo preko interneta tudi s kakim drugim racunalnikom, vendar nimamo dostopa do datoteke s podatki.Program pozenemo, ce v Netscap-u podamo pot do datoteke seminar.html. Ko datoteka seminar.html pozene applet, se na ekranu prikaze applet, na katerem sta dva gumba. Obvestilo nam veli, da odpremo okno "Java Console", ki se nahaja v Netscape-ovem menuju "Window". V to okno se izpisujejo obvestila o izvajanju programa. Ko to storimo, lahko z gumbom "Odpri menu" odpremo glavni menu. Odpre se novo okno "Osnovni menu",ki ima dve moznosti: "Datoteka" in "Analiza". Ce kliknemo opcijo "Datoteka", se nam odpreta dve mozni izbiri:"Podaj ime datoteke " in "Konec". Izberemo "Podaj ime datoteke", nakar se nam odpre interaktivno okno,kamor vtipkamo URL. V vnosnem polju je ze privzeta pot z datoteko, ki jo lahko potrdimo oziroma spremenimo. Program poisce datoteko "userinfo" in ce jo uspesno odpre, se okno zapre. Nato v osnovnem menuju izberemo opcijo "Analiza vstopajocih". Odpre se nam novo okno "Analiza vstopajocih", ki ima v menuju dve moznosti: Analiza" in "Prikaz".V menuju "Analiza" najprej izberemo opcijo "Izberi mesec(e)". Odpre se nam okno, kjer izberemo mesece, za katere nas zanima statistika vstopov v LECAD. Ko izberemo zeljene mesece, potrdimo z gumbom "Ok". Zatem izberemo opcijo "Run", da program pregleda datoteko "userinfo". V oknu "Java Console", ki smo ga odprli na zacetku, vidimo, kdaj program konca s pregledovanjem datoteke. To se zgodi, ko v okno izpise "Ok". Sedaj lahko pogledamo diagram vstopov za vse osebe (lastnike kljucev), ki jih program najde v datoteki.Izberemo opcijo "Izris". Ce nas zanima statistika vstopov se za druge mesece, enostavno izberemo druge mesece in ponovno izberemo "Run".
nazaj na vrh

Koda programa

Celoten program je sestavljen iz sestih razredov, ki se nahajajo vsak v svoji datoteki. Imena razredov (class-ov) so enaka imenom datotek s koncnico java in so:Vrata, Menig, IskanjeVira, NastavitevStikal, AnalizaVstopajocih in Izris. Glavni razred se imenuje "Vrata" in je podrazred razreda "Applet".Ta razred poklice datoteka seminar.html ter tako pozene program kot applet. V razredu "Vrata" sta dodana gumba "Odpri menu" in "Zapri menu". Ce kliknemo gumb "Odpri menu", poklicemo konstruktor razreda "Menig". Razred "Menig" je podrazred razreda "Frame". Ker je "Frame" podrazred razreda "window", se odpre novo okno. V razredu "Menig" je dodan glavni menu z opcijama "Datoteka" in "Analiza" in podopcijami. Ce izberemo podopcijo "Podaj ime datoteke" opcije "Datoteka", se v razredu "Menig" klice konstruktor razreda "IskanjeVira".Ce izberemo podopcijo "Konec" se okno z glavnim menujem zapre.V primeru da je izbrana podopcija "Analiza vstopajocih", klicemo konstruktor razreda "AnalizaVstopajocih". V razredu "IskanjeVira", ki je tudi podrazred razreda "Frame", se odpre novo okno, v katerem je dodano vnosno polje, v katerega vnesemo ime datoteke z ustrezno potjo. program sam poisce ime serverja. V spremenljivki tipa String "urlPot" program sesteje prebrano pot iz vnosnega polja ter dobljeno ime serverja v celoten URL. S tem URL-jem program poskusa odpreti vhodni tok, preko katerega bere datoteko npr. "userinfo". Ce program uspesno odpre vhodni tok, se okno z vnosnim poljem zapre. Razred "AnalizaVstopajocih" je tudi podrazred razreda "Frame", ki odpre novo okno. V tem oknu je dodan menu z opcijama "Analiza" in "Prikaz". Ce izberemo podopcijo "Izberi mesec(e)" v menuju "Analiza", klicemo konstruktor razreda "NastavitevStikal", kjer se definira staticno polje mesec[ ], v katerega se shranijo izbrani meseci. To polje potem uporabi razred "AnalizaVstopajocih". Ko izberemo podopcijo "Run", poklicemo funkcijo branjeVira(), kjer se izvaja glavni del programa. V tej funkciji program skozi preverjeni vhodni tok (imputstream) bere datoteko "userinfo" po vrsticah. Vsako prebrano vrstico razdeli na posamezne dele (Tokens), kjer prepozna: mesec, ime,kodo, vhod/izhod. Imena nato shranjuje v vektor "ime".Funkcija uporablja tri polja, v katera se shranjujejo: ime, koda, stevilo vstopov. V vektorju "ime" in razlicnih poljih so na mestu istega indeksa kot je v vektorju imen, vrednosti ki pripadajo temu imenu. Ce program med izvajanjem v datoteki naleti na novo ime, ga doda na konec vektorja. Vsak vstop pristeje vstopom na ustreznem mestu v polju vstopov. Na koncu izvajanja funkcija prepise imena iz vektorja v polje.Ta polja sluzijo kot argumenti pri klicanju razreda "Izris". Ko izberemo podopcijo "Izris" v menuju "Prikaz", poklicemo konstuktor razreda "Izris". Konstruktor razreda "Izris" ima tri argumente, preko katerih dobi podatke: imen, kod kljucev in stevila vstopov, ki pripadajo vsakemu imenu. Kode kljucev sicer prenese v razred "Izris", vendar jih ne izpise v grafu. Razred "Izris" izrise stolpicni (bar) diagram. Stolpci so pobarvani pravokotniki konstantne debeline, visina pa se spreminja glede na vrednost vstopov, ki jih prebere v polju. Zaradi boljse locljivosti se barva stolpcev se izmenicno spreminja.Na stolpce program izpise ime lastnika kljuca ter stevilo vstopov v izbranih mesecih.
nazaj na vrh

Sklep

Pri seminarju sem se spoprijel z novim programskim jezikom Javo. Na zacetku sem se moral privaditi objektno orientiranemu programiranju.Zato mi je seminar vzel nekoliko vec casa, kot sem sprva pricakoval. Sam program bi lahko napisal tudi v kakem drugem jeziku npr. C-ju. Po zacetnih tezavah sem se lotil samega problema. Med samim programiranjem sem se tudi ucil novega jezika, zato sem uporabil veliko objektov, ki niso bili nujno potrebni (okna, menuje,stikala). Ce bi se sedaj lotil problema, bi najbrz vse veliko bolj poenostavil.
nazaj na vrh
Izvajanje programa Analiza vstopov