Home > Store

Discipline for Software Engineering, A

Register your product to gain access to bonus material or receive a coupon.

Discipline for Software Engineering, A


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 1995
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-54610-8
  • ISBN-13: 978-0-201-54610-1

This new work from Watts Humphrey lays the foundation for a disciplined approach to software engineering. In his previous book, Humphrey developed methods for managing an organization's software process. These methods, now commonly practiced in industry, provide to programmers and managers specific steps they can take to evaluate and to improve their software development and software maintenance capabilities. In Humphrey's new book, he scales those methods down to a more personal level, helping software engineers working on relatively small-scale programs to develop the skills and the habits they will need later in their professional life to plan, track, and analyze large and complex software projects more carefully and more successfully.

Clear examples and samples drawn from industry enhance the practical focus of the book. Exercises in the form of projects give readers the opportunity to practice process management as they learn it, a comprehensive instructor's set includes notes on teaching the course, overhead masters, modifiable assignment kits in Word, and a statistical support package in the form of Excel spreadsheets for the analysis of individual and class data.

  • Presents concepts and methods for a disciplined software engineering process
  • Scales down industrial practices for planning, tracking, analysis, and defect management to for the needs of small-scale program development
  • Shows how small project disciplines provide a solid base for larger projects




Click below for Supplements related to this title:









Sample Content

Table of Contents

1. The Personal Process Strategy.

The Logic for a Software Engineering Discipline.

What is a Software Process?

Process Maturity.

Your Personal Responsibilities.

The Personal Software Process (PSP) Strategy.

The Logic for the PSP.

Productivity and the PSP.


2. The Baseline Personal Process.

The Baseline Process.

Why Forms are Helpful.

The PSP Process Elements.

The PSPO Process.

PSPO Measures.

Time Recording Log.

Defect Recording Log.

PSPO Project Plan Summary.

Customizing the Initial Process

3. Planning I: The Planning Process.

Why Make Plans.

What is a Plan.

Contents of a Software Plan.

Planning a Software Project.

Producing a Quality Plan.<P>

4. Planning II: Measuring Software Size.

Size Measures.

A Size Measurement Framework.

Establishing a Counting Standard.

Using LOC Counts.

Reuse Considerations.

Line of Code Accounting.

Calculating Productivity.

LOC Counters.

5. Planning III: Estimating Software Size.


Popular Estimating Methods.

Proxy-based Estimating.

The PROBE Size Estimating Method.

Object Categories.

Estimating Considerations.

6. Planning IV: Planning.

Resource Planning.

Estimating Development Time.

Estimating Task Time.

Combining Multiple Estimates.

Using Multiple Regression.

Schedule Estimating.

Earned Value Tracking.

Estimating Accuracy.

7. Measurement In The Personal Software Process.

Measurement Overview.

Fundamental Process Measures.

Goal-Question-Metric Paradigm.

General PSP Objectives, Goals, and Questions.

A GQM Example .

Gathering Data.

The Impact of Data Gathering.

Establishing a Baseline for Your Personal Process.

8. Design and Code Reviews.

What are Reviews?

Why Review Programs.

Personal Reviews.

Review Principles.

Separate Design and Code Reviews.

Design Review Principles.

Review Measures.


Reviewing before or after You Compile.

The Relationship between Reviews and Inspections.

9. Software Quality Management.

What is Software Quality?.

The Economics of Software Quality.

Developing a Quality Strategy.

Process Benchmarking.

Yield Management.

Defect Removal Strategies.

Defect Prevention Strategies.

10. Software Design.

The Design Process.

Design Quality.

Structuring the Design Process.

Design Notation.

Design Templates.

The Functional Specification Template.

The State Specification Template.

The Logic Specification Template.

The Operational Scenario Template.

Using Templates in Design

Design Guidelines.

11. Scaling Up The Personal Software Process.

Using Abstractions.

The Stages of Product Size.

Developing Large-scale Programs.

A Potential Problem with Abstractions.

The Development Strategy.

12. Design Verification.

Selecting Verification Methods.

Design Standards.

Verification Methods.

Verifying the Object State Machine.

Program Tracing.

Verifying Program Correctness.

Comments on Verification Methods.

13. Defining the Software Process.

Why Define Processes.

Software Process Basics.

Process Definition.

Defining Process Phases.

Process Development Considerations.

Process Evolution.

The Process-development Process.

14. Using the Personal Software Process.

Making Personal Commitments.

Using the PSP in an Organization.

The Personal Costs of a PSP.

The Personal Benefits of a PSP.


The Responsible Software Professional.

Your Future in Software Engineering. 0201546108T04062001


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership