Object Oriented Analysis

A short outline of Object Oriented Analysis (OOA) will be given here, to help the reader to understand the basic principles of the subject. The basic terms and principles necessary for understanding of program structure, used later in this paper, will be mentioned and explained. Object Oriented Analysis is based on the uniform application of principles for managing complexity (see Ref. [1]).
-
Abstraction (Procedural and data abstraction): The principle of ignoring those aspects of a subject that are not relevant to the current purpose in order to concentrate more on those that are relevant.
-
Procedural abstraction: The principle that any operation that achieves a well defined effect can be treated by its users as a single entity, despite the fact that the operation may be actually achieved by some sequence of low level operations. Procedural abstraction is widely supported by existing programming languages; procedures and functions are examples of procedural abstraction.
-
Data abstraction: The principle of defining a new data type in terms of the operations that apply to an object of that type, with the constraint that the values of such an object can be modified and observed only by the use of the operations. When applying data abstraction, an analyst must define attributes and services that exclusively manipulate these attributes. The only way, to get an attribute is via these services.
-
Inheritance: The mechanism for expressing similarity between data types, making common attributes and services explicit within a class hierarchy. Inheritance allows an analyst to define common attributes and services only once, as well as to specialize and extend those attributes and services into specific derived classes. It expresses generalization specialization between data types.
-
Association: Expresses the relationship, the state of being associated.
-
Communication with messages: Models the processing dependency. It represents the need for services necessary to fulfill object responsibility.

In an overall approach, OOA consists of five major activities: finding classes and objects, identifying structures, identifying subjects, defining attributes, and defining services. In order to present the general structure of a developed program, a graphical form will be used. Particularly, the Coad-Yourdon methodology will be used (see Ref. [1]). It introduces the following basic elements and mutual relations between them (see Fig. 1.):

Borek Patzak 2013-03-10