COSC 303
Large Systems Design
Spring, 2007
Syllabus
(note: subject to adjustment as the term proceeds)
Date
Reading
Topic
Quiz
L&L = Lethbridge and Laganiere, DP = Design Patterns, reading on Java should
be from Big Java, Core Java, or other text or reference
Jan 22 Introduction
24 L&L, Ch. 1 Overview of Software Engineering complete slides from book
Read maze case study in preparation for first lab (parts 1,2,3; part 4; parts 5,6)
29
L&L, Ch.2 Java and Object-oriented design Quiz 1 on L&L reading through Ch. 2
29 - Lab Maze case study Reverse engineering maze code -- learn Poseidon (maze code, lab1)
31 L&L, 3.1-3.5 Frameworks and Client-Server architecture Quiz 2 on L&L Ch. 3, 3.1-3.5
Composition vs Inheritance -- example strategy pattern for Fish
read L&L, 3.6-3.12, to prepare for Monday lab
Feb 5 L&L, Ch. 3 Object Client-Server Framework
5 - Lab Complete L&L Chat phase 2
7 L&L, Ch. 3 review Ch. 3 and lab work
L&L, Ch. 5 up to 5.6 UML Class diagrams
12 L&L, Ch. 5 up to 5.6 UML Quiz 3 on L&L Ch. 5, 5.1-5.6
Homework due: E37(choose 4), E38(choose 1), E39(choose 1), E40(same 1), E41(same 1),
E45(choose 1), E46(same 1), E47(same 1)
12 - Lab Generalizing code - general problem solving using the maze solver approach - Design
Maze Strategy Pattern Code Maze Strategy Poseidon Model
14 L&L, 4.1-4.6 Domain analysis, Requirements
Use case analysis
19 L&L, Ch. 4 Use case analysis, Requirements documents
19 - Lab Coding the general problem solver
21 L&L, 4.12 Chat example requirements
26 Discussion of Requirements Homework due: E53-54(d), E55-56-57(d, and WW), E60, E62-64(d),
E68(b), E69(WW) (WW means wordwork design problem)
26 - Lab Requirements Specification
28 L&L, Chapter 5 Developing Class models Ski Simulation Design Problem
March 5 Design exercise, CRC cards
5 - Lab Design and code changes to chat program specified in lab 5
7 L&L, Chapter 6 Review CRC designs, Introduction to design patterns
March 10-18 Break
19 No Class
19 No formal Lab -- Domain analysis and preparation for requirements gathering for project
21 L&L, Chapter 6 Student presentations on design patterns
26 L&L, Chapter 7 User oriented design, User interfaces Homework due: E73(c)(in groups of 2, list partners)
E74 (individually), E75 (individually)
26 - Lab: Requirements gathering for project
28 L&L, Chapter 6 Student presentations on design patterns
Apr 2 L&L, Chapter 8, 8.1 UML interaction diagrams - sequence diagrams Homework due: E131-134, E139, E144, E146
(Work in pairs on this homework)
2 - Lab Complete requirements document for knitting patterns program
Create a prototype for user interface
4 L&L, Chapter 8, all UML State and transition diagrams
Designing with dynamic models
9 L&L, Chapter 9 Design principles Homework due: E162, E163, E165 (choose one)
9 - Lab Lab 7 Chat phases 5&6 (exercises E148, E149) Hand in requirements document for knitting patterns program
11 L&L, Chapter 9 Architectural design patterns Homework due: E168, E169 (also do E167)
16 L&L, chapter 9 Design documentation
16 - Lab Design for tennis program
18 Teams works on design during class period
23 L&L, chapter 10 Test design Homework due: E172(a,b), E173(a,b), E176, E177, E183, E184
Testing, formal test cases, test first development
23 - Lab Test design for knitting patterns program
25 L&L, chapter 10 Finish ch. 10, work on project design
30 Work on project design
30 - Lab Complete design for tennis program
May 2 Review of Test Plans (1/2 hour for each team) part 1 of final
May 8, 3:00-5:00 Final exam: Structured walk-through of knitting patterns program design
(1 hour for each team)