Các tiêu chí đánh giá phần mềm

Một phần của tài liệu luận văn thạc sĩ các tiêu chí đánh giá chất lượng phần mềm (Trang 40 - 75)

Đánh giá phần mềm là 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. Đánh giá phần mềm đƣợc thực hiện trong ba giai đoạn:

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Đo đạc trong quá trình phát triển phần mềm.

- Đo đạc phần mềm khi đã hoàn thành.

Đánh giá phần mềm là một phƣơng pháp đo, tức là nó xác định giá trị của nguyên mẫu. Kết quả của phép đo trả lời cho câu hỏi: Trong hai cái cái nào tốt hơn? Mức độ tốt? Có nhiều phƣơng pháp đo do các tổ chức, các nhóm nghiên cứu đề xuất. Tuy nhiên hiện nay chƣa có một chuẩn đo phần mềm nào đƣợc chấp nhận rộng rãi trên toàn thế giới.

Qua việc nghiên cứu các tiêu chuẩn đánh giá sản phẩm phần mềm của các tổ chức quốc tế, áp dụng theo mô hình chất lƣợng ISO-9126 và hƣớng dẫn đánh giá sản phẩm phần mềm của ISO-14589, trong phạm vi đề tài trình bày 06 tiêu chí để đánh giá chất lƣợng ngoài của sản phẩm phần mềm bao gồm:

 Tiêu chí chƣ́c năng (Functionality)

 Tiêu chí độ tin cậy (Reliability)

 Tiêu chí khả dụng (Usability)

 Tiêu chí hiệu quả (Effictiency)

 Tiêu chí bảo trì đƣợc (Maintainability)

 Tiêu chí khả chuyển (Portability)

Trong đó mỗi tiêu chí lại đƣợc chia thành các tiêu chí con và một phần đánh giá chung. Mỗi tiêu chí con này đƣợc định lƣợng bằng phƣơng pháp đo ngoài.

2.2.1. Tiêu chí chƣ́c năng (Functionality)

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 5 đặc trƣng con.

 Tính phù hợp (Suitability): 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 (Accuracy): 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.

Số 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ột vài hệ thống cụ thể của phần mềm.

 Tính bảo mật, an toàn (Security): 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.

 Đánh giá chung (Compliance): các phần mềm theo các chuẩn, quy ƣớc, quy

định.

2.2.2. Tiêu chí độ tin cậy (Reliability)

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à trong những tình huống khác nhau. Gồm 4 đặc trƣng sau:

 Tính hoàn thiện (Maturity): khả năng tránh các kết quả sai, liên quan đến tuần suất hƣ hại bởi lỗi của phần mềm.

 Khả năng chịu lỗi (Fault tolerance): khả năng của phần mềm hoạt động ổn

định tại một mức độ cả trong trƣờng hợp có lỗi xảy ra ở phần mềm hoặc có những vi phạm trong giao diện.

 Khả năng phục hồi (Recoverability): khả năng của phần mềm có thể tái thiết lại hoạt động tại một mức xác định và khôi phục lại những dữ liệu có liên quan trực tiếp đến lỗi. (adsbygoogle = window.adsbygoogle || []).push({});

 Đánh giá chung (Compliance): phần mềm tuân thủ các chuẩn, quy ƣớc, quy

định.

2.2.3. Tiêu chí khả dụng (Usability)

Là khả năng của phần mềm có thể hiểu đƣợc, học đƣợc, sử dụng đƣợc và hấp dẫn ngƣời sử dụng trong từng trƣờng hợp sử dụng cụ thể. Tiêu chí này gồm 5 đặc trƣng.

 Tính dễ hiểu (Understandability): ngƣời dùng có thể hiểu đƣợc xem phần mềm có hợp với họ không và và sử dụng chúng thế nào cho những công việc cụ thể.

 Tính dễ học (Learnability): ngƣời dùng có thể học, sử dụng và khai thác các ứng dụng của phần mềm.

Số 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ùng sử dụng và điều khiển nó.

 Tính hấp dẫn (Attractiveness): khả năng hấp dẫn ngƣời sử dụng của phần mềm.

 Đánh giá chung (Compliance): phần mềm thoả mãn các chuẩn, quy ƣớc,

quy định.

2.2.4. Tiêu chí hiệu quả (Effictiency)

Khả năng của phần mềm có thể hoạt động một cách hợp lý, tƣơng ứng với lƣợng tài nguyên nó sử dụng, trong điều kiện cụ thể. Gồm các đặc trƣng:

 Đáp ứng thời gian (Time behaviour): khả năng của phần mềm có thể đƣa ra

một trả lời, một thời gian xử lý và một tốc độ thông lƣợng hợp lý khi nó thực hiện công việc của mình, dƣới một điều kiện làm việc xác định.

 Tận dụng tài nguyên (Resource utilisation): khả năng của phần mềm có thể

sử dụng một lƣợng, một loại tài nguyên hợp lý để thực hiện các chức năng hoặc công việc trong những điều kiện cụ thể.

 Đánh giá chung (Compliance): liên quan đến việc thực hiện các chuẩn, quy

ƣớc, quy định.

2.2.5. Tiêu chí bảo trì đƣợc (Maintainability)

Khả năng của phần mềm có thể chỉnh sửa. Việc chỉnh sửa bao gồm: sửa lại cho đúng, cải tiến và làm phần mềm thích nghi đƣợc với những thay đổi của môi trƣờng, của yêu cầu và của chức năng xác định.

 Có thể phân tích đƣợc (Analysability): phần mềm có thể đƣợc chẩn đoán để

tìm những thiếu sót hay những nguyên nhân gây lỗi hoặc để xác định những phần cần sửa.

 Có thể thay đổi đƣợc (Changeability): phần mềm có thể chấp nhận một số

thay đổi cụ thể trong quá trình triển khai. Cần thiết có thể sửa chữa, loại bỏ lỗi.

 Tính bền vững (Sustainability): khả năng tránh những tác động không

mong muốn khi chỉnh sửa phần mềm.

Số 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ỉnh sửa.

 Đánh giá chung (Compliance): thoả mãn các chuẩn, quy ƣớc, quy định. (adsbygoogle = window.adsbygoogle || []).push({});

2.2.6. Tiêu chí khả chuyển (Portability)

Là khả năng của phần mềm cho phép nó có thể đƣợc chuyển từ môi trƣờng này sang môi trƣờng khác. Gồm 5 đặc trƣng dƣới:

 Khả năng thích nghi (Adaptability): khả năng của phần mềm có thể thích nghi với nhiều môi trƣờng khác nhau mà không cần phải thay đổi.

 Có thể cài đặt đƣợc (Installability): phần mềm có thể cài đặt đƣợc trên những môi trƣờng cụ thể khác nhau.

 Khả năng cùng tồn tại (Viability): phần mềm có thể cùng tồn tại với những

phần mềm độc lập khác trong một môi trƣờng chung, cùng chia sẻ những tài nguyên chung.

 Khả năng thay thế (Replaceable): phần mềm có thể dùng thay thế cho một

phần mềm khác, với cùng mục đích và trong cùng môi trƣờng.

 Đánh giá chung (Compliance): thoả mãn các chuẩn, quy ƣớc, quy định.

2.3. Độ đo các tiêu chí

2.3.1. Khái niệm độ đo phần mềm

Độ đo phần mềm là kỹ thuật cơ sở phƣơng pháp ƣớc lƣợng. Xây dựng hệ thống độ đo phần mềm có 2 hƣớng, thứ nhất, thu thập dữ liệu, phân tích và tìm sự tƣơng quan trong kho dữ liệu đó. Thứ hai, tìm các độ đo, tổng hợp và thực hiện báo cáo trên độ đo đã có.

Độ đo phần mềm là một kiểu độ đo liên quan đến hệ thống phần mềm. Có hai lớp độ đo là độ đo thuộc tính và độ đo dự đoán (liên quan tới quá trình sản xuất sản phẩm và thuộc tính của sản phẩm).

2.3.2. Độ đo các tiêu chí

Nhân tố (hệ số) chất lƣợng dƣợc chia làm hai nhóm: nhóm đo trực tiếp và nhóm đo gián tiếp (ƣớc lƣợng), chia các tiêu chuẩn thành 3 loại là đặc trƣng chức năng, khả năng đƣơng đầu với những thay đổi, khả năng thích nghi với môi trƣờng

Số 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ới.

Loại 1: Các đặc trưng chức năng

- Tính đúng đắn: Khi xét về tính đúng đắn tức là đề cập đến phạm vi phần mềm đó có làm đúng điều khách hàng mong muốn, có thỏa mãn các yêu cầu đã đƣợc mô tả và có thực hiện đƣợc những mục tiêu nhiệm vụ của khách hàng đề ra. Tính đúng đắn thể hiện qua 3 độ đo:

 Độ đầy đủ: Cài đặt đầy đủ các chức năng đã yêu cầu.

 Độ nhất quán: Dùng các kỹ thuật thiết kế và tƣ liệu thống nhất trong toàn

bộ chƣơng trình.

 Độ lần vết đƣợc: Khả năng theo dõi dấu vết của một biểu diễn thiết kế.

- Tính tin tƣởng đƣợc (độ tin cậy của phần mềm): các chức năng hoạt động đúng với độ chính xác mong đợi. Tính tin tƣởng thể hiện qua 7 độ đo.

 Độ chính xác

 Độ phức tạp

 Độ nhất quán

 Độ dung thứ lỗi

 Độ modul hóa

 Độ đơn giản – dễ hiểu (adsbygoogle = window.adsbygoogle || []).push({});

 Độ lần vết đƣợc

- Tính hiệu quả: sử dụng nguồn lực phù hợp để thực hiện các chức năng của chƣơng trình. Tính hiệu quả có 3 độ đo:

 Độ súc tích

 Độ hiệu quả thực hiện

 Độ dễ thao tác

- 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 tới phần mềm và dữ liệu của hệ thống. Tính toàn vẹn có 3 độ đo.

 Độ kiểm toán đƣợc

 Trang bị đồ nghề đủ

Số 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ính khả dụng: Dễ học để nắm vững thao tác, đầu vào, đầu ra của chƣơng trình rõ ràng, dễ nhớ. Tính khả dụng thể hiện qua 2 độ đo.

 Độ dễ thao tác

 Độ đo khả năng huấn luyện

Loại 2: Khả năng đương đầu với những thay đổi

- Tính bảo trì đƣợc: nỗ lực đòi hỏi để xác định đƣợc lỗi sai trong chƣơng trình, sửa lỗi đƣợc, dễ thay thế và mở rộng. Tính bảo trì bao gồm 4 công việc: bảo trì sửa chữa, bảo trì thích nghi, bảo trì hoàn thiện, bảo trì phòng ngừa và có 6 độ đo.

 Độ súc tích

 Độ nhất quán

 Trang bị đồ nghề đủ

 Độ mudul hóa

 Độ tự cấp tài liệu

 Độ đơn giản - dễ hiểu

- Tính mềm dẻo: có thể cải biên chƣơng trình với nỗ lực chấp nhận đƣợc và đƣợc thể hiện qua 8 độ đo.

 Độ phức tạp

 Độ súc tích

 Độ nhất quán

 Độ khuếch trƣơng đƣợc

 Độ khái quát

 Độ đo mudul hóa

 Độ tự cấp tài liệu

 Độ đơn giản - dễ hiểu

- Tính kiểm thử đƣợc: đảm bảo hoạt động đúng chức năng mô tả. Có 6 độ đo ở tính kiểm thử. (adsbygoogle = window.adsbygoogle || []).push({});

 Độ kiểm toán đƣợc

 Độ phức tạp

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

 Độ mudul hóa

 Độ tự cấp tài liệu

 Độ đơn giản - dễ hiểu

Loại 3: khả năng thích nghi với môi trường mới

- Tính mang chuyển đƣợc: có thể mang chuyển từ môi trƣờng phần cứng/ phần mềm này sang môi trƣờng phần cứng/ phần mềm khác. Thể hiện qua 5 độ đo.

 Độ khái quát: độ rộng rãi của các ứng dụng tiềm năng của các thành phần

trong chƣơng trình.

 Độ độc lập phần cứng: mức độ theo đó phần mềm tách biệt với phần cứng mà nó vận hành.

 Độ mudul hóa

 Độ tự cấp tài liệu

 Độ độc lập hệ thống phần mềm: mức độ theo đó chƣơng trình độc lập với

ngôn ngữ lập trình, các đặc trƣng của hệ điều hành và các rằng buộc môi trƣờng chuẩn khác.

- Tính sử dụng lại đƣợc: một chƣơng trình (hay một phần của nó) có thể đƣợc dùng lại trong một ứng dụng khác. Tính sử dụng thể hiện qua 5 độ đo.

 Độ khái quát

 Độ độc lập phần cứng

 Độ đo mudul hóa

 Độ tự tạo tài liệu

 Độ độc lập hệ thống phần mềm

- Tính liên tác đƣợc: nỗ lực đòi hỏi để ghép đôi một hệ thống vào một hệ thống khác thể hiện qua 4 độ đo.

 Độ tƣơng đồng giao tiếp

 Độ tƣơng đồng dữ liệu

 Độ khái quát

Số 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 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

Trong thực tế thƣờng dùng hai cách để đánh giá phần mềm, đó là đánh giá phần mềm trong quá trình phát triển phần mềm, và đánh giá phần mềm trong quá trình sử dụng. Đánh giá phần mềm trong quá trình phát triển tƣơng đƣơng với quá trình chạy thử phần mềm trƣớc khi đƣa ra ngoài thị trƣờng bằng cách lấy ý kiến của các lập trình viên, các đối tƣợng sử dụng thử phần mềm đó. Còn đánh giá phần mềm trong quá trình sử dụng là khi đã đƣa phần mềm tới ngƣời sử dụng, có thể thu thập số liệu từ những ngƣời trực tiếp sử dụng 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.

Dựa vào phƣơng thức hoạt động có thể chia phần mềm thành ba loại chính: (adsbygoogle = window.adsbygoogle || []).push({});

 Phần mềm hệ thống là chƣơng trình tổ chức việc quản lý, điều phối các bộ

phận, chức năng của máy tính, dùng để vận hành máy tính, và các phần cứng máy tính, điều khiển máy tính và tạo môi trƣờng hoạt động cho các phần mềm khác. Ví dụ nhƣ hệ điều hành máy tính Windows XP, Linux, Unix, các thƣ viện động (còn gọi là thƣ viện liên kết động – dynamic linked library – DLL) của hệ điều hành, các trình điều khiển (driver), phần sụn (firmware) và BIOS. Đây là các loại phần mềm mà hệ điều hành liên lạc với chúng để điều khiển và quản lý các thiết bị phần cứng.

 Phần mềm ứng dụng các chƣơng trình yêu cầu những ứng dụng cụ thể, để

ngƣời sử dụng có thể hoàn thành một hay nhiều công việc. Phần mềm ứng dụng đƣợc chia thành nhiều loại khác nhau:

- Phần mềm văn phòng (Offices): Microsoft Office, Vietkey, Unikey,

Adobe Reader, Solid Converter …

- Phần mềm đa phƣơng tiện (Multimedia): Window Media, KMPlayer,

Gom, các chƣơng trình convert …

Số 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 mềm tiện ích Internet: Internet Explorer, FireFox, Yahoo

Messenger, Skype, các chƣơng trình hỗ trợ dowload, tăng tốc truy cập internet …

- Phần mềm bảo mật (Security): các chƣơng trình về Antivirus, Firewall,

Deepfreez …

- Phần mềm trò chơi (Game): tất cả các games.

- Phần mềm giáo dục: Violet …

- Phần mềm cơ sở dữ liệu: SQL server, Access, Foxpro …

…..

 Phần mềm chuyển dịch mã bao gồm trình biên dịch và trình thông dịch. Loại chƣơng trình này sẽ đọc các câu lệnh từ mã nguồn đƣợc viết bởi các lập trình viên bằng một ngôn ngữ lập trình và dịch nó sang dạng ngôn ngữ máy hay dịch nó sang một dạng khác nhƣ là tập tin đối tƣợng (object file) và các tập tin thƣ viện (library file) mà các phần mềm khác (nhƣ hệ điều hành chẳng hạn) có thể hiểu để vận hành máy tính thực thi các lệnh.

Dựa vào khả năng ứng dụng có thể chia phần mềm thành hai loại chính:

 Những phần mềm không phụ thuộc, bất kỳ khách hàng nào cũng có thể mua

để sử dụng. Ví dụ, phần mềm về cơ sở dữ liệu nhƣ Oracle, đồ họa nhƣ Photoshop, soạn thảo và xử lý văn bản … Ƣu điểm: là phần mềm có khả năng ứng dụng rộng rãi cho nhiều nhóm ngƣời sử dụng. Khuyết điểm: thiếu tính tùy biến.

 Những phần mềm đƣợc viết theo đơn đặt hàng hay hợp đồng của một khách

hàng cụ thể nào đó (công ty, bệnh viện, trƣờng học …). Ví dụ, phần mềm điều khiển, phần mềm hỗ trợ bán hàng … Ƣu điểm: có tính uyển chuyển, tùy biến cao để đáp ứng nhu cầu của một nhóm ngƣời sử dụng nào đó. Khuyết điểm: thông thƣờng đây là những phần mềm ứng dụng trong phạm vi hẹp.

Dựa vào nhu cầu của ngƣời dùng có thể chia phần mềm làm bảy nhóm chính.

Một phần của tài liệu luận văn thạc sĩ các tiêu chí đánh giá chất lượng phần mềm (Trang 40 - 75)