Hands-on Software Architecture: Unified Architecture Process
Soo Dong Kim and Mira Kim
Springer, 2025
ISBN: 978-3-032-01183-1

This book presents the Unified Architecture Process (UAP), a systematic and practical methodology for software architecture design. It provides detailed guidelines, examples, templates, and case studies for applying architectural activities to real-world software systems.

View on Springer →

This book is structured into three main parts.

Part I. Overview of Software Architecture

This part introduces the foundational principles of software architecture and presents an overview of the Unified Architecture Process, which serves as the central methodological framework of the book.

Chapter 1. Introduction to Software Architecture
This chapter offers a comprehensive introduction to software architecture, tracing its evolution over time, defining core concepts, and specifying key elements of software architecture. It further explores the challenges associated with architectural design and examines the critical role of software architects.

Chapter 2. Introduction to Unified Architecture Process
This chapter introduces the Unified Architecture Process—a comprehensive methodology for designing software architecture—and outlines guidelines for adapting the process to the specific characteristics and requirements of a target system.

Part II. Guidelines for Unified Architecture Process

This part presents the Unified Architecture Process methodology through detailed guidelines for executing its activities, steps, and tasks. It provides technical rationales, sequential procedures, design templates, examples, and checklists to support deep understanding and effective application. Each chapter in this part corresponds to a specific activity defined in the Unified Architecture Process.

Chapter 3. Activity A1. Requirements Refinement
Chapter 4. Activity A2. System Context Analysis
Chapter 5. Activity A3. Schematic Architecture Design
Chapter 6. Activity A4a. Design for Functional View
Chapter 7. Activity A4b. Design for Information View
Chapter 8. Activity A4c. Design for Behavior View
Chapter 9. Activity A4d. Design for Deployment View
Chapter 10. Activity A5. Design for Non-Functional Requirements
Chapter 11. Activity A6. Architecture Evaluation

Each chapter in Part II includes a comprehensive checklist comprising items that capture the critical design aspects of the activity and reflect established best practices. These checklists serve as validation tools for assessing the outcomes of the activity and ensuring alignment with design objectives.
Each chapter in Part II includes a set of exercise problems intended to reinforce the reader’s understanding of the concepts, principles, design process, and methods presented. These problems are designed to assess comprehension of architectural design principles, promote deeper insight into architectural thinking, and facilitate the practical application of design methods.

Part III. Resources for Software Architecture Design

This part provides two categories of essential and practical resources to support software architecture design.

Chapter 12. Catalog of Architecture Styles
This chapter presents a comprehensive catalog of more than 30 representative software architecture styles. Each style is described with an overview, structural characteristics, collaboration model, and key advantages and disadvantages. Architecture styles serve as foundational building blocks for schematic architectural design.

Chapter 13. Architecture Evaluation Methods
This chapter presents a comprehensive overview of software architecture evaluation methods. Each evaluation method is described with an overview, applicable contexts, procedural steps, and illustrative examples. Architecture evaluation is an essential activity for verifying and validating design decisions prior to system implementation.