Tìm hiểu về kỹ thuật ước lượng phần mềm “Use Case Points”

Use Case Points (UCP) là một kỹ thuật ước lượng được sử dụng để dự đoán kích thước phần mềm cho các dự án phát triển phần mềm. UCP được sử dụng trong Unified Modeling Language (UML) và Rational Unified Process (RUP), để thiết kế và phát triển phần mềm. Khái niệm UCP dựa trên các yêu cầu đối với hệ thống đang được viết bằng các trường hợp sử dụng một phần của bộ kỹ thuật mô hình UML. Kích tước phần mềm (UCP) được tính toán dựa trên các yếu tố liên quan đến usecase của hệ thống, việc tính toán còn tính đến các cân nhắc kỹ thuật và môi trường. UCP có thể được sử dụng để tính toán công số cho một dự án.

1. Lịch sử

Kỹ thuật UCP được phát triển bởi Gustav Karner vào năm 1993 và được sử dụng tại Objectory Systems, sau đó được hợp nhất vào Rational Software và sau đó là IBM. Phương pháp UCP được tạo ra để giải quyết việc ước lượng kích thước phần mềm của các hệ thống hướng đối tượng. Nó dựa trên các nguyên tắc tương tự như phương pháp dự đoán Function Point (FP), nhưng được thiết kế cho các yêu cầu cụ thể của các hệ thống hướng đối tượng.

2. Phương pháp

Phương pháp ước lượng để phát triển một hệ thống dựa trên các yếu tố sau:

•    Unadjusted Use Case Weight (UUCW) – số lượng và độ phức tạp của usecase trong hệ thống
•    Unadjusted Actor Weight (UAW) – số lượng và độ phức tạp của các tác nhân cho hệ thống
•    Technical Complexity Factor (TCF) – yếu tố được sử dụng để điều chỉnh kích thước dựa trên các yếu tố kỹ thuật.
•    Environmental Complexity Factor (ECF) – yếu tố được sử dụng để điều chỉnh quy mô dựa trên các yếu tố về môi trường.

Khi đã tính được bốn phần tử bên trên thì ta có thể tính được phần tử cuối cùng. Số cuối cùng này được gọi là Use Case points (UCP).

Unadjusted Use Case Weight (UUCW)
UUCW là một trong những yếu tố góp phần tạo nên kích thước của phần mềm đang được phát triển. Nó được tính dựa trên số lượng và độ phức tạp cho các trường hợp sử dụng trong hệ thống. Để tìm ra UUCW của một hệ thống, mỗi trường hợp sử dụng phải được xác định và phân loại là “đơn giản”, “trung bình” hoặc “phức tạp” dựa trên số lượng các giao dịch được sử dụng trong trường hợp đó. Mỗi phân loại có một trọng số xác định trước. Khi tất cả các trường hợp sử dụng được phân loại là đơn giả, trung bình hoặc phức tạp, tổng trọng lượng (UUCW) được xác định bằng cách tính trọng lượng tương ứng cho từng trường hợp sử dụng. Bảng sau đây cho thấy các phân loại khác nhau của các trường hợp sử dụng dựa trên số lượng giao dịch và giá trị trọng số được chỉ định cho từng trường hợp sử dụng trong phân loại.
 use_case_points_1
UUCW = (tổng số trường hợp đơn giản x 5) + (tổng số trường hợp trung bình x 10) + (tổng số trường hợp phức tạp x 10)


Unadjusted Actor Weight (UAW)
UAW là một yếu tố khác góp phần tạo nên kích thước của phần mềm đang được phát triển. Nó được tính dựa trên số lượng và độ phức tạo của các tác nhân cho hệ thống. Tương tự như tìm kiếm UUCW, mỗi thành phần trong số các tác nhân phải được xác định và phân loại là “đơn giản”, “trung bình” hoặc “phức tạp” dựa trên loại tác nhân. Mỗi phân loại cũng có trọng số được xác định trước. UAW là tổng trọng lượng của mỗi tác nhân. Biểu đồ sau đây cho thấy sự phân loại khác nhau của các tác nhân và giá trị trọng số được chỉ định.
 use_case_points_2
UAW = (tổng số tác nhân đơn giản x 1) + (tổng số tác nhân trung bình x 2) + (tổng số tác nhân phức tạp x 3)


Technical Complexity Factor (TCF)
TCF là một trong những yếu tố được áp dụng cho việc ước lượng kích thước của phần mềm để tính các cân nhắc kỹ thuật của hệ thống. Nó được xác định bằng cách gán một điểm số giữa 0 (yếu tố không liên quan) và 5 (yếu tố là cần thiết) cho một trong số 13 yếu tố kỹ thuật được liên kết trong bảng dưới đây. Điểm số này sau đó được nhân với giá trị trọng số đã được xác định cho mỗi yếu tố. Tổng của tất cả các giá trị tính toán là yếu tố kỹ thuật (TF). TF sau đó được sử dụng để tính TCF với công thức sau:
TCF = 0.6 + (TF/100)
 use_case_points_3


Environmental Complexity Factor (ECF)
ECF là một yếu tố khác áp dụng cho việc ước lượng kích thước của phần mềm để tính đến những cân nhắc về môi trường của hệ thống. Nó được xác định bằng cách gán một điểm giữa 0 (không có kinh nghiệm) và 5 (chuyên gia) cho một trong tám yếu tố môi trường được liệt kê trong bảng dưới đây. Điểm số này sau đó được nhân với giá trị trọng số đã xác định cho mỗi yếu tố. Tổng của tất cả các giá trị tính toán là yếu tố môi trường (EF). EF sau đó được sử dụng để tính ECF với công thức sau:
ECF = 1.4 + (-0.03 x EF)
 use_case_points_4


Use Case Points (UCP)
Cuối cùng UCP có thể được tính toán khi đã xác định được kích thước dự án chưa được điều chỉnh (UUCW và UAW), yếu tố kỹ thuật (TCF) và yếu tố môi trường (ECF). UCP được tính dựa trên công thức sau:
UCP = (UUCW + UAW) x TCF x ECF


3. VÍ DỤ
Để minh họa quá trình tính toán UCP, một hệ thống mua sắm trực tuyến sẽ được sử dụng. Biểu đồ dưới đây mô tả sơ đồ tình huống sử dụng cho hệ thống được phát triển.
 use_case_points_5


Bước 1: tính UUCW
Để tính UUCW, các trường hợp sử dụng phải được xác định số lượng các giao dịch cho mỗi trường hợp sử dụng được xác định. Biểu đồ trường hợp sử dụng hệ thống mua sắm trực tuyến mô tả rằng có chin trường hợp sử dụng cho hệ thống. Giả sử 2 trong số các trường hợp sử dụng này là đơn giản, 3 trường hợp là trung bình và 4 trường hợp phức tạp, UUCW được tính như sau:
UUCW = (2 x 5) + (3 x 10) + (4 x 15) = 100


Bước 2: tính UAW
Để tính toán UAW, các bên phải được xác định. Biểu đồ tình huống sử dụng hệ thống mua sắm trực tuyến mô tả năm tác nhân tác động đến hệ thống. 1 đơn giản cho hệ thống xử lý thanh toán và 4 phức tạp cho mỗi tác nhân người sử dụng. (ví dụ khách hàng trực tuyến, quản trị viên tiếp thị, thư ký kho hàng, quản lý kho) UAW được tính như sau:
UAW = (1 x 1) + (0 x 2) + (4 x 3) = 13


Bước 3: tính TCF
Để tính toán TCF, mỗi yếu tố kỹ thuật được gán một giá trịnh dựa trên khía cạnh kỹ thuật của hệ thống được phát triển như thế nào. Sơ đồ dưới đây cho thấy các giá trị được giao cho hệ thống mua sắm trực tuyến. Các giá trị được nhân với giá trị trọng số và tổng TF được xác định.
 use_case_points_6
TCF = 0.6 + (42/100) = 1.02


Bước 4: tính ECF
Để tính ECF mỗi yếu tố môi trường được gán một giá trị dựa trên mức độ kinh nghiệm nhóm. Sơ đồ dưới đây cho thấy các giá trị được giao cho hệ thống mua sắm trực tuyến. Các giá trị được nhân với các giá trị trọng số và tổng EF được xác đinh.
 use_case_points_7
ECF = 1.4 + (-0.03 x 10.5) = 1.085


Bước 5: tính UCP
Sau khi đã xác định được UUCW, UAW, TCF và ECF thì đã có thể xác định được UCP như sau:
UCP = (UUCW + UAW) x TCF x ECF
UCP = (100 + 13) x 1.02 x 1.085 = 125.06
Đối với hệ thống mua sắm trực tuyến, tổng số kích thước ước tính để phát triển phần mềm là 125.06 UCP
Bây giờ khi đã biết quy mô của dự án, toàn bộ công số của dự án có thể được ước tính. Đối với ví dụ hệ thống mua sắm trực tuyến, sẽ sử dụng 28 giờ trên mỗi UCP
Ước lượng công số = UCP x giờ/UCP
Ước lượng công số = 125.06 x 28 = 3501 giờ

4. Kết luận
Cách tiếp cận kích thước này dễ dàng áp dụng và các quy tắc đếm số lượng khá có lợi khi việc ước tính được thực hiện trong các giai đoạn đầu và do đó cho phép nhanh chóng đưa ra FSM (đo kích thước chức năng, trong trường hợp này UUCW + UAW) của một ứng dụng hoặc sản phẩm CNTT. FSM này sau đó có thể được kết hợp với các mô hình ước lượng thống kê như COCOMO II để đạt được kết quả ước lượng đáng tin cậy hơn.
 

 

One Reply to “Tìm hiểu về kỹ thuật ước lượng phần mềm “Use Case Points””

Leave a Reply

Your email address will not be published. Required fields are marked *