Literature Paper
Project Parking Garage/Lot
Feasibility Study and Plan Report
September 19, 2022
Team One:
|
Name |
|
|
Mausam Parajuli |
|
|
Aneesh Jaiswal |
|
|
Eric Wade |
|
|
Josemanuel Mendez Ortega |
|
|
Lakshmi Harika Gopavarapu |
|
|
Syed Aftab Ali Shah |
Client:
|
Name |
|
|
Dr. Christopher Ogden |
Executive Summary:
This project develops a sophisticated and computerized system that manages a parking garage. The proposed system tracks and manages parking usage and helps customers find and reserve available parking spaces.
Table of Contents System Requirements: 2 Functional Requirements: 2 Non-functional Requirements: 2 User Interface Requirements: 3 Requirement Analysis in Detail: 4 Use Cases: 5 Project Goals: 6 Stakeholders: 6 Suggested Deliverables: 7 Process To Be Followed: 7 Outline Model, Gantt Chart and Project Outline: 10 Business Consideration: 13 Visibility Plan: 13 Technical Feasibility: 15 Risk Analysis: 15 Database Design: 16 Conclusion: 18
System Requirements:
Functional Requirements:
· Customers shall be able to open an account online.
· Customers shall be able to sign in and edit information if necessary.
· Customers shall be able to reserve available parking spaces online through their accounts.
· The system shall provide payments options both online and in person.
· The system shall notify customers upon successful or failure reservation via email or text.
· Walk-in customers shall be able to reserve spots if available.
· Customers shall be able to cancel or change the reservation time.
· The system shall update every time a reservation is made, changed, or canceled so customers see the updated available parking spaces.
· The system shall scan license plate when cars enter through the front gate and leaves through the exit gate.
· The system shall protect customers information and store it in a database.
· The system shall guide customers to their parking spot through a map.
· The system shall alert customers who park for too long.
· The system shall keep track of the time and charge customers accordingly.
Non-functional Requirements:
· Internet connection for online activity.
· A confirmation email shall be sent when a customer creates an account.
· At least two cameras with excellent resolution shall be placed to read the license plate.
· Data from databases shall be kept in a file structure on the system.
· A cash register booth shall be placed for customers willing to pay cash.
· Proximity sensors shall be integrated into the system.
· The system shall detect an eligible vehicle for parking by detecting its height and weight.
· An admin shall be able to change the system’s settings to match their needs.
· The system shall be tested regularly to detect any bugs.
· The system shall be maintained and updated periodically.
· Compensation shall be handled by the parking lot owner.
· The system shall be compatible for any platform.
User Interface Requirements:
· Customers shall have a smart device and internet connection to create an account.
· Customers shall provide their email and password to sign in.
· The system shall provide an option to change or reset password.
· Customers shall be able to update their information online.
· Customers shall be able to choose the time frame they want to make reservations and have option to choose from available parking slots.
· Customers shall be able to pay online. Once the payment is confirmed, they shall receive an email with a confirmation code.
· Customers shall use the confirmation code to change or cancel reservation.
Requirement Analysis in Detail:
This system is created to implement online reservation in current parking garages. It will ease the process for customers and maximize profit for the parking garage owners. This web-based system is an optimal solution because it provides an efficient usage of parking spaces that by reducing congestion inside parking garages.
The planning for the project starts with the basics. Each space in the parking lot should have an address or an identification number so that the system can identify available and reserved spaces. Prices can vary depending on the spot and the time duration. Customers will have options to park on a one-time basis, weekly, or monthly. Reservations can be made both online and in person, but the online option will be much easier and flexible for customers.
The project implements a computerized garage system that enables customers to choose suitable spots for their vehicles online. The system will include user interface that eases the customer experiences. They can log into their account from anywhere with an internet connection. Customers can make reservations well in advance according to their needs. They can also make special requests, for example, a customer may only want to park on the first floor. Those requests will be handled by parking lot managers. Once a customer makes a reservation, the system updates the accessibility checklist of parking spot. Customer’s information will be stored in the system’s database for future reference and will be protected as well. Any customer who fails to abide by the parking garage rules will be blacklisted. The system will recognize blacklisted customers by matching their information and restricts them from making reservations. This system creates an easy and direct way for customers to pick their desired parking space at their desired time for desired period of time. This reduces the traffic flow inside the garage and uses parking spaces effectively. Online reservations will have benefits because they don’t have to wait in line compared to the customers who decide to walk-in. Walk-in customers may have a lot less option to choose for the spot depending on how busy it gets.
Use Cases:
· Registration: New account registration on the system.
· Sign In: Use information to login to the webpage.
· Update Information: Update customers account information online.
· View Spots: View available parking spots.
· Reservation: Reserve parking spots.
· Modify Reservation: Make changes to the previous reservation.
· Cancel Reservation: Cancel the reservation before parking.
· Ad-Hoc: Select the spot at the garage, without online reservation.
· Park Time: Customers reserved park time.
· Extra Park Time: Bonus Park time or added time for the customers who do not leave the garage by the reserved time.
· Total Park Time: Park Time + Extra Park Time
· Price: Customer’s price based on the park time and other factors like daily customers, premium packages.
· Unlock Door: Unlock the door and full access to walk-in customers to enter or exit the garage.
· Enter: Customer enter the garage.
· Exit: Customer exit the garage.
· No Availability: This will notify ad-hoc customers if there is no available spot at the garage.
· Manual Input: If there is any issue during online reservation, customers can input their information manually.
· Set Pricing: This is used for the override customers to set their pricing option.
· Payment: Pay the final price at the end of the parking time.
· Blacklist: Aware the manager about black-listed customers.
Project Goals:
The main objective of the project is to design a sophisticated system which seeks to maximize occupancy and profit while allowing the customer quick and easy access to parking.
The system relies on sensors, cameras, and a database to manage the garage. The web-based system shows all the available spaces and time and allows customers to create account and make reservations online from anywhere at any time as long as they have an internet connection. The license plate reader scans the plate number then passes the information to the system. The license reader syncs with the driver license and extract necessary information from the drivers license such as name, address, city state and the zip code. The information is stored in the database and can be used for returning customers to make the process fast.
Stakeholders:
1) Primary: Parking lot owners
Managers
Sponsors
2) Secondary: Client (Dr. Christopher Ogden)
Suggested Deliverables:
1) Throughout this system development process, we will be providing periodic reports to our client in the form of written statement followed by a presentation.
2) Our client can keep track of the ongoing process using a software application “Jira”. Developers will constantly update their progress in the app so that the client can view the entire development process and can pass the feedback if necessary.
3) Feasibility plan, business requirements, agreements and other necessary documents will be delivered to the client.
4) Demonstrations and training on the web-based system will be given to the client to make them familiar with the system.
Process To Be Followed:
The project will be implemented with the Agile Scrum Methodology. Scrum is a management system that consists of a group of techniques associated with the creation of a projects in multidisciplinary teams in which tasks are accomplished in short time frames also called sprints. Basically, it means segmenting a project into blocks to develop a simple but functional product and improve it little by little, as if in layers. It is assumed that the product or service in this case will change, evolve, constantly improving. In brief, the project will be implemented with the Agile Scrum management system because of five main reasons: better sizing of project, realistic project delivery date, quick team learning, fast and accurate feedback, and customer satisfaction.
Through Sprints, the segmentation of the project into small blocks makes project much more manageable than try to cover an entire project from start to finish. In this way it is easy to identify the objectives of each stage and even the possible setbacks that might be encountered along the way.
For the execution of large projects, one of the big mistakes is trying to take on too tight a delivery. Over a long period of time, there is a lot of room for unforeseen events and uncertainties to arise that delay delivery. The iterations of the Scrum methodology, by segmenting the objective to be delivered, make the margins of error much smaller. Consequently, the final delivery dates are much closer to what was planned.
The fact that the iterations are completed in a short space of time, normally between two weeks and a month, and that they are independent from the rest, allows learning to be obtained that can be used in the next sprints of the project. It is not necessary to finish the project to realize the errors, but it is learned and corrected as the project itself is developed.
The Scrum methodology proposes quick daily or weekly meetings depending on the team’s bandwidth where the team meets to analyze each member’s progress of the current spring. During the meeting, the most important questions are: What did you do yesterday? What will you do today? Are there any impediments in your way? This allows the team to learn the status of the project and propose solutions to potential setbacks. This way the prevention of unexpected outcomes is reduced, and delivery times are enhanced.
With Agile scrum methodology, all parts of a project are involved: collaborators, client, contributors, it is therefore a methodology that fosters responsibility within the team and provides a high level of autonomy. This factor is beneficial to involved parties providing them with confidence and customer satisfaction.
To leverage the benefits of Agile Scrum methodology, Jira is the project management software of use. This software has all the necessary tools and features to manage the project with Scrum qualities. Jira acts as the container of all project’s elements including tasks boards, project’s progress, timelines, repositories, communication, issues, deadlines, updates, etc. All these elements are synchronized and accessible in a friendly user interface through their website or mobile app. There are different tiers of services provided by Jira such as free, standard, and premium versions. The paid tiers (standard and premium) include access to more users and features that eases manual process. However, the free tier provides the needed resources for the execution of the Parking Lot project.
In essence, the project will be implemented with the Agile Scrum management system because of five main reasons: better sizing of project, realistic project delivery date, quick team learning, fast and accurate feedback, and customer satisfaction. The segmentation of the project into small blocks makes the project much more manageable. Also, makes the margins of error much smaller promoting the final delivery to be closer to what was planned. That also means that tasks are completed in a short space of time, allowing quick learning that helps identify potential issues during the development phase. Moreover, Scrum weekly stand-up meetings help the team to be aware of the project’s status preventing unexpected outcomes. With Agile scrum methodology, all parts of a project are involved. This encourages responsibility within the team that generates confidence and benefits client satisfaction.
Outline Model, Gantt Chart and Project Outline:
System architecture: Client-server n-tier
Figure 1: Outline Model
Figure 2: Gantt Chart
|
Name |
Start Date |
End Date |
Duration |
|
System Design |
Sep 19, 2022 |
Sep 30, 2022 |
10 days |
|
Proof of Concepts (POC) |
Sep 21, 2022 |
Oct 03, 2022 |
9 days |
|
Phase 1 Development |
Oct 03, 2022 |
Oct 25, 2022 |
17 days |
|
Front-end Dev |
Oct 03, 2022 |
Oct 25, 2022 |
17 days |
|
Back-end Dev |
Oct 03, 2022 |
Oct 21, 2022 |
15 days |
|
DB implementation |
Oct 03, 2022 |
Oct 17, 2022 |
11 days |
|
Access Control System implementation
|
Oct 04, 2022 |
Oct 17, 2022 |
10 days |
|
Integrations |
Oct 03, 2022 |
Oct 21, 2022 |
15 days |
|
Demo |
Oct 17, 2022 |
Oct 28, 2022 |
10 days |
|
System Demo Release (Milestone) |
Oct 28, 2022 |
Oct 28, 2022 |
0 days |
|
Phase 2 Refinement |
Oct 24, 2022 |
Nov 07, 2022 |
11 days |
|
Run QA |
Oct 24, 2022 |
Oct 26, 2022 |
3 days |
|
Testing |
Oct 24, 2022 |
Nov 01, 2022 |
7 days |
|
Fix bugs |
Oct 25, 2022 |
Nov 04, 2022 |
9 days |
|
Add new features |
Oct 25, 2022 |
Nov 07, 2022 |
10 days |
|
Regression Testing |
Nov 07, 2022 |
Nov 11, 2022 |
5 days |
|
Backlog Refinement |
Nov 07, 2022 |
Nov 21, 2022 |
11 days |
|
Testing |
Nov 14, 2022 |
Nov 21, 2022 |
6 days |
|
Deployment |
Nov 21, 2022 |
Nov 25, 2022 |
5 days |
|
Product Release (Milestone) |
Nov 25, 2022 |
Nov 25, 2022 |
1 day |
Figure 3: Project Outline
Business Consideration:
1) By introducing this Parking lot Automation, we are getting rid of unwanted human resources. Everything will be operated online. Employers will no longer have to walk around and look for empty spaces. This will save time too.
2) This system will be active and can be operated 24/7, 365 days with low-cost maintenance.
3) The system will save a lot of paperwork as most of the things are done online.
4) The new system will reduce the time for purchasing the parking tickets manually.
5) Parking lot Automation has a database design in such a way that it can maintain the user parking plans hourly, daily, weekly, monthly, and yearly and will deduct the amount automatically depending on the customer parking enrolment plan.
6) This system will be user-friendly and will assign the dedicative parking slots for the customer right immediately after payment so that it will reduce customer time in hunting for parking slots.
Visibility Plan:
As per the Business team requirement, the process deliverable will take around one quarter to complete end-to-end development and testing for the Parking Lot project. For this project, we are adopting an Agile scrum methodology and splitting up the work between team members. Team members will communicate among each other in the following ways:
1) Sprint Planning: Team members will meet in-person every week and make a list of tasks (product backlog) to be done for that sprint.
2) Sprint Review: After each sprint, team members will demonstrate their work. Each member will update other members about their work for that sprint. It is a cool way to celebrate progress among team members.
3) Microsoft Teams: Team members will constantly communicate using Microsoft teams. If someone needs an immediate help, they should ask for help in the teams group chat.
Team members will also constantly communicate with the client in the following ways:
1) Jira: An app called “Jira” will be used to keep track of the progress in the project. Every team member will post their update on the app. The client will also be given access so that they can view the development of the system and make requests to change/modify anything about the project if necessary.
2) Monthly Report: Monthly reports like feasibility plan and business requirements will be provided to the client to keep them updated about the work.
3) Presentations: Every month, a PowerPoint slide of designs and features implemented will be presented to the client. This way they can track the progress of the project.
4) Demonstration: After completion of each feature, it will be demonstrated to the client to get feedback from them.
Technical Feasibility:
· Server: The server is currently planned to be running NestJS, it will be run locally, and use TypeORM to access our database until production. Using NestJS allows us to quickly and easily add scheduled tasks (or cron services).
· Database: The database we use for testing will be run in a local environment using TypeORM. We will use an SQL database once we migrate to production. Using TypeORM to access the database allows us to easily add more complex queries in typescript instead of SQL.
· Website: The website is currently planned to use ReactJS. The website may need to be updated to use different endpoint calls when moved to production. Using ReactJS allows us to quickly create and edit web pages and call endpoints.
Risk Analysis:
· Time Risks: We currently are planning out the next few months to have this project complete. However, if something does come up and we are unable to solve the issue, we may need to cut back on one or more features to have this project complete by the end of the timeframe.
· System Migration: While we use a locally run server and database to test, hosting one or finding a provider to host may prove challenging or costly. To avoid any confusion or costly mistakes, we will ask the client their opinion on the matter.
· Functionality Risks: As we progress through the project, some functional requirements may be changed or altered by the client or seen as infeasible to implement. We will talk with the client through this process and adjust our scope accordingly.
· Risk Management: To avoid any surprises for the client, we will keep in contact when something does arise that would throw off the schedule for delivery and milestones. We will also try to minimize this by scheduling time for bugs, unexpected features, and anything else that may arise during the course of this project.
Database Design:
Our database will have multiple tables to improve query times and to avoid as much redundant data as possible. Here is a preliminary list of all the tables, and associated attributes. All tables and attributes are subject to change given client requirements or technical challenges arise.
· Members : name (string), member_id (number), license_plate (string), vin (number), card_id (number)
· EventHistory: event_type(enum), member_id (number), license_plate (string), timestamp (moment)
· ReservationUpdateHistory: update_type (enum), member_id (number), updated_info (string), timestamp (moment)
· AccountUpdateHistory: UpdateType (enum), member_id (number), UpdatedInfo (string), Timestamp (moment)
· Reservations: start (moment), end (moment), member_id (number), reservation_id (number), backup_entry (optional string)
· TransactionHistory: duration (number), member_id (number), date (moment)
· PaymentCards: card_id (number), card_number (encrypted number)
· Blacklist: member_id (number), reason (string)
· LoginTable: member_id (number), password (encrypted string, optional), email (string, optional), bearer_token (string, optional)
|
Table Name |
Primary Key |
Foreign Key |
Links To |
Relation Type |
|
Members |
member_id |
|
|
|
|
Event History |
event_id |
member_id |
Members |
Many to One |
|
Account Update History |
update_id |
member_id |
Members |
Many to One |
|
Reservations |
reservation_id |
member_id |
Members |
Many to One |
|
Reservation Update History |
update_id |
member_id |
Members |
Many to One |
|
Transaction History |
transaction_id |
member_id |
Members |
Many to One |
|
Payment Card |
card_id |
card_id |
Members |
One to One |
|
Blacklist |
member_id |
member_id |
Members |
One to One |
|
Login Information |
login_id |
login_id |
Members |
One to One |
Table 1: Database Design
Conclusion:
Based on this report, the project is feasible on all aspects. The team is capable of completing this project and will like to take on the project and complete all milestones within the given period of time. Even though there might occur some technical difficulties, the benefits of developing this system definitely overrule those difficulties. This project will give customers the best experience with an easier interface to make reservations online while also maximizing profits for the parking lot owners by optimally using the parking spaces and significantly reducing unnecessary costs like paperwork and additional employees.
1