| Foreword | 6 |
|---|
| Preface | 8 |
|---|
| Introduction | 8 |
| Book Overview | 9 |
| Contents | 12 |
|---|
| Contributors | 18 |
|---|
| Rationale Management in Software Engineering: Concepts and Techniques | 22 |
|---|
| 1.1 Introduction | 22 |
| 1.2 Design Rationale Fundamentals | 24 |
| 1.3 Approaches to Design Rationale | 28 |
| 1.4 Uses of DR and DR Methods | 37 |
| 1.5 Limitations of Current DR Approaches and Software | 41 |
| 1.6 Rationale Management in Software Engineering | 45 |
| 1.7 Tool Support for Rationale Management | 57 |
| 1.8 Conclusion | 64 |
| Part 1 Fundamentals – Rationale Representation, Capture, and Use | 70 |
|---|
| Three Studies of Design Rationale as Explanation | 74 |
| 2.1 Introduction | 74 |
| 2.2 Explanations of Complex Systems | 76 |
| 2.3 Design Rationale as Explanation Content | 77 |
| 2.4 Three Cases of Design Rationale as Explanation | 79 |
| 2.5 Challenges and Opportunities for Design Rationale as Explanation | 88 |
| 2.6 Conclusion | 89 |
| Effective Design Rationale: Understanding the Barriers | 93 |
| 3.1 Introduction | 93 |
| 3.2 Design Perspectives and Rationale | 94 |
| 3.3 The Fundamental Barriers | 98 |
| 3.4 Transcending the Barriers | 105 |
| 3.5 Conclusions | 108 |
| Rationale as a By-Product | 111 |
| 4.1 Introduction | 111 |
| 4.2 Origins of Rationale in Software Projects | 112 |
| 4.3 Rationale as a By-Product | 114 |
| 4.4 Case 1: Capturing Rationale in Software Prototypes | 121 |
| 4.5 Case 2: Risk Analysis | 124 |
| 4.6 Discussion | 126 |
| 4.7 Conclusions | 127 |
| Hypermedia Support for Argumentation- Based Rationale: 15 Years on from gIBIS and QOC | 130 |
| 5.1 Introduction and Overview | 130 |
| 5.2 The Vision | 131 |
| 5.3 The Design Rationale Capture Problem | 132 |
| 5.4 Understanding Cognitive Overhead | 133 |
| 5.5 Compendium | 134 |
| 5.6 Reasoning Services and Verification | 141 |
| 5.7 Revisiting ‘Intrusiveness’ | 142 |
| 5.8 Examples of Compendium in Use | 143 |
| 5.9 Lessons Learnt and Conclusions | 148 |
| Part 2 Rationale Management for Requirements Engineering | 152 |
|---|
| A Hybrid Approach to Upstream Requirements: IBIS and Cognitive Mapping | 156 |
| 6.1 Introduction | 156 |
| 6.2 The Process | 157 |
| 6.3 The Tool | 163 |
| 6.4 Example | 165 |
| 6.5 Experience | 167 |
| 6.6 Discussion | 169 |
| From DREAM to Reality: Specificities of Interactive Systems Development With Respect To Rationale Management | 174 |
| 7.1 Introduction | 174 |
| 7.2 State of Art in Rationale Management for Interactive Systems | 175 |
| 7.3 TEAM Notation | 176 |
| 7.4 DREAM Tool | 179 |
| 7.5 Case Study | 184 |
| 7.6 Conclusion | 189 |
| The WinWin Approach: Using a Requirements Negotiation Tool for Rationale Capture and Use | 192 |
| 8.1 Introduction | 192 |
| 8.2 The Theory W and WinWin Spiral Model in Software Development Process | 194 |
| 8.3 Fundamental WinWin Concepts | 197 |
| 8.4 Tool Support for WinWin Requirements Negotiation | 201 |
| 8.5 An Example – Using WinWin in Software Development | 203 |
| 8.6 Using the Captured Rationale to Improve Later Decisions | 207 |
| 8.8 Future Directions | 208 |
| 8.7 Related Work | 208 |
| Design Rationale in Exemplary Business Process Modeling | 210 |
| 9.1 Overview of Exemplary Business Process Modeling | 210 |
| 9.2 The EBPM Paradigm | 211 |
| 9.3 EBPM Models | 214 |
| 9.4 Capturing Design Rationale | 218 |
| 9.5 Relations to Other Approaches | 224 |
| 9.6 Conclusion | 225 |
| Promoting and Supporting Requirements Engineering Creativity | 228 |
| 10.1 Introduction | 228 |
| 10.2 Overview of Design Rationale | 229 |
| 10.3 Understanding the RE Process | 232 |
| 10.4 RE Creativity in Relation to Psychology of Problem Solving | 237 |
| 10.5 Using DR to Support Creative RE Process | 240 |
| 10.6 Summary and Conclusion | 245 |
| Part 3 Design Rationale and Software Architecting | 250 |
|---|
| A Framework for Supporting Architecture Knowledge and Rationale Management | 256 |
| 11.1 Introduction | 256 |
| 11.2 Background and Motivation | 257 |
| 11.3 Managing Architecture Design Knowledge | 260 |
| 11.4 Conclusions and Open Issues | 270 |
| Capturing and Using Rationale for a Software Architecture | 274 |
| 12.1 Introduction | 274 |
| 12.2 Structuring Rationale | 275 |
| 12.3 How will Architectural Design Rationale be Used? | 281 |
| 12.4 Capturing Rationale | 284 |
| 12.5 An Example of Capturing and Using Rationale | 288 |
| 12.6 Summary |