se lab srs templete

Upload: varsha-malviya

Post on 03-Apr-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Se Lab Srs Templete

    1/17

    SoftwareRequirements Specification for Page 1

    Software Requirements Specificationfor

    Prepared by

    Group Name:

    Instructor: Course:

    Lab Section:

    Teaching Assistant:

    Date:

    Contents

    1 INTRODUCTION...........................................................................................................................................................2

    2 OVERALL DESCRIPTION...........................................................................................................................................4

    3 SPECIFIC REQUIREMENTS.......................................................................................................................................8

    4 OTHER NON-FUNCTIONAL REQUIREMENTS..................................................................................................14

  • 7/29/2019 Se Lab Srs Templete

    2/17

    SoftwareRequirements Specification for Page 2

    1 Introduction

    Document Purpose

    ThisDocumentdescribesthesoftwarerequirementsandspecification(SRS)Forand automated teller

    machine(ATM)network.TheDocument

    is

    intended

    for

    the

    customer

    and

    thedeveloper(designers,testers,maintainers).TheReaderisassumedto havebasicknowledgeof banking

    accountsandaccountservicesKnowledgeAnd understandingof UnifiedModelingLanguage(UML)

    Diagramsisalsorequired.

    Scope:

    Thesoftwaresupportsa computerizedbankingnetworkcalledBank24.TheNetwork enablescustomersto

    completesimplebankaccountservicesviaautomatedtellermachines(ATMs)Thatmaybelocated

    off premiseandthatneednotbeownedandoperatedbythecustomersbank.TheATMIdentifiesa

    customerbyacashcardandpassword.It Collectsinformationabout asimpleaccount

    transaction(e.g.,deposit,withdrawal,transfer,billpayment),communicatesthetransaction

    informationtothecustomersbank, anddispensescash tothecustomer.TheBanksprovidetheirown

    softwarefortheirowncomputers.TheBank24Softwarerequiresappropriaterecordkeepingand

    securityprovisions.The Softwaremusthandleconcurrentaccessesto thesameaccountcorrectly.

    Intended Audience and Document Overview

    The Intendedaudienceof this SRSConsistsof:Softwaredesigners

    Systems

    engineers

  • 7/29/2019 Se Lab Srs Templete

    3/17

    SoftwareRequirements Specification for Page 3

    Software

    developers

    Software

    testers

    Customer

    < Definitions, Acronyms and AbbreviationTERMS

    1.ATM

    2.C-Requirements

    3.D-Requirements

    4.Data-flow

    5.GBE

    6.GUI7.SRS

    8.State transition

    9.Use-case

    DESCRIPTIONS

    ATM is an acronym for automated tellermachineCustomer requirements-Requirementsspecified and easily understood by thecustomer.Developer requirements-A detaileddescription of the product requirements assupplied to the developer

    A diagram that shows the flow of databetween processing elementsGBE is an acronym for our clients titleGreatest bank everGUI is an acronym for graphical userinterfaceSRS is an acronym for software requirementspecification

    A diagram that shows the flow of theprogram from one status to the anotherA diagram used to describe the way acustomer interacts with the system

    Document Convention

    Account: A Single account at 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.

    MaxDailyWD: The Maximum amount of cash that a customer can withdraw from an account in a

    day (from 00:00 AM To 23:59PM) Via ATMs.,PIN: It Refers To Personal Identification Number. Used

    To identify and validate the logic of an ATM user.

    References and Acknowledgments

    Software Engineering- An Object Oriented Prespective by Eric J.Braude

  • 7/29/2019 Se Lab Srs Templete

    4/17

    SoftwareRequirements Specification for Page 4

    2 Overall Description

    The application is to be fully-functional bank software. It will consist of a few different modules.The first module is to be a software application that can be used by bank customers as in an ATM.This application will allow the user to deposit funds, withdraw funds, check balance, and transferfunds.The second module is to be a software application that is used within the bank by the bank tellersand managers. This application will allow everything the ATM allows as well as some additionalfeatures. These features include: account creation, account deletion, loan approval, customerrecords, and reports.Both pieces of software will be linked to a central bank server. This server will handle multiplethreads and will therefore allow for simultaneous access of multiple users. It will provide for user

    authentication and will store all data

    Product PerspectiveThe product is banking software similar in functionality to the software run in most banks. Thereporting feature is also similar to the reports available in Intuit QuickBooks and Quicken.

    2.1.1 Concept of Operations

  • 7/29/2019 Se Lab Srs Templete

    5/17

    SoftwareRequirements Specification for Page 5

    The bank software will allow for two different methods of operation. The first method of operationwill be through an ATM terminal. This operation is performed by the user. The user will beallowed to deposit funds, withdraw funds, check balance, and transfer funds. It will all be donethrough a simple, easy to use graphic user interface. It will implement the standard buttons foundon a standard ATM machine.The second part of the banking software is the bank operations software. It will run through a PCand will be manipulated by a bank teller or manager via keyboard and mouse. This will allow for aBANK SYSTEM Overall Description Page 5 of 35different type of GUI. Instead of a series of consecutive screens operated by ATM buttons thissoftware will all be organized around a menu bar. All functions will be accessible at any timethrough a menu bar at the top of the screen. These functions include: authenticating, depositingfunds, withdrawing funds, checking balance, requesting account creation, authorizing accountcreation, requesting loans, authorizing loans, and generating reports. The users will be classifiedinto two different categories: Bank managers and bank officers. This classification determineswhat access privileges the user has.

    2.1.2 Major User Interfaces

    A screen-flow diagram shows the flow of screens as the user interacts with the system. For theATM screen-flow diagram please see Appendix A. For the teller software please see appendix C.

    2.1.2.1 Example Screenshot and description

    Screenshots are provided to demonstrate what screens the user will see. Rough diagrams of theATM screens can be seen in Appendix B. Rough diagrams for the teller software can be seen inAppendix D.

    2.1.3 Hardware InterfacesThe ATM system will operate using the standard hardware available in an ATM. This includes ascreen, card reader, receipt printer, keypad, and a few simple input buttons.The Teller software will operate using the standard I/O hardware available in a desktop PC.Hardware will run through the keyboard, mouse, monitor, and printer.

    2.1.4 Software Interfaces// example: CGI-URL or function signatures etc (OMIT for now).

    2.1.5 Communication Interfaces// example: modem etc (OMIT for now)

    2.1.6 Memory Constraints// RAM, and other storage constraints (OMIT for now)BANK SYSTEM Overall Description Page 6 of 35

    2.1.7 Operations// special operations (if any) (OMIT for now)

    2.18 Site Adaptation Requirements: //ex: Japanese language etc (OMIT for now)

    Product Functionality

  • 7/29/2019 Se Lab Srs Templete

    6/17

    SoftwareRequirements Specification for Page 6

    The software should support a computerized banking network. Each bank provides its owncomputer to maintain its own accounts and process transactions againstthemAutomatic teller machines communicate with the banks computers.Anautomatic teller machine accepts a cash card interacts with the usercommunicates with the bank computer to carry out the transaction dispenses cashand prints receipts. The system requires appropriate record keeping and security

    provisions. The system must handle concurrent access to the same accountCorrectly. The banks will provide their own software for their own computers. Thecost of the shared system will be apportioned to the banks according to the numberof customers with cash cards.

    Users and Characteristics

    The typical bank customer will be a person, from the age of 10 and up. There will more than likelybe a fairly equal distribution of males and females. The typical customer will probably use theATM a couple of times a week. The typical custom er might not know anything about computers,so their system needs to be very simple and easy to use. The typically customer will probably be abusy person; therefore, they will need to do their transactions as quickly and efficiently as possible.The other user is a bank employee. The bank employee will be a different type of user. The bank

    employee is a fairly educated user, who is willing to sacrifice simplicity for functionality. Theywill use the software daily, for every transaction. This could quite possibly be 30-60 transactionsper hour per employee. Due to this frequency of usage stability and speed of this software is

    incredibly important.

    Operating Environment

    The hardware,software and technology used should have following specifications:

    1. The ability to read the ATM card.

    2. Ability to count the currency notes.

    3. Touch screen for convenience

    4. Keypad(in case touch fails) .

    5. Continous power supply

    6. Ability to connect to banks network.

    7. Ability to take input from user.

    8. Ability to validate user.

    Design and Implementation Constraints

    LoginValidate Bank CardValidate for Card Expiration DateValidate that the card's expiration date is later than today's date

    If card is expired, prompt error message "Card is expired"Validate for Stolen or Lost CardValidate that the card is not reported lost or stolenIf card is lost, prompt error message, "Card has been reported lost"If card is stolen, prompt error message, "Card has been reported stolen"Validate for Disabled CardValidate that the card is not disabledIf card is disabled, prompt error message, "Card has been disabled as of "Validate for Locked Account

  • 7/29/2019 Se Lab Srs Templete

    7/17

    SoftwareRequirements Specification for Page 7

    Validate that the account is not lockedIf account is locked, prompt error message "Account is locked"Validate PINValidate that the password is not blankIf PIN is blank, prompt error message "Please provide PIN"Validate that the password entered matches the password on fileIf password does not match, prompt error message "Password isIncorrect"Lock AccountIf number of consecutive unsuccessful logins exceeds three attempts, lockaccountMaintain Consecutive Unsuccessful Login CounterIncrement Login Counter

    User Documentation

    Assumptions and Dependencies

    // hardware and software assumptions and dependencies...

  • 7/29/2019 Se Lab Srs Templete

    8/17

    SoftwareRequirements Specification for Page 8

    3 Specific Requirements

    3.1 External Interface Requirements

    3.1.1 User Interfaces

    Hardware Interface

    The ATM network has to provide hardware interfaces tovarious printersvarious ATM machines There are several companies producing the ATMmachines__several types of networks The exact speci_cation of the hardware interfaces is notpartof this document

    Software Interfaces

    The ATM network has to provide software interfaces to

    the software used by different banksdifferent network software

    The exact,detailed specifcation of the software interfaces is not part of this document.

    .>

    Communications Interfaces

    There is no restriction of the ATM network to a specifc network protocol as long as theperformance requirements are satisfied.

    Functional RequirementsFunctional requirement 1Description

    Initialize parameters t,k,m,nInputATM is initialized with t dollars k,m,n are entered

    ProcessingStoring the parameters

    OutputParameters are set.Functional requirement 2

    DescriptionIf no cash card is in the ATM,the system should display initial display.

  • 7/29/2019 Se Lab Srs Templete

    9/17

    SoftwareRequirements Specification for Page 9

    Functional requirement 3Description

    If the ATM is running out of money, no card should be accepted. An error message isDisplayed.

    InputA card is entered.

    ProcessingThe amount of cash is less than t.

    OutputDisplay an error message. Return cash card.AuthorizationThe authorization starts after a customer has entered his card in the ATM.Functional requirement 3

    DescriptionThe ATM has to check if the entered card is a valid cash card.

    InputCustomer enters the cash card.

    ProcessingCheck if it is a valid cash card. It will be valid if

    the information on the card can be read.it is not expiredOutput

    Display error message and return cash card if it is invalid.Functional requirement 4

    DescriptionIf the cash card is valid, the ATM should read the serial number and bank code.

    InputValid cash card.

    ProcessingRead the serial number.

    OutputInitiate authorization dialogFunctional requirement 6.

    DescriptionThe serial number should be logged.

    InputSerial number from cash card

    ProcessingLog the number.

    OutputUpdate to log file.Functional requirement 7

    DescriptionAuthorization dialog The user is requested to enter his password.The ATM verifiesthe bank code and password with the bank computer

    InputPassword from user, bank code from cash card.

    ProcessingSend serial number and password to bank computer ,receive response from bank.

    OutputAccept or reject authorization from bank.Functional requirement 8

    DescriptionDifferent negative answers from bank computer for authorization dialogue

    Input

  • 7/29/2019 Se Lab Srs Templete

    10/17

    SoftwareRequirements Specification for Page 10

    Response from bank or authorization dialog_bad password_ if the password was wrong__bad bank code_ if the cash card of the bank is not supported by the ATM__bad account_ if there are problems with the account_Processing

    If the ATM gets any of these messages from the bank computer_ the card will be ejectedand the user will get the relevant error message_

    OutputCard is ejected and error message is displayed_Functional requirement _

    DescriptionIf password and serial number are ok_ the authorization process is _nished_

    InputThe ATM gets accept from the bank computer from authorization process_

    ProcessingFinishing authorization

    _Output

    Start transaction dialogFunctional requirement _

    DescriptionIf a card was entered more than three times in a row at any ATM and the passwordwas wrong each time_ the card is kept by the ATM_ A message will be displayed thatthe customer should call the bank_

    InputEntering a wrong password for the fourth time in succession

    ProcessingInitiate authorization process_ Response from bank computer is to keep the card_

    OutputDisplay error message that the customer should call the bank_FunctionsThese are the requirements for the di_erent functions the ATM should provide after autho_rization_Functional requirement

    DescriptionThe kind of transactions the ATM o_ers is withdrawal

    InputAuthorization successfully completed_ Enter the amount to withdraw_

    ProcessingAmount entered is compared with m_

    OutputAmount of money to be dispensed is displayed_ Begin initial withdrawal sequence_Functional requirement _

    DescriptionInitial withdrawal sequence If it is too much withdrawal redo the transaction_

    InputCustomer has entered the amount of money_

    ProcessingError if the amount is greater than m_

    OutputStart transaction or re_initiate transaction dialog if the amount is not within the pre_de_ned transaction policy_

    _Functional requirement _

    DescriptionPerform transaction_

    Input

  • 7/29/2019 Se Lab Srs Templete

    11/17

    SoftwareRequirements Specification for Page 11

    Initial withdrawal sequence successfulProcessing

    Send request to the bank computer_Output

    Wait for response from the bank computer_Functional requirement _

    DescriptionIf the transaction is successful_ the money is dispensed_

    InputATM gets message _transaction succeeded_ from the bank computer_

    ProcessingATM prints receipt_ updates t and ejects the card_ Dialog Customer should take thecard_

    OutputAfter the Customer has taken the card the money is dispensed_Functional requirement _

    DescriptionIf the money is dispensed_ the amount is logged

    InputThe number of ___ bills requested is dispensed to the customer_

    ProcessingLog the amount of money against the serial number of the card_

    OutputAmount logged together with the serial number_ Response sent to bank for moneydispensed_Functional requirement _

    DescriptionIf the transaction is not successful_ an error message should be displayed_ The cardshould be ejected_

    InputATM gets message _transaction not successful_ from the bank computer__Processing

    ATM displays error message_ Dialog Customer should take the card_Output

    Eject card_____ Requirements of the bank computer for the ATM

    AuthorizationThe bank computer gets a request from the ATM to verify an account_Functional requirement

    DescriptionThe bank computer checks if the the bank code is valid_ A bank code is valid if thecash card was issued by the bank_

    InputRequest from the ATM to verify card Serial number and password_

    ProcessingCheck if the cash card was issued by the bank_

    OutputValid or invalid bank code_Functional requirement _

    DescriptionIf it is not a valid bank code_ the bank computer will send a message to the ATM_

    InputInvalid bank code

    ProcessingProcess message

    Output

  • 7/29/2019 Se Lab Srs Templete

    12/17

    SoftwareRequirements Specification for Page 12

    The bank computer sends the message _bad bank code_ to the ATM_Functional requirement _

    DescriptionThe bank computer checks if the the password is valid for a valid cash card_

    InputRequest from the ATM to verify password_

    ProcessingCheck password of the customer_

    OutputValid or invalid password_

    Functional requirement _Description

    If it is not a valid password_ the bank computer will send a message to the ATM_Input

    Invalid passwordProcessing

    Process message_ Update count for invalid password for the account_Output

    The bank computer sends the message _bad password_ to the ATM_

    Functional requirement _Description

    If it is a valid cash card and a valid password but there are problems with the account_the bank will send a message to the ATM that there are problems_

    InputValid cash card and password

    ProcessingProcess message

    OutputThe bank sends _bad account_ to the ATM_Functional requirement _

    DescriptionIf it is a valid cash card_ a valid password and there are no problems with the accountthe bank computer will send a message to the ATM that everything is ok

    InputValid cash card_ password and account

    ProcessingProcess message_

    OutputSend _account ok_ to the ATM_TransactionThe bank computer gets a request to process a transaction from the ATM__

    Functional requirement _Description

    After a request the bank computer processes the transaction_Input

    Request to process a transaction on an account and amount m to withdraw_Processing

    Process transaction together with the software of the bank__ Update k for amountOutput

    If transaction succeeded_ the bank computer sends the message _transaction succeeded_to the ATM_ If not_ it will send _transaction failed__Functional requirement

    DescriptionUpdate account after money is dispensed

    Input Response from ATM about money dispensed_

  • 7/29/2019 Se Lab Srs Templete

    13/17

    SoftwareRequirements Specification for Page 13

    ProcessingUpdates account

    OutputNew account recordFunctional requirement _

    DescriptionEach bank has a limit k for each account about the amount of money that is availablevia cash card each day monthly_

    InputRequest to process transaction_

    ProcessingCheck if the amount of money doesn_t exceed k

    OutputIf the amount exceeds the limit_ the transaction will fail_Functional requirement _

    Description

    3.2 Behaviour Requirements

    3.2.1 Use Case View

  • 7/29/2019 Se Lab Srs Templete

    14/17

    SoftwareRequirements Specification for Page 14

    4 Other Non-functional Requirements

    Performance Requirements

    Performance RequirementsPerformance requirement 1

    DescriptionError message should be displayed at least 30 sec.Performance Requirement 2

    DescriptionIf there is no response from the bank computer after a request within 2 minutes thecard is rejected with an error message.Performance Requirement 3

    DescriptionThe ATM dispenses money if and only if the withdrawal from the account is processedand accepted by the bank.Performance Requirement 4

    Description

    Each bank may be processing transactions from several ATMs at the same time

    Safety and Security Requirements

    Safety Requirements:

    1. Must be safe kept in physical aspects,say in a cabin.

    2. Must be bolted to floor to prevent any kind of theft.

    3. Must have an emergency phone outside the cabin.

    4. The cabin door must have an ATM card swipe out

    5. The cabin door will always be locked.which will open only when user swipes his/her ATM

    card in the slot and validated as genuine.

    Security Requirements

    1. Users accessibility is censured in all the ways.2. Users are advised to change there PIN on first use.

    3. Users are advised not to tell their PIN to anyone4. The maximum number of attempts to enter PIN will be three

    Software Quality Attributes3.5.1 Reliability

    3.5.1.1 [Mandatory] The system shall save the data stored in the user data structures once everyfive minutes.

    3.5.1.2 [Mandatory] The system shall save the data of an active user whenever that user has justcompleted a deposit transaction.

    3.5.1.3 [Mandatory] The system shall save the data of an active user whenever that user has justcompleted a withdraw transaction.

    3.5.1.4 [Mandatory] The system shall save the data of an active user whenever that user has justcompleted a transfer funds transaction.

    3.5.1.5 [Mandatory] The system shall save the data of an active user whenever a new user iscreated.

  • 7/29/2019 Se Lab Srs Templete

    15/17

    SoftwareRequirements Specification for Page 15

    3.5.1.6 [Mandatory] The system shall save the data of an active user whenever a new account iscreated.

    3.5.1.7 [Mandatory] The system shall save the data of an active user whenever a user passwordis changed.

    3.5.1.8 [Preferred] The system shall not save on a check balance transaction.

    3.5.1.9 [Mandatory] The system shall reboot itself automatically if there is a power failure andrestore all saved data to the user accounts.

    3.5.2 Availability

    OTHER REQUIREMENTS

  • 7/29/2019 Se Lab Srs Templete

    16/17

    SoftwareRequirements Specification for Page 16

    Appendix A Data Dictionary

  • 7/29/2019 Se Lab Srs Templete

    17/17

    SoftwareRequirements Specification for Page 17

    Appendix B - Group Log