In This Lecture You Will Learn:

  • Why operations need to be specified
  • What is meant by “Contracts”
  • Non-algorithmic ways of describing operations:

       –Decision Tables

       –Pre- and Post-Condition Pairs

  • Algorithmic ways of describing operations:

       –Structured English and Pseudocode

      –Activity Diagrams

      –Object Constraint Language


  • Bennett, McRobb and Farmer (2002)
  • Yourdon (1989) covers Structured English and Pre- / Post- Conditions well
  • Senn (1989) is good on Decision Tables
  • Larman (1998) takes a contract-based approach to O-O analysis and design, with examples taken to Java code

        (For full bibliographic          details, see Bennett,              McRobb and Farmer)