Chapter 6: Software Requirements - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Chapter 6: Software Requirements

Description:

The process of finding out, analyzing, documenting, and checking these services ... Requirement amalgamation. Several different requirements may be expressed ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 35
Provided by: embioYo
Category:

less

Transcript and Presenter's Notes

Title: Chapter 6: Software Requirements


1
Chapter 6 Software Requirements
  • Yonsei University
  • 2nd Semester, 2009
  • Sanghyun Park

2
Contents
  • Functional and non-functional requirements
  • User requirements
  • System requirements
  • Software requirement document

3
What Is A Requirement?
  • The descriptions of the _______ and _________ of
    the system to be developed
  • The process of finding out, analyzing,
    documenting, and checking these services and
    constraints is called __________ engineering

4
Types Of Requirements (1/2)
  • User requirements
  • High-level abstract description of system
    services and constraints
  • Written for _________
  • System requirements
  • Detailed description of what the system should do
  • Written for senior technical staff and project
    ________
  • Software specification
  • Detailed software description which can serve as
    a basis for a design and implementation
  • Written for _________

5
Types Of Requirements (2/2)
  • Functional requirements
  • Statements of ________ the system should
    provide,how the system should react to
    particular inputs, andhow the system should
    behave in particular situations
  • Non-functional requirements
  • _________ on the services or functions offered by
    the system such as timing constraints,
    constraints on the development process,
    standards, etc.
  • Domain requirements
  • Requirements that come from the application
    _______ of the system and that reflect
    characteristics of that domain

6
Functional Requirements
  • Describe the functionality or services that the
    system is expected to provide
  • Depend on the type of software, expected users,
    and type of system where the software is used
  • Functional user requirements may be ____-level
    statements of what the system should do
  • Functional system requirements should describe
    the system services in _____

7
Examples Of Functional Requirements
  • University library system
  • The user shall be able to search either ___ of
    the initial set of databases or select a ______
    from it
  • The system shall provide appropriate ______ for
    the user to read documents in the document store
  • Every order shall be allocated a unique
    identifier (ORDER_ID) which the user shall be
    able to copy to the accounts permanent storage
    area

8
Requirement Imprecision
  • Problems arise when requirements are not _______
    stated
  • __________ requirements may be interpreted in
    different ways by developers and users
  • Consider the term appropriate viewers
  • User intention special purpose viewer for each
    different document type
  • Developer interpretation provide a text viewer
    that shows the contents of the document

9
Completeness And Consistency
  • In principle, the functional requirements should
    be both complete and consistent
  • Completeness means that ___ services required by
    the user should be defined
  • Consistency means that requirements should not
    have _____________ definitions
  • For large and complex systems, it is _________
    impossible to achieve requirement consistency and
    completeness

10
Non-Functional Requirements
  • Define system _________ and __________
  • Process requirements may also be specified
    __________ a particular CASE system, programming
    language, or development method
  • Non-functional requirements may be more ________
    than functional requirementsif these are not
    met, the system is useless

11
Non-Functional Requirement Types
Non-functionalrequirements
Organizationalrequirements
Productrequirements
Externalrequirements
Efficiencyrequirements
Reliabilityrequirements
Portabilityrequirements
Interoperabilityrequirements
Ethicalrequirements
Usabilityrequirements
Deliveryrequirements
Implementationrequirements
Standardsrequirements
Legislativerequirements
Performancerequirements
Spacerequirements
Privacyrequirements
Safetyrequirements
12
Metric For SpecifyingNon-Functional Requirements
  • Non-functional requirements are sometimes
    difficult to ______
  • Ideally, non-functional requirements should be
    expressed ___________ using metrics

13
Domain Requirements
  • Derived from the application _______ and describe
    system characteristics and features that reflect
    the domain
  • May be new functional requirements, constrain
    existing requirements, or define how particular
    computations must be carried out
  • If domain requirements are not satisfied, the
    system may be ___________

14
Domain Requirement Problems
  • Understandability
  • Requirements are expressed in the language of the
    ___________ domain
  • This is often not understood by software
    engineers developing the system
  • Implicitness
  • Domain specialists understand the area so well
    that they do not think of making the domain
    requirements _______

15
User Requirements
  • High-level abstract description of system
    services and constraints written for customers
  • Defined using ________ language, tables and
    diagrams

16
Problems With Natural Language
  • Lack of clarity
  • _________ is difficult without making the
    document difficult to read
  • Requirement confusion
  • Functional and non-functional requirements tend
    to be _______
  • Requirement amalgamation
  • Several different requirements may be expressed
    ________

17
Editor Grid Requirement
  • 2.6 Grid facilities
  • To assist in the positioning of entities on a
    diagram,the user may turn on a grid in either
    centimeters or inches, via an option on the
    control panel.Initially, the grid is off. The
    grid may be turned on and off at any time during
    an editing session and can be toggled between
    inches and centimeters at any time.A grid
    option will be provided on the reduce-to-fit view
    but the number of grid lines shown will be
    reduced to avoid filling the smaller diagram with
    grid lines.

18
Requirement Problems
  • The first sentence of editor grid requirement
    mixes three different kinds of requirements
  • _________ functional requirement (the need for a
    grid)
  • Non-functional requirement (detailed information
    on grid _____, centimeters or inches)
  • Non-functional UI requirement(how the grid is
    switched on and off by the user)
  • The user requirement should simply focus on the
    ____ facilities to be provided
  • The _______ associated with the requirements is
    also important

19
Editor Grid Requirement (Revised)
  • 2.6 Grid facilitiesThe editor shall provide a
    grid facility where a matrix of horizontal and
    vertical lines provide a background to the editor
    window. This grid shall be a passive grid where
    the alignment of entities is the users
    responsibility.Rationale A grid helps the user
    to create a tidy diagram with well-spaced
    entities. Although an active grid, where entities
    snap-to grid lines can be useful, the
    positioning is imprecise. The user is the best
    person to decide where entities should be
    positioned.

20
Guidelines ForWriting User Requirements
  • Invent a _________ format and ensure that all
    requirement definitions adhere to that format
  • Use language in a _________ wayuse shall for
    mandatory requirementsuse should for
    desirable requirements
  • Use text __________ to identify key parts of the
    requirements
  • Avoid use of _________ jargon

21
System Requirements
  • More ______ specifications of user requirements
  • Serve as a basis for ________ the system
  • In principle, the system requirements should
    state _____ the system should do and not ___ it
    should be implemented
  • Natural language is often used to write system
    requirements however further ________ with
    natural language can arise

22
Problems With NL Specification
  • Ambiguity
  • The readers and writers of the requirement must
    interpret the ____ words in the ____ wayNL is
    naturally ambiguous so this is very difficult
  • Over-flexibility
  • The ____ thing may be said in a number of
    ________ ways in the specification
  • Lack of modularization
  • NL structures are __________ to structure system
    requirements

23
Alternatives To NL Specification
  • Structured natural language
  • Design description language
  • Graphical notations
  • Mathematical specifications

24
Structured Natural Language
  • The freedom of the requirement writer is limited
    by a predefined _________ for requirements
  • The advantage is that the most of the
    ____________ of natural language is maintained
    but a degree of _________ is imposed on the
    specification
  • Often best supported using a form-based approach

25
Form-Based Specification
  • Definition of the ______ or entity being
    specified
  • Description of ______ and where they come from
  • Description of ______ and where they go
  • Indication of other entities required
  • Pre and Post __________ (if appropriate)
  • The _____ effects (if any) of the function

26
Form-Based Specification Example
27
Tabular Specification
  • Used to supplement natural language
  • Particularly useful when there are a number of
    possible _________ situations and we need to
    describe the ______ to be taken for each of these

28
Tabular Specification Example
Action
Condition
Sugar level falling (r2 lt r1)Sugar level stable
(r2 r1) Sugar level increasing and rate
ofincrease decreasing ((r2-r1) lt (r1-r0)) Sugar
level increasing and rate ofincrease stable or
increasing ((r2-r1) (r1-r0))
CompDose 0CompDose 0 CompDose
0 CompDose round ((r2-r1)/4)If rounded
result 0 thenCompDose MinimumDose
29
Graphical Models
  • Most useful when we need to show how _____
    changes or where we need to describe a ________
    of actions
  • Different graphical models are explained in
    Chapter 8

30
Sequence Diagram Of ATM Withdrawal
ATM
Database
Card
Card number
Card OK
PIN request
PIN
Validate card
Option menu
ltltexceptiongtgt
invalid card
Withdraw request
Balance request
Balance
Amount request
Handle request
Amount
Debit (amount)
Debit response
ltltexceptiongtgt
insufficient cash
Card
Card removed
Completetransaction
Cash
Cash removed
Receipt
31
Software Requirement Document
  • The software requirement document is the official
    statement of what the system developers should
    implement
  • It should include both the user requirements for
    a system and a detailed specification of the
    _______ requirements
  • It is NOT a ______ document. As far as possible,
    it should set out WHAT the system should do
    rather than HOW it should do it

32
Users Of A Requirement Document
Specify the requirements andread them to check
that theymeet their needs. Customersspecify
changes to therequirements.
Systemcustomers
Use the requirementdocuments to plan a bid
forthe system and to plan thesystem development
process.
Managers
Systemengineers
Use the requirements tounderstand what system
isto be developed.
System testengineers
Use the requirements todevelop validation tests
forthe system.
Systemmaintenanceengineers
Use the requirements tounderstand the system
andthe relationships between itsparts.
33
IEEE Requirement Standard
  • IEEE standard suggests the following structure
    for requirement documents
  • Introduction
  • General description
  • Specific requirements
  • Appendices
  • Index

34
Requirement Document Structure
  • Preface
  • Introduction
  • Glossary
  • User requirement definition
  • System architecture
  • System requirement specification
  • System models
  • System evolution
  • Appendices
  • Index
Write a Comment
User Comments (0)
About PowerShow.com