Khi chính thức hóa kiến trúc của hệ thống, điều quan trọng là bạn hiểu không chỉ giá trị đằng sau những gì kiến trúc sẽ mang lại cho bảng, mà còn để hiểu và đánh giá cao những gì nó nên được.
Mục tiêu chính của Kiến trúc phần mềm hoặc Kỹ thuật là xác định các yêu cầu phi chức năng được thực hiện bởi các thuộc tính chất lượng sẽ thúc đẩy Kiến trúc hệ thống .
Về các yêu cầu phi chức năng:
Yêu cầu phi chức năng là một yêu cầu chỉ định các tiêu chí có thể được sử dụng để đánh giá hoạt động của một hệ thống, thay vì các hành vi cụ thể. Chúng tương phản với các yêu cầu chức năng xác định hành vi hoặc chức năng cụ thể. Kế hoạch thực hiện các yêu cầu chức năng được chi tiết trong thiết kế hệ thống. Kế hoạch thực hiện các yêu cầu phi chức năng được trình bày chi tiết trong kiến trúc hệ thống.
Nói chung, các yêu cầu chức năng xác định những gì một hệ thống được cho là phải làm và các yêu cầu phi chức năng xác định cách thức một hệ thống được coi là. ... Các yêu cầu phi chức năng thường được gọi là "thuộc tính chất lượng" của một hệ thống. Các thuật ngữ khác cho các yêu cầu phi chức năng là "phẩm chất", "mục tiêu chất lượng", "chất lượng yêu cầu dịch vụ", "ràng buộc" và "yêu cầu phi hành vi"
Tất nhiên, việc xác định các yêu cầu có ý nghĩa về mặt kiến trúc có ý nghĩa khi trên một dự án trường xanh, tuy nhiên khi làm việc với phần mềm hiện có, tốt nhất là nên xử lý kỷ luật nhất có thể. Bạn sẽ không muốn kiến trúc phần mềm của mình bị ảnh hưởng bởi hệ thống hiện có.
Kiến trúc phần mềm để có thẩm quyền thực sự cần phải có 3 điều.
Tuyên bố
Đây là một phần của tài liệu mà bạn tuyên bố KHÔNG PHẢI LÀ GÌ, nhưng làm thế nào mọi thứ NÊN. Chúng tôi làm điều này thông qua việc sử dụng các Quan điểm kiến trúc khác nhau của hệ thống. Chúng tôi xác định các thành phần nên, cách chúng tương tác và sau đó chúng tôi tùy ý đi sâu vào từng thành phần để có chế độ xem chi tiết hơn tuyên bố cách thiết kế hệ thống.
Đây là một dấu hiệu đặc biệt quan trọng. Thiết kế hệ thống nên bị ràng buộc bởi Kiến trúc hệ thống, trên thực tế chúng là những thứ riêng biệt nhưng có liên quan.
Cơ sở lý luận
Cơ sở lý luận của Kiến trúc phần mềm của bạn là những gì cung cấp tính hợp pháp và quyền hạn cho các quyết định kiến trúc đã được đưa ra. Có lẽ quyết định đã được đưa ra để sử dụng một người nghe sự kiện Pub / Sub qua MQ để kích hoạt một công việc hàng loạt và bạn lập sơ đồ đó?
Tại sao quyết định này được đưa ra? Chúng tôi giải thích lý do tại sao trong phần Đặt vấn đề và liên kết lại phần giải thích của chúng tôi với Yêu cầu phi chức năng, Mục tiêu thuộc tính chất lượng hoặc Yêu cầu quan trọng về mặt kiến trúc. (Vd ..)
Rủi ro
Bây giờ bạn đã tuyên bố kiến trúc nên như thế nào và chứng minh nó với Cơ sở lý luận của bạn, bây giờ bạn có thể xác định Rủi ro về trạng thái hiện tại của hệ thống để điều này không tuân thủ.
(Ví dụ: Xác thực phía máy chủ đang được sao chép trên mã Javascript phía máy khách. Điều này vi phạm nguyên tắc DRY và điều này chạy ngược lại Thuộc tính chất lượng của khả năng bảo trì. Không có yêu cầu phi chức năng nào được xác định xung quanh Hiệu suất trong khu vực này vì vậy không có không có lý do cho hành vi hệ thống hiện tại)
Rủi ro của bạn cũng có thể lập sơ đồ nơi trạng thái hiện tại đang đi chệch khỏi Kiến trúc. Những rủi ro này có thể được giải quyết bởi nhóm phát triển, thông qua kế hoạch dự án của họ hoặc bằng cách thêm điều này vào hồ sơ tồn đọng.