Quy trình phát triển phần mềm MDA

33 680 3
Quy trình phát triển phần mềm MDA

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài thảo luận Quy trình phát triển phần mềm MDA Bước phát triển tiếp theo của World Wide Web là Semantic Web, nó sẽ cho phép các dữ liệu mà máy có thể hiểu được chia sẻ trên mạng Internet. Semantic Web sẽ được trang bị bởi siêu dữ liệu, mô tả bởi các ontology. Ontology là một trong những khái niệm quan trọng nhất trong biểu diễn tri thức. Nó có thể được định nghĩa là một sự khái niệm hóa hình thức được chia sẻ của một domain cụ thể. Semantic Web và các ngôn ngữ dựa trên nền tảng XML của nó là các hướng chính của sự phát triển web trong tương lai. Các domain ontology là phần quan trọng nhất của ứng dụng Web ngữ nghĩa. Để khắc phục sự cách biệt giữa người phát triển phần mềm và các kỹ thuật trí tuệ nhân tạo (AI), một số đề xuất đã được đưa ra cho việc sử dụng UML trong phát triển ontology. Nhưng, bản thân UML không đáp ứng được nhu cầu của việc biểu diễn các khái niệm ontology được lấy từ Descriptive Logic, và các khái niệm đã được bao gồm trong các ngôn ngữ ontology Semantic Web (ví dụ như RDF, RDF Schema, OWL, v.v.). Trong lịch sử công nghệ phần mềm, việc sử dụng các mô hình và mức độ trừu tượng trong các mô hình đã có một sự gia tăng đáng kể. Việc mô hình hóa đã bị tách biệt khỏi các platform phát triển và triển khai bên dưới, làm tăng tính tái sử dụng và dễ dàng hơn để tạo và sửa đổi bởi các domain expert, và đòi hỏi ít kiến thức hơn về các hệ thống triển khai cụ thể. Xu hướng này làm cho việc mô hình hóa phần mềm gần với công nghệ tri thức hơn. Giai đoạn hiện tại của quá trình tiến triển này là Model Driven Architecture (MDA). Trong thời gian gần đây, nhiều tổ chức đã bắt đầu tập trung chú ý vào MDA như là một cách tiếp cận để thiết kế và triển khai các ứng dụng. Đây là một sự phát triển rất tích cực vì nhiều lý do. MDA khuyến khích sử dụng hiệu quả các mô hình hệ thống trong quá trình phát triển phần mềm, và nó hỗ trợ tái sử dụng các thực tiễn tốt nhất khi tạo ra các họ của các hệ thống. Như được định nghĩa bởi Object Management Group (OMG), MDA là một cách để tổ chức và quản lý các kiến trúc enterprise được hỗ trợ bởi các công cụ tự động và các dịch vụ cho cả hai quá trình xác định các mô hình và tạo điều kiện thuận lợi cho việc chuyển đổi giữa các loại mô hình khác nhau.  

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ BÁO CÁO BÀI TẬP LỚN Chủ đề 15: Quy trình phát triển phần mềm MDA (Model-Driven Architecture) HÀ NỘI – 2015HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ BÁO CÁO BÀI TẬP LỚN Chủ đề 15: Quy trình phát triển phần mềm MDA (Model-Driven Architecture) Giảng viên : Bùi Thị Hồng Nhung HÀ NỘI – 2015 THÔNG TIN CHUNG Chủ đề 15: Quy trình phát triển phần mềm MDA(Model-Driven Architecture) Nhóm sinh viên: Họ tên Mã SV Nguyễn Thị Hồng 15A4040041 Bùi Thị Thanh Hương 15A4040047 Hà Thị Ngoan 15A4040068 Hoàng Văn Quốc 15A4040083 Bùi Văn Tính 15A4040106 MỤC LỤC MỞ ĐẦU Bước phát triển World Wide Web Semantic Web, cho phép liệu mà máy hiểu chia sẻ mạng Internet Semantic Web trang bị siêu liệu, mô tả ontology Ontology khái niệm quan trọng biểu diễn tri thức Nó định nghĩa khái niệm hóa hình thức chia sẻ domain cụ thể Semantic Web ngôn ngữ dựa tảng XML hướng phát triển web tương lai Các domain ontology phần quan trọng ứng dụng Web ngữ nghĩa Để khắc phục cách biệt người phát triển phần mềm kỹ thuật trí tuệ nhân tạo (AI), số đề xuất đưa cho việc sử dụng UML phát triển ontology Nhưng, thân UML không đáp ứng nhu cầu việc biểu diễn khái niệm ontology lấy từ Descriptive Logic, khái niệm bao gồm ngôn ngữ ontology Semantic Web (ví dụ RDF, RDF Schema, OWL, v.v.) Trong lịch sử công nghệ phần mềm, việc sử dụng mô hình mức độ trừu tượng mô hình có gia tăng đáng kể Việc mô hình hóa bị tách biệt khỏi platform phát triển triển khai bên dưới, làm tăng tính tái sử dụng dễ dàng để tạo sửa đổi domain expert, đòi hỏi kiến thức hệ thống triển khai cụ thể Xu hướng làm cho việc mô hình hóa phần mềm gần với công nghệ tri thức Giai đoạn trình tiến triển Model Driven Architecture (MDA) Trong thời gian gần đây, nhiều tổ chức bắt đầu tập trung ý vào MDA cách tiếp cận để thiết kế triển khai ứng dụng Đây phát triển tích cực nhiều lý MDA khuyến khích sử dụng hiệu mô hình hệ thống trình phát triển phần mềm, hỗ trợ tái sử dụng thực tiễn tốt tạo họ hệ thống Như định nghĩa Object Management Group (OMG), MDA cách để tổ chức quản lý kiến trúc enterprise hỗ trợ công cụ tự động dịch vụ cho hai trình xác định mô hình tạo điều kiện thuận lợi cho việc chuyển đổi loại mô hình khác Tổng quan MDA 1.1 Khái niệm MDA MDA (Model Driven Architecture) hướng tiếp cận việc phát triển hệ thống phần mềm Nó tách biệt đặc tả chức hệ thống khỏi đặc tả việc thực chức platform cụ thể thông qua khái niệm mô hình MDA cung cấp cách tiếp cận mở trung lập với nhà cung cấp dịch vụ cho thay đổi nghiệp vụ công nghệ Dựa chuẩn thiết lập, MDA tách biệt luận lý nghiệp vụ ứng dụng khỏi công nghệ platform bên Các mô hình độc lập platform ứng dụng hay chức hành vi nghiệp vụ hệ thống tích hợp, xây dựng cách sử dụng UML chuẩn lập mô hình có liên quan khác, thực thông qua MDA platform nào, platform mở có quyền, bao gồm Web Services, NET, CORBA®, J2EE,… Những mô hình độc lập platform tách biệt việc lập tài liệu chức hành vi nghiệp vụ ứng dụng khỏi code thực chúng, cô lập lõi (core) ứng dụng khỏi công nghệ chu kỳ phát triển không ngừng nó, cho phép tính cộng tác phần platform xuyên platform Không ràng buộc lẫn nhau, mặt công nghệ nghiệp vụ ứng dụng hệ thống tích hợp phát triển theo nhịp độ riêng – luận lý nghiệp vụ tương ứng với nhu cầu nghiệp vụ, công nghệ tận dụng phát triển nghiệp vụ yêu cầu 1.2 Sơ lược thành phần MDA Chu kỳ phát triển MDA (như hình 1-2) không khác chu kỳ phát triển phần mềm truyền thống Chúng có số pha Một điểm phân biệt nằm chất artifact tạo suốt trình phát triển phần mềm Các artifact mô hình hình thức (formal model), tức mô hình hiểu máy tính Dưới ba mô hình cốt lõi MDA 1.2.1 PIM (Platform Independent Model) PIM nhìn hệ thống quan điểm độc lập platform Một PIM thể mức độc lập platform cụ thể để sử dụng với tập platform khác thuộc loại tương tự Một PIM mô tả hệ thống phần mềm hỗ trợ số nghiệp vụ Trong PIM, hệ thống mô hình từ quan điểm làm để hệ thống hỗ trợ tốt cho doanh nghiệp nghiệp vụ Những yếu tố hệ thống thực mainframe với sở liệu quan hệ hay server ứng dụng EJB không đóng vai trò PIM 1.2.2 PSM (Platform Specified Model) PSM khái niệm hệ thống quan điểm platform cụ thể Một PSM kết hợp đặc tả PIM với chi tiết xác định làm cách để hệ thống sử dụng platform cụ thể Một PSM xác định hệ thống dạng cấu trúc thực mà có sẵn công nghệ thực cụ thể Ví dụ: Một EJB PSM mô hình hệ thống dạng cấu trúc EJB Nó thường chứa thuật ngữ EJB là: "home interface", "entity bean", "session bean" …Một PSM sở liệu quan hệ bao gồm thuật ngữ như: "table", "column", "foreign key"… Rõ ràng PSM có ý nghĩa với nhà phát triển có kiến thức platform cụ thể Một PIM chuyển thành nhiều PSM Với platform công nghệ cụ thể, PSM riêng biệt tạo Hầu hết hệ thống ngày sử dụng nhiều công nghệ, thường có nhiều PSM cho PIM 1.2.3 Code Bước cuối phát triển phần mềm chuyển PSM sang code Bởi mức PSM công nghệ chọn cụ thể, việc chuyển đổi tương đối dễ dàng Tóm lại, MDA định nghĩa PIM, PSM, code mối quan hệ chúng Một PIM phải tạo ra, sau chuyển thành nhiều PSM, sau chuyển thành code Bước phức tạp chu trình phát triển MDA bước chuyển PIM thành nhiều PSM Sự gia tăng mức độ trừu tượng: PIM, PSM, code artifact bước khác chu trình phát triển phần mềm Quan trọng chúng thể mức trừu tượng khác đặc tả hệ thống Khả chuyển đổi PIM mức cao vào PSM làm tăng mức độ trừu tượng mà nhà phát triển làm việc Điều cho phép nhà phát triển đương đầu với hệ thống phức tạp mà cần nỗ lực 1.2.4 Các bước chuyển đổi tự động Chu trình MDA giống phát triển truyền thống Tuy nhiên, có khác Theo truyền thống, chuyển đổi từ mô hình sang mô hình từ mô hình sang code chủ yếu làm tay Cũng có công cụ tạo số mẫu code từ mô hình, thường không làm tạo số đoạn code mẫu, hầu hết công việc phải thực tay Ngược lại, chuyển đổi MDA thực nhờ công cụ tự động hình 1-3 Không có có công cụ chuyển từ PSM qua code Với thực tế PSM gần với code, chuyển thú vị Cái MDA chuyển đổi từ PIM qua PSM làm tự động Đây rõ ràng lợi ích mà MDA mang đến Sẽ tốn nỗ lực dự án bạn để thực công việc khó nhọc xây dựng mô hình sở liệu từ thiết kế mức cao? Sẽ tốn thời gian quý báu để xây dựng mô hình thành phần COM, mô hình thành phần EJB từ thiết kế Đó lợi ích thiết thực mà MDA đem lại: gánh nặng công việc nhà làm IT giải phóng nhờ vào tự động công việc họ Hiện nay, khái niệm MDA công cụ chưa đủ hoàn chỉnh để chuyển từ PIM sang PSM từ PSM sang code 100%.Các nhà phát triển cần phải tăng cường tay mô hình PSM code chuyển đổi Tuy nhiên, công cụ tạo ứng dụng chạy từ PIM với chức bản, tạo thay đổi đối tượng hệ thống Kiến trúc MDA MDA bao gồm kiến trúc metamodeling bốn tầng: tầng meta-metamodel (M3), tầng metamodel (M2), tầng model (M1), tầng instance (M0) Ngoài ra, mô hình MDA có liên quan đến nhiều tiêu chuẩn, bao gồm Unified Modeling Language (UML), MetaObject Facility (MOF), XML Metadata Interchange (XMI), Enterprise Distributed Object Computing (EDOC), Software Process Engineering Metamodel (SPEM), Common Warehouse Metamodel (CWM) Lưu ý thuật ngữ “kiến trúc” MDA kiến trúc hệ thống mô hình hóa, mà kiến trúc tiêu chuẩn hình thức mô hình khác nhau, tảng công nghệ cho MDA Kiến trúc MDA dựa nguyên lý sử dụng ngôn ngữ mô hình hóa để mô tả hệ thống cấp độ khác nhau: mô hình độc lập tính toán (CIM) biểu diễn môi trường yêu cầu hệ thống, mô hình độc lập platform (PIM) mô tả kiến trúc hệ thống theo cách thức trung lập với công nghệ, mô hình platform cụ thể (PSM) mở rộng PIM với đặc tả chi tiết việc mô hình triển khai platform (một 10 khác Điều ngược lại làm cho mark tương ứng có tính sử dụng lại cho ánh xạ tương ứng khác Hình 1-9 minh họa khái niệm Hình 1-10 minh họa cho khái niệm: đánh dấu mô hình cho ánh xạ khác dẫn đến PSM khác 19 Mô hình nguồn cho ánh xạ PIM tương ứng đến platform đích A B Những mark không làm ảnh hưởng đến PIM, điều giúp cho phép PIM ánh xạ nhiều lần thành hai PSM khác Tóm tắt thành phần MDA Framework Các thành phần MDA framework: mô hình, PIM, PSM, ngôn ngữ, chuyển đổi, định nghĩa chuyển đổi công cụ (tool) thực chuyển đổi Các thành phần kết hợp với tạo nên MDA framework hình 1-11 Mặc dù hầu hết thuật ngữ định nghĩa phần trước, ta tóm tắt lại thành phần vai trò chúng sau: • Mô hình: mô hình đặc tả hệ thống theo góc nhìn (không gian, thời gian, tĩnh, động…) - PIM: PIM mô hình độc lập với platform, mô tả hệ thống mà không chứa thông tin platform thực cuối 20 - PSM: PSM mô hình xác định platform, mô tả hệ thống với đầy đủ thông tin platform thực cuối • Một mô hình viết ngôn ngữ định nghĩa tốt • Một định nghĩa chuyển đổi mô tả cách để chuyển đổi mô hình ngôn ngữ nguồn sang mô hình ngôn ngữ đích Một công cụ (tool) chuyển đổi thực chuyển đổi cho mô hình nguồn xác định theo định nghĩa chuyển đổi Từ góc nhìn nhà phát triển, PIM PSM thành phần quan trọng Một nhà phát triển tập trung vào phát triển PIM, mô tả hệ thống phần mềm mức trừu tượng cao Tiếp đến, người chọn một vài công cụ thực việc chuyển đổi PIM theo định nghĩa chuyển đổi cụ thể xác định Kết sinh PSM, sau chuyển sang code Trong hình vẽ PSM, thường từ PIM sinh nhiều PSM cầu nối tiềm PSM Hình mô tả chuyển đổi từ PIM sang PSM, phải có thêm trình chuyển từ PSM sang code Có hai nguyên nhân khiến siêu mô hình quan trọng MDA Thứ nhất, cần chế để định nghĩa ngôn ngữ lập mô hình, định nghĩa không mơ hồ Các công cụ chuyển đổi đọc, viết, hiểu mô hình định nghĩa Trong MDA, định nghĩa ngôn ngữ thông qua siêu mô hình Thứ hai, định nghĩa chuyển đổi bao gồm luật chuyển đổi mô tả cách chuyển đổi mô hình ngôn ngữ nguồn sang mô hình ngôn ngữ đích Ở muốn nhấn 21 mạnh để hiểu tạo định nghĩa chuyển đổi, cần hiểu siêu mô hình ngôn ngữ nguồn đích Hình 1-12 MDA framework đầy đủ mức siêu mô hình Một nửa phía hình giống với hình 1-11 MDA framework Nửa mà nhà phát triển thấy cuối Nửa phía hình giới thiệu siêu ngôn ngữ để định nghĩa ngôn ngữ Các nhà phát triển cần thấy MDA framework bản, không thêm siêu mức (metalevel) Một nhóm nhỏ nhà phát triển, thường người có kinh nghiệm, định nghĩa ngôn ngữ chuyển đổi ngôn ngữ Với người này, việc hiểu thấu đáo siêu mức MDA framework mở rộng bắt buộc Một điều dĩ nhiên định nghĩa chuyển đổi phải viết ngôn ngữ hoàn toàn xác định (well-defined language) phép công cụ chuyển đổi đọc thực thi chuyển đổi Một ngôn ngữ dùng để viết định nghĩa chuyển đổi gọi ngôn ngữ định nghĩa chuyển đổi (transformation definition language) Với ngôn ngữ đó, ta định nghĩa chuyển đổi dựa siêu mô hình Bởi ta làm việc siêu mức, đó, ngôn ngữ định nghĩa chuyển đổi gọi siêu ngôn ngữ Một MDA framework không đầy đủ thiếu ngôn ngữ 22 định nghĩa chuyển đổi Hình 1-13 MDA framework đầy đủ Nó giống với MDA framework mở rộng giới thiệu hình 1-12, khác có thêm ngôn ngữ định nghĩa chuyển đổi Áp dụng MDA framework Trong phần ta trình bày hai ví dụ nhỏ áp dụng MDA Các ví dụ không đặc tính ưu việt MDA Mục đích trình bày cách áp dụng MDA framework vào trường hợp cụ thể Qua hai ví dụ này, xem xét PIM lập mô hình UML PSM cho Java, viết UML 6.1 Các thuộc tính Public Private Trong ví dụ ta định nghĩa chuyển đổi hai mô hình UML Mô hình nguồn mô hình độc lập platform, chuyển vào mức thấp hơn, mô hình có platform xác định cho Java Trọng tâm chuyển thuộc tính public vào phương thức get- set- tương ứng Một số lớp PIM trình bày hình 1-14 Lớp Customer có ba thuộc tính: title, name, dateOfBirth Tất thuộc tính 23 public Để thuộc tính public mức cao PIM bình thường Ý nghĩa đối tượng có thuộc tính public PIM đối tượng có đặc tính xác định đặc tính thay đổi giá trị theo thời gian Trong PSM, nơi mà lập mô hình source code thay khái niệm nghiệp vụ, việc sử dụng thuộc tính public xem thiết kế tồi Sẽ tốt áp dụng kĩ thuật che dấu thông tin bao đóng thuộc tính public trình bày hình 1-15 Tất thuộc tính private truy xuất đến Customer thông qua phương thức get, set Điều cho phép đối tượng khách hàng có quyền kiểm soát sử dụng hay thay đổi thuộc tính 24 Cả PIM PSM hữu ích cung cấp mức thông tin cho loại nhà phát triển khác stakeholder khác trình phát triển phần mềm Tuy nhiên, có mối quan hệ rõ ràng mô hình Có nhiều luật định nghĩa chuyển đổi để chuyển PIM thành PSM Các luật là: • Mỗi class có tên className PIM có class tương ứng có tên className PSM • Với thuộc tính có tên attributeName : Type class className PIM có thuộc tính phương thức class className mô hình đích (PSM) sau: Một thuộc tính private có tên là: attributeName : Type Một phương thức public có tên tên thuộc tính với “get” đặt trước có kiểu trả kiểu thuộc tính này: getAttributeName() : Type o Một phương thức public có tên tên thuộc tính với “set” đặt trước, có thông số kiểu trả về: setAttributeName(att :Type) Luật chuyển đổi có chiều nghịch, luật chuyển đổi mặt PSM vào PIM, công thức hóa theo hướng ngược lại: o o • Cho class tên className PSM có class tên className PIM • Cho tổ hợp PSM gồm thuộc tính phương thức sau o o o Một thuộc tính private tên attributeName : Type Một phương thức public tên getAttributeName() : Type Một phương thức public tên setAttributeName (att : Type) class className tồn class className tương ứng PIM thuộc tính public attributeName : Type Bởi ví dụ biết ngôn ngữ lập trình đích Java nên ta viết định nghĩa chuyển đổi khác nhằm chuyển đổi PSM thành mã nguồn (source code) Kết hợp tự động hóa chuyển đổi tạo mã nguồn cho phương thức cần thiết, hoàn toàn dẫn xuất từ PIM 6.2 Sự liên kết (Association) lớp Chúng ta mở rộng ví dụ với class liên kết class Trong 1-16, PIM mở rộng với hai class: Order Item Mô hình khách hàng có nhiều đơn đặt hàng đơn đặt hàng có nhiều hàng Trong PSM, sau chuyển đổi thuộc tính public, ta cần phải thay liên kết mà ánh xạ trực tiếp đến ngôn ngữ lập trình Một 25 cách tự nhiên, với ánh xạ cho mối quan hệ kết hợp với bậc lớn một, sử dụng lớp collection Java Các luật chuyển đổi thêm là: • Cho liên kết hai chiều PIM, sau có PSM: Đối với đầu liên kết có thuộc tính private có tên với class đầu o Kiểu thuộc tính class bên phía đầu liên kết số liên kết 1; kiểu thuộc tính Set số liên kết lớn o Các thuộc tính có phương thức get set tương ứng (theo luật thuộc tính khác) o • Cho liên kết có hướng, luật áp dụng cho class mà mũi tên từ Sự chuyển đổi kết hợp luật cho thuộc tính public luật cho liên kết cho kết PSM hình 1-17 26 Hình 1-17: Mô hình cụ thể platform mở rộng Nhìn vào PSM trên, ta thấy khác với PIM nhiều so với ví dụ đầu Ngoài ra, liên kết class khó tìm Nếu có PSM, suy luận Order có liên kết với Customer class Order có field customer: Customer Chỉ số liên kết phải Tuy nhiên, xác định liên kết có hướng hay vô hướng Liên kết Order Item hoàn toàn xác định Java, giới hạn kiểu phần tử, ngăn không cho phần tử có kiểu Set Vì vậy, kiểu phần tử Set Order hoàn toàn hợp lệ (không thiết biểu diễn cho kiểu phần tử thuộc đầu liên kết) Và Item không chứa tham chiếu đến Order Do ta thấy định nghĩa chuyển đổi ngược cho định nghĩa chuyển đổi liên kết Lưu ý thiết kế luật chuyển đổi, định viết Trong luật trên, chọn gán phương thức cho thuộc tính có kiểu Set mà phương thức cần Set thông số Điều dẫn đến phương thức setOrders(o : Set) Customer Một cách khác để lựa chọn có phương thức addOrder(o : Order) Điều làm việc thêm vào đơn đặt hàng riêng lẻ trở nên dễ dàng Quyền chọn lựa làm theo cách chuyển đổi người (người cung cấp công cụ) định Thông thường họ muốn có điều khiển tường minh chuyển đổi, ví dụ khai báo liên kết xác định cần chuyển đổi thành thuộc tính có kiểu HashSet thay Set, liên kết xác định cần hai phương thức setOrders() addOrder() Chúng ta gọi điều điều chỉnh luật chuyển đổi 27 Các công cụ hỗ trợ MDA 7.1 openMDX openMDX framework ứng dụng để xây dựng tầng trừu tượng application-logic platform bên (như J2EE, CORBA, NET) Tầng trừu tượng thực chuẩn MDA OMG JMI, MOF, XMI Các mô hình ứng dụng lập mô hình dạng mô hình theo MOF Các mô hình ánh xạ vào Java interface (áp dụng ánh xạ JMI), lưu trữ kho MOF (MOF repository) nhờ truy xuất application openMDX framework, mô hình ánh xạ vào XMI để công cụ khác hỗ trợ đọc XMI đọc mô hình Bên cạnh chuẩn MDA, openMDX thực chuẩn khác Java Data Object (JDO), version tăng cường cho quản lý đối tượng phân bố Hình 1-18 nhìn tổng quan kiến trúc MDA openMDX có ảnh hưởng lớn công nghiệp phần mềm Thay phải viết hàng ngàn, hàng triệu dòng code cho phần mềm, openMDX cho phép thông dịch thực thi mô hình trực tiếp Có thể có ý kiến cho openMDX định nghĩa platform khác platform có, cách cố gắng để giải vấn đề J2EE, CORBA, NET cố gắng giải Điều trả lời sau: 28 • openMDX tầng platform J2EE, CORBA, NET cung cấp tầng trừu tượng PIM cho ứng dụng Các logic ứng dụng thực theo PIM API thay theo API xác định platform cụ thể J2EE, CORBA, hay NET Điều cải thiện tính khả chuyển logic ứng dụng • Các logic ứng dụng thực dạng lớp Java chuẩn (gọi plugin) không chứa interface có platform xác định (EJBHome, EJBRemote ) Kết logic ứng dụng có tính khả chuyển đổi Bởi openMDX dựa framework, plugin triển khai mà không cần tạo code platform hỗ trợ • openMDX hỗ trợ lượng lớn kịch triển khai Một ứng dụng cấu tạo nhiều plugin triển khai trình đơn lẻ hệ thống phân bố mà thay đổi hay tạo dòng code • Việc sử dụng lại mô hình plugin có cho phép phát triển nhanh ứng dụng • Không giống hầu hết công cụ MDA khác, openMDX không yêu cầu mở rộng mô hình ứng dụng vượt khỏi chuẩn MOF Các mô hình không cần gán thẻ hay cụ thể thuộc tính có platform xác định hay thành phần xác định Điều làm cho trình lập mô hình đơn giản so với công cụ hỗ trợ MDA khác điều quan trọng làm cho mô hình có tính khả chuyển tính sử dụng lại thật openMDX: Một MDA framework openMDX thực chuẩn MDA OMG Khác với hầu hết thực MDA có, openMDX dựa framework KHÔNG thực ánh xạ từ PIM sang PSM openMDX gồm language object, PIM platform lại với • Language Object (Đối tượng ngôn ngữ): Các nhà lập trình thiết kế thực logic ứng dụng giống cách mà họ dùng để thực ứng dụng chuẩn, không phân bố Sự triển khai ứng dụng công việc tách biệt, tách hoàn toàn khỏi thực Các interface language object mô tả dạng mô hình MOF Các language object gom nhóm lại thành plugin (được thấy lightweight component) • PIM: Các interface language object (và plugin) mô tả dạng mô hình MOF, độc lập với platform Quá trình lập mô hình không yêu cầu mô hình thành phần hay định nghĩa đánh nhãn platform cụ thể Quá trình ánh xạ từ PIM sang PSM thực openMDX framework cấu hình triển khai Các mô hình mô tả đối tượng nghiệp vụ 29 • Platform: openMDX đối tượng platform chung, phân bố, tách khỏi platform cụ thể J2EE, CORBA, WebService Tầng trừu tượng đáp ứng PIM plugin Một điều cần ý openMDX thay cho platform có Ở đơn giản đưa thêm tầng trừu tượng platform Ta nghĩ interface thực đối tượng platform phân bố, độc lập với platform cụ thể phức tạp Tuy nhiên, kết hợp khái niệm chuẩn JDO JMI cho phép định platform với số interface: Object_1_0, Object_Factory_1_0, Container (dẫn xuất từ Collection), UnitOfWork_1_0 FilterProperty Những nguyên tắc thể hình 1-19 7.2 Giới thiệu Rational XDE Môi trường phát triển mở rộng Rational (Rational eXtended Development Enviroment, viết tắt Ration XDE), kết hợp việc thiết kế phát triển Java môi trường tích hợp chặt chẽ Websphere Studio Workbench IBM Rational XDE cho phép bạn làm việc môi trường Java mà chuyển qua lại công cụ môi trường Rational XDE công cụ mạnh mẽ cho việc thiết kế, trao đổi thông tin lập tài liệu chu kỳ phát triển project, đồng thời tích hợp với platform phát triển để tạo ứng dụng hệ thống Cho dù nhà phát triển làm việc quy trình phát triển có kết cấu chặt chẽ, sử dụng mô hình bền vững, tồn thời gian dài (có tính sử dụng lại cao), lập trình viên sử dụng mô hình đơn giản mô hình dùng dự án, XDE với khả đa dạng có tính 30 mở rộng cao trở thành phần thiếu công cụ phát triển người Cùng với tập đặc tính đa dạng Rational XDE, cải tiến cách làm việc để tạo sản phẩm Nó giúp: • Làm việc hiệu hơn: cách cho phép định nghĩa dạng thức, kiểu mẫu riêng Các dạng thức tự động hóa kiến trúc thiết kế kiểm chứng có kèm theo chỉnh sửa cho phù hợp Nó định nghĩa code templates model template để tiết kiệm thời gian giúp định chuẩn Ta sử dụng lại giải pháp code việc chia sẻ các pattern thiết kế nhóm làm việc cộng đồng • Mô hình hóa (visualize) tất loại thông tin: sử dụng UML (Unified Modeling Language) mô hình dạng tự (free-form models: mô hình dùng stereotype tag value tổ chức người dùng định nghĩa) • Tạo code có chất lượng tốt hơn: cách hỗ trợ việc kiểm chứng tính hợp lệ mô hình theo UML theo ngôn ngữ lập trình xác định Ta đồng hóa mô hình code tay tự động • Làm việc với thành viên nhóm hiệu hơn: công việc giai đoạn phát triển phần mềm: phân tích, thiết kế phát triển code thực môi trường Ta xây dựng nhiều mô hình project mà chúng theo vết lẫn nhau, nghĩa thành phần mô hình tìm thành phần tương ứng với mô hình khác Rational XDE làm việc với tool Rational khác để hỗ trợ quy trình phát triển ứng dụng hệ thống • Chia sẻ thông tin project dễ dàng hơn: việc đóng gói đem đến cho cộng đồng IT tài nguyên (asset) phát triển thiết kế dạng tài nguyên RAS (Reusable Asset Specification, tạm dịch đặc tả tài nguyên sử dụng lại) Ta nén lưu trữ sản phẩm (artifact) tài nguyên để kho RAS cục (local) hay chia sẻ Các cách khác để chia sẻ công việc chép lược đồ vào tài liệu Word tạo bảng báo cáo từ mô hình cách sử dụng hàm Rational XDE Extensibility API (RXE API) • Tạo giải pháp khác để đáp ứng nhu cầu ứng dụng: cách tạo code theo ngôn ngữ mà ta lựa chọn Ta tinh chỉnh việc tạo code để hỗ trợ framework thư viện • Hỗ trợ việc cộng tác với công cụ phát triển khác: cách sử dụng hàm Rational XDE Extensibility API (RXE API) để viết chương trình theo nhiều ngôn 31 ngữ Java, C++, VB, VB.Net, VC++, C#, cho phép công cụ ứng dụng khác sử dụng thông tin mô hình XDE Thực điều cách gọi hàm API công cụ phát triển, MSWord API, ODBC, tạo file trung gian, XML, CVS 32 KẾT LUẬN Nhóm chúng em hoàn thành xong tập lớn chủ đề 15: Quy trình phát triển phần mềm MDA(Model-Driven Architecture) Do hạn chế kiến thức nghiên cứu hoàn thành thời gian ngắn, nên kiến thức MDA chưa hoàn thiện nhiều thiếu sót Chúng em mong nhận ý kiến đóng góp cô bạn để báo cáo thiện Chúng em xin gửi lời cảm ơn tới cô giáo bạn giúp đỡ nhóm hoàn thành báo cáo ! Nhóm nghiên cứu Nhóm 15 33 [...]... cho mỗi LOC, openMDX giảm chi phí phát triển Sun Petstore từ 36000$ xuống 4800$ Sự phát triển hướng mô hình sử dụng công cụ hỗ trợ MDA openMDX có thể giúp giảm chi phí phát triển ít nhất là 10 lần so với sự phát triển phần mềm truyền thống 3.3 Tính cộng tác với các hệ thống khác (Interoperability) Ở các phần trước chúng ta đã thấy chưa hoàn chỉnh bức tranh tổng thể của MDA Như ở hình dưới, nhiều PSM được... trao đổi thông tin và lập tài liệu trong chu kỳ phát triển của project, đồng thời cũng tích hợp với platform phát triển để tạo ra các ứng dụng và hệ thống Cho dù là một nhà phát triển làm việc trong một quy trình phát triển có kết cấu chặt chẽ, sử dụng các mô hình bền vững, có thể tồn tại trong thời gian dài (có tính sử dụng lại cao), hoặc là một lập trình viên sử dụng các mô hình đơn giản hoặc các... công cụ (tool) chuyển đổi thực hiện một sự chuyển đổi cho một mô hình nguồn xác định theo một định nghĩa chuyển đổi Từ góc nhìn của nhà phát triển, PIM và PSM là các thành phần quan trọng nhất Một nhà phát triển tập trung vào sự phát triển một PIM, mô tả hệ thống phần mềm một mức trừu tượng cao Tiếp đến, người đó sẽ chọn một hoặc một vài công cụ có thể thực hiện việc chuyển đổi trên PIM theo một định... Hình 1-12 chỉ ra một MDA framework đầy đủ ở mức siêu mô hình Một nửa phía dưới của hình này giống với hình 1-11 MDA framework cơ bản Nửa này chính là cái mà các nhà phát triển sẽ thấy cuối cùng Nửa phía trên của hình giới thiệu siêu ngôn ngữ để định nghĩa các ngôn ngữ Các nhà phát triển sẽ chỉ cần thấy MDA framework cơ bản, không thêm siêu mức (metalevel) Một nhóm nhỏ các nhà phát triển, thường là những... ngôn ngữ Một MDA framework sẽ không đầy đủ nếu thiếu một ngôn ngữ 22 định nghĩa sự chuyển đổi Hình 1-13 là một MDA framework đầy đủ Nó giống với MDA framework mở rộng giới thiệu ở hình 1-12, chỉ khác là có thêm ngôn ngữ định nghĩa sự chuyển đổi 6 Áp dụng MDA framework Trong phần này ta sẽ trình bày hai ví dụ nhỏ áp dụng MDA Các ví dụ này không chỉ ra đặc tính ưu việt của MDA Mục đích ở đây là trình bày... như trình bày trong hình 1-15 Tất cả các thuộc tính là private và mọi truy xuất đến Customer là thông qua các phương thức get, set Điều này cho phép đối tượng khách hàng có quy n kiểm soát mọi sự sử dụng hay thay đổi các thuộc tính của nó 24 Cả PIM và PSM là rất hữu ích bởi nó cung cấp các mức thông tin cho các loại nhà phát triển khác nhau và các stakeholder khác trong quá trình phát triển phần mềm. .. sự 4 Sơ lược về sự chuyển đổi mô hình 4.1 Định nghĩa về chuyển đổi Quy trình MDA chỉ ra vai trò của các mô hình khác nhau (PIM, PSM và code) trong MDA framework Một công cụ chuyển đổi lấy một PIM chuyển qua PSM, và một công cụ khác (hoặc cùng công cụ đó) chuyển PSM đó sang code Những sự chuyển này là bản chất của quy trình phát triển MDA Các công cụ chuyển đổi được thấy như là một hộp đen, nó lấy một... các thành phần chính của MDA Framework Các thành phần chính của MDA framework: các mô hình, các PIM, PSM, các ngôn ngữ, các sự chuyển đổi, các định nghĩa chuyển đổi và các công cụ (tool) thực hiện sự chuyển đổi đó Các thành phần này kết hợp với nhau tạo nên một MDA framework cơ bản như hình 1-11 Mặc dù hầu hết các thuật ngữ đều đã được định nghĩa ở các phần trước, ta sẽ tóm tắt lại các thành phần và... đổi đó Với những công nghệ và platform sẽ có trong tương lai, công nghệ phần mềm phải thực hiện sự chuyển đổi tương ứng kịp thời Điều này cho phép chúng ta triển khai nhanh các hệ thống mới với công nghệ mới, dựa trên các PIM đã tồn tại 3.2 Hiệu suất (Productivity) Trong MDA, tiêu điểm của các nhà phát triển là hướng vào sự phát triển một PIM Các PSM cũng cần được tạo ra thông qua sự chuyển từ PIM qua... ngữ lập trình xác định Ta cũng có thể đồng bộ hóa mô hình và code bằng tay hoặc tự động • Làm việc với các thành viên trong nhóm hiệu quả hơn: do các công việc của các giai đoạn phát triển phần mềm: phân tích, thiết kế và phát triển code đều thực hiện trong cùng một môi trường Ta cũng có thể xây dựng nhiều mô hình trong cùng một project mà chúng có thể theo vết lẫn nhau, nghĩa là một thành phần trong ... LỚN Chủ đề 15: Quy trình phát triển phần mềm MDA (Model-Driven Architecture) Giảng viên : Bùi Thị Hồng Nhung HÀ NỘI – 2015 THÔNG TIN CHUNG Chủ đề 15: Quy trình phát triển phần mềm MDA( Model-Driven... cầu nghiệp vụ, công nghệ tận dụng phát triển nghiệp vụ yêu cầu 1.2 Sơ lược thành phần MDA Chu kỳ phát triển MDA (như hình 1-2) không khác chu kỳ phát triển phần mềm truyền thống Chúng có số pha... giảm chi phí phát triển Sun Petstore từ 36000$ xuống 4800$ Sự phát triển hướng mô hình sử dụng công cụ hỗ trợ MDA openMDX giúp giảm chi phí phát triển 10 lần so với phát triển phần mềm truyền thống

Ngày đăng: 03/11/2015, 09:53

Mục lục

  • 1.2. Sơ lược các thành phần cơ bản trong MDA

  • 1.2.1. PIM (Platform Independent Model)

  • 1.2.2. PSM (Platform Specified Model)

  • 1.2.4. Các bước chuyển đổi tự động

  • 2. Kiến trúc của MDA

  • 3. Các lợi ích từ MDA

    • 3.1. Tính khả chuyển đổi (Portability)

    • 3.3. Tính cộng tác với các hệ thống khác (Interoperability)

    • 4. Sơ lược về sự chuyển đổi mô hình

      • 4.1. Định nghĩa về chuyển đổi

      • 4.2. Các mô hình đánh dấu

      • 5. Tóm tắt các thành phần chính của MDA Framework

      • 6. Áp dụng MDA framework

        • 6.1. Các thuộc tính Public và Private

        • 6.2. Sự liên kết (Association) giữa các lớp

        • 7.2. Giới thiệu về Rational XDE

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan