Hein Khant Oo - 00173211 Final Document For L5 Practical Project
Hein Khant Oo - 00173211 Final Document For L5 Practical Project
Warning :
This document is just only for referencing to write a project final document. Some Chapter have only
Heading and some have Heading with some text (not complete). Student must follow the list of L5
Project Task List and explanation during project lecture time.
1
Sample Project Final Document for L5 Practical Project
…………………. (00123456)
2
Abstract
My name is Hein Khant Oo and I am a Level 5 Diploma in computing student at MCC Training Institute. As
level 5 students, individual projects which involve creating a web-based systems are required to do. For the project,
the title is Grab Online Car booking system. A website will be implemented to provide online car booking services to
customers.
The current system is a pay as you go system and customers are required to come to the main road and hire
a taxi. The company was operated with only 30 cars when it had founded. The drivers have to take cars at their
respective parking lots. There are two shifts: day and night. The company employs the drivers and make contract
with them. “Grab” provides a service that allows customers to go their destinations. The taxi form “Grab” goes
around the city and looking for the customers. The fare depends on the taxi drivers and sometimes, they overcharge
the customers and sometimes, the customers hire with low-priced that is not reasonable for the drivers.
The proposed system will be developed with helps of analyzing the company environments and presenting
the analysis with use case diagrams and class diagrams. The new system needs to allow customers to book online
without having to come to the main road where the taxi is available. The new system should store all customers’
information when the customers register and let them log in to order or book a route. New customers could register
to get the service. It should calculate total price for each route and should keep track of all customers’ booking. It
needs to let customers keep track of their booking by looking at their booking statuses and cancel if they have been
waiting for too long.
Therefore, the system will allow customers to get convenient services and staffs will be able to work more
efficiently.
3
Table of Contents
Abstract........................................................................................................................................................................... 3
Acknowledgement..........................................................................................................................................................6
Chapter 1 : Introduction..................................................................................................................................................7
The system to be developed.......................................................................................................................................7
Problems of the existing system..................................................................................................................................7
Justification for the method or framework used.........................................................................................................8
The Solution That Emerged.........................................................................................................................................9
Aims and Objectives of the project.............................................................................................................................9
A short Overview of the remaining chapters.............................................................................................................10
Chapter 2: Analysis........................................................................................................................................................11
2.1 introduction.........................................................................................................................................................11
2.2 Functional with MOSCOW prioritization and Non-Functional Requirements......................................................11
2.3 Complete Use Case Diagram...............................................................................................................................13
Over all Use Case Diagram.....................................................................................................................................13
Detail Use Case Diagrams......................................................................................................................................14
2.4 System Architecture............................................................................................................................................20
Object-Oriented Analysis and Design....................................................................................................................20
Design Supporting Tool.........................................................................................................................................20
System Development Architecture............................................................................................................................20
Form Design..........................................................................................................................................................20
Detail Development supporting Tools and Platforms............................................................................................20
Server scripting language......................................................................................................................................21
Database Server....................................................................................................................................................21
2.4.1 Interfaces with other system........................................................................................................................21
2.4.2 An Overview of the technical architectures..................................................................................................21
2.5 Initial Class Diagram............................................................................................................................................22
2.6 Conclusion...........................................................................................................................................................22
Chapter 3: Design..........................................................................................................................................................23
3.1 Introduction...................................................................................................................................................23
3.2 A detailed class diagram................................................................................................................................23
3.3 Sequence Diagram.........................................................................................................................................24
3.4 Robust Diagram.............................................................................................................................................28
-................................................................................................................................................................................. 28
3.5 Input Form Design.........................................................................................................................................28
3.6 Report Form Design.......................................................................................................................................29
-................................................................................................................................................................................. 29
4
3.7 Conclusion.....................................................................................................................................................29
Chapter 4 – Implementation.........................................................................................................................................30
Introduction..............................................................................................................................................................30
Choice of Programming Language.............................................................................................................................30
System Cutover from Development Architecture to Implementation Architecture..................................................31
Data Migration from Development Architecture and Existing System to Implement...............................................31
Training Schedule......................................................................................................................................................32
Conclusion.................................................................................................................................................................32
Chapter 5 – Other Project Matters................................................................................................................................33
Introduction..............................................................................................................................................................33
Project Management.................................................................................................................................................33
Risk Management......................................................................................................................................................33
Configuration Management......................................................................................................................................35
Testing-Black Box Testing..........................................................................................................................................37
Unit Testing...........................................................................................................................................................37
Integration Testing................................................................................................................................................38
Chapter 6 – Conclusion.................................................................................................................................................40
Evaluation..................................................................................................................................................................40
References.................................................................................................................................................................... 40
Appendices....................................................................................................................................................................41
Requirements Catalogue...........................................................................................................................................41
Customer Registration...........................................................................................................................................41
Use Case Descriptions...............................................................................................................................................41
Login Process Use Case Description......................................................................................................................41
Detailed Class Definitions..........................................................................................................................................42
Sequence................................................................................................................................................................... 42
Robust.......................................................................................................................................................................42
Test Scripts................................................................................................................................................................42
User Guide.................................................................................................................................................................43
System Code..............................................................................................................................................................44
5
Acknowledgement
Firstly, I want to thank MCC which brings NCC British Education to here.
Then I want to thank my Project teachers Daw Thandar Lynn Myint who teaches me and guides me to do this
project.
And I also would like to thank my friends who help me to do this project.
Finally, I would like to thank all the teachers, MCC Training Institute and NCC Education for letting me do this such a
grate project.
6
Chapter 1 : Introduction
The “Grab” Taxi service company was founded in 2010 with pay as you go system. The main office of
the company is located in the downtown area of Yangon and there are many branches as parking-lots for the cars.
“Grab” provides cars and it employs drivers. The company was operated with only 30 cars when it had founded. The
drivers have to take cars at their respective parking lots. There are two shifts: day and night. The company employs
the drivers and make contract with them. “Grab” provides a service that allows customers to go their destinations.
The taxi form “Grab” goes around the city and looking for the customers. The fare depends on the taxi drivers and
sometimes, they overcharge the customers and sometimes, the customers hire with low-priced that is not
reasonable for the drivers.
With pay as you go system, the drivers have to go around the city and the fuel consumption increases. The
fuel is refilled by the drivers, not by the company. And also, the customers have to come to the main road and have
to talk about the fare with the drivers.
The proposed system will be developed with helps of analyzing the company environments and presenting
the analysis with use case diagrams and class diagrams. The functional areas of the project will be defined. The
7
method or framework used to do the analysis. Other behavioral models will also help to implement the technical
flows of the functional scopes and implementation of the project will be discussed. Other project matters, such as
Project, Risk and Configuration management will be shown in the following chapters. Then the implemented system
will be tested using unit and integration testing techniques. Lastly, user’s manual guides will be created.
The new system needs to allow customers to book online without having to come to the main road where
the taxi is available. The new system should store all customers’ information when the customers register and let
them log in to order or book a route. New customers could register to get the service. It should calculate total price
for each route and should keep track of all customers’ booking. It needs to let customers keep track of their booking
by looking at their booking statuses and cancel if they have been waiting for too long.
And the new system needs to allow drivers to register and keep the information of them in the database.
And when the drivers log in, they should start accepting booking. It also needs to let drivers keep track of the
booking of customers as if the customers cancel the booking. And they also cancel the booking if the customers
aren’t at the customer’s location.
The proposed system should allow only the administrators to register new staff. It must only allow the
administrators to view reports of the system. Reports may show how the service is doing during that particular
period. The administrators will also have their own accounts.
After the registration of staffs, they may be able to log in to the system and the staffs can control the route
and keep track of the information of drivers and customers. They may also be able to update or delete existing
information. They will be allowed updating information of customers’ booking; therefore, drivers and customers can
keep track of the customers’ booking.
8
throughout the development life cycles to raise the communication and product quality. OOAD is regarded as the
better software development methodology than most of other methodology in modern software engineering. This
methodology involves object-oriented analysis (OOA), which deals with the design requirements and overall
architecture of a system, and is focused on describing what the system should do in terms of key objects in the
problem domain. And object-oriented design (OOD) serves as the process to enable the implementation of a
software solution based on the concepts of objects. OOD performs as a part of the object-oriented analysis and
design (OOAD) process.
To solve all above problems, web-based system is used to provide better taxi services and can make a
booking faster. With the proposed system, customers can hire a taxi while they are at homes. Customers will
be asked to register and then they can log in and book a taxi. The new system can help the staffs, drivers and
customers to communicate more efficiently. Drivers and customers can save time. It can give a lot of job
vacancy for both drivers and staffs. It can provide online booking and help customers more efficiently. There
will not be overcharging and undercharging and the fare will be reasonable. Applicants can search job
vacancy at any time. Customers can feedback the drivers and the drivers can also feedback the customers.
Aims
To have the right fare for both customers and drivers. To secure the safety of customers and also drivers. To
have the better and more convenient way to hire a taxi for customers. To have more chance of discount and other
good occasion for both customers and drivers. To have lots of job vacancy for applicants such as staffs and drivers.
Objectives
- To let customer register online and hire a taxi with one tap form anywhere
- To be able to look for the available taxi quickly and process the booking quickly
9
- To have reasonable fare for both customers and drivers
- To give the better chance of discount and other occasion for customers and drivers
sequence diagram,
Chapter 4 report is about the implementation of the system. Therefore, chapter 4 includes
training schedule.
risk management,
testing.
Chapter 6 report is about conclusion of the work that is done in developing this project.
The facts described above are the short overview of the remaining chapters.
10
Chapter 2: Analysis
2.1 introduction
This chapter includes
o System Architecture
o Conclusion.
1. Staff Registration
2. Staff Login
3. Driver Registration
4. Driver Login
5. Customer Registration
6. Customer Login
7. Booking
11
8. Booking List
12
2.3 Complete Use Case Diagram
Over all Use Case Diagram
13
Detail Use Case Diagrams
14
Fig 4: Usecase Diagram for driver registration
15
Fig 6: Usecase Diagram for customer registration
16
Fig 8: Usecase Diagram for customer booking
17
Fig 10: Usecase Diagram for booking (staff view)
18
Fig 12: Usecase Diagram for promotion (staff view)
19
Fig 14: Usecase Diagram for drivers’ feedback on customers
NetBeans is an Integrated Development Environment (IDE) for Java. It allows applications to be developed
from a set of modular software component called module. NetBean run on Windows, OS X, Linux, Solaris and other
20
platforms. In addition to Java development, it has extensions for other languages like PHP, C, C++, HTML 5 and
JavaScript. Applications based on Netbeans, including the NetBeans IDE, can be extended by third party developers
XAMPP
XAMPP is a free and open-source cross-platform web server solution stack package developed by Apache
Friends, consisting mainly of the Apache HTTP Server, MariaDB database and interpreters for scripts written in the
PHP and Perl programming languages. Since most actual web server deployments use the same components as
XAMPP, it makes transitioning from a local test server to a live server possible.
PHP (Hypertext Preprocessor) is a general-purpose programming language originally designed for web
development. It was originally created by Rasmus Lerdorf in 1994. The PHP reference implementation is now
produced by the PHP Group. PHP originally stood for Personal Home Page, but it now stands for the recursive
initialism PHP: Hypertext Preprocessor.
Database Server
MySQL
MySQL is free and open-source software under the terms of the GNU General Public License, and is also available
under a variety of proprietary licenses. It is an open-source relational database management system (RDBMS). It is
written in C and C++. Its SQL parser is written in yacc but it uses a home-brewed lexical analyzer. MySQL works in
many platforms including AIX, BSDI, Linux, MacOS, Microsoft Windows and etc. it performs extremely well in the
average cases.
21
Database MySQL
Standard Web Browser Mozilla Firefox 26.0 and above and Chrome
2.6 Conclusion
In this chapter, I created the Use Case Diagrams, Initial Class Diagram and choose what development tools
and platforms will be used.
When creating the Use Case Diagram including considering of form design I met some difficulties. As the
system is a little complex, Use Case Diagram have so many requirements. So, after business presentation, I have to
modify the use cases again.
When choosing Web Browser, My Form Design does not work well in IE. Therefore I standardize the web
browser to be Firefox or Chrome.
22
Chapter 3: Design
3.1 Introduction
This chapter will include detailed class diagram of the system which show the classes and their relationship
within the system. Behavioral models will be also included to show the technical flow of the system. Later, input
forms and output forms will be presented by referencing detail class diagrams and behavioral models.
23
3.3 Sequence Diagram
24
Fig 19: Sequence Diagram for deleting staff data
25
Fig 21: Sequence Diagram for updating driver data
26
Fig 23: Sequence Diagram for inserting customer data
27
Fig 25: Sequence Diagram for deleting customer data
28
3.6 Report Form Design
-
3.7 Conclusion
In this chapter, the web-based design of the system has been created and how each process will be
achieved in what order is already assumed using sequence and robust diagrams. From this, technical
coding of the processes can be written using PHP language.
29
Chapter 4 – Implementation
Introduction
In this chapter, a programming language will be chosen to write technical part of the system. This chapter
will explain about how system is implemented step by step, then how data are inserted or registered into the
implemented system and will explain in detail of how long it will take for staff to train to use the new web-based
system.
Java
Java is a computer programming language that is class-based and object-oriented. It is both server side and
desktop programming language. Java is portable because it can be run on similar hardware or Operating System
platforms. It is complied and strongly typed language. Therefore, all codes are inside a class and everything is an
object with according data types. However, its performance is low and Java requires a large memory space to work.
PHP
PHP (Hypertext Preprocessor) is an open source server side language that mostly used for developing web
applications and web services. It is a loosely typed language which does not need to define data types for variables.
PHP can be also used with MySQL, Oracle, MS SQL Server database software. Data in the database can be easily
manipulated by PHP.
PHP (Hypertext Preprocessor) is a general-purpose programming language originally designed for web development.
It was originally created by Rasmus Lerdorf in 1994. The PHP reference implementation is now produced by the PHP
Group. PHP originally stood for Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext
Preprocessor. PHP is very user friendly and it is easy to learn to use. It can be installed on various platforms such as
Linux, UNIX and Windows. It is available and free all the time. PHP can also be embedded into HTML to create
dynamic websites.
30
System Cutover from Development Architecture to Implementation Architecture
The final step of the system development is to migrate the development-testing-staging architecture to
implementation-production environment. The main goals of migration are to achieve the system requirements and
to complete the project within limited time and cost. To migrate systems, cutover strategies has to be used. Cutover
to the new system have four basic strategies: Pilot, Immediate, Phased and Parallel Cutover.
Nevertheless, the technique of Parallel Cutover is used for Grab Online Taxi Booking Service System. Grab is
currently running taxi services with the pay as you go system, i.e. they are doing taxi hiring system with paper work.
When computerized system is implemented with the test data, we have to deliver the firstly implement system to
the organization. Then all the transactions are designed and coded with real data from Grab. When the system is
completely developed, process of training users has to be carried out. The mangers and staffs are trained to carry
out the required transactions. The customers from Grab can view the website through the internet and make
bookings. With the use of parallel cutover strategy, the new implemented system is run simultaneously with the old
until the reliability and accuracy of the new system can be verified so that we can get very low risk and provides to
reduce risk. When all the requirements are successfully met, the manual system is dropped and the new
computerized is implemented. Therefore, new system can store more data and can explore both current data and
previous old data at one place and cannot be easily destroyed by nature disasters.
The actual data are inserted into the system by using the form designs for the new system. The web-based
system is tested and ensured that there will be no errors before using it. Each record from manual paper is
transmitted to the database by entering data on each corresponding form design and data is validated first in order
to be inserted into the database. Staff will also be asked to register data during their training session to know how
the system works.
31
Training Schedule
Staff
Customer
Driver
Conclusion
Implementation stage includes choice of language and data migration from development architecture. It is
okay for me to work out. There is no problem for me at this stage.
32
Chapter 5 – Other Project Matters
Introduction
This chapter will explain about other project matters such as project, risk, and configuration management.
Project management will show how long each process takes to implement the final system. In risk management, how
the system security is guaranteed will be explained. Configuration management will show what hardware and
software requirements are for the system. Then, testing of the system will be done using unit and integration testing
techniques.
Project Management
Gantt Charts
Risk Management
Risk can be reduced by some actions but they cannot be eliminated completely. So users should tolerate
risks but should minimize the impact of risks.
- Software failure
- Hardware Failure
- Natural Disasters
33
Counter Measures
To reduce the impact of data loss from viruses, software failure and hardware failure,
The organization should have licensed anti-virus programs installed on every computer within the
organization. The anti-virus should protect all type of viruses from internet, external drives, and internal
applications.
Every staff should have daily back up of their own data and the organization should also have daily back-up
of organization-wide data.
Password to log in the system is hashed; therefore, it is hard to intruders to know the password to the
system.
Staff and Administrator accounts are different depending on their position but they exist within the same
table. Therefore, it is hard for intruders to get the password of administrators.
Log in page is the same page for everyone; therefore, it would take a long time for intruders to hack
administrators’ passwords, since they will have to go through every data from both staff and customer
tables.
When data are passed in the program codes, they are filter using “htmlspecialchars ( )”, to avoid SQL
injections.
To reduce the impact of data loss from natural disasters, intruders and losing the back-up data,
- Miscommunication
- Inexperienced project team
- Inexperienced developers
- Business rules are not clearly defined
Counter Measures
The organization should make sure that developers or project team have previous experience with this type
of project.
Business needs should be clearly identified and developers should know them clearly and questions can be
asked by developers, if something is unclear.
34
Developers need to be in contact with the business on regular basic to verify some problems.
Configuration Management
- MySQL
- Xampp
- MySQL
- Xampp
35
Client-Side Hardware Requirements
36
Testing-Black Box Testing
Unit Testing
Unit Test 1 Tests Class: Customer Designed By: Hein Khant Oo
Data Source: Customer Entry Objective: Test Basic Functionality Tester : Hein Khant Oo
Expected
Test Case Description Tasks Actual Result
Result
1.1 Test for Basic Entered customer details: New customer Figure 27
Functionality Customer Name :Thant data is
Email: [email protected] inserted into
Password: 123 the database.
Address: No(78), Pyay Road,
Mayangone Township, Yangon,
Myanmar
Phone: 092654368
37
Integration Testing
Integration Test 1 Tests Classes: Customer and Staff Designed By: Hein Khant Oo
Data Source: Customer Entry Objective: Test Basic Functionality Tester : Hein Khant Oo
Expected
Test Case Description Tasks Actual Result
Result
1.1.1 Test for Basic Entered customer details: New customer Figure 28
Functionality Customer Name :Thant data is
Email: [email protected] inserted into
Password: 123 the database.
Address: No(78), Pyay Road,
Mayangone Township, Yangon,
Myanmar
Phone: 092654368
38
39
Fig 28: Customer Registration testing
Chapter 6 – Conclusion
Evaluation
The new web-based system has eased the amount of work staffs have to do daily and the amounts of effort
customer have to give in order to hire a taxi. The system also achieved the objectives of letting customer book for
services online.
Some difficulties with this project are with the development architecture where clear decisions were made
in order to create this web-based system. For example: drawing a use case diagram and deciding which actor would
be suitable to do which business processes. There were some problems with class diagram also because the
relationships between the classes and attributes were important in order to continue with this project.
If I could add or change the web-based system, I would add a GPS tracking system so that customers can
track the taxi on the actual map. I would also like a system that directly checks pick-up location and destination
location to see if they are correct and meaningful locations. If they are not, the system would ask the customer to
40
check the address again. The system should also allow customers to update their destination and location of their
routes. I would also like to expand my service to Mandalay which is an upper Myanmar capital city in the future.
Overall, the project has achieved its aims and objectives but it could be improved in many other ways using
by adding GPS system. For now, the project will fulfill the needs of customers and it will reduce the amount of paper
work staffs have to do. It will increase productivity and improve performance of the service.
References
Beginning PHP and MyS QL Form Novice to Professional Fourth Edition/ W. Jason Gilmore/ Copyright © 2010 by W.
Jason Gilmore/ ISBN-13 (pbk): 978-1-4302-3114-1
Appendices
Requirements Catalogue
Customer Registration
Source: Customer Sign Off: Customer Requirement ID: C001
Functional Requirement: To Insert Customer information
Non-Functional Requirement(s);
Description: Target Value: Acceptable Rage: Comment:
To Insert Customer Cannot duplicate - -
information Customer ID
Source: Customer Sign Off: Customer Requirement ID: C002
Functional Requirement: To Update Customer information
Non-Functional Requirement(s);
Description: Target Value: Acceptable Rage: Comment:
To update Customer Cannot duplicate - -
information Customer ID
41
Use Case: Login
Flow of events
1. The use case starts when the customer selects login page
4. The system will verify the information then give the access to the customer then use case ends
Post Condition: Each customer get the access of using the system
Alternative paths
In step 4, if the email and password the user enters is invalid, the system will not give access the customer to the
service.
42
Detailed Class Definitions
Sequence
Robust
Test Scripts
User Guide
43
Customer Registration Guide
4. If you don’t have an account, click ‘create an account’ button and you will be taken to the register
page.
System Code
registercusotmer.php
44
45
46
47
logincusotmer.php
48
49
50
registerstaff.php
51
52
53
loginstaff.php
54
55
56
registerdriver.php
57
58
59
logindriver.php
60
61
62
63
booking.php
64
65
66
bookinglist.php
67
68
69
70