Giải thuật di truyền và ứng dụng trong quản lý dự án phần mềm Nguyễn Hữu Huy Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Kỹ thuật phần mềm; Mã số: 60 48 01 03 Người hướng dẫn: PG
Trang 1Giải thuật di truyền và ứng dụng trong quản lý dự
án phần mềm
Nguyễn Hữu Huy
Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Kỹ thuật phần mềm; Mã số: 60 48 01 03
Người hướng dẫn: PGS.TS Bùi Thu Lâm
Năm bảo vệ: 2014
Keywords Kỹ thuật phần mềm; Quản lý dự án; Giải thuật di truyền
Content
Hiện nay quản trị dự án ngày càng được ứng dụng rộng rãi trong các ngành nghề xã hội, trong đó có hoạt động quản lý dự án phần mềm Cùng với sự phức tạp và đa dạng của phần mềm, hoạt động quản
lý dự án phần mềm ngày càng tinh vi và phức tạp hơn Trong đó nổi bật lên là vấn đề lập kế hoạch và phân bổ nguồn lực trong dự án Với những dự án ít đầu việc và ít người tham gia thì vấn đề lập kế hoạch và lập lịch dự án một cách thủ công sẽ không đáng ngại Nhưng với những dự án lớn, có nhiều đầu việc phức tạp, số lượng nhân công (nguồn lực, tài nguyên) tham gia vào dự án lớn và có nhiều biến động, khi đó vấn đề lập kế hoạch, lập lịch dự án sẽ gặp khó khăn Người làm kế hoạch sẽ phải tốn nhiều thời gian để tiến hành sửa đổi kế hoạch, lập lịch lại mỗi khi có sự biến động về nhân sự (hay rộng hơn là thay đổi về nguồn lực thực hiện dự án) Như vậy, vấn đề cấp thiết phải làm sao tự động được khâu này, để giảm thiểu sức người cũng như nâng cao chất lượng khâu này
Trong trí tuệ nhân tạo “Giải thuật di truyền” đã được ứng dụng rộng rãi đề giải quyết nhiều bài toán phức tạp Trong đó có các bài toán về lập lịch, lập kế hoạch Việc áp dụng giải thuật di truyền nhằm làm tối ưu hóa vấn đề lập kế hoạch và phân bổ nguồn lực trong dự án phần mềm đã và đang được nghiên cứu cải tiến rất nhiều trên thế giới
Trong luận văn này tôi đặt trọng tâm tìm hiểu giải thuật di truyền và áp dụng vào lập lịch thực hiện các công việc trong dự án phần mềm với sự giới hạn về tài nguyên thực hiện các công việc trong dự
án
Các kiến thức về lập lịch trong quản lý dự án phần mềm, kiến thức về giải thuật di truyền, cách áp dụng giải thuật di truyền để tự động lập lịch dự án cũng như các kỹ năng lập trình xây dựng ứng dụng hoàn chỉnh bước đầu có thể quản lý dự án và tự động chọn lựa phương án tối ưu để lập lịch dự án được học viên trình bày chi tiết trong luận văn và được chia thành 4 chương sau đây:
Chương 1 TỔNG QUAN VỀ QUẢN LÝ DỰ ÁN PHẦN MỀM
Chương này giới thiệu về dự án phần mềm và quản lý dự án phần mềm Qua chương này ta thấy được phần mềm cũng như các tiến trình, công cụ quản lý phần mềm ngày càng phức tạp Do vậy cần phải tìm cách tự động hóa càng nhiều khâu trong quản lý dự án càng tốt Trong chương này cũng chỉ ra là
Trang 2có thể áp dụng giải thuật di truyền vào quản lý dự án phần mềm ở bước lập lịch biểu, gán nguồn lực thực hiện dự án
Chương 2 GIẢI THUẬT DI TRUYỀN VÀ CÁC ỨNG DỤNG
Chương này sẽ cho người đọc một cái nhìn tổng quan về giải thuật di truyền và các ứng dụng của nó trong thực tế, qua đó người đọc có thêm hiểu biết về các vấn đề mã hóa giải thuật di truyền Giúp người đọc có thể vận dụng những kiến thức ở chương này để giải quyết các vấn đề của mình
Chương 3 ỨNG DỤNG GIẢI THUẬT DI TRUYỀN ĐỂ GIẢI QUYẾT BÀI TOÁN LẬP LỊCH TRONG QUẢN LÝ DỰ ÁN PHẦN MỀM
Chương này đưa ra các bước cụ thể cách dùng giải thuật đi truyền vào bài toán lập lịch trong quản trị
dự án phần mềm và phát triển các thuật toán di truyền: mã hóa, lai tạo, độ biến, chọn lọc để vận dụng giải quyết bài toán lập lịch với ràng buộc hạn chế về nguồn lực thực hiện dự án
Chương 4 XÂY DỰNG ỨNG DỤNG
Dựa vào các kiến thức tìm hiểu ở các chương trên, chương này giới thiệu về cách tạo ứng dụng demo, hướng dẫn sử dụng ứng dụng này trong việc lâp lịch tự động Giới thiệu tới người đọc framework giải thuật di truyền AForge.NET, cách sử dụng framework này trong việc viết chương trình demo Giới thiệu sơ lược về cách lập trình Add-ins cho phần mềm Microsoft Project và kết hợp giữa công cụ lập lịch tự động với phần mềm này
References
Tài liệu tiếng Việt
[1] Nguyễn Đình Thúc (2000), Trí tuệ nhân tạo - Lập trình tiến hóa, NXB Giáo dục
Tài liệu tiếng Anh
[2] Bob Hughes and Mike Cotterell, Software project management (Second Edition), ISBN 007
7095057
[3] CARL K CHANG, MARK J CHRISTENSEN, PH.D., TAO ZHANG., Genetic Algorithms for Project Management., Annals of Software Engineering 11, 107–139, 2001
[4] David A.Coley, an introduction to genetic algorithms for scientists and enginer, Copyright Q
1999 by World Scientific Publishing Co Pte Ltd
[5] Eric Verzun The fast forward MBA in Project Management, 2th Edition, John Wiley and Sons
Inc 2005
[6] Matthew Bartschi Wall., A Genetic Algorithm for Resource-Constrained Scheduling., Department of Mechanical Engineering on 14 May 1996
[7] M Mitchell, an Introduction to Genetic Algorithms MIT Press 1998
[8] Milena Karova, Julka Petkova, Vassil Smarkov., A Genetic Algorithm for Project Planning Problem., International Scientific Conference Computer Science’2008
[9] Riccardo Poli, William B Langdon, and Nicholas F, A Field Guide to Genetic Programming,
ISBN 978-1-4092-0073-4
[10] Wiley Publishing, Inc, Software Project Management For Dummies, ISBN-10: 0-471-74934-6 Zbigniew Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs, ISBN 3-540-60676-9 Springer-Verlag Berlin Heidelberg New York