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
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
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 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
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ế
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
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
10
Lap ke hoach va theo doi
viec thuc hien ke hoach
Thong ke chi phi
phat trien du an
Quan ly cac thong tin
lien quan
Ban lanh dao
Lap ke hoach tong the
Hieu chinh ke hoach tong the
Lap ke hoach chi tiet
Truong du an
Hình 2.4. business usecase diagram “Lập kế hoạch và theo dõi thực hiện kế hoạch”
KHOA CNTT – ĐH KHTN
Chương 2 : Khảo sát và phân tích hiện trạng
11
MS Office
Project
Ban lanh dao
Thống kê trên kế hoạch chi tiết
Truong du an
Thống kê trên tổng thể dự án
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
Quan ly nhan vien
Quan ly van ban
Nhan vien van
phong
c. Business usecase cho phần 2 : thống kê chi phí phát triển dự án
KHOA CNTT – ĐH KHTN
Chương 2 : Khảo sát và phân tích hiện trạng
12
Lập kế hoạch
tổng thể
Kế hoạch tổng
thể được ghi nhận
trong file MS
Word hoặc Excel
Trình ban lãnh đạo
phê duyệt
Kế hoạch hợp lý?
Không
Có
Phêâ duyệt kế
hoạch
Ban lanh daoTruong du an
2.2.2 Mơ hình chi tiết hiện trạng – sơ đồ activity:
a. Activity diagram cho use case “Lập kế hoạch tổng thể”
13
Bắt đầu một giai đoạn
Lên kế hoạch chi tiết cho các công
việc tổng thể thuộc giai đoạn này
Triển khai thực
hiện và theo dõi
Cần điều chỉnh,
bổ sung?
Điều chỉnh, bổ sung kế
hoạch chi tiếùt
có
Sử dụng các hỗ trợ,
tiện ích của MS Project
để thực hiện. Kế hoạch
chi tiết được lưu vào
file project (.mpp)
Kiểm tra chênh lệch với
kế hoạch tổng thể
Không
Truong du an
b. Activity diagram cho use case “Lập kế hoạch chi tiết” :
việc tổng thể trong KHTT
Chênh lệch
nhiều?
Điều chỉnh kế
hoạch tổng thể
có
Trình ban lãnh
đạo
Tính tổng chi phí và thời lượng
của các công việc chi tiết
Trưởng dự án sửa
lại bản kế hoạch
tổng thể ban đầu
(trên file Word hoặc
Excel) hoặc lập lại
kế hoạch khác khi
khác biệt quá nhiều
Kiểm tra, phê
duyệt kế hoạch
Ban lanh daoMS ProjectTruong du an
c. Activity diagram cho use case “Điều chỉnh kế hoạch tổng thể”:
công
Tham khảo thông tin
trình độ nhân viên
Xác đònh loại công việc và
yêu cầu về trình độ
Phân công
Thông báo cho nhân viên
về công việc được giao
Hiển thò kế
hoạch chi tiết
Ghi nhận phân
công
Cung cấp thông tin
trình độ nhân viên
Nhận và thực
hiện công việc
Nhan v ienHo so nhan vienMS ProjectTruong du an
d. Activity diagram cho use case “Phân cơng”:
hoạch chi tiết (file .mpp)
Bao cao bang file
Word hoac Excel
Nhận báo cáo
công việc
Kiểm tra công
việc
Nhập thông tin
tiến độ
Ghi nhận tiến
độ
MS ProjectTruong Du anNhan v ien
e. Activity diagram cho use case “Theo dõi tiến độ thực hiện”:
Hình 2.11. Activity diagram “Theo dõi tiến độ thực hiện”
kê
In thống kê
MS ProjectTruong du an
f. Activity diagram cho use case “Thống kê trên kế hoạch chi tiết”:
Hình 2.12. Activity diagram “ Thống kê trên kế hoạch chi tiết”
Hình 2.13. Activity diagram “Thống kê trên tổng thể dự án”
2.2.3 Những khó khăn trong qui trình nghiệp vụ hiện tại và một số u
cầu đối với hệ thống 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 thể và kế hoạch chi
tiết, cũng như giữa các kế hoạch chi tiết với nhau
KHOA CNTT – ĐH KHTN
các dự án sau.
KHOA CNTT – ĐH KHTN
Chương 2 : Khảo sát và phân tích hiện trạng
20
Yê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 Office Project không hỗ trợ lưu vết thao tác, điều này dẫn
đế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ị xoá 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ẽ xoá hoàn toàn thông tin về công việc này trên tập
tin kế hoạch tương ứng.
Yêu cầu :
Công cụ được xây dựng phải hỗ trợ lưu vết mỗi khi cập nhật
tiến độ công việc và phân công (cho nhu cầu khai thác về sau) , và lưu lại
thông tin về công việc bị xóa nếu công việc đã được thực hiện một phần
(đã có chi phí thực tế)
d. Một số thông tin cần cho việc quản lý chưa được hỗ trợ :
Phần mềm MS Project tuy cung cấp các hỗ trợ rất tốt cho việc lập kế
hoạch và ghi nhận thông tin tiến độ công việc nhưng lại thiếu hỗ trợ một
thể đóng vai trò Lập trình viên. Có mối quan hệ giữa loaị công việc và
vai trò : mỗi loại công việc chỉ có thể được đảm nhận bởi một hoặc một
vài vai trò nhất định.
e. Một số thông tin liên quan vẫn phải quản lý thủ công:
Hiện nay, các văn bản liên quan đến quá trình phát triển dự án : 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,…vẫn còn được quản lý thủ công, nên khó khăn khi cần tìm lại.
Yêu cầu :
hỗ trợ tra cứu thông tin các văn bản phát sinh trong quá 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ệ
thống mới đáp ứng các yêu cầu đã đặt ra. KHOA CNTT – ĐH KHTN
kết hợp với một số yêu cầu và đề nghị của Đơn vị nơi thực tập , em đã xác định
phương án xây dựng hệ thống mới như sau :
3.1 Lược đồ kiến trúc tổng quan
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ừ tổng thể đế chi tiết KHOA CNTT – ĐH KHTN
phương án xây dựng hệ thống mới. PMA là công cụ sẽ được tập trung xây
KHOA CNTT – ĐH KHTN
Chương 3 : Phương án xây dựng hệ thống mới
24
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à chuyển đổi dữ liệu với nhóm chức năng đọc các kế
hoạch từ Project Server và cập nhật thông tin khi các bản kế hoạch được
cập nhật
- Nhóm chức năng Quản lý thông tin liên quan chịu trách nhiệm quản lý
các thông tin về dự án, nhân viên, các văn bản phát sinh trong quá trình
thực hiện dự án và các danh mục như loại công việc, vai trò, giai đoạn,…
- Nhóm chức năng Thống kê thực hiện việc kết xuất các thống kê từ tổng
thể đến chi tiết.
Đối với PMA, các vấn đề sau cần được đặc biệt quan tâm :
a) Tổ chức quản lý thông tin
Như đã phân tích ở phần (2.2.3), ta thấy các khuyết điểm chính của hệ thống
hiện tại chủ yếu xuất phát từ việc quản lý thông tin không chặt chẽ. Hệ thống
phần mềm Project Server tuy có thể giúp lưu trữ dữ liệu tập trung, nhưng