The Personal Software Process: an Independent Study

Victor Putz

Primarily, an exploration of the software engineering institute's personal software process, using gnu emacs and GCC C++ as a software development environment. Secondarily, a comparison of the Eiffel language and C++ language in terms of development time, defect data, and executable size/speed.


Table of Contents
Preface: Motivation and Intent
I. The PSP lessons
1. Lesson 1: Introduction to the Personal Software Process
The Readings
Program 1A
Summary
2. Lesson 2: Planning and Measurement
Interlude: some minor automation
Readings
Report R1: LOC counting standard
Report R2: Coding Standards
Program 2A: Simple LOC counter
Summary
3. Lesson 3: Planning: Estimating software Size
Readings
Program 3A: Class/Method LOC counter
Report R3: Defect Analysis
Summary
4. Lesson 4: Planning: Estimating software Size, continued
Readings
Program 4A: Linear Regression Analysis
Summary
5. Lesson 5: Planning: Resource and Schedule Estimation
Readings
Program 5A: Integrator
Summary
6. Lesson 6: Measurements in the Personal Software Process
Readings
Program 6A: Predictions
Summary
7. Lesson 7: Design and Code Reviews
Readings
Report R4: Midterm Report
Summary
8. Lesson 8: Software Quality Management
Interlude: And here I am using imperative languages like a sucker!
Readings
Program 7a: Correlation
Summary
9. Lesson 9: Software Design, part I
Readings
Program 8A: Sort a Linked List
Summary
10. Lesson 10: Software Design, part II
Readings
Program 9a: Normal Distribution fit
Summary
11. Lesson 11: Scaling up the Personal Software Process
Readings
Program 10a: Multiple Regression
Summary
12. Lesson 12: Design Verification
Readings
Report R5: Final Report
Summary
13. Lesson 13: Defining the Software Process; Using the PSP
Readings
14. Summary
II. Appendices
15. Appendix A: Eiffel vs C++
Development Time
Defect Analysis
Compile Time
Executable size
Executable speed
Summary
Bibliography