Kiến trúc phần mềm cho ta một cái nhìn khái quát về hệ thống phần mềm ở các góc độ khác nhau. Kiến trúc của hệ thống phần mềm chuyên sâu được mô tả tốt nhất bằng năm loại khung nhìn tương tác với nhau. Mỗi khung nhìn phản ánh về một khía cạnh của tổ chức và cấu trúc của hệ thống, tập trung vào từng mặt cụ thể giúp cho ta hiểu và sử dụng hệ thống tốt nhất. Mỗi khung nhìn được mô tả bằng một số biểu đồ, tuy nhiên không có sự phân biệt rõ ràng giữa các khung nhìn vì một biểu đồ có thể là một bộ phận của nhiều hơn một khung nhìn.
Hình 2.1. Các khung nhìn UML
Khung nhìn ca sử dụng (Use Case View): Cho ta cách sử dụng chức năng để mô tả hành vi của hệ thống khi nhìn nhận dưới góc độ của người dùng cuối cùng, người phân tích, người kiểm thử và người phát triển. Khung nhìn này được mô tả bởi biểu đồ ca sử dụng và biểu đồ hoạt động, là khung nhìn trung tâm điều khiển sự phát triển của các khung nhìn khác.
Khung nhìn logic (Logical View): Thể hiện cách thức các chức năng của hệ thống được thiết kế hoặc cung cấp. Khung nhìn này sử dụng các biểu đồ lớp và biểu đồ đối tượng để biểu diễn cấu trúc tĩnh của hệ thống; sử dụng các biểu đồ trạng thái, tuần tự, cộng tác, hoạt động để mô tả các hành vi của hệ thống. Khung nhìn này được sử dụng bởi các nhà thiết kế và phát triển.
Khung nhìn triển khai (Deployment View): Triển khai hệ thống thành kiến trúc vật lý. Khung nhìn này được biểu diễn bởi các biểu đồ triển khai và được sử dụng bởi các nhà phát triển, người kiểm thử và các nhà tích hợp hệ thống.
Khung nhìn logic Khung nhìn ca sử dụng Khung nhìn thành phần Khung nhìn đồng thời Khung nhìn triển khai
Khung nhìn thành phần (Component View): Tổ chức các đoạn mã và sự phụ thuộc giữa chúng. Được biểu diễn bởi các biểu đồ thành phần và được sử dụng bởi các nhà phát triển.
Khung nhìn đồng thời (Concurrency View): Khung nhìn này được biểu diễn bởi các biểu đồ trạng thái, tuần tự, cộng tác, hoạt động, triển khai, thành phần và được sử dụng bởi các nhà phát triển và các nhà tích hợp hệ thống.