L a ựchọn phương pháp điểm chức năng ử ụng Use Case Point để đánh giá công sứs d c d ựán phần mềm, thực hiện các thử nghiệm đối với một dự án phần mềm đã có, thửnghiệm và đánh giá thực t
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Chu Xuân Bảo CÁC KỸ THUẬT ĐÁNH GIÁ CÔNG SỨC VÀ NGUỒN LỰC TRONG QUẢN LÝ DỰ ÁN PHẦN MỀM SỬ DỤNG HƯỚNG TIẾP CẬN ĐIỂM CHỨC NĂNG SỬ DỤNG UCP LUẬN VĂN THẠC SỸ NGÀNH: CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN: HUỲNH QUYẾT THẮNG Hà Nội – 2013 Tai ngay!!! Ban co the xoa dong chu nay!!! 17061131809121000000 MỤC LỤC MỤC LỤC DANH MỤC CÁC BẢNG DANH MỤC HÌNH VẼ DANH SÁCH CÁC TỪ VIẾT TẮT MỞ ĐẦU Cơ sở khoa học thực tiễn đề tài: Mục đích đề tài : Các vấn đề cần giải đề tài: Nội dung luận văn: CHƯƠNG 1:TỔNG QUAN CÔNG TÁC ĐÁNH GIÁ CÔNG SỨC TRONG QUẢN LÝ DỰ ÁN PHẦN MỀM 1.1 Đánh giá công sức phần mềm 1.2 Các bước đánh giá công sức phần mềm 9 11 1.2.1 Đánh giá kích cỡ phần mềm 12 1.2.2 Đánh giá nỗ lực 13 1.2.3 Đánh giá lịch trình 15 1.2.4 Đánh giá chi phí 16 1.3 Một số phương pháp đánh giá công sức phần mềm 17 1.3.1 Phương pháp phân tích Điểm Chức nghiệp vụ 18 1.3.2 Mơ hình đánh giá giá cấu thành (COCOMO) 23 1.3.3 phương pháp đánh giá công sức dự án theo Use Case 28 1.4 Kết chương 33 Chương 2: PHƯƠNG PHÁP ĐÁNH GIÁ CÔNG SỨC PHẦN MỀM SỬ DỤNG HƯỚNG TIẾP CẬN ĐIỂM CHỨC NĂNG SỬ DỤNG 35 2.1 Tổng quan phương pháp đánh giá công sức dự án theo điểm Use Case 35 2.1.1 Các khái niệm 37 2.1.2 Phương pháp xác định Tác nhân Use Case 42 2.1.3 Quan hệ Use Case 47 2.1.4 Miêu tả Use Case 48 2.1.5 Thử Use Case 52 2.1.6 Thực Use Case 53 2.2 Xác định giá trị phần mềm phương pháp tính điểm Use Case 55 2.2.1 Tổng quát xác định giá trị phần mềm 55 2.2.2 Tính số điểm Use Case sau hiệu chỉnh (AUCP) 56 2.2.3 Đánh giá nỗ lực từ số Use Case 70 2.2.4 Tổng hợp giá trị phần mềm 71 2.3 Kết chương 72 Chương 3: XÂY DỰNG CÔNG CỤ HỖ TRỢ XÁC ĐỊNH GIÁ TRỊ PHẦN MỀM BẰNG PHƯƠNG PHÁP USE CASE 73 3.1 Phát biểu toán 73 3.2 Phân tích tốn 73 3.2.1 Phân tích tổng thể 73 3.2.2 Phân tích cụ thể chức 73 3.3 Đặc tả chương trình 74 3.3.1 Biểu đồ Use Case chương trình 74 3.3.2 Các biểu đồ hoạt động 75 3.4 Thiết kế logic hoạt động cho chương trình 77 3.4.1 Xác định lớp phân tích 77 3.4.2 Các biểu đồ cộng tác 77 3.4.3 Các biểu đồ 78 3.5 Thiết kế sở liệu 80 3.5.1 Phân tích tốn để xây dựng sở liệu 80 3.5.2 Xây dựng biểu dồ thực thể - liên kết (E-R) 81 3.5.3 Xây dựng lược đồ quan hệ 84 3.6 Kết chương 85 Chương 4:THỬ NGHIỆM ÁP DỤNG TRONG DỰ ÁN XÂY DỰNG PHÒNG MÔ PHỎNG ĐIỀU KHIỂN TÀU BIỂN 86 4.1 Đánh giá cơng sức phần mềm dự án xây dựng phịng mô ĐKTB 86 4.1.1 Sắp xếp thứ tự ưu tiên yêu cầu chức phần mềm 87 4.1.2 Chuyển đổi yêu cầu chức sang USE-CASE 94 4.2 Đánh giá quy trình tính tốn 103 4.2.1 So sánh UCP với FPA 104 4.2.2 So sánh UCP với COCOMO 105 4.3 Kết chương 105 KẾT LUẬN 107 TÀI LIỆU THAM KHẢO 110 DANH MỤC CÁC BẢNG Bảng 1- Tính UFPs – kích cỡ xử lý thơng tin thô – FPA 19 Bảng 1- Mười bốn Yếu tố kĩ thuật FPA 20 Bảng 1- Phân loại chế độ phát triển sản phẩm COCOMO sở 24 Bảng 1- Các Yếu tố điều chỉnh COCOMO trung cấp 26 Bảng 1- Phân loại chế độ phát triển COCOMO trung cấp 27 Bảng 2- Sắp xếp chức phần mềm 59 Bảng 2- Phân loại đánh trọng số điểm Use Case UCP 61 Bảng 2- Ví dụ đếm số Use Case sau đánh trọng số 62 Bảng 2- Phân loại đánh trọng số tác nhân UCP 63 Bảng 2- Ví dụ đếm số tác nhân sau đánh trọng số 64 Bảng 2- Trọng số 13 yếu tố kĩ thuật UCP 66 Bảng 2- Ví dụ tính Yếu tố Độ phức tạp Kĩ thuật UCP 67 Bảng 2- Trọng số yếu tố môi trường UCP 68 Bảng 2- Ví dụ tính Yếu tố Độ phức tạp Môi trường UCP 69 Bảng 2- 10 Tổng hợp đánh giá giá trị phần mềm 72 Bảng 3- Kịch Use Case “Thực ước lượng mới” 75 Bảng 3- Kịch Use Case“Tìm kiếm đánh giá lịch sử” 75 Bảng 4- Sắp xếp chức phần mềm 93 Bảng 4- Bảng chuyển từ chức sang Use Case 98 Bảng 4- Tính tốn điểm tác nhân trao đổi thơng tin với phần mềm .99 Bảng 4- Tính tốn điểm trưởng hợp sử dụng 100 Bảng 4- Tính tốn hệ số phức tạp kỹ thuật công nghệ 101 Bảng 4- Tính tốn hệ số tác động mơi trường nhóm làm việc .102 Bảng 4- Tổng hợp tính tốn tổng giá trị phần mềm 103 DANH MỤC HÌNH VẼ Hình 1 Đồ thị hội tụ đánh giá Độ xác đánh giá cơng sức phần mềm cải tiến q trình phát triển 10 Hình 1-2 Tiến trình sở đánh giá cơng sức phần mềm dự án 17 Hình Một ví dụ biểu đồ Use case .38 Hình 2- biểu tượng tác nhân UML 41 Hình 3– Các Use case hệ thống điều khiển máy tàu 46 Hình Biểu đồ Use Case tổng thể - UCPEstimation 74 Hình Biểu đồ hoạt động Use Case"Thực đánh giá dự án" 76 Hình 3 Biểu đồ hoạt động Use Case"Tìm kiếm đánh giá lịch sử" 76 Hình Biểu đồ cộng tác cho Use Case"Thực dánh giá mới" .77 Hình Biểu đồ cộng tác cho Use Case"Tìm kiếm đánh giá lịch sử" 78 Hình Biểu đồ cho Use Case"Thực đánh giá mới" 79 Hình Biểu đồ cho Use Case"Tìm kiếm đánh giá lịch sử" .80 Hình Biểu đồ thực thể - liên kết 82 Hình Biểu đồ thực thể-mối quan hệ - UPC Estimator .83 Hình Hình vẽ phối cảnh cabin tổ hợp mơ 86 DANH SÁCH CÁC TỪ VIẾT TẮT COCOMO : COnstructive COst MOdel – Mơ hình giá cấu thành EAF : Effort Adjust Factor – yếu tố điều chỉnh nỗ lực ER : Effort Rating – tỉ lệ nỗ lực FP : Function Point – Điểm chức UFP : Unadjusted Function Point – Điểm Chức chưa điều chỉnh FPA : Function Point Analysis – Phân tích điểm chức FPs : Function Points – số Điểm chức UCP : Use Case Point – Điểm chức sử dụng UCPs : Use Case Points – số Điểm chức sử dụng UML : Unified Modelling Language – ngôn ngữ mơ hình hóa thống AUCP : Adjusted Use Case Point - Điểm chức sử dụng sau hiệu chỉnh UUCP : Unadjusted Use Case Point – Điểm chức sử dụng chưa điều chỉnh UUCPs : Unadjusted Use Case Point – số Điểm ca sử dụng chưa điều chỉnh TAW : Total Actors Weighted– Tổng số Tác nhân sau đánh trọng số TBW : Tổng số chức sử dụng sau đánh trọng số TCF : Technical Complexity Factor – Yếu tố độ phức tạp kĩ thuật ECF : Environmental Complexity Factor – Yếu tố độ phức tạp môi trường MỞ ĐẦU Cơ sở khoa học thực tiễn đề tài: Công sức phần mềm liên quan đến thời gian nguồn lực phải bỏ trình phát triển phần mềm Việc dự báo, đánh giá công sức phần mềm hoạt động mang tính định khả thi dự án phần mềm, phương án điều khiển thời gian ngân quỹ suốt quy trình phát triển phần mềm Các phương pháp truyền thống thường không tin cậy yêu cầu nhiều thao tác đo, tính toán phức tạp Hơn nữa, liệu thử nghiệm q nhỏ khơng mang tính đại diện dẫn đến kết khơng xác Việc nghiên cứu, hồn thiện phương pháp dự báo đánh giá công sức phần mềm mang tính thực tiễn cao có ý nghĩa lớn quản lý dự án phần mềm Mục đích đề tài : Nghiên cứu kế thừa số phương pháp dự báo, đánh giá công sức, nguồn lực quản lý dự án phần mềm Việt Nam giới Tập hợp phân tích đặc điểm phương pháp định giá sản phẩm phần mềm Lựa chọn phương pháp điểm chức sử dụng (Use Case Point) để đánh giá công sức dự án phần mềm, thực thử nghiệm dự án phần mềm có, thử nghiệm đánh giá thực tế việc sử dụng phương pháp tính tốn dự án phần mềm Học Viện Hải Quân Các vấn đề cần giải đề tài: Đề tài tập trung giải vấn đề sau 3.1 Nghiên cứu sở lý thuyết công nghệ phục vụ nhiệm vụ đề tài Nghiên cứu sở lý thuyết cơng nghệ có liên quan đến việc dự báo, đánh giá công sức, nguồn lực phần mềm nghiên cứu ứng dụng 3.2 Tiến hành So sánh, lựa chọn mơ hình đánh giá, dự đốn cơng sức phần mềm Nghiên cứu, so sánh, phân tích đánh giá mơ hình truyền thống, mơ hình có Phân tích đánh giá công sức phần mềm phương pháp phát triển phần mềm biết, từ đó, lựa chọn mơ hình phù hợp để ứng dụng Tập trung vào phương pháp đánh giá điểm chức Use-Case Point (UCP) 3.3 Học tập mơ hình thơng dụng, thử nghiệm, hiệu chỉnh thông số thống kê kết thực tiến trình mơ hình, kết luận tính khả thi, độ xác ưu, nhược điểm thơng số áp dụng mơ hình chọn 3.4 Áp dụng, thử nghiệm đánh giá số phần mềm dự án triển khai Trung tâm huấn luyện Mô – Học viện Hải quân Nội dung luận văn: Với phân tích yêu cầu nêu trên, luận văn bao gồm phần sau: Mở đầu Chương : Tổng quan đánh giá công sức nguồn lực quản lý Dự án phần mềm Chương : Phương pháp điểm chức UCP (Use Case Point) Chương : Xây dựng công cụ hỗ trợ phương pháp điểm chức UCP Chương 4: Thử nghiệm áp dụng Dự án Xây dựng phòng mô điều khiển tàu biển Kết luận Trong trình thực Luận văn, thời gian trình độ cịn hạn chế nên khơng thể tránh khỏi thiếu sót Rất mong nhận góp ý thầy, cô giáo bạn để Luận văn hồn thiện Tơi xin chân thành cảm ơn hướng dẫn, giúp đỡ tận tình thầy hướng dẫn, PGS.TS Huỳnh Quyết Thắng, thầy viện công nghệ thông tin truyền thông – Đại học Bách khoa Hà Nội giúp đỡ tơi q trình học tập trình làm Luận văn CHƯƠNG TỔNG QUAN CÔNG TÁC ĐÁNH GIÁ CÔNG SỨC TRONG QUẢN LÝ DỰ ÁN PHẦN MỀM 1.1 Đánh giá cơng sức phần mềm Trong quản lý dự án phần mềm, việc đánh giá công sức phần mềm hiệu hoạt động quan trọng, đồng thời thách thức phát triển phần mềm Đánh giá công sức phần mềm tảng cho việc lập lịch dự án cách hiệu quả: Sẽ lập kế hoạch điều khiển dự án có hiệu khơng có qui trình tính tốn cơng sức phần mềm đầy đủ đáng tin cậy Khi đó, với việc phải chịu tác động tài chính, bị lợi cạnh tranh, chậm trễ việc hưởng lợi từ kế hoạch sáng kiến hậu việc áp dụng qui trình tính tốn cơng sức khơng đầy đủ, thiếu xác khoa học Cho đến dễ nhận thấy ngành cơng nghiệp phần mềm nói chung khơng có nhiều phương pháp tốt để đánh giá công sức phần mềm dự án Hình 1-1, tham khảo từ tài liệu ([6] McConnell, 1996) thể độ hội tụ đánh giá cơng sức phần mềm vịng đời phát triển dự án dự án thực tế, việc đánh giá xác hóa trình làm mịn dần dự án Từ hình vẽ nhận thấy để đưa đánh giá đáng tin cậy sớm vòng đời phát triển dự án khó Chúng ta phải chịu nhiều thiệt hại hậu quả, đó, cần tập trung nhiều nỗ lực để giải tình hình Đánh giá khơng đầy đủ công sức phần mềm dự án dẫn đến (a) việc bố trí thiếu cho dự án (điều mà thường dẫn đến việc vượt khả làm việc), (b) quản lý thiếu nỗ lực đảm bảo chất lượng (bỏ sót nguy rủi ro sản phẩm chất lượng),