Site icon UK Essayz

Chapter 1: The Essential of Software Requirement

Chapter 1: The Essential of Software Requirement

1

© Karl E. Wiegers

Topics

1.1 Introduction

1.2 Difficulty of defining Requirements

1.3 Definition of Requirement

1.4 Types and levels of Requirement

1.5 Requirement Engineering

1.6 Critical Role of Requirement

(Bad and Good Requirement)

2

1.1 Introduction

Failure to understand

and

control requirements

is

the number 1 cause of project failure.

3

“The single hardest part of building a software system is deciding precisely what to build. … No other part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” Frederick Brooks in No Silver Bullet: Essence and Accidents of Software Engineering

4

? The Customer’s Frustration ? Using a product that doesn’t support an essential

task.

? Being at the mercy of a developer whose priorities may not be yours

5

? The Developer’s Frustration

• Learning of essential functions after system has been implemented •Being requested to modify a feature that is exactly what was asked for

? It involves the largest number of stakeholders

6

– Customers – Users – Requirements analysts – Developers – Testers – Document writers – Managers – Legal staff – Manufacturing staff – Support staff (sales, help desk,…)

1.2 Why is Difficult?

? Shortcomings of Requirements Gathering

? Informal gathering process

? Implied functionality

? Wrong or unspoken assumptions

? Inadequate (incomplete, ambiguous, conflicting) requirement specifications

? Casual change process—decisions not recorded, undesirable changes creep in

7

1.3 Definition of Requirement

?Informal Definitions

? External behavior and appearance of system

? “What should be implemented.”

? “System property or attribute, perhaps a constraint.”

8

More Formal Definitions (IEEE Glossary)

? “Condition or capability needed by a user to solve a problem or achieve an objective”

? “Condition or capa