David Budgen, Software Design, Chapter 1 ("The Nature of the Design Process"), Addison-Wesley, 2003, pp 3-24.
J. Christopher Jones, Design Methods, Seeds of Human Futures, Wiley-Interscience, 1970. Chapter 5 ("The Design Process Disintegrated") and Chapter 6 ("Choosing Strategies and Methods").
J. Christopher Jones, Design Methods, Seeds of Human Futures, Wiley-Interscience, 1970. Method 1.1 ("Systematic Search"), Method 1.5 ("Boundary Searching"), Method 1.6 ("Page's Cumulative Strategy") and Method 1.7 ("CASA")
David L. Parnas, "Designing Software for Ease of Extension and Contraction," IEEE Transactions on Software Engineering, March 1979, pp. 128-138. Earlier appeared in Proc. ICSE 3, 1978. Edition linked: Chapter 14 of Software Fundamentals, Collected Papers by David L. Parnas, Addison-Wesley, 2001.
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. Chapter 1 ("Introduction"), pp. 1-31, and Chapter 2 ("A Case Study: Designing a Document Editor"), pp. 33-85.
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. Selected design patterns: Abstract Factory (87), Factory Method (107), Adapter (139),
Observer (293), Composite (163), Decorator (175).
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. Selected design patterns: Strategy (315), Template Method (325), Chain of Responsibility (223), Interpreter (243), Visitor (331), Memento (283).
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995. Selected design patterns: Singleton (127), Facade (185), Flyweight (195).
Martin Fowler, Patterns of Enterprise Application Architecture, Addison-Wesley, 2003. Chapter 1 (Layering), Chapter 2 (Organizing Domain Logic), Chapter 3 (Mapping to Relational Databases), Chapter 4 (Web Presentation), Chapter 8 (Putting it All Together).
Martin Fowler, Patterns of Enterprise Application Architecture, Addison-Wesley, 2003. Selected design patterns: Transaction Script (110), Domain Model (116), Table Module (125), Table Data Gateway (144), Row Data Gateway (152), Active Record (160), Unit of Work (184), Identity Map (195), Lazy Load (200).
No assigned readings.