29.07.2013 Views

Master of Science thesis Fighting Spam

Master of Science thesis Fighting Spam

Master of Science thesis Fighting Spam

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

- MainFrame Hovedvinduet med faneblade til funktionerne<br />

o ConfigurationPanel Konfiguration af serveradresser<br />

o DepositPanel Indløsning af e-mønter<br />

o WihtdrawPanel Hævning af e-mønter<br />

o <strong>Spam</strong>Panel<br />

Indkassering af <strong>Spam</strong>Cash<br />

o WhitelistPanel Redigering af whitelisten<br />

- RegistrationFrame Her kan indtastes oprettelsesinformation og registrering startes<br />

- ErrorDialog Dialogboks til at vise fejl- og informationsbeskeder<br />

- OpenSafeDialog Dialogboks hvor brugeren kan intaste password og sti til nøglefil<br />

- FormPanel Indeholder en række felter der kan udfyldes<br />

- AmountPanel Indeholder felt til at indtaste og/eller justere beløb vha. +/- knapper<br />

- ImageButton En knap der benytter GIF-billeder som baggrund.<br />

- ProgressWindow Et status-vindue, der vises i nederste højre hjørne af skærmen<br />

- SplashScreen Opstartsvindue<br />

- Definitions Indeholder definitioner af komponenters farver, fonte og position.<br />

Det skal bemærkes, at (stort set alle) klasserne i GUI en er navngivet sådan at sidste del<br />

af navnet fortæller komponentens type. Dette giver bedre overblik, idet klasser bedre kan<br />

sammenkædes med grafisk opførsel. Vi vil ikke komme nærmere ind på detaljerne<br />

omkring alle klasserne, da de fleste har rent grafiske formål. Klassernes fremtræden kan<br />

ses i brugsvejledningen i Appendiks B, hvor det visuelle indtryk af programmet også kan<br />

bedømmes. Derudover opfordres læseren til at køre programmet (evt. også serverne) for<br />

selv at vurdere brugervenligheden og brugbarheden af den grafiske brugergrænseflade.<br />

Klassen Definitions spiller en speciel rolle i GUI en. Denne klasse definerer alle farver<br />

og fonte i systemet. Dermed kan programmets udseende ændres fuldstændig på få<br />

minutter. Udbygges denne klasse en smule, vil programmet have en decideret skin -<br />

funktion, som det kendes fra mange andre programmer.<br />

7.3.7 Log<br />

I implementationen er indbygget en log-funktion i form af klassen Debugger i pakken<br />

Utilities. Ingen andre klasser i systemet udskriver information til skærmen. Til gengæld<br />

giver alle øvrige klasser beskeder omkring fejl og information om programmets<br />

fremskridt til Debugger, der derefter kan udskrive informationen, hvis det ønskes.<br />

Beskeder om fejl fra klasserne gives til Debugger ved at kalde nedenstående metode, hvor<br />

det kun er de første tre parametre, der er obligatoriske:<br />

Debugger.debug(Class class, int level, String message, Throwable e)<br />

Tallet level angiver beskedens detaljegrad. Er det en besked, der fortæller om store<br />

tilstandsændringer i programmet, er level (niveauet) sat til 1. Er det derimod meget<br />

detaljeret information, f.eks. vedrørende en løkkes fremskridt, sættes niveauet til 3. I<br />

Debugger findes en tabel med tupler på formen (pakke/klasse, niveau), hvor det kan<br />

angives hvilket informationsniveau, der ønskes for pakker og klasser. Her har angivelse<br />

af klassers informationsniveau højeste prioritet. Indtastes f.eks. et element med indholdet<br />

(Client, 3), vil alle beskeder fra alle klasser i pakken Client med niveau 1, 2 og 3 blive<br />

118

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!