Top Banner
Software Design Specification RFID Parking Garage Matt Nichols Tony Nichols Contact E-Mail: [email protected] March 11, 2008
39
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 1. Software Design Specification RFID Parking GarageMatt Nichols Tony NicholsContact E-Mail: [email protected] 11, 2008

2. 1.0 IntroductionFinding parking spaces for automobiles and motorcycles can be a problematic venture due to limited space and time, while the selling of parking spaces is potential lucrative endeavor. Currently, most large parking garages, including airport parking, use a ticketing system in which users get a time-stamped ticket when entering the structure and pay a time-relative fee when exiting. The transmission of these disposable tickets is a time inefficient process, susceptible to error. These tickets can easily be lost; and with the lost tickets, the entire process becomes disoriented. The manual payment process can also be time consuming when traffic is at a high rate. An RFID (radio-frequency identification) parking system would improve this by allowing the user to interact with the parking area with an RFID card at the entrance and exit of the parking area. An RFID parking system would also allow the user to keep an account on which the system would keep track of financial transactions. This would reduce the amount of time the user must interact with the system and increase the security of the user. As an added security feature, an electronic keypad will be placed at the entrance of the parking garage. Once the user has swiped their RFID card they will enter their pin number. The pin number and the unique ID on each RFID card will be used to validate the user. 1.1 Goals and objectives To provide individuals who require a parking area a system that is efficient and easy to use. To provide individuals with a system that accounts for the length of each visit and provide them an account that will be used to pay for the visit. To determine the adaptability of an RFID parking system in different situations 3. To determine the feasibility and cost effectiveness of an RFIDparking system that provides efficiency and ease of use. Improve security over conventional RFID parking systems byadding a keypad for user authentication.1.2 Statement of scopeThe user will be provided an RFID card and an online account which they will use to gain access to the parking area and pay for each visit. When the user is ready to enter the parking area, they will place the card within a close proximity to the RFID reader. The proximity will vary depending on the model of the RFID implementation. A unique ID is transmitted from the card to the reader. The reader then transmits the unique ID to the database. In addition to scanning their card, the user will also enter his pin number into the keypad. The system will validate the user and record the time of entry. A signal is then sent to the entrance by the system to allow the user to enter the parking garage. Upon leaving, the user will repeat the same process that he used to entering the garage. The system will record that the user is exiting the parking area and record the time of exiting. The user is then charged the appropriate amount for the visit and the amount is made visible on his account. The user can then login to his account and make a payment on his balance.1.3 Software contextIn order to resolve the issue, we must change both the way that customers access the parking garage and how money is transferred between the building owner and the customer. A simple and accessible technology like Radio Frequency Identification (RFID) cards and readers could be employed in order to streamline the entry and exit process. The cards would be tied to customer accounts, to which money could be transferred using a web interface. This new process would grant users virtual immediate entry and exit from the parking structure because the 4. transaction is electronically automated. The garage owner would seamlessly receive correct payment. The process would begin with the user requesting an account through the web interface. This web interface will need to be easy to understand and navigate. After creating an account and receiving a unique RFID card in the mail, the user could deposit money into their account for payment in the parking garage(s) connected to the system. As a user vehicle passes the RFID reader at a garage entrance, the card would be read in order to retrieve account information. If the account balance was above the required minimum, the vehicle would be granted access. When leaving the garage, the RFID reader at the exit would read the users RFID card and deduct an appropriate amount of money from the users account. This process of entry and exit can be streamlined to avoid the lines associated with the current parking garage procedure. The system would be able to count the number of vehicles in the structure at any one time, and know the amount of free parking spaces, if any, present.1.4 Major constraints The system development cost for the initial prototype should not exceed $500. The final sales cost should be competitive with other typing products and specialized numeric keypad devices that are on the market at the time of sale. The system should withstand periodic cleaning with a damp cloth and mild detergent. The system should maintain functionality when introduced to an outside environment. The system should not contain hazardous materials. The system should maintain functionality when used repetitively by elementary school aged children. 5. The system should not interfere with the operation of the personal computer to which it is attached. The system must comply with Part 15, entitled "Radio Frequency Devices" of Title 47 of the Code of Federal Regulations. The system keypad should be ergonomic in design so that the occurrence of repetitive stress injuries is minimized. The system must not expose the user to electrical shock. 6. 2.0 Data design2.1 Temporary data structureA temporary file is created when a user scans their RFID card at the garage will contain a hash of their RFID reference number, name, and password. A separate program will scan the database for the same information and verify the information. Once the information is verified the users are granted access into the garage.2.2 Database descriptionThe database will store an account holders information. This information consists of their name, address, phone number, e-mail address, balance, account status, password, pin number, and RFID reference number. Most of this information can be updated at any time while on the user is logged in on the garage website. 7. 3.0 Architectural and component-level design3.1 Program StructureThe RFID parking system for our project resembles that of an event-driven architecture. When an individual arrives at the parking garage, they will scan their RFID card to request access to the parking garage. If the individual is registered with the system and has an active account then they are permitted into the garage. The same can be said for the website that is in development right now. A user will enter their username and password to request access to the website, and if they are a registered user then they are granted access to the website and granted permissions based on their access level. Any action that takes place while the user is logged onto the system is processed and the appropriate action is done.3.1.1 Architecture diagram Keypad Digit Entry RFID card scan Process cardswipe, logininformation , User/Adminetc login/logoff DatabaseUpdateModifyDatabaseAccount InfoProcess Funds 3.1.2 AlternativesA possible other architecture design we considered but did not agree suited this project was the broker architecture. The various 8. parts of the architecture would be the user acting as the client, the broker acting as the RFID scanner, and the supplier as the parking garage. But this architecture would only fit for the parking garage aspect of the project and not encompass the website for the parking garage system. The user of the system would have direct access to the website and not have to go through a mediator for information regarding the parking garage systems because the information is provided from the database.3.2 Description for Component Keypad Digit Entry3.2.1 Processing narrative for component Keypad Digit EntryThe keypad digit entry is done upon arrival at the parking garage gate following the RFID card scan. The digit entry is an added layer of security for access into the parking garage where the user will enter their 3-5 digit password. The information they enter is stored in a temporary file which is then compared to the database information. If the information is correct then the user is granted access into the parking garage. Otherwise they are denied access.3.2.2 Component Keypad Digit Entry interface description.The input interface is the keypad device found at the entry gate of the garage. The user will enter their password and it is processed by the database for authorization. The output will come from the parking garage light which is represented by a green for access and red for denial.3.2.3 Component Keypad Digit Entry processing detail 3.2.3.1 Interface description The interface will consist of the numbers 0 through 9 foundon any keypad entry device. 9. 3.2.3.2 Algorithmic model (e.g., PDL) IncorrectPasswordCorrectEntryGrant Access to garage 3.2.3.3 Restrictions/limitations The password is limited to a 3-5 digitpassword. This can be changed pending if theparking garage administrator wants a longerentry. Access to the garage if the information iscorrect. Denial to the garage if the information isincorrect.3.2.3.4 Local data structuresNo data structure is needed for this device.3.2.3.5 Performance issues The database should provide the user with access/denial to the garage in a reasonable amount of time, no more then 5-10 seconds. 10. 3.2.3.6 Design constraints 3-5 digit password Individuals are allowed five attempts before they mustcontact the garage administrator for troubleshooting.3.3 Description for Component RFID Card Scan 3.3.1 Processing narrative for component RFID Card Scan The RFID card scan is the first thing an individual does upon arrivalat the parking garage. The individual will scan their card at theRFID reader and then enter their digit password (described insection 3.2). After the user is done at the garage, they will arrive atanother RFID reader which they will scan their card again which willmark their departure from the garage. 3.3.2 Component RFID Card Scan interface description. The RFID card scan interface is simply the RFID readers found atthe entrance and exit gates of the garage. 3.3.3 Component Keypad Digit Entry processing detail3.3.3.1 Interface descriptionThe interface for this device is the RFID card reader. 11. 3.3.3.2 Algorithmic model (e.g., PDL) Scan failed / rescan Card ScanScan successful 3.3.3.3 Restrictions/limitations Card must be in close proximity for the RFIDreader to pick up the signal. This will varypending on the reader and card used. The card must be kept in good conditionotherwise it might not scan at the gate.3.3.3.4 Local data structuresNo data structure is needed for this device.3.3.3.5 Performance issues The database should provide the user with access to the keypad in a reasonable amount of time.3.3.3.6 Design constraintsN/A 12. 3.4 Description for Component Admin/User Login/Logoff 3.4.1 Processing narrative for component Admin/UserLogin/Logoff The Admin/User Login/Logoff is relevant for the website. Anyregistered user of the system may login to the system via theInternet. If a normal user of the system logs onto the system thenthey be able to view information that pertains to their account. Thisincludes their account balance, garage parking history, and updateaccount information. An administrator of the system will be capableof viewing anything about the parking garage system. This includesregistered users, pricing, garage information, and garage statistics.The administrator will also be allowed to view account informationof the users and update specific information that is allowed by thedesign of the system. Afterwards both the user and administratorwill have the option to log out when they are finished on thewebsite. 3.4.2 Component Admin/User Login/Logoff interfacedescription. The input interface will include two fields, one for the username andone for the password. They will enter each into the appropriate boxand press Login to continue. If they are a registered user of thesystem and the information entered is correct, they are grantedaccess to the garage website. The left side of the screen willcontain all the links the users and administrators will have andinclude a link to Logout. Pressing this link will log the user off thewebsite. 13. 3.4.3 Component Admin/User Login/Logoff processing detail 3.4.3.1 Interface description The interface will contain two fields, one for the usernameand one for the password. Once they are logged onto thesystem they will have a link on the left side of the screenfrom which to logout. 3.4.3.2 Algorithmic model (e.g., PDL)EnterUsername andPassword Throw errorGrant Access tomessage and website prompt to reenterinformation3.4.3.3 Restrictions/limitationsUsers are allowed five attempts to login beforethey are locked out of the system and mustcontact an administrator. Username will be the e-mail address they usedto register. Password must be between 8-30 characters. 3.4.3.4 Local data structures 14. No data structure is needed for this device.3.4.3.5 Performance issues The database should provide the user withaccess/denial to the garage website in a reasonableamount of time, no more then 5-10 seconds. Logging onto the system may be slow if many usersare trying to gain access to the website.3.4.3.6 Design constraints 8-30 character password Individuals are allowed five attempts before they mustcontact the garage administrator for troubleshooting.3.5 Description for Component Modify Account Information 3.5.1 Processing narrative for component Modify AccountInformation Users of the system are allowed to modify account information.This includes their e-mail address, password, home address, phonenumber, and name. This is to ensure that users of the system canchange information if the need arises. If users wish to update thisinformation, a link on the left side of the screen is provided labeledas Update Account Information. If users wish to update theirpassword or e-mail address, then they must enter the informationtwice to ensure the e-mail address and password are identical.Administrators will also be allowed to update this information butonly if the user calls and requests the information change. 3.5.2 Component Modify Account Information interfacedescription. The interface to update the account information will be a series ofboxes that will ask the user to input the required information. A 15. series of checks is performed once the user clicks the Update button to ensure the information is in the right format, e.g. the password must be 8-30 characters, if the user does provides too few or too many characters an error message will display.3.5.3 Component Modify Account Information processing detail 3.5.3.1 Interface description The interface will contain various boxes for the user to entertheir information. As stated in 3.5.1, if a user wishes tochange their e-mail address or password then they mustverify them by entering the information twice. 3.5.3.2 Algorithmic model (e.g., PDL)UpdateAccountInformationError: Account Not Updated. Account Updated(Erroneous information)3.5.3.3 Restrictions/limitations Users must provide correct information to update their account.Faulty data is flagged by the administrator and they attempt to contact the individual to correct 16. it. If data is not correctly in 24 hours, their RFID card may be suspended until they correct it. Password must be 8-30 characters E-mail address and password must be entered correctly twice.3.5.3.4 Local data structuresNo data structure is needed for this device.3.5.3.5 Performance issues Updating account information may be slow if manyusers are trying to gain access to the website andview it.3.5.3.6 Design constraints 8-30 character password E-mail address must contain @.comnotation.3.6 Description for Component Process Funds 3.6.1 Processing narrative for component Process Funds Users of the system will also have the ability to add funds to theiraccount or have it charged directly to their credit card. To ensurethat this information is kept safe, the parking garage system willinclude VeriSign Identity Protection. This measure is used toprotect users of the system from having their accounts fraudulentlyused. A user will logon to the garage website and click theFinancial Page to view their payment history and to add funds totheir account. This is to ensure that users of the system can scantheir card and gain immediate access to the parking garage and goabout their business. 17. 3.6.2 Component Process Funds interface description.The input interface will include boxes for the user to enter their credit card information or add funds directly from their bank account (similar in nature of PayPal). If the information entered is correct, the funds are added otherwise an error message will display alerting the user of the mistake made.3.6.3 Component Process Funds processing detail 3.6.3.1 Interface description The interface will contain boxes for the user to enterinformation regarding their credit card or add funds from theirbank account. 3.6.3.2 Algorithmic model (e.g., PDL) Add Funds FundsError: Invalid Successfully Account Addedinformation3.6.3.3 Restrictions/limitationsMust provide a valid account number. Must provide a valid dollar amount. 18. 3.6.3.4 Local data structures No data structure is needed for this device. 3.6.3.5 Performance issues Adding funds to the users account may be slow if many users are trying to gain access to the website. 3.6.3.6 Design constraints Must enter an amount as xxx.xx format.3.7 Software Interface Description.3.7.1 External machine interfacesAt this time, this system will not need to interface to other machines.3.7.2 External system interfacesUsers and Administrators of the system may connect to the website via an Internet connection at any time.The RFID scanner will connect to the database via USB cables and process the information through the database interface.3.7.3 Human interfaceThe human interface is described in further detail in section 4.0. Overall the design of the interface that users and administrators will see will be a very simple and easy to use interface. It will allow users and administrators of the system a way to view account information or garage information. 19. 4.0 User interface design4.1 Description of the user interface4.1.1 Screen images Login user will provide a username and password to gainaccess to the website. This page will also provide a meansto new users to register. User Home Page o View Account provides their account information. o Financial Page provides payment options, current balance, and payment history. o Modify Account provides a means for the user to modify account information. Admin Home Page o View Users list all the users currently registered for the garage and allow them to view account information. o Modify User Information provides the admin with a means to modify the users account with some restrictions. o Garage Statistics provides the administrator with general statistics of the garage usage. o Garage Options provides the administrator with a means to modify attributes with the garage i.e. name, price, open or closed, and parking times. At this time screenshots of these pages are unavailable but arecurrently in development and will be available for viewing later. 20. 4.1.2 Objects and actions Login o The login screen will provide users a box where theywill input their user name and password. Theinformation they enter is validated through thedatabase. User Home Page o This page will provide general information for the userand provide links to view financial information and tomodify their account. The user will also have theability to log out from this screen. Financial Page (User Page) o User will be able to view their current balance andspecify a payment method. Modify Account (User Page) o User will be able to modify attributes with theiraccount including address, e-mail address, password,phone number, and name. Admin Home Page o This page will provide general system information forthe administrator and provide links to modify garageinformation, modify users, view users, and viewgarage statistics. The user will also have the ability tolog out from this screen. View Users (Admin Page) o Provides the administrator with a list of users currentlysubscribed to their garage system. This page will alsoprovide links to modify specific user information. Modify User Information (Admin Page) 21. o This page is linked from the View Users page andprovides the administrator with the ability to modify ausers information. Garage Statistics (Admin Page)o This page will provide the administrator with theamount of users currently parked in the garage,available parking, state of the parking system, totalnumber of users. Garage Options (Admin Page)o This page will provide the administrator with a meansto modify attributes about the garage. This will includea name, price to park, when users will be allowed topark in the garage, and to open/close the garage.4.2 Interface design rules Website must be easy to use and maintain. All web pages with this system will follow the same template. Web pages must be efficient and cache friendly. Web pages should be easy to read and navigate. All information provided on the website must be up-to-date. Website must provide security from malicious attacks.4.3 Components availableNo components are needed at this time.4.4 UIDS descriptionRuby on Rails provides a scaffolding option which allows for a basic website creation. With this ability we are able to take those basic templates and modify them to suit our needs. The use of HTML and cascading style sheets can also be used with the Rails system which will provide basic users and administrators and easy to use and read website. 22. 5.0 Restrictions, limitations, and constraints The system development cost for the initial prototype should notexceed $500. The final sales cost should be competitive with other typing productsand specialized numeric keypad devices that are on the market at thetime of sale. The system should withstand periodic cleaning with a damp cloth andmild detergent. The system should maintain functionality when introduced to anoutside environment. The system should not contain hazardous materials. The system should maintain functionality when used repetitively byelementary school aged children. The system should not interfere with the operation of the personalcomputer to which it is attached. The system must comply with Part 15, entitled "Radio FrequencyDevices" of Title 47 of the Code of Federal Regulations. The system keypad should be ergonomic in design so that theoccurrence of repetitive stress injuries is minimized. The system must not expose the user to electrical shock. The system must not store the users credit card information. Pin number must be 5 digits System must be easily maintained and updated by parking garageemployees. The system must require minimal modification/updates onceimplementation is complete. 23. 6.0 Testing Issues6.1 Classes of tests Sub-systems Testingo RFID Reader Test an RFID card is placed near the RFIDreader. The card is read and the data is sent to the server.o Add/Remove User - A user is created or removed on theadmin webpage.o Gate Test A signal is sent to the gate control circuit whichactivates the opening of the gate. The gate remains openuntil the user has entered the parking garage and begins theclosing cycle.o User/Administrator Login A user or administratorattempts to login to the website using their username andpassword.o Keypad Test A pin number is entered into the keypad andtransmitted to the server. System Testingo General Test User attempts to access the parking garagevia an RFID card and keypad. This is a general test of theoverall system response. The main purpose of the test is todetermine the status of the RFID reader, the keypad, thedatabase status, and the gate functionality.o Administrator Test An Administrator attempts to login tothe system and perform administrative actions. Theseactions include: add/remove users, modify user accounts,query the database, check the status of the system, and setparameters and constraints on the parking system.o Web Interface Test - A user attempts to login the webinterface and modify their account. These modifications 24. include: Changing email address, modifying address,modifying name, requesting an account, and changingpayment options.6.2 Expected software response Sub-system Testing o RFID Reader Test The RFID cards unique ID istransmitted to the server. o Add/Remove User User roster is updated accordingly inthe database. If a user is added, all fields will be filled in andtheir status is set to active. If a user is removed, their statusis set to inactive and their account information remains inthe database. o Gate Test When the open signal is received, the gatebegins the opening cycle. Once the user has entered thegarage or a present amount of time has passed, the gate willbegin it closing cycle. o User/Administrator Login The user will be validated bythe system by their username and password. o Keypad Test The users pin number is transmitted to theserver System Testing o General Test System should indicate to the user whetheror not they have access and then either grant or denyaccess to the user. Overall status of the system will beevaluated and approved. o Administrator Test User information should be modifiedin the database, information should be queried from thedatabase, and parking garage parameters should beupdated. 25. o Web Interface Test Users account should be modifiedaccording the changes that were made or a new usersaccount should be created. The new data will be stored in the database. 26. 7.0 Appendices 7.1 Requirements traceability matrix The conditions listed are the components of the system mentioned insection 3. Also listed are several actions that can be conducted in thesystem. Components of the system are affected by the marked actions ineach column. Rules are created by determining what component orcomponents are affected by which action or combination of actions. RulesKey Digit Entry-- -X- - -RFID card scan X- -XX - - Conditions User/Admin Login/logoff-- X - - - -Account Info XX - - - - XProcess Funds-X -XX X -New user created X- - - - - -User makes a payment -X - - - - -User/Admin is validated-- XX- - -User enters the garage -- -X- - -ActionUser leaves the garage -- - - X - -User modifies account -- - - - X -informationAdmin modifies garage -- - - - - Xparameters 7.2 Design metrics to be used Standard Design metrics for the construction of object-oriented softwarewill be the guidelines by which all modules are constructed. Efficiency Complexity Understandability Reusability Testability and Maintainability 27. There will be a high emphasis in the keeping the project simplistic and understandable. This will reduce the amount of time and energy that is spent on the end-user once the project is completed. The reduction of complexity allows a much more efficient learning curve for the users and the administrator of the garage.