Dự đoán nỗ lực phát triển phần mềm theo quy trình agile sử dụng thuật toán tối ưu bày đàn

75 77 0
Dự đoán nỗ lực phát triển phần mềm theo quy trình agile sử dụng thuật toán tối ưu bày đàn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TRẦN THÁI BẢO DỰ ĐOÁN NỖ LỰC PHÁT TRIỂN PHẦN MỀM THEO QUY TRÌNH AGILE SỬ DỤNG THUẬT TỐN TỐI ƯU BẦY ĐÀN LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2017 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TRẦN THÁI BẢO DỰ ĐOÁN NỖ LỰC PHÁT TRIỂN PHẦN MỀM THEO QUY TRÌNH AGILE SỬ DỤNG THUẬT TOÁN TỐI ƯU BẦY ĐÀN Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT Người hướng dẫn khoa học: TS LÊ THỊ MỸ HẠNH Đà Nẵng - Năm 2017 i LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu riêng Các số liệu, kết nêu luận văn hoàn toàn trung thực chưa cơng bố cơng trình khác Tác giả luận văn TRẦN THÁI BẢO ii TRANG TÓM TẮT ĐỀ TÀI DỰ ĐOÁN NỖ LỰC PHÁT TRIỂN PHẦN MỀM THEO QUY TRÌNH AGILE SỬ DỤNG THUẬT TỐN TỐI ƯU BẦY ĐÀN Học viên: TRẦN THÁI BẢO Mã số: 60.48.01.01 Khóa: 31 Chun ngành: Khoa học máy tính Trường Đại học Bách khoa - ĐHĐN Tóm tắt - Trong quy trình phát triển phần mềm đại, ước lượng nỗ lực phát triển phần mềm đóng vai trị quan trọng Sự thành công hay thất bại dự án phụ thuộc lớn vào độ xác kết ước lượng nỗ lực tiến độ thực Ngày này, nhiều nghiên cứu tập trung vào việc đề xuất mơ hình để nâng cao tính xác kết dự đốn; Tuy nhiên, vấn đề đánh giá xác nỗ lực vấn đề đầy thách thức nhà nghiên cứu, đặc biệt nói đến dự án sử dụng phương pháp linh hoạt (Agile) Nghiên cứu nhằm mục đích đề xuất thuật tốn tối ưu hóa bầy đàn (PSO – Particle Swarm Optimization) để tối ưu hóa thơng số cơng thức đề xuất trước [9] dựa tốc độ nhóm yếu tố Story Point Các kết thực nghiệm phương pháp tiếp cận vượt trội phương pháp nghiên cứu khác tính xác kết dự đốn Từ khóa - Ước lượng nỗ lực phần mềm; phát triển phần mềm linh hoạt; User Story; tối ưu bầy đàn; thuật tốn tối ưu hóa AGILE SOFTWARE DEVELOPMENT EFFORT ESTIMATION USING PARTICLE SWARM OPTIMIZATION ALGORITHM Abstract - In modern software development processes, estimating software development efforts plays an important role The success or failure of projects depends greatly on the accuracy of effort estimation and schedule results Nowadays, Many studies focus on proposing novel models to enhance the accuracy of predicted results; However, the question of accurate estimation of effort has been a challenging issue with regards to researchers, especially when it comes to projects using agile methodologies This study aims to use a Particle Swarm Optimization (PSO) algorithm to optimize the parameters of the previously proposed estimation formula [9] based on the group velocity and the factors of Story Point The experimental results indicated that our approaches outperformed methods in other studies in terms of the accuracy of predicted results Key words - Software effort estimation; agile software development; user story; particle swarm optimization; swarm optimization algorithm iii MỤC LỤC L LỜI CAM ĐOAN i TRANG TÓM TẮT ĐỀ TÀI ii MỤC LỤC iii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vi DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH viii MỞ ĐẦU 1 Lý chọn đề tài Mục đích ý nghĩa đề tài Mục tiêu nhiệm vụ Đối tượng phạm vi nghiên cứu .3 Phương pháp nghiên cứu .3 Phương tiện công cụ triển khai .3 Dự kiến kết đạt Nội dung nghiên cứu dự kiến cấu trúc luận văn .4 CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 ƯỚC LƯỢNG NỖ LỰC PHÁT TRIỂN PHẦN MỀM 1.1.1 Khái niệm .6 1.1.2 Bốn bước ước lượng dự án phần mềm Bốn bước ước lượng dự án phần mềm là: .8 1.2.1 Ước lượng kích cỡ, phạm vi 1.1.2.2 Ước lượng nỗ lực 1.1.2.3 Ước lượng lịch trình 10 1.1.2.4 Ước lượng chi phí .11 1.1.3 Các phương pháp ước lượng nỗ lực 13 1.1.3.1 Ước lượng chuyên gia 13 1.1.3.2 Ước lượng đánh giá kinh nghiệm khứ 13 1.1.3.3 Ước lượng đánh giá mơ hình ước lượng thực nghiệm 13 1.2 MƠ HÌNH PHÁT TRIỂN PHẦN MỀM AGILE 14 1.2.1 Sự cần thiết mơ hình phát triển phần mềm 14 1.2.2 Tìm hiểu chung Agile 14 1.2.2.1 Tuyên ngôn Agile .15 1.2.2.2 Các quy tắc Agile .19 1.2.2.3 Các đặc trưng Agile 20 1.2.3 Quy trình vận hành Agile 23 iv 1.2.3.1 Lập kế hoạch 23 1.2.3.2 Phân tích 23 1.2.3.3 Thiết kế lập trình 23 1.2.3.4 Kiểm thử (Test) 24 1.2.3.5 Bàn giao sản phẩm 24 1.3 CÁC PHƯƠNG PHÁP PHÁT TRIỂN PHẦN MỀM LINH HOẠT 24 1.3.1 Các khái niệm SCRUM .25 1.3.2 Lập kế hoạch Sprint 26 CHƯƠNG THUẬT TOÁN TỐI ƯU BẦY ĐÀN .29 2.1 GIỚI THIỆU 29 2.1.1 Bài toán tối ưu tổng quát phân loại 29 2.1.1.1 Giới thiệu toán tối ưu tổng quát 29 2.1.1.2 Phân loại toán tối ưu 30 2.1.2 Trí tuệ bầy đàn 30 2.2 MÔ PHỎNG HÀNH VI KIẾM MỒI CỦA ĐÀN CHIM .31 2.3 KIẾN TRÚC THUẬT TOÁN PSO .32 2.4 TRIỂN KHAI VÀ CÀI ĐẶT THUẬT TOÁN 36 2.4.1 Biểu diễn mã giả 36 2.4.2 Lưu đồ thuật toán 38 2.4.3 Quy trình thực 39 TIỂU KẾT CHƯƠNG 2: .39 CHƯƠNG ỨNG DỤNG THUẬT TOÁN TỐI ƯU BẦY ĐÀN ƯỚC LƯỢNG 40 NỖ LỰC PHÁT TRIỂN PHẦN MỀM THEO QUY TRÌNH AGILE 40 3.1 PHÂN TÍCH BÀI TỐN ƯỚC LƯỢNG NỖ LỰC PHÁT TRIỂN PHẦN MỀM THEO QUY TRÌNH AGILE .40 3.1.1 Mơ hình tổng quan tốn 41 3.1.2 Ước lượng mơ hình Agile 41 3.1.2.1 Các khái niệm .41 3.1.2.2 Xác định nỗ lực (Story point) 43 3.1.2.3 Xác định vận tốc dự án (Agile Velocity) 46 3.2 ÁP DỤNG THUẬT TOÁN BẦY ĐÀN ĐỂ ƯỚC LƯỢNG NỖ LỰC PHÁT TRIỂN PHẦN MỀM .49 3.2.1 Đề xuất giải pháp ước lượng nỗ lực phát triển phần mềm theo quy trình Agile .49 3.2.2 Đo lường chất lượng dự đoán .50 3.2.3 Biểu diễn cá thể thuật tốn PSO hàm thích nghi cho toán dự đoán .51 3.2.4 Bộ liệu thực nghiệm .52 3.2.5 Thực nghiệm .53 v 3.2.5.1 Thiết lập thông số .53 3.2.5.2 Huấn luyện 53 3.2.5.3 Đánh giá kết đạt 54 3.3.KẾT LUẬN 55 TIỂU KẾT CHƯƠNG 56 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57 TÀI LIỆU THAM KHẢO .58 QUYẾT ĐỊNH GIAO ĐỀ TÀI BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN vi DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT STT Ký hiệu/Viết tắt Diễn giải BDD Behavior Driven Development - Phát triển hướng hành vi COCOMO Constructive Cost Model - Mơ hình giá cấu thành ER Effort Rating - Tỉ lệ nỗ lực FP Iteration LOC Sprint TDD User Story 10 User Story Point Function Point: Ước lượng kích cỡ phần mềm phát triển theo chức năng, độ phức tạp Phân đoạn; Trong phương pháp phát triển linh hoạt, iteration phân đoạn với khoảng thời gian ngắn nhằm phát triển phần nhỏ hệ thống Một dự án gồm nhiều phân đoạn lặp lặp lại Line Of Code: Ước lượng kích cỡ phần mềm phát triển theo số dòng lệnh Phân đoạn nước rút Scrum; Một phân đoạn chu kỳ lặp lặp lại công việc tương tự nhằm tạo phần tăng trưởng (increment) cho hệ thống Sprint thường kéo dài từ tuần tới tháng Trong suốt dự án, thời gian cho Sprint cố định Từ “sprint” có nghĩa giai đoạn nước rút, ám gấp gáp tập trung cao độ khoảng thời gian ngắn để làm việc Test Driven Development - Phát triển hướng kiểm thử Là tóm tắt nhu cầu người dùng Đây công cụ sử dụng phổ biến Extreme Programming (XP), Scrum phương pháp linh hoạt khác để thể nhu cầu người dùng Thông thường, User Story khách hàng đại diện khách hàng, người thực hiểu nghiệp vụ nắm bắt xác yêu cầu nhóm phát triển Đại lượng độ lớn tương đối User Story dự án Trong phiên hoạch định trước Sprint, nhóm phát triển dùng Scrum Poker để đánh giá độ lớn, bé Story ghi giá trị lên User Story Card vii DANH MỤC CÁC BẢNG Số hiệu bảng 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Tên bảng Qui mơ, kích thước Story Độ phức tạp User Story Các yếu tố ma sát Các yếu tố thay đổi Bộ liệu lấy từ Zia [7] Phạm vi tham số mơ hình đề xuất Kết nỗ lực ước lượng huấn luyện từ 15 dự án Kết thực nghiệm so sánh kết ước lượng Trang 43 44 47 48 52 53 53 55 viii DANH MỤC CÁC HÌNH Số hiệu hình 1.1 1.2 1.3 1.4 2.1 2.2 2.3 2.4 3.1 Tên hình Đồ thị hội tụ ước lượng Độ xác ước lượng cải tiến trình phát triển Nguồn tham khảo [1] Tiến trình sở ước lượng dự án Các phân đoạn lặp lặp lại mơ hình Agile Quy trình hoạt động Scrum Mơ hành vi kiếm mồi đàn chim So sánh di chuyển đàn kiến đàn chim không gian chiều Sự thay đổi điểm tìm kiếm PSO Lưu đồ thuật toán Sơ đồ giải pháp triển khai đề tài Trang 12 21 27 32 33 34 38 50 51 PRED(N) = ∑𝑇𝑖=1 { 𝑇 100 𝑖𝑓 |𝑃𝑖 − 𝐴𝑖 | 𝐴𝑖 < 𝑁 100 𝑛𝑔ượ𝑐 𝑙ạ𝑖 (3.9)  Hệ số tương quan bình phương (R2), cịn gọi hệ số xác định tính cơng thức (3.10) R =1- ∑𝑇 𝑖=1(𝐴𝑖 − 𝑃𝑖 ) 𝑇 ∑𝑖=1(𝐴𝑖 − 𝐴̅)2 (3.10) Trong 𝐴̅ giá trị trung bình giá trị nỗ lực thực tế Vậy nên giá trị R PRED(N) cao kết ước lượng tốt Ngược lại, giá trị MSE, MMRE thấp kết ước lượng xác 3.2.3 Biểu diễn cá thể thuật tốn PSO hàm thích nghi cho tốn dự đốn Hàm thích nghi (Fitness Function) hàm đánh giá hay hàm mục tiêu thể tính thích nghi cá thể Một cá thể đưa có tính thích nghi (được đánh giá ước lượng) độ tin cậy cho thấy mức độ tin cậy Một giá trị thích nghi đánh giá phải có độ tin cậy thống với đánh giá độ thích nghi độ tin cậy ước tính tăng giảm Khi ước tính mức độ thích nghi thời điểm độ tin cậy ước tính giảm xuống ngưỡng người dùng quy định Để giảm thiểu số lượng vị trí giá trị thích nghi độ tin cậy cần phải lưu giữ, có vị trí mà cá thể phiên trước lưu giữ lại Tính thích nghi cá thể đánh giá trước di chuyển giá trị thích nghi, độ tin cậy liên quan đến vị trí cá thể gần so với vị trí lần lặp lại sau Tất cá thể phải đảm bảo tính thích nghi chúng đánh giá lần lặp Trong nghiên cứu này, cá thể thuật toán tối ưu bầy đàn biểu diễn sau: 𝑋𝑖 = {𝐴𝑖 , 𝐵𝑖 , 𝐶𝑖 , 𝐷𝑖 , 𝐸𝑖 } Sau thuật toán kết thúc trả kết cá thể tốt chứa tham số cho nỗ lực dự đốn cách sử dụng cơng thức (3.6) gần với giá trị nỗ lực thực tế Để đánh giá độ thích nghi cá thể thuật tốn tối ưu bầy đàn, sử dụng hàm thích nghi công thức (3.11): 𝑓 (𝑋𝑖 ) = 𝑀𝑀𝑅𝐸(𝑋𝑖 ) (3.11) Trong đó: 𝑀𝑀𝑅𝐸 (𝑋𝑖 ) 𝑀𝑀𝑅𝐸 cá thể 𝑋𝑖 T tập liệu huấn luyện Trong nghiên cứu này, sử dụng 21 dự án phần mềm linh hoạt nghiên cứu Zia cộng [7] để đánh giá hiệu cách tiếp cận đề xuất so sánh với phương pháp hồi quy giới thiệu Zia cộng 52 3.2.4 Bộ liệu thực nghiệm Phương pháp đề xuất kiểm tra cách sử dụng liệu gồm 21 dự án phát triển công ty phần mềm sử dụng Zia [7] Các thành phần liệu gồm có:  Tổng số Story Point thực dự án  Vận tốc dự án  Những nỗ lực thực tế cần thiết để hoàn thành dự án Trong nghiên cứu này, 15 dự án sử dụng để huấn luyện liệu lại dùng để tiến hành thực nghiệm đánh giá kết đạt Bảng 3.5 Bộ liệu lấy từ Zia [7] STT Story Point Vi D V Sprint Size Nỗ lực thực tế (Time) 156 4.2 0.687 2.7 10 63 202 3.7 0.701 2.5 10 92 173 0.878 3.3 10 56 331 4.5 0.886 3.8 10 86 124 4.9 0.903 4.2 10 32 339 4.1 0.903 3.6 10 91 97 4.2 0.859 3.4 10 35 257 3.8 0.833 10 93 84 3.9 0.646 2.4 10 36 10 211 4.6 0.758 3.2 10 62 11 131 4.6 0.758 3.2 10 45 12 112 3.9 0.773 2.9 10 37 13 101 3.9 0.773 2.9 10 32 14 74 3.9 0.773 2.9 10 30 15 62 3.9 0.773 2.9 10 21 16 289 0.742 2.8 10 112 17 113 0.742 2.8 10 39 18 141 0.742 2.8 10 52 53 STT Story Point Vi D V Sprint Size Nỗ lực thực tế (Time) 19 213 0.742 2.8 10 80 20 137 3.7 0.758 2.7 10 56 21 91 3.7 0.758 2.7 10 35 3.2.5 Thực nghiệm 3.2.5.1 Thiết lập thông số Để đánh giá hiệu thuật tốn, tơi thiết lập kích cỡ quần thể số lần lặp, hệ số quán tính sau:  Số lần lặp (Iteration) = 10000  Kích thước quần thể Np = 100  w = 0.25 c1 = c2 = 2.0 Phạm vi tham số mơ hình ước tính đề xuất trình bày Bảng 3.6 Bảng 3.6 Phạm vi tham số mơ hình đề xuất Tham số Giá trị nhỏ Giá trị lớn A -20 20 B -20 20 C -20 20 D -20 20 E -20 20 3.2.5.2 Huấn luyện Sử dụng 15 dự án 21 dự án phát triển công ty phần mềm sử dụng Zia [7] Bảng 3.7 Kết nỗ lực ước lượng huấn luyện từ 15 dự án STT Story Point Vi D V Sprint Size Nỗ lực thực tế Nỗ lực ước lượng 156 4.2 0.687 2.7 10 63 60.4247 202 3.7 0.701 2.5 10 92 84.7081 173 0.878 3.3 10 56 55.4812 331 4.5 0.886 3.8 10 86 93.0353 54 STT Story Point Vi D V Sprint Size Nỗ lực thực tế Nỗ lực ước lượng 124 4.9 0.903 4.2 10 32 32.0780 339 4.1 0.903 3.6 10 91 100.3813 97 4.2 0.859 3.4 10 35 30.2257 257 3.8 0.833 10 93 90.6010 84 3.9 0.646 2.4 10 36 35.7536 10 211 4.6 0.758 3.2 10 62 69.7721 11 131 4.6 0.758 3.2 10 45 43.1453 12 112 3.9 0.773 2.9 10 37 40.3119 13 101 3.9 0.773 2.9 10 32 36.2884 14 74 3.9 0.773 2.9 10 30 26.4430 15 62 3.9 0.773 2.9 10 21 22.0877 Các kết báo cáo kết tốt thuật toán sau nhiều lần chạy độc lập Sau áp dụng thuật toán PSO, tham số mơ hình ước lượng đề xuất tối ưu có giá trị cụ thể sau: A = -16.3787; B = -15.2336; C = -0.5297; D = 4.3219; E = –3.3140 3.5.2.3 Đánh giá kết đạt Để đánh giá xác kết dự đoán nỗ lực phát triển phần mềm, phương pháp đề xuất báo [8] họ sử dụng mạng Nơ-ron nhân tạo (ANN Artificial Neural Network) kết hợp thuật toán Levenberg Marquardt (LM) với thuật toán khác bao gồm: Thuật toán tối ưu dạy học (TLBO Teaching Learning Based Optimization), thuật tốn bầy ơng nhân tạo rời rạc (DABC - Discrete Artificial Bee Colony) phiên cải tiến thuật toán bầy ong nhân tạo (ABC - Artificial Bee Colony), thuật tốn dạy học dựa bầy ơng nhân tạo (TLBABC - Teaching Learning Based Artificial Bee Colony) thuật tốn (LM - Levenberg Marquardt) để tối ưu hóa thông số mạng Nơ-ron [8] Trong nghiên cứu này, tơi sử dụng thuật tốn tối ưu bầy đàn (PSO) để dự đoán nỗ lực phát triển phần mềm Nhưng để đánh giá độ xác kết ước lượng nghiên cứu tơi so sánh kết thuật toán đề xuất với kết 55 phương pháp báo [8], dựa tiêu chí đánh giá: MSE, MMRE, PRED(7.19) R2 Bảng 3.8 Kết thực nghiệm so sánh kết ước lượng Sp V Nỗ lực dự đốn Nỡ lực thực tế PSO ANN với TLBO-LM ANN với DABC-LM ANN với ANN với LM TLBABC-LM 289 2.8 112 109.1074 88 99.0 98 94.8 113 2.8 39 42.0225 41.9 43.4 43.1 45.9 141 2.8 52 52.6570 52.6 54.3 54.1 55.8 213 2.8 80 80.0858 75.2 80.1 80.3 80.8 137 2.7 56 52.9275 52.5 54.5 54.4 54.3 91 2.7 35 34.8265 34.9 36.2 36.1 40.4 MSE 4.5687 103.3450 32.8917 36.8467 65.0967 MMRE 2.9476 7.0923 5.5907 5.5710 9.9702 PRED(7.19) 83.3333 66.6667 66.6667 66.6667 33.3333 R2 0.9935 0.8530 0.9532 0.9476 0.9074 Từ Bảng 3.8, thấy thuật tốn PSO cho kết với giá trị MSE, MMRE, PRED (7.19) R2 tốt tất tiêu chí đánh giá so với thuật tốn ANN với TLBO-LM, ANN với DABC-LM, ANN với TLBABC-LM ANN với LM Thực nghiệm phương pháp đề xuất cho thấy kết đánh giá nỗ lực xác thuật tốn hiệu để tối ưu hóa 3.3 KẾT LUẬN Phương pháp Story Point kỹ thuật ước tính nỗ lực phần mềm sử dụng cho dự án phần mềm linh hoạt Trong nghiên cứu này, tổng số Story Point vận tốc dự án sử dụng để đào tạo, để cung cấp cho nỗ lực việc phát triển sản phẩm phần mềm linh hoạt Độ xác kết ước lượng tăng cường cách sử dụng thuật tốn PSO để tối ưu hóa tham số Các kết thực nghiệm PSO thuật tốn hiệu để nâng cao độ xác dự đoán nỗ lực phát triển phần mềm theo quy trình Agile so với thuật tốn khác ANN với TLBO-LM, ANN với DABC-LM, ANN với TLBABCLM ANN với LM 56 TIỂU KẾT CHƯƠNG 3: Trong chương này, luận văn đề xuất thuật toán PSO để giải toán ước lượng nỗ lực phát triển phần mềm theo quy trình Agile Các thử nghiệm dựa liệu 21 dự án phát triển công ty phần mềm sử dụng Zia [7] Các thành phần liệu gồm có: Tổng số Story Point thực dự án, vận tốc dự án, nỗ lực thực tế cần thiết để hoàn thành dự án Kết thử nghiệm cho thấy tính hiệu thuật tốn đề xuất góp phần nâng cao độ xác dự toán nỗ lực phát triển phần mềm theo mơ hình Agile 57 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN KẾT QUẢ ĐẠT ĐƯỢC Qua đề tài ước lượng chi phí nỗ lực để phát triển phần mềm gần xác Giảm thời gian việc ước lượng, đảm bảo thời gian hoàn thành dự án kịp tiến độ, đảm bảo chi phí q trình phát triển Đề xuất giải pháp áp dụng thuật toán tối ưu bầy đàn vào toán ước lượng nỗ lức phát triển phần mềm theo quy trình Agile HẠN CHẾ Giải pháp đề xuất đựa thuật toán tối ưu bầy đàn (PSO), phụ thuộc nhiều vào thàm số đầu vào, tham số đầu vào khơng xác dẫn đến kết xa so với mong muốn Một hạn chế khác cách tiếp cận đề xuất độ phức tạp User Story đánh giá phạm vi từ đến khơng bao gồm tất đặc tính đa dạng dự án linh hoạt thực tế Chỉ giải pháp nhỏ trình phát triển phần mềm cịn có nhiều trở ngại, nhiều yếu tố khác ảnh hưởng tới tốc độ phát triển dự án phần mềm HƯỚNG PHÁT TRIỂN Làm việc trực tiếp với dự án phần mềm, đúc kết đưa tham số đầu vào xác, dựa thực tế để nắm bắt yếu tố ảnh hưởng tới tốc độ dự án cần làm rõ phương pháp để đánh giá mức độ phức tạp User Story Áp dụng vào tất mơ hình phát triển phần mềm tương lai Nghiên cứu thêm số thuật toán tối ưu để cải thiện hiệu toán Nghiên cứu, đề xuất giải pháp để việc ước lượng mang lại kết xác cho mơ hình phát triển phần mềm nói chung mơ hình Agile nói riêng Trong tương lai, tơi dự định áp dụng thuật tốn đề xuất cho dự án cơng nghiệp đánh giá cách tồn diện Áp dụng kỹ thuật máy học hỗ trợ máy vector, rừng ngẫu nhiên độ dốc ngẫu nhiên thúc đẩy cho vấn đề ước lượng nỗ lực dự án phần mềm linh hoạt 58 TÀI LIỆU THAM KHẢO [1] McConnell S, “Rapid Development, Taming Wild Software Schedules”, Microsoft Press, pp 163 - 204, 1996 [2] Nguyễn Hữu Quốc, “Quản lý dự án CNTT”, Nhà xuất bản: Học viên cơng nghệ Bưu Viễn thơng, pp 72 – 75, 2007 [3] H Takeuchi and I Nonaka, "The New New Product Development Game", Harvard Business Review, pp 137-146, 1986 [4] Jeff Sutherland, “Agile Principles and Values” in truy cập: tháng năm 2017] MSDN, [Ngày [5] Aleksandar Lazinica, “Particle Swarm Optimization”, InTech, Croatia, January 2009 [6] Y Zhang, S Wang and G Ji, “A comprehensive survey on particle swarm optimization algorithm and its applications”, Mathematical Problems in Engineering, vol 2015, January 2015 [7] Z K Zia, S K Tipu, "An Effort Estimation Model for Agile Software Development", Advances in Computer Science and its Applications, vol 2, no 1, pp 314-324, 2012 [8] T T Khuat and M H Le, “An Effort Estimation Approach For Agile Software Development Using Fireworks Algorithm Optimized Neural Network”, Int J Comput Sci Inform Secur 14, pp 122–130, 2016 [9] T T Khuat and M H Le, “A Novel Hybrid ABC-PSO Algorithm for Effort Estimation of Software Projects Using Agile Methodologies”, International Journal of Computer Science and Information Security (IJCSIS), Vol 14, No 7, 122-130, July 2017 [10] M Zambrano-Bigiarini, M Clerc and R Rojas, “Standard particle swarm optimisation 2011 at cec-2013: A baseline for future pso improvements”, in IEEE Congress on Evolutionary Computation, pp 2337 – 2344, 2013 ... lượng nỗ lực phát triển phần mềm theo quy trình Agile  Sử dụng thuật toán PSO để tối ưu tham số sử dụng công thức ước lượng nỗ lực phát triển phần mềm theo quy trình Agile  Phân tích cài đặt thuật. .. ước lượng nỗ lực phát triển phần mềm theo quy trình Agile 40 CHƯƠNG ỨNG DỤNG THUẬT TOÁN TỐI ƯU BẦY ĐÀN ƯỚC LƯỢNG NỖ LỰC PHÁT TRIỂN PHẦN MỀM THEO QUY TRÌNH AGILE Phần mềm sử dụng rộng rãi đời... ước lượng nỗ lực phát triển phần mềm theo quy trình Agile 7.2 Về thực nghiệm  Đề xuất giải pháp ước lượng nỗ lực phát triển phần mềm theo quy trình Agile sử dụng thuật toán tối ưu bầy đàn  Đánh

Ngày đăng: 22/06/2020, 10:54

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan