Biết đuợc khối lượng của các xử lý của hệ thống thông tin là để đánh giá khối lượng công việc để làm ra hệ thống, đây một trong những yêu cầu ban đầu cho việc lập kế hoạch phát triển hệ thống, nó liên kết giữa các môđun chương trình với nguồn lực (nhân lực, kinh phí, phuơng tiện) hiện có của tổ chức để đưa vào kế hoạch thực hiện (phân công).
Không giống như các sản phẩm công nghiệp được sản xuất từ dây chuyền công nghệ, phần mềm là một loại sản phẩm đặt biệt được sáng tạo chứ không thể sản xuất. Các nhà hoạch định cho kế hoạch phát triển hệ thống thông tin dựa trên máy tính (CBIS) thường gặp nhiều khó khăn trong việc này, bởi vì khối lượng xử lý trong hệ thống phụ thuộc vào độ phức tạp của các xử lý bên trong hệ thống. Việc đánh giá mức độ phức tạp của hệ thống lại phụ thuộc rất nhiều vào trình độ, khả năng tư duy và quan điểm riêng của mỗi cá nhân; đây là những đặc tính bên trong của con người, và rất khác nhau giữa nhiều người. Chính vì thế khối lượng xử lý của các phần mềm được ước tính hợp lý (estimating) chứ không thể nào đo được (measuring).
PERT (Program Evaluation & Review Technique). Để hướng đến việc lập kế hoạch phát triển hệ thống, một phương pháp đơn giản nhất là đồng nhất khối lượng xử lý của hệ thống thành khối lượng
của công việc tạo ra hệ thống, và sử dụng kỹ thuật ước lượng PERT. Kỹ thuật này dựa trên tổng hợp ý kiến của nhiều nguời về công việc cần thực hiện để ước tính mức độ nổ lực cần thiết cho công việc. PERT dựa trên công thức sau:
6 * 4 m pess op S S S S + + = , trong đó:
S là khối lượng ước tính theo công thức PERT.
Sop : Ước tính lạc quan nhất (Most Optimistic). Ví dụ, để biết 1 công việc cụ thể cần hoàn thành trong bao lâu với nguồn lực đã cho, người ta sẽ hỏi những người đã từng có kinh nghiệm làm việc này hoặc các việc tương tự, và chọn Sop là thời gian ngắn nhất có thể làm xong công việc. Chọn thời gian ngắn nhất để thực hiện công việc cũng đồng nghĩa với rủi ro sẽ cao nhất.
Spess : Ước tính bi quan nhất (Most Pessimistic). Người ta chọn thời gian hoàn thành công việc lâu nhất thay vì ngắn nhất, để bảo đãm công việc chắc chắn sẽ hoàn tất trong thời gian này.
Sm : Ước tính phổ biến nhất (Most Likely), được nhiều người đồng ý nhất.
FPA (Function Point Analysis). Phân tích điểm chức năng là một phương pháp đuợc biết từ thập niên 70, và ngày nay nó vẫn còn được ứng dụng. Phương pháp này đếm từng nội dung dữ liệu của hệ thống (hoặc xử lý), áp dụng công thức tính để xác định điểm chức năng (Addjusted Function Point, AFP) được cho là kích cở của hệ thống. Mỗi một nội dung (dữ liệu hoặc truy vấn) vào hoặc ra trên đường biên được đếm là 1 (count = 1). Dữ liệu cần đếm được phân loại như sau:
• External Inputs (EI): Dữ liệu (không mang truy vấn) từ ngoài vào trong hệ thống. • External Output (EO): Dữ liệu đi ra khỏi hệ thống (như 1 thông báo lỗi,…).
• External Inquiries (EQ): Truy vấn từ ngoài vào hệ thống (ie, phải có trả về 1 kết quả nào đó). • Internal Logical Files (ILF): Nhóm dữ liệu liên kết nhau như bảng dữ liệu bên trong hệ thống. • External Interface Files (EIF): các thiết bị bên ngoài hệ thống (thiết bị ngoại vi, hệ thống khác)
mà hệ thống cần giao tiếp với chúng.
Mỗi loại dữ liệu sau khi đếm được đánh giá độ phức tạp dựa trên bảng tham chiếu cho từng loại do tổ chức IFPUG thiết lập (tài liệu tham khảo tại: http://www.softwaremetrics.com/freemanual.htm). Ví dụ, các EI có bảng tham chiếu như sau:
Đây là bảng tham chiếu độ phức tạp cho EI. FTR là số lượng ILF được EI tham chiếu đến. Nếu số đếm các EI là 7 (trong khoảng 5-15) và số FTR là 1 (nhỏ hơn 2) thì độ phức tạp trong trường hợp này là 3 (Low).
Sau khi đếm và đánh giá độ phức tạp cho mỗi loại dữ liệu (EI, EO, EQ, ILF và EIF), ta sử dụng công thức tính điểm chức năng chưa hiệu chỉnh và đã hiệu chỉnh như sau:
UnAddjuted Function Points = ∑(Số dữ liệu đếm được trong mỗi loại * độ phức tạp của mỗi loại) Addjusted Function Points = UnAddjuted Function Points * ( 0.65 + 0.01 * ∑ Ci )
∑Ci là giá trị hiệu chỉnh thêm cho công thức dựa trên các đặc tính của hệ thống. Mỗi một Ci (i = 1 đến 14) có giá trị từ 0 đến 5 tương ứng với một ước lượng trong câu trả lời từ 1 đến 14 câu hỏi sau:
1. Hệ thống có cần phải sao lưu và phục hồi không ? 2. Có cần truyền nhận dữ liệu với các nơi khác ? 3. Có cần phải xử lý phân tán (distributed processing) ? 4. Tốc độ xử lý nhanh có thực sự quan trọng không ? 5. Hệ thống cần được sử dụng với cường độ cao ? 6. Hệ thống cần xử lý dữ liệu trực tuyến ?
7. Dữ liệu trực tuyến có đòi hỏi nhiều thao tác hoặc hiển thị bằng nhiều màn hình ? 8. Các ILF có cần phải được cập nhật trực tuyến không ?
9. Các Inputs, Outputs, Files và các truy vấn có thực sự phức tạp không ? 10.Xử lý bên trong hệ thống có phức tạp không ?
11.Mã lệnh có cần phải được thiết kế cho việc sử dụng lại không ?
12.Xử lý có bao gồm luôn các tiện tích chuyển đổi và trợ giúp để cài đặt hệ thống ? 13.Hệ thống có được thiết kếđể sử dụng được ở nhiều tổ chức khác nhau không ? 14.Có được thiết kếđể dể dàng thay đổi sau này, hoặc để dể sử dụng không ?
Một điểm hạn chế của FPA là nó không quan tâm đến độ phức tạp về mặt kỹ thuật của các xử lý, do đó nó không thể tính chính xác kích cở của các ứng dụng có tính toán phức tạp như Realtime Systems (hệ thống cần đáp ứng theo thời gian thực).
4.6 ĐÁNH GIÁ CHẤT LƯỢNG CỦA HỆ THỐNG 4.6.1Quan điểm chất lượng