FastPassParking
Software Requirements Specification
COP4331C, Fall 14, 2014
Modification history:
Version | Date | Who | Comment |
v1.0 | 09/14/14 | Kyle Mera | Added team contact info |
v1.1 | 09/17/14 | Kyle Mera / Ivan Lugo | Added more functional requirements |
Team Name: Group 13 - Fast Pass Parking
Team Members:
Contents of this Document
Definition, Acronyms, and Abbreviations
Physical Environment Requirements
Users and Human Factors Requirements
Quality Assurance Requirements
SECTION 1: Introduction
Software to be Produced:
FastPassParking (FPP) will be a mobile-based application with the idea of revolutionizing the way temporary parking spots are purchased and handled. The application platform will allow users to pay and update their parking fees – without ever needing to wait in a line – wherever they have an active Internet connection. Once a guest parks, they will be able to pay for and add an amount of time to an account they have created. Users will also receive notifications when their time is running low to help avoid parking tickets.
Applicable Standards:
NodeJs standards: http://nodeguide.com/style.html
Server side code standards: http://www.mongodb.org/about/contributors/server-guidelines/
Definitions, Acronyms, and Abbreviations:
FPP: Fast Pass Parking
Sprint:1 to 2 developer work weeks; a unit of time measuring application development
ParkingUser: A parking customer for a specified parking lot
Attendant: A user of the Enterprise FPP parking application
Slippy Map: A tile-based mapping solution to be used in the mobile application
SECTION 2: Product Overview
Assumptions:
Clients will be willing to use our application as a supplement to their current parking procedure
Users will be willing to provide us with their credit card information
Stakeholders:
Clients with parking lots that require payments
Users that want to simplify parking situations
Event Table:
Event Name | External Stimuli | External Responses | Internal data and state |
User creates account | Users opens app for the first time | Direct user to sign up screen | User account will be created for this user in the database |
Users searches for parking lot | Search in search box or slippy map | Renders map real time with parking locations | Retrieve parking lot locations from the database |
User selects parking lot | Select the parking lot on the map | Display parking lot information | Retrieve parking lot information from the database |
User purchases parking ticket | Select parking amount time | Display available time slots and costs | Retrieve parking costs from the database |
User updates parking time | Select amount of time to add | Display available time increments | Retrieve time increments from the database |
Attendant logs in to app | Attendant opens application | Display login screen | Validate login credentials |
Attendant verifies cars on lot | Enter license plate number | Display car’s parking pass | Retrieve parking pass from database |
Use Case Diagram:
Use case diagrams are a part of the hi-fi designs to be implemented; this will be added on a later date.
Use Case Descriptions:
See above.
SECTION 3: Specific Requirements
3.1 Functional Requirements:
No: 1.1 |
Statement: A user shall be able to create an account that identifies them as a user |
Source: Create account |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure user information is stored in the database |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
No: 1.2 |
Statement: A user shall be able to log in to their account using their username and password |
Source: Log in |
Dependency: 1.1 Create account |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure system can validate login credentials |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
No: 1.3 |
Statement: Map should display available parking lots |
Source: Display available parking lots |
Dependency: 1.7 Create parking lot |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure system retrieves parking lot locations and displays them on slippy map |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
No: 1.4 |
Statement: A user shall be able to choose the parking lot they want to purchase a pass for |
Source: Select parking lot on map |
Dependency: 1.1 Create account, 1.2 Log in, 1.7 Create parking lot |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure system returns parking lot information for selected parking lot |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
No: 1.5 |
Statement: A user shall be able to choose the amount of time they want to park |
Source: Select amount of time to park |
Dependency: 1.1 Create account, 1.2 Log in, 1.3 Display available parking lots, 1.4 Select parking lot on map, 1.7 Create parking lot |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure user can select the amount of time they wish to park for |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
No: 1.6 |
Statement: A user shall be able to purchases a parking pass for the parking lot for the amount of time specified |
Source: Purchase parking pass |
Dependency: 1.1 Create account, 1.2 Log in, 1.3 Display available parking lots, 1.4 Select parking lot on map, 1.5 Select amount of time to park, 1.7 Create parking lot |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure payment goes through third party system |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
No: 1.7 |
Statement: Client shall be able to create a parking lot in a geographic location |
Source: Create parking lot |
Dependency: 1.1 Create account, 1.2 Log in |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure parking lots are visible on map |
Revision History: Kyle Mera, 09/17/14, Initial requirement |
3.2 Interface Requirements:
No: 2.1 |
Statement: The mobile application shall be able to retrieve data from the hosted server via http requests |
Source: Interface with hosted server |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure http requests can be made |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
3.3Physical Environment Requirements:
No: 3.1 |
Statement: The application shall run on IOS mobile devices (iphone, ipad) when connected to internet |
Source: Mobile phone support |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure the app functions on IOS mobile devices |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
3.4 Users and Human Factors Requirements:
No: 4.1 |
Statement: The client shall be able to simply conduct parking lot checks |
Source: Client user |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure the client user interface is user friendly and functional |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
No: 4.2 |
Statement: The user shall easily purchase parking passes |
Source: Public user |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure the public user interface is user friendly and functional |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
3.5 Documentation Requirements:
No: 5.1 |
Statement: The documentation shall be hosted on our groups project web page |
Source: Course documentation |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure the web page is functional and all documents are present |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
3.6 Data Requirements:
No: 6.1 |
Statement: The geolocation (latitude, longitude) of users and parking lots shall be precise |
Source: Geolocation data |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure geolocation data is precise so GPS mapping can function |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
3.7 Resource Requirements:
No: 7.1 |
Statement: We shall host a server that continuously serves up data to users |
Source: Continuous server |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure the server is accessible and is stable for production usage |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
3.8 Security Requirements:
No: 8.1 |
Statement: We shall protect our web services from being accessed without authentication |
Source: Secure web services |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure web services cannot be accessed without authentication |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
No: 8.2 |
Statement: We shall protect our database by encrypting the files |
Source: Encrypt database files |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Ensure database information cannot be accessed by outside sources |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
3.9 Quality Assurance Requirements:
No: 9.1 |
Statement: We shall provide users with a reliable system |
Source: Provide reliable services |
Dependency: None |
Conflicts: None |
Supporting Materials: |
Evaluation Method: Test system load |
Revision History: Kyle Mera, 09/14/14, Initial requirement |
SECTION 4: Supporting Material
Support material is to be finalized at a later date once user specifications and lo-fi designs have been created.
Template created by G. Walton (GWalton@mail.ucf.edu) on Aug 30, 1999 and last updated Aug 15, 2000