- 38 - MỘT SỐVẤNĐỀ VỀ PHÁTTRIỂNPHẦNMỀMHƯỚNGMÔHÌNH Đào Bảo Ngọc - MSV: 0220227 Cán bộ hướng dẫn: ThS. Đặng Đức Hạnh Đào Thanh Tuấn - MSV: 0220357 Trịnh Xuân Sơn - MSV: 0220277 Email: ngocdbcn@gmail.com 1. Giới thiệu Pháttriểnphầnmềmhướngmôhình - MDD ngày càng giành được nhiếu sự quan tâm của cộng đồng nghiên cứu cũng như giới công nghiệp. Nội dung khóa luận đi vào tìm hiểu MDD và các vấnđề của nó. Hiện nay, các kết quả đạt được của MDD chủ yếu dựa trên kiến trúc phầnmềmhướngmôhình – MDA Tuy nhiên, trong quá trình chuyển đổi môhìnhvẫn còn một sốvấnđề tồn tại. Để giải quyết những vấnđề này, trong khung làm việc chuyển đổi mô hình, chúng em tập trung vào hai kỹ thuật chính là áp dụng ngôn ngữ chuyển đổi môhình và áp dụng mẫu thiết kế. Bài toán chuyển đổi môhình lớp sang môhình quan hệ được chọn minh họa cho ngôn ngữ chuyển đổi môhình và bài toán CIN, COUT được chọn minh họa cho mẫu thiết kế. Đồng thời, chúng em cũng chọn bài toán quản lý thư viện sách để áp dụng những bài toán tổng quát trên. 2. Phát triểnphầnmềmhướngmôhìnhPháttriểnphầnmềm truyền thống ngày càng phải đối mặt với nhiều khó khăn như vấnđề quy trình phát triển, vấnđề tính khả chuyển, vấnđề tính liên tác hay vấnđề làm tài liệu và bảo trì. Chính vì vậy, một xu hướngpháttriểnphầnmềm mới nhằm khắc phục những khó khăn này là pháttriểnphầnmềmhướngmôhình – MDD. Chương này chúng em trình bày một sốvấnđề tổng quan về MDD và tập trung một hiện thực hóa của MDD là kiến trúc phầnmềmhướngmôhình – MDA. Khung làm việc MDA dựa trên nền tảng các chuẩn UML, MOF, XMI và xoay quanh các ý tưởng chính là môhình độc lập nền – PIM, môhình cụ thể nền – PSM và sự chuyển đổi giữa chúng. Có thể nói, pháttriểnphầnmềmhướngmôhình nói chung và kiến trúc phầnmềmhướngmôhình nói riêng hứa hẹn một bước tiến mới trong pháttriểnphần mề m giúp quá trình pháttriển tập trung nhiều hơn vào mô hình, nâng cao chất lượng sản phẩm và năng suất làm việc. 3. Vấnđề chuyển đổi môhình Chuyển đổi môhình là trái tim của kỹ nghệ phầnmềmhướngmô hình. Một ví dụ điển hình là các môhình ở mức trừu tượng cao được chuyển đổi sang các môhình cụ thể gần với nền phát triển. Tuy nhiên, còn có rất các dạng chuyển đổi khác được áp dụng trong quá trình pháttriểnphầnmềm theo hướngmô hình. Trong chương này chúng em đưa ra một cái nhìn tổng quan về chuyển đổi môhình và một sự phân loại các hướ ng tiếp cận trong chuyển đổi môhình hiện nay mà chúng em cho là phù hợp. Đồng thời chúng em cũng đi sâu vào sự chuyển đổi môhình trong MDA – một cách tiếp cận hướngmôhình đang dành được nhiều sự quan tâm hiện nay 4. Vấnđề biểu diễn mẫu thiết kế Mẫu thiết kế là một định dạng chung của các thiết kế có thể tái sử dụng. Một mẫu thiết kế mô tả họ các giải pháp cho một lớp của các vầnđề thiết kế lặp lại. Tuy nhiên, các thông tin không tổng quát của các giải pháp mẫu mô tả làm hạn chế khả - 39 - năng sử dụng mẫu, như là việc ứng dụng mẫu vào sự pháttriển các công cụ hỗ trợ cách sử dụng mẫu thiết kế trong pháttriểnphần mềm. Trong đó có một hướng đi mới trong phát triểnphầnmềm đó là pháttriểnphầnmềmhướngmôhình yêu cầu một sự đặc tả chính xác mẫu thiết kế. Trong chương này, chúng ta sẽ khảo sát sơ bộ các phương pháp biểu diễn mẫu theo hai hướng chủ yếu là mô tả mẫu theo nguyên mẫu và đặc tả mẫu theo hướng tự động hóa bằng ngôn ngữ RBML 5. Ngôn ngữ chuyển đổi môhình MTL Để hiện thực hóa quy trình phát triểnphầnmềm hướng mô hình, các công cụ pháttriển phải hỗ trợ tự động hóa sự chuyển đổi mô hình. Các công cụ này không chỉ cần phải cung cấp khả năng áp dụng những sự chuyển đổi được định nghĩa trước mà còn phải cung cấp một ngôn ngữ cho phép người dùng định nghĩa sự chuyển đổi môhình và thực thi chúng theo các yêu cầu riêng. Nói cách khác, những cài đặt cho ngôn ngữ chuyển đổi không chỉ hỗ trợ phát triểnphầnmềm hướng môhình mà còn phải nâng cao năng suất và chất lượng của sự phát triển. Trong chương này, chúng em sẽ tìm hiểu những yêu cầu của ngôn ngữ chuyển đổi môhình nói chung và đi sâu vào ngôn ngữ MTL nói riêng. Đồng thời, chúng em cũng áp dụng MTL vào bài toán chuyển đổi môhình lược đồ lớp sang môhình quan hệ. 6. Lập trình thực nghiệm Trên cơ sở lý thuyết của các chương trước,. trong chương này chúng em tiến hành thực nghiệm áp dụng ngôn ngữ chuyển đổi và mẫu thiết kế trong quá trình chuyển đổi môhình cho bài toán “Quản lý thư viện sách trẻ em”. Đồng thời, chúng em cũng tìm hiểu và vận dụng các công cụ, đọc hiểu mã nguồn để áp dụng cho bài toán thực nghiệm. Đây là những kỹ năng cần thiết của cử nhân Công nghệ thông tin 7. Kết luận Trong khóa luận chúng em đã trình bày một hướngpháttriểnphầnmềm mới – phát triểnphầnmềm hướng mô hình. Chúng em đã tìm hiểu và nắm bắt được các công nghệ liên quan như công nghệ hướng đối tượng với ngôn ngữ UML, metamodel, …; mẫu thiết kế hay các phương pháp pháttriểnphầnmềmhướngmô hình. Chúng em cũng vận dụng được các kỹ thuật này vào các hệ thống phầnmềm cụ thể. Qua quá trình thực nghiệm, chúng em đã nâng cao được các kỹ năng cần thiết của cử nhân Công nghệ thông tin. Tài liệu tham khảo [1] Anneke Kleppe, Jos Warmer, Wim Bast MDA Explained: The Model Driven Architecture: Practice and Promise [2] Cockburn, Alistair. Agile Software Development. Boston: Addison-Wesley, 2002 [3] Object Management Group Model Driven Architecture (MDA)., MDA Guide V1.0.1 omg/03-06-01 http://www.omg.org/cgi- bin/apps/doc?omg/03-06-01.pdf [4] Object Management Group, Inc: Model Driven Architecture http://www.omg.org/mda/ [5] Object Management Group, Inc: MOF 2.0 Query/Views/Transformations RFP http://www.om.org/cgi-bin/doc?ad/02- 04-10, 2002 [6] Sami Beydeda. Matthias Book, Volker Gruhn (Eds.) Model-Driven Software Development 2005 [7] Xabier Larrucea, Ana Belen García Díez, Jason Xabier Mansell Practical Model Driven Development process . 2. Phát triển phần mềm hướng mô hình Phát triển phần mềm truyền thống ngày càng phải đối mặt với nhiều khó khăn như vấn đề quy trình phát triển, vấn đề. thể nói, phát triển phần mềm hướng mô hình nói chung và kiến trúc phần mềm hướng mô hình nói riêng hứa hẹn một bước tiến mới trong phát triển phần mề m