
Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives
Versandkostenfrei!
Versandfertig in 2-4 Wochen
75,99 €
inkl. MwSt.
Weitere Ausgaben:
PAYBACK Punkte
38 °P sammeln!
As systems grow increasingly large, complex, and costly, software architecture becomes ever more crucial. Software Systems Architecture, 2/e, is the leading practitioner's guide to designing and implementing effective information system architectures. Authors Nick Rozanski and Eoin Woods have systematically updated their highly-praised first edition, while retaining the clarity, accessibility, objectivity, and practical focus that have made it indispensable to working architects. Rozanski and Woods focus on real-world issues, superbly blend business and technical concerns, and offer insights that are relevant in all environments, regardless of methodology. Their extensive updates to this edition include:
A new System Context Viewpoint, added to the authors' well-received architectural metamodel
Expanded discussions of using architectural principles to provide traceability and expose decision-making rationales
A discussion of how agile development and architecture can work together
Updated, expanded description of enterprise architecture
Expanded discussion of relationships between requirements and architecture
New "Questions for Discussion"
Updated bibliography and reading lists
Product Description
Software Systems Architecture, Second Edition is a highly regarded, practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices.
With this book you will learn how to
Design and communicate an architecture that reflects and balances the different needs of its stakeholders
Focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location
Use scenarios and patterns to drive the creation and validation of your architecture
Document your architecture as a set of related views
Reflecting new standards and developments in the field, this new edition extends and updates much of the content, and
Adds a "system context viewpoint" that documents the system's interactions with its environment
Expands the discussion of architectural principles, showing how they can be used to provide traceability and rationale for architectural decisions
Explains how agile development and architecture can work together
Positions requirements and architecture activities in the project context
Presents a new lightweight method for architectural validation
Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects. A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info .
Preface to the Second Edition xv Acknowledgments for the Second Edition xvi
Preface to the First Edition xvii
Acknowledgments xx
Chapter 1: Introduction 1
Stakeholders, Viewpoints, and Perspectives 1
The Structure of This Book 7
Who Should Read This Book 7
Conventions Used 8
Part I: Architecture Fundamentals 9
Chapter 2: Software Architecture Concepts 11
Software Architecture 11
Architectural Elements 20
Stakeholders 21
Architectural Descriptions 24
Relationships between the Core Concepts 26
Summary 27
Further Reading 28
Chapter 3: Viewpoints and Views 31
Architectural Views 34
Viewpoints 36
Relationships between the Core Concepts 37
The Benefits of Using Viewpoints and Views 38
Viewpoint Pitfalls 39
Our Viewpoint Catalog 39
Summary 43
Further Reading 43
Chapter 4: Architectural Perspectives 45
Quality Properties 45
Architectural Perspectives 47
Applying Perspectives to Views 51
Consequences of Applying a Perspective 54
Relationships between the Core Concepts 56
The Benefits of Using Perspectives 56
Perspective Pitfalls 58
Comparing Perspectives to Viewpoints 58
Our Perspective Catalog 60
Summary 61
Further Reading 62
Chapter 5: The Role Of The Software Architect 63
The Architecture Definition Process 64
The Role of the Architect 68
Interrelationships between the Core Concepts 71
Architectural Specializations 72
The Organizational Context 73
The Architect's Skills 76
The Architect's Responsibilities 77
Summary 78
Further Reading 79
Part II: The Process of Software Architecture 81
Chapter 6: Introduction to the Software Architecture Process 83
Chapter 7: The Architecture Definition Process 85
Guiding Principles 85
Process Outcomes 86
The Process Context 87
Supporting Activities 89
Architecture Definition Activities 92
Process Exit Criteria 97
Architecture Definition in the Software Development Lifecycle 98
Summary 102
Further Reading 103
Chapter 8: Concerns, Principles, and Decisions 105
Problem-Focused Concerns 108
Solution-Focused Concerns 111
Other Real-World Constraints 114
What Makes a Good Concern 116
Architectural Principles 117
Architectural Decisions 122
Using Principles to Link Concerns and Decisions 125
Checklist 128
Summary 128
Further Reading 129
Chapter 9: Identifying and Engaging Stakeholders 131
Selection of Stakeholders 131
Classes of Stakeholders 133
Examples 138
Proxy Stakeholders 140
Stakeholder Groups 141
Stakeholders' Responsibilities 141
Checklist 142
Summary 142
Further Reading 143
Chapter 10: Identifying and Using Scenarios 145
Types of Scenarios 146
Uses for Scenarios 147
Identifying and Prioritizing Scenarios 148
Capturing Scenarios 149
What Makes a Good Scenario? 153
Applying Scenarios 154
Effective Use of Scenarios 157
Checklist 159
Summary 159
Further Reading 160
Chapter 11: Using Styles and Patterns 161
Introducing Design Patterns 161
Styles, Patterns, and Idioms 164
Patterns and Architectural Tactics 166
An Example of an Architectural Style 167
The Benefits of Using Architectural Styles 170
Styles and the Architectural Description 172
Applying Design Patterns and Language Idioms 172
Checklist 174
Summary 174
Further Reading 175
Chapter 12: Producing Architectural Models 177
Why Models Are Important 178
Types of Models 181
Modeling Languages 184
Guidelines for Creating Effective Models 187
Modeling with Agile Teams 193
Checklist 194
Summary 195
Further Reading 196
Chapter 13: Creating the Architectural Description 197
Properties of an Effective Architectural Description 198
Glossaries 206
The ISO Standard 206
Contents of the Architectural Description 207
Presenting the Architectural Description 213
Checklist 215
Summary 216
Further Reading 216
Chapter 14: Evaluating the Architecture 217
Why Evaluate the Architecture? 218
Evaluation Techniques 219
Scenario-Based Evaluation Methods 226
Evaluation during the Software Lifecycle 230
Validating the Architecture of an Existing System 233
Recording the Results of Evaluation 236
Choosing an Evaluation Approach 237
Checklist 238
Summary 238
Further Reading 239
Part III: A Viewpoint Catalog 241
Chapter 15: Introduction to the Viewpoint Catalog 243
Chapter 16: The Context Viewpoint 247
Concerns 248
Models 255
Problems and Pitfalls 261
Checklist 265
Further Reading 266
Chapter 17: The Functional Viewpoint
A new System Context Viewpoint, added to the authors' well-received architectural metamodel
Expanded discussions of using architectural principles to provide traceability and expose decision-making rationales
A discussion of how agile development and architecture can work together
Updated, expanded description of enterprise architecture
Expanded discussion of relationships between requirements and architecture
New "Questions for Discussion"
Updated bibliography and reading lists
Product Description
Software Systems Architecture, Second Edition is a highly regarded, practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices.
With this book you will learn how to
Design and communicate an architecture that reflects and balances the different needs of its stakeholders
Focus on architecturally significant aspects of design, including frequently overlooked areas such as performance, resilience, and location
Use scenarios and patterns to drive the creation and validation of your architecture
Document your architecture as a set of related views
Reflecting new standards and developments in the field, this new edition extends and updates much of the content, and
Adds a "system context viewpoint" that documents the system's interactions with its environment
Expands the discussion of architectural principles, showing how they can be used to provide traceability and rationale for architectural decisions
Explains how agile development and architecture can work together
Positions requirements and architecture activities in the project context
Presents a new lightweight method for architectural validation
Whether you are an aspiring or practicing software architect, you will find yourself referring repeatedly to the practical advice in this book throughout the lifecycle of your projects. A supporting Web site containing further information can be found at www.viewpoints-and-perspectives.info .
Preface to the Second Edition xv Acknowledgments for the Second Edition xvi
Preface to the First Edition xvii
Acknowledgments xx
Chapter 1: Introduction 1
Stakeholders, Viewpoints, and Perspectives 1
The Structure of This Book 7
Who Should Read This Book 7
Conventions Used 8
Part I: Architecture Fundamentals 9
Chapter 2: Software Architecture Concepts 11
Software Architecture 11
Architectural Elements 20
Stakeholders 21
Architectural Descriptions 24
Relationships between the Core Concepts 26
Summary 27
Further Reading 28
Chapter 3: Viewpoints and Views 31
Architectural Views 34
Viewpoints 36
Relationships between the Core Concepts 37
The Benefits of Using Viewpoints and Views 38
Viewpoint Pitfalls 39
Our Viewpoint Catalog 39
Summary 43
Further Reading 43
Chapter 4: Architectural Perspectives 45
Quality Properties 45
Architectural Perspectives 47
Applying Perspectives to Views 51
Consequences of Applying a Perspective 54
Relationships between the Core Concepts 56
The Benefits of Using Perspectives 56
Perspective Pitfalls 58
Comparing Perspectives to Viewpoints 58
Our Perspective Catalog 60
Summary 61
Further Reading 62
Chapter 5: The Role Of The Software Architect 63
The Architecture Definition Process 64
The Role of the Architect 68
Interrelationships between the Core Concepts 71
Architectural Specializations 72
The Organizational Context 73
The Architect's Skills 76
The Architect's Responsibilities 77
Summary 78
Further Reading 79
Part II: The Process of Software Architecture 81
Chapter 6: Introduction to the Software Architecture Process 83
Chapter 7: The Architecture Definition Process 85
Guiding Principles 85
Process Outcomes 86
The Process Context 87
Supporting Activities 89
Architecture Definition Activities 92
Process Exit Criteria 97
Architecture Definition in the Software Development Lifecycle 98
Summary 102
Further Reading 103
Chapter 8: Concerns, Principles, and Decisions 105
Problem-Focused Concerns 108
Solution-Focused Concerns 111
Other Real-World Constraints 114
What Makes a Good Concern 116
Architectural Principles 117
Architectural Decisions 122
Using Principles to Link Concerns and Decisions 125
Checklist 128
Summary 128
Further Reading 129
Chapter 9: Identifying and Engaging Stakeholders 131
Selection of Stakeholders 131
Classes of Stakeholders 133
Examples 138
Proxy Stakeholders 140
Stakeholder Groups 141
Stakeholders' Responsibilities 141
Checklist 142
Summary 142
Further Reading 143
Chapter 10: Identifying and Using Scenarios 145
Types of Scenarios 146
Uses for Scenarios 147
Identifying and Prioritizing Scenarios 148
Capturing Scenarios 149
What Makes a Good Scenario? 153
Applying Scenarios 154
Effective Use of Scenarios 157
Checklist 159
Summary 159
Further Reading 160
Chapter 11: Using Styles and Patterns 161
Introducing Design Patterns 161
Styles, Patterns, and Idioms 164
Patterns and Architectural Tactics 166
An Example of an Architectural Style 167
The Benefits of Using Architectural Styles 170
Styles and the Architectural Description 172
Applying Design Patterns and Language Idioms 172
Checklist 174
Summary 174
Further Reading 175
Chapter 12: Producing Architectural Models 177
Why Models Are Important 178
Types of Models 181
Modeling Languages 184
Guidelines for Creating Effective Models 187
Modeling with Agile Teams 193
Checklist 194
Summary 195
Further Reading 196
Chapter 13: Creating the Architectural Description 197
Properties of an Effective Architectural Description 198
Glossaries 206
The ISO Standard 206
Contents of the Architectural Description 207
Presenting the Architectural Description 213
Checklist 215
Summary 216
Further Reading 216
Chapter 14: Evaluating the Architecture 217
Why Evaluate the Architecture? 218
Evaluation Techniques 219
Scenario-Based Evaluation Methods 226
Evaluation during the Software Lifecycle 230
Validating the Architecture of an Existing System 233
Recording the Results of Evaluation 236
Choosing an Evaluation Approach 237
Checklist 238
Summary 238
Further Reading 239
Part III: A Viewpoint Catalog 241
Chapter 15: Introduction to the Viewpoint Catalog 243
Chapter 16: The Context Viewpoint 247
Concerns 248
Models 255
Problems and Pitfalls 261
Checklist 265
Further Reading 266
Chapter 17: The Functional Viewpoint
As systems grow increasingly large, complex, and costly, software architecture becomes ever more crucial. Software Systems Architecture, 2/e, is the leading practitioner's guide to designing and implementing effective information system architectures. Authors Nick Rozanski and Eoin Woods have systematically updated their highly-praised first edition, while retaining the clarity, accessibility, objectivity, and practical focus that have made it indispensable to working architects. Rozanski and Woods focus on real-world issues, superbly blend business and technical concerns, and offer insights that are relevant in all environments, regardless of methodology. Their extensive updates to this edition include:
A new System Context Viewpoint, added to the authors' well-received architectural metamodel
Expanded discussions of using architectural principles to provide traceability and expose decision-making rationales
A discussion of how agile development and architecture can work together
Updated, expanded description of enterprise architecture
Expanded discussion of relationships between requirements and architecture
New "Questions for Discussion"
Updated bibliography and reading lists
A new System Context Viewpoint, added to the authors' well-received architectural metamodel
Expanded discussions of using architectural principles to provide traceability and expose decision-making rationales
A discussion of how agile development and architecture can work together
Updated, expanded description of enterprise architecture
Expanded discussion of relationships between requirements and architecture
New "Questions for Discussion"
Updated bibliography and reading lists
Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.