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
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
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
2928
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á
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.
đượ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
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ả
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.
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Ị
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
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
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
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