Kiến trúc ứng dụng tập trung vào phát triển khung và cơ sở hạ tầng cấp cao của phần mềm. Thiết kế phần mềm, mặt khác, tập trung vào thiết kế cấp mã. Nó giải quyết các vấn đề như chức năng của các module riêng lẻ, phạm vi của các tầng lớp, mục đích của các chức năng không giống nhau và tương tự. Hay nhìn cách khá, thiết kế ứng dụng là triển khai các yêu cầu kỹ năng trên cơ sở kiến trúc phần mềm để có phần mềm.