key issues for requirements engineering (lecture slides)

Post on 14-Dec-2014

294 Views

Category:

Education

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Online lecture at the School of Computer Science, University of Hertfordshire, Hatfield, UK, as part of the 10th Europe Week from 3rd to 7th March 2014.

TRANSCRIPT

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Key issues for

Requirements Engineering

Prof. Dr. Dagmar Monett Díaz Computer Science Dept.

Faculty of Cooperative Studies

Berlin School of Economics and Law

dagmar@monettdiaz.com

Europe Week, 3rd – 7th March 2014

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 2

The traditional software

development process:

Perceptions, communication patterns

and interests…

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 3 Cartoon http://projectcartoon.com/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 4 Cartoon http://projectcartoon.com/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Key questions

5 Cartoon http://projectcartoon.com/

- How did stakeholders define requirements?

- Were they “good” requirements?

- How were they documented?

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 6

Agenda

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 7

Agenda

Where does the major content come from?

Requirements and Requirements Engineering

What are good requirements?

- Quality criteria

How do we elicit and construct “perfect”

requirements?

- Rupp’s template-based approach for

constructing requirements

Further reading, sources of inspiration, and more…

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 8

©

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Requirements-Engineering und -

Management: Professionelle,

iterative Anforderungsanalyse für

die Praxis

Chris Rupp & die SOPHISTen

5th Edition, 565 pp.

Carl Hanser Verlag, July 2009

ISBN-13: 978-3-446-41841-7

In German

(A version in English is also

available)

What I also use in my lectures at the HWR…

9

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Chris Rupp & The SOPHISTs

© https://www.sophist.de/

Consulting and training

company

Specialists for Requirements

Engineering, Requirements

Management, Object-

oriented Analysis, Object-

oriented Design and Agile.

10

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Chapters and further reading

Ch. Rupp, R. Joppich, Ch. Wünch (2010): “Molecular

Requirements Engineering: The Blueprint of a Perfect

Requirement”.

Ch. Rupp (2010): “In medias RE”.

Ch. Rupp, E. Wolf (2011): “The SOPHIST Set of

REgulations”.

Ch. Rupp, R. Joppich (2010): “Templates – Construction

Plans for Requirements and for More”.

All available at https://www.sophist.de/en/information-

pool/downloads/open-download-area/

11

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 12

What are requirements?

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 13

IEEE-Standard 610.12 (1990)

A requirement is:

(1). „A condition or capability needed by a user (be

it person or system) to solve a problem or

achieve an objective.“

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 14

IEEE-Standard 610.12 (1990)

A requirement is:

(1). „A condition or capability needed by a user (be

it person or system) to solve a problem or

achieve an objective.“

(2). „A condition or capability that must be met or

possessed by a system or system component to

satisfy a contract, standard, specification, or other

formally imposed document.“

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 15

IEEE-Standard 610.12 (1990)

A requirement is:

(1). „A condition or capability needed by a user (be

it person or system) to solve a problem or

achieve an objective.“

(2). „A condition or capability that must be met or

possessed by a system or system component to

satisfy a contract, standard, specification, or other

formally imposed document.“

(3). „A documented representation of a condition or

capability as in (1) or (2).“

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 16

Active learning exercise:

“Please mention some concrete

examples of requirements!”

Image © renjith krishnan at http://www.freedigitalphotos.net/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 17

Requirements Engineering

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Requirements Engineering

Definition according to the IREB1:

Requirements engineering is a cooperative, iterative,

incremental process, aimed at guaranteeing that

all relevant requirements are known and

understood with the necessary degree of refinement,

the stakeholders involved come to a satisfactory

agreement concerning the known requirements,

all requirements have been documented as defined

by the documentation guidelines or specification

guidelines.

18

1: International Requirements Engineering Board e.V. (see further reading at the end)

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 19

Main activities of the requirements engineer

Eliciting

Requirements

Engineering

Documenting Validating Managing

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 20

Main activities of the requirements engineer

Eliciting

Requirements

Engineering

Documenting Validating Managing

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 21

What are good requirements?

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 22

Quality criteria for requirements

Mind map created with https://bubbl.us/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 23

Active learning exercise:

“Explain what does each quality

criteria mean to you!”

Image © renjith krishnan at http://www.freedigitalphotos.net/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 24

A good requirement is…

Mind map created with https://bubbl.us/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 25

How do we construct

“perfect” requirements?

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Dilbert

Scott Adams

At http://dilbert.com/strips/comic/2006-01-29/

(Educational/Classroom usage permission is granted by Universal Uclick. All Rights Reserved)

Surely not this way…

26

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 27

Rupp’s template-based approach

for constructing requirements

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Requirements template

Definition according to Chris Rupp:

“A requirements template is a blueprint

which delineates the syntactic structure

of a requirement”.

…quality assurance of unambiguous,

complete and testable requirements!

28

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 29

Constructing perfect requirements

in six steps

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Identify the desired functionality!

Use process words to describe the process!

Reduce the number of process words to the

words actually relevant to the system!

Step 1

Determine the process which the requirement

will denote as a requisite.

30

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Identify the desired functionality!

Use process words to describe the process!

Reduce the number of process words to the

words actually relevant to the system!

Step 1

Determine the process which the requirement

will denote as a requisite.

Examples:

print, save, transmit, calculate

31

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Identify the desired functionality!

Use process words to describe the process!

Reduce the number of process words to the

words actually relevant to the system!

Step 1

Determine the process which the requirement

will denote as a requisite.

32

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Identify the desired functionality!

Use process words to describe the process!

Reduce the number of process words to the

words actually relevant to the system!

Step 1

Determine the process which the requirement

will denote as a requisite.

Examples:

insert – The SYSTEM inserts new data.

select – The USER selects one element of a finite set.

33

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Identify the desired functionality!

Use process words to describe the process!

Reduce the number of process words to the

words actually relevant to the system!

Step 1

Determine the process which the requirement

will denote as a requisite.

34

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Identify the desired functionality!

Use process words to describe the process!

Reduce the number of process words to the

words actually relevant to the system!

Step 1

Determine the process which the requirement

will denote as a requisite.

Examples:

Do “enter”, “input” and “insert” should have the same

semantic within the requirements or not?

35

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 2

Characterise the activity of the system.

Is it an independent system activity?

(The system executes the process independently)

The system … provide <whom>

with the ability to

verb

<process>

be able to

<process>

36

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 2

Characterise the activity of the system.

Is it an independent system activity?

(The system executes the process independently)

Example:

The system … prints.

The system … provide <whom>

with the ability to

verb

<process>

be able to

<process>

37

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 2

Characterise the activity of the system.

Is it a user interaction?

(The system provides the user with the ability to

use the process functionality)

The system … provide <whom>

with the ability to

verb

<process>

be able to

<process>

38

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 2

Characterise the activity of the system.

Is it a user interaction?

(The system provides the user with the ability to

use the process functionality)

Example:

The system provides the receptionist with the ability to print.

The system … provide <whom>

with the ability to

verb

<process>

be able to

<process>

39

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 2

Characterise the activity of the system.

Is it an interface requirement?

(The system executes a process dependent upon a

third party, is passive and requires an external event)

The system … provide <whom>

with the ability to

verb

<process>

be able to

<process>

40

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 2

Characterise the activity of the system.

Is it an interface requirement?

(The system executes a process dependent upon a

third party, is passive and requires an external event)

Example:

The system … be able to receive data from the library.

The system … provide <whom>

with the ability to

verb

<process>

be able to

<process>

41

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 3

Determine the degree of legal obligation.

Which is the legal relevance of the requirement?

Use modal verbs!

The system should provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

42

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 3

Determine the degree of legal obligation.

Which is the legal relevance of the requirement?

Use modal verbs!

The system should provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

Example: The system shall provide the receptionist with the ability to print.

43

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 3

Legal obligation = degree of obligation

stakeholders attach to the statements.

Degree of obligation Keyword

Binding shall

Nice to have should

Aim will

44

fulfilment

mandatory

implementation

suggestion

intention, future

developments

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 4

Fine tune the requirement.

Which objects and complements are missing?

Add them!

The system should provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

45

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 4

Fine tune the requirement.

Which objects and complements are missing?

Add them!

The system should provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

Example: The system shall provide the receptionist with the ability to print a bill on the network printer.

object additional details

about the object

46

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 5

Phrase logical and temporal conditions.

Which conditions and prerequisites need to be met

before for your requirement to be valid?

Place them in front of the requirement!

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

47

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 5

Phrase logical and temporal conditions.

Which conditions and prerequisites need to be met

before for your requirement to be valid?

Place them in front of the requirement!

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

Example: If the option “Bill required” has been selected on the mobile device, the system shall provide the receptionist with the ability to print a bill on the network printer.

object additional details

about the object

When? / Under

what conditions?

48

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 6

Use the SOPHIST-Rulebook to ensure

completeness of the semantic meaning.

Apply the rules and tests from the SOPHIST set

of REgulations!

Avoid incomplete information (deletion)!

Avoid statements falsifying reality (distortion)!

Avoid erroneous generalisations (generalization)!

49

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 6

Use the SOPHIST-Rulebook to ensure

completeness of the semantic meaning.

Apply the rules and tests from the SOPHIST set

of REgulations!

Avoid incomplete information (deletion)!

Avoid statements falsifying reality (distortion)!

Avoid erroneous generalisations (generalization)!

(A bad) Example: Customers who are not authorised are displayed.

(What is to be displayed? To whom? How? When?)

50

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 6

Use the SOPHIST-Rulebook to ensure

completeness of the semantic meaning.

Apply the rules and tests from the SOPHIST set

of REgulations!

Avoid incomplete information (deletion)!

Avoid statements falsifying reality (distortion)!

Avoid erroneous generalisations (generalization)!

51

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 6

Use the SOPHIST-Rulebook to ensure

completeness of the semantic meaning.

Apply the rules and tests from the SOPHIST set

of REgulations!

Avoid incomplete information (deletion)!

Avoid statements falsifying reality (distortion)!

Avoid erroneous generalisations (generalization)!

(A bad) Example: The system shall allow for archiving.

(Which exact process is meant by the noun?)

52

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 6

Use the SOPHIST-Rulebook to ensure

completeness of the semantic meaning.

Apply the rules and tests from the SOPHIST set

of REgulations!

Avoid incomplete information (deletion)!

Avoid statements falsifying reality (distortion)!

Avoid erroneous generalisations (generalisation)!

53

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Step 6

Use the SOPHIST-Rulebook to ensure

completeness of the semantic meaning.

Apply the rules and tests from the SOPHIST set

of REgulations!

Avoid incomplete information (deletion)!

Avoid statements falsifying reality (distortion)!

Avoid erroneous generalisations (generalisation)!

(A bad) Example: The data has to be graphically displayed to the user.

(Which data exactly? To which users exactly?)

54

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 55

Summarising…

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Rupp’s template – Six steps

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

56

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Rupp’s template – Six steps

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

57

1: Determine the process,

identify the functionality

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Rupp’s template – Six steps

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

58

1: Determine the process,

identify the functionality

2: Characterise the activity

of the system

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Rupp’s template – Six steps

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

59

1: Determine the process,

identify the functionality

2: Characterise the activity

of the system

3: Determine legal

obligation

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Rupp’s template – Six steps

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

60

1: Determine the process,

identify the functionality

2: Characterise the activity

of the system

3: Determine legal

obligation

4: Fine tune the

requirement

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Rupp’s template – Six steps

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

61

1: Determine the process,

identify the functionality

2: Characterise the activity

of the system

3: Determine legal

obligation

4: Fine tune the

requirement

5: Phrase

conditions

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Rupp’s template – Six steps

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

62

1: Determine the process,

identify the functionality

2: Characterise the activity

of the system

3: Determine legal

obligation

4: Fine tune the

requirement

5: Phrase

conditions

6: Use SOPHIST-

Rulebook

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 63

Homework:

“Apply the Rupp’s template to

construct perfect requirements

to one of your current course

projects!”

Image © renjith krishnan at http://www.freedigitalphotos.net/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 64

The traditional software

development process:

Perceptions, communication patterns

and interests…

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 65 Cartoon http://projectcartoon.com/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 66

The ideal, perfect, still possible

software development process:

Perceptions, communication patterns

and interests…

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 67 Adapted from cartoon http://projectcartoon.com/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 68 Adapted from cartoon http://projectcartoon.com/

Start here!

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 69

To take away…

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Use the Rupp’s template!

Construct perfect requirements!

the

system should

provide <whom>

with the ability to

verb

<process>

be able to

<process> will

shall

object additional details

about the object

When? / Under

what conditions?

70

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 71

Assessment

Image © renjith krishnan at http://www.freedigitalphotos.net/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Question

72

(Taken from the public Examination Questionnaire Set © IREB)

Which two of the following statements define the term

“requirement” in accordance to the IEEE standard?

(A) The difference between current state and desired state.

(B) An instruction on how a requirement has to be fulfilled.

(C) A demanded capability of a system.

(D) A problem that has been identified.

(E) A capability that must be met or possessed by a system.

PLEASE ANSWER AT: https://docs.google.com/forms/d/1z_24YzWEianDlPpCuxVStpi-LDT6p3ANXowWwpru5H8/viewform

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 73

Last active learning exercise

Image © renjith krishnan at http://www.freedigitalphotos.net/

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 74

The content

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 75

References

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Others…

76

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield

Further reading and sites…

IREB - International Requirements Engineering

Board e.V.

http://www.ireb.org/

20th International Working Conference on

Requirements Engineering: Foundation for Software

Quality (REFSQ 2014), Essen, Germany

http://refsq.org/2014/

IEEE International Requirements Engineering

Conference (RE’14), Karlskrona, Sweden

http://webhotel.bth.se/re14/

77

D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 78

Slides of the talk per request:

dagmar@monettdiaz.com

Prof. Dr. Dagmar Monett Díaz

monettdiaz

@dmonett

http://monettdiaz.com

top related