You are on page 1of 6

Introduction

• Requirements form the basis for all


software products
Software Requirements Engineering
• Requirements engineering is the process,
which enables us to systematically
determine the requirements for a software
product

Requirement Software Requirements - 1

• Something required, something wanted or • A complete description of what the


needed software system will do without describing
– Webster’s dictionary how it will do it is represented by the
• There is a huge difference between software requirements
wanted and needed and it should be kept
in mind all the time

Software Requirements - 2 Software Requirements - 3

• Software requirements are complete • Software requirements may be:


specification of the desired external – Abstract statements of services and/or
behavior of the software system to be built constraints

• They also represent External behavior of


the system

1
Software Requirements - 4 IEEE Definition

• Software requirements may be: • A condition or capability that must be met


– Part of the bid of contract or possessed by a system...to satisfy a
– The contract itself contract, standard, specification, or other
– Part of the technical document, which formally imposed document
describes a product – IEEE

Sources of Requirements Levels of Software Requirements


• Stakeholders • Stakeholders describe requirements at
– People affected in some way by the system different levels of detail
• Documents – “What versus How”
• Existing system – “One person’s floor is another person’s ceiling”

• Domain/business area

Importance of Software Requirements Examples of Requirements - 1

• The hardest single part of building a • The system shall maintain records of all
software system is deciding what to payments made to employees on
build...No other part of the work so accounts of salaries, bonuses, travel/daily
cripples the resulting system if done wrong. allowances, medical allowances, etc.
No other part is difficult to rectify later
– Fred Brooks

2
Examples of Requirements - 2 Examples of Requirements - 3

• The system shall interface with the central • The system shall maintain records of all
computer to send daily sales and inventory library materials including books, serials,
data from every retail store newspapers and magazines, video and
audio tapes, reports, collections of
transparencies, CD-ROMs, DVDs, etc.

Examples of Requirements - 4 Examples of Requirements - 5

• The system shall allow users to search for • The system shall support at least twenty
an item by title, author, or by International transactions per second
Standard Book Number

• The system’s user interface shall be


implemented using a web browser

Kinds of Software Requirements

• Functional requirements
• Non-functional requirements
Kinds of Software Requirements • Domain requirements
• Inverse requirements
• Design and implementation constraints

3
Functional Requirements - 1

• Statements describing what the system


does
Functional Requirements
• Functionality of the system

Functional Requirements - 2 Functional Requirements - 3

• Statements of services the system should • Abnormal behavior is also documented as


provide functional requirements in the form of
– Reaction to particular inputs exception handling
– Behavior in particular situations

Functional Requirements - 4 Functional Requirements Example # 1

• Functional requirements should be • The system shall solve a quadratic


complete and consistent equation using the following formula

• Customers and developers usually focus x = (-b+sqrt(b2 – 4*a*c))/2*a


all their attention on functional
requirements

4
Functional Requirements Example # 2 Functional Requirements Example # 3

• The user shall be able to search either the • The system shall provide appropriate
entire database of patients or select a viewers for the user to read documents in
subset from it (admitted patients, or the document store
patients with asthma, etc.)

Functional Requirements Example # 4 Comments on Examples

• Every order shall be allocated a unique • Notice the level of detail in different
identifier (ORDER_ID) which the user shall requirements described above. Some are
use to access that order very detailed compared to others

Comments on Examples Comments on Examples

• Notice the ambiguity in the requirement, • Notice the ambiguity in the requirement for
which uses the term ‘appropriate viewers’ solving the quadratic equation. The
requirement does not speak about the
• This requirement does not mention the possibility when the value of ‘a’ is zero
formats of documents and types of
viewers, which can be used x = (-b+sqrt(b2 – 4*a*c))/2*a

5
Comments on Examples Requirements problems

• Incomplete and ambiguous requirements • The requirements don’t reflect the real
are open to multiple interpretations and needs of the customer for the system.
assumptions • Requirements are inconsistent and/or
incomplete.
• It is expensive to make changes to
• This can lead to the development of poor requirements after they have been agreed.
quality, or faulty, software products • There are misunderstandings between
customers, those developing the system
requirements and software engineers
developing or maintaining the system.

FAQS about requirements FAQs contd.

• What are requirements? • What happens when the requirements are


– A statement of a system service or constraint
wrong?
– Systems are late, unreliable and don’t meet
• What is requirements engineering? customers needs
– The processes involved in developing system • Is there an ideal requirements engineering
requirements process?
– No - processes must be tailored to organisational
• How much does requirements engineering cost? needs
– About 15% of system development costs • What is a requirements document?
• What is a requirements engineering process? – The formal statement of the system requirements
– The structured set of activities involved in developing • What are system stakeholders?
system requirements – Anyone affected in some way by the system

Summary References

• Requirements form the basis of all • ‘Requirements Engineering: Processes


software engineering projects and Techniques’ by G. Kotonya and I.
• Functional requirements capture the Sommerville, John Wiley & Sons, 1998
behavioral aspects/functions of the • Software Requirements: Objects,
proposed automated system Functions, and States by A. Davis, PH,
• Functional requirements are the backbone 1993
of all software products • Software Engineering 6th Edition, by I.
Sommerville, 2000
• Software Engineering 5th Edition, by R.
Pressman

You might also like