HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
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 college and university curricula. The book may also be adapted for use in industrial training or for self-improvement by practicing software engineers.
Applying the book's exercises to their 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.
(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.
The Logic of Time Management.
Understanding How You Spend Time.
The Engineering Notebook.
The Notebook Design.
Engineering Notebook Examples.
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.
Period and Product Plans.
The Weekly Activity Summary.
Summarizing Weekly Times.
Calculating Period Times and Rates.
Using the Weekly Activity Summary.
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.
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.
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.
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.
The Need for Schedules.
The Gantt Chart.
Making a Project Schedule.
Checkpoints.
Tracking Project Plans.
Tracking Earned Value.
The Need for Project Plans.
The Project Plan Summary.
The Summary.
Program Size.
Time in Phase.
Estimating Accuracy.
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.
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.
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.
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.
Defect Rates.
Using Defect Data.
Defect Density.
Projecting Defect Rates.
Defect Estimation.
The Updated Project Plan Summary Form and Example.
Entering the Actual Data.
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.
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.
Quality Comes First.
Testing.
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.
Prototyping.
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.
The Importance of Quality.
The Increasing Risks of Poor Quality.
Making a Commitment to Quality.
Your Personal Objectives.
The Rewards of Accomplishment. 0201548097T04062001