The architecture of a design is the set of rules that ensure consistency
across all of its parts. By setting out how a range of design decisions
should be made across a development, it reduces the effort needed in the
design of each part; and at the same time makes the design more flexible
and more usable by ensuring uniformity in appropriate aspects.
| Architecture isn't just the design of the large pieces. While the distinctions
are somewhat arbitrary, we take design to mean creating a larger
part from some smaller ones -- each of which could itself be specified
and given to separate people to design. Whether the pieces we're talking
about are grand distributed systems composed from substantial subsystems,
or whether they are little subroutines made up from a few program statements,
design means working out how the smaller parts make up the bigger one. |
|
 |
If each piece in a big project were given to someone to design in complete
isolation, the resulting complete system would look a bit incoherent. The
architecture
of a system is the set of guidelines followed by all the designers, making
the parts coherent.
By analogy, think of the development of a large building. Each room
is necessarily somewhat different in its exact shape and function, and
each is designed by a separate designer. But (in a sensible building) there
is a coherence of style that guides the decisions that each designer might
otherwise make arbitrarily: for example, the height of the rooms, the choice
of window frame. These rules make it easier to fit the parts together;
they save us from having to procure hundreds of different windows, and
also make life easier for the occupants.
In families of products, the architecture
is crucial in ensuring different family members can readily be formed by
composing the components in different configurations. The same is true
in enterprise integration.
complete solutions for model-based architecture
(consultancy, courses, workshops, mentoring, seminars, development)