.1 Phân loại tác nhân

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ước lượng dự án trên cơ sở các ca sử dụng (Trang 47)

3.3.2 Tính trọng số ca sử dụng

(Unadjusted Use Case Weight – UUCW)

Các ca sử dụng được phân loại thành đơn giản, trung bình hay phức tạp

phụ thuộc vào số thao tác mà nó mô tả, bao gồm cả các kịch bản phụ (luồng phụ). Một thao tác được định nghĩa là một tập các hoạt động nguyên tố, hoặc được thực hiện toàn bộ hoặc không làm gì cả. Một ca sử dụng đơn giản có không quá 3 thao tác, một ca sử dụng trung bình có 4 đến 7 thao tác, và một ca sử dụng phức tạp có nhiều hơn 7 thao tác.

Một cách khác để xác định độ phức tạp của ca sử dụng là đếm số lớp phân tích khi thực thi một ca sử dụng. Một ca sử dụng đơn giản được thực thi bởi 5 lớp hoặc ít hơn, một ca sử dụng trung bình từ 5 đến 10 lớp, và một ca sử dụng phức tạp thì hơn 10 lớp. Các trọng số vẫn như cũ. Số lượng mỗi loại ca sử dụng sau đó được nhân với trọng số và các kết quả được tính tổng thành trọng số ca sử dụng chưa điều chỉnh (UUCW).

Ngoài ra, một cơ chế khác để xác định độ phức tạp của các ca sử dụng là:

− Nếu ca sử dụng được coi là một phần công việc đơn giản, sử dụng một giao diện người dùng đơn giản và tương tác một thực thể cơ sở dữ liệu, ca sử dụng được đánh dấu là “dễ” (Easy) và đánh giá là 5.

− Nếu các ca sử dụng là phức tạp hơn, bao gồm nhiều giao diện và tương tác với 2 hoặc nhiều hơn các thực thể cơ sở dữ liệu, ca sử dụng được định nghĩa là “trung bình” (Medium) và đánh giá là 10.

− Nếu ca sử dụng rất phức tạp, bao gồm một giao diện người dùng phức tạp hoặc xử lý và tương tác với 3 hoặc nhiều hơn các thực thể cơ sở dữ liệu, nó được gọi là “phức tạp” (Complex) và đánh giá là 15.

Sau đó, số lượng của từng loại ca sử dụng được nhân với trọng số thể hiện trong bảng 3.2. Cuối cùng, trọng số ca sử dụng chưa điều chỉnh được tính bằng cách tính tổng các kết quả.

Loại ca sử dụng Mô tả Trọng số

Đơn giản 3 hoặc một vài thao tác 5

Trung bình 4 tới 7 thao tác 10

Phức tạp Nhiều hơn 7 thao tác 15 Bảng 3.2 Bảng phân loại ca sử dụng và trọng số

3.3.3 Tính UUCP

Các điểm ca sử dụng không được điều chỉnh UUCP được tính bằng cách cộng tổng trọng số tác nhân với trọng số ca sử dụng. Có thể tóm tắt các bước như sau:

UUCPs được tính dựa trên hai tính toán:

1. Trọng số ca sử dụng không được điều chỉnh (Unadjusted Use Case Weight - UUCW) dựa trên tổng số các hoạt động (các bước) chứa trong tất cả các kịch bản ca sử dụng.

2. Trọng số tác nhân không được điều chỉnh (Unadjusted Actor Weight - UAW) dựa trên kết hợp sự phức tạp của tất cả các tác nhân trong tất cả các ca sử dụng.

3.3.4 Gán trọng số các yếu tố kỹ thuật và các yếu tố môi trường

UUCP được điều chỉnh dựa trên các giá trị được gán cho các yếu tố kỹ thuật TCF và môi trường ECF, thể hiện trong bảng 3.3 và 3.4. Mỗi yếu tố được gán giá trị từ 0 đến 5 phụ thuộc vào ảnh hưởng của nó với dự án. Đánh giá là 0 nghĩa là yếu tố không cần thiết cho dự án, 5 có nghĩa là cần thiết cho dự án.

Tồn tại mười ba yếu tố tiêu chuẩn kỹ thuật để ước lượng tác động đến năng suất là các vấn đề kỹ thuật khác nhau có trong một dựa án. Mỗi yếu tố được đánh trọng số theo tác động tương đối của nó.

Yếu tố Mô tả Trọng số

T1 Hệ thống phân tán 2

T2 Các đối tượng thực thi thông lượng hoặc đáp ứng 1

T3 Hiệu quả 1 T4 Xử lý phức tạp bên trong 1 T5 Khả năng sử dụng lại 1 T6 Dễ cài đặt 0.5 T7 Dễ sử dụng 0.5 T8 Khả chuyển 2 T9 Dễ thay đổi 1 T10 Tính tương tranh 1

T11 Bao gồm các tính năng bảo mật đặc biệt 1 T12 Cung cấp xử lý trực tiếp cho bên thứ ba 1 T13 Các tiện ích đào tạo người dùng đặc biệt 1

Bảng 3.3 Yếu tố phức tạp kỹ thuật

Đối với từng dự án, đội ngũ phát triển đánh giá các yếu tố kỹ thuật và gán cho nó một giá trị cảm tính từ 0 đến 5. Giá trị là 0 có nghĩa là yếu tố kỹ thuật là không liên quan trong dự án, 3 là trung bình, 5 là ảnh hưởng rất lớn, khi không chắc chắn thì sử dụng 3.

Yếu tố kỹ thuật được tính bằng cách nhân giá trị của từng yếu tố (T1-T13) trong bảng 3.3 theo trọng số của nó và sau đó tính tổng lại được giá trị gọi là TFactor. Cuối cùng, yếu tố phức tạp kỹ thuật được tính theo công thức sau:

Bảng 3.4 thể hiện kinh nghiệm của đội phát triển hay yếu tố môi trường. Các đội giàu kinh nghiệm hơn sẽ có tác động nhiều hơn vào tính UCP so với các đội ít kinh nghiệm.

Giá trị là 1 có nghĩa là yếu tố tác động mạnh, ảnh hưởng tiêu cực cho dự án, 3 là trung bình và 5 nghĩa là có tác động mạnh tích cực. Giá trị là 0 là không có tác động đến thành công của dự án. Ví dụ, các thành viên với ít hoặc không có động lực cho dự án sẽ có tác động mạnh tiêu cực vào sự thành công của dự án, trong khi các thành viên nhóm với kinh nghiệm hướng đối tượng mạnh sẽ tác động tích cực vào sự thành công của dự án.

Yếu tố Mô tả Trọng số

F1 Hiểu biết về RUP 1.5

F2 Kinh nghiệm ứng dụng 0.5

F3 Kinh nghiệm hướng đối tượng 1

F4 Khả năng phân tích của quản lý 0.5

F5 Động lực 1

F6 Các yêu cầu ổn định 2

F7 Nhân lực bán thời gian -1

F8 Ngôn ngữ lập trình khó -1

Bảng 3.4 Yếu tố phức tạp môi trường (kinh nghiệm)

Trọng số của mỗi yếu tố được nhân với giá trị ảnh hưởng cảm tính của nó để tạo ra yếu tố được tính toán. Các yếu tố được tính tổng để tạo ra yếu tố tổng môi trường. Giá trị của yếu tố tổng môi trường lớn hơn sẽ có ảnh hưởng lớn hơn trên phương trình UCP.

Yếu tố phức tạp môi trường (ECF) được tính bằng cách nhân giá trị của từng yếu tố (F1-F8) trong bảng 3.4 theo trọng số của nó và được tính tổng để tạo ra giá trị gọi là Efactor. Và, yếu tố phức tạp môi trường được tính theo công thức sau:

ECF = 1.4 + (-0.03 * EFactor)

3.3.5 Tính UCP

UCP = UUCP * TCF * ECF.

3.3.6 Ước lượng nỗ lực

Ước lượng nỗ lực có thể được tính bằng cách nhân các giá trị cụ thể (man- hours) với số điểm ca sử dụng UCP.

PF là tỷ lệ của thời gian và con người phát triển cần cho mỗi ca sử dụng. Thống kê từ các dự án quá khứ cung cấp dữ liệu tham khảo để ước lượng PF ban đầu.

Ước lượng tổng về số giờ cho dự án được xác định bằng cách nhân UCP với PF.

Ước lượng tổng = UCP * PF

Nếu không có dữ liệu lịch sử, có thể xem xét hai khả năng:

1. Thiết lập cơ sở bằng cách tính UCP cho các dự án hoàn thành trước đó.

2. Sử dụng giá trị giữa 15 và 30 tùy thuộc vào kinh nghiệm tổng thể và thành tích trong quá khứ của đội phát triển (Có thường kết thúc đúng thời hạn? Đúng ngân sách?...). Nếu là một đội mới, sử dụng giá trị 20 cho dự án đầu tiên.

Sau khi dự án hoàn thành, chia số giờ thực tế để hoàn thành dự án cho số UCPs.

Karner đưa ra nhân tố 20 giờ công cho mỗi điểm ca sử dụng khi ước lượng một dự án. Kinh nghiệm lĩnh vực cho thấy nỗ lực có thể từ 15 đến 30 giờ công cho mỗi điểm ca sử dụng, vì vậy chuyển đổi trực tiếp giữa các ca sử dụng sang số giờ có thể là một cách đo không chính xác. Do vậy cần tránh điều này. Schneider và Winters đã đề xuất một sàng lọc các đề xuất của Karner dựa trên kinh nghiệm của đội ngũ nhân viên và sự ổn định của dự án [9]. Đó là tính tổng các yếu tố môi trường từ F1 đến F6 mà có giá trị đánh giá lớn hơn 3 và cộng với các yếu tố từ F7 đến F8 mà có giá trị đánh giá nhỏ hơn 3. Nếu tổng thu được là 2 hoặc nhỏ hơn, họ đề xuất 20 giờ công cho mỗi điểm ca sử dụng, nếu tổng là 3 hoặc 4 thì cần 28 giờ công cho mỗi điểm ca sử dụng. Khi tổng vượt quá 4, được khuyến cáo cần xem xét lại dự án và điều chỉnh các tham số ước lượng cho phù hợp.

Một khả năng khác là tăng số giờ công đến 36 cho điểm mỗi ca sử dụng. Lý do cho cách tiếp cận này là các yếu tố môi trường là căn cứ để đánh giá mức độ kinh nghiệm của nhân viên và sự ổn định của dự án. Các số âm có nghĩa là tốn nhiều nỗ lực cho đào tạo nhóm thành viên hoặc các vấn đề do sự bất ổn định. Bên cạnh đó, với phương pháp ước lượng này, ngay cả khi điều chỉnh trọng số của một yếu tố một lượng nhỏ, ví dụ bằng một nửa điểm, cũng có thể tạo ra sự khác biệt lớn khi ước lượng.

3.4 Đánh giá phƣơng pháp và đề xuất cải tiến

3.4.1 Ưu điểm của phương pháp ước lượng điểm ca sử dụng

− Ưu điểm đầu tiên của ước lượng điểm ca sử dụng là quá trình có thể được tự động hóa. Một số công cụ quản lý ca sử dụng sẽ tự động đếm số điểm ca sử dụng trong hệ thống. Điều này có thể tiết kiệm rất nhiều thời gian ước lượng.

− Ưu điểm thứ hai của là có thể thiết lập một thời gian thực hiện trung bình cho mỗi điểm ca sử dụng. Điều này sẽ rất hữu ích khi dự thảo các kế hoạch. Tuy nhiên, nó phụ thuộc chủ yếu vào giả định tất cả các ca sử dụng được viết nhất quán bằng văn bản với cùng mức độ chi tiết. Đây có thể là một giả định rất sai lầm, đặc biệt khi có nhiều người tạo ca sử dụng.

− Ưu điểm thứ ba, điểm ca sử dụng là một thước đo kích cỡ thuần. Nó cho phép chúng ta ước lượng kích thước theo từng thời điểm. Vì kích cỡ của một ứng dụng sẽ độc lập với kinh nghiệm, kỹ năng và quy mô của đội phát triển.

3.4.2 Nhược điểm của phương pháp này

− Cách tiếp cận này có những điểm yếu khi áp dụng cho các dự án phần mềm nói chung. UCP thiếu thông tin, chỉ đếm số tác nhân và ca sử dụng. Nó cũng dựa chủ yếu vào ước lượng chuyên gia về trọng số của UAW/UUCW và các yếu tố môi trường và kỹ thuật. Xác định giá trị cho mỗi yếu tố sẽ phụ thuộc nhiều vào ý kiến chuyên gia và do đó sẽ tăng sự sai khác trong các kết quả cuối cùng.

− Các ước lượng không thể tính được cho đến khi tất cả các ca sử dụng được đặc tả thành văn bản. Viết ra các ca sử dụng mục tiêu là nỗ lực đáng kể có thể đưa ra 10-20% nỗ lực của tổng thể dự án.

− Các ca sử dụng là đơn vị lớn của công việc sẽ được dùng trong lập kế hoạch hệ thống. Trong khi sử dụng điểm ca sử dụng có thể làm tốt hơn để tạo ra một ước lượng thô ban đầu của kích thước tổng thể dự án, chúng ít nhiều hữu ích trong điều khiển công việc lặp lại của đội phát triển.

− Một vấn đề liên quan là các quy tắc để xác định những gì cấu thành một thao tác là không chính xác. Đếm số bước trong thao tác chỉ là xấp xỉ. Nguyên nhân là các phản ánh cụ thể trong một ca sử dụng khác nhau rất nhiều do ảnh hưởng của tác nhân ca sử dụng, cho nên cách tiếp cận này là không hoàn toàn đúng.

− Một vấn đề nữa là, một số yếu tố kỹ thuật không thực sự có tác động trên dự án tổng thể. Tuy nhiên, chúng vẫn được nhân với trọng số của các ca sử dụng và của các tác nhân. Ví dụ, yếu tố kỹ thuật T6 phản ánh yêu cầu khả năng cài đặt hệ thống dễ dàng và trong một số trường hợp, với hệ thống lớn hơn nó thực sự có tác động đến dự án tổng thể, để viết các thủ tục cài đặt hệ thống sẽ tốn nhiều thời gian hơn.

3.4.3 Hướng cải tiến phương pháp

Nhìn chung phương pháp có những mặt mạnh riêng, đó là khả năng linh động và có thể tùy chỉnh theo mục đích của người dùng và từng dự án cụ thể. Với một dự án bất kỳ, chúng ta không nhất thiết phải thực hiện tính tất cả các yếu tố rồi mới ước lượng, bởi đôi khi một số yếu tố là không thực sự quan trọng hoặc chưa thực sự cần tại thời điểm ước lượng, mà chúng ta có thể thực hiện ước lượng tùy theo mục đích và điều kiện hiện có. Ví dụ, chúng ta có thể thực hiện ước lượng mà chưa cần quan tâm tới yếu tố phức tạp kỹ thuật hoặc yếu tố phức tạp môi trường hoặc cả hai yếu tố này, để có một ước lượng thuần, từ đó cân nhắc tính khả thi của dự án.

Mặc dù vậy, chúng ta có thể tiến hành cải tiến phương pháp này để thu được những ước lượng chính xác hơn và phù hợp hơn với từng điều kiện cụ thể của bài toán.

Hai hướng tiếp cận có thể áp dụng trong cải tiến phương pháp này là: thứ nhất, từ nội dung đặc tả chi tiết ca sử dụng đưa ra cải tiến và thứ hai, cải tiến thông qua chính xác hóa tham số. Trong hai hướng tiếp cận này, thì hướng tiếp cận thứ nhất là chủ yếu và quan trọng hơn.

− Với hướng tiếp cận cải tiến theo nội dung đặc tả chi tiết ca sử dụng có thể được diễn giải như sau: Căn cứ vào biểu đồ ca sử dụng của hệ thống, từ đó chúng ta sẽ đặc tả chi tiết từng ca sử dụng. Trong bản đặc tả này bao gồm các đặc tả về giao diện, phân tích các hồ sơ dữ liệu liên quan và các luồng tương tác cụ thể trong ca sử dụng.

− Từ việc phân tích hồ sơ dữ liệu liên quan, chúng ta có thể xác định được dữ liệu cũng như các thực thể dữ liệu cần dùng. Một điểm nữa, trong đặc tả giao diện chúng ta cũng sẽ phân loại được giao diện (giao diện vào dữ liệu, giao diện hiển thị, giao diện tương tác với hệ thống khác). Và từ đó, chúng ta có thể xác định chính xác hơn độ phức tạp của ca sử dụng.

− Trong hướng tiếp cận này, chúng ta sẽ cải tiến độ chính xác của ước lượng thông qua việc phân loại chính xác hơn độ phức tạp của ca sử dụng nhờ xác định chính xác hơn số lượng thao tác trong từng ca sử dụng. Từ đặc tả chi tiết của từng ca sử dụng, chúng ta xác định được số lượng thao tác, và theo phương pháp của Karner số lượng thao tác của một ca sử dụng bao gồm cả các thao tác thuộc luồng phụ là không chính xác. Bởi vì, trong đó, đôi khi bao gồm cả luồng điều khiển rẽ nhánh, và dẫn đến chỉ xảy ra một trong hai trường hợp. Cho nên, ở đây chúng ta sẽ chia ra thành luồng chính và luồng phụ, đánh giá khả năng xảy ra và gán trọng số từng luồng, sau đó tính tổng số thao tác của từng ca sử dụng. Với luồng thao tác chính, chúng ta gán trọng số là 1, tức là luôn xảy ra. Với luồng phụ, trọng số đánh giá từ 0 đến 1 (hoặc 0 đến 100%), trong trường hợp trọng số là 1 (100%) thì kết quả sẽ giống như phương pháp ban đầu. Việc này sẽ chính xác hơn so với việc tính gộp các thao tác.

− Hướng tiếp cận thứ hai là cải tiến thông qua việc chính xác hóa tham số. Như các tham số đã được đề cập ở trên, việc chính xác hóa tham số chính

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ước lượng dự án trên cơ sở các ca sử dụng (Trang 47)

Tải bản đầy đủ (PDF)

(124 trang)