Introduction to OOP: Chapter 2: Responsibility Driven Design:
System Design Documentation
Record the decisions made during the process of system design.
Record the arguments for and against any major decision, and the factors
influencing the final choice.
Record CRC cards for the major components.
Maintain a log or diary of the process schedule.
Important to produce this while the ideas are fresh, not in hindsight when
many details will have been forgotten.
Note the code only records the outcome of decisions, not factors that
lead up to decisions being made.
Intro OOP, Chapter 2, Slide 35