Key Issues for Requirements Engineering (lecture slides)
Mar. 10, 2014•0 likes
11 likes
Be the first to like this
Show More
•5,165 views
views
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download to read offline
Report
Education
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.
Prof. Dr. Computer Science (Artificial Intelligence, Software Engineering), Co-Founder AGISI.org at Computer Science Dept., Berlin School of Economics and Law
Key Issues for Requirements Engineering (lecture slides)
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 3Cartoon http://projectcartoon.com/
D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 4Cartoon http://projectcartoon.com/
D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield
Key questions
5Cartoon 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
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
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 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 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 64
The traditional software
development process:
Perceptions, communication patterns
and interests…
D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 65Cartoon 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 67Adapted from cartoon http://projectcartoon.com/
D. Monett – Europe Week 2014, University of Hertfordshire, Hatfield 68Adapted 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 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