Đây là tài liệu và biểu mẫu hướng dẫn cách ước lượng kích cỡ phần mềm trong các dự án phát triển phần mềm. Phương pháp thực hiện ước lượng theo UCP rất phổ biến hiện nay, được rất nhiều công ty ứng dụng. Tài liệu hướng dẫn ước tính phần mềm chính xác, có các ví dụ sát thực với các dự án
B1 Lưu ý: Các yêu cầu phi chức năng gồm: - Yêu cầu cần đáp ứng đối với cơ sở dữ liệu (nếu cần có cơ sở dữ liệu); - Các yêu cầu phi chức năng khác B2. Lưu ý: Cách phân loại UC được xác định như sau: - Các UC được phân thành 3 mức độ (nhóm): Mức độ B: Bao gồm các UC mô tả chức năng cơ bản Mực độ M: Bao gồm các UC mô tả các chức năng mở rộng Mức độ T: Bao gồm các UC mô tả chức năng nâng cao - UC trong mỗi nhóm được chi thành 3 loại: Loai đơn giản: Use case đơn giản có <4 transactions Loại Trung bình: Use case trung bình có từ 4 đến 7 transactions Loại Phức tạp: Use case phức tạp có > 7 transactions B3: - Liệt kê các tác nhân theo loai trong ô "mô tả" - Điền tổng số tác nhân tương ứng vào ô "số Actors" Lưu ý: Cách phân loai tác nhân như sau: HƯỚNG DẪN CÁCH THỰC HIỆN ESTIMATE THEO USE CASE POINT Liệt kê & sắp xếp các yêu cầu chức năng theo mức độ ưu tiên giảm dần vào sheet "01. Sắp xếp thứ tự YCCN" - Yêu cầu về bảo mật (xác định chuẩn bảo mật được sử dụng, mô hình kiểm tra, xác thực, bảo mật dữ liệu); - Yêu cầu về mỹ thuật, kỹ thuật cần đạt được của các giao diện chương trình; - Các yêu cầu cần đáp ứng về thời gian xử lý, độ phức tạp xử lý của các chức năng phần mềm; - Các yêu cầu về ràng buộc xử lý lôgic đối với việc nhập (hay chuyển đổi) dữ liệu thông qua sử dụng các ô nhập liệu do giao diện chương trình cung cấp; - Các yêu cầu về cài đặt, hạ tầng, đường truyền, an toàn vận hành, khai thác, sử dụng; Chuyển đổi các yêu cầu chức năng (YCCN) thành các Usecase (UC) bằng cách điền vào sheet "02. Chuyển đổi YCCN-UC". Ví dụ: Khi xác định một UC thuộc mức độ B và loại đơn giản, thì ở cột mức độ & phân loại chọn giá trị " B-Đơn giản" - Loại đơn giản: Nó biểu diễn một hê thống khác với một giao diện lập trình ứng dụng API. Đếm số lượng tác nhân và phân loại chúng bằng cách điền vào sheet "03. Điểm Actor-AUW" Điểm của từng loại tác nhân = Số tác nhân x Trọng số B4: Thực hiện tính số lương UC tương ứng với từng mức độ và từng loại. B5: B6: B7: Size và chi phí phần mềm sẽ được hiển thị trong sheet này Xem công văn hướng dẫn của Bộ Thông Tin Truyền Thông Các từ viết tắt UC Usecase YCCN Yêu cầu chức năng BMT (Cơ bản , Mở rộng, nâng cao ) / (Bắt buộc - Mong muốn - thêm) TCF Technical Complexity Factor - Hệ số phức tạp kỹ thuật EFW Environment Factor Weight - Hệ số tác động môi trường và nhóm dự án EF Hệ số độ phức tạp về môi trường (Environmental Factor) ES Độ ổn định kinh nghiệm (Experience Stable) UFP Unadjusted Function Point - điểm chức năng chưa điều chỉnh WA Weighted Actors - Số lượng tác nhân sau khi đánh trọng số WUC Weighted Use Case - Số lượng UC sau khi đánh trọng số UUCP (W) Unadjusted Use Case Point (Weight) - điểm UC chưa điều chỉnh RUP Rational Unified Process - Tiến trình thống nhất UML Unified Modeiling Language - Ngôn ngữ mô hình thống nhất Một số khái niệm: Xác định các hệ số phức tạp kỷ thuật công nghê bằng cách điền vào sheet "05.Kỹ thuật CN TCF" Xác đinh các hệ số phức tạo môi trường bằng cách điền vào sheet "06.Tác động môi trường - EF" Điền mức lương thu nhập bình quần của người/giờ vào sheet "07.Định giá PM" Sheet "08.Bang Luong" - Hướng dẫn cách tính lương thu nhập bình quân của Người/Giờ - Phần mềm là những chương trình điều khiển các chức năng phần cứng và hướng dẫn phần cứng thực hiện các tác vụ của mình. - Loại trung bình: Một tương tác với một hệ thống khác thông qua một giao thức hoặc tương tác con ngươi với một giao diện dòng lệnh Lưu ý: Số lượng use case đã để sẵn công thức để tính tự động từ Sheet "02. Chuyển đổi YCCN-UC", tuy nhiên tùy thuộc vào dự án mà số lượng UC nhiều ít khác nhau.Do đó khi thực hiện ở bước này cần lưu lý pham vi tính của các cột trong công thức COUNTIF ở các côt màu nâu đỏ trong sheet này. - Loại phức tạp: Môt tương tác con người thông qua một giao diện đồ họa, giao diện người - máy qua GUI (giao diện đồ hoạ). Điểm của từng loại tác nhân (đơn vị tính: điểm) được xác định theo công thức: Tính điểm của các UC bằng cách điền số lượng UC vào sheet "04.Điểm Use case - UUCW" - Biểu đồ trường hợp sử dụng (use case diagram) dùng mô tả các tác nhân và kết nối giữa tác nhân với các trường hợp sử dụng nhằm miêu tả chức năng mà phần mềm cung cấp. - Tác nhân (actor) là người hay hệ thống bên ngoài tương tác, trao đổi thông tin với phần mềm. - Trường hợp sử dụng (use case) là một tập hợp các giao dịch giữa hệ thống phần mềm với các tác nhân bên ngoài hệ thống nhằm đạt được một mục tiêu sử dụng nào đó của tác nhân. Một trường hợp sử dụng mô tả một hoặc nhiều tình huống sử dụng xảy ra khi tác nhân tương tác với hệ - Giao dịch (transaction) là một chuỗi các hành động có tính chất tương tác giữa tác nhân và hệ thống phần mềm. Khởi đầu của chuỗi hành động này là một hành động từ tác nhân tới hệ thống. Kết thúc của chuỗi hành động này là một hành động ngược trở lại của hệ thống lên tác nhân. Liệt kê & sắp xếp các yêu cầu chức năng theo mức độ ưu tiên giảm dần vào sheet "01. Sắp xếp thứ tự YCCN" - Yêu cầu về bảo mật (xác định chuẩn bảo mật được sử dụng, mô hình kiểm tra, xác thực, bảo mật dữ liệu); - Yêu cầu về mỹ thuật, kỹ thuật cần đạt được của các giao diện chương trình; - Các yêu cầu cần đáp ứng về thời gian xử lý, độ phức tạp xử lý của các chức năng phần mềm; - Các yêu cầu về ràng buộc xử lý lôgic đối với việc nhập (hay chuyển đổi) dữ liệu thông qua sử dụng các ô nhập liệu do giao diện chương trình cung cấp; - Các yêu cầu về cài đặt, hạ tầng, đường truyền, an toàn vận hành, khai thác, sử dụng; Chuyển đổi các yêu cầu chức năng (YCCN) thành các Usecase (UC) bằng cách điền vào sheet "02. Chuyển đổi YCCN-UC". Ví dụ: Khi xác định một UC thuộc mức độ B và loại đơn giản, thì ở cột mức độ & phân loại chọn giá trị " B-Đơn giản" - Loại đơn giản: Nó biểu diễn một hê thống khác với một giao diện lập trình ứng dụng API. Đếm số lượng tác nhân và phân loại chúng bằng cách điền vào sheet "03. Điểm Actor-AUW" Xác định các hệ số phức tạp kỷ thuật công nghê bằng cách điền vào sheet "05.Kỹ thuật CN TCF" Xác đinh các hệ số phức tạo môi trường bằng cách điền vào sheet "06.Tác động môi trường - EF" Điền mức lương thu nhập bình quần của người/giờ vào sheet "07.Định giá PM" Sheet "08.Bang Luong" - Hướng dẫn cách tính lương thu nhập bình quân của Người/Giờ - Phần mềm là những chương trình điều khiển các chức năng phần cứng và hướng dẫn phần cứng thực hiện các tác vụ của mình. - Loại trung bình: Một tương tác với một hệ thống khác thông qua một giao thức hoặc tương tác con ngươi với một giao diện dòng lệnh Lưu ý: Số lượng use case đã để sẵn công thức để tính tự động từ Sheet "02. Chuyển đổi YCCN-UC", tuy nhiên tùy thuộc vào dự án mà số lượng UC nhiều ít khác nhau.Do đó khi thực hiện ở bước này cần lưu lý pham vi tính của các cột trong công thức COUNTIF ở các côt màu nâu đỏ trong sheet này. - Loại phức tạp: Môt tương tác con người thông qua một giao diện đồ họa, giao diện người - máy qua GUI (giao diện đồ hoạ). Điểm của từng loại tác nhân (đơn vị tính: điểm) được xác định theo công thức: Tính điểm của các UC bằng cách điền số lượng UC vào sheet "04.Điểm Use case - UUCW" - Biểu đồ trường hợp sử dụng (use case diagram) dùng mô tả các tác nhân và kết nối giữa tác nhân với các trường hợp sử dụng nhằm miêu tả chức năng mà phần mềm cung cấp. - Tác nhân (actor) là người hay hệ thống bên ngoài tương tác, trao đổi thông tin với phần mềm. - Trường hợp sử dụng (use case) là một tập hợp các giao dịch giữa hệ thống phần mềm với các tác nhân bên ngoài hệ thống nhằm đạt được một mục tiêu sử dụng nào đó của tác nhân. Một trường hợp sử dụng mô tả một hoặc nhiều tình huống sử dụng xảy ra khi tác nhân tương tác với hệ - Giao dịch (transaction) là một chuỗi các hành động có tính chất tương tác giữa tác nhân và hệ thống phần mềm. Khởi đầu của chuỗi hành động này là một hành động từ tác nhân tới hệ thống. Kết thúc của chuỗi hành động này là một hành động ngược trở lại của hệ thống lên tác nhân. Liệt kê & sắp xếp các yêu cầu chức năng theo mức độ ưu tiên giảm dần vào sheet "01. Sắp xếp thứ tự YCCN" - Yêu cầu về bảo mật (xác định chuẩn bảo mật được sử dụng, mô hình kiểm tra, xác thực, bảo mật dữ liệu); - Yêu cầu về mỹ thuật, kỹ thuật cần đạt được của các giao diện chương trình; - Các yêu cầu cần đáp ứng về thời gian xử lý, độ phức tạp xử lý của các chức năng phần mềm; - Các yêu cầu về ràng buộc xử lý lôgic đối với việc nhập (hay chuyển đổi) dữ liệu thông qua sử dụng các ô nhập liệu do giao diện chương trình cung cấp; - Các yêu cầu về cài đặt, hạ tầng, đường truyền, an toàn vận hành, khai thác, sử dụng; Chuyển đổi các yêu cầu chức năng (YCCN) thành các Usecase (UC) bằng cách điền vào sheet "02. Chuyển đổi YCCN-UC". Ví dụ: Khi xác định một UC thuộc mức độ B và loại đơn giản, thì ở cột mức độ & phân loại chọn giá trị " B-Đơn giản" - Loại đơn giản: Nó biểu diễn một hê thống khác với một giao diện lập trình ứng dụng API. Đếm số lượng tác nhân và phân loại chúng bằng cách điền vào sheet "03. Điểm Actor-AUW" Xác định các hệ số phức tạp kỷ thuật công nghê bằng cách điền vào sheet "05.Kỹ thuật CN TCF" Xác đinh các hệ số phức tạo môi trường bằng cách điền vào sheet "06.Tác động môi trường - EF" Điền mức lương thu nhập bình quần của người/giờ vào sheet "07.Định giá PM" Sheet "08.Bang Luong" - Hướng dẫn cách tính lương thu nhập bình quân của Người/Giờ - Phần mềm là những chương trình điều khiển các chức năng phần cứng và hướng dẫn phần cứng thực hiện các tác vụ của mình. - Loại trung bình: Một tương tác với một hệ thống khác thông qua một giao thức hoặc tương tác con ngươi với một giao diện dòng lệnh Lưu ý: Số lượng use case đã để sẵn công thức để tính tự động từ Sheet "02. Chuyển đổi YCCN-UC", tuy nhiên tùy thuộc vào dự án mà số lượng UC nhiều ít khác nhau.Do đó khi thực hiện ở bước này cần lưu lý pham vi tính của các cột trong công thức COUNTIF ở các côt màu nâu đỏ trong sheet này. - Loại phức tạp: Môt tương tác con người thông qua một giao diện đồ họa, giao diện người - máy qua GUI (giao diện đồ hoạ). Điểm của từng loại tác nhân (đơn vị tính: điểm) được xác định theo công thức: Tính điểm của các UC bằng cách điền số lượng UC vào sheet "04.Điểm Use case - UUCW" - Trường hợp sử dụng (use case) là một tập hợp các giao dịch giữa hệ thống phần mềm với các tác nhân bên ngoài hệ thống nhằm đạt được một mục tiêu sử dụng nào đó của tác nhân. Một trường hợp sử dụng mô tả một hoặc nhiều tình huống sử dụng xảy ra khi tác nhân tương tác với hệ - Giao dịch (transaction) là một chuỗi các hành động có tính chất tương tác giữa tác nhân và hệ thống phần mềm. Khởi đầu của chuỗi hành động này là một hành động từ tác nhân tới hệ thống. Kết thúc của chuỗi hành động này là một hành động ngược trở lại của hệ thống lên tác nhân. Liệt kê & sắp xếp các yêu cầu chức năng theo mức độ ưu tiên giảm dần vào sheet "01. Sắp xếp thứ tự YCCN" - Yêu cầu về bảo mật (xác định chuẩn bảo mật được sử dụng, mô hình kiểm tra, xác thực, bảo mật dữ liệu); Chuyển đổi các yêu cầu chức năng (YCCN) thành các Usecase (UC) bằng cách điền vào sheet "02. Chuyển đổi YCCN-UC". Ví dụ: Khi xác định một UC thuộc mức độ B và loại đơn giản, thì ở cột mức độ & phân loại chọn giá trị " B-Đơn giản" - Loại đơn giản: Nó biểu diễn một hê thống khác với một giao diện lập trình ứng dụng API. Đếm số lượng tác nhân và phân loại chúng bằng cách điền vào sheet "03. Điểm Actor-AUW" . lượng tác nhân sau khi đánh trọng số WUC Weighted Use Case - Số lượng UC sau khi đánh trọng số UUCP (W) Unadjusted Use Case Point (Weight) - điểm UC chưa điều chỉnh RUP Rational Unified Process