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.
About the Author
Jair Leite has been working with Software Design and Architecture since 1998. His research interests are architecture-based development, human computer interaction, design languages. He has been member of several Program Committees of Brazilian and International conferences involving Software Architecture.
Thais Batista is Full Professor of the Informatics Department at the Federal University of Rio Grande do Norte (UFRN), Brazil. She is vice-president of the Brazilian Computer Society (SBC). She has been working with Software Architecture since 2000. Her research interests are architecture-based development, middleware, internet of things, cloud computing, system-of-systems. She has been involved as Program Committee member of several Brazilian and International conferences involving Software Architecture.
Table of ContentsPart I: Fundamentals.- Introduction to Software Architecture.- Viewpoints for Describing Software Architectures.- Eliciting Requirements of Software Architectures.- Specifying the Structure of Software Architectures.- Specifying Behaviour of Software Architectures.- Specifying Executable Software Architectures.- Executing Software Architectures.- Part II: Quality-Based Architectures.- Introduction to Quality-Based Architectures.- Designing Modifiability in Software Architecture.- Designing Scalability in Software Architectures.- Designing Fault Tolerance in Software Architectures.- Part III: Style-Based Architectures.- Introduction to Style-Based Architectures.- Pipe Filter Architectural Style.- Client Server Architectural Style.-Feedback Control Loop Architectural Style.- Blackboard Architectural Style.- Part IV: Textual Descriptions of Architectures.-Textually Representing Software Architectures.