Kravspecifikation Stefan Johansson D08 (dt08sj7@student.lth.se) Grupp 15 1 april 2009
Innehåll 1 Ändringshistorik 2 2 Introduktion 2 2.1 Syfte.................................. 2 2.2 Omfattning.............................. 2 2.3 Upplägg................................ 2 3 Produktbeskrivning 2 4 Krav 3 4.1 Gränssnitt............................... 3 4.2 Användarscenarion.......................... 3 4.3 Funktionella krav........................... 5 4.4 Icke-funktionella krav........................ 6 4.5 ER-Diagram.............................. 6 1
1 Ändringshistorik Ver Date Förf. Förklaring 0.1 090330 JA Första utdrag Referenser [1] Project and Exercises in the Software Engineering Process, Software Engineering Research Group Department of Computer Science Lund University 2 Introduktion 2.1 Syfte Detta dokument beskriver hur cykelgaragesystemet är tänkt att fungera samt de krav som detta innefattar. Dokumentet är främst till för att underlätta utvecklingen samt att kundrepresentanter ska få en överblick över hur det färdiga systemet kommer att se ut, och för att kunden ska ha en möjlighet till synpunkter och ändringar. 2.2 Omfattning Denna specifikation syftar bara till att förklara hur mjukvaran kommer att fungera. Avläsning av streckkod och pinkod sköts av hårdvara. Streckkodsutskrift och dörröppningar tas även det hand om av hårdvara, detta kommer att kontrolleras genom fördefinierade gränssnitt. Produkten som ska utvecklas är ett kontrollsystem till ett cykelgarage i vilket man kan förvara cyklar säkert. Detta ska ske genom ett system med pinkodsskyddade dörrar och streckkoder för att identifiera cyklar. 2.3 Upplägg Strukturen till kravspecifikationen är baserad på riktlinjer ställda i ref[1]. I sektion 3 i denna specifikation finns en kortfattad beskrivning av produkten och i sektion 4 är kraven listade i form av användarscenarion och text. Alla krav har ett unikt id-nummer. 3 Produktbeskrivning Systemets struktur är beskriven i figur 2.3. Streckkodsavläsare och skrivare, pinkodsterminal och låsmekanism är implementerade i hårdvara. Kärnan av systemet är mjukvaruimplementerad. Mjukvaran kommer att vara sammankopplade med följande enheter: Pinkodsterminal: Används för att öppna dörren in till cykelgaraget utan streckkod. Streckkodsavläsare: Läser av streckkod på en registrerad cykel vid ingång. En avläsare av samma typ används även vid utgång. 2
Figur 1: Cykelgaraget Låsmekanism: Elektronisk låsningsmekanism som används för att hålla utomstående ute. Streckkodsskrivare: Skriver ut streckkoder lämpade att sätta på en cykel. Operatörsgränssnitt: Används för att kontrollera systemet, d.v.s. registrera och avregistrera användare o.dyl. Följande signaler skickas till mjukvaran: Pinkod från pinkodsterminal. Streckkod från streckkodsavläsare. 4 Krav 4.1 Gränssnitt Krav 1. Systemet ska implementera de gränssnitt uppritade i figur 4 4.2 Användarscenarion Fall 1. Inlämning: Förutsättning: Cykeln har en streckkod. 1. Användaren läser in streckkod med hjälp av streckkodsläsare vid huvudingången. 3
Figur 2: In och utdata till kontrollsystemet 2. Dörren låses upp och användaren går in och låser fast sin cykel. 3. Användaren går ut genom en obevakad dörr. Undantagsfall: 1. Garaget är fullt. Användaren kommer inte in i garaget med cykeln utan får gå någon annanstans. 2. Streckkoden är oläsbar. Användaren kommer inte in utan får kontakta operatören för att få ny en streckkod. Fall 2. Oregistrerad användare: 1. Användaren kontaktar operatören. 2. Operatören registrerar efter identitetskontroll användaren med hjälp av kontrollsystemet. 3. Användaren får en pinkod och en streckkod som skrivs ut med streckkodsskrivaren. Undantagsfall: 4
1. Garaget har nått sin maxkapacitet. Användaren får söka sig någon annanstans. Fall 3. Uthämtning Förutsättning: Cykeln har en streckkod. 1. En registrerad användare kommer för att hämta sin cykel. 2. Användaren slår in sin pinkod, kommer in och låser upp sin cykel. 3. Användaren läser av streckkoden på cykeln vid utgången och går ut dörr. Undantagsfall: 1. Användaren har glömt sin pinkod. Personen i fråga får kontakta operatören och identifiera sig för ny pinkod. 2. Användaren tar längre tid på sig än det förbestämda tidsintervallet för att läsa av streckkoden och gå ut. Användaren får gå ut ur garaget genom den obevakade dörren och börja om från steg 2. 3. Streckkoden är oläslig. Användaren får kontakta operatören för ny streckkod. 4. Användaren vill gå ut med sin registrerade cykel men har inte lämnat in den korrekt. Användaren kommer ut som vanligt. Fall 4. Avregistrering: Förutsättning: Användaren är registrerad. 1. Användaren kontaktar operatören och ber om att bli avregistrerad. 2. Operatören avregistrerar användaren. Streckkod och pinkod tas bort från systemet. Krav 2. Systemet ska stödja användarfall 1. Krav 3. Systemet ska stödja användarfall 2. Krav 4. Systemet ska stödja användarfall 3. Krav 5. Systemet ska stödja användarfall 4. 4.3 Funktionella krav Krav 6. När en användare slår in sin pinkod aktiveras en tidsgräns på exempelvis 10 minuter. Användaren har denna tid på sig att hämta ut cyklar med streckkoder kopplade till sin pinkod. Tidsgränsen bör vara möjlig att ändra med systemet i drift. Krav 7. Pinkoder, streckkoder, namn samt adress finns lagrade i en databas på ett sådant sätt att detta inte bryter mot personuppgiftslagen. Krav 8. Databasen ska vara sparad på icke-flyktigt minne för att minimera risken av dataförlust vid strömbortfall. Krav 9. Om mer än exempelvis 5 sekunder mellan knapptryckningar fortlöper återställs pinkodsterminalen. 5
Krav 10. Om fel kod trycks in blinkar den röda lampan 5 gånger i snabb följd och pinkodsterminalen återställs. Krav 11. Det ska gå att kontrollera vem som äger en cykel. Krav 12. Operatören ska kunna se hur många cyklar det finns i garaget för tillfället. Krav 13. Det ska finnas möjlighet till en maxgräns för hur många cyklar som får plats i garaget. Krav 14. Det ska vara möjligt att se när en cykel senast är inlämnad. Krav 15. Det ska inte vara möjligt att komma in i garaget med pinkod om ingen cykel finns inlämnad. Krav 16. Operatören ska kunna avregistrera cyklar. Krav 17. Operatören ska kunna registrera cyklar. Krav 18. Det ska finnas ett maximalt antal registrerade cyklar på en person. 4.4 Icke-funktionella krav Krav 19. Tiden från det att en pinkod kommer in i systemet till det att den kontrolleras och en öppningssignal skickats tillbaks får inte överstiga en sekund. Krav 20. Tiden mellan det att streckkod lästs in och dörren låses upp får ej överstiga 1 sekund. Krav 21. Om systemet stängs av vid strömförlust ska det inte fastna i ett korrupt tillstånd. 4.5 ER-Diagram 6