(Software Architecture) là việc xây dựng "bản thiết kế cấp cao" cho hệ thống, xác định các thành phần chính, mối quan hệ giữa chúng, và các quy tắc vận hành, giống như bản vẽ của một tòa nhà, nhằm định hướng việc phát triển, đảm bảo tính năng, hiệu suất, khả năng mở rộng và bảo trì