Để đánh giá được chất lượng phần mềm có đáp ứng được nhu cầu cho trước hay không thì cần phải đưa các tiêu chí đánh giá chất lượng ph ần mềm về một tiêu chuẩn chung và phải đánh giá ch
Trang 1Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
NGUYỄN THỊ LAN PHƯƠNG
CÁC TIÊU CHÍ ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên, 2010
Trang 2Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
NGUYỄN THỊ LAN PHƯƠNG
CÁC TIÊU CHÍ ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TSKH NGUYỄN XUÂN HUY
Thái Nguyên, 2010
Trang 3Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là công trình nghiên cứu, tìm hiểu và tham khảo của riêng tôi Các số liệu trong luận văn là trung thực
Trang 4Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
MỤC LỤC
Trang
Trang phụ bìa
Lời cam đoan i
Mục lục ii
Danh mục các hình ảnh iv
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM 1.1 Các thuật ngữ 5
2.1 Quá trình phát triển phần mềm 6
1.2.1 Các giai đoạn phát triển phần mềm 7
1.2.2 Các mô hình vòng đời phần mềm 10
1.3 Yêu cầu về đánh giá chất lượng ph ần mềm 13
1.3.1 Tầm quan trọng c ủa việc đánh giá chất lượng ph ần mềm 13
1.3.2 Tiêu chí đánh giá chất lượng m ột số loại phần mềm 15
Chương 2 TIÊU CHUẨN ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM 2.1 Tổng quan về tiêu chuẩn chất lượng phần mềm 20
2.1.1 Tìm hiểu về c hất lượng phần mềm 20
2.1.2 Đánh giá chất lượng sản phẩm phần mềm bằng các bộ chuẩn c ủa các tổ chức tiêu chuẩn quốc tế 20
2.2 Các tiêu chí đánh giá phần mềm 34
Trang 5Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2.2.1 Tiêu chí chức năng (Functionality) 35
2.2.2 Tiêu chí độ tin cậy (Reliability) 36
2.2.3 Tiêu chí khả dụng (Usability) 36
2.2.4 Tiêu chí hiệu quả (Effictiency) 37
2.2.5 Tiêu chí bảo trì được (Maintainability) 37
2.2.6 Tiêu chí khả chuyển (Portability) 38
2.3 Độ đo các tiêu chí 38
2.3.1 Khái niệm đ ộ đo phần mềm 38
2.3.2 Độ đo các tiêu chí 38
Chương 3 PHƯƠNG PHÁP ĐÁNH GIÁ PHẦN MỀM 3.1 Các giai đoạn tiến hành đánh giá phần mềm 42
3.2 Đánh giá phần mềm về giao diện 48
3.3 Đánh giá phần mềm về chức năng 50
3.4 Đánh giá phần mềm về tiện ích 51
3.5 Đánh giá phần mềm về an toàn, bảo mật 52
Chương 4 XÂY DỰNG MỘT SỐ TIÊU CHÍ ĐÁNH GIÁ PHẦN MỀM 4.1 Ví dụ đánh giá phần mềm 53
4.2 Xây dựng một số tiêu chí đánh giá phần mềm 62
KẾT LUẬN VÀ ĐỀ NGHỊ 68
TÀI LIỆU THAM KHẢO 69
Trang 6Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
DANH MỤC CÁC HÌNH ẢNH
Trang
Hình 2.1 Chất lượng trong vòng đời sản phẩm 28
Hình 2.2 Mô hình chất lượng cho chất lượng trong và ngoài 31
Hình 2.3 Mô hình chất lượng sử dụng 34
Hình 3.1 Quy trình đánh giá sản phẩm phần mềm 45
Hình 3.2 Giao diện chương trình BkavPro Internet Security 2010 54
Trang 7Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
MỞ ĐẦU
Cơ sở khoa học và tính cấp thiết của đề tài
Trong hơn ba chục năm qua con người đã chứng kiến sự lớn mạnh về số lượng cũng như mức độ quan trọng trong việc ứng dụng công nghệ thông tin vào cuộc sống Ở trong nước lĩnh vực công nghệ thông tin đang phát triển mạnh mẽ với
sự xuất hiện ngày càng nhiều những công ty phần mềm Chất lượng các sản phẩm phần mềm do các công ty này sản xuất chủ yếu là sự thỏa thuận với người sử dụng
và họ tự đưa ra quy trình cũng như tiêu chí cho riêng mình Để đánh giá được chất lượng phần mềm có đáp ứng được nhu cầu cho trước hay không thì cần phải đưa các tiêu chí đánh giá chất lượng ph ần mềm về một tiêu chuẩn chung và phải đánh giá chất lượng phần mềm trong thực tế (tức là phần mềm phải qua sử dụng)
Mục tiêu và nhiệm vụ của luận văn
Các tổ chức tiêu chuẩn quốc tế như ISO, IEEE đã công bố các bộ chu ẩn gồm các tiêu chí đánh giá chất lượng sản phẩm phần mềm như:
a ISO 9126: Software engineering Product quality
b ISO 14598: Information technology Software product evaluation
c ISO 12119: Software Packages – Quality Requirement and Testing
d ISO 9000-3: Quality Management and Quality Assurance Standards- part 3
e IEEE Std 1061-1992: Standard for Software Quality Metrics Methodology Tuy nhiên một trong các chuẩn thông dụng về tiêu chí đánh giá chất lượng phần mềm chúng ta chỉ có thể áp dụng một phần nhỏ Vì vậy, chúng ta cần có các tiêu chí theo một tiêu chuẩn chung, có mức tương đương với quốc tế để áp dụng Trong phạm vi luận văn với đề tài "Các tiêu chí đánh giá chất lượng phần mềm" với mong muốn tìm hiểu về các tiêu chuẩn quy trình, phương pháp đánh giá chất lượng phần mềm giúp khách hàng cũng như người sử dụng phần mềm có thể đánh giá khách quan về chất lượng phần mềm sử dụng trong thực tế
Trang 8Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Mục tiêu của đề tài là nghiên cứu, tìm hiểu về các tiêu chuẩn đánh giá phần mềm, ý nghĩa của các tiêu chuẩn đó và tìm hiểu quy trình, phương pháp đánh giá phần mềm, để từ đó có thể áp dụng để đánh giá một phần mềm cụ thể
Phạm vi nghiên cứu
Luận văn tập trung nghiên cứu, tìm hiểu các tiêu chí đánh giá chất lượng phần mềm của các tổ chức tiêu chuẩn quốc tế
Phương pháp nghiên cứu
Luận văn tập trung nghiên cứu, tìm hiểu các tiêu chí đánh giá chất lượng sản phẩm phần mềm thông qua việc thu thập, tổng hợp các sách, các bài báo, các tài liệu trên mạng bằng tiếng Việt, tiếng Anh
Nghiên cứu các tiêu chuẩn, hướng dẫn của các tổ chức tiêu chuẩn quốc tế (ISO/IEC, IEEE ) về đánh giá chất lượng sản phẩm phần mềm qua các bộ chuẩn
Cấu trúc của luận văn
Cấu trúc của luận văn gồm: phần mở đầu; chương 1, 2, 3 và 4; phần kết luận và đề nghị; tài liệu tham khảo;
Trang 9Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Nội dung chính của luận văn
Chương 1: Trình bày tổng quan về quá trình phát triển phần mềm, các tiêu chí đánh giá sản phẩm phần mềm cho một số loại phần mềm
Chương 2: Trình bày tổng quan về tiêu chuẩn chất lượng phần mềm, một số tiêu chí đánh giá chất lượng phần mềm và độ đo các tiêu chí
Chương 3: Trình bày các bước tiến hành đánh giá sản phẩm phần mềm
Chương 4: Đưa ra ví dụ đánh giá một phần mềm cụ thể, từ đó xây dựng một số tiêu chí đánh giá phần mềm
Trang 10Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Lời cảm ơn
Luận văn này được hoàn thành tại Khoa Công nghệ Thông tin – Đại học Thái Nguyên dưới sự hướng dẫn của PGS.TSKH NGUYỄN XUÂN HUY Tác giả xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới thầy về sự tận tình hướng dẫn trong suốt thời gian tác giả làm luận văn
Trong quá trình học tập và làm luận văn tác giả thường xuyên nhận được sự quan tâm giúp đỡ và đóng góp ý kiến của các thầy cô trực tiếp giảng dạy cũng như các thầy cô trong khoa CNTT – ĐHTN Từ đáy lòng mình tác giả xin bày tỏ lòng biết ơn sâu sắc đến các thầy cô
Tác giả xin bày tỏ lòng biết ơn tới Ban Giám Hiệu, các thầy cô trường THCS TRƯNG VƯƠNG đã tạo điều kiện giúp đỡ tác giả trong thời gian làm luận văn
Xin chân thành cảm ơn anh chị em học viên lớp CAO HỌC K7 và bạn bè đồng nghiệp đã trao đổi và khích lệ tác giả trong quá trình học tập, nghiên cứu và làm luận văn
Luận văn sẽ không hoàn thành được nếu không có sự quan tâm, động viên của người thân trong gia đình tác giả Đây là món quà tinh thần, tác giả xin gửi tặng gia đình thân yêu của mình với lòng biết ơn chân thành và sâu sắc
Chương 1
Trang 11Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
TỔNG QUAN VỀ ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM
1.1 Các thuật ngữ:
Tiêu chí: là bộ tiêu chuẩn dùng để kiểm định hay để đánh giá một đối tượng,
mà bao gồm các yêu cầu về chất lượng, mức độ, hiệu quả, khả năng, tuân thủ các qui tắc và qui định, kết quả cuối cùng và tính bền vững của các kết quả
Tiêu chuẩn: Là những quy định thống nhất được xây dựng theo một thể thức
nhất định do một cơ quan có thẩm quyền ban hành để bắt buộc hay khuyến khích áp dụng cho các bên liên quan
Đánh giá phần mềm: Tập hợp các tiêu thức xác định chất lượng phần mềm
và các phương pháp xác định tiêu thức này
Phần mềm: là những chương trình điều khiển các chức năng phần cứng và
hướng dẫn phần cứng thực hiện các tác vụ của mình
Chất lượng phần mềm: Là sự đáp ứng các nhu cầu chức năng, sự hoàn thiện
và các chuẩn (đặc tả) được phát triển
Quy trình phát triển phần mềm RUP (Rational Unified Process): Quy trình
hợp nhất của Rational (hãng IMB) dùng riêng cho phát triển phần mềm Quy trình gồm 4 pha cơ bản: Inception (khởi đầu), Elaboration (phân tích, phân rã), Construction (xây dựng) và Transition (bàn giao)
Tính mềm dẻo: Nỗ lực cần để cải biên một chương trình là chấp nhận được Tính phổ biến: Mức độ tiềm năng trình ứng dụng của các bộ phận trong
chương trình
Tính toàn vẹn: Có thể khống chế được việc truy cập của những người không
được phép sử dụng phần mềm và dữ liệu
Tính thiết thực: Là mức độ sản phẩm các công việc thích hợp được chuyển
tiếp tới các chức năng hợp thức dưới các điều kiện hoặc tình huống khác thường
Tính an ninh, an toàn: Là khả năng của sản phẩm phần mềm bảo vệ các
thông tin và các dữ liệu khi bị xâm nhập bất hợp pháp
Tính đơn giản: Mức độ dễ hiểu của một chương trình
Tính ổn đinh: Là khả năng của sản phẩm phần mềm tránh được các tác
Trang 12Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
động bất ngờ từ các cải biên của phần mềm
Tính dung thứ được: Kết hợp các khả năng mở rộng chương trình, khả năng
thích ứng và tính tiện lợi
Tính thử nghiệm được: Là khả năng của sản phẩm phần mềm cho phép cải
biên nó, và quá trình thử nghiệm không ảnh hưởng đến cấu hình và các bộ phận được tạo ra
Tính dời chuyển được: Là những thuộc tính liên quan đến chi phí vận chuyển
một sản phẩm phần mềm từ ổ cứng gốc đến ổ cứng khác hoặc từ một môi trường hoạt động này đến môi trường hoạt động khác
Tính tin cậy được: Khả năng của hệ thống có thể cung cấp cho người sử dụng
các thông tin về lỗi dịch vụ
Tính hiểu được: Là khả năng của sản phầm phần mềm cho phép người sử
dụng hiểu được phần mềm có thích hợp hay không và sử dụng nó như thế nào
Tính tiện lợi: Là khả năng của sản phẩm phần mềm trở nên dễ hiểu, dễ học,
Tính không ổn định: Là các thuộc tính liên quan đến các văn bản thủ tục khi
sản phẩm phần mềm được thay đổi thường xuyên
1.2 Quá trình phát triển phần mềm
Quá trình phát triển phần mềm là tập hợp các thao tác và các kết quả tương quan để sản xuất ra một sản phẩm phần mềm Quá trình phát triển phần mềm là sự kết hợp giữa mô hình vòng đời phần mềm, các công cụ được sử dụng và những người xây dựng nên phần mềm đó Những thao tác đó hầu hết được tiến hành và thực hiện bởi các kỹ sư phần mềm
Nền tảng của hầu hết các quá trình phần mềm là 4 thao tác sau:
Trang 13Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Đặc tả phần mềm: Các chức năng của phần mềm và điều kiện để nó hoạt động phải được định nghĩa
Sự triển khai phần mềm: Để phần mềm đạt được đặc tả thì phải trải qua quá trình phát triển này, đó chính là quá trình tạo ra phần mềm
Đánh giá phần mềm: Phần mềm phải được đánh giá để xem nó làm được những gì, có đáp ứng được yêu cầu cũng như những mong muốn của người dùng
Sự tiến hóa của phần mềm: Phần mềm phải được đổi cũng như phát triển
để thỏa mãn sự thay đổi các yêu cầu của khách hàng
1.2.1 Các giai đoạn phát triển phần mềm:
Quá trình phát triển phần mềm luôn được xây dựng trên cơ sở các giai đoạn chuẩn, theo đúng thứ tự đã đặt ra:
Xác định yêu cầu phần mềm – Requirement Engineering
1.2.1.1 Xác định yêu cầu phần mềm Khách hàng và người phát triển trong những lần gặp nhau đầu tiên, khách hàng phác thảo các yêu cầu, chức năng, các công việc của phần mềm
mà họ muốn đặt hàng Nhiệm vụ của người phát triển là phải tìm hiểu xem khách hàng cần gì Những khảo sát ban đầu về nhu cầu khách hàng được gọi là tìm hiều vấn đề (concept exploration)
Kiểm thử pha yêu cầu
Trang 14Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Nhóm bảo đảm chất lượng phần mềm (SQA = software quality assurance) bắt đầu thực hiện vai trò của mình ngay từ pha khởi đầu Nếu sử dụng bản mẫu thì trong pha này nhóm cùng khách hàng kiểm thử phiên bản cuối cùng của bản mẫu xem nó đã được thực hiện đúng các yêu cầu mà khách hàng cần không
Tài liệu báo cáo trong pha yêu cầu
Tài liệu báo cáo trong pha yêu cầu này bao gồm bản mẫu và các ghi chép trong quá trình trao đổi với khách hàng
1.2.1.2 Phân tích (hay đặc tả) hệ thống phần mềm Nhóm phân tích sẽ biên soạn tài liệu đặc tả (hay tài liệu phân tích) Những điều được nêu lên trong tài liệu của pha yêu cầu sẽ được chi tiết và chính xác hóa Tài lệu đặc tả còn chỉ rõ đầu vào (input) và đầu ra (output) của phần mềm Tài liệu đặc tả đóng vai trò quan trọng trong việc kiểm thử
và bảo trì phần mềm Những thành phần chính của kế hoạch là: những phần sản phẩm chuyển giao cho khách hàng, các mốc thời gian cần chuyển giao, chi phí của các phần sản phẩm này
Kiểm thử pha đặc tả
Nhóm SQA kiểm tra tài liệu đặc tả một cách kỹ lưỡng, nhận ra những điều mâu thuẫn hay chưa đầy đủ Ngoài ra, nhóm SQA còn phải xem xét tính khả thi của đặc tả Tài liệu đặc tả phải có thể kiểm thử được Nếu có bản mẫu trong pha yêu cầu thì trong đặc tả cũng nên có các mục tương ứng với các chức năng trong bản mẫu
Tài liệu trong pha đặc tả
Tài liệu trong pha này bao gồm: bản báo cáo đặc tả và bản thiết kế quản lý dự án phần mềm
1.2.1.3 Thiết kế phần mềm Nhóm thiết kế tìm hiểu, nghiên cứu bản báo cáo đặc tả, xác định cấu trúc bên trong của phần mềm, phân chia phần mềm thành các module, là những phần mã lệnh độc lập nhau và có các giao tiếp phù hợp với các phần
Trang 15Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
còn lại của phần mềm, tiếp theo là công việc thiết kế chi tiết cho từng module Với mỗi module cần chọn các thuật toán và các cấu trúc dữ liệu
thích hợp
Kiểm thử pha thiết kế
Bản thiết kế được nhóm SQA thực hiện phải được xem xét kỹ, xem
nó đã thực sự phù hợp với báo cáo đặc tả chưa Các lỗi thường được phát hiện trong pha này là: lỗi logic, lỗi giao tiếp, thiếu phần xử lý các trường hợp ngoại lệ, và quan trọng nhất là không tương hợp với báo cáo đặc tả
Tài liệu báo cáo trong pha thiết kế
Sản phẩm chính trong pha này là bản thiết kế kiến trúc và thiết kế chi tiết
1.2.1.4 Cài đặt phần mềm Trong pha này các lập trình viên viết chương trình cho các module theo thiết kế chi tiết
Kiểm thử pha cài đặt
Mỗi module cần kiểm thử trong khi thực hiện và sau khi hoàn thành (desk checking) được người lập trình thực hiện bằng cách chạy thử các số liệu mẫu, xem xét các mã nguồn để tìm ra lỗi lập trình Sau đó nhóm SQA
sử dụng một số phương pháp đã có để thử lại các module
Tài liệu báo các trong pha cài đặt
Tài liệu trong pha cài đặt chính là các mã nguồn của mỗi module cùng với lời chú thích
1.2.1.5 Kiểm thử phần mềm Trong pha cài đặt từng module đã được kiểm thử Trong pha kiểm thử các module sẽ được kết hợp thành phần mềm và chúng ta cần kiểm tra xem các chức năng của phần mềm có hoạt động chính xác không Bước cuối của kiểm thử là kiểm thử chấp nhận (acceptance testing)
Tài liệu báo cáo trong pha kiểm thử
Trang 16Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Sản phẩm trong pha kiểm thử là các mã nguồn đã được hiệu chỉnh cùng các chú thích Kèm theo đó là tài liệu hướng dẫn sử dụng, tài liệu hướng dẫn cài đặt và vận dụng chương trình, giải thích các cơ sở dữ liệu
1.2.1.6 Bảo trì phần mềm Bảo trì là một phần của quy trình phần mềm và thường có chi phí lớn hơn tất cả các pha khác cộng lại Pha bảo trì là pha trải qua nhiều thách thức nhất trong quá trình sản xuất phần mềm
Kiểm thử pha bảo trì
Việc kiểm thử ở đây bao gồm hai phần: thứ nhất cần kiểm tra xem phần mềm được sửa theo đúng yêu cầu đặt ra chưa Thứ hai là sau khi sửa đổi lại một phần của phần mềm thì những phần còn lại có bị ảnh hưởng không
Tài liệu báo cáo trong pha bảo trì
Tài liệu quan trọng trong pha bảo trì là các ghi chép về các sửa đổi đã được thực hiện cùng các lý do
1.2.2 Các mô hình vòng đời phần mềm
Mô hình vòng đời phần mềm (SLC – Software Life Cycle) là tập hợp các công việc và quan hệ giữa chúng với nhau diễn ra trong quá trình phát triển phần mềm Có nhiều mô hình khác nhau, một số trong đó được ứng dụng khá phổ biến trên thế giới
1.2.2.1 Mô hình thác nước Trong mô hình thác nước, các pha phải được thực hiện một cách tuần
tự, kết thúc pha trước, rồi mới được thực hiện pha tiếp theo Do đó, nhược điểm chính của mô hình thác nước là rất khó khăn trong việc thay đổi các pha đã được thực hiện Giả sử, pha phân tích và xác định yêu cầu đã hoàn tất và chuyển sang pha kế tiếp, nhưng lúc này lại có sự thay đổi yêu cầu của người sử dụng, thì chỉ còn cách là phải thực hiện lại từ đầu
Cho nên, mô hình này chỉ thích hợp khi các yêu cầu đã được tìm hiểu
rõ ràng và những thay đổi sẽ được giới hạn một cách rõ ràng trong suốt quá
Trang 17Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
trình thiết kế Tuy nhiên, trong thực tế có rất ít những hệ thống nghiệp vụ có các yêu cầu ổn định
Phân tích các yêu cầu và định nghĩa: hệ thống dịch vụ, khó khăn và mục tiêu được hình thành bởi sự trợ ý của hệ thống người tiêu dùng
Thiết kế phần mềm và hệ thống: thiết kế hệ thống các quá trình, các bộ phận và các yêu cầu cả phần mềm lẫn phần cứng Hoàn tất hầu như tất cả kiến trúc của hệ thống này
Thực hiện và thử nghiệm các đơn vị: trong giai đoạn này, thiết kế phần mềm phải được chứng thực như là một tập hợp nhiều chương trình hay nhiều đơn vị nhỏ Thử nghiệm các đơn vị bao gồm xác minh rằng mỗi đơn
vị thỏa mãn đặc tả của nó
Tổng hợp và thử nghiệm toàn bộ: các đơn vị chương trình riêng lẻ hay các chương trình được tích hợp lại và thử nghiệm như là một hệ thống hoàn tất và chứng tỏ được các yêu cầu của phần mềm được thỏa mãn Sau khi thử nghiệm phần mềm được cung ứng cho người tiêu dùng
Sản xuất và bảo trì: thông thường (nhưng không bắt buộc) đây là pha lâu nhất của chu kỳ sống (của sản phẩm) Phần mềm được cài đặt và được dùng trong thực tế Bảo trì bao gồm điều chỉnh các lỗi mà chưa được phát hiện trong các giai đoạn trước của chu kỳ sống, nâng cấp sự thực hiện của
hệ thống các đơn vị và nâng cao hệ thống dịch vụ
Chỗ yếu của mô hình này là nó không linh hoạt Các bộ phận của đề
án chia ra thành những phần riêng của các giai đoạn Hệ thống phân phối đôi khi không dùng được vì không thỏa mãn được yêu cầu của khách hàng Mặc dù mô hình này phản ánh thực tế công nghệ Như là một hệ quả đây vẫn là mô hình cơ sở cho đa số các hệ thống phát triển phần mềm - phần cứng
1.2.2.2 Mô hình phát triển tiến hóa của phần mềm
Phân tích mô hình: Mô hình phát triển tiến hóa này hiệu quả hơn mô hình
thác nước Tuy nhiên, nó vẫn có khuyết điểm:
Trang 18Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Quá trình không nhìn thấy rõ được: Các nhà quản lý cần phân phối thường xuyên để đo lường sự tiến bộ Nó không kinh tế trong việc làm ra các hồ sơ cho phần mềm
- Phần mềm thường được cấu trúc nghèo nàn: Sự thay đổi liên tục dễ làm sai lệch cấu trúc của phần mềm, tạo ra sự khó khăn và tốn chi phí
- Thường đòi hỏi những kỹ năng đặc biệt: Hầu hết các hệ thống khả dĩ theo cách này được tiến hành bởi các nhóm nhỏ có kỹ năng cao
Mô hình này hợp với:
Phát triển các loại phần mềm tương đối nhỏ
Phát triển các loại phần mềm có đời sống tương đối ngắn
Tiến hành trong các hệ thống lớn hơn ở những chỗ mà không thể biểu thị được các đặc tả chi tiết trong lúc tiến hành Thí dụ của trường hợp này là các hệ thống thông minh nhân tạo (AI) và các giao diện cho người dùng
1.2.2.3 Mô hình xoắn ốc Boehm
Mô hình Boehm có dạng xoắn ốc Mô hình Boehm có thể chỉ ra các rủi ro có thể hình thành trên căn bản của mô hình quá trình (sản xuất) tổng quát Mỗi vòng mô hình đại diện cho một pha của quá trình phần mềm Vòng trong cùng tập trung về tính khả thi, kế đến là vòng định nghĩa các yêu cầu, vòng tiếp theo là thiết kế
Không có một pha nào được xem là cố định trong vòng xoắn Mỗi vòng có 4 phần tương ứng với 1 pha
- Cài đặt đối tượng: chỉ ra các đối tượng của pha trong đề án Những khó khăn của quá trình và của các sản phẩm được xác định và được lên kế hoạch chi tiết Xác định các yếu tố rủi ro của đề án Các phương án thay thế tùy theo các rủi ro này có thể được dự trù
- Lượng định và giảm thiểu rủi ro Tiến hành phân tích mỗi yếu tố rủi
ro đã xác định Đặt ra các bước để giảm thiểu rủi ro
Trang 19Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
- Phát triển và đánh giá: Sau khi đánh giá các yếu tố rủi ro, một mô hình phát triển cho hệ thống được chọn
- Lên kế hoạch: Đề án được xem xét và quyết định có nên hay không tiếp tục pha mới trong vòng lặp
1.3 Yêu cầu về đánh giá phần mềm
1.3.1 Tầm quan trọng của việc đánh giá chất lượng phần mềm Trong kỷ nguyên hiện đại, phần mềm đóng vai trò vô cùng quan trọng,
có thể so sánh như một hệ thần kinh số điều khiển toàn bộ hoạt động hệ thống thông tin toàn cầu Trong bối cảnh đó, một sai lầm, dù rất nhỏ của phần mềm cũng có thể gây ra hậu quả khôn lường Chỉ vì một dấu phẩy nhầm lẫn trong hệ thống phần mềm điều khiển mà tàu vũ trụ Apollo 11 của
Mỹ đã nổ tung khi phóng lên quỹ đạo, gây thiệt hại hàng tỷ USD và nghiêm trọng là đã cướp đi mạng sống của toàn bộ phi hành đoàn
Theo kết quả nghiên cứu của Viện Công Nghệ và Tiêu Chuẩn Quốc Gia (NIST) thuộc Bộ Thương Mại Mỹ, các nhược điểm trong phần mềm không chỉ gây phiền phức cho người dùng mà hàng năm còn gây tổn thất lớn cho nền kinh tế Mỹ ước tính 59,5 tỷ USD Tuy nhiên, cũng theo NIST, thử nghiệm để phát hiện và loại bỏ khiếm khuyết ngay từ quá trình sản xuất phần mềm có thể giảm mức thiệt hại khoảng 22,2 tỷ USD trong tổng số 59,5 tỷ này
Thời gian gần đây, cùng với sự phát triển mạnh của ngành phần mềm Việt Nam, nhiều doanh nghiệp đã nhận thức đúng về vai trò của chất lượng phần mềm và định hướng xây dựng các quy trình sản xuất phần mềm theo chuẩn quốc tế với mục đích sản xuất phần mềm chất lượng
Lĩnh vực công nghệ thông tin trong nước đang phát triển rất mạnh mẽ với sự xuất hiện rất nhiều các công ty phần mềm Chất lượng của các sản phẩm phần mềm do các công ty này sản xuất chủ yếu là sự thỏa thuận với người sử dụng và họ tự đưa ra quy trình cũng như tiêu chí cho riêng mình
Để đánh giá được chất lượng phần mềm có đáp ứng được nhu cầu cho trước
Trang 20Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
hay không thì cần phải đưa các tiêu chí đánh giá chất lượng ph ần mềm về một tiêu chuẩn chung và phải đánh giá chất lượng ph ần mềm trong thực tế (tức là phần mềm ph ải qua sử dụng) Tuy nhiên, hiện nay cơ quan quản lý nhà nước về ngành công nghệ thông tin còn thiếu cơ sở phương pháp và các tiêu chí đánh giá để xác định định mức cho sản phẩm phần mềm Và một vấn đề đặt ra đối với công tác quản lý chất lượng phần mềm là cần phải có một tổ chức độc lập để xây dựng các tiêu chí đánh giá chất lượng phần mềm Nhằm hỗ trợ các doanh nghiệp phần mềm Việt Nam trong việc nâng cao chất lượng của sản phẩm phần mềm cũng như việc thống nhất quản lý chất lượng phần mềm trong các doanh nghiệp thành viên của Hiệp hội doanh nghiệp phần mềm Việt Nam (VINASA) Mới đây, VINASA đã chính thức thành lập Ban công tác chất lượng VINASA (VINASA QUALITY COMMITEE -VQC), với nhiệm vụ xây dựng “các tiêu chuẩn và đánh giá chất lượng phần mềm Việt Nam” tư vấn cho các doanh nghiệp phần mềm
về quy trình đảm bảo chất lượng phần mềm, cung cấp cho doanh nghiệp các chỉ tiêu, các tiêu chuẩn để đánh giá chất lượng phần mềm trong các lĩnh vực khác nhau dựa trên các chuẩn quốc tế ISO-9000, ISO-9126, ISO-14598 … 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 thì 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 lại 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” Các tiêu chí đánh giá về phần mềm của Trung tâm Công nghệ thông tin CDiT thuộc Học viện Bưu chính Viễn thông được xây dựng dựa trên 6 đặc tính chất lượng nêu trong tiêu chuẩn ISO/IEC 9126 và áp dụng tiêu chuẩn ISO/IEC 12119:1994 để đá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 Nói tóm lại hiện nay trong nước vẫn chưa có một tiêu chuẩn chung nào để đánh giá chất lượng phần
Trang 21Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
mềm, chưa thể trả lời được câu hỏi đánh giá phần mềm trong nước theo các mặt nào, sử dụng tiêu chuẩn nào, bằng cách nào đánh giá được thực chất chất lượng của phần mềm, độ tin cậy và chính xác của các phương pháp đánh giá Hiện nay, khi chọn mua bất cứ một sản phẩm phần mềm nào người sử dụng đều phải tìm hiểu tính năng tác dụng của sản phẩm phần mềm đó, nhưng việc tìm ra tính năng tác dụng của sản phẩm không chỉ dựa vào quảng cáo, giới thiệu của người bán hàng mà phải tự mình đặt ra câu hỏi đặc thù với nhu cầu cũng như đối với sản phẩm mình có ý định mua Để đánh giá sự đảm bảo về mặt chất lượng của sản phẩm phần mềm đáp ứng các nhu cầu cho trước thì cần áp dụng tiêu chuẩn về tiêu chí đánh giá chất lượng sản phẩm phần mềm và có tiến trình đánh giá phù hợp Các tổ chức tiêu chuẩn quốc tế như IEEE, ISO … đã có các tiêu chuẩn về tiến trình đánh giá sản phẩm phần mềm Một trong các chuẩn thông dụng về tiến trình đánh giá sản phẩm phần mềm là bộ tiêu chuẩn ISO/IEC-14598, bao gồm 6 phần: (phần 1: tổng quan; phần 2: lập kế hoạch và quản lý; phần 3: tiến trình cho người phát triển; phần 4: tiến trình cho người sử dụng; phần 5: tiến trình cho người đánh giá; phần 6: tài liệu đánh giá)
1.3.2 Tiêu chí đánh giá chất lượng một số loại phần mềm Phần mềm có thể phân thành nhiều loại theo nhiều tiêu chí khác nhau tùy theo mục đích, tuỳ theo lĩnh vực ứng dụng: phần mềm kinh doanh, phần mềm giáo dục, phần mềm giải trí, phần mềm tài chính kế toán, phần mềm
an ninh và bảo mật … Mỗi loại phần mềm được xây dựng các tiêu chí đánh giá riêng biệt
1.3.2.1 Tiêu chí đánh giá phần mềm giáo dục Các tiêu chí để đánh giá phần mềm giáo dục:
Cài đặt và thiết lập cấu hình: Hướng dẫn rõ ràng, chính xác cho việc
cài đặt cũng như việc thiết lập cấu hình Thời gian cài đặt phần mềm hợp lý, chấp nhận được Nơi cài đặt đã có đầy đủ phần cứng và phần mềm theo yêu cầu Dễ dàng thêm bớt thông tin trong việc quản lý học sinh
Trang 22Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Tiện lợi và thân thiện với người dùng: Tài liệu hướng dẫn sử dụng rõ
ràng, chính xác Yêu cầu về kỹ năng Công nghệ thông tin phù hợp với người sử dụng Nội dung không có lỗi Giao diện phần mềm thiết kế thân thiện, dễ sử dụng Sử dụng văn phạm và chính tả chính xác Phần mềm dễ
sử dụng cho cả giáo viên và học sinh Phần mềm có các hướng dẫn, gợi ý sử dụng trong lớp học, trong công tác giảng dạy cũng như các hoạt động dạy học liên quan
Phù hợp, hữu ích và linh hoạt: Phần mềm đáp ứng được mục tiêu giáo
dục Nội dung và nhiệm vụ phù hợp với học sinh Phương pháp luận của phần mềm phù hợp với phương pháp giảng dạy của giáo viên, tình hình thực tế Nội dung của phần mềm được tổ chức chặt chẽ Phần mềm xây dựng dựa trên nội dung kiến thức Nội dung luôn được cập nhật mới, có mục đích rõ ràng, chính xác Phần mềm cung cấp nhiều hoạt động khác nhau tùy theo việc lựa chọn tăng tính năng đa dạng và phức tạp
Thi hành: Phần mềm chạy không bị lỗi Hình ảnh, âm thanh, video
hiển thị nhanh, rõ nét, chính xác trong khoảng thời gian hợp lý Các liên kết, nút lệnh, dường dẫn di chuyển chính xác Phần mềm có các lựa chọn in ấn, sao chép, nhập, xuất dữ liệu … Phần mềm hỗ trợ font tiếng Việt và các ký
tự đặc biệt
Phản hồi cho học sinh: Học sinh có thể lựa chọn hoặc bỏ qua một số
phần trong chương trình Học sinh có thể xem phần trợ giúp hoặc hướng dẫn Học sinh nhận được phản hồi cho câu hỏi của mình, cũng như xem các kiến thức liên quan
Lợi ích chung: Phần mềm thúc đẩy việc học tập của học sinh Phần
mềm duy trì sự quan tâm tới việc tìm hiểu kiến thức của người sử dụng Phần mềm tiết kiệm thời gian trong giờ học Phần mềm cho phép theo dõi
sự tiến bộ của học sinh, người sử dụng và là nơi lưu trữ thông tin
Trang 23Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Hỗ trợ kỹ thuật: Được cung cấp các tài liệu hỗ trợ Sẵn sàng đáp ứng
các hỗ trợ về mặt kỹ thuật Công cụ hỗ trợ toàn diện có sẵn Có thể truy cập vào phần trợ giúp khi đang sử dụng chương trình
Chi phí: So với các chương trình tương tự chi phí bản quyền hợp lý
Phần mềm được nâng cấp và hỗ trợ miễn phí
1.3.2.2 Tiêu chí đánh giá phần mềm an ninh, bảo mật Những tiêu chí thường được đưa ra để đánh giá phần mềm an ninh, bảo mật như sau:
Dễ cài đặt và sử dụng: Chương trình phần mềm phải dễ và cài đặt
nhanh chóng Dễ hiểu, dễ sử dụng cho người dùng dù người đó có là chuyên gia về máy tính hay không Khi thay đổi các thiết lập chương trình không làm khó khăn người sử dụng Chương trình phần mềm chỉ cần cài đặt một lần trên hệ thống sau đó nó tự làm công việc của mình (phần mềm diệt virus)
Phát hiện và cảnh báo nguy hiểm: Phần mềm tốt, hiệu quả luôn phát
hiện, cảnh báo và ngăn chặn nguy hiểm, sự lây nhiễm một cách nhanh chóng trong hệ thống, hay trong các ứng dụng … Phần mềm an ninh, bảo mật được coi là đáng tin cậy thông qua việc nó phát hiện và ngăn chặn các file nhiễm virus Tốc độ thực hiện cũng rất quan trọng vì nó có thể can thiệp
và làm chậm những ứng dụng đang được thực thi trên máy
Cô lập và tiêu diệt những file bị lây nhiễm một cách hiệu quả: Việc
xác định các file nguy hiểm cũng như bị lây nhiễm nhanh chóng thông qua việc xóa hay cách ly chúng một cách hợp lý - điều đó ngăn chặn nguy hiểm
và sự lây lan trong hệ thống hoặc trong mạng
Nhiều tính năng: Điều này làm khả năng an ninh, bảo mật của chương
trình phần mềm hoàn thiện hơn Phần mềm tốt khả năng xử lý, bảo vệ nâng cao … nhiều máy tính được bảo vệ an toàn hơn
Báo cáo: Chương trình đưa ra thông báo ngay khi phát hiện tác nhân gây hại cũng như những lựa chọn xử lý hợp lý cho người sử dụng
Trang 24Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
1.3.2.3 Tiêu chí đánh giá phần mềm kế toán Với loại phần mềm này các tiêu chí đưa ra để đánh giá như sau:
Tính dễ sử dụng: Khi thỏa mãn tính dễ sử dụng phần mềm phải thỏa
mãn: Thao tác nhập dữ liệu tối ưu Các danh mục quản lý vừa theo mã, vừa theo tên Có thể sửa dữ liệu ngay khi tìm kiếm Khi xem báo cáo nếu phát hiện thiếu sót có thể sửa chữa ngay khi ở màn hình báo cáo Có hệ thống hướng dẫn sử dụng trên màn hình làm việc Thao tác tìm kiếm, truy xuất thông tin, xem in báo cáo dễ dàng và nhanh chóng Người sử dụng không cần biết nghiệp vụ kế toán có thể sử dụng chương trình
Tính động đáp ứng được yêu cầu đặc thù: Chương trình có khả năng
thay đổi, thêm bớt đầu vào và báo cáo đầu ra theo nhu cầu đặc thù Giao diện có thể thay đổi để phù hợp với yêu cầu quản lý của từng doanh nghiệp
Có thể áp dụng nhiều phương pháp để tính toán hàng hóa vật tư của doanh nghiệp Công thức tính lương, tỷ lệ chiết khấu hao theo yêu cầu của doanh nghiệp Quản lý 2 đơn vị tính cho cùng 1 loại sản phẩm Báo cáo có thể thực hiện bằng tiếng Anh và tiếng Việt
Tính tự động cao: Khách hàng có thể tự động đặt mã một số yếu tố lặp
lại thường xuyên như: Định khoản tự động, tính thuế VAT tự động, khoản mục chi phí … cho chứng từ nhập vào Tự động xử lý chênh lệch tỷ giá Phân bổ chi phí sản xuất, chi phí bán hàng, chi phí quản lý … thực hiện một cách tự động Khi tổng hợp không cần qua bước trung gian nào Khi giá thành sản phẩm thay đổi chương trình tự động tính lại các khoản mục và dữ liệu chương trình cũng được tự động cập nhật theo
Tính quản trị: Có tính quản trị xuôi Truy xuất ra các thông tin dạng
thống kê, báo cáo theo các hình thức gộp, lọc thông tin nhanh khi có yêu cầu tìm kiếm dữ liệu Các báo cáo trước khi in có thể sắp xếp, gộp lọc dữ liệu theo bất kỳ trường nào Có tính quản trị ngược Khi đang xem báo cáo tổng hợp có thể xem ngay số liệu chi tiết của từng mục tổng hợp Có tính quản trị theo kế hoạch Sự chênh lệch giữa kế hoạch và việc thực hiện trong
Trang 25Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
thực tế Thực hiện báo cáo tổng hợp so sánh theo thời gian Có thể cung cấp các báo cáo theo yêu cầu đặc thù của doanh nghiệp Thay đổi báo cáo theo yêu cầu mà không cần đến nhà cung cấp Khi muốn thêm những tính năng
có thể yêu cầu nhà lập trình thêm
Tính liên kết: thỏa mãn các tiêu chí sau: Các modul tài sản cố định, lao
động tiền lương, thực hiện tính giá thành sản phẩm có tích hợp trong cùng một phần mềm, cùng chung một cơ sở dữ liệu Các bộ phận nghiệp vụ khác trong cùng cơ quan có thể cập nhật dữ liệu và khai thác thông tin trong hệ thống cơ sở dữ liệu có sẵn
Tính chi tiết, bảo mật: Chương trình quản lý chi tiết tới từng yếu tố
theo đặc thù của doanh nghiệp mà nhà quản lý muốn Có thể thực hiện từng yếu tố riêng lẻ hay kết hợp các yếu tố lại: chi tiết doanh thu, lỗ lãi, công nợ theo từng hợp đồng, từng hóa đơn, từng khách hàng, từng kênh luồng phân phối … Sau khi khóa sổ dữ liệu, các số dư chi tiết theo các yếu tố cần quản
lý được chuyển chính xác sang kỳ mới Cho phép bù trừ công nợ và cho biết công nợ và tồn kho tức thời Chương trình có thể sao lưu dữ liệu tự động Cơ chế bảo mật chi tiết theo từng nghiệp vụ, từng báo cáo, từng chức năng … Chương trình lưu vết tên người nhập, người sửa chữa, thay đổi dữ liệu …
Trang 26Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Chương 2 TIÊU CHUẨN ĐÁNH GIÁ CHẤT LƯỢNG PHẦN MỀM 2.1 Tổng quan về tiêu chuẩn chất lượng phần mềm
2.1.1 Tìm hiểu về chất lượng phần mềm
Theo định nghĩa hình thức về chất lượng sản phẩm phần mềm 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" Hay đó chính là sự tuân thủ các yêu cầu chức năng và sự hoàn thiện đã được phát biểu tường minh, trong đó các chuẩn phát triển đã được tư liệu hóa tường minh và các đặc trưng không tường minh được trông đợi từ tất cả các phần mềm được phát triển theo cách chuyên nghiệp
Chất lượng của phần mềm theo quan điểm của người phát triển là phần mềm
ít lỗi và chạy giống thiết kế Đây được gọi là quan điểm theo kiểu lập trình Với những khó khăn về định lượng trong khái niệm chất lượng phần mềm, để có được một phần mềm tốt cách thông thường nhất là tiếp cận theo lối chất lượng quy trình Nghĩa là nếu chúng ta có quy trình sản xuất tốt thì sẽ có khả năng sản xuất ra sản phẩm tốt
Sự thay đổi trong cách quan niệm chất lượng phần mềm của khách hàng, phần mềm tốt là phần mềm đáp ứng đầy đủ yêu cầu của khách hàng, dễ sử dụng, dễ bảo trì, nâng cấp Người ta nói đó là chất lượng theo nghĩa hấp dẫn vì nó hướng tới người dùng
Sự mới mẻ trong quan niệm chất lượng phần mềm là độ tin cậy, đó chính là tính chính xác, tính ổn định, tính an toàn của phần mềm Khi người sử dụng thỏa mãn với sản phẩm, tức là khi nhu cầu của người sử dụng được đáp ứng và phần mềm có độ tin cậy cao thì đó là một phần mềm tốt
2.1.2 Đánh giá chất lượng sản phẩm phần mềm bằng các bộ chuẩn của các tổ chức tiêu chuẩn quốc tế
Trang 27Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
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 đánh giá các khối
Quá trình đánh giá sản phẩm phần mềm trong ISO 14598 đối với 3 đối tượng khác nhau:
Đánh giá trong: Công việc điều khiển và quản lý chất lượng được thực hiện
trong suốt quá trình phát triển Người phát triển sẽ thu thập số liệu thực từ phương pháp đo để xác định các thuộc tính trong dựa theo các công việc thu thập số liệu đã xác định trước đó Nếu có sự thay đổi về các yêu cầu chất lượng, người phát triển sẽ xem xét lại bản đặc tả và bản thiết kế của đánh giá
Đánh giá sản phẩm cuối cùng: Việc đánh giá chất lượng sản phẩm phần
mềm được thực hiện khi hoàn thành quá trình phát triển Người phát triển sẽ tiến hành các hoạt động cần thiết để đảm bảo chất lượng của dữ liệu thu được Người phát triển sẽ thực hiện đánh giá các kết quả thu được và chứng minh bằng tài liệu kết quả đánh giá
Trang 28Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
b Quá trình đánh giá dành cho người khai thác Quá trình đánh giá sản phẩm phần mềm dành cho người khai thác thường có
4 bước chính
Bước 1: Thiết lập các yêu cầu đánh giá
Quá trình đánh giá sẽ thiết lập:
Một tập các yêu cầu chất lượng phần mềm sử dụng mô hình chất lượng
Thứ tự ưu tiên thích hợp cho các tiêu chí chất lượng phần mềm
Tạo một cơ sở hệ thống để đánh giá thích hợp mức tích hợp của ứng dụng
Quá trình khai thác cần thực hiện theo và cách để các yêu cầu đầu vào của đánh giá giao tiếp được với nhà cung cấp
Phạm vi, mục tiêu, mục đích của đánh giá bằng cách xem xét:
+ Liệu sản phẩm phần mềm sẽ được sử dụng cho một ứng dụng cụ thể, cho tập các ứng dụng cụ thể hay cho một bộ các ứng dụng chung + Liệu đánh giá được thực hiện bởi các bên thứ 2, thứ 3 hay được lên kế hoạch để thực hiện sau
Bước 2: Đặc tả đánh giá
Công việc này nên được ghi chép để việc đánh giá có thể được lặp lại nhiều lần Để chọn phương pháp đo đặc tả đánh giá nên xác định:
Tiêu chí của sản phẩm cần đánh giá
Phương pháp đo chất lượng ngoài định lượng
Phương pháp đo chất lượng sử dụng liên quan đến khung xem xét của người
sử dụng về chất lượng của hệ thống chứa phần mềm
Chuẩn cho phương pháp đo để mô tả dải chấp nhận được
Các modul đánh giá được đóng gói
Mức độ bao phủ liên quan đến các yêu cầu đánh giá cần thiết sau khi xem lại các đánh giá trước dụng, được thực hiện bởi những người khác
Danh sách kiểm tra cần trả lời bằng đánh giá
Danh sách các ví dụ có thể giúp ích trong việc trả lời các câu hỏi
Các test case sử dụng
Trang 29Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Dữ liệu cần thu thập và phân tích, cùng định dạng của dữ liệu đó
Các phương thức đánh giá được sử dụng, bao gồm việc xem xét, đánh giá: + Người dùng sản phẩm phần mềm và tài liệu công nghệ
+ Việc đánh giá sản phẩm phần mềm dựa trên các khoá đào tạo của nhà cung cấp
+ Quá trình phát triển công nghệ phần mềm, bao gồm cả các sản phẩm phần mềm trung gian
+ Lịch sử chạy sản phẩm của nhà cung cấp
+ Lịch sử sử dụng sản phẩm của khách hàng
+ Khả năng hỗ trợ của nhà cung cấp và chất lượng hệ thống
+ Mô tả nguyên mẫu hay các phương pháp đánh giá khác
+ Danh sách các điểm còn thiếu sót của sản phẩm và các thông tin liên quan
Phương pháp để đánh giá kết quả đánh giá
Phương pháp phù hợp để phân loại kết quả đánh giá được để cho phép chọn lựa sản phẩm phù hợp giữa các sản phẩm cùng chức năng
Phương pháp so sánh nhiều hơn 1 sản phẩm phần mềm Phương pháp này có thể dựa theo mức ưu tiên của các tiêu chí chất lượng
Bước 3: Thiết kế đánh giá
Kế hoạch đánh giá sản phẩm nên xác định xem:
Liệu nhà cung cấp hay bên thứ 3 có sẵn lòng cho phép sử dụng các tài liệu được yêu cầu, các thiết bị, công cụ, phần mềm, có đào tạo và hỗ trợ kinh phí đào tạo không
Các điều kiện để có thể truy cập các thông tin độc quyền
Liệu nhà cung cấp hay bên thứ 3 có sẵn lòng cung cấp cho các đơn vị những thông tin đúng đắn để trả lời các câu hỏi
Ý kiến chuyên môn cần thiết cho việc đánh giá có cơ sở trên các yêu cầu đánh giá, chi phí liên quan để có được những ý kiến này
Các công việc tiền kiểm tra cần thực hiện để sản phẩm phù hợp với phép
Trang 30Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
kiểm tra
Giá thành liên quan đến môi trường kiểm tra (ví dụ phần cứng, phần mềm, công cụ và chuyên gia) để thực hiện phép đánh giá
Trách nhiệm đối với công việc đánh giá và kế hoạch cần thiết
Các hạn chế và thiếu sót trong việc đảm bảo chất lượng của phương pháp đánh giá, và liệu những hạn chế và thiếu sót này còn tồn tại ở nơi nào khác nữa trong kế hoạch không
Sự phụ thuộc lẫn nhau giữa các phương pháp đánh giá được sử dụng, thiết lập một chuỗi tối ưu các phương pháp
Tài nguyên cần có, tổng giá thành của đánh giá, giá thành mỗi phương pháp đánh giá
Các điểm ràng buộc giữa các hoạt động đánh giá và các hoạt động khai thác
Các điểm quyết định trong quá trình đánh giá xác định khi nào và tại sao đánh giá được coi là đã hoàn thành và có thể dừng được
Một số điều sau cho mỗi hoạt động đánh giá được lên kế hoạch:
+ Thủ tục và công nghệ được chọn
+ Thông tin đầu vào, đầu ra và các tài liệu liên quan
+ Các yêu cầu về định dạng và nội dung đối với các tài liệu
Những cơ sở, giả định dẫn đến sự ra đời các quyết định ngoại lệ trong quá trình lên kế hoạch đánh giá
Công cụ đánh giá
Các thủ tục cho việc phát triển và kiểm tra phương pháp đo, chuẩn hoá các tiến trình và các phép đánh giá
Bước 4: Thực hiện đánh giá
Thực thi phương pháp đánh giá: Đánh giá được thực hiện, ghi chép và phân tích để:
Thiết lập một mức độ tin tưởng hợp lý để sản phẩm phần mềm có thể đáp ứng được các yêu cầu đánh giá
Xác định và đặc tả những thiếu sót đối với các yêu cầu đánh giá và những đánh giá cần thêm để xác định phạm vi của những thiếu sót trên
Trang 31Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Xác định những giới hạn đặc biệt hay những điều kiện để sử dụng sản phẩm phần mềm
Xác định những điểm yếu trong bản thân phương pháp đánh giá và các đánh giá cần thêm
Xác định các tùy chọn trong việc sử dụng sản phẩm phần mềm
c Quá trình đánh giá dành cho người đánh giá Hoạt động chuẩn hóa đánh giá bao gồm :
- Phân tích mô tả sản phẩm
- Chuẩn hóa đo lường áp dụng trên sản phẩm và các thành phần
- Thẩm tra chuẩn để đáp ứng yêu cầu đánh giá
Phân tích mô tả sản phẩm:
Khách hàng cung cấp bản mô tả sản phẩm cần đánh giá Tổ chức thực hiện đánh giá nên kiểm tra xem bản mô tả sản phẩm có đạt được yêu cầu đã nêu phía trên
Xác nhận chuẩn đánh giá
Tổ chức thực hiện đánh giá xác nhận chuẩn đánh giá khi xem xét các yêu cầu đánh giá Tổ chức này kiểm tra liệu các thành phần được liệt kê trong bản mô tả sản phẩm có cung cấp thông tin đầy đủ để thực hiện đánh giá theo yêu cầu Đồng thời xác minh liệu phương pháp đánh giá có khả năng đáp ứng yêu cầu đánh giá
Bước 1: Giải quyết các thông tin còn thiếu trong các thành phần đã
Bước 2: Kiểm tra phương pháp đo được thiết lập trong tiêu chuẩn
đánh giá có bao gồm các mô tả kĩ thuật không, bằng cách: xác định các chuẩn đo liên quan, cung cấp tham chiếu, thông tin chi tiết đến tài liệu chính thức trong lĩnh vực đó, thông tin này có trong chuẩn đánh giá
Trang 32Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Thiết kế đánh giá
Việc thiết kế đánh giá cung cấp tư liệu được sử dụng bởi tổ chức thực hiện đánh giá để áp dụng phương pháp đo trong một tiêu chuẩn đánh giá Tổ chức thực hiện đánh giá đưa phương án sử dụng nguồn tài liệu cho một đánh giá cụ thể cũng như cách thức áp dụng nguồn tài liệu khi thực hiện
Thực hiện đánh giá
Mục đích của việc thực hiện đánh giá là để đạt được các kết quả từ việc thực thi các hoạt động nhằm đo và kiểm tra sản phẩm phần mềm theo yêu cầu đánh giá, như đã được mô tả trong các đặc tả và như được lên kế hoạch trong các kế hoạch đánh giá Để thực hiện đánh giá, người đánh giá sẽ:
- Quản lí các thành phần sản phẩm
- Quản lí dữ liệu đánh giá
- Quản lí việc sử dụng công cụ để thực hiện đánh giá
- Quản lý hoạt động đánh giá
- Yêu cầu về công nghệ đánh giá đặc biệt
Mô hình chất lượng ISO-9126 trên thực tế được mô tả là một phương pháp phân loại và chia nhỏ những thuộc tính chất lượng, nhằm tạo nên những đại lượng
đo đếm được dùng để kiểm định chất lượng của sản phẩm phần mềm ISO-9126 mô
tả một mô hình chất lượng sản phẩm phần mềm gồm hai phạm vi:
Trang 33Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Chất lượng trong và chất lượng ngoài
Chất lượng sử dụng
Phạm vi thứ nhất của mô hình xác định 6 tiêu chí của chất lượng trong, 6 tiêu
chí chất lượng ngoài, các tiêu chí này sau đó lại được chia nhỏ thành nhiều tiêu chí con
Phạm vi thứ hai của mô hình mô tả 4 tiêu chí chất lượng sử dụng Chất lượng
sử dụng là hệ quả của 6 tiêu chí chất lượng sản phẩm phần mềm đối với người dùng
Các tiêu chí sản phẩm phần mềm này có thể áp dụng cho tất cả các loại phần mềm Trong phần này, chất lượng sản phẩm phần mềm được xác định và đánh giá theo nhiều hướng, gắn với kết quả thu được, các yêu cầu, sự phát triển, sử dụng, đánh giá, hỗ trợ, tính ổn định, đảm bảo chất lượng và kiểm định của phần mềm Nó
có thể được sử dụng bởi nhà phát triển, tổ chức sử dụng, nhân viên đảm bảo chất lượng phần mềm hay người đánh giá độc lập Đồng thời nó đặc biệt thích hợp cho việc xác định và đánh giá chất lượng sản phẩm phần mềm Ví dụ, mô hình chất lượng này có thể được dùng để:
Xác định các yêu cầu phần mềm
Xác định các đối tượng thiết kế phần mềm
Xác định các đối tượng kiểm thử phần mềm
Xác định các tiêu chuẩn đảm bảo chất lượng
Xác định các tiêu chuẩn chấp nhận cho một sản phẩm phần mềm hoàn chỉnh
Chất lượng sử dụng phải bao gồm các yêu cầu về chất lượng trong từng trường hợp sử dụng cụ thể Những yêu cầu này có thể được sử dụng khi xác định các chất lượng trong và ngoài, sử dụng các tiêu chí chất lượng sản phẩm phần mềm cùng các phép đánh giá tương ứng
Trang 34Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
Quá trình
chất lượng
Thuộc tính chất lượng trong
Thuộc tính chất lượng ngoài
Thuộc tính chất lượng
sử dụng Phụ thuộc Phụ thuộc Phụ thuộc
Quá trình đánh giá Phép đánh giá trong Phép đánh giá ngoài Đánh giá chất lượng sử dụng
Tác động Tác động Tác động
Hoàn cảnh
sử dụng Quá trình Sản phẩm phần mềm Kết quả sản phẩm phần mềm
Hình 2.1: Chất lượng trong vòng đời sản phẩm
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ể
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 chuẩn đánh giá chất lượng bên trong, bên 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 Quan niệm về chất lượng trong, chất lượng ngoài và chất lượng sử dụng thay đổi trong suốt vòng đời phần mềm
Các độ đo dùng cho yêu cầu chất lượng có thể chia làm nhiều loại, tuỳ theo các mức độ thoả mãn khác nhau cho các yêu cầu Ví dụ, có thể chia làm 2 loại:
không thoả mãn và thoả mãn, hoặc 4 loại: vượt quá yêu cầu, đạt yêu cầu, đạt mức chấp nhận tối thiểu, không chấp nhận được
Có nhiều cách nhìn khác nhau về chất lượng sản phẩm, đi kèm với nó là phương pháp đo liên quan tại các giai đoạn khác nhau trong vòng đời phần mềm
Những yêu cầu chất lượng bên 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
Trang 35Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
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 ngoài được sử dụng như là đích của quá trình kiểm tra tại mỗi giai đoạn phát triển
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 Đó là chất lượng khi phần mềm hoạt động, thường được đo kiểm, ước lượng trong khi kiểm thử trong môi trường giả lập với dữ liệu giả lập, sử dụng phương pháp đo ngoài Trong quá trình kiểm thử, hầu hết các lỗi cần được phát hiện và khắc phục Tuy nhiên, sau kiểm thử, vẫn còn lại một số lỗi Bởi vì rất khó để sửa chữa kiến trúc và các vấn đề liên quan đến thiết kế cơ bản của phần mềm,
nên thiết kế cơ bản của phần mềm thường không thay đổi khi kiểm thử
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 Các yêu cầu chất lượng trong được sử dụng
để xác định tiêu chí của các sản phẩm trung gian Chúng cũng có thể được sử dụng
để xác định các chiến lược phát triển, chuẩn để đánh giá, các kiểm tra trong quá trình phát triển
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 Các chi tiết của chất lượng sản phẩm phần mềm có thể được cải tiến trong suốt quá trình triển khai mã hoá, kiểm thử, nhưng bản chất cơ bản của chất lượng sản phẩm phần mềm thể hiện qua chất lượng trong thì không
thay đổi trừ khi có sự thiết kế lạ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ể Chất
lượng trong môi trường của người sử dụng có thể khác với chất lượng trong môi
trường của người phát triển, đó là do sự khác nhau giữa nhu cầu và khả năng của những người sử dụng, và sự khác nhau giữa các phần cứng và môi trường
Phần mềm không bao giờ chạy một mình mà luôn chạy như một phần của một hệ thống lớn, bao gồm nhiều phần mềm khác nữa, nó có các giao diện, phần cứng, điều khiển của người sử dụng, các luồng công việc Sản phẩm phần mềm hoàn chỉnh có dụng được ước lượng bằng các mức độ của phương pháp đo ngoài
Trang 36Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
được chọn Chất lượng sử dụng có thể được đo kiểm bằng các phạm vi trong đó sản phẩm đáp ứng được nhu cầu của người sử dụng cụ thể tương ứng, thoả mãn tính hiệu quả, năng suất, tính an toàn và sự hài lòng
Trong giai đoạn đầu của quá trình phát triển phần mềm, chỉ có tài nguyên và các quá trình được đo Khi đã có những sản phẩm trung gian, chúng có thể được đo kiểm bằng các mức độ của phương pháp đo trong được chọn Phương pháp đo này
có thể được dùng để dự đoán kết quả của phương pháp đo ngoài
Một sự khác biệt nữa giữa việc đánh giá sản phẩm phần mềm và đánh giá môi trường là theo cách chúng được thực hiện Ví dụ, tính tin cậy của một hệ thống được đánh giá bằng cách quan sát các lỗi gây ra bởi các lý do như phần cứng, phần mềm, người sử dụng …, trong khi tính tin cậy của sản phẩm phần mềm được đánh giá bằng cách quan sát các lỗi và tìm những lý do gây lỗi của phần mềm như lỗi khi xác định yêu cầu, lỗi thiết kế hay lỗi triển khai
Không thể đo đạc tất cả các tiêu chí con trong và ngoài cho tất cả các phần của một sản phẩm phần mềm lớn Tài nguyên để đánh giá cần được xác định giữa nhiều loại phương pháp đo dựa trên đối tượng công việc, bản chất của sản phẩm và quá trình thiết kế
Tiêu chí đánh giá sản phẩm phần mềm trong phạm vi mô hình chất lượng trong và mô hình chất lượng ngoài
Mô hình chất lượng ISO-9126 trên thực tế được mô tả là một phương pháp phân loại và chia nhỏ những thuộc tính chất lượng, nhằm tạo nên những đại lượng
đo đếm được dùng để kiểm định chất lượng của sản phẩm phần mềm Mô hình chất lượng trong và chất lượng ngoài của sản phẩm trong ISO-9126 thể hiện trên hình sau
Trang 37Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
CHẤT LƯỢNG (nội bộ và hướng ngoại)
Độ ổn định Tính khả dụng Tính hiệu quả Khẳ năng bảo trì
Tính hoàn thiện Khả năng sửa lỗi Khẳ năng phục hồi
Tính dễ hiểu Tính dễ học Khẳ nưng điều khiển Tính hấp dẫn
Tiết kiệm thời gian Tiết kiệm tài nguyên
Khả năng phân tích Khả năng thay đổi Tính cân bằng Khẳ năng kiểm định
Hình 2.2: Mô hình chất lượng cho chất lượng trong và ngoài
Mỗi tiêu chí chất lượng, tiêu chí chất lượng con của phần mềm đều được định nghĩa Với mỗi tiêu chí và các tiêu chí con, khả năng của phần mềm được xác định bằng tập các thuộc tính trong có thể đo đạc được Các tiêu chí và các tiêu chí
con cũng có thể đo đạc trong phạm vi khả năng của hệ thống chứa phần mềm
Tính chức năng: Khả năng của phần mềm cung cấp các chức năng đáp ứng được
nhu cầu sử dụng khi phần mềm làm việc trong điều kiện cụ thể Gồm các tiêu chí con
Tính phù hợp: là khả năng của một phần mềm có thể cung cấp một tập các chức năng thích hợp cho công việc cụ thể phục vụ mục đích của người sử dụng
Tính chính xác: là khả năng của phần mềm có thể cung cấp các kết quả hay hiệu quả đúng đắn hoặc chấp nhận được với độ chính xác cần thiết
Tính an toàn: khả năng bảo vệ thông tin và dữ liệu của sản phẩm phần mềm, sao cho người, hệ thống không được phép thì không thể truy cập, đọc hay chỉnh sửa chúng
Tính tương tác: khả năng tương tác với một hoặc một vài hệ thống cụ thể của phần mềm
Tính chức năng chung: các phần mềm theo các chuẩn, quy ước, quy định
Tính tin cậy: Là khả năng của phần mềm có thể hoạt động ổn định trong những điều
kiện cụ thể và gồm các tiêu chí con