l19 slides 4up

Upload: asha-koshti

Post on 29-May-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 l19 Slides 4up

    1/11

    SE 1: Software RequirementsSpecification and Analysis

    Lecture 19: SRS

    Jo Atlee

    http://www.student.cs.uwaterloo.ca/cs445/Fall2006

    uw.cs.cs445

    U Waterloo SE1 (Fall 2006) p.1/41

    Announcements

    The Nortel lab will be unavailable

    Monday, November 27th: 8:30am-9:30amWednesday, November 28th: 8:30am-9:30amFriday, November 30th: 8:30am-9:30am and2:30pm-3:30pm

    Friday office hours will be moved to Thursdays for thenext two weeks (Nov. 23, Nov. 30):Fri. 10-11:30 Thus. 3:30-5

    No Friday office hours Dec. 7.

    U Waterloo SE1 (Fall 2006) p.2/41

    Refresher: Requirements Process

    U Waterloo SE1 (Fall 2006) p.3/41

    Todays Agenda

    Software requirements specifications (SRS)

    IEEE standard for organizing an SRS

    SE1 project SRS expectationsRequired Reading:

    IEEE Recommended Practice for SRSs, 1998(available from an on-campus machine via the course web

    page)

    Lecture includes some excerpts fromRequirements document for an automated teller machine network

    http:/www.cs.umd.edu/projects/SoftEng/ ESEG/manual/error_abstraction/docs/atm.ps

    U Waterloo SE1 (Fall 2006) p.4/41

  • 8/8/2019 l19 Slides 4up

    2/11

    SRSs

    The IEEE Recommended Practice for SoftwareRequirements Specifications (RPSRS):

    Describes what information should go in an SRS

    How the information should be arranged

    Provides several sample outlines for an SRS

    U Waterloo SE1 (Fall 2006) p.5/41

    SRS Contents

    The main issues that the SRS should address are

    Functionality

    External interfaces

    Performance

    Quality attributesDesign constraints

    Not process requirementsNot design decisions

    U Waterloo SE1 (Fall 2006) p.6/41

    IEEE SRS OrganizationTable of Contents

    Table of Figures

    1. Introduction

    1.1 Purpose

    1.2 Scope

    1.3 Definitions, acronyms, abbreviations

    1.4 References

    1.5 Overview

    2. Overall description

    2.1 Product perspective

    2.2 Product functions

    2.3 User characteristics

    2.4 Constraints

    2.5 Assumptions and dependencies

    3. Specific requirements /* variable organization */

    AppendicesIndex

    U Waterloo SE1 (Fall 2006) p.7/41

    Section 1: Introduction

    This section is an introduction to your SRS document, as wellas to the system under development.

    1.1 Purpose

    Purpose of the SRS

    Who is the intended audience of this document?

    How it is to be used(e.g. contract between vendor and customer?)

    .25-.5 pages

    U Waterloo SE1 (Fall 2006) p.8/41

  • 8/8/2019 l19 Slides 4up

    3/11

    Purpose

    This document describes the software requirements and

    specification for an automated teller machine (ATM) network. The

    document is intended for the customer and the developer

    (designers, testers, maintainers).

    The reader is assumed to have basic knowledge of banking ac-

    counts and account services. Knowledge and understanding of UML

    diagrams is also required.

    U Waterloo SE1 (Fall 2006) p.9/41

    Section 1: Introduction

    1.2 Scope

    Name of the software product

    Overview of the product what it will and will not do

    Summary of the application of the software, includingbenefits, goals

    The boundaries of the product description

    .25-.5 pages

    U Waterloo SE1 (Fall 2006) p.10/41

    Scope

    The software supports a computerized banking network called

    YouBank. The network enables customers to complete simple bank-

    account services via automated teller machines (ATMs) that may be

    located off premise and that need not be owned and operated by thecustomers bank. The ATM identifies a customer by a cash card and

    password. It collects information about a simple account transaction

    (e.g., deposit, withdrawal, transfer, bill payment), communicates the

    transaction information to the customers bank, and dispenses cash

    to the customer. The banks provide their own software for their own

    computers. The YouBank software requires appropriate record keep-

    ing and security provisions. The software must handle concurrent

    accesses to the same account correctly.

    U Waterloo SE1 (Fall 2006) p.11/41

    Section 1: Introduction

    1.3 Acronyms, Abbreviations, Definitions, NotationalConventions

    Non-project specific definitions used throughout the

    specification. Project-related definitions should be in theGlossary.

    Notational conventions for any deviations from the UMLnotation. If you deviate from the standard in any way, youneed to describe the notation you are using, otherwisethe reader will not understand your specification.

    U Waterloo SE1 (Fall 2006) p.12/41

  • 8/8/2019 l19 Slides 4up

    4/11

    Definition vs. Abbreviation

    Definition:

    Account

    A single account at a bank against which transactions can be

    applied. Accounts may be of various types with at leastchecking and savings. A customer can hold more than one

    account.

    Abbreviation:

    maxDailyWD

    The maximum amount of cash that a customer can withdraw

    from an account in a day (from 00:00 AM to 23:59 PM) via

    ATMs.

    U Waterloo SE1 (Fall 2006) p.13/41

    Section 1: Introduction

    1.4 References

    Your sources of information, such as the projectdocuments and any documentation you have from your

    customer sessions (minutes of your meetings). If yourspecification has information from other sources (e.g., atextbook on telephony), you should reference thosesources.

    1.5 Overview

    Brief description of the structure of the rest of the SRS

    U Waterloo SE1 (Fall 2006) p.14/41

    Overview

    The rest of this document is organized as follows. Section 2

    contains a general description of the ATM network software

    requirements. Section 3 identifies the specific requirements,

    including external interfaces, use cases, functional requirements,

    and behavioral requirements. The document concludes with an

    appendix of glossary terms.

    Appendices consist also of minutes of customer interviews and

    meetings, and do not constitute additional requirements of the

    software; all requirements arising from these minutes have been

    incorporated into the specific requirements in Section 3.

    U Waterloo SE1 (Fall 2006) p.15/41

    Section 2: Overall Description

    This section gives an overall description of the system underdevelopment, including general factors that affect the productand its requirements.

    2.1 Product Perspective

    The environment of the system, such as any hardware orsoftware components that interact with the system.

    Include a context diagram

    U Waterloo SE1 (Fall 2006) p.16/41

  • 8/8/2019 l19 Slides 4up

    5/11

    Product Perspective

    U Waterloo SE1 (Fall 2006) p.17/41

    Product Perspective

    The ATM network does not work independently. It works together

    with the banks computers and the software run by the networks

    banks.

    Communication interface

    The ATMs communicate with the banking systems via acommunication network; the protocol used is specified in [Ref1].

    Software interface

    The messages sent via the communication network are specific to

    the target banking software systems. At present, two known

    banking systems will participate in the ATM network. The interfaces

    to these systems are specified in [Ref2], and [Ref3].

    Hardware interface

    The software will run on an ATM computer yet to be chosen.

    U Waterloo SE1 (Fall 2006) p.18/41

    Product PerspectiveUser 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.U Waterloo SE1 (Fall 2006) p.19/41

    Section 2: Overall Description

    2.2 Product Features

    An overview of the systems main features

    A textual list of use cases, at the level of overviews ofuse-case descriptions, is sufficient.

    U Waterloo SE1 (Fall 2006) p.20/41

  • 8/8/2019 l19 Slides 4up

    6/11

    Section 2: Overall Description

    2.3 User Characteristics

    Document any assumptions you make about the user andany assumptions you make about the background or howmuch training the user will need to use the system.

    For example, you could build different user interfaces forknowledgeable and novice users.

    Only consider user characteristics that affect the softwarerequirements

    U Waterloo SE1 (Fall 2006) p.21/41

    User Characteristics

    There are several users of the ATM network:

    Customers are simply members of the general public with no

    special training.

    Bank security personnel need have no special education orexperience.

    Maintainers must be experienced network administrators, to be

    able to connect new ATMs to the network.

    U Waterloo SE1 (Fall 2006) p.22/41

    Section 2: Overall Description

    2.4 General Constraints

    Sources of other constraints on requirements

    regulatory policies

    hardware limitationsparallel operationaudit functionscontrol functionscriticality of the applicationsafety and security considerationsstandardslaws

    U Waterloo SE1 (Fall 2006) p.23/41

    Section 2: Overall Description

    2.5 Assumptions and Dependencies

    Assumptions about input, or environmental behavior

    Ex: hardware never fails

    Ex: ATM casing is impenetrable

    Ex: limited number of transactions per day (sufficient paper

    for receipts)

    Ex: limited amount of money withdrawn per day (sufficient

    money)

    What conditions could cause the system to fail?

    What changes in the environment, could cause changesto the software requirements?

    U Waterloo SE1 (Fall 2006) p.24/41

  • 8/8/2019 l19 Slides 4up

    7/11

    Section 3: Specific Requirements

    This section of the SRS should contain all of the softwarerequirements and specification.

    At a minimum, it should include descriptions of

    Every input (stimulus) into the system

    Every output (response) from the system

    All functions performed by the system

    validity checks on inputsrelationship of outputs to inputsresponses to abnormal situations (e.g., overflow, errorhandling)

    Input and output definitions should be consistent among usecases, functional specifications, state machine diagrams, andUIs.

    U Waterloo SE1 (Fall 2006) p.25/41

    Section 3: Specific Requirements

    3.1 External Interfaces

    Detailed descriptions of all inputs and outputs

    Name of input (or output)Description of purpose

    Source of input or destination of outputValid range, accuracy, and/or toleranceUnits of measureTimingRelationships to other inputs/outputsScreen formats/organizationWindow formats/organizationData formatsCommand formats

    U Waterloo SE1 (Fall 2006) p.26/41

    Output variable

    U Waterloo SE1 (Fall 2006) p.27/41

    Section 3: Specific Requirements

    3.2 Functional Requirements

    Use case descriptions

    Sequence diagramsDomain Model

    Functional Specifications

    StateMachine model

    Constraints

    U Waterloo SE1 (Fall 2006) p.28/41

  • 8/8/2019 l19 Slides 4up

    8/11

    Section 3: Specific Requirements

    3.3 Performance Requirements

    number of terminals to be supported

    number of simultaneous users to be supported

    amount and type of information to be handled

    number of transactions to be processed within a set timeperiod

    normal workload conditionspeak workload conditions

    3.4 Design Constraints

    3.5 Quality Attributes

    nonfunctional properties (besides performance),expressed as testable constraints

    U Waterloo SE1 (Fall 2006) p.29/41

    Nonfunctional Table

    U Waterloo SE1 (Fall 2006) p.30/41

    Traceability

    For each functional requirement R, its table entry shows :

    Related Requirements: a list of the requirement numbers

    of requirements that are related to R - i.e., the FRs andNFRs related to R through the fact that they fulfill Rspreconditions.

    Source: the source of R, e.g., the customer and customersession number; the project description document,section number, and paragraph number; domain expertswhom you know; your own home phone, etc. (Fullyannotate any abbreviated document name before thehead of the table.),

    U Waterloo SE1 (Fall 2006) p.31/41

    Appendix A: Glossary

    The glossary serves as a central place to give a briefdescription of each term (class, attribute, function). Theglossary is a simplified version of what is often called a datadictionary in requirements.

    For more details see "SE1: Software Requirements andSpecification Course Project" document.

    U Waterloo SE1 (Fall 2006) p.32/41

  • 8/8/2019 l19 Slides 4up

    9/11

    Index

    The index maps each important word or phrase to thenumbers of all pages in which it appears. When combinedwith the glossary, cross-referencing is easy.

    class nameattribute name

    functional or non-functional requirement name

    use case name

    U Waterloo SE1 (Fall 2006) p.33/41

    Section 3 Organization

    U Waterloo SE1 (Fall 2006) p.34/41

    Section 3 Organization

    U Waterloo SE1 (Fall 2006) p.35/41

    Section 3 Organization

    U Waterloo SE1 (Fall 2006) p.36/41

  • 8/8/2019 l19 Slides 4up

    10/11

    SE1: Section 3.1 External Interfaces

    3.1 External Interfaces

    GUI

    navigation map

    screen shotspurpose of each UI widget

    GUI events (input or output)

    Mapping between GUI inputs (and outputs) andfunctional requirements inputs (outputs)

    Hardware interface events

    Mapping between hardware inputs (outputs) andfunctional requirements inputs (outputs)

    U Waterloo SE1 (Fall 2006) p.37/41

    SE1: Section 3.2.1 Use Cases

    3.2.1 Use Cases

    Include an updated use case diagram.

    Include only the use-case descriptions and alternative

    flows that correspond to your functional specifications.These should be updated with respect to customerfeedback on first deliverable.

    Include no sequence diagrams

    Input and output definitions have to be consistent amonguse cases, system sequence diagrams, UIs, and all otherartifacts.

    U Waterloo SE1 (Fall 2006) p.38/41

    SE1 SRS3.2.2 Domain Model

    Include an updated domain model from the third deliverable

    3.2.3 Functional Specifications

    Include updated functions from the third deliverable

    3.2.4 State Machines

    Include updated state machines from the second deliverable

    3.3 Performance

    3.4 Design Constraints

    3.5 Quality Attributes

    Appendix Glossary (no index) U Waterloo SE1 (Fall 2006) p.39/41

    SE1 SRS

    Required!

    Give an English introduction to each diagram. Dont rephrase

    the entire diagram in English. Give just enough information tohelp the reader understand the diagram.

    U Waterloo SE1 (Fall 2006) p.40/41

  • 8/8/2019 l19 Slides 4up

    11/11

    Todays Agenda

    Software requirements specifications (SRS)

    IEEE standard for organizing an SRS

    SE1 project SRS expectations

    Required Reading:

    IEEE Recommended Practice for SRSs, 1998(available from an on-campus machine via the course web

    page)

    Next Lecture: Validation and Verification

    Readings: Weinberg and Freedman (course pack)

    U Waterloo SE1 (Fall 2006) p.41/41