Abstraction (noun) - A named collection of attributes and behaviors which
define/specify a model appropriate for some defined/specified purpose.
An abstraction or model has a state determined by the values assigned
Abstraction (verb) - The process of analyzing a real world system to define the
model appropriate to the purpose at hand.
Abstraction (representation) - An abstraction is represented by an interface
specification which specifies the behavior of the entity or module.
Software systems typically have very restricted purposes and goals. The goals of a
software systems are given in a requirements specification
which is usually written in English. The process of abstraction is usually
applied to the requirements specification to derive. We will later
describe the processes of abstraction.