Building large systems requires the difficult and time-consuming activities
of elicitation and representation of software requirements. During these
analysis activities, particular analysis abstractions emerge. These
abstractions, called analysis patterns, represent reusable patterns for
subsequent analysis efforts in various domains. As an example, software
developers use an analysis abstraction called Person to represent a person
from different application domains, such as a student person, employer person
or customer person. Martin Fowler, in his book Analysis Patterns, has defined
a higher abstraction to represent either a person or an organization labeled
the Party pattern.
The most popular patterns - design patterns - deal with those patterns useful
in both object-oriented design and programming. Design patterns represent
reusable software structures needed f... (more)