Page 66 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 66
Object Oriented Analysis and Design
Notes 5.5 Summary
An abstract class is a class that has no direct instances. The descendant classes can also be
abstract, but the generalization hierarchy must ultimately terminate in subclasses with
direct instances.
A constraint is a functional relationship between modeling constructs such as classes,
attributes, and associations.
Derived data is data that can be completely determined from other data.
As a rule, you should not show derived data during analysis unless the data appears in the
problem description.
The notation for derived data is a slash preceding the name of the attribute, class, association,
or role.
A package is a group of elements (classes, associations, generalizations, and lesser packages)
with a common theme.
There are various themes for forming packages: dominant classes, dominant relationships,
major aspects of functionality, and symmetry.
The logical horizon of a class is the set of classes reachable by one or more paths terminating
in a combined multiplicity of “one” or “zero or one.”
5.6 Keywords
Abstract class: An abstract class is a class that has no direct instances.
Abstract operation: An abstract operation species the signature of an operation while deferring
implementation to the subclasses.
Constraint: A constraint is a functional relationship between modeling constructs such as classes,
attributes, and associations.
Derived data: Derived data is data that can be completely determined from other data.
Logical Horizon: The logical horizon of a class is the set of classes reachable by one or more
paths terminating in a combined multiplicity of “one” or “zero or one.”
Package: A package is a group of elements (classes, associations, generalizations, and lesser
packages) with a common theme.
Path: A path is a sequence of consecutive associations and generalization levels.
Signature: The signature of an operation species the argument types, the result type, exception
conditions, and the semantics of the operation.
5.7 Review Questions
1. Discuss the concept of abstract class with example.
2. What does abstract operation specify? Discuss.
3. What are constraints? Illustrate with example.
4. During design you can add derived data to improve efficiency and ease implementation.
Comment.
5. How does a package partitions a model? Discuss.
60 LOVELY PROFESSIONAL UNIVERSITY