Chat with us, powered by LiveChat important concepts of the chapter | Wridemy

important concepts of the chapter

Need to write about 2 pages (1.5 line spacing and 11 or 12 font size) of summary of chapter, so that it contains:

(part 1) important concepts of the chapter

(part 2) experience/application/opinions of the chapter.  

Due Sep 12, 11:59pm, PT…………20 hours left

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 capability that must be met by a system…to satisfy a contract…”

 “A documented representation of a condition or capability in part 1 or 2”

9

Requirements are a specification that should be implemented.

They are descriptions of how the system should behave , or a systems property or attribute.

They may be a constraint to the development process of the system

(Summerville)

10

1.4 Types and Levels of Requirement

 Functional Requirement Description of a behavior that the system

will show under a specific condition.

It is influenced by:  Business Requirements (vision and scope)  User Requirements (use cases)  System Requirements (when there are

multiple subsystems)

11

12

13

 Nonfunctional Requirement

Description of a property or characteristic that a system must exhibit or restriction/constraint it must respect.

 Quality Attributes (performance, availability, security, usability, integrity, efficiency, robustness)

 Constraints (limits on choices)

14

What’s Excluded?

 No design or implementation detail

◦ It’s too early, the “what” isn’t finished ◦ It’s too limiting, designers need freedom

 No project planning (it’s not the right place)

 No testing information (but testers will use requirements to determine test goals)

15

1.5 Requirement Engineering (Development and Management)

16

1.5.1 Development involves 4 activities

 Elicitation

 Identifying user classes

 Bringing out needs from representative users

 Understanding their tasks and goals

 Understanding the related business objectives

17

Analysis

 Distinguish task goals from functional and nonfunctional requirements, rules, suggestions, extraneous information

 Allocate top-level requirements to architecture components

 Understand importance of quality attributes

 Negotiate priorities

18

 Specification

 Translate user needs into written specifications and models

Validation  Review documented requirements

◦ Ensure common understanding between user and developer

◦ Correct problems before development starts

19

1.5.2 Requirements Management

It involves:

 “Establishing and maintaining an agreement with the customer…”

 Follows the Requirements Development activity

 Maintain a controlled baseline

20

Some Activities are:  Defining baseline—snapshot of current

agreement  Reviewing change proposals, evaluating impact

before approval  Incorporating changes in controlled way  Keeping project plan current  Negotiating new commitments (cost, schedule)  Tracing individual requirements to design, code,

test ◦ Ensure that everything needed is included ◦ Prevent unwanted features from appearing

 Tracking status and change activity ◦ Know what’s proposed, in-work, finished ◦ Know the trends

21

22

1.6 Critical Role of Requirement

 There Are Always Requirements

 Even for internal projects, there’s still a user group with needs and goals

23

 Consequences of Bad Requirements

 Rework—doing the design, the code, the testing over (and over, and over, and …)

 Cost of rework grows as discovery time becomes later

24

 Causes and Effects of Bad Requirements

 Insufficient user involvement

◦ leads to late-breaking requirements ◦ delays project completion

 Creeping user requirements

◦ frequent changes too easily accepted by developers

◦ no adherence to vision and scope ◦ architecture stability decays

25

 Ambiguous requirements

◦ Multiple interpretations ◦ Different expectations by stakeholders ◦ Developers waste time filling in details

 Gold-plating

◦ Developers add features to impress customer ◦ May add little value, but still cost time and

money, detracting from actual needs

26

 Minimal specifications

◦ Saving writing time costs design and implementation time

 Overlooked users

◦ Unknown stakeholders aren’t heard until very late, when they say the system’s not usable

 Inaccurate planning

◦ Poorly understood requirements lead to optimistic over-commitment

27

Benefits of Good Requirements

 Fewer defects

 Less rework

 Faster development

 Better estimates

 Less chaos

 Higher satisfaction for user and developer

28

 Excellent Requirements

 Complete

◦ No missing details; use TBD to flag gaps in knowledge

 Correct

◦ From a credible user, preferably several  Feasible

◦ Avoid impossible (and extremely difficult) requirements

◦ Use incremental development, prototypes to evaluate questionable requirements

29

 Necessary ◦ Make sure user has authority

 Prioritized ◦ Prepare for trade-offs, problems later in

project  Unambiguous ◦ Ensure single, consistent interpretation by all

readers ◦ Define specialized terms, avoid software

jargon  Verifiable ◦ Correctness of un-testable requirements

depends on opinion, not objective evidence

30

 Excellent Specification

 Complete

◦ No missing features ◦ Focused on user tasks, not system functions

 Consistent

◦ No conflicts between functional or nonfunctional requirements

 Originator recorded, to enable resolution when needed

 Modifiable

◦ Revised with change history ◦ Each requirement uniquely identified

 Traceable

31

END

32

Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

Do you need an answer to this or any other questions?

About Wridemy

We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.

How It Works

To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Are there Discounts?

All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.

Hire a tutor today CLICK HERE to make your first order

Related Tags

Academic APA Writing College Course Discussion Management English Finance General Graduate History Information Justify Literature MLA