Professional Documents
Culture Documents
Cardiff Metropolitan University B.Sc. (Hons) in Software Engineering Assignment Cover Sheet
Cardiff Metropolitan University B.Sc. (Hons) in Software Engineering Assignment Cover Sheet
STUDENT NUMBER:
2
Comments by 1st Assessor Comments by 2nd
Assessor
Marks
Task Marks by 1st Marks by 2nd Marks by IV comments (If Any)
/Question Accessor Accessor IV (if any)
No
Total
Marks
3
Table of Contents
Acknowledgement...................................................................................................................7
Task A: Requirement Specification for proposed System...................................................8
Introduction............................................................................................................................8
Purpose................................................................................................................................8
Scope....................................................................................................................................8
Overall Description.................................................................................................................8
Requirement and Features of Web Applications..................................................................9
Functional Requirement.....................................................................................................9
Customer...........................................................................................................................9
Admin...............................................................................................................................9
Driver................................................................................................................................9
Non-Functional Requirement..............................................................................................10
Requirements....................................................................................................................10
Other Requirement...............................................................................................................10
Task B: UML diagrams.......................................................................................................11
UML Diagram.......................................................................................................................11
Class diagram....................................................................................................................11
Used Case..........................................................................................................................12
Sequence Diagram............................................................................................................13
Assumption.....................................................................................................................14
Task C: Designing Patterns.................................................................................................14
Designing Pattern.................................................................................................................14
What is Software development Designing pattern?.......................................................15
Creational Design Pattern...............................................................................................15
Structural Design Pattern................................................................................................15
Behavioral Design Pattern..............................................................................................16
Creational design patterns and its type...............................................................................16
Singleton Pattern.................................................................................................................16
Abstract Factory Pattern.....................................................................................................17
Factory Design Pattern........................................................................................................17
Implementation of Factory Design pattern in “GoCheeta ” Cab booking services.....18
Class diagram which provides brief idea of implemented design pattern...........................18
Java coding implementation of factory design pattern........................................................18
Task E: Test Driven Development.......................................................................................20
4
Test Driven Development.....................................................................................................20
How do the Test-Driven Development process conduct in “GoCheeta”
Cab Booking Service.........................................................................................................20
Black Box Testing...........................................................................................................20
Task F: Technical Documentation.......................................................................................27
User manual for “GoCheeta” Cab Booking Service..........................................................27
Customer Login................................................................................................................27
Customer Registration Form...........................................................................................28
Customer Booking Page...................................................................................................28
Customer Booking History Details..................................................................................30
Admin and Driver Login..................................................................................................30
City.....................................................................................................................................31
Add City.........................................................................................................................32
Update City.....................................................................................................................32
Street.................................................................................................................................33
Add Street.......................................................................................................................34
Update Street..................................................................................................................34
Branch...............................................................................................................................35
Add Branch.....................................................................................................................35
Update Branch................................................................................................................36
Vehicle Category...............................................................................................................36
Add Vehicle Category.....................................................................................................37
Update Vehicle Category................................................................................................37
Sales Report......................................................................................................................38
Driver Pending Booking Details......................................................................................39
Driver Ongoing Booking..................................................................................................39
Driver Total Sales..............................................................................................................41
Task G: upload the project to GitHub.................................................................................42
GitHub Repositories.............................................................................................................42
References.............................................................................................................................42
Plagiarisam Report...............................................................................................................43
5
Table of Figures
Figure 1 - class diagram of GoCheeta Cab Service..................................................................11
Figure 2 - used case diagram of GoCheeta Cab Service..........................................................12
Figure 3 - customer booking sequence diagram of GoCheeta Cab Service.............................13
Figure 4 - driver booking sequence diagram of GoCheeta Cab Service...................................13
Figure 5 - customer registration sequence diagram of GoCheeta Cab Service........................14
Figure 6- singleton design pattern approach...........................................................................16
Figure 7 - singleton design pattern approach..........................................................................17
Figure 8 - class diagram of factory design pattern on online cab servive................................18
Figure 9 - interface of login for factory design pattern............................................................18
Figure 10 - driverDao for factory design pattern....................................................................19
Figure 11 - AdministratorLoginDao for factory design pattern...............................................19
Figure 12 - Login Type selection for factory design pattern....................................................20
Figure 13 - customer login......................................................................................................27
Figure 14 - customer registration............................................................................................28
Figure 15 - customer booking.................................................................................................28
Figure 16 - customer booking.................................................................................................29
Figure 17 – customer booking details.....................................................................................30
Figure 18 - admin and driver login..........................................................................................30
Figure 19 - city detail screen...................................................................................................31
Figure 20 - add city details......................................................................................................32
Figure 21 - update city details.................................................................................................32
Figure 22 - street details.........................................................................................................33
Figure 23 - add street details..................................................................................................34
Figure 24 - update street details.............................................................................................34
Figure 25 - branch details........................................................................................................35
Figure 26 - add branch............................................................................................................35
Figure 27 - update branch.......................................................................................................36
Figure 28 - vehicle category details.........................................................................................36
Figure 29 - add vehicle category.............................................................................................37
Figure 30 - update vehicle category........................................................................................37
Figure 31 - Administrator sales report....................................................................................38
Figure 32 - driver Pending booking details..............................................................................39
Figure 33 - driver ongoing booking.........................................................................................39
Figure 34 - driver ongoing booking........................................................................................40
Figure 35 - driver ongoing booking........................................................................................40
Figure 36 - driver ongoing booking.........................................................................................41
Figure 37 - driver total sales....................................................................................................41
Table of tables
Table 1 - test cases of "GoCheeta" Cab Booking Service.......................................................21
6
Acknowledgement
The completion of this assignment could not have been possible without the
participation of me and the assistance of so many people whose names may not all be
enumerated. Their contributions are sincerely appreciated and gratefully
acknowledged.
First of all, I would like to thank the module lecturer of Advanced Programming, Mr.
Milan Wickramathunga for giving me good guidelines for this assignment through
numerous consultations.
In addition, I would like to thank many people, especially my parents and classmates
who have made valuable comments and suggestions on my assignment which gave
me an inspiration to improve the quality of the assignment.
7
Task A: Requirement Specification for proposed System
Introduction
Purpose
The purpose of this Software requirement specification (SRS) is based on Online Cab
Booking Services for “GoCheeta”, which is already available with mobile app and
now they need to provide a web service with new features. This software requirement
specification provides clear details on fetching, inspect, analyze and record the
complete bookings of Cab Booking Service by giving solutions. This document is the
detailed information about the requirements of “GoCheeta” Cab Booking Service for
web application according to the provided information.
Scope
The scope of booking application is to create Online Cab Service web application for
“GoCheeta”, which provide user friendly interfaces with advance booking option for
administrator, driver, and customer. This web application is alternative to the already
existing mobile application for booking purposes. This application contains three
major users, each user as different task:
Administrator
Driver
Customer
Overall Description
This segment will provide information about web application, and its main objectives.
Online cab booking system perform main task as an online website of the cab service,
though which customer can place booking and check availability, driver can view and
accept booking and enter booking completion detail, administrator can add, update,
delete and, view of city, street, branch, driver detail, vehicle type, employee details
and view booking total sales. The web application sends the booking status of each
customer when driver updates the booking status.
8
Requirement and Features of Web Applications
Functional Requirement
This section provides information and functionalities for the Online Cab Booking
System. The detailed features are discussed on the UML diagrams.
Customer
The web application should allow customer to Register into system.
The web application should allow customer to authenticate to view booking
functionalities.
The web application should allow customer to make booking with pickup
location, drop location, booking date and vehicle type.
The web application should allow to show ongoing booking status through
email.
The web application should allow customer to view his/her booking details.
The web application should provide the ongoing booking charges.
Admin
The web application should allow admin to login with his/her given user
credentials.
The web application should allow admin to add, update, delete, and view the
details of city, street, branch, driver and employee.
The web application should allow view and filter booking details and total sale
with branch and booking date.
The web application should allow to get the print of total sales of booking
information
Driver
The web application should allow login with his/her user credentials which
was provided by the admin.
The web application should show customer booking information.
The web application should allow to update customer booking status.
The web application should allow to input the charges of the booking which
driver was accepted for customer payment.
The web application should allow to view completed booking information of
drivers.
9
Non-Functional Requirement
This application has many requirements which are not related to
function the web app, which are :
Requirements
Driver: The payment should be done when driver enter the Km covered from
the reading which reads on fare meter which provided by the GoCheeta taxi
service.
Usability: The developed web application should be user friendly. The
information provided on application should be clear to driver, customer and
admin.
Robust: The web application shouldn’t be affected by other application in
online when user uses the application. The driver section shouldn’t affect the
customer booking section when booking a vehicle.
Legal: The web application should always follow the rules and regulation
which are applied in Internet and Gocheetha taxi service organization.
Accuracy: The developed web application should always provide the accurate
information for all type of user.
Security: Information in web application should be encrypted without getting
affected by any kind of cyber-attacks, and should follow the SSL Certificate
rules.
Portability: The web application should be access on any kind of device which
can have access to internet. It should be able to work on any kind of browser
like Google chrome, Firefox, Safari, Opera and, etc.,
Other Requirement
Software: The web application can run on any kind of web browser after
hosting to internet.
Hardware: The web application should be run on any kind electronic devices
which contains internet connection.
10
Task B: UML diagrams
UML Diagram
Class diagram
admin
11
<<include>>
>
send notification
12
Sequence Diagram
13
Assumption
Driver can enter the km covered per journey after journey Is
completed by taxi meter and web application can calculate the customer
payment amount with Km per charges and service charges
Designing Pattern
The designing pattern is way of technique which provides solutions to the issues or
prevalent error in the process of software development. Designing pattern helps the
software developer or people who works on software development fields to evaluate
their way of coding in effective and efficient way. The designing pattern gives clear
view of the ways which coding or template of coding to tackle the problems that
comes in development phase. In developing environment designing pattern coverup
all the common issues which will occur while developing a software.
The designing pattern is not an inbuild tool like frameworks or library’s that
developer in programming environment can use, instead it’s way of thinking which
applied when a programmer faces problem in their programing work and its accepted
and recognized by developer around the world. The one of main purposes of
designing pattern is to help avoid repeating action that has been already taken.
The main aim of designing pattern is to module the software development with
programmer’s concern where each module of programs separates into elements of
category that can send or receive data with each other. In developing java
applications, the designing patterns are categorized into two main parts, which are:
[ CITATION Jav22 \l 1033 ]
14
JEE Design Patterns
The core java designing pattern which mostly used in developing java applications are
divided into three sub categories. That are:
Advantages
The memory of system can be saved from unwanted usage while application is
executed because object wouldn’t be initiated while each request. One
instances of object can be used again while program is running which will
provide memory management and fast execution.
Usage in developing environment in programming world.
15
The programs which are multithreaded application and contains
sophicated database will widely uses singleton design pattern
because it uses configuration settings, threadpool and etc.
Example:
Advantages
These design pattern depends on creating object or composition of object
which can b used in initialization of methods in factory interface. This pattern
provides loose coupling in client-side implementation and other classes.
Usage in developing environment in programming world.
16
Used when application execute same set of object or classes and
used when application needs to implement with multiple class
or object.
Advantages
The inherited class can permit to select type of object to implement in the
applications. Factory design pattern allow loose coupling which describes the
interface can interact with class which implement their interface.
Usage in developing environment in programming world.
Factory design pattern can be referred as alternative to constructor where
constructor is not used every time or frequently. While super class can
implement the creation of object of its child class in application.
17
Java coding implementation of factory design pattern.
18
19
Table 1 - test cases of "GoCheeta" Cab Booking Service
20
Redirect to driver As
dashboard page
with ongoing expected,
booking which booking has been
Click the Accept button accepted and Pass
driver has been
in Pending booking list redirected to
accepted with
send email to driver-dashboard
customer with
booking status
send email to As expected,
Click the Reject button
customer with booking status is Pass
in Pending booking list
booking status send to customer
22
with empty field
name
Fill the fields on add
Show error
Street page with already As expected,
message that
exist Street name and error message has Pass
Street name
click on the “Add” displayed
already exists
button
Data should be
Fill the fields on update As expected, data
filled to relevant
Street page with relevant are filled to pass
fields in update
data by Street id relevant field
Street web page
update Street
Fill the fields on update As expected,
details and
Street page and click on Street data has Pass
Update Street redirect to the
the “update” button been updated
Street list page.
Fill the fields on update
Show error
Street page with already As expected,
message that
exist Street name and error message has Pass
Street name
click on the “update” displayed
already exists
button
add Branch
Fill the fields on add As expected,
details and
Branch page and click on Branch data has Pass
redirect to the
the “Add” button been added
Branch list page.
Show error
Don’t fill the fields on
message that As expected,
add Branch page and
fields are empty error message has Pass
Add Branch click on the “Add”
with empty field displayed
button
name
Fill the fields on add
Show error
Branch page with already As expected,
message that
exist Branch name and error message has Pass
Branch name
click on the “Add” displayed
already exists
button
Fill the fields on update Data should be
As expected, data
Branch page with filled to relevant
are filled to pass
relevant data by Branch fields in update
relevant field
id Branch web page
update Branch
Fill the fields on update As expected,
details and
Update Branch page and click on Branch data has Pass
redirect to the
Branch the “update” button been updated
city list page.
Fill the fields on update
Show error
Branch page with already As expected,
message that
exist Branch name and error message has Pass
Branch name
click on the “update” displayed
already exists
button
Add Vehicle Fill the fields on add add Vehicle As expected,
Pass
Category Vehicle Category page Category details Vehicle Category
23
and redirect to data
and click on the “Add” the Vehicle has
button Category list been added
page.
Show error
Don’t fill the fields on
message that As expected,
add Vehicle Category
fields are empty error message has Pass
page and click on the
with empty field displayed
“Add” button
name
Fill the fields on add
Show error
Vehicle Category page
message that As expected,
with already exist
Vehicle Category error message has Pass
Vehicle Category name
name already displayed
and click on the “Add”
exists
button
Data should be
Fill the fields on update
filled to relevant As expected, data
Vehicle Category page
fields in update are filled to pass
with relevant data by
Vehicle Category relevant field
Vehicle Category id
web page
Fill the fields on update update Vehicle As expected,
Update Vehicle Category page Category details Vehicle Category
Pass
Vehicle and click on the “update” and redirect to data has been
Category button the city list page. updated
Fill the fields on update
Show error
Vehicle Category page
message that As expected,
with already exist
Vehicle Category error message has Pass
Vehicle Category name
name already displayed
and click on the “update”
exists
button
add Driver details
Fill the fields on add As expected,
and redirect to
Driver page and click on Driver data has Pass
the Driver list
the “Add” button been added
page.
Show error
Don’t fill the fields on
message that As expected,
add Driver page and
fields are empty error message has Pass
Add Driver click on the “Add”
with empty field displayed
button
name
Fill the fields on add
Show error
Driver page with already As expected,
message that
exist Driver License no error message has Pass
Driver license no
and click on the “Add” displayed
already exists
button
Data should be
Fill the fields on update As expected, data
filled to relevant
Driver page with relevant are filled to pass
Update fields in update
data by Driver id relevant field
Driver Driver web page
Fill the fields on update update Driver As expected,
Pass
Driver page and click on details and Driver data has
24
redirect to the been
the “update” button
Driver list page. updated
Fill the fields on update
Show error
Branch page with already As expected,
message that
exist Driver license no error message has Pass
Driver license no
and click on the “update” displayed
already exists
button
add Employee
Fill the fields on add details and As expected,
Employee page and click redirect to the Employee data Pass
on the “Add” button Employee list has been added
page.
Show error
Don’t fill the fields on
message that As expected,
Add add Employee page and
fields are empty error message has Pass
Employee click on the “Add”
with empty field displayed
button
name
Fill the fields on add Show error
Employee page with message that As expected,
already exist Employee Employee error message has fail
username and click on username already displayed
the “Add” button exists
Data should be
Fill the fields on update
filled to relevant As expected, data
Employee page with
fields in update are filled to pass
relevant data by
Employee web relevant field
Employee id
page
update Employee
Fill the fields on update details and As expected,
Update
Employee page and click redirect to the Employee data Pass
Employee
on the “update” button Employee list has been updated
page.
Fill the fields on update Show error
Branch page with already message that As expected,
exist Driver username Employee error message has fail
and click on the “update” username already displayed
button exists
As expected, all
Display all the
the booking
booking
Go to booking details history Pass
completed history
completed was
Booking of his total sales
displayed
Details with
As expected, all
total sales Display all the
Filter booking details the booking
booking
using branch wise and history Pass
completed history
date wise completed was
with filtered data
displayed
25
Task F: Technical Documentation
1. Enter already registered customer mobile number and password for login purposes
for login to web application.
2. Click the login button to authenticate into booking section for placing cab booking.
3. Click New User button to redirect the web page to Customer Registration
26
Customer Registration Form
27
1. Select City to display other function in booking the cab
2. Click the cancel button which will redirect the customer booking
1. Select pickup location and drop location for place the booking
2. Select vehicle which will show case the service charges and charges per km
according to vehicle selection.
3. Click book now button to place the booking
4. Click the view Booking button to view the booking history which customer.
5. Click Cancel button to cancel the booking.
28
Customer Booking History Details
1. Click Log out link in navigation bar to log out from the application.
Admin and Driver Login
29
1. Fill the admin login field with username and password for admin to
login into admin section.
2. Click login button in administration login section for admin to login into admin
section.
3. Fill the Driver login field with license no and password for driver to login into
driver section.
4. Click login button in driver login section for driver to login into driver dashboard.
City
30
Add City
31
1. Fill the fields with city details
2. Click Update button to Update city details
3. Click Cancel button to cancel the return to City details page
Street
32
Add Street
33
Branch
34
Update Branch
Vehicle Category
35
3. Click Edit button from table to edit vehicle category details
4. Click Delete button from table to delete vehicle category details
Add Vehicle Category
36
2. Click Update button to Update Vehicle Category details
3. Click Cancel button to cancel the return to Vehicle Category details
page
Sales Report
37
Driver Pending Booking Details
38
3. Click Reject booking button to reject the customer booking
5. Click Completed button to Display dialog box to enter Km covered and check the
final amount customer should give for the trip.
39
Figure 36 - driver ongoing booking
6. Enter the Total Km covered to check the total charges for the trip that customer
should pay.
40
Task G: upload the project to GitHub
GitHub Repositories
https://github.com/Dushmanp/GoCheethaTaxiService.git
References
Anon., n.d. Design Pattern - Abstract Factory Pattern. [Online]
Available at: https://www.tutorialspoint.com/design_pattern/abstract_factory_pattern.htm
[Accessed 13 September 2022].
JavaTpoint, 2022. Creational design patterns. [Online]
Available at: https://www.javatpoint.com/creational-design-patterns
[Accessed 19 September 2022].
JavaTpoint, 2022. Design Patterns in Java. [Online]
Available at: https://www.javatpoint.com/design-patterns-in-java
[Accessed 19 September 2022].
Onuta, A., 2022. How to Get Started with Test Driven Development — A Step by Step Guide.
[Online]
Available at: https://medium.com/geekculture/how-to-get-started-with-test-driven-
development-a-step-by-step-guide-bfdd831fae71
[Accessed 12 September 2022].
SILK, J., 2022. WHY SOFTWARE DEVELOPMENT DESIGN PATTERNS MATTER FOR
YOUR BUSINESS. [Online]
Available at: https://www.startechup.com/blog/software-development-design-patterns/
[Accessed 19 September 2022].
41
Plagiarisam Report
42