Andre Adrian - Software Architecture

What is Software Architecture? The rules, paradigmen, pattern that help to construct, build and test a serious piece of software. It is the practical experience boiled down to abstract level. Software Architecture started with "Stepwise refinement" from Niklaus Wirth and "Programming in the large" by DeRemer and Kron or even before. It builds on System Engineering and the scientific method as established by Galileo Galilei: Measure what you can and make measureable what you can not. The experiment is more important then the deduction.

Pieces of information about software architecture are all around the internet. This paper uses citation as much as possible. The aim is to bring together the pieces, not to rephrase the wording.

As always, truth is out of the reach for man. But like the mathematicains in integral calculus we can create series of better and better approximations.

The author does not want to sell CASE tools to you - there are others in the marketplace to do this. I want to sell you some ideas. Ideas you can use for every software you write in whatever programming language you use. I want to give you the big picture. After 20 years in computer science I say: tools are nice but understanding is better.

Drawing the big picture is not only the topic of software architecture. Unified Modeling Language has the same goal. But architecture is a broader term then language. Some critics even call the 13 different UML diagram types bloating the topic.

To Software Architecture PDF