-34 - NGHIÊN CỨUVỀHỆ HỖ TRỢTHIẾTKẾPHẦNMỀM SỬ DỤNGCBR Nguyễn Thị Nga Người hướng dẫn: TS.Nguyễn Việt Hà 1. Giới thiệu Hiện nay các phầnmềm ngày càng tăng về kích thước, số các chức năng và các công nghệ sử dụng. Là một trong những khâu phát triển phầnmềm chính, thiếtkếphầnmềm cũng ngày càng trở lên quan trọng và ở mức phức tạp ngày càng cao. Điều này gây áp lực và đòi hỏi đội phát triển phầnmềm phải làm việc ngày một hiệu quả hơn, để đáp ứng đượ c nhu cầu thị trường luôn cần ứng dụngphầnmềm chất lượng, trong một khoảng thời gian ngắn và đem lại lợi nhuận cao. Do vậy, người thiếtkếphầnmềm thường xuyên sửdụng kinh nghiệm từ sự phát triển hệ thống trước đó để xây dựng một hệ thống mới. Đây chính là ý tưởng của việc sửdụng l ại thiếtkếphầnmềm đã được đề cập một chục năm gần đây. Tái sửdụng các thiếtkếphầnmềm làm giảm thời gian xây dựng và tăng chất lượng phần mềm. Chính vì vậy, trong đề tài này, chúng tôi nghiên cứu hướng tiếp cận sửdụng lại thiếtkếphầnmềm dựa trên phương pháp lập luận theo tình huống (CBR). Trong mô hình trình bày việ c hỗtrợsửdụng lại thiếtkếphần mềm, được thực hiện bằng cách: tìm kiếm lại các mẫu thiếtkế đã có trong quá khứ, tương tự với mẫu thiétkế ban đầu ở mức đơn giản, để đưa ra tập các mẫu thiếtkế có độ tương tự gần nhất so với mẫu thiếtkế mới. Sau đó thực hiện hiệu hỉnh dựa trên Wordnet để sinh ra các biểu đồ lớp không chỉ có các thuộc tính ánh xạ mà còn bao gồm cả các lớp trừu tượng. 2. Cơ sở lý thuyết Cùng với tốc độ phát triển nhanh chóng của công nghệ, phầnmềm ngày càng trở lên phức tạp và dễ lỗi. Sự cân bằng giữa chất lượng phầnmềm và các chức năng được cung cấp bởi phầnmềm có sự liên quan chặt chẽ với nhau đối với thiếtkếphần mềm. Trong 5 giai đoạn của phát triển phần mềm: phân tích – thiếtkế - mã hoá - kiểm tra – tích hợp, các quyết định cốt yếu được tạo ra phần lớn trong khâu thiếtkếphần mềm. Chính vì vậy nó trở thành một trong những khâu quan trọng nhất, ảnh hưởng nhiều đến các giai đoạn khác và mất nhiều thời gian, công sức nhất. Chương này sẽ trình bày khái niệm cơ bản, phương pháp được dùng trong khóa luận. 3. Lập luận theo tình huống - CBR “Lập luận theo tình huống (Case-Based Reasoning – CBR) là phương pháp giải quyết vấn đề dựa trên việc áp dụng lời giải của bài toán cũ vào bài toán mới có dữ kiện tương tự” Chu trình lập luận theo tình huống - CBR: Đơn vị tri thức của hệ thống CBR là các ca lập luận, gồm: Đặc tả bài toán và lời giải bài toán. Trong chương này trình bày cơ bản về mô hình lập luận theo tình huống – CBR. Chương Ca lập luận mới Tri thức nền Các ca lập luận trong quá khứ Lời giải đề uất Lời giải thẩm định Ca lập luận được lưu lại Ca lập luận được xử lý Các ca lập luận tìm kiếm được Bài toán Ca lập luận mới Ca lập luận được kiểm tra/hiệu Độ tương tự TÌM KIẾM LẠI Sửdụng lại Sự thích Sự thẩm định Sự lưu lại XEM XÉT LẠI LƯU LẠI -35 - này sẽ đề cập đến khái niệm, ưu điểm và các ứng dụng của nó từ đó căn cứ nghiên cứu xây dựnghệ chuyên gia trong chương 4 Kết quả cho thấy khá giống với trực quan con người đánh giá. 4. Hệ thống hỗtrợsửdụng lại thiếtkếphầnmềm Bài toán đặt ra với khóa luận là: “Nguời thiết kếphầnmềm sau khi khảo sát và phân tích yêu cầu, phác thảo ra được các biểu đồ lớp ở mức độ đơn giản, trừu tượng. Cần phải thiết kếphầnmềm ở mức chi tiết cho dự án mới”. Để giải quyết nó, chúng tôi đi nghiên cứu mô hình hỗtrợsửdụng lại thiếtkếphần m ềm dựa trên phương pháp CBR. Chương này trình bày chi tiết về mô hình hỗtrợsửdụng lại thiết kếphầnmềm bao gồm các vấn đề về cơ sở tri thức, tính độ tương tự thiết kếphầnmềm để tìm kiếm và lựa chọn trong mô hình. 5. Kết luận • Kết quả đạt được: - Khoá luận đã xây dựng được mô hình hệ chuyên gia hỗtrợsửdụng lại thiếtkếphầnmềm ở mức đơn giản. Đối với vấn đề biểu diễn, khoá luận sửdụng biểu diễn các biểu đồ thiếtkế dưới dạng tệp XML dựa trên chuẩn của PowerDesign. Đối với vấn đề tìm kiếm, khoá luận nghiên cứu xây dựng các công th ức tính độ tương tự từng thành phần của biểu đồ lớp, dựa trên tính khoảng cách giữa các khái niệm trong Wordnet. - Khoá luận đã xây dựng chương trình mô hình kiểm nghiệm trên một tập nhỏ các biểu đồ thiếtkế Kết quả đưa ra được tập các lớp gần với các kết quả đánh giá bởi con người. • Hướng phát triển: - Áp dụng thuật toán đối với các định dạng tệp của Wordnet thực. Để tính độ đo giữa 2 synset tốt hơn. - Xây dựng chương trình tiền xử lý các mẫu thiếtkế trước khi đi vào tính toán. - Phát triển và hoàn thiện biểu diễn thiếtkếphầnmềm dưới dạng XML theo chuẩn của Rational Rose. - Thử nghiệm trên thư viện lớn để hoàn chỉnh và chính xác hơn công thức tính độ tương tự. - Cố gắng đi thu thập các mẫu thực. Tiến tới áp dụng được trong thực tiễn - Tiếp tục hoàn chỉnh phần Hiệu chỉnh. 6. Tài liệu tham khảo • Tài liệu tham khảo tiếng Việt: [1] Nguyễn Ngọc Bảo, Hệ chuyên gia ước lượng dự án phầnmềm – 2005 [2] Nguyễn Việt Hà, Phạm Ngọc Hùng, Lê Việt Hà, Lập luận theo kinh nghiệm và ứng dụng, Một số vấn đề chọn lọc của công nghệ thông tin, Hải Phòng 2005 • Tài liệu tiếng Anh [3] Agnar Aamodt & Enric Plaza, Case-based reasoning: Foundational issues, methodological variations, and system approaches, Al communications 7(1994), 39_59 [4] Burton, A.A., et al., The Reusable Software Library. IEEE Software, 1987. 4: p. 25-32 [5] Borgo et al. Using a Large Linguistic Ontology for Interner-Based Retrieval of Object-Oriented Components. In 9 th International Conference on Software Engineering and Knowledge Engineering, SEKE’97. 1997. Madrid, Spain: Knowledge Systems Institute, Illinois. [6] Prieto-Diaz, R., Implementing Faceted Classification for Software Reuse. Communications of the ACM, 1991 (May). [7] Paul Evitts, UML Pattern Language A, New Riders Publisher, ISBN 1-57870-118-X (4/2000) [8] Paulo Gonmes, Francisco C.Pereira, Paulo Paiva, Nuno Seco, Paulo Carreiro, Jose L.Ferreira, Carlos Bento. Using CBR for Automation of Software Design Patterns [9] Paulo Gonmes, Francisco C.Pereira, Paulo Paiva, Nuno Seco, Paulo Carreiro, Jose L.Ferreira, Carlos Bento. Case Retrieval of Software Designs using WordNet . đi nghiên cứu mô hình hỗ trợ sử dụng lại thiết kế phần m ềm dựa trên phương pháp CBR. Chương này trình bày chi tiết về mô hình hỗ trợ sử dụng lại thiết kế. -34 - NGHIÊN CỨU VỀ HỆ HỖ TRỢ THIẾT KẾ PHẦN MỀM SỬ DỤNG CBR Nguyễn Thị Nga Người hướng dẫn: TS.Nguyễn Việt Hà 1. Giới thiệu Hiện nay các phần mềm ngày