tài liệu về xây dựng công cụ hỗ trợ quản lý quá trình phát triển dự án phần mềm
KHOA CNTT – ĐH KHTN TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN PHẠM NGUYÊN THẢO – 0012665 XÂY DỰNG CÔNG CỤ HỖ TRỢ QUẢN LÝ QUÁ TRÌNH PHÁT TRIỂN DỰ ÁN PHẦN MỀM, GẮN KẾT VỚI HỆ THỐNG PHẦN MỀM MICROSOFT OFFICE PROJECT LUẬN VĂN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN PGS.TS. ĐỒNG THỊ BÍCH THỦY NGUYỄN TRỌNG TÀI NIÊN KHÓA 2000 - 2004 KHOA CNTT – ĐH KHTN 1 Mục lục: Danh sách các từ viết tắt : 3 Chương 1 : Mở đầu . 4 1.1. Mục đích và lý do chọn đề tài 4 1.2. Đối tượng và phạm vi của đề tài : 5 Chương 2 : Khảo sát và phân tích hiện trạng 6 2.1. Mô tả hiện trạng : . 6 2.2. Phân tích hiện trạng : . 9 2.2.1. Lược đồ business usecase cho nghiệp vụ hiện tại : 9 2.2.2 Mô hình chi tiết hiện trạng – sơ đồ activity: . 12 2.2.3 Những khó khăn trong qui trình nghiệp vụ hiện tại và một số yêu cầu đối với hệ thống mới: . 18 Chương 3 : Phương án xây dựng hệ thống mới . 22 3.1 Lược đồ kiến trúc tổng quan . 22 3.2 Mô tả kiến trúc hệ thống mới 22 3.2.1. Lập kế hoạch với MS Office Project . 23 3.2.2 Quản lý kế hoạch với công cụ mới PMA : 23 3.3 Sơ đồ nghiệp vụ tổng quan với hệ thống mới 26 3.4 Khảo sát hệ thống phần mềm Microsoft Project Server . 28 3.4.1. Sơ lược về hoạt động của MS Project Server . 28 3.4.2. Các lý do của việc chọn Project Server cho hệ thống mới . 28 3.4.3. Lược đồ CSDL của Project Server . 29 Chương 4 : Phân tích hệ thống 34 4.1. Chi tiết yêu cầu chức năng . 34 4.1.1 Lưu trữ và quản lý thông tin . 34 4.1.2. Đồng bộ thông tin với Project Server . 35 4.1.3. Khai thác dữ liệu - thực hiện thống kê . 36 4.1.4. Một số chức năng khác: 36 4.2. Mô hình hoá hệ thống . 37 4.2.1. Lược đồ use case : 37 4.2.2. Các lớp đối tượng chính bên trong hệ thống: . 44 4.2.3. Sơ đồ tuần tự cho một số luồng sự kiện phức tạp : . 55 Chương 5 : Thiết kế phần mềm . 60 5.1. Thiết kế dữ liệu . 60 5.1.1 Lược đồ cơ sở dữ liệu quan hệ 60 5.1.2 Các chỉ mục được cài đặt . 62 5.1.3 Một số ràng buộc toàn vẹn : . 63 5.2. Thiết kế phần mềm PMA . 64 5.2.1. Hệ thống các lớp đối tượng 64 5.2.2. Một số hàm xử lý quan trọng của các đối tượng: . 68 5.3. Thiết kế giao diện : 73 5.3.1. Sơ đồ các màn hình giao diện: . 73 5.3.2. Thiết kế một số màn hình tiêu biểu: 74 KHOA CNTT – ĐH KHTN 2 Chương 6 : Cài đặt và thử nghiệm 83 6.1. Một số công thức tính toán được sử dụng : 83 6.2. Một số XML request và reply cung cấp bởi PDS : 84 6.2.1. ProjectsStatus . 84 6.2.2. ProjectData . 86 6.3. Môi trường thực hiện và các phần mềm liên quan: . 88 6.3.1. Môi trường thực hiện : 88 6.3.2. Các thư viện khác : . 88 6.3.3. Các phần mềm liên quan : 89 6.4. Các trường hợp thử nghiệm: . 89 Chương 7 : Tổng kết . 91 7.1. Tổng kết quá trình thực hiện và các kết quả đạt được 91 7.2. Hướng phát triển : 92 Danh mục tài liệu tham khảo : 94 Phụ lục : Danh sách thuộc tính của các quan hệ trong CSDL 95 KHOA CNTT – ĐH KHTN 3 Danh sách các từ viết tắt : Bảng sau trình bày một số cụm từ thường được viết tắt trong luận văn STT Từ viết tắt Diễn giải 1 CSDL Cơ sở dữ liệu 2 CVCT Công việc chi tiết 3 CVTT Công việc tổng thể 4 KHCT Kế hoạch chi tiết 5 KHTT Kế hoạch tổng thể 6 MS Microsoft 7 NSD Người sử dụng 8 PDS Project Data Service 9 PMA Project Management Assistant (tên công cụ được xây dựng) 10 PS Project Server. KHOA CNTT – ĐH KHTN Chương 1 : Mở đầu 4 Chương 1 : Mở đầu 1.1. Mục đích và lý do chọn đề tài Trong thời gian thực hiện đề tài , em đã thực tập tại một Đơn vị phát triển phần mềm, và đề tài đã được xây dựng theo yêu cầu về quản lý dự án của Đơn vị này Trong quá trình thực hiện một dự án, không thể thiếu các kế hoạch từ tổng thể đến chi tiết để đảm bảo công việc được triển khai đúng hướng và hoàn thành đúng thời hạn. Các kế hoạch này giúp Ban lãnh đạo và Trưởng dự án xác lập những dự tính ban đầu về chi phí, thời lượng cho từng giai đoạn và chuẩn bị, sắp xếp nhân sự. Đó cũng là cơ sở để trưởng dự án phân công và theo dõi tiến độ công việc, và để Ban lãnh đạo đánh giá được tổng quan tình hình thực hiện dự án. Ngoài ra , các thông tin về sự phân công công việc, tiến độ công việc và chi phí thực hiện thực tế cũng cần phải được quản lý tốt để có thể nắm được chính xác thông tin về toàn bộ chi phí và thời gian phát triển của dự án hoặc của một giai đoạn trong dự án. HIện nay , Đơn vị đang sử dụng phần mềm Microsoft Office Project để lập kế hoạch. Tuy nhiên Đơn vị muốn có một công cụ hỗ trợ thêm cho qui trình quản lý dự án của mình, nhằm giúp cho việc quản lý hiệu quả hơn và khắc phục được một số khó khăn hiện tại Vì vậy , Đơn vị đã đề nghị xây dựng một công cụ hỗ trợ thêm việc quản lý kế hoạch và các thông tin liên quan đến chi phí, tiến độ công việc trong quá trình phát triển dự án phần mềm. Công cụ mới phải gắn kết với hệ thống phần mềm Microsoft Office Project, cụ thể là cho phép người sử dụng vẫn dùng phần mềm Microsoft Office Project để lập các kế hoạch và ghi nhận thông tin tiến độ công việc, vì phần mềm này đã hỗ trợ rất tốt quá trình này. Công cụ mới sẽ có trách nhiệm chính là đọc các kế hoạch đã lập và tổ chức quản lý các thông tin sao cho có thể hỗ trợ Ban lãnh đạo có được một cái nhìn tổng quan về các dự án đang triển KHOA CNTT – ĐH KHTN Chương 1 : Mở đầu 5 khai một cách nhanh chóng và dễ dàng. Đồng thời, công cụ này cũng sẽ giúp quản lý thêm một số thông tin cần thiết khác cho việc quản lý dự án : các văn bản phát sinh trong quá trình phát triển dự án, một số thông tin phục vụ cho việc phân loại chi phí dự án : loại công việc, vai trò nhân viên tham gia vào công việc, … 1.2. Đối tượng và phạm vi của đề tài : Nội dung đề tài : Xây dựng công cụ hỗ trợ quản lý quá trình phát triển đề án phần mềm, gắn kết với hệ thống phần mềm Microsoft Office Project . Các thông tin chính sẽ quản lý : kế hoạch triển khai thực hiện dự án từ tổng thể đến chi tiết, thông tin phân công công việc cụ thể, tiến độ thực hiện thực tế và chi phí phát triển dự án. Chức năng chính : • Đọc các kế hoạch đã được lập bằng phần mềm Microsoft Office Project và quản lý các kế hoạch này (cùng với thông tin phân công và quá trình triển khai thực hiện thực tế) một cách có hệ thống theo từng dự án. • Lập các thống kê về chi phí thực hiện dự án ở nhiều cấp độ (tổng thể hoặc chi tiết) • Giúp kiểm soát chênh lệch giữa kế hoạch tổng thể với kế hoạch chi tiết, quản lý các phiên bản của kế hoạch tổng thể. Đề tài được xây dựng dựa trên những khảo sát thực tế ở đơn vị thực tập, một đơn vị phát triển phần mềm, và theo những yêu cầu của Đơn vị này Phạm vi đề tài : • Khảo sát , phân tích nghiệp vụ và yêu cầu , kết hợp tìm hiểu phần mềm Microsoft Project để đưa ra phương án xây dựng hệ thống mới đáp ứng được các yêu cầu đã đặt ra. • Phân tích và thiết kế hệ thống mới theo phương án đã chọn. • Cài đặt các phần chính của hệ thống. KHOA CNTT – ĐH KHTN Chương 2 : Khảo sát và phân tích hiện trạng 6 Chương 2 : Khảo sát và phân tích hiện trạng Để có thể nắm được các vấn đề cốt lõi dẫn đến yêu cầu xây dựng hệ thống mới, cũng là những vấn đề mà hệ thống mới cần phải giải quyết, ta sẽ bắt đầu với việc khảo sát nghiệp vụ hiện tại và phân tích rõ các khó khăn của nó. Từ đó chi tiết hơn các yêu cầu đặt ra cho hệ thống mới 2.1. Mô tả hiện trạng : Khi có yêu cầu phát triển một dự án phần mềm, trưởng dự án sẽ lập một kế hoạch tổng thể. Kế hoạch này thể hiện các công việc chính tương ứng với các giai đoạn trong một qui trình phát triển dự án (trong luận văn từ phần này trở đi sẽ gọi các công việc chính này là công việc tổng thể ). Thông thường các giai đoạn này là : • Khảo sát sơ bộ và phân tích yêu cầu; lập hồ sơ nghiên cứu khả thi • Khảo sát chi tiết và phân tích yêu cầu; lập hồ sơ hiện trạng và yêu cầu đặt ra cho đề án phần mềm. • Thiết kế và lập hồ sơ thiết kế. • Lập trình. • Kiểm nghiệm α ( do nhóm kiểm tra của Đơn vị thực hiện). • Kiểm nghiệm β ( do người sử dụng tiến hành). Kế hoạch tổng thể chứa danh sách công việc cùng với các dự trù về thời gian thực hiện ( thời lượng công việc), chi phí ( đơn vị người/ngày hoặc người/tháng) ngày bắt đầu, kết thúc, và thường chỉ chi tiết một hoặc hai cấp. Kế hoạch này sau khi lập được trình lên để Ban lãnh đạo phê duyệt và sau đó được dùng làm cơ sở để các thành viên trong nhóm phát triển lên kế hoạch chi tiết và để ban lãnh đạo kiểm tra, đánh giá quá trình triển khai thực hiện dự án . Kế hoạch tổng thể hiện nay thường được lập trên một file MS Word hoặc Excel. Một kế hoạch tổng thể có dạng như sau : KHOA CNTT – ĐH KHTN Chương 2 : Khảo sát và phân tích hiện trạng 7 Hình 2.1. Một ví dụ về kế hoạch tổng thể Kế hoạch chi tiết được lập để triển khai cụ thể từng công việc của kế hoạch tổng thể .Kế hoạch chi tiết được lập bằng phần mềm Microsoft Office Project . Kế hoạch chi tiết chứa danh sách các công việc chi tiết cùng với thông tin về thời lượng, chi phí, ngày bắt đầu và kết thúc dự kiến, và có thể chi tiết thành nhiều cấp. Kế hoạch chi tiết cũng có thể có thông tin về nhân viên được phân công vào từng công việc chi tiết. Vì dự án thường lớn và các giai đoạn có thể được tiến hành song song bởi các nhóm khác nhau ( ví dụ nhóm kiểm tra có thể bắt đầu công việc của mình song song với nhóm lập trình chứ không đợi nhóm này kết thúc ) nên kế hoạch chi tiết thường được chia thành nhiều phần, mỗi phần nằm trên một file Project (*.mpp) khác nhau. Kế hoạch chi tiết không được lập từ đầu dự án theo kế hoạch tổng thể mà sẽ được bổ sung lần lượt theo từng giai đoạn. Khi lập kế hoạch chi tiết, trưởng dự án phải dựa trên những dự trù ban đầu về thời lượng, chi phí công Tên công việc Thời lượng Chi phí Bắt đầu Kết thúc Công việc tổng thể mức 1 (cấp 1) Công việc tổng thể mức 2 (cấp 2) KHOA CNTT – ĐH KHTN Chương 2 : Khảo sát và phân tích hiện trạng 8 việc của kế hoạch tổng thể. Tuy nhiên, với những phát sinh về công việc trong quá trình thực hiện thực tế, kế hoạch chi tiết luôn có sự khác biệt so với kế hoạch tổng thể. Khi nhận thấy sai lệch này là quá lớn, trưởng dự án phải điều chỉnh lại kế hoạch tổng thể. Ở mỗi giai đoạn của dự án, sau khi đã lập kế hoạch chi tiết, trưởng dự án sẽ phân công các công việc trong kế hoạch cho những người cụ thể của đơn vị. Thông tin phân công (tên nhân viên được phân công, tỷ lệ thời gian tham gia, số giờ làm,…) cũng được ghi nhận bằng MS Office Project vào file kế hoạch (.mpp) có công việc tương ứng . Kế hoạch chi tiết có dạng: Hình 2.2. Một ví dụ về kế hoạch chi tiết Trong quá trình thực hiện công việc được giao, nhân viên sẽ báo cáo tiến độ công việc định kỳ ( thường là vào mỗi cuối tuần). Trưởng dự án kiểm tra báo cáo và dùng MS Office Project ghi nhận tiến độ công việc vào file kế hoạch Tên nhân viên được phân công Công việc chi tiết mức 1 (cấp 1) Công việc chi tiết mức 2 (cấp 2) Tỷ lệ tham gia KHOA CNTT – ĐH KHTN Chương 2 : Khảo sát và phân tích hiện trạng 9 (.mpp) tương ứng. Khi đó, trên bản kế hoạch chi tiết sẽ có thêm thông tin về tiến độ công việc : thời lượng và chi phí thực tế, tỷ lệ hoàn tất tính đến thời điểm hiện tại. Khi kết thúc dự án hay kết thúc một giai đoạn (hoặc có thể là bất cứ khi nào có yêu cầu) , dựa trên các thông tin đã ghi nhận trên các bản kế hoạch, trưởng dự án phải thống kê chi phí thực hiện cho một công việc tổng thể, một giai đoạn hoặc toàn bộ dự án tính đến thời điểm hiện tại. Ban lãnh đạo luôn có yêu cầu nắm được các thông tin tổng quan về dự án : tiến độ thực hiện dự án nhìn từ các kế hoạch tổng thể, chi phí tổng thể của dự án. Cùng với việc lập kế hoạch và triển khai thực hiện kế hoạch, một số thông tin khác cũng cần được quản lý trong quá trình triển khai các dự án : thông tin về các nhân viên của Đơn vị và năng lực, trình độ của họ; các văn bản phát sinh trong quá trình làm việc với Khách hàng : hợp đồng , phụ lục hợp đồng, biên bản thanh lý hợp đồng, biên bản làm việc…Hiện nay, các thông tin này vẫn phải quản lý thủ công 2.2. Phân tích hiện trạng : 2.2.1. Lược đồ business usecase cho nghiệp vụ hiện tại : a. Mức tổng quan : toàn bộ nghiệp vụ cần xem xét có thể được phân thành 3 phần như sau : [...]... lại C N TT u cầu : hỗ trợ tra cứu thơng tin các văn bản phát sinh trong q trình làm việc : hợp đồng , phụ lục hợp đồng , biên bản làm việc, biên bản thanh lý hợp đồng,…theo từng giai đoạn của dự án Chương 3 tiếp theo sau sẽ trình bày một phương án cụ thể để xây dựng hệ K H O A thống mới đáp ứng các u cầu đã đặt ra 21 Chương 3 : Phương án xây dựng hệ thống mới Chương 3 : Phương án xây dựng hệ thống mới... đáp ứng được các u cầu đã đặt ra Vì vậy cơng cụ hỗ trợ mới phải gắn với một tổ chức CSDL mới Để giải quyết được các vấn đề hiện tại, CSDL này có những đặc điểm chính sau: - Quản lý các dự án theo quan hệ dự án – dự án con (nếu có) - Quản lý các kế hoạch tổng thể theo từng dự án Mỗi dự án có thể có nhiều phiên bản kế hoạch tổng thể 24 Chương 3 : Phương án xây dựng hệ thống mới - Kế hoạch chi tiết ln có... cụ mới PMA (Project Management Assistant) là phần cơ bản của phương án xây dựng hệ thống mới PMA là cơng cụ sẽ được tập trung xây 23 Chương 3 : Phương án xây dựng hệ thống mới dựng để hỗ trợ quản lý các kế hoạch đã được lập bằng MS Office Project , nhằm giúp giải quyết các vấn đề của hệ thống hiện tại PMA có thể được chia thành 4 phần cơ bản : Cơ sở dữ liệu để lưu trữ thơng tin - Module Trích lọc và... thống mới 3.2 Mơ tả kiến trúc hệ thống mới Hệ thống mới sẽ gồm 2 phần chính : hệ thống phần mềm MS Office Project hỗ trợ cho việc lập kế hoạch, và cơng cụ mới PMA (Project Management Assistant) hỗ trợ quản lý các kế hoạch từ tổng thể đế chi tiết 22 Chương 3 : Phương án xây dựng hệ thống mới 3.2.1 Lập kế hoạch với MS Office Project - Trưởng dự án sẽ lập kế hoạch tổng thể và chi tiết bằng MS Office Project... khơng quản lý được Thực tế, các thơng tin này rất cần để Ban lãnh đạo có thể đánh giá q trình làm việc của nhóm phát triển dự án, đồng thời để rút kinh nghiệm cho các lần lập kế hoạch của các dự án sau 19 Chương 2 : Khảo sát và phân tích hiện trạng u cầu : Cơng cụ mới phải hỗ trợ lưu trữ các kế hoạch tổng thể theo từng phiên bản c Khơng lưu vết được các thao tác cập nhật trên kế hoạch: Phần mềm MS... cách tổ chức quản lý thơng tin như trên, PMA hồn tồn có thể hỗ – trợ kết xuất tự động các thống kê từ tổng thể đến chi tiết Ngồi ra , PMA còn có thể kiểm tra chênh lệch giữa kế hoạch tổng thể C N TT với kế hoạch chi tiết, hỗ trợ lập phiên bản kế hoạch tổng thể mới; so sánh, tổng hợp các phiên bản để giúp Ban lãnh đạo có thể đánh giá q trình phát triển dự án, đồng thời có thể giúp Trưởng dự án rút kinh... Phương án xây dựng hệ thống mới 3.4 Khảo sát hệ thống phần mềm Microsoft Project Server 3.4.1 Sơ lược về hoạt động của MS Project Server MS Project Server là một phần trong hệ thống phần mềm MS Office Project do Microsoft phát triển. (bao gồm MS Office Project K H TN Standard, MS Office Project Professionalvà MS Project Server) Project Server ra đời với mục đích chính là phục vụ cho việc Quản lý dự án chun... mới: Nhìn chung, cách làm việc như hiện tại có thể giúp cho Trưởng dự án quản lý được các cơng việc cần thực hiện ở mức chi tiết Phần mềm MS Office Project hỗ trợ tốt q trình lập kế hoạch và ghi nhận tiến độ Tuy nhiên, khi cần một cái nhìn tổng quan trên tồn bộ dự án thì cách tổ chức quản lý kế hoạch hiện nay đã gặp một số khó khăn, cụ thể như sau: a Khơng có mối liên hệ chặt chẽ giữa kế hoạch tổng... Business usecase cho phần 2 : thống kê chi phí phát triển dự án Thống kê trên kế hoạch chi tiết MS Office Project K H TN Truong du an Thống kê trên tổng thể dự án H Ban lanh dao Thống kê về thời lượng, chi phí thực hiện , chênh lệch giữa thực tế với kế hoạch Đ Hình 2.5 business usecase diagram “ Thống kê chi phí phát triển – dự án d Lược đồ business usecase cho phần 3 : Quản lý các thơng tin K H... khơng hỗ trợ lưu vết thao tác, điều này dẫn K H TN đến các sai lệch khi thống kê Trường hợp rõ ràng nhất là khi một cơng việc bị xố khỏi kế hoạch khi đã được thực hiện một phần Chi phí cho phần việc này thực tế vẫn phải được tính vào tổng chi phí phát triển dự án trong khi MS Project sẽ xố hồn tồn thơng tin về cơng việc này trên tập tin kế hoạch tương ứng H u cầu : Cơng cụ được xây dựng phải hỗ trợ . KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN PHẠM NGUYÊN THẢO – 0012665 XÂY DỰNG CÔNG CỤ HỖ TRỢ QUẢN LÝ QUÁ TRÌNH PHÁT TRIỂN DỰ. phí, tiến độ công việc trong quá trình phát triển dự án phần mềm. Công cụ mới phải gắn kết với hệ thống phần mềm Microsoft Office Project, cụ thể là cho