Week 2 - Design Documentation and Patterns
Learning Objectives:
In this week of the course, you will learn
- How to explain what it means to document a design, describe the importance of having a shared vocabulary for teams, for communicating with management, for dealing with clients
- How to illustrate the basics of CRC cards, UML class diagrams and UML sequence diagrams
- How to define what a design pattern is and the role it plays in the Software Development process
- How to explain and illustrate these design patterns: Adapter, Composite, Iterator, Singleton, Observer, Visitor
Important Dates:
- HW1 Due Feb 5 by 10pm
Lessons:
2.1: Documenting Your Design
- 2.2: Introduction to UML
- 2.3: Design Patterns
- 2.4: Design Patterns
Resources
- Example 2.1 Adapter
- Example 2.2 Singleton
- Example 2.3 Observer
- Example 2.4 Shapes with Visitors
- In class slides from Prof Bell’s section (Monday): PDF, PPT, Keynote
- In class slides from Prof Bell’s section (Thursday): PDF, PPT, Keynote
- Programming Activity: Observer Pattern (Prof Bell’s Solution)
Additional Readings:
- For more readings on design patterns: “Design Patterns Explained: A New Perspective on Object-Oriented Design” by Alan Shalloway and James Trott
In-depth coverage of design patterns, considering why they are important in software development, how to apply them, and descriptions of some common patterns.