Tải bản đầy đủ (.pdf) (16 trang)

Đánh giá chất lượng phần mềm dựa trên giá trị và đề xuất áp dụng tại trung tâm phần mềm VIETTEL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (321.32 KB, 16 trang )


1

BỘ GIÁO DỤC VÀ ĐÀO TẠO


TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG




ĐÀO THỊ HỒNG NHUNG


ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM DỰA
TRÊN GIÁ TRỊ VÀ ĐỀ XUẤT ÁP DỤNG TẠI
TRUNG TÂM PHẦN MỀM VIETTEL



CHUYÊN NGÀNH : TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH
MÃ SỐ: 60.48.15


TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT



2



HÀ NỘI - 2011



























Người hướng dẫn khoa học:

PGS.TS. Huỳnh Quyết Thắng


Phản biện 1: ……………………………………………….
…………………………………………………

Phản biện 2: ……………………………………………….
…………………………………………………

Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: … giờ ngày tháng năm


Có thể tìm hiểu luận văn tại:
- Thư viện Học viện Công nghệ Bưu chính Viễn thông


3
MỞ ĐẦU
Giới thiệu
Quản lý chất lượng phần mềm là vấn đề không mới nhưng
theo một số đánh giá là còn yếu của các công ty phần mềm Việt
Nam. Một số công ty trong nước hiện đã đạt các chuẩn quốc tế
CMM/CMMI trong nâng cao năng lực và quản lý chất lượng phần
mềm, song chỉ đếm được trên đầu ngón tay.
Vì vậy đảm bảo chất lượng phần mềm đã trở thành một công
việc quan trọng trong ngành công nghệ phần mềm. Các sản phẩm
phần mềm ngày càng phức tạp và phát triển đa dạng phục vụ nhu cầu
ngày càng cao của người dùng dẫn đến việc đánh giá chất lượng các

sản phẩm cũng trở nên khó khăn. Chất lượng phần mềm thường được
phát biểu như những đặc trưng định tính: mềm dẻo, dễ bảo trì…Do
đó không thể đo trực tiếp đặc trưng để đánh giá sản phầm phần mềm
mà phải thông qua các thể hiện của nó. Mặt khác, định nghĩa về chất
lượng phần mềm là rất khó, chất lượng sản phẩm phần mềm tốt hay
xấu phụ thuộc vào người thẩm định chúng. Tuy nhiên, mỗi đối tượng
liên quan đến phần mềm lại có những yêu cầu khác nhau về chất
lượng sản phẩm. Vì vậy việc đánh giá chất lượng phần mềm là một
vấn đề cần được xem xét trên nhiều khía cạnh .
Mục đích của luận văn
Với mục đích giải quyết vấn đề đánh giá chất lượng phần
mềm, luận văn này tìm hiểu về các hệ thống đánh giá chất lượng
phần mềm đã có, ngoài ra nghiên cứu một cách tiếp cận khác về đánh
giá chất lượng phần mềm đó là dựa trên giá trị (value-based), đồng
thời đề xuất qui trình áp dụng đánh giá các sản phẩm phần mềm tại
đơn vị công tác – trung tâm phần mềm Viettel.

4
Chương 1
TỔNG QUAN VỀ ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM

Chương 1 giới thiệu tổng quan về những khái niệm liên quan
đến chất lượng phần mềm, các hướng tiếp cận khác nhau về việc
đánh giá chất lượng phần mềm. Mỗi đối tượng liên quan đến dự án
phần mềm (người dùng cuối, người phát triển, người bảo trì ) quan
tâm đến chất lượng ở những thuộc tính khác nhau, vì vậy định nghĩa
chất lượng phần mềm là rất khó. Trơng chương này, tác giả cũng
giới thiệu về các hệ thống đánh giá chất lượng phần mềm đang được
sử dụng.
1.1 CHẤT LƯỢNG PHẦN MỀM NÓI CHUNG

1.1.1 Khái niệm chất lượng phần mềm và các cách tiếp cận
Theo bách khoa toàn thư Wikipedia, có thể định nghĩa phần
mềm như sau: “Phần mềm là một tập hợp những câu lệnh được viết
bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định
nhằm tự động thực hiện một số chức năng hoặc giải quyết một bài
toán nào đó”.
Chất lượng phần mềm đang là vấn đề làm đau đầu cả giới sản
xuất và ứng dụng. Cùng với sự tăng trưởng mạnh của ngành phần
mềm Việt Nam, đã đến lúc chúng ta phải dành sự quan tâm đúng
mức cho chất lượng phần mềm.
Như vậy thế nào là phần mềm có chất lượng? Có người cho
rằng chất lượng phần mềm là tốc độ thực hiện tốt. Người khác cho

29


28
Bước 1: Thiết lập yêu cầu đánh giá.
Bước này được chia thành các bước nhỏ:
- Xác lập mục đích đánh giá
- Xác định loại sản phẩm
- Xây dựng mô hình chất lượng
Bước 2: Xác lập cơ chế đánh giá
Gồm các bước nhỏ sau:
- Xác định phép đánh giá
- Thiết lập mức đo chuẩn
- Thiết lập các tiêu chí đánh giá
Kết quả tại bước này đưa ra được các tiêu chí đánh giá, mức độ chấp
nhận các thuộc tính chất lượng của các đối tượng
Bước 3: Thiết kế: lập kế hoạch đánh giá

Bước 4: Thực hiện đánh giá
- Thực hiện đo
- So sánh với tiêu chí đặt ra
- Đánh giá kết quả thu được

5
rằng phần mềm có chất lượng là phần mềm phù hợp với công việc
của họ. Cũng có người cho rằng phần mềm không có lỗi là phần mềm
có chất lượng cao. Hay phần mềm phải dễ sử dụng mới được gọi là
có chất lượng Tổng kết lại, người ta cho rằng phần mềm có chất
lượng là phần mềm "thỏa mãn được yêu cầu của người dùng".
Nhưng thế nào là thỏa mãn người dùng? Theo định nghĩa
hình thức về chất lượng PM của Tổ Chức Tiêu Chuẩn Quốc Tế ISO
trong bộ tiêu chuẩn 8402, "chất lượng là khả năng đáp ứng toàn diện
nhu cầu của người dùng về tính năng cũng như công dụng được nêu
ra một cách tường minh hoặc không tường minh trong những ngữ
cảnh xác định". Ngay trong định nghĩa này chất lượng cũng được
định nghĩa một cách rất "mờ", thiếu hẳn yếu tố định lượng.
Sự khó khăn chính với hướng tiếp cận thoả mãn khách hàng
là khách hàng thường thiếu những cái nhìn về sự tương tác giữa các
thuộc tính chất lượng phần mềm được quan tâm và họ thường không
để ý đến những thuộc tính chất lượng khác như: khả năng bảo trì…
Một sáng kiến đưa ra giải quyết vấn đề năm 1990 tập trung
vào xác định một tập đầy đủ về các bên liên quan trong một hệ thống
phần mềm và tiếp tục mục tiêu của việc thỏa hiệp giữa các bên liên
quan (các bên cùng thắng win win) về các thuộc tính chất lượng
phần mềm. Mở rộng phạm vi của “chất lượng” bao gồm những đề
nghị của yêu cầu hệ thống về giá hoặc đề nghị về người bảo trì phần
mềm trong khả năng bảo trì và khả năng mở rộng.
Như vậy, định nghĩa về chất lượng phần mềm là khó. Chất

lượng của sản phận được xem là tốt hay xấu phụ thuộc vào người
thẩm định chúng. Chất lượng phần mềm nói chung là một khái niệm

6
trừu tượng bao gồm sự mong đợi của con người. Mỗi người có quan
điểm riêng về cách hệ thống làm việc và tốc độ đáp ứng yêu cầu,…
1.1.2 Các tiêu chí chất lượng
Việc đánh giá sản phẩm phần mềm để thoả mãn các yêu cầu
chất lượng là một trong những quy trình trong vòng đời phát triển của
phần mềm. Chất lượng sản phẩm phần mềm cần được đánh giá bằng
việc đo kiểm các thuộc tính bên trong (thường là các phương pháp đo
tĩnh trên các sản phẩm trung gian), hoặc bằng cách đo kiểm các thuộc
tính bên ngoài (thường là đo các đáp ứng của mã lệnh khi thực thi),
hoặc bằng cách đo kiểm chất lượng các thuộc tính sử dụng. Mục đích
là để sản phẩm đáp ứng được những yêu cầu trong từng trường hợp
sử dụng cụ thể.
Quy trình chất lượng góp phần cải tiến chất lượng sản phẩm,
và chất lượng sản phẩm góp phần cải tiến chất lượng sử dụng. Do đó,
việc đánh giá và cải tiến một quy trình đồng nghĩa với cải tiến chất
lượng sản phẩm. Tương tự, việc đánh giá chất lượng sử dụng có thể
tác động ngược trở lại để cải tiến một sản phẩm và đánh giá một sản
phẩm phần mềm có thể tác động trở lại để cải tiến một quy trình.
Các yêu cầu cho chất lượng sản phẩm phần mềm sẽ bao gồm
các tiêu chí đánh giá chất lượng trong, chất lượng ngoài và chất
lượng sử dụng, để đáp ứng yêu cầu của người sử dụng, người bảo
dưỡng, tổ chức sử dụng, và người dùng cuối.
Các yều cầu về chất lượng của người sử dụng được xác
định là các yêu cầu chất lượng trong phép đo chất lượng sử dụng,
phương pháp đo chất lượng ngoài, thậm chí cả phương pháp đo chất
lượng trong.


27
10. Quá trình cải tiến sẽ liên tục diễn ra cho tới khi phần mềm
trở nên lạc hậu hoàn toàn, cần được thay thế bằng phần
mềm mới
Với cách tiếp cận như vây, qui trình đánh giá được xây dựng qua bốn
bước

26
Vòng đời của một sản phẩm phần mềm bắt đầu từ các bài
toán thực tiễn và được thể hiện ở qui trình sau:
1. Từ bài toán thực tiễn, nhu cầu về phần mềm hình thành;
2. Nhu cầu này được thể hiện qua các tài liệu yêu cầu;
3. Nhu cầu sẽ xác định yêu cầu chất lượng ngoài. Thỏa mãn
được yêu cầu chất lượng này sẽ thỏa mãn được yêu cầu của
người sử dụng;
4. Các yêu cầu chất lượng được thể hiện trong tài liệu đặc tả
hệ thống;
5. Yêu cầu chất lượng ngoài là tiền đề cho yêu cầu chất lượng
nội bộ;
6. Trong quá trình thiết kế phần mềm, các yêu cầu chất lượng
nội bộ được thể hiện trong các đặc tính của phần mềm và
chuyển thành chất lượng nội bộ;
7. Ứng với chất lượng nội bộ có các độ đo chất lượng nội bộ
mà phần mềm phải vượt qua;
8. Tới giai đoạn tích hợp chạy thử, chất lượng ngoài sẽ là vấn
đề được quan tâm. Phần mềm được gọi là có chất lượng
khi tất cả các độ đo được đảm bảo;
9. Trong quá trình vận hành, vẫn sử dụng các độ đo ngoài,
chất lượng phần mềm trong quá trình vận hành sẽ tiếp tục

được xem xét và cải tiến;

7
Các yêu cầu chất lượng ngoài xác định các mức yêu cầu đối
với chất lượng theo hướng nhìn từ bên ngoài. Chúng bao gồm các
yêu cầu xuất phát từ nhu cầu người sử dụng, gồm các yêu cầu chất
lượng sử dụng
Các yêu cầu chất lượng trong xác định các mức chất lượng
yêu cầu theo hướng nhìn từ bên trong của sản phẩm. Chúng có thể
bao gồm các mô hình tĩnh hoặc động, các tài liệu và mã nguồn khác
nhau.
Chất lượng trong là tổng hợp của tất cả các tiêu chí của sản
phẩm phần mềm theo cách nhìn từ bên trong. Chất lượng trong được
đo kiểm và đánh giá theo các yêu cầu chất lượng trong.
Chất lượng ngoài ước lượng (dự đoán) là chất lượng mà
ước lượng hoặc dự đoán được của sản phẩm phần mềm tại cuối mỗi
giai đoạn trong quá trình phát triển đối với mỗi tiêu chí chất lượng,
dựa trên những hiểu biết về chất lượng trong.
Chất lượng ngoài là tổng hợp của các tiêu chí của sản phẩm
phần mềm theo cách nhìn từ bên ngoài.
Chất lượng sử dụng ước lượng (dự đoán) là chất lượng mà
ước lượng hay dự đoán được của sản phẩm phần mềm tại cuối mỗi
giai đoạn phát triển đối với mỗi tiêu chí chất lượng sử dụng, dựa trên
hiểu biết về chất lượng trong và ngoài.
Chất lượng sử dụng là cách nhìn của người dùng về chất
lượng của sản phẩm phần mềm khi nó được sử dụng trong một môi
trường và hoàn cảnh cụ thể.

8
1.1.3 Tiêu chí đánh giá chất lượng phần mềm của các doanh

nghiệp trong nước
Công ty Cổ phần phần mềm Hà Nội (HanoiSoftware) kinh
doanh trên các giải pháp phần mềm cho Website thương mại điện tử,
phát triển và triển khai các cổng thông tin tích hợp Chất lượng sản
phẩm phần mềm tuân theo tiêu chuẩn ISO 9126. Công ty xây dựng
các sản phẩm phần mềm đáp ứng các mô hình chất lượng của tiêu
chuẩn ISO-9126.
Tập đoàn Bưu chính Viễn thông Việt Nam thực hiện đánh
giá sản phẩm phần mềm theo tiêu chuẩn ISO/IEC 12119:1994 về
“Yêu cầu và kiểm tra chất lượng phần mềm”.
1.2 CÁC HỆ THỐNG ĐÁNH GIÁ CHẤT LƯỢNG
1.2.1 Chuỗi ISO/IEC 9126
ISO 9126 là tiêu chuẩn quốc tế đánh giá phần mềm. Tiêu
chuẩn này được giám sát bởi dự án SQuaRE, ISO 25000:2005 dựa
trên các khái niệm chung tương đương nhau.
Tiêu chuẩn này được phân chia thành 4 phần tuân theo một
cách nghiêm ngặt các tiêu chí sau: mẫu chất lượng, hệ đo lường bên
ngoài và bên trong, chất lượng khi sử dụng hệ đo lường này.
 9126-1 Đưa ra mô hình chất lượng sản phẩm phần mềm.
 9126-2 Phép đánh giá chất lượng ngoài.
 9126-3 Phép đánh giá chất lượng trong.
 9126-4 Phép đánh giá chất lượng sản phẩm phần mềm
trong quá trình sử dụng.

25
Chúng ta đều hiểu rằng xây dựng một qui trình quản lý chất
lượng tốt chính là làm tăng lợi nhuận hơn gấp nhiều lần. Muốn làm
được việc ấy, hiển nhiên phải có người đưa ra qui trình tốt. Vì thế,
đòi hỏi PQA phải có kiến thức sâu về công nghệ thông tin để hiểu hết
công việc trong phạm vi hệ thống mình đang quản lý, đặc biết là khả

năng tổ chức, tư duy logic và có hệ thống. Đây là điều rất hạn chế ở
trung tâm phần mềm Viettel với lực lượng nhân viên trẻ.
3.1.2 Hiện trạng việc đánh giá chất lượng phần mềm
Việc đánh giá chất lượng sản phẩm phần mềm tại trung tâm
còn nhiều hạn chế, thể hiện ở:
- Việc đánh giá chưa toàn diện: mới chỉ thực hiện đánh
giá chất lượng qui trình mà chưa có tiêu chuẩn để đánh
giá chất lượng sản phẩm nội bộ, chất lượng sản phẩm
đối sánh với yêu cầu người dùng (chất lượng hướng
ngoại), chất lượng phần mềm sử dụng.
- Thực hiện sản xuất nhiều loại phần mềm khác nhau, vì
vậy mức độ quan trọng của các thuộc tính chất lượng
được yêu cầu trong các phần mềm là khác nhau. Ví dụ,
phần mềm tính cước yêu cầu độ chính xác cao, thời
gian đáp ứng nhanh, độ bảo mật cao, trong khi một số
phần mềm hỗ trợ quản lý doanh nghiệp lại yêu cầu về
tính dễ sử dụng, dễ thao tác, điều khiển. Vì vậy, cần có
thời gian để xem xét các tiêu chí chất lượng trên từng
loại phần mềm.
3.2 QUI TRÌNH ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM

24
Chương 3
ĐỀ XUẤT QUI TRÌNH ĐÁNH GIÁ CHẤT LƯỢNG PHẦN
MỀM TẠI TRUNG TÂM PHẦN MỀM VIETTEL

Chương này sẽ trình bày hiện trạng việc đánh giá chất lượng
phần mềm tại trung tâm phần mềm Viettel. Bất kỳ tổ chức, cơ quan
nào đều mong muốn có những sản phẩm phần mềm đạt chất lượng
cao, vì vậy qui trình đánh giá chất lượng rất được quan tâm. Tác giả

đồ án đề xuất một qui trình đánh giá thực hiện tại trung tâm phần
mềm Viettel.

3.1 HIỆN TRẠNG CHẤT LƯỢNG PHẦN MỀM TẠI TRUNG
TÂM PHẦN MỀM VIETTEL
3.1.1 Hiện trạng việc đảm bảo chất lượng phần mềm
Trong trung tâm phần mềm, kỹ sư chất lượng được chia thành
PQA (Process Quality Assurance – bảo đảm chất lượng qui trình) và
SQA (Software Quality Assurance – bảo đảm chất lượng phần mềm).
SQA thực hiện kiểm tra đầu ra trung gian của sản phẩm, để sản phẩm
đạt được sự nhất quán trong quá trình thực hiện. PQA có hai việc
chính: một là xây dựng hệ thống qui trình cho doanh nghiệp, hai là
thực hiện giám sát, kiểm tra việc thực hiện qui trình của từng bộ
phận, từng dự án, từ đó tổng hợp thông tin để đưa ra những cải tiến
cho qui trình hoạt động tốt.

9
1.2.2 ISO/IEC 14598
ISO/IEC 14598 bao gồm 6 phần chính dưới tiêu đề chung:
Công nghệ thông tin – Đánh giá sản phẩm phần mềm.
Phần 1: Tổng quan
Phần 2: Lập kế hoạch và quản lý
Phần 3: Quy trình cho người phát triển
Phần 4: Quy trình cho người sử dụng
Phần 5: Quy trình cho người đánh giá
Phần 6: Tài liệu các hợp phần đánh giá
1.2.3 IEEE 1061 (1992)
Chuẩn này cung cấp phương pháp luận để xác định yêu cầu
chất lượng cần đạt, đồng thời chỉ rõ cách phân tích, ứng dụng quy
trình kiểm tra tham số phần mềm. Phương pháp luận này áp dụng cho

tất cả các giai đoạn trong chu trình của bất cứ phần mềm nào.
Đối tượng sử dụng:
- Người quản lý dự án để xác định yêu cầu chất lượng cho hệ
thống.
- Người phát triển hệ thống nên thiết kế phần mềm thế nào
nhằm đáp ứng yêu cầu chất lượng.
- Người thẩm định phần mềm có thể đánh giá phần mềm có
đạt được các yêu cầu chất lượng không.
- Người vận hành hệ thống để quản lý các thay đổi trong quá
trình nâng cấp sản phẩm.

10
- Người sử dụng đặc tả yêu cầu chất lượng cho hệ thống.
Phương pháp xác định tham số chất lượng
Các bước trong phương pháp:
- Xây dựng yêu cầu chất lượng phần mềm.
- Xác định tham số chất lượng.
- Áp dụng tham số chất lượng: thu thập thông tin và áp
dụng tham số chất lượng cho từng pha trong chu trình
phần mềm.
- Phân tích kết quả tham số chất lượng phần mềm. Các kết
quả phải được phân tích và báo cáo hỗ trợ điều chỉnh
hướng phát triển phần mềm và hoàn thiện nó.
- Thông qua tham số phần mềm.
1.2.4 ISO 12119
Nội dung Bộ tiêu chuẩn ISO/IEC 12119 là về đánh giá gói
sản phẩm phần mềm. Tiêu chuẩn ISO/IEC 12119:1994 được áp dụng
để đánh giá chung cho các tài liệu hướng dẫn, tài liệu mô tả sản
phẩm, chương trình và dữ liệu và kiểm thử phần mềm.



23
3. Đòi hỏi các bên liên quan trong việc xác định kích cỡ
của loss Sq(L) dựa trên quan hệ ước lượng giá trị cho
thuộc tính chất lượng phần mềm
4. Đòi hỏi các bên liên quan trong việc xác định rủi ro
của market erosion m RE dựa trên thời gian giao
hàng của sản phẩm
5. Áp dụng VBSQM để đánh giá khả năng tổn thất cho
tập giá trị của “Required Reliability” xếp hạng từ
Very Low đến Very High dựa trên mật độ lỗi được
giao tương đối
6. Áp dụng VBSQM để kết hợp các nguy cơ rủi ro của
chất lượng phần mềm với nguy cơ rủi ro của market
erosion để tìm “sweet spot”.


22
4. Nhập trình điều khiển chất lượng phần mềm thay thế
và cơ bản vào COCOMO II và COQUALMO và
được chi phí thay thế và ước lượng chất lượng
5. Liên quan đến các đối tượng trong việc xác định các
form phù hợp và tham số cho quan hệ ước tính giá trị
6. Áp dụng VBSQM để đánh giá chi phí, lợi nhuận, 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
2.3.2.2 Kịch bản 2: Phân tích rủi ro Combined Risk Analyses
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à sói mòn thị phần như sau:
1. Ước tính kích cỡ phần mềm về mặt giá trị gia tăng
2. Nhập kích cỡ dự án và chi phí 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 (độ tin cậy yêu cầu) từ mức Very Low
đến Very High

11
Chương 2

CƠ SỞ LÝ THUYẾT ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM
DỰA TRÊN GIÁ TRỊ

Chương 2 giới thiệu định nghĩa về công nghệ phần mềm dựa trên
giá trị và phân tích chất lượng phần mềm dựa trên giá trị. Đây là
cách tiếp cận mới để đánh giá chất lượng phần mềm: xem xét khía
cạnh kinh tế trong toàn bộ chu kỳ phát triển phần mềm. Trước hết
phải có những hiểu biết về công nghệ phần mềm dựa trên giá trị
(Value-base software engineering – VBSE). Tiếp theo sẽ nêu định
nghĩa về chất lượng phần mềm dựa trên giá trị, định nghĩa các thuộc
tính chất lượng phần mềm dựa trên giá trị, xây dựng mẫu chất lượng
phần mềm dựa trên giá trị
2.1 CÔNG NGHỆ PHẦN MỀM DỰA TRÊN GIÁ TRỊ

(VALUE-BASED SOFTWARE ENGINEERING – VBSE)
VBSE là một qui tắc mà xem xét các khía cạnh kinh tế trong
toàn bộ chu kỳ phát triển phần mềm. Nó có thể được định nghĩa là
một mô hình phát triển phần mềm trong đó yêu cầu giá trị thương
mại được xem là quan trọng và bình đẳng trong các tiến trình phần
mềm, quản lý và quyết định công nghệ, công cụ, kỹ thuật sử dụng
trong suốt vòng đời phần mềm.
Cùng với sự phát triển của VBSE, những thách thức khác
nhau đã phát sinh như phát triển các mô hình mới, công cụ, kỹ thuật
và phương pháp hoặc thậm chí mở rộng những cái hiện có để kích
hoạt tính năng lập ké hoạch, phân tích, mô hình hóa, thực hiện, kiểm

12
tra và theo dõi giá trị khác nhau được quan tâm trong suốt các pha
phát triển phần mềm. Nó cũng cho phép các bên liên quan (gồm
doanh nghiệp, quản lý kỹ thuật, nhân viên phát triển, phân tích dịch
vụ, người dùng) đo mối quan tâm các giá trị khác nhau và phân tích
giá trị thương mại. Hơn nữa, các mô hình như vậy giúp các nhà quản
lý kinh doanh quyết định về tài chính tại bất kỳ giai đoạn của chu kỳ
phát triển phần mềm khả thi hơn và toàn diện hơn.
2.2 HẤT LƯỢNG PHẦN MỀM DỰA TRÊN GIÁ TRỊ
2.2.1 Quan điểm của các đối tượng về chất lượng phần mềm
Trong quá trình phát triển phần mềm, có rất nhiều cái nhìn
khác nhau về chất lượng phần mềm vì thế cũng có nhiều cách khác
nhau để đánh giá chất lượng phần mềm từ những quan điểm chưa đầy
đủ này.
Những dự án gồm nhiều đối tượng liên quan lớn và không
đồng nhất với nhiều nhu cầu và quan điểm về chất lượng khác nhau.
Những hệ thống khác nhau có những đối tượng liên quan khác nhau
và những đối tượng này phụ thuộc vào hệ thống theo những cách

khác nhau. Vì vậy, “chất lượng” có thể có ý nghĩa khác nhau đối với
những lĩnh vự (domain) ứng dụng phần mềm khác nhau, hệ thống
phần mềm khác nhau. Thậm chí với cùng một hệ thống, những đối
tượng khác nhau có những cái nhìn khác nhau và định nghĩa khác
nhau về “chất lượng”
Vì vậy, bước đầu tiên để hiểu thế nào là chất lượng phần
mềm là xác định được các lớp đối tượng cho hệ thống phần mềm và
mô tả mức độ phụ thuộc của các đối tượng trên những thuộc tính

21
2.3.2 Khung làm việc tích hợp: Mô hình chất lượng phần mềm
dựa trên giá trị
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à đủ cả về ROI và rủi ro
kết hợp . Phần 2.3.2.1 trình bày thủ tục phân tích ROI chất lượng
phần mềm, phần 2.3.2.2 trình bày thủ tục của VBSQM phân tích rủi
ro và sự sói mòn thị phần.
2.3.2.1 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 định lượng mức độ chất
lượng phần mềm phù hợp với một dự án phần mềm cụ thể, lớp kịch
bản dự án, lớp dự án cụ thể.
Phân tích ROI dự trên chi phí (cost) và giá trị sinh ra để đầ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 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 dành riêng

2. Ước lượng kích cỡ phần mềm về mặt khả năng gia
tăng giá trị
3. Nhập giá trị kích cỡ và chi phí cơ bản vào COCOMO
II để có đự đoán được chi phí cơ bản

20
khuyết mà yêu cầu phần mềm, thiết kết và mã được giới thiệu, và
một mô hình loại bỏ khiếm khuyết.
2.3.1.3 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.3).
Quan hệ giữa COCOMO II và COQUALMO dựa trên xêp
hạng COQUALMO về 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.3). 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:
2.3.1.4 Mô hình giá trị của các bên liên quan
Trong phần này sẽ trình bày một mẫu ví dụ về hàm giá trị để
đạt được mức của thuộc tính chất lượng cho các lớp đối tượng khác
nhau, cụ thể là tính sẵn sàng của hệ thống (availability).
VBSQM cần giá trị VER về chất lượng phần mềm cung cấp
bởi các đối tượng liên quan đến hệ thống, để đánh giá chi phí đầu tư
và mức chất lượng phần mềm. Giả sử rằng các đối tượng thực hiện
phân tích các thành phần giá trị khác nhau (lợi nhuận, sự thỏa mãn
khách hàng) như một hàm về khả năng xử lý thông tin theo thời gian.

Một quan hệ giá trị và tính sẵn sàng được thể hiện ở hình 2.5.

13
khác nhau của hệ thống thông tin được đưa ra. Bao gồm việc trả lời
ba câu hỏi chính:
- Thuộc tính chất lượng đầu tiên nào của hệ thống phần mềm
mà những đối tượng liên quan phụ thuộc vào?
- Những lớp đối tượng nào phụ thuộc vào các thuộc tính
- Đối với mỗi lớp đối tượng, mức độ phụ thuộc trên các thuộc
tính như thế nào?
Dựa trên những hiểu biết về sự phụ thuộc của các đối tượng
vào các thuộc tính chất lượng, theo lý tưởng, mỗi đối tượng mong
muốn có một tập các trọng số thuộc tính được kết hợp thành một
metric đơn có thể được sử dụng như những tiêu chuẩn đánh giá chất
lượng hệ thống đạt được. Tuy nhiên, những độ phụ thuộc này có thể
thay đổi bởi ngữ cảnh và kịch bản khác nhau, vì vậy những
metric chất lượng truyền thống hoặc các mẫu chất lượng đều
không phù hợp.
2.2.2 Định nghĩa thuộc tính chất lượng phần mềm dựa trên
giá trị
VBSQ (value-based software quality): chất lượng phần mềm
dựa trên giá trị.
Thuộc tính chất lượng dựa trên giá trị được định nghĩa khác
với cách định nghĩa truyền thống trong đó chúng được tham chiếu
trực tiếp tới những giá trị của các đối tượng quan trọng.
Có rất nhiều định nghĩa khác nhau về tính an toàn – safety,
tính bảo mật – security, tính riêng tư – privacy. Chúng ta sẽ đề xuất

14
định nghĩa chúng dựa trên giá trị sao cho ít mơ hồ nhất, thích hợp với

những chuẩn hiện tại, và hợp lý.

19
Tuy nhiên, trong hầu hết các tổ chức, đề xuất đầu tư trong chất lượng
phần mềm cạnh tranh về tài nguyên giới hạn với đề xuất đầu tư trong
phần mềm và chức năng hệ thống, tốc độ phát triển và khả năng của
hệ thống.
2.3.1 Thành phần của VBSQM
VBSQM tích hợp quan hệ ước lượng chi phí ( cost
estimating relationships CER’s) từ mô hình chi phí xây dựng
COCOMO II; quan hệ ước lượng các thuộc tính chất lượng (QER’s)
từ mô hình 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:
2.3.1.1 Software Cost Model: COCOMO II
Tập các quan hệ dự toán chi phí (CER) được cung cấp bởi
mô hình COCOMO II. Tham số CER cho phép người dùng biểu diễn
khả năng xử lý thông tin theo từng giai đoạn thời gian về mặt kích
thước phần mềm tương đương và ước lượng chi phí đầu tư chu kỳ
sống của phần mềm theo từng giai đoạn về kích cỡ của phần mềm và
sản phẩn của dự án, nền tảng, con người và thuộc tính dự án.
2.3.1.2 Software Quality Model: COQUALMO
Là mô hình mở rộng từ mô hình COCOMO, COQUALMO
cho phép người dùng xác định các mức đầu tư theo pha thời gian
trong việc cải tiến thuộc tính độ tin cậy, và để ước lượng kết quả các
mức của thuộc tính độ tin cậy theo từng pha thời gian (time-phased).
Phiên bản hiện tại của COQUALMO ước lượng mật độ khiếm khuyết
dưới dạng một mô hình giới thiệu khiếm khuyết ước tính tỉ lệ khiếm

18

2.2.3 Các metric chất lượng phần mềm dựa trên gía trị (VBSQ
metric)
Khi những hệ thống phần mềm khác nhau có những đối
tượng liên quan khác nhau và tồn tại nhiều chuỗi hoạt động trong hệ
thống phần mềm, những mẫu chất lượng phần mềm truyền thống
không được thích hợp nữa. Dựa vào những định nghĩa về chất lượng
phần mềm dựa trên giá trị được mô tả ở phần trước, những value-
based metric được đề xuất để đo chất lượng phần mềm đạt được.
Những thành phần chính của metric chất lượng dựa trên giá trị được
tóm tắt như sau:
1. Có S các đối tượng liên quan đến dự án.
2. Có Q
j
các thuộc tính chất lượng mà success-critical
stakeholder phụ thuộc vào
3. Các kịch bản liên quan đến mỗi thuộc tính Q
j

4. Ma trận lưu các đối tượng có thể chấp nhận mức AL
j
,
mong muốn ở mức DL
j
, phụ thuộc vào P
ij
của thuộc tính
chất lượng Q
ij
là mức độ Aj thể hiện mức của thuộc tính
Q

j

2.3 MÔ HÌNH CHẤT LƯỢNG PHẦN MỀM DỰA TRÊN GIÁ
TRỊ (VBSQ MODEL)
Những đối tượng khác nhau sử dụng các thuộc tính chất
lượng khác nhau (ví dụ: tính sẵn sàng – availability, tính an toàn –
safety, bảo mật và hiệu năng) theo các cách khác nhau ở những
trường hợp khác nhau. Vì vậy trong môi trường kinh doanh chất
lượng phần mềm phải sử dụng nhiều giá trị thuộc tính khác nhau.

15
Định nghĩa dựa trên giá trị về độ an toàn, bảo mật, riêng tư:
Định nghĩa như sau:
Một hệ thống cung cấp độ an toàn để giảm sự mất mát giá trị
mong đợi của các bên liên quan do các nguyên nhân do chết, tổng
thương hoặc hỏng thiết bị hoặc môi trường.
Một hệ thống cung cấp độ bảo mật để giảm sự mất mát giá trị
(loss of value) mong đợi của các bên liên quan từ việc truy cập, sử
dụng trái phép, sửa chữa hoặc phá hoại thông tin bao gồm những mất
mát về tài chính.
Một hệ thống cung cấp tính riêng tư để giảm sự mất mát giá
trị mong đợi của các bên liên quan từ việc truy cập trái phép hoặc tiết
lộ, thay đổi thông tin cá nhân bao gồm tổn thất về tài chính và mất
danh tiếng.
2.2.2.1 Các thuộc tính mạnh: độ tin cậy, tính sẵn sàng ( Reliability,
Availability
Độ tin cậy:
Một hệ thống cung cấp độ tin cậy đến mức tối đa hóa khả
năng hệ thống cung cấp mức mong muốn về dịch vụ (tính chính xác,
hiệu quả, hiệu năng) đối với một cấu hình hoạt động hệ thống trong

một khoảng thời gian nhất định.
Như vậy, định nghĩa này có nghĩa là số thể hiện độ tin cậy sẽ
khác nhau đối với cùng một hệ thống và cấu hình hoạt động, nếu các
bên liên quan khác nhau yêu cầu trên hệ thống sẽ mong muốn mức về
dịch vụ khác nhau. Điều này dẫn tới khó có thể có một giá trị duy

16
nhất phù hợp về độ tin cậy. Nhưng các giá trị số khác nhau cho các
bên liên quan thấy rằng hệ thống có đủ tin cậy hay không.
Tính sẵn sàng:
Một hệ thống cung cấp tính sẵn sàng trong phạm vi nó tối ưu
hóa khoảng thời gian mà hệ thống sẽ cung cấp mức mong muốn về
dịch vụ với một cấu hình hoạt động
Cũng giống như độ tin cậy, tính sẵn sàng sẽ thay đổi theo các
đối tượng với những mức mong muốn về dịch vụ khác nhau (nó cũng
thay đổi theo các cấu hình hoạt động khác nhau). Tính sẵn sàng được
tính bằng MTBF/(MTBF + MTTR)
MTBF: thời gian trung bình giữa các sự cố (Mean Time
Between failure)
MTTR: thời gian trung bình để sửa (Mean Time to repair)
2.2.2.2 Thuộc tính chất lượng dịch vụ: Hiệu suất, độ chính xác, khả
năng sử dụng
Hiệu suất:
Một hệ thống cung cấp hiệu suất trong phạm vi nó tối đa hóa
giá trị xử lý thông tin trong những nguồn lực sẵn có (bộ xử lý, thiết bị
lưu trữ, băng thông…) được sử dụng để xử lý khối lượng công việc
của hệ thống (số lượng và phân phối dịch vụ được yêu cầu/ chức
năng trong một khoảng thời gian). Hay một định nghĩa khác là: một
hệ thống cung cấp hiệu suất trong phạm vi mà nó cung cấp cho các
bên liên quan lượng thông tin mong muốn với việc sử dụng nguồn tài

nguyên giới hạn và thời gian đáp ứng tối thiểu.

17
Các bên liên quan khác nhau sẽ có giá trị khác nhau về hiệu
năng hệ thống (thời gian đáp ứng, mức độ chính xác) khi chúng phụ
thuộc vào hệ thống theo các cách khác nhau. Hơn nữa, ngay cả các
giá trị mong muốn của cùng đối tượng có thể khác nhau với bối cảnh
hoạt động khác nhau. Vì vậy một metric phù hợp cho tất cả về hiệu
năng là không thể.
Độ chính xác:
Một hệ thống cung cấp độ chính xác: nó giảm thiểu sự khác
biệt giữa kết quả tính toán khi chuyển giao và số lượng thế giới thực
mà chúng đại diện
Khả năng sử dụng:
Một hệ thống cung cấp khả năng sử dụng nghĩa là nó tối đa
hóa giá trị của khả năng hưởng lợi từ hệ thống của một cộng đồng
người dùng đối với một cấu hình hoạt động.
Việc đo khả năng sử dụng sẽ dựa trên nhiều yếu tố: tránh
dùng sai, tính có thể kiểm soát, dễ hiểu, dễ học…Một hệ thống phần
mềm có thể được truy cập theo nhiều cách khác nhau bới nhiều đối
tượng. Ví dụ, quản trị hệ thống có thể truy cập vào một giao diện
khác với những gì mà người sử dụng thông thường truy cập. Do đó,
phép đo khả năng sử dụng nên thay đổi theo từng đối tượng sử dụng
hệ thống

×