Chapter 1: Introduction to Software Development
Chapter 2: Process Life Cycle Models
A Model That's not a Model At All: Code and Fix
Evolving the Incremental Model
Implementing XP: The 12 Practices
Chapter 3: Project Management Essentials
Work Breakdown and Task Estimates
Status Reviews and Presentations
What Types of Requirements Are We Talking About Here?
Outline of a Functional Specification
Detailed Screen-By-Screen Specifications
Why Requirements Digging Is Hard
Chapter 5: Software Architecture
General Architectural Patterns
An Object-Oriented Architectural Pattern
The Client-Server Architectural Pattern
The Main Program: Subroutine Architectural Pattern
Desirable Design Characteristics (Things Your Design Should Favor)
Example of Stepwise Refinement: The Eight-Queens Problem
Example: Keyword in Context: Indexes for You and Me
Appendix: The Complete Non-Recursive Eight-Queens Program
Chapter 8: Object-Oriented Analysis and Design–An Overview
An Object-Oriented Analysis and Design Process
Chapter 9: Object-Oriented Analysis and Design
PRELUDE: In Which We Set the Scene
ACT ONE, Scene 1: In Which We Enquire into Analysis
ACT ONE, Scene 2: In Which We Deign to Design
ACT TWO, Scene 1: Change in the Right Direction
ACT TWO, Scene 2: In Which the Design Will also Change, for the Better
ACT THREE, Scene 1: In Which We Do Design
ACT FOUR, Scene 1: In Which We Philosophize on Abstraction
Chapter 10: Object-Oriented Design Principles
Our List of Fundamental Object-Oriented Design Principles
Encapsulate Things in Your Design That Are Likely to Change
Code to an Interface Rather Than to an Implementation
The Open-Closed Principle (OCP)
Don’t Repeat Yourself Principle (DRY)
The Single Responsibility Principle (SRP)
Liskov Substitution Principle (LSP)
The Dependency Inversion Principle (DIP)
The Interface Segregation Principle (ISP)
The Principle of Least Knowledge (PLK)
Class Design Guidelines for Fun and Enjoyment
Design Patterns and the Gang of Four
Functions and Methods and Size, Oh My!
General Layout Issues and Techniques
Block and Statement Style Guidelines
Reproduce the Problem Reliably
Fix the Error (Just That One)!
One Last Thought on Coding and Debugging – Pair Programming
Code Coverage: Test Every Statement
Data Coverage: Bad Data Is Your Friend?
Chapter 15: Walkthroughs, Code Reviews, and Inspections
Walkthroughs, Reviews, and Inspections – Oh My!
Inspection Phases and Procedures
Summary of Review Methodologies
3.17.79.20