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