week 5 - lecture 1 - fundamental of re

24
Requirements Engineering CT056-3-2 Fundamentals of Requirements Engineering Lecture 5

Upload: ashi-sharma

Post on 04-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 1/24

Requirements Engineering

CT056-3-2

Fundamentals of Requirements

EngineeringLecture 5

Page 2: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 2/24

CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Topic & Structure of the lesson

• Subcomponents of Requirements Engineering

• Consequences of Good and Bad requirements

•  Attributes of requirements specifications

• Good Practices of Requirements Engineering

‹#› 

Page 3: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 3/24

Page 4: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 4/24

CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Key Terms you must be able to use

• If you have mastered this topic, you should

be able to use the following terms correctly

in your assignments and exams:

 – RE management

 – RE development

• Elicitation

•  Analysis

• Specification

• validation

‹#› 

Page 5: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 5/24

CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Subcomponents of requirements

engineering

Requirements Engineering 

Requirements

Development 

Requirements Mgt 

Elicitation  Analysis  Specification  Validation 

‹#› 

Page 6: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 6/24

Page 7: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 7/24

Page 8: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 8/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Every Projects Has Requirements

"The hardest single part of building a software system is deciding

precisely what to build. No other part of the conceptual work is as

difficult as establishing the detailed technical requirements, including

all the interfaces to people, to machines, and to the software

systems. No other part of the work so cripples the resulting system ifdone wrong. No other part is more difficult to rectify later".

Fred Brooks, "No Silver Bullet :Essence and Accidents of SE",

IEEE Computer,1987 Author of The Mythical Man-mon

‹#› 

Page 9: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 9/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Consequences of bad requirements

• Reworks – redoing something, can cost 30 – 50% of

total development cost (Boehm and Papaccio 1998)

• Requirements errors account for 70 -85% of rework cost

(Leffingwell 1997)• Bad requirements pose risks to project success

‹#› 

Page 10: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 10/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Common requirements risk

• Insufficient user involvement – Developers don’t stress the importance of user involvement 

• Creeping User requirements –  Additional requirements far exceeds what were not budgeted or planned for

•  Ambiguous requirements – Requirement statements can be interpreted in many ways

• Gold plating – Developer adds functionalities which were not in the original requirements specification

• Minimal Specification – Outlined specs, lacking details

• Overlooked user classes – Some users needs overlooked

• Inaccurate Planning – Vaguely defined requirements, results in optimistic estimates

‹#› 

Page 11: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 11/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Benefits of good requirements

• Fewer requirements defects

• Reduced development reworks

• Fewer unnecessary features

• Lower enhancement costs

• Faster development

• Fewer miscommunications

• Reduced scope creep

‹#› 

Page 12: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 12/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Characteristics of Excellent

Requirements statements

• Requirements statements must be:-

 – Complete – fully describe functionality

 – Correct – accurately describe functionality to be built

 – Feasible – possible to implement, attainable – Necessary –really needed by the customer

 – Prioritized – implementation priority for requirements

 – Unambiguous – requirements with one single

interpretation

 – Verifiable – tests can be devised or other forms

verification available

‹#› 

Page 13: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 13/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Requirements specification characteristics

• Complete –no missing requirements or

necessary information

• Consistent – no conflict among requirements

• Modifiable – requirements revisions possible

and history of revision maintained.

• Traceable – traceable requirements can be

linked backward to its origins and forward to thedesign element

‹#› 

Page 14: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 14/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Requirements from theCustomer’s Perspective 

‹#› 

Page 15: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 15/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Requirements from customers

perspective

• Who are customers?

 – Individuals or organization who have benefits from a

product

• The one who request, specify, select , use, receive outputsfrom a software product

• They provide the business requirements

• Effectively collaborate with developers to derive successful

products

• Ones who sign off indicating approval of requirements

‹#› 

Page 16: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 16/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Good Practices for RE

There are approximately 50 practices grouped into seven

categories :-

1. Knowledge

2. Requirements Management3. Project Management

4. Elicitation

5. Analysis

6. Specification

7. Validation

‹#› 

Page 17: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 17/24CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Good Practices for RE

-Knowledge

• Train requirements analyst

• Educate user reps and manager

about requirements

• Train developers in application

domain

• Create a glossary

‹#› 

Page 18: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 18/24

CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

• Define change control process

• Establish change control board

• Perform change impact analysis• Baseline and control versions of requirements

• Maintain change history

• Track requirements status

• Measure requirements volatility

• Use a requirements management tool

• Create requirements traceability matrix

Good Practices for RE

-Req. Management

‹#› 

Page 19: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 19/24

CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

• Select the appropriate life cycle

• Base plans on requirements

• Renegotiate commitments

• Manage requirements risk

• Track requirements efforts

• Review past lessons learned

Good Practices for RE

-Project Management

‹#› 

Page 20: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 20/24

CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

• Define requirements evelopment process

• Define vision and scope

• Identify user classes

• Select product champions• Establish focus groups

• Identify use case

• Identify system events and responses

• Hold facilitated elicitation workshops

• Observe user performing jobs

• Examine problem reports

• Reuse requirements

Good Practices for RE

-Elicitation

‹#› 

Page 21: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 21/24

Page 22: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 22/24

CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

•  Adopt SRS templates

• Identify sources of requirements

• Uniquely label each requirement• Record business rules

• Specify quality attributes

Good Practices for RE

-Specification

‹#› 

Page 23: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 23/24

CT056-3-2 Requirements Engineering Fundamentals of Requirements Engineering

Good Practices for RE

-Validation 

• Inspect requirements document

• Test the requirements

• Define acceptance criteria

‹#› 

Page 24: Week 5 - Lecture 1 - Fundamental of RE

8/13/2019 Week 5 - Lecture 1 - Fundamental of RE

http://slidepdf.com/reader/full/week-5-lecture-1-fundamental-of-re 24/24

References

• Software Requirements; Karl E. Wiegers;

2nd Edition; 2003