书籍详情

面向对象与经典软件工程:英文版

面向对象与经典软件工程:英文版

作者:(美)Stephen R.Schach著

出版社:机械工业出版社

出版时间:2002-08-01

ISBN:9787111108436

定价:¥59.00

购买这本书可以去
内容简介
  作者在本书的第5版讨论了该领域最新的话题并针对教学进行了修改。新增加的“如何实现”这部分总结了重要的技巧、新大纲、新要点以及更加具体的案例研究,突出了教学上的改进,增强了实用性。为便于学生阅读,作者将本书分成两个部分:第1部分论述了软件工程的理论基础,第2部分阐述了生命周期的各个阶段。第2部分的主要特性是通过案例研究描述了所用的技巧。在第5版中,作者对连续的案例研究进行了更加详细的说明,以使学生更好地理解如何在实际中应用所学的技巧。给出的研究课题需要学生对案例研究进行修改,使学生能在干中学。
作者简介
暂缺《面向对象与经典软件工程:英文版》作者简介
目录
Preface 
PART 1 Introduction to Software Engineering 
Chapter 1 The Scope of Software Engineering 
1.1 Historical Aspects 
1.2 Economic Aspects 
1.3 Maintenance Aspects 
1.4 Specification and Design Aspects 
1.5 Team Programming Aspects 
1.6 The Object-Oriented Paradigm 
1.7 Terminology 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 2 The Software Process 
2.1 Client, Developer, and User 
2.2 Requirements Phase 
2.2.1 Requirements Phase Testing 
2.2.2 Requirements Phase Documentation 
2.3 Specification Phase 
2.3.1 Specification Phase Testing 
2.3.2 Specification Phase Documentation 
2.4 Design Phase 
2.4.1 Design Phase Testing 
2.4.2 Design Phase Documentation 
2.5 Implementation Phase 
2.5.1 Implementation Phase Testing 
2.5.2 Implementation Phase Documentation 
2.6 Integration Phase 
2.6.1 Integration Phase Testing 
2.6.2 Integration Phase Documentation 
2.7 Maintenance Phase 
2.7.1 Maintenance Phase Testing 
2.7.2 Maintenance Phase Documentation 
2.8 Retirement 
2.9 Problems with Software Production: Essence and Accidents 
2.9.1 Complexity 
2.9.2 Conformity 
2.9.3 Changeability 
2.9.4 Invisibility 
2.9.5 No Si1verBullet? 
2.10 Improving the Software Process 
2.11 Capability Maturity Models 
2.12 Other Software Process Improvement Initiatives 
2.13 Costs and Benefits of Software Process Improvement 
Chanter Review 
For Further Reading 
Problems 
References 
Chapter 3 Software Life-Cycle Models 
3.1 Build-and-Fix Model 
3.2 Waterfall Model 
3.2.1 Analysis of the Waterfall Model 
3.3 Rapid Prototyping Model 
3.3.1 Integrating the Waterfall and Rapid Prototyping Models
3.4 Incremental Model 
3.4.1 Analysis of the Incremental Model 
3.5 Extreme Programming 
3.6 Synchronize-and-Stabilize Model 
3.7 Spiral Model 
3.7.1 Analysis of the Spiral Model 
3.8 Object-Oriented Life-Cycle Models 
3.9 Comparison of Life-Cycle Models 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 4 Teams 
4.1 Team Organization 
4.2 Democratic Team Approach 
4.2.1 Analysis of the Democratic Team Approach
4.3 Classical Chief Programmer Team Approach
4.3.1 The New York Times Project 
4.3.2 Impracticality of the Classical Chief Programmer Team Approach 
4.4 Beyond Chief Programmer and Democratic Teams 
4.5 Synchronize-and-Stabilize Teams
4.6 Extreme Programming Teams 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 5 The Tools Of the Trade 
5.1 Stepwise Refinement 
5.1.1 Stepwise Refinement Example 
5.2 Cost-Benefit Analysis 
5.3 Software Metrics 
5.4 CASE 
5.5 Taxonomy of CASE 
5.6 Scope of CASE 
5.7 Software Versions 
5.7.1 Revisions 
5.7.2 Variations 
5.8 Configuration Control 
5.8.1 Configuration Control during Product Maintenance 
5.8.2 Baselines 
5.8.3 Configuration Control during Product Development 
5.9 Build Tools 
5.10 Productivity Gains with CASE Technology 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 6 Testing 
6.1 Quality Issues 
6.1.1 Software Quality Assurance 
6.1.2 Managerial Independence 
6.2 Nonexecution-Based Testing 
6.2.1 Walkthroughs 
6.2.2 Managing Walkthroughs 
6.2.3 Inspections 
6.2.4 Comparison of Inspections and Walkthroughs 
6.2.5 Strengths and Weaknesses of Reviews 
6.2.6 Metrics for Inspections 
6.3 Execution-Based Testing 
6.4 What Should Be Tested? 
6.4.1 Utility 
6.4.2 Reliability 
6.4.3 Robustness 
6.4.4 Performance 
6.4.5 Correctness 
6.5 Testing versus Correctness Proofs 
6.5.1 Example of a Correctness Proofs 
6.5.2 Correctness Proof Case Study 
6.5.3 Correctness Proof and Software Engineering 
6.6 Who Should Perform Execution-Based Testing? 
6.7 When Testing Stops 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 7 From Modules to Objects 
7.1 What Is a Module? 
7.2 Cohesion 
7.2.1 Coincidental Cohesion 
7.2.2 Logical Cohesion 
7.2.3 Temporal Cohesion 
7.2.4 Procedural Cohesion 
7.2.5 Communicational Cohesion 
7.2.6 Functional Cohesion 
7.2.7 Informational Cohesion 
7.2.8 Cohesion Example 
7.3 Coupling 
7.3.1 Content Coupling 
7.3.2 Common Coupling 
7.3.3 Control Coupling 
7.3.4 Stamp Coupling 
7.3.5 Data Coupling 
7.3.6 Coupling Example 
7.3.7 The Importance of Coupling 
7.4 Data Encapsulation 
7.4.1 Data Encapsulation and Product Development 
7.4.2 Data Encapsulation and Product Maintenance 
7.5 Abstract Data Types 
7.6 Infromation Hiding 
7.7 Objects 
7.8 Inheritance, Polymorphism, and Dynamic Binding 
7.9 Cohesion and Coupling of Objects 
7.10 The Object-Oriented Paradigm 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 8 Reusability Portability, and Interoperability 
8.1 Reuse Concepts 
8.2 Impediments to Reuse 
8.3 Reuse Case Studies 
8.3.1 Raytheon Missi1e Systems Division 
8.3.2 Toshiba software Factory 
8.3.3 NASA Software 
8.3.4 GTE Data Services 
8.3.5 Hewlett-Packard 
8.3.6 European Space Agency 
8.4 Objects and Reuse 
8.5 Reuse during the Design and Implementation Phases 
8.5.1 Design Reuse 
8.5.2 Application Frameworks 
8.5.3 Design Patterns 
8.5.4 Software Architecture 
8.6 Reuse and Maintenance 
8.7 Portability 
8.7.1 Ware Incompatibilities 
8.7.2 Operating Systems Incompatibilities 
8.7.3 Numerical Software Incompatibilities 
8.7.4 Compiler Incompatibilities 
8.8 Why Portability? 
8.9 Techniques for Achieving Portability 
8.9.1 Portable System Software 
8.9.2 Portable Application Software 
8.9.3 Portable Data 
8.10 Interoperability 
8.10.1 COM 
8.10.2 CORBA 
8.10.3 Comparing COM and CORBA 
8.11 Future Trends in Interoperability 
Chapter Review For Further Reading 
Problems 
References 
Chapter 9 Planning and Estimating 
9.1 Planning and the Software Process 
9.2 Estimating Duration and Cost 
9.2.1 Metrics for the Size of a Product 
9.2.2 Techniques of Cost Estimation 
9.2.3 Intermediate COCOMO 
9.2.4 COCOMO II 
9.2.5 Tracking Duration and Cost Estimates 
9.3 Components of a Software Project Management Plan 
9.4 software Project Management Plan Framework 
9.5 IEEE Software Project Management Plan 
9.6 Planning Testing 
9.7 Planning Object-Oriented Projects 
9.8 Training Requirements 
9.9 Documentation Standards 
9.10 CASE Tools for Planning and Estimating 
9.11 Testing the Software Project Management Plan 
Chapter Review 
For Further Reading 
Problems 
References 
PART 2 The Phases of the Software Life Cycle 
Chapter 1O Requirements Phase 
10.1 Requirements Elicitation 
10.1.1 Interviews 
10.1.2 Scenarios 
10.1.3 Other Requirements Elicitation Techniques 
10.2 Requirements Analysis 
10.3 Rapid Prototyping 
10.4 Human Factors 
10.5 Rapid Prototyping as a Specification Technique 
10.6 Reusing the Rapid Prototype 
10.7 Management Implications of the Rapid Prototyping Model 
10.8 Experiences with Rapid Prototyping 
10.9 Techniques for Requirements Elicitation and Analysis 
10.10 Testing during the Requirements Phase 
10.11 CASE Tools for the Requirements Phase 
10.12 Metrics for the Requirements Phase 
10.13 Object-Oriented Requirements? 
10.14 Air Gourmet Case Study: Requirements Phase 
10.15 Air Gourmet Case Study: Rapid Prototype 
10.16 Challenges of the Requirements Phase 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 11 Specification Phase 
11.1 The Specification Document 
11.2 Informal Specifications 
11.2.1 Case Study: Text Processing 
11.3 Structured Systems Analysis 
11.3.1 Sally's Software Shop 
11.4 Other Semiformal Techniques 
11.5 Entity-Relationship Modeling 
11.6 Finite State Machines 
11.6.1 Elevator Problem: Finite State Machines 
11.7 Petri Nets 
11.7.1 Elevator Problem: Petri Nets 
11.8 Z
11.8.1 Elevator Problem: Z 
11.8.2 Analysis of Z 
11.9 Other Formal Techniques 
11.10 Comparison of Specification Techniques 
11.11 Testing during the Specification Phase
11.12 CASE Tools for the Specification Phase 
11.13 Metrics for the Specification Phase 
11.14 Air Gourmet Case Study: Structured Systems Analysis 
11.15 Air Gourmet Case Study: Software Project Management Plan 
11.16 Challenges of the Specification Phase 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 12 Object-Oriented Analysis Phase 
12.1 Object-Oriented Analysis 
12.2 Elevator Problem: Object-Oriented Analysis 
12.3 Use-Case Modeling 
12.4 Class Modeling 
12.4.1 Noun Extraction 
12.4.2 CRC Cards 
12.5 Dynamic Modeling 
12.6 Testing during the Object-Oriented Analysis Phase 
12.7 CASE Tools for the Object-Oriented Analysis Phase 
12.8 Air Gourmet Case Study: Object-Oriented Analysis 
12.9 Challenges of the Object-Oriented Analysis Phase 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 13 Design Phase 
13.1 Design and Abstraction 
13.2 Action-Oriented Design 
13.3 Data Flow Analysis 
13.3.1 Data Flow Analysis Example 
13.3.2 Extensions 
13.4 Transaction Analysis 
13.5 Data-Oriented Design 
13.6 Object-Oriented Design 
13.7 Elevator Problem: Object-Oriented Design 
13.8 Formal Techniques for Detailed Design 
13.9 Real-Time Design Techniques 
13.10 Testing during the Design Phase 
13.11 CASE Tools for the Design Phase 
13.12 Metrics for the Design Phase 
13.13 Air Gourmet Case Study: Object-Oriented Design 
13.14 Challenges of the Design Phase 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 14 Implementation Phase 
14.1 Choice of Programming Language 
14.2 Fourth-Generation Languages 
14.3 Good Programming Practice 
14.4 Coding Standards 
14.5 Module Reuse 
14.6 Module Test Case Selection 
14.6.1 Testing to Specifications versus Testing to Code 
14.6.2 Feasibility of Testing to Specifications 
14.6.3 Feasibility of Testing to Code 
14.7 Black-Box Module-Testing Techniques 
14.7.1 Equivalence Testing and Boundary Value Analysis 
14.7.2 Functional Testing 
14.8 Glass-Box Module-Testing Techniques 
14.8.1 Structural Testing: Statement, Branch, and Path Coverage 
14.8.2 Complexity Metrics 
14.9 Code Walkthroughs and Inspections 
14.10 Comparison of Module-Testing Techniques 
14.11 Cleanroom 
14.12 Potential Problems When Testing Objects 
14.13 Management Aspects of Module Testing 
14.14 When to Rewrite Rather than Debug a Module 
14.15 CASE Tools for the Implementation Phase 
14.16 Air Gourmet Case Study: Black-Box Test Cases 
14.17 Challenges of the Implementation Phase 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 15 Implementation and Integration Phase 
15.1 Introduction to Implementation and Integration 
15.1.1 Top-down Implementation and Integration 
15.1.2 Bottom-up Implementation and Integration 
15.1.3 Sandwich Implementation and Integration 
15.1.4 Implementation and Integration of Object-Oriented Products 
15.1.5 Management Issues during the Implementation and Integration Phase 
15.2 Testing during the Implementation and Integration Phase 
15.3 Integration Testing of Graphical User Interfaces 
15.4 Product Testing 
15.5 Acceptance Testing 
15.6 CASE Tools for the Implementation and Integration Phase 
15.6 CASE Tools for the Complete Software Process 
15.8 Integrated Environments 
15.9 Environments for Business Applications 
15.10 Public Tool Infrastructures 
15.11 Potential Problems with Environments 
15.12 Metrics for the Implementation and Integration Phase 
15.13 Air Gourmet Case Study: Implementation and Integration Phase 
15.14 Challenges of the Implementation and Integration Phase 
Chapter Review 
For Further Reading 
Problems 
References 
Chapter 16 Maintenance Phase 
16.1 Why Maintenance Is Necessary 
16.2 What Is Required of Maintenance Programmers 
16.3 Maintenance Case Study 
16.4 Management of Maintenance 
16.4.1 Fault Reports 
16.4.2 Authorizing Changes to the Product 
16.4.3 Ensuring Maintainability 
16.4.4 Problem of Repeated Maintenance 
16.5 Maintenance of Object-Oriented Software 
16.6 Maintenance Skills versus Development Skills 
16.7 Reverse Engineering 
16.8 Testing during the Maintenance Phase 
16.9 CASE Tools for the Maintenance Phase 
16.10 Metrics for the Maintenance Phase 
16.11 Air Gourmet Case Study: Maintenance Phase 
16.12 Challenges of the Maintenance Phase 
Chapter Review 
For Further Reading 
Problems 
References 
Appendix A Broadlands Area Children's Hospital 
Appendix B Software Engineering Resources 
Appendix C Air Gourmet Case Study: C Rapid Prototype 
Appendix D Air Gourmet Case Study: Java Rapid Prototype 
Appendix E Air Gourmet Case Study: Structured Systems Analysis 
Appendix F Air Gourmet Case Study: Software Project Management Plan 
Appendix G Air Gourmet Case Study: Object-Object-Oriented Analysis 
Appendix H Air Gourmet Case Study: Design for C++ Implementation 
Appendix I Air Gourmet Case Study: Design for Java Implementation 
Appendix J Air Gourmet Case Study: Black-Box Test Cases 
Appendix K Air Gourmet Case Study: C++ Source Code 
Appendix L Air Gourmet Case Study: Java Source Code 
Bibliography 
Author Index 
Subject Index
猜您喜欢

读书导航