next up previous contents
Next: About this document ... Up: Contents Previous: APPENDIX D: NORMAL FORMS   Contents

APPENDIX E: OBJECT-ORIENTED TERMS [63]

  1. Class: a description of a set of objects that share the same attributes, methods, relationships.

  2. Object: an instance of a class.

  3. Inheritance: subclasses may be specialized from more generalized superclasses using a hierarchy. The subclass inherits all of the superclasses attributes and methods but refines these with additional attributes and methods.

  4. Overload: a subclass can refine a superclass with a new implementation of an existing method.

  5. Aggregation: a hierarchical assembly of objects into a whole-part relationship, such as Body aggregates Leg.

  6. Cardinality/Multiplicity: an assembly may have more than one instance of a class type.

  7. Container Class: holds and manipulates an array/collection of possibly heterogeneous objects.

  8. Use Case: a requirements narrative of the sequence of events that occur when a user participates in a dialog with a system.

  9. Analysis: an investigation of a domain that results in abstract models describing its static and dynamic characteristics. It emphasizes questions of what, rather than how.

  10. OO Analysis: classes, inheritance, associations.

  11. Design: a process that uses the products of analysis to produce a specification for implementing a system. A logical description of how a system will work.

  12. OO Design: objects, attributes, methods, collaborations.

  13. Collaboration: two or more objects that participate in a client/server relationship.

  14. Responsibility: a contract or obligation of a class. What an object knows or does. An object may fulfill responsibilities using its own methods/data or the services of a collaborator.

  15. CRC: Class, Responsibility, Collaboration.

  16. Cohesion: extent to which a module is single-minded.

  17. OO Cohesion: extent to which an object has focused/highly-related responsibilities. The goal is high cohesion. If some of the responsibilities of A are unrelated, then perhaps some should be moved into a new B or an existing B, if the resultant responsibilities of B are related. This can lead to higher cohesion but possibly higher coupling also.

  18. Coupling: extent of complexity of interconnections with other modules.

  19. OO Coupling: extent of dependency between objects due to collaboration. The goal is low coupling. If the dependency of A on collaborator B is overly complex, then perhaps some, or all, of the responsibilities of B should be moved to A. This can lead to lower coupling but possibly lower cohesion also.

  20. Sequencing: chain of dependent method/message calls between objects


next up previous contents
Next: About this document ... Up: Contents Previous: APPENDIX D: NORMAL FORMS   Contents
Ted Billard 2001-10-29