Kỹ thuật ước tính - Điểm trong ca sử dụng
A Use-Case là một loạt các tương tác có liên quan giữa người dùng và hệ thống cho phép người dùng đạt được mục tiêu.
Use-Case là một cách để nắm bắt các yêu cầu chức năng của hệ thống. Người dùng của hệ thống được gọi là 'Tác nhân'. Use-Case về cơ bản ở dạng văn bản.
Điểm Use-Case - Định nghĩa
Use-Case Points (UCP)là một kỹ thuật ước lượng phần mềm được sử dụng để đo kích thước phần mềm với các ca sử dụng. Khái niệm về UCP tương tự như FP.
Số lượng UCP trong một dự án dựa trên những điều sau:
- Số lượng và độ phức tạp của các ca sử dụng trong hệ thống.
- Số lượng và độ phức tạp của các tác nhân trên hệ thống.
Các yêu cầu phi chức năng khác nhau (chẳng hạn như tính di động, hiệu suất, khả năng bảo trì) không được viết dưới dạng ca sử dụng.
Môi trường mà dự án sẽ được phát triển (chẳng hạn như ngôn ngữ, động lực của nhóm, v.v.)
Ước tính với UCP yêu cầu tất cả các trường hợp sử dụng phải được viết với một mục tiêu và ở cùng một mức độ, cung cấp cùng một lượng chi tiết. Do đó, trước khi ước tính, nhóm dự án nên đảm bảo rằng họ đã viết các trường hợp sử dụng của mình với các mục tiêu xác định và ở mức chi tiết. Ca sử dụng thường được hoàn thành trong một phiên duy nhất và sau khi đạt được mục tiêu, người dùng có thể tiếp tục một số hoạt động khác.
Lịch sử của các điểm trong ca sử dụng
Phương pháp ước lượng Use-Case Point được giới thiệu bởi Gustav Karner vào năm 1993. Công việc này sau đó được cấp phép bởi Rational Software đã sáp nhập vào IBM.
Quy trình đếm điểm Use-Case
Quy trình tính điểm Use-Case có các bước sau:
- Tính toán UCP chưa điều chỉnh
- Điều chỉnh độ phức tạp kỹ thuật
- Điều chỉnh cho sự phức tạp của môi trường
- Tính toán UCP đã điều chỉnh
Bước 1: Tính điểm Use-Case chưa điều chỉnh.
Trước tiên, bạn tính toán Điểm trường hợp sử dụng chưa điều chỉnh bằng các bước sau:
- Xác định trọng lượng ca sử dụng chưa điều chỉnh
- Xác định trọng lượng diễn viên chưa điều chỉnh
- Tính điểm trường hợp sử dụng chưa được điều chỉnh
Step 1.1 - Xác định Trọng lượng ca sử dụng chưa điều chỉnh.
Step 1.1.1 - Tìm số lượng giao dịch trong mỗi Use-Case.
Nếu các Trường hợp sử dụng được viết với Mức mục tiêu của người dùng, thì một giao dịch tương đương với một bước trong Ca sử dụng. Tìm số lượng giao dịch bằng cách đếm các bước trong Ca sử dụng.
Step 1.1.2- Phân loại từng Use-Case là Đơn giản, Trung bình hoặc Phức tạp dựa trên số lượng giao dịch trong Use-Case. Ngoài ra, chỉ định Trọng lượng ca sử dụng như được hiển thị trong bảng sau:
Độ phức tạp của ca sử dụng | Số lượng giao dịch | Trọng lượng ca sử dụng |
---|---|---|
Đơn giản | ≤3 | 5 |
Trung bình cộng | 4 đến 7 | 10 |
Phức tạp | > 7 | 15 |
Step 1.1.3- Lặp lại cho mỗi Use-Case và lấy tất cả Trọng lượng của Use-Case. Trọng lượng ca sử dụng chưa điều chỉnh (UUCW) là tổng của tất cả các trọng lượng ca sử dụng.
Step 1.1.4 - Tìm Trọng lượng ca sử dụng chưa điều chỉnh (UUCW) bằng bảng sau -
Độ phức tạp của ca sử dụng | Trọng lượng ca sử dụng | Số ca sử dụng | Sản phẩm |
---|---|---|---|
Đơn giản | 5 | NSUC | 5 × NSUC |
Trung bình cộng | 10 | NAUC | 10 × NAUC |
Phức tạp | 15 | NCUC | 15 × NCUC |
Unadjusted Use-Case Weight (UUCW) | 5 × NSUC + 10 × NAUC + 15 × NCUC |
Ở đâu,
NSUC là không. trong các Trường hợp Sử dụng Đơn giản.
NAUC là không. của Trường hợp Sử dụng Trung bình.
NCUC là không. trong các trường hợp sử dụng phức tạp.
Step 1.2 - Xác định trọng lượng diễn viên chưa điều chỉnh.
Tác nhân trong Ca sử dụng có thể là một người, chương trình khác, v.v. Một số tác nhân, chẳng hạn như hệ thống có API xác định, có nhu cầu rất đơn giản và chỉ làm tăng độ phức tạp của Ca sử dụng lên một chút.
Một số tác nhân, chẳng hạn như hệ thống tương tác thông qua một giao thức có nhiều nhu cầu hơn và tăng độ phức tạp của Use-Case đến một mức độ nhất định.
Các Tác nhân khác, chẳng hạn như người dùng tương tác thông qua GUI có tác động đáng kể đến độ phức tạp của Ca sử dụng. Dựa trên những khác biệt này, bạn có thể phân loại các tác nhân là Đơn giản, Trung bình và Phức tạp.
Step 1.2.1 - Phân loại các Tác nhân là Đơn giản, Trung bình và Phức tạp và chỉ định Trọng số Tác nhân như được hiển thị trong bảng sau -
Diễn viên phức tạp | Thí dụ | Trọng lượng diễn viên |
---|---|---|
Đơn giản | Hệ thống có API xác định | 1 |
Trung bình cộng | Một hệ thống tương tác thông qua một giao thức | 2 |
Phức tạp | Người dùng tương tác thông qua GUI | 3 |
Step 1.2.2- Lặp lại cho mỗi Diễn viên và nhận tất cả Trọng lượng Diễn viên. Trọng lượng diễn viên chưa điều chỉnh (UAW) là tổng của tất cả các Trọng lượng diễn viên.
Step 1.2.3 - Tìm Trọng lượng diễn viên chưa điều chỉnh (UAW) bằng bảng sau:
Diễn viên phức tạp | Trọng lượng diễn viên | Số lượng diễn viên | Sản phẩm |
---|---|---|---|
Đơn giản | 1 | NSA | 1 × NSA |
Trung bình cộng | 2 | NAA | 2 × NAA |
Phức tạp | 3 | NCA | 3 × NCA |
Unadjusted Actor Weight (UAW) | 1 × NSA + 2 × NAA + 3 × NCA |
Ở đâu,
NSA là không. của Diễn viên Đơn giản.
NAA là không. của Diễn viên Trung bình.
NCA là không. của Diễn viên phức tạp.
Step 1.3 - Tính điểm Use-Case chưa điều chỉnh.
Trọng lượng ca sử dụng chưa điều chỉnh (UUCW) và trọng lượng tác nhân chưa điều chỉnh (UAW) cùng tạo ra kích thước chưa điều chỉnh của hệ thống, được gọi là Điểm ca sử dụng chưa điều chỉnh.
Unadjusted Use-Case Points (UUCP) = UUCW + UAW
Các bước tiếp theo là điều chỉnh Điểm trường hợp sử dụng chưa được điều chỉnh (UUCP) cho Độ phức tạp về kỹ thuật và Độ phức tạp về môi trường.
Bước 2: Điều chỉnh độ phức tạp kỹ thuật
Step 2.1 - Xem xét 13 Yếu tố góp phần vào tác động của Độ phức tạp Kỹ thuật của một dự án đối với các Điểm tình huống sử dụng và Trọng số tương ứng của chúng như được cho trong bảng sau -
Hệ số | Sự miêu tả | Cân nặng |
---|---|---|
T1 | Hệ thống phân phối | 2.0 |
T2 | Thời gian đáp ứng hoặc mục tiêu hiệu suất thông lượng | 1,0 |
T3 | Hiệu quả người dùng cuối | 1,0 |
T4 | Xử lý nội bộ phức tạp | 1,0 |
T5 | Mã phải được sử dụng lại | 1,0 |
T6 | Dễ dàng để cài đặt | .5 |
T7 | Dễ sử dụng | .5 |
T8 | Xách tay | 2.0 |
T9 | Dễ dàng thay đổi | 1,0 |
T10 | Đồng thời | 1,0 |
T11 | Bao gồm các mục tiêu bảo mật đặc biệt | 1,0 |
T12 | Cung cấp quyền truy cập trực tiếp cho các bên thứ ba | 1,0 |
T13 | Cần có các cơ sở đào tạo người dùng đặc biệt | 1,0 |
Nhiều yếu tố trong số này thể hiện các yêu cầu phi chức năng của dự án.
Step 2.2 - Đối với mỗi trong số 13 Yếu tố, hãy đánh giá dự án và xếp hạng từ 0 (không liên quan) đến 5 (rất quan trọng).
Step 2.3 - Tính toán Tác động của Yếu tố từ Trọng số Tác động của Yếu tố và Giá trị Đánh giá cho dự án như
Impact of the Factor = Impact Weight × Rated Value
Step (2.4)- Tính tổng Tác động của tất cả các Yếu tố. Điều này đưa ra Hệ số kỹ thuật tổng (TFactor) như được cho trong bảng dưới đây -
Hệ số | Sự miêu tả | Trọng lượng (W) | Giá trị định mức (0 đến 5) (RV) | Tác động (I = W × RV) |
---|---|---|---|---|
T1 | Hệ thống phân phối | 2.0 | ||
T2 | Thời gian đáp ứng hoặc mục tiêu hiệu suất thông lượng | 1,0 | ||
T3 | Hiệu quả người dùng cuối | 1,0 | ||
T4 | Xử lý nội bộ phức tạp | 1,0 | ||
T5 | Mã phải được sử dụng lại | 1,0 | ||
T6 | Dễ dàng để cài đặt | .5 | ||
T7 | Dễ sử dụng | .5 | ||
T8 | Xách tay | 2.0 | ||
T9 | Dễ dàng thay đổi | 1,0 | ||
T10 | Đồng thời | 1,0 | ||
T11 | Bao gồm các mục tiêu bảo mật đặc biệt | 1,0 | ||
T12 | Cung cấp quyền truy cập trực tiếp cho các bên thứ ba | 1,0 | ||
T13 | Cần có các cơ sở đào tạo người dùng đặc biệt | 1,0 | ||
Total Technical Factor (TFactor) |
Step 2.5 - Tính Hệ số phức tạp kỹ thuật (TCF) như -
TCF = 0.6 + (0.01 × TFactor)
Bước 3: Điều chỉnh sự phức tạp của môi trường
Step 3.1 - Xem xét 8 Yếu tố Môi trường có thể ảnh hưởng đến việc thực hiện dự án và Trọng số tương ứng của chúng như được cho trong bảng sau -
Hệ số | Sự miêu tả | Cân nặng |
---|---|---|
F1 | Quen thuộc với mô hình dự án được sử dụng | 1,5 |
F2 | Kinh nghiệm ứng dụng | .5 |
F3 | Trải nghiệm hướng đối tượng | 1,0 |
F4 | Năng lực của nhà phân tích chính | .5 |
F5 | Động lực | 1,0 |
F6 | Yêu cầu ổn định | 2.0 |
F7 | Nhân viên bán thời gian | -1.0 |
F8 | Ngôn ngữ lập trình khó | -1.0 |
Step 3.2 - Đối với mỗi 8 Yếu tố, đánh giá dự án và đánh giá từ 0 (không liên quan) đến 5 (rất quan trọng).
Step 3.3 - Tính toán Tác động của Yếu tố từ Trọng số Tác động của Yếu tố và Giá trị Đánh giá cho dự án như
Impact of the Factor = Impact Weight × Rated Value
Step 3.4- Tính tổng Tác động của tất cả các Yếu tố. Điều này cho biết Hệ số Môi trường Tổng (EFactor) như được cho trong bảng sau:
Hệ số | Sự miêu tả | Trọng lượng (W) | Giá trị định mức (0 đến 5) (RV) | Tác động (I = W × RV) |
---|---|---|---|---|
F1 | Quen thuộc với mô hình dự án được sử dụng | 1,5 | ||
F2 | Kinh nghiệm ứng dụng | .5 | ||
F3 | Trải nghiệm hướng đối tượng | 1,0 | ||
F4 | Năng lực của nhà phân tích chính | .5 | ||
F5 | Động lực | 1,0 | ||
F6 | Yêu cầu ổn định | 2.0 | ||
F7 | Nhân viên bán thời gian | -1.0 | ||
F8 | Ngôn ngữ lập trình khó | -1.0 | ||
Total Environment Factor (EFactor) |
Step 3.5 - Tính Hệ số Môi trường (EF) là -
1.4 + (-0.03 × EFactor)
Bước 4: Tính điểm trường hợp sử dụng được điều chỉnh (UCP)
Tính điểm trường hợp sử dụng được điều chỉnh (UCP) dưới dạng:
UCP = UUCP × TCF × EF
Ưu điểm và nhược điểm của điểm Use-Case
Ưu điểm của điểm Use-Case
UCP dựa trên các trường hợp sử dụng và có thể được đo lường rất sớm trong vòng đời của dự án.
UCP (ước tính quy mô) sẽ độc lập với quy mô, kỹ năng và kinh nghiệm của nhóm thực hiện dự án.
Ước tính dựa trên UCP được cho là gần với thực tế khi ước tính được thực hiện bởi những người có kinh nghiệm.
UCP dễ sử dụng và không yêu cầu phân tích bổ sung.
Các ca sử dụng đang được sử dụng rộng rãi như một phương pháp được lựa chọn để mô tả các yêu cầu. Trong những trường hợp như vậy, UCP là kỹ thuật ước lượng phù hợp nhất.
Nhược điểm của điểm Use-Case
UCP chỉ có thể được sử dụng khi các yêu cầu được viết dưới dạng các ca sử dụng.
Phụ thuộc vào các trường hợp sử dụng có định hướng mục tiêu, được viết tốt. Nếu các trường hợp sử dụng không được cấu trúc tốt hoặc không thống nhất, UCP kết quả có thể không chính xác.
Các yếu tố kỹ thuật và môi trường có tác động cao đến UCP. Cần phải cẩn thận trong khi ấn định các giá trị cho các yếu tố kỹ thuật và môi trường.
UCP hữu ích để ước tính ban đầu về quy mô tổng thể của dự án nhưng chúng ít hữu ích hơn nhiều trong việc thúc đẩy công việc lặp đi lặp lại của một nhóm.