key issues for requirements engineering (lecture slides)
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
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:
Prof. Dr. Dagmar Monett Díaz
monettdiaz
@dmonett
http://monettdiaz.com