软件工程:理论与实践(第二版 影印版)

软件工程:理论与实践(第二版 影印版)
作 者: Shari Lawrence Pfleeger
出版社: 高等教育出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书作者ShariL.Pfleeger女士是一家提供软件工程和技术咨询公司的总裁。她经常在马里兰大学讲授研究生的软件工程课程。Pfleeger女士在软件工程实验研究方面最为著名,出版了大量文章和书籍,系统与软件杂志曾多次将她列为世界顶级的软件工程研究专家之一。

内容简介

本书根据本科软件工程课程要求编写。本书在系统阐述软件工程理论与方法的同时,将软件工程的概念和方法应用于实践当中,体现理论研究与实践性的结合。书中的实例既考虑到学生有限的实践经验,同时也清楚地说明了大型软件开发项目如何由基本的需求逐步变成现实的软件系统,并通过贯穿全书的两个典型实例项目进行介绍。本书也适合作为研究生开设软件工程概念与实践课程的导论教材,对软件开发人员拓展和系统掌握软件工程的知识也是很有用的。书中还包括了其他许多类型的实例,这些例子都是读者极有可能碰到的。特别在第12、13、14章给出了一些会引发思考的材料,可作为研究生当前的研究课题。本书在第一版基础上除作了全面更新修改外,主要增加了三方面的内容:面向对象技术及UML,软件工程未来的发展以及有关团队项目的内容。本书作者ShariL.Pfle 

图书目录

Preface

1 Why Software Engineering?

1.1 What Is Software Engineering?

1.2 How Successful Have We Been?

1.3 What Is Good Software?

1.4 Who Does Software Engineering?

1.5 A Systems Approach

1.6 An Engineering Approach

1.7 Members of the Development Team

1.8 How Has Software Engineering Changed?

1.9 Information Systems Example

1.10 Real-Time Example

1.11 What This Chapter Means for You

1.12 What This Chapter Means for Your Development Team

1.13 What This Chapter Means for Researchers

1.14 Term Project

1.15 Key References

1.16 Exercises

2 Modeling the Process and Life Cycle

2.1 The Meaning of Process

2.2 Software Process Models

2.3 Tools and Techniques for Process Modeling

2.4 Practical Process Modeling

2.5 Information System Example

2.6 Real-Time Example

2.7 What This Chapter Means for You

2.8 What This Chapter Means for Your Development Team

2.9 What This Chapter Means for Researchers

2.10 Term Project

2.11 Key References

2.12 Exercises

3 Planning and Managing the Project

3.1 Tracking Progress

3.2 Project Personnel

3.3 Effort Estimation

3.4 Risk Management

3.5 the Project Plan

3.6 Process Models and Project Management

3.7 Information System Example

3.8 Real-Time Example

3.9 What This Chapter Means for You

3.10 What This Chapter Means for Your Development Team

3.11 What This Chapter Means for Researchers

3.12 Term Project

3.13 Key References

3.14 Exercises

4 Capturing the Requirements

4.1 The Requirements Process

4.2 Types of Requirements

4.3 Characteristics of Requirements

4.4 How to Express Requirements

4.5 Additional Requirements Notations

4.6 Prototyping Requirements

4.7 Requirements Documentation

4.8 Participants in the Requirements Process

4.9 Requirements Validation

4.10 Measuring Requirements

4.11 Choosing a Requirements Specification Technique

4.12 Information Systems Example

4.13 Real-Time Example

4.14 What This Chapter Means for You

4.15 What This Chapter Means for Your Development Team

4.16 What This Chapter Means for Researchers

4.17 Term Project

4.18 Key References

4.19 Exercises

5 Designing the System

5.1 What Is Design?

5.2 Decomposition and Modularity

5.3 Architectural Styles and Strategies

5.4 Issues in Design Creation

5.5 Characteristics of Good Design

5.6 Techniques for Improving Design

5.7 Design Evaluation and Validation

5.8 Documenting the Design

5.9 Information System Example

5.10 Real-Time Example

5.11 What This Chapter Means for You

5.12 What This Chapter Means for Your Development Team

5.13 What This Chapter Means for Researchers

5.14 Term Project

5.15 Key References

5.16 Exercises

6 Concerning Objects

6.1 What Is OO?

6.2 The OO Development Process

6.3 Use Cases

6.4 Representing OO: An Example Using UML

6.5 OO System Design

6.6 OO Program Design

6.7 OO Measurement

6.8 Information Systems Example

6.9 Real-Time Example

6.10 What This Chapter Means for You

6.11 What This Chapter Means for Your Development Team

6.12 What This Chapter Means for Researchers

6.13 Term Project

6.14 Key References

6.15 Exercises

7 Writing the Programs

7.1 Programming Standards and Procedures

7.2 Programming Guidelines

7.3 Documentation

7.4 Information Systems Example

7.5 Real-Time Example

7.6 What This Chapter Means for You

7.7 What This Chapter Means for Your Development Team

7.8 What This Chapter Means for Researchers

7.9 Term Project

7.10 Key References

7.11 Exercises

8 Testing the Programs

8.1 Software Faults and Failures

8.2 Testing Issues

8.3 Unit Testing

8.4 Integration Testing

8.5 Testing Object-Oriented Systems

8.6 Test Planning

8.7 Automated Testing Tools

8.8 When to Stop Testing

8.9 Information Systems Example

8.10 Real-Time Example

8.11 What This Chapter Means for You

8.12 What This Chapter Means for Your Development Team

8.13 What This Chapter Means for Researchers

8.14 Term Project

8.15 Key References

8.16 Exercises

9 Testing the System

9.1 Principles of System Testing

9.2 Function Testing

9.3 Performance Testing

9.4 Reliability, Availability, and Maintainability

9.5 Acceptance Testing

9.6 Installation Testing

9.7 Automated System Testing

9.8 Test Documentation

9.9 Testing Safety-Critical Systems

9.10 Information Systems Example

9.11 Real-Time Example

9.12 What This Chapter Means for You

9.13 What This Chapter Means for Your Development Team

9.14 What This Chapter Means for Researchers

9.15 Term Project

9.16 Key References

9.17 Exercises

10 Delivering the System

10.1 Training

10.2 Documentation

10.3 Information Systems Example

10.4 Real-Time Example

10.5 What This Chapter Means for You

10.6 What This Chapter Means for Your Development Team

10.7 What This Chapter Means for Researchers

10.8 Term Project

10.9 Key References

10.10 Exercises

11 Maintaining the System

11.1 The Changing System

11.2 The Nature of Maintenance

11.3 Maintenance Problems

11.4 Measuring Maintenance Characteristics

11.5 Maintenance Techniques and Tools

11.6 Software Rejuvenation

11.7 Information Systems Example

11.8 Real-Time Example

11.9 What This Chapter Means for You

11.l0 What This Chapter Means for Your Development Team

11.11 What This Chapter Means for Researchers

11.12 Term Project

11.13 Key References

11.14 Exercises

12 Evaluating Products, Processes, and Resources

12.1 Approaches to Evaluation

12.2 Selecting an Evaluation Technique

12.3 Assessment vs. Prediction

12.4 Evaluating Products

12.5 Evaluating Processes

12.6 Evaluating Resources

12.7 Information Systems Example

12.8 Real-Time Example

12.9 What This Chapter Means for You

12.10 What This Chapter Means for Your Development Team

12.11 What This Chapter Means for Researchers

12.12 Term Project

12.13 Key References

12.14 Exercises

13 Improving Predictions, Products, Processes, and Resourees

13.1 Improving Prediction

13.2 Improving Products

13.3 Improving Processes

13.4 Improving Resources

13.5 General Improvement Guidelines

13.6 Information Systems Example

13.7 Real-Time Example

13.8 What This Chapter Means for You

13.9 What This Chapter Means for Your Development Team

13.10 What This Chapter Means for Researchers

13.11 Term Project

13.12 Key References

13.13 Exercises

14 The Future of Software Engineering

14.1 How Have We Done?

14.2 Technology Transfer

14.3 Decision-Making in Software Engineering

14.4 The Future of Software Engineering

14.5 Term Project

14.6 Key References

14.7 Exercises

Annotated Bibliography

Index