-20- MÔ HÌNHDỰĐOÁNVÀ QUẢN LÝRỦIRODỰÁNPHẦNMỀM SỬ DỤNG CBR Nguyễn Văn Dân MSV: 0320052 Email: nguyenvandan@gmail.com 1. Giới thiệu Dựđoánvà quản lýrủirodựánphầnmềm sớm và chính xác từ lâu đã là một thách thức lớn đối với các nhà quản trị dựán Khóa luận này đề xuất một phương pháp mới để tăng cường hỗ trợ cho nhà quản trị: xây dựng mô hình dựng mô hìnhdựđoánvà quản lýrủirodựánphần mềm. Hướng tiếp cận của mô hình là sử dụ ng mô hình lập luận theo kinh nghiệm (Case based reasoning - CBR) – một mô hình suy luận thường thấy ở con người. Do có rất nhiều loại rủiro với nguyên nhân, kết quả và giải pháp khắc phục khác nhau nên mô hình chỉ tập trung vào một loại rủi ro: yêu cầu của khách hàng liên tục thay đổi. Rủiro này được ước lượng bằng cách tìm kiếm những dựán tương tự trong quá khứ và hiệu chỉnh rủirocủa các dựán đó cho phù hợp với ngữ cảnh củadựán mới. Để kiểm chứng mô hình đề xuất, khóa luận thực hiện xây dựng một chương trình thực nghiệm với một tập dựán nhỏ. Kết quả dựđoánvàquảnlý cho thấy là có thể chấp nhận được. 2. Rủirovàquảnlý rủi roRủiro trong các dựán phần mềm là khả năng xẩy ra một sự kiện nào đó và khả năng ảnh hưởng đến những mục tiêu củadựán nếu sự kiện đó xẩy ra. Rủiro xẩy ra đối với các dựánphầnmềm là rất đa dạng, không loại trừ bất cứ giai đoạn nào trong vòng đời phát triển. Trong khuôn khổ khóa luận, rủi ro: yêu cầu của khách hàng liên tục thay đổi được lựa chọn để thực hiện bài toán. Quảnlýrủiro là việc đánh giá, dựđoánrủirovà triển khai kế hoạch, chiến lược để quảnlý nó. Việc dựđoánvàquảnlýrủiro phải được thực hiện ngay từ giai đoạn đầu và được thực hiện liên tục trong vòng đời phát triển phần mềm. Quy trình quảnlýrủiro trong các dựánphầnmềm được xác định rõ ràng: 1. Thiết lập ngữ cảnh và xác định rủi ro. 2. Ước lượng rủi ro. 3. Xác định giải pháp xử lývà lập kế hoạch. 4. Thực thi và kiểm soát rui ro. Trên thực tế, bốn bước Cán bộ hướng dẫn: TS.Nguyễn Việt Hà trên được thực hiện lập đi lặp lại trong suốt vòng đời phát triển phần mềm. 3. Lập luận theo kinh nghiệm Lập luận theo kinh nghiệm (Case- based reansoning - CBR) là phương pháp tìm lời giải bài toán trên cơ sở hiệu chỉnh lời giải của các bài toán khác đã có. CBR giải quyết vấn đề theo chu trình 4 lại (4REs) bao gồm: 1. Tìm kiếm lại những tình huống trong quá khứ tương tự với bài toán mới. 2. Sử dụng lại lời giải của các ca lập luận cũ cho bài toán mới. 3. Xem xét lại lời giải bài toán mới. 4. Lưu lại ca lập luận mới để có thể dùng lại cho các bài toán sau này. Trong CBR cần thực hiện ba vấn đề chính: biểu diễn tri thức, tìm kiếm ca lập luận và hiệu chỉnh. Đây là những vấn đề tiên quyết cần làm để thực hiện bốn bước CBR như đã nói ở trên. CBR có thế mạnh là có thể dùng cho những bài toán mờ, tức là thông tin đầu vào chưa rõ ràng. Vì thế mô hình này có thể áp dụng ngay tại giai đoạn đầu c ủa vòng đời phát triển phầnmềm 4. Mô hìnhdựđoánvàquảnlýrủiro Do CBR là giải pháp áp dụng cho từng bài toán cụ thể nên loại rủi ro: yêu cầu của khách hàng liên tục thay đổi đã được lựa chọn để xây dựng mô hìnhdựđoánvàquảnlýrủi ro. Mô hình được xây dựng trên nền Excel cùng với ngôn ngữ VBA, bao gồm những worksheet cơ bản sau: 1. Giao diện là giao diện nhập dựán m ới và kết quả rủiro được dự đoán. 2. Dựđoán là worksheet thực hiện quá trình tìm kiếm, tính độ tương tự, -21- hiệu chỉnh, …3. Biểu diễn dựán là worksheet thực hiện lưu cơ sở dữ liệu dựáncủa mô hình. Cơ sở dữ liệu này bao gồm các thuộc tính dựánvàrủiro tương ứng với từng dự án. 4. Hỗ trợ biểu diễn lưu cơ sở dữ liệu về độ tương tự và trọng số của từng thuộc tính. 5. Rủiro là worksheet thực hiện lưu cơ sở dữ liệu rủirocủa tất cả các dự án. Mô hình này đã thực hiện được những vấn đề cơ bản, quan trọng khi áp dụng CBR vào bài toán này. Các vấn đề bao gồm: biểu diễn dự án, tìm kiếm dựán tương tự và hiệu chỉnh rủi ro. + Biểu diễn dự án: Thực hiện biểu diễn mỗi dựán bằng một tập các thuộc tính. Mỗi dựán được biểu diễn bằng tập 16 thuộc tính. Tập thuộc tính này đạt được yêu cầu đặc tả tổng quát cho mỗi dự án. Nó bao gồm tất cả các mặt của một dựánphần mềm, như thông tin đội phát triển, công nghệ, kinh nghiệm, năng lực, khách hàng, hệ thống, … Thêm nữa mỗi dựán sẽ tương ứng với rủi ro: yêu cầu của khách hàng thay đổi liên tục, rủiro này được biểu diễn bởi một tập 8 thuộc tính. Như vậy là mỗi dựán sẽ có một rủiro này với giá trị 8 thuộc tính tương ứng. + Tìm kiếm dự án: Trong mô hình, tìm kiếm k-hàng xóm gần nhất được lựa chọn cho bộ tìm kiếm của mô hình. Dựa trên phương pháp tìm kiếm này, khóa luận đã thực hiện xây dựng tiêu chuẩn tương tự và công thức tính độ tương tự cho từng nhóm thuộc tính cụ thể củadự án. Với các thuộc tính biến đổi nhanh, thay đổi liên tục thì mô hình sử dụng công thức hàm mũ để tính độ tương tự, còn các thuộc tính có quan hệ tương đối thì dùng hàm khoảng cách. Các thuộc tính ảnh hưởng đến rủiro này theo mức độ khác nhau. Vậy nên để đảm bảo mức độ ảnh hưởng này, mô hình đã gắn trọng số cho từng thuộc tính. Vậy độ tương tự giữa hai dựán P t và P s được tính như sau: ∑ ∑ = = ∂ ∂ = n i i n i iisit st xaPaPsim PPsim 1 1 ).,.( ),( + P t , P s là hai dựán được tính + P.a i là thuộc tính thứ i củadựán + i ∂ là trọng số của thuộc tính thứ i + Hiệu chỉnh Thực hiện hiệu chỉnh theo thống kê từ hai dựán có độ tương tự cao nhất. Việc hiệu chỉnh không dựa hoàn toàn vào độ tương tự nữa mà chủ yếu dựa trên chiều và mức độ ảnh hưởng của từng thuộc tính tới loại rủiro này. Trọng số của từng thuộc tính dựán được sử dụng thay thế cho độ tương tự để hiệu chỉnh ở mức dự án. Sau khi hiệu chỉnh trên từng dự án, độ tương tự sẽ được sử dụng để tính các thuộc tính bằng số củarủiro cho dựán mới. Thực hiện hiệu chỉnh theo luật đối với những thuộc tính phi số củarủi ro. Trước hết là lấy toàn bộ từ hai dựán tương tự. Sau đó dựa vào các thuộc tính số để tính độ ưu tiên. 5. Thực nghiệm Để kiếm chứng mô hình, khóa luận đã thực hiện ba thực nghiệm thực nghiệm để kiểm tra khả năng tìm kiếm dựán tương tự, khả năng hiệu chỉnh thống kê và khả năng hiệu chỉnh theo luật. Đánh giá dựa trên quan sát trực quan. + Thực nghiệm 1: Ba dựán P16, P17, P18 được đưa vào tính độ tương tự. Kết quả tìm kiếm tương ứng: P2, P14, P6. Dựa trên quan sát trực quan cho thấy P2 và P6 là chấp nhận được. + Thực nghiệm 2: Thực hiện hiệu chỉnh thống kê trên P2 và P6. Kết quả rất tốt. + Thực nghiệm 3: Tiếp tục thực hiện hiệu chỉnh theo luật đã đề ra, kết quả là chấp nhận được. 6. Kế t luận Bằng việc xây dựng mô hìnhdựđoánvà quản lýrủirodựánphầnmềm sử dụng CBR, khóa luận đã cho thấy ứng dụng CBR vào quảnlýrủiro trong các dựánphầnmềm là hoàn toàn có thể và đạt chất lượng tốt. Trong tương lai, nếu có điều kiện nghiên cứu tiếp, chúng tôi hy vọng sẽ hoàn thiện hơn nữa cơ chế hiệu chỉnh bằ ng việc xây dựng một cơ sở luật hiệu chỉnh tốt hơn nữa. Tài liệu tham khảo [1] Agnar Aamodt and Enric Plaza Case-based reasoning: Foundational Issues Methodological Variations, and System Approaches. [2]G.Adens,R.Armstrong,TasscLimited Estimating the effects of project risks in software development projects . hỗ trợ cho nhà quản trị: xây dựng mô hình dựng mô hình dự đoán và quản lý rủi ro dự án phần mềm. Hướng tiếp cận của mô hình là sử dụ ng mô hình lập luận. dựng mô hình dự đoán và quản lý rủi ro dự án phần mềm sử dụng CBR, khóa luận đã cho thấy ứng dụng CBR vào quản lý rủi ro trong các dự án phần mềm là hoàn