XÂY DỰNG HỆ THỐNG BẢO TRÌ PHẦN MỀM TÍCH HỢP VỚI ECLIPSE SỬ DỤNG CÔNG NGHỆ WEB NGỮ NGHĨA

41 1.2K 0
XÂY DỰNG HỆ THỐNG BẢO TRÌ PHẦN MỀM TÍCH HỢP VỚI ECLIPSE SỬ DỤNG CÔNG NGHỆ WEB NGỮ NGHĨA

Đ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

XÂY DỰNG HỆ THỐNG BẢO TRÌ PHẦN MỀM TÍCH HỢP VỚI ECLIPSE SỬ DỤNG CÔNG NGHỆ WEB NGỮ NGHĨA Giáo viên hướng dẫn Sinh viên thực Lớp : TS Cao Tuấn Dũng : Nguyễn Đức Đạt : CNTT – KSTN - K49 Nội dung Bài toán bảo trì phần mềm Tiếp cận web ngữ nghĩa cho toán BTPM Xây dựng công cụ hỗ trợ BTPM Kết luận hướng phát triển 2/31 Khái niệm BTPM  Bảo trì công việc tu sửa, thay đổi phần mềm phát triển (chương trình, liệu, loại tài liệu đặc tả, …) theo lý  Chi phí cho việc bảo trì [6] 3% 3% 5% 7% 15% 67%  50% thời gian bảo trì đọc hiểu hệ thống cũ 3/31 Một số tồn với cách bảo trì thời  Các hệ thống quản lý artifact (source code, tài liệu…) độc lập với  Chưa quan tâm nhiều đến liên kết thành phần phần mềm  Source code - tài liệu  Source code – Test 4/31 Ngữ cảnh mục tiêu đề tài  Nằm đề tài nghiên cứu Mitani2009  Mục tiêu Ứng dụng web ngữ nghĩa để khắc phục tồn  Hỗ trợ người bảo trì phần mềm  Gắn vào môi trường phát triển phần mềm thông dụng  5/31 Nội dung Bài toán bảo trì phần mềm Tiếp cận web ngữ nghĩa cho toán BTPM Xây dựng công cụ hỗ trợ BTPM Kết luận hướng phát triển 6/31 Web ngữ nghĩa?  Là mở rộng web Các thông tin gắn thêm ngữ nghĩa cho phép máy tính hiểu  thành phần   Ontology ??  Annotation  Search engine  Agent 7/31 Các thành phần Web ngữ nghĩa  Ontology (OWL)  Các  khái niệm, thuộc tính Annotation (chú thích ngữ nghĩa)  Là meta-data sử dụng ontology để mô tả tài nguyên hệ thống hasMethod #cloneCells() #GraphModel hasVariable #listCells usesMethod #createVertex() 8/31 Ý tưởng ứng dụng web ngữ nghĩa BTPM     Sử dụng ontology để xây dựng annotation mô tả source code, tài liệu mối quan hệ chúng Truy vấn ngữ nghĩa liệu Sử dụng luật suy diễn Chia sẻ thông tin 9/31 Nội dung Bài toán bảo trì phần mềm Tiếp cận web ngữ nghĩa cho toán BTPM Xây dựng công cụ hỗ trợ BTPM Kết luận hướng phát triển 10/31 Giao diện quan hệ layer Class sử dụng class Jgraph modelLayer Số lần gọi layer với 27/31 Một số chức khác Tên chức Mô tả MetricChartView Hiển thị biểu đồ độ đo package, class RequirementView Hiển thị thông tin Requirement, cho phép nhảy tới class cài đặt requirement này, hay method mà người dùng nên đọc để hiểu requirement MethodCall Quan hệ gọi lẫn method CodeDependence Xem phụ thuộc lẫn class CreateTest Tạo Test thông tin ngữ nghĩa liên quan tới Test Tạo thủ công thích ngữ nghĩa CreateManualAnn otation AnnotationManag er Class – encodesRequirement – Requirement Method – entryPointFor – Requirement SoftwareComponent – hasTest – Test SoftwareComponent – hasDescriptionIn – DocumentElement … Quản lý thích ngữ nghĩa, duyệt khái niệm, quan hệ 28/31 ontology Nội dung Bài toán bảo trì phần mềm Tiếp cận web ngữ nghĩa cho toán BTPM Xây dựng công cụ hỗ trợ BTPM Kết luận hướng phát triển 29/31 Kết luận  Chương trình  Cài đặt plugin với 98 class, 14434 dòng code  Tự động hóa phần trình tạo annotation  Cung cấp nhiều chức  Dễ sử dụng lại hỗ trợ ngôn ngữ khác Eclipse  Hạn chế  Tài liệu định dạng pdf  Mới áp dụng cho ngôn ngữ lập trình JAVA  Mới quản lý thay đổi theo chiều code  document 30/31 So sánh với hệ thống khác  Hệ thống không dựa web ngữ nghĩa  Hệ thống code analysis: không tạo thông tin  Hệ thống dựa web ngữ nghĩa  Hệ thống quản lý bug online: thông tin suy diễn  Nghiên cứu tìm kiếm Test: dừng lại mức thô sơ  Hệ thống LaSSIE: Tạo annotation từ code tài liệu thực tay  Sử dụng ngôn ngữ KANDOR để mô tả tri thức  31/31 Hướng phát triển    Quản lý thay đổi theo chiều document – code Phát triển tiếp thuật toán sinh tự động Thông kê thay đổi, ý nghĩa thay đổi  Những code hay bị sửa đổi  Những code hay bị lỗi  Làm việc với server  Quản lý xung đột  Commit hay update từ server 32/31 Tài liệu tham khảo [1] René Witte , Yonggang Zhang , Juergen Rilling, Empowering Software Maintainers with Semantic Web Technologies [2] David Hyland-Wood, David Carrington, Simon Kaplan, Enhancing Software Maintenance by using Semantic Web Techniques [3] Yonggang Zhang, René Witte, Juergen Rilling, Volker Haarslev, An Ontological Approach for the Semantic Recovery of Traceability Links between Software Artifacts, IET Software journal [4] Hans-Jörg Happel, Stefan Seedorf, Applications of Ontologies in Software Engineering [5] Suzanne Kabel, Bob Wielinga, Integrating Manuals and Training – First didactic ontology [6] Trung Hung Vo, Software Maintenance [6] Natalya F Noy and Deborah L McGuinness, A Guide to Creating Your First Ontology 33/31 Em xin chân thành cảm ơn ! 34/31 Khái niệm Semantic Web (Gruber) unambiguous terminology definitions conceptual model of a domain (ontological theory) formal, explicit specification of a shared conzeptualization machine-readability with computational semantics commonly accepted understanding 35/31 Khái niệm Semantic Web Loại bỏ nhập nhằng thuật ngữ Mô hình khái niệm miền ứng dụng cụ thể Đặc tả hình thức, tường minh trình khái niệm hóa chia sẻ Mang ngữ nghĩa mà máy tính hiểu Nhận thống cách hiểu cộng đồng 36/31 Thị phần IDE Java – Thống kê QA Systems thực 37/31 Các search engine 38/31 Tạo tự động annotation từ code 39/31 Khái niệm artifact  Một artifact sản phẩm phụ hữu hình sinh trình phát triển phần mềm  “An artifact is one of many kinds of tangible byproduct produced during the development of software”  Ví dụ: biểu đồ use cases, class digrams, mô hình UML, tài liệu yêu cầu, tài liệu thiết kế 40/31 Metric view 41/31

Ngày đăng: 05/08/2016, 04:52

Từ khóa liên quan

Mục lục

  • XÂY DỰNG HỆ THỐNG BẢO TRÌ PHẦN MỀM TÍCH HỢP VỚI ECLIPSE SỬ DỤNG CÔNG NGHỆ WEB NGỮ NGHĨA

  • Nội dung

  • Khái niệm BTPM

  • Một số tồn tại với cách bảo trì hiện thời

  • Ngữ cảnh và mục tiêu của đề tài

  • Slide 6

  • Web ngữ nghĩa?

  • Các thành phần của Web ngữ nghĩa

  • Ý tưởng ứng dụng web ngữ nghĩa trong BTPM

  • Slide 10

  • Công cụ hỗ trợ BTPM

  • Tạo ontology source code

  • Tạo ontology document

  • Sinh tự động annotation về sự phụ thuộc các thành phần source code

  • Tạo annotation từ code (tiếp)

  • Kết quả

  • Sinh tự động annotation về mối liên kết giữa mã nguồn và tài liệu

  • Tạo annotation từ document (tiếp)

  • Chức năng tạo chú thích ngữ nghĩa thủ công

  • Sử dụng annotation trong một số ngữ cảnh bảo trì

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

Tài liệu liên quan