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

Kiểm định phần mềm ứng dụng trên hệ thống phần mềm dịch vụ cho điện thoại di động

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 (1.19 MB, 91 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------Nguyễn Minh Ngọc

KIỂM ĐỊNH PHẦN MỀM ỨNG DỤNG TRÊN HỆ THỐNG PHẦN
MỀM DỊCH VỤ CHO ĐIỆN THOẠI DI ĐỘNG

Chuyên ngành : Công nghệ thông tin

LUẬN VĂN THẠC SĨ KHOA HỌC
CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. Trần Minh

Hà Nội – 2011

1


Lời cam đoan
Tôi xin cam đoan: Bản luận văn này là cơng trình nghiên cứu thực sự của cá
nhân, được thực hiện trên cơ sở nghiên cứu lý thuyết, khảo sát các hệ thống phần
mềm trong thực tiễn và dưới sự hướng dẫn khoa học của Tiến sĩ Trần Minh.
Các số liệu và những kết quả trong luận văn là trung thực. Phương án đánh
giá, kiểm định chất lượng hệ thống phần mềm dịch vụ cho điện thoại di động đưa ra
xuất phát từ thực tiễn sản xuất tại đơn vị công tác của cá nhân tôi, chưa từng được
công bố dưới bất cứ hình thức nào trước khi trình và bảo vệ.
Một lần nữa, tôi xin khẳng định về sự trung thực của lời cam kết trên.

i




Danh mục các ký hiệu, các chữ viết tắt
Ký hiệu

STT

Ý nghĩa
International Organization of Standardization (Tổ

1

ISO

2

ISO/IEC 9126

3

ISO 8402

4

ISO/IEC 14598

5

SMS


6

WAP

7

VOD

Video on demand ( Video theo yêu cầu)

8

Live TV

Truyền hình trực tiếp

chức tiêu chuẩn hóa quốc tế
Tiêu chuẩn số 9126 (tiêu chuẩn này là kết quả từ các
công việc của JTC1)
Tiêu chuẩn số 8402
Tiêu chuẩn số 14598 (tiêu chuẩn này là kết quả từ các
công việc của JTC1)
Short message (tin nhắn văn bản)
Wireless Application Protocol (Giao thức ứng dụng
không dây)

ii


Danh mục các bảng

Bảng 1: Bảng các trọng số chất lượng đối với các phân hệ của hệ thống phần mềm
U
T
0
3

dịch vụ cho điện thoại di động ............................................................................... 35
T
0
3
U

Bảng 2: Hàm trọng số cho các thuộc tính chất lượng ............................................. 39
U
T
0
3

T
0
3
U

Bảng 3: Tiêu chuẩn xếp hạng phần mềm ............................................................... 39
U
T
0
3

T

0
3
U

Bảng 4: Mức chất lượng của các phân hệ trong hệ thống phần mềm dịch vụ cho
U
T
0
3

điện thoại di động .................................................................................................. 40
30T
U

Bảng 5: Trọng số cho các độ đo các thuộc tính chất lượng hệ thống phần mềm dịch
U
T
0
3

vụ cho điện thoại di động....................................................................................... 42
30T
U

Bảng 6: Bảng tiêu chí chất lượng ........................................................................... 44
U
T
0
3


T
0
3
U

Bảng 7: Bảng phân mức chất lượng dựa trên các yếu tố ảnh hưởng [4].................. 46
U
T
0
3

T
0
3
U

Bảng 8: Bảng mức chất lượng đối với hệ thống phần mềm dịch vụ cho điện thoại di
U
T
0
3

động ...................................................................................................................... 47
T
0
3
U

Bảng 9: Bảng các kỹ thuật đánh giá chất lượng phần mềm [4] ............................... 48
U

T
0
3

T
0
3
U

Bảng 10: Bảng các đầu vào đánh giá ..................................................................... 50
U
T
0
3

T
0
3
U

Bảng 11: Bảng các đặc tính chất lượng và các đặc tính chất lượng con .................. 53
U
T
0
3

T
0
3
U


Bảng 12: Bảng thang mức đánh giá chất lượng phần mềm..................................... 58
U
T
0
3

T
0
3
U

Bảng 13: Bảng mức đánh giá chất lượng phân hệ WAP ......................................... 58
U
T
0
3

T
0
3
U

Bảng 14: Bảng các độ đo chất lượng ngoài và trọng số .......................................... 59
U
T
0
3

T

0
3
U

Bảng 15: Bảng các độ đo chất lượng sử dụng và trọng số ...................................... 60
U
T
0
3

T
0
3
U

Bảng 16: Bảng lựa chọn kỹ thuật đánh giá chất lượng phân hệ WAP..................... 61
U
T
0
3

T
0
3
U

Bảng 17: Bảng các độ đo chất lượng ngoài cho phân hệ WAP và tiêu chí đo ......... 67
U
T
0

3

T
0
3
U

Bảng 18: Bảng các độ đo hiệu suất phân hệ WAP và tiêu chí đo............................ 68
U
T
0
3

T
0
3
U

Bảng 19: Bảng các độ đo mức độ an tồn của phân hệ WAP và tiêu chí đo ........... 69
U
T
0
3

T
0
3
U

Bảng 20: Bảng các độ đo năng suất phân hệ WAP và tiêu chí đo........................... 71

U
T
0
3

T
0
3
U

Bảng 21: Bảng các độ đo mức độ hài lòng đối với phân hệ WAP và tiêu chí đo .... 72
U
T
0
3

T
0
3
U

Bảng 22: Bảng các trường hợp kiểm thử................................................................ 73
U
T
0
3

T
0
3

U

Bảng 23: Các giá trị độ đo thu được ...................................................................... 76
U
T
0
3

T
0
3
U

Bảng 24: Giá trị các đặc trưng con......................................................................... 77
U
T
0
3

T
0
3
U

iii


Bảng 25: Giá trị các đặc trưng con theo phương án không thực hiện trên Iphone ... 78
U
T

0
3

T
0
3
U

iv


Danh mục các hình vẽ
Hình 1: Chất lượng phần mềm ................................................................................. 4
U
T
0
3

T
0
3
U

Hình 2: Tương quan giữa chất lượng với các u cầu .............................................. 7
U
T
0
3

T

0
3
U

Hình 3: Mơ hình chất lượng trong và chất lượng ngồi của phần mềm .................. 10
U
T
0
3

T
0
3
U

Hình 4: Mơ hình chất lượng sử dụng theo ISO/IEC 9126 ...................................... 11
U
T
0
3

T
0
3
U

Hình 5: Qui trình đánh giá chất lượng phần mềm theo ISO/IEC 14598.................. 12
U
T
0

3

T
0
3
U

Hình 6: Chất lượng phần mềm trong chu kỳ sống của phần mềm .......................... 15
U
T
0
3

T
0
3
U

Hình 7: Sự phụ thuộc của các thuộc tính chất lượng .............................................. 17
U
T
0
3

T
0
3
U

Hình 8: Lựa chọn mức chât lượng ......................................................................... 19

U
T
0
3

T
0
3
U

Hình 9: Kiến trúc tổng thể hệ thống MobileTV...................................................... 25
U
T
0
3

T
0
3
U

Hình 10: Mơ hình phân lớp phân hệ SMS .............................................................. 26
U
T
0
3

T
0
3

U

Hình 11: Mơ hình phân lớp phân hệ CMS ............................................................. 28
U
T
0
3

T
0
3
U

Hình 12: Mơ hình phân lớp phân hệ Mobile Client ................................................ 29
U
T
0
3

T
0
3
U

Hình 13: Mơ hình phân lớp phân hệ WEB (Front-end) .......................................... 31
U
T
0
3


T
0
3
U

Hình 14: Mơ hình phân lớp phân hệ WAP ............................................................. 32
U
T
0
3

T
0
3
U

v


MỤC LỤC
Lời cam đoan .................................................................................................................. i
T
0
3

30T

Danh mục các ký hiệu, các chữ viết tắt......................................................................... ii
T
0

3

T
0
3

Danh mục các bảng ...................................................................................................... iii
T
0
3

30T

Danh mục các hình vẽ ................................................................................................... v
T
0
3

30T

MỞ ĐẦU ........................................................................................................................ 1
T
0
3

30T

Chương 1 – TỔNG QUAN ............................................................................................ 2
T
0

3

30T

Tổng quan về kiểm thử và đánh giá chất lượng phần mềm ......................... 2

1.1
T
0
3

T
0
3

30T

Các nguyên lý trong kiểm thử và đánh giá chất lượng phần mềm ............... 3

1.2
T
0
3

T
0
3

30T


T
0
3

Mơ hình chất lượng ISO/IEC 9126 [2]........................................................ 4

1.3
T
0
3

T
0
3

T
0
3

30T

T
0
3

1.3.1
T
0
3


30T

1.3.2
T
0
3

30T

1.3.3
T
0
3

30T

1.3.4
T
0
3

30T

1.3.5
T
0
3

30T


T
0
3

Chất lượng phần mềm và chu trình sống của phần mềm....................... 5
30T

T
0
3

Các yếu tố cần đánh giá ....................................................................... 8
30T

T
0
3

Mơ hình chất-lượng-trong và chất-lượng-ngồi.................................... 9
30T

T
0
3

Mơ hình chất-lượng-sử dụng .............................................................. 11
30T

T
0

3

30T

T
0
3

1.4.1
T
0
3

30T

1.4.2
T
0
3

30T

1.4.3
T
0
3

30T

1.4.4

T
0
3

30T

1.4.5
T
0
3

30T

1.4.6
T
0
3

30T

Các đặc tính cần lưu ý của công việc đánh giá ................................... 12
30T

T
0
3

Thiết lập các yêu cầu đánh giá ........................................................... 13
30T


T
0
3

Mô tả việc đánh giá............................................................................ 18
30T

T
0
3

Thiết kế các đánh giá ......................................................................... 21
30T

T
0
3

Thực hiện việc đánh giá ..................................................................... 21
30T

T
0
3

Hỗ trợ các quy trình ........................................................................... 22
30T

T
0

3

Vấn đề đánh giá chất lượng hệ thống phần mềm dịch vụ cho điện thoại di

1.5
T
0
3

T
0
3

Qui trình đánh giá chất lượng sản phẩm phần mềm ISO/IEC 14598[3] ..... 12

1.4
T
0
3

Cách tiếp cận chất lượng ...................................................................... 4
30T

T
0
3

30T

động 22

30T

vi


Chương 2 – HỆ THỐNG PHẦN MỀM DỊCH VỤ CHO ĐIỆN THOẠI DI
T
0
3

ĐỘNG VÀ CÁC YẾU TỐ ĐẶC TRƯNG .................................................................. 24
T
0
3

2.1
T
0
3

T
0
3

Tổng quan về hệ thống phần mềm dịch vụ cho điện thoại di động ............ 24
30T

T
0
3


Đối tượng của phần mềm ................................................................... 24

2.1.1
T
0
3

30T

30T

Về đặc điểm kỹ thuật ......................................................................... 24

2.1.2
T
0
3

30T

30T

30T

2.2
T
0
3


T
0
3

T
0
3

Kiến trúc của các hệ thống phần mềm dịch vụ cho điện thoại di động 24

2.1.3
T
0
3

T
0
3

30T

T
0
3

Kiến trúc và đặc điểm của các phân hệ trong một hệ thống phần mềm dịch
30T

vụ cho điện thoại di động ................................................................................... 26
30T


2.2.1
T
0
3

Phân hệ SMS ..................................................................................... 26

30T

30T

2.2.2
T
0
3

Phân hệ CMS(Back-end) ................................................................... 28

30T

30T

2.2.3
T
0
3

30T


2.2.4

30T

2.2.5
T
0
3

T
0
3

Phân hệ WAP .................................................................................... 32

30T

2.3
T
0
3

T
0
3

Phân hệ WEB(front-end) ................................................................... 31

30T


T
0
3

T
0
3

Phân hệ Mobile Client ....................................................................... 29

30T

T
0
3

30T

30T

30T

Phương án đánh giá chất lượng hệ thống phần mềm dịch vụ cho điện thoại
30T

di động ............................................................................................................... 33
30T

Chương 3 – XÂY DỰNG QUI TRÌNH ĐÁNH GIÁ CHẤT LƯỢNG HỆ
T

0
3

THỐNG PHẦN MỀM DỊCH VỤ CHO ĐIỆN THOẠI DI ĐỘNG VÀ THỰC
NGHIỆM ..................................................................................................................... 37
30T

3.1
T
0
3

T
0
3

Tiêu chí đánh giá chất lượng sản phẩm phần mềm.................................... 37
30T

T
0
3

3.1.1
T
0
3

30T


3.1.2
T
0
3

30T

3.1.3
T
0
3

30T

3.1.4
T
0
3

30T

3.2
T
0
3

T
0
3


Quan điểm, nguyên tắc thiết lập và quản lý, phát triển tiêu chí [4] ..... 37
30T

T
0
3

Nguyên tắc lựa chọn tiêu chí .............................................................. 37
30T

T
0
3

Bộ tiêu chí ban đầu ............................................................................ 40
30T

T
0
3

Các biện pháp để tiếp tục phát triển hệ thống tiêu chí......................... 44
30T

T
0
3

Qui trình đánh giá chất lượng phần mềm dịch vụ cho điện thoại di động .. 44
30T


T
0
3

vii


3.2.1
T
0
3

30T

Quan điểm, nguyên tắc thiết lập và quản lý, phát triển qui trình kiểm
30T

định, đánh giá phần mềm [4]........................................................................... 44
T
0
3

3.2.2
T
0
3

30T


3.3
T
0
3

T
0
3

Bộ Qui trình ban đầu.......................................................................... 45
30T

T
0
3

Thực nghiệm – Đánh giá chất lượng phân hệ WAP của hệ thống phần mềm
30T

MobileTV .......................................................................................................... 53
30T

3.3.1
T
0
3

30T

Mô tả chung về phạm vi ứng dụng và mục đích của phân hệ WAP

30T

trong hệ thống MobileTV................................................................................ 53
30T

3.3.2
T
0
3

30T

3.3.3
T
0
3

30T

3.3.4
T
0
3

30T

3.3.5
T
0
3


30T

3.3.6
T
0
3

30T

3.3.7
T
0
3

30T

3.3.8
T
0
3

30T

3.3.9
T
0
3

30T


Các yêu cầu cần đánh giá ................................................................... 54
30T

T
0
3

Lựa chọn các đặc trưng chất lượng .................................................... 59
30T

T
0
3

Lựa chọn kỹ thuật đánh giá chất lượng phần mềm ............................. 60
30T

T
0
3

Thông tin đánh giá và các độ đo......................................................... 61
30T

T
0
3

Thiết kế kiểm thử và đánh giá phân hệ WAP ..................................... 73

30T

T
0
3

Thực hiện kiểm thử ............................................................................ 75
30T

T
0
3

Kết quả .............................................................................................. 77
30T

30T

Kết luận ............................................................................................. 78
30T

30T

Chương 4 – KẾT QUẢ VÀ BÀN LUẬN .................................................................... 79
T
0
3

T
0

3

4.1
T
0
3

T
0
3

4.2
T
0
3

T
0
3

Những kết quả đạt được............................................................................ 79
30T

T
0
3

Bàn luận ................................................................................................... 80
30T


30T

KẾT LUẬN VÀ KIẾN NGHỊ ..................................................................................... 81
T
0
3

T
0
3

TÀI LIỆU THAM KHẢO ........................................................................................... 82
T
0
3

30T

viii


MỞ ĐẦU
Những năm gần đây, thế giới nói chung và nước ta nói riêng đã chứng
kiến sự phát triển bùng nổ của ngành viễn thông. Nếu như trong thập kỷ trước,
các hãng viễn thông cạnh tranh nhau về số lượng thuê bao thì những năm trở
lại đây, khi thị trường viễn thơng của ta gần như đã bão hịa, việc cạnh tranh
chuyển dần sang chất lượng mạng và các dịch vụ đi kèm. Chính vì thế, việc
phát triển các dịch vụ cho điện thoại di động là chiến lược không thể bỏ qua
của tất cả các công ty viễn thông. Chất lượng của các dịch vụ đó càng được
coi trọng vì nó là yếu tố quyết định tới sự thành cơng của mỗi cơng ty. Từ xu

hướng chung đó, cùng với thực tế đang làm việc tại một công ty viễn thông,
tác giả đã chọn đề tài nghiên cứu và đề xuất phương pháp đánh giá, kiểm định
chất lượng của hệ thống phần mềm dịch vụ cho điện thoại di động.
Luận văn tập trung tìm hiểu về các nguyên lý trong kiểm thử, đánh giá
phần mềm, mơ hình chất lượng ISO/IEC 9126 và qui trình đánh giá chất lượng
phần mềm ISO/IEC 14598. Tiếp đó, tác giả nghiên cứu đề tìm ra những đặc
trưng chung nhất của các hệ thống phần mềm dịch vụ cho điện thoại di động.
Từ đó, tác giả đề xuất phương pháp đánh giá chất lượng các hệ thống phần
mềm này. Cuối cùng, tác giả thử nghiệm phương pháp đã đề xuất vào một
phân hệ của hệ thống phần mềm dịch vụ MobileTV (truyền hình di động qua
sóng 3G) và đánh giá kết quả đạt được.

1


Chương 1 – TỔNG QUAN
1.1 Tổng quan về kiểm thử và đánh giá chất lượng phần mềm
Kiểm thử giúp đo chất lượng phần mềm với số lượng các lỗi tìm thấy, số
lượng trường hợp kiểm thử được thực hiện và độ phủ hệ thống của các kịch
bản kiểm thử. Kiểm thử được thực hiện việc này cho cả các thuộc tính chức
năng và phi chức năng của phần mềm. Một kịch bản kiểm thử được thiết kế tốt
sẽ phát hiện ra các lỗi nếu có và do đó, nếu các trường hợp kiểm thử trong
kịch bản kiểm thử đó đạt, chúng ta sẽ đảm bảo tốt hơn về chất lượng phần
mềm và có thể xác nhận rằng rủi ro ở mức tổng thể của hệ thống đã được giảm
xuống. Khi kiểm thử tìm ra lỗi, chất lượng hệ thống tăng lên sau khi các lỗi đó
được sửa, với điều kiện việc sửa lỗi được thực hiện một cách đúng đắn.
Các dự án có mục đích đưa ra phần mềm phù hợp với đặc tả. Để dự án đưa
ra được cái mà khách hàng u cầu thì cần có một đặc tả chính xác. Thêm vào
đó, hệ thống được chuyển giao phải phù hợp với đặc tả. Việc này chính là
Validation (Đặc tả có đúng khơng?) và Verification(hệ thống có đúng với đặc

tả không?). Tất nhiên, cũng như muốn hệ thống phần mềm được xây dựng
đúng, khách hàng muốn dự án phải nằm trong ngân quĩ và khoảng thời gian
nhất định – nó cần hồn thành khi khách hàng muốn và không quá đắt.
Một điều rất quan trọng là đội dự án, khách hàng và những bên liên quan
đến dự án thiết lập và thỏa thuận về các kết quả mong đợi. Chúng ta cần hiểu
cái mà khách hàng hiểu là chất lượng và cái mà họ mong đợi là gì. Cái mà
chúng ta trong vai trò người phát triển và kiểm thử phần mềm coi là chất
lượng – là phần mềm đáp ứng các đặc tả đã xác định, là xuất sắc về mặt kĩ
thuật và có một số lỗi trong nó – có thể khơng đưa ra được giải pháp chất
lượng cho khách hàng. Hơn nữa, nếu khách hàng nhận ra rằng họ đã bỏ ra
nhiều tiền hơn họ muốn hoặc phần mềm không giúp đỡ họ thực hiện cơng việc
của họ, họ sẽ khơng có ấn tượng gì với ưu điểm kĩ thuật của giải pháp. Nếu
khách hàng muốn một chiếc ô tô rẻ để đi lại và chỉ có một lượng ngân quĩ nhỏ
2


thì một chiếu ơ tơ thể thao đắt tiền hoặc một xe tăng không phải là giải pháp
chất lượng, mặc dù chúng được chế tạo rất tốt.
1.2

Các nguyên lý trong kiểm thử và đánh giá chất lượng phần mềm

Hiện nay chúng ta có 7 nguyên lý kiểm thử được đưa ra và cơng nhận. Các
ngun lý này có thể coi là chỉ dẫn chung nhất cho tất cả các kiểu kiểm thử
cũng như đánh giá chất lượng phần mềm
Nguyên lý 1: Kiểm thử chỉ ra sự có mặt của lỗi [1]
Kiểm thử có thể chỉ ra lỗi nhưng khơng thể chứng minh rằng hệ thống khơng
có lỗi. Việc kiểm thử làm giảm xác suất các lỗi chưa được phát hiện trong
phần mềm, nhưng cho dù ta khơng tìm thấy một lỗi nào trong phần mềm thì
cũng khơng thể chứng minh rằng phần mềm hồn tồn khơng có lỗi.

Ngun lý 2: Kiểm thử tồn bộ là khơng thể [1]
Kiểm thử mọi thứ (tất cả các kết hợp giữa đầu vào với điều kiện đầu) là không
khả thi trừ một số trường hợp tầm thường. Thay vì kiểm thử tồn bộ, chúng ta
nên đánh giá rủi ro và đặt độ ưu tiên để tập trung nguồn lực kiểm thử.
Nguyên lý 3: Kiểm thử nên tiến hành sớm [1]
Trong chu trình phát triển phần mềm, việc kiểm thử nên tiến hành càng sớm
càng tốt và nên tập trung vào các mục tiêu xác định.
Nguyên lý 4: Phân loại lỗi [1]
Một lượng nhỏ các module chứa hầu hết các lỗi khơng được tìm ra trước khi
kiểm thử hoặc chỉ ra thất bại khi vận hành.
Nguyên lý 5: Nghịch lý kiểm thử [1]
Nếu một kịch bản kiểm thử hoặc một bộ tiêu chí đánh giá cứ lặp đi lặp lại thì
cuối cùng bộ kiểm thử/bộ tiêu chí sẽ khơng thể phát hiện ra lỗi mới nào nữa.
Để khắc phục vấn đề này, kịch bản kiểm thử/tiêu chí đánh giá cần phải được
xem xét và sửa lại thường xuyên, và những trường hợp kiểm thử mới/tiêu chí
mới cần được bổ sung để thực hiện những phần khác nhau của phần mềm hoặc
hệ thống nhằm tìm ra nhiều lỗi hơn.
Nguyên lý 6: Kiểm thử phụ thuộc ngữ cảnh [1]
3


Việc kiểm thử được thực hiện khác nhau trong những mơi trường độc lập. Ví
dụ, phần mềm nội bộ phải được kiểm thử khác với một trang web thương mại.
Nguyên lý 7: Lầm tưởng về việc khơng có lỗi [1]
Tìm và sửa lỗi sẽ khơng có giá trị gì nếu như hệ thống không thể dùng được và
không đáp ứng nhu cầu cũng như mong đợi của người dùng.

1.3 Mô hình chất lượng ISO/IEC 9126 [2]
1.3.1 Cách tiếp cận chất lượng
Hiệu quả của sản phẩm

phần mềm

Sản phẩm phần mềm

ảnh hưởng tới

ảnh hưởng tới

Chất lượng ngoài

Chất lượng trong

Chất lượng sử dụng
Phụ thuộc vào

Phụ thuộc vào

Người dùng

Độ đo trong

Độ đo sử dụng

Độ đo ngồi

Hình 1: Chất lượng phần mềm
Người sử dụng cần phải xác định các yêu cầu về chất lượng của mình
dưới dạng các mơ tả (đặc tả) chất lượng phần mềm theo cách nhìn của người
sử dụng. Bắt đầu từ các yêu cầu sử dụng, được mô tả theo các đặc-tính và đặctính-con, chúng ta sẽ xác định được các chất lượng ngoài và chất lượng trong.
Việc đánh giá các sản phẩm phần mềm có thỏa mãn các các yêu cầu về

chất lượng hay khơng là một phần của tồn bộ chu kỳ sống phát triển phần
mềm. Chất lượng sản phẩm phần mềm có thể được đánh giá bằng cách đo
kiểm theo các độ đo trong của các thuộc tính (thường là các phép đo tĩnh trong
các giai đoạn trung gian của phát triển phần mềm), hoặc theo các độ đo ngồi
của các thuộc tính chất lượng. Các yếu tố chất lượng bên trong, bên ngoài và
4


chất lượng sử dụng có ảnh hưởng qua lại như hình 1.
Tiến trình chất lượng bao hàm chất lượng trong quá trình phát triển
phần mềm, chất lượng sử dụng được đánh giá qua phản hồi của người sử dụng
sản phẩm phần mềm.
Các thuộc-tính-trong của phần mềm là một phần sơ khởi để hiểu được
các hành vi của phần mềm (hành-vi-ngoài) và các hành-vi-ngoài là bước sơ
khởi để xác định được các chất-lượng-sử-dụng.
1.3.2 Chất lượng phần mềm và chu trình sống của phần mềm
Các quan điểm/nhìn nhận vấn đề cho chất-lượng-trong, chất-lượngngồi, chất-lượng-sử-dụng ln thay đổi trong chu-kỳ-sống của phần mềm. Ví
dụ, chất lượng được mơ tả như là các u cầu về chất lượng khi mới bắt đầu
quá trình phát triển phần mềm, trong giai đoạn này, nhìn chung là giống với
chất-lượng-ngồi và theo cách nhìn nhận của người sử dụng. Tuy nhiên, điều
này có thể khác với chất lượng phần mềm trong q trình sản xuất phần mềm,
ví dụ như việc thiết kế phần mềm – là liên quan đến chất-lượng-trong của
phần mềm.
Mục tiêu cuối cùng là đạt được chất lượng đầy đủ thỏa mãn các yêu cầu
người dùng. ISO 8402 xác định chất lượng là khả năng đáp ứng những yêu cầu
được phát biểu và các yêu cầu mặc nhiên. Tuy nhiên các yêu cầu được phát
biểu bởi người sử dụng khơng hồn tồn lúc nào cũng phản ảnh đích thực
người sử dụng cần gì vì:
1) Người sử dụng thường khơng rõ họ cần gì.
2) Các nhu cầu có thể thay đổi sau khi người sử dụng đã xác định.

3) Người sử dụng khác nhau đơi khi có các môi trường cài đặt phần
mềm khác nhau.
4) Nhiều khi không thể tư vấn cho tất cả các người sử dụng, đặc
biệt là với các phần mềm có sẵn.
Vì các yêu cầu về chất lượng phần mềm không thể ngay từ đầu xác
5


định được đầy đủ nên cần thiết phải hiểu được điều người sử dụng cần thực sự
là gì một cách càng chi tiết càng tốt, và mơ tả nó thành các yêu cầu về chất
lượng. Mục tiêu không phải là đạt được một chất lượng hoàn hảo mà nên là
một chất lượng cần thiết và đầy đủ cho mỗi một vấn đề đặt ra của người sử
dụng khi sản phẩm phần mềm được cài đặt và sử dụng.
Thang đo lường các độ đo sử dụng cho các yêu cầu chất lượng cần
được chia thành các phạm trù tương ứng với các mức độ khác nhau về sự thảo
mãn các yêu cầu chất lượng. Ví dụ, thang đo có thể chia thành hai phạm trù:
Không đạt và Đạt hoặc 4 phạm trù: Vượt trội, thỏa mãn, đạt tối thiểu, không
chấp nhận được (ISO 14598-1). Các phạm trù cần được xác định sao cho cả
người sử dụng và nhà phát triển tránh được những lãng phí về thời gian hoặc
các chi phí khơng cần thiết.
Sau đây là các cách nhìn khác nhau về chất lượng phần mềm ở những
chu kỳ phát triển khác nhau (hình 2).
Các nhu cầu người sử dụng: Có thể được xác định và mô tả dưới dạng
các độ đo chất-lượng-sử dụng. Các độ đo này sau này có thể sử dụng làm tiêu
chí để đánh giá chất lượng phần mềm. Thường thì các sản phẩm phần mềm đạt
được u cầu nếu q trình sản xuất phần mềm ln có sự đóng góp ý kiến và
phản hồi của người sử dụng.
Các u cầu chất-lượng-ngồi: xác định và mơ tả mức độ chất lượng
từ cái nhìn bên ngồi. Bao gồm các yêu cầu được dẫn xuất từ các nhu cầu, bao
gồm các yêu cầu về chất-lượng-người-sử-dụng. Các yêu cầu về chất-lượngngoài của phần mềm được sử dụng làm mục tiêu và sử dụng để kiểm định tại

hầu hết các giai đoạn phát triển phần mềm.
Các yêu cầu chất-lượng-trong: Chỉ ra các yêu cầu từ góc độ bên trong
phần mềm. Nó chỉ ra các đặc điểm bên trong của phần mềm, có thể sử dụng
mơ hình tĩnh hoặc mơ hình động và các tài liệu hoặc mã nguồn. Các yêu cầu
chất-lượng-trong của phần mềm có thể sử dụng như là mục tiêu để thẩm định
(validation) phần mềm ở các giai đoạn khác nhau phát triển phần mềm. Nó
6


cũng có thể được sử dụng để xác định chiến lược để phát triển sản phẩm phần
mềm và các tiêu chí để đánh giá và kiểm tra (verification) phần mềm ở các
giai đoạn phát triển. Có thể phải dùng tới một số độ đo khác nữa ở giai đoạn
này, ví dụ như độ đo tính sử dụng lại (reuseability) mà không thuộc phạm vi
của đề tài này.

Các
cầu

Chất lượng
sử dụng

nhu

Các đặc tính
hệ thống

u cầu chất
lượng ngồi

Chất lượng

ngồi

Các độ đo
ngồi

Các đặc tính
phần mềm

Các yêu cầu
chất lượng
trong

Chất lượng
trong

Các độ đo
trong

Hình 2: Tương quan giữa chất lượng với các yêu cầu

7


Đánh giá (dự báo) chất-lượng ngoài: là các đánh giá, dự báo chấtlượng-sử-dụng tại mỗi giai đoạn phát triển phần mềm cho các đặc tính chất
lượng sử dụng, dựa trên chất-lượng-trong.
Chất-lượng-ngồi là tồn bộ các đặc tính các đặc tính của phần mềm
dưới góc nhìn từ bên ngồi. Đó là chất lượng khi mà phần mềm hoạt động mà
có thể sử dụng độ đo ngoài để đo đạc và đánh giá được khi kiểm thử trong một
môi trường mô phỏng với các dữ liệu mô phỏng. Khi kiểm thử, phần lớn các
lỗi phần mềm đều được ghi nhận lại và cần phải được sửa chữa. Tuy nhiên,

một số lỗi vẫn có thể cịn lại sau khi kiểm thử. Vì rất khó sửa chữa kiến trúc
phần mềm hoặc là những gì là nền tảng trong thiết kế phần mềm nên kiến trúc
phần mềm vẫn còn lại như cũ sau khi kiểm định.
Đánh giá (dự báo) chất-lượng-sử-dụng: là các đánh giá, dự báo chấtlượng-sử-dụng tại mỗi giai đoạn phát triển phần mềm cho các đặc tính chất
lượng sử dụng, dựa trên chất-lượng-ngồi và chất-lượng-trong.
Chất-lượng-sử-dụng: là chất lượng phần mềm dưới góc độ người sử
dụng. Nó đo mức độ đáp ứng các mục tiêu, yêu cầu người sử dụng trong môi
trường cụ thể hơn là đo đạc các đặc điểm của chính phần mềm.
1.3.3 Các yếu tố cần đánh giá
Các yếu tố có thể được đánh giá bằng cách đo trực tiếp hoặc gián tiếp
thơng qua các yếu tố trung gian, qui trình có thể được đánh giá gián tiếp bằng
cách đo và đánh giá sản phẩm của nó, sản phẩm có thể được đo đạc và đánh
giá gián tiếp thông qua đo đạc các hiệu năng của tác vụ và người dùng.
Phần mềm không bao giờ chạy riêng mà luôn là một phần của hệ thống
phần mềm lớn hơn với hệ thống các phần cứng, thiết bị ngoại vi, con người,
qui trình làm việc. Phần mềm hồn chỉnh có thể được đánh giá theo lựa chọn
độ đo chất-lượng-ngoài. Độ đo này đo sự tương tác với với môi trường và
được ghi lại khi quan sát phần mềm trong lúc đang làm việc.
Chất-lượng-sử-dụng được đo đạc theo phản hồi của người sử dụng.
8


1.3.4 Mơ hình chất-lượng-trong và chất-lượng-ngồi
Mơ hình ISO 9126 đưa ra mơ hình chất-lượng-trong và mơ hình chấtlượng-ngồi. Hai mơ hình này dựa trên mơ hình chung, và mơ hình chung này
có thể sử dụng để đánh giá chất lượng bên trong hoặc bên ngoài tuỳ thuộc vào
tập các đặc tính sử dụng để đánh giá. Mơ hình chung này được xây dựng dựa
trên sáu đặc tính:
1. Tính năng (Functionality)
2. Độ ổn định hoặc khả năng tin cậy (Reliability)
3. Tính khả dụng (Usability)

4. Tính hiệu quả (Efficiency)
5. Khả năng duy trì (Maintainability)
6. Tính khả chuyển (Protability)

9


Chất lượng trong và
chất lượng ngồi
(External and Internal
Quality)

Tính
năng(Functi
onality)

Độ tin cậy
(Realiability)

Tính khả
dụng
(Usability)

Tính hiệu
quả
(Efficiency)

Khả năng
duy trì
(Maintainabi

lity)

Tính khả
chuyển
(Portability)

Tính phù hợp
(Suitability)

Sự ổn định
(Maturity)

Tính có thể
hiểu được
(Understanda
bility)

Thời gian đáp
ứng (Time
Behavior)

Khả năng
phân tích
(Analysabilit
y)

Khả năng
thích ứng
(Adaptability)


Tính chính
Tính chính
xác
xác
(Accuracy)
(Accuracy)

Khả năng
chịu lỗi
(FaultToleran
cE)

Khả năng học
cách sử dụng
hệ thống
(Learnability)

Sử dụng tài
nguyên hệ
thống
(Resource
Utilisation )

Khả năng
thay đổi
(Changeabilit
y)

Khả năng cài
đặt

(Installabilit)

Tính tương
Tính tương
hợp
hợp
(Interoprabili
(Interoprabili
y)
y)

Khả năng
phục hồi
(Recoverabili
ty)

Hoạt động
của các chức
năng
(Operability)

Tuân thủ đặc
tính hiệu quả
(Efficiency
Compliance)

Độ ổn định
(Stability)

Khả năng

cùng tồn tại
hoạt động
(CoExsitence)

Tính bảo mật
Tính bảo mật
(Security)
(Security)

Tuân thủ đặc
tính tin cậy
(Reliability
Compliance)

Hấp dẫn của
giao diện
(Attractivenes
s)

Khả năng
kiểm tra
(Testability)

Khả năng
thay thế
(Replaceabilit
y)

Tuân thủ đặc
tính khả dụng

(Usability
Compliance)

Tn thủ đặc
tính duy trì
(Maintainabil
ity
Compliance)

Tn thủ đặc
biệt tính khả
năng
(Portability
Compliance)

Tn thủ đặc
tính tính năng
(Functionality
compliance)

Hình 3: Mơ hình chất lượng trong và chất lượng ngoài của phần mềm

10


Đây là một mơ hình đang được sử dụng đánh giá hiệu năng, độ an toàn,
độ tin cậy, sự hài lịng vv... những đặc trưng này bao qt nên tồn bộ chất
lượng sản phẩm phần mềm nhưng có thể dựa vào những khía cạnh đặc trưng
của nó để áp dụng đánh giá sản phẩm chất lượng phần mềm.
Mơ hình ISO 9126 sử dụng cho việc đánh giá chất lượng bên trong và

bên ngoài và chất lượng sử dụng. Tuy nhiên ta sẽ chỉ xem xét đến các đặc tính
chất lượng đánh giá ngồi.
1.3.5 Mơ hình chất-lượng-sử dụng

Chất lượng sử dụng
(Quality in use)

Tính hiệu
quả
(Effectivness)

Tính năng
suất
(Productivity)

Tính an tồn
(Safety)

Tính thỏa
mãn
(Satisfaction)

Hình 4: Mơ hình chất lượng sử dụng theo ISO/IEC 9126
Mơ hình chất-lượng-sử-dụng là chất lượng dưới góc độ người sử dụng.
Đạt được chất lượng người sử dụng bằng cách dựa vào chất lượng ngoài. Chất
lượng ngoài lại phụ thuộc vào chất lượng trong. Độ đo thường phải được thực
hiện trên cả ba mức trong/ngồi và người sử dụng. Độ đo chất lượng trong
khơng đủ để xác định chất lượng ngoài và độ đo chất lượng ngồi khơng đủ để
11



xác định chất lượng sử dụng.
1.4 Qui trình đánh giá chất lượng sản phẩm phần mềm ISO/IEC 14598[3]
Để đánh giá chất lượng phần mềm, trước tiên cần có các yêu cầu đánh
giá, các đặc tả, các thiết kế và giai đoạn đánh giá (Hình ). Mỗi bước được
miêu tả một cách chi tiết hơn trong các trường hợp cụ thể. ISO 14598 đưa ra
tổng quan của quá trình kiểm định.
Thiết lập các mục đích đánh giá
Thiết lập các yêu
cầu đánh giá

9126-1: Các đặc tính chất lượng

Xác định loại sản phầm
Chỉ ra mơ hình chất lượng

9126-2 Độ đo ngồi
9126-1 Độ đo trong
14598-6 Các mô đun đánh giá

Lựa chọn mức độ đo
Đặc tả việc đánh
giá

Thiết lập mức độ đo
Thiết lập tiêu chí đánh giá

Thiết kế việc
đánh giá


Kế hoạch đánh giá

Đo đạc các đặc tính
Thực hiện đánh
giá

So sánh với các tiêu chí
Đánh giá kết quả

Hình 5: Qui trình đánh giá chất lượng phần mềm theo ISO/IEC 14598
1.4.1 Các đặc tính cần lưu ý của cơng việc đánh giá
- Tính có thể lặp lại: Kết quả phải giống nhau nếu lặp lại việc đánh giá
trên cùng một sản phẩm với cùng đặc tả đánh giá bởi cùng một người đánh
giá.
- Tính có thể tái sản xuất: Kết quả phải giống nhau nếu đánh giá cùng
một sản phẩm với cùng đặc tả đánh giá bởi hai người đánh giá khác nhau.
- Tính cơng bằng: Việc đánh giá không được thiên về bất cứ kết quả đặc
12


biệt nào.
- Tính khách quan: Các kết quả đánh giá cần phải căn cứ trên thực tế,
nghĩa là không bị ảnh hưởng bởi cảm tính hay các quan điểm cá nhân của
người đánh giá.
Quá trình đánh giá:
Quá trình đánh giá là một quá trình gồm một loạt các hoạt động phối
hợp giữa người đánh giá và người yêu cầu đánh giá. Các hoạt động này được
thực hiện trên các dữ liệu do người yêu cầu và người đánh giá hoặc sinh ra bởi
các hoạt động khác. Dữ liệu do các hoạt động đánh giá sinh ra sẽ được dùng
cho các hoạt động khác hoặc trở thành kết quả của quá trình đánh giá.

Các vấn đề dưới đây phải được tính khi thiết kế các hoạt động đánh giá:
- Các mục tiêu sẽ thay đổi từ trường hợp đánh giá này sang trường hợp
đánh giá khác khi mà các sản phẩm phần mềm được phát triển để đáp ừng các
yêu cầu khác nhau và một người yêu cầu đánh giá có thể đồng ý với các yêu
cầu đánh giá đặc biệt.
- Các sản phẩm phần mềm được viết từ nhiều thành phần, kiểu dáng và
tính chất của phần mềm phụ thuộc vào phương thức phát triển. Mà phương
thức này rất có thể thay đổi.
- Các kỹ thuật đánh giá có thể áp dụng là rất nhiều và việc lựa chọn cần
cân nhắc tới các mục tiêu của việc đánh giá và cấu tạo của sản phẩm
Q trình phải có độ linh hoạt rất cao để đáp ứng được các vấn đề trên.
1.4.2 Thiết lập các yêu cầu đánh giá
1.4.2.1 Thiết lập mục đích đánh giá
Mục đích của việc đánh giá chất lượng phần mềm được hỗ trợ trực tiếp
cho cả người sản xuất và mua lại phần mềm mà đáp ứng nhu cầu người sử
dụng. Mục tiêu cuối cùng là sản phẩm phải cung cấp được các yêu cầu chất
lượng trong sử dụng.
Mục đích của việc đánh giá chất lượng sản phẩm có thể để:
13


• Quyết định việc chấp nhận ngay một sản phẩm từ một hợp
đồng;
• Quyết định hồn thành q trình và khi nào để gửi đến các sản
phẩm đến quá trình tiếp theo;
• Ước tính hoặc dự đốn chất lượng cuối cùng của sản phẩm;
• Thu thập thơng tin về sản phẩm để kiểm sốt và quản lý tiến
trình.
Mục tiêu cuối cùng của việc đánh giá chất lượng sản phẩm có thể là:
• Quyết định có chấp nhận sản phẩm khơng;

• Quyết định khi nào phát hành sản phẩm;
• So sánh sản phẩm với các sản phẩm cùng loại;
• Chọn một sản phẩm từ những sản phẩm thay thế;
• Đánh giá cả hai hướng tích cực và tiêu cực ảnh hưỏng của sản
phẩm khi một tổ chức, cá nhân sử dụng nó.
Đánh giá chất lượng phần mềm có thể là một trong cơ cấu xác định chất
lượng sản phảm thông qua quá trình và chu kỳ phát triển và đạt được của sản
phẩm. Nó đã được nói rõ trong ISO/IEC 12207.
1.4.2.2 Xác định các loại sản phẩm được đánh giá
Loại sản phẩm được đánh giá sẽ phụ thuộc vào giai đoạn trong vòng
đời sản phẩm và mục tiêu đánh giá.
Mục tiêu là khi sản phẩm được sử dụng, nó phải đáp ứng được những
nhu cầu và đảm bảo chất lượng. Chất lượng ngồi phần mềm chỉ có thể được
đánh giá cho một phần cứng/phần mềm hệ thống trong đó các sản phẩm phần
mềm là một phần. Những đặc điểm bên ngoài được đánh giá khi thi hành các
phần mềm. Các giá trị của việc đo bên ngoài nhất thiết phải phụ thuộc trên các
phần mềm, do đó phần mềm phải được đánh giá là một phần của một hệ thống
làm việc.
14


Vì phần mềm để có chất lượng trong sử dụng nó phải đáp ứng nhu cầu
người sử dụng cụ thể để thực hiện nhiệm vụ riêng biệt trong môi trường phần
cứng và phần mềm cụ thể. Phần mềm mà chạy tốt trong một mơi trường thì có
lẽ phải xem chất lượng khuyết tật, sai sót của phần mềm trong một môi
trường khác.
VẬN HÀNH

Các nhu cầu
Dùng và phản hồi


Chất lượng sử
dụng

BÊN NGỒI
Các đặc tính
hệ thống

u cầu chất
lượng ngồi

Thơng qua

Chất lượng
ngồi

Các độ đo
ngồi

Chất lượng
trong

Các độ đo
trong

BÊN TRONG
Các đặc tính
phần mềm

Các u cầu

chất lượng
trong

Kiểm tra

Hình 6: Chất lượng phần mềm trong chu kỳ sống của phần mềm

15


Đặc điểm chất lượng bên ngồi do đó có thể được đánh giá theo điều
kiện mà mô phỏng giống như điều kiện mong đợi của người sử dụng. Đặc
điểm bên ngoài được đo khi giai đoạn coding được hoàn tất, mặc dù vậy nó có
thể khơng được mơ phỏng chính xác điều kiện sử dụng (ví dụ như mạng, mơi
trường và đặc điểm của người sử dụng), đo thực tế bên ngồi thường chỉ có
chỉ số về thực tế chất lượng trong sử dụng.
Nếu những yêu cầu chất lượng bên ngồi khơng đạt được những kết
quả của việc đánh giá có thể được sử dụng như thơng tin phản hồi để sửa đổi
các đặc điểm của phần mềm để nâng cao chất lượng bên ngồi, vì vậy hỗ trợ là
một q trình liên tục cải tiến.
Vì mục đích phát triển những yêu cầu chất lượng bên trong được xác
định ngay khi có thể kiểm tra chất lượng các sản phẩm. Đặc điểm bên trong là
những đánh giá đặc điểm bên trong sản phẩm (như đặc tả hoặc mã nguồn) của
phần mềm. Thơng thường chỉ nhà phát triển và bảo trì phần mềm hiểu những
đặc tính bên trong của phần mềm.
Một trong những ví dụ về đặc tính bên trong là tính mơ đun và khả
năng dị tìm, đánh đấu. Đo bên trong một cách trực tiếp là đo thuộc tính bên
trong hay các đặc điểm bên trong khác. Sự đáp ứng được yêu cầu chất lượng
bên trong sẽ góp phần nâng cao chât lượng bên ngoài phần mềm theo yêu cầu
người sử dụng. Đặc điểm chất lượng bên trong phần mềm có thể được sử dụng

để đảm bảo cho ước lượng cuối cùng về chất lượng phần mềm.
Ví dụ về sự đáp ứng thời gian là một yêu cầu đo rất quan trọng để đánh
giá sự hữu dụng và hiệu quả của phần mềm, nhưng khả năng đáp ứng thời gian
khơng thể đo được trong suốt q trình phát triển. Thay vào đó đánh giá hiệu
quả của sản phẩm trong q trình phát triển là một đường dài có thể đo được
trên cơ sở sản phẩm hiện tại hoặc đặc tả của nó. Những điều này có thể được
sử dụng như những chỉ thị cho những ước lượng về đáp ứng thời gian dưới
những điều kiện nào đó.
Vấn đề rất quan trọng là chất lượng thuộc tính bên trong của phần mềm
16


×