Tải bản đầy đủ (.docx) (82 trang)

Tối ưu định vị tài nguyên trong lập lịch dự án phần mềm sử dụng thuật toán pso mờ ngẫu nhiên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.07 MB, 82 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN

VÕ TRỌNG NHÂN

TỐI ƯU ĐỊNH VỊ TÀI NGUYÊN TRONG LẬP LỊCH
DỰ ÁN PHẦN MỀM SỬ DỤNG THUẬT TOÁN PSO

MỜ NGẪU NHIÊN

Chuyên ngành: Khoa học máy tính
Mã số: 8480101

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: PGS.TS. Nguyễn Gia Như

ĐÀ NẴNG - 2021

LỜI CẢM ƠN

Để thực hiện và hoàn thành bài luận văn này, em đã nhận được sự hỗ trợ,
giúp đỡ cũng như là quan tâm, động viên từ nhiều cơ quan, tổ chức và cá
nhân. Luận văn cũng được hoàn thành dựa trên sự tham khảo, học tập kinh
nghiệm từ các kết quả nghiên cứu liên quan, các sách, báo chuyên ngành của
nhiều tác giả ở các trường Đại học, các tổ chức nghiên cứu, tổ chức chính
trị…Đặc biệt hơn nữa là sự giúp đỡ của cán bộ giáo viên Trường Đại học Duy
Tân và sự giúp đỡ, tạo điều kiện về vật chất và tinh thần từ phía gia đình, bạn
bè và các đồng nghiệp.

Trước hết, em xin gửi lời cảm ơn sâu sắc đến Thầy Nguyễn Gia Như –


người trực tiếp hướng dẫn bài luận văn đã luôn dành nhiều thời gian, công sức
hướng dẫn em trong suốt quá trình thực hiện đề tài và hoàn thành bài luận văn
này.

Tôi xin trân trọng cám ơn Ban giám hiệu, cùng tồn thể các thầy cơ giáo
cơng tác trong trường đã tận tình truyền đạt những kiến thức quý báu, giúp đỡ
tơi trong q trình học tập và nghiên cứu.

Tuy có nhiều cố gắng, nhưng trong bài luận văn này không tránh khỏi
những thiếu sót. Em kính mong Q thầy cơ, các chun gia, những người
quan tâm đến đề tài, đồng nghiệp, gia đình và bạn bè tiếp tục có những ý kiến
đóng góp, giúp đỡ để đề tài được hoàn thiện hơn.

Một lần nữa em xin chân thành cám ơn!
Đà Nẵng, ngày tháng năm 2021
Tác giả Luận văn

Võ Trọng Nhân

LỜI CAM ĐOAN

Tôi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi.
Các số liệu và kết quả nghiên cứu trong luận văn này là trung thực và
không trùng lặp với các đề tài khác.

Đà Nẵng, ngày tháng năm 2021
Tác giả Luận văn

Võ Trọng Nhân


MỤC LỤC

MỞ ĐẦU...........................................................................................................1
1. Tính cấp thiết của đề tài................................................................................1
2. Mục tiêu nghiên cứu......................................................................................1
3. Đối tượng và phạm vi nghiên cứu.................................................................2
4. Phương pháp nghiên cứu...............................................................................2
5. Bố cục của luận văn......................................................................................2
CHƯƠNG 1. TỔNG QUAN VỀ BÀI TOÁN LẬP LỊCH TRONG QUẢN
LÝ DỰ ÁN PHẦN MỀM.................................................................................3
1.1. QUẢN TRỊ DỰ ÁN PHẦN MỀM...........................................................3
1.1.1 Dự án phần mềm......................................................................................3
1.1.2 Quản lý dự án phần mềm.........................................................................4
1.1.3 Quy trình quản lý dự án phần mềm..........................................................8
1.2 LẬP LỊCH DỰ ÁN PHẦN MỀM............................................................8
1.2.1 Khái niệm về lập kế hoạch.......................................................................9
1.2.2 Tự động hóa việc lập lịch.........................................................................9
1.3 PHÂN LOẠI MƠ HÌNH BÀI TỐN LẬP LỊCH DỰA ÁN...............11
1.4 CÁC THUẬT TOÁN GIẢI BÀI TOÁN LẬP LỊCH DỰA ÁN...........13
1.5 KẾT CHƯƠNG.......................................................................................15
CHƯƠNG 2. THUẬT TỐN TỐI ƯU NHĨM BẦY VÀ ỨNG DỤNG...............16
2.1 GIỚI THIỆU CHUNG VỀ THUẬT TOÁN PSO.................................17
2.2 CÁC THÀNH PHẦN CƠ BẢN CỦA THUẬT TOÁN PSO................21
2.3 CÁC PHIÊN BẢN CỦA THUẬT TỐN PSO.....................................23
2.3.1 Thuật tốn PSO dạng Constriction.........................................................23
2.3.2 Thuật toán PSO-TVIW và PSO-RANDIW............................................23

2.3.3 Thuật toán PSO-PSO-TVAC.................................................................24
2.3.4 Thuật toán MPSO-TVAC.......................................................................26
2.3.5 Thuật toán SOHPSO-TVAC..................................................................26

2.3.6 Thuật tốn SWT-PSO.............................................................................27
2.4 THUẬT TỐN PSO DẠNG TỔNG QT VÀ ỨNG DỤNG...........31
2.5 KẾT CHƯƠNG.......................................................................................34
CHƯƠNG 3. THUẬT TOÁN TỐI ƯU BẦY ĐÀN MỜ NGẪU NHIÊN
CHO BÀI TOÁN ĐỊNH VỊ TÀI NGUYÊN TRONG LẬP LỊCH DỰ ÁN
.........................................................................................................................35
3.1 BÀI TOÁN LẬP LỊCH DỰ ÁN VỚI CÁC RÀNG BUỘC TÀI
NGUN........................................................................................................35
3.2 MƠ HÌNH TỔNG QT BÀI TOÁN LẬP LỊCH DỰ ÁN VỚI CÁC
RÀNG BUỘC TÀI NGUYÊN......................................................................39
3.3 THUẬT TOÁN TỐI ƯU BẦY ĐÀN MỜ NGẪU NHIÊN CHO BÀI
TOÁN ĐỊNH VỊ TÀI NGUYÊN TRONG LẬP LỊCH DỰ ÁN................50
3.3.1 Thuật tốn PSO trung bình động ngẫu nhiên mờ (FRODM-PSO) cho lập
lịch nhiều dự án...............................................................................................50
3.3.2 Thuật toán PSO trung bình động (DM-PSO) cho bài tốn lập lịch dự án
.........................................................................................................................51
3.3.3 Mơ hình tối ưu hóa ngẫu nhiên mờ cho lập lịch nhiều dự án.................52
3.4 PHÂN TÍCH VÀ ĐÁNH GIÁ KẾT QUẢ THỰC NGHIỆM..............55
3.4.1 Phân tích và đánh giá thời gian lập lịch.................................................55
3.4.2 Phân tích và đánh giá mức độ sử dụng bộ nhớ.......................................58
3.4.3 Phân tích và đánh giá tỷ lệ tối ưu tài nguyên.........................................60
3.5 KẾT CHƯƠNG.......................................................................................62
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.....................................................63

TÀI LIỆU THAM KHẢO

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Từ viết Nghĩa tiếng Anh Nghĩa tiếng Việt
tắt

Activities On Arcs Các công việc là các cung
AOA Activities On Notes Các công việc là các đỉnh
AON Ant System Hệ kiến
AS Evolutionary Algorithm Thuật tốn tiến hóa
EA Critical Path Method Phương pháp đường găng
CPM Genetic Algorithm Thuật toán di truyền
GA Particle Swarm Optimization Tối ưu hóa nhóm bày
PSO Resource Constrained Project Lập lịch dự án đáp ứng các ràng
Scheduling buộc về tài nguyên
RCPS Software Project Scheduling Lập dịch dự án phần mềm
Problem
SPSP Strength Pareto Evolutionary Thuật toán tối ưu Pareto mạnh
Algorithm
SPEA2 Work Breakdown Structure

WBS

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

Bảng 1.1 Các hoạt động của quản lý dự án.........................................................6
Bảng 1.2 Các kế hoạch của dự án.....................................................................10
Bảng 1.3 Phân loại mơ hình bài tốn lập lịch dự án với các tham số khác nhau 12
Bảng 1.4 Các thuật toán Meta-heuristic được đề xuất cho bài toán lập lịch dự án
.........................................................................................................................14
YBảng 3.1 Các ký hiệu được sử dụng để mơ hình hóa bài tốn lập lịch dự án
với các ràng buộc tài nguyên...........................................................................39
Bảng 3.2 Phân tích và đánh giá thời gian lập lịch giữa các thuật tốn............56
Bảng 3.3 Phân tích và đánh giá mức độ sử dụng bộ nhớ giữa các thuật tốn.58
Bảng 3.4 Phân tích và đánh giá tỷ lệ tối ưu tài nguyên giữa các thuật toán....60


DANH MỤC CÁC HÌNH

Hình 1.1 Các hoạt động của quản lý dự án phầm mềm.....................................8
YHình 2.1 Quy luật chuyển động của bầy đàn................................................19
Hình 2.2 Quy luật chuyển động của bầy đàn..................................................19
Hình 2.3 Vị trí cá thể trong quần thể...............................................................21
Hình 2.4 Sơ đồ tổng quát của thuật tốn PSO.................................................32
YHình 3.1 Ví dụ phân rã cơng việc.................................................................37
Hình 3.2 Ví dụ phân rã cơng việc....................................................................42
Hình 3.3 Đồ thị ưu tiên nhiệm vụ của dự án phần mềm................................43
Hình 3.4 Thông tin về các nhân viên làm việc trong dự án............................44
Hình 3.5 Một phương án khả thi trong lập dịch dự án phần mềm..................46
Hình 3.6 Biểu đồ Gantt biểu diễn phương án lập dịch dự án phần mềm........47
Hình 3.7 Lược đồ kiến trúc thuật toán FRODM-PSO chi bài toán lập lịch....50
Hình 3.8 Lược đồ kiến trúc thuật tốn FRODM-PSO chi bài tốn lập lịch....52
Hình 3.9 So sánh thời gian lập lịch giữa các thuật tốn..................................57
Hình 3.10 So sánh mức độ sử dụng bộ nhớ giữa các thuật tốn.....................59
Hình 3.11 So sánh tỷ lệ tối ưu tài nguyên giữa các thuật toán........................61

1

MỞ ĐẦU

1. Tính cấp thiết của đề tài
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.

Việc nghiên cứu các thuật toán tối ưu để áp dụng cho các bài toán về lập
lịch, lập kế hoạch đang thu hút được rất nhiều sự quan tâm. Việc áp dụng thuật
toán tối ưu nhóm bầy 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 học viên đặt trọng tâm tìm hiểu thuật tốn tối ưu
nhóm bầy và áp dụng vào bài tốn 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.
2. Mục tiêu nghiên cứu

2

- Áp dụng thuật tốn tối ưu nhóm bầy để giải quyết bài tốn 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 bên trong dự án.
3. Đối tượng và phạm vi nghiên cứu

- Đối tượng nghiên cứu: Bài toán lịch dự án phần mềm, thuật tốn tối ưu
nhóm bầy.


- Phạm vi nghiên cứu: nghiên cứu thuật tốn nhóm bầy để tối ưu 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.
4. Phương pháp nghiên cứu

- Phương pháp lý thuyết:
+ Nghiên cứu các kiến thức liên quan về quản lý dự án phần mềm.
+ Nghiên cứu thuật toán tối ưu đàn kiến áp dụng cho bài tốn 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.
- Phương pháp thực nghiệm:
+ Thực nghiệm với một số bộ dữ liệu có liên quan.
+ Đánh giá các kết quả thực nghiệm.
5. Bố cục của luận văn
Ngoài phần mở đầu và kết luận, luận văn được bố cục thành 03 chương
với cấu trúc như sau:
- Chương 1. Tổng quan về bài toán lập lịch trong quản lý dự án phần
mềm
- Chương 2. Thuật tốn tối ưu nhóm bầy và ứng dụng
- Chương 3. Thuật toán tối ưu bầy đàn mờ ngẫu nhiên cho bài toán định
vị tài nguyên trong lập lịch dự án.

3

CHƯƠNG 1
TỔNG QUAN VỀ BÀI TOÁN LẬP LỊCH TRONG QUẢN LÝ

DỰ ÁN PHẦN MỀM

1.1. QUẢN TRỊ DỰ ÁN PHẦN MỀM

1.1.1 Dự án phần mềm

Có rất nhiều cách định nghĩa một dự án, chung quy lại dự án là quá
trình tạo ra sản phẩm hay dịch vụ. Do vậy các định nghĩa dự án như sau đều
được chấp nhận: Dự án là một q trình gồm các cơng việc, nhiệm vụ có liên
quan với nhau, được thực hiện nhằm đạt được mục tiêu đã đề ra trong điều
kiện ràng buộc về thời gian, nguồn lực và ngân sách.

Với các dự án phần mềm thì có nhiều điểm thuận lợi hơn các dự án
khác. Những điểm thuận lợi mà dự án phần mềm có được như:

- Sản phầm của dự án dễ sửa đổi hơn sản phẩm vật chất khác. Với dự án
phần mềm khi có yêu cầu sửa đổi sản phẩm thì đội phát triển sẽ sửa đổi mã
nguồn và biên dịch thành chương trình chạy và gửi lại khách hàng. Nhưng với
các sản phẩm thơng thường ví dụ như chiếc tivi, nếu khách muốn đổi các
thông số trên chiếc tivi này, muốn có một số tính năng mới thì rất khó có thể
làm được điều này.

- Các pha của vòng đời dự án rõ ràng. Vòng đời chuẩn của quản lý dự án
gồm 4 pha : Xác định dự án, Lập kế hoạch, Thực hiện và cuối cùng là Đóng
dự án.

- Có thể có nhiều giải pháp cho một yêu cầu.
- Định hình sản phẩm của dự án phần mềm khơng cứng nhắc miễn là đáp
ứng được yêu cầu.
- Có nhiều cơng cụ trợ giúp và các công cụ này ngày càng tốt hơn mạnh
hơn. Đối với các dự án phần mềm các công cụ trợ giúp ngày càng mạnh, có

4


thể kế đến các công cụ quản lý mã nguồn, công cụ hỗ trợ quản lý yêu cầu,
công cụ quản lý lỗi, các cơng cụ hỗ trợ lập trình như Microsoft Visual Studio
2020, các công cụ quản lý cơ sở dữ liệu…Nhờ có các cơng cụ này mà các dự
án phần mềm ngày càng được rút ngắn thời gian phát triển mà vẫn đảm bảo
chất lượng phần mềm và làm hài lòng khách hàng.

- Dự án phần mềm cịn có đặc điểm nữa là cho phép bộ phận triển khai
dự án vận dụng nhiều giải pháp: công nghệ, quản lý vào quản lý dự án.

Dự án phần mềm đã phát triển qua nhiều giai đoạn và cho đến ngày hơm
nay phần mềm máy tính đã được ứng dụng rộng khắp hầu như tất cả các hoạt
động sản xuất, trong mọi ngành kinh tế, xã hội. Do vậy các phần mềm hiện
đại ngày nay nảy sinh nhiều vấn đề mới mà các nhà quản lý cần phải quan
tâm, hoạch định để giải quyết các vấn đề này.

Với những vấn đề nổi cộm ở trên ta thấy việc cấp thiết phải có những
phương pháp để quản lý các dự án phần mềm hiệu quả. Ngày nay trên thế giới
các nhà hoạch định chiến lược, các công ty lớn, các nhà nghiên cứu trong các
viện, các trường đại học đã tập chung nghiên cứu tìm tịi, cải tiến các phương
pháp, quy trình, cải tiến cơng cụ quản lý dự án phần mềm. Nhờ áp dùng các
kết quả nghiên cứu, công cụ mới mà đã từng bước giải quyết được các vấn đề
khó khăn trên của dự án phần mềm.
1.1.2 Quản lý dự án phần mềm

Quản lý dự án là việc áp dụng kiến thức, phương pháp, kỹ thuật, công cụ
và tổ chức các hoạt động nhằm tạo ra sản phẩm đáp ứng yêu cầu đã cho. Hoạt
động quản lý dự án phần mềm bao gồm: lập kế hoạch, triển khai, theo dõi,
giám sát, đánh giá và điều chỉnh. Vòng đời chuẩn của quản lý dự án gồm 4
pha sau:


- Giai đoạn xác định dự án: Giai đoạn này bắt đầu với công bố dự án cho
đến khi các tài liệu dự án được các bên tham gia thông qua. Kết quả của giai

5

đoạn này là một hoặc nhiều dự án được chọn, các tài liệu thơng tin dự án
được hồn thành và làm cơ sở để triển khai hoặc mời thầu dự án (với các dự
án lớn).

- Lập kế hoạch: Tạo các kế hoạch dự án, trong giai đoạn này có thể thay
đổi tài liệu dự án ở bước xác định dự án nếu như phù hợp và được các bên
thông qua.

- Thực hiện: Triển khai các kế hoạch dự án đã thông qua. Giai đoạn này
dựa vào kết quả ở bước Lập kế hoạch, bộ phận quản trị tiến hành lập lịch biểu
chi tiết các kế hoạch và tiến hành thực hiện các công việc, giám sát các công
việc thực hiện đúng tiến độ đã đề ra. Việc lập lịch biểu có thể làm tự động
bằng chương trình máy tính, có thể dùng giải thuật di truyền để tìm ra phương
án lập lịch tối ưu.

- Đóng dự án: Cơng việc tiến hành bao gồm: chuyển dự án sang khâu
bảo trì, tiến hành các thủ tục kết thúc với khách hàng, đánh giá, rút kinh
nghiệm về dự án, tiền hành lưu trữ tài liệu phục vụ cho dự án tiếp theo.

Quản lý dự án tập trung vào các nội dung: Quản lý công việc, quản lý
tiến độ, quản lý tài chính, quản lý nhân lực, quản lý nguồn lực, quản lý chất
lượng. Việc quản lý dự án sẽ gặp phải nhiều thách thức như thách thức nhân
lực, công việc, ước lượng, tổ chức, quản lý và kiểm soát.

Quản lý dự án phần mềm: là nghệ thuật và khoa học lên kế hoạch và dẫn

dắt các dự án phần mềm [1]. Nó chính là một lĩnh vực của quản lý dự án theo
các dự án phần mềm được lên kế hoạch, thực thi, theo dõi và kiểm soát. Các
hoạt động quản lý gồm mục tiêu thực hiện và chi tiết nội dung được liệt kê
trong Bảng 1.1.

6

Bảng 1.1 Các hoạt động của quản lý dự án

TT Hoạt động Mục tiêu Nội dung
Đảm bảo thực hiện -Xác định giai đoạn
Quản lý phạm đúng công việc đã - Xác định công việc
định - Xác định sản phẩm giao
vi (thay đổi)
1.

- Kiểm soát thay đổi

Quản lý thời Đảm bảo hoàn -Xác định thời gian hoàn thành công

gian thành hạng mục việc

2. công việc trong thời - Xác định trình tự thực hiện

hạn dự kiến - Lập lịch thực hiện

- Kiểm soát thực hiện theo lịch

Quản lý chi Đảm bảo huy động, - Lập kế hoạch huy động ngân sách


phí sử dụng ngân sách - Ước tính chi phí
3. đáp ứng yêu cầu - Phân phối ngân sách

- Kiểm soát chi tiêu

Quản lý chất Đảm bảo sản phẩm - Xác định các chuẩn chất lượng, độ đo,

lượng đạt yêu cầu chất quy trình kiểm định
4.
lượng đề ra - Kiểm định chuẩn cho mỗi sản phẩm

- Quản lý thay đổi chất lượng

Quản lý nhân Tìm và sử dụng - Xây dựng đội dự án

lực người tham gia một - Lựa chọn, phân công công việc
5. cách có hiệu quả - Phát triển bồi dưỡng nguồn lực

- Thúc đẩy, động viên, phối hợp

6. Quản lý mua Đảm bảo phục vụ, - Xác định nhu cầu trợ giúp

sắm thuê trợ giúp tốt nhất - Lập kế hoạch mua sắm, trang bị
mọi hoạt động dự -Tìm nhà cung cấp và đặt hàng
án - Quản lý hợp đồng mua sắm

7

TT Hoạt động Mục tiêu Nội dung
- Tổ chức việc cung cấp trợ giúp


Quản lý thông Đảm bảo thu thập, - Xác định nhu cầu thông tin thành viên

tin và truyền lưu trữ đủ thông tin - Xác định hình thức trao đổi

7. thơng và cung cấp kịp thời - Xác định dữ liệu thông tin lưu trữ

- Quy định hình thức báo cáo, lưu trữ,

cung cấp thông tin

Quản lý rủi ro Đảm bảo ngăn ngừa - Nhận diện các rủi ro

và hạn chế thiệt hại - Xác định khả năng xuất hiện, phân

8. do sự cố xảy ra tích tác động đến dự án

- Lập kế hoạch phòng chống

- Kiểm soát, xử lý

Quản lý cấu Đảm bảo kiểm sốt - Xác định khoản mục cấu hình

hình (và thay mọi thay đổi, đồng - Xây dựng triển khai quy trình
9. đổi)
bộ sản phẩm - Giám sát thực hiện quy trình và lưu

trữ cấu hình, phiên bản

Trong phạm vi luận văn này học viên quan tâm tìm hiểu kỹ về hoạt

động Quản lý thời gian của dự án để tìm cách áp dụng kiến thức về giải thuật
tối ưu nhóm bày áp dụng vào các bước lập lịch dự án đảm bảo thời gian thực
hiện toàn bộ dự án là tối ưu nhất. Hoạt động quản lý thời gian nhằm mục đích
đảm bảo hồn thành các hạng mục cơng việc của dự án đúng tiên độ đã đề ra.
Để quản lý thời gian tốt người quản trị cần phải xác định thời gian hồn thành
từng cơng việc, sau đó tiến hành xác định trình tự thực hiện các cơng việc sao
cho tối ưu nhất, tiếp theo người quản trị lập lịch biểu thực hiện các cơng việc
này, sau khi có lịch biểu thực hiện cơng việc thì tiến hành kiểm sốt thực hiện

8

sát sao theo đúng kế hoạch lịch biểu đã đề ra để đảm bảo toàn bộ dự án được
thực hiện theo đúng thời gian đã định.
1.1.3 Quy trình quản lý dự án phần mềm

Theo Project Management Institute [2,3], quản lý dự án phần mềm bao
gồm 5 giai đoạn:

Hình 1.1 Các hoạt động của quản lý dự án phầm mềm
Các giai đoạn cụ thể gồm:
1. Khởi tạo dự án (Initiating)
2. Lập kế hoạch dự án (Planning)
3. Triển khai (Executing)
4. Giám sát và kiểm soát (Monitoring & Control)
5. Kết thúc (Closing)
Trong cấu trúc kế hoạch thực hiện dự án, quy trình lập kế hoạch thực
hiện dự án thì hai khâu quan trọng không thể thiếu và liên quan mật thiết với
nhau là phân tích các yếu tố rủi ro (sau đây gọi tắt là rủi ro) và lập lịch dự án.
Hai khâu này đóng vai trị quyết định đảm bảo cho dự án được tổ chức, phân
bổ tài nguyên (phần cứng, phần mềm, mạng), phân công công việc và nguồn

lực cũng như được giám sát hiệu quả [2].
1.2 LẬP LỊCH DỰ ÁN PHẦN MỀM

9

Trong quản lý dự án vấn đề lập kế hoạch và lập lịch dự án là rất quan
trọng. Kế hoạch tốt giúp các khâu tiếp theo là thực hiện và đóng dự án dễ
dàng hơn. Việc lập lịch có thể sẽ phải chỉnh sửa lại nhiều lần tại các thời điểm
khác nhau của dự án, việc điều chỉnh này do sự thay đổi các nhân tố như thay
đổi về nguồn lực thực hiện dự án (nhân viên ốm, nhân viên nghỉ việc…), do
các thay đổi từ phía khách hàng như khách hàng yêu cầu thay đổi tính năng
sản phẩm. Nếu như áp dụng được các thuật toán vào khâu lập kế hoạch, lập
lịch nhằm tự động hóa được việc lập kế hoạch sẽ giảm bớt được sự sai sót và
tăng hiệu quả của việc lập kế hoạch.
1.2.1 Khái niệm về lập kế hoạch

Kế hoạch là bản dự kiến cơng việc cần làm (cái gì?), thứ tự thực
hiện(tiến trình?), thời gian(khi nào? bao lâu?), phương tiện dùng (cái gì? bao
nhiêu?), người làm (ai?), sản phẩm ra (cái gì?) và tiêu chí đánh giá (chất
lượng?). Kế hoạch là cơng việc lặp đi lặp lại suốt q trình dự án. Có rất
nhiều kế hoạch cần lập để quản trị dự án. Kế hoạch là cơng cụ chính để quản
trị dự án.
1.2.2 Tự động hóa việc lập lịch

Khi lập kế hoạch bộ phận chịu trách nhiệm lập kế hoạch cần phải quan
tâm đến các nguồn lực phục vụ cho dự án để lập kế hoạch được chi tiết và
bám sát thực tế. Các nguồn lực phục vụ dự án bao gồm:

- Con người: Là nhân tố hàng đầu quan trọng nhất quyết định đến kế
hoạch cũng như chất lượng của dự án. Với mỗi loại dự án khác nhau con

người tham gia dự án cần phải có năng lực phù hợp.

- Các phần mềm dùng lại được: Thành phần đóng gói dùng được ngay
vào công việc làm dự án, các thành phần đã kiểm nghiệm tốt, có thể sửa và
dùng lại được.

- Phần cứng, công cụ phần mềm chia sẻ.

10

Bảng 1.2 Các kế hoạch của dự án

Tên kế hoạch Mô tả chi tiết

Các kế hoạch của dự án Mô tả công việc và lịch biểu thực hiện cho sản
phẩm dự án

Kế hoạch quản lý rủi ro Xác định các rủi ro và các giải pháp

Kế hoạch chất lượng Mô tả thủ tục và các chuẩn chất lượng được áp
dụng

Kế hoạch quản lý cấu hình Mơ tả cấu hình, thủ tục và tiến trình quản lý cấu
hình và sự thay đổi

Kế hoạch ngân sách Chỉ ra lượng ngân sách cần theo thời gian và các
nguồn huy động

Kế hoạch nguồn lực Mô tả số lượng, kỹ năng, kinh nghiệm của các
thành viên dự án và giải pháp


Khi tiến hành lập kế hoạch, lập lịch công việc người lập kế hoạch cần

phải làm các công việc theo các bước như sau:

- Bước 1: Phải xây dựng được bảng phân rã công việc (work breakdown

structure). Đây là công việc mà đội dự án và người quản trị phải xác định

nhiệm vụ (gói cơng việc) cần thực hiện để tạo ra các sản phẩm.

- Bước 2: Phải xác định được các mối quan hệ giữa các cơng việc: đặt

các gói cơng việc theo tiến trình có trình tự trước-sau, cơng việc nào là cơng

việc trực tiếp phía trước, cơng việc nào trực tiếp phía sau.

- Bước 3: Ước lượng các gói cơng việc: mỗi gói cơng việc cần ước lượng

ngày công lao động (tốn bao nhiêu thời gian để làm) số lượng nhân lực và vật

lực(theo từng loại) cần tham gia để hồn thành các gói công việc này.

11

- Bước 4: Xây dựng lịch biểu ban đầu: tính tốn thời gian thực hiện dự
án, thời gian bắt đầu sớm nhất và thời gian kết thúc muộn nhất của từng công
việc.

- Bước 5: Gán nguồn lực thực hiện, điều chỉnh lịch. Sau khi gán nguồn

lực, cần chính xác hóa lịch biểu khi tính đến các ràng buộc nguồn lực. Các
nhiệm vụ được lập lịch sao cho tối ưu hóa việc sử dụng lao động và các
nguồn lực khác.

Trong phạm vi nghiên cứu áp dụng giải thuật di truyền vào quản lý dự án
phần mềm, học viên thấy tại bước 4 và 5 của q trình lập lịch, lập kế hoạch
cơng việc có thể tiến hành tự động. Việc áp dụng lập lịch tự động từ các dữ
liệu đầu vào bao gồm: bảng dữ liệu phân rã công việc, bảng dữ liệu ước lượng
các gói cơng việc trong bảng phân rã cơng việc, bảng dữ liệu nguồn lực hiện
có trong dự án, tiến hành áp dụng giải thuật di truyền để tự động lập lịch biểu
dựa trên các dự liệu đâu vào, tự động gán nguồn lực thực hiện cơng việc và
tìm ra một kết quả tối ưu nhất hoặc kết quả chấp nhận được. Việc áp dụng
giải thuật này được học viên trình bày kỹ lưỡng trong các trang tiếp theo của
luận văn, các kết quả dữ liệu test trên bộ dữ liệu tự sinh cũng được học viên
trình bày để thấy được việc áp dụng giải thuật khiến khâu lập lịch này là hợp
lý và là một hướng nghiên cứu đúng đắn.
1.3 PHÂN LOẠI MƠ HÌNH BÀI TỐN LẬP LỊCH DỰA ÁN

Bài toán lập lịch dự án phần mềm (SPSP- Software Project Scheduling
Problem) và lập lịch dự án đáp ứng các ràng buộc về tài nguyên (RCPS-
Resource Constrained Project Scheduling) được chứng minh thuộc lớp bài
tốn NP-Khó [8]. Do đó, việc áp dụng các thuật toán trong khâu lập kế hoạch,
lập lịch nhằm tự động hóa, giảm bớt được sai sót, rủi ro và xung đột giữa các
yếu tố và tăng hiệu quả đã và đang thu hút được rất nhiều sự quan tâm nghiên
cứu. Xuất phát từ mơ hình bài tốn lập lịch dự án phần mềm đầu tiên được đề


×