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
- 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].
- 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].
- Criteria to eliminate spurious classes
essentially come down to avoiding classes
that provide no information.
See slide
[3-eliminating].
- 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].
- 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].
- Contracts may help to decide
who is responsible for software failures.
See slide
[3-limits].
- 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].
- 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.
- 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