HW 6: Chapter 4
Requirements Engineering
4.5. Using the technique suggested here, where natural language descriptions are presented in a standard format, write plausible user requirements for the following functions:An unattended petrol (gas) pump system that includes a credit card reader. The customer swipes the card through the reader, then specifies the amount of fuel required. The fuel is delivered and the customer's account debited.
- The system should display instructions about the fueling process that progress as the process unfolds. (Swipe card > Select fuel type > Select amount of fuel required > How to dispense fuel)
- The system shall monitor or detect the swiping of a credit card to begin a transaction.
- The system shall ask the customer the type and quantity of fuel required.
- The system shall check fuel levels available to be dispensed are adequate to fulfill requested fuel amount prior to charging the customers card.
- The system shall ensure funds are secured prior to dispensing fuel.
- The system should perform a self-test periodically to monitor fuel dispensing rates, system security, hardware/software issues and pause dispensing if issues found.
- The system should monitor fuel levels and alert the user when user-defined thresholds are met.
The cash-dispensing function in a bank ATM.
- The system shall display instructions on the operation of ATM as the transaction unfolds.
- The system shall confirm users identity via pin input prior to accessing the bank account.
- The system should display available funds to the user prior to asking for funds request.
- The system shall check the amount of cash available in the machine when the initial user transaction begins. If the amount requested by the user exceeds the amount available then the transaction will halt and display a message stating the limit the user may withdraw.
- After the system determines required funds are available in the users' account and in the machine, the system shall dispense the appropriate amount, adjust the bank account accordingly, and deduct the amount from the balance of the machine.
- The system shall perform a self-test every 5 minutes. The test will check for tampering with the software and hardware, failures in the software or hardware, and update security protocols with the banking institution.
- The system shall be able to alter appropriate authorities (e.g., police in the event of physical damage or bank officials for other failures) when hardware and/or software issues are identified.
In an internet banking system, a facility that allows customers to transfer funds from one account held with the bank to another account with the same bank.
- The system shall employ cybersecurity protocols to mitigate unauthorized user access to system.
- The system shall require two-factor authentication for all bank transfers.
- The system shall display the user accounts and balances after appropriate login credentials are provided.
- The system shall check that the requested transfer amount is below the amount available.
- The system should display the information about the transfer such as account numbers, new balances, etc., and prompt user for confirmation prior to initiating the transfer.
4.6. Suggest how an engineer responsible for drawing up a system requirements specification might keep track of the relationships between functional and non-functional requirements.
Functional requirements describe what a system should do, and sometimes explicitly what it should not do. Because of this, for the purposes of organization, the functional requirements could be considered primary to the non-functional requirements. Therefore each non-functional requirement should be assessed and 'tagged' to a functional requirement. The assessment of the non-functional requirement should assess how it's possible implementation will affect the functional requirement. This could be captured in a tree of non-functional requirements with the functional requirements identified inside.
4.7 Using your knowledge of how an ATM is used, develop a set of use cases that could serve as a basis for understanding the requirements for an ATM system.
A single user interacts with the ATM system to perform various banking transactions from the withdrawal of funds, checking account balances, transferring funds, and depositing checks. The user initiates the transaction by inserting their banking card and entering their PIN. The system verifies the PIN and displays the various transactions available to the user. The user may then select one and a series of prompts will be displayed depending on the transaction type, for instance, account balance function would allow the user to select an account and the ATM displays the account information on the screen. After the account balance is displayed the ATM will ask the user if any other transactions are required. If the user selects no, then the ATM will end the transaction and return to it's starting state. Similarly, the use cases for other types of interactions would display a series of prompts to walk the user through completion.
Comments
Post a Comment