Software Architecture in Practice (inbunden)
Fler böcker inom
Inbunden (Hardback)
Antal sidor
Clements, Paul / Kazman, Rick
228 x 152 x 44 mm
1025 g
Antal komponenter
Software Architecture in Practice (inbunden)

Software Architecture in Practice

(4 röster)  |  Läs 1 recension
Inbunden Engelska, 2012-10-01
Finns i lager! Skickas inom 1-2 vardagar.
Fri frakt inom Sverige för privatpersoner.
Finns även som
Visa alla 1 format & utgåvor
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 architecturehow a software system is structured and how that systems 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 organizations 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 organizations business profile, and the architects professional practices. The authors also have greatly expanded their treatment of quality attributes, which remain central to their architecture philosophywith an entire chapter devoted to each attributeand 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
Visa hela texten

Passar bra ihop

  1. Software Architecture in Practice
  2. +
  3. Pattern-Oriented Software Architecture: Pattern-Oriented Software Architecture Pattern Language for Distributed Object Computing

De som köpt den här boken har ofta också köpt Pattern-Oriented Software Architecture: Pattern... av Frank Buschmann, Kevlin Henney, Douglas C Schmidt (inbunden).

Köp båda 2 för 1068 kr


Det finns 1 recension av Software Architecture in Practice. Har du också läst boken? Sätt ditt betyg »
  1. Mycket bra bok! Ger en bra start på mjukvaruarkitektur...
    Emil Carlsson, 15 april 2013

    Mycket bra bok! Ger en bra start på mjukvaruarkitektur och som läsare får man en stabil grund att stå på för att sedan gå vidare mot mer avancerade böcker/information. Väl värd att köpa som kurslitteratur eller referenslitteratur.

Visa alla 1 recensioner

Bloggat om Software Architecture in Practice

Övrig information

Len Bass is a Senior Principal Researcher at National ICT Australia Ltd (NICTA). He joined NICTA in 2011 after twenty-five years at the Software Engineering Institute (SEI) at Carnegie Mellon University. He is the coauthor of two award-winning books in software architecture, including Documenting Software Architectures: Views and Beyond, Second Edition (Addison-Wesley, 2011), as well as several other books and numerous papers in computer science and software engineering on a wide range of topics. Len has almost fifty years' experience in software development and research in multiple domains, such as scientific analysis systems, embedded systems, and information systems. Paul Clements is the Vice President of Customer Success at BigLever Software, Inc., where he works to spread the adoption of systems and software product line engineering. Prior to this position, he was Senior Member of the Technical Staff at the SEI, where, for 17 years, he lead or co-lead projects in software product line engineering and software architecture documentation and analysis. Other books Paul has coauthored include Documenting Software Architectures: Views and Beyond, Second Edition (Addison-Wesley, 2011) and Evaluating Software Architectures: Methods and Case Studies, (Addison-Wesley, 2002), and Software Product Lines: Practices and Patterns (Addison-Wesley, 2002). In addition, he has also published dozens of papers in software engineering reflecting his long-standing interest in the design and specification of challenging software systems. Paul was a founding member of the IFIP WG2.10 Working Group on Software Architecture. Rick Kazman is a professor at the University of Hawaii and a Visiting Scientist (and former Senior Member of the Technical Staff) at the SEI. He is a coauthor of Evaluating Software Architectures: Methods and Case Studies, (Addison-Wesley, 2002). Rick's primary research interests are software architecture, design and analysis tools, software visualization, and software engineering economics. He is also interested in human-computer interaction and information retrieval. Rick was one of the creators of several highly influential methods and tools for architecture analysis, including the SAAM (Software Architecture Analysis Method), the ATAM (Architecture Tradeoff Analysis Method), the CBAM (Cost-Benefit Analysis Method), and the Dali architecture reverse engineering tool.


Preface xv

Readers Guide xvii

Acknowledgments xix


Part One: Introduction 1


Chapter 1: What Is Software Architecture? 3

1.1 What Software Architecture Is and What It Isnt 4

1.2 Architectural Structures and Views 9

1.3 Architectural Patterns 18

1.4 What Makes a Good Architecture? 19

1.5 Summary 21

1.6 For Further Reading 22

1.7 Discussion Questions 23


Chapter 2: Why Is Software Architecture Important? 25

2.1 Inhibiting or Enabling a Systems Quality Attributes 26

2.2 Reasoning About and Managing Change 27

2.3 Predicting System Qualities 28

2.4 Enhancing Communication among Stakeholders 29

2.5 Carrying Early Design Decisions 31

2.6 Defining Constraints on an Implementation 32

2.7 Influencing the Organizational Structure 33

2.8 Enabling Evolutionary Prototyping 33

2.9 Improving Cost and Schedule Estimates 34

2.10 Supplying a Transferable, Reusable Model 35

2.11 Allowing Incorporation of Independently Developed Components 35

2.12 Restricting the Vocabulary of Design Alternatives 36

2.13 Providing a Basis for Training 37

2.14 Summary 37

2.15 For Further Reading 38

2.16 Discussion Questions 38


Chapter 3: The Many Contexts of Software Architecture 39

3.1 Architecture in a Technical Context 40

3.2 Architecture in a Project Life-Cycle Context 44

3.3 Architecture in a Business Context 49

3.4 Architecture in a Professional Context 51

3.5 Stakeholders 52

3.6 How Is Architecture Influenced? 56

3.7 What Do Architectures Influence? 57

3.8 Summary 59

3.9 For Further Reading 59

3.10 Discussion Questions 60


Part Two: Quality Attributes 61


Chapter 4: Understanding Quality Attributes 63

4.1 Architecture and Requirements 64

4.2 Functionality 65

4.3 Quality Attribute Considerations 65

4.4 Specifying Quality Attribute Requirements 68

4.5 Achieving Quality Attributes through Tactics 70

4.6 Guiding Quality Design Decisions 72

4.7 Summary 76

4.8 For Further Reading 77

4.9 Discussion Questions 77


Chapter 5: Availability 79

5.1 Availability General Scenario 85

5.2 Tactics for Availability 87

5.3 A Design Checklist for Availability 96

5.4 Summary 98

5.5 For Further Reading 99

5.6 Discussion Questions 100


Chapter 6: Interoperability 103

6.1 Interoperability General Scenario 107

6.2 Tactics for Interoperability 110

6.3 A Design Checklist for Interoperability 114

6.4 Summary 115

6.5 For Further Reading 116

6.6 Discussion Questions...