- 16 - HỆ CHUYÊNGIA ƯỚC LƯỢNGDỰÁNPHẦNMỀM Nguyễn Ngọc Bảo MSV: 0122186 Email: baonn@fpt.com.vn Cán bộ hướng dẫn: TS. Nguyễn Việt Hà 1. Giới thiệu Ướclượng sớm và chính xác dự ánphầnmềm đã và đang là một vấn đề đang được quan tâm ở Việt Nam cũng như trên thế giới. Khóa luận này đề xuất một hướng tiếp cận mới cho ướclượngdựánphần mềm; dựa trên mô hình lập luận theo kinh nghiệm, Case-Based Reasoning (CBR). Theo hướng tiếp cận này, chi phí cho một dựán được ướclượng bằng cách tìm kiếm các dựán t ương tự đã hoàn thành trong quá khứ và hiệu chỉnh chi phí của các dựán đó cho phù hợp với điều kiện của dựán mới. 2. Ướclượngdựánphầnmềm Đối với phát triển phầnmềm hiện đại, yếu tố quản lý có vai trò quyết định đến chất lượng sản phẩm. Trong quản lý dự án, hoạt động đầu tiên và quan trọng nhất là ước lượngdự án. Do những đặc điểm riêng của phần mềm, công việc ướclượng trong phát triển phầnmềm không giống như đối với các lĩnh vực khác. Vì thế, m ột số phương pháp đặc thù đã được đề xuất nhằm nâng cao chất lượng của ướclượngphần mềm. Khóa luận này tiến hành khảo sát một số phương pháp cơ bản đã có trong thực tế. Đó là phương pháp đánh giáchuyên gia, các mô hình SLIM, ESTIMACS, COCOMO, COCOMO II. Kết luận được rút ra là các phương pháp đã có tuy rất phức tạp nhưng khó áp dụng sớm và thường có độ tin cậy không cao. 3. Lập luận theo kinh nghiệm Lập luận theo kinh nghiệm là phương pháp giải quyết bài toán trên cơ sở tìm kiếm và hiệu chỉnh lời giải của các bài toán tương tự đã có trong quá khứ. Phương pháp này có nguồn gốc từ ngành khoa học nhận thức; phản ảnh một mô hình tư duy thường thấy ở con người. Đơn vị tri thức đối với một hệ thống lập luận theo kinh nghiệm là những ca lập luận (case) được lưu trữ độc lập. Quá trình giải quyết bài toán trong lập luân theo kinh nghiệm được thực hiện theo chu trình “4 lại” gồm 4 bước: 1) Tìm kiếm lại ca lập luận tương tự; 2) Hiệu chỉnh và sử dụng lại lời giải đã có; 3) Xem xét lại lời giải hiệu chỉnh; 4) Lưu lại ca lập luận mới. Các vấn đề cơ bản cần giải quyết đối vớ i một hệ thống lập luận theo kinh nghiệm bao gồm: phương pháp tổ chức và biểu diễn tri thức; phương pháp tìm kiếm ca lập luận tương tự và chiến lược hiệu chỉnh lời giải. Lập luận theo kinh nghiệm đã được ứng dụng rộng rãi trong thực tế. Phương pháp này thích hợp với những bài toán có miền mở, trong đó mối quan hệ giữa các đối tượ ng tri thức là phức tạp và không rõ ràng. 4. Hệ chuyêngia ước lượngdựánphầnmềm Khóa luận đề xuất một mô hình hệ chuyêngia ước lượngdựánphầnmềm sử dụng lập luận theo kinh nghiệm. Hệ chuyêngia gồm 6 thành phần là cơ sở tri thức, hệ thống tiền xử lý, mô tơ suy luận, hệ thống nâng cấp dữ liệu, hệ thống nâng cấp luật và giao diện; trong đó thành phần quan trọng nhất là mô tơ suy luận Các vấn đề cơ bả n của hệ chuyêngia được giải quyết như sau 4.1. Cơ sở tri thức Đơn vị tri thức của hệ chuyêngia là những dựán cụ thể. Một dựán được biểu diễn thành hai phần là : đặc tả dựán và kết quả thực hiện. Đặc tả dựán là một tập các thuộc tính mô tả dự án. Trong số các thuôc tính dự án, khóa luận chọn ra 10 thuộc tính gọi là thu ộc tính chỉ số để làm thước đo xác định độ tương tự của các dự án. Có hai loại thuộc tính chỉ số là thuộc tính kiểu số và thuộc tính kiểu liệt kê. Các thuộc tính không phải chỉ số chỉ có giá trị lưu trữ và tạo nên yếu tố ngữ cảnh cho dự án. - 17 - Kết quả thực hiện là những giá trị cần ướclượng cho một dựán mới. Trong phạm vi khóa luận, các giá trị cần ướclượng là: thời gian thực hiện dự án, chi phí, số lập trình viên và nỗ lực (effort). Các giá trị này được ướclượng độc lập với nhau. Trong mô hình hệ chuyêngia đề xuất, các dựán được lưu trữ độc lập, không có sự ràng buộc lẫn nhau. 4.2. Tìm ki ếm Tìm kiếm dựán tương tự là bước quan trọng nhất trong quá trình ước lượng. Để có thể tìm kiếm được dựán thích hợp cần xác định được một phương pháp tính độ tượng tự giữa hai dự án. Khóa luận đề xuất sử dụng phương pháp “gần nhất mở rộng” để tính độ tương tự. Phương pháp này gồm hai bước: tính độ tuơng tự từ ng thuộc tính và tính độ tương tự dự án. Độ tương tự của các thuộc tính kiểu số được tính qua các hàm toán học và độ tương tự của các thuộc tính kiểu liệt kê được xác định bằng cách tham chiểu đến một bảng độ tương tự cho trước. Từ đó, độ tương tự dựán được tính theo công thức sau: 10 1 10 1 (.,.) ' (, ) ' s iti i i ts i i sim P a P a SIM P P δ δ = = × = ∑ ∑ trong đó (,) s t SIM P P là độ tương tự giữa hai dựán P s và P t và S; . , . s iti P aPa là thuộc tính thứ i của hai dự án; i sim là hàm tính độ tương tự của thuộc tính i, ' i δ là một trọng số mở rộng. 4.3. Hiệu chỉnh kết quả Sau khi tìm được các dựán tương tự, hệ thống phải hiệu chỉnh kết của của các dựán cũ cho phù hợp với hoàn cảnh mới. Quá trình hiệu chỉnh gồm hai bước là hiệu chỉnh thống kê và hiệu chỉnh theo luật Hiệu chỉnh thống kê chọn ra k dựán tương tự nhất và ước l ượng theo công thức: 1 1 (,) (,) k s ti i s k st i SIM P P r r SIM P P = = × = ∑ ∑ trong đó r là kết quả thực hiện của các dự án. Hiệu chỉnh theo luật hiệu chỉnh kết quả ướclượng của hiệu chỉnh thống kê dựa trên những luật cho trước. Một cách tổng quát, các luật này có dạng * 12 ( , , .) ( ( )) ii cond cond r ada r⇒= với r * và r là kết quả hiệu chỉnh theo luật và kết quả hiệu chỉnh thống kê; cond i là các biểu thức logic điều kiện; ada là hàm hiệu chỉnh. 5. Thực nghiệm Để kiểm nghiệm mô hình hệ chuyêngia đề xuất, khóa luận xây một hệ thống thực nghiệm. Hệ thống này được thiết kế theo mô hình hướng đối tượng, cài đặt bằng ngôn ngữ Java. Cơ sở dựán được lưu trữ dưới dạng file XML. Hai thực nghiệm được tiến hành trên một cơ sở dựán gồm 20 dựán đã hoàn thành. Thực nghiệm 1 kiểm nghiệm khả nă ng ướclượng của mô hình bằng cách ướclượng 5 dựán mới, được lựa chọn tương đối ngẫu nhiên. Kết quả cho thấy 4/5 trường hợp là phù hợp với đánh giá trực quan. Thực nghiệm 2 khảo sát vai trò khác nhau của các thuộc tính đối với kết quả ướclượng bằng cách thay đổi một số thuộc tính của dựán đầu vào. Kết quả thu được cho thấy các thuộc tính khác nhau sẽ có vai trò khác nhau đối với kết quả ước lượng. 6. Kết luận Khóa luận đã đề xuất một phương pháp ướclượngdựánphầnmềm mới sử dụng lập luận theo kinh nghiệm (CBR). Các vấn đề được thảo luận chi tiết là biểu diễn dự án, tìm kiếm dựán tương tự và hiệu chỉnh kết quả thực hiện cũ. Thực nghiệm cho thấy kết quả ướclượng là có thể chấp nhận được. Điểm hạn chế đối với mô hình đề xuất là chưa sát với thực tế phát triển phần mềm. Trong tương lai, các vấn đề như lựa chọn thuộc tính chỉ số, phép tính độ tương tự . sẽ được tìm hiểu một cách có hệ thống hơn. Ngoài ra, hệ thống thực nghiệm cũng cần được mở rộng thành một CASE tool ứng dụng vào thự c tế. Tài liệu tham khảo [1] Ian Watson, Applying case-based reasoning: Techniques for enterprise systems, Morgan Kaufmann Publishers, 1997. [2] Walker Royce, Software project management a unified framework, 1998. . xuất một mô hình hệ chuyên gia ước lượng dự án phần mềm sử dụng lập luận theo kinh nghiệm. Hệ chuyên gia gồm 6 thành phần là cơ sở tri thức, hệ thống tiền. các dự án t ương tự đã hoàn thành trong quá khứ và hiệu chỉnh chi phí của các dự án đó cho phù hợp với điều kiện của dự án mới. 2. Ước lượng dự án phần mềm