This textbook concentrates on processes activities and results related to software
architectures. It describes the separation of architecture artefacts corresponding to their
nature their logical or their modeling level on one hand and at the same time emphasizes their
integration based on their mutual relations. Design or development processes demand for
integration as different artifacts must be elaborated which are mutually dependent and need
to be in a consistent form. The book is structured in four parts. The introductory Part I deals
with the relevance of architectures the central role of the design subprocess both in
development or maintenance and the importance of the decisions and artefacts in the overall
result. Another topic is the spectrum of views an architecture language has to offer and that
there are different architectures to be regarded from abstract and static to detailed
technical and specific. Part II then discusses important topics onthe architecture level. It
deals with adaptability especially for embedded systems with integrating styles pattern
notations with different reuse forms and how to find them with the role of architectures for
integrating different existing systems and with reverse and reengineering of legacy systems.
Next Part III covers architecture modeling and its relation to surrounding activities as well
as architectures to surrounding other results. The single chapters are on transformation
between requirements and architectures architectures and programming architectures and
project management and organization as well as architectures and their relations to quality
assurance or documentation. Eventually Part IV summarizes the main messages and presents open
problems both for every single chapter and across chapters. Every chapter focuses on a
specific problem it addresses a question it answers the attention it demands a message it
conveys and further open questions it raises. The chapters are mostly independent which
implies a certain redundancy yet it allows lecturers (and their students) to either use the
book as the basis of teaching software architecture or design or to just pick those aspects
that need special attention in a more advanced course.