0% found this document useful (0 votes)
36 views14 pages

Vikki SE MiniProject

The document outlines a mini project on a Software Engineering approach to a Parking Management System, aimed at addressing inefficiencies in traditional parking methods through automation and real-time management. It details the system's features, including user registration, dynamic slot allocation, and fee calculation, developed using Agile methodology and various programming technologies. The project emphasizes modular design, robust testing, and future enhancements for improved urban mobility solutions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views14 pages

Vikki SE MiniProject

The document outlines a mini project on a Software Engineering approach to a Parking Management System, aimed at addressing inefficiencies in traditional parking methods through automation and real-time management. It details the system's features, including user registration, dynamic slot allocation, and fee calculation, developed using Agile methodology and various programming technologies. The project emphasizes modular design, robust testing, and future enhancements for improved urban mobility solutions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

DEPARTMENT OF INFORMATION COMMUNICATION &

TECHNOLOGY
MINI PROJECT
OF
BCA-108
SOFTWARE ENGINEERING LAB
Academic Session: 2024-25
Session:
Batch: 2024-28

Submitted to: Submitted


Dr. Rajesh Kumar Name: Vikram Singh
(Subject-In-Charge) Enrollment No.: 02221302024
Program: BCA
nd
Semester: 2
Shift: II-Evening
Division: A
DEPARTMENT OF INFORMATION COMMUNICATION &
TECHNOLOGY
Project Title: SOFTWARE ENGINEERING APPROACH TO PARKING MANAGEMENT
SYSTEM

Subject: SOFTWARE ENGINEERING

Session: 2024-25

Submitted to: DR. RAJESH KUMAR

Program & Sem: BCA II-SEMESTER


Submitted by: MAYANK KUMAR JHA

Vikram Singh
02221302024
ABSTRACT

The rapid increase in urban vehicular traffic has created a pressing need for efficient and intelligent parking
management solu ons. Tradi onal manual parking systems are o en inefficient, me-consuming, and prone
to human error, resul ng in traffic conges on, user frustra on, and opera onal difficul es. This project
presents a so ware-based Parking Management System developed using core so ware engineering
principles to address these challenges by providing an automated, real- me, and user-friendly pla orm for
managing parking opera ons.

The system facilitates user registra on, vehicle check-in/check-out, dynamic slot alloca on, and automated
fee calcula on, all managed through an intui ve interface. It incorporates data structures for efficient queue
and slot management and follows a modular architecture that separates presenta on, logic, and data layers
to enhance maintainability and scalability. The applica on is supported by a robust backend using SQL
databases and integrates real- me features such as live slot tracking and administra ve controls.

Developed using the Agile methodology, the system was thoroughly tested for performance, usability, and
accuracy under various condi ons. It provides significant improvements over manual systems by enhancing
speed, reducing human involvement, and offering ac onable analy cs to administrators. With poten al for
future enhancements like IoT integra on, mobile support, and smart payments, the Parking Management
System serves as a founda onal step toward smarter urban mobility solu ons.

Vikram Singh
02221302024
INTRODUCTION

The Parking Management System is a modern so ware solu on developed to tackle the growing challenges
associated with urban vehicle parking, especially in areas experiencing high traffic and limited space. With
an increase in the number of vehicles and limited infrastructure, tradi onal parking systems fall short in terms
of efficiency, space u liza on, and user sa sfac on. This project aims to design and implement a
comprehensive Parking Management System that digi zes and streamlines all aspects of the parking process,
from slot assignment to fee calcula on, ensuring enhanced convenience, real- me tracking, administra ve
control, and security. By automa ng the en re workflow and minimizing human interven on, the system
aims to deliver a robust, user-centric pla orm that can be scaled and customized for commercial,
ins tu onal, or public parking environments.

PROJECT OVERVIEW

The Parking Management System is a so ware engineering project designed to automate and streamline
the en re process of vehicle parking within confined or commercial spaces. The project was ini ated to
address common problems associated with tradi onal parking methods such as inefficient space u liza on,
long queues, lack of real- me slot tracking, manual error, and overall user dissa sfac on.

This system is intended to manage parking spaces effec vely by providing key features such as user
registra on and authen ca on, real- me parking slot alloca on, automa c recording of vehicle entry and
exit mes, dynamic parking fee calcula on, and an administra ve control panel for managing system
opera ons. It leverages fundamental concepts from Data Structures and Algorithms (DSA) and applies them
in a real-world applica on through the use of so ware engineering prac ces.

The architecture follows a layered approach separa ng the presenta on, logic, and data access layers to
promote modularity and maintainability. Technologies used in the development include programming
languages like Python or Java, a rela onal database such as MySQL or SQLite, and web technologies for the
user interface. Agile methodology was employed during the development process, allowing itera ve
progress, tes ng, and con nuous integra on of user feedback.

The project was tested for various scenarios such as full capacity, fee accuracy, concurrent users, and
performance reliability. Overall, the Parking Management System not only simplifies the parking experience
for users but also provides administrators with powerful tools to monitor, analyze, and op mize parking
space usage

REQUIREMENTS ANALYSIS

FUNCTIONAL REQUIREMENTS:

User authen ca on through registra on and secure login creden als to ensure only authorized access

1. Capture of vehicle details such as license plate number, vehicle type, and owner name upon entry
2. Automated real- me alloca on of available parking slots using efficient slot management algorithms
Vikram Singh
02221302024
3. Recording of exact mestamps for vehicle entry and exit for accurate dura on tracking
4. Dynamic calcula on of parking fees based on hourly or frac onal hourly rates, vehicle category, and
peak hour adjustments
5. Administra ve panel to allow parking staff or system managers to oversee opera ons, manage
available slots, monitor ac vity logs, and view system reports
6. Automated genera on of printable and digital receipts upon vehicle exit with breakdowns of me
and charges
7. Display of live parking availability status to users through the interface

Non-func onal Requirements:

User interface must be clean, intui ve, and responsive across various devices such as desktops, tablets, and
mobile phones

1. High-performance backend logic capable of handling mul ple user requests and parking events
concurrently without lag
2. Reliable system behavior with minimum down me and fault tolerance to ensure con nuity of
service
3. Security mechanisms including password encryp on, input valida on, and data protec on prac ces
to secure sensi ve user and vehicle informa on
4. Scalability so that the system can be easily adapted to larger or mul -loca on parking setups
5. Maintainability through modular code, proper documenta on, and adherence to design pa erns

SYSTEM DESIGN

Use Case Diagram:

The system consists of two primary actors: the User (vehicle owner or visitor) and the Admin (system
operator or manager). Key use cases include:

 User: Register, Login, View Slot Availability, Park Vehicle, Exit Vehicle, View Receipt
 Admin: Login, Add/Edit/Delete Parking Slots, View Ac ve Vehicles, Generate Reports, Monitor Parking
Sta s cs

Vikram Singh
02221302024
Data Flow Diagram (Level 0):

The Level 0 DFD highlights the high-level flow of data:

 The user ini ates ac ons via the interface (registra on, parking, exit)
 The system processes the request by interac ng with the database to retrieve or update slot and
vehicle informa on
 Entry and exit mes are recorded, and the system calculates the appropriate fee before genera ng a
receipt
 The admin can view reports and manage system data through the control panel

Architecture Diagram:

The system follows a mul - er architecture with the following layers:

 Presenta on Layer: This includes all interfaces for both the user and admin, developed using web
technologies such as HTML, CSS, and JavaScript, or through desktop/mobile apps
 Business Logic Layer: Contains the core logic for handling slot management, vehicle data processing,
fee calcula ons, and valida on rules
 Data Access Layer: Responsible for execu ng all database opera ons using SQL queries and managing
structured data storage
 Database Layer: Stores persistent data including user creden als, vehicle logs, slot availability, and
transac on records

Vikram Singh
02221302024
TOOLS AND TECHNOLOGIES

Programming Language: C programming Language is used in this project

C Code:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define MAX_SIZE 5

typedef struct Vehicle {

char number[15];

struct Vehicle* next;

} Vehicle

typedef struct Stack {

Vehicle* top;

int count;

} Stack;

void initStack(Stack* s) {

s->top = NULL;

s->count = 0;

void push(Stack* s, char* number) {

if (s->count == MAX_SIZE) {

prin ("Parking Full!\n");

return;

Vehicle* newVehicle = (Vehicle*)malloc(sizeof(Vehicle));

strcpy(newVehicle->number, number);

newVehicle->next = s->top;

s->top = newVehicle;

s->count++;

Vikram Singh
02221302024
prin ("Vehicle %s parked.\n", number);

void pop(Stack* s) {

if (s->count == 0) {

prin ("No vehicles in parking.\n");

return;

Vehicle* temp = s->top;

prin ("Vehicle %s removed.\n", temp->number);

s->top = s->top->next;

free(temp);

s->count--;

void displayStack(Stack* s) {

if (s->count == 0) {

prin ("Parking is empty.\n");

return;

Vehicle* temp = s->top;

prin ("Parked Vehicles:\n");

while (temp) {

prin ("%s\n", temp->number);

temp = temp->next;

} }

typedef struct Queue {

Vehicle vehicles[MAX_SIZE];

int front;

int rear;

} Queue;

Vikram Singh
02221302024
void initQueue(Queue* q) {

q->front = 0;

q->rear = 0;

int isFull(Queue* q) {

return q->rear == MAX_SIZE;

int isEmpty(Queue* q) {

return q->rear == q->front;

void enqueue(Queue* q, char* number) {

if (isFull(q)) {

prin ("Parking Full!\n");

return;

strcpy(q->vehicles[q->rear].number, number);

q->rear++;

prin ("Vehicle %s parked.\n", number);

void dequeue(Queue* q) {

if (isEmpty(q)) {

prin ("No vehicles in parking.\n");

return;

prin ("Vehicle %s removed.\n", q->vehicles[q->front].number);

// Shi all vehicles one posi on forward

for (int i = q->front; i < q->rear - 1; i++) {

q->vehicles[i] = q->vehicles[i + 1];

Vikram Singh
02221302024
q->rear--;

void displayQueue(Queue* q) {

if (isEmpty(q)) {

prin ("Parking is empty.\n");

return;

prin ("Parked Vehicles:\n");

for (int i = q->front; i < q->rear; i++) {

prin ("%s\n", q->vehicles[i].number);

int main() {

Stack parkingStack;

Queue parkingQueue;

int choice;

char vehicleNumber[15];

initStack(&parkingStack);

initQueue(&parkingQueue);

while (1) {

prin ("\n1. Park (Stack) 2. Remove (Stack) 3. Display (Stack) 4. Park (Queue) 5. Remove (Queue) 6.
Display (Queue) 7. Exit\n");

prin ("Enter choice: ");

scanf("%d", &choice);

switch (choice) {

case 1:

prin ("Enter vehicle number: ");

scanf("%s", vehicleNumber);

push(&parkingStack, vehicleNumber);

Vikram Singh
02221302024
break;

case 2:

pop(&parkingStack);

break;

case 3:

displayStack(&parkingStack);

break;

case 4:

prin ("Enter vehicle number: ");

scanf("%s", vehicleNumber);

enqueue(&parkingQueue, vehicleNumber);

break;

case 5:

dequeue(&parkingQueue);

break;

case 6:

displayQueue(&parkingQueue);

break;

case 7:

exit(0);

default:

prin ("Invalid choice! Try again.\n");

return 0;

Database: MySQL for rela onal data management, SQLite for lightweight setups, or PostgreSQL for large-
scale deployments

Web Technologies: HTML, CSS, JavaScript, Bootstrap for responsive design

Vikram Singh
02221302024
Development Tools: Visual Studio Code for coding, Git and GitHub for version control and team collabora on,
Figma for UI/UX design mockups

DEVELOPMENT PROCESS

So ware Development Life Cycle (SDLC) Model: The Agile development methodology was chosen to manage
this project due to its flexibility, itera ve nature, and ability to incorporate client feedback. The project was
divided into sprints, each las ng one to two weeks. At the end of each sprint, deliverables such as UI
prototypes, slot assignment logic, or database integra on were reviewed and tested.

Each phase of Agile included:

 Sprint Planning: Se ng objec ves and deliverables


 Daily Stand-ups: Discussing progress and obstacles
 Sprint Review: Demonstra ng completed features
 Sprint Retrospec ve: Reflec ng on challenges and improvement opportuni es
 Version Control and Collabora on: Git was used to track code changes, maintain version history, and
facilitate collabora on through feature branches and pull requests

GitHub acted as the central repository for code storage and documenta on, suppor ng team contribu ons

Tes ng Strategies:

 Unit Tes ng: Every core module (e.g., login, slot assignment, fee calculator) was tested independently
 Integra on Tes ng: Modules were tested together to ensure seamless opera on across layers
 User Acceptance Tes ng: Final product was tested by a small group of intended users to gather
usability feedback
 Performance Tes ng: Load tests were simulated to ensure system could handle peak parking hours

IMPLEMENTATION

The core logic of the system was implemented using modular programming principles. The following
components were key:

 SlotManager Module: Implements algorithms to allocate the nearest or most op mal parking slot
based on predefined rules such as proximity, vehicle size, and availability
 VehicleManager Module: Handles registra on, check-in, and check-out of vehicles, and links each
record with mestamps
 PaymentModule: Calculates fees using a dynamic pricing structure and generates receipts, taking into
account total dura on and applied rates
 Queue System: Implemented using data structures such as linked lists or queues to manage vehicles
wai ng for an available slot during full capacity
 Database Integra on: SQL queries and APIs were created to allow efficient inser on, updates, and
retrieval of vehicle and parking slot data
 Admin Dashboard: Provides real- me sta s cs on occupancy, earnings, and ac ve sessions, allowing
for quick decision-making and management

Vikram Singh
02221302024
TESTING AND EVALUATION

A detailed test plan was followed to ensure the quality and reliability of the system. Some of the key test
cases include:

 Test Case 1: Register a new user –


Expected: Success message, user added to database
Result: Pass

 Test Case 2: Vehicle entry when slots are available –


Expected: Slot assigned, entry me recorded
Result: Pass

 Test Case 3: Vehicle entry when slots are full –


Expected: Display appropriate wait or deny message
Result: Pass

 Test Case 4: Exit vehicle and generate bill –


Expected: Accurate fee calculated, receipt generated

Result: Pass

 Test Case 5: Admin updates parking slot info –


Expected: Slot data updated in database
Result: Pass

 Test Case 6: Concurrent user access simula on –


Expected: No data corrup on or race condi ons
Result: Pass

LEARNING OBJECTIVES

By undertaking and comple ng the Parking Management System project, the following learning objec ves
were achieved:

1. Understanding So ware Engineering Principles: Gained hands-on experience in applying the


So ware Development Life Cycle (SDLC), par cularly Agile methodology, to build a real-world
applica on from planning to deployment.

2. Requirement Analysis and Specifica on: Learned to gather, document, and analyze both func onal
and non-func onal requirements essen al for building a user-centric system.

3. System Design and Architecture: Understood how to design system architectures using layered
models, and how to represent use cases, data flows, and component interac ons effec vely.

Vikram Singh
02221302024
4. Implementa on of Data Structures and Algorithms: Applied core DSA concepts such as queues,
arrays, and hash maps to manage parking slots, wai ng lists, and vehicle informa on efficiently.

5. Database Design and Management: Acquired skills in designing normalized rela onal databases,
wri ng SQL queries, and integra ng backend logic with persistent storage.

6. Frontend and Backend Integra on: Developed the ability to create interac ve and responsive user
interfaces and link them with backend logic to ensure smooth data flow and user experience.

7. Tes ng and Debugging: Prac ced wri ng test cases, performing unit and integra on tes ng, and
using debugging tools to ensure so ware quality and reliability.

8. Version Control and Team Collabora on: Used Git and GitHub for code versioning, collabora on, and
maintaining a clean project history through structured commits and branches.

9. Problem-Solving in Real-World Contexts: Tackled challenges such as real- me data handling,


concurrent access issues, and dynamic fee calcula on, enhancing analy cal and logical thinking skills.

10. Documenta on and Repor ng: Gained experience in wri ng clear, structured technical
documenta on, including reports, abstracts, and user manuals, aligning with academic and industry
standards.

CONCLUSION

The Parking Management System project represents a successful applica on of so ware engineering
principles to solve a prac cal urban problem. By automa ng the most me-consuming and error-prone tasks
in parking management, it enhances both user sa sfac on and administra ve control. The system’s modular
architecture ensures maintainability, and the responsive design guarantees accessibility across pla orms.

In the future, this system can be expanded with features such as:

 Mobile applica on for remote slot booking and no fica ons


 Real- me slot detec on using IoT sensors and smart cameras
 Integra on with payment gateways for online and contactless transac ons
 Dynamic pricing based on demand and availability (surge pricing)
 Parking analy cs dashboard for administrators and city planners to analyze usage pa erns and
op mize infrastructure

REFERENCES

 Pressman, Roger S. "So ware Engineering: A Prac oner’s Approach."


 MySQL, Python, and Java official documenta on
 GitHub Guides on collabora on and version control

Vikram Singh
02221302024

You might also like