C ƢƠNG 1 KỸ T UẬ TP ÁT TRIỂN ỨNG DỤNG WEB ƢỚNG MÔ ÌN
3.2.2. Biểu đồ hoạt động(Activity Diagram)
Bảng 3.1: Các khuôn mẫu và ký hiệu Khuôn mẫu và ký hiệu Mô tả
userAction Hoạt động của User
displayAction Hoạt động hiển thị
displayPin Dữliệu đầu ra
systemAction Hoạt động của hệthống
navigationAction Hoạt động điều hướ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 3.4: Biểu đồ mô tả hoạt động chức năng ngƣời dùng mở chi tiết link 3.2.2. Mô hình nội dung (Content)
Các mô hình nội dung mô tả cấu trúc và chức năng của một ứng dụng Web, bỏ qua. Trong bước đầu tiên, được tự động suy ra từ các yêu cầu mô hình, tức là phân tích mô hình Content và các mô hình Use Case được trình bày trong những phần trên.
3.2.2.1. Kết quả của chuyển đổi Requirements2Content
Những mô hình phía trên được chuyển đổi tự động sang mô hình Content theo chuyển đổi Requirements2Content. Đối với mỗi quy trình đơn giản trong 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 Use Case một thao tác được tạo ra bởi luật SimpleProcess2Operation. Lớp nội dung đích cho quy trình đơn giản được quy định, sau đó một kiểu trả về tương ứng được gán cho hoạt động này. Các kết quả thao tác được tích hợp với các lớp phân tích nội dung của ContentClass2ContentClassWithOperations. Tổng quan của việc chuyển đổi được mô tả trong hình 3.5.
Để có cái nhìn rõ hơn về mô hình của ví dụ này, ta chia thành hai gói. Các gói phần mềm đầu tiên có tên ContentModel chứa các lớp sử dụng chủ yếu cho các cơ sở dữ liệu của ứng dụng, trong khi các lớp được lưu trữ trong gói UserModel được sử dụng chủ yếu cho việc tạo ra một mô hình người 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 3.5: Biểu đồ lớp thể hiện mô hình nội dung 3.2.3. Mô hình điều hƣớng (Navigation)
Điều hướng (navigation) trong UWE được mô hình hóa bởi một tập hợp các lớp kết nối các mối quan hệ và mô tả cấu trúc siêu văn bản của một ứng dụng web.
Sự chuyển hướng trong ví dụ này được chia thành các gói. Trung tâm của mỗi gói đều được biểu diễn bởi một lớp điều hướng. Ngoài ra mỗi gói có các lớp xử lí được truy cập từ góc nhìn này. Những mô hình đó có quy trình đăng ký khác nhau, việc bổ sung các dữ liệu mới và quản lý các mục yêu thích, bạn bè và tin tức danh sách.
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 3.6:Biểu đồ lớp thể hiện mô hình điều hƣớng 3.2.4. Mô hình xử lý (Process)
Các cấu trúc xử lý được chia thành ba gói. Các lớp xử lý ở đây cũng tương tự như những gì đã được thể hiện trong sơ đồ điều hướng. Tuy nhiên các liên kết của mô hình đại diện cho mối quan hệ của mô hình.
Luồng xử lý chỉ sử dụng một phần của các liên kết khác cùng với chúng sử dụng một bộ hỗn hợp. Ngoài ra sự tổng quát hóa của cả quá trình có thể được thể
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
hiện ở đây.
Hình 3.7: Mô hình xử lý tổng quát
Quá trình xử lý có thể được mô tả chi tiết bằng các biểu đồ hoạt động (activity diagrams), sau đó được gọi là sơ đồ luồng xử lý(process flow diagrams).
Tất cả các lớp quá trình xảy ra trong NiceLink được mô hình hóa theo cách này, nhưng chỉ một trong số chúng được liệt kê như là một ví dụ dưới đây. Các sơ
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 đồ luồng xử lý khác có thể được xem trong các mô hình có thể truy cập ở trên.
Hình 3.8: Biểu đồ hoạt động AddComment 3.2.5. Mô hình biểu diễn (Presentation)
Thể hiện giao diện trong UWE được mô hình hóa với các lớp khuôn mẫu cụ thể, trong khi hệ thống của ta có thể được thể hiện bởi nhiều những giao diện lồng nhau.
Các mô hình thể hiện giao diện của Nice-Link khá phức tạp, chỉ một phần của ứng dụng được trình bày ở dưới đây. Các lớp đại diện cho quan điểm chi tiết
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
của thông tin liên kết và người dùng được loại ra ngoài. Chi tiết ta sẽ xem thêm trong phần Phụ Lục
Bảng 3.2: Khuôn mẫu và ký hiệu Khuôn mẫu và ký hiệu Mô tả
presentationGroup Thể hiện các nhóm trong một trang Web
text Thể hiện dữ liệu text
anchor Thể hiện đối tượng link của trang Web
button Thể hiện nút bấm
inputForm Thể hiện form nhập liệu
presentationAlternatives Thể hiện các hiển thị khác nhau tại mỗi thời điểm
presentationPage Thể hiện trang web textInput Thể hiện textbox
fileUpload Thể hiện control upload
image Thể hiện đối tượng ảnh như Logo của trang Web customComponent Thể hiện component tùy chỉnh
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
3.2.5.1. Mô hình và giao diện của trang chủ
a. Mô hình trang chủ
Hình 3.9: Mô hình giao diện tổng thể của một trang Web đƣợc thể hiện qua mô hình biểu diễ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
b. Giao diện trang chủ
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
KẾT LUẬN
Từ việc vẽ được mô hình theo phương pháp MDA, ta sinh mã bằng công cụ MagicDraw. Việc sinh mã với công cụ MagicDraw rất dễ dàng, tuy nhiên vẫn chỉ dừng ở một mức độ nhất định. Muốn một website hoàn chỉnh và đẹp, ta vẫn cần phải code thêm các chức năng, bổ sung các giao diện cần thiện để đem lại cho người dùng cuối một cảm giác thoải mái.
Luận văn này chi tiết về việc nghiên cứu kiến trúc hướng mô hình MDA – đặc biệt trong công việc xây dựng Web Engine hay còn gọi là UWE. Sau đây là những đánh giá về lợi ích của việc ứng dụng UWE và nghiên cứu để phát triển áp dụng UWE:
- Một số kết quả đã đạt đƣợc của luận văn
o Giới thiệu tổng quan về kỹ thuật phát triển ứng dụng web hướng mô hình
Mô hình hóa ứng dụng phần mềm Mô hình hóa ứng dụng web
Phát triển phần mềm hướng mô hình
o Cách thức chuyển đổi mô hình trong xây dựng phần mềm hướng mô hình
o Phương pháp phân tích thiết kế web theo chuẩn UWE
o Minh họa phương pháp phân tích thiết kế web thông qua ví dụ Website Tin Nhanh
- Các hạn chế của luận văn
o Trong khuôn khổ của một luận văn luận văn tốt nghiệp và do hạn chế về thời gian nên kết quả nghiên cứu còn một số các hạn chế như sau:
Chưa đưa ra được chi tiết các mẫu chuyển đổi của UWE cho các nền công nghệ khá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
o Ta đạt được các mục đính: linh hoạt, xuyên chức năng, tái sử dụng dễ dàng, tạo ra sự thuận lợi giữa người làm nghiệp vụ và người làm hệ thống
Sự linh hoạt: Hệ thống có thể phát triển trên nhiều nền tảng khác nhau
Tái sử dụng: cho phép dễ dàng nâng cấp, thay đổi yêu cầu Thuận lợi nghiệp vụ: Người không nắm được code nhưng nắm
rõ về nghiệp vụ có thể xây dựng mô hình chuẩn, từ đó người làm code, hệ thống có thể dễ dàng xây dựng đáp ứng đúng mô hình nghiệp vụ
- Định hƣớng nghiên cứu:
o Mong muốn nghiên cứu sâu hơn về UWE để có thể dễ dàng sinh mã 100%, giảm tối đa sức người trong việc lập trình, chỉ cần đạo tạo một cách đầy đủ cho người làm nghiệp vụ, về UWE để họ có thể tự xây dựng hệ thố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
TÀI LIỆU THAM KHẢO
1. Guotao Zhuang, Junwei Du : “MDA-BASED Modeling and Implementation of E-Commerce Web Applications in WebML” 2nd international workshop on computer CSE 2009
2. Gerti Kappel, Birgid Pröll, Siegfried Reich, Werner Retschitzegger (eds.),dpunkt-verlag:“Web Engineering: Systematic Development of Web Applications”
3. Rumbaugh James, Jacobson Ivar and Booch Grady, “The Unified Modeling Langauge Reference Manual”,Second Edition, 2008,page 23.
4. Rumbaugh James, Jacobson Ivar and Booch Grady, “The Unified Modeling Langauge Reference Manual”,Second Edition, 2008,page 23.
5. Moreno Nathalie, Fraternali Piero and Vallecillo Antonio, “WebML Modeling in UML”, IET Journal.
6. Rambaugh James, Booch Grady & Javkobson Ivar,“The Unified modeling languageReference Manual” Second Edition, 2008, page26.
7. Rambaugh James, Booch Grady & Javkobson Ivar, “The Unified modeling language User Guide”,Fifth Edition, 2007, page 18.
8. Spiridopoulos Konstantinos and Widen Erik, “Modeling web applications, WebML versus UML” Bachelor Thesis , Blekinge institute of Technology, Department of Computer Science & Software engineering.
9. http://www.eecho.info/Echo/uml/uml-six-main-advantages.
10. Knapp Alexander, Koch Nora, Moser Flavia and Zhang Gefei, “Argo UWE: A CASE Tool for Web Applications”, EMSISE 03.
11. Koch Nora, “Classification of Model Transformation Techniques used in UMLBasedWeb Engineering”, International Conference on Web Engineering, 2006.
12. Carvalho de Pinatti Fabiano Aparecido & Silva Anacleto Coutinho Junia, “Extending UWE to Improve Web Navigation Project – A Case Study.
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
13. Koch Nora, Kraus Andreas & Hennicker Rolf, “The Authoring Process of the UML- Based Web Engineering Approach.
14. LMU – Ludwig-Maximilians-Universität München Institute for Informatics, UWE- UML based web engineering. Retrieved from http://uwe.pst.ifi.lmu.de/ 15. Lu Ming Karen, Ab Hamid Hafizah Siti, “Conceptual Design of Web Based
Management System using Object WebML “, IEEE: 2007, page 354. 16. http://en.wikipedia.org/wiki/WebML.
17. D. Schwabe, G. Rossi. “The object-oriented hypermedia design model.” Commun. ACM. Vol. 38. 1995. pp. 45-46.
18. D. Schwabe, G. Rossi. Building hypermedia applications as navigational views of information models. Hawaii International Conference on System Sciences. IEEE Computer Society. Los Alamitos, Californis (USA). 1995. pp. 231.
19. D. Schwabe, R. Guimarães, G. Rossi. “Cohesive Design of Personalized Web Applications.” IEEE Internet Computing. Vol. 6. 2002. pp. 34-43.
20. D. Schwabe, G. Rossi. “An object oriented approach to Web-based applications design.” Theory and practice of object systems. Vol. 4. 1998. pp. 207-225.
21. J. December, M. Ginsburg. Html and Cgi Unleashed/ Book and Cd-Rom. 1st ed. Ed. Pearson Education Ltd. 1995. pp.194-258.
22. J. December, M. Ginsburg. Html and Cgi Unleashed/ Book and Cd-Rom. 1st ed. Ed. Pearson Education Ltd. 1995. pp.194-258.
23. J. Gómez, C. Cachero, O. Pastor. Extending a Conceptual Modelling Approach to Web Application Design. Proceedings of the 12th International Conference on Advanced Information Systems Engineering. Ed. Springer-Verlag. London, UK. 2000. pp. 79-93.
24. C. Cachero, J. Gómez, Advanced conceptual modeling of Web applications: Embedding operation interfaces in navigation design. 21th International Conference on Conceptual Modeling (JISBD). Madrid (Spain). 2002. pp. 235- 248.
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
25. O. Pastor, E. Insfran, V. Pelechano, J. Romero, J. Merseguer. De Sistemes Informàtics. OO-METHOD: An OO Software Production Environment Combining Conventional and Formal Methods. IN CAISE ’97. International conference on advanced information systems. Barcelona (Spain). 1997. pp. 145- 158.
26. O. Pastor, J. Gómez, E. Insfrán, V. Pelechano. “The OO-Method approach for information systems modeling: from object-oriented conceptual modeling to automated programming.” Inf. Syst. Vol. 26. 2001. pp. 507-534. 22
27. M. Bernstein. Patterns of hypertext. Proceedings of the ninth ACM conference on Hypertext and hypermedia: links, objects, time and space---structure in hypermedia systems: links, objects, time and space---structure in hypermedia systems. ACM, Pittsburgh (USA). 1998. pp. 21-29.
28. Miller, J; Mukerji, J. MDA Guide Version 1.0.1, OMG Inc., 2003. http://www.omg.org/docs/omg/03-06-01.pdf, downloaded: October, 29th 2009 29. Bizoňová, Z; Ranc, D. MDA used at analysis of LMS systems and creation of
general model. In Objekty 2008: 13th year of conference, Žilina, November, 20.- 21st, 2008: Publisher: Edis, University of Žilina, pages 162-170, ISBN 978-80- 8070-927-3, 2008.
30. Baumeister, H., Knapp, A., Koch, N. and Zhang, G. Modelling Adaptivity with Aspects. In Proc. 5th Int. Conf. on Web Engineering (ICWE 2005), LNCS 3579, Springer,July 2005.
31. Escalona, M. J. and Koch, N. Metamodeling Requirements of Web Systems. In Proc. 2nd Int. Conf. on Web Information System and Technologies, Portugal, April 2006.
32. Hennicker, R. and Koch, N. A UML-based Methodology for Hypermedia Design. In Proc. of the Int. Conference, editors, UML' 2000 - The Unified Modeling Language - Advancing the Standard, LNCS 1939, York, Springer, October 2000.
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
33. Knapp A., Koch N., Moser F. and Zhang G. ArgoUWE: A CASE Tool for Web Applications. In 1st Int. Workshop on Engineering Methods to Support Information Systems Evolution (EMSISE03), September 2003.
34. Knapp, A., Koch, N., Zhang, G. and Hassler, H.-M. Modeling Business Processes in Web Applications with ArgoUWE. 7th Int. Conference on the Unified Modeling Language (UML 2004). LNCS 3273, Lisbon, 2004.
35. Knapp, A., Merz, S. and Rauh, C. Model Checking Timed UML State Machines and Collaborations. In Proc. 7th Int. Symposium Formal Techniques in Real- Time and Fault Tolerant Systems, LNCS 2469, Springer, Berlin, 2002.
36. Knapp, A. and Zhang, G. Model Transformations for Integrating and Validating Web Application Models. In Proc. of Modellierung 2006, Innsbruck, March 2006.
37. Koch, N. Software Engineering for Adaptive Hypermedia Systems: Reference Model, Modeling Techniques and Development Process. Uni-Druck Verlag, 2001. PhD. Thesis, LMU München.
38. Koch, N. and Kraus, A. The expressive Power of UMLbased Web Engineering. 2nd Int. Workshop on Weboriented Software Technology (IWWOST02). Málaga, Spain. June, 2002. [20] Koch, N. and Kraus, A. Towards a Common Metamodel for the Development of Web Applications. In 3rd Int. Conf. on Web Engineering (ICWE 2003), LNCS 2722, Springer, July 2003.
39. Koch, N., Zhang, G. and Escalona, M. J. Model Transformations from Requirements to Web System Design, 2006, 6th Int. Conf. on Web Engineering, Palo Alto, USA, July 2006.
40. Koch, N. and Kraus, A. Towards a Common Metamodel for the Development of Web Applications. In 3rd Int. Conf. on Web Engineering (ICWE 2003), LNCS 2722, Springer, July 2003.
41. Melía, S., Kraus, A. and Koch, N. MDA Transformations Applied to Web Application Development. In Proc. 5th Int. Conf. on Web Engineering (ICWE 2005), Sydney, Australia, LNCS 3579, Springer, July 2005.
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
42. Object Management Group (OMG). Meta Object Facility (MOF) Core Specification, v2.0, 2006-01-01, http://www.omg.org/cgi-bin/doc?formal/2006- 01-01
43. Object Management Group (OMG). UML 2 Object Constraint Language (OCL), http://www.omg.org/cgibin/doc?ptc/2005-06-06
44. Object Management Group (OMG). Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification Final Adopted Specification, ptc/05- 11-01. http://www.omg.org/docs/ptc/05-11-01.pdf, November 2005.
45. Object Management Group (OMG). Unified Modeling Language (UML): Superstructure, version 2.0. Specification, http://www.omg.org/cgi- bin/doc?formal/05-07-04.
46. Object Management Group (OMG). XML Metadata Interchange (XMI), v2.1, 2005-09-01, http://www.omg.org/technology/documents/formal/xmi.htm
47. Taenzer, G. AGG: A Graph Transformation Environment for System Modeling and Validation. Proc. Tool Exihibition at "Formal Methods 2003", Pisa, Italy, September 2003.
48. Zhang, G., Baumeister, H., Koch, N. and Knapp, A.. Aspect-Oriented Modeling of Access Control in Web Applications. In 6th Int. Workshop Aspect Oriented Modeling (AOM’05), Chicago, USA, 2005.
49. Paras Patel, Anup Hande and Dr. B. B. Meshram Survey of Existing Web Models Techniques to Design Web Application. In Anup Hande et al , Int.J.Computer Technology & Applications,Vol 4 (3),514-521 IJCTA | May-June 2013, pp 520,521.
50. OMG (2002). Request for Proposal: MOF 2.0 Query / Views / Transformations RFP, OMG document ad/2002-04-10
51. Nora Koch. Transformation Techniques in the Model-Driven Development Process of UWE.
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 A A.1 CÁC MÔ HÌNH CỦA CẢ HỆ THỐNG A.1.1 Biểu đồ Use Case
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
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 3: Biểu đồ Use Case sử dụng của ngƣời dùng đã đăng ký và