đây là kế hoạch vận chuyển) để xác định cho phép hay không cho phép thao tác.
Bảng định nghĩa chính sách an ninh (bảng 4.3) cần định nghĩa bằng ngôn ngữ OCL (Object Constraint Language). Tuy nhiên, do điều kiện thời gian còn hạn chế, cũng như trong thực tế dự án thì OCL rất khó sử dụng với các lập trình viên hoặc thiết kế viên trình độ trung bình, nên chúng không đi sâu diễn đạt bảng trên bằng OCL. (Điều này có thể tiếp tục nghiên cứu sau)
4.2.4. Thiết kế lớp diễn đạt mối quan tâm an ninh
Sau khi đã biểu diễn tất cả các mối quan tâm an ninh trên các biểu đồ hoạt động và biểu đồ trường hợp sử dụng, các biểu đồ trên sẽ được chuyển sang đội thiết kế. Lúc này, đội thiết kế có trách nhiệm chuyển các mối quan tâm về an ninh thành thiết kế lớp và được đưa vào chương trình.
Trong giai đoạn thiết kế, chúng ta đã có biểu đồ triển khai (hình 3.11), và sử dụng công nghệ Java AOP (aspect oriented programming). Biểu đồ lớp được thiết kế trong hình 4.8
Dựa trên đặc tả các dấu đặc trưng an ninh đã chỉ ra trong các biểu đồ trường hợp sử dụng và biểu đồ miêu tả trường hợp sử dụng, trong biểu đồ lớp (hình 4.8), ta định nghĩa một giao diện chung SecurityConcernable (các mối quan tâm an ninh), tiếp theo định nghĩa lớp AbstractSecurityGuard để thể hiện một cài đặt chung về các kiểm tra an ninh. Các lớp kế thừa thể hiện các bảo vệ cụ thể cho từng mối quan tâm đã đựơc phân tích ở trên, theo tên của mối quan tâm an ninh tương ứng: SE01_SelfPrivacyGuard,
SE02_UserPrivacyGuard, SE03_CompanyPrivacyGuard,
SE04_RelatedCompanyAccessGuard,
SE05_UnrelatedCompanyAccessGuard, SE06_DeleteGuard.
4.3. Giải pháp cài đặt mối quan tâm an ninh
4.3.1. Giới thiệu về công nghệ AOP và Java annotation
Lập trình hướng khía cạnh,AOP (aspect oriented programming) là một phương pháp tiếp cận lập trình trong đó các mối quan tâm được chia tách riêng biệt và được đưa vào chương trình chính thông qua các điểm giao (join point). AOP có rất nhiều ứng dụng trong
Phương pháp hướng đối tượng và phân tích thiết kế anh ninh hệ thống 57