Term Definition: architectural pattern
Main Description
[BUS96] defines an architectural pattern as:
"An architectural pattern expresses a fundamental structural organization schema for software systems. It provides a set of predefined subsystems, specifies their responsibilities, and includes rules and guidelines for organizing the relationships between them."
This is the interpretation we use in the RUP. To elaborate a little: an architectural pattern is a pattern (that is, a solution template) at a particular scale, and is a template for concrete software architectures. It deals in system-wide properties and, typically, subsystem-scale (not class level) relationships. Architectural patterns seem, by their nature, not to be application domain dependent-the vocabulary of a particular domain seems not to intrude into the description of the pattern-although there is no reason in principle why architectural patterns cannot become specialized in this way. Compare with analysis pattern. The Software Architecture Document will present the architectural patterns used in the system.