1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ước lượng nỗ lực phát triển phần mềm sử dụng thuật toán tối ưu dựa trên hành vi săn mồi của bầy sói

53 19 0

Đ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

Thông tin cơ bản

Tiêu đề Ước lượng nỗ lực phát triển phần mềm sử dụng thuật toán tối ưu dựa trên hành vi săn mồi của bầy sói
Tác giả Nguyễn Thị Ngọc Ngân
Người hướng dẫn TS. Lê Thị Mỹ Hạnh
Trường học Đại Học Đà Nẵng
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2018
Thành phố Đà Nẵng
Định dạng
Số trang 53
Dung lượng 1,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ước lượng nỗ lực phát triển phần mềm là một vấn đề quan trọng đối với hầu hết mọi người trong ngành công nghiệp phát triển phần mềm Sự thành công hay thất bại của dự án phụ thuộc rất lớn vào độ chính xác của kết quả ước lượng nỗ lực và tiến độ thực hiện Để nâng cao tính chính xác của dự đoán phương pháp ước lượng dựa trên các mô hình thuật toán đã được sử dụng rộng rãi Tuy nhiên vấn đề đánh giá chính xác nỗ lực là một vấn đề đầy thách thức đối với các nhà nghiên cứu và việc khó khăn nhất là hiệu chuẩn các tham số Nghiên cứu này nhằm mục đích đề xuất thuật toán tối ưu dựa trên hành vi săn mồi của bầy sói GWO – Grey Wolf Optimizer để tối ưu hóa các thông số của công thức đã được đề xuất trước đó dựa trên nỗ lực thực tế trong quá khứ Các kết quả chỉ ra rằng phương pháp tiếp cận của tôi đã vượt trội hơn các phương pháp trong các nghiên cứu khác về tính chính xác của các kết quả ước lượng

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN THỊ NGỌC NGÂN

Ư C Ư NG N C PHÁT TRI N PH N

SỬ DỤNG THUẬT TOÁN TỐI ƯU

D A TRÊN HÀNH VI SĂN ỒI CỦA B Y SÓI

UẬN VĂN THẠC SĨ KHOA HỌC CHUYÊN NGÀNH KHOA HỌC ÁY TÍNH

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

NGUYỄN THỊ NGỌC NGÂN

Ư C Ư NG NỖ C PHÁT TRIỂN PH N MỀM

SỬ DỤNG THUẬT TOÁN TỐI ƯU

D A TRÊN HÀNH VI SĂN MỒI CỦA B Y SÓI

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01

LUẬN VĂN THẠC SĨ

Người hướng dẫn khoa học: TS Lê Thị Mỹ Hạnh

ĐÀ NẴNG - Năm 2018

Trang 3

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tác giả

Nguyễn Thị Ngọc Ngân

Trang 4

MỤC ỤC

MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ Ư C LƯ NG NỖ L C PHÁT TRIỂN PHẦN MỀM THEO M H NH SHETA 4

1.1 Tổng quan về ước lượng nỗ lực phát triển phần mềm 4

1.1.1 Khái niệm 4

1.1.2 Bốn bước cơ bản trong ước lượng dự án phần mềm 5

1.3 Mô hình ước lượng nỗ lực phát triển phần mềm 10

1.3.1 Mô hình COCOMO 11

1.3.2 Mô hình Sheta 12

CHƯƠNG 2 THUẬT TOÁN TỐI ƯU D A TRÊN HÀNH VI SĂN MỒI CỦA BẦY SÓI 13

2.1 Giới thiệu 13

2.1.1 Bài toán tối ưu tổng quát và phân loại 13

2.1.2 Trí tuệ bầy đàn 15

2.2 Mô tả hành vi săn mồi của bầy sói 15

2.3 Chi tiết thuật toán 16

2.3.1 Hệ thống phân cấp xã hội 16

2.3.2 Bao vây con mồi 17

2.3.3 Săn bắt con mồi 18

2.3.4 Tấn công con mồi 19

2.3.5 Tìm kiếm con mồi (thăm dò) 20

2.4 Cài đặt thuật toán 21

2.4.1 Biểu diễn bằng mã giả 21

2.4.2 Lưu đồ thuật toán 22

CHƯƠNG 3 ỨNG DỤNG THUẬT TOÁN VÀO Ư C LƯ NG NỖ L C PHÁT TRIỂN PHẦN MỀM 24

3.1 Giới thiệu 24

3.1.1 iểu diễn c thể của thuật to n GWO và hàm th ch nghi cho bài to n dự đo n 25

3.1.2 Đo lường chất lượng dự đo n 26

3.2 Kết quả và thực nghiệm 27

3.2.1 Tập dữ liệu thực nghiệm 27

3.2.2 Thiết lập thực nghiệm 28

Trang 5

3.2.3 Đ nh gi kết quả 28 3.3 Đ nh gi hiệu quả ƣớc lƣợng của mô hình Sheta sử dụng thuật toán tối ƣu dựa trên hành vi săn mồi của bầy sói 33 KẾT LUẬN 34 TÀI LIỆU THAM KHẢO 35

Trang 6

Ư C Ư NG NỖ C PHÁT TRIỂN PH N MỀM SỬ DỤNG THUẬT TOÁN

TỐI ƯU D A TRÊN HÀNH VI SĂN MỒI CỦA B Y SÓI

Học viên: Nguyễn Thị Ngọc Ngân Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01 Khóa: 31 Trường Đại học Bách khoa - ĐHĐN

Tóm tắt – Ước lượng nỗ lực phát triển phần mềm là một vấn đề quan trọng đối với hầu hết

mọi người trong ngành công nghiệp phát triển phần mềm Sự thành công hay thất bại của dự

án phụ thuộc rất lớn vào độ chính xác của kết quả ước lượng nỗ lực và tiến độ thực hiện Để nâng cao tính chính xác của dự đo n, phương ph p ước lượng dựa trên các mô hình thuật toán

đã được sử dụng rộng rãi Tuy nhiên, vấn đề đ nh gi ch nh x c nỗ lực là một vấn đề đầy thách thức đối với các nhà nghiên cứu và việc khó khăn nhất là hiệu chuẩn các tham số Nghiên cứu này nhằm mục đ ch đề xuất thuật toán tối ưu dựa trên hành vi săn mồi của bầy sói (GWO – Grey Wolf Optimizer) để tối ưu hóa c c thông số của công thức đã được đề xuất trước đó dựa trên nỗ lực thực tế trong quá khứ Các kết quả chỉ ra rằng phương ph p tiếp cận của tôi đã vượt trội hơn c c phương ph p trong c c nghiên cứu khác về tính chính xác của các kết quả ước lượng

Từ khóa - Ước lượng nỗ lực phát triển phần mềm; tối ưu ho bầy đàn; thuật to n hành vi săn

mồi của bầy sói; thuật toán tối ưu hóa; mô hình ước lượng

OPTIMIZING PARAMETERS OF SOFTWARE EFFORT ESTIMATION

USING GREY WOLF OPTIMIZER Abstract – Software effort estimation has been an important issue for almost everyone in

software industry The success or failure of projects depends greatly on the accuracy of effort

estimation and schedule results To enhance the accuracy of predictions, estimation approaches based on algorithmic models have been widely used However, the question of accurate estimation of effort has been a challenging issue with regards to researchers, and the

most difficult is to calibrate the parameters This study aims to use a Grey Wolf Optimizer

(GWO) to optimize the parameters of the previously proposed estimation formula based on past actual effort The results indicated that our proposal outperformed methods in other

studies in terms of the accuracy of estimated results

Key words - Software effort estimation; particle swarm optimization; Grey Wolf Optimizer

algorithm; swarm optimization algorithm; estimation models

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT

LOC Line Of Code: Ứớc lượng kích cỡ của phần mềm được phát

triển theo số dòng lệnh

EP Function Point: Ước lượng kích cỡ của phần mềm được phát

triển theo chức năng, độ phức tạp

COCOMO Constructive Cost Model: Mô hình giá cấu thành

ME Methodology: Phương ph p luận để nâng cao chất lượng của

mô hình COCOMO

GWO Grey Wolf Optimizer: thuật to n hành vi săn mồi của bầy sói

MMRE Độ đo Mean Magnitude of Relative Error

MdMRE Độ đo Median Magnitude of Relative Error

PRED (N) Độ đo Prediction at level N

Trang 8

DANH MỤC CÁC BẢNG BIỂU

Số hiệu

bảng

3.2 Phạm vi các tham số của mô hình đề xuất 28

3.3 Gi trị nỗ lực ƣớc lƣợng và gi trị MRE của mô hình Sheta

Trang 9

2.3 Các vị tr vectơ trong 2D, 3D và vị trí tiếp theo có thể có

3.1 Sự hội tụ của GWO khi sử dụng hàm kiểm tra ngẫu nhiên

3.2 So sánh nỗ lực thực tế với nỗ lực ƣớc lƣợng mô hình

3.3 So sánh MRE của mô hình Sheta 1 và mô hình GWO 1 30

3.4 So sánh nỗ lực thực tế với nỗ lực ƣớc lƣợng mô hình

3.5 So sánh MRE của mô hình Sheta 2 và mô hình GWO 2 32

Trang 10

MỞ Đ U

1 Lý do chọn đề tài

Ước lượng nỗ lực phát triển phần mềm hiệu quả là một trong những hoạt động quan trọng của ước lượng dự án phần mềm, đồng thời cũng là th ch thức trong công nghệ phần mềm Ước lượng nỗ lực có thể được sử dụng như là dữ liệu đầu vào cho các

kế hoạch dự án, phân t ch đầu tư, nguồn ngân sách, quy trình định giá dự án nên nó trở nên rất quan trọng để có được ước lượng chính xác Nhiều tổ chức phải chịu các tác động tài chính lên công việc của họ, bị mất lợi thế cạnh tranh, và chậm trễ trong việc hưởng lợi từ kế hoạch và các sáng kiến do c c ước lượng xấu Ở giai đoạn phát triển ban đầu, những hạn chế trong c c mô hình ước lượng nỗ lực của các dự án phát triển phần mềm là độ ch nh x c và độ chắc chắn chưa cao

Một số kỹ thuật ước lượng sử dụng dữ liệu thu thập từ các dự n đã hoàn thành

từ nhiều tổ chức khác nhau cùng với công thức toán học để ước lượng chi phí dự án được giới thiệu như COCOMO của Barry Boehm, SLIM của Putnam, mô hình điểm chức năng của Albrecht…

Trong những năm gần đây, c c mô hình thuật toán và xử lý những khó khăn trong việc điều chỉnh các tham số nhằm cải tiến độ chính xác của ước lượng nỗ lực phát triển phần mềm được phát triển rộng rãi Các mô hình Sheta hay Uysal sử dụng thuật toán tối ưu của bầy đàn đã đ p ứng được tiến độ của c c phương ph p công nghệ phần mềm mới Áp dụng một phương ph p ước lượng trong qu trình ph t triển phần mềm là một nhiệm vụ khó khăn mà chúng ta cần phải lường trước k ch thước và độ phức tạp của các sản phẩm sẽ được xây dựng để x c định những việc cần làm tiếp theo Phát triển phần mềm theo mô hình Sheta sử dụng thuật to n đã trở nên phổ biến trong ngành công nghiệp và thay thế c c phương ph p tiếp cận thông thường của phát triển phần mềm

Trí thông minh của bầy đàn là quy luật được tích góp từ c c hành vi tương t c độc lập của c c c nhân và môi trường sống của chúng Gần đây, c c nhà ph t triển phần mềm đã nghiên cứu về trí tuệ của bầy đàn để tối ưu hóa c c bài toán về ước lượng nỗ lực phát triển phần mềm Đa số c c phương ph p được lấy cảm hứng từ hiện tượng sinh học hoặc các hành vi xã hội và chủ yếu là động vật, côn trùng Trong đó, hành vi săn mồi của bầy sói cho thấy được kỹ năng và chiến lược tuyệt vời của chúng Ngoài sự phát triển của các thuật toán tối ưu về bầy đàn như: đàn c , đàn ong nhân tạo, thuật to n đom đóm… thuật toán về bầy sói cũng được đề xuất để nâng cao hiệu quả cho ước lượng nỗ lực của phát triển phần mềm

Chính vì vậy, tôi quyết định chọn đề tài:

Trang 11

“ Ước lượng nỗ lực phát triển phần mềm sử dụng thuật toán tối ưu dựa trên hành vi săn mồi của bầy sói”

2 Mục đích nghiên cứu

- Nghiên cứu thuật to n tối ưu hành vi săn mồi của bầy sói

- Nghiên cứu lý thuyết về ước lượng nỗ lực ph t triển phần mềm theo mô hình Sheta

- Áp dụng vào ước lượng nỗ lực phần mềm theo mô hình Sheta nhằm tối ưu c c gi trị trong ước lượng phần mềm

3 Đối tượng và phạm vi nghiên cứu

3.1 Đối tượng nghiên cứu

- Nghiên cứu thuật toán tối ưu bầy đàn

- Cơ sở lý thuyết về ước lượng nỗ lực phát triển phần mềm

3.2 Phạm vi nghiên cứu

- Nghiên cứu thuật toán tối ưu hành vi săn mồi của bầy sói

- Nghiên cứu ước lượng nỗ lực phát triển phần mềm theo mô hình Sheta

4 Phương pháp nghiên cứu

4.1 Phương pháp nghiên cứu lý thuyết

Tìm hiểu, tra cứu, phân tích và tổng hợp từ sách, các bài báo, tạp chí khoa học, các

trang web, các bài luận văn thạc sĩ trong nước và nước ngoài

4.2 Phương pháp thực nghiệm, mô phỏng

- Đề xuất áp dụng thuật toán tối ưu dựa trên hành vi săn mồi của bầy sói

- Cài đặt thực nghiệm và đ nh gi kết quả

5 Dự kiến kết quả đạt được

5.1 Về mặt lý luận

- Hiểu được đặc điểm, tính chất của thuật toán tối ưu bầy đàn

- Hiểu được mô hình Sheta trong ước lượng nỗ lực phát triển phần mềm

- Áp dụng thuật toán tối ưu dựa trên hành vi săn mồi vào bài to n ước lượng nỗ lực

sử dụng tập dữ liệu trên NASA để được các tham số cần ước lượng

Trang 12

6 Nội dung nghiên cứu và dự kiến cấu trúc luận văn

6.1 Nội dung nghiên cứu

- Thu thập và tổng hợp các tài liệu liên quan đến thuật toán tối ưu về hành vi săn mồi của bầy sói

- Thu thập, tổng hợp và phân t ch kỹ thuật ước lượng nỗ lực phát triển phần mềm theo mô hình Sheta

- Áp dụng thuật to n tối ưu dựa trên hành vi săn mồi của bầy sói để ước lượng nỗ lực ph t triển phần mềm theo mô hình Sheta

- Thử nghiệm, phân tích các kết quả; từ đó đ nh gi hiệu quả của giải ph p đề xuất

6.2 Bố cục luận văn

Mở đầu

- Tính cấp thiết của đề tài

- Mục tiêu của luận văn

- Mô tả hành vi săn mồi của bầy sói

- Chi tiết thuật toán

- Cài đặt thuật toán

Tiếu kết chương 2

Chương 3: Ứng dụng thuật toán vào dự đoán nỗ lực phát triển ph n mềm

- Giới thiệu

- Thu thập dữ liệu, phân tích mô hình

- Đ nh gi hiệu quả ước lượng của mô hình Sheta sử dụng thuật toán tối ưu dựa trên hành vi săn mồi của bầy sói

Tiểu kết chương 3

Kết luận và hư ng phát triển

Trang 13

CHƯƠNG 1 - TỔNG QUAN VỀ Ư C Ư NG NỖ C PHÁT TRIỂN

PH N MỀM THEO M H NH SHETA

Khi nói đến vấn đề ph t triển phần mềm thì không thể không đề cập đến qu trình quản lý phần mềm, được bắt đầu và tiếp diễn bằng một chuỗi c c hoạt động ước lượng phần mềm Trong thực tế, để lấy được dự n phần mềm, c c công ty tham gia đấu thầu phải nộp hồ sơ dự thầu bao gồm cả chi ph , nhân lực và thời gian ph t triển phần mềm

C c công ty tham gia dự thầu rất cần phải đưa ra một ước lượng hợp lý phản nh đúng

Hình 1.1 (được tr ch từ tài liệu tham khảo [4]) thể hiện độ hội tụ của ước lượng trong vòng đời ph t triển của c c dự n thực tế, ước lượng chỉ được ch nh x c hóa dần trong qu trình làm mịn dần dự n Từ hình 1.1 có thế nhận thấy rằng để đưa ra được

c c ước lượng đ ng tin cậy và sớm trong vòng đời ph t triển của dự n là rất khó do đó chúng ta cần tập trung nhiều nỗ lực để giải quyết vấn đề này

Ước lượng thiếu nỗ lực cho một dự n dẫn đến việc bố tr thiếu nhân sự cho dự n (điều mà thường dẫn đến việc vượt qu khả năng làm việc), quản lý thiếu c c nỗ lực đảm bảo chất lượng (bỏ sót c c nguy cơ rủi ro của sản phẩm kém chất lượng) và tạo ra một lịch trình làm việc qu ngắn (dẫn đến sự mất uy t n do thời hạn thỏa thuận với

kh ch hàng không được tôn trọng)

Còn thêm nhiều yếu tố thừa vào ước lượng thì ước lượng thừa một dự n có thể chỉ làm tồi tệ thêm cho tổ chức Nếu như đưa cho một dự n với nhiều tài nguyên hơn mức

nó thực sự cần mà không có những sự quản lý thì tài nguyên đó sẽ bị dùng hết

Dự n khi đó có khả năng phải chi ph nhiều hơn mức cần thiết (một t c động tiêu cực đến tài ch nh và có thể làm giảm lợi thế cạnh tranh), mất nhiều thời gian hơn để hoàn thành (dẫn đến đ nh mất c c cơ hội) và trì hoãn việc sử dụng tài nguyên ở c c dự

n tiếp theo

Trang 14

Hình 1.1 Đồ thị hội tụ ước lượng Nguồn tài liệu tham khảo[4]

Ước lượng dự n hiện là một vấn đề khó khăn trong thực tế sản xuất phần mềm Không ước lượng được thì dự n rất dễ vỡ kế hoạch về thời gian và tài ch nh Mức ước lượng có thể có nhiều sai sót trong c c giai đoạn kh c nhau do đó thực tế không dự n nào có thể ước lượng ch nh x c Ước lượng chỉ có thể ch nh x c nếu phân rã được vấn

đề lớn thành c c vấn đề nhỏ hơn, đó là kỹ thuật chia để trị

1.1.2 Bốn bước cơ bản trong ước lượng dự án phần mềm

Bốn bước ch nh trong ước lượng dự án phần mềm là:

1) Ước lượng phạm vi của sản phẩm cần ph t triển Thông thường, điều này luôn yêu cầu một ước lượng k ch cỡ của phần mềm được ph t triển theo số dòng lệnh (LOC – line of code) hoặc điểm chức năng (FP – Function Point) Trong khi k ch cỡ theo LOC là đơn vị k ch cỡ cơ sở được dùng bởi nhiều mô hình t nh to n ước lượng hàng đầu, nhiều đội ph t triển lại không th ch những phép đo này và dùng những đơn vị t

ch nh quy hơn (số đặc t nh, số yêu cầu thay đổi, số ca sử dụng/số kịch bản, số tường thuật người dùng, số ph t biểu yêu cầu, …)

Trang 15

2) Ước lượng nỗ lực theo đơn vị [người – th ng] hoặc [người – giờ] dùng một mô hình t nh to n liên hệ nỗ lực với k ch cỡ của phần mềm và năng suất của nhóm ph t triển

3) Ước lượng lịch trình theo lịch thời gian (th ng/tuần) Điều này có thể được t nh

to n từ nỗ lực được ước lượng và là một hàm số của k ch cỡ nhóm ph t triển Điều quan trọng là phải nhận thức rõ rằng đây không phải là một quan hệ tuyến t nh và ở một số điểm trong lịch trình dự n không thể rút ngắn lịch trình bằng c ch thêm tài nguyên cho việc ph t triển

4) Ước lượng chi ph dự n theo đơn vị tiền tệ Điều này là một kết hợp của gi nhân công (có thể được t nh to n từ ước lượng nỗ lực) và gi phi nhân công (v dụ, gi khấu hao của c c phần cứng và phần mềm cần thiết được cung cấp cho dự n)

1.1.2.1 Ước lượng kích cỡ, phạm vi

Một ước lượng ch nh x c k ch cỡ của phần mềm được xây dựng là bước đầu tiên cho một ước lượng có hiệu quả C c tài nguyên thông tin về phạm vi của dự n nên được thu thập bất cứ nơi nào có thể, bắt đầu với những mô tả ch nh x c của c c yêu cầu V dụ, một đặc tả c c yêu cầu của kh ch hàng hoặc một đặc tả về hệ thống Không nên để cho sự thiếu sót về đặc tả phạm vi làm cản trở việc thực hiện ước lượng Tài liệu ước lượng cũng không nên chốt cứng Trong mọi trường hợp, chúng ta phải xem xét c c mức độ rủi ro và không chắc chắn trong một ước lượng cho mọi kh a cạnh và phải thực hiện lại ước lượng cho dự n ngay khi có thêm thông tin phạm vi được x c định Nếu chúng ta thực hiện ước lượng lại một dự n ở những pha sau của vòng đời

dự n, c c tài liệu thiết kế có thể được sử dụng để cung cấp thêm thông tin chi tiết Hai c ch để có thể ước lượng k ch cỡ sản phẩm là:

1) Cách thứ nhất: ằng phép tương tự

Nếu chúng ta đã hoàn thành một dự n tương tự trong qu khứ và biết thông tin

k ch cỡ sản phẩm đã được ph t triển, chúng ta có thể ước lượng mỗi phần ch nh của dự

n mới như là một phép t nh phần trăm về k ch cỡ phần tương tự với dự n trước Ước lượng k ch cỡ tổng thể dự n mới bằng c ch cộng lại c c k ch cỡ được ước lượng của mỗi phần hoặc chia sản phẩm thành những phần cấu thành (c c đặc t nh, c c ca sử dụng/kịch bản, c c yêu cầu người dùng) và đếm chúng Một số người dùng những phép đếm thô như là một ước lượng trực tiếp của k ch cỡ phần mềm hoặc chúng ta có thể chuyển chúng thành một đơn vị đo k ch cỡ ch nh thức mà ta biết, theo một phép

t nh trung bình, bao nhiêu LOC hoặc FP mà mỗi phần này yêu cầu trong những dự n trước

Một người có kinh nghiệm có thể đưa ra những ước lượng k ch cỡ tốt, hợp lý bằng phép tương tự nếu sẵn có c c gi trị k ch cỡ chuẩn x c cho dự n trước và dự n mới là

Trang 16

c c thông điệp,…

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

Một khi chúng ta có một ước lượng k ch cỡ của sản phẩm, chúng ta có thể t nh to n ước lượng nỗ lực từ nó Việc chuyển đổi từ k ch cỡ phần mềm sang tổng nỗ lực dự n chỉ có thể làm được nếu chúng ta có một vòng đời ph t triển phần mềm x c định và tiến trình ph t triển mà ta sử dụng ổn định trên dự n để phân t ch, thiết kế, ph t triển

và kiểm thử phần mềm

Một dự n ph t triển phần mềm đòi hỏi nhiều yêu cầu hơn công việc viết mã nguồn đơn thuần Trên thực tế, việc mã hóa chỉ chiếm chưa đến ¼ tổng thể nỗ lực dự n Việc viết và thẩm định tài liệu, thi hành c c bản mẫu, thiết kế c c phiên bản có thể phân phối và thẩm định, kiểm thử mã chiếm phần lớn thời gian của nỗ lực dự n tổng thể Ước lượng nỗ lực dự n yêu cầu ta x c định và ước lượng về thời gian, về nhân lực,… Sau đó tổng hợp lại tất cả c c hoạt động ta phải thực hiện để xây dựng sản phẩm từ

k ch cỡ được ước lượng

1.1.2.3 Ước lượng lịch trình

ước thứ ba trong ước lượng một dự n ph t triển phần mềm là ước lượng lịch trình dự n Điều này thường đòi hỏi ước lượng số lượng người sẽ làm việc trên dự n,

c i gì họ sẽ làm (cấu trúc phân cấp chia nhỏ công việc), khi nào họ sẽ bắt đầu làm việc trên dự n và khi nào họ sẽ kết thúc Một khi chúng ta có những thông tin này, chúng

ta cần t nh to n để đưa nó vào một lịch trình theo lịch thời gian Ngoài ra, dữ liệu lịch

sử từ c c dự n trong qu khứ của tổ chức hoặc c c mô hình dữ liệu công nghiệp có thể được sử dụng để dự đo n số lượng người mà chúng ta cần cho một dự n với k ch

cỡ cho trước và làm thế nào công việc có thể chia nhỏ vào lịch trình

Nếu chúng ta không có gì, một quy tắc ước lượng lịch trình có thể được dùng để lấy c c ý tưởng thô của lịch thời gian tổng cổng cần thiết:

Lịch trình theo tháng = 3.0 * (nỗ lực [người – tháng])*1/3

V dụ, nếu chúng ta đã ước lượng một dự n cần nỗ lực là 65 [người – tháng], biểu thức trên cho thấy rằng cần lịch trình 12 th ng, từ đó suy ra nhóm dự n có 5 hoặc 6

thành viên (65/12)

Trang 17

Trong [4], t c giả có nêu vấn đề nhiều đề xuất dùng 2.0, 2.5 hay ngay cả 4.0 để thay thế cho gi trị 3.0 – chỉ bằng thực nghiệm thì chúng ta mới có thể chọn được gi trị phù hợp

Ước lượng lịch trình dự n là một chủ đề rắc rối bởi vì hầu hết c c dự n thường

bị chậm trễ và sự chậm trễ do nhiều nguyên nhân C c yêu cầu được ph t hiện dần dần không được quản lý chủ động Việc điều khiển chất lượng sản phẩm từ sớm thường không được chú trọng, dẫn đến dự n sẽ bị chậm trễ khi pha kiểm thử bắt đầu Ở những tổ chức chưa có quy trình làm việc chuẩn thì những dự thảo lịch trình thường bị

bỏ qua ngay cả với những người điều hành cấp cao

Xem xét công việc quản trị dự n và công việc ước lượng lịch trình, chúng ta thấy rằng công việc ước lượng lịch trình sẽ quan tâm đến việc lên lịch trình ở mức độ cao của toàn dự n, còn những t nh to n chi tiết hơn đòi hỏi c c yếu tố phụ thuộc, đội ngũ nhân viên sẵn có, mức độ tài nguyên, phân công cho từng người sẽ được thực hiện bởi công việc quản trị dự n

Nếu ước lượng theo biểu thức t nh lịch trình ở trên, ta ước lượng thời gian lịch trình trước sau đó mới chỉ định số nhân viên Nhưng nếu được chỉ định một đội/nhóm

ph t triển trước, một biểu thức cơ bản cho việc ước lượng lịch trình của bất kỳ hoạt động quản lý là:

Nỗ lực / Số nhân viên = Lượng thời gian

Dùng biểu thức tổng qu t này, một hoạt động mà yêu cầu 8 [người – th ng] của nỗ lực và có 4 người được chỉ định tham gia có thể được hoàn thành trong thời gian 2 tháng

8 [người – tháng] / 4 [người] = 2 [tháng]

Thực tế thì việc ước lượng lịch trình sẽ khó hơn rất nhiều Nó liên quan đến nhiều yếu tố như:

 C c phụ thuộc của một hoạt động với c c hoạt động trước

 C c hoạt động đan xen hay đồng thời

 Đường găng xuyên suốt chuỗi công việc

 Số ca làm việc mỗi ngày, số giờ làm việc hiệu quả trong mỗi ca

 Những gi n đoạn như là du lịch, hội nghị, đào tạo hay nghỉ ốm, …

 Số lượng vùng thời gian cho c c dự n đối với c c công ty đa quốc gia

Như vậy công việc quản trị dự n, công việc ước lượng lịch trình có nhiều mối liên hệ và được thực hiện theo sự tinh tế của từng người quản lý

Trang 18

1.1.2.4 Ước lượng chi phí

Có nhiều yếu tố cần quan tâm khi ước lượng chi ph tổng cộng của một dự n Những yếu tố đó bao gồm gi nhân công, gi mua hay gi thuê phần cứng, phần mềm, chi ph đi lại cho mục đ ch gặp gỡ hay kiểm thử, c c giao tiếp (v dụ, c c cuộc gọi điện thoại đường dài, hội thảo video từ xa, …), c c khóa đào tạo, không gian văn phòng, …

Gi nhân công thì có thể được x c định một c ch đơn giản nhất bằng phép nhân giữa nỗ lực ước lượng của dự n (t nh theo giờ) với lương nhân công t nh trung bình tổng qu t Một chi ph nhân công chuẩn x c hơn lấy kết quả từ việc sử dụng lương nhân công rõ ràng cho mỗi vị tr (v dụ: vị tr kĩ thuật, quản lý chất lượng, quản lý dự

n, người lập tài liệu, cộng t c viên, …) Chúng ra sẽ phải x c định xem bao nhiêu phần trăm của nỗ lực dự n tổng cộng cần được cấp ph t cho mỗi vị tr Khi đó dữ liệu lịch sử hoặc c c mô hình dữ liệu công nghiệp lại có thể trợ giúp

Qua việc nghiên cứu 4 bước trong phép ước lượng như trên, đề xuất một tiến trình

cơ sở cho việc ước lượng như được mô tả trong sơ đồ ở hình 1.2

Hình 1.2 Tiến trình cơ sở ước lượng dự án

Trang 19

- Ước lượng dựa vào mô hình to n học: còn được gọi là c c mô hình tham số nhằm

cố gắng thể hiện mối quan hệ giữa nỗ lực và đặc điểm của dự n Chương trình điều khiển chi ph ch nh của c c mô hình này là k ch thước phần mềm, thường được đo bằng c c dòng lệnh (Kilo Line of Code - KLOC) hoặc điểm chức năng Đây vẫn là kỹ thuật phổ biến nhất trong lược khảo tài liệu [5] C c mô hình này bao gồm COCOMO

I [6], COCOMO II [7], mô hình SLIM [8], và điểm chức năng [9]

Tuy nhiên, không có phương ph p nào được đề cập ở trên là hoàn chỉnh và có thể phù hợp trong mọi tình huống Nghiên cứu này tập trung vào c c mô hình thuật to n

và giải quyết những khó khăn của chúng trong việc định chuẩn và điều chỉnh c c thông số để nâng cao t nh ch nh x c của ước lượng nỗ lực phần mềm

1.3 M h nh ư c ượng nỗ lực phát triển ph n mềm

Phương ph p ước lượng dựa trên mô hình to n học là phổ biến C c nhà nghiên cứu đã cố gắng tìm ra c c mô hình và công thức to n học để trình bày mối quan hệ giữa k ch thước, chương trình điều khiển chi ph , phương ph p luận được sử dụng trong dự n và nỗ lực Kết quả là một mô hình thuật to n có thể được biểu diễn như sau:

Effort = f(x 1 , x 2 ,…, x n ) (1.1)

Trong đó{x1, x2,…, xn} biểu thị c c yếu tố chi ph Ngoài k ch thước phần mềm, có rất nhiều yếu tố chi ph kh c được đề xuất và được sử dụng bởi oehm và cộng sự trong Mô hình Chi ph Xây dựng COCOMO II (Constructive Cost Model) [7] Những yếu tố chi ph này có thể được chia thành bốn loại:

- C c yếu tố sản phẩm: yêu cầu độ tin cậy phần mềm, k ch thước cơ sở dữ liệu, độ phức tạp của sản phẩm

- C c yếu tố m y t nh: ràng buộc thời gian thực thi, bộ nhớ lưu trữ, độ không ổn định của m y ảo và c c ràng buộc vòng quay m y t nh

- C c yếu tố nhân sự: khả năng phân t ch, kinh nghiệm ứng dụng, khả năng lập trình, kinh nghiệm về m y ảo và kinh nghiệm về ngôn ngữ

- C c yếu tố dự n: ph t triển đa trang web, công cụ phần mềm được sử dụng và tiến độ ph t triển cần thiết

C c mô hình thuật to n hiện nay kh c nhau giữa c c yếu tố chi ph được lựa chọn

và hàm f được sử dụng

Công thức đơn giản nhất của mối quan hệ giữa nỗ lực và c c yếu tố đầu vào là một hàm tuyến t nh, có nghĩa là nếu k ch thước tăng lên thì nỗ lực cũng tăng với tốc độ ổn định C c mô hình tuyến t nh có dạng:

Trang 20

∑ (1.2) Trong đó, c c hệ số a0, a1, , an được chọn để phù hợp nhất với dữ liệu toàn bộ dự

án

Tuy nhiên, mô hình tuyến t nh không phù hợp với ước lượng c c dự n có gi trị trong c c môi trường lớn Do đó, c c mô hình phức tạp hơn đã được ph t triển Những điều này phản nh thực tế là chi ph thường không tăng tuyến t nh với quy mô dự n Một c ch tổng qu t nhất, ước lượng thuật to n cho chi ph phần mềm có thể được biểu diễn như sau:

E = A * (KLOC) B (1.4) Trong đó:

+ E là nỗ lực ph t triển phần mềm t nh theo đơn vị người - tháng

+ KLOC là số dòng lệnh (đơn vị = 1000) ước t nh của sản phẩm dự n phần mềm

+ C c gi trị của c c tham số A và phụ thuộc chủ yếu vào loại dự n phần mềm

Dựa trên sự phức tạp của dự n có thể phân ra làm ba lớp:

- Lớp đơn (Organic): dành cho một đội nhỏ c c nhà ph t triển có kinh nghiệm và môi trường quen thuộc Đối với c c ứng dụng đơn giản này: A = 2.4, B = 1.05

Trang 21

- Nửa gắn kết (Semi – detached): trung gian giữa lớp đơn và lớp nhúng Đối với hệ thống phức tạp hơn: A = 3.0, = 1.15

- Nhúng (Embedded): dành cho dự n có nhiều ràng buộc chặt chẽ, thường là dự n mới và duy nhất, khó tìm người thực hiện Đối với hệ thống nhúng: A = 3.6, = 1.15

Mô hình COCOMO bỏ qua c c yêu cầu về kinh nghiệm, khả năng chuyên nghiệp của con người, c c vấn đề về phần cứng Do đó, đối với c c dự n phức tạp, c c kết quả ước t nh sử dụng mô hình COCOMO không ch nh x c

1.3.2 Mô hình Sheta

Một phương ph p kh c để nâng cao chất lượng của mô hình COCOMO là bổ sung phương ph p luận (Methodology: ME) được sử dụng vào phương trình để ước t nh nỗ lực trong dự n phần mềm Việc bổ sung yếu tố ME tương tự như c c mô hình hồi qui giúp ổn định mô hình và giảm nhiễu trong c c phép đo Mô hình nỗ lực ph t triển phần mềm được thay đổi thành:

E = f(KLOC, ME) (1.5)

Trong đó, f là một hàm không tuyến t nh theo KLOC và ME

Sheta [3] đã đưa ra hai phiên bản kh c nhau cho hàm f như sau:

Để tối ưu hóa c c thông số của mô hình Sheta nhằm nâng cao t nh ch nh x c của

c c ước t nh ta sẽ sử dụng thuật to n Grey Wolf Optimizer

Trang 22

CHƯƠNG 2 - THUẬT TOÁN TỐI ƯU D A TRÊN HÀNH VI SĂN MỒI

CỦA B Y SÓI

Tối ưu hóa là một trong những lĩnh vực quan trọng của toán học có ảnh hưởng đến hầu hết c c lĩnh vực khoa học, công nghệ, kinh tế và xã hội Việc tìm giải pháp tối ưu cho một bài toán thực tế nào đó chiếm một vai trò hết sức quan trọng như việc tiến hành lập kế hoạch sản xuất hay thiết kế hệ thống điều khiển c c qu trình… Nếu sử dụng các kiến thức trên nền tảng của toán học để giải quyết các bài toán cực trị thì chúng ta sẽ đạt được hiệu quả kinh tế cao Điều này phù hợp với mục đ ch của các vấn

đề đặt ra trong thực tế hiện nay Một phương n tối ưu là một phương n khả thi và tốt nhất, tức là phương n làm cho hàm mục tiêu đạt kết quả cực tiểu hoặc cực đại và phải thỏa mãn c c điều kiện yêu cầu của bài toán (thỏa mãn c c điều kiện ràng buộc) Tối

ưu hóa có thể trở nên khó khăn hơn khi không gian tìm kiếm ngày càng rộng lớn Đối với các bài toán cỡ nhỏ có thể tìm lời giải bằng cách tìm kiếm vét cạn Đối với các bài toán cỡ lớn không có phương ph p giải đúng, đến nay người ta vẫn dùng các cách tiếp cận sau:

1) Tìm kiếm heuristic để tìm lời giải đủ tốt;

2) Tìm kiếm cục bộ để tìm lời giải tối ưu địa phương;

3) Tìm lời giải gần đúng nhờ các thuật toán mô phỏng tự nhiên như: mô phỏng luyện kim, giải thuật di truyền, tối ưu bầy đàn,…Phương pháp này còn gọi là

“metaheuristics” là nền tảng của các thuật toán có thể được sửa đổi và mở rộng cho phù hợp với các vấn đề tối ưu hóa

Hai cách tiếp cận đầu thường cho lời giải nhanh nhưng không thể cải thiện thêm lời giải tìm được, nên cách tiếp cận thứ ba đang được sử dụng rộng rãi cho các bài toán cỡ lớn

2.1 Gi i thiệu

2.1.1 Bài toán tối ưu tổng quát và phân loại

2.1.1.1 Giới thiệu bài toán tối ưu tổng quát

Trong mô hình to n học, mục tiêu của bài to n được biểu diễn bởi hàm:

f (x)  min/max; với x là một biến hoặc vector biến x = (x1 ,x2 , ,xn )

iến x hoặc vector biến x = (x1 , x2, , xn )thường có yêu cầu phải thỏa mãn một số điều kiện nào đó Tập hợp c c điều kiện của c c biến được gọi là điều kiện ràng buộc

và được biểu diễn bởi miền D (miền ràng buộc)

Dạng tổng qu t của bài to n tối ưu:

Tìm cực tiểu/cực đại một hàm mục tiêu:

Trang 23

f (x)  min/max (2.1) Thỏa mãn c c điều kiện ràng buộc:

Yêu cầu: Tìm x để thỏa mãn (2.2) và làm cực tiểu/cực đại hàm mục tiêu (2.1), x*

(một bộ c c gi trị cụ thể của (x1 ,x2 , ,xn ), thỏa mãn điều kiện (2.1) & (2.2) gọi là

phương n tối ưu Nếu x chỉ thỏa mãn điều kiện (2.2) gọi x là phương n hay phương

n chấp nhận được

2.1.1.2 Phân loại các bài toán tối ưu

C c bài to n tối ưu ch nh là c c bài to n qui hoạch to n học (Mathematics – Programming)

 ài to n tối ưu tuyến t nh: Hàm mục tiêu và tất cả c c ràng buộc đều có dạng tuyến t nh

 ài to n tối ưu phi tuyến: Trong đó hàm mục tiêu hoặc t nhất một điều kiện ràng buộc là phi tuyến (có chứa t nhất một yếu tố phi tuyến t nh – bậc lơn hơn

 ài to n quy hoạch động (những kết quả của bài to n ở bước sau thì phụ thuộc vào kết quả của bước trước) Quy hoạch động là một phương ph p rất hiệu quả

để giải c c bài to n tối ưu tổ hợp Ý tưởng cơ bản của phương ph p này là: để có lời giải của bài to n tối ưu k ch thước n, ta giải c c bài to n tương tự có k ch thước nhỏ hơn và phối hợp lời giải của chúng để được lời giải của bài to n ban đầu Đó ch nh là ý tưởng chia để trị một c ch rất nghiêm ngặt

 ài to n tối ưu đa mục tiêu: Là bài to n trong đó có nhiều hàm mục tiêu cần phải tối ưu trên cùng một miền ràng buộc

fi (x) → min (max); i = 1, 2, …, n x D

Trong đó có nhiều hàm mục tiêu có thể đối lập nhau Khi giải bài toán này phải kết hợp hài hòa các lợi ích (giá trị) đạt được của hàm mục tiêu

Trang 24

2.1.2 Trí tuệ bầy đàn

Thế giới tự nhiên thúc đẩy giới sinh vật tiến hóa theo hai c ch để thực hiện những hành động thông minh:

 Một là ph t triển những bộ não lớn và tinh vi như bộ não con người

 Hai là hàng triệu những bộ não nhỏ có khả năng liên lạc với nhau trong những bầy đàn khổng lồ

Có thể nói, tuy một con kiến hoặc một con ong không có tr thông minh nhưng cả đàn thì có

Tr tuệ bầy đàn hay tr thông minh bầy đàn là c ch thức liên lạc giữa một c thể và tập thể trong một tổ chức khổng lồ Tr tuệ bầy đàn thể hiện qua những hành vi tập thể trong một hệ thống (tự nhiên hoặc nhân tạo) được tổ chức và phân cấp Nhờ tr tuệ bầy đàn, mỗi c thể hành động tuân theo quy tắc chung của cả đàn mà không cần ra lệnh Như vậy, mỗi đàn không cần sự lãnh đạo những hành động phức tạp sẽ hình thành bằng c ch phối hợp nhiều tương t c đơn giản

Việc sử dụng tr tuệ bầy đàn vào trong c c lĩnh vực từ công nghiệp, khoa học lẫn thương mại đã có nhiều ứng dụng đặc sắc và đa dạng Nghiên cứu tr tuệ bầy đàn có thể giúp con người quản lý những hệ thống phức tạp, từ việc vận hành c c chuyến xe cho đến robot quân sự

Tr tuệ bầy đàn được ứng dụng rộng rãi trong việc lập kế hoạch, tìm đường đi tối

ưu, tìm kiếm và bảo mật thông tin, hỗ trợ ra quyết định, giải tr công nghệ cao, … Nhiều nhà nghiên cứu đã lấy cảm hứng từ sự chuyển động của động vật và côn trùng (v dụ: đom đóm, dơi, đàn kiến và đàn ong…) với những ưu điểm của việc t nh

to n hiệu quả và dễ thực hiện Trong đó Grey Wolf Optimizer (GWO) mô phỏng theo

c ch mà sói tìm kiếm thức ăn và sống sót bằng c ch tr nh kẻ thù của chúng

2.2 Mô tả hành vi săn mồi của b y sói

Chó sói xám hay Sói xám là thành viên lớn nhất trong họ Chó và cũng là loài chó sói nổi tiếng nhất Sói x m săn mồi theo bầy đàn nên hiệu quả săn mồi của chúng rất cao Nhóm của chúng có thể từ 5 đến 12 con Đặc biệt, chúng có hệ thống phân cấp

xã hội chặt chẽ như hình 2.1

Hình 2.1 Hệ thống phân cấp của sói xám

Trang 25

Con đầu đàn có thể là con đực hoặc con c i được gọi là alpha Alpha nghĩa là con dẫn đầu có nhiệm vụ quyết định về việc săn bắt, nơi ở, thời gian để đ nh thức… Các quyết định của alpha là quyết định của cả bầy Tuy nhiên, cũng có lúc alpha theo quyết định của các con khác trong bầy Khi tụ họp với nhau, toàn bộ sói thừa nhận alpha bằng cách giữ đuôi của chúng xuống Sói alpha cũng được gọi là con sói có sức ảnh hưởng lớn vì những con trong bầy luôn làm theo lệnh của nó

Alpha không nhất thiết là con mạnh nhất của bầy nhưng có c ch quản lý tốt nhất Điều này cho thấy tổ chức và kỷ luật của một bầy quan trọng hơn sức mạnh của nó Cấp thứ hai trong phân cấp của những con sói xám là beta Các betas là những con sói thường trong đàn dưới quyền alpha nhưng cũng chỉ huy các con sói cấp thấp khác Sói beta có thể là ứng cử viên tốt nhất để trở thành alpha trong trường hợp một trong những con sói alpha biến mất hoặc trở nên già Nó đóng vai trò của một cố vấn cho alpha và thiết lập nguyên tắc cho bầy Beta củng cố các lệnh của alpha trong bầy và đưa ra phản hồi về alpha

Bậc thấp nhất trong bầy sói x m là Omega Đó là những con sói yếu ớt và phải dựa dẫm vào các con sói khác trong đàn Chúng là những con sói cuối cùng được phép

ăn

Nếu một con sói không phải là alpha, beta, hoặc omega, Sói đó được gọi là delta Các con sói Delta phụ thuộc vào alphas và betas, nhưng chúng trội hơn omega Chúng làm nhiệm vụ theo dõi ranh giới lãnh thổ và cảnh b o trong trường hợp có nguy hiểm, bảo vệ và đảm bảo an toàn cho bầy, chăm sóc những con sói yếu, bị thương trong đàn

Ngoài hệ thống cấp bậc xã hội của sói, săn mồi theo bầy còn là một hành vi xã hội đ ng chú ý của sói Theo Muro và cộng sự [10] c c giai đoạn chính của việc săn bắt như sau: rượt đuổi, bao vây và tấn công con mồi cho đến khi nó ngừng di chuyển (hình 2.2)

2.3 Chi tiết thuật toán

2.3.1 Hệ thống phân cấp xã hội

Để mô phỏng toán học theo thứ bậc xã hội của sói khi thiết kế GWO, nghiên cứu này xem xét giải pháp thích hợp là alpha (α) Do đó, c c giải pháp tốt thứ hai và thứ ba được đặt tên là beta (β) và delta () Phần còn lại của các giải ph p được chọn (candidate solutions) giả định là omega () Trong thuật toán GWO việc săn bắt (tối

ưu hóa) được điều khiển bởi α, β, và  và sau cùng là 

Trang 26

Hình 2.2 Hành vi săn bắt của sói: (A) quan sát, tiếp cận và theo dõi; (B-D) đuổi bắt,

tấn công và bao vây; (E) trạng th i tĩnh và tấn công [18]

2.3.2 Bao vây con mồi

Như đã đề cập ở trên, sói xám bao quanh con mồi trong cuộc săn Để mô phỏng theo toán học hành động bao vây, c c phương trình sau được Mirjalili và cộng sự [2]

→ là vectơ vị trí của con mồi, và → là vector vị trí của sói

→ và → được t nh như sau:

→ → → →

→ →

Trong đó, → là thành phần tuyến tính giảm từ 2 xuống 0 trong quá trình lặp và →, → là

c c vectơ ngẫu nhiên trong [0, 1]

(2.3)

(2.4)

(2.5)

(2.6)

Ngày đăng: 21/04/2021, 15:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. T. T. Khuat, M. H. Le, Optimizing Parameters of Software Effort Estimation Models using DABC algorithm, Journal of Engineering Science and Technology, (Accepted), 2016 Sách, tạp chí
Tiêu đề: Optimizing Parameters of Software Effort Estimation Models using DABC algorithm
Tác giả: T. T. Khuat, M. H. Le
Nhà XB: Journal of Engineering Science and Technology
Năm: 2016
[2]. Seyedali Mirjalili, Seyed Mohammad Mirjalili, Andrew Lewis, Grey Wolf Optimizer, Advances in Engineering Software 69: 46–61, 2014 Sách, tạp chí
Tiêu đề: Grey Wolf Optimizer
[3]. Alaa F. Sheta, Estimation of the COCOMO Model Parameters Using Genetic Algorithms for NASA Software Projects, Journal of Computer Science 2 (2): 118-123, 2006 Sách, tạp chí
Tiêu đề: Estimation of the COCOMO Model Parameters Using Genetic Algorithms for NASA Software Projects
[4]. McConnell S, Rapid Development, Taming Wild Software Schedules, Microsoft Press (1996), pp.163 – 204 Sách, tạp chí
Tiêu đề: Rapid Development, Taming Wild Software Schedules
Tác giả: McConnell S
Nhà XB: Microsoft Press
Năm: 1996
[5]. Briand, L.Wieczorek, I., Resource Modeling in Software Engineering, Encyclopedia of Software Engineering, Wiley, 2002 Sách, tạp chí
Tiêu đề: Resource Modeling in Software Engineering
[6]. Chen, Z.Menzies, T.Port, D.Boehm, B., Feature subset selection can improve software cost estimation accuracy, In: Proceedings of the 2005 workshop on Predictor models in software engineering, ACM, 2005, pp. 1-6 Sách, tạp chí
Tiêu đề: Feature subset selection can improve software cost estimation accuracy
Tác giả: Chen, Z., Menzies, T., Port, D., Boehm, B
Nhà XB: ACM
Năm: 2005
[7]. Attarzadeh, I.Ow, S.H., A Novel Algorithmic Cost Estimation Model Based on Soft Computing Technique, Journal of Computer Science, Vol. 6, 2010, No. 2, pp. 117-125 Sách, tạp chí
Tiêu đề: A Novel Algorithmic Cost Estimation Model Based on Soft Computing Technique
Tác giả: Attarzadeh, I., Ow, S.H
Nhà XB: Journal of Computer Science
Năm: 2010
[8]. Putnam, L.H., A General Empirical Solution to the Macro Software Sizing and Estimating Problem, IEEE Transactions on Software Engineering, Vol. SE-4, 1978, No. 4, pp. 345-361 Sách, tạp chí
Tiêu đề: A General Empirical Solution to the Macro Software Sizing and Estimating Problem
Tác giả: L.H. Putnam
Nhà XB: IEEE Transactions on Software Engineering
Năm: 1978
[9]. Albrecht, A.J.Gaffney, J.E., Software Function, Source Lines of Code, and Development Effort Prediction, A Software Science Validation. IEEE Transactions on Software Engineering, Vol. SE-9, 1983, No. 6, pp. 639-648 Sách, tạp chí
Tiêu đề: Software Function, Source Lines of Code, and Development Effort Prediction
[10]. Muro C, Escobedo R, Spector L, Coppinger R. “Wolf-pack (Canis lupus) hunting strategies emerge from simple rules in computational simulations”. Behav Process 88:192–7, 2011 Sách, tạp chí
Tiêu đề: Wolf-pack (Canis lupus) hunting strategies emerge from simple rules in computational simulations
Tác giả: Muro C, Escobedo R, Spector L, Coppinger R
Nhà XB: Behav Process
Năm: 2011
[11]. Pranjali Diwan, M.R. Khan, Energy Efficient Communication for WSNs using Grey-Wolf Optimization Algorithm, 2016 Sách, tạp chí
Tiêu đề: Energy Efficient Communication for WSNs using Grey-Wolf Optimization Algorithm
Tác giả: Pranjali Diwan, M.R. Khan
Năm: 2016
[12]. Venu Sangwan, Rajesh Kumar, A. K. Rathore, Estimation of battery parameters of the equivalent circuit model using Grey Wolf Optimization, 2016 Sách, tạp chí
Tiêu đề: Estimation of battery parameters of the equivalent circuit model using Grey Wolf Optimization
Tác giả: Venu Sangwan, Rajesh Kumar, A. K. Rathore
Năm: 2016
[13]. Akash Saxena, Shalini Shekhawat, Ambient Air Quality Classification by Grey Wolf Optimizer Based Support Vector Machine, 2016 Sách, tạp chí
Tiêu đề: Ambient Air Quality Classification by Grey Wolf Optimizer Based Support Vector Machine
Tác giả: Akash Saxena, Shalini Shekhawat
Năm: 2016
[14]. Esha Gupta, Akash Saxena, Grey wolf optimizer based regulator design for automatic generation control of interconnected power system, 2016 Sách, tạp chí
Tiêu đề: Grey wolf optimizer based regulator design for automatic generation control of interconnected power system
Tác giả: Esha Gupta, Akash Saxena
Năm: 2016
[15]. Bailey, J.W., Basili, V.R. A meta-model for software development resource expenditures. Proceedings of the 5th international conference on Software engineering, pp. 107-116, 1981 Sách, tạp chí
Tiêu đề: A meta-model for software development resource expenditures
Tác giả: J.W. Bailey, V.R. Basili
Nhà XB: Proceedings of the 5th international conference on Software engineering
Năm: 1981
[16]. Olatunji, S.Selamat, A., Type-2 Fuzzy Logic Based Prediction Model of Object Oriented Software Maintainability, In: Fujita, H., Selamat, A. (eds.), Springer International Publishing, Intelligent Software Methodologies, Tools and Techniques, Vol. 513, 2015, pp. 329-342 Sách, tạp chí
Tiêu đề: Intelligent Software Methodologies, Tools and Techniques
Tác giả: Olatunji, S., Selamat, A
Nhà XB: Springer International Publishing
Năm: 2015
[17]. Valdes, F.Abran, A., Comparing the Estimation Performance of the EPCU Model with the Expert Judgment Estimation Approach Using Data from Industry, In:Lee, R., Ormandjieva, O., Abran, A., Constantinides, C. (eds.) Springer Berlin Heidelberg, Software Engineering Research, Management and Applications, Vol. 296, 2010, pp. 227-240 Sách, tạp chí
Tiêu đề: Software Engineering Research, Management and Applications
Tác giả: Valdes, F., Abran, A., Lee, R., Ormandjieva, O., Constantinides, C
Nhà XB: Springer Berlin Heidelberg
Năm: 2010
[18]. Conte, S.D.Dunsmore, H.E.Shen, V.Y., Software engineering metrics and models, Benjamin-Cummings Publishing Co., Inc., 1986 Sách, tạp chí
Tiêu đề: Software engineering metrics and models
Tác giả: S.D. Conte, H.E. Dunsmore, V.Y. Shen
Nhà XB: Benjamin-Cummings Publishing Co., Inc.
Năm: 1986

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm