on requirements completeness analysismethod viktoria gingina institute for system programming, ras 1...
TRANSCRIPT
On requirements On requirements completenesscompleteness
analysisanalysismethodmethod
Viktoria Gingina
Institute for System Programming, RAS
1
Scientific AdviserAlexander K. Petrenko, Doctor of Science
Requirements are:
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 documents.
A condition or capability needed by a user to solve a problem or achieve an objective.
2
A documented representation of a condition or capability as in (1) or (2).
2
(1)
(2)
(3)
IEEE Standard Glossary of Software Engineering Terminology
Requirements in software development
33
Bad requirements results:
Rising of errors numberHigh project risks level
Rising of modifications number
4
Low interoperability
4
Long time of developing and testing
Low-quality product
Broken date of performance
Increased cost
—
—
—
—
—
—
—
—
Criteria of well-stated requirements
Completeness
Unambiguity
Adequacy
5
Consistency
5
requirements meet customer wishes
different domain experts understand requirements equally
requirements are coordinated and do not contradict one another
any situation has its own description in the requirements
—
—
—
—
6
What do complete requirements mean?
Describes everything customer wants
Describes all logically possible situations
6
Reasons of requirements incompleteness
-“System behavior is undefined in this case” premeditated incompleteness
- “System behavior is obvious, usual and do not need any additional explanation”
- Insufficient analysis of requirements
7
- “System behavior is undefined in this case” impartial non-determinism
and so on7
- Requirements correction
To find incompleteness symptoms
88
Test-cases, test-planes, test-reports
Specifications
Static and dynamic analysis of implementations
To find incompleteness symptoms
99
Specifications
Static and dynamic analysis of implementations How to find
incompleteness symptoms
- Check-lists
- Patterns
- Anti-patterns
Test-cases, test-planes, test-reports
Examples of anti-patterns
10
There is a condition-element but not all flow-branches are described.
Changing the data is described in one action branch but there is no any description for the same data in the other branch.
A new function, type, object, term is used but never described.
11
yes
Instructions for “no”
no
Not all flow-branches are described (1)
then
Instructions for “else”
else (otherwise)
if?
11
success
Instructions for error
errorres error
Instructions for success
successres
12
Not all flow-branches are described (2)
12
s: A,B,C,D.
s=A
s=D
s=B
s=C
r: real r>0
r=0
r<0
Examples of anti-patterns
13
There is a condition-element but not all flow-branches are described.
Changing the data is described in one action branch but there is no any description for the same data in the other branch.
A new function, type, object, term is used but never described.
14
No data element description in other branch
A=...
14
Instructions for B
B=...
C=...
C=...
A=...
Data element - parameter,
object pointer,
and so on...
file content,
picture,
Examples of anti-patterns
15
There is a condition-element but not all flow-branches are described.
Changing the data is described in one action branch but there is no any description for the same data in the other branch.
A new function, type, object, term is used but never described.
16
Element is used but not described
16
А – is …
B works like A but..
D works like С but..
Where is С description?
17
Plan of future work
Define incompletenesssymptoms
Formalize process of requirements developing and recording
Define techniques to find incompleteness symptoms
Automate incompleteness detection
17
Thank you for your attention!
Viktoria [email protected]