Excercise No. 1: Hardware Interfaces
Excercise No. 1: Hardware Interfaces
REQUIREMENTS:
Hardware Interfaces
Software Interfaces
THEORY:
The problem statement is the initial starting point for a project. It is basically a one to three page
statement that everyone on the project agrees with that describes what will be done at a high
level. The problem statement is intended for a broad audience and should be written in non-
technical terms. It helps the non-technical and technical personnel communicate by providing a
description of a problem. It doesn't describe the solution to the problem.
The first phase of requirements engineering begins with requirements elicitation i.e. gathering of
information about requirements. Here, requirements are identified with the help of customer and
existing system processes. So from here begins the preparation of problem statement.
So, basically a problem statement describes what needs to be done without describing how.
Conclusion: The problem statement was written successfully by following the steps described
above.
EXCERCISE NO. 2
Requirements:
Hardware Requirements:
• PC with 300 megahertz or higher processor clock speed recommended; 233 MHz
minimum required.
• 128 megabytes (MB) of RAM or higher recommended (64 MB minimum supported)
• 1.5 gigabytes (GB) of available hard disk space
• CD ROM or DVD Drive
• Keyboard and Mouse(compatible pointing device).
Software Requirements:
Theory:
The SRS document itself states in precise and explicit language those functions and capabilities a
software system (i.e., a software application, an eCommerce Web site, and so on) must provide,
as well as states any required constraints by which the system must abide. The SRS also
functions as a blueprint for completing a project with as little cost growth as possible. The SRS is
often referred to as the "parent" document because all subsequent project management
documents, such as design specifications, statements of work, software architecture
specifications, testing and validation plans, and documentation plans, are related to it.
It's important to note that an SRS contains functional and nonfunctional requirements only; it
doesn't offer design suggestions, possible solutions to technology or business issues, or any other
information other than what the development team understands the customer's system
requirements to be.
A well-designed, well-written SRS accomplishes four major goals:
• It provides feedback to the customer. An SRS is the customer's assurance that the
development organization understands the issues or problems to be solved and the
software behavior necessary to address those problems. Therefore, the SRS should be
written in natural language (versus a formal language, explained later in this article), in
an unambiguous manner that may also include charts, tables, data flow diagrams,
decision tables, and so on.
• It decomposes the problem into component parts. The simple act of writing down
software requirements in a well-designed format organizes information, places borders
around the problem, solidifies ideas, and helps break down the problem into its
component parts in an orderly fashion.
• It serves as an input to the design specification. As mentioned previously, the SRS serves
as the parent document to subsequent documents, such as the software design
specification and statement of work. Therefore, the SRS must contain sufficient detail in
the functional system requirements so that a design solution can be devised.
• It serves as a product validation check. The SRS also serves as the parent document for
testing and validation strategies that will be applied to the requirements for verification.
SRSs are typically developed during the first stages of "Requirements Development," which
is the initial product development phase in which information is gathered about what
requirements are needed--and not. This information-gathering stage can include onsite visits,
questionnaires, surveys, interviews, and perhaps a return-on-investment (ROI) analysis or
needs analysis of the customer or client's current business environment. The actual
specification, then, is written after the requirements have been gathered and analyzed.
a) Correct
b) Unambiguous
c) Complete
d) Consistent
e) Ranked for importance and/or stability
f) Verifiable
g) Modifiable
h) Traceable
Correct - This is like motherhood and apple pie. Of course you want the specification to be
correct. No one writes a specification that they know is incorrect. We like to say - "Correct and
Ever Correcting." The discipline is keeping the specification up to date when you find things that
are not correct.
Unambiguous - An SRS is unambiguous if, and only if, every requirement stated therein has
only one interpretation. Again, easier said than done. Spending time on this area prior to
releasing the SRS can be a waste of time. But as you find ambiguities - fix them.
Complete - A simple judge of this is that is should be all that is needed by the software designers
to create the software.
Consistent - The SRS should be consistent within itself and consistent to its reference
documents. If you call an input "Start and Stop" in one place, don't call it "Start/Stop" in another.
Ranked for Importance - Very often a new system has requirements that are really marketing
wish lists. Some may not be achievable. It is useful provide this information in the SRS.
Verifiable - Don't put in requirements like - "It should provide the user a fast response." Another
of my favorites is - "The system should never crash." Instead, provide a quantitative requirement
like: "Every key stroke should provide a user response within 100 milliseconds."
Modifiable - Having the same requirement in more than one place may not be wrong - but tends
to make the document not maintainable.
2. Overall Description
2.1 Product perspective
2.2 Product functions
2.3 User classes and characteristics
2.4 Operating environment
2.5 User environment
2.6 Design/implementation constraints
2.7 Assumptions and dependencies
4. System Features
4.1 System feature A
4.1.1 Description and priority
4.1.2 Action/result
4.1.3 Functional requirements
4.2 System feature B
6. Other Requirements
Appendix A: Terminology/Glossary/Definitions list
Appendix B: To be determined
Conclusion: The SRS was made successfully by following the steps described above.
SAMPLE SRS
SOFTWARE REQUIREMENTS SPECIFICATION
ATM
Version 1.0
September 8, 2006
1. Introduction.............................................................................................................3
1.1 Purpose 3
1.2 Scope 3
1.3 Definitions, Acronyms, and Abbreviations 3
1.4 References 4
1.5 Overview 5
1. Introduction
The software ATMExcl 3.0TM version1.0 is to be developed for Automated Teller Machines
(ATM). An automated teller machine (ATM) is computerized telecommunications device that
provides a financial institution's customers a secure method of performing financial transactions,
in a public space without the need for a human bank teller. Through ATMExcl 3.0TM ,customers
interact with a user-friendly interface that enables them to access their bank accounts and
perform various transactions.
1.1 Purpose
This SRS defines External Interface, Performance and Software System Attributes requirements
of ATMExcl 3.0TM. This document is intended for the following group of people:-
ü Developers for the purpose of maintenance and new releases of the software.
ü Management of the bank.
ü Documentation writers.
ü Testers.
1.2 Scope
This document applies to Automated Teller Machine software ATM 3.0TM. This software
facilitates the user to perform various transaction in his account without going to bank. This
software offers benefits such cash withdrawals, balance transfers, deposits, inquiries, credit card
advances and other banking related operations for customers. It also allows the administrator to
fix the tariffs and rules as and when required.
The software takes as input the login Id and tha bank account number of the user for login
purposes. The outputs then comprise of an interactive display that lets the user select the
desirable function that he wants to perform..
The software is expected to complete in duration of six months and the estimated cost is Rs18
lakhs.
1.3 Definitions, Acronyms, and Abbreviations.
AC Alternate Current
AIMS ATM Information Management System.
ATM An unattended electronic machine in a public place, connected
to a data system and related equipment and activated by a
bank customer to obtain cash withdrawals and other banking
services.
Braille A system of writing and printing for blind or visually impaired
people, in which varied arrangements of raised dots
representing letters and numerals are identified by touch.
BMS Bank Management Software developed by KPM Bank.
CDMA Code Division Multiple Access, a reliable data communication
protocol.
CMS Card Management Software developed by KPM Bank.
DES Data Encryption Standard.
Dial-Up POS A message format for low cost communications.
Electronic For easier, safer information storage, related to modem.
Journals
Internet An interconnected system of networks that connects
computers around the world via the TCP/IP protocol.
MB Mega Bytes
ms Milliseconds.
sec Seconds
Smart Card Card without hardware which stores the user‘s private keys
within a tamper proof software guard.
SRS Software Requirements Specification.
Tactile Special keyboard designed to aid the visually impaired.
keyboard
TCP/IP Transmission Control Protocol/Internet Protocol.
V Volts
VGA Video Graphics Adaptor is a display standard.
1.4 References
i. www.google.co.in
ii. www.winkipedia.com
1.5 Overview
The major functions that ATMExcl 3.0TM performs are described as follows:-
ü Language Selection:- After the user has logged in, the display provides him with
a list of languages from which he can select any one in order to interact with the
machine throughout that session. After the language selection the user is prompted
with an option that whether he wants the selected language to be fixed for future
use so that he is not offered with the language selection menu in future thus
making the transaction a bit faster. User also has the freedom to switch to a
different language mentioned in the list in between that session.
ü Account Maintenance:- The various functions that a user can perform with his
account are as follows:-
§ Account Type:-The user has the freedom to select his account type to which
all the transactions are made, i.e. he can select whether the account is current
account or savings account etc.
§ Withdrawal/Deposit: The software allows the user to select the kind of
operation to be performed i.e. whether he wants to withdraw or deposit the
money.
§ Amount:- The amount to be withdrawan or deposited is then mentioned by the
user.
§ Denominations:- The user is also provided with the facility to mention the
required denominations. Once he enters his requirements the machine goes
through its calculations on the basis of current resources to check whether it is
possible or not. If yes, the amount is given to the user otherwise other possible
alternatives are displayed.
§ Money Deposition:- Money deposition shall be done with an envelope. After
typing the amount to be deposited and verification of the same, the customer
must insert the envelope in the depositary.
§ Balance Transfer:- Balance transfer shall be facilitated between any two
accounts linked to the card for example saving and checking account.
§ Balance Enquiry:- Balance enquiry for any account linked to the card shall be
facilitated.
ü Billing:- Any transaction shall be recorded in the form of a receipt and the same
would be dispensed to the customer. The billing procedures are handled by the
billing module that enable user to choose whether he wants the printed statement
of the transaction or just the updation in his account.
ü Cancelling:- The customer shall abort a transaction with the press of a Cancel
key. For example on entering a wrong depositing amount. In addition the user can
also cancel the entire session by pressing the abort key and can start a fresh
session all over again.
ü Map locating other machines:- The machine also has a facility of displaying the
map that marks the locations of other ATM machines of the same bank in the
entire city.
ü Mobile Bills Clearings:- The machine also allows the user to clear off his
pending mobile bills there only, if the name of his operator is mentioned there in
the list. The machine displays the list of the companies supported by that bank to
the user.
There are different kind of users that will be interacting with the system. The intended user of
the software are as follows:-
ü User A: A novice ATM customer. This user has little or no experience with
electronic means of account management and is not a frequent user of the
product. User A will find the product easy to use due to simple explanatory
screens for each ATM function. He is also assisted by an intarctive teaching
mechanism at every atep of the transaction, both with the help of visual and audio
help sessions.
ü User B: An experienced customer. This user has used an ATM on several
occasions before and does most of his account management through the ATM.
There is only a little help session that too at the beginning of the session thus
making the transaction procedure more faster.
ü Maintenance Personnel: A bank employee. This user is familiar with the
functioning of the ATM. This user is in charge of storing cash into the ATM vault
and repairing the ATM in case of malfunction. This user is presented with a
different display when he logs in with the admninistrator‘s password and is
provided with options different from that of normal user. He has the authority to
change or restrict various features provided by the software in situations of
repairing.
2.4 Constraints
ü The number of invalid pin entries attempted must not exceed three. After three
unsuccessful login attempts, the card is seized/blocked and need to be unlocked
by the bank.
ü The simultaneous access to an account through both, the ATM and the bank is not
supported.
ü The minimum amount of money a user can withdraw is Rs 100/- and the
maximum amount of money a user can withdraw in a session is Rs.10,000/- and
the maximum amount he can withdraw in a day is Rs 20,000/-
ü Before the transaction is carried out, a check is performed by the machine to
ensure that a minimum amount of Rs 1000/- is left in the user‘s account after the
withdrawal failing which the withdrawal is denied.
ü The minimum amount a user can deposit is Rs 100/- and the maximum amount he
can deposit is Rs 10,000/-.
ü A user can select only that cellular operator for mobile bill clearings that is
supported by the bank.
ü The software requires a minimum memory of 20GB
ü The databse used should be Oracle7.0.
ü There shall be a printer installed with the machine to provide the user with the
printed statement of the transaction.
ü For voice interactions, speakers should also be there to accompany the machine.
The requirements stated in the SRS could be affected by the following factors:
• One major dependency that the project might face is the changes that need to be
incorporated with the changes in the bank policies regarding different services. As the
policies changes the system needs to be updated with the same immediately. A delay in
doing the same will result to tremendous loss to the bank. So this should be changed as
and when required by the developer.
• Another constraint relating to the operating environment is that we are specific to Oracle
Database.
• The project could be largely affected if some amount is withdrawn from the user‘s
account from the bank at the same time when someone is accessing that account through
the ATM machine. Such a condition shall be taken care of.
• At this stage no quantitive measures are imposed on the software in terms of speed and
memory although it is implied that all functions will be optimized with respect to speed
and memory.
It is furthermore assumed that the scope of the package will increase considerably in the
future.
3. External Interface Requirements
The interface provided to the user should be a very user-friendly one and it should
provide an optional interactive help for each of the service listed. The interface
provided is a menu driven one and the following screens will be provided:-
The following reports will be generated after each session dealt with in the machine:-
1. The login time and logout time along with the user‘s pin no and account number
is registered in the bank‘s database.
2. The ATM‘s branch ID through which the session is established is also noted
down in the bank‘s database.
3. Various changes in the user‘s account after the transactions,if any, are reported
in the database.
4. A printed statement is generated for the user displaying all the transactions he
performed.
Other various user interface requirements that need to be fulfilled are as follows:-
q The display screen shall be of 10" VGA color type.
q The display screen shall have 256 color resolution.
q The display screen shall also support touchscreen facility.
q The speakers shall support Yamaha codecs.
q The keypad shall consist of 16 tactile keys.
q There shall be 8 tactile function keys.
q The keyboard will be weather resistant.
q The transaction receipt shall be 3.1" × 6".
q The statement receipt shall be 4.2" × 12".
q The deposit envelopes shall be 9" long and 4" wide.
There are various hardware components with which the machine is required to
interact. Various hardware interface requirements that need to be fulfilled for
successful functioning of the software are as follows:-
q The ATM power supply shall have a 10/220 V AC manual switch.
o Width - 85.47mm-85.72mm
o Height - 53.92mm-54.03mm
o Thickness - 0.76mm+0.08mm
q The card reader shall be a magnetic stripe reader
q The slot for a card in thye card reader may include an extra indentation for
the embossed area of the card. In effect it acts as a polarization key and
may be used to aid the correct insertion orientation of the card. This is an
additional characteristic to the magnetic field sensor which operates off
the magnetic stripe and is used to open a mechanical gate on devices such
as ATMs.
q There shall be a 40 column dot matrix receipt printer.
q The receipt dispenser shall be a maximum of 4" width and 0.5" thickness.
In order to perform various different functions, this software needs to interact with
various other softwares. So there are certain software interface requirements that need
to be fulfilled which are listed as follows:-
q The transaction management software used to manage the transaction and
keep track of resources shall be BMS version 2.0.
q The card management software used to verify pin no and login shall be
CMS version 3.0.
q Yamaha codecs 367/98 for active speakers.
The machine needs to communicate with the main branch for each session for various
functions such as login verification, account access etc. so the following are the
various communication interface requirements that are needed to be fulfilled in order
to run the software successfully:-
q The system will employ dial-up POS with the central server for low cost
communication.
q The communication protocol used shall be TCP/IP.
4. System Features
Description
The system is designed to provide the user with the facility of remote banking and
perform various other functions at an interface without any aid of human bank teller. The
functioning of the system shall be as follows:-
At the start, the user is provided with a log in screen and he is required to
enter his PIN NO. and Account details which are then verified by the machine. In case of
an unsuccessful attempt a user is asked again for his credentials but the maximum
number of attempt given to the user is limited to 3 only, failing which his card is blocked
and need to be unblocked by the bank for any future use.
After a successful log in, the user is presented with a list of language. The
user can select any one in the list for interaction with the machine for the entire session.
After the language selection the user is also asked whether he wants to fix that language
for future use also so that he is never asked for language in future. In addition there is
also a facility for the user to switch to any other language during that session.
After the language selection, the user is directed towards a main page that
displays a set of options/services along with their brief description, enabling the user to
understand their functioning. The user can select any of the listed option and can
continue with the transaction.
The machine also provides the user with a number of miscellaneous services
such as:
The machine lists a set of operators that are supported by the bank. A user can
clear off his pending mobile phone bills be selecting his operator.
The machine also has the facility to display a map that marks the location of
other ATMs of the same bank in the city. This may help the user to look for the ATM
nearest to his destination.
At any moment if the user wants to abort the transaction, he is provided with
an option to cancel it. Just by pressing the abort button he can cancel all the changes
made so far and can begin with a new transaction.
After the user is finished with his work, for security purpose, he is required to
log out and then take his card out of the slot.
Validity Checks
In order to gain access to the system, the user is required to enter his/her correct
user id/pin no and account no failing which his card may be blocked.
The user can access only one account at a time and can enter only one account no.
Also if the user is an administrator, he is required to enter his login id in order to
access and change the facilities provided by the system.
Sequencing Information
The information about the users and their account should be entered into the database
prior to any of the transactions and the backup be maintained for all account information
If any of the above validation/sequencing flow does not hold true, appropriate error
messages will be prompted to the user for doing the needful.
2. Receipt Generation
After ech transaction user has performed, a receipt is generated that contains all the information
about the transaction. The format of the generated receipt is as shown below:-
KPM BANK
Branch name/Id
(address)
Account No:-
User Name:-
TRANSACTIONS:
The following list provides a brief summary of the performance requirements for the software:
5.1.1 Capacity
q The ATM shall provide customers a 24 hour service.
q Credit card advance time must not exceed 6 sec. under normal traffic and
server and peak traffic and server workload.
5.2.1 Reliability
q The data communication protocol shall be such that it ensures reliability
and quality of data and voice transmission in a mobile environment. For
example, CDMA.
q The memory system shall be of non-volatile type.
5.2.2 Availability
q The product will have a backup power supply incase of power failures.
q Any abnormal operations shall result in the shutting down of the system.
5.2.3 Security
q The system shall be compatible with AIMS security standards.
q The system shall have two levels of security i.e. ATM card and pin
verification both authenticated by the CMS software.
q The Encryption standard used during pin transmission shall be triple DES.
q User should be provided with only three attempts for login failing which
his card needs to be blocked.
q There shall be a security camera installed near the ATM.
q The product cabinet cover shall be manufactured using Fiber glass for
security purposes.
5.2.4 Maintainability
q The system components i.e. modem, memory, disk, drives shall be easily
serviceable without requiring access to the vault.
q The system should have the mechanism of self-monitoring periodically in
order to detect any fault.
q The system should inform the main branch automatically as soon as it
detects any error. The kind of fault and the problem being encountered
should also be mentioned by the system automatically.
5.3 Business Rules
• The Administrator has the authority to fix the rules and regulations and to set or update
the policies as and when required.
• The staff at the bank performs the following:
a. Making the entries in the system regarding all the details of the bank account of
the user.
b. Keeping the bank account of the user updated as soon as changes are encountered
so that the data is in consistent state.
c. Blocking or seizing of the account of user on discovery of any illegal transaction.
d. Unblocking of ATM card that got blocked due to more than three unsuccessful
login attempt.
e. Blocking of a lost/stolen ATM card on complaint of the user, only if he presents
his verification and a FIR filed for that case.
f. Costantly monitor all the ATMs in the city to check whether any one of them is
encountering any fault.
g. Immediately correct any fault discovered in any of the ATM.
h. Maintain the backup of all the accounts for reliability purposes.
i. Rollback all the changes made in an account during whose transaction an ATM
got abnormal shutdown.
• In case of loss of the ATM card. The user has to lodge a First Investigation Report(FIR)
and present its one copy to bank officials for card blocking purposes.
• A log of the following annexures is generated by the system:
6 Other Requirements
None.
Appendix A: Glossary