re concepts, system & context boundaries, elicitation...

Post on 21-Jun-2020

13 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

RE Concepts, System & Context Boundaries,

Elicitation, Stakeholders

Lecture 2, DAT230, Requirements EngineeringRobert Feldt, 2012-09-05

onsdag 5 september 12

• Software Engineering is more than technology

• RE in particular: human-centered => multi-disciplinary

• RE mistakes very costly

• No matter which process: Requirements still key

• Engineers focus on solutions - RE on problem domain

• Constant “battle” - never enough time/resources

• RE is more than writing requirements

• Req = need/characteristic/property of system

• Types: Functional, Quality/NFR, Dev Constraints

Recap

onsdag 5 september 12

Basic concepts and activities

onsdag 5 september 12

onsdag 5 september 12

onsdag 5 september 12

SWEBOK

onsdag 5 september 12

SWEBOK

http://swebok.org

onsdag 5 september 12

SWEBOK

http://swebok.org

Purpose: Consensus definition of what SE is

and is not

onsdag 5 september 12

onsdag 5 september 12

onsdag 5 september 12

onsdag 5 september 12

onsdag 5 september 12

onsdag 5 september 12

SWEBOK KA1.1.1 Definition

onsdag 5 september 12

SWEBOK KA1.1.1 Definition

Req = property a SW must exhibit to solve real-world problem

onsdag 5 september 12

SWEBOK KA1.1.1 Definition

Req = property a SW must exhibit to solve real-world problem

Reqs must be verifiable

onsdag 5 september 12

SWEBOK KA1.1.1 Definition

Req = property a SW must exhibit to solve real-world problem

Reqs must be verifiable

Reqs often have other attributes like priority rating

onsdag 5 september 12

SWEBOK KA1.1.1 Definition

Req = property a SW must exhibit to solve real-world problem

Reqs must be verifiable

Reqs often have other attributes like priority rating

Reqs have unique identifier for configuration control and management

throughout lifecycle

onsdag 5 september 12

SWEBOK KA1.1.2 Product & Process Reqs

onsdag 5 september 12

SWEBOK KA1.1.2 Product & Process Reqs

Product Req = req on software to be developed

onsdag 5 september 12

SWEBOK KA1.1.2 Product & Process Reqs

Product Req = req on software to be developed

Process Req = development constraint

onsdag 5 september 12

SWEBOK KA1.1.2 Product & Process Reqs

Product Req = req on software to be developed

Process Req = development constraint

SWEBOK KA1.1.3 FR & NFR

Functional Req describes functions of SW

Non-Functional Reqs constrain the solution (also called Constraints or Quality Reqs)

onsdag 5 september 12

SWEBOK KA1.1.4 Emergent Properties

onsdag 5 september 12

SWEBOK KA1.1.4 Emergent Properties

Some reqs represent Emergent Properties

onsdag 5 september 12

SWEBOK KA1.1.4 Emergent Properties

Some reqs represent Emergent Properties

EPs cannot be satisfied by single component, determined by how all components interoperate

onsdag 5 september 12

SWEBOK KA1.1.4 Emergent Properties

Some reqs represent Emergent Properties

EPs cannot be satisfied by single component, determined by how all components interoperate

SWEBOK KA1.1.5 Quantifiable

Reqs stated clearly, unambiguously & quantitatively

onsdag 5 september 12

SWEBOK KA1.1.5 Quantifiable

onsdag 5 september 12

SWEBOK KA1.1.5 Quantifiable

Reqs stated clearly, unambiguously & quantitatively

onsdag 5 september 12

SWEBOK KA1.1.5 Quantifiable

Reqs stated clearly, unambiguously & quantitatively

Should not rely on subjective judgment

onsdag 5 september 12

SWEBOK KA1.1.5 Quantifiable

Reqs stated clearly, unambiguously & quantitatively

Should not rely on subjective judgment

“The software shall be reliable”

onsdag 5 september 12

SWEBOK KA1.1.5 Quantifiable

Reqs stated clearly, unambiguously & quantitatively

Should not rely on subjective judgment

“The software shall be reliable”

“The software should be user-friendly”

onsdag 5 september 12

SWEBOK KA1.1.5 Quantifiable

Reqs stated clearly, unambiguously & quantitatively

Should not rely on subjective judgment

“The software shall be reliable”

“The software should be user-friendly”

“The call center software must increase the center’s throughput by

20%”

onsdag 5 september 12

SWEBOK KA1.1.5 Quantifiable

Reqs stated clearly, unambiguously & quantitatively

Should not rely on subjective judgment

“The software shall be reliable”

“The software should be user-friendly”

“The call center software must increase the center’s throughput by

20%”

“The probability of a fatal error during one hour of operation should

be less than 10^-8”

onsdag 5 september 12

SWEBOK KA1.1.6 System & Software Reqs

onsdag 5 september 12

SWEBOK KA1.1.6 System & Software Reqs

System = interacting combination of elements to accomplish a given objective

onsdag 5 september 12

SWEBOK KA1.1.6 System & Software Reqs

System = interacting combination of elements to accomplish a given objective

Elements include hardware, software, firmware, people, information, techniques, facilities, services

and other support elements

onsdag 5 september 12

SWEBOK KA1.1.6 System & Software Reqs

System = interacting combination of elements to accomplish a given objective

Elements include hardware, software, firmware, people, information, techniques, facilities, services

and other support elements

System reqs are for the system as a whole

onsdag 5 september 12

SWEBOK KA1.1.6 System & Software Reqs

System = interacting combination of elements to accomplish a given objective

Elements include hardware, software, firmware, people, information, techniques, facilities, services

and other support elements

System reqs are for the system as a whole

A system with software components has software requirements

onsdag 5 september 12

onsdag 5 september 12

onsdag 5 september 12

SWEBOK KA1.2.1 Process Models

onsdag 5 september 12

SWEBOK KA1.2.1 Process Models

Req Process is NOT discrete front-end activity

onsdag 5 september 12

SWEBOK KA1.2.1 Process Models

Req Process is NOT discrete front-end activity

Req Process configuration manages all reqs

onsdag 5 september 12

SWEBOK KA1.2.1 Process Models

Req Process is NOT discrete front-end activity

Req Process configuration manages all reqs

Req Process needs adaptation to organization and project context

onsdag 5 september 12

SWEBOK KA1.2.1 Process Models

Req Process is NOT discrete front-end activity

Req Process configuration manages all reqs

Req Process needs adaptation to organization and project context

Req Process includes input activities like marketing and feasability studies

onsdag 5 september 12

SWEBOK KA1.2.2 Process Actors

onsdag 5 september 12

SWEBOK KA1.2.2 Process Actors

Req specialist must mediate between domain of stakeholder and that of SE

onsdag 5 september 12

SWEBOK KA1.2.2 Process Actors

Req specialist must mediate between domain of stakeholder and that of SE

User = operates the software

onsdag 5 september 12

SWEBOK KA1.2.2 Process Actors

Req specialist must mediate between domain of stakeholder and that of SE

User = operates the software

Customer = commisioned software or is target market

onsdag 5 september 12

SWEBOK KA1.2.2 Process Actors

Req specialist must mediate between domain of stakeholder and that of SE

User = operates the software

Customer = commisioned software or is target market

Market analysts = establish market or are proxy customers

onsdag 5 september 12

SWEBOK KA1.2.2 Process Actors

Req specialist must mediate between domain of stakeholder and that of SE

User = operates the software

Customer = commisioned software or is target market

Market analysts = establish market or are proxy customers

Regulators = establish regulations sw must comply with

onsdag 5 september 12

SWEBOK KA1.2.2 Process Actors

Req specialist must mediate between domain of stakeholder and that of SE

User = operates the software

Customer = commisioned software or is target market

Market analysts = establish market or are proxy customers

Regulators = establish regulations sw must comply with

SW Engs job to negotiate trade-offs; not all stakeholders can be perfectly satisfied

onsdag 5 september 12

What is Req Elicitation?

onsdag 5 september 12

“The art of determining the needs of stakeholders”

What is Req Elicitation?

onsdag 5 september 12

“The art of determining the needs of stakeholders”

“The process of discovering the requirements for a system by communication with

stakeholders and through the observation of them in their domain”

What is Req Elicitation?

onsdag 5 september 12

What are the “Other sources”?

• Stakeholders are key but also DOMAIN knowledge

• Problem/application domain

• What is the problem? Who can explain it?

• Process descriptions? Mission statements?

• History

• Previous & current systems/solutions

• Documentation, Old reqs & designs

onsdag 5 september 12

• Competitors

• Is/are there a (partial) solution(s) out there?

• Environment

• Other systems?

• Processes to be supported? Processes that influence?

• Organizational descriptions?

What are the “Other sources”?

onsdag 5 september 12

Limits for Elicitation work?

onsdag 5 september 12

What is a stakeholder?

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

System

affect

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

System

Support affect

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

System

Support affect

info & tasks

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

System

Support affect

info & tasks

Client

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

System

Support affect

info & tasks

Client

products

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

System

Support affect

info & tasks

Client

products

Satellites

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

System

Support affect

info & tasks

Client

products

Satellites interacts

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

Users - operate the SW

Developers - develop the SW

Legislators - constrains the SW

Decision-makers - takes decisions

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

Users - operate the SW

Developers - develop the SW

Legislators - constrains the SW

Decision-makers - takes decisions

Frequent users, occasional users, future & past users, users of products from sw

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

Users - operate the SW

Developers - develop the SW

Legislators - constrains the SW

Decision-makers - takes decisions

Frequent users, occasional users, future & past users, users of products from sw

Developers, Analysts, Designers, QA, Maintainers, Trainers, Project managers

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

Users - operate the SW

Developers - develop the SW

Legislators - constrains the SW

Decision-makers - takes decisions

Frequent users, occasional users, future & past users, users of products from sw

Developers, Analysts, Designers, QA, Maintainers, Trainers, Project managers

Government, Community, Trade unions, Legal representatives, Standard bodies (ISO, IEEE),

Auditors (TUV)

onsdag 5 september 12

Stakeholder Identification [Sharp1999]

Baseline

Users - operate the SW

Developers - develop the SW

Legislators - constrains the SW

Decision-makers - takes decisions

Frequent users, occasional users, future & past users, users of products from sw

Developers, Analysts, Designers, QA, Maintainers, Trainers, Project managers

Government, Community, Trade unions, Legal representatives, Standard bodies (ISO, IEEE),

Auditors (TUV)

Dev & user managers, Financial managers/controllers

onsdag 5 september 12

1. Identify all relevant groups of baseline stakeholders

2. Identify all relevant roles within each baseline group

3. For each baseline role:

1. Who supplies information to this role? Who performs supporting tasks? => Support stakeholders

2. Who processes or inspects products from this role? => Client

3. Who interacts with this role in other ways? => Satellite

4. Repeat 3 above for newly found stakeholders

5. Consider relations between identified stakeholders: “in charge of”, “supports”, “is crucial to”, “provides info for”, ...

Stakeholder Identification [Sharp1999]

onsdag 5 september 12

• Who are the stakeholders?

• Do we have access to them?

• What are their expectations and interests?

• What are their influence and role in project?

Stakeholder Analysis

onsdag 5 september 12

Stakeholder Analysis

Rainbow diagram

onsdag 5 september 12

• Expectations and interests

• Personal: Work or Family focus, Job satisfaction, Org satisfaction, Improving knowledge, Sufficient appreciation, Workload/Responsibility

• Social: Peer recognition, Cover incompetence, Sponsorships, Undermining, On the move, Power hierarchies

• Material: Money, Tools, Office, Travels

Stakeholder Analysis

onsdag 5 september 12

top related