Information Technology Reference
In-Depth Information
information into a coherent and precise whole. The interface specification includes
the following activities:
• Identify missing attributes and operations: During this activity, we examine
each subsystem service and each analysis object.
• Specify visibility and signatures: During this activity, we decide which
operations are available to other objects and subsystems and which are used
only within a subsystem.
• Specify contracts: During this activity, we describe in terms of constraints the
behavior of the operations provided by each object.
8.2 Object-Oriented Design Concepts
8.2.1 Functional and Non-Functional Requirements
Requirements come in two main types: functional and nonfunctional. Nonfunc-
tional requirements are the requirements that are not related to how the system
functions. These include, but are not limited to: performance, reliability, and
aesthetics. Functional requirements on the other hand provide information on how
the system operates. From the interfaces of classes to the user interface require-
ments are all examples of functional requirements.
8.2.2 Types, Signatures and Visibility
During analysis we identified attributes and operations without specifying their
types or their parameters. During object design we redefine the analysis and
system design models by adding type and visibility information. The type attribute
specifies the range of values the attribute can take and the operations that can be
applied to the attribute. For example attributes could be integer, float etc. The type
of the attribute also denotes the operations we could apply, like addition or sub-
traction. Given an operation, the tuple made out of the types of its parameters and
the type of return value is called a signature of the operation. Visibility of an
attribute or an operation specifies whether it can be used by other classes or not.
UML defines four levels of visibility:
• Private: A private attribute can be accessed only by the class in which it is
defined.
• Protected: A protected attribute or operation can be accessed by the class in
which it is defined and any descendent class.
• Public: A public attribute or operation can be accessed by any class.
• Package: Accessible to only other classes in the package.
Search WWH ::




Custom Search