《软件体系结构 一门初露端倪学科的展望》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:MaryShaw,DavidGarlan著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1998
  • ISBN:730202832X
  • 页数:244 页
图书介绍:内容简介本书为处理目前能见到的软件体系结构提供了最好的通用架构和技术走向。全书9章分别为:绪论:体系结构风格:实例分析:共享信息系统:体系结构设计指导;形式模型与规格说明;语言学问题;体系结构设计的工具;软件设计之教育。软件专业开发人员通过本书会汲取到新思路,学生从本书会学到从体系结构的视角来处理系统组织的有益技术。本书旣可作软件体系结构课程的教材也可作软件工程或软件设计课程的补充教材。

CHAPTER 3 Case Studies 33

3.1 Key Word in Context 33

3.1.1 Solution 1: Main Program/Subroutine with Shared Data 34

3.1.2 Solution 2: Abstract Data Types 35

3.1.3 Solution 3: Implicit Invocation 36

3.1.4 Solution 4: Pipes and Filters 37

3.1.5 Comparisons 38

3.2 Instrumentation Software 39

3.2.1 An Object-Oriented Model 39

3.2.2 A Layered Model 40

3.2.3 A Pipe-and-Filter Model 41

3.2.4 A Modified Pipe-and Filter Model 41

3.2.5 Further Specialization 42

3.2.6 Summary 42

3.3.1 Design Considerations 43

By Marco Schumacher 43

3.3 Mobile Robotics 43

3.3.2 Solution 1: Control Loop 44

3.3.3 Solution 2: Layered Architecture 45

3.3.4 Solution 3: Implicit Invocation 47

3.3.5 Solution 4: Blackboard Architecture 49

3.3.6 Comparisons 51

3.4 Cruise Control 51

3.4.1 Object View of Cruise Control 53

3.4.2 Process-Control View of Cruise Control 53

3.4.3 Analysis and Discussion 58

3.4.4 Summary 60

3.5 Three Vignettes in Mixed Style 60

3.5.1 A Layered Design with Different Styles for the Layers 60

3.5.2 An Interpreter Using Different Idioms for the Components 63

3.5.3 A Blackboard Globally Recast as an Interpreter 66

4.1 Shared Information Systems 69

CHAPTER 4 Shared Information Systems 69

4.2 Database Integration 70

4.2.1 Batch Sequential 70

4.2.2 Simple Repository 71

4.2.3 Virtual Repository 75

4.2.4 Hierarchical Layers 79

4.2.5 Evolution of Shared Information Systems in Business Data Processing 80

4.3 Integration in Software Development Environments 82

4.3.1 Batch Sequential 83

4.3.2 Transition from Batch Sequential to Repository 83

4.3.3 Repository 85

4.3.4 Hierarchical Layers 86

4.3.5 Evolution of Shared Information Systems in Software Development Environments 88

4.4 Integration in the Design of Buildings 88

4.4.1 Repository 89

4.4.2 Intelligent Control 90

4.4.3 Evolution of Shared Information Systems in Building Design 91

4.5 Architectural Structures for Shared Information Systems 93

4.5.1 Variants on Dataflow Systems 93

4.5.2 Variants on Repositories 94

4.6 Some Conclusions 95

CHAPTER 5 Architectural Design Guidance 97

5.1 Guidance for User-Interface Architectures 97

by Thomas G. Lane 97

5.1.1 Design Spaces and Rules 97

5.1.2 A Design Space for User-Interface Architectures 100

5.1.3 Design Rules for User-Interface Architecture 110

5.1.4 Applying the Design Space: An Example 111

5.1.5 A Validation Experiment 113

5.1.6 How the Design Space Was Prepared 114

5.1.7 Summary 115

5.2.2 Background 116

5.2.1 Overview 116

5.2 The Quantified Design Space 116

by Toru Asada, Roy F. Swonger, Nadine Bounds, and Paul Duerig 116

5.2.3 Quantified Design Space 120

5.2.4 Conclusion 127

CHAPTER 6 Formal Models and Specifications 129

6.1 The Value of Architectural Formalism 129

6.2 Formalizing the Architecture of a Specific System 130

6.3 Formalizing an Architectural Style 133

6.3.1 Filters 134

6.3.2 Pipes 135

6.3.3 Pipe-and-Filter System 136

6.4 Formalizing an Architectural Design Space 139

6.5 Toward a Theory of Software Architecture 142

6.6 What Next? 142

6.7 Z Notation Used in This Chapter 143

7.1 Requirements for Architecture-Description Languages 147

CHAPTER 7 Linguistic Issues 147

7.1.1 The Linguistic Character of Architectural Description 148

7.1.2 Desiderata for Architecture-Description Languages 151

7.1.3 Problems with Existing Languages 155

7.2 First- Class Connectors 160

7.2.1 Current Practice 160

7.2.2 Problems with Current Practice 161

7.2.3 A Fresh View of Software System Composition 165

7.2.4 An Architectural Language with First- Class Connectors 166

7.2.5 The Promise of Explicit Architectural Notations 171

7.3 Adding Implicit Invocation to Traditional Programming Languages 172

7.3.1 Introduction 172

7.3.2 Adding Implicit Invocation to Ada 174

7.3.3 Evaluation 181

8.1 UniCon: A Universal Connector Language 183

CHAPTER 8 Tools for Architectural Design 183

8.1.1 Components and Connectors 185

8.1.2 Abstraction and Encapsulation 186

8.1.3 Types and Type Checking 187

8.1.4 Accommodating Analysis Tools 188

8.2 Exploiting Style in Architectural Design Environments 190

8.2.1 What Is Architectural Style? 190

8.2.2 Automated Support for Architectural Design 192

8.2.3 Observations about Environments for Architectural Design 202

8.3 Beyond Definition/Use: Architectural Interconnection 204

8.3.1 Implementation versus Interaction 205

8.3.2 Example 206

8.3.3 The WRIGHT Model of Architectural Description 208

8.3.4 Reasoning about Architectural Descriptions 210

8.3.5 A Brief Explanation of Our Use of CSP 211

9.1.1 Objectives 213

CHAPTER 9 Education of Software Architects 213

9.1 Philosophy and Course Overview 213

9.1.2 Approach 215

9.2 Course Description 215

9.3 Assignments 218

9.3.1 Purpose 218

9.3.2 Readings 219

9.3.3 Architectural Development Tasks 220

9.3.4 Formal Modeling 222

9.3.5 Analysis and Interpretation of a System 222

9.4 Evaluation 223

9.4.1 Lessons from the Initial Offering 223

9.4.2 Conclusions About Teaching Software Architecture 225

Bibliography 227

Index 239