This book presents a systematic model-based approach for software architecture according to
three complementary viewpoints: structure behavior and execution. It covers a unified
modeling approach and consolidates theory and practice with well-established learning outcomes.
The authors cover the fundamentals of software architecture description and presents SysADL a
specialization of the OMG Standard Systems Modeling Language (SysML) with the aim of bringing
together the expressive power of an Architecture Description Language (ADL) with a standard
notation widely accepted by industry and compliant with the ISO IEC IEEE 42010 Standard on
Architecture Description in Systems and Software Engineering. The book is clearly structured in
four parts: The first part focuses on the fundamentals of software architecture exploring the
concepts and constructs for modeling software architecture from differing viewpoints. Each
chapter covers a specific viewpoint illustrated with examples of a real system. The second part
focuses on how to design software architecture for achieving quality attributes. Each chapter
covers a specific quality attribute and presents well-defined approaches to achieve it. Each
architectural case study is illustrated with different examples drawn from a real-life system.
The third part shows readers how to apply software architecture style to design architectures
that meet the quality attributes. Each chapter covers a specific architectural style and gives
insights on how to describe substyles. Each style is illustrated by variants and examples of a
real-life system. The fourth part presents how to textually represent software architecture
models to complement visual notation including different examples. Software Architecture in
Action is designed for teaching the required modeling techniques to both undergraduate and
graduate students giving them the practical techniques and tools needed to design the
architecture of software-intensive systems. Similarly this book will appeal to software
development architects designers programmers and project managers too.