March 29:
Course overview
March 31:
Design as a problem solving process
Due: Review of "The Nature of the Design Process"
April 2:
In-class discussion of design project concepts.
April 5:
Elements of the design process, choosing design strategies
Due: Review of Chapter 5 ("The Design Process Disintegrated") and Chapter 6 ("Choosing Strategies and Methods") of Design Methods (one review for both)
April 7:
Discussion of design project goals
Due: In-class presentation of initial goals and system concept
April 9:
Design methods
Due: Review of Method 1.1 ("Systematic Search"), Method 1.5 ("Boundary Searching"), Method 1.6 ("Page's Cumulative Strategy") and Method 1.7 ("CASA") from Design Methods
April 12:
Software design principles
Due: Review of "Designing Software for Ease of Extension and Contraction"
Due: Presentation of project scenario
April 14:
Design patterns introduction
Due: Review of Chapter 1 ("Introduction") of Design Patterns
April 16:
Design patterns use scenario
Due: Review of Chapter 2 ("A Case Study: Designing a Document Editor") of Design Patterns
April 19:
Discussion of design project requirements and architecture
Due: Presentation on project requirements
Due: Project requirements specification document
April 21:
Survery of design patterns (1)
Due: Review of Abstract Factory (87), Factory Method (107), Adapter (139) from Design Patterns
April 23:
Survey of design patterns (2)
Due: Review of Observer (293), Composite (163), Decorator (175) from Design Patterns
April 26:
Survey of design patterns (3)
Due: Review of Strategy (315), Template Method (325), Chain of Responsibility (223) from Design Patterns
April 28:
Discussion of project design
April 30:
Survey of design patterns (4)
Due: Review of Interpreter (243), Visitor (331), Memento (283) from Design Patterns
May 3:
Discussion of project design
Due: Project design document, UML structure and sequence diagrams
May 5:
Survey of design patterns (5)
Due: Review of Singleton (127), Facade (185), Flyweight (195) from Design Patterns
May 7:
No class.
May 10:
Layering and Domain Logic in Enterprise Systems
In-class discussion of project progress
Due: Review of Chapter 1 (Layering) and Chapter 2 (Organizing Domain Logic) in Patterns of Enterprise Application Architecture
May 12:
Patterns of Relational Database Access
Due: Review of Chapter 3 (Mapping to Relational Databases) in Patterns of Enterprise Application Architecture
May 14:
Web Presentation Patterns, Integration of techniques
Due: Review of Chapter 4 (Web Presentation), Chapter 8 (Putting it All Together)
May 17:
Domain Logic Patterns
Due: Review of Transaction Script (110), Domain Model (116), Table Module (125) in Patterns of Enterprise Application Architecture
May 19:
Database Mapping Patterns (1)
Due: Review of Table Data Gateway (144), Row Data Gateway (152), Active Record (160) in Patterns of Enterprise Application Architecture
May 21:
Database Mapping Patterns (2)
Due: Review of Unit of Work (184), Identity Map (195), Lazy Load (200) in Patterns of Enterprise Application Architecture
May 24-28:
No regular class meetings to allow time to work on the term project.
May 30:
No class, Memorial Day.
June 2:
Discuss class project, explore how well design worked during implementation.
June 4:
Final project demonstration.
Due: Project users manual, final code submission.