书籍详情
软件工程:理论与实践(第二版 影印版)
作者:(美)Shari Lawrence Pfleeger
出版社:高等教育出版社
出版时间:2001-08-01
ISBN:9787040100990
定价:¥37.00
购买这本书可以去
内容简介
本书根据本科软件工程课程要求编写。本书在系统阐述软件工程理论与方法的同时,将软件工程的概念和方法应用于实践当中,体现理论研究与实践性的结合。书中的实例既考虑到学生有限的实践经验,同时也清楚地说明了大型软件开发项目如何由基本的需求逐步变成现实的软件系统,并通过贯穿全书的两个典型实例项目进行介绍。本书也适合作为研究生开设软件工程概念与实践课程的导论教材,对软件开发人员拓展和系统掌握软件工程的知识也是很有用的。书中还包括了其他许多类型的实例,这些例子都是读者极有可能碰到的。特别在第12、13、14章给出了一些会引发思考的材料,可作为研究生当前的研究课题。本书在第一版基础上除作了全面更新修改外,主要增加了三方面的内容:面向对象技术及UML,软件工程未来的发展以及有关团队项目的内容。本书作者ShariL.Pfle
作者简介
本书作者ShariL.Pfleeger女士是一家提供软件工程和技术咨询公司的总裁。她经常在马里兰大学讲授研究生的软件工程课程。Pfleeger女士在软件工程实验研究方面最为著名,出版了大量文章和书籍,系统与软件杂志曾多次将她列为世界顶级的软件工程研究专家之一。
目录
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
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
猜您喜欢