: Azadeh Alebrahim
: Bridging the Gap between Requirements Engineering and Software Architecture A Problem-Oriented and Quality-Driven Method
: Springer Vieweg
: 9783658176945
: 1
: CHF 85.30
:
: Informatik
: English
: 514
: Wasserzeichen/DRM
: PC/MAC/eReader/Tablet
: PDF
This book systematically identifies the lack of methodological support for development of requirements and software architecture in the state-of-the-art. To overcome this deficiency, the QuaDRA framework is proposed as a problem-oriented approach. It provides an instantiation of the Twin Peaks model for supporting the intertwining relationship of requirements and software architecture. QuaDRA includes several structured methods which guide software engineers in quality- and pattern-based co-development of requirements and early design alternatives in an iterative and concurrent manner. 



Ms. Azadeh Alebrahim is currently working as an IT consultant. She advises the customers on IT Service Management, process optimization, restructuring the IT organization, and digitalization.

Foreword6
Preface9
Acknowledgements12
Contents14
Acronyms20
1Introduction24
1.1 Problem Statement24
1.2 Research Questions24
2824
1.2.1 Research Questions28
1.2.2 Contribution29
1.3 Outline37
2Background41
2.1 Requirements Engineering41
2.1.1 Quality Requirements42
2.1.2 Problem Frames44
2.2 Software Architecture Concepts46
2.2.1 Definition of Software Architecture46
2.2.2 Difference between Architecture and Design47
2.2.3 Architectural Patterns49
2.2.4 Quality-specific Mechanisms and Tactics50
2.2.5 Viewpoint Models51
2.2.6 Architecture Description Languages vs UML52
2.2.7 Architecture Evaluation53
2.3 UML Profiles54
2.3.1 UML profile for Problem Frames55
2.3.2 Architecture Profile59
2.3.3 Dependability Profile61
2.3.4 MARTE Profile62
2.4 Life-Cycle Expressions64
2.5 Variability Modeling64
2.6 Case Study Smart Grid65
2.6.1 Description of Smart Grids67
2.6.2 Functional Requirements68
2.6.3 Security Requirements70
2.6.4 Performance Requirements71
3Framework for Identifying Meta-Requirements72
3.1 Introduction72
3.2 Meta-Requirement Derivation75
3.2.1 Essential Meta-Requirements78
3.2.2 Recommended Meta-Requirements82
3.2.3 Optional Meta-Requirements88
3.2.4 Method Characteristics90
3.3 The Evaluation Framework NIMSAD91
3.3.1 Methodology Context92
3.3.2 Methodology User93
3.3.3 Methodology Contents93
3.3.4 Evaluation94
3.4 Our Proposed Evaluation Framework94
3.5 Related Review96
3.6 Research Method96
3.6.1 Planning Phase96
3.6.2 Conducting Phase100
3.7 Results and Discussion106
3.7.1 Description of Selected Methods107
3.7.2 Results of the SLR112
3.8 Comparative Evaluation118
3.8.1 Value Assignment Schema118
3.8.2 Framework Application125
3.9 Threats to Validity128
3.10 Contributions129
4Phase 1: Context Elicitation129
131129
4.1 Introduction131
4.2 UML4PF Extension for Quality Requirements132
4.3 Method for Problem-oriented Requirement Analysis133
4.4 Related Work146
4.5 Contributions147
5Phase 2: Architectural Pattern Selection147
149147
5.1 Introduction149
5.2 Artifacts and their Relations152
5.3 External Input for the Process154
5.3.1 Question Catalog (Questions)154
5.3.2 Question Catalog (Indicator Questions)156
5.3.3 Relations between Problem Frames and Questions157
5.3.4 Benefits and Liabilities of Architectural Patterns158
5.3.5 Architectural Pattern Catalog160
5.4 The Pattern Selection Process161
5.5 Application to the Case Study Smart Grid165
5.6 Derivation of Initial Architecture181
5.6.1 Design Desicion regarding Architectural Pattern Selection182
5.6.2 Design Desicion regarding Gateway Physical Boundary182
5.6.3 Further Iterations - Problem Diagram Splitting183
5.6.4 Method for Deriving Initial Architecture185
5.7 Related Work193
5.8 Contributions194
6Phase 3: Domain Knowledge Analysis195
6.1 Introduction195
6.2 Structured Meta-Process197
6.3 Structured Object-Process206
6.4 Related Work212
6.5 Contributions214
7Phase 4: Requirements Interaction Analysis215
7.1 Introduction215
7.2 Functional Requirements Interaction Detection218
7.2.1 Sunblind Example218
7.2.2 Method for Functional Requirements Interaction Detection220
7.2.3 Application to the Case Study Smart Grid229
7.3 Method for Quality Requirements Interaction Detection230
7.4 Method for Performance Requirements Analysis240
7.5 Method for Generating Requirement Alternatives251
7.6 Related Work262
7.6.1 Related work with respect to Requirements Interaction262
7.6.2 Related work with respect to Performance Analysis264
7.7 Contributions265
8 Phase 5: Quality-specific Pattern Analysis267
8.1 Introduction267
8.2 Problem-oriented Security Patterns269
8.2.1 UML4PF Extension for Problem-oriented Security Patterns270
8.2.2 Structure of the Problem-oriented Security Patterns271
8.2.3 Problem-oriented Symmetric Encryption Pattern273
8.2.4 Problem-oriented MAC Pattern276
8.2.5 Problem-oriented RBAC Pattern277
8.2.6 Problem-oriented Digital Signature Pattern280
8.2.7 Problem-oriented Asymmetric Encryption Pattern282
8.3 Problem-oriented Performance Patterns284
8.3.1 UML4PF Extension for Problem-oriented Performance Patterns284
8.3.2 Structure of the Problem-oriented Performance Patterns285
8.3.3 Problem-oriented First Things First (FTF) Pattern289
8.3.4 Problem-oriented Flex Time (FT) Pattern290
8.3.5 Problem-oriented Master-Worker (MW) Pattern291
8.3.6 Problem-oriented Load Balancer (LB) Pattern293
8.4 Discussion294
8.5 Mapping Requirements to Quality Solutions298
8.5.1 UML4PF Extension for Mapping Requirements to their Solution Alternatives298
8.5.2 Problem-Solution Diagram302
8.6 Related Work305
8.6.1 Related work with respect to Security and Performance305
8.6.2 Related work with respect to Variability306
8.7 Contributions308
9Phase 6: Quality-specific Pattern Selection308
309308
9.1 Introduction309