on requirements completeness analysismethod viktoria gingina institute for system programming, ras 1...

18
On requirements On requirements completeness completeness analysis analysis method method Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of Science

Upload: cameron-chandler

Post on 18-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

On requirements On requirements completenesscompleteness

analysisanalysismethodmethod

Viktoria Gingina

Institute for System Programming, RAS

1

Scientific AdviserAlexander K. Petrenko, Doctor of Science

Page 2: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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

Page 3: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

Requirements in software development

33

Page 4: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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

Page 5: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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

Page 6: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

6

What do complete requirements mean?

Describes everything customer wants

Describes all logically possible situations

6

Page 7: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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

Page 8: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

To find incompleteness symptoms

88

Test-cases, test-planes, test-reports

Specifications

Static and dynamic analysis of implementations

Page 9: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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

Page 10: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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.

Page 11: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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

Page 12: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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

Page 13: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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.

Page 14: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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,

Page 15: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

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.

Page 16: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

16

Element is used but not described

16

А – is …

B works like A but..

D works like С but..

Where is С description?

Page 17: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

17

Plan of future work

Define incompletenesssymptoms

Formalize process of requirements developing and recording

Define techniques to find incompleteness symptoms

Automate incompleteness detection

17

Page 18: On requirements completeness analysismethod Viktoria Gingina Institute for System Programming, RAS 1 Scientific Adviser Alexander K. Petrenko, Doctor of

Thank you for your attention!

Viktoria [email protected]