Chuyển đổi sang 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 53 - 55)

Mô hình xử lý (còn gọi là mô hình nhiệm vụ) xuất phát từ lĩnh vực giao diện người máy [84]. Các thành phần «processClass» ở mô hình điều hướng sẽ được thể hiện rõ hơn bởi mô hình xử lý. Chúng được đặc tả bởi biểu đồ hoạt động với các Action mà người dùng có thể thực hiện trong ứng dụng web.

Các mô hình điều hướng của một ứng dụng Web miêu tả cấu trúc thông tin tĩnh còn Mô hình xử lý diễn tả ý động của ứng dụng Web.[1]

Chuyển đổi sang mô hình xử lý [1]

Việc chuyển đổi sang mô hình xử lý nhằm nâng cao mô hình định hướng, bằng cách thêm các lớp xử lý và liên kết xử lý đối với việc tích hợp xử lý.

Quy tắc Menu2IntegratedMenu

Mỗi Web process use case từ mô hình yêu cầu được ánh xạ tới lớp xử lý trong mô hình điều hướng được tích hợp. Một liên kết xử lý kết nối với menu tương ứng tới lớp nội dung của Web process use case để tạo ra lớp xử lý. Một liên kết xử lý liên tục được tạo ra cho đích bắt buộc của Web process use case.

rule Menu2IntegratedMenu {

from nc : UWE!Menu (

nc.contentClass.useCase->exists( uc | uc.oclIsKindOf( UWE!WebProcess ) ) ) using

{

wps : Sequence( UWE!WebProce ss ) = nc.contentClass.useCase-> select( uc | uc.oclIsKindOf( UWE!WebProcess ) )->asSequence(); wpsWithTarget : Sequence( UWE!W ebProcess ) = wps->select( wp | not wp.target.oclIsUndefined() );

wpsWithoutTarget : Sequence( UWE! WebProcess ) = wps->select( wp | wp.target.oclIsUndefined() );

wpsOrdered : Sequence( UWE!WebProcess ) = wpsWithTarget-> union( wpsWithoutTarget );

}

to tnc : UWE!Menu ( … ), -- tar get for copying source element pc : distinct UWE!ProcessClass foreach ( wp in wpsOrdered ) (

name <- let n : String = wp.name.regexReplaceAll( ' ', '' ).firstToUpper() in if UWE!WebProcess.allInstances()->select( uc |

uc.name.regexReplaceAll( ' ', '' ).firstToUpper() = n )->size() > 2 then nc.getTraceSource( 'NavigationClass2Menu' ).name else '' endif + n, …

pl : distinct UWE!ProcessLink foreach ( wp in wpsOrdered ) (

… ),

epl : distinct UWE!ProcessLink foreach ( wp in wpsWithTarget ) (

… ), …

}

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 53 - 55)

Tải bản đầy đủ (PDF)

(145 trang)