Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm

Quản trị rủi ro dự án phần mềm đóng một vai trò quan trọng trong thành công của dự

án phần mềm. Có nhiều các yếu tố rủi ro (những sự kiện không lường trước có thể gây hại

dự án) tác động vào toàn bộ quy trình phát triển phần mềm. Trong thực tế, mọi pha của vòng

đời phát triển phần mềm là nguồn rủi ro tiềm tàng vì nó bao gồm phần cứng, phần mềm,

công nghệ, con người, chi phí và lịch trình. Để dự án phần mềm thành công thì cần mô hình

hóa và đánh giá rủi ro ngay từ quá trình lập kế hoạch dự án. Các kỹ thuật lập lịch phổ biến

đều dựa vào giả thuyết là mỗi công việc, mỗi giai đoạn của dự án được thực hiện đúng như

dự kiến – điều hầu như không xảy ra trong dự án thực. Tìm ra mối liên hệ giữa các yếu tố

rủi ro và kết quả thực hiện dự án là mối quan tâm chính của các nghiên cứu về phân tích

rủi ro phần mềm hiện nay. Trong bài báo này, chúng tôi đề xuất bộ chỉ số nguy cơ rủi ro

trong lập lịch dự án phần mềm đồng thời xem xét xây dựng và thử nghiệm công cụ xác suất

CKDY để đánh giá các rủi ro trong quá trình lập lịch dự án phần mềm. Mô hình đánh giá

sử dụng Mạng Bayes, tập trung vào các chỉ số rủi ro tác động nhiều nhất đến quá trình lập

lịch dự án.

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 1

Trang 1

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 2

Trang 2

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 3

Trang 3

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 4

Trang 4

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 5

Trang 5

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 6

Trang 6

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 7

Trang 7

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 8

Trang 8

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 9

Trang 9

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 17 trang duykhanh 7700
Bạn đang xem 10 trang mẫu của tài liệu "Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm

Phương pháp xác suất cải tiến sử dụng mạng bayes đánh giá rủi ro trong lập lịch dự án phần mềm
oàn thành" khi "Quản lý dự án kém" là True, và "Áp
lực thời gian" là True, là 0.65).
 55
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)
 Hình 6. Hàm Saturation.
 Hình 7. Hàm Ranking.
3.1.3. Cấu trúc đầu ra của công cụ: Đầu ra của công cụ là xác suất các Hậu quả và
Kết cục của toàn bộ dự án theo một giá trị cụ thể và cảnh báo về trạng thái rủi ro của
56
 Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)
Hậu quả và Kết cục tương ứng. Nếu xác suất True của các nút này lớn hơn ngưỡng cho
phép trong N tuần liên tiếp thì sẽ bị đặt vào tình trạng cảnh báo giúp người quản lý dễ
dàng nhận thấy vấn đề nào cần được giải quyết ngay để tránh ảnh hưởng đến toàn bộ
dự án, từ đó có những điều chỉnh hợp lý. Trong công cụ và các thử nghiệm, ngưỡng
chịu đựng của các hậu quả (Nhiệm vụ không hoàn thành, Tiêu tốn nguồn lực, Vấn đề
về độ tin cậy) được đặt bằng 0.5 (50%).
3.1.4. Luồng xử lý: Luồng xử lý của công cụ là đọc bộ dữ liệu đầu vào từ các file
được thiết kế theo chuẩn của Hugin, từ dữ liệu được nhập vào sẽ sử dụng bộ thư viện
do Hugin cung cấp nhằm tính toán xác suất cho các nút mạng, việc xử lý đọc dữ liệu
đầu vào quyết định đến kết quả tính toán của công cụ. Kết quả tính toán được thể hiện
ra màn hình để người quản lý có thể thấy được xác suất của từng hạng mục, nhờ đó
họ có thể dự đoán, kiểm tra, bổ sung, thay thế,... để đáp ứng yêu cầu của việc lập lịch
dự án.
 Ngoài ra, công cụ còn cho phép lên kịch bản tối đa 7 giai đoạn dự án, nhằm cho
phép người quản lý thấy được chi tiết hơn việc lập kế hoạch còn có những vấn đề cần
được giải quyết trong toàn bộ quá trình, đưa ra cho người quản lý cảnh báo theo từng
tuần về việc các nút mạng vượt ngưỡng an toàn, quá thời gian cho phép. Từ đó họ dễ
dàng quản lý các công việc của dự án. Các hàm cơ bản Ranking, Staturation nhằm mục
đích đưa ra cảnh báo vượt ngưỡng và sắp xếp độ tin cậy này.
3.2. Xây dựng bộ dữ liệu thử nghiệm
 Dữ liệu cần thiết là xác suất của các yếu tố rủi ro được chọn lọc trong Bảng 1 (quản
lý dự án kém, áp lực thời gian, thay đổi đặc tả thường xuyên, quy trình không phù hợp,
công nghệ không phù hợp). Chúng tôi sử dụng các file dữ liệu trong bộ PSPLIB cho
các giai đoạn của dự án, mỗi giai đoạn được phân chia công việc theo các nguồn lực
tương ứng.
 Phần mềm RESCON (RESource CONstrained) [30] được sử dụng để hiển thị tập tin
trên giao diện trực quan. RESCON được phát triển bởi đại học Katholieke Leuven (Bỉ),
là phần mềm nguồn mở miễn phí phục vụ nghiên cứu các vấn đề về lập kế hoạch dự
án có các ràng buộc nguồn lực.
 Từ những biểu đồ về nguồn lực và thời gian đưa ra những đánh giá về xác suất của
các yếu tố rủi ro. Do chưa có bộ dữ liệu thực tế nên nghiên cứu dựa vào bộ dữ liệu
thử nghiệm và đưa ra những đánh giá chủ quan về xác suất ban đầu (xảy ra và không
xảy ra) của các yếu tố rủi ro.
4. Thử nghiệm và đánh giá
4.1. Thử nghiệm mô hình
 Hai bộ dữ liệu từ PSPLIB được sử dụng. Mỗi bộ có 7 file tương ứng cho 7 giai đoạn
cho phép trong thiết kế của công cụ. Với mỗi bộ dữ liệu sẽ có một kịch bản thử nghiệm
 57
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)
 Hình 8. Sơ đồ liên kết các hoạt động trong j30.
(với 7 giai đoạn). Sử dụng RESCON mô hình hóa các file trong bộ dữ liệu PSPLIB.
Ví dụ với tập tin j301_1.rcp [29] (xem Hình 8).
 Ví dụ về j30 trong bộ dữ liệu thứ nhất, ở lịch trình bắt đầu sớm (early start schedule),
việc lập lịch thường bị vi phạm ràng buộc tài nguyên vì chỉ tính toán đến thời gian
bắt đầu sớm nhất và quan hệ trước sau của các hoạt động. Ví dụ Resource 1 sử dụng
đến 21 đơn vị trong khi chỉ đáp ứng được 12 đơn vị tài nguyên (trục tung), hoặc như
Resource 2 sử dụng đến 25 đơn vị trong khi chỉ đáp ứng được 13 đơn vị tài nguyên.
Ở đây, RESCON thể hiện giới hạn ràng buộc số lượng tài nguyên bằng đường màu đỏ
(xem Hình 9).
 Công cụ tính ra xác suất của mỗi yếu tố rủi ro trong từng giai đoạn, đồng thời xác
suất chậm kế hoạch từng giai đoạn. Dựa vào các xác suất và ngưỡng, công cụ cũng
cảnh báo về hậu quả theo 6 mức cho từng giai đoạn và từng yếu tố rủi ro.
 Dựa vào các thông số đó, người quản lý dự án có thể xem xét việc phân bổ lại nguồn
lực hợp lý, để đáp ứng với từng giai đoạn của dự án (xem Hình 10). Xác suất của các
yếu tố rủi ro trong toàn bộ dự án có thể tính bằng cách lấy trung bình của các giai
đoạn (Bảng 3 và Bảng 4).
 Theo dõi từng giai đoạn của từng kịch bản thử nghiệm ta nhận thấy rằng nếu ngay
từ các công việc đầu tiên đã có vấn đề, thì xác suất thất bại của lập lịch dự án tăng
dần theo chu kỳ, và nếu đội dự án (quản trị dự án) không có biện pháp can thiệp sớm
thì xác suất này sẽ tăng vượt mức cho phép, ảnh hưởng trực tiếp tới toàn bộ dự án.
58
 Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)
 Hình 9. Thử nghiệm j30 với lịch trình bắt đầu sớm.
 Các yếu tố Xác suất xảy ra Xác suất không xảy ra
 Quản lý dự án kém 0.505 0.495
 Áp lực thời gian 0.7536 0.2464
 Thay đổi đặc tả thường xuyên 0.643 0.357
 Quy trình không phù hợp 0.6625 0.3375
 Công nghệ không phù hợp 0.666 0.334
 Bảng 3. Xác suất của các yếu tố rủi ro trong toàn bộ dự án với bộ dữ liệu 1.
4.2. Đánh giá mô hình và công cụ
 Mô hình được C. Kumar và D.K. Yadav [21] đề xuất cho quản trị rủi ro toàn bộ dự
án phần mềm, nhưng đã cho thấy hiệu quả trong việc áp dụng cho lập lịch dự án vì
tận dụng được Mạng Bayes để dự đoán xác suất thất bại của dự án tại từng thời điểm,
dựa trên bộ chỉ số rủi ro tác động lớn nhất trong quá trình lập lịch dự án.
 Công cụ kiểm nghiệm mô hình cho thấy có thể giám sát các nút và đưa ra các cảnh
báo khi các nút đạt trạng thái bão hòa, cũng như xếp hạng được mức độ hiệu quả của
các nút để từ đó đưa ra thông tin hỗ trợ cho việc phân bổ lại nguồn lực, hay có thể giúp
cho nhà quản lý dự án luôn kiểm soát được xác suất thất bại của dự án trong ngưỡng
 Các yếu tố Xác suất xảy ra Xác suất không xảy ra
 Quản lý dự án kém 0.575 0.425
 Áp lực thời gian 0.6179 0.3821
 Thay đổi đặc tả thường xuyên 0.626 0.374
 Quy trình không phù hợp 0.611 0.389
 Công nghệ không phù hợp 0.55 0.45
 Bảng 4. Xác suất của các yếu tố rủi ro trong toàn bộ dự án với bộ dữ liệu 2.
 59
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)
 Hình 10. Biểu đồ xác suất hoàn thành từng giai đoạn.
 Các yếu tố Xác suất xảy ra (%) Xác suất không xảy ra (%)
 Quản lý dự án kém 18.39 81.61
 Áp lực thời gian 23.04 76.96
 Thay đổi đặc tả thường xuyên 14.46 85.54
 Quy trình không phù hợp 13.93 86.07
 Công nghệ không phù hợp 12.32 87.68
 Bảng 5. Xác suất của các yếu tố rủi ro thử nghiệm so sánh với MSBNx.
cho phép (trong thử nghiệm được đặt bằng 0.5).
 Công cụ CKDY cũng được thử nghiệm so sánh với phần mềm MSBNx [31] của
Microsoft phục vụ cho việc xây dựng và tính toán theo Mạng Bayes. Công cụ MSBNx
được phát triển từ năm 2001 và được đưa vào thực nghiệm qua rất nhiều dự án nên có
thể tin tưởng mức độ tin cậy của MSBNx. Hai công cụ được thực hiện so sánh theo
mô hình Mạng Bayes đề xuất và bộ dữ liệu đầu vào với xác suất của các Yếu tố rủi ro.
Cả hai công cụ đều thực hiện những tính toán xác suất của các Hậu quả và cuối cùng
là Kết cục (khả năng chậm kế hoạch) của dự án.
 Kết quả cho thấy sự tương đồng trong việc đánh giá hậu quả và kết cục theo mô
hình nghiên cứu đề xuất. Ví dụ với bộ xác suất các yếu tố rủi ro như ở Bảng 5 (dựa
vào 7 file tương ứng với 7 giai đoạn từ bộ PSPLIB), ta có Bảng 6 so sánh kết quả của
hai công cụ.
60
 Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)
 Thành phần Thành phần chi tiết MSBNx(%) CKDY(%)
 Nhiệm vụ không hoàn thành 9.30 9.26
 Hậu quả Tiêu tốn nguồn lực 12.20 12.25
 Vấn đề về độ tin cậy 11.30 12.47
 Kết cục Chậm kế hoạch 9.20 9.18
 Bảng 6. Kết quả so sánh MSBNx và CKDY.
5. Kết luận
 Bài báo đã áp dụng được lý thuyết Mạng Bayes vào mô hình quản lý rủi ro trong dự
án phần mềm ở những giai đoạn đầu tiên là lập kế hoạch - lập lịch dự án phần mềm.
Qua phân tích, lược khảo tài liệu về các nghiên cứu liên quan, bài báo đã đưa ra được
bộ các yếu tố rủi ro có tác động nên quá trình lập lịch dự án. Công cụ CKDY thử
nghiệm mô hình sử dụng bộ các yếu tố rủi ro này trên bộ dữ liệu PSPLIB đã cho thấy
độ chính xác và độ tin cậy cao. Nhóm nghiên cứu sẽ tiếp tục tiến hành khảo sát, đánh
giá, kiểm nghiệm thực tế, các nghiên cứu tình huống (case study) để hoàn thiện bộ các
yếu tố rủi ro cũng như kiểm định mối quan hệ nhân quả.
 Như mục tiêu của nghiên cứu, mô hình được sử dụng cố gắng đưa ra bức tranh chính
xác về những nguy cơ cho dự án phần mềm ở giai đoạn đầu, nhằm giúp kiểm soát sớm
các rủi ro. Để phát triển thêm mô hình, nhóm nghiên cứu sẽ tiếp tục phân tích, rà soát
bộ các yếu tố rủi ro cho dự án phần mềm cũng như từng giai đoạn của dự án. Việc
mô hình hóa và định lượng rủi ro ở các giai đoạn sau của dự án phần mềm cũng sẽ
được xem xét. Một hướng nghiên cứu nữa liên quan là xem xét việc tích hợp mô hình
xác suất (Mạng Bayes) vào các kỹ thuật lập lịch dự án phần mềm thông dụng (CPM,
PERT, mô phỏng Monte Carlo v.v.[14]) để đánh giá hiệu quả của việc mô hình hóa các
yếu tố rủi ro trong các kỹ thuật lập lịch với đặc thù dự án phần mềm.
 Công cụ CKDY được tạo ra vẫn còn ở giai đoạn nghiên cứu thử nghiệm nên vẫn còn
khó sử dụng với người sử dụng không chuyên (do đầu vào tuân theo chuẩn của công
cụ Hugin) cũng như các chức năng chưa đa dạng. Công cụ cần được đa dạng hóa tính
năng và giao diện, đơn giản hóa đầu vào giúp người không chuyên có thể sử dụng dễ
dàng. Ngoài ra, nhóm tác giả cần sự đánh giá của chuyên gia giúp xây dựng xác suất
đầu vào và nhiều bộ dữ liệu thực tế trong công nghiệp phần mềm.
Tài liệu tham khảo
[1] B.W. Boehm, Software Risk Management: Principles and Practices, IEEE Software, vol. 8(1), pp. 32–41, 2001.
[2] M. Dedolph, The Neglected Management Activity: Software Risk Management, Bell Labs Technical Journal,
 vol. 8(3), pp. 91–95, 2003.
[3] A.K.T. Hui and D.B. Liu, A Bayesian Belief Network model and tool to evaluate risk and impact in software
 development projects, Reliability and Maintainability, 2004 Annual Symposium – RAMS: pp. 297-301, 2004.
[4] T. Dyba and T. Dingsøyr, Empirical studies of agile software development: A systematic review, Information
 and Software Technology 50.9-10, pp. 833–859, ISSN: 0950-5849, 2008.
[5] P. Abrahamsson et al., Agile software development methods - Review and analysis, Technical report 478, VTT
 PUBLICATIONS, 2002.
[6] S. Augustine, Managing Agile Projects, Upper Saddle River, NJ, USA: Prentice Hall PTR, ISBN: 0131240714,
 2005.
 61
Chuyên san Công nghệ thông tin và Truyền thông - Số 10 (06-2017)
[7] B. Freimut et al, An Industrial Case Study of Implementing Software Risk Management, Proceedings of the
 8th European Software Engineering Conference held jointly with 9th ACM SIGSOFT International Symposium
 on Foundations of Software Engineering, ESEC/FSE-9, pp. 277–287, 2001.
[8] S. McConnell, Software Project Survival Guide: How to Be Sure Your First Important Project Isn’t Your Last,
 Microsoft Press, Redmond, WA, 1997.
[9] B.J. Anthony et al, A Proposed Risk Assessment Model for Decision Making in Software Management, Journal
 of Soft Computing and Decision Support Systems, vol. 3 (5), pp 31-43, 2016.
[10] S.K. Sharma and U. Chanda, Developing a Bayesian Belief Network model for prediction of R&D project
 success, Journal of Management Analytics, vol. 4 (2), pp.1-24, 2017.
[11] Lee, Y. Park and J. G. Shin, Large Engineering Project Risk Management Using a Bayesian Belief Network,
 Expert Systems with Applications, vol. 36(3), pp. 5880–5887, 2009.
[12] Y. Hu et al., Software Project Risk Analysis Using Bayesian Networks with Causality Constraints, Decision
 Support Systems, vol. 56, pp. 439–449, 2013.
[13] N.T. Nguyen and Q.T. Huynh, Iteration scheduling using Bayesian Networks in agile software development,
 Proceedings of FAIR’17 (accepted), 2017.
[14] N.E. Fenton and M. Neil, Decision support software for probabilistic risk assessment using Bayesian Networks,
 IEEE Software, vol. 31 (2), pp. 21-26, 2014.
[15] N. Fenton and M. Neil, Risk Assessment and Decision Analysis with Bayesian Networks, MReading book,
 CRC Press, 2013.
[16] C. Kumar and D. K. Yadav, A Bayesian Approach of Software Risk Assessment, International Journal of
 Applied Engineering Research (IJAER), vol. 10, pp. 2366-2371, 2015.
[17] J. Menezes Jr., C. Gusmao and H. Moura, Defining Indicators for Risk Assessment in Software Development
 Projects, CLEI Electronic Journal, vol. 16(1), 2013.
[18] J. D. Procaccino et al., Case Study: Factors for Early Prediction of Software Development Success, Information
 and Software Technology, vol. 44(1), pp. 53–62, 2002.
[19] J. Jiang and G. Klein, Software Development Risks to Project Effectiveness, Journal of Systems and Software,
 vol. 52(1), pp. 3–10, 2000.
[20] L. Wallace, M. Keil and A. Rai, Software Project Risks and their Effect on Outcomes, Communications of
 the ACM, vol. 47(4), pp. 68–73, 2004.
[21] C. Kumar and D. K. Yadav, A Probabilistic Software Risk Assessment and Estimation Model for Software
 Projects, Procedia Computer Science 54, pp. 353–361, 2015.
[22] M. Sadiq and M. Shahid, A Systematic Approach for the Estimation of Software Risk and Cost using EsrcTool,
 CSIT, vol. 1(3), pp. 243–252, 2013.
[23] V. Cortellessa et al, Model-Based Performance Risk Analysis, IEEE Transactions on Software Engineering,
 vol. 31(1), pp. 3–20, 2005.
[24] S. Islam, Software Development Risk Management Model - A Goal-Driven Approach, Technical Report,
 2012.
[25] C.J. Alberts and A.J. Dorofee, Risk management framework, SEI Technical Report, 2010.
[26] NASA Policy Detective, NPD 2820.1A NASA Software Policies , 2005.
[27] PSPLIB,
[28] HuginExpert,
[29] Đường link chứa phần mềm CKDY và các dữ liệu thử nghiệm,
[30] RESCON,
[31] MSBNx,
 https://msbnx.azurewebsites.net/.
 Ngày nhận bài 14-6-2017; Ngày chấp nhận đăng 13-10-2017.
 
62
 Tạp chí Khoa học và Kỹ thuật - Học viện KTQS - Số 184 (06-2017)
Nguyễn Ngọc Tuấn tốt nghiệp thạc sĩ ngành Business Information Technology tại Trường ĐH
Twente (Hà Lan) năm 2010. Hiện công tác tại Viện Nghiên cứu cao cấp về Toán và là nghiên
cứu sinh tại Viện Công nghệ thông tin và Truyền thông, Trường ĐH Bách khoa Hà Nội. Các
hướng nghiên cứu chính: Lập lịch dự án phần mềm; Quản trị rủi ro dự án; Quy trình phát
triển phần mềm.
Trần Trung Hiếu tốt nghiệp Đại học Bách khoa Hà Nội chuyên ngành Công nghệ thông tin
vào năm 2017. Hiện nay làm việc tại Công ty Dimage Share (Nhật Bản).
Huỳnh Quyết Thắng tốt nghiệp Trường ĐH Điện-Máy Varna, CH Bungaria năm 1990. Nhận
bằng Tiến sỹ năm 1995 tại Trường Tổng hợp kỹ thuật Varna (TU Varna), CH Bungaria. Nhận
học hàm PGS năm 2007. Hiện công tác tại Viện Công nghệ thông tin và Truyền thông, Trường
ĐH Bách khoa Hà Nội. Các hướng nghiên cứu chính: Đánh giá chất lượng phần mềm; Kỹ
thuật phát triển phần mềm; Đánh giá chi phí công sức; Các mô hình toán học và công cụ.
 63

File đính kèm:

  • pdfphuong_phap_xac_suat_cai_tien_su_dung_mang_bayes_danh_gia_ru.pdf