C ƢƠNG 1 KỸ T UẬ TP ÁT TRIỂN ỨNG DỤNG WEB ƢỚNG MÔ ÌN
A.1.2 Biểu đồ Activity
A.1.2.1 Adapt LinkList
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.1.2.2 Adapt Suggestions
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.1.2.3 Add Comment
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.1.2.4 Add Favorite
Hình Phụ Lục 7: Biểu đồ hoạt động Add Favorite
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
Hình Phụ Lục 8: Biểu đồ hoạt động Add Friend
A.1.2.6 Add Image
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.1.2.7 Browse LinkInfos
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.1.2.8 Change BrowseSettings
Hình Phụ Lục 11: Biểu đồ hoạt động Change BrowseSettings
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
Hình Phụ Lục 12: Biểu đồ hoạt động Change Interface
A.1.2.10 Change LinkDetails
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.1.2.11 Login
Hình Phụ Lục 14: Biểu đồ hoạt động Login A.2 GIAO DIỆN ỨNG DỤNG
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
Hình Phụ Lục 15: Giao diện trang chủ A2.2 Đăng nhập
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.2.3 Đăng ký
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.2.4 Trang cá nhân
Hình Phụ Lục 18: Trang cá nhân của từng ngƣời dùng A.2.5 Trang search cho ngƣời dùng đã LOG-IN
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
A.2.6 Gửi tin nhắn cho ngƣời dùng khác
Hình Phụ Lục 20: Chắc năng gửi tin nhắn cho ngƣời dùng khác (Đã đăng ký trên hệ thống)
A.2.7 Nhận tin nhắn
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
PHỤ LỤC B B.1 CÁC MÔ HÌNH TRONG UWE
B1.1. Mô hình các Yêu cầu
Mục tiêu tổng thể của việc mô hình hóa các yêu cầu là đặc tả tập các chức năng của hệ thống như là một mô hình độc lập về mặt điện toán (CIM). Các mục tiêu cụ thể đối với các hệ thống Web trở thành: (1) việc chỉ ra cụ thể các yêu cầu chức năng dưới dạng các nhu cầu điều hướng và các quy trình nghiệp vụ, (2) việc chỉ ra cụ thể các yêu cầu về nội dung và (3) việc định nghĩa các kịch bản tương tác cho các nhóm người dùng Web khác nhau.
Hình 0.1: Biểu đồ Use Case dành cho cổng thông tin âm nhạc (CIM)
UWE mô hình hóa các yêu cầu bằng các biểu đồ tình huống sử dụng UML và biểu đồ hoạt động UML. UWE phân biệt hai dạng tình huống sử dụng: các tình huống sử dụng điều hướng và các tình huống sử dụng mô tả các quy trình nghiệp vụ Web. Dạng thứ hai - theo đề nghị của UWE - cần phải được chi tiết hóa hơn nữa bằng các biểu đồ hoạt động. UWE sử dụng lược tả UML dành cho các yêu cầu Web
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
(WebRE) được định nghĩa bởi Escalona & Koch [31], trong đó bao gồm các tình huống sử dụng, các hoạt động và các đối tượng được tạo khuôn mẫu, cung cấp các ngữ nghĩa đặc trưng lĩnh vực Web cho các phần tử mô hình hóa. Hình 2.14 minh họa biểu đồ tình huống sử dụng dành cho cổng âm nhạc và Hình 2.15 cho thấy biểu đồ hoạt động dành cho tình huống sử dụng tải album xuống.
Hình 0.2: Biểu đồ hoạt động cho mô hình Use Case tải album trên cổng thông tin âm nhạc (giản lƣợc) (CIM)
B.1.2. Các Mô hình Thiết kế
Ở mức thiết kế, UWE tuân theo nguyên tắc tách bạch các mối quan tâm vốn được áp dụng rộng rãi trong công nghệ Web. Xây dựng các mô hình riêng biệt dành cho các khía cạnh nội dung, điều hướng và biểu diễn của các hệ thống Web bằng cách sử dụng các biểu đồ lớp UML cho phần biểu diễn bằng thị giác [38]. Thêm vào chúng một mô hình quy trình bổ sung dành cho các ứng dụng Web giao dịch, và một mô hình thích ứng dành cho các hệ thống được cá nhân hóa và phụ thuộc bối cảnh. UWE định nghĩa các phần tử mô hình hóa đặc trưng lĩnh vực Web chẳng hạn như lớp và menu điều hướng cho mô hình điều hướng, và lớp biểu diễn và mốc neo cho mô hình biểu diễn.
Lược tả UWE cung cấp các khuôn mẫu tương ứng. Hình 2.16 và Hình 2.17 minh họa mô hình nội dung và mô hình điều hướng của cổng âm nhạc. Các nút có
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
thể điều hướng được biểu diễn bằng các thực thể của siêu lớp NavigationNode chẳng hạn như NavigationClass, Menu và ProcessClass (các khuôn mẫu mở rộng Class UML). Các liên kết giữa các nút điều hướng được biểu diễn bằng các thực thể của NavigationLink và ProcessLink. Ngoài ra, các tuyến điều hướng được kiến thiết bằng các thực thể thuộc các kiểu đặc biệt của các nguyên tố truy xuất chẳng hạn như Index, Query và GuidedTour. Các chỉ số biểu diễn các lựa chọn trong số các thực thể của một lớp điều hướng cụ thể. Trái lại, các menu (như MainMenu) biểu diễn các lựa chọn trong số các thực thể của các nút điều hướng thuộc các kiểu khác nhau. Một Query (như SearchAlbum) mô hình hóa một hành động dò tìm trong ứng dụng Web, trong đó người dùng có thể nhập vào một từ và lựa chọn trong số các kết quả trùng khớp.
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
Hình 0.4 Mô hình điều hƣớng (PIM)
Các mô hình quy trình được biểu diễn trực quan như là các biểu đồ hoạt động UML 2.0 (xem Hình 2.18). Các hành động (như FindUser) mô hình hóa các hành động mà người dùng và hệ thống phải thực hiện để hoàn thành quy trình nghiệp vụ.
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
Hình 0.6: Các trạng thái Home và Song của “bức tranh tổng thể”
UWE đề xuất xây dựng mô hình biểu diễn để phác thảo bố cục sắp xếp của ứng dụng Web. Nó sử dụng ký pháp hợp thành UML dành cho các lớp, nghĩa là quan hệ bao hàm được biểu diễn bằng việc lồng về mặt đồ họa các ký hiệu vào nhau. Dạng biểu diễn này thích hợp cho việc mô hình hóa các giao diện người dùng vì nó cho phép việc sắp đặt bố cục trật tự về mặt không gian, nhưng có vấn đề là phần lớn các công cụ tình huống (case tool) tiêu chuẩn không hỗ trợ nó. Đối với các mô hình thích ứng, lược tả UWE bao gồm các khuôn mẫu dành cho nút khác và cơ chế thích ứng liên kết. Kỹ thuật biểu đồ được UWE sử dụng là kỹ thuật mô hình hóa hướng khía cạnh (AOM), trong đó có sự mở rộng UML bằng các khái niệm như khía cạnh, cắt điểm (pointcut) và lời khuyên (advice) để hỗ trợ AOM . Do những hạn chế về mặt không gian, tôi không đề cập chi tiết hơn nữa về các mô hình biểu diễn và mô hình thích ứng trong tài liệu này. Độc giả có thể tham khảo [30] và [37].
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
UWE đề xuất việc tạo ra một mô hình được tích hợp, trong đó các mối quan tâm riêng biệt của một hệ thống Web được hợp nhất trong một bức tranh tổng thể. Việc sử dụng các máy trạng thái UML như là các kết quả của quá trình tích hợp mang lại khả năng áp dụng các kỹ thuật hình thức cho việc xác nhận tính hợp lệ, chẳng hạn như việc kiểm nghiệm mô hình [35]. Hiện tại, bức tranh tổng thể là kết quả của việc tích hợp các mô hình nội dung, điều hướng và logic nghiệp vụ, nhưng nó có thể dễ dàng được mở rộng để bao gồm cả các tính năng như kiểm soát truy cập [48] và điều chỉnh thích ứng [30]. Hình 2.19 cho thấy các trạng thái Home và Song, cả hai đều là thành phần của mô hình “Bức tranh Tổng thể”
B.1.3. Các Mô hình Kiến trúc và Mô hình Cài đặt
Các thông tin bổ sung về các phong cách kiến trúc có thể được hợp nhất ở các bước khác nhau trong quy trình MDD UWE. Theo cách tiếp cận WebSA mà tôi đề nghị trong [41] là tích hợp các mô hình thiết kế và các mô hình kiến trúc trong một giai đoạn rất sớm của quy trình phát triển. Một cách tiếp cận như vậy được minh họa trong tổng quan quy trình UWE. Các mô hình kiến trúc trong cách tiếp cận Kiến trúc Phần mềm Web (WebSA) được đặc tả như là các mô hình độc lập nền hệ thống (các PIM). Knapp và Zhang đề nghị trong [36] là hợp nhất các mô hình kiến trúc với mô hình bức tranh tổng thể, nghĩa là hợp nhất với kết quả của mô hình đã được tích hợp của các mối quan tâm khác nhau (nội dung, cơ chế điều hướng và logic nghiệp vụ). Một phương án tiếp cận thứ ba là đưa các thông tin kiến trúc vào khi tạo ra các mô hình đặc trưng nền hệ thống.
B.2 Cách sử dụng UWE để thiết kế ứng dụng web
Mục đích chính của phương pháp MDA trong việc tạo ra ứng dụng Web là thu hẹp khoảng cách giữa các khái niệm trừu tượng hiện nay trong các mô hình thiết kế (nội dung, điều hướng, quy trình, trình bày) với các nền tảng Web. Trong thực tế với phương pháp UWE, khoảng cách này là khá gần giữa Content và mô hình Presentation. Cấu trúc tĩnh UML được sử dụng để mô tả Content trong UWE (nếu có thể bỏ qua các mô hình phức tạp hơn như các mẫu nâng cao, kết hợp gói và các loại tương tự) gần như mô tả lại giống hệ các phần bên trong của ứng dụng như mô
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
hình cơ sở dữ liệu quan hệ, mô hình quan hệ hướng đối tượng, hoặc Java Bean. Tương tự, mô hình UWE Presentation, cũng vẫn dựa trên các cấu trúc UML tĩnh, có thể được xem như là một khái niệm trừu tượng trong việc thiết kế trang web,... mô tả lại các kỹ thuật Plain HTML, Dynamic HTML, hoặc Java Server Pages (JSP). Khoảng cách trừu tượng này có thể so sánh với những cấu trúc UWE Navigation chỉ sử dụng các node navigation và truy cập thô sơ. Tuy nhiên trong trường hợp này, thay đổi để mô tả luồng xử lý nghiệp vụ theo UWE, nó sử dụng phép biểu diễn các quy trình làm việc. Đặc biệt, dựa vào các dấu hiệu, giống như việc làm sáng tỏ các hoạt động của UML và kiểm soát sự kết hợp của chúng với luồng dữ liệu, việc đó đặc biệt thích hợp cho việc khai báo truyền đi dữ liệu, khác biệt đáng kể với phương pháp truyền thống, khái niệm ngôn ngữ lập trình điều khiển trung tâm được hỗ trợ bởi nền tảng Web hiện tại.
Vì vậy, để tạo ra một ứng dụng Web từ một mô hình thiết kế UWE, một mặt ta ánh xạ và mặt khác làm sáng tỏ phương pháp tiếp cận: Quy tắc chuyển đổi thích hợp để tạo ra mô hình dữ liệu và lớp giao diện cho một ứng dụng Web từ UWE Content, cấu trúc điều hướng và những mô hình giao diện, ở đây ít có sự khác biệt trong mô hình và nền tảng trừu tượng. Các khác biệt cao hơn trong trừu tượng, hình thức rõ ràng trong các mẫu mô hình quy trình có thể dễ dàng hơn trong việc diễn giải các mô hình thực thi trực tiếp trong máy ảo. Cụ thể, mô tả quá trình tạo ứng dụng Web từ Mô hình UWE bằng một nền tảng Web độc lập, sử dụng framework Spring, nhưng, nếu muốn thay đổi nền tảng, các mô hình chuyển đổi đổi và tùy biến với các máy ảo, ta có thể dễ dàng chuyển sang các công nghệ Web khác như sử dụng một nền tảng đơn giản Java Server Pages (JSP) hay một nền tảng nặng hơn, ASP.NET.
Spring là một framework đa năng dựa trên nền tảng Java theo mô đun tích hợp MVC 2-based Web framework với khả năng dễ dàng truy cập phần mềm trung gian, bền bỉ và quản lý giao dịch. Tách biệt các mô hình, view, và các phần điều khiển trực tiếp phản ánh cấu trúc chung của các mô hình tiếp cận theo hướng UWE và cũng hỗ trợ việc bổ sung sử dụng các quy tắc chuyển đổi, thực hiện engine trong
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
sinh ra ứng dụng Web: yêu cầu tối thiểu là sử dụng framework Spring trên công nghệ mô hình hóa; trong thực tế, bất kỳ loại Plain Old Java Objects (POJO) đều có thể được sử dụng, và việc tiếp cận với các mô hình từ view hoặc phần controller chỉ là gọi các hàm chức năng get- và set-. Để mô hình hóa cho định nghĩa quy tắc chuyển đổi từ một mô hình nội dung UWE sang Java Beans. Công nghệ View được tách ra từ model và Controller bởi một cơ chế cấu hình được cung cấp bởi Spring; do đó các công nghệ như Faces JSP, Tiles, hoặc Java Server có thể được sử dụng. Ta định nghĩa cách chuyển đổi từ mô hình giao diện UWE sang JSP. Cuối cùng, Controller cung cấp mọi thứ cho việc xây dựng một máy ảo để thể hiện luồng xử lý nghiệp vụ, cũng như nó có thể được tùy chỉnh thông qua bất kỳ lớp Java nào, bổ sung giao diện cụ thể từ các framework Spring. Dữ liệu cấu hình cho máy ảo được tạo ra từ quy trình UWE và mô hình điều hướng.
Tổng quan về cách biến đổi và phương tiện thực hiện được mô tả theo như Hình 2.35. Các máy ảo để thực hiện xử lý nghiệp vụ và mô hình điều hướng được gói gọn trong một môi trường thời gian thực được xây dựng trước khi chuyển sang Spring framework và cũng đóng gói quản lý dữ liệu và các view xử lý.
Nghiên cứu kỹ thuật biế đổi mô hình sử dụng trong xây dựng phần mềm dựa web theo MDA
B.2.1. Môi trƣờng thực thi (Runtime Environment)
Cấu trúc của môi trường thực thi được hiển thị trong Hình 26. Framework Spring được cấu hình để thực hiện điều khiển chung có tên MainController. Bộ điều khiển có quyền truy cập vào một tập các đối tượng với những kiểu được tạo ra từ mô hình nội dung và định ra một đối tượng gốc được xem như là một điểm bắt đầu cho các ứng dụng. Mô hình đối tượng được truy cập bởi phương thức get- và set- và các quá trình được định nghĩa trong các mô hình nội dung. Ngoài ra, controller quản lý một tập hợp các đối tượng NavigationClassInfo trong đó có chứa thông tin cấu trúc Navigation với việc thừa kế giữa các lớp navigation và được tạo ra từ các mô hình Navigation. Một bộ của các đối tượng ProcessActivity được tạo ra từ các mô hình xử lý đại diện cho quá trình xử lý Web; với mỗi session nhiều nhất là một quá trình có thể được hoạt động tại một thời điểm.
Có những quan điểm cho rằng, các trang Web không được quản lý một cách rõ ràng bởi các môi trường thực thi , mà chỉ có bộ nhận dạng ký tự hợp lệ. Framework Spring có trách nhiệm phân tích các định dạng này thành các trang web thực sự,