Background:
The Toronto Parking Authority operates over 17,500 parking spots across Toronto. Approximately, 10,000 of these spaces are by 2,000 ticket meters and the additional 7,500 by single space meters. Currently, a customer either purchases a ticket from the machine and places it on the car’s dashboard or inserts coins into a single spot meter. Employees have to walk weekly to collect money from these 9,500 locations. Additionally, the Toronto Police Service offers parking enforcement via dispatched personnel who randomly select areas to monitor. These personnel need to check tickets or parking meters manually and issue tickets as needed. In order to minimize the number of locations to collect money, the Toronto Parking Authority wants to develop an online platform to process payment for select spaces where single parking meters are currently used. The spaces will be numbered and the registered customer can select the space number from their device online to initiate payment. Additionally, parking enforcement will have a separate login into the application which will allow them to see whether an occupied space has been paid for or manage the parking locations.
Detailed Specifications:
Software Requirements Specification:
https://eclass.yorku.ca/eclass/mod/resource/view.php?id=592327
Tasks:
task1: apply at least one design pattern we have introduced, and explain which requirements you think the patterns can help (you have at most one page to answer this question).
task2: design a system that can meet the specifications (hints: Section 4 System Features) via class diagrams, and describe how you design can meet the requirements. Please show the details of classes (including attributes, methods, and relations among classes) in your class diagrams. YOU MUST USE
https://app.diagrams.net/
TO DRAW YOUR DIAGRAM AND SUBMIT THE ” ” of your class diagram, penalty will be imposed for violation. (Your answer to this task should be at most 3 pages.)
Tips: you can put your solutions to task1 and task2 in a PDF file and submit it as an attachment.
Copyright© 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Software Requirements
Specification
for
Express Parking
Version 1.0 approved
Prepared by
Lassonde School of Engineering
2021-02-27
Software Requirements Specification for
Table of Contents
Table of Contents ………………………………………………………………………………………………………….. ii
Revision History ……………………………………………………………………………………………………………. ii
1. Introduction ………………………………………………………………………………………………………………1
1.1 Purpose ………………………………………………………………………………………………………………………. 1
1.2 Document Conventions ………………………………………………………………………………………………… 1
1.3 Intended Audience and Reading Suggestions…………………………………………………………………… 1
1.4 Product Scope ……………………………………………………………………………………………………………… 1
1.5 References ………………………………………………………………………………………………………………….. 2
2. Overall Description ……………………………………………………………………………………………………2
2.1 Product Perspective ……………………………………………………………………………………………………… 2
2.2 Product Functions ………………………………………………………………………………………………………… 2
2.3 User Classes and Characteristics ……………………………………………………………………………………. 2
2.4 Operating Environment ………………………………………………………………………………………………… 3
2.5 Design and Implementation Constraints ………………………………………………………………………….. 3
2.6 User Documentation …………………………………………………………………………………………………….. 3
2.7 Assumptions and Dependencies …………………………………………………………………………………….. 3
3. External Interface Requirements ……………………………………………………………………………….3
3.1 User Interfaces …………………………………………………………………………………………………………….. 3
3.2 Hardware Interfaces ……………………………………………………………………………………………………… 4
3.3 Software Interfaces ………………………………………………………………………………………………………. 4
3.4 Communications Interfaces …………………………………………………………………………………………… 4
4. System Features ………………………………………………………………………………………………………..5
4.1 Manage Parking Enforcement Officer …………………………………………………………………………….. 5
4.2 Customer Registration ………………………………………………………………………………………………….. 5
4.3 User Login ………………………………………………………………………………………………………………….. 6
4.4 Book a Parking Space …………………………………………………………………………………………………… 6
4.5 Cancel a Parking space …………………………………………………………………………………………………. 6
4.6 Payment ……………………………………………………………………………………………………………………… 7
4.7 View Bookings ……………………………………………………………………………………………………………. 7
4.8 Manage Parking Spaces ………………………………………………………………………………………………… 8
4.9 Change Payment Status ………………………………………………………………………………………………… 8
5. Other Nonfunctional Requirements ……………………………………………………………………………9
5.1 Performance Requirements ……………………………………………………………………………………………. 9
5.2 Safety Requirements …………………………………………………………………………………………………… 10
5.3 Security Requirements ………………………………………………………………………………………………… 10
5.4 Software Quality Attributes …………………………………………………………………………………………. 10
5.5 Business Rules …………………………………………………………………………………………………………… 10
6. Other Requirements ………………………………………………………………………………………………..10
Appendix A: Glossary……………………………………………………………………………………………………10
Revision History
Name Date Reason For Changes Version
SongW 2021-02-28 Midterm exam EECS 3311 V1.0
Software Requirements Specification for < Express Parking > Page 1
1. Introduction
1.1 Purpose
In the city of Toronto, there are 7500 single space parking meters, which need to be regularly visited
to collect parking fares. This is a task that can be made faster, more efficient and less expensive. The
purpose of this product is to minimize the number of parking meters that need to be visited to collect
money, as well as to help parking enforcement workers monitor payments.
1.2 Document Conventions
The term “User” is an inclusive term, which refers to both customers and parking enforcement
officers: the two types of users in the system.
“Customer”: uses system to pay for parking spaces
“Parking Enforcement Officer”: Monitors payments for parking spaces
1.3 Intended Audience and Reading Suggestions
This document is intended for the following audiences.
1. Developers, who need a strong understanding of the software requirements in order to
design and implement the application
2. Toronto Parking Authority, who will help with the elicitation and verification of the
software requirements
3. Users, including both parking enforcement officers and parking customers, may use this
document to understand the various features in this system and learn how to use it
1.4 Product Scope
This product will be concerned with the details and management of parking payment. The application
does not replace the need for officers to randomly visit parking spaces, as that requires additional
infrastructure that our project is not able to incorporate. For example, a camera system. The system
will only be used for single parking meters, and will not replace the ticket system that exists for the
remaining 10,000 parking spaces in Toronto.
For customers, the application provides a fast, convenient, and easy way to pay for parking, allowing
them to pay for a space without using a parking meter. For the customers sake, none of the
functionality of the original parking system has been replaced, besides the ability to pay with cash.
Software Requirements Specification for < Express Parking > Page 2
1.5 References
N/A
2. Overall Description
2.1 Product Perspective
This product is an optimization to the current parking meter system in Toronto where customers
manually pay for parking using coins. The product will allow customers to pay for single parking
spaces online, while the Toronto Parking Authority personnels do not have to collect money from
each parking meter. The online payment system and the manual parking meters accomplish the same
tasks, however it is more convenient for users to pay online for a parking space beforehand, and it is
easier for the Toronto Parking Authority to collect payments online rather than physically collecting
money from each meter.
2.2 Product Functions
– Customers can select a parking space(s) and pay for it
– Parking enforcement officers can add or remove parking spaces
– Parking enforcement officers can see if an occupied parking space has been paid for or not
2.3 User Classes and Characteristics
Customers (Primary)
The customers are the most common user base. They can make a payment for a parking space of
their desire.
Toronto Parking Authority (Primary)
The Toronto Parking Authority manages the system through parking enforcements. They are able to
add and remove parking spaces, as well as see if an occupied parking space has been paid for.
System Administrators (Primary)
The system administrators update the status of the user payment for the parking space. They are
able to add and remove parking enforcement officers from the system. Finally, they change the
customer’s payment status from unpaid to paid.
Payment Services (Secondary)
The payment services do not use the system directly, but they are the ones who process payments
with banks when users make their payments online.
Database (Secondary)
The database holds user information such as login information for verification when a user logs into
the system, as well as when a user creates a new account.
Software Requirements Specification for < Express Parking > Page 3
2.4 Operating Environment
The express parking system will be programmed in the Java environment. It will be able to run on
Windows, MacOS, and Linux operating systems.
2.5 Design and Implementation Constraints
User Interface
This system is required to have a GUI interface. Classes should be implemented and tested to make
sure that the system functions as it should. Currently this system will be programmed in Java, and in
the future it can be implemented in an mobile app, which is not in the current scope of this project.
Payment Management
For the purposes of this project, payments should be verified by the name on the customer’s credit
card (i.e. the name on the card must match the customer’s name).
Server Connection
Currently, the system will not be communicating with an external server or third-party service.
2.6 User Documentation
Eclipse Java IDE installation guide: https://www.eclipse.org/downloads/packages/installer
2.7 Assumptions and Dependencies
– The system does not replace current parking meters
– The system administrator already exists in the system and has a master login
– Customers are allowed to book more than one parking space (with a limit)
– Parking enforcement officers must login as a customer in order to book a parking space for
Themselves
3. External Interface Requirements
3.1 User Interfaces
On the system there should be different login and user options with three different appearances for
three different user bases, that being one screen for customers, one screen for the system administrator,
and another screen for the Toronto Parking Authority who will act as an administrative role. The
customer’s features will belong to those who log in and want to authorize payment for a parking bay.
Once they log into the system, they should see a standard layout with a set of options to initiate
commands. The customer should be directed to a new screen where they can select a location to park
by inputting the designated parking space number into a text box.
Software Requirements Specification for < Express Parking > Page 4
After this, there should be three options, one to go back to the previous screen if they enter the wrong
input, an option for the user to add up to two more additional parking spaces to pay for, and a final
option to check-out. If the customer decides to check out, they should be taken to a screen where they
can enter their payment information (ex. credit card number, expiry date, etc.), and be able to pay for
all parking spaces purchased.
On the interface for the Toronto Parking Authority, There must be a way for the user to easily access
their features, such as creating a space for them to manage the amount of parking spaces available by
adding or removing available spaces to park. Other features for the parking authority enforcers should
be to view any user’s parking space request and to be able to cancel a user’s erroneous space request.
With these features, the parking enforcement user needs to be able to see if an occupied space is paid
for or not.
The system administrator interface should provide the user with a screen to log in using an ID and
password, and cannot be accessed without these requirements. After logging into the system, the
administrator should be able to choose to add or remove parking enforcement officers to the system,
and they should be able to manually change the status of parking space payments to “paid”.
3.2 Hardware Interfaces
The software can either be supported on a laptop or desktop with operating system support for Mac,
Windows, or Linux.
3.3 Software Interfaces
The system should be integrated and implemented with the Java programming language on Eclipse,
and ultimately should be able to run on such versions of Eclipse on Windows 10 or previous versions,
as well as Mac OS X and Linux. No external downloads should be required other than for
the usage of the web app itself. Messages that come into the system would be in the form of
notifications such as firing events when certain errors are encountered by the user, such as trying to
add an occupied space, and trying to pay for more than 2 parking spaces.
3.4 Communications Interfaces
Security Issues: Customers should not be able to access the Transit Authority UIs, or have any of
their permissions, and in addition, all credit card and personal information must be implemented
safely and securely. A password system should be put in place to ensure there is no way for an
ordinary user to be able to access the features made exclusive for the Toronto Parking Authority, and
to ensure that customers cannot easily access other user’s credit card information or accounts.
Software Requirements Specification for < Express Parking > Page 5
4. System Features
4.1 Manage Parking Enforcement Officer
Priority: high
4.1.1 Description and Priority
This feature allows a system administrator to add or remove parking enforcement officers from the
system. When an officer is added, an unique ID is assigned.
4.1.2 Stimulus/Response Sequences
1. The system will ask information such as first name, last name, and email address is required to
add a new Parking Enforcement Officer
2. A Parking Enforcement Officer can be removed by the administrator if their email address exists
in the system
4.1.3 Functional Requirements
4.1.3-REQ-1: The system must assign a unique ID to each new parking enforcement officer added
4.1.3-REQ-1: The system must verify the parking enforcement officer exists in the system before
removing an officer
4.1.3-REQ-3: The system must verify a new parking enforcement officer’s ID does not exist in the
system already
4.1.3-REQ-4: The system must store a new parking enforcement officer’s registration information
4.2 Customer Registration
Priority: high
4.2.1 Description
This feature allows customers to register a new account in order to use this application.
4.2.2 Stimulus/Response Sequences
New customers will be displayed with a button such as “REGISTER”, leading to a separate
window, where once clicked, the customer can enter their first name, last name and email
along with a password.
4.2.3 Functional Requirements
4.2.3-REQ-1: The system must accept entries with duplicate first and last names
4.2.3-REQ-2: The system must allow unique email addresses when registering
4.2.3-REQ-3: The system must store a new user’s login information for future authentication
purposes
Software Requirements Specification for < Express Parking > Page 6
4.3 User Login
Priority: high
4.3.1 Description
This feature allows the user to sign in, in order to access the application.
4.3.2 Stimulus/Response Sequences
Users will be displayed with a button such as “SIGN-IN”, leading to a separate window, where once
clicked, the user can enter their login information
4.3.3 Functional Requirements
4.3.3-REQ-1: A user must be registered or added before logging in
4.3.3-REQ-2: The system must authenticate a user’s login information before granting access to the
application
4.4 Book a Parking Space
Priority: high
4.4.1 Description
This feature allows a customer to select which parking space, and how long they want to book it for.
4.4.2 Stimulus/Response Sequences
The customer will be displayed with a button such as “BOOK SPACE”, leading to a separate
window, where once clicked, the customer is prompted to enter the parking space number, booking
time, and their license plate number.
4.4.3 Functional Requirements
4.4.3-REQ-1: Customer must be registered and logged-in before booking a parking space
4.4.3-REQ-2: Customer must select which parking space they are booking
4.4.3-REQ-3: If the customer selects a parking space which is occupied, they are presented with an
error message and must select a new space
4.4.3-REQ-4: Customer must enter how long they want to book said parking space for
4.4.3-REQ-5: The system allows a customer to book up to three parking spaces
4.4.3-REQ-6: Each booked parking space receives a unique booking ID
4.4.3-REQ-7: The system must display an error message if the parking space the customer booked
is occupied in the system
4.5 Cancel a Parking space
Priority: high
4.5.1 Description
This feature allows a customer to cancel a parking space which they previously booked, bookings
Software Requirements Specification for < Express Parking > Page 7
can only be canceled before they expire.
4.5.2 Stimulus/Response Sequences
The customer clicks on a button labeled “CANCELLATIONS” and enters their booking number
4.5.3 Functional Requirements
4.5.3-REQ-1: Customer must be registered and logged-in before cancelling a parking space
4.5.3-REQ-2: Customer must enter the booking ID which is associated with their name
4.5.3-REQ-3: The cancellation can only go through if the time of cancellation is before the booking
expiry time
4.6
Payment
Priority: high
4.6.1 Description
This feature allows the customer to pay for their currently booked parking space.
4.6.2 Stimulus/Response Sequences
• The customer will be displayed with a button such as “PAY”, leading to a separate window, where
once clicked, the customer is prompted to enter the parking space number they wish to pay for.
• Customer will be shown total amount to be paid in a window
• Once confirmed, customer can proceed to enter payment information
• The customer confirms the transaction and the payment takes place
• The System Administrator changes the payment status from unpaid to paid once the
customer payment is confirmed
4.6.3 Functional Requirements
4.6.3-REQ-1: Customer must be registered and logged-in before making a payment
4.6.3-REQ-2: Customer must have entered additional information such as which parking space they
are booking before making payment
4.6.3-REQ-3: The system must accept different forms of payment (ex: Paypal, credit, debit, etc.)
4.6.3-REQ-4: The system must automatically timestamp each payment confirmation
4.6.3-REQ-5: The system automatically starts a countdown till expiry once payment is confirmed
4.6.3-REQ-6: The system allows a customer to pay for multiple parking space bookings (if any)
cumulatively
4.6.3-REQ-7: The system must authenticate customer payment information before proceeding with
confirmation of parking space
4.7 View Bookings
Priority: medium
4.7.1 Description
This feature shows a customer’s current parking booking. Information such as expiry time and
payment status can be viewed.
Software Requirements Specification for < Express Parking > Page 8
4.7.2 Stimulus/Response Sequences
• After logging in, customers will be displayed with a button labeled “VIEW BOOKINGS”, leading to
a separate window displaying all their bookings.
• Customers can select and open any of their current booking to display additional information like
expiry time and payment status
• Parking enforcement officers can enter customer information and view their booking details
4.7.3 Functional Requirements
4.7.3-REQ-1: Only authorized users, such as parking enforcement officers , can view any
customer’s booking details
4.7.3-REQ-2: Customers can view their parking space booking information, including expiry time
4.7.3-REQ-3: The system must notify the customer when their parking space booking is expired
4.8 Manage Parking Spaces
Priority: high
4.8.1 Description
This feature allows the parking enforcement officer to manage parking spaces by adding or
removing them.
4.8.2 Stimulus/Response Sequences
• Authorized parking enforcement officers will be displayed a button labeled “MANAGE
PARKING”, leading to a separate window displaying all parking spaces.
• Parking enforcement officers then can select any parking space and view information such
as customer space requests and current user booking (if any)
• With buttons such as “ADD SPACE”, “REMOVE SPACE”, “CANCEL REQUEST”,
“GRANT REQUEST”, parking enforcement officers can add, remove, cancel, and grant
requests respectively
4.8.3 Functional Requirements
4.8.3-REQ-1: The user must be an authenticated parking enforcement officer.
4.8.3-REQ-2: Parking enforcement officers must verify a parking space is vacant before removing
it from the system
4.8.3-REQ-3: The system must have a minimum of one parking space
4.8.3-REQ-4: Parking enforcement officers must verify requested parking space is vacant in the
system before granting requests
4.9 Change Payment Status
Priority: high
4.9.1 Description
This feature allows the systems administrator to update customers’ payment
status.
Software Requirements Specification for < Express Parking > Page 9
4.9.2 Stimulus/Response Sequences
System administrator will be displayed with a button labeled “CHANGE PAYMENT STATUS”, leading
to a separate window, where they can enter customer first name, last name, email address and parking
space number to change their payment status to “paid”.
4.9.3 Functional Requirements
4.9.3-REQ-1: The user must be an systems administrator.
4.9.3-REQ-2: The system must verify the customer’s existence before changing their payment
status.
4.9.3-REQ-3: The system must verify the customer’s occupancy of the parking space before
changing
their payment status
4.9.3-REQ-4: The system must verify the customer’s payment of the parking space before changing
their payment status
5. Other Nonfunctional Requirements
5.1 Performance Requirements
Traffic
As this is a parking-based application, this application will have specific times where there are large
loads of traffic/requests coming in (e.g. morning office rush, etc.), and must be able to handle
incoming large loads of traffic and handle them efficiently, without being overwhelmed and shutting
down, leading to a denial of service. Response times should be reasonable, most communications
should happen within a few milliseconds to at most a few seconds (3 max).
Payment
A user should be able to pay for their parking space and allotted time, so there should be viable options
of payment considering (paypal, e-transfer, etc.). As payment is a rather sensitive and worrisome
matter, users should be asked to make sure that they wish to use a certain payment method, pay a
certain amount, and so on. On our end, the payment should take a few seconds (not including time
needed for third parties to confirm the amount and method of payment).
Platforms
The application should be able to run on both MacOS and Windows platforms, and it’s design should
reflect that. Design should be intuitive to understand, as we do not want to make the process of
payment and selection take too much time, becoming an inconvenience for users. Response timings
should be similar across platforms. No function in any platform should take more than a few seconds
(3 at most). The reason for having 3 seconds at most for any function’s time constraint, is because
most computers can complete the steps of the program in a matter of milliseconds. Communication
with other components (such as databases) brings in a latency, which most users experience in other
applications for at most a few seconds. In our case, 3 is a reasonable amount of time.
Software Requirements Specification for < Express Parking > Page 10
5.2 Safety Requirements
N/A
5.3 Security Requirements
N/A
5.4 Software Quality Attributes
N/A
5.5 Business Rules
N/A
6. Other Requirements
N/A
Appendix A: Glossary
MFIPPA: Municipal Freedom of Information and Protection of Privacy Act
We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.
Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.
Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.
Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.
Someone from our customer support team is always here to respond to your questions. So, hit us up if you have got any ambiguity or concern.
Sit back and relax while we help you out with writing your papers. We have an ultimate policy for keeping your personal and order-related details a secret.
We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.
Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.
You don’t have to wait for an update for hours; you can track the progress of your order any time you want. We share the status after each step.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.
Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.
Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.
You can purchase this feature if you want our writers to sum up your paper in the form of a concise and well-articulated summary.
You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.
Join us for the best experience while seeking writing assistance in your college life. A good grade is all you need to boost up your academic excellence and we are all about it.
We create perfect papers according to the guidelines.
We seamlessly edit out errors from your papers.
We thoroughly read your final draft to identify errors.
Work with ultimate peace of mind because we ensure that your academic work is our responsibility and your grades are a top concern for us!
Dedication. Quality. Commitment. Punctuality
Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.
We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.
We understand your guidelines first before delivering any writing service. You can discuss your writing needs and we will have them evaluated by our dedicated team.
We write your papers in a standardized way. We complete your work in such a way that it turns out to be a perfect description of your guidelines.
We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.