CS 674 Outline by week

This is a preliminary outline; the later weeks will be designed to cater for students in the course. The outline will be --now has been-- updated during the semester.

23 Jan
Course objectives and overview. Modeling: objects, classes links and associations, generalization and inheritance, aggregation. Implementation: Java classes and interfaces.

Read: Larman chapter.sections: 1.1-1.7 (i.e., pages 3-14), 2.1-2.7, and 3.

30 Jan
Behavior: dynamic model (events, states, concurrency); system sequence diagrams and interaction diagrams.

Larman ch 9, 10, 15.

6 Feb
Object model constraints: OCL, Alloy. Expressing models in Alloy; using the Alloy tool to visualize a model and its instances.

Read Jackson ch 2 and do lessons 0 and I in the Alloy online tutorial (tutorial lesson 0 is in chapter 0.)

Here are the two Alloy model we developed in class today: airportClassroom.als and airportClassroomRevised.als.

13 Feb
Class cancelled due to snow.

20 Feb
(no classes Mon; Tues is Mon schedule)

Behavior: functional model (data flow, constraints as predicates on states, associations as relations); operation contracts (prose, tables, equations, pre/post). Expressing pre/post contracts in Alloy.

Larman ch 11, 16. Continue Alloy tutorial.

Here is the Alloy model we developed in class today: airportLocationsClassroom.als

Homework 1, due midnight 6 March: hw1-airport.als

26 Feb

More on operation contracts and checking invariants in Alloy.

Selected reading in Jackson ch 3 and 4.

Here are the examples I presented in class: MoveTiles0.als and MoveTiles1.als; here's the version with the revisions we did in class: MoveTiles1classroom.als

6 Mar

Design methodology: modularity, information hiding. Representation of associations.

Larman ch 12.

Homework 2, due midnight 23 March: hw2-confMgr.als

13 Mar
spring break

20 Mar

Project assignment handed out and discussed.

Design methodology: Behavioral subclassing and subtype polymorphism.

Introduction to design patterns.

Larman ch 17.

27 Mar

More on design patterns.

Expressing sequence diagrams and state diagrams in Alloy. Here is MoveTilesTimed.als

Review for exam.

Larman ch 25, 26.

3 Apr

Midterm exam

10 Apr

Initial project presentations.

17 Apr

Advanced control flow issues: callbacks, listeners and other patterns. Ownership: alias control for encapsulation.

Here is the example model DataRefExample.tgz (since it uses Alloy modules, your model path needs to include the directory that contains this directory).

24 Apr
Project presentations.

1 May
Project presentations.

Initial design due.

10 May
Final project due.

Revision: 1.2 , Date: 2006/03/20 03:26:45



David Naumann 2006-04-18