Software design patterns

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.

Don't use plagiarized sources. Get Your Custom Essay on
Software design patterns
Just from $13/Page
Order Essay

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 Page ii

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

What Will You Get?

We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.

Premium Quality

Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.

Experienced Writers

Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.

On-Time Delivery

Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.

24/7 Customer Support

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.

Complete Confidentiality

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.

Authentic Sources

We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.

Moneyback Guarantee

Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.

Order Tracking

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.

image

Areas of Expertise

Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.

Areas of Expertise

Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.

image

Trusted Partner of 9650+ Students for Writing

From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.

Preferred Writer

Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.

Grammar Check Report

Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.

One Page Summary

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.

Plagiarism Report

You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.

Free Features $66FREE

  • Most Qualified Writer $10FREE
  • Plagiarism Scan Report $10FREE
  • Unlimited Revisions $08FREE
  • Paper Formatting $05FREE
  • Cover Page $05FREE
  • Referencing & Bibliography $10FREE
  • Dedicated User Area $08FREE
  • 24/7 Order Tracking $05FREE
  • Periodic Email Alerts $05FREE
image

Our Services

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.

  • On-time Delivery
  • 24/7 Order Tracking
  • Access to Authentic Sources
Academic Writing

We create perfect papers according to the guidelines.

Professional Editing

We seamlessly edit out errors from your papers.

Thorough Proofreading

We thoroughly read your final draft to identify errors.

image

Delegate Your Challenging Writing Tasks to Experienced Professionals

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!

Check Out Our Sample Work

Dedication. Quality. Commitment. Punctuality

Categories
All samples
Essay (any type)
Essay (any type)
The Value of a Nursing Degree
Undergrad. (yrs 3-4)
Nursing
2
View this sample

It May Not Be Much, but It’s Honest Work!

Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.

0+

Happy Clients

0+

Words Written This Week

0+

Ongoing Orders

0%

Customer Satisfaction Rate
image

Process as Fine as Brewed Coffee

We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.

See How We Helped 9000+ Students Achieve Success

image

We Analyze Your Problem and Offer Customized Writing

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.

  • Clear elicitation of your requirements.
  • Customized writing as per your needs.

We Mirror Your Guidelines to Deliver Quality Services

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.

  • Proactive analysis of your writing.
  • Active communication to understand requirements.
image
image

We Handle Your Writing Tasks to Ensure Excellent Grades

We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.

  • Thorough research and analysis for every order.
  • Deliverance of reliable writing service to improve your grades.
Place an Order Start Chat Now
image

Order your essay today and save 30% with the discount code Happy