Development methods

1



slide: Section 3.1: Development methods


Identifying objects

2



slide: Section 3.2: Identifying objects


Contracts

3



slide: Section 3.3: Contracts


Towards a formal approach

4



slide: Section 3.4: Towards a formal approach

  1. Describe the Fusion method. How does Fusion compare with other methods of OO analysis and design?
  2. Give an outline of the steps required in object-oriented design. What heuristics can you think of for identifying objects?
  3. What criteria may be used to eliminate spurious classes from an initial object model?
  4. Explain the methods of CRC cards. Give an example.
  5. Explain how you may characterize the behavior of an object by means of a contract.
  6. What benefits may design by contract have for system developers? And for users?
  7. Give a detailed account of the issues that arise in refining a contract.
  8. How may contracts be employed to test object behavior?
  9. Discuss how a formal approach may contribute to OO software development.

 [Fowler97] is not only a good introduction to UML, but contains also many useful insights on the process of object-oriented development. Additionally,  [Fowler97a] may be read as a source on analysis patterns, which are reusable elements of analysis and design. For more information on Fusion, consult  [Fusion]. As earlier references on object-oriented methods, I recommend  [Booch94],  [WWW90] and  [Rum91]. Also worthwhile are  [Henderson93] and  [Champeaux93]. An overview and comparative study of design representation methods is given in  [Webster].  [Meyer97] is the ultimate reference on contracts. A more comprehensive article on design by contract is  [Meyer92].