Professional Documents
Culture Documents
Software Engineering: University School of Information, Communication and Technology
Software Engineering: University School of Information, Communication and Technology
SOFTWARE ENGINEERING
PROJECT
ONLINE VEHICLE POOLING SYSTEM
1
INDEX
2
PROPOSAL STATEMENT-ONLINE VEHICLE POOLING SYSTEM
Business Requirement-
Need to Minimize the use of vehicles in the city, to reduce Pollution and Traffic
and to save resources. For this Design a Application where user can avail vehicle
pooling system. This application must be design to give a critical support on
holidays or on unplanned shutdown.
INTRODUCTION-
With the increase of environmental concerns and the congestion of roads,
carpooling has gained a lot of popularity when it comes to environment-friendly
and cheap ways of travelling. Carpooling is when two or more persons share a ride
in one of their personal cars. Carpooling reduces pollution since we have less cars
on the road. It’s also economic since the travel expenses are shared among the
riders. Travelling alone may be stressful, so having other persons with you on a trip
reduces the stress and is also the occasion to socialize and make the trip funnier.
Carpooling has become a practical, cheap and stress-free way to move around.
This project presents the requirements, Structural design and implementation for
3
carpooling system. The added features, compared to available applications, are
different kinds of trips, a check-in system. The two kinds of trips are single trips,
which are trip between two cities, and frequent trips which are the ones that
commuters do every day. The check-in system enables users to check in meetings
points and notify all users about that. The application is designed to be scalable,
extensible, highly available and with a good performance.
The purpose of this project is to develop an application that tries to overcome the
disadvantages of the other available applications. The application is to be generic,
which means that it may work for any carpooler in any country in the world.
OBJECTIVE-
The main objective of the work presented through this Assignment is to develop
an enterprise-class server that represents the backbone of the application and
ensure its compatibility with multiple platforms including web, Android and iOS.
Moreover, an example of a client Android application is developed for the users to
access the services of the application from handheld devices and serve as a
companion during travelling.
PURPOSE OF DEVELOPMENT-
• The online vehicle pooling system connects car owners to people in their
vicinity who needs a vehicle.
REQUIREMENTS-
Project description -The following section contains the user and system
requirements for the carpooling application. The application is a meeting
point for both drivers and passengers. Users can share and find rides. The
application will be divided into two main parts. The first one is for intercity
trips where users can post their trips and register for trips created by
other users. In addition to that, a check in system is available to notify the
users when the driver or the passenger reaches the meeting point. The
other part is for frequent trips. Frequent trips are trips that occur on a
weekly basis. A person who commutes to work, for example, may be
interested in creating a frequent trip to find other passengers to ride with.
Given the fact that the application should be socially enabled, the user
should be prompted to share his trips on social media. The access of the
application is only granted to authorized users.
a) Users –
The users of the application are travellers and commuters who
want to go from one place to another or users that are driving a
5
trip and want to find passengers. Users can act as both passengers
and drivers while using an application. The users use their social
media accounts in order to log in the application.
Any user of the application can act as:
A driver is any person that owns a car and wants to go from one place
to another and publishes his trip on the application in order to find
passengers to share the ride with.
A passenger is any person that doesn’t own a car and wants to join a
driver in a trip he posted and agrees to all the conditions specified (price).
b) System-
The application will highly depend on the geo-localization and
mapping system of Google. This will be used for showing maps.
Also, GPS data will be processed using Google Maps. Third-party
authentication systems are also being used for logging users. In
this case, Facebook or other social media Authentication is used
to verify the identity of users.
Functional requirements-
Login- Since all the operations that can be done using the application
requires both the driver and passenger to be logged in, they can use
the login forms of either Facebook or other social media platforms.
For this matter, the user is prompted to connect the app to his
account and then proceed for sign in/up.
Modify profile information- All users can modify their profile
information. The profile information contain: name, phone number,
email, type of car if any. The user can easily edit these information in
order to be contacted and recognized.
Social media sharing -In order to attract more users to the
application and help users find passengers, users should be able to
share their activity on the application on social media. A suggestion
for sharing trips’ creation, trips’ registration or check in should pop-
up whenever those previous actions are performed. The sharing
should be authorized by the users and not done automatically by the
6
application in order not to spam the users’ account and gain the
users’ confidence.
Rate driver/passenger- Both the driver and passenger can rate each
other in other to gain reputation. The importance of the rating is to
encourage users to be helpful and nice during the trip so that they
gain popularity in the application. It is also a way to ensure users of
who can be trusted or not.
Create new regular trip -The driver can create a new trip to be
displayed when passengers search for trips. The application will
prompt the driver or information of the regular trip which consists of
destination, origin, meeting point ( which can be pointed in a map),
departure time/date , estimated arrival time .After providing this
information, the user publishes it in order to find passengers. Upon
the creation of the trip, a user can share the trip he just created in
social media to find passengers to drive with.
Search for regular trips and reservation -When a passenger needs to
find a driver for a destination, he can use a search form which asks
for destination, origin, departure date/time. He can also specify the
travelling preferences. When he finds a suitable trip, he can reserve
a spot easily in by taping a button which will send a notification to
the driver telling him that a passenger has reserved.
Check-in trip- Whenever the driver or passenger arrive to the
meeting point at the time agreed upon, he can check-in the meeting
point in order to notify the other user and to show his punctuality.
The application will use the devices GPS in order to make sure that
the users are in the meeting point.
Frequent trips- Add frequent trip The driver can create a frequent
trip where they show the origin and destination, departure and
return times in addition to the frequency (daily and weekly).
Search frequent trips- A passenger can search for a frequent trips
that he can join. The passenger should specify the departing
neighbourhood, destination, departure times and frequency. The
application will try to match it with the best trip. If the passenger is
satisfied, he can register to the frequent and will be given the
contact of the other members.
7
Non-functional requirements
ADVANTAGES-
Disadvantages
You won’t have much freedom or flexibility with your schedule and activities-
Because there are several people traveling together, you usually have to leave at
the same time. So if you want to do errands, go out for lunch, or have other plans
after work, it will be more difficult to do these since you have a whole bunch of
people to consider. Aside from that, if one person is running late, everyone’s
schedule will be affected, so being time conscious is very important.
You won’t have much privacy
If you like to spend your travel time meditating or just being alone with your
thoughts, that will be pretty impossible when you’re in a car with a handful of
other people. Aside from that, when someone is sick, there is a high chance you
might become ill too.
The designated driver is responsible for his passengers-
In case you get into an accident, the responsibility lies most heavily on the driver.
There is also additional pressure on the driver because that person has to make
sure everyone gets to their destination on time and safely.
9
IN ONLINE VEHICLE POOLING SYSTEM WE HAVE USERS WHO
CAN ACT AS-
So, the users can act as both drivers as well as passengers as required to them
according to them.
Now let’s see what are the functions that users, drivers and passengers would be
able to perform and take benefits-
10
USERS-
REGISTER
• The user would be able to create his/her account on the
application via email-id or some of his/her verified social
account and make himself register on the application to take
rides or give rides.
• If user wants to give the rides he can also register his/her
verified vehicle no and its type.
LOGIN
• After registering the account on application, user would be
able to login in the app via his user-id/email-id and password
he/she saved for the account.
EDIT PROFILE
• After a while if user want to make some changes to their
profie , there will a "EDIT PROFILE" option for them to make
valuable changes,to use the app in better way according to
their needs.
11
DRIVERS-
RATE PASSENGERS
• Drivers would be able to rate passengers according to their
behaviour in their journey for better experience
CHECK IN TRIPS
• Drivers would be able to check in the trips.
PASSENGERS-
12
SEARCH REGULAR TRIPS
CHECK IN TRIPS
RATE DRIVERS
RESEREVE A TRIP
Now lets see the use case diagram of our application as per the
functions performed by the user-
13
14
DATA FLOW DIAGRAM-ONLINE VEHICLE POOLING SYSTEM
Here we elaborate high level processes of the system.it is the basic overview of whole system or
process being analysed and modelled . It’s designed to be an at a glance view of drivers ,enquiry
and login showing the system as a single high level process with its relationship to external
entities. It should we understood by wide audience .
VEHICLE MANAGEMENT
ENQUIRY MANAGEMENT
VEHICLE BOOKING
MANAGEMENT
VEHICLE
POOLING
SYSTEM
DRIVER MANAGEMENT PASSENGER MANAGEMENT
ROUTE MANAGEMENT
15
FIRST LEVEL DATA FLOW DIAGRAM (1 LEVEL DFD)
Here we show system is divided into subsystems(processes) each of these deals with one or
more data flows to or from an external agent and which together provide the functionality of
the system as a whole.it also identify the internal data sources of login, enquiry, drivers, routes
and passenger information that must be present in order for the system to do it’s jobs and
shows the flow of data between the various parts of entities. It provides more detailed
breakout pieces of the 1st level DFD, we highlight the main functionalities.
POOLING
SYSTEM GENERATE VEHICLE ROUTE
ROUTE MANAGEMENT
REPORT
MANAGEMENT
ENQUIRY GENERATE ENQUIRY REPORT
MANAGEMENT
16
SECOND LEVEL DATA FLOW DIAGRAM (2 LEVEL DFD)
Here it goes one step more deeper than 1 level DFD . It may require more functionalities of the
system to reach the necessary level of details of the system . It contain more details of login,
enquiry, drivers, routes and passenger information etc.
USER
EMAIL TO MANAGE ENQUIRY PROFILES
SEND
17
FLOW CHART-ONLINE VEHICLE POOLING SYSTEM
ACCEPT
REQUEST
REGISTER
SHARE IN SOCIAL
RATE DRIVER MEDIA
MAKE PAYMENT
LOGOUT
SHARE IN SOCIAL
MEDIA
18
ENTITY RELATIONSHIP DIAGRAM-ONLINE VEHICLE
POOLING SYSTEM
PASSWORD
ID
LOGIN
PERMISSION NAME
USER_ USER_ID ID
PASS
EMAIL ADDRESS
19
CONCLUSION
20