Software architecture is an unconventional discipline. It is still in its early years, and it holds a lot of promise. However, it is understood little by students, teachers and practitioners of software engineering, including those in the role of architects. On the one hand, it addresses the most important challenge of producing quality software, while on the other, it lacks proven methods, tools, techniques and theories. Theory in this discipline has so far followed practice and not the other way round.

Most of the existing literature on software architecture describes methodologies that can be applied during the “process” of designing software architecture, such as attribute-driven design (ADD) methodology, various architecture evaluation ...

Get Software Architecture: A Case Based Approach now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.