DOCUMENTING REQUIREMENTS
How do we document what the SW should do?
Lecture 7
Some slides in this lecture adapted from https://www.ifi.uzh.ch/en/rerg/courses/hs23/re-i.html
Announcements
Text questions to (562) 684-8307
2
Canvas Quiz
Lecture 7: Lecture 6 Review
Text questions to (562) 684-8307
3
Last Time – How do we figure out what the SW should do?
Text questions to (562) 684-8307
4
How do we document what the software should do?
Text questions to (562) 684-8307
5
Pre-work: How will you document?
6
Motivation
Bridging the gap:
Stakeholders
The need:
The means: Documented requirements
Text questions to (562) 684-8307
7
System builders
Today’s Lecture – How do we document what the SW should do?
Text questions to (562) 684-8307
8
Today’s Lecture – How do we document what the SW should do?
Text questions to (562) 684-8307
9
RE work products
DEFINITION. Work product – A recorded, intermediate, or final result of information generated in a work process.
Synonym: artifact
Text questions to (562) 684-8307
10
Work products – single requirements
Text questions to (562) 684-8307
11
Work products – sets of requirements (I)
Text questions to (562) 684-8307
12
Work products – sets of requirements (II)
Text questions to (562) 684-8307
13
Work products - documents
14
Classic requirements specifications
Full-fledged requirements specifications are typically needed…
Text questions to (562) 684-8307
15
Work products - agile
Agile
Text questions to (562) 684-8307
16
Work products - other
Text questions to (562) 684-8307
17
Today’s Lecture – How do we document what the SW should do?
Text questions to (562) 684-8307
18
Glossary
RE is typically a multi-person endeavor
DEFINITION. Glossary – A collection of definitions of terms that are relevant in some domain.
A glossary defines:
Text questions to (562) 684-8307
19
Glossary Terms Brainstorming
Text questions to (562) 684-8307
20
Today’s Lecture – How do we document what the SW should do?
Text questions to (562) 684-8307
21
Prototypes
DEFINITION. Prototype – A preliminary, partial realization of certain characteristics of a system.
In RE, a prototype is a means for:
22
Today’s Lecture – How do we document what the SW should do?
Text questions to (562) 684-8307
23
Aspects to be documented (1)
Independently of any language, method, and documentation style, four aspects need to be documented:
Text questions to (562) 684-8307
24
Functionality
Functionality aspects to be documented:
Text questions to (562) 684-8307
25
Quality
Quality aspects to be documented:
Text questions to (562) 684-8307
26
Constraints
Constraints (restrictions that must be obeyed / satisfied) to be documented:
Text questions to (562) 684-8307
27
Context/boundary
Context/boundary aspects to be documented:
Text questions to (562) 684-8307
28
Canvas Quiz
Lecture 7: Functionality, Quality, Constraint, Context/boundary for GGSM
Text questions to (562) 684-8307
29
Today’s Lecture – How do we document what the SW should do?
Text questions to (562) 684-8307
30
How to document
Sample standards for classic requirements documents:
ISO/IEC/IEEE Std 29148
VOLERE
Enterprise-specific standards
Text questions to (562) 684-8307
31
ISO/IEC/IEEE 29148 Standard
32
[ISO/IEC/IEEE (2018). Systems and Software Engineering — Life Cycle Processes — Requirements
Engineering. ISO/IEC/IEEE Standard 29148.]
VOLERE
33
[https://www.volere.org/templates/volere-requirements-specification-template/]
How to document – language options
Informally
Semi-formally
Formally
Text questions to (562) 684-8307
34
Example of Formal Specification: Z
35
[http://softeng.comlab.ox.ac.uk/usingz/exercises/exercises01/index.html]
Selective Use of Formal Specification
Text questions to (562) 684-8307
General rules for requirements documentation
Text questions to (562) 684-8307
37
Minimize ambiguity as much as possible.
Level of Detail
What’s better?
It depends.
Text questions to (562) 684-8307
38
Use more detail when…
Text questions to (562) 684-8307
39
Use less detail when…
Text questions to (562) 684-8307
40
Today’s Lecture – How do we document what the SW should do?
Text questions to (562) 684-8307
41
Quality of requirements (I)
For individual requirements and RE work products in general, strive for the following qualities:
Text questions to (562) 684-8307
42
Quality of requirements (II)
Text questions to (562) 684-8307
43
Not all qualities are equally important
Text questions to (562) 684-8307
44
Summary
Text questions to (562) 684-8307
45