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
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 : [...]... thay đổi Kết xuất thống kê Yêu cầu thống kê Hình 3.2 Mơ hình tổng quan nghiệp vụ với hệ thống mới 27 Chương 3 : 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. .. có thể ánh xạ với các cơng việc con của kế hoạch tổng thể 3.2.2 Quản lý kế hoạch với cơng cụ mới PMA : Cơng 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. .. 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 Từ việc phân tích và đánh giá các ưu, khuyết điểm của hệ thống hiện tại ở chương 2, kết hợp với một số u cầu và đề nghị của Đơn vị nơi thực tập , em đã xác định 3.1 K H TN phương án xây dựng hệ thống mới như sau : Lược đồ kiến trúc tổng quan MS Office Project Professional Quản lý các thơng tin liên quan C N TT – Đ H MS Project. .. Web Access CSDL Project Server Trích lọc và chuyển đổi dữ liệu CSDL PMA Project Data Service (PDS) Thống kê PMA K H O A MS Office Project Hình 3.1 Lược đồ kiến trúc tổng quan hệ 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ừ... 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... đượ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ó mối quan hệ với phiên bản kế hoạch tổng thể mới nhất Có thể tìm được dễ dàng các cơng việc chi tiết cho... việc - Phần lập kế hoạch này chủ yếu dựa vào các hỗ trợ sẵn có của hệ thống H phần mềm MS Office Project , khơng cần phải xây dựng gì thêm Tuy nhiên, để đảm bảo cho hoạt động của cơng cụ mới PMA, các kế hoạch lập Đ ra phải tn theo một số ràng buộc : – o Tồn bộ kế hoạch tổng thể chỉ thuộc một file project (ở đây xin vẫn tạm dùng cụm từ “file project để chỉ một bản kế hoạch được lập C N TT bằng MS Project. .. 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 thể và kế hoạch chi tiết, cũng như giữa các kế hoạch chi tiết với. .. bản làm việc, biên bản thanh lý hợp đồng,…vẫn còn được quản lý thủ cơng, nên khó khăn khi cần tìm 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ừ 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 Professional, sau đó lưu lại các bản kế hoạch này vào CSDL của Project Server Project Server là MS Office Project K H TN - Thơng qua hai dạng client của Professional và Project Web Access, người dùng có thể xem và hiệu . 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Ự