Requirements Evaluation in Software Engineering: A Comprehensive Guide, Lecture notes of Software Engineering

Software Requirement Engineering

Typology: Lecture notes

2019/2020

Uploaded on 11/02/2020

hui-ching-lim
hui-ching-lim 🇲🇾

5 documents

1 / 55

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CHAPTER 4
Requirements Evaluation
Source of PP slides :
- Lamsweerde, A. V. 2011. Requirements Engineering: From System goals
to UML Models to Software Specification. 2nd ed.Wiley.
- Weigers, K. And Beatty, J. 2013. Software Requirements. 3rd edn.
Microsoft Press.
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37

Partial preview of the text

Download Requirements Evaluation in Software Engineering: A Comprehensive Guide and more Lecture notes Software Engineering in PDF only on Docsity!

CHAPTER 4

Requirements Evaluation

Source of PP slides :

- Lamsweerde, A. V. 2011. Requirements Engineering: From System goals to UML Models to Software Specification. 2 nd **ed.Wiley.

  • Weigers, K. And Beatty, J.** 2013. Software Requirements. 3 rd edn. Microsoft Press.

Lesson Objectives

  • (^) To understand the concept of

Inconsistency Management

  • (^) To explain the activities involved in Risk

Analysis and Risk Management

  • (^) Differentiate qualitative and qualitative risk

assessment techniques

  • (^) Evaluating alternative options for decision

making

  • (^) To understand what is Requirements

Prioritization

Introduction

  • (^) Requirement evaluation - Negotiation-based decision making

involved : (as introduced in Chapter 1 ...)

Identification & resolution of inconsistencies Identification, assessment & resolution of system risks Comparison of alternative options, selection of preferred ones Requirements prioritization

Requirements evaluation: outline

  • (^) Inconsistency management
    • (^) Types of inconsistency
    • (^) Handling inconsistencies
    • (^) Managing conflicts: a systematic process
  • (^) Risk analysis
    • (^) Types of risk
    • (^) Risk management
    • (^) Risk documentation
    • (^) DDP: quantitative risk management for RE
  • (^) Evaluating alternative options for decision making
  • (^) Requirements prioritization

Types of inconsistency in RE

  • (^) Terminology clash: same concept named differently in

different statements

e.g. “Participating” & “Attending” meeting

  • (^) Designation clash: same name for different concepts in

different statements

e.g. participant in a meeting - participating full meeting till ends

  • participating partial meeting
  • (^) Structure clash: same concept structured differently in

different statements

e.g. “latest return date” - as time point i.e FRI, 5pm

  • as time interval i.e. FRI

Types of inconsistency in RE (2)

  • (^) Strong conflict: statements not satisfiable together
    • (^) i.e. logically inconsistent: S , not S e.g. “participant constraints may not be disclosed to anyone” vs “the meeting initiator should know participant constraints”
  • (^) Weak conflict (divergence): statements not satisfiable together

under some boundary condition

  • (^) i.e. strongly conflicting if B holds: potential conflict
  • (^) MUCH more frequent in RE e.g. (staff’s viewpoint) “patrons shall return borrowed copies within X weeks” vs. (patron’s viewpoint) “patrons shall keep borrowed copies as long as needed” B: “a patron needing a borrowed copy more than X weeks”

Managing conflicts: a systematic process

Step 1 : Identifying Overlapping Statements

  • (^) Overlap = reference to common terms or phenomena
    • (^) precondition for conflicting statements
    • (^) e.g. gathering meeting constraints, determining schedules Identify overlapping statements Detect conflicts among them, document these Generate conflict resolutions Evaluate resolutions, select preferred

Managing conflicts: a systematic process

Step 2 : Detect Conflicts & Document Them

  • (^) Conflict detection can be done by...
    • (^) informally
    • (^) using heuristics on conflicting req categories
      • (^) “Check information req & confidentiality req on related objects”
      • (^) “Check reqs on decreasing & increasing related quantities”
    • (^) using conflict patterns
    • (^) formally Identify overlapping statements Detect conflicts among them, document these Generate conflict resolutions Evaluate resolutions, select preferred

Managing conflicts: a systematic process (2)

  • (^) Step 3 : Generate Conflicts Resolutions
  • (^) For optimal resolution, better to ...
    • (^) explore multiple candidate resolutions first ,
    • (^) compare , select/agree on most preferred next
  • (^) To generate candidate resolutions, use ...
    • (^) elicitation techniques (interviews, group sessions) – as discussed in previous chapter
    • (^) resolution tactics – let’s discuss in next slide Identify overlapping statements Detect conflicts among them, document these Generate conflict resolutions Evaluate resolutions, select preferred

Conflict resolution tactics

(Refer to the example of library system discussed earlier….)

  • (^) Avoid boundary condition
    • (^) e.g. “Keep copies of highly needed books unborrowable”
  • (^) Restore conflicting statements
    • (^) e.g. “Copy returned within X weeks and then borrowed again”
  • (^) Weaken conflicting statements
    • (^) e.g. “Copy returned within X weeks unless explicit permission”
  • (^) Drop lower-priority statements
  • (^) Specialize conflict source or target
    • (^) e.g. “Book loan status known by staff users only

Managing conflicts: Q & A

  • (^) Will we stop the managing conflicts process

after completing step 4 (as discussed in

previous slides)???

  • (^) Answer…
  • (^) It depends… we may need to go through the process due to error, incompleteness, new conflicts caused by new requirements(because of business environment changes), etc… Identify overlapping statements Detect conflicts among them, document these Generate conflict resolutions Evaluate resolutions, select preferred

Requirements evaluation: outline

  • (^) Inconsistency management
    • (^) Types of inconsistency
    • (^) Handling inconsistencies
    • (^) Managing conflicts: a systematic process (overview)
  • (^) Risk analysis
    • (^) Types of risk
    • (^) Risk management
    • (^) Risk documentation
    • (^) DDP: quantitative risk management for RE
  • (^) Evaluating alternative options for decision making
  • (^) Requirements prioritization

Types of RE risk

  • (^) Product-related risks: negative impact on functional or non-

functional objectives of the system

=> failure to deliver services or quality of service

e.g.1: failure to generate monthly sales report

e.g.2: security threats, safety hazards

  • (^) Process-related risks: negative impact on development

objectives

=> delayed delivery, cost overruns, ...

e.g. personnel turnover

RE risk management

  • (^) Risk management is iterative
  • (^) Poor risk management is a major cause of software

failure

what system- specific risks? likely? severe, likely consequences? countermeasur es as new reqs

Risk

identification

Risk

assessment

Risk

control