lecture: requirements engineering ws 2018/2019 · crowdsourcing as a model for problem solving: an...

42
© Fraunhofer IESE Lecture: Requirements Engineering WS 2018/2019 Summary Dr. Joerg Doerr

Upload: vuongkhanh

Post on 24-Aug-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

Lecture:Requirements EngineeringWS 2018/2019

Summary

Dr. Joerg Doerr

Page 2: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

2

Reflecting on RE …

Page 3: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

3

Topics

Basics of RE

Definitions

Phases

Standards

Page 4: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

4

Activities of Requirements Engineering

Elicitation

Identifying, gathering and consolidating of requirements from different sources and stakeholders

Specification

Systematically representing the elicited requirements in a certain quality

Validation & Negotiation

Checking whether the specified requirements reflect the actual stakeholder needs / goals / expectations

Management

Managing the existing requirements and their specifications over time

Note: Some publications distinguish five instead of four activitiesand add the analysis as an own activity.

Page 5: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

5

Requirements Document Standards (2)

Standards tackle different levels of abstraction:

Problem Clarification

IEEE 1362-1998

Volere Template

Basis for Development

IEEE 830-1998

Volere TemplateProblem

description

Developerrequirements

Userrequirements

IEEE 1362-1998Volere

IEEE 830-1998Volere

Page 6: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

6

Topics

Specification & Natural Language Requirements

Standards

Natural Language (Styleguide, Scenarios)

Use Cases

Sentence Pattern

Page 7: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

7

Characteristics of Good Requirements (Documents) according to IEEE 830

correct

unambiguous (only one possible interpretation)

complete (all functional and non-functional requirements, all system reactions and unintended inputs are specified)

consistent (no inconsistencies, consistent use of terminology)

ranked for importance

verifiable (measurable and „testable“)

modifiable (clear structure, overview, no redundancy)

traceable (to design/test but also internally in user/developer documents)

(understandable)

Page 8: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

8

Writing Guidelines for Requirements

Goal: Natural Language Requirements are easier to read and therefore easier to understand

Writing guidelines consider common problems, project-specific additions may be useful

Guidelines should be summarized into company-specific writing guidelines

Page 9: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

9

„Satzschablone“ of Chris Rupp (Controlled NL)

Page 10: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

10

Sentence Pattern in English…

Page 11: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

11

Topics

Conceptual Modeling

Requirements Analysis

Goal Modeling

UML

Page 12: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

12

Requirements Analysis as Part of Specification

Requirements Analysis is performed in order to analyze certain quality characteristics of requirements

Is Requirements Analysis then synonym to requirements V&V?

No! Analysis is concerned with an incomplete set of requirements, not discussed by the stakeholder. Requirements Analysis can be a very early activity.

Requirements validation should have a complete, agreed upon set of requirements as input. Therefore, it is also regarded as part of the specification.

Page 13: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

13

Conceptual Modeling

Conceptual Modeling is performed by the requirements engineer (analyst) to understand the problem domain and the requirements.

Various models can be created to find out whether a problem domain or the requirements are understood well, i.e., whether the understanding of the requirements engineer is complete, consistent, and correct:

Goals

Data

Interaction

Structure

Note: The models created during conceputal modeling are not necessarily part of the requirements specification. But they can be part of the requirements specification.

Page 14: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

14

Topics

Elicitation

Communication Model

Stakeholder Analysis

Interviews

Creativity Techniques

Page 15: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

15

Objective Reality

PerceivedReality

Perception

Expression

Representation Interpretation

Personal Reality

Stakeholder Requirements Engineer

Representation

DocumentedExpression

Communication Model (Extended Version)

Page 16: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

16

Importance

Influence

A B

C D

1

1

2

2

3

4

4

5

5

e.g., User

e.g., Customer

e.g., Project Manager

e.g., Developer

e.g., Support Service

Page 17: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

17

Example: Stakeholder Onion Model

Page 18: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

18

Principles of Creativity

Preexistingassociations

Newassociations

Free associationStruct. associationIntuition triggered

Concept formationAbstractionReductionAnalysisArgumentationConfrontationEmpirical eval.

AlienationAnalogyInductionTransferAdaptionAnalysisAbstractionReduction

InferenceReformulationForgetting Transformation Combination

Evaluation

Exploration

Page 19: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

19

Topics

Validation & Negotiation

Quality Assurance Basics

Inspections (for Verification)

Prototypes (for Validation)

Requirements Negotiation

Summary

Page 20: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

20

Benefit of Perspective-Based Reading

Document with Errors

Low Overlap,High Coverage

Non-Perspective-Based Reading Perspective-Based Reading

High Overlap,Low Coverage

Page 21: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

21

Example: Lo-Fi BTB Prototype with Changes

Page 22: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

22

Requirements Negotiation

What:

Gaining a common and agreed-upon understanding of the requirements of the system to be developed among all stakeholders

When needed:

If there is no consent but a conflict among the stakeholders regarding the requirements (and as soon as this has been detected!)

E.g., „The system shall restart in case of failure“ vs. „The system shall shut down in case of failure“

Why needed:

If a contradiction / conflict is not resolved, the requirements of least one group of stakeholders are not fully satisfied

Resolving contradictions by negotiation increases overall acceptance!

Page 23: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

23

Topics

Reqirements Management

Change Management

Traceability

Tool support

Prioritization

Page 24: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

24

Activities of a Change Control Board

Receive change requests

Perform an impact analysis (consequences, effort, costs)

Review the change request accordingly

Accept or rejects the change request

Identify the necessary change measures (corrective, adaptive, hotfix)

Define requirement changes or new requirements

Prioritize and implements/plans the change

Control and validate the applied changes

Page 25: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

25

Change Process

1. Requesting a change

2. Assessment of changes

E.g., reviewing traceability data

3. Acceptance and planning of changes

4. Realization of changes and validation

Core rules

Nobody changes requirements without approval for that change

This also goes for the project leader and requirements engineer

Change processes only apply to validated configurations/baselines

Page 26: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

26

Classification of Traceability Relations

Vertical traceability

Artifacts from before or after the requirements specification (RS)

Pre-RS traceability: links between requirements and artifacts that are the basis for the requirements (origin)

Post-RS traceability: links between requirements and artifacts of subsequent development activities (realization)

E.g.: component, implementation, test cases

Horizontal traceability

Traceability between requirements

Mapping dependencies between requirements

Refinement, exclusion, alternative, …

Page 27: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

27

Ad-Hoc Prioritization Techniques

Ranking technique

Top-ten technique

Single-criterion classification

E.g., mandatory, optional, nice-to-have

Kano classification

Likert scale

Cumulative voting

Hierarchical Cumulative Voting (HCV)

Page 28: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

28

Topics

Informationsystems

Task-Orientation (TORE)

Context Analysis

Business Process & Data Analysis

Personas

Business Processes

Use Cases

Agile RE

Page 29: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

29

The TORE Decision Framework (Version 2013 for BIS)

StakeholdersProject Level

Business Level

InteractionLevel

As-is (Process) Situation

To-be (Process) Situation

System Responsibilities

Business Data & Rules

System FunctionsInteractionsInteraction Data

& RulesLogical UI Structure

System Level

Requirements-relevant decisions for BIS

Internal Functions Internal DataSystem ArchitectureApplication Core

GUI LayoutSpecific GUI

FunctionsDialogs GUI DataGUI

Project GoalsAddressed

Tasks & ProcessesProject Topic

Page 30: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

30

Logical Phases in Information Systems RE (1)

Stakeholder Project GoalsAddressed

Tasks & ProcessesProject Topic

As-is (Process) Situation

To-be (Process) Situation

System Responsibilities

Business Data & Rules

System Functions

InteractionsInteraction Data

& Rules

Logical GUI Structure

Step 1: Context Analysis

Step 2: Business Process & Data Analysis

Step 3: Use Case Analysis

Page 31: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

31

EPC-Elements in the ARIS House - Overview

Functional / System

View

Product / Service View

Organizational View

DataView Control View

Who?

What?Withwhat?

Why?

How?

Role Role

Role

Role

Role

Role

Role

Organizational Unit

Organizational Unit Organizational Unit Organizational Unit

Role

Role

Data

Data

Data

Activity

Activity Activity

Activity

Domain

IT System IT SystemIT System

IT System

IT System

IT System

IT System

IT System

IT System

IT System

IT System

IT System

Product Product Product

To-be (Process) Situation

RoleIT System

Product

ActivityDocument Role

IT System

Risk

Event

Event

Activity

Event

As-is (Process) Situation

Page 32: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

32

Use Case TemplateSSA.<Number>Name Name of the use case

Goal Goal and purpose of the use case (written as an extended user story)

Role Reference to the role that enacts the interaction

Preconditions & input data

Conditions in the system that need to/must be met for executing the use case and needed input data and input documents

DescriptionIncl. called functions and exchanged data

Process of the regular interaction

1. The actor …

2. The system …

Exceptions Behavior in case of exception; per exception one description

Alternative descriptions Alternative processes (alternatives to the previous description)

Business rules Reference to business rules that are relevant while executing the interaction

Quality requirements Quality requirements that affect the whole process or single steps within the process (interaction)

Business data & documents

Reference to all relevant business data and documents

System functions Reference to system functions that represent the steps executed by the system

Interfaces Reference to interfaces, that are accessed while executing the interaction and its steps

Results & output data Status of the system, that is valid after successfully executing the interaction and its steps, as well as output data and documents

Page 33: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

33

User Stories

User Stories are written on sheets of paper (e.g., sticky notes) orelectronically in tools.

Front side uses a sentence pattern:„As a <<role>> I want <<function>> so that I can <<goal/rationale>>.E.g.: As a sales person I want to see the sum of my purchase so that I can pay my bill.

The rear side contains the acceptance criteria when a user story can beconsidered accepted by the stakeholders.

Page 34: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

34

Topics

Embedded Systems

Characteristics

Cleanroom / Box Structures

4-VM

SBS

Page 35: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

35

Embedded System Software Specification

Specification model• What does the specification contain?• What should be documented?

Logical system model• What is the system?• Where is the system boundary?• What should be considered ?

Specification processes• What steps to perform and how?• Cleanroom software engineering

• Sequence-based Specification

Specification methods

Page 36: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

36

Topics

Crowd-RE

Crowd-Sourcing

Crowd-based RE

Page 37: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

37

General Literature

Klaus Pohl, Requirements Engineering: Fundamentals, Principles, andTechniques, Springer, 2010 (English)

Klaus Pohl, Requirements Engineering: Grundlagen, Prinzipien, Techniken, Springer, dpunkt.Verlag, 2008 (German)

Chris Rupp, Klaus Pohl, Requirements Engineering Fundamentals: A Study Guide for the Certified Professional for Requirements Engineering Exam - FoundationLevel - IREB compliant (Englisch), 2015 (English)

Sommerville, Sawyer, Req. Engineering: A good practice Guide, Wiley, 1997 (English) Ian Sommerville, Software Engineering Addison Wesley, 1995 (English) Davis, Software Requirements, Prentice Hall, 1993 (English) Endres, Rombach, A Handbook of Software and Systems Engineering, Addison Wesley,

2003 (English) G. Versteegen et al., Anforderungsmanagement, Springer Verlag, 2004 (German) Dörr, J.; Adam, S.; Eisenbarth, M.; Ehresmann, M.; Implementing Requirements

Engineering Processes: Using Cooperative Self-Assessment and Improvement, IEEE Software, Year: 2008, Volume: 25, Issue: 3; Pages: 71 - 77

Page 38: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

38

References – Information Systems RE

More information on BPMN: http://www.bpmn.org/

More information on TORE:http://re-magazine.ireb.org/issues/2014-4-steady-flight/tore/

Cockburn, Alistair “Writing Effective Use Cases” Addison-Wesley, 2001, ISBN: 0-201-70225-8

Page 39: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

39

References – Embedded RE

S. Prowell et al., Cleanroom Software Engineering - Technology andProcess, Addison Wesley, 1999 (English)

Prowell, S.J.; Poore, J.H.; Foundations of sequence-based softwarespecification, IEEE Transactions on Software Engineering, Year: 2003, Volume: 29, Issue: 5, Pages: 417 - 429,

Page 40: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

40

References – Crowdsourcing / Crowd-RE

Origins of Crowdsourcing

Howe, J. (2006). The rise of crowdsourcing. Wired, 14(6).

Malone, T. W., Laubacher, R. & Dellarocas, C. (2009). Harnessing crowds: Mapping the genome of collective intelligence. MIT Sloan Research Paper No. 4732-09.

Principles of crowdsourcing

Brabham, D. C. (2008). Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies, 14(1), 75–90.

Surowiecki, J. (2004). The wisdom of crowds. New York: Anchor.

Lanier, J. (2010). You are not a gadget: A manifesto. New York: Alfred A. Knopf.

RE and Crowdsourcing

Sutcliffe A. & Sawyer, P. (2013). Requirements elicitation: Towards the unknown unknowns. Rio de Janeiro, Brasil: RE 2013, Research Track.

Page 41: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

41

Fraunhofer IESE offers a lot more possibilities than this lecture:

Other lectures (e.g., product lines)

Hiwi-jobs, also in in (industry) projects

Projects

Bachelor and master theses

Seminars

And last but not least a start for your career!

Page 42: Lecture: Requirements Engineering WS 2018/2019 · Crowdsourcing as a model for problem solving: An introduction and cases. The International Journal of Research into New Media Technologies,

© Fraunhofer IESE

42

Thank you for attending this lecture!

Now: Your feedback for optimizing the lecture is appreciated

what was good…

what should be improved…