ENGLISH

Software Architecture in Practice

Book information

Publisher
Addison-Wesley
Year
2012
ISBN
9780132942782, 013294278X
Language
english
Format
PDF
Filesize
6 MB (5870039 bytes)
Series
Sei Series in Software Engineering
Edition
3rd revised edition
Pages
624\620
Time added
2020-04-07 04:22:01

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 Cover Copyright Contents Preface Reader's Guide Acknowledgments PART ONE: INTRODUCTION 1 What Is Software Architecture? 1.1 What Software Architecture Is and What It Isn't 1.2 Architectural Structures and Views 1.3 Architectural Patterns 1.4 What Makes a "Good" Architecture? 1.5 Summary 1.6 For Further Reading 1.7 Discussion Questions 2 Why Is Software Architecture Important? 2.1 Inhibiting or Enabling a System's Quality Attributes 2.2 Reasoning About and Managing Change 2.3 Predicting System Qualities 2.4 Enhancing Communication among Stakeholders 2.5 Carrying Early Design Decisions 2.6 Defining Constraints on an Implementation 2.7 Influencing the Organizational Structure 2.8 Enabling Evolutionary Prototyping 2.9 Improving Cost and Schedule Estimates 2.10 Supplying a Transferable, Reusable Model 2.11 Allowing Incorporation of Independently Developed Components 2.12 Restricting the Vocabulary of Design Alternatives 2.13 Providing a Basis for Training 2.14 Summary 2.15 For Further Reading 2.16 Discussion Questions 3 The Many Contexts of Software Architecture 3.1 Architecture in a Technical Context 3.2 Architecture in a Project Life-Cycle Context 3.3 Architecture in a Business Context 3.4 Architecture in a Professional Context 3.5 Stakeholders 3.6 How Is Architecture Influenced? 3.7 What Do Architectures Influence? 3.8 Summary 3.9 For Further Reading 3.10 Discussion Questions PART TWO: QUALITY ATTRIBUTES 4 Understanding Quality Attributes 4.1 Architecture and Requirements 4.2 Functionality 4.3 Quality Attribute Considerations 4.4 Specifying Quality Attribute Requirements 4.5 Achieving Quality Attributes through Tactics 4.6 Guiding Quality Design Decisions 4.7 Summary 4.8 For Further Reading 4.9 Discussion Questions 5 Availability 5.1 Availability General Scenario 5.2 Tactics for Availability 5.3 A Design Checklist for Availability 5.4 Summary 5.5 For Further Reading 5.6 Discussion Questions 6 Interoperability 6.1 Interoperability General Scenario 6.2 Tactics for Interoperability 6.3 A Design Checklist for Interoperability 6.4 Summary 6.5 For Further Reading 6.6 Discussion Questions 7 Modifiability 7.1 Modifiability General Scenario 7.2 Tactics for Modifiability 7.3 A Design Checklist for Modifiability 7.4 Summary 7.5 For Further Reading 7.6 Discussion Questions 8 Performance 8.1 Performance General Scenario 8.2 Tactics for Performance 8.3 A Design Checklist for Performance 8.4 Summary 8.5 For Further Reading 8.6 Discussion Questions 9 Security 9.1 Security General Scenario 9.2 Tactics for Security 9.3 A Design Checklist for Security 9.4 Summary 9.5 For Further Reading 9.6 Discussion Questions 10 Testability 10.1 Testability General Scenario 10.2 Tactics for Testability 10.3 A Design Checklist for Testability 10.4 Summary 10.5 For Further Reading 10.6 Discussion Questions 11 Usability 11.1 Usability General Scenario 11.2 Tactics for Usability 11.3 A Design Checklist for Usability 11.4 Summary 11.5 For Further Reading 11.6 Discussion Questions 12 Other Quality attributes 12.1 Other Important Quality Attributes 12.2 Other Categories of Quality Attributes 12.3 Software Quality Attributes and System Quality Attributes 12.4 Using Standard Lists of Quality Attributes— or Not 12.5 Dealing with "X-ability": Bringing a New Quality Attribute into the Fold 12.6 For Further Reading 12.7 Discussion Questions 13 Architectural Tactics and Patterns 13.1 Architectural Patterns 13.2 Overview of the Patterns Catalog 13.3 Relationships between Tactics and Patterns 13.4 Using Tactics Together 13.5 Summary 13.6 For Further Reading 13.7 Discussion Questions 14 Quality Attribute Modeling and Analysis 14.1 Modeling Architectures to Enable Quality Attribute Analysis 14.2 Quality Attribute Checklists 14.3 Thought Experiments and Back-of-the-Envelope Analysis 14.4 Experiments, Simulations, and Prototypes 14.5 Analysis at Different Stages of the Life Cycle 14.6 Summary 14.7 For Further Reading 14.8 Discussion Questions PART THREE: ARCHITECTURE IN THE LIFE CYCLE 15 Architecture in Agile Projects 15.1 How Much Architecture? 15.2 Agility and Architecture Methods 15.3 A Brief Example of Agile Architecting 15.4 Guidelines for the Agile Architect 15.5 Summary 15.6 For Further Reading 15.7 Discussion Questions 16 Architecture and Requirements 16.1 Gathering ASRs from Requirements Documents 16.2 Gathering ASRs by Interviewing Stakeholders 16.3 Gathering ASRs by Understanding the Business Goals 16.4 Capturing ASRs in a Utility Tree 16.5 Tying the Methods Together 16.6 Summary 16.7 For Further Reading 16.8 Discussion Questions 17 Designing an Architecture 17.1 Design Strategy 17.2 The Attribute-Driven Design Method 17.3 The Steps of ADD 17.4 Summary 17.5 For Further Reading 17.6 Discussion Questions 18 Documenting Software Architectures 18.1 Uses and Audiences for Architecture Documentation 18.2 Notations for Architecture Documentation 18.3 Views 18.4 Choosing the Views 18.5 Combining Views 18.6 Building the Documentation Package 18.7 Documenting Behavior 18.8 Architecture Documentation and Quality Attributes 18.9 Documenting Architectures That Change Faster Than You Can Document Them 18.10 Documenting Architecture in an Agile Development Project 18.11 Summary 18.12 For Further Reading 18.13 Discussion Questions 19 Architecture, Implementation, and Testing 19.1 Architecture and Implementation 19.2 Architecture and Testing 19.3 Summary 19.4 For Further Reading 19.5 Discussion Questions 20 Architecture Reconstruction and conformance 20.1 Architecture Reconstruction Process 20.2 Raw View Extraction 20.3 Database Construction 20.4 View Fusion 20.5 Architecture Analysis: Finding Violations 20.6 Guidelines 20.7 Summary 20.8 For Further Reading 20.9 Discussion Questions 21 Architecture Evaluation 21.1 Evaluation Factors 21.2 The Architecture Tradeoff Analysis Method 21.3 Lightweight Architecture Evaluation 21.4 Summary 21.5 For Further Reading 21.6 Discussion Questions 22 Management and Governance 22.1 Planning 22.2 Organizing 22.3 Implementing 22.4 Measuring 22.5 Governance 22.6 Summary 22.7 For Further Reading 22.8 Discussion Questions PART FOUR: ARCHITECTURE AND BUSINESS 23 Economic Analysis of Architectures 23.1 Decision-Making Context 23.2 The Basis for the Economic Analyses 23.3 Putting Theory into Practice: The CBAM 23.4 Case Study: The NASA ECS Project 23.5 Summary 23.6 For Further Reading 23.7 Discussion Questions 24 Architecture Competence 24.1 Competence of Individuals: Duties, Skills, and Knowledge of Architects 24.2 Competence of a Software Architecture Organization 24.3 Summary 24.4 For Further Reading 24.5 Discussion Questions 25 Architecture and Software Product Lines 25.1 An Example of Product Line Variability 25.2 What Makes a Software Product Line Work? 25.3 Product Line Scope 25.4 The Quality Attribute of Variability 25.5 The Role of a Product Line Architecture 25.6 Variation Mechanisms 25.7 Evaluating a Product Line Architecture 25.8 Key Software Product Line Issues 25.9 Summary 25.10 For Further Reading 25.11 Discussion Questions PART FIVE: THE BRAVE NEW WORLD 26 Architecture in the Cloud 26.1 Basic Cloud Definitions 26.2 Service Models and Deployment Options 26.3 Economic Justification 26.4 Base Mechanisms 26.5 Sample Technologies 26.6 Architecting in a Cloud Environment 26.7 Summary 26.8 For Further Reading 26.9 Discussion Questions 27 Architectures for the Edge 27.1 The Ecosystem of Edge-Dominant Systems 27.2 Changes to the Software Development Life Cycle 27.3 Implications for Architecture 27.4 Implications of the Metropolis Model 27.5 Summary 27.6 For Further Reading 27.7 Discussion Questions 28 Epilogue References About the Authors Index A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Similar books

Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36

Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36

2010 · PDF

THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.

THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.

1858 · PDF

Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.

Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.

2022 · PDF