Nghiên cứu xây dựng hệ thống ngữ nghĩa hỗ trợ tái sử dụng bảo trì phần mềm

97 16 0
Nghiên cứu  xây dựng hệ thống ngữ nghĩa hỗ trợ tái sử dụng bảo trì phần mềm

Đ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

Nghiên cứu xây dựng hệ thống ngữ nghĩa hỗ trợ tái sử dụng bảo trì phần mềm Nghiên cứu xây dựng hệ thống ngữ nghĩa hỗ trợ tái sử dụng bảo trì phần mềm Nghiên cứu xây dựng hệ thống ngữ nghĩa hỗ trợ tái sử dụng bảo trì phần mềm luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp

TRỊNH TUẤN ĐẠT BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Trịnh Tuấn Đạt CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU & XÂY DỰNG HỆ THỐNG NGỮ NGHĨA HỖ TRỢ TÁI SỬ DỤNG, BẢO TRÌ PHẦN MỀM LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN KHOÁ 2009-2010 Hà Nội – Năm 2010 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Trịnh Tuấn Đạt NGHIÊN CỨU & XÂY DỰNG HỆ THỐNG NGỮ NGHĨA HỖ TRỢ TÁI SỬ DỤNG, BẢO TRÌ PHẦN MỀM Chuyên ngành: Công Nghệ Thông Tin LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC : TS Cao Tuấn Dũng Hà Nội – Năm 2010 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt Mục lục Mục lục Lời cam đoan Danh mục ký hiệu, chữ viết tắt Danh mục bảng Danh mục hình vẽ, đồ thị CHƯƠNG 1: MỞ ĐẦU 11 1.1 Lý chọn đề tài 11 1.2 Lịch sử nghiên cứu 12 1.3 Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu 13 1.4 Tóm tắt đọng luận điểm đóng góp tác giả 14 1.5 Phương pháp nghiên cứu 15 1.6 Bố cục luận văn 15 CHƯƠNG 2: BÀI TỐN BẢO TRÌ, TÁI SỬ DỤNG PHẦN MỀM VÀ HƯỚNG TIẾP CẬN CỦA WEB NGỮ NGHĨA 16 2.1 Bảo trì phần mềm 16 2.1.1 Khái niệm 16 2.1.2 Vai trị bảo trì phần mềm: 17 2.1.3 Hiện trạng hệ thống bảo trì phần mềm có 17 2.2 Tái sử dụng phần mềm 18 2.2.1 Khái niệm 18 2.2.2 Vai trò tái sử dụng phần mềm 18 2.2.3 Hiện trạng tái sử dụng phần mềm 19 Trang Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt 2.3 Xác định hướng tiếp cận cho toán tái sử dụng, bảo trì phần mềm 20 CHƯƠNG 3: TỔNG QUAN VỀ CÁC CÔNG NGHỆ, KỸ THUẬT ĐƯỢC SỬ DỤNG 22 3.1 Công nghệ Web service 23 3.1.1 JAX-WS 23 3.2 Kỹ thuật xây dựng Plug-in cho Eclipse 24 3.3 Kỹ thuật phân tích Java source code 26 3.3.1 Giới thiệu 26 3.3.2 Java model 27 3.3.3 Phân tích Java source code với AST framework 29 3.4 Kỹ thuật phân tích, xử lý thơ tài liệu PDF 30 3.4.1 Giới thiệu 30 3.4.2 Khả phân tích hạn chế Jpedal 30 3.5 Công nghệ xử lý ngôn ngữ tự nhiên (tiếng Anh) với Gate Jape 33 3.6 Các khái niệm quan trọng GATE sử dụng nghiên cứu 33 CHƯƠNG 4: TỔNG QUAN VỀ CÔNG NGHỆ WEB NGỮ NGHĨA 35 4.1 Tổng quan công nghệ Web ngữ nghĩa 35 4.1.1 Khái niệm 35 4.1.2 Nền tảng Web ngữ nghĩa 35 4.1.3 Lợi ích cơng nghệ Web ngữ nghĩa 36 4.2 Ontology 36 4.2.1 Khái niệm 36 4.2.2 Phương pháp xây dựng 38 4.2.3 Ngôn ngữ biểu diễn ontology 41 4.3 Bộ suy diễn ngữ nghĩa Pellet 44 CHƯƠNG 5: XÂY DỰNG ONTOLOGY 45 Trang Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt 5.1 Giới thiệu 45 5.2 Phương pháp thiết kế ontology 46 5.3 Software Engineering Ontology-SEO 47 5.3.1 Cây phân cấp Concepts 47 5.3.2 Các quan hệ SEO 48 5.4 Software Maintenance & Software Reuse Ontology- SMRO 51 5.4.1 Cây phân cấp Concepts 51 5.4.2 Các quan hệ SMRO 52 5.5 Thiết kế hệ thống luật 55 5.5.1 Ví dụ với luật liên quan tới tài liệu phần mềm 56 5.5.2 Tổng hợp số luật quan trọng 58 CHƯƠNG 6: TẠO MỚI, QUẢN LÝ CÁC CHÚ THÍCH NGỮ NGHĨA 60 6.1 Cơ chế quản lý thông qua dịch vụ Web 60 6.2 Tạo thích ngữ nghĩa 60 6.2.1 Tạo thích ngữ nghĩa cho source code 61 6.2.2 Sinh tự động thích ngữ nghĩa mơ tả cấu trúc tài liệu 66 6.2.3 Tạo thích ngữ nghĩa từ thơng tin tài liệu phần mềm 67 6.3 Quản lý thích ngữ nghĩa 70 6.3.1 Mơ hình quản lý 70 6.3.2 Mơ hình quản lý chung cho tất thích ngữ nghĩa 71 6.3.3 Quản lý thích ngữ nghĩa riêng cho artifact phần mềm 72 6.3.4 Quản lý kết nối tài nguyên phần mềm 72 6.4 Tìm kiếm ngữ nghĩa 73 6.4.1 Mơ hình xử lý 73 6.4.2 Mơ hình thiết kế “Query Input” 74 6.4.3 Thuật toán sinh truy vấn SPARQL 75 Trang Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt CHƯƠNG 7: GIỚI THIỆU VỀ HỆ THỐNG ĐÃ ĐƯỢC XÂY DỰNG 77 7.1 Kiến trúc hệ thống 77 7.2 Server 80 7.3 Giới thiệu Plug-in STORES 80 7.3.1 Quản lý tài khoản người dùng 81 7.3.2 Quản lý thích ngữ nghĩa 82 7.3.3 Quản lý tài nguyên phần mềm 84 7.3.4 Hỗ trợ đặc biệt để thêm mới/phân tích lại source code, document 85 7.3.5 Tìm kiếm ngữ nghĩa 86 7.3.6 Báo cáo tình hình dự án 88 CHƯƠNG 8: SO SÁNH VỚI CÁC KẾT QUẢ NGHIÊN CỨU KHÁC TRÊN THẾ GIỚI 89 CHƯƠNG 9: KẾT LUẬN VÀ KIẾN NGHỊ 92 TÀI LIỆU THAM KHẢO 94 Trang Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt Lời cam đoan Tôi-Trịnh Tuấn Đạt –cam kết luận văn tốt nghiệp cơng trình nghiên cứu thân hướng dẫn TS Cao Tuấn Dũng Các kết nêu luận văn trung thực, chép tồn văn cơng trình khác Trang Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt Danh mục ký hiệu, chữ viết tắt Client Máy khách Server Máy chủ Semantic Web Web ngữ nghĩa Software Engineering Công nghệ phần mềm Software Reuse Tái sử dụng phần mềm Software Maintenance Bảo trì phần mềm Software Artefact Các tài nguyên phần mềm: Test, Code, … Metadata Siêu liệu Annotation Chú thích ngữ nghĩa 10 Concept/Class Khái niệm/Lớp Ontology 11 Relation/Property/Slot Quan hệ Ontology 12 Individual/Instance Một thực thể/thể Ontology 13 Query Truy vấn 14 Document, Document Element Tài liệu, thành phần tài liệu 15 Requirement Yêu cầu phần mềm Eclipse Môi trường phát triển phần mềm cho ngơn 16 ngữ lập trình Java 17 Eclipse Plug-in Thành phần tích hợp thêm vào IDE Eclipse 18 JAX WS-Java API for XML Web Framework Web service cho ngôn ngữ lập Trang Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt Services trình Java OWL - Web Ontology Language Ngơn ngữ cho phép xuất chia sẻ 19 liệu sử dụng ontology SWRL-Semantic Web Rule 20 Language SPARQL - SPARQL Protocol and Ngôn ngữ mô tả luật suy diễn Là kết hợp OWL RuleML Ngôn ngữ truy vấn ngữ nghĩa 21 RDF Query Language IDE - Integrated Development 22 Environment Mơi trường phát triển tích hợp, phần mềm giúp lập trình viên việc phát triển phần mềm SEO-Software Engineering 23 Ontology SMRO-Software Maintenance & 24 Reuse Ontology STORES- Semantic Tool for Domain ontology cho phần công nghệ phần mềm Application ontology cho tốn tái sử dụng phần mềm, bảo trì phần mềm Tên hệ thống xây dựng 25 collaborative Java softwaRe maintEnance and reuSe Trang Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt Danh mục bảng Bảng 1: Ý nghĩa concept SMRO 52 Bảng 2: Tổng hợp số luật suy diễn quan trọng 59 Bảng 3: Các yêu cầu quản lý artifact phần mềm 72 Trang Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt • Hỗ trợ đặc biệt để thêm mới/phân tích lại source code, document (4) • Quản lý tài nguyên phần mềm (5) • Báo cáo tình hình dự án (6) Mở STORES perspective với view chức Các menu thêm vào STORES STORES perspective kích hoạt Hình 27: Tổng quan Plug-in STORES 7.3.1 Quản lý tài khoản người dùng Khi bắt đầu dự án phát triển phần mềm mới, người quản trị tạo tài khoản cho thành viên dự án (Loại tài khoản truy vấn lấy từ ontology): Project manager, Developer, Tester, …, tiếp đến tạo thực thể dự án, kết nối thành viên dự án tới thực thể theo quan hệ xây dựng ontology Cần ý Trang 81 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt tạo thành viên mới, cần tạo trước thích ngữ nghĩa, sau tạo tài khoản tương ứng XML database Địa server Chọn số dự án tham gia Danh sách loại thành viên dự án mà admin phải rõ tạo tài khoản Hình 28: Quản lý tài khoản người dùng 7.3.2 Quản lý thích ngữ nghĩa Được cài đặt theo mơ hình trình bày phần trước Đầu vào quản lý thích ngữ nghĩa ln URI-định danh thực thể (còn gọi instance/individual) quan tâm Giao diện chia làm phần thể Hình 29, quan trọng thành phần số 3; mơ hình thiết kế trình bày chương thực cài đặt Trang 82 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt thành phần Danh sách thuộc tính cho thực thể truy vấn từ ontology, với loại thuộc tính: thuộc tính object thuộc tính data Với thuộc tính object, kích hoạt, giá trị (cũng định danh URI thực thể) gọi giao diện khác, hoàn toàn tương tự thành phần giao diện số (3): Danh sách giá trị thuộc tính Thực thể chọn danh sách thực thể (1): Cây Concept phân cấp (Được lấy từ Ontology) (2): Danh sách thực thể thuộc Concept chọn phân cấp Hình 29: Quản lý thích ngữ nghĩa Trường hợp phức tạp thêm giá trị cho thuộc tính object, đó, cần lấy ranges thuộc tính (tức lớp mà thực thể giá trị thuộc tính thuộc về), gọi giao diện (Hình 30) gồm thành phần (1), (2), (3) Điểm khác biệt phần (1) phân cấp cho tất Concept, mà Concept range thuộc tính xét Ví dụ, thêm giá trị cho thuộc tính hasAuthor (của thực thể thuộc Concept Document), thêm thực thể thuộc lớp Person Concept Trang 83 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt Chọn danh sách thực thể Hình 30: Thêm giá trị cho thuộc tính object 7.3.3 Quản lý tài nguyên phần mềm Hình 31: Quản lý tài nguyên phần mềm Có loại tài nguyên phần mềm hỗ trợ quản lý: Requirement, Test, Source code, Code change, Java comment Trên hình vẽ ví dụ quản lý requirement, cho phép dễ Trang 84 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt dàng tạo requirement Một requirement kết nối tới tài liệu, tới thành phần code, tới Developer, Tester trình bày phần thiết kế ontology Kết hợp với suy diễn ngữ nghĩa (Pellet), thông tin liên quan tới requirement thu thập hiển thị đầy đủ, phân nhóm theo Developer khác 7.3.4 Hỗ trợ đặc biệt để thêm mới/phân tích lại source code, document (1): Cây Section sinh tự động (3): Các kết nối có Code-Document (2): Các thành phần tài liệu: image, section, paragraph Hình 32: Quản lý thông tin tài liệu phần mềm View bao gồm tab chính, cho source code, cho document Sử dụng tab hỗ trợ source code, người dùng thêm phân tích lại thành phần code bất kỳ, từ project workspace họ Trong phần giới thiệu tab document Người dùng phân tích tài liệu định dạng PDF bất kỳ, hệ thống tự động trích rút thơng tin ngữ nghĩa mơ tả cấu trúc tài liệu Qua đó, người dùng tạo liên kết tới thành phần code (từ cấu trúc thành phần code), phục vụ hữu ích cho tốn bảo trì phần mềm Với việc sử dụng truy vấn ngữ nghĩa, kết nối mã nguồn với tài liệu liệt kê bảng (thành phần số 3) Trang 85 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt 7.3.5 Tìm kiếm ngữ nghĩa Khác với cách tổ chức thông tin thông thường, máy tính hiểu ngữ nghĩa thơng tin nên việc tìm kiếm hệ thống ngữ nghĩa xác tuyệt đối Vấn đề đặt hỗ trợ người dùng tạo nhanh xác u cầu tìm kiếm ngữ nghĩa Hình 33: Tìm kiếm ngữ nghĩa Ví dụ, xét trường hợp tìm kiếm Class, code Developer “Peter”, thực thi giao diện Vector, có Method có tham số thuộc kiểu Java Primitive type (string, int, boolean, …) Để thực yêu cầu tìm kiếm này, Eclipse điều không thể, nhiên, với công nghệ Web ngữ nghĩa lại thực cách dễ dàng Người dùng cần tạo thực thể “a” thuộc concept “Class”, sau phân rã yêu cầu tìm kiếm thành 3, nhập vào giao diện tìm kiếm Hệ thống có hỗ trợ tối đa cho Trang 86 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt người dùng, với chế độ tự động khai báo biến (check box cột “New Object”), tự động cập nhật danh sách biến (Làm chủ ngữ cho1 3), tự động detect quan hệ (với biến chọn), tự động detect thành phần object (cột object/filter), … Câu truy vấn SPARQL tương ứng sinh (đã tối ưu hóa, trình bày chương 6): PREFIX rdfs: PREFIX fn: SELECT DISTINCT ?a ?Method1 WHERE { ?Developer1 rdf:type ?a rdf:type ?JavaPrimaryType1 rdf:type ?Parameter1 rdf:type ?Method1 rdf:type ?Interface1 rdf:type ?a ?Developer1 ?Parameter1 ?JavaPrimaryType1 ?Method1 ?Parameter1 ?a ?Method1 ?a ?Interface1 ?Interface1 ?x0 filter(fn:contains(fn:lower-case(?x0),'vector')) ?Developer1 ?x1 filter(fn:contains(fn:lower-case(?x1),'peter')) } Sau khai báo xong 3, người dùng chọn thuộc tính thực thể quan tâm thực truy vấn Từ giao diện người dùng, câu truy vấn SPARQL sinh trả kết quả, tổ chức lại cho người dùng Nếu thực thể tìm kiếm thành phần code, hệ thống highlight thành phần đó, sẵn sàng cho họ tái sử dụng, review lại Do vậy, đồng thời cơng cụ tìm kiếm ngữ nghĩa source code Trang 87 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt 7.3.6 Báo cáo tình hình dự án Hình 34: Báo cáo tình hình dự án Trong trình phát triển phần mềm, người quản lý dự án cần nắm bắt thông tin liên quan tới dự án, số lượng Developer, số lượng Tester, số requirement mà developer cài đặt xong, số lượng Test mà tester làm, số test mà họ test xong Các thông tin truy vấn từ thông tin ngữ nghĩa dự án tổ chức lại thành chức hoàn chỉnh thể Hình 34 Điểm khác biệt so với cơng cụ thơng thường khai thác tính ngữ nghĩa thơng tin Ví dụ, luật suy diễn, suy diễn requirement R phân cho developer D biết rằng: “Requirement R code thành phần code C”, “Thành phần code C viết Developer D” Trang 88 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt CHƯƠNG 8: SO SÁNH VỚI CÁC KẾT QUẢ NGHIÊN CỨU KHÁC TRÊN THẾ GIỚI Liên quan tới tiếp cận áp dụng công nghệ Web ngữ nghĩa giải tốn tái sử dụng bảo trì phần mềm, có nhiều nghiên cứu đề xuất: [10], [11], [12], [13], [14] Mặc dù có cách tiếp cận tương tự với nghiên cứu lĩnh vực bảo trì phần mềm, [10] tập trung mơ tả vào lợi ích cơng nghệ Web ngữ nghĩa, khơng đưa kiến trúc hay cài đặt Tuy nhiên, bổ sung hữu ích cho nghiên cứu trình bày luận văn Trong đó, [11] tập trung vào hỗ trợ bảo trì phần mềm trường hợp tất giai đoạn trước bảo trì trình phát triển phần mềm hồn thành Tuy nhiên, thích ngữ nghĩa cho artifact phần mềm, đặc biệt cho documents khơng thể sinh tự động với độ xác cao, nên để thực áp dụng thực tế, cần phải hỗ trợ đội ngũ phát triển dự án nhanh chóng tạo thích ngữ nghĩa giai đoạn đầu phát triển phần mềm Tương tự, thay tự động tạo kết nối tài liệu source code hệ thống khai phá text với độ xác khơng thật cao, hỗ trợ Developer tạo liên kết trình coding Hơn nữa, [11] khơng phân loại tài liệu phần mềm (ví dụ tài liệu đặc tả yêu cầu phần mềm: SRS-software requirement specification, tài liệu đặc tả phát triển phần mềm: SDS-software development specification, tài liệu hướng dẫn sử dụng cho người dùng: user guide, cho người phát triển: developer guide) để từ xây dựng thuật tốn khác nhau, nên độ xác thu không cao [11], minh họa trường hợp sử dụng cụ thể cách thức mà Web ngữ nghĩa cơng nghệ bên hỗ trợ hiệu cho người bảo trì phần mềm bao gồm: “Xác định tính đóng gói an tồn mã nguồn” (các dẫn truy cập public, private, Trang 89 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt protected phải đắn), “Xác định, dò vết artifact phần mềm”, “Xác định xây dựng lại kiến trúc phần mềm” áp dụng thực tế, thiếu cơng cụ hỗ trợ, chưa có chế quản lý artifact thích ngữ nghĩa Do đó, “Trong phiên tương lai họ, cần tập trung nhiều vào việc xây dựng công cụ phát triển phần mềm” Tương tự, [13], minh họa tiềm Web ngữ nghĩa, truy cập đến artifact phần mềm, lấy project mã nguồn mở GATE làm ví dụ, tập trung thu thập tài liệu để phân tích thành thích ngữ nghĩa Họ chưa phát triển cách thức quản lý thích ngữ nghĩa sinh Với việc dùng giả ngôn ngữ tự nhiên để thực truy vấn ngữ nghĩa nâng cao, tại, họ chưa có cơng cụ truy vấn ngữ nghĩa thực mạnh, đơn trả danh sách tất tài liệu liên quan, không lấy thuộc tính quan trọng, khơng có chế xếp hạng Do vậy, tương tự [11], [13] cần phải phát triển thêm thành phần giao diện triển khai ứng dụng thực tế Một nghiên cứu đáng ý khác, [14], cách thức Web ngữ nghĩa áp dụng cho CBSE (Component-Based Software Engineering), đặc biệt, việc tạo mới, xuất bản/chia sẻ tìm kiếm thành phần phần mềm Công cụ họ tích hợp thành plug-in bao gồm view Eclipse, cho phép xuất thành phần code Các chức xem tương đương với phần chức hệ thống STORES xây dựng, mơ hình thiết kế, đặc biệt thiết kế phần giao diện chưa hoàn thiện SRS (Software Reuse System) [12], hệ thống tái sử dụng phần mềm dựa Công nghệ Web ngữ nghĩa, add-in cho môi trường phát triển phần mềm MicrosoftVisual Studio 2005, trọng nghiên cứu cách thức để lưu trữ tái sử dụng tri thức phần mềm Tuy nhiên, họ không thực rõ loại tài nguyên hỗ trợ tái sử dụng, đồng thời chưa cho phép developer export tái sử dụng thành Trang 90 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt phần phần mềm với cơng cụ tìm kiếm, soạn thảo thích ngữ nghĩa Mặc dù có cơng nghệ cao tìm kiếm theo từ khóa có quan tâm tới ngữ cảnh tìm kiếm, [12] chưa khai thác khả máy tính hiểu tính ngữ nghĩa thơng tin STORES, nhờ tích hợp tái sử dụng, bào trì phần mềm có cơng cụ quản lý tài nguyên phần mềm hệ thống thống nhất, nên developer tái sử dụng mô tả tài nguyên phần mềm họ coding Trang 91 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt CHƯƠNG 9: KẾT LUẬN VÀ KIẾN NGHỊ Kết luận: Luận văn, với nghiên cứu gần minh chứng rõ nét cho khả ứng dụng Web ngữ nghĩa vào công nghệ phần mềm, xét khía cạnh lý thuyết ứng dụng Các đóng góp mới: • Lý thuyết o Đưa thiết kế Ontology giải toán đặt ra, với hệ thống luật suy diễn ngữ nghĩa o Có chế quản lý hiệu thích ngữ nghĩa phần mềm thơng qua dịch vụ Web, có phân loại hỗ trợ cho loại artifact phần mềm o Đưa mơ hình thiết kế, mơ hình xử lý cho cơng cụ tạo thích ngữ nghĩa, tìm kiếm ngữ nghĩa Đặc biệt, xây dựng mơ hình cơng cụ tìm kiếm ngữ nghĩa cho source code o Đề xuất thuật toán tạo thích ngữ nghĩa tự động cho mã nguồn, cho tài liệu phần mềm, chế hiệu kết nối thành phần tài liệu với thành phần code • Ứng dụng: o Cài đặt thành cơng nghiên cứu lý thuyết, tổ chức thành dịch vụ web ngữ nghĩa phía server, với cơng cụ plug-in hỗ trợ tái sử dụng, bảo trì phần mềm tích hợp vào IDE Eclipse phía Client Là ứng dụng mẻ xét nhiều khía cạnh, có tiềm to lớn Kiến nghị: sử dụng kết nghiên cứu luận văn • Ontology chia sẻ, tham khảo, tái sử dụng cho nghiên cứu khác Trang 92 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt • Các dịch vụ web thiết kế triển khai, mở rộng thực tế, cung cấp công cụ chia sẻ thông tin công ty, doanh nghiệp phần mềm • Các chế quản lý, mơ hình, thuật tốn áp dụng cho nghiên cứu khác • Có thể tái sử dụng module, thư viện thiết kế phần cài đặt • Công cụ cài đặt thành công cần đem thử nghiệm áp dụng để cải tiến, trở nên thiết thực Trang 93 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt TÀI LIỆU THAM KHẢO IEEE Std 610.12 (1990), Standard Glossary of Software Engineering Terminology, IEEE Computer Society Press, Los Alamitos, CA Schneidewind N F (1987), “The State of Software Maintenance”, IEEE Transactions on Software Engineering, SE-13(3):303-310 Pigoski T.M (1997), Practical Software Maintenance - Best Practices for Managing Your Software Investment, John Wiley & Sons, New York, NY Abran A., Nguyemkim H (1991), “Analysis of Maintenance Work Categories Tough Measurement”, Proceedings of the Conference on Software Maintenance, Sorrento, Italy, IEEE Computer Society Press, Los Alamitos, CA, pp 104-113 Alkhatib G (1992), “The Maintenance Problem of Application Software: An Empirical Analysis”, Journal of Software Maintenance – Research and Practice, 4(2): pp 83-104 Foster J.R (1993), “Cost Factors in Software Maintenance”, Ph.D Thesis, Computer Science Department, University of Durham, Durham, UK Juergen R., Philipp S., Philippe C (2009), “Enriching SE Ontologies with Bug Report Quality”, Journal of Network and Systems Management, vol 17, issue 3, pp 285 - 308 C W Krueger (1992), “Software Reuse”, ACM Computing Surveys, vol 24 Ezran M., Moriso M., Tully C (1998), “Practical Software Reuse: the essential guide”, ESSI SURPRISE Project book 10 Carrington D., Hyland-Wood D., Kaplan S (2006), “Enhancing Software Maintenance by using Semantic Web Techniques”, International Semantic Web Conference 11 Rilling J., Witte R., Zhang Y (2007), “Empowering Software Maintainers with Semantic Web”, 4th European Semantic Web Conference (ESWC 2007), June 3-7, 2007, Innsbruck, Austria, Springer LNCS 4519, pp 37-52 Springer-Verlag Berlin Heidelberg 12 Antunes B., Gomes P., Seco N (2007), “SRS: A Software Reuse System based on the Semantic Web”, 3rd International Workshop on Semantic Web Enabled Software Engineering (SWESE 2007) Trang 94 Luận văn thạc sĩ khoa học – Chuyên ngành CNTT – Trịnh Tuấn Đạt 13 Bontcheva K., Damljanovic D (2008), “Enhanced Semantic Access to Software Artefacts”, 4th International Workshop on Semantic Web Enabled Software Engineering (SWESE'08), in collaboration with ISWC 2008, Karlsruhe, Germany, October 14 Dranidis D., Kourtesis D., Zygkostiotis Z (2009), “Semantic Annotation, Publication and Discovery of Java Software Components: An Integrated Approach”, Proceedings of the 2nd Workshop on Artificial Intelligence Techniques in Software Engineering (AISEW 2009), 5th IFIP Conference on Artificial Intelligence Applications and Innovations (AIAI 2009) Trang 95 ... [7] 2.2 Tái sử dụng phần mềm 2.2.1 Khái niệm Tái sử dụng, ngữ cảnh cơng nghệ phần mềm, định nghĩa “Quá trình xây dựng hệ thống phần mềm từ hệ thống phần mềm có, xây dựng lại hệ thống phần mềm từ... TỐN BẢO TRÌ, TÁI SỬ DỤNG PHẦN MỀM VÀ HƯỚNG TIẾP CẬN CỦA WEB NGỮ NGHĨA 2.1 Bảo trì phần mềm 2.1.1 Khái niệm Theo định nghĩa IEEE [1]: ? ?Bảo trì phần mềm trình sửa đổi hệ thống phần mềm thành phần. .. hỗ trợ tính tái sử dụng, bảo trì phần mềm Gắn hoạt động tái sử dụng, bảo trì phần mềm vào bước q trình phát triển phần mềm • Triển khai, cài đặt ứng dụng o Xây dựng ontology, hệ thống luật suy

Ngày đăng: 09/02/2021, 17:30

Mục lục

  • MỤC LỤC

  • CHƯƠNG I

  • CHƯƠNG II

  • CHƯƠNG III

  • CHƯƠNG IV

  • CHƯƠNG V

  • CHƯƠNG VI

  • CHƯƠNG VII

  • CHƯƠNG VIII

  • CHƯƠNG IX

  • TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan