图书介绍

基于重用的软件工程-技术、组织和控制 英文版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

基于重用的软件工程-技术、组织和控制 英文版
  • (美)米利(Mili,H.)等著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7505386247
  • 出版时间:2003
  • 标注页数:636页
  • 文件大小:38MB
  • 文件页数:665页
  • 主题词:软件工程-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

基于重用的软件工程-技术、组织和控制 英文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

PART Ⅰ INTRODUCTION3

1 Software Reuse and Software Engineering3

1.1 Concepts and Terms4

1.1.1 A Definition of Software Reuse4

1.1.2 Software Reuse:Potentials and Pitfalls6

1.1.3 Exercises7

1.2 Software Reuse Products7

1.2.1 Reusable Assets7

1.2.2 Reuse Libraries:Vertical versus Horizontal Sets9

1.2.3 Exercises10

1.3 Software Reuse Processes11

1.3.1 Organizational Structures12

1.3.2 Domain Engineering13

1.3.3 Application Engineering14

1.3.4 Corporate Oversight15

1.3.5 Exercises15

1.4 Software Reuse Paradigms17

1.4.1 Paradigms for Software Retrieval17

1.4.2 Paradigms for Software Adaptation17

1.4.3 Paradigms for Software Composition19

1.4.4 Exercises19

1.5 Further Reading20

2.1 Software Reuse Management22

2.1.1 State of the Art22

2 State of the Art and the Practice22

2.1.2 State of the Practice24

2.1.3 Perspectives26

2.1.4 Exercises27

2.2 Software Reuse Techniques27

2.2.1 State of the Art27

2.2.2 State of the Practice31

2.2.3 Perspectives32

2.2.4 Exercises33

2.3 Software Reuse Initiatives33

2.3.1 Software Reuse Libraries33

2.3.2 Software Reuse Methodologies36

2.3.3 Software Reuse Standards41

2.3.4 Exercises42

2.4 Further Reading42

3 Aspects of Software Reuse45

3.1 Organizational Aspects45

3.1.1 Managerial Infrastructure45

3.1.2 Technological Infrastructure46

3.1.3 Reuse Introduction46

3.1.4 Exercises47

3.2 Technical Aspects47

3.2.1 Domain Engineering Aspects47

3.2.2 Component Engineering Aspects48

3.2.3 Application Engineering Aspects48

3.3.2 Software Reuse Cost Estimation49

3.3.1 Software Reuse Metrics49

3.2.4 Exercises49

3.3 Economic Aspects49

3.3.3 Software Reuse Return on Investment50

3.4 Further Reading50

PART Ⅱ ORGANIZATIONAL ASPECTS53

4 Software Reuse Organizations53

4.1 Software Reuse Team Structures53

4.1.1 Characteristic Features53

4.1.2 Software Reuse Team Structures55

4.1.3 Determining Factors61

4.1.4 Exercises62

4.2.1 Librarian63

4.2 Reuse Skills63

4.2.2 Reuse Manager64

4.2.3 Domain Engineer64

4.2.4 Application Engineer65

4.2.5 Component Engineer66

4.2.6 Exercises66

4.3 Further Reading66

5 Support Services68

5.1 Configuration Management68

5.2 Quality Assurance70

5.3 Testing71

5.4 Verification and Validation71

5.4.1 Domain-Level Tasks74

5.4.2 Correspondence Tasks75

5.4.3 Communicating Results76

5.5 Risk Management76

5.6 Certification77

5.7 Exercises78

5.8 Further Reading78

6 Institutionalizing Reuse79

6.1 Organizational Readiness79

6.2 Barriers to Reuse80

6.2.2 Managerial88

6.2.3 Technological88

6.2.1 Cultural88

6.2.4 Infrastructural89

6.3 Overcoming the Barriers to Reuse89

6.3.1 Executive Support89

6.3.2 Training89

6.3.3 Incentives90

6.3.4 Incremental Approach90

6.4 Exercises93

6.5 Further Reading93

PART Ⅲ DOMAIN ENGINEERING:BUILDING FOR REUSE97

7 Building Reusable Assets:An Overview97

7.1.1 Usability98

7.1 Reusability98

7.1.2 Usefulness104

7.2 Acquiring Reusable Assets106

7.2.1 Build versus Buy107

7.2.2 Building Reusable Assets in House107

7.2.3 Building Application Generators110

7.3 Domain Engineering Lifecycles113

7.3.1 Issues113

7.3.2 A Sample of Domain Engineering Lifecycles117

7.3.3 Summary120

7.4 Summary and Discussion122

8 Domain Analysis124

8.1.1 A Domain125

8.1 Basic Concepts125

8.1.2 Domain Analysis126

8.1.3 Domain Models127

8.1.4 Exercises128

8.2 Domain Scoping128

8.2.1 Scoping Criteria128

8.2.2 Over-and Underscoping129

8.2.3 Exercises130

8.3 Domain versus Application Requirements130

8.4 Anatomy of a Domain Component133

8.4.1 A Model for Component Families133

8.4.2 Concerns in Designing Component Families135

8.5 Abstraction and Domain Analysis136

8.5.1 Abstraction and Commonality Analysis136

8.4.3 Exercises136

8.5.2 Abstraction Dimensions141

8.5.3 Exercises145

8.6 Domain Analysis Methods145

8.6.1 Feature-Oriented Domain Analysis(FODA)145

8.6.2 Organization Domain Modeling(ODM)146

8.6.3 Joint Object-Oriented Domain Analysis(JODA)147

8.6.4 Reuse Library Process Model(RLPM)148

8.6.5 Domain Analysis and Design Process(DADP)149

8.6.7 The SYNTHESIS Domain Analysis Method150

8.6.6 Domain-Specific Software Architecture(DSSA)150

8.6.8 Reuse Business Methodology151

8.6.9 Comparison152

8.6.10 Exercises158

8.7 Domain Analysis Tools158

8.7.1 KAPTUR,a Knowledge-Based Tool158

8.7.2 Genesis,a Builder for Database Management Systems159

8.7.3 Exercises159

8.8 Further Reading159

9 Programming Paradigms and Reusability160

9.1 Usability Attributes160

9.1.1 Reusability-Abstraction Boundaries161

9.1.2 Abstraction and Composability163

9.2 Representation and Modeling Paradigms167

9.2.1 Declarative versus Procedural Representations167

9.2.2 Object-Oriented Modeling173

9.3 Abstraction and Composition in Development Paradigms175

9.3.1 Declarative Representations:The Case of Logic Programming176

9.3.2 Procedural(Functional)Programming179

9.3.3 Object-Oriented Development185

9.4 Toward Multiparadigm Development192

PART Ⅳ OBJECT-ORIENTED DOMAIN ENGINEERING197

10 A Pragmatic Introduction to Object Orientation197

10.1.1 Overview198

10.1 Introduction198

10.1.2 The Financial Domain199

10.2 The Tenets of Object-Oriented Programming200

10.2.1 A Sample Program200

10.2.2 Encapsulation and Information Hiding202

10.2.3 Overloading and Genericity207

10.2.4 Subtyping and Class Inheritance213

10.2.5 Method Resolution,Late Binding,and Polymorphism.225

10.3 The Language Wars231

10.4 Discussion236

11 Abstraction and Parameterization Techniques in Object Orientation237

11.1 Abstraction Techniques in Object-Oriented Modeling239

11.1.1 An Ontology of Objects240

11.1.2 Inheritance in Knowledge Representation243

11.1.3 Inheritance in Obiect-Oriented Analysis245

11.1.4 Metamodeling246

11.1.5 Understanding Metamodeling253

11.1.6 In Practice—a Summary257

11.2 Abstraction Techniques in Object-Oriented Programming Languages262

11.2.1 Abstract C1asses263

11.2.2 Generic Classes267

11.3 Metaprogramming271

11.3.1 Building an Interpreter272

11.3.2 Computational Refiection and Metaclasses275

11.3.3 Implementing Powertypes280

11.4.1 Structural Abstraction Patterns282

11.4 Design Patterns282

11.4.2 Behavioral Abstraction Patterns286

11.5 Conclusion290

12 Composition Techniques in Object Orientation292

12.1 Issues293

12.1.1 Composability Requirements293

12.1.2 Structural and Behavioral Composition294

12.1.3 Abstraction and Granularity297

12.1.4 Binding Time297

12.2 Linguistic Approaches298

12.2.1 Constraint and Logic-Based Programming298

12.2.2 Functional Composition301

12.2.3 Hybrid Object-Oriented and Declarative Approaches305

12.3 Modularization and Packaging Approaches309

12.3.1 Aspect-Oriented Programming310

12.3.2 Subject-Oriented Programming312

12.3.3 View-Oriented Programming317

12.3.4 Other Approaches321

12.4 Design-Based Approaches323

12.4.1 Event-Based Composition323

12.4.2 Simulated Reflection328

12.4.3 Composition Design Patterns336

12.5 Summary and Discussion341

13 Application Frameworks343

13.1.1 A First Definition344

13.1 What Is in a Framework344

13.1.2 The Anatomy of a Framework345

13.1.3 The Framework Reuse Lifecycle350

13.2 Fulfilling the Framework Contract351

13.2.1 Component Substitutability353

13.2.2 Composition Issues360

13.3 Building Frameworks368

13.3.1 Frameworks as Products of Domain Engineering369

13.3.2 Frameworks as Planned Byproducts of Application Development370

13.4 The SWING Framework372

13.4.1 Overview372

13.4.2 The Event-Handling Framework374

13.4.3 The Pluggable Look and Feel Framework377

13.5 Conclusion380

14 Architectural Frameworks381

14.1 What Is an Architecture382

14.1.1 Definition382

14.1.2 Quality Attributes of Architectures385

14.1.3 Architectural Styles and Connectors387

14.2 Architecture and Reuse393

14.2.1 The Development Lifecycle of a Software Architecture393

14.2.2 Dimensions of Reusability395

14.2.3 Issues in Architectural Frameworks398

14.3.1 The Problem399

14.3 CORBA399

14.3.2 The Core Architecture402

14.3.3 Handling Method Calls406

14.3.4 Implementing Application Objects408

14.4 Java-Based Technologies411

14.4.1 Java RMI412

14.4.2 The EJB Architecture416

14.5 The COM Family423

14.6 Summary and Discussion429

14.7 Further Reading431

15 Application Engineering435

15.1 Application Engineering Paradigms435

PART Ⅴ APPLICATION ENGINEERING435

15.2 Application Engineering Lifecycles437

15.3 Application Engineering Development Tasks and Heuristics440

16 Component Storage and Retrieval444

16.1 An Introduction to Software Libraries444

16.1.1 Terminology for Storage and Retrieval445

16.1.2 Assessment Criteria447

16.1.3 Characterizing a Storage-Retrieval Method450

16.1.4 Exercises452

16.2 Classifying Software Assets for Storage and Retrieval454

16.2.1 Obstacles to Software Assets Classification454

16.2.2 Issues in Software Storage and Retrieval455

16.2.3 Classifying Software Libraries456

16.2.4 Exercises458

16.3 Further Reading459

17 Reusable Asset Integration463

17.1 Asset Instantiation Paradigms464

17.1.1 Component Selection465

17.1.2 Component Generation465

17.1.3 Component Specialization465

17.2 Asset Composition Paradigms466

17.2.1 Composability Scenarios466

17.2.2 Composability Media469

17.3 Issues in Integrating Components470

17.3.1 Component Issues471

17.3.2 Process Issues472

17.3.3 Quality Issues474

PART Ⅵ MANAGERIAL ASPECTS OF SOFTWARE REUSE479

18 Software Reuse Metrics479

18.1 Software Engineering Metrics479

18.1.1 Attributes and Metrics479

18.1.2 Structural Metrics480

18.1.3 Functional Metrics481

18.1.4 Exercises483

18.2 Component Engineering Metrics484

18.2.1 Concept485

18.2.3 Context486

18.2.2 Content486

18.2.4 Exercises487

18.3 Application Engineering Metrics488

18.3.1 Project-Level Functions488

18.3.2 Exercises489

18.4 Domain Engineering Metrics490

18.4.1 Reuse Mearns:Software Library Metrics490

18.4.2 Exercises491

18.5 Organization Level Metrics491

18.5.1 Reuse Impacts:Productivity Gains491

18.5.2 Exercises492

18.6 Further Reading492

19.1 Software Engineering Economics:COCOMO494

19 Software Reuse Cost Estimation494

19.1.1 Basic COCOMO495

19.1.2 Intermediate COCOMO496

19.1.3 Detailed COCOMO497

19.1.4 Exercises499

19.2 Component Engineering Economics499

19.2.1 Development for Reuse500

19.2.2 Quality Gains501

19.2.3 Productivity Gains503

19.2.4 Time-to-Market Gains505

19.2.5 Exercises505

19.3.1 Development with Reuse506

19.3 Application Engineering Economics506

19.3.2 Productivity Gains507

19.3.3 Quality Gains508

19.3.4 Time-to-Market Gains509

19.3.5 Exercises509

19.4 Further Reading510

20 Software Reuse Return on Investment511

20.1 Modeling Investment Decisions512

20.1.1 Investment Cost Factors512

20.1.2 Economic Functions513

20.1.3 Exercises515

20.2 Software Reuse Investment Decisions515

20.2.1 Component Engineering Investment Cycle516

20.2.2 Application Engineering Investment Cycle519

20.2.3 Domain Engineering Investment Cycle520

20.2.4 Corporate Investment Cycle521

20.2.5 Exercises522

20.3 Further Reading523

Part Ⅶ Software Reuse Technologies529

21 Component-Based Software Engineering(CBSE)529

21.1 Components530

21.1.1 What Is a Component530

21.1.2 The Anatomy of a Component532

21.1.3 What Makes a Good Component534

21.2.1 What Is a Component Model535

21.2 Component Models535

21.2.2 Things that Component Models Should Address536

21.2.3 Example Component Models538

21.3 Component-Based System Development(CBSD)538

21.3.1 CBSD Process539

21.3.2 Component Granularity541

21.4 Issues in Developing with Components542

21.4.1 Technical Issues542

21.4.2 Business Issues544

21.5 Further Reading545

22 Product-Line Engineering(PLE)546

22.1 PLE and Software Reuse547

22.1.1 Exercises548

22.2 PLE Lifecycle549

22.2.1 Domain and Application Engineering Aspects549

22.2.2 Attributes of a PLE Lifecycle550

22.2.3 Success Factors551

22.2.4 Exercises552

22.3 Product-Line Architectures552

22.3.1 Software Architectures and Product-Line Architectures552

22.3.2 Conformance and Synchronization in PLAs553

22.3.3 Evaluating Architectures554

22.3.4 Exercises554

22.4.1 The SYNTHESIS Approach555

22.4 PLE Approaches555

22.4.2 The Product-Line Practice559

22.4.3 Product-Line Approaches564

22.5 Further Reading564

23 COTS Based Development566

23.1 Commercial Off the Shelf Software566

23.1.1 Definition and Background566

23.1.2 COTS and CBSD567

23.1.3 Exercises568

23.2 A Lifecycle for COTS Based Development569

23.2.1 COTS Selection569

23.2.2 COTS Integration570

23.2.3 Verification and Validation of COTS Based Systems571

23.2.4 Maintenance of COTS Based Systems572

23.2.5 Cost Estimation for COTS Development574

23.2.6 Exercises574

23.3 Developing COTS Certification Criteria575

23.3.1 Certification Categories575

23.3.2 COTS Certification Levels576

23.3.3 COTS Worthiness577

23.3.4 Domain Pervasiveness581

23.3.5 Architecture Conformance582

23.3.6 Application Adequacy584

23.4 Further Reading585

APPENDIXES587

Appendix A Software Reuse Resources587

A.1 Textbooks589

A.2 Web Sites590

A.3 Conference Series591

A.4 Software Reusc Surveys593

Appendix B Term Projects594

B.1 Simulation of Waiting Queues594

B.1.1 Domain Engineering594

B.1.2 Application Engineering595

B.2 Library Systems597

B.2.1 Domain Engineering597

B.2.2 Application Engineering599

Bibliography602

Index627

热门推荐