Documente Academic
Documente Profesional
Documente Cultură
Ishaq Ali
Jawad Zahoor
Supervised By: Ms. Abida Sadaf
_______________________
1|Pa ge
ACKNOWLEDGMENT
In the name of Allah The Most Beneficent and The Most Merciful. All praises are
to Allah for all blesses so that the we can accomplish this thesis. In addition, may
peace and salutation be given to the prophet Muhammad (PBUH) who has taken
all human being from the darkness to the lightness. Alhamdulillahirobbil’alamin,
praise and gratitude only to Allah, the Glorious, the Lord, and the All mighty, the
Merciful and the Compassionate, who has given bless and opportunity to finish
the paper entitled Campus Bus Management System. Greetings and invocation
are presented to the prophet Muhammad SAW, who has guided mankind to the
right path blessed by the Lord.
In the process of writing this thesis, we would like to express genuine gratitude’s
to Ms. ABIDA SADAF for her invaluable guidance, suggestion, and feedback during
the completion for this thesis and we would like to express his genuine gratitude’s
to Mr. Naveed Tariq for his invaluable guidance, suggestion, and time during the
implementation of our project.
Jawad Zahoor
Ishaq Ali
2|Pa ge
1) Contents
1) Chapter 1 Introduction ......................................................................................................................... 6
1.1) Introduction .................................................................................................................................. 7
1.2) Motivation..................................................................................................................................... 7
1.3) Problem Definition ........................................................................................................................ 7
1.4) Purpose ......................................................................................................................................... 7
1.5) Current System ............................................................................................................................. 8
1.6) Proposed System .......................................................................................................................... 8
1.6.1) Web-based application ......................................................................................................... 8
1.6.2) Mobile-based application ..................................................................................................... 9
1.7) Scope ............................................................................................................................................. 9
1.8) Summary ..................................................................................................................................... 10
Chapter 2 Software Requirements Analysis ............................................................................................... 11
2) .................................................................................................................................................................
11
2.1) Introduction ................................................................................................................................ 12
2.2) Requirements .............................................................................................................................. 12
2.3) User Classes and Characteristics ................................................................................................. 12
2.4) Product Features ......................................................................................................................... 12
2.5) Functional Requirements ............................................................................................................ 14
2.6) Non-Functional Requirements .................................................................................................... 15
Usability .............................................................................................................................................. 15
Efficiency ............................................................................................................................................. 15
Reliability ............................................................................................................................................. 16
Availability ........................................................................................................................................... 16
2.7) System Hardware Requirements ................................................................................................ 16
2.8) System Development Requirements .......................................................................................... 16
2.8.1) Web based Development.................................................................................................... 16
2.8.2) Mobile based Development ................................................................................................ 17
3|Pa ge
2.9) Summary ..................................................................................................................................... 17
3) Chapter 3 System Design .................................................................................................................... 18
3.1) Introduction ................................................................................................................................ 19
3.2) Use-case Diagram ....................................................................................................................... 19
3.3) Data Dictionary ........................................................................................................................... 37
3.3.1) Data elements ..................................................................................................................... 37
3.4) Data Structure ............................................................................................................................. 39
3.4.1) Administrator ............................................................................................................................ 39
3.4.2) User ..................................................................................................................................... 39
3.4.3) Driver/Conductor ................................................................................................................ 39
3.5) Diagram (ERD) ............................................................................................................................. 39
3.6) Class Diagram .............................................................................................................................. 41
3.7) Sequence Diagram ...................................................................................................................... 44
3.7.1) Sequence Diagram 1: Sign Up ............................................................................................. 44
3.7.2) Sequence Diagram 2: Sign in ............................................................................................... 45
3.7.3) Sequence Diagram 3: View timetable ................................................................................. 46
3.7.4) Sequence Diagram 4: View notification .............................................................................. 47
3.7.5) Sequence Diagram 5: View Profile ...................................................................................... 48
3.7.6) Sequence Diagram 6: Location Updation............................................................................ 49
3.7.7) Sequence Diagram 7: Start/End trip notification ................................................................ 50
4) Chapter 4 Tools and Technology ......................................................................................................... 51
4.1) Introduction ................................................................................................................................ 52
4.2) Technology Selection .................................................................................................................. 52
Xamarin ............................................................................................................................................... 52
4.3) Tool Selection .............................................................................................................................. 52
4.3.1) MS Visual Studio 2017 ........................................................................................................ 52
4.3.2) Lucid chart ........................................................................................................................... 52
4.3.3) Microsoft Visio .................................................................................................................... 52
4.4) Language Selection ..................................................................................................................... 52
4.4.1) For web-based application .................................................................................................. 52
4.4.2) For mobile-based application ............................................................................................. 53
4.5) Summary ..................................................................................................................................... 53
5) Chapter 5 Implementation .................................................................................................................. 54
4|Pa ge
5.1) Introduction ..................................................................................................................................... 55
5.2) Language selection .......................................................................................................................... 55
5.2.1) For desktop Application (Admin) .............................................................................................. 55
5.2.2) For mobile application (user and Driver/Conductor) ............................................................... 55
5.3) Data base selection .......................................................................................................................... 55
5.4) Interfaces ......................................................................................................................................... 55
5.4.1 Desktop Application ................................................................................................................... 55
5.4.2) Mobile Application (for user) .................................................................................................... 57
5.4.3) Mobile Application for Driver/Conductor ................................................................................. 59
6) Chapter 6 Testing .................................................................................................................................... 60
6.1) Introduction ................................................................................................................................. 61
6.2) Test Cases ................................................................................................................................ 61
6.2.1) Test case 1: User Log in ............................................................................................................. 61
6.2.2) Test case 2: Get pick up points ................................................................................................. 62
6.2.3) Test case 3: View notification ................................................................................................... 63
6.2.4) Test case 4: View timetable ...................................................................................................... 64
6.2.5) Test case 5: Driver/Conductor Log in ........................................................................................ 65
6.2.6) Test case 6: Start/End trip ........................................................................................................ 66
6.2.7) Test Case 7: Admin Login .................................................................................................... 67
6.2.8) Test Case 8: Manage Routes (Add a Route) ........................................................................ 68
6.2.9) Test Case 9: Manage Notification (Add a Notification) ....................................................... 69
6.2.10) Test Case 10 Manage Passenger ......................................................................................... 71
6.2.11) Test Case 11: Manage Bus Timing ....................................................................................... 72
6.2.12) Test Case 12: Manage Bus Stop .......................................................................................... 73
6.2.13) Test Case 13: Manage Bus Records (Add a Bus Record) ..................................................... 74
6.2.14) Test Case 14: Manage Bus Records (Delete a Bus Record) ................................................. 75
7) Chapter 7 Feature Work and Conclusion ................................................................................................ 76
7) Chapter 7 Feature Work and Conclusion ................................................... .
5|Pa ge
Chapter 1: Introduction
6|Pa ge
1.1) Introduction
Technology plays a key role in our life. Systems are automated almost in every field of life
like Online Admission System, Online Banking System and Online Shopping System etc.
1 2
Nowadays in Pakistan some companies like UBER and CAREEM use navigation system
through which users can book a car through mobile application. Customers can get current
location of the car, Estimated Time of Arrive (ETA) and can contact to driver as well. The
same idea of tracking is implemented in Campus Bus Management System (CBMS). Quaid-
i-Azam University (QAU) Islamabad, provides transport facility to students, university
teachers and officials. Buses are routed on routes of Islamabad and Rawalpindi to pick and
drop the students, university teachers and officials on different timings to pick them for
university, buses departure from university in the early morning 6:00am to 8:00am and to
drop them buses departure from university at 1:00pm, 4:00pm, 6:00pm. But the management
of transport is totally manual which results in difficulties for students, university teachers
and officials.
1.2) Motivation
QAU transport system is totally manual which results in many difficulties for the students.
Some difficulties are, missing the bus from respective stop, not being up-to-date about the
buses schedule, routes, bus number etc. So, there is a need of application to keep the users
(Students, Faculty members, Employees etc.) updated. Sometimes due to uncertain
situation of the city the timings of the buses are affected badly. The transport administration
may fail to inform the students about the updated schedule timely due to this many
passenger may miss the bus service.
1.4) Purpose
The purpose of developing this application is to facilitate the students and employees who
uses transport of university. Transport administration also will be facilitated and can manage
the transportation more effectively and easily. By using this application, the user can track
the location and Estimated Time of Arrive (ETA) of the bus.
7|Pa ge
Many difficulties students may face for example they come to their respective stops, but they
cannot catch the bus because the bus has already left that stop. Sometimes they come to the
stop too early and wait for the bus for long time. By using this application these kinds of
problems will be resolved.
8|Pa ge
1.6.1.5) Response to the application received by driver/conductor
Admin can review the applications received by the driver/conductor and will approve
or reject the application. If application is approved, then they will assign duty to
another available driver/conductor.
1.6.2) Mobile-based application
This project has two mobile applications. One for drivers/conductors and other for users
(students, employees).
1.6.2.1) Mobile application for drivers and conductors
using the application driver/conductor can do following tasks.
• Can register themselves using mobile application so that they can use the
application.
• Can track the concerned bus location.
• Can track Estimated Time of Arrival (ETA).
• Can Contact to driver/conductor.
• Can view the timetable (routes, bus number, driver name etc.).
• Can view notification received from admin.
• Can view nearest bus/buses from their location.
• Can give feedback about driver/conductor.
1.7) Scope
This project consists of two mobile-based applications and a web-based application.
Mobile-based applications are for transport staff and users. Using mobile applications users
and transport staff can register themselves and use the services it provides. Services are
tracking location of bus, getting Estimated Time of Arrival (ETA), viewing schedule, getting
notification when the timing of the buses will be changed or if it will not be routed, can
contact driver/conductor, driver/conductor will notify admin when trip stars/end. Server will
be on web-based application will managed by admin. Admin can add, delete, modify
student’s and transportation staff, manage schedule, duties, routes and buses.
9|Pa ge
1.8) Summary
Transportation of our university is managed manually. Due to manual system of university
transport, students may face many difficulties. To overcome the difficulties there is a need of
system automation of university transport. By the automation of transportation system,
admin, transportation staff and all user will be facilitated.
10 | P a g e
Chapter 2: Software Requirements Analysis
11 | P a g e
2.1) Introduction
The purpose of the requirement gathering and specification is to specify the requirements
of the system. It means that what Features are included in the system, who are the users
of the system and what are the characteristics of the users, what are the hardware
requirements and software development requirements.
2.2) Requirements
There are two types of requirements which are defined as follow:
2.2.1 Functional Requirements
Functional requirements are the requirements which specifies what the system
should do. Requirements necessary for a system to run are functional.
2.2.2 Non-Functional Requirements
12 | P a g e
Table 2.1 Product Features
Administrator Passenger Driver/Conductor
Manage routes
• Create Route -
• Update Route -
View all bus Routes - -
View bus status - -
Manage driver record - -
Manage conductor record - -
Manage bus record - -
Manage user/passenger record - -
Manage notification - -
View timetable View timetable View timetable
Sign-in Sign-in Sign-in
Sign-up Sign-up Sign-up
Sign-out Sign-out Sign-out
View profile View profile View profile
Get bus location
- • Get route info -
• Get ETA
• Get pickup points
13 | P a g e
2.5) Functional Requirements
The functional requirements of the system are as follow
• Administrator
o Manage routes
Administrator can create and update the information about the routes. Routes
are the paths which should be followed by a bus. The starting point from
where the bus starts their trip and ending point at which the bus ends their
trip is Route. Pick up points also included in the route. Pickup points are the
points were bus should stop and pick up the passengers.
o View all bus routes
Administrator can view any bus when driver/conductor starts the trip. And
can view all buses at a time.
o View bus status
Administrator can check the bus status either the bus is on the route or in
the bus stop (point).
o Manage driver record
Administrator can update, create and delete the drive record. Driver
record included the profile (name and contact number) which can be
updated only by Administrator.
o Manage conductor record
Administrator can update, create and delete the conductor record.
Conductor record included the profile (name and contact number)
which can be updated only by Administrator.
o Manage bus record
Administrator can check, update, create, the bus record. Bus record
included the bus ID, bus route and history of the bus routes.
o Manage passenger record
Administrator can update, create and delete passenger record.
Passenger record includes the personal details, profile (name and
contact number) and account registration.
o Manage leave application
Administrator can either accept the leave application or reject the leave
application. If application is accepted, then administration will assign
another driver/conductor to the bus.
o Manage timetable
Administrator can create a timetable for the bus routes and assign bus to
concerned driver/conductor. Timetable includes the departure timing of
destination from university.
o Manage notification
Administrator can send notification to driver/conductor for their assigned
bus, duty time and assigned route. Administrator will notify the driver/
conductor and passengers if timetable or route is updated. Administrator will
notify the driver/conductor and passengers if buses will not be routed.
14 | P a g e
• Passenger
o Get bus location
Passengers can search for the location of nearest bus, route information,
get ETA (Estimated Time of Arrival) and pickup points of route.
• Driver/Conductor
o Start/End trip notification
Driver send the Start trip notification/ End trip notification to
administrator and administrator able to monitor or view their current
location on the screen.
o Send leave application
Driver/Conductor can compose leave application to Administrator, can
send leave application to Administrator and check status of leave
application. Status is the approval/disapproval of the leave application.
o Update location
Location is updated according the algorithm implemented at the back of
Driver/Conductor Mobile Application and updated location is send to
Passenger (for contacting) and Administrator (for monitoring).
Usability
System should be usable by every means. It must be easy to use, easy to install, easy
to configure and must have interactive interface and design.
The Campus Bus Management System (CBMS) is user friendly. Every user can easily
install and use the mobile application.
Efficiency
System must be efficient in every aspect in case of response time, in case of speed
etc.
In this system, the tracking system must be real-time i.e. passengers can track the bus
on the real-time base. The latest/updated location of the bus must be shown to the
passengers.
15 | P a g e
Reliability
System must perform all the tasks for what it is made. System is said to be more
reliable that how fast it recovers from the abnormal conditions
The reliability of the CBMS is that it must perform all the tasks that it is designed for.
Some major features are tracking the buses, viewing the timetable and notification etc.
The system supposed to do all these features.
Availability
Services provided by the system must be available all the time and everywhere.
Proposed system should be available all the time even in the absence of internet
access user should be able to read stored feed.
In Campus Bus Management System (CBMS) system tracking must be available for
passengers and Admin when buses are routing. So that passengers and admin can
track the bus and get Estimated Time of Arrival (ETA) during the trip. The services
must be available to the passengers and driver/conductor so that they can view
timetable and notifications anytime.
System Features
1 Processor 2.4 GHz (web application)
16 | P a g e
2.8) System Development Requirements
2.8.1) Web based Development
Following language is used for web application development:
ASP.NET MVC 5.0
The ASP.NET MVC is a web application framework developed by Microsoft, which
implements the model–view–controller (MVC) pattern. It is open-source software, apart
from the ASP.NET Web Forms component which is proprietary
2.8.2) Mobile based Development
Xamarin
With a C#-shared codebase, developers can use Xamarin tools write native Android, iOS,
and Windows apps with native user interfaces and share code across multiple platforms,
including Windows and macOS.
2.9) Summary
In this chapter, the requirements of the system are discussed. User of the system and their
characteristics are also defined. Admin, passengers and driver/conductor are the users of
the system. The functional and non-functional requirements are also discussed. At the end
of the chapter, System Development Requirements are also discussed which includes
Web-based and Mobile-based development requirements.
17 | P a g e
Chapter 3: System Design
18 | P a g e
3.1) Introduction
To understand any system in a better way we need the help of different diagrams of the
system. With these diagrams on can understand the system more quickly than reading all
the documents about the system. In this chapter, some of these diagrams are designed
which includes use-case diagram, class diagram and entity relational diagram (ERD).
19 | P a g e
Use-case diagram of the CBMS:
20 | P a g e
Use Case 1: Sign up
ID Use Case 1
Primary Actors Passenger /Driver/Conductor /Administrator.
Input • Full Name
• Father Name
• Department
• Registration No
• Contact number
• Email Address
• Password
• Confirm Password
Pre-Condition Device is connected through Internet.
Post-Conditions Signed up successfully.
Notification sends to Administrator for authentication.
Main success Message delivered that Signed up successfully and soon your account has
Scenario been activated after authentication.
Alternative • Actor unfilled some mandatory data fields (Full name, Registration
flows or number, Password, Confirm password, email).
extensions • System shows error message that please fill up the mandatory data
fields.
21 | P a g e
Use Case 2: Sign in
ID Use Case 2
Primary Passenger /Driver/Conductor /Administrator.
Actors
Input Registration no and Password.
Pre- Actor (Passenger /Driver/Conductor /Administrator) is registered and
Conditions information is saved in the system.
Post- Logged in successfully and home screen is visible.
Conditions
Main success System display log in screen having two input fields for Registration
Scenario number and Password.
• User Enter Registration number and Password.
• User click on Submit button.
• System Validate Registration number and Password.
• Logged in successfully and Home screen is displayed.
Alternative • Incorrect Registration number and Password.
flows or • Registration number is valid but information not stored in system.
extensions • System shows error message that invalid Registration number or
Password.
22 | P a g e
Use case 3: View Timetable
ID Use Case 3
Primary Actors Passenger /Driver/Conductor /Administrator.
Input None.
Pre-Condition Actor logged in the system.
Post-Condition Get Access to view Timetable.
Main success Actor can view timetable of Buses, routes, timing, status of bus either on the
Scenario route or not.
23 | P a g e
Use Case 4: View Notification
ID Use Case 4
Primary Actors Passenger /Driver/Conductor /Administrator.
Input None
Pre-Condition Actor logged in the system.
Post-Condition Get Access to view Notification.
Main success Actor can view Notification of Buses, routes, updating of time, status of bus
Scenario either on the route, late due to some reason or not coming.
24 | P a g e
Use Case 5: View Profile
ID Use Case 5
Primary Actors Passenger /Driver/Conductor /Administrator.
Input None
Pre-Condition Actor logged in the system.
Post-Condition Get Access to view profile by just clicking a Tab
Main success • Actor (Passenger) can view profile of Driver/Conductor and able
Scenario to contact with Driver/Conductor via phone number shown in
profile.
• Actor (Driver/Conductor) can view profile of Administrator and
able to contact with Administrator via phone number shown in
profile
• Actor (Administrator) can view profile of Passenger and
Driver/Conductor and able to contact.
Alternative flows • Actor logged in but
or extensions • Unable to view profile
• View profile that is not concerned (like Passenger view the profile
some other passenger).
25 | P a g e
Use Case 6: Get bus location
ID Use Case 6
Primary Actors Passenger.
Input Click the button “Get Location”.
Pre-Condition • Actor (Passenger)
• Logged in the system.
• Enable GPS of device.
• Enable internet connection.
Post-Condition • Get Access to view and Track location of nearest bus by just
clicking a Tab.
Main success • Actor (Passenger)
Scenario • Get all the nearest buses.
• Get Route information (Including Pick up points and Route).
• Get direction of bus that either bus is coming towards pick up
point of location or moving away from pick up point.
• Select the concerned bus by checking its route and pick up points.
• Track the Route of concerned bus.
• ETA (Estimated Time of Arrival) of concerned bus.
Alternative flows Actor clicking a tab but
or extensions • Unable to Get location
• View Bus location that is not concerned (like bus which is not
concerned the route of passenger).
• View Bus location that is not concerned (like bus which is far
from the location of passenger).
26 | P a g e
Use Case 7: Location Updation
ID Use Case 7
Primary Actors Driver/Conductor.
Input Click the button “Get Location”.
Pre-Condition • Actor (Driver/Conductor)
• Logged in the system.
• Enable the GPS of device.
• Enable the internet connection.
Post-Condition Current location pushed (send) to the Server with in time interval.
Main success • Actor (Driver/Conductor)
Scenario • Start the Trip.
• View the route that is fixed by Administrator.
• Follow the route.
• Follow the pickup points of route.
• End the route after reaching the destination.
Alternative flows Actor (Driver/Conductor) clicking a tab but
or extensions • Trip not starts.
• Start trip and notification not sent to Administrator.
• Location not updated to the Administrator.
• Concerned route is invisible.
• Pickup points are invisible.
27 | P a g e
Use Case 8: Start/End trip notification
ID Use Case 8
Primary Actors Driver/Conductor.
Input Click the button “Start/End trip”.
Pre-Condition • Actor (Driver/Conductor)
• Logged in the system.
• Enable the GPS of device.
• Enable the internet connection.
Post-Condition Current location pushed (send) to the Server with in time interval.
Main success • Actor (Driver/Conductor)
Scenario • Start the Trip.
• Start trip notification sent to the Administrator.
• End the route after reaching the destination.
• End trip notification sent to Administrator.
Alternative flows Actor (Driver/Conductor) clicking a tab but
or extensions • Trip not starts.
• Start trip and notification not sent to Administrator.
• Follow a trip that in not fixed by Administrator (Follow some
other route) on this way alarming notification sent to
Administrator.
• Missed some pick-up points that are concerned to the route on this
way alarming notification sent to Administrator.
• End trip and notification not sent to Administrator.
28 | P a g e
Use Case 9: View bus status
ID Use Case 9
Primary Actors Administrator.
Input None
Pre-Condition • Actor (Administrator)
• Logged in the system.
• Enable the internet connection.
• Active on the Home screen.
Post-Condition Able to view status of all the buses.
Main success • Actor (Administrator)
Scenario • View the Status of buses either on route or stay at the campus bus
stand by unique bus id.
Alternative flows Actor (Administrator) clicking a tab but
or extensions • Status of bus is invisible.
• Unable to view status of all the buses.
• View status but status not updated (like bus is on the route and
status that is shown is at the campus).
29 | P a g e
Use Case 10: View all bus routes
ID Use Case 10
Primary Actors Administrator.
Input None
Pre-Condition • Actor (Administrator)
• Logged in the system.
• Enable the internet connection.
• Active on the Home screen.
Post-Condition Able to monitor route of all the buses
Main success • Actor (Administrator)
Scenario • View the route of all buses.
• Monitor route of all the buses on single screen map.
• By clicking on the bus icon view the route assigned and its Pickup
points of the bus.
Alternative flows Actor (Administrator) clicking a tab but
or extensions • Route of bus is invisible.
• Unable to view route of all the buses.
• View route but route not updated if changed (like bus follow the
route which is now changed).
30 | P a g e
Use Case 11: Manage Driver Record
ID Use Case 11
Primary Actors Administrator.
Input Driver information including
• Full Name
• Father Name
• Department
• Registration No
• Contact number
• Password
• Confirm Password
Pre-Condition • Actor (Administrator)
• Logged in the system.
• Enable the internet connection.
• Active on the Home screen.
Post-Condition Able to edit, update Driver Record
Main success System display the input fields for option” Manage Driver Record” and
Scenario Actor (Administrator) can
• View the Record of all the drivers.
• Able to change the record of driver.
• Able to add new record of driver.
Alternative flows • Actor (Administrator)
or extensions • Updated the record but not saved on the server.
31 | P a g e
Use Case 12: Manage Conductor Record
ID Use Case 12
Primary Actors Administrator.
Input Conductor information including
• Full Name
• Father Name
• Department
• Registration No
• Contact number
• Password
• Confirm Password
Pre-Condition • Actor (Administrator)
• Logged in the system.
• Enable the internet connection.
• Active on the Home screen.
Post-Condition Able to edit, update Conductor Record
Main success System display the input fields for option” Manage Conductor Record” and
Scenario Actor (Administrator) can
• View the Record of all the Conductors.
• Able to change the record of Conductors.
• Able to add new record of Conductors.
Alternative flows • Actor (Administrator)
or extensions • Updated the record but not saved on the server.
32 | P a g e
Use Case 13: Manage Passenger Record
ID Use Case 13
Primary Actors Administrator.
Input Passenger information including
• Full Name
• Father Name
• Department
• Registration No
• Contact number
• Email
• Password
• Confirm Password
Pre-Condition • Actor (Administrator)
• Logged in the system.
• Enable the internet connection.
• Active on the Home screen.
Post-Condition • Able to edit, update Passenger Record
Main success System display the input fields for option” Manage Passenger Record” and
Scenario Actor (Administrator) can
• View the Record of the entire Passenger.
• Able to change the record of Passenger.
• Able to add new record of Passenger.
Alternative flows • Actor (Administrator)
or extensions • Updated the record but not saved on the server.
33 | P a g e
Use Case 14: Manage Bus Record
ID Use Case 14
Primary Actors Administrator.
Input • Bus information including
• Bus ID
• Bus number
• Model
Pre-Condition • Actor (Administrator)
• Logged in the system.
• Enable the internet connection.
• Active on the Home screen.
Post-Condition Able to edit, update and view all Bus Record.
Main success System display the input fields for option” Manage Bus Record” and Actor
Scenario (Administrator) can
• View the Record of the all the buses of campus.
• Able to change the record of buses.
• Able to add new record of buses.
Able to assign any bus to any route and Driver/Conductor.
Alternative flows • Actor (Administrator)
or extensions • Updated the record but not saved on the server.
34 | P a g e
Use Case 15: Manage Notification
ID Use Case 15
Primary Actors Administrator.
Input Notification information related to
• Buses
• Assigned routes
• Bus assigned to driver/conductor
Pre-Condition • Actor (Administrator)
• Logged in the system.
• Enable the internet connection.
Active on the Home screen.
Post-Condition System saved the information and actor (Administrator) able to edit,
update change notification
Main success System display the input fields for option” Manage Notification” and
Scenario Actor (Administrator) can
• View all the previous notifications and update them.
• Able to delete previous notifications and add new notifications.
• Able to send notifications to Passengers and Driver/Conductor as
well.
Alternative • Actor (Administrator)
flows or • Updated the record but not saved on the server.
extensions • Notification sent but not delivered to the
Passengers/Driver/conductor.
35 | P a g e
Use Case 16: Manage Passenger Requests
ID Use Case 16
Primary Actors Administrator.
Input None
Pre-Condition • Actor (Administrator)
• Logged in the system.
• Enable the internet connection.
• Active on the Home screen.
Post-Condition Authenticate the passenger requests for account approval.
Main success System display option” Manage Passenger Requests” and Actor
Scenario (Administrator) can
• View the information send by Passenger.
• Compare the information with the stored information.
• Verify the information and activate the account.
• Send notification message to passenger that account has been
approved.
Alternative flows • Actor (Administrator)
or extensions • Updated the account but not saved on the server and passenger not
able to use account.
• Passenger information is correct but not stored on the system and
system shows a message that information that is compared is
unknown or incorrect.
36 | P a g e
3.3) Data Dictionary
Data dictionary is used to describe data, data format and data structure that
are used in the system. It is also used for accessing and controlling databases.
3.3.1) Data elements
Administrator
Admin Data type Description Type Constraint
Log in • ID Admin Integer >0 AND not
• Password identifier in NULL
Database
Add • Tittle Notification String not NULL
notification • Date and time identifier in AND <= 30
• Detail Database
37 | P a g e
3.3.2 User
User
User Data type Description Type Constraint
Log in • ID User Integer >0 AND not
• Password identifier in NULL
Database
Sign Up • ID User Integer
• Password identifier in String
• Confirm Database Character
Password
• Registration
No >0 AND not
• Email NULL
• Contact no
• Date of birth
3.3.3 Driver/Conductor
Driver/Conductor
Driver/Conductor Data type Description Type Constraint
Log in • ID Driver Integer >0 AND not
• Password identifier in NULL
Database
Sign Up • ID Driver Integer
• Password identifier in String
• Confirm Database Character
Password
• Registration
No >0 AND not
• Email NULL
• Contact no
• Date of birth
38 | P a g e
3.4) Data Structure
3.4.1) Administrator
Name Description Data Structure
Admin Admin is the type of user ID and Password
of the system
3.4.2) User
Name Description Data Structure
User user is the type of user of ID and Password
the system (Student,
Employee, Faculty
member, Teacher, Staff)
using mobile application
3.4.3) Driver/Conductor
Zero or many:
One or many:
Many:
39 | P a g e
One and Only One:
Zero or One
40 | P a g e
3.6) Class Diagram
In software engineering, a class diagram is a type of static structure diagram that
describes the structure of a system by showing the system's classes, their attributes,
operations (or methods), and the relationships among objects.
41 | P a g e
3.7) Sequence Diagram
UML sequence diagram is the interaction diagram that shows how different tasks are
carried out and clearly shows sequence or time-ordering of messages. It is used to
illustrate messaging between software objects.
42 | P a g e
3.7.2) Sequence Diagram 2: Sign in
43 | P a g e
3.7.3) Sequence Diagram 3: View timetable
44 | P a g e
3.7.4) Sequence Diagram 4: View notification
45 | P a g e
3.7.5) Sequence Diagram 5: View Profile
46 | P a g e
3.7.6) Sequence Diagram 6: Location Updation
47 | P a g e
3.7.7) Sequence Diagram 7: Start/End trip notification
48 | P a g e
Chapter 4: Tools and Technology
49 | P a g e
4.1) Introduction
At implementation stage, algorithms and the technical specifications are changed to the program,
software component or any other computer system through programming and deployment. This
stage involves framework selection, language selection, operating system and the application
screenshots.
50 | P a g e
Based on ASP.NET, ASP.NET MVC allows software developers to build a web
application as a composition of three roles: Model, view and Controller. The MVC model
defines web applications with 3 logic layers:
51 | P a g e
Chapter 5: Implementation
52 | P a g e
5.1) Introduction
This section is all about the implementation phase including language selection, Data
base selection and other some interfaces.
5.4) Interfaces
Some interfaces of both applications are given below.
5.4.1 Desktop Application
55 | P a g e
53 | P a g e
54 | P a g e
55 | P a g e
56 | P a g e
57 | P a g e
58 | P a g e
59 | P a g e
60 | P a g e
61 | P a g e
5.4.2) Mobile Application (for user)
62 | P a g e
63 | P a g e
5.4.3) Mobile Application for Driver/Conductor
64 | P a g e
Chapter 6: Testing
65 | P a g e
6.1) Introduction
This section contains the acceptance test cases which are used to test the functional
and non-functional requirements after coding of software.
6.2) Test Cases
Some important functionality can be tested by the following test cases:
6.2.1) Test case 1: User Log in
Description In this test case Log in functionality of user is tested. It shows that
log in as user is only possible if username and password are correct.
Setup • Register as user with following credentials
User ID: 04161413001
User Password: Jawad123
Instructions • Enter user ID: 04161413001
• User Password: Jawad123
• Enter Log in
• Enter log out
66 | P a g e
6.2.2) Test case 2: Get pick up points
Description In this test case get pick up points functionality of user is tested. It
shows that after log in as user by click on the bus icon shown on the
map pick up points are seen.
Setup • Log in as user by enter user ID and password
Instructions • Enter user ID: 04161413001
• User Password: Jawad123
• Enter Log in
• Click on the bus icon shown on the map that is near to the
pin location.
Results Pick up points along with route are seen
67 | P a g e
6.2.3) Test case 3: View notification
68 | P a g e
6.2.4) Test case 4: View timetable
69 | P a g e
6.2.5) Test case 5: Driver/Conductor Log in
70 | P a g e
6.2.6) Test case 6: Start/End trip
71 | P a g e
6.2.7) Test Case 7: Admin Login
Description In this test case login functionality of admin is tested. It shows that
login as administrator is only possible if username and password are
correct.
Setup • Register an admin with following credentials:
• Employee Number: 04161413002
• Password: ishaq123
Instructions • Enter Employee Number: 04161413002
• Password: ishaq123
• Press login
• Press logout
• Enter Employee Number: 04161413001
• Password: 234
• Press login
Press logout
72 | P a g e
6.2.8) Test Case 8: Manage Routes (Add a Route)
Description In this test case “add a route” functionality of admin is tested. It shows that route is
added only if admin is logged in and enters complete information and unique time
and bus numbers for a route to be added.
73 | P a g e
6.2.9) Test Case 9: Manage Notification (Add a Notification)
74 | P a g e
Description In this test case functionality of adding a passenger to the system is tested.
It shows that only admin can add passenger if it is logged in and
information is complete about the passenger.
Setup • Login an admin with following credentials:
• Employee Number: 04161413002
• Password: ishaq123
• Press log in
• Press log out
• Login an admin with following credentials:
• Employee Number: 04161413001
• Password: 234
• Add a passenger with name: “Ishaq”, department “Information
Technology”, stop: Shams Abad, id: 1, email:
ishaq.ali84@yahoo.com and Password: 234
• Add a student with name: “Ali”, department “Computer Science”
Instructions • Enter Employee Number: 04161413002
• Password: ishaq123
• Press login
• Press logout
• Enter: 0416141002 Password: 234
• Press log in
• Press log out
• Click on “Add User” after entering information of Passenger Ishaq
• Click on “Add User” after entering information of Passenger Ali
75 | P a g e
6.2.11) Test Case 11: Manage Bus Timing
Description In this test case functionality of “Adding a Bus Timing” to the system is
tested. It shows that only admin can add time if it is logged in and
information is complete about the timing.
Setup • Login an admin with following credentials:
• Employee Number: 04161413002
• Password: ishaq123
• Login an admin with following credentials:
• Employee Number: 04161413001
• Password: 234
• Add a timing with time: 4:00 and Meridiem: PM
• Add a timing with time: 11:00
Instructions • Employee Number: 04161413002
• Password: ishaq123
• Press login
• Press logout
• Enter Employee Number: 04161413001
• Password: 234
• Press log in
• Press log out
• Click on Add after entering Time and Meridiem.
• Click on Add after entering Time
Result “04161413002” as admin logs in successfully and time is added time and
meridiem both are provided.
“04161413001” as admin failed to login.
76 | P a g e
6.2.12) Test Case 12: Manage Bus Stop
Test Description In this test case functionality of “Adding a Bus Stop” to the system is
tested. It shows that only admin can add stop and if it is logged in and
information is complete about the stop.
Setup • Login an admin with following credentials:
• Employee Number: 04161413002
• Password: ishaq123
• Login an admin with following credentials:
• Employee Number: 04161413001
• Password: 234
• Add a stop as stop name Abpara
Instructions • Employee Number: 04161413002
• Password: ishaq123
• Press login
• Press logout
• Enter Employee Number: 04161413001
• Password: 234
• Press log in
• Press log out
• Click on Add and enter Abpara.
• Click on Add and enter G8.
Expected Result “04161413002” as admin logs in successfully and Abpara is added but G8
is not added because it is already added.
“04161413001” as admin failed to login.
77 | P a g e
6.2.13) Test Case 13: Manage Bus Records (Add a Bus Record)
Description In this test case functionality of “Adding a Bus Record” to the system is tested. It
shows that admin can only add bus if it is logged in and information is complete
about the bus.
78 | P a g e
6.2.14) Test Case 14: Manage Bus Records (Delete a Bus Record)
Description In this test case functionality of “Deleting a Bus Record” to the system is
tested. It shows that admin can only delete a bus if it is logged in and bus
is selected.
Setup • Login an admin with following credentials:
• Employee Number: 04161413002
• Password: ishaq123
• Login an admin with following credentials:
• Employee Number: 04161413001
• Password: 234
• Delete a bus with Bus Number: 5
Instructions • Employee Number: 04161413002
• Password: ishaq123
• Press login
• Press logout
• Enter Employee Number: 04161413001
• Password: 234
• Press log in
• Press log out
• Click on Delete Bus Record and select Bus Number: 5
• Click on Delete Bus Record and select Bus Number: 7
Result “04161413002” as admin logs in successfully and Bus Number: 5, Plat
Number: ISL 123 is deleted but Bus Number: 6, Plat Number: ISL 345 is not
deleted because it is was not added in database.
“04161413001” as admin failed to login.
79 | P a g e
Chapter 7: Feature Work and Conclusion
80 | P a g e
7.1) Feature Work and Conclusion
Campus bus management system Quaid Azam university consists of two applications
• Web application for transport office to manage and analyze records of buses, routes,
Driver/Conductor, timing and Users.
• Mobile application for Passengers (Users) and Driver/Conductors to check and track
the relevant information.
As this mobile application has limited functionalities, so in feature some advanced features like
Leave Application for Driver/Conductor, Contact of User with Administrator directly etc can be
added so users, Driver/Conductor and Administrator can facilitate more for the improvement of
Transport department.
81 | P a g e
References
1. www.uber.com/en/pk
2. www.uber.com/en-PK/about/how-does-uber-work/
3. www.careem.com
4. www.careem.com/en-ae/how-it-works/
5. www.microsoft.com/net/learn/apps/mobile
6. www.visualstudio.microsoft.com/xamarin/
7. www.docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms?view=sql-
server-2017
82 | P a g e