Mô hình chất lƣợng phần mềm sẽ cần thiết để hỗ trợ các đối tƣợng trong việc quyết định mức độ chấp nhận hay mong muốn cho mỗi thuộc tính chất lƣợng và ƣớc lƣợng chi phí, giá trị, ROI (return-on-investment) và những rủi ro để đạt đƣợc chúng. Mặt khác, tồn tại sự cạnh tranh giữa các thuộc tính chất lƣợng phần mềm. Vì vậy, xác định đầu tƣ chất lƣợng phần mềm bao nhiêu là đủ cũng cần để hỗ trợ phân tích sự cân bằng giữa các thuộc tính chất lƣợng phần mềm khác nhau. Thông qua đó, luận văn phát triển một mô hình chất lƣợng phần mềm dựa trên giá trị (VBSQM – Value-Based Software Quality Model) để lập luận về ROI của chất lƣợng phần mềm và thực hiện kết hợp phân tích rủi ro sử dụng Cocomo II, Coqualmo và tiếp cận dựa trên giá trị.
2.3.2.1. Thành phần của VBSQM
VBSQM tích hợp quan hệ ƣớc lƣợng chi phí (CER’s - Cost Estimating Relationships) từ mô hình xây dựng chi phí Cocomo II; quan hệ ƣớc lƣợng các thuộc tính chất lƣợng phần mềm (QER’s) từ mô hình xây dựng chất lƣợng Coqualmo (Constructive Quality Model); và quan hệ ƣớc lƣợng giá trị (VER’s) cung cấp bởi các đối tƣợng của hệ thống. Toàn bộ cấu trúc của VBSQM nhƣ hình sau:
Hình 2.4: Cấu trúc của mô hình chất lượng phần mềm dựa trên giá trị.
Trong phần này, tổng kết các kết quả theo kinh nghiệm về chi phí của việc đạt đƣợc giới hạn của một số thuộc tính chất lƣợng phần mềm.
a. Quan hệ giữa Cocomo II và Coqualmo
Đối với độ tin cậy, tham số CER của RELY cung cấp cầu nối để đánh giá chất lƣợng phần mềm, thể hiện bằng sự ảnh hƣởng của lỗi phần mềm. Từ CER dịch sang QER dựa trên kinh nghiệm cho thuộc tính độ tin cậy ở dạng thời gian trung bình giữa các sự cố (MTBF) theo giờ (xem hình 2.1). Hình 2.1 cũng cho thấy quan hệ giữa nỗ lực để đạt đƣợc mức độ tin cậy tƣơng ứng. Ví dụ, phát triển phần mềm cho ngƣời dùng với tổn thất có thể lấy lại đƣợc dễ dàng thì MTBF là 10 giờ và chi phí
sẽ là 0.92. Phát triển phần mềm cho các tổ chức tài chính thì MTBF phải là 10 nghìn giờ (~ 417 ngày) và chi phí tƣơng ứng là 1.10.
Quan hệ giữa Cocomo II và Coqualmo dựa trên xếp hạng Coqualmo với mức độ đầu tƣ về gỡ lỗi qua phân tích tự động, xem xét chéo hay thực hiện kiểm thử tƣơng ứng với sự xếp hạng thuộc tính RELY ở Cocomo II (xem hình 2.1). Sự tƣơng ứng giữa xếp hạng RELY ở Cocomo II và xếp hạng khả năng gỡ lỗi dựa trên việc ánh xạ các hoạt động đƣợc thực hiện ở các pha trong chu trình phát triển phần mềm nhƣ bảng sau:
Bảng 2.3: Quan hệ RELY Rating và các pha trong chu trình phát triển phần mềm RELY Rating Phân tích và thiết kế Thiết kế chi tiết Code và Unit Test Tích hợp và test
Very Low Chi tiết thấp, ít
kiểm định Thiết kế cơ bản Không có thủ tục test Không có thủ tục test
Low Thông tin cơ
bản
Thông tin chi tiết vừa phải
Thủ tục test nhỏ
Thủ tục test nhỏ
High
Tài liệu chi tiết, có lên kế hoạch kiểm thử
Tài liệu chi tiết, có thẩm định
Thủ tục test chi tiết, có tài liệu
Thủ tục test chi tiết và tài liệu
Very High
Tài liệu chi tiết, chuẩn, có giao diện
Tài liệu đƣợc thẩm định chi tiết, giao diện, thiết kế test Thủ tục test chi tiết và có thẩm định Thủ tục test rất chi tiết, có tài liệu
Đối với xếp hạng Very Low đến Extra High, VBSQM cung cấp hai cách để áp dụng quan hệ giữa Cocomo II và Coqualmo. Một là đặc tả xếp hạng Cocomo II RELY và giả định cùng một mức đầu tƣ trong phân tích tự động xem xét chéo và thực hiện kiểm thử, trong trƣờng hợp này nỗ lực tƣơng ứng và MTBF sẽ đƣợc sử dụng. Hoặc đặc tả mức đầu tƣ cho việc phân tích tự động, xem xét chéo và thực
hiện kiểm thử. Dựa trên nỗ lực phân phối cho 3 kỹ thuật gỡ lỗi, chúng ta có thể tính toán giá trị trung bình Coqualmo giống nhƣ xếp hạng RELY trong Cocomo II. Chúng ta cũng có thể sử dụng tham số khác nhƣ PRICE, SEER, SLIM trong Cocomo II và thực hiện giống nhƣ RELY CER. Quan hệ giữa Cocomo II và Coqualmo cũng tạo ra cách liên hệ giữa việc đầu tƣ vào độ tin cậy của phần mềm và giá trị MTBF của hệ thống (nhƣ hình 2.1).
b. Mô hình chất lượng dựa trên giá trị (Value-based Software Quality Model – VBSQM)
VBSQM cần chất lƣợng phần mềm ban đầu VER đƣợc cung cấp bởi các bên liên quan đến hệ thống, để ƣớc lƣợng chi phí đầu tƣ và mức chất lƣợng phần mềm cho kết quả dòng lợi ích và ƣớc tính ROI. Giả sử rằng các bên liên quan đã thực hiện phân tích các trƣờng hợp kinh doanh cơ sở giá trị cho các thành phần giá trị khác nhau (lợi nhuận, sự thỏa mãn khách hàng, thời gian thực hiện) nhƣ một hàm về khả năng xử lý thông tin theo thời gian ở mức độ thuộc tính chất lƣợng phần mềm cơ bản. VBSQM tập hợp những thành phần giá trị vào một dòng giá trị theo từng giai đoạn thời gian tổng thể, bao gồm các chi phí theo từng giai đoạn thời gian (chi phí khả năng IP cộng với các khoản đầu tƣ chất lƣợng phần mềm) và chuẩn hoá bằng cách sử dụng công thức giá trị hiện tại để tạo ra thời gian theo từng giai đoạn của hồ sơ ROI.
Một giá trị giữa mối quan hệ sẵn có điển hình có thể xuất hiện nhƣ một chức năng của sản phẩm thể hiện trong hình 2.2. Dƣới một mức đầu tƣ nhất định, với lợi nhuận trong có sẵn không tránh khỏi bị phá. Vƣợt quá mức độ này, có một phân đoạn cao trở lại, nhƣng tại một số điểm, tăng trƣởng đáng kể về tính sẵn có không ảnh hƣởng đến mức thất vọng của ngƣời sử dụng, kết quả trong một phân đoạn giảm bớt lợi nhuận. VERs VBSQM ban đầu liên quan đến mối quan hệ đơn giản nhƣ tiết kiệm chi phí hoạt động mỗi lỗi tránh đƣợc, hoặc mất mỗi phần trăm doanh số bán hàng của thời gian chết hệ thống. Hiển thị nhƣ là tính xấp xỉ tuyến tính của một phân đoạn đặc biệt của chức năng sản phẩm trong hình 2.2. Nhiều tổ chức cung cấp các dịch vụ điện tử cũng có thể sử dụng các mối quan hệ nhƣ vậy để đo lƣờng
tổn thất doanh thu do thời gian chết của hệ thống. Ví dụ, ở phía cao hơn, Intel ƣớc tính mất doanh thu là $275K ($US) cho mỗi giờ thời gian chết của lệnh xử lý hệ thống; các công ty khác ƣớc tính là $167K (Cisco), $83K (Dell), $27K (Amazon), $8K (E*Trade), and $3K (Ebay).
Hình 2.5: Quan hệ ước lượng giá trị điển hình (VER) có sẵn
2.3.2.2. Tích hợp khung làm việc: Mô hình chất lượng phần mềm dựa trên giá trị (VBSQM)
VBSQM tích hợp mô hình Cocomo II, Coqualmo và VERs cung cấp hai kịch bản sử dụng để hỗ trợ phân tích chất lƣợng phần mềm từ các đối tƣợng/quan điểm giá trị. Nó giúp trả lời câu hỏi nhƣ đầu tƣ chất lƣợng phần mềm bao nhiêu là đủ trong điều kiện của cả hai ROI và rủi ro kết hợp. Phần a, trình bày thủ tục phân tích ROI chất lƣợng phần mềm. Phần b, trình bày thủ tục của VBSQM phân tích rủi ro và sự xói mòn thị phần.
a. Kịch bản 1: Phân tích ROI chất lượng phần mềm
Khung làm việc VBSQM có thể giúp các đối tƣợng trong dự án và những ngƣời ra quyết định xác định về số lƣợng một cách phù hợp về mức độ chất lƣợng phần mềm cho một dự án phần mềm cụ thể, lớp kịch bản dự án hoặc lớp dự án.
Nhƣ vậy, phân tích ROI chất lƣợng phần mềm là dựa trên chi phí và tạo ra giá trị của các khoản đầu tƣ chất lƣợng phần mềm. ROI đƣợc tính nhƣ sau:
ROI = (Value – Cost)/Cost. Kịch bản của VBSQM theo phân tích ROI nhƣ sau:
1. Sử dụng danh sách kiểm tra các thuộc tính chất lƣợng phần mềm liên quan tới các đối tƣợng trong số các thuộc tính ƣu tiên cần quan tâm cao nhất và kịch bản sử dụng.
2. Ƣớc lƣợng kích cỡ phần mềm trong điều kiện của giá trị - khả năng.
3. Nhập giá trị kích cỡ và chi phí cơ bản vào Cocomo II để đạt đƣợc dự toán
chi phí cơ bản.
4. Nhập cơ bản và thay thế trình điều khiển chất lƣợng phần mềm vào
Cocomo II và Coqualmo và có đƣợc chi phí thay thế và ƣớc tính đƣợc chất lƣợng phần mềm.
5. Thu hút sự tham gia của các bên liên quan trong việc xác định các hình
thức phù hợp và thông số thích hợp cho các quan hệ ƣớc tính giá trị.
6. Áp dụng VBSQM để đánh giá các chi phí, lợi nhuận, và tỷ lệ hoàn vốn
cho các lựa chọn thay thế.
7. Lặp đi lặp lại các bƣớc trƣớc đó cho phù hợp.
b. Kịch bản 2: Phân tích kết hợp rủi ro
Một vấn đề của nhiều dự án phần mềm là làm thế nào để xác định đƣợc khi nào ngừng thử nghiệm và phát hành các sản phẩm để sử dụng. Chúng tôi đã tìm thấy rằng việc phân tích rủi ro giúp trả lời câu hỏi “bao nhiêu là đủ?” bằng cách cân bằng các nguy cơ rủi ro của làm quá ít với nguy cơ rủi ro của làm quá nhiều. Tuy nhiên, ngƣời ta thƣờng cảm thấy khó khăn để xác định số lƣợng tƣơng đối xác suất và kích thƣớc lỗi để cung cấp cách tiếp cận thực tiễn cho việc xác định điểm cân bằng rủi ro.
Kịch bản sử dụng của VBSQM để kết hợp phân tích rủi ro vào việc đảm bảo chất lƣợng phần mềm và xói mòn thị phần nhƣ sau:
1. Ƣớc tính kích cỡ phần mềm về mặt khả năng giá trị gia tăng.
2. Nhập quy mô dự án và chi phí điều khiển vào VBSQM để có đƣợc mật độ
khiếm khuyết = (khiếm khuyết giới thiệu – khiếm khuyết gỡ bỏ)/KSLOC cho phạm vi của RELY (yêu cầu độ tin cậy) từ mức rất thấp đến rất cao.
3. Thu hút sự tham gia của các bên liên quan trong việc xác định kích cỡ của