Bộ số liệu 1
Dữ liệu phục vụ cho thử nghiệm đƣợc lấy từ dự án điển hình GSFC (Goddard
Space Flight Center) [3]. The Software Assurance Technology Center (SATC) tại
NASA Goddard Space Flight Center (GSFC) đã tiến hành một nghiên cứu nhằm xem xét độ tin cậy phần mềm để xác định các cải tiến của mô hình độ tin cậy phần
mềm và xác định khả năng cách tiếp cận này có thể đƣợc áp dụng cho dự án
GSFC [3].
Tại GSFC, một số dự án sử dụng the Distributed Defect Tracking System (DDTS) để thu thập dữ liệu thử nghiệm và dữ liệu hoạt động không phù hợp, chủ yếu là để quản lý và theo dõi không phù hợp. Trong hoàn cảnh của nghiên cứu này, lỗi không phù hợp gây ra cho hệ thống hoặc thành phần thực hiện một chức năng cần thiết trong giới hạn quy định, hoặc kết thúc khả năng của một đơn vị chức năng để thực hiện các chức năng cần thiết của nó, hoặc gây ra hoạt động chƣơng trình rời khỏi yêu cầu của chƣơng trình.
Yêu cầu đánh giá
Xác định tổng hợp số lần lỗi trong từng khoảng thời gian của một phần mềm. File dữ liệu đầu vào là: soft_int.s3d
20.0 1.0 43.0 1.0 53.0 1.0 45.0 1.0
38.0 1.0 35.0 1.0 23.0 1.0 22.0 1.0 17.0 1.0 20.0 1.0 15.0 1.0 9.0 1.0 8.0 1.0 10.0 1.0 7.0 1.0 6.0 1.0 3.0 1.0 0.0 1.0 Trong đó:
Cột 1: số lỗi đếm đƣợc trong một đơn vị thời gian cụ thể. Cột 2: đơn vị thời gian, thƣờng đƣợc chuẩn hóa về 1. Cơ chế đánh giá.
Lựa chọn tất cả các mô hình trong công cụ SMERFS, đồng thời cũng lựa chọn chức năng so sánh giữa các mô hình Accuracy Analysis.
Starting point: 9 Ending point: 17
Các tham số của các mô hình đều để ở trạng thái mặc định của chƣơng trình. Thiết kế.
Xét cụ thể mô hình Yamada’s S – shaped Reliability Growth
Thực hiện đánh giá.
Dựa trên kết quả phân tích ta thấy:
Trong quá trình kiểm thử kéo dài 12 đơn vị thời gian tiếp theo, số lỗi kỳ vọng sẽ là 6.
Trong quá trình kiểm thử tiếp theo kéo dài 232 đơn vị thời gian, xác suất phần mềm chạy không có lỗi là 0.0.
Đồ thị biểu diễn dữ liệu với đƣờng dự đoán (đƣờng cân bằng)
Bộ số liệu 2
Dữ liệu phục vụ cho thử nghiệm đƣợc lấy từ dự án thử nghiệm DISTeFAX [11]. Các tác giả ở trƣờng Đại học Spiru Haret University, Bucharest, Romania đã thu thập dữ liệu.
Phần mềm DISTeFAX đƣợc thiết kế và thực hiện nhƣ một hệ thống an toàn phần mềm tạo điều kiện thuận lợi cho việc xử lý các meta-fax (nhiều phần dữ liệu thu đƣợc từ các tập tin riêng lẻ đƣợc tạo ra bởi các ứng dụng khác nhau nhƣ soạn thảo văn bản, các ứng dụng xử lý hình ảnh, v.v)
Các ứng dụng DISTeFAX có hai phần chính theo phƣơng pháp thiết kế client- server và dựa trên nguyên tắc tái sử dụng nhƣ là một phƣơng pháp tiếp cận cho ra
mắt phần mềm trong thời gian ngắn. Các hoạt động liên quan đến việc gửi và nhận fax đƣợc quản lý bởi một thành phần đƣợc xây dựng trên đầu module eFax. Chức năng chính của các module máy khách đƣợc kết nối với việc gửi fax và xem trƣớc rồi gửi lại những cái nhận đƣợc - mà không cần sử dụng bất kỳ fax-modem.
Yêu cầu đánh giá:
Trong phần này, độ tin cậy phần mềm đƣợc phân tích bằng cách sử dụng tiêu chuẩn các mô hình độ tin cậy phần mềm cung cấp bởi công cụ SMERFS.
Dữ liệu thời gian giữa các lỗi đƣợc thu thập trong bảng 3.2 sau:
Bảng 3.2: Time between failure data along three builds
Cơ chế đánh giá.
Trong quá trình phân tích, lựa chọn năm mô hình cụ thể là: Mô hình 1 - Geometric model; Mô hình 2 – Littlewood and Verrall Quadratic model; Mô hình 3 – Musa’s basic model; Mô hình 4 – Musa’s logarithmic model; and Mô hình 5 – Nonhomogeneous Poisson model. Đồng thời lựa chọn chức năng so sánh giữa các mô hình "Accuracy Analysis".
Đối với mỗi mô hình các số liệu thống kê đƣợc tính toán liên quan đến
accuracy, bias, noise, và trend. Những số liệu thống kê theo các công thức toán học cụ thể phụ thuộc vào từng mô hình.
Tính toán ƣớc tính thu đƣợc trong quá trình thực hiện các mô hình là: IIF – Initial Intensity Function, CIF – Current Intensity Function, PrfLvl – the “Purity” Level, MTBNF – Current Mean Time Between Next Failure, và KS – Đánh giá cho tính toán Goodness-of-fit.
Thiết kế.
Trong các trƣờng hợp của dự án, bằng cách sử dụng các đánh giá Goodness-of- fit chúng ta thu đƣợc ba mô hình thích hợp cho dữ liệu là: Littlewood and Verrall
Quadratic model, Musa’s basic model, và Nonhomogeneous Poisson model đƣợc xác định trong các dự đoán dữ liệu của dự án nhƣ sau (Hình 3.2 - 3.4):
Hình 3.2: Phân tích SRGM / VC-Build 1
Hình 3.4: Phân tích SRGM / VC-Build 3
Thực hiện đánh giá.
Kết quả phân tích bằng công cụ smerfs đã thiết lập đƣợc chuỗi các dữ liệu lỗi liên quan đến các dự án DISTeFAX (thể hiện bởi giá trị trong hình 3.5). Căn cứ vào
accuracy, bias, noise, và trend thì mô hình the Musa’s logarithmic đƣợc sắp xếp đầu tiên nhƣng lại không đƣợc coi là tốt nhất khi xem xét đến KS Dist (hình 3.6). Mô hình thích hợp để đánh giá là hai mô hình Musa’s basic và mô hình Nonhomogeneous Poisson.
Hình 3.6: Dự án DISTeFAX - Execution Summary
Kết chƣơng
Chương 3 đã giới thiệu tổng quan về độ tin cậy phần mềm và hướng tiếp cận phân tích dựa trên giá trị. Mặt khác, tác giả còn giới thiệu công cụ hỗ trợ SMERFS và thử nghiệm để xây dựng quy trình đánh giá độ tin cậy. Cuối cùng là áp dụng thử nghiệm một số dự án phần mềm.
KẾT LUẬN
Luận văn thạc sĩ với đề tài: "Phƣơng pháp dựa trên giá trị phân tích chất lƣợng phần mềm: Nghiên cứu, thử nghiệm đánh giá độ tin cậy phần mềm" đã cơ bản hoàn thành. Luận văn này đã giải quyết đƣợc những vấn đề chính sau:
- Tìm hiểu tổng quan về phân tích chất lƣợng phần mềm: Luận văn đã trình
bày những định nghĩa liên quan đến chất lƣợng phần mềm và giới thiệu hệ thống đánh giá chất lƣợng phần mềm nhƣ: ISO/IEC 9126, ISO/IEC 14598, IEEE 1061, ISO 12119. Tìm hiểu các tiêu chí chất lƣợng đã có và các tiêu chí đánh giá sản phẩm phần mềm của doanh nghiệp nhà nƣớc.
- Tìm hiểu cách tiếp cận dựa trên giá trị để phân tích, đánh giá chất lƣợng phần
mềm và tìm hiểu hai công cụ sử dụng hỗ trợ phân tích chất lƣợng phần mềm là Cocomo và Coqualmo: Luận văn đã tìm hiểu công nghệ phần mềm dựa trên giá trị, phân tích chất lƣợng phần mềm dựa trên giá trị thông qua các mô hình chất lƣợng phần mềm dựa trên giá trị.
- Tìm hiểu và làm chủ công cụ SMERFS hỗ trợ phân tích các mô hình đánh
giá độ tin cậy của phần mềm, từ đó tổng hợp thành các bƣớc áp dụng phân tích chất lƣợng phần mềm dựa trên giá trị để phân tích thuộc tính độ tin cậy phần mềm (Software Reliability).
- Thử nghiệm áp dụng quy trình phân tích chất lƣợng phần mềm dựa trên giá
trị để đánh giá thuộc tính độ tin cậy phần mềm với 02 dự án chuẩn của các trung tâm nghiên cứu đã công bố để đánh giá quy trình đề xuất.
Do thời gian làm luận văn không đƣợc nhiều và do các điều kiện khách quan, tác giả chƣa thử nghiệm thực tế đánh giá tại các dự án thực tế tại Việt Nam. Đây cũng trở thành một nội dung để phát triển luận văn trong tƣơng lai.
TÀI LIỆU THAM KHẢO
[1] A. Aurum, S. Biffl, B. Boehm, H. Erdogmus, and P. Gruenbacher
(eds.), (2005), Value-Based Software Engineering, Springer Verlag.
[2] Bộ thông tin và truyền thông, (9/2010), Tiêu chuẩn quốc gia về đánh
giá sản phẩm phần mềm.
[3] http://www.slingcode.com/smerfs.
[4] Liguo Huang, (2006), Software Quality Analysis: A Value-Based
Approach.
[5] Mô hình chất lƣợng của tiêu chuẩn ISO-9126 – Tiêu chuẩn quốc gia,
2/2010.
[6] Michael R. Lyu, (2005), Handbook of Software Reliability Engineering.
IEEE Computer Society Press and McGraw-Hill Book Company.
[7] Phạm Hồng Thành, Mô hình Cocomo và cách ước lượng dự án.
[8] Sunita Chulani and Barry Boehm USC - Center for Software
Engineering Los Angeles, Modeling Software Defect Introduction and
Removal.
[9] Ths. Trƣơng Vĩnh Hảo, Quản lý dự án công nghệ thông tin.
[10] U.S. Department of Defense, (1974), Software Quality Assurance
Program Requirements, MIL-S-52779 (AD).
[11] Albeanu, G., Averian A. & I. Duda. 2009b. Towards web applications
reliability engineering. In Krzysztof Kolowrocki, & Enrico Zio (eds.) Proceedings of SSARS 1:15-22.
NỘI DUNG BỔ SUNG, SỬA CHỮA TRONG LUẬN VĂN
TT Nội dung cũ Nội dung sửa chữa, bổ sung Trang
1
Tên đề tài
"Phƣơng pháp dựa trên giá trị phân tích chất lƣợng phần mềm. Nghiên cứu, thử nghiệm đánh giá độ tin cậy phần mềm".
Tên đề tài
"Phƣơng pháp dựa trên giá trị phân tích chất lƣợng phần mềm: Nghiên cứu, thử nghiệm đánh giá độ tin cậy phần mềm".
2
3 dạng của COCOMO: - COCOMO cơ bản. - COCOMO trung gian. - COCOMO chi tiết.
3 dạng của COCOMO: - Basic COCOMO. - Intermediate COCOMO. - Detailed COCOMO: 32 3 Dự án phần mềm - Tổ chức - Bên trong - Nhúng Software Project - Organic - Semi-detached - Embedded 33, 36 4 Bảng 2.1: Trực giao về định nghĩa thuộc tính bảo vệ Bảng 2.1: Khung định nghĩa về tính an toàn, tính bảo mật, tính riêng tƣ. 41
5 Các thuộc tính mạnh Các thuộc tính Robustness 43
6
3.4 Áp dụng thử nghiệm và đánh giá.
Bộ số liệu 2
Cơ chế đánh giá.
Tính toán ƣớc tính thu đƣợc trong quá trình thực hiện các mô hình là: IIF – Initial Intensity Function, CIF – Current Intensity Function, PrfLvl – the “Purity” Level, MTBNF – Current Mean Time Between Next Failure, và KS – Đánh giá cho tính toán Goodness-of-fit.
TT Nội dung cũ Nội dung sửa chữa, bổ sung Trang
Kết quả phân tích bằng công cụ smerfs đã thiết lập đƣợc chuỗi các dữ liệu lỗi liên quan đến các dự án DISTeFAX. Căn cứ vào accuracy, bias, noise, và trend thì mô hình the Musa’s logarithmic đƣợc sắp xếp đầu tiên nhƣng lại không đƣợc coi là tốt nhất khi xem xét đến KS Dist (hình 3.6). Mô hình thích hợp để đánh giá là hai mô hình Musa’s basic và mô hình Nonhomogeneous Poisson XÁC NHẬN CỦA CHỦ TỊCH HĐ TS. Cao Tuấn Dũng Ngày tháng năm 2013 XÁC NHẬN CỦA GVHD PGS.TS Huỳnh Quyết Thắng
PHỤ LỤC A. Hƣớng dẫn sử dụng
Để mở chương trình
Tạo một thƣ mục mới cho SMERFS 3 (tùy chọn) Nhấp đúp chuột vào gói "SMERFS 3"
Nhấp vào "OK", sau đó gõ tên đƣờng dẫn cho vị trí gói SMERFS 3 Chọn "Giải nén", "OK" và "Close"
Để bắt đầu chương trình
Kích đúp vào biểu tƣợng đƣợc cung cấp trong gói phần mềm Mở một tập dữ liệu
Lựa chọn “Data” từ toolbar Lựa chọn “New”
Lựa chọn “File” (bạn cũng có thể chọn Data Entry và thiết lập dữ liệu bằng tay Chọn một file dữ liệu mẫu đƣợc cung cấp trong gói cài đặt, các lựa chọn bao gồm:
- Sofware Interval
- Software TBF
- Hardware TBF
- System TBF
(hoặc bạn có thể tạo file dữ liệu cho mình dựa vào format chung) Các tùy chọn của thanh Toolbar
- “Data” – có tùy chọn “Plots” để hiển thị dữ liệu dòng hoặc các điểm dữ liệu mịn.
- “Executions” – có tùy chọn “Numerical method” để chọn giữa “Maximum likelihood” hoặc “least squares”
- “Execution” còn có lựa chọn “Accuracy Analysis” Chức năng Execution
1. Chọn Execution từ thanh toolbar.
3. Chọn mô hình cụ thể hoặc lựa chọn tất cả các mô hình.
4. Chọn “Accuracy Analysis” để so sánh sự chính xác giữa các mô hình. 5. Chọn OK.
Hiển thị kết quả phân tích
Sau khi trải qua bƣớc Execution, kết quả phân tích sẽ hiển thị, bạn có thể chọn chức năng Print để xem báo cáo hoặc lựa chọn chức năng Plots để xem sơ đồ biểu diễn các giá trị dữ liệu theo thời gian
Dự đoán và ước tính
Xem bằng cách lựa chọn nút biểu diễn tên của mô hình trên menu ngang trong cửa sổ Execution Summary. Ƣớc lƣợng và đánh giá áp dụng cho từng mô hình đƣợc thể hiện dựa vào đầu vào của ngƣời dùng cung cấp (white-box).
Định dạng file dữ liệu đầu vào
For Software “Time etween Errors” the format is:
Column 1 Column 2
“Elapsed Time” “0” to denote a software failure, e.g.
1.00000 0
1.50000 0
2.00000 0
2.50000 0
For Software “ nterval Counts” the format is: Column 1 Column 2
“Software Error Count” “Interval length” usually normalized to 1 (1 day, week, month, etc.), e.g.
20.0 1.0
45.0 1.0
62.0 1.0
63.0 1.0
For Hardware “Time etween Errors” the format is:
For record 1 onwards we have;
Column 1 Column 2
“TBF”, is the Time Between Failure “Failure Type” indicates a 1 if a hardware failure otherwise a 0 for a
software failure;
Column 3 Column 4
“Sev” is the Severity level “H/W NOF” is a hardware number; and Eff. Factor is the Hardware Efficiency
Factor – a number between 0 and 1.
12.00000 1 2 34 0.45000 “record 4” and then repeat 65.00000 1 2 12 0.01100
78.00000 1 1 17 0.87460 10.00000 1 2 17 0.87000
For System “Time etween Errors” the format is:
Column 1 Column 2 Column 3
“Time between failures” “0” for a software failure A severity level of the failure “1” for a hardware failure (e.g. 1-4)
1.00000 0 1 1.50000 0 2 2.00000 1 1 2.50000 0 3
B. Áp dụng thử nghiệm đánh giá độ tin cậy phần mềm sử dụng công cụ SMERFS. SMERFS.
Yêu cầu đánh giá
Tổng hợp các thời gian giữa hai lần thất bại liên tiếp của một hệ thống (bao gồm cả phần cứng và phần mềm)
File dữ liệu đầu vào: system_tbf.S3D
Trong đó:
Cột 1: thời gian giữa hai lần thất bại liên tiếp
Cột 2: 0 – thất bại do phần mềm; 1 – thất bại do phần cứng Cột 3: mức độ trầm trọng của thất bại (1-4)
Cơ chế đánh giá
Lựa chọn tất cả các mô hình, đồng thời cũng lựa chọn chức năng so sánh giữa các mô hình Accuracy Analysis
Starting point: 16 Ending point: 31
Các tham số của các mô hình đều để ở trạng thái mặc định của chƣơng trình Thiết kế
Thực hiện đánh giá
Kết quả phân tích cho ra nhƣ sau: