软件工程面向对象和传统的方法(英文版·第7版)

软件工程面向对象和传统的方法(英文版·第7版)
作 者: Stephen Schach
出版社: 机械工业出版社
丛编项: 经典原版书库
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 教材 软件工程
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  StephenR.Schach,1972年获魏兹曼科学院物理学理科硕士学位,1973年获开普敦大学应用数学博士学位,目前是美国范德比尔特大学计算机科学和计算机工程副教授.他的研究兴趣主要集中在软件工程领域,特别是对软件维护与开源软件的实验分析有深入研究.他著有多部软件工程.面向对象软件工程.面向对象系统分析与设计方面的教材....

内容简介

本书对软件工程的基础知识(包括面向对象和传统的方法)进行了严谨和全面的介绍,是软件工程领域的经典著作,被加州大学伯克利分校等180多所美国高校选作教材,至今已是第7版。本版中着重扩展了敏捷过程和开源软件的内容,并更新了案例研究和大量习题。. 本书共分两大部分:第一部分介绍基本的软件工程理论;第二部分讲述更实用的软件生命周期。作者采用这种独特的、极具可读性的组织方式,使学生和广大读者能够更加系统地学习软件工程的相关知识。

图书目录

Preface.

PART ONE INTRODUCTION TO SOFTWARE ENGINEERING

Chapter 1 The Scope of Software Engineering

Learning Objectives

1.1 Historical Aspects

1.2 Economic Aspects

1.3 Maintenance Aspects

1.4 Requirements, Analysis, and Design Aspects

1.5 Team Development Aspects

1.6 Why There Is No Planning Phase

1.7 Why There Is No Testing Phase

1.8 Why There Is No Documentation Phase

1.9 The Object-Oriented Paradigm

1.10 The Object-Oriented Paradigm in Perspective

1.11 Terminology

1.12 Ethical Issues

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 2 Software Life-Cycle Models

Learning Objectives

2.1 Software Development in Theory

2.2 Winburg Mini Case Study

2.3 Lessons of the Winburg Mini Case Study

2.4 Teal Tractors Mini Case Study

2.5 Iteration and Incrementation

2.6 Winburg Mini Case Study Revisited

2.7 Risks and Other Aspects of Iteration and Incrementation

2.8 Managing Iteration and Incrementation

2.9 Other Life-Cycle Models

2.10 Comparison of Life-Cycle Models

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 3 The Software Process

Learning Objectives

3.1 The Unified Process

3.2 Iteration and Incrementation within the Object-Oriented Paradigm

3.3 The Requirements Workfiow

3.4 The Analysis Workflow

3.5 The Design Workflow

3.6 The Implementation Workflow

3.7 The Test Workflow

3.8 Postdelivery Maintenance

3.9 Retirement

3.10 The Phases of the Unified Process

3.11 One- versus Two-Dimensional Life-Cycle Models

3.12 Improving the Software Process

3.13 Capability Maturity Models

3.14 Other Software Process Improvement Initiatives

3.15 Costs and Benefits of Software Process Improvement

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 4 Teams 104

Learning Objectives

4.1 Team Organization

4.2 Democratic Team Approach

4.3 Classical Chief Programmer Team Approach

4.4 Beyond Chief Programmer and Democratic Teams

4.5 Synchronize-and-Stabilize Teams

4.6 Teams for Agile Processes

4.7 Open-Source Programming Teams

4.8 People Capability Maturity Model

4.9 Choosing an Appropriate Team

Organization

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 5 The Tools of the Trade

Learning Objectives

5.1 Stepwise Refinement

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.8 Configuration Control

5.9 Build Tools

5.10 Productivity Gains with CASE Technology

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 6 Testing

Learning Objectives

6.1 Quality Issues

6.2 Non-Execution-Based Testing

6.5 Execution-Based Testing

6.4 What Should Be Tested?

6.5 Testing versus Correcmess Proofs

6.6 Who Should Perform Execution-Based Testing?

6.7 When Testing Stops

Chapter 7 From Modules to Objects

Learning Objectives

7.1 What Is a Module?

7.2 Cohesion

7.3 Coupling

7.4 Data Encapsulation

7.5 Abstract Data Types

7.6 Information Hiding

7.7 Objects

7.8 Inheritance, Polymorphism, and Dynamic Binding

7.9 The Object-Oriented Paradigm

Chapter 8 Reusability and Portability

Learning Objectives

8.1 Reuse Concepts

8.2 Impediments to Reuse

8.3 Reuse Case Studies

8.4 Objects anct Reuse

8.5 Reuse during Design

8.6 Reuse and Postdelivery Maintenance

8.7 Portability..

8.8 Why Portability?

8.9 Techniques for Achieving Portability

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 9 Planning and Estimating

Learning Objectives

9.1 Planning and the Software Process

9.2 Estimating Duration and Cost

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

Key Terms

Problems

References

PART TWO THE WORKFLOWS OF THE SOFTWARE LIFE CYCLE

Chapter 10 Requirements

Learning Objectives

10.1 Determining What the Client Needs

10.2 Overview of the Requirements Workflow

10.5 Understanding the Domain

10.4 The Business Model

10.5 Initial Requirements

10.6 Initial Understanding of the Domain: The MSG Foundation Case Study

10.7 Initial Business Model: The MSG Foundation Case Study

10.8 Initial Requirements: The MSG Foundation Case Study

10.9 Continuing the Requirements Workflow: The MSG Foundation Case Study

10.10 Revising the Requirements: The MSG Foundation Case Study

10.11 The Test Workflow: The MSG Foundation Case Study

10.12 The Classical Requirements Phase

10.13 Rapid Prototyping

10.14 Human Factors

10.15 Reusing the Rapid Prototype

10.16 CASE Tools for the Requirements Workfiow

10.17 Metrics for the Requirements Workflow

10.18 Challenges of the Requirements Workflow

Chapter Review

For Further Reading

Key Terms

Case Study Key Terms

Problems

References

Chapter 11 Classical Analysis

Learning Objectives

11.1 The Specification Document

11.2 Informal Specifications

11.5 Structured Systems Analysis

11.4 Structured Systems Analysis: The MSG Foundation Case Study

11.5 Other Semiformal Techniques

11.6 Entity-Relationship Modeling

11.7 Finite State Machines

11.8 Petri Nets

11.9 Z 358

11.10 Other Formal Techniques

11.11 Comparison of Classical Analysis Techniques

11.12 Testing during Classical Analysis

11.13 CASE Tools for Classical Analysis

11.14 Metrics for Classical Analysis

11.15 Software Project Management Plan: The MSG Foundation Case Study

11.16 Challenges of Classical Analysis

Chapter Review

For Further Reading

Key Terms

Case Study Key Terms

Problems

References

Chapter 12 Object-Oriented Analysis

Learning Objectives

12.1 The Analysis Workflow

12.2 Extracting the Entity Classes

12.3 Object-Oriented Analysis: The Elevator Problem Case Study

12.4 Functional Modeling: The Elevator Problem Case Study

12.5 Entity Class Modeling: The Elevator Problem Case Study

12.6 Dynamic Modeling: The Elevator Problem Case Study

12.7 The Test Workflow: Object-Oriented Analysis

12.8 Extracting the Boundary and Control Classes

12.9 The Initial Functional Model: The MSG Foundation Case Study

12.10 The Initial Class Diagram: The MSG Foundation Case Study

12.11 The Initial Dynamic Model: The MSG Foundation Case Study

12.12 Revising the Entity Classes: The MSG Foundation Case Study

12.13 Extracting the Boundary Classes: The MSG Foundation Case Study

12.14 Extracting the Control Classes: The MSG Foundation Case Study

12.15 Use-Case Realization: The MSG Foundation Case Study

12.16 Incrementing the Class Diagram: The MSG Foundation Case Study

12.17 The Test Workfiow: The MSG Foundation Case Study

12.18 The Specification Document in the Unified Process

12.19 More on Actors and Use Cases

12.20 CASE Tools for the Object-Oriented Analysis Workflow

12.21 Challenges of the Object-Oriented Analysis Workflow

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 13 Design

Learning Objectives

13.1 Design and Abstraction

13.2 Operation-Oriented Design

13.3 Data Flow Analysis

13.4 Transaction Analysis

13.5 Data-Oriented Design

13.6 Object-Oriented Design

13.7 Object-Oriented Design: The Elevator Problem Case Study

13.8 Object-Oriented Design: The MSG Foundation Case Study

13.9 The Design Workfiow

13.10 The Test Workfiow: Design

13.11 The Test Workflow: The MSG Foundation Case Study

13.12 Formal Techniques for Detailed Design

13.13 Real-Time Design Techniques

13.14 CASE Tools for Design

13.15 Metrics for Design

13.16 Challenges of the Design Workflow

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 14 implementation

Learning Objectives

14.1 Choice of Programming Language

14.2 Fourth-Generation Languages

14.3 Good Programming Practice

14.4 Coding Standards

14.5 Code Reuse

14.6 Integration

14.7 The Implementation Worlfflow

14.8 The Implementation Workfiow: The MSG Foundation Case Study

14.9 The Test Worldtow: Implementation

14.10 Test Case Selection

14.11 Black-Box Unit-Testing Techniques

14.12 Black-Box Test Cases: The MSG Foundation Case Study

14.13 Glass-Box Unit-Testing Techniques

14.14 Code Walkthroughs and Inspections

14.15 Comparison of Unit-Testing Techniques

14.16 Cleanroom

14.17 Potential Problems When Testing Objects

14.18 Management Aspects of Unit Testing

14.19 When to Rewrite Rather than Debug a Code Artifact

14.20 Integration Testing

14.21 Product Testing

14.22 Acceptance Testing

14.23 The Test Workflow: The MSG Foundation Case Study

14.24 CASE Tools for Implementation

14.25 CASE Tools for the Test Workflow

14.26 Metrics for the Implementation Workflow

14.27 Challenges of the Implementation Workflow

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 15 Postdelivery Maintenance

Learning Objectives

15.1 Development and Maintenance

15.2 Why Postdelivery Maintenance Is Necessary

15.3 What Is Required of Post&livery Maintenance Programmers?

15.4 Postdelivery Maintenance Mini Case Study

15.5 Management of Postdelivery Maintenance

15.6 Maintenance of Object-Oriented Software

15.7 Postdelivery Maintenance Skills versus Development Skills

15.8 Reverse Engineering

15.9 Testing during Post&livery Maintenance

15.10 CASE Tools for Postdelivery Maintenance

15.11 Metrics for Postdelivery Maintenance

15.12 Post&livery Maintenance: The MSG Foundation Case Study

15.13 Challenges of Postdelivery Maintenance

Chapter Review

For Further Reading

Key Terms

Problems

References

Chapter 16 More on UML

Learning Objectives

16.1 UML Is Not a Methodology

16.2 Class Diagrams

16.3 Notes

16.4 Use-Case Diagrams

16.5 Stereotypes

16.6 Interaction Diagrams

16.7 Statecharts

16.8 Activity Diagrams

16.9 Packages 549

16.10 Component Diagrams

16.11 Deployment Diagrams

16.12 Review of UML Diagrams

16.13 UML and Iteration

Chapter Review

For Further Reading

Key Terms

Problems

References

Bibliography

Appendix A Term Project: Osric's Office Appliances and Decor

Appendix B Software Engineering Resources

Appendix C Requirements Workfiow' The MSG Foundation Case Study

Appendix D Structured Systems Analysis: The MSG Foundation Case Study

Appendix E Analysis Worldlow: The MSG Foundation Case Study

Appendix F Software Project Management Plan: The MSG Foundation Case Study

Appendix G Design Workfiow: The MSG Foundation Case Study

Appendix H Implementation Workfiow: The MSG Foundation Case Study (C++ Version)

Appendix I Implementation Workfiow: The MSG Foundation Case Study (Java Version)

Appendix J Test Workfiow: The MSG Foundation Case Study

Author Index

Subject Index