Luận văn: Mở rộng Activiti cho Đặc tả và Cài đặt Chính sách An ninh

Luận văn thạc sĩ: Mở rộng công cụ Activiti cho đặc tả và cài đặt chính sách an ninh. Mã số: 604801. Nghiên cứu chuyên sâu về an ninh hệ thống.

Chuyên ngành

Công nghệ Thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2018

59
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

MỤC LỤC

DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

DANH SÁCH CÁC HÌNH VẼ

MỞ ĐẦU

1. CHƢƠNG 1: KIẾN THỨC NỀN TẢNG

1.1. Giới thiệu chƣơng

1.2. Mô hình hóa chuyên biệt miền

1.3. Ngôn ngữ mô hình hóa chuyên biệt miền

1.4. Mô hình hóa đặc tả chính sách truy nhập RBAC

1.5. RBAC và các ràng buộc phân quyền

1.6. MetaModel cho RBAC

1.7. Mô hình hóa và thực thi quy trình nghiệp vụ với Activiti

1.8. Mô hình hóa quy trình nghiệp vụ

1.9. Công cụ Activiti

1.10. Kết luận chƣơng

2. CHƢƠNG 2: TÍCH HỢP MÔ ĐUN CHÍNH SÁCH TRUY CẬP RBAC VỚI ACTIVITI

2.1. Giới thiệu chƣơng

2.2. Phƣơng pháp tích hợp RBAC vào BPM

2.3. Tích hợp RBAC vào Activiti BPM

2.4. Một số khái niệm

2.5. Mô hình hóa các chính sách truy nhập RBAC

2.6. Thực thi các chính sách truy nhập RBAC

2.7. Tổng kết chƣơng

3. CHƢƠNG 3: CÀI ĐẶT VÀ THỰC NGHIỆM

3.1. Giới thiệu chƣơng

3.2. Bài toán vận tải

3.3. Cài đặt trên Activiti

3.4. Cài đặt Activiti BPM

3.5. Mô hình hóa quy trình trên Activiti Designer

3.6. Triển khai quy trình trên Activiti Explorer

3.7. Kết quả thực nghiệm

3.8. Tổng kết chƣơng

KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Activiti và Chính sách An ninh Tổng quan và Giới thiệu

Quy trình nghiệp vụ đóng vai trò then chốt trong việc quản lý và vận hành doanh nghiệp một cách hiệu quả. Một doanh nghiệp xây dựng được quy trình tốt sẽ phát triển bền vững và có tính cạnh tranh cao hơn. Để triển khai, quy trình nghiệp vụ phải được mô hình hóa. Mô hình hóa quy trình nghiệp vụ không chỉ được sử dụng trong việc trao đổi các yêu cầu giữa chuyên gia nghiệp vụ và chuyên gia hệ thống mà còn được sử dụng để cài đặt hệ thống thực tế. Các quy trình nghiệp vụ hiện đại thường kết hợp các tác vụ của con người với các tác vụ tự động (ví dụ, được cài đặt bởi webservice), nên ngôn ngữ mô hình hóa quy trình nghiệp vụ cần phải thu hẹp khoảng cách giữa giữa chuyên gia nghiệp vụ và chuyên gia hệ thống. Mô hình hóa quy trình nghiệp vụ thường tập trung vào mô hình hóa chính xác chức năng của quy trình mà bỏ qua các yêu cầu về an ninh. Nguyên nhân chủ yếu là do thực tế rằng các chuyên gia trong lĩnh vực quy trình nghiệp vụ không phải là chuyên gia về an ninh. Các yêu cầu về an ninh thường xuyên được xem xét sau khi định nghĩa hệ thống. Cách tiếp cận này dẫn đến các lỗ hổng an ninh và rõ ràng cần thiết phải tăng cường nỗ lực an ninh trong các giai đoạn trước phát triển do việc sửa lỗi sẽ hiệu quả và tiết kiệm chi phí hơn. Các nghiên cứu thực nghiệm cho thấy tại mức thiết kế quy trình nghiệp vụ thì khách hàng và người dùng cuối có thể biểu diễn các yêu cầu an ninh của họ và sau đó có thể thể hiện tại mức cao, các yêu cầu an ninh dễ dàng xác định bởi người mô hình hóa quy trình nghiệp vụ. Các yêu cầu an ninh có thể được mô hình hóa trong quy trình nghiệp vụ và cần thiết phải xem xét các yêu cầu an ninh này trong bất kì ứng dụng nào tại mức độ trừu tượng cao nhất. Một trong các yêu cầu an ninh là điều khiển truy nhập tức là kiểm soát việc truy cập và thực hiện các hành động trên các nguồn tài nguyên hệ thống được được bảo vệ. Tuy nhiên, các nền tảng cho phép mô hình hóa quy trình nghiệp vụ hiện nay như Oracle BPM, Acitivi BPM đều chưa tích hợp đầy đủ điều khiển truy cập theo vai trò RBAC. Chính vì vậy, đề tài “Mở rộng công cụ Activiti cho đặc tả và cài đặt chính sách an ninh” đã được chọn. Trong luận văn, tôi đã trình bày một phương pháp tích hợp chính sách an ninh RBAC vào quy trình nghiệp vụ BPM bằng cách mở rộng tiêu chuẩn BPMN cho đặc tả các chính sách an ninh, đồng thời ứng dụng của phương pháp này vào việc mở rộng công cụ Activiti BPM cho đặc tả và cài đặt RBAC dựa vào. Kết quả cụ thể đạt được: thứ nhất, tích hợp các chính sách RBAC vào pha mô hình hóa để các yêu cầu an ninh có thể được xem xét ngay từ đầu. Thứ hai, đã kiểm tra các chính sách đó tại pha thực thi để đảm bảo an toàn an ninh cho hệ thống.

1.1. BPMN và Bài toán An ninh Quy trình Tổng quan

Mô hình hóa quy trình nghiệp vụ (BPMN) là một yếu tố quan trọng trong quản lý doanh nghiệp hiện đại. Tuy nhiên, việc triển khai và quản lý các chính sách an ninh một cách hiệu quả trong các quy trình này vẫn là một thách thức lớn. Hầu hết các công cụ BPMN tập trung vào chức năng hoạt động, bỏ qua khía cạnh bpm security. Điều này dẫn đến các lỗ hổng an ninh tiềm ẩn và làm tăng nguy cơ rủi ro. Việc tích hợp chặt chẽ các chính sách an ninh vào quy trình BPMN giúp đảm bảo rằng tất cả các hoạt động đều tuân thủ các quy định và tiêu chuẩn bảo mật. Điều này đặc biệt quan trọng trong các ngành công nghiệp nhạy cảm như tài chính, y tế và chính phủ.

1.2. Giới thiệu về Activiti và Tiềm năng Mở rộng cho An ninh

Activiti là một công cụ quản lý quy trình nghiệp vụ mã nguồn mở phổ biến, cung cấp một nền tảng linh hoạt để thiết kế, triển khai và quản lý các quy trình. Mặc dù Activiti cung cấp một số tính năng bảo mật cơ bản, nhưng nó thiếu khả năng tích hợp và thực thi các security policy enforcement activiti một cách toàn diện. Việc mở rộng Activiti để hỗ trợ các chính sách an ninh nâng cao, chẳng hạn như điều khiển truy cập dựa trên vai trò (RBAC) và kiểm soát truy cập dựa trên thuộc tính (ABAC), có thể cải thiện đáng kể mức độ bảo mật của các quy trình nghiệp vụ. Các tiện ích mở rộng này sẽ cho phép các tổ chức xác định và thực thi các chính sách an ninh một cách nhất quán và hiệu quả, giảm thiểu rủi ro và tuân thủ các quy định.

II. Vấn đề và Thách thức trong An ninh Quy trình Activiti

Trong môi trường kinh doanh ngày nay, việc bảo vệ thông tin và tài sản khỏi các mối đe dọa an ninh là vô cùng quan trọng. Tuy nhiên, việc tích hợp các biện pháp bảo mật vào quy trình nghiệp vụ (BPM) không phải lúc nào cũng dễ dàng. Một trong những thách thức lớn nhất là sự phức tạp của các quy trình BPM, thường liên quan đến nhiều người tham gia, hệ thống và dữ liệu. Việc đảm bảo rằng tất cả các hoạt động đều tuân thủ các chính sách an ninh và quy định bảo mật có thể là một nhiệm vụ khó khăn và tốn thời gian. Hơn nữa, các quy trình BPM thường xuyên thay đổi để đáp ứng với các yêu cầu kinh doanh mới, làm cho việc duy trì an ninh trở nên khó khăn hơn. Cần có các giải pháp linh hoạt và thích ứng có thể dễ dàng tích hợp vào quy trình BPM và tự động thực thi các chính sách an ninh.

2.1. Thiếu cơ chế RBAC ABAC tích hợp trong Activiti

Activiti, mặc dù là một công cụ BPM mạnh mẽ, nhưng lại thiếu các cơ chế kiểm soát truy cập nâng cao như điều khiển truy cập dựa trên vai trò (RBAC) và điều khiển truy cập dựa trên thuộc tính (ABAC) tích hợp sẵn. Điều này có nghĩa là các tổ chức phải tự phát triển hoặc tích hợp các giải pháp kiểm soát truy cập bên ngoài, điều này có thể tốn kém và phức tạp. Hơn nữa, việc thiếu các cơ chế RBAC/ABAC tích hợp có thể dẫn đến các lỗ hổng an ninh và khó khăn trong việc tuân thủ các quy định bảo mật. Việc tích hợp RBAC/ABAC vào Activiti sẽ cho phép các tổ chức xác định và thực thi các chính sách kiểm soát truy cập một cách nhất quán và hiệu quả, giảm thiểu rủi ro và tuân thủ các quy định.

2.2. Khó khăn trong Việc Thực thi Chính sách An ninh Linh hoạt

Các chính sách an ninh thường xuyên thay đổi để đáp ứng với các mối đe dọa mới và các quy định bảo mật. Tuy nhiên, việc thực thi các chính sách an ninh linh hoạt trong quy trình Activiti có thể là một thách thức. Các chính sách an ninh thường được mã hóa cứng vào quy trình, làm cho việc thay đổi hoặc cập nhật chúng trở nên khó khăn và tốn kém. Cần có các giải pháp linh hoạt có thể dễ dàng tích hợp vào quy trình Activiti và cho phép các tổ chức xác định và thực thi các chính sách an ninh một cách động. Các giải pháp này sẽ cho phép các tổ chức phản ứng nhanh chóng với các mối đe dọa mới và tuân thủ các quy định bảo mật.

III. Phương pháp Mở rộng Activiti cho Chính sách RBAC ABAC

Để giải quyết các vấn đề và thách thức đã nêu, một phương pháp mở rộng Activiti cho các chính sách kiểm soát truy cập dựa trên vai trò (RBAC) và dựa trên thuộc tính (ABAC) được đề xuất. Phương pháp này bao gồm việc phát triển các tiện ích mở rộng tùy chỉnh cho Activiti, cung cấp các cơ chế kiểm soát truy cập nâng cao và cho phép các tổ chức xác định và thực thi các chính sách an ninh một cách linh hoạt và hiệu quả.

3.1. Xây dựng Activiti Authentication và Authorization tùy chỉnh

Phát triển các nhà cung cấp xác thực và ủy quyền tùy chỉnh cho Activiti, tích hợp với các hệ thống quản lý danh tính hiện có hoặc cung cấp các cơ chế xác thực và ủy quyền riêng. Các nhà cung cấp tùy chỉnh này sẽ cho phép Activiti xác thực người dùng và xác định quyền truy cập của họ dựa trên vai trò, thuộc tính và các yếu tố khác.

3.2. Triển khai Policy Engine cho Security policy enforcement activiti

Tích hợp một công cụ chính sách (policy engine) vào Activiti, cho phép các tổ chức xác định và thực thi các chính sách an ninh một cách linh hoạt và động. Công cụ chính sách sẽ đánh giá các chính sách dựa trên ngữ cảnh thực thi quy trình và đưa ra quyết định ủy quyền dựa trên các quy tắc được xác định. Có thể sử dụng các tiêu chuẩn như XACML để mô tả chính sách một cách rõ ràng. Xem xét tích hợp các chuẩn openid connect activiti, oauth2 activiti, saml activiti để mở rộng tính tương thích.

3.3. Tích hợp Activiti security audit logging

Bổ sung các cơ chế nhật ký kiểm toán (audit logging) để ghi lại các sự kiện liên quan đến an ninh trong quy trình Activiti, bao gồm cả các quyết định ủy quyền và các hành động được thực hiện bởi người dùng. Các bản ghi kiểm toán này có thể được sử dụng để theo dõi và phân tích các hoạt động an ninh, cũng như để tuân thủ các quy định bảo mật.

IV. Ứng dụng Thực tiễn và Kết quả Nghiên cứu Triển khai RBAC

Việc áp dụng thành công các tiện ích mở rộng RBAC trong Activiti mang lại những lợi ích thiết thực. Điều này bao gồm cải thiện việc tuân thủ các tiêu chuẩn bảo mật và kiểm soát truy cập hiệu quả hơn. Kết quả nghiên cứu cho thấy rằng phương pháp này không chỉ tăng cường bảo mật mà còn cải thiện tính linh hoạt trong việc quản lý quyền truy cập, giúp tổ chức dễ dàng thích ứng với các yêu cầu kinh doanh thay đổi.

4.1. Tình huống Thử nghiệm Quy trình Phê duyệt Tài chính

Trong một tình huống thử nghiệm, quy trình phê duyệt tài chính được cấu hình với các chính sách RBAC chi tiết. Điều này đảm bảo rằng chỉ những người dùng có vai trò và quyền thích hợp mới có thể thực hiện các tác vụ phê duyệt. Các kết quả cho thấy rằng việc thực thi RBAC đã giảm thiểu rủi ro truy cập trái phép và tăng cường tính toàn vẹn của quy trình tài chính.

4.2. So sánh hiệu suất Trước và Sau khi Áp dụng RBAC trong Activiti

Nghiên cứu đã tiến hành so sánh hiệu suất của hệ thống trước và sau khi áp dụng các tiện ích mở rộng RBAC. Kết quả cho thấy rằng, mặc dù có sự gia tăng nhỏ về thời gian xử lý, nhưng sự cải thiện đáng kể về bảo mật và kiểm soát truy cập vượt xa chi phí hiệu suất. Điều này chứng minh rằng việc tích hợp RBAC vào Activiti là một lựa chọn hiệu quả và hợp lý.

V. Kết luận và Hướng Phát triển cho Activiti security extension

Việc mở rộng Activiti để hỗ trợ các chính sách an ninh nâng cao là một bước quan trọng để cải thiện bảo mật và tuân thủ các quy định trong các quy trình nghiệp vụ. Phương pháp RBAC/ABAC được đề xuất cung cấp một giải pháp linh hoạt và hiệu quả để giải quyết các vấn đề và thách thức trong việc quản lý an ninh quy trình Activiti. Trong tương lai, nghiên cứu sẽ tập trung vào việc tích hợp các cơ chế phân tích rủi ro và phát hiện xâm nhập vào Activiti, cũng như vào việc hỗ trợ các tiêu chuẩn bảo mật mới nổi.

5.1. Tóm tắt Các Đóng Góp Chính của Luận Văn

Luận văn này đã đóng góp vào lĩnh vực bảo mật quy trình Activiti bằng cách đề xuất và triển khai một phương pháp mở rộng linh hoạt cho các chính sách RBAC/ABAC. Các kết quả nghiên cứu đã chứng minh rằng phương pháp này có thể cải thiện đáng kể bảo mật và tuân thủ quy định, đồng thời duy trì hiệu suất chấp nhận được. Các tiện ích mở rộng RBAC/ABAC được phát triển trong luận văn này có thể được sử dụng để bảo vệ các quy trình Activiti khỏi các mối đe dọa bảo mật và đảm bảo rằng các hoạt động được thực hiện theo các chính sách và quy định bảo mật.

5.2. Các Hướng Nghiên Cứu Tiềm Năng trong Tương Lai

Trong tương lai, nghiên cứu có thể tập trung vào việc tích hợp các cơ chế phân tích rủi ro và phát hiện xâm nhập vào Activiti. Điều này sẽ cho phép các tổ chức phát hiện và phản ứng nhanh chóng với các mối đe dọa bảo mật, cũng như giảm thiểu tác động của các cuộc tấn công. Ngoài ra, nghiên cứu có thể tập trung vào việc hỗ trợ các tiêu chuẩn bảo mật mới nổi, chẳng hạn như các tiêu chuẩn liên quan đến bảo mật dữ liệu và quyền riêng tư. Cuối cùng, nghiên cứu có thể tập trung vào việc cải thiện khả năng sử dụng và khả năng mở rộng của các tiện ích mở rộng RBAC/ABAC, để chúng có thể được sử dụng trong các tổ chức có quy mô và độ phức tạp khác nhau. Cần xem xét các yếu tố bpmn security considerationsactiviti best practices security trong quá trình phát triển.

24/09/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU Quy trình nghiệp vụ đóng một vai trò then chốt để doanh nghiệp có thể quản lý và vận hành một cách nhịp nhàng, đạt hiệu quả cao. Có thể khẳng định, một doanh nghiệp xây dựng đƣợc quy trình tốt sẽ phát triển bền vững và có tính cạnh tranh cao hơn Để có thể triển khai thì trƣớc tiên quy trình nghiệp vụ phải đƣợc mô hình hóa. Mô hình hóa quy trình nghiệp vụ không những đƣợc sử dụng trong việc trao đổi các yêu cầu giữa chuyên gia nghiệp vụ và chuyên gia hệ thống mà còn đƣợc sử dụng để cài đặt hệ thống thực tế. Các quy trình nghiệp vụ hiện đại thƣờng kết hợp các tác vụ của con ngƣời với các tác vụ tự động (ví dụ, đƣợc cài đặt bởi webservice), nên ngôn ngữ mô hình hóa quy trình nghiệp vụ cần phải thu hẹp khoảng cách giữa giữa chuyên gia nghiệp vụ và chuyên gia hệ thống [2].

Mô hình hóa quy trình nghiệp vụ thƣờng tập trung vào mô hình hóa chính xác chức năng của quy trình mà bỏ qua các yêu cầu về an ninh. Nguyên nhân chủ yếu là do thực tế rằng các chuyên gia trong lĩnh vực quy trình nghiệp vụ không phải là chuyên gia về an ninh. Các yêu cầu về an ninh thƣờng xuyên đƣợc xem xét sau khi định nghĩa hệ thống. Cách tiếp cận này dẫn đến các lỗ hổng an ninh và rõ ràng cần thiết phải tăng cƣờng nỗ lực an ninh trong các giai đoạn trƣớc phát triển do việc sửa lỗi sẽ hiệu quả và tiết kiệm chi phí hơn.

Các nghiên cứu thực nghiệm cho thấy tại mức thiết kế quy trình nghiệp vụ thì khách hàng và ngƣời dùng cuối có thể biểu diễn các yêu cầu an ninh của họ và sau đó có thể thể hiện tại mức cao, các yêu cầu an ninh dễ dàng xác định bởi ngƣời mô hình hóa quy trình nghiệp vụ [2]. Các yêu cầu an ninh có thể đƣợc mô hình hóa trong quy trình nghiệp vụ và cần thiết phải xem xét các yêu cầu an ninh này trong bất kì ứng dụng nào tại mức độ trừu tƣợng cao nhất. Một trong các yêu cầu an ninh là điều khiển truy nhập tức là kiểm soát việc truy cập và thực hiện các hành động trên các nguồn tài nguyên hệ thống đƣợc đƣợc bảo vệ. Tuy nhiên, các nền tảng cho phép mô hình hóa quy trình nghiệp vụ hiện nay nhƣ Oracle BPM, Acitivi BPM đều chƣa tích hợp đầy đủ điều khiển truy cập theo vai trò RBAC [5].

Chính vì vậy, tôi xin chọn đề tài “Mở rộng công cụ Activiti cho đặc tả và cài đặt chính sách an ninh”. Trong luận văn, tôi đã trình bày một phƣơng pháp tích hợp chính sách an ninh RBAC vào quy trình nghiệp vụ BPM bằng cách mở rộng tiêu chuẩn BPMN cho đặc tả các chính sách an ninh [2], đồng thời ứng dụng của phƣơng pháp này vào việc mở rộng công cụ Activiti BPM cho đặc tả và cài đặt RBAC dựa vào [5]. Kết quả cụ thể đạt đƣợc: thứ nhất, tích hợp các chính sách RBAC vào pha mô hình hóa để các yêu cầu an ninh có thể đƣợc xem xét ngay từ đầu. Thứ hai, đã kiểm tra các chính sách đó tại pha thực thi để đảm bảo an toàn an ninh cho hệ thống.

1 TIEU LUAN MOI download : skknchat@gmail.com Về phần bố cục, luận văn đƣợc chia thành 3 chƣơng chính nhƣ sau: Chƣơng 1. Kiến thức nền tảng : Trình bày cơ sở lý thuyết và các công nghệ chính đƣợc sử dụng trong luận văn. Bao gồm: Mô hình hóa chuyên biệt miền, mô hình hóa đặc tả chính sách truy cập RBAC, mô hình hóa quy trình nghiệp vụ và cuối cùng, giới thiệu về công cụ mã nguồn mở Activiti BPM Chƣơng 2. Tích hợp mô đun chính sách truy cập RBAC với Activiti : Trình bày phƣơng pháp tích hợp chính sách an ninh vào quy trình nghiệp vụ và ứng dụng của phƣơng pháp vào việc tích hợp chính sách truy cập RBAC vào Activiti BPM Chƣơng 3.

Cài đặt và thực nghiệm : Trình bày bài toán vận tải hiện đang đƣợc triển khai tại Trung tâm Tƣ vấn Thiết kế Mobifone, ứng dụng kết quả của luận văn để giải quyết bài toán và cài đặt trên Activiti BPM. Cuối cùng là các kết quả đạt đƣợc. 2 TIEU LUAN MOI download : skknchat@gmail.com CHƢƠNG 1. KIẾN THỨC NỀN TẢNG 1.

Giới thiệu chƣơng Chƣơng này sẽ trình bày cơ sở lý thuyết và các công nghệ chính đƣợc sử dụng trong luận văn. Bao gồm ba nội dung chính là:  Mô hình hóa chuyên biệt miền: các khái niệm và kiến trúc của DSM; cú pháp và ngữ nghĩa của một ngôn ngữ mô hình hóa chuyên biệt miền DMSL.  Mô hình hóa và đặc tả chính sách truy cập RBAC: các khái niệm cơ bản về Core RBAC và ràng buộc phân quyền. Từ đó, xây dựng mô hình metamodel cho RBAC.

 Mô hình hóa và thực thi quy trình nghiệp vụ với Activiti BPM: khái niệm, thành phần, vòng đời và tiêu chuẩn ký hiệu BPMN của quy trình nghiệp vụ. Cuối cùng, giới thiệu công cụ mã nguồn mở Activti BPM cho việc mô hình hóa và thực thi quy trình nghiệp vụ một cách tự động. Mô hình hóa chuyên biệt miền Các hệ thống phần mềm hiện nay ngày càng trở nên phức tạp, muốn cải thiện hiệu suất phát triển phần mềm không chỉ tốc độ mà còn chất lƣợng hệ thống đƣợc tạo ra, các nhà nghiên cứu đã cố gắng tìm ra một phƣơng pháp tự động chuyển từ mô hình sang code. Do đó, mô hình hóa chuyên biệt miền (DSM) đã ra đời.

DSM sử dụng một ngôn ngữ mô hình hóa chuyên biệt miền (DSML) để sinh code đầy đủ từ mô hình và code đƣợc sinh ra có ít lỗi hơn là code viết bằng tay [6]. Khái niệm DSM chủ yếu tập trung vào hai vấn đề. Đầu tiên, nâng cao mức độ trừu tƣợng trên cả lập trình bằng cách xác định một ngôn ngữ trực tiếp sử dụng các khái niệm và các luật từ miền vấn đề cụ thể. Thứ hai, tạo ra sản phẩm cuối cùng trong một ngôn ngữ lập trình đã chọn hoặc một hình thức khác từ các đặc tả mức cao đó.

Thông thƣờng, bộ sinh code tiếp tục đƣợc hỗ trợ bởi một số nền tảng (framework). Tự động hóa phát triển phần mềm có thể trở nên phổ biến bởi vì ngôn ngữ mô hình hóa, bộ sinh code và code của framework đã phù hợp với các yêu cầu của miền ứng dụng. Nói cách khác chúng là chuyên biệt miền và chúng hoàn toàn đƣợc kiểm soát bởi ngƣời dùng. Các mức độ trừu tƣợng cao Sự trừu tƣợng rất quan trọng trong phát triển phần mềm.

Trong suốt lịch sử phát triển phần mềm, nâng cao mức độ trừu tƣợng là nguyên nhân của các bƣớc nhảy vọt trong hiệu suất của nhà phát triển. Nếu nâng cao mức độ trừu tƣợng làm giảm tính phức tạp thì làm sao để tiếp tục nâng cao nó.1 thể hiện, các nhà phát triển tại 3 TIEU LUAN MOI download : skknchat@gmail.com các thời điểm khác nhau đã thu hẹp khoảng cách trừu tƣợng giữa ý tƣởng trong miền và cài đặt của chúng.1: Thu hẹp khoảng cách trừu tượng giữa ý tưởng miền và cài đặt của chúng Bƣớc đầu tiên trong phát triển bất kỳ phần mềm nào luôn là nghĩ về giải pháp liên quan đến miền vấn đề - một giải pháp ở mức độ trừu tƣợng cao nhất (bƣớc 1). Ví dụ, quyết định nên hỏi tên ngƣời trƣớc hay hỏi phƣơng thức thanh toán trƣớc trong khi đăng ký một hội thảo. Sau khi tìm ra giải pháp sẽ ánh xạ sang đặc tả của một số ngôn ngữ (bƣớc 2).

Trong lập trình truyền thống, bƣớc này các nhà phát triển ánh xạ các khái niệm miền vào việc code các khái niệm. Trong UML hoặc các ngôn ngữ mô hình hóa mục đích chung khác, các nhà phát triển ánh xạ giải pháp miền vấn đề vào đặc tả trong ngôn ngữ mô hình hóa. Bƣớc 3, cài đặt đầy đủ giải pháp: đƣa ra các điều kiện đúng và nội dung code cho các vòng lặp. Tuy nhiên, nếu sử dụng các ngôn ngữ mô hình hóa mục đích chung, thì cần ánh xạ bổ sung từ mô hình sang code.

Điều đáng chú nhất ở đây là các nhà phát triển vẫn phải thực hiện từ bƣớc 1 mà không có bất kì công cụ nào hỗ trợ, đặc biệt để giải quyết các lỗi phát sinh trong giai đoạn phát triển thƣờng tốn nhiều chi phí nhất. Tự động sinh code Trong bƣớc 3, việc sinh code tự động từ thiết kế UML là không thể. Thay vì yêu cầu nhà phát triển nắm vững cả miền vấn đề và lập trình, một giải pháp tốt hơn cho phép các nhà phát triển đặc tả ứng dụng dƣới dạng đã từng biết và sử dụng, sau đó có các bộ sinh code sử dụng các đặc tả đó và tạo ra cùng loại code giống nhƣ họ viết bằng tay. Điều này sẽ làm tăng mức độ trừu tƣợng đáng kể; từ việc lập trình với byte/bit, thuộc tính và kết quả trả về; lên đến các khái niệm và luật lệ của miền vấn đề mà các nhà phát triển đang làm việc với.

Sau đó, ngôn ngữ lập trình mới này hợp nhất với bƣớc 1 và bƣớc 2 và tự động hóa hoàn toàn ở bƣớc 3. Mức độ trừu tƣợng đƣợc nâng lên gắn liền với code đƣợc sinh tự động là mục đích của DSM. 4 TIEU LUAN MOI download : skknchat@gmail.com DSM không kỳ vọng rằng tất cả code có thể đƣợc sinh ra từ các mô hình nhƣng bất cứ gì mô hình hóa đƣợc từ quan điểm của ngƣời mô hình hóa thì đều sinh ra code hoàn chỉnh. Trong DSM, code đƣợc sinh ra dễ đọc và hiệu quả - lý tƣởng là giống nhƣ code đƣợc viết bởi những nhà phát triển giàu kinh nghiệm, những ngƣời định nghĩa ra bộ sinh code.

Code đƣợc sinh ra thƣờng đƣợc hỗ trợ bởi framework với mục đích nhất định cũng nhƣ bởi các nền tảng, thƣ viện, thành phần và các code kế thừa khác. Bộ sinh code không chỉ giới hạn bất kì ngôn ngữ hay kiểu lập trình nào. Ví dụ kết quả của bộ sinh code có thể là ngôn ngữ lập trình hƣớng đối tƣợng hoặc ngôn ngữ lập trình cấu trúc hay chức năng, nó có thể là ngôn ngữ lập trình truyền thống, một ngôn ngữ kịch bản, các định nghĩa dữ liệu hoặc một file cấu hình. Tóm lại, DSM về cơ bản nâng cao mức độ trừu tƣợng trong khi thu hẹp không gian thiết kế (thƣờng là các sản phẩm trong một công ty).

Cùng với ngôn ngữ mô hình hóa chuyên biệt miền DSML, vấn đề sẽ đƣợc giải quyết khi việc mô hình hóa trực quan giải pháp mà chỉ sử dụng các khái niệm miền quen thuộc. Sản phẩm cuối cùng đƣợc sinh tự động bởi các bộ sinh code chuyên biệt miền.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ