CS680 Midterm Reading Guide

Main text: Object Oriented Software Engineering Using UML, Patterns, and Java, Second Edition, by Bernd Bruegge and Allen Dutoit
Chap 1: Intro
Chap 2: Read  pp 29-60 except as follows:
Skip Sec. 2.2.4-2.2.5 and their Fig. 2-4, 2-5 (statechart and activity diagrams)
Skip Fig. 2-25, 2-26 (association classes)
pg. 54: Aggregation has been dropped, but composition lives on in UML. See notes of 9/11
and more discussion in book on pg. 192, where composition is defined.
Skip Fig. 2-31 (qualification)

Chap 3: Skip

Chap. 4:
Read pg. 125: intro SatWatch example
Read pp 130-146: identifying actors, scenarios, use cases
Read pp 153-166: Arena ex.

Chap 5
Read pp. 177-197: entity objects (model objects), boundary objects (view objects), and
control objects. Note no mention of MVC here, so sneaky intro to it.
p. 189: "entity objects (i.e. model objects) never access boundary or control objects" There's
the basic layering, in one line.
Skip CRC cards (5.4.5)
Note pg 192: aggregation vs. composition, where aggregation is now deprecated
Read pp 206-217, Arena ex

Chap. 6
Read pp 228-243:
Note pg 230 discussion of dependencies (should be more highlighted)
pg. 233: "high coupling only an issue if change is likely". Note also that high coupling impacts testability.
Skip Fig 6-6, 6-7 (confusing example)
Pg. 234: note layers def.
Pg. 238: note repository def.
Pg. 239: finally MVC by name, but diagram (Fig. 6-14) is defective. Use F&F, pg. 530 diagram.
Skip Peer-to-peer, stop after Three-tier.  Note Pizza is "three tier".

Chap 10
Read pp 394-408 plus pg. 414

Head First Design Patterns, by Eric Freeman and Elizabeth Freeman

Chap 1: not covered, but good to read. At least read pg. 23: Prefer HAS-A over IS-A
Chap 2 Observer Pattern: read all.
Chap 4. Factory Pattern: read all
Chap 12. MVC pp 526-544 plus pp. 549-557 except skip code in this part.
Note pg. 549 Web MVC, which we called "pull MVC" in hw3 is also called "Model 2".

Swing coverage: know all the Swing used in the Pong project, plus JSlider from trainset.