Topic Area Requirements Engineering: Content (A Selection of) Analysis Techniques • Introduction VL 6 Softwaretechnik / Software-Engineering • Requirements Specification • Desired Properties Focus • Kinds of Requirements current desired innovation Lecture 7: Formal Methods for Analysis Technique situation situation consequences • Analysis Techniques . . Analysis of existing data and documents . • Documents Requirements Engineering Observation • Dictionary, Specification � closed � Questionning with questions structured open • Specification Languages Interview 2017-05-29 • Natural Language Modelling VL 7 • Decision Tables Experiments . • Syntax, Semantics . . Prototyping • Completeness, Consistency, ... Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Participative development VL 8 • Scenarios (Ludewig and Lichter, 2013) . . • User Stories, Use Cases . Albert-Ludwigs-Universität Freiburg, Germany – 7 – 2017-05-29 – Sblockcontent – • Working Definition: Software – 6 – 2017-05-22 – Sreana – VL 9 • Live Sequence Charts – 7 – 2017-05-29 – main – – 7 – 2017-05-29 – main – . • Syntax, Semantics . . 23 /41 • Discussion 2 /49 3 /49 Topic Area Requirements Engineering: Content Topic Area Requirements Engineering: Content Tell Them What You’ve Told Them. . . VL 6 • Introduction VL 6 • Introduction • Requirements Specification • Requirements Documents are important — e.g., for • Requirements Specification • negotiation, design & implementation, documentation, • Desired Properties • Desired Properties testing, delivery, re-use, re-implementation. • Kinds of Requirements • Kinds of Requirements • A Requirements Specification should be • Analysis Techniques • Analysis Techniques . . . . • correct, complete, relevant, consistent, neutral, traceable, objective. . . • Documents • Documents Note: vague vs. abstract. • Dictionary, Specification • Dictionary, Specification • Requirements Representations should be • Specification Languages • Specification Languages • easily understandable, precise, easily maintainable, easily usable • Natural Language • Natural Language • Distinguish VL 7 • Decision Tables VL 7 • Decision Tables • hard / soft, . • Syntax, Semantics . • Syntax, Semantics . • functional / non-functional, . . . • Completeness, Consistency, ... • Completeness, Consistency, ... • open / tacit. VL 8 VL 8 • Scenarios • Scenarios • It is the task of the analyst to elicit requirements. . . • User Stories, Use Cases • User Stories, Use Cases . . . • Natural language is inherently imprecise, counter-measures: . – 7 – 2017-05-29 – Sblockcontent – – 7 – 2017-05-29 – Sblockcontent – • Working Definition: Software – 6 – 2017-05-22 – Sttwytt – • Working Definition: Software • natural language patterns. VL 9 • Live Sequence Charts VL 9 • Live Sequence Charts – 7 – 2017-05-29 – main – . . • Syntax, Semantics • Syntax, Semantics . • Do not underestimate the value of a good dictionary . . . . 39 /41 • Discussion • Discussion 4 /49 5 /49 6 /49
Content Decision Tables: Example • (Basic) Decision Tables • Syntax, Semantics • ...for Requirements Specification • ...for Requirements Analysis T r 1 r 2 r 3 Decision Tables • Completeness, c 1 × × − • Useless Rules, c 2 × − ∗ c 3 − × ∗ • Determinism Logic a 1 × − − • Domain Modelling a 2 − × − • Conflict Axiom, • Relative Completeness, • Vacuous Rules, • Conflict Relation • Collecting Semantics – 7 – 2017-05-29 – Scontent – • Discussion – 7 – 2017-05-29 – Scoreet – – 7 – 2017-05-29 – main – 7 /49 8 /49 9 /49 Decision Table Syntax Decision Table Syntax Decision Table Semantics • Let C be a set of conditions and A be a set of actions s.t. C ∩ A = ∅ . • Let C be a set of conditions and A be a set of actions s.t. C ∩ A = ∅ . Each rule r ∈ { r 1 , . . . , r n } of table T • A decision table T over C and A is a labelled ( m + k ) × n matrix • A decision table T over C and A is a labelled ( m + k ) × n matrix T : decision table r 1 · · · r n c 1 description of condition c 1 v 1 , 1 · · · v 1 ,n . . . ... . . . . . T : decision table r 1 · · · r n T : decision table r 1 · · · r n . . . . c m description of condition c m v m, 1 · · · v m,n c 1 description of condition c 1 v 1 , 1 · · · v 1 ,n c 1 description of condition c 1 v 1 , 1 · · · v 1 ,n a 1 description of action a 1 w 1 , 1 · · · w 1 ,n . . . . . . . . ... ... . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . c m description of condition c m v m, 1 · · · v m,n c m description of condition c m v m, 1 · · · v m,n a k description of action a k w k, 1 · · · w k,n a 1 description of action a 1 w 1 , 1 · · · w 1 ,n a 1 description of action a 1 w 1 , 1 · · · w 1 ,n . . . . . . . . ... ... . . . . . . . . . . . . . . . . is assigned to a propositional logical formula F ( r ) over signature C ˙ ∪ A as follows: a k description of action a k w k, 1 · · · w k,n a k description of action a k w k, 1 · · · w k,n • Let ( v 1 , . . . , v m ) and ( w 1 , . . . , w k ) be premise and effect of r . • where • c 1 , . . . , c m ∈ C , • v 1 , 1 , . . . , v m,n ∈ {− , × , ∗} and • Then • a 1 , . . . , a k ∈ A , • w 1 , 1 , . . . , w k,n ∈ {− , ×} . F ( r ) := F ( v 1 , c 1 ) ∧ · · · ∧ F ( v m , c m ) ∧ F ( w 1 , a 1 ) ∧ · · · ∧ F ( w k , a k ) � �� � � �� � =: F pre ( r ) =: F eff ( r ) • Columns ( v 1 ,i , . . . , v m,i , w 1 ,i , . . . , w k,i ) , 1 ≤ i ≤ n , are called rules , where • r 1 , . . . , r n are rule names . – 7 – 2017-05-29 – Scoreet – – 7 – 2017-05-29 – Scoreet – – 7 – 2017-05-29 – Scoreet – x , if v = × • ( v 1 ,i , . . . , v m,i ) is called premise of rule r i , F ( v, x ) = ¬ x , if v = − ( w 1 ,i , . . . , w k,i ) is called effect of r i . true , if v = ∗ 10 /49 10 /49 11 /49
Recommend
More recommend