Home > Store > Software Development & Management > Architecture and Design

Process of Software Architecting, The

Process of Software Architecting, The

eBook (Watermarked)

  • Your Price: $31.99
  • List Price: $39.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.

Also available in other formats.

Register your product to gain access to bonus material or receive a coupon.


  • Copyright 2010
  • Pages: 432
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-265126-2
  • ISBN-13: 978-0-13-265126-4

A Comprehensive Process for Defining Software Architectures That Work

A good software architecture is the foundation of any successful software system. Effective architecting requires a clear understanding of organizational roles, artifacts, activities performed, and the optimal sequence for performing those activities.

With The Process of Software Architecting, Peter Eeles and Peter Cripps provide guidance on these challenges by covering all aspects of architecting a software system, introducing best-practice techniques that apply in every environment, whether based on Java EE, Microsoft .NET, or other technologies. Eeles and Cripps first illuminate concepts related to software architecture, including architecture documentation and reusable assets. Next, they present an accessible, task-focused guided tour through a typical project, focusing on the architect’s role, with common issues illuminated and addressed throughout. Finally, they conclude with a set of best practices that can be applied to today’s most complex systems.

You will come away from this book understanding

  • The role of the architect in a typical software development project
  • How to document a software architecture to satisfy the needs of different stakeholders
  • The applicability of reusable assets in the process of architecting
  • The role of the architect with respect to requirements definition
  • The derivation of an architecture based on a set of requirements
  • The relevance of architecting in creating complex systems
The Process of Software Architecting will be an indispensable resource for every working and aspiring software architect–and for every project manager and other software professional who needs to understand how architecture influences their work.

Sample Content

Table of Contents

Foreword      xvii
Preface      xix
Acknowledgments      xxiii
About the Authors      xxv

Chapter 1: Introduction      1
Applying the Process 2
The Process in Brief 2
Scope 8
Summary 8

Chapter 2: Architecture, Architect, Architecting      9
Architecture 9
Architect 21
The Benefits of Architecting 35
Summary 40

Chapter 3: Method Fundamentals      43
Key Concepts 43
Method Content 46
Process 50
Summary 59

Chapter 4: Documenting a Software Architecture      61
The End Game 62
Key Concepts 64
Viewpoints and Views 65
Models 72
Characteristics of an Architecture Description Framework 75
An Architecture Description Framework 81
The Software Architecture Document 87
Summary 88

Chapter 5: Reusable Architecture Assets      89
Sources of Architecture 89
An Architecture Asset Metamodel 90
Asset Types 94
Attributes of an Architecture Asset 103
Other Reuse Considerations 106
Summary 106

Chapter 6: Introduction to the Case Study      107
Applying the Process 107
Scope of the Case Study 110
Application Overview 115
The YourTour Vision 118
Summary 123

Chapter 7: Defining the Requirements      125
Relating Requirements to Architecture 128
Functional and Non-Functional Requirements 130
Techniques for Documenting Requirements 131
Applying the Process 132
Understanding the Task Descriptions 133
Define Requirements: Activity Overview 134
Task: Collect Stakeholder Requests 136
Task: Capture Common Vocabulary 141
Task: Define System Context 143
Task: Outline Functional Requirements 149
Task: Outline Non-Functional Requirements 156
Task: Prioritize Requirements 160
Task: Detail Functional Requirements 164
Task: Detail Non-Functional Requirements 171
Task: Update Software Architecture Document 174
Task: Review Requirements with Stakeholders 175
Summary 176

Chapter 8: Creating the Logical Architecture      179
Moving from Requirements to Solution 182
How Much Logical Architecture? 185
Applying the Process 188
Create Logical Architecture: Activity Overview 188
Task: Survey Architecture Assets 192
Task: Define Architecture Overview 194
Task: Document Architecture Decisions 200
Task: Outline Functional Elements 204
Task: Outline Deployment Elements 222
Task: Verify Architecture 228
Task: Build Architecture Proof-of-Concept 232
Task: Detail Functional Elements 234
Task: Detail Deployment Elements 245
Task: Validate Architecture 251
Task: Update Software Architecture Document 256
Task: Review Architecture with Stakeholders 258
Summary 260

Chapter 9: Creating the Physical Architecture      261
Moving from Logical to Physical Architecture 263
Applying the Process 265
Creating the Physical Architecture: Activity Overview 266
Task: Survey Architecture Assets 269
Task: Define Architecture Overview 270
Task: Document Architecture Decisions 273
Task: Outline Functional Elements 274
Task: Outline Deployment Elements 289
Task: Verify Architecture 292
Task: Build Architecture Proof-of-Concept 293
Task: Detail Functional Elements 294
Task: Detail Deployment Elements 296
Task: Validate Architecture 300
Task: Update Software Architecture Document 301
Task: Review Architecture with Stakeholders 301
Summary 302

Chapter 10: Beyond the Basics      303
The Architect and the Project Team 303
The Architect and External Influences 313
Architecting Complex Systems 318
Summary 330
In Conclusion: A Note from the Authors 331

Appendix A: Software Architecture Metamodel      333
Definition of Metamodel Terms 335

Appendix B: Viewpoint Catalog      339
Stakeholder Summary 340
Basic Viewpoints 341
Cross-Cutting Viewpoints 344
View Correspondence 347

Appendix C: Method Summary       351
Roles 351
Work Products 354
Activities 356
Tasks 356
Phases 362

Appendix D: Architectural Requirement Checklist      365
Functional Requirements 366
Usability Requirements 366
Reliability Requirements 367
Performance Requirements 367
Supportability Requirements 368
Constraints 368

Glossary 373
References 379
Index 385


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership