I200761 I200766 Project Report
I200761 I200766 Project Report
Submitted To:
Dr. Javaria Imtiaz
Course:
CS-3004 Software Design and Analysis
Company Name:
BLITZ
Project Title:
Bus Reservation System
INTRODUCTION
Project Title:
Bus Reservation and Management System
Scope:
Domain:
The domain is Transportation Management System.
Previous Tools:
▪ Daewoo Express (Pakistan)
▪ RedCoach (US)
▪ RedBus (India)
Future Prospects:
As we move towards more eco-friendly world, the use of buses is
increasing and use of personal transport is being discouraged. The
demand for buses is increasing and customers not only require
comfortable and air-conditioned buses but also want ease of
reservation and inquiry system. They want the best routes that suits
their travel and a good bus reservation and management system will
be handy in this case.
Objectives:
The project will be useful both for the bus users and bus managers. The
users will be able to make reservations for chosen date, time and route. They
will be able to cancel tickets and apply for a refund at the ease of their home.
They will also be able to inquire is case they face some problem. On the
other hand, the bus managers will be able to create new routes and enter
upcoming schedules. They will be able to keep track of all the reservations
and customers. They will be able to keep track of the buses. They will be
able to make announcements in case of any emergency or reschedules. They
will also be able to respond to users’ queries.
Problem Statement and Description:
The project aims to solve the problem of tedious ticket booking systems and
clashes in bus schedules. Most of the time, bus users have to book a ticket
prior to their travel schedule by visiting the bus station. This seems hectic in
today’s busy world. You have to stand in a queue to get your ticked booked.
Often, the bus gets full despite all the effort and the bus users are
disappointed to look for other solutions. Similarly, sometimes the bus gets
delayed or rescheduled, and there are no means to inform users. This results
in more waste of time. All these factors contribute to low reputation of bus
company.
Moreover, if we look on the company side, doing all the manual ticketing
requires a lot of effort and increases human labor. By doing everything
manual, the accounts might get into an error at the end of the day. Also, by
not keeping track of customers and their travel histories, the company miss a
lot of useful insights that could have been used to boost the revenue of the
company. For example, the most busy routes need more buses. So, providing
more schedules to these routes will result in more reservations. Also,
company misses user feedback due to lack of a management system.
All these problems are the focus of our project.
OVERALL DESCRIPTION
List of Use Cases
• Purchase Ticket
• Refund Ticket
• Add Schedules
• Manage Account
• Give Feedback/Review
• Manage Buses
• Generate Reports
Extended Use Case-1 (20I-0761)
Level: User-Goal
Stakeholder Interest
Bus User Wants to successfully purchase the tickets.
Bus Manager Wants to make sure that each purchase is recorded correctly.
Owner Wants to make sure that all purchases are done correctly and
the accounts matches with purchase records.
Auditor Wants to make sure that all purchases are done in legal way
and there are no anomalies in the purchase records.
Preconditions:
▪ The bus user must have an active account.
▪ The bus must not be full.
Postcondition:
▪ The purchase is correctly recorded.
▪ The bus user’s travel history is updated.
Main success scenario:
Extensions:
*a. The system crashes at any time.
1. The system is restarted and payment status is verified with
payment gateway.
2. The payment is rolled back if state is inconsistent.
1a. The user has no account.
1. The system displays sign up option and guide user to create a new
account.
2a. The system fails to authenticate user credentials.
1. The system displays appropriate message and asks user to
re-enter credentials.
7a. All seats are reserved.
1. The system displays appropriate message.
9a. The bus user changes his mind and does not confirms the payment.
1. The system roll backs the whole payment.
Extended Use Case-2 (20I-0761)
Level: User-Goal
Stakeholder Interest
Bus User Wants to successfully refund the purchased tickets.
Bus Manager Wants to make sure that each refund is recorded correctly.
Owner Wants to make sure that all refunds are done correctly and
the accounts matches with refund records.
Auditor Wants to make sure that all refunds are done in legal way
and there are no anomalies in the records.
Preconditions:
▪ The bus user must have an active account.
▪ The tickets must be purchased before refund.
Postcondition:
▪ The refund is correctly recorded.
▪ The bus user’s travel history is updated.
Main success scenario:
Extensions:
*a. The system crashes at any time.
1. The system is restarted and refund status is verified with payment
gateway.
2. The refund is rolled back if state is inconsistent.
1a. The user has no account.
1. The system displays sign up option and guide user to create a new
account.
2a. The system fails to authenticate user credentials.
1. The system displays appropriate message and asks user to re-enter
credentials.
7a. The bus user changes his mind and does not confirms the refund.
1. The system roll backs the whole refund.
Extended Use Case-3 (20I-0761)
Level: User-Goal
Stakeholder Interest
Bus User Wants to reserve and purchase tickets for schedules of his
choice.
Bus Manager Wants to make sure that there are enough schedules for each
day and there are no clashes in schedules.
Owner Wants to make sure that all schedules are recorded and
purchases and reservation against each schedule are made
successfully.
Preconditions:
▪ The Bus Manager must be authenticated.
▪ There must be no existing schedule of the same bus at new
schedule time.
Postcondition:
▪ The schedule is recorded.
▪ The schedule is available to bus users for reservation.
▪ The bus for schedule is marked unavailable for the scheduled
time.
Main success scenario:
Extensions:
*a. The system crashes at any time.
1. The system is restarted and schedule is rolled back.
2a. The system fails to authenticate manager’s credentials.
1. The system displays wrong credentials message and asks manager
to re-enter credentials.
7a. The bus chosen is not available or has clash with another schedule.
1. The system displays unavailability message and asks manager to
chose another bus.
8a. The manager changes his mind and does not confirm the schedule.
1. The system roll backs the whole schedule.
9a. The system fails to record the schedule.
1. The system roll backs the schedule and informs the manager.
Extended Use Case-4 (20I-0761)
Level: User-Goal
Stakeholder Interest
Bus User Wants to successfully create his account, log in his account,
update his account or deactivate his account.
Bus Manager Wants to make sure that there are no ambiguities, duplicate
registrations or concurrent logins.
Owner Wants to make sure that all accounts and corresponding data
is correctly maintained.
Preconditions:
▪ The bus user must be eligible (by age) to create an account.
▪ There bus user must not have an existing account if creating a
new one.
▪ The bus user must not have concurrent login status.
Postcondition:
▪ The bus user can now access all services of the system.
▪ The bus user account is correctly recorded.
▪ The login is correctly recorded in log.
Main success scenario:
Extensions:
*a. The system crashes at any time.
1. The system is restarted.
2. The account status is confirmed and system proceeds accordingly.
Create-Account
2a. Account already exists for corresponding CNIC.
1. The system displays appropriate message.
Login-Account
2a. The system fails to authenticate user credentials.
1. The system displays appropriate message and asks user to
re-enter credentials.
Edit-Account
2a. The system fails to authenticate user credentials.
1. The system displays appropriate message and asks user to
re-enter credentials.
Deactivate-Account
2a. The system fails to authenticate user credentials.
1. The system displays appropriate message and asks user to
re-enter credentials.
4a. The bus user changes his mind and does not confirms the deactivation.
2. The system roll backs the whole deactivation.
Extended Use Case-5 (20I-0766)
Level: User-Goal
Stakeholder Interest
Bus User Wants to check his travel history with the company.
Bus Manager Wants to make sure that travel history is accurate and
reflects each purchase and refund.
Owner Wants to make sure that travel history is correctly recorded
so the company may offer rewards in future.
Preconditions:
▪ The bus user must have an active account.
▪ The user must at least have one travel record.
Postcondition:
▪ No Post Condition.
Main success scenario:
Extensions:
*a. The system crashes at any time.
1. The system is restarted.
2. The prior state is recovered.
1a. The user has no account.
1. The system displays sign up option and guide user to create a new
account.
2a. The system fails to authenticate user credentials.
1. The system displays appropriate message and asks user to re-enter
credentials.
4a. The user has no travel schedule.
1. The system displays appropriate message.
6a. The user has no travel schedule of required filters.
1. The system displays appropriate message.
Extended Use Case-6 (20I-0766)
Level: User-Goal
Stakeholder Interest
Bus User Wants to successfully review his travel and give feedback to
the company.
Bus Manager Wants to make sure that each review and feedback is
correctly saved and transferred to higher authorities.
Owner Wants to make sure that all reviews and feedbacks are
considered to make the system better.
Preconditions:
▪ The bus user must have an active account.
▪ The user must at least have one travel record.
Postcondition:
▪ The feedback/review is correctly recorded.
▪ The feedback/review is visible to Bus Manager.
Main success scenario:
Actor Action System Response
1. The bus user enters his login 2. The system authenticates user
credentials. account.
3. The bus user requests travel 4. The system returns all the travelled
history. schedules.
5. The bus user select a specific 6. The system gives detail of selected
travelled schedule. schedule.
7. The bus user enters his rating out 8. The system approves and saves the
of five and gives optional feedback in review.
the form of comments.
Extensions:
*a. The system crashes at any time.
1. The system is restarted and review is rolled back.
1a. The user has no account.
1. The system displays sign up option and guide user to create a new
account.
2a. The system fails to authenticate user credentials.
1. The system displays wrong credentials message and asks user to
re-enter credentials.
4a. The user has no completed travel schedule.
1. The system displays appropriate message.
8a. The system fails to save the review.
1. The system roll backs the review and informs the user.
8b. The user has already reviewed the selected schedule.
1. The system displays appropriate message.
Extended Use Case-7 (20I-0766)
Level: User-Goal
Stakeholder Interest
Bus User Wants to have comfortable travel in buses.
Bus Manager Wants to make sure that each registered bus is used in
schedules correctly and their status is maintained with
respect to schedules.
Owner Wants to make sure that all buses are correctly registered or
removed and their record is maintained.
Preconditions:
▪ The bus must be registered with country’s laws and
regulations.
▪ There bus must not already be added to system.
Postcondition:
▪ The Bus Manager can/cannot use corresponding bus in
schedules if bus is added, and deleted respectively.
▪ The bus details are correctly recorded/displayed/deleted if bus
is added, viewed, and deleted respectively.
Main success scenario:
CRUD Actor Action System Response
1. The Bus Manager enters 2. The system authenticates
his login credentials. manager’s account.
3. The Bus Manager adds 4. The system returns new bus.
new bus.
Add-Bus 5. The Bus Manager enters 6. The system approves new bus
bus details (unique bus and makes it available for
number, model, total seats). schedules.
3. The Bus Manager 4. The system returns all buses.
requests all buses.
View-Bus 5. The Bus Manager selects 6. The system returns details of
a specific bus. specific bus.
3. The Bus Manager 4. The system returns all buses.
requests all buses.
5. The Bus Manager selects 6. The system returns details of
a specific bus. specific bus.
7. The Bus Manager
Remove-Bus requests the deletion of
bus.
8. The Bus Manager 9. The system approves the
confirms the deletion of deletion of bus and makes it
bus. unavailable for schedules.
Extensions:
Level: User-Goal
Stakeholder Interest
Bus Manager Wants to successfully save daily, weekly and monthly
reports to files and send it to required authorities.
Owner Wants to make sure that all reports are accurate and matches
with the accounts.
Auditor Wants to make sure that all transactions in the reports are
done in legal way and there are no anomalies in the
purchase/refund records.
Preconditions:
▪ The Bus Manager must be authenticated.
▪ There Bus Manager must be authorized by concerned
authorities to generate respective report.
Postcondition:
▪ The correct report is generated with all required data.
▪ The report has save option.
Main success scenario:
Extensions:
*a. The system crashes at any time.
1. The system is restarted.
2a. The system fails to authenticate manager’s credentials.
1. The system displays wrong credentials message and asks manager
to re-enter credentials.
3a. The chosen time frame is invalid.
1. The system displays appropriate message.
8a. The system fails to save the report to file.
The system displays appropriate message.
Use Case Diagram
DOMAIN MODEL
SYSTEM SEQUENCE DIAGRAM
System Sequence Diagram-1
- userLogin(CNIC,password):
- getSchedules():
- selectSchedule(schedule_id):
- selectSeats(seat_ids):
- makePurchase():
Sequence Diagrams for Usecase-2
- userLogin(CNIC,password):
- getActiveReservations():
- calculateRefund(seats_count):
- confirmRefund(seat_ids):
Sequence Diagrams for Usecase-3
- managerLogin(CNIC,password):
- createSchedule(dateTime):
- getRoutes():
- assignRoute(route):
- getAvailableBuses():
- assignBus(bus):
- postSchedule():
Sequence Diagrams for Usecase-4
- Create Account:
- Login Account:
- Edit Account:
- Deactivate Account:
Sequence Diagrams for Usecase-5
- userLogin(CNIC,password):
- getCompletedReservations():
- filterReservations(all_reservations,filters):
Sequence Diagrams for Usecase-6
- userLogin(CNIC,password):
- getCompletedReservations():
- checkFeedbackStatus(reservation_id):
- giveFeedback(reservation_id,rating,comments):
Sequence Diagrams for Usecase-7
- Add Bus:
- View Buses:
- Remove Bus:
Sequence Diagrams for Usecase-8
- createReport(timeFrame):
- populateReport(report_type):
- saveReport(filename):
CLASS DIAGRAM