2. -1-
Table of Contents
Declaration 4
Acknowledgements 5
Abstract 6
Chapter one
1. Introduction and project planning 8
1.1. Project Objective 8
1.2. System stack holders definition 8
1.3. Project Scope definition 11
1.4. Used technologies (software solutions) 11
1.5. Problem analysis 13
1.6. Feasibility study 13
1.7. The system Development life cycle 14
Chapter two
2. Overall description 17
2.1. System description 17
2.2. System functions 17
2.3. System features 17
2.4. Operating Environment 18
Chapter three
3. Requirements and Constrains 20
3.1. Functional requirements 23
3.2. Nonfunctional requirements 24
-Performance requirements
- Information requirements
3. -2-
- Efficiency requirements
- Service Requirements
3.3. System Constraints 24
Chapter four
4. System Design 27
4.1. Database logical and physical Design 27
4.2. Process design and Class Diagram 35
4.2.1. Use case diagrams and Use Case text 35
4.2.2Sequence diagrams 44
4.2.3. Class diagram 45
4.2.4 Activity diagram 47
4.2. 5 Interface design 48
References 63
4. -3-
List of Figures and Tables
Figure Name Page
1.1 System Stakeholders 9
1.2 Systems development life cycle 15
2.1 System Features 18
4.1 System EERD 27
4.5 Database Diagram From Oracle 31
4.7 Online Data base schema from SQL Server 33
4.10 Use Case diagram 36
4.11 System Sequence diagram 44
4.12 Class diagram 45
5. -4-
Declaration
We hereby declare that the project entitled “Electronic Taxi online booking (E-Taxi)”
submitted for the Diploma Degree is our original work and the project has not formed the basis
for the award of any degree, associate ship, fellowship or any other similar titles.
Name Signature
1 Fathy Ahmed Mohamed
2 Mohamed Sabar Abd El Hameed
3 Taha Mohamed Soliman
4 Reda Mohamed Metwaly
5 Mahmoud Abd El Basat Hekil
Place: Institute of Statistical Studies and Research – Cairo University
Date: 23-6-2016
6. -5-
Acknowledgments
هللا بسمم رحمن ا رحمن
At the beginning and at the end we all thank Allah for helping us to achieve this work and ask
Allah to benefit us with what he taught us and teach us what will benefit us.
Also the achievement of this piece of work wouldn’t be to see the light without the support, help
and contribution of:
Professor: Hisham Hefni the acting head of the computer science and information system
department for his support and advice.
Doctor: Ahmed Hamaza supervisor of our graduation project.
All the faculty members who taught us during our study in the degree program.
Finally we thank our families for supporting us and helped us to reach so far and to have the
tolerance to face difficulties and keep up.
7. -6-
Abstract
Our system it develops, markets and operates the mobile app, which allows consumers
with smartphones to submit a trip request which is then routed to drivers who use their own cars
or drive company cars.
To passengers, our system is essentially synonymous with taxis, and to drivers, it’s
basically a referral service. The Android, iOS and Windows Phone app connects riders with
drivers using their phone’s GPS capabilities, letting both parties know one another’s location
and removing the question of when the ride will actually arrive. In addition, the tech company
also processes all payments involved, charging the passenger’s credit card, and direct depositing
the remaining money into the driver’s account, all in the background and completely cashless.
The System Architect build based on the most modern technologies and concepts from
the idea of using smartphones to the software architect of SOA (Service-Oriented Architecture)
Considering the new and modern software methodologies and concepts we chose to use
the Unified Process (UP) model to construct our system. Which gives us the most flexibility to
develop our system and finalize software process stages.
Finally we consider of using the most productivity and capability tools for development
our system including (Databases, Software, User interfaces and documentation).
9. -8-
Project planning
1- Introduction the idea on E-Taxi is evolving the way the world moves. By seamlessly connecting
passengers to drivers through our apps, we make cities more accessible, opening up more
possibilities for passenger and more business for drivers , Get a reliable ride in minutes with the
E-Taxi app, no reservations or waiting in taxi lines, from low-cost to premium, every ride option
feels like an upgrade to the everyday. Create your account using a credit card or PayPal, and your
fare will be charged automatically at the end of your ride. You can also pay with cash in select
cities.
1.1 Project objectives as the ideas, thoughts and product designs began to accumulate our main
objective to provide you, the customer, with a safe, reliable and easy taxi service, still proved to
be the focal point. We believe that in today’s day and age, one should have confidence that their
taxi will arrive on time and that you will not be over charged, and for these reasons,we introduced
the much needed transparency
1.2 Project Stack holders
When we come to the designing of the information system, a term often make us think; who are
Stakeholders? So let us define this with the formal definition and it goes like this.
‘Any person whohas interests inan existingor proposed informationsystem.Stakeholders may include
both technical and non-technical workers. They also may be the internal ones or may be the external
one.’
So I think the idea of ‘Who are stakeholders?’ has come to the mind. In building the information system
the system owners, system users, system designers, system builders and all of the above system analysts
and the project managers all these are commonly known as the stakeholders. Whatever their roles in an
organization are it doesn’t matter, all the thing common in them are that, they are information workers.
Let us explore a little deep to the stakeholders:
10. -9-
Figure(1.1)
System Stakeholders
System Stack
holders
System Owner System Users
Internal System
Users
Technical and
Professional staff
Supervisors,
Middle
managers and
executive
managers
External Users
Customers
System
Designers
Database
Administrators
Network
Architects
Web Architects
Graphics Artists
Security Experts
Technology
specialists
System Builders
Application
programmers
System
programmers
Databases
Programmers
Network
Administrators
Security
Administrators
Webmasters
Software
Integrators
System Analysts
11. -10-
System owners: An information system’s sponsor and executive advocate usually
responsible for funding the project of development, operating and maintaining the
information system.
In this system the system owners are the companies who intend to work on electronic
taxies field.
System users: Is the customer who will use the system or is affected by an information
system on a regular basis – capturing, validating, entering, responding to, storing, and
exchanging data and information.
In this system the system Users classified as internal and external users
A- Internal System users
1- Technical and professional staffs which are the staff will operate and maintain system
events like Driver registration approval block users or Drivers
2- Supervisors, Middle managers and executive managers which are the staff of managers
need generate reports from the system like system cash flow
B- External System User
1- Customers any external user have an registration ID will be customer and both of trip
requester or driver are customers on our system
System Designers: a technical specialist who translates system users’ business
requirements and constraints into technical solution. She or he designs the computer
databases, inputs, outputs, screens, networks, and software that will meet the system
users’ requirements.
A- Database Architect (DBA) creates and manages large and expansive electronic
databases to store and organize vast amounts of data. This is a highly skilled profession
that is integral to most modern businesses. A person in this position will work closely
with software designers, design analysts and others to create comprehensive databases
that may be used by hundreds if not thousands of people.
12. -11-
B- Network Architects
C- Web Architects
D- Graphics Artists
E- Security Experts
F- Technology specialists
System builders: a technical specialist who constructs information systems and
components based on the design specifications generated by the system designers.
A- Application programmers
G- System programmers
H- Databases Programmers
I- Network Administrators
J- Security Administrators
K- Webmasters
L- Software Integrators
Systems analyst: a specialist who studies the problems and needs of an organization to
determine how people, data, processes, and information technology can best accomplish
improvements for the business.
Business analyst focuses on only the nontechnical aspects of systems analysis and design.
1.3 Project Scope definition
The scope of the project includes and focuses managing the operation of booking
taxies online adding availability to users to customize their needs comforts issues.
1.4 Used Technologies and Tools
1- Database
13. -12-
a- Oracle Database XE 12
*Used to develop local database to create diagrams.
c- Microsoft SQL Server 2012 database Engine
*Used to create online database and final relational database diagrams.
2- Programming Language and Technologies
a- Visual C# 6
b- ASP.Net MVC
*Used to create web site and web administration application
c- ASP.Net Web API
*Used to create web service
d- Xamarin Framework
e Microsoft XAML
*Used to create mobile app using c#
f- HTML 5,CSS3
g- JavaScript & JQuery
h- Bootstrap
*f & g & h Used to create web site and web administration application user
interfaces
3 Tools
a- Microsoft Visual Studio 2015
b Oracle JDeveloper 12 c
c Oracle WebLogic Server
d Microsoft Android Emulator
e Microsoft SQL Server Management studio
f Oracle SQL Developer 4.1.3
g Google Chrome Developer Tools
14. -13-
1.5 Problem analysis
Risks involved in existing system.
1.6 Feasibility study:
The objective is to determine whether or not the proposed system is feasible. The three
tests of feasibility have been carried out:
A- Technical feasibility
B- Economic feasibility
C- Operational Feasibility
Technical feasibility: In technical feasibility one has to test whether the proposed
system can be developed using the existing technology.
It is a study of resource availability that may affect the ability to achieve an acceptable
system.
This evaluation determines whether the technology needed for the proposed system is
available or not.
As the available technical resources (such as Microsoft SQL server, Microsoft
ASP.NET… etc.) are so satisfactory for the scope of the proposed system, the proposed
system considered technically feasible.
15. -14-
Economic feasibility: The costs and benefits associated with the proposed system
compared and the project is economically feasible if tangible or intangible benefits out
weight cost.
As the proposed system development costs are significant as estimated so the system
proposed considered feasible economically.
Operational Feasibility: It is a standard that ensures interoperability without stifling
competition and innovation among users, to the benefit of the public both in terms of
cost and service quality. It is mainly related to human organizations and political
aspects. In operational feasibility the following points are studded:
- The impact of the changes would be made by the new system.
- The organization structure that might be disturbed by functioning the new system.
- The gap between the skills that the staff of the organization /s that would use the system
and the skills needed by the system to operate appropriately.
The system is operationally feasible as it very easy for the End users to operate it, its
functioning disturbs no other organization structures, and it have no undesired changes
to be made by its functionality.
1.7 The system Development life cycle:
System development process: a set of activities, methods, best practices, deliverables, and
automated tools that stakeholders use to develop and maintain information systems and software.
System Development Process Overview:
The systems development life cycle (SDLC), also referred to as the application
development life-cycle, is a term used in systems engineering, information systems and software
16. -15-
engineering to describe a process for planning, creating, testing, and deploying an information
system.[1] The systems development life-cycle concept applies to a range of hardware and
software configurations, as a system can be composed of hardware only, software only, or a
combination of both
Figure (1.2)
Systems development life cycle
System Planning: the initial planning for a project to define initial business scope,
goals, schedule, and budget.
System analysis: the study of a business problem domain to recommend
improvements and specify the business requirements and priorities for the solution.
System design: the specification or construction of a technical, computer-based
solution for the business requirements identified in a system analysis.
System implementation: the construction, installation, testing, and delivery of a
system into production.
18. -17-
Overall Description
2.1. System description:
The system is a Mobile based application and Web based application.
The Web based application is just some of pages guide the visitor to download the mobile
application form the mobile OS platform store like (Android store – apple store – windows
store), about us and feedback.
The mobile based application is the main app manage customer registration, edit login, get ride,
become a driver, etc.
2.2. System functions:
A- User registering
B- User Login
C- Edit Profile
D- Request ride
E- Become a driver
F- Evaluate a ride
G- information about all your ride
H- Deactivation your account
2.3. System Features:
The following figure illustrates the features of the new system over the existing systems
Feature Uber Cream Our System Notes
Mobile
Application
19. -18-
Support all Egypt
Cites
Can support local
companies
Driver Evaluation Rating
through the
app
Rating
through
SMS only
Rating
through APP
& SMS
Support Regular
Taxi Car
Table (2.1)
System Features
2.3 Operating Environment:
The system typically requires one server for small business or form demo and it may run from
any other personal or laptop computer and need to install mobile application on mobile to can
connect the server
21. -20-
Requirements
Requirements analysis
The requirement analysis phase is the most important phase along the phases of the information
system development process in this system and any other information system. Inadequate
attention to that phase always results in user disagreements and dissatisfaction of the system or
some functions of the system which would be so costly to get over.
There is a 7 common fact finding techniques for gathering user requirements which are:
bservation of work environment
Each technique has its advantages and disadvantages. It is never better to consider one of them is
the best technique while the efficiency of the used technique differs from a system to another
depending on the nature of the system and the working environment.
1- Sampling of existing documentation, forms and databases.
The following screen shots were collected (only sample of the gathered screen shots
23. -22-
2- Observation of work environment
The advantages of this technique are:
Data gathered based on observation can be reliable.
24. -23-
The system analyst is able to see exactly what is being done.
Observation is relatively inexpensive compared with other techniques.
Because of the important advantages of this technique it has been used along with other used
techniques for fact finding techniques for this project.
3- Interviews
The type of interview used is the unstructured open-end interview.
This method was choosing because of the nature of the interviewees (students’ doctors and
heads of departments).
3.1 Functional requirements: Functional requirements are a description of activities and
services a system must provide.
ored data
The functional requirement of the proposed system according to the specified scope can be
divided to data requirements, process requirements and interface requirements.
First: data requirements as inputs and outputs
The system must handle the following inputs:
1- Allow user to enter its personal data like first name , last name , mobile number ,
addresses , email to can register on our system
2- Allow user to enter Location through GPS location system atomically or manual through
map
3- Allow user to set it ride target using map
4- Allow user to can evaluate driver if it passenger or evaluate customer if it driver
5- Allow Driver set it availability status
Second: process function all requirements
The main process the system must allow customer ride request and it is request must be service
Third: Interface requirements
25. -24-
The interface should be available for users all the time and they can access it from anywhere.
3.2 Non Functional requirements:
A description of other features, characteristics, and constraints that define a satisfactory system.
• Performance, ease of learning and use, budgets, deadlines, documentation, security, internal
auditing controls
The non-functions requirements of the system are:
- The system should have a user friendly interface which is simple and easy to use and
understand.
- The system should be highly secured.
- The system should have an interface for news.
3.3 System Constraints:
The primary impact of project constraints is the likelihood of delaying the completion of the
project.
There are three types of project constraints:
- Technological
- Resource
- Physical
The technological constraints
Relate to the sequence in which individual project activities must be completed.
26. -25-
Resource constraints
Relate to the lack of adequate resources which may force parallel activities to be performed in
sequence. The consequence of such a change in network relationships is delay in the completion
date of the project.
Physical constraints
Are caused by contractual or environmental conditions.
38. -37-
Use Case
Name
Apply for an account
Happy Scenario
The Client download the Application Mobile and he/she can
create account. If he/she want to create driver account he must
match with eTaxi's legal conditions,he/she can fill in dataform,
and then he/she sends the form and waits for a reply from the
eTaxi Admin to complete opening the Driver account.
Sad Scenario The Client can’t open account driver if he/she doesn't satisfy
eTaxi’s legal conditions.
Use Case Text
Use Case
Name
Log in Case
Happy Scenario
The user (client/admin) enters his/her user name , password ,
and account number ,then validation with the database is being
processed Credentials is correct and the login process
succeeded and the user now can see his/heraccount dashboard.
Sad Scenario
The user (client/admin) enters his/her user name, password,
and account number, then validation with the database is being
processed. A login failure message appears due to incorrect
username,password or account number.
The user (client/admin) enters his/her user name, password,
and account number, then validation with the database is being
processed. A login failure message appears due to insufficient
connection with the database.
39. -38-
Use Case
Name
Check In Case
Happy Scenario
The user (client/driver) can check in to order to determine
address, then they can used process and start Trips.
Sad Scenario
The user (client/driver) can check in to order to determine
address ,but unavailable GPS or Data Cementation for network
so they can’t used process and start Trips .
Use Case
Name
Client Send Request to Driver Case
Happy Scenario
The user (client) can send request to Driver and if he available
and accept request. the Client can used process and start racing
Trips. The userafterthe completion of the trip can request other
trips, and so on
Sad Scenario
The user (client) can’t send request to Driver because not have
mobile or unavailable GPS or Data Cementation for network.In
this case, can’t sent request to driver and not start any flights
Use Case
Name
Driver Receive Request from Client Case
Happy Scenario
The user (Driver) can be received request from Clients and he
approved the start flight. After the completion of the trip can
receive other trips from Clients ,and so on
40. -39-
Sad Scenario
The user (Driver) can’t be received request from Clients or the
Driver not available or Busy or Status Account off Trips. In this
case, can’t receive any flights
Use Case
Name
Flight status of the Client
Happy Scenario
After starting flight , the Client enjoy the trip to safely even to
arrive in his goal . when At the end of flight . the client can be
make to evaluation of the driver and after that start the process
of payment based on type payment it’s which selected in your
account , or start the process of payment without evaluation of
the driver
Sad Scenario
After starting flight , may not be up to your goal . For some
reason malfunction in the car or the occurrence of an emergency
such as disasters
Use Case
Name
Flight status of the Driver
Happy Scenario
After starting flight , the Driver can to enjoy the racing trip to
safely when to arrive in the goal . So the afterat the end of flight .
the Driver can be make to evaluation of the client and after that
start the process of receive payment from client based on type
payment That was previously selected in your account , or start
the process of payment without evaluation of the driver
Sad Scenario
After starting flight , may not be up to your goal . For some
reason malfunction in the car or the occurrence of an emergency
such as disasters
Candidate Keys Abstraction Model
1-Apply for an account:
41. -40-
Candidate Key
Abstraction
Reason for elimination
Selected component
name
Guest Actor --
Website The whole System --
Account -- Account
Bank Same as website --
Conditions BR --
Data form
registration
-- Registration
Reply NFR --
2-Log in:
Candidate Key
Abstraction
Reason for elimination
Selected component
name
User -- User
Client Same as user --
Admin Same as user --
User Name Attribute of user --
Password Attribute of user --
Account number Attribute of account --
Validation BR --
Database -- --
Credentials Attributes of user --
Login process BR --
Account dashboard NFR --
Login failure
message
NFR --
8-Messaging (compliance):
42. -41-
Candidate Key
Abstraction
Reason for elimination
Selected component
name
Admin actor --
User -- user
System The whole system --
Message -- messaging
Inquiry NFR --
9-Admin lock account:
Candidate Key
Abstraction
Reason for elimination
Selected component
name
Admin Actor
Notification Attribute for messaging
User User
Account Account
Request BR
Class ResponsibilityCollaborator (CRC) Model
Driver
Responsibilities Collaboration
43. -42-
User-name;
Password;
First-name;
Last-name;
Licenses No ;
Phone-number;
Unit Traffic
Center Licenses
Driver
Register new Driver();
Client (Users)
Responsibilities Collaboration
Account-number;
User-name;
Password;
First-name;
Last-name;
Address;
Phone-number;
Registration
Client
Shows users of the
Client()
Messaging (compliance)
Responsibilities Collaboration
messageValue
fromUser
toUser
date
Account
User
Register
branches
sendMessage()
ReplyMessage()
Admin
64. -63-
References
1- Ramez Elmasri and Shamkant B. Navathe ," FUNDAMENTALS OF Database
Systems" SIXTH EDITION Addison-Wesley 2011
2- Whitten, Bentley, “Systems Analysis and Design Methods”, 7thEdition, McGraw-Hill
Publishing Company, 2007.
3- Bruegge, Bernad, and Dutoit, Allen H., “Object-Oriented Software Engineering:
Using UML, Patterns and Java”, Second Edition, Pearson Education Limited, 2004
4- Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented
Analysis and Design and Iterative Development, 3rd Edition, 2004
5- Cristian Darie, Wyatt Barnett, and Tim Posey, " Build Your Own ASP.NET 4 Website
Using C# & VB" SitePoint Pty. Ltd 2011