Explicit Relationships in Object Oriented Development

File (PDF)

Explicit Relationships in Object Oriented Development.pdf


  • Explicit Relationships
    • smaller and easier to comprehend
    • quick to write and mantain
  • Objects & relationships between objects
    • OOP don't support relationships
    • relationships from analysis are lost during implementation
  • Analysis relationships are transformed into objects during design
    • relationships are traced from design to implementation
  • Objects inter-relation
    • Generalization == Inheritance
    • Aggregation & Association == don't remain explicit in the implementation
  • Collections as relations
    • provide generic behaviour (adding and removing elements)
    • don't provide app specific behaviour ; extra behaviour is required to maintain the analysis relationships.

Relationships from analysis are lost during design and implementation.
HOW : Analysis relations are transformed into objects during design.
There is no guarantee that aggregation and association relationships will remain explicitly present in the program.
The complexity that is introduced by associating all system behavior with objects and none with relationships between objects.
Classes become large, and class methods start to embody complex calculations and constraint checking dependent on inter-object relationships.

The more relationships an object participates in, the more difficult it becomes to ensure this and to maintain and reuse classes.



Bibliographic Description

    author = {James Noble and John Grundy},
    title = {Explicit Relationships in Object Oriented Development},
    booktitle = {Proceedings of TOOLS 18: Technology of ObjectOriented Languages and Systems Conference},
    year = {1995},
    pages = {211--225},
    publisher = {Prentice Hall}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License