Introduction to the Personal Software Process (Paperback)

Watts S. Humphrey




This newest book from Watts Humphrey is a hands-on introduction to basic disciplines of software engineering. Designed as a workbook companion to any introductory programming or software-engineering text, Humphrey provides here the practical means to integrate his highly regarded Personal Software Process (PSP) into the undergraduate curriculum. Applying the book's exercises to course assignments, students learn both to manage their time effectively and to monitor the quality of their work, good practices they will need to be successful in their future careers. The book is supported by its own electronic supplement, which includes spreadsheets for data entry and analysis. A complete instructor's package is also available. By mastering PSP techniques early in their studies, students can avoid-or overcome-the popular "hacker" ethic that leads to so many bad habits. Employers will appreciate new hires prepared to do competent professional work without, as now is common, expensive retraining and years of experience.

Back to Top

Table Of Contents

(All chapters, except Chapter 20, conclude with a Summary and an Assignment.)
1. The Software Engineer's Job.

What is Software Engineering?
Why is Good Engineering Important?
The Personal Software Process.
The Discipline of High-Quality Work.
The Importance of High-Quality Work.
How to Improve the Quality of Your Work.
The Improvement Process.
The Strategy of this Book.

2. The Management.
The Logic of Time Management.
Understanding How You Spend Time.
The Engineering Notebook.
The Notebook Design.
Engineering Notebook Examples.

3. Tracking Time.
Why Track Time?
Recording Time Data.
Tracking Your Time.
Use a Standard Time Recording Log.
Handling Interruptions.
Tracking Completed Tasks.
Keeping Time Logs in the Engineering Notebook.
Hints on Logging Your Time.

4. Period and Product Planning.
Period and Product Plans.
The Weekly Activity Summary.
Summarizing Weekly Times.
Calculating Period Times and Rates.
Using the Weekly Activity Summary.

5. Product Planning.
The Need for Product Plans.
Why Product Plans Are Helpful.
What is a Product Plan?
Product Planning in this Book.
Planning Small Jobs.
Some Definitions.
The Job Number Log.
Some Suggestions on Using the Job Number Log.
Using Product Times and Rates Data.

6. Product Size.
The Product Planning Process.
Size Measurement.
Some Cautions on Using Size Measures.
Program Size.
Other Size Measures.
Estimating Program Size.
Making a Larger Size Estimate.
Using Size Measures in the Job Number Log.

7. Managing Your Time.
Elements of Time Management.
Categorizing Your Activities.
Gather Data on Time Spent by Activity.
Evaluating Your Time Distribution.
Making a Time Budget.
Finding More Time.
Setting Ground Rules.
Prioritizing Your Time.
Managing Your Time Budget.
Suggestions on Managing Variable Time.
Your Time Management Objective.

8. Managing Commitments.
Defining Commitment.
Responsibly Made Commitments.
Example of a Commitment.
An Example in Industry.
Handling Missed Commitments.
The Importance of Managing Commitments.
The Consequences of Not Managing Commitments.
The Way to Manage Commitments.

9. Managing Schedules.
The Need for Schedules.
The Gantt Chart.
Making a Project Schedule.
Tracking Project Plans.
Tracking Earned Value.

10. The Project Plan.
The Need for Project Plans.
The Project Plan Summary.
The Summary.
Program Size.
Time in Phase.
Estimating Accuracy.

11. The Software Development Process.
Why We Use Processes.
Some Definitions.
The Process Script.
Checkpoints and Phases.
The Updated Project Plan Summary Form.
A Planning Example.
An Example of To Date Calculations.

12. Defects.
What is Software Quality?
Defects and Quality.
What are Defects?
Defects versus Bugs.
Defect Types.
Understanding Defects.
The Defect Recording Log.
Counting Defects.
Using the Defect Recording Log.
The Updated PSP Process.

13. Finding Defects.
A Personal Commitment to Quality.
The Steps in Finding Defects.
Ways to Find and Fix Defects.
Code Reviews.
Why Find Defects Early?
The Costs of Finding and Fixing Defects.
Using Reviews to Find Defects.
Reviewing Before Compiling.
Data on Compile and Test Defects.
The Updated PSP Project Plan Summary Form.
Other Kinds of Reviews.

14. The Code Review Checklist.
Why Do Checklists Help?
An Example of a Code Review Checklist.
Using a Code Review Checklist.
Building a Personal Checklist.
Improving the Checklist.
Coding Standards.

15. Projecting Defects.
Defect Rates.
Using Defect Data.
Defect Density.
Projecting Defect Rates.
Defect Estimation.
The Updated Project Plan Summary Form and Example.
Entering the Actual Data.

16. The Economics of Defect Removal.
The Need for Quality Work.
The Defect-Removal Problem.
Defect-Removal Time.
Defect-Injection and -Removal Experience.
Defect-Removal Savings.
Calculating Defects/Hour on the PSP Project Plan Summary.
Calculating Yield on the Project Plan Summary.
Improving Defect-Removal Rates.
Improving Defect-Injection Rates.

17. Design Defects.
The Nature of Design Defects.
Identifying Design Defects.
What is Design?
The Design Process.
The Causes of Design Defects.
The Impact of Design Defects.
Design Representation.

18. Product Quality.
Quality Comes First.
The Filter View of Testing.
The Benefits of Careful Work.
Calculating Yield Values.
Estimating the Ultimate Yield.
The Benefits of 100% Process Yield.
Yield Experience.

19. Process Quality.
Process Measures.
The Defect-Removal Paradox.
A Defect-Removal Strategy.
Cost of Quality.
Calculating the Cost of Quality.
The Appraisal Failure Ratio.
Improving Review Rates.
Calculating the True Cost of Quality.

20. A Personal Commitment to Quality.
The Importance of Quality.
The Increasing Risks of Poor Quality.
Making a Commitment to Quality.
Your Personal Objectives.
The Rewards of Accomplishment. 0201548097T04062001

Back to Top


這本由瓦茨·漢弗萊(Watts Humphrey)所著的最新書籍是一本關於軟體工程基本學科的實踐導引。作為任何入門程式設計或軟體工程教材的工作簿伴侶,漢弗萊在這本書中提供了將他廣受好評的個人軟體流程(PSP)整合到大學課程中的實際方法。通過將書中的練習應用於課程作業,學生們不僅可以有效管理時間,還可以監控自己的工作質量,這些都是他們未來職業生涯中成功所需的良好實踐。該書還配有自己的電子補充資料,其中包括用於數據輸入和分析的電子表格。完整的教師套件也可供使用。通過在學習早期掌握PSP技巧,學生們可以避免或克服常見的“駭客”倫理觀,這將導致許多不良習慣。雇主將欣賞到準備能夠勝任專業工作的新員工,而無需進行昂貴的再培訓和多年的經驗。

1. 軟體工程師的工作
2. 管理
3. 追蹤時間
4. 期間和產品計劃
5. 產品計劃
6. 產品大小
7. 管理時間
8. 管理承諾