lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

3. Specifikation av mjukvaran för systemet

Det främsta målet med projektet är att utveckla programvara för systemdatorn. Programvaran omfattar funktionalitet för att lagra information om cykelägare och cyklar och ett användargränssnitt. Programmet ska skrivas i Java, och användargränssnittet bör vara grafisk, baserat på t.ex. Java Swing-komponenter. 

Avsikten är att du bör utveckla ett "riktigt program". Det innebär att även om det inte har alla funktioner du kan tänka dig, bör det vara möjligt att använda i en verklig miljö. Till exempel får uppgifter inte förloras om du avslutar programmet och startar det igen. 

I detta projekt ska du inte bara utveckla den körbara programvaran, utan även relaterade dokument som till exempel kravspecifikation, testplan och en manual för systemstart. Exakt vilka dokument som ska levereras beskrivs i avsnitt 6. 

 Programvara bör innehålla en klass med namnet BicycleGarageManager, som bör omfatta de metoder som anges i figur 3.1. Du kan lägga till fler metoder för klassen, men de metoderna som beskrivs i figur 3.1 måste implementeras eftersom de kommer att användas av huvudprogrammet och av drivrutiner för hårdvaran. 

/* Register hardware so that BicycleGarageManager
 * knows which drivers to access. 
 */
public void registerHardwareDrivers(BarcodePrinter printer,
     ElectronicLock entryLock, ElectronicLock exitLock,
     PinCodeTerminal terminal);

/* Will be called when a user has used the bar code
 * reader at the entry door. Bicycle ID should be a
 * string of 5 characters, where every character
 * can be '0', '1',... '9'. */
public void entryBarcode(String bicycleID);

/* Will be called when a user has used the bar code
 * reader at the exit door. Bicycle ID should be a
 * string of 5 characters, where every
 * character can be '0', '1',... '9'. */
public void exitBarcode(String bicycleID);

/* Will be called when a user has pressed a key at the
 * keypad at the entry door. The following characters could be
 * pressed: '0', '1',... '9', '*', '#'. */
public void entryCharacter(char c);

Figur 3.1: Obligatoriska metoder i klassen BicycleGarageManager.