Kỹ thuật kiến trúc
Phương pháp tiếp cận lặp đi lặp lại và gia tăng
Đây là một cách tiếp cận lặp đi lặp lại và gia tăng bao gồm năm bước chính giúp tạo ra các giải pháp ứng viên. Giải pháp ứng cử viên này có thể được hoàn thiện hơn nữa bằng cách lặp lại các bước này và cuối cùng tạo ra một thiết kế kiến trúc phù hợp nhất với ứng dụng của chúng tôi. Vào cuối quá trình, chúng tôi có thể xem xét và truyền đạt kiến trúc của mình cho tất cả các bên quan tâm.
Nó chỉ là một cách tiếp cận khả thi. Có nhiều cách tiếp cận chính thức hơn khác để xác định, xem xét và truyền đạt kiến trúc của bạn.
Xác định mục tiêu kiến trúc
Xác định mục tiêu kiến trúc hình thành quy trình kiến trúc và thiết kế. Các mục tiêu hoàn hảo và được xác định nhấn mạnh vào kiến trúc, giải quyết các vấn đề phù hợp trong thiết kế và giúp xác định khi nào giai đoạn hiện tại đã hoàn thành và sẵn sàng chuyển sang giai đoạn tiếp theo.
Bước này bao gồm các hoạt động sau:
- Xác định mục tiêu kiến trúc của bạn ngay từ đầu.
- Xác định khách hàng của kiến trúc của chúng tôi.
- Xác định các ràng buộc.
Ví dụ về các hoạt động kiến trúc bao gồm xây dựng một nguyên mẫu để nhận phản hồi về giao diện người dùng xử lý đơn đặt hàng cho ứng dụng Web, xây dựng ứng dụng theo dõi đơn đặt hàng của khách hàng và thiết kế kiến trúc xác thực và ủy quyền cho ứng dụng để thực hiện đánh giá bảo mật.
Các tình huống chính
Bước này nhấn mạnh vào thiết kế quan trọng nhất. Kịch bản là một mô tả bao quát và bao quát về sự tương tác của người dùng với hệ thống.
Các kịch bản chính là những kịch bản được coi là những kịch bản quan trọng nhất cho sự thành công của ứng dụng của bạn. Nó giúp đưa ra quyết định về kiến trúc. Mục tiêu là đạt được sự cân bằng giữa các mục tiêu người dùng, doanh nghiệp và hệ thống. Ví dụ: xác thực người dùng là một kịch bản quan trọng vì chúng là giao điểm của thuộc tính chất lượng (bảo mật) với chức năng quan trọng (cách người dùng đăng nhập vào hệ thống của bạn).
Tổng quan về ứng dụng
Xây dựng tổng quan về ứng dụng, giúp kiến trúc dễ chạm hơn, kết nối nó với các ràng buộc và quyết định trong thế giới thực. Nó bao gồm các hoạt động sau:
Xác định loại ứng dụng
Xác định loại ứng dụng cho dù đó là ứng dụng di động, ứng dụng khách đa dạng, ứng dụng internet phong phú, dịch vụ, ứng dụng web hoặc một số kết hợp của các loại này.
Xác định các ràng buộc khi triển khai
Chọn một cấu trúc liên kết triển khai thích hợp và giải quyết xung đột giữa ứng dụng và cơ sở hạ tầng mục tiêu.
Xác định các kiểu thiết kế kiến trúc quan trọng
Xác định các phong cách thiết kế kiến trúc quan trọng như máy khách / máy chủ, phân lớp, bus thông báo, thiết kế hướng miền, v.v. để cải thiện việc phân vùng và thúc đẩy tái sử dụng thiết kế bằng cách cung cấp giải pháp cho các vấn đề thường xuyên lặp lại. Các ứng dụng thường sẽ sử dụng kết hợp nhiều kiểu.
Xác định các công nghệ có liên quan
Xác định các công nghệ có liên quan bằng cách xem xét loại ứng dụng chúng tôi đang phát triển, các tùy chọn ưu tiên của chúng tôi cho cấu trúc liên kết triển khai ứng dụng và phong cách kiến trúc. Việc lựa chọn công nghệ cũng sẽ được định hướng bởi các chính sách của tổ chức, các giới hạn về cơ sở hạ tầng, kỹ năng nguồn lực, v.v.
Các vấn đề chính hoặc điểm nóng chính
Trong khi thiết kế một ứng dụng, các điểm nóng là khu vực thường mắc lỗi nhất. Xác định các vấn đề chính dựa trên các thuộc tính chất lượng và các mối quan tâm đan xen. Các vấn đề tiềm ẩn bao gồm sự xuất hiện của các công nghệ mới và các yêu cầu kinh doanh quan trọng.
Thuộc tính chất lượng là các tính năng tổng thể của kiến trúc ảnh hưởng đến hành vi trong thời gian chạy, thiết kế hệ thống và trải nghiệm người dùng. Mối quan tâm về việc cắt ngang là các đặc điểm trong thiết kế của chúng tôi có thể áp dụng trên tất cả các lớp, thành phần và tầng.
Đây cũng là những lĩnh vực mà các lỗi thiết kế có tác động cao thường mắc phải nhất. Ví dụ về các mối quan tâm về việc cắt ngang là xác thực và ủy quyền, giao tiếp, quản lý cấu hình, quản lý ngoại lệ và xác thực, v.v.
Giải pháp ứng viên
Sau khi xác định các điểm nóng chính, hãy xây dựng kiến trúc đường cơ sở ban đầu hoặc thiết kế cấp cao đầu tiên và sau đó bắt đầu điền vào các chi tiết để tạo ra kiến trúc ứng viên.
Kiến trúc ứng viên bao gồm loại ứng dụng, kiến trúc triển khai, phong cách kiến trúc, lựa chọn công nghệ, thuộc tính chất lượng và các mối quan tâm đan xen. Nếu kiến trúc ứng viên là một cải tiến, nó có thể trở thành đường cơ sở mà từ đó có thể tạo và thử nghiệm các kiến trúc ứng viên mới.
Xác thực thiết kế giải pháp ứng viên dựa trên các tình huống và yêu cầu chính đã được xác định trước khi lặp đi lặp lại theo chu trình và cải thiện thiết kế.
Chúng tôi có thể sử dụng các gai kiến trúc để khám phá các khu vực cụ thể của thiết kế hoặc để xác nhận các khái niệm mới. Các gai kiến trúc là một nguyên mẫu thiết kế, xác định tính khả thi của một con đường thiết kế cụ thể, giảm rủi ro và nhanh chóng xác định khả năng tồn tại của các phương pháp tiếp cận khác nhau. Kiểm tra đột biến kiến trúc dựa trên các kịch bản và điểm nóng chính.
Đánh giá kiến trúc
Rà soát kiến trúc là nhiệm vụ quan trọng nhất để giảm chi phí sai sót và tìm ra và sửa chữa các vấn đề kiến trúc càng sớm càng tốt. Đó là một cách hiệu quả, được thiết lập tốt để giảm chi phí dự án và khả năng thất bại của dự án.
Xem xét kiến trúc thường xuyên tại các mốc quan trọng của dự án và để ứng phó với những thay đổi kiến trúc quan trọng khác.
Mục tiêu chính của đánh giá kiến trúc là xác định tính khả thi của các kiến trúc cơ sở và ứng viên, xác minh kiến trúc đó một cách chính xác.
Liên kết các yêu cầu chức năng và các thuộc tính chất lượng với giải pháp kỹ thuật được đề xuất. Nó cũng giúp xác định các vấn đề và nhận ra các lĩnh vực cần cải thiện
Đánh giá dựa trên tình huống là một phương pháp chủ đạo để xem xét thiết kế kiến trúc, tập trung vào các tình huống quan trọng nhất từ quan điểm kinh doanh và có tác động lớn nhất đến kiến trúc. Sau đây là các phương pháp đánh giá phổ biến -
Phương pháp phân tích kiến trúc phần mềm (SAAM)
Ban đầu nó được thiết kế để đánh giá khả năng sửa đổi, nhưng sau đó đã được mở rộng để xem xét kiến trúc liên quan đến các thuộc tính chất lượng.
Phương pháp phân tích đánh đổi kiến trúc (ATAM)
Đây là một phiên bản được đánh bóng và cải tiến của SAAM, xem xét các quyết định về kiến trúc đối với các yêu cầu thuộc tính chất lượng và mức độ đáp ứng các mục tiêu chất lượng cụ thể.
Đánh giá Thiết kế Hoạt động (ADR)
Nó phù hợp nhất cho các kiến trúc chưa hoàn thành hoặc đang trong quá trình thực hiện, tập trung nhiều hơn vào một tập hợp các vấn đề hoặc các phần riêng lẻ của kiến trúc tại một thời điểm, thay vì thực hiện đánh giá chung.
Đánh giá tích cực về các thiết kế trung gian (ARID)
Nó kết hợp khía cạnh ADR của việc xem xét kiến trúc đang tiến hành với việc tập trung vào một số vấn đề và cách tiếp cận ATAM và SAAM của việc xem xét dựa trên kịch bản tập trung vào các thuộc tính chất lượng.
Phương pháp phân tích lợi ích chi phí (CBAM)
Nó tập trung vào việc phân tích chi phí, lợi ích và ý nghĩa lịch trình của các quyết định kiến trúc.
Phân tích khả năng sửa đổi mức kiến trúc (ALMA)
Nó ước tính khả năng sửa đổi của kiến trúc cho hệ thống thông tin kinh doanh (BIS).
Phương pháp đánh giá kiến trúc gia đình (FAAM)
Nó ước tính kiến trúc họ hệ thống thông tin cho khả năng tương tác và khả năng mở rộng.
Truyền đạt thiết kế kiến trúc
Sau khi hoàn thành thiết kế kiến trúc, chúng tôi phải truyền đạt thiết kế cho các bên liên quan khác, bao gồm nhóm phát triển, quản trị viên hệ thống, người vận hành, chủ sở hữu doanh nghiệp và các bên quan tâm khác.
Có một số phương pháp nổi tiếng sau đây để mô tả kiến trúc cho người khác: -
Mô hình 4 + 1
Cách tiếp cận này sử dụng năm góc nhìn của kiến trúc hoàn chỉnh. Trong số đó, bốn lượt xem (logical view, các process view, các physical view, và development view) mô tả kiến trúc từ các cách tiếp cận khác nhau. Chế độ xem thứ năm hiển thị các tình huống và trường hợp sử dụng cho phần mềm. Nó cho phép các bên liên quan xem các đặc điểm của kiến trúc mà họ quan tâm cụ thể.
Ngôn ngữ mô tả kiến trúc (ADL)
Cách tiếp cận này được sử dụng để mô tả kiến trúc phần mềm trước khi triển khai hệ thống. Nó giải quyết các mối quan tâm sau - hành vi, giao thức và trình kết nối.
Ưu điểm chính của ADL là chúng ta có thể phân tích kiến trúc về tính hoàn chỉnh, nhất quán, không rõ ràng và hiệu suất trước khi chính thức bắt đầu sử dụng thiết kế.
Mô hình hóa nhanh
Cách tiếp cận này tuân theo khái niệm rằng “nội dung quan trọng hơn sự đại diện”. Nó đảm bảo rằng các mô hình được tạo ra đơn giản và dễ hiểu, đủ chính xác, chi tiết và nhất quán.
Các tài liệu mô hình Agile nhắm mục tiêu (các) khách hàng cụ thể và hoàn thành các nỗ lực làm việc của khách hàng đó. Tính đơn giản của tài liệu đảm bảo rằng có sự tham gia tích cực của các bên liên quan trong việc mô hình hóa hiện vật.
IEEE 1471
IEEE 1471 là tên viết tắt của tiêu chuẩn chính thức được gọi là ANSI / IEEE 1471-2000, “Thực hành được khuyến nghị cho mô tả kiến trúc của các hệ thống chuyên sâu về phần mềm”. IEEE 1471 nâng cao nội dung của mô tả kiến trúc, đặc biệt, mang lại ý nghĩa cụ thể cho ngữ cảnh, quan điểm và góc nhìn.
Ngôn ngữ mô hình thống nhất (UML)
Cách tiếp cận này thể hiện ba quan điểm của một mô hình hệ thống. Cácfunctional requirements view (các yêu cầu chức năng của hệ thống theo quan điểm của người dùng, bao gồm cả các ca sử dụng); the static structural view(các đối tượng, thuộc tính, mối quan hệ và hoạt động bao gồm cả sơ đồ lớp); vàdynamic behavior view (sự cộng tác giữa các đối tượng và thay đổi trạng thái bên trong của các đối tượng, bao gồm biểu đồ trình tự, hoạt động và trạng thái).