SRSTemplate
SRSTemplate
Specification
for
<Project>
Prepared by <author>
<organization>
<date created>
Copyright © 2024
Software Requirements Specification for <Project> Page ii
Table of Contents
Table of Contents...........................................................................................................................ii
Revision History.............................................................................................................................ii
1. Introduction..............................................................................................................................1
1.1 Purpose..............................................................................................................................................1
1.2 Document Conventions.....................................................................................................................1
1.3 Intended Audience and Reading Suggestions...................................................................................1
1.4 Definitions, acronyms, abbreviations...............................................................................................1
1.5 Scope…………………………………………………………………………………… 1
1.6 References.........................................................................................................................................1
2. Overall Description..................................................................................................................2
2.1 Product Perspective...........................................................................................................................2
2.2 Product Features................................................................................................................................2
2.3 User Classes and Characteristics......................................................................................................2
2.4 Operating Environment.....................................................................................................................2
2.5 Design and Implementation Constraints...........................................................................................2
2.6 User Documentation.........................................................................................................................2
2.7 Assumptions and Dependencies.......................................................................................................3
3. System Features.......................................................................................................................3
3.1 System Feature 1...............................................................................................................................3
3.2 System Feature 2 (and so on)............................................................................................................4
4. External Interface Requirements...........................................................................................4
4.1 User Interfaces..................................................................................................................................4
4.2 Hardware Interfaces..........................................................................................................................4
4.3 Software Interfaces...........................................................................................................................4
5. Other Nonfunctional Requirements.......................................................................................5
5.1 Performance Requirements...............................................................................................................5
5.2 Safety Requirements.........................................................................................................................5
5.3 Security Requirements......................................................................................................................5
5.4 Software Quality Attributes..............................................................................................................5
6. Other Requirements................................................................................................................5
Appendix A: Glossary....................................................................................................................5
Appendix B: Analysis Models.......................................................................................................6
Appendix C: Issues List.................................................................................................................6
Revision History
Name Date Reason For Changes Version
Software Requirements Specification for <Project> Page 1
1. Introduction
1.1 Purpose
This document delineates the software requirements and specifications for an Automated Teller
Machine (ATM) network. With the proliferation of banking services and the increasing demand for
convenient financial transactions, the need for a robust, reliable, and secure ATM network is
paramount. This document serves as a blueprint for the development and implementation of the
ATM network software, ensuring it meets the functional and non-functional requirements essential
for seamless operation and customer satisfaction.
1. **Font and Formatting**: The document is presented in a clear and legible font, such as Arial or
Times New Roman, with appropriate headings, subheadings, and body text formatting to enhance
readability.
2. **Priority Specification**: Each requirement statement is assigned a priority level to indicate its
importance and urgency. Priorities are typically denoted using a standardized notation such as
"High," "Medium," or "Low," or numerical values (e.g., 1, 2, 3) to signify the order of importance.
3. **Requirement Numbering**: Requirements are numbered sequentially for easy reference and
tracking. Each requirement statement is uniquely identified by a number or alphanumeric code to
facilitate cross-referencing within the document.
4. **Highlighting**: Key terms, definitions, and important sections may be highlighted using bold,
italic, or underline formatting to draw attention to critical information.
6. **Version Control**: The document includes version control information, indicating the revision
history and any updates made to the SRS over time. This ensures that stakeholders can track
changes and understand the evolution of the requirements.
Overall, the document aims to provide a comprehensive overview of the software requirements and
specifications for the ATM network, following established conventions to ensure clarity,
consistency, and traceability.
Software Requirements Specification for <Project> Page 2
1.4.1 Definitions
• Account
A single account in a bank against which transactions can be applied. Accounts may
be of various types with at least checking and savings. A customer can hold more than
one account.
• ATM
A station that allows customers to enter their own transactions using cash cards as
identification. The ATM interacts with the customer to gather transaction information,
sends the transaction information to the central computer for validation and process-
ing, and dispenses cash to the customer. We assume that an ATM need not operate
independently of the network.
• Bank
A financial institution that holds accounts for customers and that issues cash cards
authorizing access to accounts over the ATM network.
• Bank computer
The computer owned by a bank that interfaces with the ATM network and the bank’s
own cashier stations. A bank may actually have its own internal network of computers
to process accounts, but we are only concerned with the one that interacts with the
network.
• Cash Card
A card assigned to a bank customer that authorizes access to accounts using an ATM
Machine. Each card contains a bank code and a card number, coded in accordance with
national standards on credit cards and cash cards. The bank code uniquely identifies the
bank within the consortium. The card number determines the accounts that the card
can access. A card does not necessarily access all of a customer’s accounts. Each cash
card is owned by a single customer, but multiple copies of it may exist, so the possibility
of simultaneous use of the same card from different machines must be considered.
• Customer
The holder of one or more accounts in a bank. A customer can consist of one or more
persons or corporations, the correspondence is not relevant to this problem. The same
person holding an account at a different bank is considered a different customer.
•Transaction
a single integral request for operations on the accounts of a single customer. We only
specified that ATMs must dispense cash, but we should not preclude the possibility of
printing checks or accepting cash or checks. We may also want to provide the flexibility
Software Requirements Specification for <Project> Page 3
1.4.2 Abbreviations
Throughout this document the following abbreviations are used:
1.6 References
### 1.6 References
5. Contract
- Author: Legal Department
- Version: 4.5
- Date: December 20, 2023
2. Overall Description
User interfaces
Customer
The customer user interface should be intuitive, such that
99.9% of all new ATM users are able to complete their banking
transactions without any assistance.
Bank Security Personnel
Bank security personnel are responsible for removing deposits
and adding cash to ATMs. There should be a simple interface
(e.g., a switch or button) that they can use to initialize the ATM
whenever they restock.
Maintainer
The maintainer is responsible for adding new ATMs to the
network and servicing existing ATMs. A maintainer should be
possible to add a new ATM to the network within 1 hour.
Software Requirements Specification for <Project> Page 5
3. Specific Requirements
The requirements for the automated teller machine are organized in the following way Gen_
eral requirements, requirements for authorization, requirements for a transaction.
General
Functional requirement 1
• Description
Initialize parameters t, k, m, n
• Input
ATM is initialized with t dollars, k, m, n are entered
• Processing
Storing the parameters.
• Output
Parameters are set.
Functional requirement 2
• Description
If no cash card is in the ATM, the system should display initial display.
Functional requirement 3
• Description
If the ATM is running out of money, no card should be accepted. An error message is
Displayed.
• Input
A card is entered.
• Processing
The amount of cash is less than t.
• Output
Display an error message. Return cash card.
Software Requirements Specification for <Project> Page 8
Authorization
The authorization starts after a customer has entered his card in the ATM
Functional requirement 4
• Description
The ATM has to check if the entered card is a valid cash-card.
• Input
Customer enters the cash card.
• Processing
Check if it is a valid cash card.It will be valid if
1. the information on the card can be read.
2. it is not expired.
• Output
Display error message and return cash card if it is invalid.
__
5.4.1 Availability
The ATM network has to be available 24 hours a day.
5.4.2 Security
The ATM network should provide maximal security .In order to make that much more
Transparent there are the following requirements
1. It must be impossible to plug into the network.
Software Requirements Specification for <Project> Page 10
5.4.3 Maintainability
Only maintainers are allowed to connect new ATMs to the network.
6. Other Requirements
Data Base
The ATM must be able to use several data formats according to the data formats that are
provided by the data bases of different banks. A transaction should have all the properties of
a data base transaction (Atomicity, Consistency, Isolation, Durability).
Appendix A: Glossary
<Define all the terms necessary to properly interpret the SRS, including acronyms and
abbreviations. You may wish to build a separate glossary that spans multiple projects or the entire
organization, and just include terms specific to a single project in each SRS.>