Software Architecture in Practice, 3rd Edition Front Cover

Software Architecture in Practice, 3rd Edition

Description

The award-winning and highly influential Software Architecture in Practice, Third Edition, has been substantially revised to reflect the latest developments in the field. In a real-world setting, the book once again introduces the concepts and best practices of software architecture—how a software system is structured and how that system’s elements are meant to interact. Distinct from the details of implementation, algorithm, and data representation, an architecture holds the key to achieving system quality, is a reusable asset that can be applied to subsequent systems, and is crucial to a software organization’s business strategy.

The authors have structured this edition around the concept of architecture influence cycles. Each cycle shows how architecture influences, and is influenced by, a particular context in which architecture plays a critical role. Contexts include technical environment, the life cycle of a project, an organization’s business profile, and the architect’s professional practices. The authors also have greatly expanded their treatment of quality attributes, which remain central to their architecture philosophy—with an entire chapter devoted to each attribute—and broadened their treatment of architectural patterns.

If you design, develop, or manage large software systems (or plan to do so), you will find this book to be a valuable resource for getting up to speed on the state of the art.

Totally new material covers

  • Contexts of software architecture: technical, project, business, and professional
  • Architecture competence: what this means both for individuals and organizations
  • The origins of business goals and how this affects architecture
  • Architecturally significant requirements, and how to determine them
  • Architecture in the life cycle, including generate-and-test as a design philosophy; architecture conformance during implementation; architecture and testing; and architecture and agile development
  • Architecture and current technologies, such as the cloud, social networks, and end-user devices

Table of Contents

PART ONE: INTRODUCTION
CHAPTER 1 What Is Software Architecture?
CHAPTER 2 Why Is Software Architecture Important?
CHAPTER 3 The Many Contexts of Software Architecture

PART TWO: QUALITY ATTRIBUTES
CHAPTER 4 Understanding Quality Attributes
CHAPTER 5 Availability
CHAPTER 6 Interoperability
CHAPTER 7 Modifiability
CHAPTER 8 Performance
CHAPTER 9 Security
CHAPTER 10 Testability
CHAPTER 11 Usability
CHAPTER 12 Other Quality attributes
CHAPTER 13 Architectural Tactics and Patterns
CHAPTER 14 Quality Attribute Modeling and Analysis

PART THREE: ARCHITECTURE IN THE LIFE CYCLE
CHAPTER 15 Architecture in Agile Projects
CHAPTER 16 Architecture and Requirements
CHAPTER 17 Designing an Architecture
CHAPTER 18 Documenting Software Architectures
CHAPTER 19 Architecture, Implementation, and Testing
CHAPTER 20 Architecture Reconstruction and conformance
CHAPTER 21 Architecture Evaluation
CHAPTER 22 Management and Governance

PART FOUR: ARCHITECTURE AND BUSINESS
CHAPTER 23 Economic Analysis of Architectures
CHAPTER 24 Architecture Competence
CHAPTER 25 Architecture and Software Product Lines

PART FIVE: THE BRAVE NEW WORLD
CHAPTER 26 Architecture in the Cloud
CHAPTER 27 Architectures for the Edge
CHAPTER 28 Epilogue

To access the link, solve the captcha.