a- Số lượng dòng mã (LOC, KDSI, KLOC) Một thước đo khác
o Số dòng mã nguồn (KDSI)
Mã nguồn chỉ là một phần nhỏ của nỗ lực phát triển toàn bộ phần mềm (Source code is only a small part of the total software effort )
Những ngôn ngữ khách nhau dẫn đến chiều dài mã lệnh khác nhau LOC không được dùng để xác định ngôn ngữ phi thủ tục (như LISP)
Chương 5: Lập kế hoạch và ước lượng Các đếm dòng lệnh không rõ ràng o Số dòng lệnh có thể thực thi? o Những định nghĩa dự liệu? o Những lời chú thích? o Các câu lệnh JCL?
o Dòng lệnh đã được thay đổi/ xóa?
Không phải mọi thứ được viết ra đều chuyển giao cho khách hàng
Bộ sinh bản ghi, màn ảnh, GUI có thể sinh hàng nghìn dòng lệnh trong mỗi phút LOC chỉ được biết chính xác khi phần mềm được hoàn thiện
Do đó, ước lượng dựa trên LOC nguy hiểm gấp đôi
o Để bắt đầu tiến trình ước lượng, LOC trong phần mềm đã hoàn thiện phải được ước lượng
o Sau đó, ước lượng LOC được sử dụng để ước lượng chi phí của phần mềm b- FFP
Được sử dụng đối với ước lượng chi phí của một phần mềm xử lý dữ liệu cỡ trung bình Ba thành phần cấu trúc cơ bản của pâần mềm xử lý dữ liệu
o Các tệp o Các luồng o Các tiến trình
Với số lượng tệp (Fi), số luồng (Fl), và số tiến trình (Pr) o Kích thước (s), chi phí (c) được xác định bởi
S = Fi + Fl + Pr
C = b S
Hằng số b (hiệu năng hoặc năng suất) thay đổi từ tổ chức này đến tổ chức khác
Tính hiệu lực và tính tin cậy của thước đo FFP được chứng minh bằng cách sử dụng cùng một mục đích
o Tuy nhiên, thước đo này không bao giờ được mở rộng đối với cơ sở dữ liệu c- Điểm chức năng (Function Points)
Dựa trên số lượng đầu vào (Inp), đầu ra (Out), các câu hỏi(Inq), các tệp chính (Maf), các giao diện (Inf)
Đối với bất kỳ sản phẩm nào, số điểm chức năng được xác định bằng FP = 4 Inp + 5 Out + 4 Inq + 10 Maf + 7 Inf
Đây là một trường hợp quá đơn giản của một tiến trình 3 bước
Bước 1. phân loại mỗi thành phần của phần mềm (Inp, Out, Inq, Maf, Inf) thuộc loại đơn giản, trung bình, hoặc phức tạp
o Gán số lượng thích hợp các điểm chức năng o The sum gives UFP (unadjusted function points)
Chương 5: Lập kế hoạch và ước lượng
Bước 2. Tính toán nhân tố độ phức tạp về mặt kỹ thuật (technical complexity factor -TCF) o Gián giá trị từ 0 (không có mặt) tới 5 (ảnh hưởng mạnh mẽ từ đầu đến cuối) đối
với mỗi nhân tố thuộc 14 nhân tô như tỷ giá giao dịch, tính khả chuyển
Thêm 14 con số
o Đưa ra mức độ ảnh hưởng tổng thể (DI)
TCF = 0.65 + 0.01 DI
Nhân tố độ phức tạp về mặt kỹ thuật nằm trong khoảng từ 0.65 tới 1.35 Bước 3. Số lượng điểm chức năng được tính bằng
FP = UFP TCF
Phân tích về điểm chức năng
Các điểm chức năng thường tốt hơn KDSI – nhưng có một vài vấn đề xảy ra PTIT
Chương 5: Lập kế hoạch và ước lượng
Giống như FFP, bảo trì có thể được đo một cách thiếu chính xác Có thể thay đổi
o Số lượng các tệp, luồng và các tiến chình
o Số lượng đầu vào, đầu ra, câu hỏi, các tệp chính và các giao diện
Theo lý thuyết, có thể thay đổi tất cả các dòng mã với việc thay đổi số lượng các dòng mã (In theory, it is possible to change every line of code with changing the number of lines of code)
Các điểm chức năng Mk II
Thước đo này đã được đưa ra để tính toán UFP một cách chính xác hơn
Chúng ta chia nhỏ phần mềm thành các giao tác thành phần, mỗi giao tác thành phần gồm đầu vào, tiến trình và đầu ra
Các điểm chức năng Mark II được sử dụng rộng rãi trên thế giới d- COCOMO