Analysis 3: Associations, Attributes, Operations, Contracts - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Analysis 3: Associations, Attributes, Operations, Contracts

Description:

Navigability. Multiplicity. Multiple associations. Attributes ... Use associations between (instances of) classes, not foreign-object keys ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 9
Provided by: pagesCsam
Category:

less

Transcript and Presenter's Notes

Title: Analysis 3: Associations, Attributes, Operations, Contracts


1
Analysis 3 Associations, Attributes, Operations,
Contracts
  • CMPT 371
  • Fall 2004
  • J.W. Benham

2
Associations
  • Relationships between instances of classes
  • Representation of associations in UML
  • Finding associations
  • Common associations list
  • Need to know associations
  • Avoiding unneeded associations

3
More on Associations
  • Naming associations
  • Role names
  • Navigability
  • Multiplicity
  • Multiple associations

4
Attributes
  • An attribute is a logical data value of an object
  • Simple attributes (primitive types)
  • Data types
  • Complex data types vs. classes
  • Avoiding design creep
  • Use associations between (instances of) classes,
    not foreign-object keys

5
Operations and Contracts
  • Pre-conditions
  • Guaranteed by client object (sender of message
    caller of operation)
  • Post-conditions
  • Guaranteed by server object (receiver of message)
  • The stage and curtain analogy

6
Operations and Contracts 2
  • Pre-conditions include conditions on
  • parameters
  • attribute values of receiver (server object)
  • attributes of objects associated with receiver
  • (etc.)
  • Post-conditions can include
  • Instance creation or deletion
  • Attribute modification
  • Formation or breaking of associations

7
An Example Contract
  • Translator.createSyntaxTree (leftSubtree,
    operation, rightSubtree)
  • Pre-conditions
  • leftSubtree and rightSubtree are correct syntax
    trees for source strings in the translation
    environment
  • operation is a supported source-string operation
    in the translation environment
  • Post-conditions
  • A new syntax tree st has been created
  • st.root operation
  • leftSubtree is associated with st as its left
    subtree
  • rightSubtree is associated with st as its right
    subtree

8
Design by contract
  • Bertrand Meyer (creator of Eiffel)
  • Encourages very precise careful specification for
    operations
  • Object Constraint Language (OCL)
  • Useful for complex operations where precision and
    detail add to developers understanding
  • Should not be used for every operation
Write a Comment
User Comments (0)
About PowerShow.com