Front | Back |
Abastraction
|
The principle of ignoring those aspects of a subject that are not relevant to the current purpose in order to concentrate more fully on those that are.
|
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 actually be achieved by some sequence of lower-level operatoins.
|
Data Abstraction
|
The principle of defining a data type in terms of the operations that apply to objects of the type, with the constraint that the values of such objects can be modified and observed only by the use of the operations.
|
Enbcapsulation(Inforamtion hiding)
|
A principle, used when developing an overall program structure, that each component of a program should encapsulate or hide a single design decision. The interface to each module is defined in such a way as to reveal as little as possible about its inner workings. The power and attractivennes of encapsulation is that it helps minimize rework when developing a new system. ff an analyst encapsulates the parts of the analysis effort that are most volatile, then the (inevitable) changing of requirements becomes less of a threat to the overall effort.
|
Inheritance
|
A mechasinm for expressing similarity among classes, simplifying definition of classes similar to one(s) previously defined. It portrays generalization and specialization, making common attributes and services explicit within a class hierarchy or lattice. This principle forms the basis for a significant technique of explicit expression of commonality. Inheritance allows an analyst to specify common attributes and services onece, as well as specialize and extend those attributes and service into specific cases
|
Association
|
Another principle for managing complexity is association. Association, the union or connection of ideas, People use association to tie together certain things that happen at some point in time or under similar circumstances.
|
Communication with Messages
|
Message: Any communication, written or oral, setn between persons. Message interaction corresponds to the imperative mood in langauges.
A principle for managing complexity -notably for interfaces- is communication with messages.
|
Pervading methods of organization
|
1) The differentiation of experience into particular objects and their attributes. When they distinguish between a tree and its size or spatial relations to other objects.
2) The distinction between whole objects and their component parts. When they contrast a tree with its component branches.
3) The formation of and the distinction between different classes of object. When they form the class of all trees and the class of all stones and distinguish between them.
|
Scale
|
A principle which applies the whole-part principle to help an observer relate to something very large -without being overwhelmed- is called scale.
With scale, analysis notation and strategy can include ways to guide a reader through a larger model.
When the proportions of architectural composition are applied to a particular building, the two-termed relationship of the parts to the whole be harmonized with a third term -the observer. This three-termed relationship is called scale.
|
Categories of behavior
|
Three types of behavior classification are used most commonly:
1) on the basis of immediate causation
2) on similarity of evolutionary history (change over time)
3) on the similarity of function.
|
Activities of OOA
|
1) Finding Class and Object
2) Identifying Structures
3) Identifying Subjects
4) Defining Attributes
5) Defining Services
|
Class and Object -WHAT
|
Object: An abstraction of something in a problem domain, reflecting the capabilities of a system to keep information about it, interact with it, or both; an encapsulation of Attribute values and their exclusive Services. Synonym:Instance
Class: A description of one or more Objects with a uniform set of Attributes and Services, including a description of how to create new Objects in the Class.
|
Class and Objects -WHY
|
The primary motivation for identifying Class and Objects is to match the technical representation of a system more closely to the conceptual view of the real world. Abstracting problem domain Class and Objects affects understandability and effective communication. Analyst first must understand the problem domain at hand; it makes little sense to run off and start writing air traffic control functional requirements, without first studying, expressing, and validating our understanding of what air traffic control is really all about. Defining Class and Objects as an abstraction of the real world helps us gain and communicate significant problem domain understanding applicable for the system under consideration and with a view toward reusble analysis results.
|
Class and Objects -HOW
|
The strategy comes from practice and experience in the field, based upon Class and Objects found initially, as well as ones found later. The strategy consists of notation, followed by where to look, what to look for, and what to consider and challenge.
|
Structure -WHAT
|
Structure is an expression of problem-domain complexity, pertinent to the system's responsibilities. The term "Structure" is used as an overall term, describing both Generalization-Specialization structure and Whole-Part Structure
|