Professional Documents
Culture Documents
Project Report
Submitted by Supervised by
APPROVAL
This Project titled Automated Bus Ticket Booking system, submitted by Md.Farhad
Hossain ID No: 111-35-181 and other group member Abdur Rahman Shobuj ID No: 111-35-
158 to the Department of Software Engineering, Daffodil International University, has been
accepted as satisfactory for the partial fulfillment of the requirements for the degree of B.Sc.
in Software Engineering and approved as to its style and contents.
BOARD OF EXAMINERS
DECLARATION
| Page |3
We hereby declare that, this project has been done by us under the supervision Mr. Kaushik
Sarker Lecturer, Department of Software Engineering, and Daffodil International
University. We also declare that neither this project nor any part of this project has been
submitted elsewhere for award of any degree.
Supervised by:
Submitted by:
Table of Contents
Project Report ......................................................................................................................................... 1
Chapter 1 ............................................................................................................................................... 10
Introduction ....................................................................................................................................... 10
1.2 Purpose of the Project ................................................................................................................. 10
1.3Document Conventions ................................................................................................................ 11
1.4 Scope ........................................................................................................................................... 13
1.5 Objectives ................................................................................................................................... 13
CHAPTER 2 ......................................................................................................................................... 14
Pre-Analysis and Initiation ............................................................................................................... 14
2.1Scenario........................................................................................................................................ 14
2.2Requiremet Collection ..................................................................................................................... 17
2.3Associate Review ............................................................................................................................. 18
2.4 Customers Requirements ............................................................................................................... 21
CHAPTER 3 ......................................................................................................................................... 23
Analysis ............................................................................................................................................ 23
3.1Introduction .................................................................................................................................. 23
3.1 Requirement analysis ...................................................................................................................... 23
3.1.1 Requirement Discovery..................................................................................................... 24
3.1.3: Requirement Collection functional requirements ................................................................... 26
3.1.4: Collected Non Functional Requirements .............................................................................. 27
3.2 Requirement analysis .................................................................................................................. 28
3.2.1: Introduction..28
3.2.2
Purpose
28
3.2.3 Scope.29
3.2.4 Definition of Acronyms and Abbreviations29
3.3.2: Non Functional Requirements ................................................................................................ 32
3.3.3 Stakeholders ............................................................................................................................. 33
3.3.4: Software Development Plan ....................................................................................................... 33
3.3.5: Overview................................................................................................................................. 33
3.3.5.1 Proposed System and Its benefits..34
3.3.5.3Process Model35
3.3.5.4 Work Schedule...36
| Page |5
4.1Introduction .................................................................................................................................. 37
4.2: Purpose....................................................................................................................................... 37
4.3: System Overflow ....................................................................................................................... 38
4.4: SYSTEM SCOPE ...................................................................................................................... 38
Main Inputs38
Outputs...38
4.5: Design Map ................................................................................................................................ 39
4.6: Use Case .................................................................................................................................... 40
4.7: Use case Diagram for operator and Visitors /Passenger ............................................................ 41
Use case diagram of Operator (Counter master) and General user means Registered user and non-
Registered user .................................................................................................................................. 41
4.8.1: Context diagram (Level 0 DFD) 42
4.9 Class Diagram ............................................................................................................................. 43
4.2.1 Categories of Table of Physical design of database table: ....................................................... 45
4.2.1.1 Table name: Bus45
4.2.1.2 Table name: Counter.45
4.2.1.3 Table name: User...45
4.2.1.4 Table name: assign counter46
4.2.1.5 Table name: Station..46
4.2.1.6Table name: Departure_config.46
4.2.1.7 Table name: Bus seats..46
4.2.1.8 Table name: Passenger.47
4.2.1.9 Table name: Seat Booking47
4.2.2 Sequence Diagram ................................................................................................................... 48
4.2.3 Sequence Diagram for General User ....................................................................................... 49
4.5 Physical design................................................................................................................................ 50
4.5 .1 Registration and login pages: .................................................................................................. 50
4.5.2 User Registration ..................................................................................................................... 51
4.5.3 Bus Add ................................................................................................................................... 51
4.5.4 Bus view................................................................................................................................... 52
4.5.5 Counter Add ............................................................................................................................. 52
4.5.6 Counter view page ................................................................................................................... 53
4.5.9 Passenger view page ................................................................................................................ 56
4.5.10 Physical Design User Interface .............................................................................................. 56
4.5.11 Physical Design ...................................................................................................................... 57
| Page |6
6.3.5Recovery testing........................................................................................................................ 89
6.4 Test Case ..................................................................................................................................... 90
6.4.1 User Registration Module Test Case ....................................................................................... 90
Test Case Unit Test90
Registration module Unit Test 191
Registration module 292
Registration module Unit Test 392
6.4.2 User Login Module: ................................................................................................................. 93
Login module Unit test1: ..94
Login module Unit test 2: .94
6.4.3 Departure Configuration Module: ............................................................................................ 96
Departure Configuration Module Unit Test 1: ..97
Departure Configuration Module Unit Test 2: 99
Bus Searching unit test 1: 101
Bus Seat booking module Unit Test 1: .103
6.4.6 Test Report ............................................................................................................................. 104
Conclusion: ..................................................................................................................................... 104
Chapter 7 ............................................................................................................................................. 107
Conclusion ...................................................................................................................................... 107
CHAPTER 8 ....................................................................................................................................... 108
Future Work .................................................................................................................................... 108
APPENDIX ..................................................................................................................................... 109
References ....................................................................................................................................... 111
| Page |8
Abstract
This project is about Automated Bus Ticket Booking System is a web based system , This is
the system for ticket booking in online remotely any type of location in Bangladesh and also
helps to the bus owner to manage their business by using this system its also helps to owner
record their daily collected money from bus business and also helps to reduced paper to track
any type of bus information such as ticket information passenger information, seat booking
information any type of user can see the details of seat which are booked and which is
available its a automated process if any user book ticket in online before confirmation of
ticket other user can book ticket no need to refresh page ,when user confirm ticket in other
side in other hand they saw the seat colors is red its totally automated system not only see
admin and operator but also seat details of bus passengers
The main purpose of our system if any user want to go anywhere any location in our country
they want to use our system in online no need to go seat booking for bus counter they can
select bus for his/her choose bus seat booking related any type of operation and any query
they can using the system whole package are here if any user want to go anywhere.
The Business Owner not only benefit general user but also maintain their business and
reduced paper to save information any type of bus ,seats ,,departure date , seat booking ,
passenger every record saved in database and also collated money from bus ticket from user
they can know the update of transaction this project done ourself we are trying our best to
save record money but in future we will try to implement this feature.
The modern technology is used to implement to the automated system to make it more
secured PHP object oriented concepts and MVC Framework Some client side scripts have
also been used to make it user friendly seat booking some page updating purpose using client
site programming.
| Page |9
ACKNOWLEDGEMENT
First we express our heartiest thanks and gratefulness to almighty Allah for his divine
blessing makes us possible to complete this project successfully.
We fell grateful to and wish our profound our indebtedness to, Department of Software
Engineering, Daffodil International University, Dhaka Bangladesh. Deep Knowledge & keen
interest of our supervisor Mr. Kaushik Sarker in the field of Automated Bus Ticket Booking
System. His endless patience, scholarly guidance, continual encouragement, constant and
energetic supervision, constructive criticism, valuable advice, reading many inferior draft and
correcting them at all stage have made it possible to complete this project.
I am also very grateful to all of our Teachers and friends for their valuable suggestions help
and support during completion of our project , for his kind help to finish our project and also
to other faculty member and the staff of Software Engineering department of Daffodil
International University.
We would like to thank our entire course mate in Daffodil International University, who took
part in this discuss while completing the course work.
Finally, we must acknowledge with due respect the constant support and patients of our
parents.
| Page |10
Chapter 1
Introduction
Automated Bus Ticket booking system gives the opportunity to the general users/visitors to
book the ticket remotely anytime in anywhere. By using this web application, users will be
able to select the bus reserves the seats for going from staring place to destination place at
their fixed time and date. For booking ticket, users confirm their personal information such as
name; email number and mobile number for confirmation of ticket. If any user thinks about to
go anywhere by using bus. They can get whole features in our web application. If any owner
thinks about to maintain his/her business and they can get whole privilege in our web
application.
Automated Bus Ticket Booking System is aimed at reducing paper for the bus industry and
hence improving its efficiency and speeding up of all processes.
The web apps can be accessed by the passengers from anywhere remotely in any location.
Hence, all the related information about a passenger is available to admin and customers.
Thus, this software saves the entire customers and track by phone number.
This project is aimed at developing a web based automation application that will apply a
system approach to depict the functional architecture. The Purpose of our project is to
develop Automated Bus Ticket Booking system for owner to maintain their business and
total details of bus and departure bus and also know ticket information which is booked and
which is not booked and details of total collection of money for specific days and instant
details of collection of money from bus ticket. Our systems innovative facilities are added for
general users to book ticket anytime and anywhere remotely and general users can be able to
know bus details and fare and seats combination is easy to track the information of all and
| Page |11
departure destination .General users can be informed the seat which is booked and which is
not booked. This feature is added for general users. Every business owner can take the
opportunity to use our system. The main goal of our system is to build a good management
tool for all customers. The main purpose of this software is to reduce the time taken through
manual system in order to maintain all the records and operation virtually.
Those activities are longer in physically in our present life are easy to access virtually and
save the customers valuable time. All aged customers can use our software to do the
completion booking ticket online at their house and their working environment.
1.3Document Conventions
Main Chapter
Font: Times New Roman
Face: Bold
Size: 18
1.4 Scope
This System is helpful to the business owner to maintain their business by using this web
application .Owner every moment check their departure information and seats booking
information and also helps to keeping record of every transaction by using this application
not only business owner but also general user using this web application for the purpose of
ticket book in online general user can not need to go bus counter to book ticket they can book
ticket remotely anywhere in the world by fulfill this instruction
This system is helpful to reduce the time and complexity of maintaining the records. It also
helps in accurate maintenance of customers and owners.
1.5 Objectives
The objective of Bus booking management system is to easily track the information of all
customers, departure bus station and seats information and bus destination. The main goal of
the software is to build a good management tool for all customers. The main purpose of this
software is to reduce the paper to track information of total transaction and counter master
does not need to call other counter master to book ticket and assign ticket do n t tell about
ticket info they can know information by using seat booking module of our system .
| Page |14
CHAPTER 2
Pre-Analysis and Initiation
2.1Scenario
Scenario is a process used during requirement analysis to describe the use of proposed
system. Scenario is a story about proposed System scenario explains an early stage of
proposed system.
The following table shows the brief description about different users with their level.
For(verification purpose
)ticket status
In the early stage of our proposed system admin ( head of the counter) do not need to
register of our system admin are automatically manually create by System of developer.
System has one admin .Admin user insert new bus if new bus in queue for specific counter
otherwise none of them cannot insert new bus information ,admin user provide to operator
bus info with seat permutation and distributed seat for operator (counter person) .admin user
check everything of the our system ticket selling info seat information which counter how
much provide number of passengers, Current status of seat permutation also total collection
of money every day admin users check the update they can action when need to update or
delete info about bus .Only admin can create operator for (specific counter master ).Operator
they can check only current counter status .if new customer are request for a new ticket and
they can confirm user if ticket are sold
| Page |16
By email or sending message or contact by phone ,they confirm passengers ,and if seat are
whole booked they can update status for specific bus cause user/visitor can know about seat
permutation cause they do not need to request if seat whole are booked .Operator they can
contact other operator(such like other counter master) for seat info about bus .Visitor or
User can request for new ticket by fill up form they specify to fill up leaving from -Going
place or destination place and fill up date form .Users can search bus if form is fill up and
know the information about bus ,seat permutation. When user fill up the form they can know
bus name bus starting time and counter information choose the bus seat which seat are
available only they can choose these seat and buy one or more seat a single user can do. Fill
up the personal information of the visitor with payment method such like as bkash or credit
card number its our proposed features.
1. Pre-analysis
a. Scenario / Issue Initiation
b. Requirement Collection
2. Analysis
4. Implementation
1. Codes
2. Logical Design
3. Physical design
6. System Test
2.2Requiremet Collection
Requirements gathering are an essential part of any project and project management.
Understanding fully what a project will deliver is critical to its success. This may sound like
common sense, but surprisingly it's an area that is often given far too little attention.
Many projects start with the barest headline list of requirements, only to find later the
customers' needs have not been properly understood.
Finally, ensure you have cross-referenced the requirements in the statement of requirements
with those in the project definition report to ensure there is no mismatch.
The functional requirements describe the services provided by system in detail, the inputs and
outputs, expectations and so on. The functional requirements define the facilities to be
provided by the system.
| Page |18
The non-functional requirements are not directly concerned to the system. They may define
constraints on the system and specify system performance, security, availability and emergent
properties.
2.3Associate Review
Date : 02/01/15
Online Bus Ticket Reservation System designed and developed by Tuvshinbay Davaa
Description:
Now they want incorporate an online service application where they can maintain the records
of the buses along with the details of the customers. The customer can now book the tickets
by visiting the booking counters at their place (nearby) to the respective destination as
required. They want the application to be linked with the database, so that whatever details
are entered like the details of the customers, buses, and bookings can be viewed by the other
centers as well as it is an online application. They also want to incorporate some feature
which performs the tasks that they actually perform, and an application where the customer
can register with the site and then book the tickets online instead of visiting the booking
counter A database should be maintained where the bus details along with the bus number,
route, the places it covers throughout the distance and also the timings are needed to be
maintained. Also the details of the customers that are entered at the time of booking the
tickets are needed to be gathered in the database. So that they can track the details of the
customer at any time using the search option based on the starting place, age, name,
destination place and Date and Time and even based on the bus they had chosen.
The database should also maintain the list of the Employers as they alone book the tickets
with the username and password. The list that is to be maintained is personal details, contact
details, location, qualification, age, etc are needed to be gathered. There should be buttons
like New, Update and Cancel are to be included. Based on the button chosen the respective
action is needed to be performed. Also if the Employee record is entered (The Employee
| Page |20
details will be maintained by the Admin alone), it should automatically generate a six digit
code, and it will ask for the username and the password (the password can be changed by the
Employee) through which he can login in to the a/c so as to perform the booking tasks. Also
for canceling the ticket, there is a limit like, if cancelled before 2 days then the whole money
will be returned, and if done one day before, then 15% is debited from the total amount and
the remaining amount is returned and if done on that day 30% is debited from the total
amount and the remaining is to be returned back. This action is also to be performed by the
application alone. They want the application to be maintained in different details like the
buses and the bookings information. When they try to book a ticket it should ask for the
customer details like the name of the customers for whom the tickets are booked, Date and
Time, Starting and Destination place and the age ( as the charges depends on the age). Also
the Bus no. and the seat no. for which the ticket (s) booked are to be entered so that they can
keep track of the bookings done. Whenever a customer enquires for the availability they can
check through the Enquiry form where the details like Destination Place, Starting Place, Date
and Time are asked, by entering these details (all fields are not mandatory) the availability
details should be displayed. Also there should be a search option through which the records
of the customers and the buses can be known easily with the same above options. After the
ticket is booked, one should be able to print the ticket, including the details like age, name,
Date and time for which the ticket is booked and as well the destination and Starting locations
and the charges for the ticket including the taxes. The application alone should be able to
calculate the payments as per the age criteria and the distance. Also it has to be updated in the
site.
Note :
To book the ticket or to fetch the details (Search and Enquiry) first they need to
Login and only then they will be able to perform such actions.
This application is solely for the booking department to book the tickets and is
purely maintained by them. It is not applicable for the customers and they
(customers) cannot book the tickets online by themselves.
The Admin maintains the list of the buses and as well the Employees which
not be accessed by the Employee.
Description:
Bus ticket booking system red bus from (India) helps me to primary knowledge about bus
ticket booking system. Its big system there are using automated system to bus ticket and
global for every user not only user but also business owner to maintain their bus business
.There are using different module seat booking module ,departure configuration module
counter module station module and login module payment module for counter head and
super admin and also track personal information. Red bus India connected the whole India
and everyday 1.5crore people using this system
Interviewing :This Bus Ticket booking system some collected requirements from
Bus counter head .Major requirements collect from interviewing of counter master I
have visited Motlab Express poribahan in Gulistan name of counter master Sajib
Ahmed there are not using automated system to track departure information and seats
and also total transaction information of daily and weekly monthly and yearly there
are using analog system just like as whole things are recorded in paper documents and
when seats are booked they confirm by other counter by phone and seats are booked by
user by phone or physically .Everyday they cannot follow to departure configure for
ascending orders and they cannot stored user information but manually its really hard
to specific details of bus seats passengers and total revenue
| Page |22
CHAPTER 3
Analysis
3.1Introduction
The analysis phase defines the requirements of the system, independent of how these
requirements will be accomplished. This phase defines the problem that the customer is
trying to solve. The deliverable result at the end of this phase is a requirement document.
Ideally, this document states in a clear and precise fashion what is to be built. This analysis
represents the ``what'' phase. The requirement document tries to capture the requirements
from the customer's perspective by defining goals and interactions at a level removed from
the implementation details.
The goal of system analysis is to determine where the problem is, in an attempt to fix the
system. This step involves breaking down the system in different pieces to analyze the
situation, analyzing project goals, breaking down what needs to be created and attempting to
engage users so that definite requirements can be defined. The termination step of
requirement collection the next step is analysis on requirement .In this stage Software
developers works with customers and system end user and find out about what services the
system should provide, the required performance of the system, hardware constraints, defines
project goals into defined functions and operation of the intended application. It analyzes
end-user information needs.
The requirement analysis is divided into three phases. The phases are given below
| Page |24
9. User of the system (visitors)search ticket to fulfill station from and station to and
specific date for Searching bus
10. User or visitors of the system book ticket and saw ticket details which is booked and
which is non-booked, and user can book ticket to fill up the passenger info after
selecting the seats .
| Page |25
11. Confirmation message sending the system to the user via SMS and generate a pin
code to identify the owner of ticket
12. Payments system might be credit card or bkash to book ticket and got confirmation
report .
13. Admin and Operator can using this seat booking module for user if any user want to
book ticket at counter .
14. Operator and admin (head counter master) only confirm ticket if any user book ticket
via SMS.
| Page |26
The below subsections is the Software Requirement Specification (SRS) document and it
provides an overview of the entire system.
3.2.2 Purpose
their expectations then the end users can specify their choice and the software
engineers will change the SRS to fit the end users needs.
3.2.3 Scope
The system product to be produced is a Automated Bus Ticket Booking System which will
automate the major Bus operations. The first subsystem is a Bus Reservation and as well as
advance Booking System to keep tracks of reservations and seats availability. The second
subsystem is the Tracking and Selling tickets System that charges the current journey. The
third subsystem is a General Management Services and Automated Tasks System which
generates reports to audit all bus operations and allows modification of subsystem
information. These three subsystems functionality will be described in detail in section 2-
Overall Description.
There are two accounts for the Automated Bus Ticket Booking System the end users are the
Bus staff (customer service representative) and administrator the Bus managers. Both user
types can access the Reservation and Booking System and the ticket Tracking and Selling
System. The General Management System will be restricted to management users.
Requirement__5
Requirement__6
Requirement__8
environments
Application
| Page |33
3.3.3 Stakeholders
I. Internal Stakeholder
a. Administrator(Head Counter)
b. Operator(Counter Master)
c. System Analyst
d. Database Administrator (DBA)
External Stakeholder
a. Customers/Visitors
b. Bus Agencies
i. Owner
ii. Employee
iii. Payment third party
3.3.5: Overview
| Page |34
The proposed system intends to make a good document by an automated system that fulfills
the minimal deliverable requirements of a software document. Generally the user of the
software are Bus owner to maintain business and not only business owner of bus area but also
general user and customers who are using to go anywhere by using bus .The system provides
the opportunity of general people to book ticket virtually remotely anywhere any location in
our country. Admin of the system provides bus and add station add user means operator of
the system and departure configure for specific date ,and also seat distributes among the
counter master. The main advantage of the system any type of user can search for bus and
book ticket in his/her choice.
Registration
Login
Logout
Add bus ,station ,Departure configuration for specific date
Searching bus given specific date
Searching location of bus starting to starting from
Seat choosing system
Seat booking interface to user to know bus seat and book ticket also
Payments system
Confirmation system
Tracking passengers by using phone number given by user
Ticket cancelling system
| Page |35
3.3.5.3Process Model
Waterfall Model
Requirement gathering
Analysis
Design
Implementing &Coding
Testing
The proposed system is implemented within 5 months. System development works are
performed in each week. After weekly meeting works are done step by step. To make quality
software within defined scope the works are done and repeated correction. The total project
Introduction
Pre-Analysis
Analysis
Design
Coding
Testing
| Page |37
Chapter 4
System Design
4.1Introduction
Software design is a process to transform user requirements into some suitable form, which
helps the programmer in software coding and implementation.
Software design is the first step in SDLC (Software Design Life Cycle), which moves the
concentration from problem domain to solution domain. It tries to specify how to fulfill the
requirements mentioned in SRS.
Software design is the process of implementing software solutions to one or more set of
problems. The software design (SDS) document contains a statement of the design of
inventory management system. The design contains an explanation of a way to carry out each
of the product specification written in the Software Requirement Specification (SRS).The
design will serve as a guide to the developer. The SDS also shows how the program is
separated into modules, how the modules interact with each other, and how users see the
program.
4.2: Purpose
This document is designed to be a reference for any person wishing to implement, or any
persons interested in the design architecture of automated bus ticket booking system. This
document describes each applications architecture of design interface of logical interface and
physical interface design. This design will detail the implementation of the requirements as
defined in the automated bus ticket booking system specification design.
| Page |38
This document includes but is not limited to the following information for Automated Bus
Ticket Booking system; system overview, design consideration, architectural strategies,
system architecture, high level design detailed level design .High level design context
diagram and use case diagram and detailed level design consist of data flow diagram level 1
and sequence diagram Entity relationship diagram.
i. Passenger name
ii. Seat Booking passengers id identify passenger who booked the seats its phone number
iii. Passenger address, phone number, Gender
iv. Departure date and time for passenger
Outputs
i. Seat Booking Interface
ii. Departure configuration details
iii. Add new user means(Counter master)
UML Use Case Diagrams can be used to describe the functionality of a system in a horizontal
way. That is, rather than merely representing the details of individual features of your system,
UCDs can be used to show all of its available functionality. It is important to note, though,
that UCDs are fundamentally different from sequence diagrams or flow charts because they
do not make any attempt to represent the order or number of times that the systems actions
and sub-actions should be executed.
User and visitors any type of user searches the bus by fill the form of station from and to and
specific date.
Chapter 5
System Implementation
5.1.1 Introduction
The system has been developed using object oriented concepts and PHP (MVC Framework)
back hand database using MySQL
5.1.2 Purpose
The document contains overviews of system, description of the major tasks that are required
to be done before the system is put into use.
The main functions that will be carried out by the application will be
7. Generating reports
Software Requirements
Tools-
IDE: Adobe Dreamweaver CS6
Database: MySQL
Editor: Sublime Text
Technology
UI/UIX: HTML5, CCS, Bootstrap, JavaScript, jQuery
Web-Technology: PHP
Back-End: MySQL
Web-Server: XAMPP Server
| Page |62
Automated bus ticket booking system used a number PHP files and database MySQL. In the
system database related files are in DAL folder and controller are using to control the pages
who are control the page admin or operator and every PHP pages must be include in
configuration files and page are view in the admin or operator folders and visitors of the
system view in view folder and client site language JavaScript and JQuery to reduced
pressure to database access to modify information and seat booking purpose To improve
coding efficiency and CSS file are used. The domain of the system is host in the directory
Sub Directories:
DAL (Data Access Layer)
DBConnect.php
dalUser.php
dalStation.php
dalSeatBooking.php
dalPassenger.php
dalDepartureConfig.php
dalCounter.php
dalBusSeats.php
dalBus.php
dalAssignSeats.php
dalAssignCounterPerson.php
| Page |63
addUser.php
assignCounterPerson.php
assignseatsAdd.php
busAdd.php
busEdit.php
busseatsAdd.php
counterAdd.php
departureconfigAdd.php
departureconfigDel.php
departureconfigEdit
passengerAdd.php
stationAdd.php
5.1.7 DBConnect.php
<?php
class DB{
public $err;
protected function Connect(){
mysql_connect ("localhost", "root", "");
mysql_select_db("eticket");
}
}
?>
Figure: Database connectivity
| Page |64
5.1.8 Controller:
controlPages.php
<?php
if(isset($_GET['p'])){
include_once("view/".$_GET['p'].".php");
}
else if(isset($_GET['u'])){
include_once("user/".$_GET['u'].".php");
}else{
include_once("view/home" .".php" );
}
?>
Config.php
<?php
session_start();
include_once("../DAL/DBConnect.php");
include_once("../DAL/dalBus.php");
include_once("../DAL/dalUser.php");
include_once("../DAL/dalCounter.php");
include_once("../DAL/dalAssignCounterPerson.php");
include_once("../DAL/dalStation.php");
| Page |65
include_once("../DAL/dalDepartureConfig.php");
include_once("../DAL/dalBusSeats.php");
include_once("../DAL/dalAssignSeats.php");
include_once("../DAL/dalPassenger.php");
include_once("../Controller/functions.php");
?>
Figure: configuration page
$msg = "";
if(isset($_POST["login"])){
$user->Email = $_POST["email"];
$user->Password = $_POST["password"];
if($user->Login()){
$_SESSION["LoginId"] = $user->Id;
Redirect("../AdminDashboard");
}else{
?>
| Page |66
Login Form:
In this login form when user enter email and password and go through the login
button if they are registered of the system they can use the system can get admin
privileges
<?php
$msg ="";
| Page |67
$err =0;
if(isset($_POST["sub"])){
//echo $_POST["via_counters_array"];
if($err == 0){
$date = date("Y-m-d",strtotime($_POST["date"]));
$departure->BusId = $_POST["busid"];
$departure->CoachNumber = $_POST["coachno"];
$departure->StationFrom = $_POST['station_from'];
$departure->StationTo = $_POST["station_to"];
$departure->BusFare = $_POST["busfare"];
$departure->ViaCountersArray = $_POST["via_counters_array"];
$departure->ViaLocation = $_POST["vialocation"];
$departure->JourneyType = $_POST["journey_type"];
$departure->StartTime = $_POST["starttime"];
$departure->EndTime = $_POST["endtime"];
$departure->Date = $date;
if($departure->Insert()){
}else{
$msg="Failed";
?>
| Page |68
Departure view
<tr class="heading">
<th>Bus Name</th>
<th>Coach Number</th>
<th>Starting From</th>
<th>Starting To</th>
<th>Bus Fare</th>
<th>Counter Name</th>
<th>Location</th>
<th>Journey Type</th>
<th>Start Time</th>
<th>End Time</th>
<th>Assaign Date</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<?php
$r = $departure->Select();
$totalRow = count($r);
if($r != ""){
?>
<tr>
</tr>
<?php }
?>
</table>
| Page |70
In this code are edit of departure when user admin want to update any type of information
they can operate the operation
<?php
$msg ="";
$err =0;
if(isset($_POST["update"])){
if($err == 0){
$departure->Id = $_POST["id"];
$departure->BusId = $_POST["busid"];
$departure->CoachNumber = $_POST["coachno"];
$departure->StationFrom = $_POST['station_from'];
$departure->StationTo = $_POST["busfare"];
$departure->ViaCountersArray = $_POST["via_counters_array"];
$departure->ViaLocation = $_POST["vialocation"];
$departure->JourneyType = $_POST["journey_type"];
$departure->Date = $date;
$departure->StartTime = $_POST["starttime"];
$departure->EndTime = $_POST["endtime"];
if($departure->Update()){
}else{
$msg="Failed";
}//end of brace
| Page |72
$departure->Id = $_GET["id"];
$departure->SelectById();
?>
Departure Edit
Basic Editing instruction of this system is described with code A method is mapped to
Update button that pass data to Data Access Layer and then the Data Access Layer executes
the query to update into database and also execute the query and retrieve data from database
with edit purpose if the data are updated then data go through the database
Following are some of code of user interface and user physical interface are given last of
home .php code
<?php
?>
<?php
$date = date("m/d/Y");
if(isset($_POST["search_bus"])){
$search_date = $_POST["start"];
f($search_date<$date){
return false;
$departure_config->StationFrom = $_POST["station_from"];
$departure_config->StationTo = $_POST["station_to"];
$search_data = $departure_config->Select();
if($search_data != ""){
?>
| Page |74
<tr>
<th>Bus Name</th>
<th>Coach No</th>
<th>Station From</th>
<th>Station To</th>
<th>Bus Fare</th>
<th>Departure Date</th>
<th>Journey Type</th>
<th>Total Seats</th>
<th>Booking</th>
</tr>
<?php
echo "<tr>";
echo "<td>".$search_data[$i]["BusName"]."</td>";
echo "<td>".$search_data[$i]["CoachNo"]."</td>";
echo "<td>".$search_data[$i]["StationFrom"]."</td>";
echo "<td>".$search_data[$i]["StationTo"]."</td>";
echo "<td>".$search_data[$i]["BusFare"]."</td>";
echo "<td>".$search_data[$i]["Date"]."</td>";
echo "<td>".$search_data[$i]["JourneyType"]."</td>";
echo "<td>".$search_data[$i]["seat"]."</td>";
echo "</tr>";
?>
</table>
<?php }else{
echo "<br/>";
?>
Physical Interface
The user interface design for bus searching and up of the page here is searching operation
bus which are added for this days .Basic searching instruction of this system is described
with code A method is mapped to search button that pass data to Data Access Layer and then
the Data Access Layer executes the query to select query into database and also execute the
query of search of table joining multiple table to view data from (DAL) using select
statement in this code of search and view of bus.
Basic seat booking instruction of this system is described with code A method is mapped to
submit button that pass data to Data Access Layer and then the Data Access Layer executes
the query and pass data to insert into passenger table and departure table and seat booking
<?php
$config_info->Id = $_GET["c_id"];
$row = $config_info->Select();
if(count($row)>1){
Redirect("?p=home");
$bus_seats_rows = $bus_seats->Select($row[0]["seat"]);
$current_date = date("Y-m-d");
if($row[0]["Date"]<$current_date){
Redirect("?p=home");
?>
<div>
<div class="row">
<div class="col-lg-12">
| Page |77
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="main-container">
<div
id="seat_container" class="bus-container-col-4 shadow radius padding-bottom">
<div class="wheel">
<img
src="UiAssets/ticketbooking/icon/wheel.png" />
</div>
<div class="seat-
container margin-bottom" id="bus_seats">
<?php
$j=0;
$k = 0;
$j++;
$seat_booking->DepartureConfigId = $_GET["c_id"];
$seat_booking->SeatsArray = $bus_seats_rows[$i][1];
$checkBooking = $seat_booking->CheckExist();
| Page |78
//echo count($checkBooking);
//if()
if($j%3==0){
if($checkBooking>0){
}else{
}else{
if($checkBooking>0){
}else{
$k++;
if($k%4 == 0){
if($checkBooking>0){
}else{
}else{
| Page |79
if($checkBooking>0){
}else{
?>
</div>
</div>
<?php
if(isset($_POST["sub"])){
$seats_array = $_POST["seats_array"];
$full_name = $_POST["full_name"];
$email = $_POST["email"];
| Page |80
$mobile = $_POST["mobile"];
gender = $_POST["gender"];
$passenger->Mobile = $mobile;
$passenger->SelectByMobile();
$seat_booking->DepartureConfigId = $_GET["c_id"];
$seat_booking->SeatsArray = $seats_array;
$seat_booking->PassengerId = $passenger->Id;
$seat_booking->ConfirmedBy = 0;
$seat_booking->ConfirmationStatus = 0;
if($seat_booking->Insert()){
}else{
passenger->Name = $full_name;
$passenger->Email = $email;
$passenger->SeatsArray = $seats_array;
$passenger->Mobile = $mobile;
$passenger->Gender = $gender
if($passenger->Insert()){
$passenger->SelectByMobile($mobile);
$seat_booking->DepartureConfigId = $_GET["c_id"];
seat_booking->SeatsArray = $seats_array;
$seat_booking->PassengerId = $passenger->Id;
$seat_booking->ConfirmedBy = 0;
$seat_booking->ConfirmationStatus = 0;
if($seat_booking->Insert()){
}
| Page |81
?>
<tr>
<th>Seat</th>
<th>Fare</th>
<th>Remove</th>
</tr>
</table>
<div class="col-lg-12">
<div class="form-group">
</div>
<div class="form-group">
<div>
<div class="form-group">
<div>
<div class="form-group">
</div>
<div class="form-group">
| Page |82
<option>Select Gender</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
//client site programming using jQuery to seat booking purpose here is code
<script>
$(document).on("click",".seats",function(){
var check_exist = 0;
var count_select = 0;
count_select++;
if(selected_seat == exist_seat){
check_exist++;
})
if(count_select>5){
return false;
if($(this).hasClass("booked")){
return false;
}else{
$this_seat.addClass("selected_seat");
$("#ticket_info").append(new_row);
var total_fare = 0;
$("#ticket_info tr").each(function(){
if($(this).hasClass("new_row")){
total_fare += parseInt($(this).find("td").eq(1).text());
seats += $(this).find("td").eq(0).text()+",";
}
| Page |84
});
$("#total_fare").text(total_fare);
$("#seats_array").val(seats);
});
$(document).on("click",".remove",function(){
$(this).parents("tr").remove();
$(".seats").each(function(index, element) {
if(remove_selection == $(this).text()){
seat.removeClass("selected_seat");
});
var total_fare = 0;
$("#ticket_info tr").each(function(){
if($(this).hasClass("new_row")){
total_fare += parseInt($(this).find("td").eq(1).text());
});
$("#total_fare").text(total_fare);
});
/****************************Loading************************************/
setInterval(function(){
$("#ticket_info tr").each(function(){
if($(this).hasClass("new_row")){
if($("."+current_seat).hasClass("booked")){
obj.remove();
$("#total_fare").html(bus_fare);
var new_seats_array =
$("#seats_array").val().replace(current_seat+",", "");
$("#seats_array").val(new_seats_array);
$("."+current_seat).addClass("selected_seat");
});
console.log("Load ++ ");
}, 1000)
</script>
| Page |86
Seat Booking
Seat booking user interface where user select seat and fulfill form to confirm ticket of bus and
seat of bus and code are upper of the page
CHAPTER 6
Testing
6.1 Introduction
This is aimed at identifying and correcting errors. The major objective of this activity is to
ensure that the processing done by the application is correct and meets the objectives of the
organization. Test plan aids in effective and systematic testing of the system and it aims at
checking the errors of omission and commission that hinders the realization of the objectives.
It takes the bottom up testing approach.
2.It is used to find undercover errors in a program through the use of defect testing.
3.Testing is also used to uncover new types of errors associated with new inventions
and technology
5.It is used for both validation and verification to develop a product that meets user
requirement.
6.It is used to identify the best component combination for effective error identification.
| Page |88
Unit testing
Module testing
System testing
Integration testing.
6.3.1Unit testing
In this type of testing, the smallest testable parts of the system I.e. units are individually
tested and independently examined for correct functionality. This type of testing involves
both the positive testing and negative testing. This is important so as to make sure that the
system functions properly when used both correctly and incorrectly. In this case, the forms in
visual basic as well as the tables for the database will be tested individually to ensure that
they are compatible. This also applies to the operating system and the software applications.
6.3.2Integration testing
This is where two or more related programs are tested. The test will involve two types of
approaches i.e. the bottom-up approach that begins with the simplest task to the most
complex part .e.g. from passenger information table to the database and top-down approach
that tests the system from the complex task to the simplest unit of all. We seek to verify that
all the hardware function together without conflicting.
| Page |89
All the forms linked to the database should be connected well without any issue. Ensure that
all the programs work well to avoid interruption and there is no issue whatsoever affecting
database update.
6.3.3System testing
I this type of testing we shall test the entire system for functionality to ensure that the system
can process and handle large volumes of data quickly and efficiently. The test will be done
with a sample of some users who will use the system under test in its actual capability
environment. Possible problems are corrected before really conversion.
6.3.4Acceptance testing
This test will complete the formal testing process where all the users and the administrator
will use the system so as they get familiar with it. The users test the system before it is rolled
out to be fully used.
i. Beta testing-Carried out at bus company premise. This involve delivering the system
to number of potential clients to use the system and report back to developer key
malfunctions with an understanding that the product is still being tested.
ii. Alpha testing-It takes place at the developer site. It is the final testing before the
software is about to be released to the hospital for use.
6.3.5Recovery testing
Recovery testing will force the system to fail in various ways and try to verify that the
recovery is efficiently done or performed. It is vital that all the data is recovered after the
system failure and no corruption of data.
| Page |90
The process of developing test cases can also help find problems in the requirements or
design of an application.
Ensure that logical decisions on their true and false sides.
Practice all logical decisions on their true and false sides.
Execute all loops at their boundaries and within their operational bounds.
Exercise internal data structure to assure their validity.
Module :Counter master and Head of counter Test Designed :Farhad Hossain & Abdur
master Sign Up Rahman Sabuj
Test Title: User Registration and valid info Test Executed By: Farhad Hossain
Condition: The user Redirect to user registration page and input the required filled.
And click on the submit button.
| Page |91
Step Test step Test Data Code Expected Actual Pass/ Notes
Module result Result Fail
3 Input sabuj@gmail.com
5 Input Khulna
information
7 Click to
Submit
Button
| Page |92
Registration module 2:
Step Test step Test Data Code Expected Actual Pass/ Notes
Module result Result Fail
registration
page
Adduser.php
3 Input sabujas@gmail.com
User can page
Email
not
registered Fail
4 Input ****
addUser.php successfully
Password
cause
7 Click to
Submit
Button
Step Test step Test Data Code Expected Actual Pass/ Notes
Module result Result Fail
Redirect to Click to
1
user Registration link
registration
page
| Page |93
3 Input sakib@gmail.com
Email
Registered
Redirect to
4 Input ******** successfully
Pass
Password done Adduser
addUser.php page and
5 Input Khulna
notify sign
information
up
7 Click to
Submit
Button
Test Title: Log in valid email and password Test Executed By: Farhad Hossain &Abdur
info Rahman Sabuj
Pre-Condition: The user Redirect to user Login page and input the email and password
required filled. And click on the Login button
3 Log in
Button
Fixed-Condition: The user Redirect to user Login page and input the email and password
required filled user session must be recorded in browser until user destroy the session logut
.php
Step Test step Test Data Code Expected Actual Pass/ Notes
Module result Result Fail
3 Log in
Button
Fixed-Condition: The user Redirect to user Login page and invalid input the email
and password required
| Page |96
Step Test step Test Data Code Expected Actual Pass/ Notes
Module result Result Fail
3 Log in
Button
Fixed-Condition: The user Redirect to user admin dashboard page and valid input the
email and password.
Module : Departure Add Module Test Designed :Farhad Hossain & Abdur
Rahman Sabuj
Test Title: Departure Add module valid info Test Executed By: Farhad Hossain &Abdur
Rahman Sabuj
| Page |97
Condition: Departure add Redirect Departure page and input the required filled. And click
on the submit button
Step Test Test Data Code Module Expected Actual Result Pass/ Notes
step result Fail
Redirect Click to
1
to Departure
add page
2 Input Narial
Select Express
Coach
3 Input Shakib111
Coach
number
4 Input Jatrabari
station
from
5 Input Meghpara
station to chi
10 Input 2015-04-02
assign
date
11 Start 11.00am
time
13 Click to
Submit
Button
Fixed Condition: if the head counter master add departure with a valid data the information
saved in database
| Page |99
Step Test Test Data Code Module Expected Actual Result Pass/ Notes
step result Fail
Redirect Click to
1
to Departure
add page
2 Input Empty
Select Field
Coach
3 Input Shakib111
Coach
number
4 Input Motijeel
station Dhaka
from
5 Input Meghpara
station to chi
9 Input Special
Journey
type
10 Input 2015-04-02
assign
| Page |100
date
11 Start 11.00am
time
13 Click to
Submit
Button
Fixed Condition: If any input filed is empty and departure not addes and redirect add departure pages
| Page |101
Module : Bus Searching module Test Designed :Farhad Hossain & Abdur
Rahman Sabuj
Test Title: Bus searching module valid info Test Executed By: Farhad Hossain &Abdur
Rahman Sabuj
Condition: Bus Searching given with station name from and to where u going to and going
from and click the search button
Step Test Test Data Code Module Expected Actual Pass/ Notes
step result Result Fail
where
are
If
you
user/visitors
going
fill the
from station from
http://localhost:84/01- Pass
E-
and to and
2 Input admin@gmail.com
search the
| Page |102
are
you
going
To
3 Input 2015-05-14
Select
date
Fixed-Condition: Visitors and user fill the form and then show a bus table which bus are added in the
specific date
| Page |103
Module : Bus seat booking module Test Designed :Farhad Hossain & Abdur
Rahman Sabuj
Test Title: Bus searching module valid info Test Executed By: Farhad Hossain &Abdur
Rahman Sabuj
Ste Test Test Data Code Module Expecte Actua Pass Note
p step d result l / s
Result Fail
1 Input A4
select
the
seats
Input farhadevan@gmail.co
Entire m
email
| Page |104
3 Input 01938161058
mobile
numbe
r
4 Input Male
gender
5 Click Submit
on
submit
Fixed-Condition: Visitors and user fill the form and then show a bus table which bus are added
in the specific date
Software testing reports are just as important as running tests. It is easier said than done with
new test cases being added to your test plan in each release. Generally, this is a
communication sent out to establish transparency to the QA teams activities of the day
during the test cycle
Number of Unit Test First iteration 100% Less then 100% Total succession
success
Total:10 7 3 70%
Total:10 10 0 100%
Total unit test case sample are 10. Some test cases are succeeding in first iteration and some
are succeed in second iteration. The succession percent are shown in following table:
Conclusion:
All testing was done carefully and each test was up to the required standards of the users
.error tests may be suggested but the above mentioned are just sufficient to test. Testing is an
essential phase in system development and therefore it should be taken with a lot of interest
| Page |105
| Page |106
Maintenance
We will provide three months free maintenance automated bus ticket booking system as well
as user guidelines. After three month it should be cost 1500$ per month. And we are ready
for lifetime maintenance at the time variation .
| Page |107
Chapter 7
Conclusion
Despite the hardships encountered in the entire development process the system has been
developed for Automated Bus Ticket Booking System thus enabling it improves its efficiency
and effectiveness.
Maintenance and usage of the system will be easy as the documentation and user manual of
the system will be available to all users. Also there will be room for enhancement as this was
considered during development.
The system will offer better functionalities than the manual system, its automated system
where the users of the system can use any location any type devices and 24 hours details
about bus its whole day service for general user.
Its not only develop for think about general user but also for business man to operate
business by using the system its turn very easy for our life to book ticket in online no need to
go bus station too book ticket.
Generally In our country in Bangladesh bus ticket and bus business full with corruption if any
owner interest to use the system they can benefit cause its helps bus owner to reduced 100%
corruption and can secured her/his business.
| Page |108
CHAPTER 8
Future Work
Automated Bus Ticket Booking system avoids the manual such as bus information , seat
information , counter information, station information ,bus fare and bus and total collection of
fare from the current days and week months seat booking information stored in our online
application its automate process every operation and reduced paper to store any type of
information. We are unable to implement payment system at present but it will be engaged
and take a period of time to add it in our system. It will have a plan of booking Air and Train
ticket and hotel room booking system can also be added. and also our future plan every
person when he want to using our system they can get privilege different module such as
register as business owner and such as passengers with valid authentication to check user. If
business owner want to use system they must be register as owner and maintain their business
in our system its global open system for business owner its our dream project to implement
its just like bus business as global open for anyone to maintain their business in our system.
| Page |109
APPENDIX
A I
Abstract Implementation (14,47)
Approval J
Associate Review JavaScript (48)
B
N
C Nonfunctional Requirement (21)
Class Diagram (30) Proposed System its Benefit (28)
Config(51) S
Conclusion (82,84) System description (47)
Database Name
Document convention
Declaration (8)
| Page |110
E T
ERD Entity Relationship Diagram (31) Testing (69)
References
http://www.projectsmart.co.uk/requirements-gathering.php
http://www.compaid.com/caiinternet/ezine/lett-defects.pdf
http://en.wikipedia.org/wiki/Systems_development_life_cycle
http://www.tutorialspoint.com/software_engineering/software_design_basics.html
[10]. Development of an Online Bus Ticket Reservation System for a Transportation Service
in Nigeria http://iiste.org/Journals/index.php/CEIS/article/viewFile/18128/18516
http://searchsoftwarequality.techtarget.com/definition/integrated-development-environment
[12]. http://localhost:84/01-E-TicketBookingSystem/
| Page |112
[15]. Software engineering 8th edition by William stalling published by Pearson education.
bus-ticket-reservation-system
reservation?related=1