您好,欢迎光临有路网!
面向对象与经典软件工程(英文版第5版)
QQ咨询:
有路璐璐:

面向对象与经典软件工程(英文版第5版)

  • 作者:Stephen R.Schach
  • 出版社:机械工业出版社
  • ISBN:9787111108436
  • 出版日期:2002年08月01日
  • 页数:628
  • 定价:¥59.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    作者在本书的第5版讨论了该领域*新的话题并针对教学进行了修改。新增加的“如何实现”这部分总结了重要的技巧、新大纲、新要点以及更加具体的案例研究,突出了教学上的改进,增强了实用性。
      为便于学生阅读,作者将本书分成两个部分:第1部分论述了软件工程的理论基础,第2部分阐述了生命周期的各个阶段。第2部分的主要特性是通过案例研究描述了所用的技巧。在第5版中,作者对连续的案例研究进行了更加详细的说明,以使学生更好地理解如何在实际中应用所学的技巧。给出的研究课题需要学生对案例研究进行修改,使学生能在干中学。
    目录
    Preface xv
    PART 1 Introduction to Software Engineering 1
    Chapter 1 The Scope of Software Engineering 3
    l.l Historical Aspects 4
    l.2 Economic Aspects 7
    l.3 Maintenance Aspects 8
    l.4 Specification and Design Aspects l3
    l.5 Team Programming Aspects 15
    1.6 The Object-Oriented Paradigm l7
    l.7 Terminology 2l
    Chapter Review 23
    For Further Reading 24
    Problems 25
    References 26

    Chapter 2 The Software Process 30
    2.1 Client, Developer, and User 32
    2.2 Requirements Phase 33
    2.2.l Requirements Phase Testing 34
    2.2.2 Requirements Phase Documentation 35
    2.3 Specification Phase 35
    2.3.l Specification Phase Testing 37
    2.3.2 Specification Phase Documentation 38
    2.4 Design Phase 38
    2.4.l Design Phase Testing 39
    2.4.2 Design Phase Documentation 40
    2.5 Implementation Phase 40
    2.5.l Implementation Phase Testing 40
    2.5.2 Implementation Phase Documentation 40
    2.6 Integration Phase 41
    2.6.l Integration Phase Testing 4l
    2.6.2 Integration Phase Documentation 42
    2.7 Maintenance Phase 42
    2.7.l Maintenance Phase Testing 43
    2.7.2 Maintenance Phase Documentation 43
    2.8 Retirement 43
    2.9 Problems with Software Production: Essence and Accidents 44
    2.9.l Complexity 45
    2.9.2 Conformity 47
    2.9.3 Changeability 48
    2.9.4 Invisibility 49
    2.9.5 No Si1verBullet? 50
    2.l0 Improving the Software Process 5l
    2.l1 Capability Maturity Models 5l
    2.l2 Other Software Process Improvement Initiatives 54
    2.l3 Costs and Benefits of Software Process Improvement 55
    Chanter Review 57
    For Further Reading 58
    Problems 59
    References 60

    Chapter 3 Software Life-Cycle Models 64
    3.l Build-and-Fix Model 64
    3.2 Waterfall Model 65
    3.2.l Analysis of the Waterfall Model 68
    3.3 Rapid Prototyping Model 70
    3.3.l Integrating the Waterfall and Rapid Prototyping Models 7l
    3.4 Incremental Model 72
    3.4.l Analysis of the Incremental Model 73
    3.5 Extreme Programming 75
    3.6 Synchronize-and-Stabilize Model 77
    3.7 Spiral Model 78
    3.7.l Analysis of the Spiral Model 82
    3.8 Object-Oriented Life-Cycle Models 82
    3.9 Comparison of Life-Cycle Models 84
    Chapter Review 86
    For Further Reading 86
    Problems 87
    References 87

    Chapter 4 Teams 90
    4.l Team Organization 90
    4.2 Democratic Team Approach 92
    4.2.l Analysis of the Democratic Team Approach 93
    4.3 Classical Chief Programmer Team Approach 93
    4.3.l The New York Times Project 95
    4.3.2 Impracticality of the Classical Chief
    Programmer Team Approach 96
    4.4 Beyond Chief Programmer and Democratic Teams 97
    4.5 Synchronize-and-Stabilize Teams l0l
    4.6 Extreme Programming Teams l02
    Chapter Review l03
    For Further Reading 104
    Problems l04
    References l05

    Chapter 5 The Tools Of the Trade 106
    5.l Stepwise Refinement 106
    5.l.l Stepwise Refinement Example l07
    5.2 Cost-Benefit Analysis ll3
    5.3 Software Metrics ll4
    5.4 CASE ll5
    5.5 Taxonomy of CASE ll6
    5.6 Scope of CASE ll8
    5.7 Software Versions l22
    5.7.l Revisions l22
    5.7.2 Variations l23
    5.8 Configuration Control l24
    5.8.l Configuration Control during Product Maintenance l26
    5.8.2 Baselines l27
    5.8.3 Configuration Control during Product Development l27
    5.9 Build Tools 128
    5.l0 Productivity Gains with CASE Technology l29
    Chapter Review l3l
    For Further Reading l3l
    Problems l32
    References l33

    Chapter 6 Testing 136
    6.l Quality Issues l37
    6.l.l Software Quality Assurance l37
    6.l.2 Managerial Independence l38
    6.2 Nonexecution-Based Testing l39
    6.2.l Walkthroughs l39
    6.2.2 Managing Walkthroughs l40
    6.2.3 Inspections l4l
    6.2.4 Comparison of Inspections and Walkthroughs l43
    6.2.5 Strengths and Weaknesses of Reviews l44
    6.2.6 Metrics for Inspections l44
    6.3 Execution-Based Testing l45
    6.4 What Should Be Tested? l45
    6.4.l Utility l46
    6.4.2 Reliability l47
    6.4.3 Robustness l47
    6.4.4 Performance l48
    6.4.5 Correctness l49
    6.5 Testing versus Correctness Proofs l5l
    6.5.l Example of a Correctness Proofs l5l
    6.5.2 Correctness Proof Case Study l54
    6.5.3 Correctness Proof and Software Engineering l55
    6.6 Who Should Perform Execution-Based Testing? l58
    6.7 When Testing Stops 160
    Chapter Review l60
    For Further Reading l6l
    Problems l62
    References 164

    Chapter 7 From Modules to Objects 167
    7.l What Is a Module? l67
    7.2 Cohesion l7l
    7.2.l Coincidental Cohesion l7l
    7.2.2 Logical Cohesion l72
    7.2.3 Temporal Cohesion l73
    7.2.4 Procedural Cohesion l74
    7.2.5 Communicational Cohesion l74
    7.2.6 Functional Cohesion l75
    7.2.7 Informational Cohesion l75
    7.2.8 Cohesion Example l76
    7.3 Coupling 177
    7.3.l Content Coupling l78
    7.3.2 Common Coupling l78
    7.3.3 Control Coupling l80
    7.3.4 Stamp Coupling l80
    7.3.5 Data Coupling l82
    7.3.6 Coupling Example l82
    7.3.7 The Importance of Coupling l82
    7.4 Data Encapsulation l84
    7.4.l Data Encapsulation and Product Development l86
    7.4.2 Data Encapsulation and Product Maintenance l88
    7.5 Abstract Data Types l94
    7.6 Infromation Hiding l95
    7.7 Objects l98
    7.8 Inheritance, Polymorphism, and Dynamic Binding 20l
    7.9 Cohesion and Coupling of Objects 203
    7.l0 The Object-Oriented Paradigm 204
    Chapter Review 207
    For Further Reading 207
    Problems 208
    References 209

    Chapter 8 Reusability Portability, and Interoperability 212
    8.l Reuse Concepts 2l2
    8.2 Impediments to Reuse 2l4
    8.3 Reuse Case Studies 216
    8.3.l Raytheon Missi1e Systems Division 2l6
    8.3.2 Toshiba software Factory 2l7
    8.3.3 NASA Software 2l8
    8.3.4 GTE Data Services 2l9
    8.3.5 Hewlett-Packard 220
    8.3.6 European Space Agency 22l
    8.4 Objects and Reuse 222
    8.5 Reuse during the Design and Implementation Phases 222
    8.5.l Design Reuse 222
    8.5.2 Application Frameworks 224
    8.5.3 Design Patterns 225
    8.5.4 Software Architecture 229
    8.6 Reuse and Maintenance 230
    8.7 Portability 23l
    8.7.l Ware Incompatibilities 232
    8.7.2 Operating Systems Incompatibilities 233
    8.7.3 Numerical Software Incompatibilities 233
    8.7.4 Compiler Incompatibilities 235
    8.8 Why Portability? 239
    8.9 Techniques for Achieving Portability 240
    8.9.l Portable System Software 240
    8.9.2 Portable Application Software 24l
    8.9.3 Portable Data 242
    8.l0 Interoperability 243
    8.l0.l COM 243
    8.l0.2 CORBA 244
    8.l0.3 Comparing COM and CORBA 245
    8.ll Future Trends in Interoperability 245
    Chapter Review For Further Reading 247
    Problems 248
    References 250

    Chapter 9 Planning and Estimating 257
    9.l Planning and the Software Process 257
    9.2 Estimating Duration and Cost 259
    9.2.l Metrics for the Size of a Product 260
    9.2.2 Techniques of Cost Estimation 264
    9.2.3 Intermediate COCOMO 267
    9.2.4 COCOMO II 270
    9.2.5 Tracking Duration and Cost Estimates 272
    9.3 Components of a Software Project Management Plan 272
    9.4 software Project Management Plan Framework 274
    9.5 IEEE Software Project Management Plan 274
    9.6 Planning Testing 278
    9.7 Planning Object-Oriented Projects 279
    9.8 Training Requirements 280
    9.9 Documentation Standards 281
    9.l0 CASE Tools for Planning and Estimating 282
    9.ll Testing the Software Project Management Plan 282
    Chapter Review 283
    For Further Reading 283
    Problems 284
    References 285

    PART 2 The Phases of the Software Life Cycle 289
    Chapter 1O Requirements Phase 290
    l0.l Requirements Elicitation 29l
    l0.l.l Interviews 29l
    l0.l.2 Scenarios 292
    l0.l.3 Other Requirements Elicitation Techniques 293
    l0.2 Requirements Analysis 294
    l0.3 Rapid Prototyping 294
    l0.4 Human Factors 296
    l0.5 Rapid Prototyping as a Specification Technique 298
    l0.6 Reusing the Rapid Prototype 300
    l0.7 Management Implications of the Rapid Prototyping Model 302
    l0.8 Experiences with Rapid Prototyping 304
    l0.9 Techniques for Requirements Elicitation and Analysis 305
    l0.l0 Testing during the Requirements Phase 305
    10.ll CASE Tools for the Requirements Phase 306
    l0.l2 Metrics for the Requirements Phase 307
    10.l3 Object-Oriented Requirements? 308
    10.l4 Air Gourmet Case Study: Requirements Phase 308
    10.l5 Air Gourmet Case Study: Rapid Prototype 3ll
    l0.l6 Challenges of the Requirements Phase 3l3
    Chapter Review 3l5
    For Further Reading 3l5
    Problems 316
    References 3l7

    Chapter 11 Specification Phase 319
    ll.l The Specification Document 3l9
    ll.2 Informal Specifications 32l
    ll.2.l Case Study: Text Processing 322
    ll.3 Structured Systems Analysis 323
    1l.3.l Sally's Software Shop 323
    l1.4 Other Semiformal Techniques 33l
    ll.5 Entity-Relationship Modeling 332
    1l.6 Finite State Machines 335
    ll.6.l Elevator Problem: Finite State Machines 336
    ll.7 Petri Nets 34l
    ll.7.l Elevator Problem: Petri Nets 343
    ll.8 Z 346
    ll.8.l Elevator Problem: Z 347
    ll.8.2 Analysis of Z 349
    ll.9 Other Formal Techniques 35l
    ll.l0 Comparison of Specification Techniques 352
    ll.ll Testing during the Specification Phase 353
    ll.l2 CASE Tools for the Specification Phase 354
    ll.l3 Metrics for the Specification Phase 355
    ll.l4 Air Gourmet Case Study: Structured Systems Analysis 355
    ll.l5 Air Gourmet Case Study: Software Project Management Plan 357
    ll.l6 Challenges of the Specification Phase 358
    Chapter Review 358
    For Further Reading 359
    Problems 360
    References 362

    Chapter 12 Object-Oriented Analysis Phase 366
    l2.l Object-Oriented Analysis 366
    l2.2 Elevator Problem: Object-Oriented Analysis 369
    l2.3 Use-Case Modeling 369
    l2.4 Class Modeling 37l
    l2.4.l Noun Extraction 372
    l2.4.2 CRC Cards 374
    l2.5 Dynamic Modeling 375
    l2.6 Testing during the Object-Oriented Analysis Phase 378
    l2.7 CASE Tools for the Object-Oriented Analysis Phase 383
    l2.8 Air Gourmet Case Study: Object-Oriented Analysis 383
    l2.9 Challenges of the Object-Oriented Analysis Phase 390
    Chapter Review 39l
    For Further Reading 39l
    Problems 392
    References 393

    Chapter 13 Design Phase 395
    l3.l Design and Abstraction 395
    l3.2 Action-Oriented Design 396
    l3.3 Data Flow Analysis 397
    l3.3.l Data Flow Analysis Example 398
    l3.3.2 Extensions 402
    13.4 Transaction Analysis 403
    13.5 Data-Oriented Design 406
    l3.6 Object-Oriented Design 406
    l3.7 Elevator Problem: Object-Oriented Design 407
    13.8 Formal Techniques for Detailed Design 415
    l3.9 Real-Time Design Techniques 4l6
    l3.10 Testing during the Design Phase 4l8
    13.l1 CASE Tools for the Design Phase 4l8
    l3.l2 Metrics for the Design Phase 4l9
    l3.13 Air Gourmet Case Study: Object-Oriented Design 420
    l3.l4 Challenges of the Design Phase 429
    Chapter Review 429
    For Further Reading 430
    Problems 43l
    References 43l

    Chapter 14 Implementation Phase 434
    14.l Choice of Programming Language 434
    l4.2 Fourth-Generation Languages 437
    l4.3 Good Programming Practice 440
    l4.4 Coding Standards 445
    l4.5 Module Reuse 446
    l4.6 Module Test Case Selection 447
    l4.6.l Testing to Specifications versus Testing to Code 447
    l4.6.2 Feasibility of Testing to Specifications 447
    l4.6.3 Feasibility of Testing to Code 448
    l4.7 Black-Box Module-Testing Techniques 451
    l4.7.l Equivalence Testing and Boundary Value Analysis 45l
    l4.7.2 Functional Testing 452
    l4.8 Glass-Box Module-Testing Techniques 454
    l4.8.l Structural Testing: Statement, Branch, and Path Coverage 454
    l4.8.2 Complexity Metrics 456
    l4.9 Code Walkthroughs and Inspections 458
    l4.l0 Comparison of Module-Testing Techniques 458
    l4.ll Cleanroom 459
    l4.12 Potential Problems When Testing Objects 460
    l4.l3 Management Aspects of Module Testing 463
    l4.l4 When to Rewrite Rather than Debug a Module 463
    l4.l5 CASE Tools for the Implementation Phase 465
    l4.l6 Air Gourmet Case Study: Black-Box Test Cases 465
    l4.l7 Challenges of the Implementation Phase 467
    Chapter Review 467
    For Further Reading 468
    Problems 469
    References 470

    Chapter 15 Implementation and Integration Phase 474
    l5.l Introduction to Implementation and Integration 474
    l5.l.l Top-down Implementation and Integration 475
    l5.l.2 Bottom-up Implementation and Integration 477
    l5.l.3 Sandwich Implementation and Integration 478
    l5.l.4 Implementation and Integration of Object-Oriented Products 480
    l5.l.5 Management Issues during the Implementation and Integration Phase 480
    l5.2 Testing during the Implementation and Integration Phase 48l
    l5.3 Integration Testing of Graphical User Interfaces 48l
    l5.4 Product Testing 482
    l5.5 Acceptance Testing 483
    l5.6 CASE Tools for the Implementation and Integration Phase 484
    l5.6 CASE Tools for the Complete Software Process 484
    l5.8 Integrated Environments 485
    l5.9 Environments for Business Applications 486
    l5.l0 Public Tool Infrastructures 487
    l5.ll Potential Problems with Environments 487
    l5.l2 Metrics for the Implementation and Integration Phase 488
    l5.l3 Air Gourmet Case Study: Implementation and Integration Phase 488
    l5.l4 Challenges of the Implementation and Integration Phase 489
    Chapter Review 489
    For Further Reading 490
    Problems 490
    References 492

    Chapter 16 Maintenance Phase 493
    16.1 Why Maintenance Is Necessary 493
    16.2 What Is Required of Maintenance Programmers 494
    l6.3 Maintenance Case Study 497
    l6.4 Management of Maintenance 498
    l6.4.l Fault Reports 498
    l6.4.2 Authorizing Changes to the Product 499
    l6.4.3 Ensuring Maintainability 500
    l6.4.4 Problem of Repeated Maintenance 500
    l6.5 Maintenance of Object-Oriented Software 501
    l6.6 Maintenance Skills versus Development Skills 504
    l6.7 Reverse Engineering 505
    16.8 Testing during the Maintenance Phase 506
    l6.9 CASE Tools for the Maintenance Phase 507
    l6.l0 Metrics for the Maintenance Phase 507
    l6.l1 Air Gourmet Case Study: Maintenance Phase 508
    16.l2 Challenges of the Maintenance Phase 508
    Chapter Review 509
    For Further Reading 509
    Problems 510
    References 51l

    Appendix A Broadlands Area Children's Hospital 513
    Appendix B Software Engineering Resources 518
    Appendix C Air Gourmet Case Study: C Rapid Prototype 520
    Appendix D Air Gourmet Case Study: Java Rapid Prototype 521
    Appendix E Air Gourmet Case Study: Structured Systems Analysis 522
    Appendix F Air Gourmet Case Study: Software Project Management Plan 529
    Appendix G Air Gourmet Case Study: Object-Object-Oriented Analysis 534
    Appendix H Air Gourmet Case Study: Design for C++ Implementation 535
    Appendix I Air Gourmet Case Study: Design for Java Implementation 560
    Appendix J Air Gourmet Case Study: Black-Box Test Cases 582
    Appendix K Air Gourmet Case Study: C++ Source Code 588
    Appendix L Air Gourmet Case Study: Java Source Code 589

    Bibliography 590
    Author Index 617
    Subject Index 623

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外