I have to write an overview on "What is architecture" for an upcoming website that we are working on and so went out to look at some definitions. The first I remembered was one I used in an old overview of Enterprise Architecture that I wrote in 2002 which is still up on MSDN (abet very well hidden).
The definition of an architecture used in ANSI/IEEE Std 1471-2000 is: "the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution."
Strangely enough this seemed a bit vague and limiting at the same. Over to my favourite Wikipedia which has the following different definitions:
None of these really had what I was looking for so I came up with the following short definition:
Architecture is the use of abstractions and models to simplify and communicate complex structures and processes to improve understanding and forecasting.
This seemed to wrap up all the above definitions and cover off all the bases. Interestingly it also works for all the other architecture types that are out there however, as is common with my writings is brief to the point of non comprehensibility so I wrote the following long definition:
Architecture is the use of sets of abstractions and models of a environment, problem space or domain, either physical or logical, with a set of associated views into that domain to provide:
I think that about covers it. Note that the whole area is self defining and recursive. I still like the short definition though.