Chapter 3

Instructors' Guide

Ch 1 Ch 2 Ch 3 Ch 4 Ch 5 Ch 6 Ch 7 Ch 8 Ch 9 Ch 10 Ch 11 Ch 12
  1. The Fusion method is typically a second-generation development method, containing ingredients of many other (first-generation) methods. See section Fusion. In comparison with other methods, it strongly focuses upon process aspects. See section Compare.
  2. According to Booch, (1) identify the objects and their attributes, (2) identify the operations associated with objects, and (3) establish the interfaces of object. Most of the heuristics for identifying objects are based on a linguistic analysis of the requirements document. See section Heuristics.
  3. Criteria to eliminate spurious classes essentially come down to avoiding classes that provide no information. See slide 3-eliminating.
  4. The CRC method consists of defining, for each class, its responsibilities and its collaborators, that is the classes that are needed to function properly. See slide 3-crc.
  5. A contract defines the behavior of an object by means of an invariant and assertions characterizing the pre- and post-conditions of the methods supported by an object. See slide 3-obligations.
  6. Contracts may help to decide who is responsible for software failures. See slide 3-limits.
  7. Refining a contract amounts to strengthening the invariant and, for each method, weakening the pre-conditions and strengthening the post-conditions. Also, methods may be added. See slide 3-inheritance.
  8. Contracts may be used to establish runtime consistency characteristics. Testing runtime consistency amounts to checking object invariants and pre- and post-conditions of object methods.
  9. A formal specification must characterize the requirements of a system and must also provide guidelines for its validation. Contracts may be used to specify invariant consistency properties that may be tested at runtime.

slide: Answers