Tích hợp OCL trong mô hình xử lý

Một phần của tài liệu (Luận án tiến sĩ) Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình (Trang 61 - 65)

Mô hình xử lý tương ứng với thành phần controller trong mô hình MVC. Mỗi process class sẽ xử lý tương ứng tương tác của người sử dụng từ giao diện. Các thuộc tính của lớp xử lý được sử dụng để xác định dữ liệu được trả về từ các thành phần giao diện tương ứng [6]. Do đó, các ràng buộc cho các pin của displayAction trong mô hình yêu cầu sẽ được chuyển đổi thành các ràng buộc bất biến cho các thuộc tính tương ứng, và tiền điều kiện – hậu điều kiện để kiểm tra tính hợp lệ của dữ liệu nhập vào trước khi xử lý (Pin là một nút đối tượng biểu diễn cho một đối tượng, là đầu vào hay đầu ra của một hành động).

Biểu đồ diễn tiến chuyển đổi bất biến trong mô hình xử lý

Chuyển đổi ràng buộc bất biến: Các ràng buộc của các Pin trong mô hình yêu cầu sẽ được chuyển đổi thành các ràng buộc bất biến, để tích hợp vào các thuộc tính của lớp xử lý, tương ứng với dữ liệu trả về từ thành phần giao diện.

Quy trình thực hiện chuyển đổi bất biến mô hình yêu cầu sang mô hình xử lý

B1: Đọc mô hình lấy danh sách các activity diagram. B2: Với mỗi activity diagram, đọc lấy danh sách các node.

B3: Với mỗi node có sterrotype là user action. Lấy danh sách các output pin, loại

bỏ các pin trùng lặp.

B4: Với mỗi pin, đọc tất các ràng buộc bất biến của pin đó. Thêm vào danh sách

ràng buộc nếu chưa tồn tại.

B5: Tạo ràng buộc tương ứng và thêm vào cho các thuộc tính tương ứng trong

process class tương ứng tạo ra trong U2C

- Chuyển đổi tiền điều kiện – hậu điều kiện: Các ràng buộc tiền điều kiện – hậu điều kiện sẽ được tích hợp vào phương thức validateData trong process class được tạo ra trong quy tắc chuyển đổi U2C. Dữ liệu sau khi người dùng nhập vào các input form sẽ được kiểm tra tính hợp lệ thỏa mãn các ràng buộc, trước khi tiếp tục xử lý các nghiệp vụ của hệ thống.

Biểu đồ chuyển đổi tiền điều kiện – hậu điều kiện mô hình xử lý

Quy trình thực hiện chuyển đổi tiền điều kiện - hậu điều kiện mô hình yêu cầu sang xử lý

B1: Đọc mô hình lấy danh sách các activity diagram. B2: Với mỗi activity diagram, đọc lấy danh sách các node.

B3: Với mỗi node có stereotype là user action và có thẻ là “validated”. Lấy

danh sách các output pin. Loại bỏ các pin trùng lặp.

B4: Với mỗi pin, nếu pin đó có ràng buộc OCL thì thêm pin đó cùng với các

ràng buộc vào danh sách.

B5: Thêm các ràng buộc tương ứng với các pin trong bước 4 vào tiền điều

kiện của phương thức validateData() trong process class tương ứng theo quy tăc U2C.. Hậu điều kiện là kết quả trả về dữ liệu hợp lệ hoặc không.

Bổ sung các quy tắc chuyển đổi mô hình

Quy tắc chuyển đổi U2C (User acction in activity to process Class): Process class được sử dụng để tích hợp các quá trình xử lý vào mô hình điều hướng và xác định dữ liệu được trao đổi giữa ứng dụng với người sử dụng trong suốt quá trình hoạt động. Nếu quá trình xử lý này cần một số bước tương ứng với các giao diện người dùng khác nhau. Thì quá trình xử lý này phải được chia thành các quá trình xử lý nhỏ hơn tương ứng với mỗi hành động của người dùng, được thể hiện bằng user action trong

activity diagram [77]. Quy tắc này sẽ chuyển đổi user action trong các mô hình activity sẽ được chuyển đổi thành process class trong mô hình xử lý.

Quy trình thực hiện quy tắc U2C

B1: Đọc mô hình, lấy ra các biểu đồ ca activity diagram. B2: Với mỗi activity, đọc tất cả các node.

B3: Duyệt các node. Kiểm tra node stereotype là user action. Thêm vào danh sách B4: Với mỗi phần tử trong danh sách node lấy được sau bước 3. Tạo một process

class tương ứng.

B5: Với mỗi process class và user action tương ứng. Đọc các output pin của user

action đó thêm vào danh sách pin.

B6: Duyệt các pin trong danh sách thu được ở B5. Tạo thuộc tính tương ứng cho

process class. Nếu process class đó tương ứng với một user action có gắn thẻ là “validated”. Thì tạo phương thức validateData (param1, param2, ...) cùng danh sách tham số cần kiểm tra cho process class đó.

Quy tắc S2C (System action in activity to process Class): Tương tự như use action, system action cũng mô tả cho quá trình xử lý trong luồng xử lý. System action trong mô hình yêu cầu đại diện cho xử lý bên trong của hệ thống. Do đó, system action cũng sẽ được chuyển đổi thành process class trong mô hình xử lý. Đồng thời, nếu system action đó được gán thẻ là “confirmed” để biểu thị rằng: Trước khi thực hiện hành động xử lý đó, ứng dụng cần hiển thị thông báo để người dùng xác nhận, ví dụ như khi xóa một tài khoản người dùng trong hệ thống.

Quy trình thực hiện quy tắc S2C

B1: Đọc mô hình, lấy ra các biểu đồ ca activity diagram. B2: Với mỗi activity, đọc tất cả các node.

B3: Duyệt các node, với mỗi node có stereotype là system action. Thêm vào danh sách. B4. Với system action node đang duyệt ở B3. Kiểm tra thẻ của node đó. Nếu thẻ là

”confirmed” thì tạo confirmation node tương ứng và thêm vào danh sách.

B5: Với mỗi phần tử trong danh sách node lấy được sau B3 và B4. Tạo một process

class tương ứng.

B6: Lấy tất cả các input pin của system action. Thêm vào danh sách tham số nếu

chưa tồn tại trong danh sách tham số.

B7: Nếu system action có thẻ là “confirmed” thì tạo phương thức tương ứng và danh

sách tham số tương ứng cho “confirmation class” tương ứng với confirmation node trong B4. Ngược lại, tạo phương thức và danh sách tham số tương ứng cho process class của node trong B3.

Quy tắc chuyển đổi U2U (User action in activity to User action in processing

action trong mô hình luồng xử lý. Các pin tương ứng cũng được chuyển đổi kèm theo. Nếu user action có thẻ “validated”, nghĩa là dữ liệu nhập vào từ người sử dụng thông qua user action trong biểu đồ activity diagram này cần được kiểm tra tính hợp lệ trước khi quyết định hành động xử lý tiếp theo. Các bước thực hiện chuyển đổi của quy tắc này như sau:

Quy trình thực hiện quy tắc U2U

B1: Đọc mô hình, lấy danh sách các activity diagram.

B2: Với mỗi activity diagram đọc tất cả các node. Nếu node đó có stereotype là

user action. Tạo user action tương ứng trong mô hình luồng xử lý.

B3: Đọc tất cả các pin của node và tạo ra pin tương ứng cho user action được

tạo ra ở B2.

B4: Nếu user action có thẻ “validated”. Tạo phần tử validate với stereotype là

system action để thực hiện việc kiểm tra dữ liệu và một “decision node” để rẽ nhánh true/false tương ứng với hai trường hợp dữ liệu thỏa mãn các ràng

buộc hoặc ngược lại.

Quy tắc chuyển đổi S2S (System action in activity to System action in processing

model): Phần tử system action trong biểu đồ ca của mô hình yêu cầu biễu diễn cho

hành động xử lý của hệ thống. Do đó, nó cũng sẽ được chuyển đổi tương ứng sang một system action trong mô hình luồng xử lý. Nếu system action đó được đánh dấu với một thẻ “confirmed”, thể hiện cho hành động cần được xác nhận từ người dùng trước khi xử lý. Do vậy, cần tạo thêm một user action để thực hiện việc xác nhận này.

Quy trình thực hiện quy tắc S2S

B1: Đọc mô hình, lấy danh sách các activity diagram

B2: Với mỗi activity diagram đọc tất cả các node. Nếu node đó có stereotype là

system action thì tạo system action tương ứng trong mô hình luồng xử lý.

B3: Nếu user action có thẻ “confirmed”. Tạo confirmation user action để thực hiện

việc yêu cầu xác nhận lại từ người sử dụng và “decision node” để rẽ nhánh

true/false tương ứng với hai trường hợp người dùng đồng ý hoặc hủy bỏ.

Một phần của tài liệu (Luận án tiến sĩ) Các kỹ thuật chuyển đổi mô hình và sinh mã trong phát triển ứng dụng web hướng mô hình (Trang 61 - 65)