chương I này cũng đã trình bày về các giải pháp cũng như định hướng: Nắm được điểm tốt của phương pháp Bayes trong quản lý các rủi ro, thực hiện việc tìm hiểu và đưa ra được mô hình quản lý các rủi ro bằng mạng Bayes. Từ đó tích hợp mô hình quản lý rủi ro vào lập lịch dự án dựa trên kỹ thuật lập lịch CPM. Page 15 Chương II LẬP LỊCH DỰ ÁN PHẦN MỀM VÀ CƠ SỞ LÝ THUYẾT 2. Lập lịch dự án phần mềm 2.1 Phương pháp đường Găng (CPM) Phương pháp Critical Path Method, viết tắt là CPM là một trong các phương pháp lập kế hoạch được áp dụng rộng rãi.
Có thể coi kỹ thuật này là cách phân tích theo mạng tiến độ, sử dụng như công cụ đặc biệt áp dụng cho việc quản lý dự án được suôn sẻ. Theo cùng với các phương pháp khác như dây chuyển, tuần tự hay tổ chức song song, phương pháp CPM là phương pháp được xem tổ chức triển khai dự án và sản suất. Phương pháp đường găng sử dụng mạng đồ thị có hướng trong lý thuyết đồ thị để tổ chức các hoạt động công việc, các công tác trong một dự án dưới dạng một sơ đồ mạng.[7] Việc quản lý dự án chú trọng vào một hoặc nhiều các công việc trong dự án có tính chất chủ yếu, quan trọng liên quan đến thời gian triển khai (ảnh hưởng lớn toàn bộ dự án), với tên gọi là “đường găng”, tính chất căng thẳng để kiểm soát thời gian hay tiến độ dự án. Phương pháp CPM sẽ giúp tìm ra quãng đường dài nhất trong một đồ thị biểu diễn các công việc của một dự án.
Con đường găng này được tính toán bằng cách tính từ các tham số thời gian của từng hoạt động. Nếu có công việc nào bị trì trệ mà nằm trên chuỗi đường Găng thì sẽ làm toàn bộ dự án bị chậm lại. Các công việc còn lại không nằm trên đường Găng được phép chậm với điều kiện người quản lý dự án đã lập kế hoạch dự trù. Trong Hình 1 là một mạng đồ thị có hướng tổ chức các hoạt động công việc.
Hình 1 bao gồm có 5 công việc A, B, C, D, E với thời gian để hoàn thành tương ứng là 5, 4, 10, 2, 5. Ta sẽ xác định được con đường găng là con đường dài nhất (nhiều thời gian nhất) trong mạng theo hình vẽ bên dưới là con đường A -> C -> E. Page 16 Hình 1: Đồ thị có hướng tổ chức các công việc Đồ thị đường găng (CPM) mô phỏng lại các hoạt động và sự phụ thuộc của chúng. Ta có thể thấy, từ một hoạt động không thể triển khai nếu những hoạt động liền trước nó chưa hoàn thành.
Những hoạt động hay công việc này phải được kết thúc trong 1 chuỗi, với mỗi giai đoạn được đóng trước khi triển khai mốc tiếp theo. Trong hình vẽ trên có thể suy ra sự phụ thuộc của các công việc, công việc B, C cần sự hoàn thành của công việc A, công việc E cần sự hoàn thành của công việc B, C. Con đường găng được xác định dựa trên các tham số sau của từng công việc: D (Duration) : thời gian thực hiện công việc ES (Earliest start time) : thời gian bắt đầu sớm nhất EF (Earliest finish time): thời gian kết thúc sớm nhất LS (Latest start time): thời gian bắt đầu muộn nhất LF (Latest finish time): thời gian kết thúc muộn nhất Page 17 Hình 2: Đồ thị tổ chức các công việc và các tham số Thời gian bắt đầu sớm nhất (ES) và kết thúc sớm nhất (EF) của mỗi công việc được xác định bằng cách đi từ công việc đầu tiên trong mạng đến công việc cuối cùng và xác định thời gian bắt đầu sớm nhất và kết thúc sớm nhất của từng công việc dựa trên các công việc đã thực hiện trước đó. Với mỗi công việc j: với i là các công việc cần hoàn thành trước j, (Theo hình 1: D A = 5, DB=4, D C=10, D D=2, DE =5 ) Trong hình 2 trên đây ta có công việc C, D cần hoàn thành để E bắt đầu thực hiện.
Sau đây là công thức tính ES và EF của công việc E: do C, D là các công việc cần hoàn thành trước công việc E Page 18 Kết quả tính ES E , như sau: , Công việc D chỉ cần công việc B hoàn thành trước nên công thức tính ES, EF của D như sau: do chỉ có B là các công việc cần hoàn thành trước công việc D Kết quả tính ES D , như sau: , Thời gian bắt đầu muộn nhất (LF) và kết thúc muộn nhất (LS) của một công việc là thời gian muộn nhất một công việc có thể bắt đầu và kết thúc mà không ảnh hưởng đến sự chậm trễ của dự án. Các chỉ số này được xác định bằng cách đi từ công việc cuối cùng trong mạng đến công việc đầu tiên. Với mỗi công việc i: với j là các công việc thực hiện sau khi hoàn thành công việc i Trong hình vẽ trên ta xét công việc A do B, C là các công việc thực hiện sau khi hoàn thành A (Giả sử công việc B cần bắt đầu tại 5h, C cần bắt đầu tại 4h thì công việc A cần hoàn thành muộn nhất tại 4h) Kết quả tính LFA , như sau: , Xét công việc C: do E là công việc duy nhất cần thực hiện sau khi hoàn thành C Kết quả tính LFC , như sau: , Page 19 Kết quả cuối cùng thu được: Công việc A: ES = 0, EF = 5, LS = 0, LF = 5 Công việc B: ES = 5, EF = 9, LS = 9, LF = 13 Công việc C: ES = 5, EF = 15, LS = 5, LF = 15 Công việc D: ES = 9, EF = 11, LS = 13, LF = 15 Công việc E: ES = 15, EF = 20, LS = 15, LF = 20 Tuy nhiên phương pháp sử dụng CPM nêu trên đã quá kinh điển và bộc lộ rõ sự ngây thơ khi các dự án phần mềm ngày càng trở nên phức tạp hơn, đòi hỏi những phân tích và đánh giá chi li hơn. Và việc chỉ sử dụng mỗi một giải thuật CPM nói trên là cứng nhắc, không linh hoạt, không tốt cho tất cả các trường hợp trên thực tế.
Vì lẽ đó nên chúng tôi đi đến ý tưởng cải tiến phương pháp áp dụng thuật toán CPM để nó trở nên hiệu quả hơn. Ở đây là tích hợp CPM vào mô hình mạng Bayes mà chúng tôi sẽ nói đến dưới đây. Nhưng trước hết chúng ta cần xét đến các rủi ro đặc trưng và mô hình các rủi ro trong quản lý dự án phần mềm.2 PERT – Kỹ thuật xem xét và đánh giá dự án Kỹ thuật PERT (tên tiếng anh: Program Evaluation and Review Technique) là một kỹ thuật lập lịch theo kiểu thống kê áp dụng cho các dự án phần mềm. Kỹ thuật đánh giá và ước lượng này được hải quân hoa kỳ đưa vào thực tế để kiểm soát và hoạch định hệ thống khí giới năm 1958.
Sau đó được áp dụng cho các công ty trong lịch vực xây dựng và nhiều lĩnh vực khác nữa.[2] Phương pháp đề cập nhiều về sơ đồ mạng là mô hình chứa toàn bộ khối lượng công việc trong dự án. Nó xác định logic một cách có trình tự về kỹ thuật và mối tương quan về sắp xếp giữa các hoạt động sản xuất, xác định về thời gian thực hiện cho từng công việc, việc tối ưu hóa cho các kế hoạch được lập. Trong lúc triển khai dự án, ta vẫn có thể điều chỉnh mô hình mạng để đáp ứng với các yêu cầu thực tế mỗi khi có sự cập nhật hay Page 20 thay đổi. Phương pháp xem xét và đánh giá này áp dụng theo mô hình xác suất phụ thuộc vào thời gian xử lý xong các công việc và được biểu diễn theo hàm phân phối xác suất.
Hai phương pháp lập lịch CPM và PERT về cơ bản là giống nhau, tuy nhiên vẫn có sự khác nhau về cách tính thời gian cho các công việc. Tại từng công việc của phương pháp Pert luôn có 3 tham số thời gian được liên kết với nhau để hoạch định các thời gian hoàn thành công việc và phương sai của nó. Sự khác biệt mà ta có thể nhìn thấy ngay chính là khả năng giải quyết các rủi ro trong lúc triển khai. PERT sử dụng phân bố xác suất Beta.
Trong kỹ thuật này sẽ bao gồm 3 tham số: thời gian lạc quan, thời gian bi quan và thời gian dễ xảy ra sự việc được sử dụng cho việc tính độ lệch chuẩn và thời gian mình mong muốn. Công thức tính toán thời gian trung bình theo PERT được ước lượng như sau: Thời gian mong đợi: μj = (Thời gian lạc quan + 4 x Thời gian dễ xảy ra + Thời gian bi quan)/6 Độ lệch chuẩn: σj = (Thời gian bi quan - Thời gian lạc quan)/6 Vậy tổng thời gian cho sự thay đổi của các công việc nằm trên đường Găng sẽ là thời gian xử lý hoàn thành xong dự án. Khi đó, ta có thể biết được xác suất để một dự án đóng hay kết thúc là bao nhiêu. Quy trình vẽ sơ đồ cho phương pháp PERT: Được triển khai thực hiện theo các bước sau: Bước 1: Đưa ra các công việc trong dự án cũng như thời gian dự kiến hoàn thành cho từng công việc.
Xác định các sự việc, nhận diện các mối liên kết của quan hệ giữa chúng cũng như dự kiến thời gian xử lý xong từng công việc có vai trò đặc biệt trong việc ứng dụng kỹ thuật PERT. Tiếp theo cần hoạch định rõ các hoạt động từ ban đầu, các hoạt động nào phải hoàn thành trước hay hoạt động nào hoàn thành sau.