Discipline for Software Engineering, A
This title is no longer available.
This title cannot be purchased online
This book from Watts Humphrey broadens his disciplined approach to software engineering. In his earlier book, Managing the Software Process, Humphrey developed concrete methods for managing software development and maintenance. These methods, now commonly practiced, provide programmers and managers specific steps for evaluating and improving their software capabilities. In this book, he scales down those methods to a personal level, helping software practitioners develop the skills and habits they need to plan, track, and analyze large and complex projects more carefully and successfully.
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.Features
- 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
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.Caveats.
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.
Background.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.Checklists.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 DesignDesign 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.Coaching.The Responsible Software Professional.Your Future in Software Engineering. 0201546108T04062001
Known as “the father of software quality,” Watts S. Humphrey is the author of numerous influential books on the software-development process and software process improvement. Humphrey is a fellow of the Software Engineering Institute (SEI) at Carnegie Mellon University, where he founded the Software Process Program and provided the vision and early leadership for the original Capability Maturity Model (CMM). He also is the creator of the Personal Software Process (PSP) and Team Software Process (TSP). Recently, he was awarded the National Medal of Technology—the highest honor given by the president of the United States to America's leading innovators.