We are going to develop the software requirement specifications for the Gasoline Pump Control System (GPCS).
Purpose:
To automate the gasoline pump control system which deals with the dispensing of gasoline, handling customer payment and monitoring tank levels.
Scope:
The scope of this project is to create and implement the Gasoline Pump Control System (GPCS). The scope of this document is to fully document the software requirements of the Gasoline Pump Control System using the Software Requirement Specifications format in accordance with IEEE Recommended Practice For Software Requirement Specifications.
The Gasoline Pump Control System implementation date will be determined at an appropriate time.
The Gasoline Pump Control System will perform the following functions:
- Interfaces with the mechanical system of the pumps.
- Implements a transaction processing system
- Provides a repository for storing the transaction data.
- Validate and authenticate the customer identification like SSN or Driver’s license number in case of check payments by the customer.
- Archiving transaction data to the corporate office.
- Retrieve data from the corporate office archives.
The Gasoline Pump Control System team developed the design policies from a functional perspective, ensuring that the state regulatory and safety laws are followed.
Document Convention:
GPCS: Gasoline Pump Control System
SRS: System Requirement Specification
Intended audience:
The customer is The Indian Oil Group Of Companies
References:
IEEE Recommended Practice For Software Requirement Specifications 2. Overall
Product Perspectives
This document describes the requirement specifications for the implementation of the gasoline pump control system for handling the dispensing of gasoline, customer payment, monitoring the tank levels and take care of all the other mechanical process of the pump station.
The purposes of this document are to serve as:
- A basis of communication between all parties;
- Input to the design team;
- Input to software testing and quality assurance;
- A development manager’s reference;
- A control for the evolution of the system.
Product Functions
The software will automate the process of dispensing gasoline by interfacing with the mechanical process of the gas station with a single computer. The software will also process the customer transactions and archive them. Software is supported by the real-time connectivity between the gas station and the corporate headquarters.
Figure 1 depicts the various functional interactions of the system. The System interacts with the Gas Pump Terminal, underground tank level checks, Customer purchasing gasoline, the customers payment criteria, It handles and archives the daily transactions, Updating the corporate server with the transactions, the Terminal operator. The Details of the various interactions will be discussed in the design document.
User Requirements define the anticipated end users of the Gasoline Pump Control System.
The user Requirements are differentiated based on the frequency of use, technical expertise and security or privilege levels.
The following represent the user requirements:
Vehicle users – These users require gasoline for their vehicles.
Gas station employees (operators, attendants etc.) – These users maintain and operate the system.
Corporate Office – Uses the system to archive transaction data.
Newly employed cashiers shall take between 10 and 15 minutes training time to learn the basic functionality of the system. No related experience needed.
A cashier should be able to read, understand, and follow English instructions without assistance.
Managers shall take between 30 and 60 minutes to learn the entire system.
Operating Environment
The Gasoline Pump Control System software will be installed at the gas station.
· Hardware Interface:
The terminal has one system which takes care of the archiving of the daily transactions.
So we would need a Pentium system at the minimum and the video system would require a good quality graphics card. Both systems should have minimum of 32mb RAM memory.
The Corporate Server needs to be a server class machine with at least 256 MB RAM and Pentium 4 system.
A dedicated link between the corporate sever and the Gas Pump Outlet.
· Software Interface:
The Terminal machines require Windows 9x or better, it needs a MS access 9x or better to store the daily archives.
The Corporate server should have oracle 8x or better to hold on to all the archives.
User Documentation:
Manual of the Gasoline Pump Control System.
Design/Implementation Constraints
In the future it is possible that the software design will have to incorporate changes that could take place in the mechanical domain of the system.
Some of the anticipated changes are given below
- New pumps being purchased
- Change of pumps (sophisticated to normal and vice-versa)
- Incorporation of new safety standards.
Change in the mode of payment
- Accepting credit cards at the pump terminals
- Real time verification of check payments at the pump terminals
- Customer Account Balance verification.
Security features at the gas station
- Installation of cameras at each pump terminal.
- Automatic Scan of the Vehicles license number.
Operator is the person who controls the Gasoline Pump Control System.
Once the Gasoline Pump Control System is started by the Operator the Gasoline Pump Control System is in Active and running mode.
Figure 3 shows what the function of the operator would be.
Ø The Operator can check each tank level, for the two grades of gasoline.
Ø When he does the check, the text boxes will be filled with tank fill percentages.
Ø If the Tank goes below 20% the operator has to ask for the Gasoline tank refill.
Ø Each transaction that happened on a particular day is archived in the local database.
Ø The Operator can Archive the Entire daily transaction history to the central server by selecting the Archive button.
Ø The Operator can view the Customer details by scanning or entering the Customer Id.
Ø The Operator can make a complaint on any License number and the amount due if the customer absconds without paying the due amount.
Ø The License number would appear once he clicks on the video screen of the pump where the gas was filled.
Non Functional Requirements
Reliability
Reliability is most important for basic pump operation. The pumps must accurately report the amount of fuel dispensed. If the pump reports that less fuel is used than is actually used, it will cost the station money. If the pump reports that more fuel is used than is actually used, it will create disgruntled customers which may never come back.
Availability
At initial release, the basic functionality should have an availability of at least 99.999%. Basic functionality includes pump interface and operation. Basic functionality also includes the ability for the cashier to receive payments for transactions. More advanced functionality such as manager reports can have an availability of 95%.
Security
To prevent the hard drives from being removed and modified outside the system, the file system will be encrypted such that they cannot be used in another machine.
All management functions shall be logged (see section 3.4.4).
Maintainability
The system shall be separated into modules. There will be one module for the pump control logic. There will be another module for low level pump control. There will be a third module for the cashier station.
Portability
Pump control module is to be written in ANSI C. Any low level code (i.e., code to control operation of pump motor, etc) will be contained in a separate module and written in assembly. This will allow the pump control software to be moved to another microcontroller with a minimal amount of work.
The cashier station module will be written in Java. Because Java is supported on many platforms, it should be quite easy to move to another platform.
Assumptions and Dependencies
As soon as the user lifts the pump handle, a signal is automatically sent to the operator console via the system requesting that the pump be enabled.
The user has to make the payment at the gas station kiosk where the operator will be located.
The system is linked with the corporate office network.
The system uses licensed third party software products.
The gas station premises will not be affected by frequent power outages.
The Gasoline reorder level is set to 20% for each tank.
Reordering of the tank level signal will be sent to the Gas Tank Refill Department, once the signal is sent the handling of the Gas Refill is out of the present system domain.
At any point of time there is only 2 gasoline grades one in each underground tank.
We are going to develop the System Requirement Specification for the Gasoline Pump Control System.
System Scope
The scope of this project is to communicate the requirements of the Indian Oil Group of Companies to the General System Development in an understandable manner that will specify and build the system.
General System Description
The Gasoline Pump Control System should perform the following functions:
- Provide the customer with fast and rapid service.
- Validate and authenticate the customer identification
- To control all the station of the Indian Oil Group of Companies.
User Requirements
Design a system which is user friendly and very active.
Techniques for identifying Requirements
Observation on the site of work to identify the pattern of work.
System Capabilities, Conditions and Constraint
Physical
Construction
Should be developed within 4 months from the date of contract.
Adaptability
Should adapt to a change in the company such as expansion or growth of the business, for example if a new system need to be installed.
System Reliability
The system should be reliable.
Mean time between maintenance actions should be stated.
Should have a life span of at least 5 years.
System Human Factor
Should take into consideration the human factor, that is allocation of function to personnel and communication.
Policy and Regulations
The system should be designed according to the norms and regulations in force.
Overall Scenarios
Descriptive examples such as on site presentation on the use of the system should be provided
SyRS Development Process Overview
From Figure 4 it can be seen that raw requirements, customer feedback, customer representation, constraint influence, technical representation, and technical feedback are all necessary for the development of a system requirement.