Softwaretechnik / Software-Engineering
Lecture 8: Decision Tables
2018-05-28
- Prof. Dr. Andreas Podelski, Dr. Bernd Westphal
Albert-Ludwigs-Universität Freiburg, Germany
Topic Area Requirements Engineering: Content
– 8 – 2018-05-28 – Sblockcontent – 2/48- Introduction
- Requirements Specification
- Desired Properties
- Kinds of Requirements
- Analysis Techniques
- Documents
- Dictionary, Specification
- Specification Languages
- Natural Language
- Decision Tables
- Syntax, Semantics
- Completeness, Consistency, ...
- Scenarios
- User Stories, Use Cases
- Live Sequence Charts
- Syntax, Semantics
- Definition: Software & SW Specification
- Wrap-Up
Risks Implied by Bad Requirements Specications
– 6 – 2018-05-07 – Sreintro – 6/42 negotiation negotiation require- ments speci- fication design / implemen- tation design / implemen- tation quality assurance quality assurance acceptance acceptance docu- mentation docu- mentation re-use re-use customer developer negotiation (with customer, marketing department, or ...) design and implementation,- without specification,
- without specification, the user’s manual author can only
- without a description of allowed outcomes, tests are
- bjections or regress
- without specification, it
- without specification, re-use needs to be based on
- later re-implementations.
- the new software may need to adhere to requirements of the old software; if not properly specified,
Requirements on Requirements Specications
– 6 – 2018-05-07 – Sre – 14/42 A requirements specification should be- correct
- complete
- relevant
- consistent, free of contradictions
- neutral, abstract
- traceable, comprehensible
- testable, objective
- Correctness and completeness are defined relative to something
- “Dear customer, please tell me what is in your head!” is in almost all cases not a solution!
Structure of Topic Areas
– 1 – 2018-04-16 – Sccontent – 28/45 Example: Requirements Engineering Vocabulary e.g. consistent, complete, tacit, etc. Techniques informal semi-formal formal In the course: e.g. “Whenever a crash...” e.g. “Always, if hcrashi at t...” e.g. “ t, t Time • ...” Use Cases Pattern Language Decision Tables Live Sequence ChartsContent
– 8 – 2018-05-28 – Scontent07 – 6/48- (Basic) Decision Tables
- Syntax, Semantics
- ...for Requirements Specification
- ...for Requirements Analysis
- Completeness,
- Useless Rules,
- Determinism
- Domain Modelling
- Conflict Axiom,
- Relative Completeness,
- Vacuous Rules,
- Conflict Relation
- Collecting Semantics
- Discussion
Logic