《面向对象软件构造 英文版》求取 ⇩

PART A:THE ISSUES1

Chapter1:Software quality3

1.1 EXTERNAL AND INTERNAL FACTORS3

1.2 A REVIEW OF EXTERNAL FACTORS4

1.3 ABOUT SOFTWARE MAINTENANCE17

1.4 KEY CONCEPTS INTRODUCED IN THIS CHAPTER19

1.5 BIBLIOGRAPHICAL NOTES19

Chapter2:Criteria of object orientation21

2.1 ON THE CRITERIA21

2.2 METHOD AND LANGUAGE22

2.3 IMPLEMENTATION AND ENVIRONMENT31

2.4 LIBRARIES33

2.5 FOR MORE SNEAK PREVIEW34

2.6 BIBLIOGRAPHICAL NOTES AND OBJECT RESOURCES34

PART B:THE ROAD TO OBJECT ORIENTATION37

Chapter3:Modularity39

3.1 FIVE CRITERIA40

3.2 FIVE RULES46

3.3 FIVE PRINCIPLES53

3.4 KEY CONCEPTS INTRODUCED IN THIS CHAPTER64

3.5 BIBLIOGRAPHICAL NOTES64

EXERCISES65

Chapter4:Approaches to reusability67

4.1 THE GOALS OF REUSABILITY68

4.2 WHAT SHOULD WE REUSE?70

4.3 REPETITION IN SOFTWARE DEVELOPMENT74

4.4 NON-TECHNICAL OBSTACLES74

4.5 THE TECHNICAL PROBLEM81

4.6 FIVE REQUIREMENTS ON MODULE STRUCTURES83

4.7 TRADITIONAL MODULAR STRUCTURES89

4.8 OVERLOADING AND GENERICITY93

4.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER98

4.10 BIBLIOGRAPHICAL NOTES99

Chapter5:Towards object technology101

5.1 THE INGREDIENTS OF COMPUTATION101

5.2 FUNCTIONAL DECOMPOSITION103

5.3 OBJECT-BASED DECOMPOSITION114

5.4 OBJECT-ORIENTED SOFTWARE CONSTRUCTION116

5.5 ISSUES117

5.6 KEY CONCEPTS INTRODUCED IN THIS CHAPTER119

5.7 BIBLIOGRAPHICAL NOTES119

Chapter6:Abstract data types121

6.1 CRITERIA122

6.2 IMPLEMENTATION VARIATIONS122

6.3 TOWARDS AN ABSTRACT VIEW OF OBJECTS126

6.4 FORMALIZING THE SPECIFICATION129

6.5 FROM ABSTRACT DATA TYPES TO CLASSES142

6.6 BEYOND SOFTWARE147

6.7 SUPPLEMENTARY TOPICS148

6.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER159

6.9 BIBLIOGRAPHICAL NOTES160

EXERCISES161

PART C:OBJECT-ORIENTED TECHNIQUES163

Chapter7:The static structure:classes165

7.1 OBJECTS ARE NOT THE SUBJECT165

7.2 AVOIDING THE STANDARD CONFUSION166

7.3 THE ROLE OF CLASSES169

7.4 A UNIFORM TYPE SYSTEM171

7.5 A SIMPLE CLASS172

7.6 BASIC CONVENTIONS177

7.7 THE OBJECT-ORIENTED STYLE OF COMPUTATION181

7.8 SELECTIVE EXPORTS AND INFORMATION HIDING191

7.9 PUTTING EVERYTHING TOGETHER194

7.10 DISCUSSION203

7.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER213

7.12 BIBLIOGRAPHICAL NOTES215

EXERCISES216

Chapter8:The run-time structure:objects217

8.1 OBJECTS218

8.2 OBJECTS AS A MODELING TOOL228

8.3 MANIPULATING OBJECTS AND REFERENCES231

8.4 CREATION PROCEDURES236

8.5 MORE ON REFERENCES240

8.6 OPERATIONS ON REFERENCES242

8.7 COMPOSITE OBJECTS AND EXPANDED TYPES254

8.8 ATTACHMENT:REFERENCE AND VALUE SEMANTICS261

8.9 DEALING WITH REFERENCES:BENEFITS AND DANGERS265

8.10 DISCUSSION270

8.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER276

8.12 BIBLIOGRAPHICAL NOTES277

EXERCISES277

Chapter9:Memory management279

9.1 WHAT HAPPENS TO OBJECTS279

9.2 THE CASUAL APPROACH291

9.3 RECLAIMING MEMORY:THE ISSUES293

9.4 PROGRAMMER-CONTROLLED DEALLOCATION294

9.5 THE COMPONENT-LEVEL APPROACH297

9.6 AUTOMATIC MEMORY MANAGEMENT301

9.7 REFERENCE COUNTING302

9.8 GARBAGE COLLECTION304

9.9 PRACTICAL ISSUES OF GARBAGE COLLECTION309

9.10 AN ENVIRONMENT WITH MEMORY MANAGEMENT312

9.11 KEY CONCEPTS INTRODUCED IN THIS CHAPTER315

9.12 BIBLIOGRAPHICAL NOTES315

EXERCISES316

Chapter10:Genericity317

10.1 HORIZONTAL AND VERTICAL TYPE GENERALIZATION317

10.2 THE NEED FOR TYPE PARAMETERIZATION318

10.3 GENERIC CLASSES320

10.4 ARRAYS325

10.5 THE COST OF GENERICITY328

10.6 DISCUSSION:NOT DONE YET329

10.7 KEY CONCEPTS INTRODUCED IN THIS CHAPTER329

10.8 BIBLIOGRAPHICAL NOTES330

EXERCISES330

Chapter11:Design by Contract:building reliable software331

11.1 BASIC RELIABILITY MECHANISMS332

11.2 ABOUT SOFTWARE CORRECTNESS333

11.3 EXPRESSING A SPECIFICATION334

11.4 INTRODUCING ASSERTIONS INTO SOFTW ARE TEXTS337

11.5 PRECONDITIONS AND POSTCONDITIONS338

11.6 CONTRACTING FOR SOFTWARE RELIABILITY341

11.7 WORKING WITH ASSERTIONS348

11.8 CLASS INVARIANTS363

11.9 WHEN IS A CLASS CORRECT?369

11.10 THE ADT CONNECTION373

11.11 AN ASSERTION INSTRUCTION378

11.12 LOOP INVARIANTS AND VARIANTS380

11.13 USING ASSERTIONS389

11.14 DISCUSSION398

11.15 KEY CONCEPTS INTRODUCED IN THIS CHAPTER406

11.16 BIBLIOGRAPHICAL NOTES407

EXERCISES408

POSTSCRIPT:THE ARIANE 5 FAILURE410

12.1 BASIC CONCEPTS OF EXCEPTION HANDLING411

Chapter12:When the contract is broken:exception handling411

12.2 HANDLING EXCEPTIONS414

12.3 AN EXCEPTION MECHANISM419

12.4 EXCEPTION HANDLING EXAMPLES422

12.5 THE TASK OF A RESCUE CLAUSE427

12.6 ADVANCED EXCEPTION HANDLING431

12.7 DISCUSSION435

12.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER437

12.9 BIBLIOGRAPHICAL NOTES438

EXERCISES438

13.1 INTERFACING WITH NON-O-O SOFTWARE439

Chapter13:Supporting mechanisms439

13.2 ARGUMENT PASSING444

13.3 INSTRUCTIONS447

13.4 EXPRESSIONS452

13.5 STRINGS456

13.6 INPUT AND OUTPUT457

13.7 LEXICAL CONVENTIONS457

13.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER458

EXERCISES458

Chapter14:Introduction to inheritance459

14.1 POLYGONS AND RECTANGLES460

14.2 POLYMORPHISM467

14.3 TYPING FOR INHERITANCE472

14.4 DYNAMIC BINDING480

14.5 DEFERRED FEATURES AND CLASSES482

14.6 REDECLARATION TECHNIQUES491

14.7 THE MEANING OF INHERITANCE494

14.8 THE ROLE OF DEFERRED CLASSES500

14.9 DISCUSSION507

14.10 KEY CONCEPTS INTRODUCED IN THIS CHAPTER516

14.11 BIBLIOGRAPHICAL NOTES517

EXERCISES517

Chapter15:Multiple inheritance519

15.1 EXAMPLES OF MULTIPLE INHERITANCE519

15.2 FEATURE RENAMING535

15.3 FLATTENING THE STRUCTURE541

15.4 REPEATED INHERITANCE543

15.5 DISCUSSION563

15.6 KEY CONCEPTS INTRODUCED IN THIS CHAPTER566

15.7 BIBLIOGRAPHICAL NOTES567

EXERCISES567

Chapter16:Inheritance techniques569

16.1 INHERITANCE AND ASSERTIONS569

16.2 THE GLOBAL INHERITANCE STRUCTURE580

16.3 FROZEN FEATURES583

16.4 CONSTRAINED GENERICITY585

16.5 ASSIGNMENT ATTEMPT591

16.6 TYPING AND REDECLARA TION595

16.7 ANCHORED DECLARATION598

16.8 INHERITANCE AND INFORMATION HIDING605

16.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER609

16.10 BIBLIOGRAPHICAL NOTE610

EXERCISES610

Chapter17:Typing611

17.1 THE TYPING PROBLEM611

17.2 STATIC TYPING:WHY AND HOW615

17.3 COVARIANCE AND DESCENDANT HIDING621

17.4 FIRST APPROACHES TO SYSTEM VALIDITY628

17.5 RELYING ON ANCHORED TYPES630

17.6 GLOBAL ANALYSIS633

17.7 BEWARE OF POLYMORPHIC CATCALLS!636

17.8 AN ASSESSMENT639

17.9 THE PERFECT FIT640

17.10 KEY CONCEPTS STUDIED IN THIS CHAPTER641

17.11 BIBLIOGRAPHICAL NOTES641

Chapter18:Global objects and constants643

18.1 CONSTANTS OF BASIC TYPES643

18.2 USE OF CONSTANTS645

18.3 CONSTANTS OF CLASS TYPES646

18.4 APPLICATIONS OF ONCE ROUTINES648

18.5 CONSTANTS OF STRING TYPE653

18.6 UNIQUE VALUES654

18.7 DISCUSSION656

18.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER659

18.9 BIBLIOGRAPHICAL NOTES660

EXERCISES660

PART D:OBJECT-ORIENTED METHODOLOGY:APPLYING THE METHOD WELL661

Chapter19:On methodology663

19.1 SOFTWARE METHODOLOGY:WHY AND WHAT663

19.2 DEVISING GOOD RULES:ADVICE TO THE ADVISORS664

19.3 ON USING METAPHORS671

19.4 THE IMPORTANCE OF BEING HUMBLE673

19.5 BIBLIOGRAPHICAL NOTES674

EXERCISES674

20.1 MULTI-PANEL SYSTEMS675

Chapter20:Design pattern:multi-panel interactive systems675

20.2 A SIMPLE-MINDED ATTEMPT677

20.3 A FUNCTIONAL,TOP-DOWN SOLUTION678

20.4 A CRITIQUE OF THE SOLUTION682

20.5 AN OBJECT-ORIENTED ARCHITECTURE684

20.6 DISCUSSION693

20.7 BIBLIOGRAPHICAL NOTE694

Chapter21:Inheritance case study:“undo”in an interactive system695

21.1 PERSEVERARE DIABOLICUM695

21.2 FINDING THE ABSTRACTIONS699

21.3 MULTI-LEVEL UNDO-REDO704

21.4 IMPLEMENTATION ASPECTS707

21.5 A USER INTERFACE FOR UNDOING AND REDOING711

21.6 DISCUSSION712

21.7 BIBLIOGRAPHICAL NOTES715

EXERCISES715

Chapter22:How to find the classes719

22.1 STUDYING A REQUIREMENTS DOCUMENT720

22.2 DANGER SIGNALS726

22.3 GENERAL HEURISTICS FOR FINDING CLASSES731

22.4 OTHER SOURCES OF CLASSES735

22.5 REUSE740

22.6 THE METHOD FOR OBTAINING CLASSES741

22.7 KEY CONCEPTS INTRODUCED IN THIS CHAPTER743

22.8 BIBLIOGRAPHICAL NOTES744

Chapter23:Principles of class design747

23.1 SIDE EFFECTS IN FUNCTIONS748

23.2 HOW MANY ARGUMENTS FOR A FEATURE?764

23.3 CLASS SIZE:THE SHOPPING LIST APPROACH770

23.4 ACTIVE DATA STRUCTURES774

23.5 SELECTIVE EXPORTS796

23.6 DEALING WITH ABNORMAL CASES797

23.7 CLASS EVOLUTION:THE OBSOLETE CLAUSE802

23.8 DOCUMENTING A CLASS AND A SYSTEM803

23.9 KEY CONCEPTS INTRODUCED IN THIS CHAPTER806

23.10 BIBLIOGRAPHICAL NOTES806

EXERCISES807

24.1 HOW NOT TO USE INHERITANCE809

Chapter24:Using inheritance well809

24.2 WOULD YOU RATHER BUY OR INHERIT?812

24.3 AN APPLICATION:THE HANDLE TECHNIQUE817

24.4 TAXOMANLA820

24.5 USING INHERITANCE:A TAXONOMY OF TAXONOMY822

24.6 ONE MECHANISM,OR MORE?833

24.7 SUBTYPE INHERITANCE AND DESCENDANT HIDING835

24.8 IMPLEMENTATION INHERITANCE844

24.9 FACILITY INHERITANCE847

24.10 MULTIPLE CRITERIA AND VIEW INHERITANCE851

24.11 HOW TO DEVELOP INHERITANCE STRUCTURES858

24.12 A SUMMARY VIEW:USING INHERITANCE WELL862

24.14 BIBLIOGRAPHICAL NOTES863

24.13 KEY CONCEPTS INTRODUCED IN THIS CHAPTER863

24.15 APPENDIX:A HISTORY OF TAXONOMY864

EXERCISES869

Chapter25:Useful techniques871

25.1 DESIGN PHILOSOPHY871

25.2 CLASSES872

25.3 INHERITANCE TECHNIQUES873

Chapter26:A sense of style875

26.1 COSMETICS MATTERS!875

26.2 CHOOSING THE RIGHT NAMES879

26.3 USING CONSTANTS884

26.4 HEADER COMMENTS AND INDEXING CLAUSES886

26.5 TEXT LAYOUT AND PRESENTATION891

26.6 FONTS900

26.7 BIBLIOGRAPHICAL NOTES901

EXERCISES902

Chapter27:Object-oriented analysis903

27.1 THE GOALS OF ANALYSIS903

27.2 THE CHANGING NATURE OF ANALYSIS906

27.3 THE CONTRIBUTION OF OBJECT TECHNOLOGY907

27.4 PROGRAMMING A TV STATION907

27.5 EXPRESSING THE ANALYSIS:MULTIPLE VIEWS914

27.6 ANALYSIS METHODS917

27.7 THE BUSINESS OBJECT NOTATION919

27.8 BIBLIOGRAPHY922

Chapter28:The software construction process923

28.1 CLUSTERS923

28.2 CONCURRENT ENGINEERING924

28.3 STEPS AND TASKS926

28.4 THE CLUSTER MODEL OF THE SOFTWARE LIFECYCLE926

28.5 GENERALIZATION928

28.6 SEAMLESSNESS AND REVERSIBILITY930

28.7 WITH US,EVERYTHING IS THE FACE933

28.8 KEY CONCEPTS COVERED IN THIS CHAPTER934

28.9 BIBLIOGRAPHICAL NOTES934

29.1 INDUSTRIAL TRAINING935

Chapter29:Teaching the method935

29.2 INTRODUCTORY COURSES937

29.3 OTHER COURSES941

29.4 TOWARDS A NEW SOFTWARE PEDAGOGY942

29.5 AN OBJECT-ORIENTED PLAN946

29.6 KEY CONCEPTS STUDIED IN THIS CHAPTER948

29.7 BIBLIOGRAPHICAL NOTES948

PART E:ADVANCED TOPICS949

Chapter30:Concurrency,distribution,client,server and the Internet951

30.1 A SNEAK PREVIEW951

30.2 THE RISE OF CONCURRENCY953

30.3 FROM PROCESSES TO OBJECTS956

30.4 INTRODUCING CONCURRENT EXECUTION964

30.5 SYNCHRONIZATION ISSUES977

30.6 ACCESSING SEPARATE OBJECTS982

30.7 WAIT CONDITIONS990

30.8 REQUESTING SPECIAL SERVICE998

30.9 EXAMPLES1003

30.10 TOWARDS A PROOF RULE1022

30.11 A SUMMARY OF THE MECHANISM1025

30.12 DISCUSSION1028

30.13 KEY CONCEPTS INTRODUCES IN THIS CHAPTER1032

30.14 BIBLIOGRAPHICAL NOTES1033

EXERCISES1035

31.1 PERSISTENCE FROM THE LANGUAGE1037

Chapter31:Object persistence and databases1037

31.2 BEYOND PERSISTENCE CLOSURE1039

31.3 SCHEMA EVOLUTION1041

31.4 FROM PERSISTENCE TO DATABASES1047

31.5 OBJECT-RELATIONAL INTEROPERABILITY1048

31.6 OBJECT-ORIENTED DATABASE FUNDAMENTALS1050

31.7 O-O DATABASE SYSTEMS:EXAMPLES1055

31.8 DISCUSSION:BEYOND O-O DATABASES1058

31.9 KEY CONCEPTS STUDIED IN THIS CHAPTER1060

31.10 BIBLIOGRAPHICAL NOTES1061

EXERCISES1062

Chapter32:Some O-O techniques for graphical interactive applications1063

32.1 NEEDED TOOLS1064

32.2 PORTABILITY AND PLATFORM ADAPTATION1066

32.3 GRAPHICAL ABSTRACTIONS1068

32.4 INTERACTION MECHANISMS1071

32.5 HANDLING THE EVENTS1072

32.6 A MATHEMATICAL MODEL1076

32.7 BIBLIOGRAPHICAL NOTES1076

PART F:APPLYING THE METHOD IN VARIOUS LANGUAGES AND ENVIRONMENTS1077

Chapter33:O-O programming and Ada1079

33.1 A BIT OF CONTEXT1079

33.2 PACKAGES1081

33.3 A STACK IMPLEMENTATION1081

33.4 HIDING THE REPRESENTATION:THE PRIVATE STORY1085

33.5 EXCEPTIONS1088

33.6 TASKS1091

33.7 FROM ADA TO ADA 951092

33.8 KEY CONCEPTS INTRODUCED IN THIS CHAPTER1097

33.9 BIBLIOGRAPHICAL NOTES1097

EXERCISES1098

Chapter34: Emulating object technology in non-O-O environments1099

34.1 LEVELS OF LANGUAGE SUPPORT1099

34.2 OBJECT-ORIENTED PROGRAMMING IN PASCAL?1100

34.3 FORTRAN1102

34.4 OBJECT-ORIENTED PROGRAMMING AND C1106

EXERCISES1112

34.5 BIBLIOGRAPHICAL NOTES1112

Chapter35:Simula to Java and beyond:major O-O languages and environments1113

35.1 SIMULA1113

35.2 SMALLTALK1126

35.3 LISP EXTENSIONS1130

35.4 C EXTENSIONS1131

35.5 JAVA1136

35.6 OTHER O-O LANGUAGES1137

35.7 BIBLIOGRAPHICAL NOTES1138

EXERCISES1139

PART G:DOING IT RIGHT1141

36.1 COMPONENTS1143

Chapter36:An object-oriented environment1143

36.2 THE LANGUAGE1144

36.3 THE COMPILATION TECHNOLOGY1144

36.4 TOOLS1148

36.5 LIBRARIES1150

36.6 INTERFACE MECHANISMS1152

36.7 BIBLIOGRAPHICAL NOTES1160

Epilogue,In Full Frankness Exposing the Language1161

PART H:APPENDICES1163

Appendix A:Extracts from the Base libraries1165

Appendix B:Genericity versus inheritance1167

B.1 GENERICITY1168

B.2 INHERITANCE1173

B.3 EMULATING INHERITANCE WITH GENERICITY1175

B.4 EMULATING GENERICITY WITH INHERITANCE1176

B.5 COMBINING GENERICITY AND INHERITANCE1184

B.6 KEY CONCEPTS INTRODUCED IN THIS APPENDIX1187

B.7 BIBLIOGRAPHICAL NOTES1188

EXERCISES1188

Appendix C:Principles,rules,precepts and definitions1189

Appendix D:A glossary of object technology1193

Appendix E:Bibliography1203

E.1 WORKS BY OTHER AUTHORS1203

E.2 WORKS BY THE AUTHOR OF THE PRESENT BOOK1221

Index1225

1999《面向对象软件构造 英文版》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由Bertrand Meyer著 1999 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

面向对象的分析(1992 PDF版)
面向对象的分析
1992 北京:北京大学出版社
面向对象的软件设计基础( PDF版)
面向对象的软件设计基础
北京科海培训中心
面向对象的程序设计( PDF版)
面向对象的程序设计
Object-oriented software construction Second Edition = 面向对象软件构造 第2版(1999 PDF版)
Object-oriented software construction Second Edition = 面向对象软件构造 第2版
1999 Tsinghua University Press
面向对象数据库的程序设计  英文版(1989 PDF版)
面向对象数据库的程序设计 英文版
1989 Springer-Verlag
传统和面向对象的软件工程 使用UML和C++(1999 PDF版)
传统和面向对象的软件工程 使用UML和C++
1999 北京/西安:世界图书出版公司
Visual FoxPro 3.0面向对象编程(1995 PDF版)
Visual FoxPro 3.0面向对象编程
1995 成都:成都科技大学出版社
面向对象数据库(1995 PDF版)
面向对象数据库
1995 武汉:武汉大学出版社
计算机软件新技术  面向对象的系统分析(1992 PDF版)
计算机软件新技术 面向对象的系统分析
1992 北京:清华大学出版社
面向对象式软件的构造(1992 PDF版)
面向对象式软件的构造
1992 北京:北京航空航天大学出版社
面向对象数据库(1998 PDF版)
面向对象数据库
1998 北京:高等教育出版社
面向对象程序设计(1994 PDF版)
面向对象程序设计
1994 北京:电子工业出版社
用于面向对象系统开发的使用实例图  英文版(1998 PDF版)
用于面向对象系统开发的使用实例图 英文版
1998 北京:清华大学出版社
面向对象程序设计(1999 PDF版)
面向对象程序设计
1999 合肥:安徽大学出版社
面向对象方法与C++新版本(1992 PDF版)
面向对象方法与C++新版本
1992 西安:西安交通大学出版社