Professional Documents
Culture Documents
CS6003ES Advanced Software Engineering: London Metropolitan University, Faculty of Computing
CS6003ES Advanced Software Engineering: London Metropolitan University, Faculty of Computing
CS6003ES Advanced Software Engineering: London Metropolitan University, Faculty of Computing
_____________________________________________________________________________
NAMES_____________________________________________________________________
_____________________________________________________________________________
The electronic version of your group report must indicate all group members’ ID number,
Surname and First name in the first page or at the beginning of program file (as comments).
1
22060563|nipuna kusal suraweera CS6003ES | ASE
If you think there is a good reason for late submission, such as illness, and you have supporting
documentary evidence then you should follow the “mitigating circumstance” procedures outlined in the
Red Book, otherwise assignments will NOT be accepted by the module Organizer after the due date.
PLAGIARISM
You are reminded that there exist regulations concerning plagiarism. Extracts from these
regulations are printed overleaf. Please sign below to say that you have read and understand
these extracts:
(Signature:)_____________________________________________________________
_____________________________________________________________________________
This header sheet should be attached to the assignment specification and to the work you submit. No work will be accepted without
it.
2
22060563|nipuna kusal suraweera CS6003ES | ASE
Section 2.3: “The following broad types of offence can be identified and are provided as
indicative examples”
(iii) Personation, where a substitute takes an examination or test on behalf of the candidate.
Both candidate and substitute may be guilty of an offence under these Regulations.
(v) Collusion to present joint work as the work solely of one individual.
(vi) Plagiarism, where the work or ideas of another are presented as the candidate’s
own.
1. Copying another student's work is an offence, whether from a copy on paper or from a
computer file, and in whatever form the intellectual property being copied takes,
including text and computer programs.
3
22060563|nipuna kusal suraweera CS6003ES | ASE
2. Taking extracts from published sources without attribution is an offence. To quote ideas,
sometimes using extracts, is generally to be encouraged. Quoting ideas is achieved by
stating an author's argument and attributing it, perhaps by quoting, immediately in the
text, his or her name and year of publication, e.g. " e = mc2 (Einstein 1905)". A references
section at the end of your work should then list all such references in alphabetical order of
authors' surnames. (There are variations on this referencing system, which your tutors
may prefer you to use.) If you wish to quote a paragraph or so from published work then
indent the quotation on both left and right margins, using an italic font where practicable,
and introduce the quotation with an attribution.
4
22060563|nipuna kusal suraweera CS6003ES | ASE
CS6003ES – Advanced Software Engineering COURSEWORK PART 1
Scenario
FuelIn is a responsible public company establish in Sri Lanka where they distribute and manage
fuel supply island wide. They have several registered fuel stations at all the districts. FuelIn
wishes to introduce an Online fuel requesting and que management system for the requirement
of fuel distribution and tracking. End consumers are to be given facilities to request a fuel based
on the quota given for the vehicle registration number. The requesting customers can obtain a
token with expected filling time and date with 3 hours of tolerance. If the fuel distribution
cannot made available, the customer will be given a new scheduled period. If there is no any
scheduled delivery to a particular filling station or scheduled fuel stock is finished, the necessary
message will be given and requests are not permitted from those fuel stations. Once the
delivery schedule to the given filling station is confirmed by the dispatch office in the head
office, notification SMS/email will be sent to all token holders to make the payment. If the
customer unable to satisfy the payment and obtain fuel, quota will be deducted. As tokens are
issued only for the scheduled delivery amount of liters, the non-committed or unpaid fuel stocks
can be made available to request on demand after the scheduled payment time, those tokens
are issued for the same day collection. End consumers can take a token from the filling station
also using the same system when scheduled delivery is available. Twelve hours before the
5
22060563|nipuna kusal suraweera CS6003ES | ASE
delivery happens to the filling station, end consumers will receive sms/email as a reminder with
amount requested. Each vehicle receive a new quota after in each weeks period. The filling
station orders are to be taken separately using the system. The fuel stocks are to be distributed
according to population density within the area of filling stations
You are required to design a web and mobile apps to achieve above objectives. High-level
system requirement can be found in above description and some special requirements are also
given below.
c. Mobile app can use the same application services provided by the server (Data
operations).
2. The consumers should be able to register in the system and multiple registrations per
vehicle number should be prevented.
3. Filling station manager should be able to verify the tokens and details of the consumers
vehicle.
4. Filling station manager should be able to mark the status of the requests upon pumping
the fuel.
5. Based on the distribution of fuel for the outlets, head office should be able to view the
status of each outlet.
By considering the brief outline requirement given above, the hidden and potential
requirements are to be derived by you for the purpose and mention those clearly. The hidden
requirements are to be logically match with the outline requirement given above
Group Tasks:
6
22060563|nipuna kusal suraweera CS6003ES | ASE
1. System architecture design with the communication Diagram.
3. Software design and its specification using UML with Object Oriented Analysis
Design techniques.
Individual Tasks:
1. Each member of the group must implement a part (more than two components) of the
software, such as interface including login function, daily report software.
2. Each member of the group must test your implemented software. It includes
software-testing design (With Test cases), test implementation and test report.
This coursework also requires each group to give a group presentation in week 10. The
requirements for presentation have been included in the Marking Scheme.
2. Submission:
By the deadline you must submit an electronic version of the complete documentation and
software.
7
22060563|nipuna kusal suraweera CS6003ES | ASE
3. Marking Scheme (TOTAL 100 MARKS):
The marks for this assessment are based on the following assessment criteria:
8
22060563|nipuna kusal suraweera CS6003ES | ASE
Items
Max. Mark
Requirements specification 15 %
Design specification 16 %
Implementation 20 %
Testing 15 %
Total 100%
9
22060563|nipuna kusal suraweera CS6003ES | ASE
10
22060563|nipuna kusal suraweera CS6003ES | ASE
Acknowledgement
We would like to thank our lecturer Mrs. Yamuna who support us to do this module
successfully and give important hints of the assignment. This group assignment is done
by us based on our personal studies and research and gives credits to our lecturer who
guided us to do this assignment successfully. I like to thank our parents for giving us the
effort to do our studies properly. Also, we would like to thank our friends for their
encouragement and support
11
22060563|nipuna kusal suraweera CS6003ES | ASE
Contents
Coursework Assignment, Semester 1 (part 1), 2022/23.............................................................1
PLAGIARISM............................................................................................................................2
Acknowledgement..........................................................................................................................8
1.0. Introduction...........................................................................................................................11
1.1. Purpose..............................................................................................................................11
1.4.2. Objectives.......................................................................................................................13
1.5. References.........................................................................................................................13
12
22060563|nipuna kusal suraweera CS6003ES | ASE
2.7. Design and Implementation Constraints............................................................................26
3.6.4. ER Diagram................................................................................................................33
5.0. Implementation......................................................................................................................44
13
22060563|nipuna kusal suraweera CS6003ES | ASE
5.2. Implementation Environment.................................................................................................46
6.0. Testing...................................................................................................................................48
7.0. Conclusion.............................................................................................................................48
References....................................................................................................................................48
Appendix......................................................................................................................................48
Group Contribution.......................................................................................................................48
Table Of Figures
Figure 1 Fueling organizational Structure.....................................................................................17
Figure 2: Google Form to Gather data..........................................................................................32
Figure 3: Google form...................................................................................................................33
Figure 4: Client - Server Architecture............................................................................................40
Figure 5 System Architecture Design............................................................................................41
Figure 6 Login...............................................................................................................................43
Figure 7 Sales Reports Deletion form...........................................................................................43
Figure 8 prepare Order.................................................................................................................44
Figure 9 Dashboard.......................................................................................................................44
Figure 10 Request Invoice from Fuel station to Fuel company.....................................................45
Figure 11 Use Case Diagram.........................................................................................................48
Figure 12 Use Case Diagram For Fuel Request..............................................................................49
Figure 13 Use Case Diagram for Payment process........................................................................50
Figure 14 Use Case Diagram for end consumer...........................................................................51
Figure 15 Over all Activity Diagram..............................................................................................52
Figure 16 Activity Diagram – Login...............................................................................................53
Figure 17 Activity Diagram – Fuel Delivery Scheduling.................................................................54
Figure 18 Activity Diagram – Fuel Inventory management...........................................................56
Figure 19 Activity Diagram – Payment Process.............................................................................58
Figure 20 Class Diagram................................................................................................................60
14
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 21 ER Diagram....................................................................................................................60
Figure 22 Sequence Diagram........................................................................................................61
Figure 23 Important Code 1..........................................................................................................89
Figure 24 Important Code 2..........................................................................................................90
Figure 25 Important Code 3..........................................................................................................90
Figure 26 Important Code 4..........................................................................................................91
Figure 27 Important Code 5..........................................................................................................91
Figure 28 Database table 1...........................................................................................................92
Figure 29 Database Table 2...........................................................................................................93
Figure 30 Testing..........................................................................................................................94
Figure 31 Test Cases And Results 1..............................................................................................97
Figure 32 Test Cases And Results 2...............................................................................................97
Figure 33 Test Cases and Results 3...............................................................................................98
Figure 34 Test Cases and Results 4...............................................................................................98
Figure 35 Test Case and Results 5.................................................................................................99
Figure 36 Home page..................................................................................................................102
Figure 37 Lubricants...................................................................................................................102
Figure 38 Unlimited Services......................................................................................................103
Figure 39 Edit Order...................................................................................................................103
Figure 40 Manage Invoices.........................................................................................................104
Figure 41 B/W Dates Report Form..............................................................................................104
Figure 42 Sales report.................................................................................................................105
Table Of Tables
Table 1:Organization's Roles and Responsibilities........................................................................17
Table 2: User Functional Requirements........................................................................................63
Table 3: Fuel Station Functional Requirements............................................................................68
Table 4: FuelIn Company Functional Requirements.....................................................................72
Table 5 Group Contribution........................................................................................................106
15
22060563|nipuna kusal suraweera CS6003ES | ASE
1.0. Introduction
1.1. Purpose
This document's primary purpose is to provide a thorough explanation of the
FuelIn Online fuel requesting and queue management system. It will describe the
functions and features of the system, its interfaces, what the system will perform, the
limitations that must be met for it to function, and how the system will respond to outside
stimuli. This document will be submitted for approval to the FuelIn and is intended for
both stakeholders and system developers.
This software will serve as a queue management and online fuel ordering system.
This system is intended to improve fuel management, queue management and tracking
fuel deliveries and fuel distribution efficiency in the midst of a fuel crisis. Without it,
these tasks would have to be carried out manually and may encounter numerous
difficulties. The system serves the needs of the customer, registered fuel stations, and
FuelIn while being simple to comprehend and use by enhancing communication between
fuel distributors, fuel stations, and customers and maximizing the speed of the fuel
distribution process and make clear tracking of fuel deliveries.
The system is made to specifically allow users to register their vehicles in order to obtain
a fuel token. Also, the fuel stations have the capability to check the car details using this
system and issue a token to the customer. The FuelIn firm will inform the customer
though a SMS about the specifics of the fuel distribution, and the customer can refuel
their vehicles without having to stand in line.
16
22060563|nipuna kusal suraweera CS6003ES | ASE
1.2. Organizational Module
This structure has the CEO at the top, followed by, there are several department heads
who oversee different areas of the company, such as fuel distribution, technology, sales
and marketing and human resources. Finally, there are district managers who are
responsible for overseeing the fuel station managers in each district, who in turn manage
the staff at each fuel station.
Role Responsibilities
Board of Directors Take final decisions of overall operations
according to the board of directors
CEO Responsible for overall management and
strategic direction of the company
Head of Fuel Distribution Responsible for managing the distribution of
fuel to all fuel stations
Dispatch Office Manager Responsible for managing the dispatch office,
which schedules and coordinates fuel deliveries.
Fuel Delivery Coordinator Responsible for coordinating the actual delivery
of fuel to each fuel station
Head of Technology Responsible for overseeing the company's
17
22060563|nipuna kusal suraweera CS6003ES | ASE
technology strategy and ensuring that
technology is used to improve business
processes and operations
System Architect Responsible for designing and developing the
online fuel requesting and que management
system.
Software Development Responsible for managing the team that
Manager develops and maintains the company's software
applications
Quality Assurance Manager Responsible for ensuring that the software
applications meet the required quality standards
and are free of bugs and errors
District Managers Responsible for managing the fuel stations in
their respective districts and ensuring that
operations run smoothly.
Fuel Station Managers Responsible for managing day-to-day
operations at the fuel stations, including
managing staff, inventory, and customer
service.
Attendants and other staff Responsible for providing customer service,
dispensing fuel, and managing inventory at the
fuel station
Head of Sales and Marketing Responsible for developing and implementing
sales and marketing strategies to promote the
company's products and services.
Responsible for managing the sales team and
ensuring that sales targets are met.
Marketing Manager Responsible for developing and implementing
marketing campaigns and initiatives.
Customer Service Manager Responsible for managing the customer service
team and ensuring that customers receive high-
18
22060563|nipuna kusal suraweera CS6003ES | ASE
quality service.
Head of Human Resources Responsible for developing and implementing
HR strategies and policies.
HR Manager Responsible for managing HR operations,
including recruitment, training, performance
management, and employee relations.
Training and Development Responsible for developing and implementing
Manager employee training and development programs
In order to make it easier to navigate, headings, subheadings, and bullet points have been
used throughout the document. To make sure that the document satisfies their needs and
is simple to understand, feedback from the intended audience has been solicited and
integrated.
19
22060563|nipuna kusal suraweera CS6003ES | ASE
This web based software will allow for the efficient and fair allocation of fuel. Customers
received tokens from fuel stations under this system based on the type of fuel they need,
and the license plate numbers on their vehicles. Consumers will be able to buy fuel on the
day indicated on their token, which will help to shorten queues and discourage hoarding.
The system has two main components: a web server with the database and a client web
application with the database server. Consumers can register and the system prevents
multiple registrations per vehicle number. The system sends reminders to end consumers
12 hours before delivery, and the fuel stocks are distributed according to population
density within the area of filling stations. Non-committed or unpaid fuel stocks can also
be made available for on-demand requests after the scheduled payment time.
FuelIn will be able to better manage the limited supply of fuel and avoid panic buying by
applying this application. This will help to ensure that fuel is distributed more equally
and that critical services like public transportation can continue to function. The token
system will also help to prevent illegal fuel trading and price gouging by more efficiently
regulating fuel supplies.
1.4.2. Objectives
Provide end-users a simple and efficient way to request fuel based on their quotas.
Allow end-users to get a token with a 3-hour tolerance period and an expected
filling time and date.
Enable FuelIn to handle island-wide fuel supply and distribution, with real-time
tracking of fuel supplies and distribution schedules.
Ensure that end-users are advised of scheduled fuel delivery and have the option
to pay in advance.
Provide for variable fuel delivery scheduling and quota control based on vehicle
registration numbers.
Make sure the system is easy to use and secure, with clear instructions and
adequate security measures in place to protect user data and payment information.
20
22060563|nipuna kusal suraweera CS6003ES | ASE
Provide for separate order management for filling stations, as well as fuel supply
distribution based on population density inside the filling station region.
1.5. References
The former fuel distribution method required fuel stations to submit fuel orders with
FuelIn based on their estimated demand. Fuel companies would then provide the fuel to
the fuel stations in accordance with their requests. The fuel would then be sold to
customers, who would pay according to the government-set prevailing pricing.
During the fuel crisis, however, this method encountered difficulties and FuelIn has to
face these difficulties as well which was being unable to purchase enough fuel to match
the demand of petrol stations. This resulted in fuel shortages and long lines at fuel
stations.
Fuel shortages and long queues: Fuel Companies were unable to purchase enough
fuel to meet the demand of petrol stations due to a shortage of foreign exchange.
This resulted in fuel shortages and long lines at fuel stations, which
inconvenienced customers and disrupted transportation and other sectors.
21
22060563|nipuna kusal suraweera CS6003ES | ASE
Hoarding and black-market sales: Several fuel station owners used hoarding to
create artificial shortages, allowing them to sell fuel at inflated prices on the black
market. This aggravated the fuel scarcity and increased to customer anxiety.
Inadequate supply chain management: There were also supply chain management
concerns within the CPC, such as fuel shipments and distribution delays. This
added to the fuel shortage and caused problems in transportation and other
industries.
Price difficulties: The government's decision to subsidize fuel prices caused
pricing issues, which exacerbated the fuel crisis. Due to a lack of foreign cash and
the high expense of importing petroleum at market prices, the government was
unable to prolong the subsidies, causing fuel prices to rise and the situation to
intensify.
Ultimately, these flaws in fuel distribution and management contributed to Sri Lanka's
fuel crisis, highlighting the need for a more effective mechanism to regulate fuel supplies
and avoid hoarding. The token system was implemented in an attempt to overcome these
concerns and avert similar crises in the future.
Predictive maintenance: FuelIn can foresee equipment faults and plan maintenance in
advance using machine learning techniques. This could lessen downtime and boost
operational effectiveness.
Customer feedback system: By adopting a system to collect consumer input on their fuel
management and queue management procedures, they can better understand where they
can make improvements and increase customer happiness.
Cloud-based system: FuelIn may want to think about switching their queue and fuel
management systems to the cloud, which can enhance system scalability, usability, and
dependability.
22
22060563|nipuna kusal suraweera CS6003ES | ASE
2.0. Overall Description
A fuel shortage has occurred in Sri Lanka due to a variety of factors, including
disruptions in the supply chain, delays in fuel supplies, and insufficient fuel storage and
distribution infrastructure. As a result, consumers have been forced to wait in enormous
lines for long periods of time to receive fuel, causing inconvenience. FuelIn, a
responsible public corporation that oversees fuel supply and distribution in Sri Lanka, has
proposed an online fuel requesting and que management system to alleviate this issue.
End-users would be able to request fuel online and obtain tokens with predicted filling
times and dates. It would also allow FuelIn to manage fuel supply and distribution more
efficiently by enabling real-time tracking of fuel inventories and distribution schedules.
To address these issues, FuelIn identified the need for an online fuel ordering and queue
management system that would allow end-users to request fuel online, monitor their fuel
quotas, and receive tokens with estimated filling times and dates. The solution would also
assist FuelIn in more efficiently managing fuel supply and distribution by providing real-
time tracking of fuel stockpiles and distribution schedules, allowing for improved fuel
stock planning and management.
Essentially, the solution was created to address the issues that FuelIn and end-users have
in the Sri Lankan fuel distribution and management business, with the purpose of
providing a more efficient and simple way to request fuel and manage fuel supply and
distribution.
23
22060563|nipuna kusal suraweera CS6003ES | ASE
2.2. Product Features
The following is a list of the main features and functions that the proposed online fuel
requesting and queue management system will execute or allow the user to perform:
Issue tokens:
End-users are given tokens with estimated filling times and dates.
Tokens are only issued for the number of liters specified for delivery.
real-time tracking:
The system has the ability to tracks fuel stocks and distribution schedules in real
time.
Users receive SMS/email reminders on fuel supply schedules.
Notification To make the payment, all token holders will receive an SMS/email.
When the planned delivery is available, customers can obtain a token from the
filling station using the same system.
After the planned payment deadline, non-committed or unpaid fuel stocks might
be made available for request on demand.
The method will be used to take filling station orders individually.
The fuel stocks will be apportioned based on population density within the
vicinity of filling stations.
24
22060563|nipuna kusal suraweera CS6003ES | ASE
Quota management:
End- Users:
Tokens should be distributed to customers who request fuel at the filling station.
Update the fuel stock levels at the system's filling station.
Dispatch Office:
Control the system and keep the fuel quotas for each car up to date.
Control the fuel supplies at the filling stations.
Address any system difficulties that may emerge.
25
22060563|nipuna kusal suraweera CS6003ES | ASE
2.3. User Classes and Characteristics
User classes can be distinguished based on their frequency of usage, the subset of product
functionalities they utilize, their technical knowledge, their security or privilege levels or
their experience.
Below are the projected user classes that you expect to use this product, characterized by
their characteristics:
Customers - individuals who require fuel for their vehicles and will use the online
fuel requesting and queue management system to request and obtain fuel.
Fuel station attendants - employees who will manage the fuel station's physical
infrastructure and use the system to handle walk-in customers.
Dispatch officers (FuelIn Head office) - employees at the head office who will
monitor and manage the delivery of fuel to the various fuel stations and will use
the system to communicate with the fuel stations and end consumers.
System administrators - employees responsible for maintaining and managing the
online fuel requesting and queue management system. They will also handle user
accounts, system configurations, and maintenance tasks.
Technical support - Employees responsible for providing technical support to end
users who may encounter issues with the system.
Developers - Technical employees responsible for developing and maintaining the
software, including updating features and fixing any bugs or issues that may arise.
Outlined Characteristics of the users of online fuel requesting and queue management
system.
Customer:
Some individuals may have various levels of technical knowledge when it comes
to using online systems.
They may choose various payment options, such as credit card or cash.
26
22060563|nipuna kusal suraweera CS6003ES | ASE
They oversee fuel delivery and payment processing.
Individuals may have various levels of technical knowledge when it comes to
using internet services.
Managers and regular staff may have varying amounts of authority.
Dispatch office:
These are staff members that are tasked with overseeing FuelIn's timetable for
fuel deliveries.
To handle fuel distribution, they must have a high level of technical skill.
Managers and regular staff may have varying amounts of authority.
System administrators:
These IT specialists oversee the system for managing queues and online fuel
orders.
In terms of system management and security, they require a high level of
technical proficiency.
They have privileged access to the system to maintain and update it.
The major purpose is to give end users with an effective and convenient fuel requesting
and que management system, as well as a simplified fuel distribution and tracking system
for FuelIn. End users and FuelIn staff members (e.g., dispatch office people, fuel station
managers and customers) would likely be the preferred user types based on this purpose,
as they directly interact with and profit from the product. Other user classes (for example,
fuel truck drivers and maintenance people) may be necessary for the product to function
successfully, but they may be seen as less vital to satisfy in terms of product design and
functionality. To produce a well-rounded and functional product, it is essential to
consider the requirements and goals of all user classes, but the major focus should be on
the user classes that are most critical to the product's success.
27
22060563|nipuna kusal suraweera CS6003ES | ASE
The process of determining if the benefits of a project outweigh the costs is known as
economic feasibility. In other terms, it determines whether or not the idea is financially
feasible. This entails calculating and comparing the costs of designing and deploying the
system to the predicted benefits. Estimating the expenses of building the fuel
management system, as well as any ongoing costs for maintenance, support, and
upgrades, would be part of this process for FuelIn. The advantages would include
increased Fuel distribution efficiency and reduced fuel losses due to errors or fraud.
FuelIn is regarded commercially feasible if it can earn enough income to cover its costs
while still making a profit. This can be accomplished through competitive pricing,
efficient operations, and successful marketing methods.
Operational Feasibility
Technical Feasibility
28
22060563|nipuna kusal suraweera CS6003ES | ASE
FuelIn is technologically feasible if it can use technology to develop a system that is
reliable, efficient, and scalable. This can be accomplished by investing in appropriate
software and hardware solutions, performing frequent testing and quality assurance
procedures, and collaborating with knowledgeable technology vendors.
Legal Feasibility
The legal feasibility of a proposed system determines whether it can be designed and
implemented in accordance with applicable laws and regulations. This includes
determining if the system will violate any existing patents or copyrights, as well as
compliance with data protection and privacy laws. This would entail FuelIn assessing the
legal and regulatory framework governing fuel distribution and ensuring that the planned
fuel management system complies with these rules.
FuelIn is legally feasible if it can operate within the confines of existing laws and
regulations. This can be accomplished by performing extensive study on legal
requirements, obtaining required licenses and permits, and maintaining current on
changing legislation.
Schedule Feasibility
Schedule feasibility assesses whether the proposed system can be created and executed
within the timeframe given. This includes determining if the project can be finished in the
allotted time and whether any established deadlines will be met. This would entail FuelIn
assessing the time required to create and deploy the fuel management system and
guaranteeing that it can be completed within the timeframe specified. This would also
entail identifying any potential delays or bottlenecks that could affect the project's
timeframe.
If FuelIn can complete project deadlines and deliverables on time, it might be termed
timetable realistic. This can be accomplished by developing a realistic project plan with
attainable milestones, providing adequate resources, and conducting regular progress
assessments and changes.
29
22060563|nipuna kusal suraweera CS6003ES | ASE
2.5. Requirement Collection
It is critical to collect complete and precise criteria to design an effective system that fits
the demands of FuelIn and its consumers. This can assist in ensuring that the system is
built and developed to fit the specific demands of FuelIn and its clients, while also being
scalable, secure, and reliable. There is a danger of designing a system that does not fulfill
the demands of the stakeholders or that is difficult to maintain and update in the future if
suitable requirements are not gathered.
The project team can compile a complete set of requirements and ensure that the Online
Fuel Requesting and Queue Management System satisfies the demands of all
stakeholders by applying these strategies.
Because the system is intended for end users, conducting interviews with them will aid in
understanding their wants and preferences surrounding the fuel ordering process. Surveys
30
22060563|nipuna kusal suraweera CS6003ES | ASE
of consumers and fuel station managers can provide useful feedback on the present fuel
distribution mechanism and prospective improvements. Watching and identifying weak
points in the current fuel distribution process can also provide insight into the system's
requirements.
31
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 3: Google form
32
22060563|nipuna kusal suraweera CS6003ES | ASE
2.6. Operating Environment
The online fuel ordering and queue management system will be web-based and available
from a range of devices such as desktop computers, laptops, tablets, and smartphones.
The system must work with popular online browsers like Google Chrome, Mozilla
Firefox, and Microsoft Edge, as well as operating systems including Windows, macOS,
and Linux. The software will be created with a mobile-first approach, which means it will
be optimized for use on mobile devices. A mobile app will be developed in addition to
the web-based system to provide consumers with a more convenient and user-friendly
manner of accessing the system. The mobile software, which will be accessible for both
Android and iOS devices, will feature capabilities identical to the web-based system.
Other software components or applications, such as payment gateways, SMS and email
service providers must also be compatible with the system. The system will be designed
with a server-client architecture, with the server running on a dedicated computer with
enough processing power, memory, and storage to manage the estimated traffic. The
server will run an operating system and will store and manage data using a database
management system.
Corporate and regulatory policies: Developers may need to ensure that the application
complies with relevant fuel distribution, storage, and transportation regulations and
33
22060563|nipuna kusal suraweera CS6003ES | ASE
policies. They may also be required to adhere to the policies and procedures of the
company that owns or operates the fuel delivery service.
Schedule: Because the project must be completed within a particular deadline, the
development tools and technologies that can be employed may be limited.
Budget: Development costs must be kept within a particular budget, which may limit the
availability of expensive development tools or technologies.
Hardware limitations: Developers may need to consider the hardware restrictions of the
program, such as memory needs, processor power, and network connectivity. They may
also need to think about the devices and platforms the program will support, such as
smartphones, tablets, and desktop PCs.
Technologies, tools, and databases: To implement the FuelIn application, developers may
need to employ specific technologies, tools, and databases, such as a specific
programming language, database management system, or development framework. They
may also need to ensure that the application is compatible with the fuel delivery service's
existing technology infrastructure.
34
22060563|nipuna kusal suraweera CS6003ES | ASE
Security considerations: The FuelIn application and the data it manages, such as user
credentials, payment information, and vehicle details, may need developers to think about
security. To defend against unauthorized access and data breaches, they may need to
employ measures such as encryption, secure authentication, and secure data storage.
user documentation components that may be delivered along with the software:
User manual: describes how to use the fuel ordering and delivery system in detail,
including how to place orders, track deliveries, and manage accounts.
Tutorials: Step-by-step video or interactive tutorials that walk users through
common system tasks or functionalities.
The assumption that the online fuel delivery service will be accessible via a
variety of devices, including mobile phones, tablets, and laptops, which may have
an impact on the system's design and development.
35
22060563|nipuna kusal suraweera CS6003ES | ASE
Assume that users will have access to a dependable internet connection, which
may affect system speed and usability.
Assume that fuel prices and availability will remain constant, which may have an
impact on the service's business model and pricing approach.
The assumption that customers would submit correct and valid information during
registration and fuel ordering, which may have an impact on the system's
accuracy and reliability.
Assumption that the system will integrate with third-party payment gateways and
financial systems, which may have an impact on the system's security and
stability.
Integration with the database management system and web server software, both
of which are well documented.
Integration with third-party payment gateways and financial systems, both of
which are commercial components that must be tested and incorporated into the
system.
Among the appropriate system maintenance strategies for the Online Fuel Requesting and
Queue Management System are:
36
22060563|nipuna kusal suraweera CS6003ES | ASE
Corrective Maintenance: Corrective Maintenance is the process of correcting mistakes or
problems in a system once they have been detected. This can include debugging code,
resolving user interface bugs, and dealing with performance issues. Corrective
maintenance is a reactive process that occurs after a problem has been detected.
Ex:-
Ex:-
Ex:-
37
22060563|nipuna kusal suraweera CS6003ES | ASE
Perfective Maintenance: This type of maintenance entails improving the system's
performance or usability without altering its functioning. To make the system easier to
use, this can include streamlining code, improving the user interface, or adding
documentation.
Ex:-
Ex:-
38
22060563|nipuna kusal suraweera CS6003ES | ASE
and returns the data packets requested to the client. Customers don't share any of their
assets. Email, the World Wide Web, and other client-server models are examples.
(syedmodassirali, 2022)
39
22060563|nipuna kusal suraweera CS6003ES | ASE
Architecture Diagram
In this architecture, the customer app communicates with the web application, which has
two main components: the fuel request system and the fuel station management system.
The fuel request system is responsible for handling customer requests for fuel, managing
payment processing through the payment gateway, and updating the delivery status
through the delivery status controller. It also integrates with the bank API to process
payments.
The fuel station management system is responsible for managing fuel station orders
through the fuel station order controller and inventory management through the inventory
management controller. It also integrates with the fuel stock API to manage fuel stocks.
40
22060563|nipuna kusal suraweera CS6003ES | ASE
3.2. High Level System Architecture
the high-level system architecture of the fuel requesting, and queue management system
would likely involve the following components:
Web Server: This component would manage the overall functioning of the web
application and database server.
Database Server: This component would store and manage all data related to fuel
requests, filling stations, delivery schedules, customer details, and payment
transactions.
Client Web Application: This component would provide the end users with the
ability to request fuel based on the quota given for the vehicle registration
number. It would also provide a means for customers to obtain tokens, make
payments, and receive reminders.
Mobile App: This component would provide mobile users with access to the same
application services provided by the server, including data operations related to
fuel requests, filling stations, delivery schedules, customer details, and payment
transactions.
Dispatch Office: This component would manage the delivery schedules to the
filling stations and confirm the scheduled delivery to the given filling station,
after which notifications would be sent to all token holders to make the payment.
Filling Station Manager: This component would verify the tokens and details of
the consumers' vehicles and mark the status of the requests upon pumping the
fuel.
Head Office: This component would be able to view the status of each outlet
based on the distribution of fuel for the outlets.
41
22060563|nipuna kusal suraweera CS6003ES | ASE
3.3. User Interface Design
3.3.1. Data Input Design
Figure 6 Login
42
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 8 prepare Order
Figure 9 Dashboard
43
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 10 Request Invoice from Fuel station to Fuel company
Objects:
Data:
44
22060563|nipuna kusal suraweera CS6003ES | ASE
Token distribution per car: the number of tokens distributed per vehicle dependent
on its fuel consumption rate.
Customer sales transactions: records of Fuel and token purchases
Stock levels of fuel and tokens: The amount of fuel and tokens that are currently
in stock at the station.
tank maintenance records: records of Fuel pump and tank maintenance and repair
work.
Schedules and quantities of fuel delivery: the timetable and quantity of fuel
delivered to each fueling station.
Management reports include sales reports, maintenance reports, and inventory
reports, among other things.
Files Structure:
Fuel inventory database: keeps track of the fuel level in each tank, the capacity of
the pumps, and the amount of fuel sold.
Vehicle database: contains data on vehicle kinds, fuel consumption rates, and
token allocations.
Database of sales transactions: stores data on fuel and token purchases, usage, and
payments.
Maintenance database: keeps records of Fuel pump and tank maintenance and
repair operations.
Fuel delivery database: stores information about fuel delivery schedules and
volumes.
Queue database: stores queue information as well as token usage.
Managerial report database: Sales reports, maintenance reports, and inventory
reports are just a few of the reports kept in the managerial report database that are
produced for managers.
45
22060563|nipuna kusal suraweera CS6003ES | ASE
3.5. System Components and Interactions
The Online Fuel Requesting and Queue Management System is made up of two major
components:
Web server with the database: This component oversees managing the database,
which includes all the required information about FuelIn requests, filling station
orders, and fuel stock distribution. In addition, the web server manages
communication between the client web application and the database server.
Client web application with database server: This component oversees allowing
end users to request fuel based on their vehicle registration number. The client
web application talks with the database server to obtain the necessary information
and to update the database with fresh fuel demands.
46
22060563|nipuna kusal suraweera CS6003ES | ASE
3.6. UML Diagrams
3.6.1. Use Case Diagram
47
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 12 Use Case Diagram For Fuel Request
In this use case diagram, we have two main actors: Customer and Admin. The Customer
actor can request fuel, and view fuel requests. The admin actor can view fuel requests and
manage fuel delivery.
The Request Fuel use case allows the Customer to request fuel based on their vehicle
registration number and quota. The View Fuel Requests use case allows both the
Customer and Admin to view the status of fuel requests. The Manage Fuel Delivery use
case allows the "Admin" to manage fuel delivery by scheduling the delivery, managing
fuel stock, and sending payment notifications.
48
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 13 Use Case Diagram for Payment process
In this use case diagram, we have two main actors: Customer and Admin. The Customer
actor is responsible for requesting payments for fuel purchases, while the "Admin" actor
can view payment history and refund payments.
The Request Payment use case allows the Customer to request payment for a fuel
purchase by providing the token number, payment amount, vehicle registration number,
and payment status. The View Payment History use case allows the admin to view the
payment history, including the payment date, amount, and status. The Refund Payment
use case allows the admin to refund payment by providing the payment ID, refund
amount, and reason.
49
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 14 Use Case Diagram for end consumer
Request Fuel: End consumers can request fuel using the online fuel requesting
system by providing their vehicle registration number and fuel requirement.
Receive Token with Scheduled Filling Time: After making a request, end
consumers will receive a token with a scheduled filling time and date along with 3
hours of tolerance.
Receive Payment Notification: End consumers will receive a notification
SMS/email to make payment once the delivery schedule to the given filling
station is confirmed by the dispatch office.
Make Payment: End consumers will make payment for the fuel using the online
system.
50
22060563|nipuna kusal suraweera CS6003ES | ASE
Collect Fuel: End consumers can collect their fuel from the filling station at the
scheduled filling time
Explanation:
51
22060563|nipuna kusal suraweera CS6003ES | ASE
If the user does not make the payment within the given time, the token will expire
and they will have to request on-demand fuel or wait for the next scheduled
delivery.
If the scheduled delivery is cancelled, the user can request fuel from another
station.
52
22060563|nipuna kusal suraweera CS6003ES | ASE
Activity Diagram For Fuel Delivery Scheduling
Receive Order
Verify that the order is valid and includes the necessary information (e.g. delivery
location, fuel quantity, delivery date/time).
Check the customer's account to ensure they have sufficient quota for the
requested fuel.
Determine the optimal delivery route and assign a delivery vehicle.
53
22060563|nipuna kusal suraweera CS6003ES | ASE
Check Inventory
Check the inventory levels at the distribution center to ensure there is enough fuel
to fulfill the order.
If necessary, arrange for additional fuel to be transported from another
distribution center.
Assign Delivery
Notify Customers
Notify the customer who placed the order of the expected delivery time and any
relevant information (e.g. delivery vehicle details).
Notify any other customers who have requested fuel from the same filling station
of any potential delays or schedule changes.
Deliver Fuel
Update Inventory
Update the inventory levels at the distribution center to reflect the fuel delivery.
Update the customer's account to deduct the appropriate amount of quota for the
delivered fuel.
54
22060563|nipuna kusal suraweera CS6003ES | ASE
Activity Diagram – Fuel Inventory management
Receive an update from the fuel delivery team on the quantity of fuel delivered to
the distribution center.
Verify that the update includes accurate information on the type and quantity of
fuel delivered.
Enter the update into the inventory management system.
Verify Update
55
22060563|nipuna kusal suraweera CS6003ES | ASE
Check the inventory levels in the distribution center before and after the fuel
delivery to verify that the update is accurate.
Check for any discrepancies or errors in the update and reconcile as necessary.
Check the fuel quality to ensure that it meets regulatory requirements.
Update Inventory
Update the inventory levels in the distribution center to reflect the fuel delivery.
Update the inventory management system to reflect the new inventory levels.
Ensure that the updated inventory levels are accurate and up-to-date.
Notify Management
56
22060563|nipuna kusal suraweera CS6003ES | ASE
Activity Diagram – Payment Process
Receive a payment request from the customer for the fuel ordered.
Verify that the payment request includes accurate information on the customer's
details, the fuel ordered, and the payment amount.
Enter the payment request into the payment processing system.
57
22060563|nipuna kusal suraweera CS6003ES | ASE
Verify Request
Verify that the payment request is valid and meets the company's payment policy.
Check for any discrepancies or errors in the payment request and reconcile as
necessary.
Confirm that the customer has sufficient funds to complete the payment.
Process Payment
Notify Customer
Notify the customer that the payment has been processed and the fuel is ready for
pickup.
Send an email or SMS notification to the customer with the payment confirmation
and instructions for fuel pickup.
Update the customer's quota in the fuel request system to reflect the amount of
fuel paid for.
Deduct the amount of fuel requested by the customer from the customer's weekly
quota.
Update the fuel request system to indicate that the fuel has been allocated to the
customer.
58
22060563|nipuna kusal suraweera CS6003ES | ASE
3.6.3. Class Diagram
3.6.4. ER Diagram
Figure 21 ER Diagram
59
22060563|nipuna kusal suraweera CS6003ES | ASE
3.6.4. Sequence Diagram
60
22060563|nipuna kusal suraweera CS6003ES | ASE
State Diagram
In this state diagram, the Fueling system goes through different states based on the
actions performed by the end consumers and the system itself. Here is a brief explanation
of each state:
Request New: This is the initial state where the end consumer requests fuel for
their vehicle.
Token Issued (Valid): After the request is made, the system issues a valid token to
the end consumer with an expected filling time and date with 3 hours of tolerance.
Payment Confirmed/Token Issued (Not Valid): Once the delivery schedule to the
given filling station is confirmed, the system sends a notification SMS/email to all
token holders to make the payment. If the customer fails to make the payment and
obtain fuel, the token becomes invalid.
61
22060563|nipuna kusal suraweera CS6003ES | ASE
Fuel Dispensed/Token Cancelled (Not Valid): If the end consumer successfully
makes the payment, the fuel is dispensed, and the token becomes invalid.
However, if the end consumer fails to collect fuel or cancels the token, the token
becomes invalid.
Expired (Not Valid): If the token's expected filling time and date have passed or
the delivery could not be made, the token becomes invalid. The end consumer
needs to request a new token to receive fuel.
These states show the life cycle of a token in the Fueling Online Fuel Requesting and
Queue Management System.
62
22060563|nipuna kusal suraweera CS6003ES | ASE
registrations for the same
vehicle number should be
avoided, however
registrations for the same NIC
or mobile number are
permitted.
According to the
aforementioned
circumstances, an information
message should appear.
An appropriate fuel quota
should be given to the
customer.
Login/Logout User must be The user is directed to the
registered with home page if their username
the FuelIn and password match their
business. registered user account.
The user's car If the username and password
ought to be are wrong, a "Invalid
registered with Username & Password" error
a fuel quota. message will be displayed.
Write username According to the
and password. aforementioned
circumstances, an information
message should appear.
User functionalities that are
pertinent should be turned on
Issue Token (online) User must have End-users are given tokens
logged in in to with estimated filling times
the system. and dates.
63
22060563|nipuna kusal suraweera CS6003ES | ASE
User must have Tokens are only issued for the
enter their number of liters specified for
vehicle details delivery.
to the system
64
22060563|nipuna kusal suraweera CS6003ES | ASE
End users will receive an
email or SMS reminder with
the requested amount 12
hours before the delivery
occurs at the filling station.
65
22060563|nipuna kusal suraweera CS6003ES | ASE
Tokens created payment.
previously
ought to be Considering the
accessible. circumstances, informational
The system messages should appear.
should allow
the user to The creation of a payment ID
appropriate
amount. User
ought to be able
to choose
payment
method.
Cancel payment. The user needs Considering the
to sign into the circumstances, informational
system. messages should appear.
Tokens created The payment id should be
previously canceled, and the chosen
ought to be filling station should receive
accessible. the appropriate notification.
The user should
be able to
choose the
appropriate
payment ID and
cancel.
Check History The user must The user should be able to
66
22060563|nipuna kusal suraweera CS6003ES | ASE
have logged view the history of all the
into the system. requested tokens with detials.
Tokens that
have already
been produced
should be
available.
67
22060563|nipuna kusal suraweera CS6003ES | ASE
Login/Logout The user must If the username and password
have registered match a registered user account,
with the FuelIn the user is directed to the home
System page.
Enter username If the username and password are
and password. incorrect, the error message
"Invalid Username & Password" is
displayed.
According to the given conditions,
an information message should
appear.
Appropriate user functions should
be enabled.
Request Fuel The user must Request Succeed should appear as
have logged into an information message.
the system. Should generate a Request id and
Choose the Fuel send the required request message
station to the FuelIn company.
registration id,
the fuel type, the
needed liter
quantity, the
required date,
and save the
request.
View Fuel The user must Fuel request details should appear
Requests have logged into according to request ID
the system.
Check the status
of the fuel
68
22060563|nipuna kusal suraweera CS6003ES | ASE
Request Id.
Make The user must Once the dispatch office in the
Payments have logged into head office has confirmed the
the system. delivery schedule to the given
Fuel requests filling station, a notice SMS/email
that have already will be sent to all token holders to
been created make the payment.
should be
available. The user should be able to select
the appropriate Fuel request Id,
and the system should display the
appropriate amount. The user
should be able to choose a
payment method.
If the payment method is a credit
card, the user must input the card
information and pay the applicable
amount.
According to the given conditions,
information messages should
appear.
Payment ids should be generated,
and the FuelIn company should be
notified.
Check fuel The user must The user should be able to
stock have logged into examine the relevant stock status
availability the system. as well as the available fuel stock
Option to check in the fuel station.
the stock
availability.
69
22060563|nipuna kusal suraweera CS6003ES | ASE
Fuel Issue The user must fuel station manager can update
have logged into the requested fuel amount to the
the system. relevant tokens after verifying the
Tokens that have vehicle details and quota.
already been Just the specified amount of fuel
requested should can be issued by the fuel station.
be available. The applicable vehicle type fuel
The fuel station quota cannot be exceeded.
manager can If there is no scheduled delivery to
access all token a certain filling station or if the
details relevant scheduled fuel stock is depleted,
to the fuel station the necessary message should be
and filter provided to specific token holders.
payment Fuel station tokens are only
completed provided for the scheduled
tokens. delivery number of liters; non-
committed or unpaid fuel
inventories might be made
available to request on demand
after the scheduled payment time,
and those tokens are issued for
same-day collection.
According to the given conditions,
information messages should
appear.
Token status should be updated,
and fully issued tokens should be
deleted from the pending list.
Check History The user must The fuel station manager has
have logged into access to all transaction history
70
22060563|nipuna kusal suraweera CS6003ES | ASE
the system. records pertaining to the fuel
station.
View Reports The user must The fuel station manager has
have logged into access to all fuel station reports.
the system. Payment reports and sales reports,
for example.
71
22060563|nipuna kusal suraweera CS6003ES | ASE
appear.
User functionalities
that are pertinent
should be turned on
View registered and The user needs to The administrator
registration pending fuel log into the system. of FuelIn has access
station list Registered Fuel to the registration
stations. status of each fuel
station.
Moreover, a FuelIn
user may accept or
reject a registration
request.
After approval or
rejection, pertinent
information
messages should
appear, and the
appropriate fuel
station should be
notified.
The registration list
needs updating.
72
22060563|nipuna kusal suraweera CS6003ES | ASE
Remove fuel station. The user needs to log into The administrator
the system. of FuelIn has access
Registered fuel stations. to all the
information about
registered Fuel
stations and the
choice to delete
them.
Pop-up
notifications with
pertinent
information should
be sent to the
appropriate Fuel
station.
A registration list
update is required.
Check Fuel Request The user needs to The fuel that has
log into the system. already been
requested ought
should be available.
Users of FuelIn can
examine the entire
list of fuel requests.
Manage Fuel Requests The user needs to Users of FuelIn can
sign into the examine the entire
system. list of fuel requests.
Previously And the request can
requested fuel be accepted or
requests should be rejected by a FuelIn
accessible. user. The
73
22060563|nipuna kusal suraweera CS6003ES | ASE
appropriate Fuel
station should
receive notified if
the request is
rejected.
If the request is
approved,
notification should
be sent to the gas
station for payment.
A fuel delivery
schedule should be
created using the
criteria.
The required Fuel
amount should be
74
22060563|nipuna kusal suraweera CS6003ES | ASE
equal to or less than
the stock of fuel
that is already
available.
Issue Fuel Stocks The user needs to After the requests
sign into the are prioritized,
system. users of FuelIn can
Previously choose the requests
requested fuel for which the
requests should be payment has been
accessible. made in full.
To display the Fuel
stock that is
available, choose
that option. It is
possible to update
the desired fuel
amount to the
appropriate request
id after verifying
the pertinent
request details.
The fuel station can
only supply the
specified amount of
fuel. cannot be
greater than the
requested quantity.
The necessary
notice should be
provided for a
75
22060563|nipuna kusal suraweera CS6003ES | ASE
specific filling
station if there is no
scheduled delivery
to that station or the
scheduled fuel
stock has run out.
Fuel is only
supplied for the
number of liters of
scheduled delivery;
however, after the
specified payment
time, non-
committed or
unpaid fuel supplies
may be made
accessible upon
request.
Check payments The user needs to Users of FuelIn can
sign into the examine all the payment
system. information for the fuel
Previously request list.
requested fuel
requests should be
accessible.
76
22060563|nipuna kusal suraweera CS6003ES | ASE
sales.
Add main Data The user needs to All key details can
log into the system. be added by the
FuelIn Admin.
Update information
about fuel prices,
such as fuel type.
In the context of
these
circumstances,
informational
messages should
appear.
Update the relevant
key data list.
Add Users The admin user The system allows
needs to log into the FuelIn Admin
the system to Add, Modify,
and Set Permissions
for the appropriate
Users.
In light of the
aforementioned
circumstances,
informational
messages should
appear.
Update the list of
pertinent info.
77
22060563|nipuna kusal suraweera CS6003ES | ASE
4.2. Non-Functional Requirements
Usability Requirements
Ex-
The system should have a user-friendly interface that is simple to navigate and
utilize for both staff and customers.
System should have different logins for Customers and Fuel stations.
Performance Requirements
The system must function efficiently and effectively. This is critical because FuelIn will
process a considerable quantity of data related to fuel distribution and monitoring, and it
is critical that the system can manage big amounts of data without slowing down or
crashing. The system's performance criteria ensure that it can meet the demands of its
users.
Ex-
During peak hours, the system should be able to manage a high volume of fuel
transactions without any delays or system crashes.
To avoid overstocking or understocking of Fuel, the system should offer real-time
data on inventory levels and use.
Space Requirements
The system should be built to make the most use of the available space. This is
significant since Sri Lankan fuel stations may have limited space for new equipment.
78
22060563|nipuna kusal suraweera CS6003ES | ASE
Space constraints guarantee that the system is designed to fit within the given area while
not interfering with other operations or equipment in the fuel station.
Ex-
The system should be built to fit into the restricted area available at Fuel stations,
which are frequently small and cramped.
Because petrol stations have limited space for equipment, the system should not
take up too much physical area.
Dependability Requirements
The system must be always dependable and accessible. This is critical since any
downtime or system failure can interrupt fuel delivery and monitoring, resulting in fuel
shortages and other problems. Dependability criteria ensure that the system is built to be
dependable, resilient, and accessible to its users.
Ex-
Because Fuel stations are open 24 hours a day, the system should be always
available.
Backup power sources should be installed in the system to ensure service
continuity during power outages.
Security Requirements
The system should be secure and safeguard vital fuel distribution and monitoring data.
This is critical since any security breach can result in major consequences such as fuel
theft, fraudulent operations, or disruption of fuel distribution. Security requirements
ensure that the system is secure and that suitable safeguards are in place to prevent
unauthorized access or data breaches.
Ex-
79
22060563|nipuna kusal suraweera CS6003ES | ASE
To prevent unwanted access to the system, the system should have strong
authentication and authorization methods.
To protect sensitive client information, the system should encrypt all data
transmissions.
Operational Requirements
The system should be simple to use and maintain. This is significant since FuelIn will be
utilized by fuel station employees and managers who may lack extensive technical
knowledge. Operational requirements guarantee that the system is simple to use, with
clear instructions and support materials.
Ex-
The system should be simple to install and maintain, with little downtime for Fuel
stations.
The system should work with existing Fuel station equipment, such as pumps and
fuel storage tanks.
Development Requirements
The system's architecture should be flexible and scalable, making it simple to add new
features or scale up as needed. This is significant because FuelIn may require evolution
over time to satisfy changing demands or requirements. The requirements for
development ensure that the system is built to be flexible and adaptable, with a modular
architecture that can allow future adjustments or enhancements.
Ex-
To ensure future growth and expansion, the system should be constructed with
dependable and scalable technologies.
To ensure quality and maintainability, the system should adhere to established
development processes and best practices.
Regulatory Requirements
80
22060563|nipuna kusal suraweera CS6003ES | ASE
The system must adhere to all applicable laws and regulations governing fuel delivery
and monitoring. This is significant since noncompliance can result in legal and financial
consequences. Regulatory requirements guarantee that the system is built to be in
accordance with applicable rules and regulations, and that suitable controls are in place to
assure compliance.
Ex-
The system must adhere to all applicable laws and regulations governing the sale
and distribution of fuel.
The system should provide regulatory authorities with reliable and timely data for
monitoring and compliance purposes.
Legislative Requirements
All statutory criteria for fuel distribution and monitoring should be met by the system.
This is significant since noncompliance can result in legal and financial consequences.
Legislative mandates ensure that the system is built to last.
Ex-
The system should adhere to all applicable data privacy and security legislation.
For legal and accounting considerations, the system should keep precise records
of all fuel transactions.
5.0. Implementation
5.1. Software Tools and Technologies
Many software tools and technologies can be utilized to create the FuelIn Online Fuel
Requesting and Queue Management System. Some of them are:
81
22060563|nipuna kusal suraweera CS6003ES | ASE
Web Development Frameworks: The use of web development frameworks such
as Angular, React, and Vue.js can help to streamline and improve the
development process.
Relational Database Management Systems (RDBMS): To store and manage the
system's data, a relational database management system (RDBMS) such as
MySQL, Oracle, or SQL Server can be utilized.
Web servers, such as Apache or Nginx, can be used to host the web application
and serve user requests.
Version Control Systems: A version control system, such as Git, can be used to
manage and track changes to source code.
Integrated Development Environments (IDEs): IDEs such as Eclipse, NetBeans,
and Visual Studio can offer a full development environment for developing,
testing, and deploying the system.
These are only a handful of the software tools and technologies that can be utilized to
create the Online Fuel Requesting and Queue Management System. The specific tools
and technologies selected will be determined by the project's requirements, the
competence of the development team, and other variables such as budget and time
restrictions.
Bootstrap is a CSS framework that includes a number of tools for creating responsive and
mobile-first websites. It will be used to design a user-friendly and visually appealing
system interface.
82
22060563|nipuna kusal suraweera CS6003ES | ASE
The MySQL database management system will be used to create an online fuel request
and queue management system. MySQL is a free and open-source relational database
management system that offers a scalable and dependable solution for data storage and
management. It is great for online applications because it can efficiently handle high-
volume, complicated queries and transactions.
The system can use MySQL to store and handle client information, fuel requests, and
queue management data. Tables for fuel station details, fuel requests, tokens, and client
information can be added to the database. MySQL has capabilities like data encryption,
replication, and backup to ensure data integrity and security.
Additionally, PHP integrates well with MySQL and provides significant tools for
accessing and modifying MySQL databases. Developers may quickly connect to the
MySQL database, retrieve and change data, and run complicated queries using PHP.
Furthermore, Bootstrap and CSS make it simple to develop a user experience that is
responsive, assuring excellent performance on both desktop and mobile devices. Overall,
the combination of PHP, HTML, Bootstrap, CSS, and MySQL results in a strong and
effective solution for constructing the Online Fuel Requesting and Queue Management
System.
Preferably, the system can be implemented on a web server with the necessary hardware
and software configurations to handle the development technologies PHP, HTML,
Bootstrap, CSS, and MySQL. Also, the server needs to have enough storage space to hold
the system's database and application code.
In terms of software, the server should have Apache or Nginx web server software, a
PHP interpreter, a MySQL server, and an operating system such as Linux or Windows.
83
22060563|nipuna kusal suraweera CS6003ES | ASE
Ultimately, the implementation environment should be built to provide a stable and
secure platform for the system to run efficiently and effectively, guaranteeing that end
users can access the system with no downtime or performance issues.
The ideal server hardware requirements for managing the predicted workload of the
FuelIn fuel management and queue management system would be:
Processor: A multi-core Intel Xeon or AMD Ryzen CPU with a high clock speed.
Memory: At least 16GB of RAM is required to ensure smooth functioning and the
handling of multiple requests at the same time.
Storage: SSD-based storage with at least 100GB free space for system files and
databases.
Network: Gigabit Ethernet or higher is recommended for quick data transfer
between the server and clients.
Power: An uninterruptible power supply (UPS) is required to ensure that the
server continues to operate during power outages or surges.
It should be noted that the hardware requirements may vary depending on the estimated
workload, number of concurrent users, and other considerations.
For customers
84
22060563|nipuna kusal suraweera CS6003ES | ASE
Ethernet port or Wi-Fi access to the network
It should be noted that these are the bare minimums, and the actual hardware required
may vary depending on the specific software and system requirements.
Mobile versions
iOS 13 or later is required for iPhones and iPads; Android 10 or later is required
for Android phones and tablets.
Processor: A dual-core 1.2 GHz CPU is required for iPhones and Android phones,
and a quad-core 1.5 GHz CPU is required for iPads and Android tablets.
RAM: iPhones and Android phones must have at least 2GB of RAM; iPads and
Android tablets must have at least 3GB of RAM.
Storage: iPhones and Android phones must have at least 16GB of internal storage;
iPads and Android tablets must have at least 32GB of internal storage.
Display: At least 4.7-inch HD display with 720 x 1280 pixel resolution for
iPhones and Android phones; at least 8-inch Full HD display with 1200 x 1920
pixel resolution for iPads and Android tablets
Wi-Fi or cellular data connectivity with at least 3G or 4G/LTE speed is required
for reliable network connectivity.
It's crucial to note that these are basic hardware requirements, and the precise hardware
required to run the FuelIn system's mobile app may vary based on the complexity and
feature needs of the FuelIn system's mobile app.
85
22060563|nipuna kusal suraweera CS6003ES | ASE
The server will require the following things:
Domain
SSL digital certificate to ensure website data protection and security.
an appropriate server operating system, such as Windows Server or Linux.
Web server software (for example, Apache or Nginx), database software (for
example, MySQL), and computer language runtime environment (e.g. Node.js).
Fuel Management Module: This module handles fuel inventory and transactions.
Fuel delivery scheduling, Fuel level monitoring, fuel quality control, and fuel
purchase management are among the features. This module manages the Fuel
inventory in an efficient and precise manner.
Queue Management Module: This module manages the queue of vehicles waiting
to be fueled. It has features including queue management, fuel dispensing
management, and customer notification management. This module guarantees that
the fuelIn’s process is streamlined and that clients are properly served.
86
22060563|nipuna kusal suraweera CS6003ES | ASE
Payment Module: This module oversees processing payments for Fuel purchases.
It has features like payment gateway connection, invoice generation, and payment
tracking. This module makes certain that the payment procedure is safe and clear.
Reports Module: This module generates reports for fuel inventory, transactions,
and revenue. It contains features like report preparation, data analysis, and
visualization. This module assists in making informed judgments about fuel
management and business operations.
Admin Module: This module is responsible for system configuration and user
management. It has features including system settings management, user
administration, and system backup management. This module guarantees that the
system is correctly configured and that users are managed efficiently.
Integration Module: This module handles the system's integration with various
external systems such as payment gateways, customer databases, and fuel quality
sensors. It contains features like data mapping, API integration, and system
testing. This module ensures that the system is compatible with other systems and
that data may be exchanged in real time.
87
22060563|nipuna kusal suraweera CS6003ES | ASE
Overall, FuelIn's fuel management and queue management system's modular structure is
intended to cover all areas of fuel management and customer service, from fuel inventory
management to payment processing and reporting.
88
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 24 Important Code 2
89
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 26 Important Code 4
90
22060563|nipuna kusal suraweera CS6003ES | ASE
Database
91
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 29 Database Table 2
6.0. Testing
The testing phase of the software development lifecycle is critical to ensure that the
software meets the desired requirements and functions as expected. It involves a thorough
investigation and discovery process to identify any issues or bugs in the code and
programming. The project team develops a test plan outlining all the necessary testing
methods, including unit, integration, system, acceptance, and regression. Each of these
testing methods is conducted in a specific order to ensure that the software is thoroughly
tested and meets the required standards.
The testing phase is an iterative process, meaning that any issues or bugs discovered
during testing are addressed, and the testing process is repeated until the software meets
all the required standards. The development team can ensure that the software meets the
92
22060563|nipuna kusal suraweera CS6003ES | ASE
customer's requirements and delivers value to the end users by conducting thorough
testing. Overall, the testing phase is a crucial step in the SDLC that ensures the quality
and reliability of the software.
Figure 30 Testing
The FuelIn Online Fuel Requesting System is a new platform designed to manage and
distribute fuel supplies to registered fuel stations across Sri Lanka. The system allows
end-users to request fuel based on the quota given for the vehicle registration number and
obtain a token with an expected filling time and date with a 3-hour tolerance. This test
plan aims to ensure that the system is functional, secure, and user-friendly by testing
various components such as user authentication, fuel requesting, payment processing,
filling station management, user notifications, security, compatibility, and performance.
By conducting these tests, we aim to identify and resolve any issues that may impact the
system's functionality, security, or user experience, ensuring that FuelIn can provide a
reliable and efficient fuel distribution service to its customers.
1. System Testing
Test functional and non-functional requirements.
Conduct parallel requests and load testing to ensure the system can handle
high traffic.
Verify system can generate tokens with expected filling time and date,
with 3-hour tolerance.
93
22060563|nipuna kusal suraweera CS6003ES | ASE
Customers should be prevented from requesting fuel if there is no planned
supply or if the stock of fuel is insufficient.
As soon as the distribution schedule is set, confirm that token holders are
notified through SMS or email.
If the customer cannot pay and take fuel, verify that the quota is over.
2. User Acceptance Testing (Beta)
Get feedback on the system's UI and UX from end users by asking them to
test it out.
To make sure that the system is usable by everyone, test it with a wide
range of users.
Check that fuel can be ordered by end users based on the allotted amount
for the vehicle's number plate.
Test that when scheduled delivery is possible, end customers can get a
token from the filling station using the same system.
94
22060563|nipuna kusal suraweera CS6003ES | ASE
3. Payment Processing Testing
Test the payment processing system to make sure it is safe and capable of
accepting various payment methods.
4. Security Testing
Verify that user data is encrypted and securely stored.
Check the system for any potential security flaws, such as cross-site
scripting, and SQL injection.
Verify that only individuals with permission can access sensitive
information, such as payment details.
5. Filling Station Management Testing
Test the system's ability to handle filling station orders individually and
distribute fuel stocks in accordance with the population nearby the filling
station.
6. Compatibility Testing
Check the system's compatibility with various browsers, operating
systems, and devices.
Verify that the system can accommodate different screen resolutions and
device orientations.
7. Performance Testing
Analyze the system's response time under various user and network
conditions.
Check to see if the system can handle high levels of web traffic
95
22060563|nipuna kusal suraweera CS6003ES | ASE
6.2. Test Cases and Results
96
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 33 Test Cases and Results 3
97
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 35 Test Case and Results 5
98
22060563|nipuna kusal suraweera CS6003ES | ASE
7.0. Conclusion
The fuel management and queue management system from FuelIn is a crucial tool for oil
firms like FuelIn to organize their fuelling processes, boost productivity, and shorten
client wait times. The system has a number of modules, including ones for managing
fuel, lines, payments, and reporting in real-time. It is significant to remember that
fulfilling non-functional needs, such as usability, performance, security, and regulatory
compliance, is essential to the system's success. The specific software and hardware
requirements have already been specified, and the feasibility studies have demonstrated
that FuelIn is qualified to build this system. In order to identify potential objects, data,
and file structures for system designing, a module structure has been proposed.
Customers, gasoline attendants, supervisors, and the FuelIn system itself all interact
within the system. Overall, FuelIn's fuel management and queue management system
installation will improve their business operations, raise customer satisfaction,
and boost earnings.
99
22060563|nipuna kusal suraweera CS6003ES | ASE
References
syedmodassirali, 2022. geeksforgeeks.org. [Online]
Available at: https://www.geeksforgeeks.org/client-server-model/
[Accessed 24 02 2023].
100
22060563|nipuna kusal suraweera CS6003ES | ASE
Appendix
Figure 37 Lubricants
101
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 38 Unlimited Services
102
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 40 Manage Invoices
103
22060563|nipuna kusal suraweera CS6003ES | ASE
Figure 42 Sales report
104
22060563|nipuna kusal suraweera CS6003ES | ASE
Group Contribution
Table 5 Group Contribution
105
22060563|nipuna kusal suraweera CS6003ES | ASE
22059307 K A Deshan o Frontend development
Sachintha Kannangara o System Testing
o Test plan designing
o Document editing
o UI/UX designing.
o Database Designing
106
22060563|nipuna kusal suraweera CS6003ES | ASE