| Foreword | 6 |
---|
| Preface | 9 |
---|
| Acknowledgements | 12 |
---|
| Contents | 14 |
---|
| Acronyms | 20 |
---|
| 1Introduction | 24 |
---|
| 1.1 Problem Statement | 24 |
| 1.2 Research Questions | 24 |
| 28 | 24 |
---|
| 1.2.1 Research Questions | 28 |
| 1.2.2 Contribution | 29 |
| 1.3 Outline | 37 |
| 2Background | 41 |
---|
| 2.1 Requirements Engineering | 41 |
| 2.1.1 Quality Requirements | 42 |
| 2.1.2 Problem Frames | 44 |
| 2.2 Software Architecture Concepts | 46 |
| 2.2.1 Definition of Software Architecture | 46 |
| 2.2.2 Difference between Architecture and Design | 47 |
| 2.2.3 Architectural Patterns | 49 |
| 2.2.4 Quality-specific Mechanisms and Tactics | 50 |
| 2.2.5 Viewpoint Models | 51 |
| 2.2.6 Architecture Description Languages vs UML | 52 |
| 2.2.7 Architecture Evaluation | 53 |
| 2.3 UML Profiles | 54 |
| 2.3.1 UML profile for Problem Frames | 55 |
| 2.3.2 Architecture Profile | 59 |
| 2.3.3 Dependability Profile | 61 |
| 2.3.4 MARTE Profile | 62 |
| 2.4 Life-Cycle Expressions | 64 |
| 2.5 Variability Modeling | 64 |
| 2.6 Case Study Smart Grid | 65 |
| 2.6.1 Description of Smart Grids | 67 |
| 2.6.2 Functional Requirements | 68 |
| 2.6.3 Security Requirements | 70 |
| 2.6.4 Performance Requirements | 71 |
| 3Framework for Identifying Meta-Requirements | 72 |
---|
| 3.1 Introduction | 72 |
| 3.2 Meta-Requirement Derivation | 75 |
| 3.2.1 Essential Meta-Requirements | 78 |
| 3.2.2 Recommended Meta-Requirements | 82 |
| 3.2.3 Optional Meta-Requirements | 88 |
| 3.2.4 Method Characteristics | 90 |
| 3.3 The Evaluation Framework NIMSAD | 91 |
| 3.3.1 Methodology Context | 92 |
| 3.3.2 Methodology User | 93 |
| 3.3.3 Methodology Contents | 93 |
| 3.3.4 Evaluation | 94 |
| 3.4 Our Proposed Evaluation Framework | 94 |
| 3.5 Related Review | 96 |
| 3.6 Research Method | 96 |
| 3.6.1 Planning Phase | 96 |
| 3.6.2 Conducting Phase | 100 |
| 3.7 Results and Discussion | 106 |
| 3.7.1 Description of Selected Methods | 107 |
| 3.7.2 Results of the SLR | 112 |
| 3.8 Comparative Evaluation | 118 |
| 3.8.1 Value Assignment Schema | 118 |
| 3.8.2 Framework Application | 125 |
| 3.9 Threats to Validity | 128 |
| 3.10 Contributions | 129 |
| 4Phase 1: Context Elicitation | 129 |
---|
| 131 | 129 |
---|
| 4.1 Introduction | 131 |
| 4.2 UML4PF Extension for Quality Requirements | 132 |
| 4.3 Method for Problem-oriented Requirement Analysis | 133 |
| 4.4 Related Work | 146 |
| 4.5 Contributions | 147 |
| 5Phase 2: Architectural Pattern Selection | 147 |
---|
| 149 | 147 |
---|
| 5.1 Introduction | 149 |
| 5.2 Artifacts and their Relations | 152 |
| 5.3 External Input for the Process | 154 |
| 5.3.1 Question Catalog (Questions) | 154 |
| 5.3.2 Question Catalog (Indicator Questions) | 156 |
| 5.3.3 Relations between Problem Frames and Questions | 157 |
| 5.3.4 Benefits and Liabilities of Architectural Patterns | 158 |
| 5.3.5 Architectural Pattern Catalog | 160 |
| 5.4 The Pattern Selection Process | 161 |
| 5.5 Application to the Case Study Smart Grid | 165 |
| 5.6 Derivation of Initial Architecture | 181 |
| 5.6.1 Design Desicion regarding Architectural Pattern Selection | 182 |
| 5.6.2 Design Desicion regarding Gateway Physical Boundary | 182 |
| 5.6.3 Further Iterations - Problem Diagram Splitting | 183 |
| 5.6.4 Method for Deriving Initial Architecture | 185 |
| 5.7 Related Work | 193 |
| 5.8 Contributions | 194 |
| 6Phase 3: Domain Knowledge Analysis | 195 |
---|
| 6.1 Introduction | 195 |
| 6.2 Structured Meta-Process | 197 |
| 6.3 Structured Object-Process | 206 |
| 6.4 Related Work | 212 |
| 6.5 Contributions | 214 |
| 7Phase 4: Requirements Interaction Analysis | 215 |
---|
| 7.1 Introduction | 215 |
| 7.2 Functional Requirements Interaction Detection | 218 |
| 7.2.1 Sunblind Example | 218 |
| 7.2.2 Method for Functional Requirements Interaction Detection | 220 |
| 7.2.3 Application to the Case Study Smart Grid | 229 |
| 7.3 Method for Quality Requirements Interaction Detection | 230 |
| 7.4 Method for Performance Requirements Analysis | 240 |
| 7.5 Method for Generating Requirement Alternatives | 251 |
| 7.6 Related Work | 262 |
| 7.6.1 Related work with respect to Requirements Interaction | 262 |
| 7.6.2 Related work with respect to Performance Analysis | 264 |
| 7.7 Contributions | 265 |
| 8 Phase 5: Quality-specific Pattern Analysis | 267 |
---|
| 8.1 Introduction | 267 |
| 8.2 Problem-oriented Security Patterns | 269 |
| 8.2.1 UML4PF Extension for Problem-oriented Security Patterns | 270 |
| 8.2.2 Structure of the Problem-oriented Security Patterns | 271 |
| 8.2.3 Problem-oriented Symmetric Encryption Pattern | 273 |
| 8.2.4 Problem-oriented MAC Pattern | 276 |
| 8.2.5 Problem-oriented RBAC Pattern | 277 |
| 8.2.6 Problem-oriented Digital Signature Pattern | 280 |
| 8.2.7 Problem-oriented Asymmetric Encryption Pattern | 282 |
| 8.3 Problem-oriented Performance Patterns | 284 |
| 8.3.1 UML4PF Extension for Problem-oriented Performance Patterns | 284 |
| 8.3.2 Structure of the Problem-oriented Performance Patterns | 285 |
| 8.3.3 Problem-oriented First Things First (FTF) Pattern | 289 |
| 8.3.4 Problem-oriented Flex Time (FT) Pattern | 290 |
| 8.3.5 Problem-oriented Master-Worker (MW) Pattern | 291 |
| 8.3.6 Problem-oriented Load Balancer (LB) Pattern | 293 |
| 8.4 Discussion | 294 |
| 8.5 Mapping Requirements to Quality Solutions | 298 |
| 8.5.1 UML4PF Extension for Mapping Requirements to their Solution Alternatives | 298 |
| 8.5.2 Problem-Solution Diagram | 302 |
| 8.6 Related Work | 305 |
| 8.6.1 Related work with respect to Security and Performance | 305 |
| 8.6.2 Related work with respect to Variability | 306 |
| 8.7 Contributions | 308 |
| 9Phase 6: Quality-specific Pattern Selection | 308 |
---|
| 309 | 308 |
---|
| 9.1 Introduction | 309 |