Monday, June 1, 2009

Architecture is about the 'Form follows Function' principle

Functionality should determine the Structure.
If hardware would be perfect, if CPUs would process instantly an infinite amount of input for an extremely complex algorithm. If connectivity would allow for instant access to an infinite amount of data. If our programs could be proven right, never crashed. If nobody could eavesdropping or tamper our system, if one programmer could change the system in every direction at no time... we would not need to think about an architecture. The internal structure of a system would be of no concern.

The limits of given technologies demand counter-measures to support functions, therefore we employ architectural patterns and tactics to circumvent undesired limitations.

Not all technology hurdles can be circumvent in this way, and some functionalities remain unimplementable. Thus a quantum computer would allow more functionality but demand new architectures.

In the next post I will outline the Quality Attribute approach, to design the architecture of a software system out of business functions, given technological constraints

No comments: