Khả năng bảo trì là khả năng của phần mềm cho phép sửa đổi, nâng cấp, sửa chữa, cải tiến cho phù hợp với môi trường, các yêu cầu và chức năng mới, gồm:
• Khả năng phân tích: khả năng chẩn đoán để tìm lỗi, nguyên nhân gây lỗi.
• Khả năng thay đổi được: khả năng chấp nhận thay đổi trong quá trình triển khai.
• Tính ổn định: Khả năng tránh những ảnh hưởng khi chỉnh sửa phần mềm.
• Khả năng kiểm thử được: Khả năng cho phép đánh giá phần mềm
• Khả năng bảo hành bảo trì: Thoả mãn các chuẩn, quy ước, quy định.
f) Tính khả chuyển
Tính khả chuyển là khả năng của phần mềm có thể chuyển được từ môi trường này sang môi trường khác. [4]
• Khả năng thích nghi: phần mềm có thể thích ứng với các môi trường khác nhau mà không cần phải thay đổi.
• Khả năng cài đặt: có thể cài đặt được trên những môi trường cụ thể.
• Khả năng chung sống: có khả năng cùng tồn tại với những phần mềm độc lập khác trong cùng môi trường, cùng chia sẻ tài nguyên.
• Khả năng thay thế được: có khả năng thay thế phần mềm khác khác cùng mục đích và môi trường.
• Tính khả chuyển: Thoả mãn các chuẩn, quy ước, quy định.
2.1.2 Các phép đánh giá chất lượng sử dụng
được mô phỏng như hình 2.1:
Hình 2.1 Mô hình chất lượng sử dụng [2]
Tính hiệu quả: cho phép người dùng đạt được mục đích một cách chính xác và hoàn toàn, trong điều kiện làm việc cụ thể.
Tính năng suất: khả năng cho phép người dùng sử dụng lượng tài nguyên hợp lý để thu được hiệu quả công việc trong trường hợp cụ thể.
Tính an toàn: khả năng đáp ứng mức độ rủi ro chấp nhận được đối với người sử dụng, phần mềm, thuộc tính, hoặc môi trường trong điều kiện cụ thể.
Tính thoả mãn: khả năng thoả mãn người sử dụng trong từng điều kiện cụ thể.
2.2 Các giai đoạn có thể đánh giá chất lượng sản phẩm phần mềm
Đánh giá sản phẩm phần mềm được thực hiện trong vòng đời phát triển phần mềm. Đánh giá chất lượng phần mềm bằng cách đo các thuộc tính bên trong, các thuộc tính bên ngoài hoặc các thuộc tính sử dụng.
Quy trình chất lượng nhằm cải tiến chất lượng sản phẩm và chất lượng sử dụng, vì vậy việc đánh giá và cải tiến quy trình cũng là cải tiến chất lượng sản phẩm. Việc đánh giá chất lượng sử dụng và cải tiến sản phẩm có tác động qua lại nhau.
Các thuộc tính trong là yêu cầu tiền đề để đạt được các phản ứng bên ngoài, và các hoạt động bên ngoài thích hợp là yêu cầu tiền đề để đạt được chất lượng sử dụng.
Hình 2.2 Chất lượng trong vòng đời sản phẩm [2]
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
Các yêu cầu chất lượng sản phẩm phần mềm sẽ 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 người sử dụng, người bảo dưỡng, đơn vị sử dụng và người dùng cuối. Để có một sản phẩm chất lượng tốt đòi hỏi quá trình phát triển phần mềm phải liên tục và luôn có những phản hồi từ người dùng.
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 từ bên ngoài, gồm các yê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. Các yêu cầu chất lượng ngoài cho tất cả các tiêu chí chất lượng xác định trong phần này nên được đặt trong các đặc tả yêu cầu chất lượng sử dụng phương pháp đo ngoài, nên được chuyển đổi sang các yêu cầu chất lượng trong, và nên được sử dụng như là chuẩn để kiểm tra sản phẩm.[2]
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 từ bên trong sản phẩm, được sử dụng để xác định tiêu chí của các sản phẩm trung gian. 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 có thể được coi là kết quả đánh giá tại các giai đoạn trong phát triển phần mềm. Được dùng để xác định kế hoạch phát triển, chuẩn đánh giá, các kiểm tra trong quá trình phát triển sản phẩm và có thể dùng một số phương pháp đo mở nằm ngoài phạm vi của ISO/IEC 9126. Các yêu cầu chất lượng trong nên được xác định định lượng qua việc sử dụng phương pháp đo trong. Chất lượng phần mềm được cải tiến trong quá trình phát triển, kiểm thử, triển khai nhưng bản chất của nó ở chất lượng trong thì không thay đổi nếu như không có sự thiết kế lại.
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 từ bên ngoài khi phần mềm hoạt động, được đo kiểm, ước lượng khi kiểm thử sản phẩm trong môi trường giả lập với dữ liệu giả lập bằng phương pháp đo ngoài. Khi kiểm thử các lỗi cần được phát hiện và khắc phục, 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 thiết kế cơ bản của phần mềm, nên chúng thường không thay đổi khi kiểm thử.
Chất lượng sử dụng là đánh giá phần mềm khi sử dụng trong điều kiện cụ thể. Nó xác định phạm vi mà người sử dụng cần đạt được mục đích của mình hơn là xác định các tiêu chí của bản thân phần mềm.
Chất lượng sản phẩm ở các môi trường của người sử dụng khác nhau do nhu cầu và khả năng của họ khác nhau và cả khác nhau giữa các phần cứng và môi trường. Đôi khi, các thuộc tính của phần mềm, xác định bởi người sử dụng trong khi phân tích yêu cầu không đáp ứng được nhu cầu của người sử dụng, là do những thay đổi yêu cầu của người sử dụng và các khó khăn trong việc xác định nhu cầu. [2]
2.3 Quy trình đánh giá chất lượng phần mềm
14598, thực hiện theo 4 bước được mô tả trong hình 2.3:
Hình 2.3 Quy trình đánh giá chất lượng sản phẩm phần mềm [2]
Bước 1: Thiết lập các yêu cầu đánh giá
Bước này có 3 nội dung cần thực hiện: Xác lập mục đích đánh giá, Xác định loại sản phẩm cần đánh giá và Xây dựng mô hình chất lượng.
a) Xác lập mục đích đánh giá:
• Mục đích của việc đánh giá các sản phẩm trung gian là:
o Quyết định chấp nhận sản phẩm trung gian từ nhà phát triển phần mềm phụ.
o Quyết định sự hoàn thành của một tiến trình trong quy trình phát triển phần mềm cũng như thời điểm có thể chuyển sang tiến trình tiếp theo. o Dự đoán hay ước lượng chất lượng sản phẩm cuối cùng.
o Thu thập thông tin sản phẩm trung gian để quản lý tiến trình phát triển
• Mục đích của việc đánh giá chất lượng sản phẩm cuối cùng là: o Quyết định chấp nhận sản phẩm
o Quyết định thời điểm phân phối sản phẩm o So sánh sản phẩm với các sản phẩm cạnh tranh o Chọn một sản phẩm trong các sản phẩm thay thế
o Đánh giá ưu điểm và nhược điểm khi sử dụng sản phẩm o Quyết định thời điểm nâng cấp và thay thế sản phẩm
b) Xác định loại sản phẩm cần đánh giá:
Việc xác định sản phẩm phần mềm trung gian hay bản cuối cùng cần được đánh giá phụ thuộc vào giai đoạn nào trong quy trình phát triển và mục đích của việc đánh giá.
Mục đích đánh giá cho biết kết quả phần mềm đáp ứng những yêu cầu ban đầu và của người dùng phần mềm. Các phép đo ngoài được tiến hành trong khi phần mềm hoạt động. Phần mềm được đánh giá như một phần của hệ thống khi hoạt động.
Chất lượng sử dụng cần đáp ứng các yêu cầu của người sử dụng và những chức năng trong môi trường phần cứng, phần mềm cụ thể. Phần mềm hoạt động đạt yêu cầu trong một môi trường này vẫn có thể xuất hiện lỗi ở môi trường khác. Vì thế những đánh giá ngoài về đặc điểm chất lượng cần được thực hiện trong những môi trường càng gần với môi trường sử dụng càng tốt. Những phép đo ngoài được thực hiện trong trường hợp mỗi chương trình đã hoàn thành mặc dù khó có thể mô phỏng chính xác điều kiện làm việc nên các phép đo ngoài thường chỉ ra chất lượng sử dụng hiện tại.
Kết quả của phép đánh giá có thể dùng để chỉnh sửa các đặc điểm phần mềm chưa đáp ứng với mục đích cải tiến chất lượng ngoài bằng cách lặp lại một tiến trình cải tiến nữa.
Hình 2.4 Mối quan hệ giữa các phép đánh giá
Việc các thuộc tính chất lượng trong của phần mềm liên quan đến các yêu cầu chất lượng ngoài là rất quan trọng, để cho các đặc tính chất lượng của sản phẩm phần mềm trong giai đoạn phát có thể được đánh giá là thoả mãn những yêu cầu chất lượng của hệ thống sử dụng cuối. Các phép đo trong thường nhận ít giá trị trừ khi chúng liên quan đến chất lượng ngoài.
Các thuộc tính chất lượng cuối phụ thuộc vào điều kiện sử dụng đối với các sản phẩm tương tác và phụ thuộc vào yêu cầu của người sử dụng cuối và các tác vụ. Các yếu
tố khác ảnh hưởng đến chất lượng: thời điểm bán sản phẩm, thời điểm phát triển, giai đoạn phát triển, phần cứng, phần mềm và môi trường mạng khi sản phẩm hoạt động.
Các phép đo ngoài của một hệ thống máy tính cũng có thể dùng để đo gián tiếp chất lượng trong của phần mềm. Vì thế, thời gian đáp ứng của một hệ thống máy tính có thể dùng để đo tính hiệu quả của phần mềm trong một môi trường tính toán cụ thể.
c) Xây dựng mô hình chất lượng:
Đầu tiên cần chọn ra tiêu chí chất lượng liên quan, phân tách chất lượng phần mềm thành nhiều tiêu chí khác nhau. Mô hình đánh giá phần mềm thường mô tả tất cả các tiêu chí chất lượng phần mềm gồm các tiêu chí và các tiêu chí con, cao nhất là các tiêu chí chất lượng, mức thấp nhất là các thuộc tính chất lượng.
Các thuộc tính chất lượng trong của phần mềm là các đặc điểm có thể đo đạc được, chúng ảnh hưởng đến việc thỏa mãn những nhu cầu đã định ra. Có một vài thuộc tính có thể sử dụng để đánh giá các tiêu chí và tiêu chí con của chất lượng một sản phẩm phần mềm cụ thể.
Những tiêu chí và tiêu chí con có liên quan đến nhau trong bất kỳ tình huống cụ thể nào sẽ phụ thuộc vào mục đích đánh giá.
Bước 2: Xác lập cơ chế đánh giá
Trong bước này, có 3 nội dung cần thực hiện: Xác lập các đại lượng và độ đo, Thiết lập mức đo chuẩn và Thiết lập các tiêu chí đánh giá.