Sinh mã tự động trong phát triển phần mềm hướng mô hình Dương Ngọc Lâm Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Kỹ thuật Phần mềm; Mã số: 60 48 01 03 Người hướng dẫn: TS.. Côn
Trang 1Sinh mã tự động trong phát triển phần mềm
hướng mô hình
Dương Ngọc Lâm
Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Kỹ thuật Phần mềm; Mã số: 60 48 01 03
Người hướng dẫn: TS Đặng Đức Hạnh
Năm bảo vệ: 2014
Keywords Công nghệ thông tin; Kỹ thuật phần mềm; Phần mềm hướng mô hình
Content
Công nghệ phầm mềm luôn là điều gì đó ám ảnh các nhà khoa học, thúc đẩy họ phải luôn tìm tòi, sáng tạo ra những cách thức mới để nâng cao chất lượng của sản phẩm phần mềm Nhìn lại quá khứ từ khi máy tính ra đời cho đến ngày nay thì có thể thấy ngôn ngữ máy tính cũng đã phát triển qua nhiều thế hệ từ hợp ngữ, đến ngôn ngữ thủ tục, đến ngôn ngữ hướng đối tượng, và bây giờ là ngôn ngữ mô hình hoá Cùng với sự phát triển của ngôn ngữ, thì các phương pháp phát triển tương ứng với chúng cũng ra đời nhằm giải quyết bài toán chất lượng phần mềm, như phương pháp hướng đối tượng, phương pháp hướng thành phần, phương pháp hướng khía cạnh, vân vân Có một điều rất dễ nhận thấy đó là mức độ trừu tượng, tính kế thừa của các ngôn ngữ, của các phương pháp đều phát triển theo hướng tăng dần Tại sao lại như vậy? Nguyên nhân chính, đơn giản đến từ những điều rất tự nhiên trong cuộc sống Đó là nhu cầu của con người
Công nghệ phát triển ngày càng hiện đại với nhiều nền tảng mới ra đời, cùng với nhu cầu ngày càng lớn của người dùng internet khiến cho các nhà phát triển phải xây dựng các hệ thống lớn có nhiều tính năng để đáp ứng nhu cầu đó, cũng như làm tăng sự trải nghiệm của người dùng Rồi nhu cầu mới lại được đưa ra một cách nhanh chóng, và các phiên bản phần mềm mới lại ra đời sao cho có thể hoạt động tốt được trên nền tảng mới Việc này thực tế gây ra rất nhiều phiền toái cho các nhà phát triển với các vấn đề quản lý, duy trì phần mềm một cách thủ công nếu họ vẫn áp dụng phương pháp phát triển cũ Nỗ lực và thời gian tiêu tốn cho việc duy trì đó là rất lớn Không có cách giải quyết nào tốt hơn là phải áp dụng các phương pháp phát triển mới vào quy trình phát triển phần mền
Để giải quyết nhu cầu người dùng một cách nhanh chóng, các nhà phát triển thường phải tập trung vào khâu phân tích các vấn đề ở giai đoạn đầu của dự án, và cách tốt nhất để diễn đạt ý tưởng cho những bộ phận liên quan có chuyên môn khác nhau, là qua việc mô hình hoá các khía cạnh của phần mềm bằng ngôn ngữ mô hình hoá Phương pháp phát triển phần mềm hướng mô
tập trung vào việc mô hình hoá phần mềm, rồi từ đó chuyển đổi tự động sang các mô đun, mã nguồn, hay chương trình có thể thực thi được bằng các công cụ chuyển đổi Hiện tại, phương pháp phát triển này đang được áp dụng bởi rất nhiều tổ chức vì nó đã giải quyết được rất nhiều
Trang 2khía cạnh người phát triển, và được xem như là thế hệ phát triển tiếp theo trong lĩnh vực công nghệ phần mềm
Ở một góc độ khác, trong thời buổi hội nhập kinh tế thế giới hiện nay, các công ty, tổ chức cạnh tranh nhau khốc liệt nhằm giành chỗ đứng trên thị trường, để khẳng định thương hiệu của mình bằng cách cung cấp các sản phẩm có chất lượng tốt hơn với giá cả rẻ hơn đối thủ Để thực hiện điều đó không có cách nào khác là phải ứng dụng công nghệ mới vào quy trình sản xuất kinh doanh của mình, làm tăng năng suất sản phẩm, giảm thiểu sức lao động của con người Tất
cả những điều nêu trên là động lực thúc đẩy tôi lựa chọn đề tài nghiên cứu “Sinh mã tự động trong phát triển phần mềm hướng mô hình”
Luận văn được cấu trúc như sau:
Chương 1: Tổng quan về công nghệ phát triển hướng mô hình (MDD/MDE) nói chung và công nghệ phát triển phần mềm hướng mô hình nói riêng (MDSD/MDSE)
Chương 2: Tập trung vào khảo sát khả năng sinh mã tự động (Code Generation) khi chuyển đổi giữa các mô hình trong phát triển phần mềm hướng mô hình
Chương 3: Giới hạn phạm vi nghiên cứu qua việc phân tích công nghệ phát triển ứng dụng Web hướng mô hình (MDWD/MDWE) nói chung, đi sâu vào nghiên cứu khả năng sinh mã tự động với công nghệ Web hướng mô hình dựa trên UML (UWE) nói riêng, trong đó tập trung vào công
cụ UWE4JSF
Chương 4: Thực nghiệm với UWE4JSF bằng cách xây dựng một ứng dụng đơn giản nhằm đánh giá khả năng sinh mã của công cụ này
References
Tiếng Anh:
1 Ali F., Stephane S.S., Timothy C.L (2012), “A Meta-Model for Model-Driven Web
Development”, Int J Software Informatics, Vol 6, No 2, pp 125-162
2 Alexander K., Nora K., Flavia M., Gefei Z (2003), “ArgoUWE: A CASE Tool for Web
Applications”, EMSISE’03
3 Andreas K (2007), Model Driven Software Engineering for Web Applications,
Dissertation, Ludwig-Maximilians-Universität München, Germany
4 AnneKe K., Jos W., Wim B (2003), MDA Explained: The Model Driven Architecture:
Practice and Promise, Addison Wesley, United States
5 Benjamin K (2007), Xpand: A Closer Look at the model2text Transformation Language,
University of Karlsruhe, Germany
6 Bill K., Yannis Z (2008), Engineering Service Oriented Systems: A Model Driven
Approach, IGI Global
7 Christian K., Nora K (2008), UWE Metamodel and Profile: User Guide and Reference,
Ludwig-Maximilians-Universität München (LMU), Germany
8 Christian K., Nora K., Alexander K (2009), “UWE4JSF: A Model-Driven Generation
Approach for Web Applications”, In Proc 9th Int Conf Web Engineering (ICWE'09),
LNCS, Vol 5648, pp 493-496
9 Ian G (2011), Essential Software Architecture: Second Edition, Springer, New York
10 Jean P.B., Mireille B.F., Joel C., Sylvain R., Antonio S (2010), Model-Driven
Engineering for Distributed Real-Time Systems: MARTE Modeling, Model Transformations and their Usages, ISTE Ltd and John Wiley & Sons Inc, Great Britain
and the United States
11 Markus V (2003), “A Catalog of Patterns for Program Generation”, EuroPloP2003
Trang 312 Markus V., Andreas G (2001), “Jenerator - Generative Programming for Java”,
OOPSLA2001
13 Martin H., Zuzana K (2009), “Taking Advantage of Web 2.0 in Organized Education (A
Survey)”, ICL 2009 Proceedings, pp 741-752
14 Nora K., Alexander K., Geifei Z., Hubert B (2008), “UML-BASED WEB
ENGINEERING: An Approach Based on Standards”, Web Engineering: Modelling and
Implementing Web Applications, Chapter 7, pp 156-191
15 Sndhya P., Ashok K., Ravi B.M (2013), “MVC ARCHITECTURE DRIVEN DESIGN AND AGILE IMPLEMENTATION OF A WEB-BASED SOFTWARE SYSTEM”,
International Journal of Software Engineering & Applications (IJSEA), Vol 4, No 6
Tiếng Đức:
16 Bahruz M (2009), Analyse-Patterns zur Modellierung und Generierung von
Web-Systeme mit UWE, Diploma Thesis, Ludwig-Maximilians-Universität München (LMU),
Germany
17 Christian K (2008), Modellbasierte Generierung von Web-Anwendungen mit UWE
Diploma Thesis, Ludwig-Maximilians-Universität München (LMU), Germany
Các liên kết khác:
18 http://www.omg.org/mda/mda_files/ArcStyler5_Whitepaper_220205.pdf