SlideShare a Scribd company logo
1 of 112
Download to read offline
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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 :
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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)
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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 :
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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 tietTruong du an
Nhan vien
Phan cong cong viec
Theo doi tien do cong viec
MS Office
Project
Hình 2.3. Tổng quan nghiệp vụ hiện tại
b. Lược đồ business usecase cho phần 1 : lập kế hoạch và theo đõi
việc thực hiện kế hoạch:
Hình 2.4. business usecase diagram “Lập kế hoạch và theo dõi thực hiện kế hoạch”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
11
MS Office
Project
Ban lanh dao
Thoáng keâ treân keá hoaïch chi tieátTruong du an
Thoáng keâ treân toång theå döï aùn
Thoáng keâ veà thôøi
löôïng, chi phí
thöïc hieän , cheânh
leäch giöõa thöïc teá
vôùi keá hoaï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
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
liên quan
Hình 2.6. business usecase diagram “ Quản lý các thông tin liên
quan
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
12
Laäp keá hoaïch
toång theå
Keá hoaïch toång
theå ñöôïc ghi nhaän
trong file MS
Word hoaëc Excel
Trình ban laõnh ñaïo
pheâ duyeät
Keá hoaïch hôïp lyù?
Khoâng
Coù
Pheââ duyeät keá
hoaï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ể”
Hình 2.7 Activity diagram “Lập kế hoạch tổng thể”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
13
Baét ñaàu moät giai ñoaïn
Leân keá hoaïch chi tieát cho caùc coâng
vieäc toång theå thuoäc giai ñoaïn naøy
Trieån khai thöïc
hieän vaø theo doõi
Caàn ñieàu chænh,
boå sung?
Ñieàu chænh, boå sung keá
hoaïch chi tieáùt
coù
Söû duïng caùc hoã trôï,
tieän ích cuûa MS Project
ñeå thöïc hieän. Keá hoaïch
chi tieát ñöôïc löu vaøo
file project (.mpp)
Kieåm tra cheânh leäch vôùi
keá hoaïch toång theå
Khoâng
Truong du an
b. Activity diagram cho use case “Lập kế hoạch chi tiết” :
Hình 2.8. Activity diagram “Lập kế hoạch chi tiết”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
14
Kieåm tra cheânh leäch vôùi coâng
vieäc toång theå trong KHTT
Cheânh leäch
nhieàu?
Ñieàu chænh keá
hoaïch toång theå
coù
Trình ban laõnh
ñaïo
Tính toång chi phí vaø thôøi löôïng
cuûa caùc coâng vieäc chi tieát
Tröôûng döï aùn söûa
laïi baûn keá hoaïch
toång theå ban ñaàu
(treân file Word hoaëc
Excel) hoaëc laäp laïi
keá hoaïch khaùc khi
khaùc bieät quaù nhieàu
Kieåm tra, pheâ
duyeät keá hoaïch
Ban lanh daoMS ProjectTruong du an
c. Activity diagram cho use case “Điều chỉnh kế hoạch tổng thể”:
Hình 2.9. Activity diagram “Điều chỉnh kế hoạch tổng thể”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
15
Môû keá hoaïch chi tieát caàn phaân
coâng
Tham khaûo thoâng tin
trình ñoä nhaân vieân
Xaùc ñònh loaïi coâng vieäc vaø
yeâu caàu veà trình ñoä
Phaân coâng
Thoâng baùo cho nhaân vieân
veà coâng vieäc ñöôïc giao
Hieån thò keá
hoaïch chi tieát
Ghi nhaän phaân
coâng
Cung caáp thoâng tin
trình ñoä nhaân vieân
Nhaän vaø thöïc
hieän coâng vieäc
Nhan vienHo so nhan vienMS ProjectTruong du an
d. Activity diagram cho use case “Phân công”:
Hình 2.10. Activity diagram “Phân công”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
16
Göûi baùo caùo
coâng vieäc
nhaäp caùc thoâng tin veà tieán
ñoä ñaõ kieåm tra vaøo keá
hoaïch chi tieát (file .mpp)
Bao cao bang file
Word hoac Excel
Nhaän baùo caùo
coâng vieäc
Kieåm tra coâng
vieäc
Nhaäp thoâng tin
tieán ñoä
Ghi nhaän tieán
ñoä
MS ProjectTruong Du anNhan vien
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
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
17
Yeâu caàu thoáng keâ treân moät
keáâ hoaïch chi tieát
MS Project chæ
thöïc hieän thoáng
keâ treân moät file
project (.mpp)
Hieäu chænh
thoáng keâ
Keát xuaát thoáng
keâ
In thoáng keâ
MS Proj ectTruong 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”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
18
Yeâu caàu xem thoáng keâ treân
töøng baûn keá hoaïch chi tieát
Toång hôïp soá lieäu
Laäp thoáng keâ toång theå
Thoáng keâ treân toaøn boä
döï aùn hoaëc cho moät vaøi
giai ñoaïn nhaát ñònh
Keát xuaát thoáng keâ treân töøng
baûn keá hoaïch chi tieát
Xem vaø ñaùnh
giaù coâng vieäc
Ban lanh daoMS ProjectTruong du an
g. Activity diagram cho use case “Thống kê trên tổng thể dự án”:
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ố yê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 quá 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 toà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
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
19
Hiện tại, toàn bộ kế hoạch của một dự án không nằm trên cùng một file
project mà được tách thành nhiều phần : một kế hoạch tổng thể và nhiều
kế hoạch chi tiết, và các phần có thể được lập bởi những người khác
nhau. Kế hoạch tổng thể được lưu trên một tập tin MS Word hoặc Excel,
và không có mối liên hệ vật lý nào với các bản kế hoạch chi tiết. Trong
khi về mặt ý nghĩa, kế hoạch chi tiết là để triển khai chi tiết cho từng
công việc trong kế hoạch tổng thể. Chính điều này đã dẫn đến khó khăn
khi cần một thống kê tổng thể trên toàn bộ dự án, và cũng khó kiểm soát
được chênh lệch giữa kế hoạch tổng thể và các kế hoạch chi tiết triển
khai cho nó.
Yêu cầu : Công cụ mới hỗ trợ lập các thống kê tổng thể (về chi phí dự
án, về tiến độ công việc,…), cung cấp một cái nhìn tổng quan rõ ràng về
dự án , nhưng đồng thời vẫn cho phép tách kế hoạch của dự án thành
nhiều phần như hiện tại, không gây khó khăn cho những người lập kế
hoạch, và vẫn cho phép lập kế hoạch bằng MS Office Project. Điều này
có nghĩa là công cụ mới phải đọc thông tin từ các bản kế hoạch được lập
và tổ chức quản lý lại một cách có hệ thống.
b. Không quản lý tốt các phiên bản của kế hoạch tổng thể
Khi có sự chênh lệch tương đối lớn giữa kế hoạch tổng thể và kế hoạch
chi tiết, Trưởng dự án phải điều chỉnh lại kế hoạch tổng thể. Trưởng dự
án có thể sửa ngay trên tập tin cũ, hoặc xoá toàn bộ và lập một kế hoạch
mới nếu thấy không kiểm soát được kế hoạch cũ do chênh lệch quá lớn.
Các thông tin về phiên bản kế hoạch tổng thể cũ, do đó, không còn được
lưu giữ, hay nếu có cũng 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á quá 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.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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
số thông tin: không phân loại công việc ; không có thông tin đầy đủ về
nhân viên , đặc biệt là trình độ của nhân viên, không ghi nhận được
thông tin về vai trò của nhân viên khi phân công nhân viên này vào công
việc. Các thông tin này đều cần cho việc phân loại chi phí dự án khi thực
thống kê .
Yêu cầu : Quản lý bổ sung các thông tin này. Cụ thể:
Xác định loại công việc cho các công việc trong kế hoạch . Ví dụ :
công việc T thuộc loại công việc thiết kế. Các loại công việc có thể phân
thành nhiều cấp. Ví dụ với loại công việc thiết kế, có các loại công việc
con: thiết kế dữ liệu, thiết kế giao diện,…
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 2 : Khảo sát và phân tích hiện trạng
21
Xác định trình độ cho nhân viên, ví dụ: nhân viên Nguyễn Văn A
có trình độ là Lập trình viên bậc 1
Xác định vai trò của nhân viên trong mỗi phân công. Một nhân
viên với một trình độ nhất định vẫn có thể đảm nhận các vai trò khác
nhau, nên thông tin về trình độ nhân viên không là ràng buộc khi phân
công. Ví dụ : Nhân viên Nguyễn Văn A có trình độ Thiết kế viên bậc 1
trong công việc T đóng vai trò Thiết kế viên, nhưng trong công việc T’ có
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.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
22
CSDL
Project
Server
MS Office
Project
Professional
MS Project
Web Access
CSDL
PMA
Trích lọc và
chuyển đổi
dữ liệu
Project Data
Service
(PDS)
Quản lý các
thông tin liên
quan
Thống kê
MS Office Project PMA
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ố 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
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
23
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.
- Thông qua hai dạng client của Project Server là MS Office Project
Professional và Project Web Access, người dùng có thể xem và hiệu chỉnh
cho các kế hoạch đã lập, cũng như bổ sung thông tin phân công và cập
nhật tiến độ công 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
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 tuân theo một số ràng buộc :
o Toà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
bằng MS Project và lưu vào Project Server, dù thật ra bản kế hoạch
sẽ không được lưu thành một file .mpp mà được lưu trữ trong CSDL)
o Trong kế hoạch tổng thể sẽ có các công việc cấp 1 tương ứng với các
giai đoạn trong dự án, ngoài ra có thể có các công việc con (subtask)
cho mỗi công việc cấp 1
o Mỗi bản kế hoạch thuộc kế hoạch chi tiết sẽ chi tiết cho một công
việc tổng thể cấp 1 . Ngoài ra các công việc cấp 1 của kế hoạch chi
tiết cũng 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
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
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
cũng không quản lý được mối liên hệ giữa các bản kế hoạch , giữa kế hoạch
tổng thể với kế hoạch chi tiết, không lưu vết được thao tác,.., nói chung là
không đủ để giải quyết các vấn đề của hệ thống hiện tại và không đáp ứng
được các yê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ể .
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
25
- Kế hoạch chi tiết luôn 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 một công
việc tổng thể nhất định cũng như xác định chênh lệch nếu có về chi phí
và thời lượng giữa hai bên.
- Khi cập nhật thông tin về tiến độ công việc, thông tin cũ có thể được lưu
lại trước khi bị ghi đè lên
- Có thể giữ lại thông tin về các công việc bị xoá khỏi kế hoạch nếu đã có
thông tin về quá trình thực hiện
- Các công việc có thông tin về loại công việc và giai đoạn tương ứng.
- Lưu trữ các thông tin cần thiết về công việc , phân công (ngày bắt đầu,
kết thúc, thời lượng , chi phí dự kiến và thực tế ) và quan hệ giữa công
việc – công việc con
b) Giao tiếp với MS Project Server
Để có thể cho phép người dùng lập kế hoạch bằng hệ thống phần mềm
MS Project và sau đó quản lý các kế hoạch này trong CSDL mới, PMA có
module Trích lọc và chuyển đổi dữ liệu giữ vai trò giao tiếp với phần mềm
MS Office Project (mà cụ thể ở đây là MS Project Server). Module này cần
thực hiện các chức năng chính như sau:
- Đọc và ghi nhận một kế hoạch tổng thể mới sau khi kế hoạch này đã
được lập và lưu trữ trong Project Server.
- Đọc và ghi nhận các bản kế hoạch chi tiết (người dùng sẽ bổ sung
thông tin trong quá trình này để PMA có thể gắn kết kế hoạch chi
tiết với kế hoạch tổng thể)
- Cập nhật các bản kế hoạch tổng thể và kế hoạch chi tiết khi có thay
đổi trên file project tương ứng trong Project Server. Đây là một
chức năng đòi hỏi nhiều xử lý để đảm bảo sự nhất quán trong
CSDL của PMA.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
26
- Trong quá trình ghi nhận mới hoặc cập nhật kế hoạch, cho phép
người dùng bổ sung các thông tin như loại công việc của công việc,
vai trò của nhân viên được phân công…
Để tránh sự phụ thuộc tuyệt đối vào CSDL của Project Server ( về cấu trúc
CSDL và cả tên các thuộc tính, các quan hệ ), PMA sẽ không đọc trực tiếp từ
CSDL của Project Server mà thông qua PDS (Project Data Service) , một
Web Service do Project Server cung cấp, cho phép đọc và thực hiện cập nhật
trên CSDL này thông qua các XML Request. Hơn nữa , dùng PDS cũng là
cách để có thể tuân thủ tinh thần an toàn và bảo mật thông tin của Project
Server.
c) Thống kê
Với cách tổ chức quản lý thông tin như trên, PMA hoàn toàn có thể hỗ
trợ kết xuất tự động các thống kê từ tổng thể đến chi tiết .
Ngoài ra , PMA còn có thể kiểm tra chênh lệch giữa kế hoạch tổng thể
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á quá trình phát
triển dự án, đồng thời có thể giúp Trưởng dự án rút kinh nghiệm cho các
lần lập kế hoạch sau.
3.3 Sơ đồ nghiệp vụ tổng quan với hệ thống mới
Hình 3.2 sau mô tả các nghiệp vụ chính với hệ thống mới. Đây chỉ là tổng quan
các nghiệp vụ chủ yếu. Các nghiệp vụ này và một số nghiệp vụ khác sẽ được
phân tích chi tiết trong các chương sau.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
27
Laäp keá hoaïch
toång theå
Yeâu caàu ghi nhaän keá
hoaïch toång theå môùi
Laäp keá hoaïch
chi tieát
Yeâu caàu theâm môùi
keá hoaïch chi tieát
Caäp nhaät, boå sung keá
hoaïch (toång theå, chi tieát)
yeâu caàu caäp
nhaät thay ñoåi
Yeâu caàu thoáng
keâ
Ghi nhaän keá
hoaïch toång theå
Ghi nhaän keá
hoaïch chi tieát
Ghi nhaän thay
ñoåi
Ghi nhaän keá hoaïch toång
theå vaøo CSDL cuûa PMA
Ghi nhaäân keá hoaïch
chi tieát môùi
Caäp nhaät thay
ñoåi
Keát xuaát thoáng
keâ
PMAMS Project Serv erTruong du an
Hình 3.2. Mô hình tổng quan nghiệp vụ với hệ thống mới
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
28
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
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
chuyên nghiệp (Enterprise Project Management _ EPM ) trên nhiều lĩnh
vực, không chỉ riêng cho các dự án phần mềm.
Thay vì lưu các bản kế hoạch được lập trên các file .mpp, Project
Server sử dụng một CSDL SQL Server để lưu trữ thông tin về các kế
hoạch được lập : các công việc, bảng phân công, tài nguyên sử dụng
trong dự án (nhân sự, máy móc, thiết bị…), và khá nhiều thông tin khác
về lịch làm việc, các ghi chú, các thông tin phục vụ cho việc hiển thị kế
hoạch.
Các kế hoạch trong Project Server được lập, xem và hiệu chỉnh
thông qua MS Project Professional hoặc qua web với Project Web
Access.
Project Server có cơ chế phân quyền chặt chẽ.
3.4.2. Các lý do của việc chọn Project Server cho hệ thống mới
Project Server được chọn để xây dựng hệ thống mới vì những lý do chính
như sau :
- Project Server cho phép lưu trữ dữ liệu tập trung , thuận tiện hơn cho
trưởng dự án trong việc quản lý các bản kế hoạch trước khi ghi nhận
chúng vào CSDL của PMA .
- Với Project Server và PDS, việc đọc thông tin trên các bản kế hoạch sẽ
dễ dàng hơn . Nếu dùng các file .mpp , dữ liệu phải được đọc thông qua
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
29
các đối tượng trong các component được cung cấp bởi MS Office Project
và xử lý sẽ phức tạp hơn.
3.4.3. Lược đồ CSDL của Project Server
Lược đồ CSDL của Project Server bao gồm 30 quan hệ.
Vì MS Office Project hỗ trợ người dùng rất nhiều trong việc hiển thị kế
hoạch, bao gồm cả việc tuỳ biến cách thể hiện một số thông tin như đơn vị
ngày tháng, thời gian, tiền tệ,…nên một phần lớn các quan hệ và thuộc tính
dùng để chứa các thông tin này và các tham số.
Một nhóm quan hệ khác chứa thông tin về lịch làm việc và mức chi phí
cho các tài nguyên. MS Office Project hỗ trợ lịch làm việc chung và cả lịch
biểu riêng cho từng tài nguyên (resource) và từng tác vụ (task). Các quan hệ
chứa lịch biểu này còn phục vụ cho việc lưu thông tin về các tác vụ không
được thực hiện liên tục (split task).
Trong phạm vi đề tài, chỉ khảo sát kỹ các quan hệ chứa các thông tin
chính về kế hoạch : kế hoạch (Project), công việc (task), phân công
(assignment), tài nguyên (resource). Lược đồ quan hệ của các quan hệ này
như sau :
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
30
MSP_PROJECTS
PK PROJ_ID
PROJ_NAME
PROJ_PROP_AUTHOR
PROJ_PROP_COMPANY
...
MSP_ASSIGNMENTS
PK,FK1,FK2 PROJ_ID
PK,FK2 TASK_UID
FK1 RES_UID
ASSN_UID
ASSN_WORK
...
MSP_RESOURCES
PK RES_UID
PK,FK1 PROJ_ID
RES_NAME
RES_COST
...
MSP_TASKS
PK,FK1 PROJ_ID
PK TASK_UID
TASK_ID
TASK_DUR
...
Hình 3.3. Lược đồ quan hệ của một số quan hệ chính trong CSDL
Project Server
Danh sách một số thuộc tính cần quan tâm :
Các quan hệ trong lược đồ trình bày ở trên đều có khoảng trên 50 thuộc
tính. Trong đó phần lớn là các thuộc tính dạng tham số (đối với bảng
MSP_PROJECTS), thuộc tính dùng cho việc hiển thị, thuộc tính tính toán. Ở
đây chỉ mô tả một số ít thuộc tính thật sự cần để xây dựng hệ thống mới.
a) MSP_PROJECTS
Quan hệ này chứa một số thông tin chung về bản kế hoạch , chủ yếu là
các tham số .
Ta cần quan tâm đến các thuộc tính sau :
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
31
Tên thuộc tính Kiểu dữ liệu Ý nghĩa
PROJ_ID Integer Mã của bản kế hoạch
PROJ_ NAME Varchar(255) Tên bản kế hoạch
PROJ_PROP_AUTHOR Varchar(255) Tên người lập (tên user lập kế
hoạch)
PROJ_CREATION_DATE Datetime Ngày lập kế hoạch
PROJ_TYPE Integer Loại ( = 0 đối với một kế
hoạch thông thường)
b) MSP_RESOURCES
Quan hệ này chứa thông tin về tất cả các tài nguyên dùng trong dự án, ở
đây chỉ xét các tài nguyên là nhân sự
Các thuộc tính cần quan tâm:
Tên thuộc tính Kiểu dữ liệu Ý nghĩa
RES_UID Integer Mã nhân viên
RES_NAME Varchar(255) Tên nhân viên (có thể chỉ là tên
tắt)
RES_ID Varchar(255) Số thứ tự của nhân viên
PROJ_ID Integer Tham chiếu đến quan hệ
MSP_PROJECTS
c) MSP_TASKS
Quan hệ này chứa thông tin về các công việc trong kế hoạch
Các thuộc tính cần quan tâm:
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
32
Tên thuộc tính Kiểu dữ liệu Ý nghĩa
TASK_UID Integer Mã công việc
PROJ_ID Interger Tham chiếu đến bảng
MSP_PROJECTS
TASK_ID Interger Số thứ tự của công việc
TASK_NAME Varchar(255) Tên công việc
TASK_OUTLINE_LEVEL Integer Mức của công việc(cho quan hệ
công việc- công việc con)
TASK_DUR Decimal Thời lượng của công việc
TASK_ACT_DUR Decimal Thời lượng thực tế
TASK_WORK Decimal Lượng việc
TASK_ACT_WORK Decimal Lượng việc thực tế
TASK_START_DATE Datetime Ngày bắt đầu theo kế hoạch
TASK_FINISH_DATE Datetime Ngày kết thúc theo kế hoạch
TASK_ACT_START Datetime Ngày bắt đầu thực tế
TASK_ACT_FINISH Datetime Ngày kết thúc thực tế
d) MSP_ASSIGNMENTS
Quan hệ này chứa thông tin về các phân công trong kế hoạch
Các thuộc tính cần quan tâm:
Tên thuộc tính Kiểu dữ liệu Ý nghĩa
ASSN_UID Integer Mã phân công
PROJ_ID Interger Mã kế hoạch
TASK_UID Interger Mã công việc
RES_UID Integer Mã nhân viên
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 3 : Phương án xây dựng hệ thống mới
33
ASSN_UNITS Decimal Tỷ lệ thời lượng mà nhân viên
tham gia vào công việc so với
tổng thời lượng mà nhân viên
này có thể làm việc, tính trong
một đơn vị thời gian
ASSN_WORK Decimal Lượng việc
ASSN_ACT_WORK Decimal Lượng việc thực tế
ASSN_START_DATE Datetime Ngày bắt đầu theo kế hoạch
ASSN_FINISH_DATE Datetime Ngày kết thúc theo kế hoạch
ASSN_ACT_START Datetime Ngày bắt đầu thực tế
ASSN_ACT_FINISH Datetime Ngày kết thúc thực tế
Ghi chú :
Vì PMA sẽ đọc dữ liệu thông qua PDS, một số thông tin được đọc ra sẽ
có thể khác về dạng thể hiện so với thông tin được lưu trong CSDL của Project
Server và cần những chuyển đổi thích hợp.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
34
Chương 4 : Phân tích hệ thống
Dựa trên phương án đã đề ra trong chương 3, chương 4 sẽ đi sâu hơn vào việc
phân tích hệ thống mới , để cho ta thấy rõ hơn các chức năng cụ thể mà PMA cần có ,
đồng thời cung cấp một cái nhìn ở mức quan niệm về tổ chức dữ liệu và xử lý của
PMA.
4.1. Chi tiết yêu cầu chức năng
Các yêu cầu chức năng đối với công cụ mới PMA như sau :
4.1.1 Lưu trữ và quản lý thông tin
PMA cần tổ chức lưu trữ và quản lý các thông tin sau :
- Danh mục các loại công việc, có xét đến quan hệ giữa loại công việc
chung và các loại công việc chi tiết , giữa loại công việc với các vai trò
có thể đảm nhận nó.
- Danh mục các vai trò và trình độ
- Hồ sơ nhân viên với thông tin về trình độ của họ.
- Thông tin chung về dự án : tên dự án, ngày dự kiến bắt đầu và kết thúc,
trưởng dự án, quan hệ giữa dự án và các dự án con.
- Danh sách các giai đoạn có thể có trong một dự án.
- Kế hoạch tổng thể của dự án : phiên bản, ngày lập, người lập
- Các công việc tổng thể : loại công việc; ngày bắt đầu và kết thúc dự kiến,
chi phí và thời lượng dự kiến; quan hệ giữa công việc và công việc con
- Kế hoạch chi tiết của dự án : công việc tổng thể được chi tiết, ngày lập,
người lập, ngày cập nhật cuối. Một công việc tổng thể (cấp 1) có thể
được chi tiết bởi một hoặc nhiều bản kế hoạch chi tiết
- Các công việc chi tiết: loại công việc; ngày bắt đầu và kết thúc dự kiến,
chi phí và thời lượng dự kiến; quan hệ giữa công việc và công việc con;
ngày bắt đầu và kết thúc thực tế, chi phí và thời lượng thực tế.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
35
- Thông tin phân công : công việc (chi tiết) và nhân viên được phân công
vào công việc, vai trò của nhân viên trong công việc; ngày bắt đầu và kết
thúc dự kiến, chi phí và thời lượng dự kiến; ngày bắt đầu và kết thúc thực
tế, chi phí và thời lượng thực tế, tỷ lệ hoàn tất đến thời điểm hiện tại
- Các văn bản phát sinh trong quá trình triển khai dự án :
Đối với các văn bản như hợp đồng, phụ lục hợp đồng, biên bản thanh lý
hợp đồng : lưu một số thông tin chính như khách hàng, số tiền của hợp
đồng, các phân hệ, các mốc thanh toán, số tiền thanh toán… và thông tin
về ngày lập, nơi lưu trữ
Đối với một số loại văn bản khác : chỉ cần lưu thông tin về giai đoạn phát
sinh , ngày lập và nơi lưu trữ.
4.1.2. Đồng bộ thông tin với Project Server
PMA cần cung cấp các chức năng sau để thực hiện việc đọc và chuyển đổi
thông tin từ một bản kế hoạch (một project) được lưu trữ trong CSDL của
Project Server thành một kế hoạch lưu trong CSDL của PMA theo đúng cấu
trúc của CSDL mới này (với đầy đủ thông tin về công việc và phân công).
(Tạm gọi toàn bộ quá trình này là Đồng bộ thông tin với Project Server)
- Ghi nhận kế hoạch tổng thể :
Ghi nhận một kế hoạch tổng thể mới được lập cho một dự án. Cần ghi
nhận được ngày bắt đầu, kết thúc, chi phí và thời lượng dự kiến cho từng
công việc. Thông tin phân công cho các công việc tổng thể trên file
project , nếu có, được xem như thông tin về người chịu trách nhiệm quản
lý việc thực hiện công việc đó.
Trong quá trình ghi nhận, cho phép người dùng bổ sung thêm thông
tin về giai đoạn và loại công việc của từng công việc tổng thể.
- Cập nhật kế hoạch tổng thể :
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
36
Thực hiện cập nhật dữ liệu thuộc về một kế hoạch tổng thể khi có sự
thay đổi trên file project tương ứng trong CSDL của Project Server.
- Ghi nhận kế hoạch chi tiết :
Ghi nhận một bản kế hoạch chi tiết mới được lập để chi tiết cho một
công việc tổng thể (không phải là công việc con) của kế hoạch tổng thể.
Cần ghi nhận được ngày bắt đầu, kết thúc, chi phí và thời lượng dự
kiến và thực tế (nếu có) cho từng công việc và từng phân công.
Trong quá trình ghi nhận, cho phép người dùng bổ sung thêm thông
tin về loại công việc của từng công việc chi tiết và xác định vai trò của
nhân viên được phân công
- Cập nhật kế hoạch chi tiết :
Thực hiện cập nhật dữ liệu thuộc về một kế hoạch chi tiết khi có sự
thay đổi trên file project tương ứng trong CSDL của Project Server.
Khi tiến hành cập nhật cần chú ý các vấn đề sau:
Xử lý lưu vết khi cập nhật tiến độ công việc
Nếu một công việc bị xoá khi đã được thực hiện một phần , cần
lưu trữ lại thông tin về chi phí cho phần việc đã thực hiện đó.
4.1.3. Khai thác dữ liệu - thực hiện thống kê
Hệ thống hỗ trợ kết xuất tự động các thống kê tổng thể hoặc chi tiết tùy
theo yêu cầu của người sử dụng.
Kiểm tra và thống kê chênh lệch giữa kế hoạch tổng thể với kế hoạch chi
tiết và hỗ trợ lập phiên bản kế hoạch tổng thể mới.
Chú trọng các thống kê tổng thể trên toàn dự án hoặc trên nhiều dự án.
4.1.4. Một số chức năng khác:
• Phân quyền : phân quyền cho các nhóm người dùng : Ban lãnh đạo,
Trưởng dự án, Nhân viên văn phòng và quản trị hệ thống
• Quản lý các tham số hệ thống
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
37
Dong bo thong tin
voi Project Server
quan tri he
thong
Quan ly thong
tin
Khai thac du
lieu - Thong ke
Phan quyen
Quan ly cac tham so he thong
Quan tri He thong
Dang nhap
NSD
4.2. Mô hình hoá hệ thống
4.2.1. Lược đồ use case :
Các lược đồ use case sau mô tả các chức năng của công cụ mới được xây dựng
(PMA) . Các use case được chia thành bốn nhóm như sau :
Hình 4.1. Các nhóm chức năng của PMA
a. Nhóm use case Quản trị hệ thống:
Hình 4.2. lược đồ use case nhóm Quản trị hệ thống
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
38
Bảng mô tả các use case thuộc nhóm này :
STT Tên use
case
Actor Mô tả Điều kiện
tiên quyết
1 Đăng
nhập
Người sử
dụng hệ
thống
Một ngưòi sử dụng nhập các thông
tin về tên sử dụng và mật khẩu để
bắt đầu sử dụng hệ thống với các
chức năng tương ứng với quyền
của mình
2 Phân
quyền
Người quản
trị hệ thống
Người quản trị hệ thống sử dụng
PMA để cấp quyền sử dụng các
chức năng cho các nhóm người sử
dụng và cấp tên sử dụng, mật khẩu
cho mỗi người sử dụng thuộc từng
nhóm.
Người sử
dụng đăng
nhập thành
công với
quyền quản
trị
3 Quản lý
các tham
số hệ
thống
Người quản
trị hệ thống
Người quản trị hệ thống thêm bớt
hoặc thay đổi giá trị cho các tham
số và các quy định được sử dụng
trong hệ thống.
Người sử
dụng đăng
nhập thành
công với
quyền quản
trị
b. Nhóm use case quản lý thông tin:
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
39
Quan ly nhan vien
Quan ly van ban
Nhan vien van phong
Quan ly cac danh muc
Quan ly thong tin chung cua du an
Quan tri He thong
Hình 4.3. lược đồ use case nhóm quản lý thông tin
Bảng mô tả các use case thuộc nhóm này :
STT Tên use
case
Actor Mô tả Điều kiện
tiên quyết
4 Quản lý
nhân viên
Nhân viên
văn phòng
Nhân viên văn phòng sử dụng PMA
để ghi nhận hồ sơ một nhân viên
mới, thay đổi hoặc xóa hồ sơ một
nhân viên. Hệ thống cũng hỗ trợ tra
cứu thông tin nhân viên
Đăng nhập
thành công
với quyền
Nhân viên
văn phòng
5 Quản lý
văn bản
Nhân viên
văn phòng
Nhân viên văn phòng sử dụng PMA
để ghi nhận thông tin liên quan đến
các văn bản phát sinh trong quá
trình triển khai dự án (như đã trình
bày ở phần 4.1.1 ) và tra cứu các
thông tin này khi cần
Đăng nhập
thành công
với quyền
Nhân viên
văn phòng
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
40
Ghi nhan ke hoach tong the moi
Cap nhat ke hoach tong the
Ghi nhan ke hoach chi tiet
Truong Du an
MS Project Server
Cap nhat ke hoach chi tiet
6 Quản lý
các danh
mục
Người
quản trị hệ
thống
Người quản trị hệ thống quản lý
(thêm , xoá, cập nhật ) các danh mục
được sử dụng trong hệ thống (như
đã trình bày ở phần 4.1.1)
Đăng nhập
thành công
với quyền
quản trị
7 Quản lý
thông tin
chung dự
án
Người
quản trị hệ
thống
Người quản trị hệ thống dùng PMA
để ghi nhận thông tin chung về một
dự án mới và thay đổi nếu cần.
(Trước khi trưởng dự án được cấp
quyền để lên kế hoạch và thay đổi
thông tin trên dự án này)
Đăng nhập
thành công
với quyền
quản trị
c. Nhóm use case Đồng bộ thông tin với Project Server:
Hình 4.3. lược đồ use case nhóm Đồng bộ thông tin với Project Server
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
41
Bảng mô tả các use case thuộc nhóm này :
STT Tên use
case
Actor Mô tả Điều kiện tiên
quyết
8 Ghi
nhận kế
hoạch
tổng thể
mới
- Trưởng
dự án
- Project
Server
Trưởng dự án , sau khi đã lập một
kế hoạch tổng thể và lưu vào
Project Server, sử dụng PMA để
ghi nhận kế hoạch tổng thể đó vào
CSDL của PMA. (Quá trình này
được mô tả chi tiết bằng sơ đồ tuần
tự ở phần sau)
- Đăng nhập thành
công với quyền
trưởng dự án của
dự án tương ứng
- Dự án chưa có
kế hoạch tổng thể
9 Cập
nhật kế
hoạch
tổng thể
- Trưởng
dự án
- Project
Server
Trưởng dự án , sau khi đã cập nhật
project tương ứng với kế hoạch
tổng thể bằng Project Server, sử
dụng PMA để cập nhật các thay đổi
đó vào CSDL của PMA. (Quá trình
này được mô tả chi tiết bằng sơ đồ
tuần tự ở phần sau)
- Đăng nhập thành
công với quyền
trưởng dự án của
dự án tương ứng
- Dự án đã có kế
hoạch tổng thể
10 Ghi
nhận kế
hoạch
chi tiết
- Trưởng
dự án
- Project
Server
Trưởng dự án , sau khi đã lập một
kế hoạch chi tiết (một file project)
và lưu vào Project Server, sử dụng
PMA để ghi nhận kế hoạch chi tiết
đó vào CSDL của PMA và xác
định kế hoạch sẽ chi tiết cho một
công việc trong kế hoạch tổng thể
(Quá trình này được mô tả chi tiết
bằng sơ đồ tuần tự ở phần sau)
- Đăng nhập thành
công với quyền
trưởng dự án của
dự án tương ứng
- Dự án đã có kế
hoạch tổng thể
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
42
Xem phan cong cua nhan vien
Ban lanh dao
Thong ke chi tiet du an
Kiem tra chenh lech giua KHTT va
KHCT
MS Project Server
Lap phien ban KHTT moi
Truong Du an
Thong ke tong the chi phi du an
11 Cập
nhật kế
hoạch
chi tiết
- Trưởng
dự án
- Project
Server
Trưởng dự án , sau khi đã cập nhật
project tương ứng với kế hoạch chi
tiết bằng Project Server, sử dụng
PMA để cập nhật các thay đổi đó
vào CSDL của PMA. (Quá trình
này được mô tả chi tiết bằng sơ đồ
tuần tự ở phần sau)
- Đăng nhập thành
công với quyền
trưởng dự án của
dự án tương ứng
- Dự án đã có kế
hoạch tổng thể
d. Nhóm use case Khai thác dữ liệu- Thống kê:
Hình 4.3. lược đồ use case nhóm Khai thác dữ liệu – thống kê
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
43
Bảng mô tả các use case thuộc nhóm này :
STT Tên use
case
Actor Mô tả Điều kiện tiên quyết
12 Xem phân
công của
nhân viên
Ban lãnh
đạo
Ban lãnh đạo dùng PMA để
xem các thông tin phân công
của một nhân viên ( tất cả
hoặc trong một khoảng thời
gian nhất định)
- Đăng nhập thành
công với quyền ban
lãnh đạo
13 Thống kê
tổng thể
chi phí dự
án
Ban lãnh
đạo
hoặc
Trưởng
dự án
Ban lãnh đạo (hoặc trưởng dự
án) dùng PMA để thống kê
tổng thể chi phí của dự án (có
thể theo từng giai đoạn) , bao
gồm cả việc phân loại chi phí
theo loại công việc, theo vai
trò và trình độ người tham gia.
- Đăng nhập thành
công với quyền ban
lãnh đạo
14 Thống kê
chi tiết dự
án
- Trưởng
dự án
Trưởng dự án dùng PMA để
xem chi tiết thông tin về các
công việc chi tiết được triển
khai cho một công việc tổng
thể
- Đăng nhập thành
công với quyền
trưởng dự án của dự
án tương ứng
- Dự án đã có kế
hoạch
15 Kiểm tra
chênh lệch
giữa
KHTT và
KHCT
- Trưởng
dự án
Trưởng dự án sử dụng PMA
để thống kê các sai lệch về
thời lượng và chi phí giữa
KHTT và KHCT
- Đăng nhập quyền
trưởng dự án của dự
án tương ứng
- Dự án đã có kế
hoạch
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
44
16 Lập phiên
bản kế
hoạch tổng
thể mới
-Trưởng
dự án
- Project
Server
Bắt đầu use case này khi
trưởng dự án sau khi thống kê
sai lệch giữa kế hoạch tổng
thể và kế hoạch chi tiết, quyết
định lập phiên bản kế hoạch
tổng thể mới
PMA hỗ trợ tính toán và lập
một phiên bản mới trong
CSDL của PMA với các thông
tin về thời lượng và chi phí
phù hợp với kế hoạch chi tiết
hiện tại.
PMA tạo một project trong
Project Server tương ứng với
phiên bản KHTT mới
- Đăng nhập thành
công với quyền
trưởng dự án của dự
án tương ứng
- Dự án đã có kế
hoạch tổng thể và
chi tiết
4.2.2. Các lớp đối tượng chính bên trong hệ thống:
a) Sơ đồ các lớp đối tượng chính:
Hình bên dưới là mô hình quan niệm các lớp đối tượng chính bên trong hệ
thống, Trên sơ đồ chỉ có một số thuộc tính cơ bản của các lớp đối tượng.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
45
KeHoach
Ma
Ten
Ngay lap
GhiNhanMoi()
Cap nhat()
Xoa()
GiaiDoan
Ma
Ten
CongViec
Ma
Ten
Ngay bat dau
Ngay ket thuc
Chi phi
Thoi luong
Them()
Cap nhat()
Xoa()
KeHoachTongThe
Phien ban
Lap phien ban moi()
KeHoachChiTiet
Ngay cap nhat cuoi
TTCapNhat_CongViec
Stt
Thoi diem cap nhat
Chi phi TT ( truoc)
Thoi luong TT (truoc)
CongViecChiTiet
NgayBD TT
NgayKT TT
Thoi luong TT
Chi phi TT
Ty le hoan tat
Thong ke theo CVTT()
Thong ke theo du an()
*
1
*
1
0..1
0..*
1
*
0..1
0..*
PhanCong
Ngay bat dau(DK,TT)
Ngay ket thuc (DK,TT)
Chi phi (DK,TT)
Thoi luong (DK, TT)
Ty le hoan tat
Them()
Xoa()
Cap nhat()
Thong ke theo vai tro()
Thong ke theo trinh do()
Thong ke theo nhan vien()
*
1
TTCapNhat_PhanCong
Stt
Thoi diem cap nhat
Chi phi TT (truoc)
Thoi luong TT (truoc)*1 *1
1
*
*
1
TrinhDo
Ma
Ten
Bac
NhanVien
Ma
Ho ten
Ngay sinh
Dia chi
...
Them()
Xoa()
Cap nhat()
1
*
1
*
*1 *1
CongViecTongThe
Kiem tra chenh lech()
*
1
*
1
1
*
1
*
0..*
0..1
0..*
0..1
1
*
1
*
DuAn
Ma
Ten
Ngay bat dau
Ngay ket thuc
Ghi nhan moi()
Cap nhat()
Xoa()
1
*
1
*
0..*
0..10..1
0..*
LoaiCon
gViec
Ma
Ten
1
*
1
*
1
*
1
*
0..1
0..*
0..1
0..*
VaiTro
Ma
Ten
*
1
*
1
*
1
*
1
1..*
*
1..*
*
Hình 4.4. Sơ đồ các lớp đối tượng với một số thuộc tính và trách nhiệm chính
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
46
GiaiDoan
Ma
Ten
LoaiVanBan
Ma
Ten loai VB
VanBan
Ma
Ten
Ngay lap
Noi luu tru
Them()
Xoa()
Cap nhat()
Tra cuu()
1*
*1
BBThanhLyHopDong
So
Ngay lap
Gia tri da thanh toan
Noi luu tru
MocThanhToan
Stt
ThoiDiemThanhToan
TyLeThanhToan
PhuLucHopD
ong
So
Ngay lap
Noi luu tru
Cap nhat()
Tra cuu()
Them()
Xoa()
PhanHe
Ma
Ten
GiaTri
KhachHang
Ma
Ten
DiaChi
...
HopDong
SoHD
Ngay ky
Tong gia tri
Noi luu tru
Them()
Xoa()
Cap nhat()
Tra cuu()
*11*
1*
1
*
*
1
DuAn
Ma
Ten
Ngay bat dau
Ngay ket thuc
*1
1
*
*1
*1
1*
1
*
*11*
*
1
*
1
1*
Hình 4.5. Sơ đồ các lớp đối tượng với một số thuộc tính và trách nhiệm
chính(tt) (*)
* Ghi chú : vì sơ đồ có khá nhiều lớp đối tượng nên tạm cắt thành 2 phần.
Phần sau chỉ là các đối tượng phục vụ cho tiện ích quản lý và tra cứu văn
bản.
b) Danh sách các lớp đối tượng chính:
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
47
STT Tên Ý nghĩa
1 DuAn Dự án, cung cấp các thông tin chung về dự án: tên dự án,
ngày bắt đầu, ngày kết thúc, trưởng dự án…
Trách nhiệm chính : thêm, cập nhật hay xóa thông tin về
dự án
2 KeHoach Kế hoạch, lớp cơ sở
Cung cấp các thông tin chung về một bản kế hoạch : tên ,
ngày lập , người lập ( và một số thông tin về bản project
tương ứng được lưu trong Project Server)
Các trách nhiệm chính : thêm, cập nhật hay xóa kế hoạch
(bao gồm việc trích lọc và chuyển đổi dữ liệu đọc được
từ Project Server)
Các trách nhiệm của một đối tượng thuộc lớp kế hoạch
chỉ liên quan đến các thông tin chung của kế hoạch,
không bao gồm việc xử lý thông tin các công việc hay
phân công thuộc kế hoạch
3 KeHoachTongThe Kế hoạch tổng thể, kế thừa các thuộc tính và trách nhiệm
của lớp kế hoạch
Thuộc tính riêng : Phiên bản
Trách nhiệm riêng : lập phiên bản mới
4 KeHoachChiTiet Kế hoạch chi tiết , kế thừa các thuộc tính và trách nhiệm
của lớp kế hoạch
Thuộc tính riêng : ngày cập nhật cuối ( dùng trong việc
theo dõi cập nhật tiến độ)
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
48
STT Tên Ý nghĩa
5 CongViec Công việc, lớp cơ sở
Cung cấp các thông tin về một công việc nói chung : mã,
tên, ngày bắt đầu, kết thúc, thời lượng, chi phí (dự kiến).
Ngoài ra còn các thông tin về số thứ tự và mức chi tiết
(level) của công việc
Các trách nhiệm chính : thêm, xoá, cập nhật công việc
(bao gồm việc trích lọc và chuyển đổi thông tin tương
ứng đã được đọc từ Project Server).
6 CongViecChiTiet Công việc chi tiết, kế thừa các thuộc tính và trách nhiệm
của lớp CongViec
Các thuộc tính riêng : các giá trị phản ánh tiến độ công
việc thực tế .
Các trách nhiệm riêng : thống kê ( tất cả thông tin về chi
phí, thời lượng (dự kiến và thực tế), ngày bắt đầu, kết
thúc…) của các công việc chi tiết theo từng công việc
tổng thể và theo toàn bộ dự án
7 CongViecTongThe Công việc tổng thể, kế thừa các thuộc tính và trách
nhiệm của lớp công việc
Trách nhiệm riêng : Kiểm tra chênh lệch giữa các thông
tin dự kiến của một công việc tổng thể với các thông tin
thực tế trong kế hoạch chi tiết. (Phối hợp với các đối
tượng thuộc lớp CongViecChiTiet)
8 VaiTro Vai trò , cung cấp thông tin về danh mục các vai trò .
Trách nhiệm chính : cập nhật danh mục vai trò .
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
49
STT Tên Ý nghĩa
9 TrinhDo Trình độ, cung cấp danh mục trình độ
Trách nhiệm chính : cập nhật danh mục trình độ
10 NhanVien Nhân viên, cung cấp thông tin về nhân viên : mã, họ tên,
trình độ, địa chỉ, email…
Trách nhiệm chính : thêm, xoá, cập nhật, tra cứu nhân
viên.
11 PhanCong Phân công, cung cấp thông tin phân công công việc: ngày
bắt đầu , kết thúc, chi phí, thời lượng ( dự kiến và thực
tế), nhân vên được phân công, vai trò đảm nhận,
Các trách nhiệm chính : thêm, xoá, cập nhật thông tin
phân công ( bao gồm việc trích lọc và chuyển đổi thông
tin tương ứng đã được đọc từ Project Server); Thống kê
phân công theo vai trò, trình độ và theo nhân viên
12 TTCapNhat_
CongViec
Thông tin cập nhật công việc : cung cấp các thông tin
dùng để lưu vết cho các lần cập nhật tiến độ công việc.
13 TTCapNhat_
PhanCong
Thông tin cập nhật phân công : cung cấp các thông tin
dùng để lưu vết cho các lần cập nhật tiến độ công việc.
14 GiaiDoan Giai đoạn, cung cấp danh mục các giai đoạn có thể có
trong một dự án.
Trách nhiệm chính : cập nhật danh mục giai đoạn
15 LoaiCongViec Loại công việc, cung cấp danh mục các loại công việc
theo từng giai đoạn.
Trách nhiệm chính : cung cấp thông tin và cập nhật danh
mục loại công việc
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
50
STT Tên Ý nghĩa
16 HopDong Hợp đồng, cung cấp thông tin cơ bản của hợp đồng và
một số thông tin dùng trong việc quản lý và tra cứu một
văn bản hợp đồng : số hợp đồng, ngày ký, khách hàng,
người đại diện, tổng giá trị, nơi lưu trữ ( tên file hoặc
mã số hồ sơ nếu hợp đồng được lưu trữ trên giấy)
Trách nhiệm chính: thêm, xoá, cập nhật và tra cứu
17 PhanHe Phân hệ, cung cấp thông tin về các phân hệ của hợp
đồng : tên và mã phân hệ, giá trị của phân hệ.
18 MocThanhToan Mốc thanh toán , cung cấp thông tin về các mốc thanh
toán được thoả thuận trong hợp đồng : thời điểm thanh
toán, số tiền thanh toán, đã được thanh toán hay chưa…
Trách nhiệm chính : ghi nhận thanh toán, tra cứu
19 KhachHang Khách hàng, cung cấp một số thông tin về các khách
hàng của Đơn vị : Tên khách hàng, địa chỉ, mã số tài
khoản, mã số thuế,…
Trách nhiệm chính : Thêm , cập nhật thông tin khách
hàng
20 PhuLucHopDong Phụ lục hợp đồng, cung cấp các thông tin chính về phụ
lục hợp đồng của một hợp đồng : Số , ngày lập , và
thông tin về nơi lưu trữ
Trách nhiệm chính : thêm, xóa, cập nhật và tra cứu
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
51
STT Tên Ý nghĩa
21 BBThanhLyHopDong Biên bản thanh lý hợp đồng, cung cấp một số thông
tin chính trong văn bản thanh lý hợp đồng : Ngày
lập , giá trị đã thanh toán ,và thông tin về nơi lưu
trữ.
Trách nhiệm chính : thêm, xoá, cập nhật và tra cứu
22 VanBan Văn bản, cung cấp thông tin chung về các văn bản
khác có thể phát sinh trong quá trình phát triển dự
án: ngày lập , nơi lưu trữ (chủ yếu giúp người dùng
có thể tra cứu và tìm văn bản, không lưu nội dung
văn bản ) . Một văn bản thuộc một loại văn bản và
phát sinh trong một giai đoạn nhất định của dự án.
Trách nhiệm chính : thêm, xoá, cập nhật và tra cứu
23 LoaiVanBan Loại văn bản , cung cấp danh mục các loại văn bản
(ngoài hợp đồng, phục lục hợp đồng và biên bản
thanh lý hợp đồng)
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
52
c) Danh sách các quan hệ trên sơ đồ:
STT Các đối tượng Ý nghĩa Ghi chú/Ràng buộc
1 KeHoachTongThe(n)
DuAn(1)
Một phiên bản kế hoạch
tổng thể phải thuộc về một
dự án . Một dự án có thể có
nhiều phiên bản kế hoạch
tổng thể
Trong số các phiên
bản kế hoạch tổng thể
của dự án, phiên bản
có số phiên bản mới
nhất là phiên bản hiện
hành
2 GiaiDoan(1)
LoaiCongViec(n)
Một loại công việc thuộc
một giai đoạn
3 DuAn(0..1)
DuAn(0..n)
Một dự án có thể thuộc
một dự án tổng thể khác
hoặc không.
4 LoaiCongViec(1)
CongViec(n)
Một công việc thuộc một
loại công việc nhất định
5 CongViecTongThe(n)
KeHoachTongThe(1)
Một công việc tổng thể
thuộc một phiên bản kế
hoạch tổng thể nhất định
6 CongViecChiTiet(n)
KeHoachChiTiet(1)
Một công việc chi tiết
thuộc một kế hoạch chi tiết
nhất định
7 CongViecTongThe(0..1)
CongViecTongThe(0..n)
Một công việc tổng thể có
thể là công việc con của
một công việc tổng thể
khác.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
53
STT Các đối tượng Ý nghĩa Ghi chú/Ràng buộc
8 CongViecChiTiet(0..1)
CongViecChiTiet(0..n)
Một công việc chi tiết
có thể là công việc
con của một công việc
chi tiết khác.
9 KeHoachChiTiet(n)
CongViecChiTiet(1)
Một kế hoạch chi tiết
sẽ chi tiết cho một
công việc tổng thể
nhất định. Một công
việc tổng thể có thể
được chi tiết bởi nhiều
kế hoạch chi tiết
Vì các công việc tổng thể
có nhiều mức ( theo quan
hệ công việc-công việc
con), kế hoạch chi tiết chỉ
xác định chi tiết cho công
việc tổng thể mức 1(cấp
cao nhất)
10 CongViecTongThe(0..1)
CongViecChiTiet(0..n)
Một công việc chi tiết
sẽ chi tiết cho một
công việc tổng thể .
Đây là quan hệ không có
tính bắt buộc và chỉ hỗ trợ
thêm người sử dụng khi
cần chi tiết kế hoạch tổng
thể thêm một cấp. Một
công việc chi tiết mức 1(và
về mặt ý nghĩa là cả các
công việc con của công
việc chi tiết này) sẽ có thể
xác định là chi tiết cho một
công việc tổng thể mức 2
(không hỗ trợ mức cao
hơn)
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
54
STT Các đối tượng Ý nghĩa Ghi chú/
Ràng buộc
11 PhanCong(n)
CongViecChiTiet(1)
Phân công của một công việc chi
tiết
12 NhanVien(1)
PhanCong(n)
Phân công cho một nhân viên
13 PhanCong(n)
VaiTro(1)
Phân công nhân viên vào công việc
với một vai trò nhất định
14 NhanVien(n)
TrinhDo(1)
Một nhân viên có một trình độ xác
định tại một thời điểm
15 CongViecChiTiet(1)
TTCapNhat_CongViec(n)
Một công việc chi tiết có thể có
nhiều lần cập nhật tiến độ, mỗi lần
cập nhật tương ứng với một đối
tượng TTCapNhat_CongViec
16 PhanCong(1)
TTCapNhat_PhanCong(n)
Một phân công có thể có nhiều lần
cập nhật tiến độ, mỗi lần cập nhật
tương ứng với một đối tượng
TTCapNhat_PhanCong
17 LoaiCongViec(0..1)
LoaiCongViec(0..n)
Một loại công việc có thể là loại
công việc con của một loại công
việc khác. Nói cách khác, giữa các
đối tượng loại công việc cũng có
quan hệ tổng thể - chi tiết
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
55
STT Các đối tượng Ý nghĩa Ghi chú/ Ràng buộc
18 VaiTro(1)
TrinhDo(n)
Quan hệ này thể hiện sự tương ứng
giữa trình độ và một vai trò , chỉ có
tính tham khảo , không có nghĩa là
một trình độ chỉ có thể đảm nhận
một vai trò nhất định
Quan hệ này giúp
gom nhóm các trình
độ cùng loại nhưng
khác bậc ( vd : Lập
trình viên bậc 1 và lập
trình viên bậc 2)
19 VaiTro(1..n)
LoaiCongViec(n)
Một loại công việc có thể được
đảm nhận bởi một hoặc một số vai
trò
4.2.3. Sơ đồ tuần tự cho một số luồng sự kiện phức tạp :
Phần này trình bày các sơ đồ tuần tự cho luồng sự kiện chính của một số
use case phần đồng bộ thông tin với Project Server, vì các luồng sự kiện
này tương đối phức tạp.
Trên sơ đồ, các đối tượng giao diện xem như thuộc lớp đối tượng
ManHinh; các đối tượng giao tiếp với ProjectServer xem như thuộc cùng
lớp GiaoTiepProjectServer; các đối tượng truy xuất dữ liệu xem như thuộc
cùng lớp DuLieu. Việc thiết kế các lớp thuộc nhóm giao diện và truy xuất
dữ liệu này sẽ được trình bày chi tiết hơn ở chương sau.
a) Sơ đồ tuần tự cho luồng sự kiện chính của use case Ghi nhận kế
hoạch tổng thể
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
56
: TruongDA
MHGhiNhanKHTT
: ManHinh
: KeHoachTongThe : CongViecTongThe : GiaoTiepPS : DuLieu
1. Yeu cau nhap thong tin de ket noi PS
1.1. Thong tin de ket noi (URL, username,...) 2. Ket noi voi PS
2.1. Ket noi thanh cong
3. Doc ds cac ban project hien hanh
4. Yeu cau chon Project
4.1. Chon project tuong ung
5. Tao ke hoach moi (project vua chon)
6. Doc ds CongViec
6.1. Doc ds cong viec
7. yeu cau xac dinh thong
tin bo sung (ds cong viec)
7.1. xac dinh thong tin bo sung 8. Nhap thong tin bo sung
9. Xac nhan ket thuc
9.1. Ghi nhan ke hoach tong the 9.1.1. Ghi nhan KHTT
9.2. Ghi nhan ds Cong viec tong the
9.2.1. Ghi nhan CVTT
9.3. Thong bao ghi nhan thanh cong
Thong tin bo sung
: loai cong viec
Hình 4.6. Sơ đồ tuần tự cho luồng sự kiện chính của use case “Ghi nhận kế
hoạch tổng thể”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
57
:
KeHoachChiTiet
: TruongDA
MHGhiNhanKHCT
: ManHinh
:
CongViecChiTiet
: PhanCong : GiaoTiepPS : DuLieu
2. yeu cau nhap thong tin ket noi PS
2.1. nhap thong tin ket noi 3. Ket noi PS
3.1. Ket noi thanh cong
4. Doc ds project
5. Chon Project tuong ung voi KHCT can ghi nhan
5.1. Chon project tuong ung
6. Tao moi KHCT
7. Doc ds cong viec chi tiet
7.1. Doc ds cong viec chi tiet
8. Doc ds phan cong 8.1. Doc ds phan cong
9. yeu cau xac dinh thong tin bo sung
(ds cong viec, ds phan cong)
9.1. Nhap thong tin bo sung
9.1.1. Nhap thong tin bo sung
9.1.2. Nhap thong tin bo sung
10. Xac nhan ket thuc10.1. Ghi KHCT 10.1.1. Ghi KHCT
10.2. Ghi ds CVCT
10.2.1. Ghi CVCT
10.3. Ghi ds phan cong 10.3.1. Ghi phan cong
10.4. Thong bao ghi nhan thanh cong
loai cong
viec
Nhan vien,
vai tro
1. Ghi nhan KHCT (Cong viec tong the can chi tiet)
b) Sơ đồ tuần tự cho luồng sự kiện chính của use case Ghi nhận kế
hoạch chi tiết
Hình 4.7. Sơ đồ tuần tự cho use case “Ghi nhận kế hoạch chi tiết”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
58
: TruongDA
MHCapNhatKHTT
: ManHinh
:
CongViecTongThe
: GiaoTiepPS : DuLieu
1. Cap nhat KHTT(ke hoach tong the)
2. Ket noi PS (thong tin ket noi)
2.1. Ket noi PS
2.1.1. Ket noi thanh cong
3. Doc DS cong viec tu PS (khtt)
3.1. Doc ds cong viec
4. Doc ds cong viec tu CSDL
4.1. Doc ds congviec theo khtt
5. yeu cau thay doi, bo sung thong tin bo sung
5.1. Cap nhat thong tin bo sung
6. dscv moi:nhap thong tin bo sung
7. So sanh (dscv moi, dscv cu)
7.1. dscv moi them, dscv bi xoa, dscv cap nhat
8.1. dscv moi them : them 8.1.1. them CVTT
8.2. dscv cap nhat : cap nhat
8.2.1. Cap nhat CVTT
8.3. dscv bi xoa : xoa 8.3.1. Xoa CVTT
8. Xac nhan cap nhat
8.4. Thong bao cap nhat thanh cong
c) Sơ đồ tuần tự cho luồng sự kiện chính của use case Cập nhật kế
hoạch tổng thể:
Hình 4.8. Sơ đồ tuần tự cho use case “Cập nhật kế hoạch tổng thể”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 4 : Phân tích hệ thống
59
MHCapNhatKHCT
: ManHinh
: TruongDA
:
CongViecChiTiet
: PhanCong : GiaoTiepPS : DuLieu
1. Cap nhat ke hoach chi tiet(ke hoach chi tiet)
2. Ket noi PS(thong tin ket noi) 2.1. Ket noi PS(thong tin ket noi)
2.1.1. Ket noi thanh cong
3. Doc ds cong viec moi tu PS(khct)
3.1. Doc ds cong viec
4. Doc dscv cu tu CSDL
4.1. Doc ds cv
5. Doc ds phan cong moi tu PS
5.1. Doc ds phan cong
6. Doc ds phan cong cu tu CSDL 6.1. Doc ds phan cong
7. yeu cau cap nhat, bo sung thong
tin bo sung(dscv moi, dspc moi)
7.1. Nhap thong tin bo sung
8. dscv moi : Nhap thong tin bo sung
9. dspc moi : nhap thong tin bo sung
10. So sanh(dscv moi, dscv cu)
11. So sanh(dspc moi, dspc cu)
10.1. dscv moi them, dscv bi xoa, dscv cap nhat
11.1. dspc moi them, dspc bi xoa, dspc cap nhat
12. xac nhan cap nhat
12.1. dscv moi them:Them; dscv bi xoa: Xoa; dscv cap nhat : Cap nhat
12.1.1. Them, Xoa, Cap nhat CVCT
12.2. dspc moi them:Them; dspc bi xoa: Xoa; dspc cap nhat: CapNhat
12.2.1. Them, Xoa, Cap nhat phan cong
12.3. Thong bao cap nhat thanh cong
d) Sơ đồ tuần tự cho luồng sự kiện chính của use case Cập nhật kế
hoạch chi tiết:
Hình 4.8. Sơ đồ tuần tự cho use case “Cập nhật kế hoạch tổng thể”
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
60
Chương 5 : Thiết kế phần mềm
Với những phân tích hệ thống ở chương 4, ta có thể thấy rõ được các thành
phần, chức năng cơ bản, và tổng quan về tổ chức dữ liệu và xử lý của PMA. Chương 5
sẽ đi tiếp thêm một bước trong qui trình hiện thực hoá phương án đã lựa chọn : Trình
bày một số thiết kế logic chi tiết cho PMA.
5.1. Thiết kế dữ liệu
5.1.1 Lược đồ cơ sở dữ liệu quan hệ
Tuy được phân tích và thiết kế theo hướng đối tượng, PMA vẫn dùng
CSDL quan hệ. Hình bên dưới là sơ đồ quan hệ của cơ sở dữ liệu mới của
PMA (trên sơ đồ không có các bảng tham số).
Trên sơ đồ, các thuộc tính của các quan hệ không được thể hiện đầy đủ,
chủ yếu chỉ là các thuộc tính khóa chính và khóa ngoại. Danh sách đầy đủ
của các thuộc tính cùng với ý nghĩa của chúng được trình bày trong phần
phụ lục.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
61
DU_AN
DA_MA
DA_MADATONGTHEKE_HOACH_TONG_THE
KHTT_MA
DA_MA
KHTT_PHIENBAN
KE_HOACH_CHI_TIET
KHCT_MA
CVTT_MA
KHTT_MA
CONG_VIEC_TONG_THE
CVTT_MA
KHTT_MA
CVTT_MACVTOMTAT
LCV_MA
CONG_VIEC_CHI_TIET
CVCT_MA
KHCT_MA
CVCT_MACVTOMTAT
CVTT_MA
KHTT_MA
LCV_MA
GIAI_DOAN
GD_MA
LOAI_CONG_VIEC
LCV_MA
GD_MA
LCV_MALCVTT
NHAN_VIEN
NV_MA
TD_MA
VAI_TRO
VT_MA
TRINH_DO
TD_MA
VT_MA
TD_BAC
DAM_NHAN
LCV_MA
VT_MA
PHAN_CONG
KHCT_MA
PC_MA
CVCT_MA
VT_MA
NV_MA
TTCAPNHAT_PHANCONG
TTCNPC_STT
KHCT_MA
PC_MA
TTCAPNHAT_CONG_VIEC
KHCT_MA
CVCT_MA
TTCNCV_STT
PHAN_HE
PH_MA
HD_SO
MOC_THANH_TOAN
MTT_STT
HD_SO
VAN_BAN
VB_MA
GD_MA
DA_MA
LVB_MA
KHACH_HANG
KHA_MA
PHU_LUC_HOP_DONG
PLHD_SO
HD_SO
HOP_DONG
HD_SO
DA_MA
KHA_MA
QUAN_LY
CVTT_MA
KHTT_MA
NV_MA
LOAI_VAN_BAN
LVB_MA
BB_THANH_LY_HOP_DONG
BBTL_SO
HD_SO
Hình 5.1. Mô hình dữ liệu quan hệ của PMA
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
62
Trên lược đồ, mỗi ô hình chữ nhật tương ứng với một quan hệ , mỗi mũi tên
nối hai quan hệ sẽ được cài đặt thành một khóa ngoại, trừ một số mũi tên tham
chiếu đến chính nó sẽ không dùng khóa ngoại mà cài trigger thay thế, vì hệ quản trị
không hỗ trợ việc chỉ định thao tác xóa hoặc cập nhật dây chuyền (cascade delete,
cascade update ) cho các tham chiếu loại này.
5.1.2 Các chỉ mục được cài đặt
Để việc khai thác dữ liệu được nhanh hơn, tạo một số chỉ mục cho các con
đường truy xuất thường xuyên, cụ thể như sau:
- CONG_VIEC_TONG_THE (KHTT_MA) : Từ một bộ của
KE_HOACH_TONG_THE, truy xuất tất cả các bộ của CONG_VIEC_TONG_THE
- CONG_VIEC_CHI_TIET (KHCT_MA) : Từ một bộ của
KE_HOACH_CHI_TIET, truy xuất tất cả các bộ của CONG_VIEC_CHI_TIET
- KE_HOACH_CHI_TIET (CVTT_MA, KHTT_MA) : Từ một bộ của
CONG_VIEC_TONG_THE, truy xuất tất cả các bộ của KE_HOACH_CHI_TIET
- KE_HOACH_TONG_THE (DA_MA) : Từ một bộ của DU_AN, truy xuất
tất cả các bộ của KE_HOACH_TONG_THE
- PHAN_CONG (NV_MA) : Từ một bộ của NHAN_VIEN, truy xuất tất cả
các bộ của PHAN_CONG
- PHAN_CONG (CVCT_MA) : Từ một bộ của CONG_VIEC_CHI_TIET, truy
xuất tất cả các bộ của PHAN_CONG
- LOAI_CONG_VIEC (GD_MA) : Từ một bộ của GIAI_DOAN, truy xuất
tất cả các bộ của LOAI_CONG_VIEC
- NHAN_VIEN(TD_MA) : Từ một bộ của TRINH_DO, truy xuất tất cả các
bộ của NHAN_VIEN
Ngoài ra, cài đặt một số chỉ mục khác để phục vụ cho yêu cầu thống kê :
- CONG_VIEC_TONG_THE ( KHTT_MA, LCV_MA)
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
63
- PHAN_CONG (KHCT_MA, VT_MA)
- PHAN_CONG (KHCT_MA, NV_MA)
5.1.3 Một số ràng buộc toàn vẹn :
STT Ký
hiệu
Phát biểu
1 R1 Đối với các quan hệ có tham chiếu đến chính nó : DU_AN,
CONG_VIEC_TONG_THE, CONG_VIEC_CHI_TIET, LOAI_CONG_VIEC
, các cung tham chiếu không được tạo thành chu trình
2 R2 Số thứ tự phiên bản của kế hoạch tổng thể (KHTT_PHIENBAN) là
duy nhất đối với mỗi dự án
3 R3 Các kế hoạch chi tiết phải luôn tham chiếu đến công việc tổng thể
thuộc về kế hoạch tổng thể có số phiên bản lớn nhất (phiên bản
hiện hành)
4 R4 Loại công việc tổng thể thuộc giai đoạn nào thì tất cả các loại công
việc con cũng phải thuộc về giai đoạn đó
5 R5 Đối với công việc tổng thể và công việc chi tiết, công việc tóm tắt
thuộc loại công việc L1 thì các công việc con của nó chỉ có thể
thuộc về các loại công việc con của L1 hoặc chính L1
6 R6 Đối với công việc tổng thể và công việc chi tiết , chi phí thực tế,
chi phí dự kiến, chi phí đã xóa của một công việc tương ứng bằng
tổng chi phí thực tế, chi phí dự kiến, chi phí đã xóa của các phân
công và các công việc con của công việc đó
7 R7 Đối với công việc tổng thể và công việc chi tiết, ngày bắt đầu,
ngày kết thúc và thời lượng của một công việc là những giá trị
được tính toán hợp lý từ các phân công và công việc con của công
việc đó.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
64
STT Ký hiệu Phát biểu
8 R8 Một công việc tổng thể, thuộc loại công việc L, được chi tiết bởi kế
hoạch chi tiết K thì tất cả các công việc chi tiết thuộc kế hoạch K
đều thuộc loại công việc con của L hoặc chính L.
9 R9 Một công việc tổng thể thuộc loại công việc L thì tất cả các công
việc chi tiết chi tiết cho nó đều thuộc loại công việc con của L hoặc
chính L
10 R10 Một công việc chi tiết thuộc kế hoạch chi tiết K chi tiết cho công
việc tổng thể T thì chỉ có thể tham chiếu đến một công việc tổng thể
là con của công việc T
11 R11 Một nhân viên được phân công vào một công việc, thuộc loại công
việc L, với một vai trò cụ thể thì vai trò này phải là một trong số
những vai trò có thể đảm nhận loại công việc L.
12 R12 Đối với các quan hệ có tham chiếu đến chính nó : DU_AN,
CONG_VIEC_TONG_THE, CONG_VIEC_CHI_TIET, LOAI_CONG_VIEC ,
một bộ q2 có tham chiếu đến một bộ q1 thì mức của q2 = mức của
q1 + 1.
Ghi chú : một số ràng buộc luôn thỏa khi cập nhật CSDL với dữ liệu được đọc từ
Project Server , và hệ thống không cần phải kiểm tra lại , đó là ràng buộc R1(trên
các quan hệ CONG_VIEC_CHI_TIET và CONG_VIEC_TONG_THE, ràng buộc
R6 (trừ chi phí đã xóa), và ràng buộc R7
5.2. Thiết kế phần mềm PMA
5.2.1. Hệ thống các lớp đối tượng
PMA được thiết kế theo hướng đối tượng, và theo mô hình 3 lớp.
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
65
Có 3 nhóm lớp đối tượng chính :
Nhóm giao diện : bao gồm các đối tượng màn hình và user control, chịu
trách nhiệm giao tiếp với người sử dụng.
Nhóm xử lý : bao gồm các đối tượng xử lý chính, chịu trách nhiệm nhận
và xử lý thông tin được chuyển đến từ các đối tượng truy xuất dữ liệu,
sau đó cung cấp dữ liệu đã qua xử lý cho các đối tượng giao diện hoặc
ngược lại.
Nhóm truy xuất dữ liệu : bao gồm các đối tượng chịu trách nhiệm truy
xuất dữ liệu từ CSDL hoặc từ Project Server .
a) Sơ đồ tổ chức các lớp đối tượng
Sơ đồ sau thể hiện tổng thể tổ chức các lớp đối tượng bên trong phần mềm:
Hình 5.2. Tổ chức hệ thống các lớp đối tượng bên trong PMA
NSD
Các lớp đối tượng màn hình và user control
Các lớp đối tượng xử lý chính
CSDL PMA Project Server
Các lớp đối tượng truy
xuất dữ liệu từ CSDL
Các lớp đối tượng truy
xuất dữ liệu từ Project
Server
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
66
b) Danh sách một số lớp đối tượng quan trọng :
- Các lớp đối tượng thuộc nhóm giao tiếp với NSD : (phần này chỉ nêu sơ
lược một số user control, các màn hình giao diện sẽ được trình bày riêng
trong phần 5.3)
1. CtrlReport : Là User control được sử dụng trên các màn hình
thống kê. Chứa bên trong một lưới để hiển thị thông tin trong
thống kê.Các đối tượng màn hình sử dụng lớp đối tượng này có
thể tùy ý định dạng lại cho lưới dữ liệu tùy theo yêu cầu
2. CtrlTraCuuKeHoach : Là User control dùng để tra cứu kế hoạch.
Chứa bên trong một lưới để hiển thị danh sách các bản kế hoạch
chi tiết nhóm theo từng công việc tổng thể
3. CtrlTraCuuDuAn : Là User control dùng để tra cứu dự án. Chứa
bên trong một lưới để hiển thị danh sách các dự án theo dạng cây
với quan hệ dự án – dự án con
4. CtrlTraCuuNhanVien : Là User control dùng để tra cứu nhân viên
- Các lớp đối tượng thuộc nhóm xử lý : Bên dưới là một số đối tượng xử lý
quan trọng nhất
1. KeHoach : Lớp đối tượng kế hoạch, là lớp cơ sở cho các lớp đối
tượng KHChiTiet và KHTongThe
2. KeHoachTongThe: Lớp đối tượng kế hoạch tổng thể, kế thừa lớp
KeHoach
3. KeHoachChiTiet : Lớp đối tượng kế hoạch chi tiết, kế thừa lớp
KeHoach
4. CongViec : Lớp đối tượng công việc, là lớp cơ sở cho các lớp đối
tượng CongViecTongThe và CongViecChiTiet
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
67
5. CongViecTongThe : Lớp đối tượng Công việc tổng thể, kế thừa
lớp CongViec
6. CongViecChiTiet : Lớp đối tượng Công việc chi tiết, kế thừa lớp
CongViec
7. DSCongViec : Lớp đối tượng danh sách công việc. Mỗi đối tượng
thuộc lớp này sẽ chứa một danh sách các thông tin chung về công
việc (dạng record)
8. DSCongViecTongThe : Lớp đối tượng danh sách công việc tổng
thể, kế thừa từ lớp đối tượng DSCongViec .
9. DSCongViecChiTiet : Lớp đối tượng danh sách công việc chi tiết,
kế thừa từ lớp đối tượng DSCongViec .
10.PhanCong : Lớp đối tượng phân công. Mỗi đối tượng phân công
chứa một tập (một danh sách) các thông tin phân công dưới dạng
record
11.DuAn : Lớp đối tượng dự án. Mỗi đối tượng thuộc lớp này chứa
thông tin về một dự án
- Các lớp đối tượng thuộc nhóm truy xuất dữ liệu : trong bảng là các đối
tượng truy xuất dữ liệu từ Project Server và một số đối tượng truy xuất
dữ liệu từ CSDL của PMA
1. PrjSvr_KeHoach : Lớp đối tượng truy xuất dữ liệu chung của các
project từ Project Server
2. PrjSvr_CongViec : Lớp đối tượng truy xuất dữ liệu công việc từ
Project Server
3. PrjSvr_PhanCong : Lớp đối tượng truy xuất dữ liệu phân công từ
Project Server
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
68
4. PrjSvr_NhanSu : Lớp đối tượng truy xuất danh sách nhân viên
được phân công vào các công việc trong kế hoạch, chủ yếu là
thông tin về mã và tên
5. PDSUtils : Hỗ trợ giao tiếp với Project Server thông qua PDS
6. TapDuLieu : Hỗ trợ truy xuất dữ liệu từ CSDL thông qua một kỹ
thuật nhất định (như ADO.NET)
7. DLKeHoach : Truy xuất dữ liệu kế hoạch từ CSDL
8. DLCongViec : Truy xuất dữ liệu công việc từ CSDL
5.2.2. Một số hàm xử lý quan trọng của các đối tượng:
Phần này trình bày một số hàm xử lý cơ bản và tương đối phức tạp của một
số lớp đối tượng, chủ yếu là các đối tượng xử lý chính.
a) Lớp DSCongViec
STT Tên hàm/Ý
nghĩa
Tham số Kiểu trả
về
Thuật giải
1 DocDSCong
ViecTuProject
(đọc danh
sách công
việc từ
Project)
prjCV:
PrjSvr_CongVi
ec
kh : KeHoach
Data
Table
Dscv, temp : DataTable
Temp = prjCV.DocDSCV( )
Sắp xếp các công việc trong temp
theo thứ tự tăng dần của WBS
(outline number) để đảm bảo các
công việc con luôn nằm ngay sau cha
của nó
Dùng đệ qui, chuyển lần lượt các
công việc từ temp vào dscv với những
thông tin cần thiết và theo cấu trúc
công việc - công việc con
Trả về dscv
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
69
STT Tên hàm/Ý
nghĩa
Tham số Kiểu trả
về
Thuật giải
2 XuatDSCV
(xuất danh
sách công
việc ra một
control có thể
thể hiện dữ
liệu dạng
lưới kết hợp
với cây)
Ctrl : Control
DKLoc : String
DongBD : int
DongKT : int
Level : int
DSThuocTinh:
string[]
void Lọc các công việc trong record chứa
danh sách công việc (m_DSCV) theo
DKLoc, và sắp xếp theo thứ tự tăng
dần của STT công việc.
Dùng đệ qui, gán lần lượt các công
việc đã lọc vào các node của Ctrl với
những thuộc tính trong DSThuocTinh
theo cấu trúc công việc - công việc
con, bắt đầu từ dòng DongBD, cột
CotBD, và mức Level của Ctrl.
3 TinhTong
ChiPhi
(Tính tổng
một thuộc tính
chi phí của
một tập công
việc)
DKLoc : string
TenThuocTinh :
string
decimal Lọc ra tập các công việc từ m_DSCV
theo DKLoc.
TongCP : decimal
Với mỗi dòng i tương ứng với công
việc lọc được:
TongCP +=
m_DSCV[i][TenThuocTinh]
Trả về TongCP
4 TinhNgayBD
Chung
(Tính thời
điểm bắt đầu
chung cho
một tập công
việc)
Như trên Date
Time
Lọc ra tập các công việc từ m_DSCV
theo DKLoc.
NgayBD : DateTime
Với i là dòng tương ứng với công việc
được lọc đầu tiên : NgayBD =
m_DSCV[i][TenThuocTinh]
Với mỗi dòng i tương ứng với công
việc lọc được:
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Chương 5 : Thiết kế phần mềm
70
Nếu (NgayBD >
m_DSCV[i][TenThuocTinh] )
NgayBD +=
m_DSCV[i][TenThuocTinh]
Trả về NgayBD
5 TinhNgayKT
Chung
(Tính thời
điểm kết thúc
chung cho
một tập công
việc)
Như trên Như trên Tương tự như hàm
TinhNgayBDChung, chỉ thay đổi điều
kiện gán NgayKT là NgayKT<
m_DSCV[i][TenThuocTinh] )
6 TinhTyLeTL
HoanTat
(tính tỷ lệ thời
lượng đã làm
so với thời
lượng dự kiến
của một tập
công việc)
DKLoc : string
TenTTTLTT :
string
TenTTTLDK :
string
decimal Lọc ra tập các công việc từ m_DSCV
theo DKLoc.
SumDur, SumActDur : decimal
Tính tổng thời lượng dự kiến SumDur
của tập công việc lọc được theo thuộc
tính TenTTTLTT
Tính tổng thời lượng thực tế
SumActDur của tập công việc lọc
được theo thuộc tính TenTTTLDK
Trả về SumActDur / SumDur
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem
Ho tro phat_trien_du_an_phan_mem

More Related Content

Viewers also liked

презентация Microsoft power point
презентация Microsoft power pointпрезентация Microsoft power point
презентация Microsoft power pointKandalov
 
T im kiem_tren_di_dong
T im kiem_tren_di_dongT im kiem_tren_di_dong
T im kiem_tren_di_dongViet Nam
 
[123doc.vn] doko vn 52052 o buon nguoi gian tu hai
[123doc.vn]   doko vn 52052 o buon nguoi gian tu hai[123doc.vn]   doko vn 52052 o buon nguoi gian tu hai
[123doc.vn] doko vn 52052 o buon nguoi gian tu haiViet Nam
 
Ch8 polymer
Ch8 polymerCh8 polymer
Ch8 polymerViet Nam
 
[123doc.vn] dong tu trong tieng nhat pps
[123doc.vn]   dong tu trong tieng nhat pps[123doc.vn]   dong tu trong tieng nhat pps
[123doc.vn] dong tu trong tieng nhat ppsViet Nam
 
Usluga.pro
Usluga.proUsluga.pro
Usluga.proKandalov
 
Tri tue nhan_tao_xay_dung_game
Tri tue nhan_tao_xay_dung_gameTri tue nhan_tao_xay_dung_game
Tri tue nhan_tao_xay_dung_gameViet Nam
 
Ung dung email_client
Ung dung email_clientUng dung email_client
Ung dung email_clientViet Nam
 
Ho tro soan_bai_tap_luong_giac
Ho tro soan_bai_tap_luong_giacHo tro soan_bai_tap_luong_giac
Ho tro soan_bai_tap_luong_giacViet Nam
 
Tai chinh tien te ch 2
Tai chinh tien te ch 2Tai chinh tien te ch 2
Tai chinh tien te ch 2Viet Nam
 
[123doc.vn] ebook nhat ky anne frank anne frank
[123doc.vn]   ebook nhat ky anne frank anne frank[123doc.vn]   ebook nhat ky anne frank anne frank
[123doc.vn] ebook nhat ky anne frank anne frankViet Nam
 

Viewers also liked (13)

презентация Microsoft power point
презентация Microsoft power pointпрезентация Microsoft power point
презентация Microsoft power point
 
T im kiem_tren_di_dong
T im kiem_tren_di_dongT im kiem_tren_di_dong
T im kiem_tren_di_dong
 
Chuong 04
Chuong 04Chuong 04
Chuong 04
 
[123doc.vn] doko vn 52052 o buon nguoi gian tu hai
[123doc.vn]   doko vn 52052 o buon nguoi gian tu hai[123doc.vn]   doko vn 52052 o buon nguoi gian tu hai
[123doc.vn] doko vn 52052 o buon nguoi gian tu hai
 
Ch8 polymer
Ch8 polymerCh8 polymer
Ch8 polymer
 
[123doc.vn] dong tu trong tieng nhat pps
[123doc.vn]   dong tu trong tieng nhat pps[123doc.vn]   dong tu trong tieng nhat pps
[123doc.vn] dong tu trong tieng nhat pps
 
150 goboroflyer
150 goboroflyer150 goboroflyer
150 goboroflyer
 
Usluga.pro
Usluga.proUsluga.pro
Usluga.pro
 
Tri tue nhan_tao_xay_dung_game
Tri tue nhan_tao_xay_dung_gameTri tue nhan_tao_xay_dung_game
Tri tue nhan_tao_xay_dung_game
 
Ung dung email_client
Ung dung email_clientUng dung email_client
Ung dung email_client
 
Ho tro soan_bai_tap_luong_giac
Ho tro soan_bai_tap_luong_giacHo tro soan_bai_tap_luong_giac
Ho tro soan_bai_tap_luong_giac
 
Tai chinh tien te ch 2
Tai chinh tien te ch 2Tai chinh tien te ch 2
Tai chinh tien te ch 2
 
[123doc.vn] ebook nhat ky anne frank anne frank
[123doc.vn]   ebook nhat ky anne frank anne frank[123doc.vn]   ebook nhat ky anne frank anne frank
[123doc.vn] ebook nhat ky anne frank anne frank
 

Similar to Ho tro phat_trien_du_an_phan_mem

654.huong dan su dung ms project
654.huong dan su dung ms project654.huong dan su dung ms project
654.huong dan su dung ms projectChat Chit
 
Khóa Luận Công Nghệ Truyền Thông: Xây dựng website nộp đồ án trực tuyến
Khóa Luận Công Nghệ Truyền Thông: Xây dựng website nộp đồ án trực tuyếnKhóa Luận Công Nghệ Truyền Thông: Xây dựng website nộp đồ án trực tuyến
Khóa Luận Công Nghệ Truyền Thông: Xây dựng website nộp đồ án trực tuyếnDịch vụ Làm Luận Văn 0936885877
 
Ql du an phan mem tren web
Ql du an phan mem tren webQl du an phan mem tren web
Ql du an phan mem tren webVcoi Vit
 
Quan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webQuan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webViet Nam
 
Quan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webQuan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webDuy Vọng
 
Hướng dẫn sử dụng Microsoft Office Project 2003
Hướng dẫn sử dụng Microsoft Office Project 2003Hướng dẫn sử dụng Microsoft Office Project 2003
Hướng dẫn sử dụng Microsoft Office Project 2003Nguyen Huy Toan
 
Ms project 2003
Ms project 2003Ms project 2003
Ms project 2003island2101
 
Đồ án Quản lý học sinh trường THPT
Đồ án Quản lý học sinh trường THPTĐồ án Quản lý học sinh trường THPT
Đồ án Quản lý học sinh trường THPTAliza Rogahn
 
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...NuioKila
 
Đồ án Xây dựng website nộp đồ án trực tuyến
Đồ án Xây dựng website nộp đồ án trực tuyếnĐồ án Xây dựng website nộp đồ án trực tuyến
Đồ án Xây dựng website nộp đồ án trực tuyếnAubrey Yundt
 

Similar to Ho tro phat_trien_du_an_phan_mem (20)

654.huong dan su dung ms project
654.huong dan su dung ms project654.huong dan su dung ms project
654.huong dan su dung ms project
 
Khóa Luận Công Nghệ Truyền Thông: Xây dựng website nộp đồ án trực tuyến
Khóa Luận Công Nghệ Truyền Thông: Xây dựng website nộp đồ án trực tuyếnKhóa Luận Công Nghệ Truyền Thông: Xây dựng website nộp đồ án trực tuyến
Khóa Luận Công Nghệ Truyền Thông: Xây dựng website nộp đồ án trực tuyến
 
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAYĐề tài: Xây dựng website nộp đồ án trực tuyến, HAY
Đề tài: Xây dựng website nộp đồ án trực tuyến, HAY
 
Đề tài: Xây dựng website nộp đồ án trực tuyến, 9đ
Đề tài: Xây dựng website nộp đồ án trực tuyến, 9đĐề tài: Xây dựng website nộp đồ án trực tuyến, 9đ
Đề tài: Xây dựng website nộp đồ án trực tuyến, 9đ
 
Ql du an phan mem tren web
Ql du an phan mem tren webQl du an phan mem tren web
Ql du an phan mem tren web
 
Quan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webQuan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_web
 
Quan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_webQuan ly du_an_phan_mem_tren_web
Quan ly du_an_phan_mem_tren_web
 
Hướng dẫn sử dụng Microsoft Office Project 2003
Hướng dẫn sử dụng Microsoft Office Project 2003Hướng dẫn sử dụng Microsoft Office Project 2003
Hướng dẫn sử dụng Microsoft Office Project 2003
 
Hd ms project semla
Hd ms project semlaHd ms project semla
Hd ms project semla
 
Ms project 2003
Ms project 2003Ms project 2003
Ms project 2003
 
Đồ án Quản lý học sinh trường THPT
Đồ án Quản lý học sinh trường THPTĐồ án Quản lý học sinh trường THPT
Đồ án Quản lý học sinh trường THPT
 
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đĐề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
Đề tài: Kế toán tiền lương tại ngân hàng Agribank Thanh Hóa, 9đ
 
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
Giải pháp nâng cao sự thành công của các dự án phát triển phần mềm tại Công t...
 
Đồ án Xây dựng website nộp đồ án trực tuyến
Đồ án Xây dựng website nộp đồ án trực tuyếnĐồ án Xây dựng website nộp đồ án trực tuyến
Đồ án Xây dựng website nộp đồ án trực tuyến
 
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
 
Luận văn: Công tác quản lý tài sản cố định tại các công ty, HAY
Luận văn: Công tác quản lý tài sản cố định tại các công ty, HAYLuận văn: Công tác quản lý tài sản cố định tại các công ty, HAY
Luận văn: Công tác quản lý tài sản cố định tại các công ty, HAY
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOTĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HOT
 
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đĐề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
Đề tài: Xây dựng website giới thiệu cho sản phẩm phần mềm, 9đ
 
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAYĐề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
Đề tài: Xây dựng website giới thiệu sản phẩm phần mềm, HAY
 
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOTĐề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
Đề tài: Bài toán và các giải thuật theo tiếp cận phân cấp, HOT
 

More from Viet Nam

Nnt gt lich_sunb_quyen149
Nnt gt lich_sunb_quyen149Nnt gt lich_sunb_quyen149
Nnt gt lich_sunb_quyen149Viet Nam
 
Nnt gt lich_sunb_quyen145
Nnt gt lich_sunb_quyen145Nnt gt lich_sunb_quyen145
Nnt gt lich_sunb_quyen145Viet Nam
 
Nnt gt lich_sunb_quyen144
Nnt gt lich_sunb_quyen144Nnt gt lich_sunb_quyen144
Nnt gt lich_sunb_quyen144Viet Nam
 
Nnt gt lich_sunb_quyen143
Nnt gt lich_sunb_quyen143Nnt gt lich_sunb_quyen143
Nnt gt lich_sunb_quyen143Viet Nam
 
Nnt gt lich_sunb_quyen142
Nnt gt lich_sunb_quyen142Nnt gt lich_sunb_quyen142
Nnt gt lich_sunb_quyen142Viet Nam
 
Nnt gt lich_sunb_quyen139
Nnt gt lich_sunb_quyen139Nnt gt lich_sunb_quyen139
Nnt gt lich_sunb_quyen139Viet Nam
 
Nnt gt lich_sunb_quyen138
Nnt gt lich_sunb_quyen138Nnt gt lich_sunb_quyen138
Nnt gt lich_sunb_quyen138Viet Nam
 
Nnt gt lich_sunb_quyen137
Nnt gt lich_sunb_quyen137Nnt gt lich_sunb_quyen137
Nnt gt lich_sunb_quyen137Viet Nam
 
Nnt gt lich_sunb_quyen135
Nnt gt lich_sunb_quyen135Nnt gt lich_sunb_quyen135
Nnt gt lich_sunb_quyen135Viet Nam
 
Nnt gt lich_sunb_quyen132
Nnt gt lich_sunb_quyen132Nnt gt lich_sunb_quyen132
Nnt gt lich_sunb_quyen132Viet Nam
 
Nnt gt lich_sunb_quyen127
Nnt gt lich_sunb_quyen127Nnt gt lich_sunb_quyen127
Nnt gt lich_sunb_quyen127Viet Nam
 
Nnt gt lich_sunb_quyen126
Nnt gt lich_sunb_quyen126Nnt gt lich_sunb_quyen126
Nnt gt lich_sunb_quyen126Viet Nam
 
Nnt gt lich_sunb_quyen124
Nnt gt lich_sunb_quyen124Nnt gt lich_sunb_quyen124
Nnt gt lich_sunb_quyen124Viet Nam
 
Nnt gt lich_sunb_quyen122
Nnt gt lich_sunb_quyen122Nnt gt lich_sunb_quyen122
Nnt gt lich_sunb_quyen122Viet Nam
 
Nnt gt lich_sunb_quyen121
Nnt gt lich_sunb_quyen121Nnt gt lich_sunb_quyen121
Nnt gt lich_sunb_quyen121Viet Nam
 
Nnt gt lich_sunb_quyen120
Nnt gt lich_sunb_quyen120Nnt gt lich_sunb_quyen120
Nnt gt lich_sunb_quyen120Viet Nam
 
Nnt gt lich_sunb_quyen119
Nnt gt lich_sunb_quyen119Nnt gt lich_sunb_quyen119
Nnt gt lich_sunb_quyen119Viet Nam
 
Nnt gt lich_sunb_quyen118
Nnt gt lich_sunb_quyen118Nnt gt lich_sunb_quyen118
Nnt gt lich_sunb_quyen118Viet Nam
 
Nnt gt lich_sunb_quyen117
Nnt gt lich_sunb_quyen117Nnt gt lich_sunb_quyen117
Nnt gt lich_sunb_quyen117Viet Nam
 
Nnt gt lich_sunb_quyen116
Nnt gt lich_sunb_quyen116Nnt gt lich_sunb_quyen116
Nnt gt lich_sunb_quyen116Viet Nam
 

More from Viet Nam (20)

Nnt gt lich_sunb_quyen149
Nnt gt lich_sunb_quyen149Nnt gt lich_sunb_quyen149
Nnt gt lich_sunb_quyen149
 
Nnt gt lich_sunb_quyen145
Nnt gt lich_sunb_quyen145Nnt gt lich_sunb_quyen145
Nnt gt lich_sunb_quyen145
 
Nnt gt lich_sunb_quyen144
Nnt gt lich_sunb_quyen144Nnt gt lich_sunb_quyen144
Nnt gt lich_sunb_quyen144
 
Nnt gt lich_sunb_quyen143
Nnt gt lich_sunb_quyen143Nnt gt lich_sunb_quyen143
Nnt gt lich_sunb_quyen143
 
Nnt gt lich_sunb_quyen142
Nnt gt lich_sunb_quyen142Nnt gt lich_sunb_quyen142
Nnt gt lich_sunb_quyen142
 
Nnt gt lich_sunb_quyen139
Nnt gt lich_sunb_quyen139Nnt gt lich_sunb_quyen139
Nnt gt lich_sunb_quyen139
 
Nnt gt lich_sunb_quyen138
Nnt gt lich_sunb_quyen138Nnt gt lich_sunb_quyen138
Nnt gt lich_sunb_quyen138
 
Nnt gt lich_sunb_quyen137
Nnt gt lich_sunb_quyen137Nnt gt lich_sunb_quyen137
Nnt gt lich_sunb_quyen137
 
Nnt gt lich_sunb_quyen135
Nnt gt lich_sunb_quyen135Nnt gt lich_sunb_quyen135
Nnt gt lich_sunb_quyen135
 
Nnt gt lich_sunb_quyen132
Nnt gt lich_sunb_quyen132Nnt gt lich_sunb_quyen132
Nnt gt lich_sunb_quyen132
 
Nnt gt lich_sunb_quyen127
Nnt gt lich_sunb_quyen127Nnt gt lich_sunb_quyen127
Nnt gt lich_sunb_quyen127
 
Nnt gt lich_sunb_quyen126
Nnt gt lich_sunb_quyen126Nnt gt lich_sunb_quyen126
Nnt gt lich_sunb_quyen126
 
Nnt gt lich_sunb_quyen124
Nnt gt lich_sunb_quyen124Nnt gt lich_sunb_quyen124
Nnt gt lich_sunb_quyen124
 
Nnt gt lich_sunb_quyen122
Nnt gt lich_sunb_quyen122Nnt gt lich_sunb_quyen122
Nnt gt lich_sunb_quyen122
 
Nnt gt lich_sunb_quyen121
Nnt gt lich_sunb_quyen121Nnt gt lich_sunb_quyen121
Nnt gt lich_sunb_quyen121
 
Nnt gt lich_sunb_quyen120
Nnt gt lich_sunb_quyen120Nnt gt lich_sunb_quyen120
Nnt gt lich_sunb_quyen120
 
Nnt gt lich_sunb_quyen119
Nnt gt lich_sunb_quyen119Nnt gt lich_sunb_quyen119
Nnt gt lich_sunb_quyen119
 
Nnt gt lich_sunb_quyen118
Nnt gt lich_sunb_quyen118Nnt gt lich_sunb_quyen118
Nnt gt lich_sunb_quyen118
 
Nnt gt lich_sunb_quyen117
Nnt gt lich_sunb_quyen117Nnt gt lich_sunb_quyen117
Nnt gt lich_sunb_quyen117
 
Nnt gt lich_sunb_quyen116
Nnt gt lich_sunb_quyen116Nnt gt lich_sunb_quyen116
Nnt gt lich_sunb_quyen116
 

Ho tro phat_trien_du_an_phan_mem

  • 1. K H O A C N TT – Đ H K H TN 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
  • 2. K H O A C N TT – Đ H K H TN 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
  • 3. K H O A C N TT – Đ H K H TN 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
  • 4. K H O A C N TT – Đ H K H TN 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.
  • 5. K H O A C N TT – Đ H K H TN 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
  • 6. K H O A C N TT – Đ H K H TN 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.
  • 7. K H O A C N TT – Đ H K H TN 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 :
  • 8. K H O A C N TT – Đ H K H TN 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)
  • 9. K H O A C N TT – Đ H K H TN 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
  • 10. K H O A C N TT – Đ H K H TN 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 :
  • 11. K H O A C N TT – Đ H K H TN 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 tietTruong du an Nhan vien Phan cong cong viec Theo doi tien do cong viec MS Office Project Hình 2.3. Tổng quan nghiệp vụ hiện tại b. Lược đồ business usecase cho phần 1 : lập kế hoạch và theo đõi việc thực hiện kế hoạch: Hình 2.4. business usecase diagram “Lập kế hoạch và theo dõi thực hiện kế hoạch”
  • 12. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 11 MS Office Project Ban lanh dao Thoáng keâ treân keá hoaïch chi tieátTruong du an Thoáng keâ treân toång theå döï aùn Thoáng keâ veà thôøi löôïng, chi phí thöïc hieän , cheânh leäch giöõa thöïc teá vôùi keá hoaï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 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 liên quan Hình 2.6. business usecase diagram “ Quản lý các thông tin liên quan
  • 13. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 12 Laäp keá hoaïch toång theå Keá hoaïch toång theå ñöôïc ghi nhaän trong file MS Word hoaëc Excel Trình ban laõnh ñaïo pheâ duyeät Keá hoaïch hôïp lyù? Khoâng Coù Pheââ duyeät keá hoaï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ể” Hình 2.7 Activity diagram “Lập kế hoạch tổng thể”
  • 14. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 13 Baét ñaàu moät giai ñoaïn Leân keá hoaïch chi tieát cho caùc coâng vieäc toång theå thuoäc giai ñoaïn naøy Trieån khai thöïc hieän vaø theo doõi Caàn ñieàu chænh, boå sung? Ñieàu chænh, boå sung keá hoaïch chi tieáùt coù Söû duïng caùc hoã trôï, tieän ích cuûa MS Project ñeå thöïc hieän. Keá hoaïch chi tieát ñöôïc löu vaøo file project (.mpp) Kieåm tra cheânh leäch vôùi keá hoaïch toång theå Khoâng Truong du an b. Activity diagram cho use case “Lập kế hoạch chi tiết” : Hình 2.8. Activity diagram “Lập kế hoạch chi tiết”
  • 15. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 14 Kieåm tra cheânh leäch vôùi coâng vieäc toång theå trong KHTT Cheânh leäch nhieàu? Ñieàu chænh keá hoaïch toång theå coù Trình ban laõnh ñaïo Tính toång chi phí vaø thôøi löôïng cuûa caùc coâng vieäc chi tieát Tröôûng döï aùn söûa laïi baûn keá hoaïch toång theå ban ñaàu (treân file Word hoaëc Excel) hoaëc laäp laïi keá hoaïch khaùc khi khaùc bieät quaù nhieàu Kieåm tra, pheâ duyeät keá hoaïch Ban lanh daoMS ProjectTruong du an c. Activity diagram cho use case “Điều chỉnh kế hoạch tổng thể”: Hình 2.9. Activity diagram “Điều chỉnh kế hoạch tổng thể”
  • 16. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 15 Môû keá hoaïch chi tieát caàn phaân coâng Tham khaûo thoâng tin trình ñoä nhaân vieân Xaùc ñònh loaïi coâng vieäc vaø yeâu caàu veà trình ñoä Phaân coâng Thoâng baùo cho nhaân vieân veà coâng vieäc ñöôïc giao Hieån thò keá hoaïch chi tieát Ghi nhaän phaân coâng Cung caáp thoâng tin trình ñoä nhaân vieân Nhaän vaø thöïc hieän coâng vieäc Nhan vienHo so nhan vienMS ProjectTruong du an d. Activity diagram cho use case “Phân công”: Hình 2.10. Activity diagram “Phân công”
  • 17. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 16 Göûi baùo caùo coâng vieäc nhaäp caùc thoâng tin veà tieán ñoä ñaõ kieåm tra vaøo keá hoaïch chi tieát (file .mpp) Bao cao bang file Word hoac Excel Nhaän baùo caùo coâng vieäc Kieåm tra coâng vieäc Nhaäp thoâng tin tieán ñoä Ghi nhaän tieán ñoä MS ProjectTruong Du anNhan vien 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”
  • 18. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 17 Yeâu caàu thoáng keâ treân moät keáâ hoaïch chi tieát MS Project chæ thöïc hieän thoáng keâ treân moät file project (.mpp) Hieäu chænh thoáng keâ Keát xuaát thoáng keâ In thoáng keâ MS Proj ectTruong 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”
  • 19. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 18 Yeâu caàu xem thoáng keâ treân töøng baûn keá hoaïch chi tieát Toång hôïp soá lieäu Laäp thoáng keâ toång theå Thoáng keâ treân toaøn boä döï aùn hoaëc cho moät vaøi giai ñoaïn nhaát ñònh Keát xuaát thoáng keâ treân töøng baûn keá hoaïch chi tieát Xem vaø ñaùnh giaù coâng vieäc Ban lanh daoMS ProjectTruong du an g. Activity diagram cho use case “Thống kê trên tổng thể dự án”: 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ố yê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 quá 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 toà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
  • 20. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 19 Hiện tại, toàn bộ kế hoạch của một dự án không nằm trên cùng một file project mà được tách thành nhiều phần : một kế hoạch tổng thể và nhiều kế hoạch chi tiết, và các phần có thể được lập bởi những người khác nhau. Kế hoạch tổng thể được lưu trên một tập tin MS Word hoặc Excel, và không có mối liên hệ vật lý nào với các bản kế hoạch chi tiết. Trong khi về mặt ý nghĩa, kế hoạch chi tiết là để triển khai chi tiết cho từng công việc trong kế hoạch tổng thể. Chính điều này đã dẫn đến khó khăn khi cần một thống kê tổng thể trên toàn bộ dự án, và cũng khó kiểm soát được chênh lệch giữa kế hoạch tổng thể và các kế hoạch chi tiết triển khai cho nó. Yêu cầu : Công cụ mới hỗ trợ lập các thống kê tổng thể (về chi phí dự án, về tiến độ công việc,…), cung cấp một cái nhìn tổng quan rõ ràng về dự án , nhưng đồng thời vẫn cho phép tách kế hoạch của dự án thành nhiều phần như hiện tại, không gây khó khăn cho những người lập kế hoạch, và vẫn cho phép lập kế hoạch bằng MS Office Project. Điều này có nghĩa là công cụ mới phải đọc thông tin từ các bản kế hoạch được lập và tổ chức quản lý lại một cách có hệ thống. b. Không quản lý tốt các phiên bản của kế hoạch tổng thể Khi có sự chênh lệch tương đối lớn giữa kế hoạch tổng thể và kế hoạch chi tiết, Trưởng dự án phải điều chỉnh lại kế hoạch tổng thể. Trưởng dự án có thể sửa ngay trên tập tin cũ, hoặc xoá toàn bộ và lập một kế hoạch mới nếu thấy không kiểm soát được kế hoạch cũ do chênh lệch quá lớn. Các thông tin về phiên bản kế hoạch tổng thể cũ, do đó, không còn được lưu giữ, hay nếu có cũng 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á quá 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.
  • 21. K H O A C N TT – Đ H K H TN 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 số thông tin: không phân loại công việc ; không có thông tin đầy đủ về nhân viên , đặc biệt là trình độ của nhân viên, không ghi nhận được thông tin về vai trò của nhân viên khi phân công nhân viên này vào công việc. Các thông tin này đều cần cho việc phân loại chi phí dự án khi thực thống kê . Yêu cầu : Quản lý bổ sung các thông tin này. Cụ thể: Xác định loại công việc cho các công việc trong kế hoạch . Ví dụ : công việc T thuộc loại công việc thiết kế. Các loại công việc có thể phân thành nhiều cấp. Ví dụ với loại công việc thiết kế, có các loại công việc con: thiết kế dữ liệu, thiết kế giao diện,…
  • 22. K H O A C N TT – Đ H K H TN Chương 2 : Khảo sát và phân tích hiện trạng 21 Xác định trình độ cho nhân viên, ví dụ: nhân viên Nguyễn Văn A có trình độ là Lập trình viên bậc 1 Xác định vai trò của nhân viên trong mỗi phân công. Một nhân viên với một trình độ nhất định vẫn có thể đảm nhận các vai trò khác nhau, nên thông tin về trình độ nhân viên không là ràng buộc khi phân công. Ví dụ : Nhân viên Nguyễn Văn A có trình độ Thiết kế viên bậc 1 trong công việc T đóng vai trò Thiết kế viên, nhưng trong công việc T’ có 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.
  • 23. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 22 CSDL Project Server MS Office Project Professional MS Project Web Access CSDL PMA Trích lọc và chuyển đổi dữ liệu Project Data Service (PDS) Quản lý các thông tin liên quan Thống kê MS Office Project PMA 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ố 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
  • 24. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 23 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. - Thông qua hai dạng client của Project Server là MS Office Project Professional và Project Web Access, người dùng có thể xem và hiệu chỉnh cho các kế hoạch đã lập, cũng như bổ sung thông tin phân công và cập nhật tiến độ công 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 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 tuân theo một số ràng buộc : o Toà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 bằng MS Project và lưu vào Project Server, dù thật ra bản kế hoạch sẽ không được lưu thành một file .mpp mà được lưu trữ trong CSDL) o Trong kế hoạch tổng thể sẽ có các công việc cấp 1 tương ứng với các giai đoạn trong dự án, ngoài ra có thể có các công việc con (subtask) cho mỗi công việc cấp 1 o Mỗi bản kế hoạch thuộc kế hoạch chi tiết sẽ chi tiết cho một công việc tổng thể cấp 1 . Ngoài ra các công việc cấp 1 của kế hoạch chi tiết cũng 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
  • 25. K H O A C N TT – Đ H K H TN 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 cũng không quản lý được mối liên hệ giữa các bản kế hoạch , giữa kế hoạch tổng thể với kế hoạch chi tiết, không lưu vết được thao tác,.., nói chung là không đủ để giải quyết các vấn đề của hệ thống hiện tại và không đáp ứng được các yê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ể .
  • 26. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 25 - Kế hoạch chi tiết luôn 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 một công việc tổng thể nhất định cũng như xác định chênh lệch nếu có về chi phí và thời lượng giữa hai bên. - Khi cập nhật thông tin về tiến độ công việc, thông tin cũ có thể được lưu lại trước khi bị ghi đè lên - Có thể giữ lại thông tin về các công việc bị xoá khỏi kế hoạch nếu đã có thông tin về quá trình thực hiện - Các công việc có thông tin về loại công việc và giai đoạn tương ứng. - Lưu trữ các thông tin cần thiết về công việc , phân công (ngày bắt đầu, kết thúc, thời lượng , chi phí dự kiến và thực tế ) và quan hệ giữa công việc – công việc con b) Giao tiếp với MS Project Server Để có thể cho phép người dùng lập kế hoạch bằng hệ thống phần mềm MS Project và sau đó quản lý các kế hoạch này trong CSDL mới, PMA có module Trích lọc và chuyển đổi dữ liệu giữ vai trò giao tiếp với phần mềm MS Office Project (mà cụ thể ở đây là MS Project Server). Module này cần thực hiện các chức năng chính như sau: - Đọc và ghi nhận một kế hoạch tổng thể mới sau khi kế hoạch này đã được lập và lưu trữ trong Project Server. - Đọc và ghi nhận các bản kế hoạch chi tiết (người dùng sẽ bổ sung thông tin trong quá trình này để PMA có thể gắn kết kế hoạch chi tiết với kế hoạch tổng thể) - Cập nhật các bản kế hoạch tổng thể và kế hoạch chi tiết khi có thay đổi trên file project tương ứng trong Project Server. Đây là một chức năng đòi hỏi nhiều xử lý để đảm bảo sự nhất quán trong CSDL của PMA.
  • 27. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 26 - Trong quá trình ghi nhận mới hoặc cập nhật kế hoạch, cho phép người dùng bổ sung các thông tin như loại công việc của công việc, vai trò của nhân viên được phân công… Để tránh sự phụ thuộc tuyệt đối vào CSDL của Project Server ( về cấu trúc CSDL và cả tên các thuộc tính, các quan hệ ), PMA sẽ không đọc trực tiếp từ CSDL của Project Server mà thông qua PDS (Project Data Service) , một Web Service do Project Server cung cấp, cho phép đọc và thực hiện cập nhật trên CSDL này thông qua các XML Request. Hơn nữa , dùng PDS cũng là cách để có thể tuân thủ tinh thần an toàn và bảo mật thông tin của Project Server. c) Thống kê Với cách tổ chức quản lý thông tin như trên, PMA hoàn toàn có thể hỗ trợ kết xuất tự động các thống kê từ tổng thể đến chi tiết . Ngoài ra , PMA còn có thể kiểm tra chênh lệch giữa kế hoạch tổng thể 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á quá trình phát triển dự án, đồng thời có thể giúp Trưởng dự án rút kinh nghiệm cho các lần lập kế hoạch sau. 3.3 Sơ đồ nghiệp vụ tổng quan với hệ thống mới Hình 3.2 sau mô tả các nghiệp vụ chính với hệ thống mới. Đây chỉ là tổng quan các nghiệp vụ chủ yếu. Các nghiệp vụ này và một số nghiệp vụ khác sẽ được phân tích chi tiết trong các chương sau.
  • 28. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 27 Laäp keá hoaïch toång theå Yeâu caàu ghi nhaän keá hoaïch toång theå môùi Laäp keá hoaïch chi tieát Yeâu caàu theâm môùi keá hoaïch chi tieát Caäp nhaät, boå sung keá hoaïch (toång theå, chi tieát) yeâu caàu caäp nhaät thay ñoåi Yeâu caàu thoáng keâ Ghi nhaän keá hoaïch toång theå Ghi nhaän keá hoaïch chi tieát Ghi nhaän thay ñoåi Ghi nhaän keá hoaïch toång theå vaøo CSDL cuûa PMA Ghi nhaäân keá hoaïch chi tieát môùi Caäp nhaät thay ñoåi Keát xuaát thoáng keâ PMAMS Project Serv erTruong du an Hình 3.2. Mô hình tổng quan nghiệp vụ với hệ thống mới
  • 29. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 28 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 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 chuyên nghiệp (Enterprise Project Management _ EPM ) trên nhiều lĩnh vực, không chỉ riêng cho các dự án phần mềm. Thay vì lưu các bản kế hoạch được lập trên các file .mpp, Project Server sử dụng một CSDL SQL Server để lưu trữ thông tin về các kế hoạch được lập : các công việc, bảng phân công, tài nguyên sử dụng trong dự án (nhân sự, máy móc, thiết bị…), và khá nhiều thông tin khác về lịch làm việc, các ghi chú, các thông tin phục vụ cho việc hiển thị kế hoạch. Các kế hoạch trong Project Server được lập, xem và hiệu chỉnh thông qua MS Project Professional hoặc qua web với Project Web Access. Project Server có cơ chế phân quyền chặt chẽ. 3.4.2. Các lý do của việc chọn Project Server cho hệ thống mới Project Server được chọn để xây dựng hệ thống mới vì những lý do chính như sau : - Project Server cho phép lưu trữ dữ liệu tập trung , thuận tiện hơn cho trưởng dự án trong việc quản lý các bản kế hoạch trước khi ghi nhận chúng vào CSDL của PMA . - Với Project Server và PDS, việc đọc thông tin trên các bản kế hoạch sẽ dễ dàng hơn . Nếu dùng các file .mpp , dữ liệu phải được đọc thông qua
  • 30. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 29 các đối tượng trong các component được cung cấp bởi MS Office Project và xử lý sẽ phức tạp hơn. 3.4.3. Lược đồ CSDL của Project Server Lược đồ CSDL của Project Server bao gồm 30 quan hệ. Vì MS Office Project hỗ trợ người dùng rất nhiều trong việc hiển thị kế hoạch, bao gồm cả việc tuỳ biến cách thể hiện một số thông tin như đơn vị ngày tháng, thời gian, tiền tệ,…nên một phần lớn các quan hệ và thuộc tính dùng để chứa các thông tin này và các tham số. Một nhóm quan hệ khác chứa thông tin về lịch làm việc và mức chi phí cho các tài nguyên. MS Office Project hỗ trợ lịch làm việc chung và cả lịch biểu riêng cho từng tài nguyên (resource) và từng tác vụ (task). Các quan hệ chứa lịch biểu này còn phục vụ cho việc lưu thông tin về các tác vụ không được thực hiện liên tục (split task). Trong phạm vi đề tài, chỉ khảo sát kỹ các quan hệ chứa các thông tin chính về kế hoạch : kế hoạch (Project), công việc (task), phân công (assignment), tài nguyên (resource). Lược đồ quan hệ của các quan hệ này như sau :
  • 31. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 30 MSP_PROJECTS PK PROJ_ID PROJ_NAME PROJ_PROP_AUTHOR PROJ_PROP_COMPANY ... MSP_ASSIGNMENTS PK,FK1,FK2 PROJ_ID PK,FK2 TASK_UID FK1 RES_UID ASSN_UID ASSN_WORK ... MSP_RESOURCES PK RES_UID PK,FK1 PROJ_ID RES_NAME RES_COST ... MSP_TASKS PK,FK1 PROJ_ID PK TASK_UID TASK_ID TASK_DUR ... Hình 3.3. Lược đồ quan hệ của một số quan hệ chính trong CSDL Project Server Danh sách một số thuộc tính cần quan tâm : Các quan hệ trong lược đồ trình bày ở trên đều có khoảng trên 50 thuộc tính. Trong đó phần lớn là các thuộc tính dạng tham số (đối với bảng MSP_PROJECTS), thuộc tính dùng cho việc hiển thị, thuộc tính tính toán. Ở đây chỉ mô tả một số ít thuộc tính thật sự cần để xây dựng hệ thống mới. a) MSP_PROJECTS Quan hệ này chứa một số thông tin chung về bản kế hoạch , chủ yếu là các tham số . Ta cần quan tâm đến các thuộc tính sau :
  • 32. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 31 Tên thuộc tính Kiểu dữ liệu Ý nghĩa PROJ_ID Integer Mã của bản kế hoạch PROJ_ NAME Varchar(255) Tên bản kế hoạch PROJ_PROP_AUTHOR Varchar(255) Tên người lập (tên user lập kế hoạch) PROJ_CREATION_DATE Datetime Ngày lập kế hoạch PROJ_TYPE Integer Loại ( = 0 đối với một kế hoạch thông thường) b) MSP_RESOURCES Quan hệ này chứa thông tin về tất cả các tài nguyên dùng trong dự án, ở đây chỉ xét các tài nguyên là nhân sự Các thuộc tính cần quan tâm: Tên thuộc tính Kiểu dữ liệu Ý nghĩa RES_UID Integer Mã nhân viên RES_NAME Varchar(255) Tên nhân viên (có thể chỉ là tên tắt) RES_ID Varchar(255) Số thứ tự của nhân viên PROJ_ID Integer Tham chiếu đến quan hệ MSP_PROJECTS c) MSP_TASKS Quan hệ này chứa thông tin về các công việc trong kế hoạch Các thuộc tính cần quan tâm:
  • 33. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 32 Tên thuộc tính Kiểu dữ liệu Ý nghĩa TASK_UID Integer Mã công việc PROJ_ID Interger Tham chiếu đến bảng MSP_PROJECTS TASK_ID Interger Số thứ tự của công việc TASK_NAME Varchar(255) Tên công việc TASK_OUTLINE_LEVEL Integer Mức của công việc(cho quan hệ công việc- công việc con) TASK_DUR Decimal Thời lượng của công việc TASK_ACT_DUR Decimal Thời lượng thực tế TASK_WORK Decimal Lượng việc TASK_ACT_WORK Decimal Lượng việc thực tế TASK_START_DATE Datetime Ngày bắt đầu theo kế hoạch TASK_FINISH_DATE Datetime Ngày kết thúc theo kế hoạch TASK_ACT_START Datetime Ngày bắt đầu thực tế TASK_ACT_FINISH Datetime Ngày kết thúc thực tế d) MSP_ASSIGNMENTS Quan hệ này chứa thông tin về các phân công trong kế hoạch Các thuộc tính cần quan tâm: Tên thuộc tính Kiểu dữ liệu Ý nghĩa ASSN_UID Integer Mã phân công PROJ_ID Interger Mã kế hoạch TASK_UID Interger Mã công việc RES_UID Integer Mã nhân viên
  • 34. K H O A C N TT – Đ H K H TN Chương 3 : Phương án xây dựng hệ thống mới 33 ASSN_UNITS Decimal Tỷ lệ thời lượng mà nhân viên tham gia vào công việc so với tổng thời lượng mà nhân viên này có thể làm việc, tính trong một đơn vị thời gian ASSN_WORK Decimal Lượng việc ASSN_ACT_WORK Decimal Lượng việc thực tế ASSN_START_DATE Datetime Ngày bắt đầu theo kế hoạch ASSN_FINISH_DATE Datetime Ngày kết thúc theo kế hoạch ASSN_ACT_START Datetime Ngày bắt đầu thực tế ASSN_ACT_FINISH Datetime Ngày kết thúc thực tế Ghi chú : Vì PMA sẽ đọc dữ liệu thông qua PDS, một số thông tin được đọc ra sẽ có thể khác về dạng thể hiện so với thông tin được lưu trong CSDL của Project Server và cần những chuyển đổi thích hợp.
  • 35. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 34 Chương 4 : Phân tích hệ thống Dựa trên phương án đã đề ra trong chương 3, chương 4 sẽ đi sâu hơn vào việc phân tích hệ thống mới , để cho ta thấy rõ hơn các chức năng cụ thể mà PMA cần có , đồng thời cung cấp một cái nhìn ở mức quan niệm về tổ chức dữ liệu và xử lý của PMA. 4.1. Chi tiết yêu cầu chức năng Các yêu cầu chức năng đối với công cụ mới PMA như sau : 4.1.1 Lưu trữ và quản lý thông tin PMA cần tổ chức lưu trữ và quản lý các thông tin sau : - Danh mục các loại công việc, có xét đến quan hệ giữa loại công việc chung và các loại công việc chi tiết , giữa loại công việc với các vai trò có thể đảm nhận nó. - Danh mục các vai trò và trình độ - Hồ sơ nhân viên với thông tin về trình độ của họ. - Thông tin chung về dự án : tên dự án, ngày dự kiến bắt đầu và kết thúc, trưởng dự án, quan hệ giữa dự án và các dự án con. - Danh sách các giai đoạn có thể có trong một dự án. - Kế hoạch tổng thể của dự án : phiên bản, ngày lập, người lập - Các công việc tổng thể : loại công việc; ngày bắt đầu và kết thúc dự kiến, chi phí và thời lượng dự kiến; quan hệ giữa công việc và công việc con - Kế hoạch chi tiết của dự án : công việc tổng thể được chi tiết, ngày lập, người lập, ngày cập nhật cuối. Một công việc tổng thể (cấp 1) có thể được chi tiết bởi một hoặc nhiều bản kế hoạch chi tiết - Các công việc chi tiết: loại công việc; ngày bắt đầu và kết thúc dự kiến, chi phí và thời lượng dự kiến; quan hệ giữa công việc và công việc con; ngày bắt đầu và kết thúc thực tế, chi phí và thời lượng thực tế.
  • 36. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 35 - Thông tin phân công : công việc (chi tiết) và nhân viên được phân công vào công việc, vai trò của nhân viên trong công việc; ngày bắt đầu và kết thúc dự kiến, chi phí và thời lượng dự kiến; ngày bắt đầu và kết thúc thực tế, chi phí và thời lượng thực tế, tỷ lệ hoàn tất đến thời điểm hiện tại - Các văn bản phát sinh trong quá trình triển khai dự án : Đối với các văn bản như hợp đồng, phụ lục hợp đồng, biên bản thanh lý hợp đồng : lưu một số thông tin chính như khách hàng, số tiền của hợp đồng, các phân hệ, các mốc thanh toán, số tiền thanh toán… và thông tin về ngày lập, nơi lưu trữ Đối với một số loại văn bản khác : chỉ cần lưu thông tin về giai đoạn phát sinh , ngày lập và nơi lưu trữ. 4.1.2. Đồng bộ thông tin với Project Server PMA cần cung cấp các chức năng sau để thực hiện việc đọc và chuyển đổi thông tin từ một bản kế hoạch (một project) được lưu trữ trong CSDL của Project Server thành một kế hoạch lưu trong CSDL của PMA theo đúng cấu trúc của CSDL mới này (với đầy đủ thông tin về công việc và phân công). (Tạm gọi toàn bộ quá trình này là Đồng bộ thông tin với Project Server) - Ghi nhận kế hoạch tổng thể : Ghi nhận một kế hoạch tổng thể mới được lập cho một dự án. Cần ghi nhận được ngày bắt đầu, kết thúc, chi phí và thời lượng dự kiến cho từng công việc. Thông tin phân công cho các công việc tổng thể trên file project , nếu có, được xem như thông tin về người chịu trách nhiệm quản lý việc thực hiện công việc đó. Trong quá trình ghi nhận, cho phép người dùng bổ sung thêm thông tin về giai đoạn và loại công việc của từng công việc tổng thể. - Cập nhật kế hoạch tổng thể :
  • 37. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 36 Thực hiện cập nhật dữ liệu thuộc về một kế hoạch tổng thể khi có sự thay đổi trên file project tương ứng trong CSDL của Project Server. - Ghi nhận kế hoạch chi tiết : Ghi nhận một bản kế hoạch chi tiết mới được lập để chi tiết cho một công việc tổng thể (không phải là công việc con) của kế hoạch tổng thể. Cần ghi nhận được ngày bắt đầu, kết thúc, chi phí và thời lượng dự kiến và thực tế (nếu có) cho từng công việc và từng phân công. Trong quá trình ghi nhận, cho phép người dùng bổ sung thêm thông tin về loại công việc của từng công việc chi tiết và xác định vai trò của nhân viên được phân công - Cập nhật kế hoạch chi tiết : Thực hiện cập nhật dữ liệu thuộc về một kế hoạch chi tiết khi có sự thay đổi trên file project tương ứng trong CSDL của Project Server. Khi tiến hành cập nhật cần chú ý các vấn đề sau: Xử lý lưu vết khi cập nhật tiến độ công việc Nếu một công việc bị xoá khi đã được thực hiện một phần , cần lưu trữ lại thông tin về chi phí cho phần việc đã thực hiện đó. 4.1.3. Khai thác dữ liệu - thực hiện thống kê Hệ thống hỗ trợ kết xuất tự động các thống kê tổng thể hoặc chi tiết tùy theo yêu cầu của người sử dụng. Kiểm tra và thống kê chênh lệch giữa kế hoạch tổng thể với kế hoạch chi tiết và hỗ trợ lập phiên bản kế hoạch tổng thể mới. Chú trọng các thống kê tổng thể trên toàn dự án hoặc trên nhiều dự án. 4.1.4. Một số chức năng khác: • Phân quyền : phân quyền cho các nhóm người dùng : Ban lãnh đạo, Trưởng dự án, Nhân viên văn phòng và quản trị hệ thống • Quản lý các tham số hệ thống
  • 38. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 37 Dong bo thong tin voi Project Server quan tri he thong Quan ly thong tin Khai thac du lieu - Thong ke Phan quyen Quan ly cac tham so he thong Quan tri He thong Dang nhap NSD 4.2. Mô hình hoá hệ thống 4.2.1. Lược đồ use case : Các lược đồ use case sau mô tả các chức năng của công cụ mới được xây dựng (PMA) . Các use case được chia thành bốn nhóm như sau : Hình 4.1. Các nhóm chức năng của PMA a. Nhóm use case Quản trị hệ thống: Hình 4.2. lược đồ use case nhóm Quản trị hệ thống
  • 39. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 38 Bảng mô tả các use case thuộc nhóm này : STT Tên use case Actor Mô tả Điều kiện tiên quyết 1 Đăng nhập Người sử dụng hệ thống Một ngưòi sử dụng nhập các thông tin về tên sử dụng và mật khẩu để bắt đầu sử dụng hệ thống với các chức năng tương ứng với quyền của mình 2 Phân quyền Người quản trị hệ thống Người quản trị hệ thống sử dụng PMA để cấp quyền sử dụng các chức năng cho các nhóm người sử dụng và cấp tên sử dụng, mật khẩu cho mỗi người sử dụng thuộc từng nhóm. Người sử dụng đăng nhập thành công với quyền quản trị 3 Quản lý các tham số hệ thống Người quản trị hệ thống Người quản trị hệ thống thêm bớt hoặc thay đổi giá trị cho các tham số và các quy định được sử dụng trong hệ thống. Người sử dụng đăng nhập thành công với quyền quản trị b. Nhóm use case quản lý thông tin:
  • 40. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 39 Quan ly nhan vien Quan ly van ban Nhan vien van phong Quan ly cac danh muc Quan ly thong tin chung cua du an Quan tri He thong Hình 4.3. lược đồ use case nhóm quản lý thông tin Bảng mô tả các use case thuộc nhóm này : STT Tên use case Actor Mô tả Điều kiện tiên quyết 4 Quản lý nhân viên Nhân viên văn phòng Nhân viên văn phòng sử dụng PMA để ghi nhận hồ sơ một nhân viên mới, thay đổi hoặc xóa hồ sơ một nhân viên. Hệ thống cũng hỗ trợ tra cứu thông tin nhân viên Đăng nhập thành công với quyền Nhân viên văn phòng 5 Quản lý văn bản Nhân viên văn phòng Nhân viên văn phòng sử dụng PMA để ghi nhận thông tin liên quan đến các văn bản phát sinh trong quá trình triển khai dự án (như đã trình bày ở phần 4.1.1 ) và tra cứu các thông tin này khi cần Đăng nhập thành công với quyền Nhân viên văn phòng
  • 41. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 40 Ghi nhan ke hoach tong the moi Cap nhat ke hoach tong the Ghi nhan ke hoach chi tiet Truong Du an MS Project Server Cap nhat ke hoach chi tiet 6 Quản lý các danh mục Người quản trị hệ thống Người quản trị hệ thống quản lý (thêm , xoá, cập nhật ) các danh mục được sử dụng trong hệ thống (như đã trình bày ở phần 4.1.1) Đăng nhập thành công với quyền quản trị 7 Quản lý thông tin chung dự án Người quản trị hệ thống Người quản trị hệ thống dùng PMA để ghi nhận thông tin chung về một dự án mới và thay đổi nếu cần. (Trước khi trưởng dự án được cấp quyền để lên kế hoạch và thay đổi thông tin trên dự án này) Đăng nhập thành công với quyền quản trị c. Nhóm use case Đồng bộ thông tin với Project Server: Hình 4.3. lược đồ use case nhóm Đồng bộ thông tin với Project Server
  • 42. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 41 Bảng mô tả các use case thuộc nhóm này : STT Tên use case Actor Mô tả Điều kiện tiên quyết 8 Ghi nhận kế hoạch tổng thể mới - Trưởng dự án - Project Server Trưởng dự án , sau khi đã lập một kế hoạch tổng thể và lưu vào Project Server, sử dụng PMA để ghi nhận kế hoạch tổng thể đó vào CSDL của PMA. (Quá trình này được mô tả chi tiết bằng sơ đồ tuần tự ở phần sau) - Đăng nhập thành công với quyền trưởng dự án của dự án tương ứng - Dự án chưa có kế hoạch tổng thể 9 Cập nhật kế hoạch tổng thể - Trưởng dự án - Project Server Trưởng dự án , sau khi đã cập nhật project tương ứng với kế hoạch tổng thể bằng Project Server, sử dụng PMA để cập nhật các thay đổi đó vào CSDL của PMA. (Quá trình này được mô tả chi tiết bằng sơ đồ tuần tự ở phần sau) - Đăng nhập thành công với quyền trưởng dự án của dự án tương ứng - Dự án đã có kế hoạch tổng thể 10 Ghi nhận kế hoạch chi tiết - Trưởng dự án - Project Server Trưởng dự án , sau khi đã lập một kế hoạch chi tiết (một file project) và lưu vào Project Server, sử dụng PMA để ghi nhận kế hoạch chi tiết đó vào CSDL của PMA và xác định kế hoạch sẽ chi tiết cho một công việc trong kế hoạch tổng thể (Quá trình này được mô tả chi tiết bằng sơ đồ tuần tự ở phần sau) - Đăng nhập thành công với quyền trưởng dự án của dự án tương ứng - Dự án đã có kế hoạch tổng thể
  • 43. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 42 Xem phan cong cua nhan vien Ban lanh dao Thong ke chi tiet du an Kiem tra chenh lech giua KHTT va KHCT MS Project Server Lap phien ban KHTT moi Truong Du an Thong ke tong the chi phi du an 11 Cập nhật kế hoạch chi tiết - Trưởng dự án - Project Server Trưởng dự án , sau khi đã cập nhật project tương ứng với kế hoạch chi tiết bằng Project Server, sử dụng PMA để cập nhật các thay đổi đó vào CSDL của PMA. (Quá trình này được mô tả chi tiết bằng sơ đồ tuần tự ở phần sau) - Đăng nhập thành công với quyền trưởng dự án của dự án tương ứng - Dự án đã có kế hoạch tổng thể d. Nhóm use case Khai thác dữ liệu- Thống kê: Hình 4.3. lược đồ use case nhóm Khai thác dữ liệu – thống kê
  • 44. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 43 Bảng mô tả các use case thuộc nhóm này : STT Tên use case Actor Mô tả Điều kiện tiên quyết 12 Xem phân công của nhân viên Ban lãnh đạo Ban lãnh đạo dùng PMA để xem các thông tin phân công của một nhân viên ( tất cả hoặc trong một khoảng thời gian nhất định) - Đăng nhập thành công với quyền ban lãnh đạo 13 Thống kê tổng thể chi phí dự án Ban lãnh đạo hoặc Trưởng dự án Ban lãnh đạo (hoặc trưởng dự án) dùng PMA để thống kê tổng thể chi phí của dự án (có thể theo từng giai đoạn) , bao gồm cả việc phân loại chi phí theo loại công việc, theo vai trò và trình độ người tham gia. - Đăng nhập thành công với quyền ban lãnh đạo 14 Thống kê chi tiết dự án - Trưởng dự án Trưởng dự án dùng PMA để xem chi tiết thông tin về các công việc chi tiết được triển khai cho một công việc tổng thể - Đăng nhập thành công với quyền trưởng dự án của dự án tương ứng - Dự án đã có kế hoạch 15 Kiểm tra chênh lệch giữa KHTT và KHCT - Trưởng dự án Trưởng dự án sử dụng PMA để thống kê các sai lệch về thời lượng và chi phí giữa KHTT và KHCT - Đăng nhập quyền trưởng dự án của dự án tương ứng - Dự án đã có kế hoạch
  • 45. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 44 16 Lập phiên bản kế hoạch tổng thể mới -Trưởng dự án - Project Server Bắt đầu use case này khi trưởng dự án sau khi thống kê sai lệch giữa kế hoạch tổng thể và kế hoạch chi tiết, quyết định lập phiên bản kế hoạch tổng thể mới PMA hỗ trợ tính toán và lập một phiên bản mới trong CSDL của PMA với các thông tin về thời lượng và chi phí phù hợp với kế hoạch chi tiết hiện tại. PMA tạo một project trong Project Server tương ứng với phiên bản KHTT mới - Đăng nhập thành công với quyền trưởng dự án của dự án tương ứng - Dự án đã có kế hoạch tổng thể và chi tiết 4.2.2. Các lớp đối tượng chính bên trong hệ thống: a) Sơ đồ các lớp đối tượng chính: Hình bên dưới là mô hình quan niệm các lớp đối tượng chính bên trong hệ thống, Trên sơ đồ chỉ có một số thuộc tính cơ bản của các lớp đối tượng.
  • 46. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 45 KeHoach Ma Ten Ngay lap GhiNhanMoi() Cap nhat() Xoa() GiaiDoan Ma Ten CongViec Ma Ten Ngay bat dau Ngay ket thuc Chi phi Thoi luong Them() Cap nhat() Xoa() KeHoachTongThe Phien ban Lap phien ban moi() KeHoachChiTiet Ngay cap nhat cuoi TTCapNhat_CongViec Stt Thoi diem cap nhat Chi phi TT ( truoc) Thoi luong TT (truoc) CongViecChiTiet NgayBD TT NgayKT TT Thoi luong TT Chi phi TT Ty le hoan tat Thong ke theo CVTT() Thong ke theo du an() * 1 * 1 0..1 0..* 1 * 0..1 0..* PhanCong Ngay bat dau(DK,TT) Ngay ket thuc (DK,TT) Chi phi (DK,TT) Thoi luong (DK, TT) Ty le hoan tat Them() Xoa() Cap nhat() Thong ke theo vai tro() Thong ke theo trinh do() Thong ke theo nhan vien() * 1 TTCapNhat_PhanCong Stt Thoi diem cap nhat Chi phi TT (truoc) Thoi luong TT (truoc)*1 *1 1 * * 1 TrinhDo Ma Ten Bac NhanVien Ma Ho ten Ngay sinh Dia chi ... Them() Xoa() Cap nhat() 1 * 1 * *1 *1 CongViecTongThe Kiem tra chenh lech() * 1 * 1 1 * 1 * 0..* 0..1 0..* 0..1 1 * 1 * DuAn Ma Ten Ngay bat dau Ngay ket thuc Ghi nhan moi() Cap nhat() Xoa() 1 * 1 * 0..* 0..10..1 0..* LoaiCon gViec Ma Ten 1 * 1 * 1 * 1 * 0..1 0..* 0..1 0..* VaiTro Ma Ten * 1 * 1 * 1 * 1 1..* * 1..* * Hình 4.4. Sơ đồ các lớp đối tượng với một số thuộc tính và trách nhiệm chính
  • 47. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 46 GiaiDoan Ma Ten LoaiVanBan Ma Ten loai VB VanBan Ma Ten Ngay lap Noi luu tru Them() Xoa() Cap nhat() Tra cuu() 1* *1 BBThanhLyHopDong So Ngay lap Gia tri da thanh toan Noi luu tru MocThanhToan Stt ThoiDiemThanhToan TyLeThanhToan PhuLucHopD ong So Ngay lap Noi luu tru Cap nhat() Tra cuu() Them() Xoa() PhanHe Ma Ten GiaTri KhachHang Ma Ten DiaChi ... HopDong SoHD Ngay ky Tong gia tri Noi luu tru Them() Xoa() Cap nhat() Tra cuu() *11* 1* 1 * * 1 DuAn Ma Ten Ngay bat dau Ngay ket thuc *1 1 * *1 *1 1* 1 * *11* * 1 * 1 1* Hình 4.5. Sơ đồ các lớp đối tượng với một số thuộc tính và trách nhiệm chính(tt) (*) * Ghi chú : vì sơ đồ có khá nhiều lớp đối tượng nên tạm cắt thành 2 phần. Phần sau chỉ là các đối tượng phục vụ cho tiện ích quản lý và tra cứu văn bản. b) Danh sách các lớp đối tượng chính:
  • 48. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 47 STT Tên Ý nghĩa 1 DuAn Dự án, cung cấp các thông tin chung về dự án: tên dự án, ngày bắt đầu, ngày kết thúc, trưởng dự án… Trách nhiệm chính : thêm, cập nhật hay xóa thông tin về dự án 2 KeHoach Kế hoạch, lớp cơ sở Cung cấp các thông tin chung về một bản kế hoạch : tên , ngày lập , người lập ( và một số thông tin về bản project tương ứng được lưu trong Project Server) Các trách nhiệm chính : thêm, cập nhật hay xóa kế hoạch (bao gồm việc trích lọc và chuyển đổi dữ liệu đọc được từ Project Server) Các trách nhiệm của một đối tượng thuộc lớp kế hoạch chỉ liên quan đến các thông tin chung của kế hoạch, không bao gồm việc xử lý thông tin các công việc hay phân công thuộc kế hoạch 3 KeHoachTongThe Kế hoạch tổng thể, kế thừa các thuộc tính và trách nhiệm của lớp kế hoạch Thuộc tính riêng : Phiên bản Trách nhiệm riêng : lập phiên bản mới 4 KeHoachChiTiet Kế hoạch chi tiết , kế thừa các thuộc tính và trách nhiệm của lớp kế hoạch Thuộc tính riêng : ngày cập nhật cuối ( dùng trong việc theo dõi cập nhật tiến độ)
  • 49. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 48 STT Tên Ý nghĩa 5 CongViec Công việc, lớp cơ sở Cung cấp các thông tin về một công việc nói chung : mã, tên, ngày bắt đầu, kết thúc, thời lượng, chi phí (dự kiến). Ngoài ra còn các thông tin về số thứ tự và mức chi tiết (level) của công việc Các trách nhiệm chính : thêm, xoá, cập nhật công việc (bao gồm việc trích lọc và chuyển đổi thông tin tương ứng đã được đọc từ Project Server). 6 CongViecChiTiet Công việc chi tiết, kế thừa các thuộc tính và trách nhiệm của lớp CongViec Các thuộc tính riêng : các giá trị phản ánh tiến độ công việc thực tế . Các trách nhiệm riêng : thống kê ( tất cả thông tin về chi phí, thời lượng (dự kiến và thực tế), ngày bắt đầu, kết thúc…) của các công việc chi tiết theo từng công việc tổng thể và theo toàn bộ dự án 7 CongViecTongThe Công việc tổng thể, kế thừa các thuộc tính và trách nhiệm của lớp công việc Trách nhiệm riêng : Kiểm tra chênh lệch giữa các thông tin dự kiến của một công việc tổng thể với các thông tin thực tế trong kế hoạch chi tiết. (Phối hợp với các đối tượng thuộc lớp CongViecChiTiet) 8 VaiTro Vai trò , cung cấp thông tin về danh mục các vai trò . Trách nhiệm chính : cập nhật danh mục vai trò .
  • 50. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 49 STT Tên Ý nghĩa 9 TrinhDo Trình độ, cung cấp danh mục trình độ Trách nhiệm chính : cập nhật danh mục trình độ 10 NhanVien Nhân viên, cung cấp thông tin về nhân viên : mã, họ tên, trình độ, địa chỉ, email… Trách nhiệm chính : thêm, xoá, cập nhật, tra cứu nhân viên. 11 PhanCong Phân công, cung cấp thông tin phân công công việc: ngày bắt đầu , kết thúc, chi phí, thời lượng ( dự kiến và thực tế), nhân vên được phân công, vai trò đảm nhận, Các trách nhiệm chính : thêm, xoá, cập nhật thông tin phân công ( bao gồm việc trích lọc và chuyển đổi thông tin tương ứng đã được đọc từ Project Server); Thống kê phân công theo vai trò, trình độ và theo nhân viên 12 TTCapNhat_ CongViec Thông tin cập nhật công việc : cung cấp các thông tin dùng để lưu vết cho các lần cập nhật tiến độ công việc. 13 TTCapNhat_ PhanCong Thông tin cập nhật phân công : cung cấp các thông tin dùng để lưu vết cho các lần cập nhật tiến độ công việc. 14 GiaiDoan Giai đoạn, cung cấp danh mục các giai đoạn có thể có trong một dự án. Trách nhiệm chính : cập nhật danh mục giai đoạn 15 LoaiCongViec Loại công việc, cung cấp danh mục các loại công việc theo từng giai đoạn. Trách nhiệm chính : cung cấp thông tin và cập nhật danh mục loại công việc
  • 51. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 50 STT Tên Ý nghĩa 16 HopDong Hợp đồng, cung cấp thông tin cơ bản của hợp đồng và một số thông tin dùng trong việc quản lý và tra cứu một văn bản hợp đồng : số hợp đồng, ngày ký, khách hàng, người đại diện, tổng giá trị, nơi lưu trữ ( tên file hoặc mã số hồ sơ nếu hợp đồng được lưu trữ trên giấy) Trách nhiệm chính: thêm, xoá, cập nhật và tra cứu 17 PhanHe Phân hệ, cung cấp thông tin về các phân hệ của hợp đồng : tên và mã phân hệ, giá trị của phân hệ. 18 MocThanhToan Mốc thanh toán , cung cấp thông tin về các mốc thanh toán được thoả thuận trong hợp đồng : thời điểm thanh toán, số tiền thanh toán, đã được thanh toán hay chưa… Trách nhiệm chính : ghi nhận thanh toán, tra cứu 19 KhachHang Khách hàng, cung cấp một số thông tin về các khách hàng của Đơn vị : Tên khách hàng, địa chỉ, mã số tài khoản, mã số thuế,… Trách nhiệm chính : Thêm , cập nhật thông tin khách hàng 20 PhuLucHopDong Phụ lục hợp đồng, cung cấp các thông tin chính về phụ lục hợp đồng của một hợp đồng : Số , ngày lập , và thông tin về nơi lưu trữ Trách nhiệm chính : thêm, xóa, cập nhật và tra cứu
  • 52. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 51 STT Tên Ý nghĩa 21 BBThanhLyHopDong Biên bản thanh lý hợp đồng, cung cấp một số thông tin chính trong văn bản thanh lý hợp đồng : Ngày lập , giá trị đã thanh toán ,và thông tin về nơi lưu trữ. Trách nhiệm chính : thêm, xoá, cập nhật và tra cứu 22 VanBan Văn bản, cung cấp thông tin chung về các văn bản khác có thể phát sinh trong quá trình phát triển dự án: ngày lập , nơi lưu trữ (chủ yếu giúp người dùng có thể tra cứu và tìm văn bản, không lưu nội dung văn bản ) . Một văn bản thuộc một loại văn bản và phát sinh trong một giai đoạn nhất định của dự án. Trách nhiệm chính : thêm, xoá, cập nhật và tra cứu 23 LoaiVanBan Loại văn bản , cung cấp danh mục các loại văn bản (ngoài hợp đồng, phục lục hợp đồng và biên bản thanh lý hợp đồng)
  • 53. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 52 c) Danh sách các quan hệ trên sơ đồ: STT Các đối tượng Ý nghĩa Ghi chú/Ràng buộc 1 KeHoachTongThe(n) DuAn(1) Một phiên bản kế hoạch tổng thể phải thuộc về một dự án . Một dự án có thể có nhiều phiên bản kế hoạch tổng thể Trong số các phiên bản kế hoạch tổng thể của dự án, phiên bản có số phiên bản mới nhất là phiên bản hiện hành 2 GiaiDoan(1) LoaiCongViec(n) Một loại công việc thuộc một giai đoạn 3 DuAn(0..1) DuAn(0..n) Một dự án có thể thuộc một dự án tổng thể khác hoặc không. 4 LoaiCongViec(1) CongViec(n) Một công việc thuộc một loại công việc nhất định 5 CongViecTongThe(n) KeHoachTongThe(1) Một công việc tổng thể thuộc một phiên bản kế hoạch tổng thể nhất định 6 CongViecChiTiet(n) KeHoachChiTiet(1) Một công việc chi tiết thuộc một kế hoạch chi tiết nhất định 7 CongViecTongThe(0..1) CongViecTongThe(0..n) Một công việc tổng thể có thể là công việc con của một công việc tổng thể khác.
  • 54. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 53 STT Các đối tượng Ý nghĩa Ghi chú/Ràng buộc 8 CongViecChiTiet(0..1) CongViecChiTiet(0..n) Một công việc chi tiết có thể là công việc con của một công việc chi tiết khác. 9 KeHoachChiTiet(n) CongViecChiTiet(1) Một kế hoạch chi tiết sẽ chi tiết cho một công việc tổng thể nhất định. Một công việc tổng thể có thể được chi tiết bởi nhiều kế hoạch chi tiết Vì các công việc tổng thể có nhiều mức ( theo quan hệ công việc-công việc con), kế hoạch chi tiết chỉ xác định chi tiết cho công việc tổng thể mức 1(cấp cao nhất) 10 CongViecTongThe(0..1) CongViecChiTiet(0..n) Một công việc chi tiết sẽ chi tiết cho một công việc tổng thể . Đây là quan hệ không có tính bắt buộc và chỉ hỗ trợ thêm người sử dụng khi cần chi tiết kế hoạch tổng thể thêm một cấp. Một công việc chi tiết mức 1(và về mặt ý nghĩa là cả các công việc con của công việc chi tiết này) sẽ có thể xác định là chi tiết cho một công việc tổng thể mức 2 (không hỗ trợ mức cao hơn)
  • 55. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 54 STT Các đối tượng Ý nghĩa Ghi chú/ Ràng buộc 11 PhanCong(n) CongViecChiTiet(1) Phân công của một công việc chi tiết 12 NhanVien(1) PhanCong(n) Phân công cho một nhân viên 13 PhanCong(n) VaiTro(1) Phân công nhân viên vào công việc với một vai trò nhất định 14 NhanVien(n) TrinhDo(1) Một nhân viên có một trình độ xác định tại một thời điểm 15 CongViecChiTiet(1) TTCapNhat_CongViec(n) Một công việc chi tiết có thể có nhiều lần cập nhật tiến độ, mỗi lần cập nhật tương ứng với một đối tượng TTCapNhat_CongViec 16 PhanCong(1) TTCapNhat_PhanCong(n) Một phân công có thể có nhiều lần cập nhật tiến độ, mỗi lần cập nhật tương ứng với một đối tượng TTCapNhat_PhanCong 17 LoaiCongViec(0..1) LoaiCongViec(0..n) Một loại công việc có thể là loại công việc con của một loại công việc khác. Nói cách khác, giữa các đối tượng loại công việc cũng có quan hệ tổng thể - chi tiết
  • 56. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 55 STT Các đối tượng Ý nghĩa Ghi chú/ Ràng buộc 18 VaiTro(1) TrinhDo(n) Quan hệ này thể hiện sự tương ứng giữa trình độ và một vai trò , chỉ có tính tham khảo , không có nghĩa là một trình độ chỉ có thể đảm nhận một vai trò nhất định Quan hệ này giúp gom nhóm các trình độ cùng loại nhưng khác bậc ( vd : Lập trình viên bậc 1 và lập trình viên bậc 2) 19 VaiTro(1..n) LoaiCongViec(n) Một loại công việc có thể được đảm nhận bởi một hoặc một số vai trò 4.2.3. Sơ đồ tuần tự cho một số luồng sự kiện phức tạp : Phần này trình bày các sơ đồ tuần tự cho luồng sự kiện chính của một số use case phần đồng bộ thông tin với Project Server, vì các luồng sự kiện này tương đối phức tạp. Trên sơ đồ, các đối tượng giao diện xem như thuộc lớp đối tượng ManHinh; các đối tượng giao tiếp với ProjectServer xem như thuộc cùng lớp GiaoTiepProjectServer; các đối tượng truy xuất dữ liệu xem như thuộc cùng lớp DuLieu. Việc thiết kế các lớp thuộc nhóm giao diện và truy xuất dữ liệu này sẽ được trình bày chi tiết hơn ở chương sau. a) Sơ đồ tuần tự cho luồng sự kiện chính của use case Ghi nhận kế hoạch tổng thể
  • 57. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 56 : TruongDA MHGhiNhanKHTT : ManHinh : KeHoachTongThe : CongViecTongThe : GiaoTiepPS : DuLieu 1. Yeu cau nhap thong tin de ket noi PS 1.1. Thong tin de ket noi (URL, username,...) 2. Ket noi voi PS 2.1. Ket noi thanh cong 3. Doc ds cac ban project hien hanh 4. Yeu cau chon Project 4.1. Chon project tuong ung 5. Tao ke hoach moi (project vua chon) 6. Doc ds CongViec 6.1. Doc ds cong viec 7. yeu cau xac dinh thong tin bo sung (ds cong viec) 7.1. xac dinh thong tin bo sung 8. Nhap thong tin bo sung 9. Xac nhan ket thuc 9.1. Ghi nhan ke hoach tong the 9.1.1. Ghi nhan KHTT 9.2. Ghi nhan ds Cong viec tong the 9.2.1. Ghi nhan CVTT 9.3. Thong bao ghi nhan thanh cong Thong tin bo sung : loai cong viec Hình 4.6. Sơ đồ tuần tự cho luồng sự kiện chính của use case “Ghi nhận kế hoạch tổng thể”
  • 58. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 57 : KeHoachChiTiet : TruongDA MHGhiNhanKHCT : ManHinh : CongViecChiTiet : PhanCong : GiaoTiepPS : DuLieu 2. yeu cau nhap thong tin ket noi PS 2.1. nhap thong tin ket noi 3. Ket noi PS 3.1. Ket noi thanh cong 4. Doc ds project 5. Chon Project tuong ung voi KHCT can ghi nhan 5.1. Chon project tuong ung 6. Tao moi KHCT 7. Doc ds cong viec chi tiet 7.1. Doc ds cong viec chi tiet 8. Doc ds phan cong 8.1. Doc ds phan cong 9. yeu cau xac dinh thong tin bo sung (ds cong viec, ds phan cong) 9.1. Nhap thong tin bo sung 9.1.1. Nhap thong tin bo sung 9.1.2. Nhap thong tin bo sung 10. Xac nhan ket thuc10.1. Ghi KHCT 10.1.1. Ghi KHCT 10.2. Ghi ds CVCT 10.2.1. Ghi CVCT 10.3. Ghi ds phan cong 10.3.1. Ghi phan cong 10.4. Thong bao ghi nhan thanh cong loai cong viec Nhan vien, vai tro 1. Ghi nhan KHCT (Cong viec tong the can chi tiet) b) Sơ đồ tuần tự cho luồng sự kiện chính của use case Ghi nhận kế hoạch chi tiết Hình 4.7. Sơ đồ tuần tự cho use case “Ghi nhận kế hoạch chi tiết”
  • 59. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 58 : TruongDA MHCapNhatKHTT : ManHinh : CongViecTongThe : GiaoTiepPS : DuLieu 1. Cap nhat KHTT(ke hoach tong the) 2. Ket noi PS (thong tin ket noi) 2.1. Ket noi PS 2.1.1. Ket noi thanh cong 3. Doc DS cong viec tu PS (khtt) 3.1. Doc ds cong viec 4. Doc ds cong viec tu CSDL 4.1. Doc ds congviec theo khtt 5. yeu cau thay doi, bo sung thong tin bo sung 5.1. Cap nhat thong tin bo sung 6. dscv moi:nhap thong tin bo sung 7. So sanh (dscv moi, dscv cu) 7.1. dscv moi them, dscv bi xoa, dscv cap nhat 8.1. dscv moi them : them 8.1.1. them CVTT 8.2. dscv cap nhat : cap nhat 8.2.1. Cap nhat CVTT 8.3. dscv bi xoa : xoa 8.3.1. Xoa CVTT 8. Xac nhan cap nhat 8.4. Thong bao cap nhat thanh cong c) Sơ đồ tuần tự cho luồng sự kiện chính của use case Cập nhật kế hoạch tổng thể: Hình 4.8. Sơ đồ tuần tự cho use case “Cập nhật kế hoạch tổng thể”
  • 60. K H O A C N TT – Đ H K H TN Chương 4 : Phân tích hệ thống 59 MHCapNhatKHCT : ManHinh : TruongDA : CongViecChiTiet : PhanCong : GiaoTiepPS : DuLieu 1. Cap nhat ke hoach chi tiet(ke hoach chi tiet) 2. Ket noi PS(thong tin ket noi) 2.1. Ket noi PS(thong tin ket noi) 2.1.1. Ket noi thanh cong 3. Doc ds cong viec moi tu PS(khct) 3.1. Doc ds cong viec 4. Doc dscv cu tu CSDL 4.1. Doc ds cv 5. Doc ds phan cong moi tu PS 5.1. Doc ds phan cong 6. Doc ds phan cong cu tu CSDL 6.1. Doc ds phan cong 7. yeu cau cap nhat, bo sung thong tin bo sung(dscv moi, dspc moi) 7.1. Nhap thong tin bo sung 8. dscv moi : Nhap thong tin bo sung 9. dspc moi : nhap thong tin bo sung 10. So sanh(dscv moi, dscv cu) 11. So sanh(dspc moi, dspc cu) 10.1. dscv moi them, dscv bi xoa, dscv cap nhat 11.1. dspc moi them, dspc bi xoa, dspc cap nhat 12. xac nhan cap nhat 12.1. dscv moi them:Them; dscv bi xoa: Xoa; dscv cap nhat : Cap nhat 12.1.1. Them, Xoa, Cap nhat CVCT 12.2. dspc moi them:Them; dspc bi xoa: Xoa; dspc cap nhat: CapNhat 12.2.1. Them, Xoa, Cap nhat phan cong 12.3. Thong bao cap nhat thanh cong d) Sơ đồ tuần tự cho luồng sự kiện chính của use case Cập nhật kế hoạch chi tiết: Hình 4.8. Sơ đồ tuần tự cho use case “Cập nhật kế hoạch tổng thể”
  • 61. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 60 Chương 5 : Thiết kế phần mềm Với những phân tích hệ thống ở chương 4, ta có thể thấy rõ được các thành phần, chức năng cơ bản, và tổng quan về tổ chức dữ liệu và xử lý của PMA. Chương 5 sẽ đi tiếp thêm một bước trong qui trình hiện thực hoá phương án đã lựa chọn : Trình bày một số thiết kế logic chi tiết cho PMA. 5.1. Thiết kế dữ liệu 5.1.1 Lược đồ cơ sở dữ liệu quan hệ Tuy được phân tích và thiết kế theo hướng đối tượng, PMA vẫn dùng CSDL quan hệ. Hình bên dưới là sơ đồ quan hệ của cơ sở dữ liệu mới của PMA (trên sơ đồ không có các bảng tham số). Trên sơ đồ, các thuộc tính của các quan hệ không được thể hiện đầy đủ, chủ yếu chỉ là các thuộc tính khóa chính và khóa ngoại. Danh sách đầy đủ của các thuộc tính cùng với ý nghĩa của chúng được trình bày trong phần phụ lục.
  • 62. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 61 DU_AN DA_MA DA_MADATONGTHEKE_HOACH_TONG_THE KHTT_MA DA_MA KHTT_PHIENBAN KE_HOACH_CHI_TIET KHCT_MA CVTT_MA KHTT_MA CONG_VIEC_TONG_THE CVTT_MA KHTT_MA CVTT_MACVTOMTAT LCV_MA CONG_VIEC_CHI_TIET CVCT_MA KHCT_MA CVCT_MACVTOMTAT CVTT_MA KHTT_MA LCV_MA GIAI_DOAN GD_MA LOAI_CONG_VIEC LCV_MA GD_MA LCV_MALCVTT NHAN_VIEN NV_MA TD_MA VAI_TRO VT_MA TRINH_DO TD_MA VT_MA TD_BAC DAM_NHAN LCV_MA VT_MA PHAN_CONG KHCT_MA PC_MA CVCT_MA VT_MA NV_MA TTCAPNHAT_PHANCONG TTCNPC_STT KHCT_MA PC_MA TTCAPNHAT_CONG_VIEC KHCT_MA CVCT_MA TTCNCV_STT PHAN_HE PH_MA HD_SO MOC_THANH_TOAN MTT_STT HD_SO VAN_BAN VB_MA GD_MA DA_MA LVB_MA KHACH_HANG KHA_MA PHU_LUC_HOP_DONG PLHD_SO HD_SO HOP_DONG HD_SO DA_MA KHA_MA QUAN_LY CVTT_MA KHTT_MA NV_MA LOAI_VAN_BAN LVB_MA BB_THANH_LY_HOP_DONG BBTL_SO HD_SO Hình 5.1. Mô hình dữ liệu quan hệ của PMA
  • 63. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 62 Trên lược đồ, mỗi ô hình chữ nhật tương ứng với một quan hệ , mỗi mũi tên nối hai quan hệ sẽ được cài đặt thành một khóa ngoại, trừ một số mũi tên tham chiếu đến chính nó sẽ không dùng khóa ngoại mà cài trigger thay thế, vì hệ quản trị không hỗ trợ việc chỉ định thao tác xóa hoặc cập nhật dây chuyền (cascade delete, cascade update ) cho các tham chiếu loại này. 5.1.2 Các chỉ mục được cài đặt Để việc khai thác dữ liệu được nhanh hơn, tạo một số chỉ mục cho các con đường truy xuất thường xuyên, cụ thể như sau: - CONG_VIEC_TONG_THE (KHTT_MA) : Từ một bộ của KE_HOACH_TONG_THE, truy xuất tất cả các bộ của CONG_VIEC_TONG_THE - CONG_VIEC_CHI_TIET (KHCT_MA) : Từ một bộ của KE_HOACH_CHI_TIET, truy xuất tất cả các bộ của CONG_VIEC_CHI_TIET - KE_HOACH_CHI_TIET (CVTT_MA, KHTT_MA) : Từ một bộ của CONG_VIEC_TONG_THE, truy xuất tất cả các bộ của KE_HOACH_CHI_TIET - KE_HOACH_TONG_THE (DA_MA) : Từ một bộ của DU_AN, truy xuất tất cả các bộ của KE_HOACH_TONG_THE - PHAN_CONG (NV_MA) : Từ một bộ của NHAN_VIEN, truy xuất tất cả các bộ của PHAN_CONG - PHAN_CONG (CVCT_MA) : Từ một bộ của CONG_VIEC_CHI_TIET, truy xuất tất cả các bộ của PHAN_CONG - LOAI_CONG_VIEC (GD_MA) : Từ một bộ của GIAI_DOAN, truy xuất tất cả các bộ của LOAI_CONG_VIEC - NHAN_VIEN(TD_MA) : Từ một bộ của TRINH_DO, truy xuất tất cả các bộ của NHAN_VIEN Ngoài ra, cài đặt một số chỉ mục khác để phục vụ cho yêu cầu thống kê : - CONG_VIEC_TONG_THE ( KHTT_MA, LCV_MA)
  • 64. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 63 - PHAN_CONG (KHCT_MA, VT_MA) - PHAN_CONG (KHCT_MA, NV_MA) 5.1.3 Một số ràng buộc toàn vẹn : STT Ký hiệu Phát biểu 1 R1 Đối với các quan hệ có tham chiếu đến chính nó : DU_AN, CONG_VIEC_TONG_THE, CONG_VIEC_CHI_TIET, LOAI_CONG_VIEC , các cung tham chiếu không được tạo thành chu trình 2 R2 Số thứ tự phiên bản của kế hoạch tổng thể (KHTT_PHIENBAN) là duy nhất đối với mỗi dự án 3 R3 Các kế hoạch chi tiết phải luôn tham chiếu đến công việc tổng thể thuộc về kế hoạch tổng thể có số phiên bản lớn nhất (phiên bản hiện hành) 4 R4 Loại công việc tổng thể thuộc giai đoạn nào thì tất cả các loại công việc con cũng phải thuộc về giai đoạn đó 5 R5 Đối với công việc tổng thể và công việc chi tiết, công việc tóm tắt thuộc loại công việc L1 thì các công việc con của nó chỉ có thể thuộc về các loại công việc con của L1 hoặc chính L1 6 R6 Đối với công việc tổng thể và công việc chi tiết , chi phí thực tế, chi phí dự kiến, chi phí đã xóa của một công việc tương ứng bằng tổng chi phí thực tế, chi phí dự kiến, chi phí đã xóa của các phân công và các công việc con của công việc đó 7 R7 Đối với công việc tổng thể và công việc chi tiết, ngày bắt đầu, ngày kết thúc và thời lượng của một công việc là những giá trị được tính toán hợp lý từ các phân công và công việc con của công việc đó.
  • 65. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 64 STT Ký hiệu Phát biểu 8 R8 Một công việc tổng thể, thuộc loại công việc L, được chi tiết bởi kế hoạch chi tiết K thì tất cả các công việc chi tiết thuộc kế hoạch K đều thuộc loại công việc con của L hoặc chính L. 9 R9 Một công việc tổng thể thuộc loại công việc L thì tất cả các công việc chi tiết chi tiết cho nó đều thuộc loại công việc con của L hoặc chính L 10 R10 Một công việc chi tiết thuộc kế hoạch chi tiết K chi tiết cho công việc tổng thể T thì chỉ có thể tham chiếu đến một công việc tổng thể là con của công việc T 11 R11 Một nhân viên được phân công vào một công việc, thuộc loại công việc L, với một vai trò cụ thể thì vai trò này phải là một trong số những vai trò có thể đảm nhận loại công việc L. 12 R12 Đối với các quan hệ có tham chiếu đến chính nó : DU_AN, CONG_VIEC_TONG_THE, CONG_VIEC_CHI_TIET, LOAI_CONG_VIEC , một bộ q2 có tham chiếu đến một bộ q1 thì mức của q2 = mức của q1 + 1. Ghi chú : một số ràng buộc luôn thỏa khi cập nhật CSDL với dữ liệu được đọc từ Project Server , và hệ thống không cần phải kiểm tra lại , đó là ràng buộc R1(trên các quan hệ CONG_VIEC_CHI_TIET và CONG_VIEC_TONG_THE, ràng buộc R6 (trừ chi phí đã xóa), và ràng buộc R7 5.2. Thiết kế phần mềm PMA 5.2.1. Hệ thống các lớp đối tượng PMA được thiết kế theo hướng đối tượng, và theo mô hình 3 lớp.
  • 66. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 65 Có 3 nhóm lớp đối tượng chính : Nhóm giao diện : bao gồm các đối tượng màn hình và user control, chịu trách nhiệm giao tiếp với người sử dụng. Nhóm xử lý : bao gồm các đối tượng xử lý chính, chịu trách nhiệm nhận và xử lý thông tin được chuyển đến từ các đối tượng truy xuất dữ liệu, sau đó cung cấp dữ liệu đã qua xử lý cho các đối tượng giao diện hoặc ngược lại. Nhóm truy xuất dữ liệu : bao gồm các đối tượng chịu trách nhiệm truy xuất dữ liệu từ CSDL hoặc từ Project Server . a) Sơ đồ tổ chức các lớp đối tượng Sơ đồ sau thể hiện tổng thể tổ chức các lớp đối tượng bên trong phần mềm: Hình 5.2. Tổ chức hệ thống các lớp đối tượng bên trong PMA NSD Các lớp đối tượng màn hình và user control Các lớp đối tượng xử lý chính CSDL PMA Project Server Các lớp đối tượng truy xuất dữ liệu từ CSDL Các lớp đối tượng truy xuất dữ liệu từ Project Server
  • 67. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 66 b) Danh sách một số lớp đối tượng quan trọng : - Các lớp đối tượng thuộc nhóm giao tiếp với NSD : (phần này chỉ nêu sơ lược một số user control, các màn hình giao diện sẽ được trình bày riêng trong phần 5.3) 1. CtrlReport : Là User control được sử dụng trên các màn hình thống kê. Chứa bên trong một lưới để hiển thị thông tin trong thống kê.Các đối tượng màn hình sử dụng lớp đối tượng này có thể tùy ý định dạng lại cho lưới dữ liệu tùy theo yêu cầu 2. CtrlTraCuuKeHoach : Là User control dùng để tra cứu kế hoạch. Chứa bên trong một lưới để hiển thị danh sách các bản kế hoạch chi tiết nhóm theo từng công việc tổng thể 3. CtrlTraCuuDuAn : Là User control dùng để tra cứu dự án. Chứa bên trong một lưới để hiển thị danh sách các dự án theo dạng cây với quan hệ dự án – dự án con 4. CtrlTraCuuNhanVien : Là User control dùng để tra cứu nhân viên - Các lớp đối tượng thuộc nhóm xử lý : Bên dưới là một số đối tượng xử lý quan trọng nhất 1. KeHoach : Lớp đối tượng kế hoạch, là lớp cơ sở cho các lớp đối tượng KHChiTiet và KHTongThe 2. KeHoachTongThe: Lớp đối tượng kế hoạch tổng thể, kế thừa lớp KeHoach 3. KeHoachChiTiet : Lớp đối tượng kế hoạch chi tiết, kế thừa lớp KeHoach 4. CongViec : Lớp đối tượng công việc, là lớp cơ sở cho các lớp đối tượng CongViecTongThe và CongViecChiTiet
  • 68. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 67 5. CongViecTongThe : Lớp đối tượng Công việc tổng thể, kế thừa lớp CongViec 6. CongViecChiTiet : Lớp đối tượng Công việc chi tiết, kế thừa lớp CongViec 7. DSCongViec : Lớp đối tượng danh sách công việc. Mỗi đối tượng thuộc lớp này sẽ chứa một danh sách các thông tin chung về công việc (dạng record) 8. DSCongViecTongThe : Lớp đối tượng danh sách công việc tổng thể, kế thừa từ lớp đối tượng DSCongViec . 9. DSCongViecChiTiet : Lớp đối tượng danh sách công việc chi tiết, kế thừa từ lớp đối tượng DSCongViec . 10.PhanCong : Lớp đối tượng phân công. Mỗi đối tượng phân công chứa một tập (một danh sách) các thông tin phân công dưới dạng record 11.DuAn : Lớp đối tượng dự án. Mỗi đối tượng thuộc lớp này chứa thông tin về một dự án - Các lớp đối tượng thuộc nhóm truy xuất dữ liệu : trong bảng là các đối tượng truy xuất dữ liệu từ Project Server và một số đối tượng truy xuất dữ liệu từ CSDL của PMA 1. PrjSvr_KeHoach : Lớp đối tượng truy xuất dữ liệu chung của các project từ Project Server 2. PrjSvr_CongViec : Lớp đối tượng truy xuất dữ liệu công việc từ Project Server 3. PrjSvr_PhanCong : Lớp đối tượng truy xuất dữ liệu phân công từ Project Server
  • 69. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 68 4. PrjSvr_NhanSu : Lớp đối tượng truy xuất danh sách nhân viên được phân công vào các công việc trong kế hoạch, chủ yếu là thông tin về mã và tên 5. PDSUtils : Hỗ trợ giao tiếp với Project Server thông qua PDS 6. TapDuLieu : Hỗ trợ truy xuất dữ liệu từ CSDL thông qua một kỹ thuật nhất định (như ADO.NET) 7. DLKeHoach : Truy xuất dữ liệu kế hoạch từ CSDL 8. DLCongViec : Truy xuất dữ liệu công việc từ CSDL 5.2.2. Một số hàm xử lý quan trọng của các đối tượng: Phần này trình bày một số hàm xử lý cơ bản và tương đối phức tạp của một số lớp đối tượng, chủ yếu là các đối tượng xử lý chính. a) Lớp DSCongViec STT Tên hàm/Ý nghĩa Tham số Kiểu trả về Thuật giải 1 DocDSCong ViecTuProject (đọc danh sách công việc từ Project) prjCV: PrjSvr_CongVi ec kh : KeHoach Data Table Dscv, temp : DataTable Temp = prjCV.DocDSCV( ) Sắp xếp các công việc trong temp theo thứ tự tăng dần của WBS (outline number) để đảm bảo các công việc con luôn nằm ngay sau cha của nó Dùng đệ qui, chuyển lần lượt các công việc từ temp vào dscv với những thông tin cần thiết và theo cấu trúc công việc - công việc con Trả về dscv
  • 70. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 69 STT Tên hàm/Ý nghĩa Tham số Kiểu trả về Thuật giải 2 XuatDSCV (xuất danh sách công việc ra một control có thể thể hiện dữ liệu dạng lưới kết hợp với cây) Ctrl : Control DKLoc : String DongBD : int DongKT : int Level : int DSThuocTinh: string[] void Lọc các công việc trong record chứa danh sách công việc (m_DSCV) theo DKLoc, và sắp xếp theo thứ tự tăng dần của STT công việc. Dùng đệ qui, gán lần lượt các công việc đã lọc vào các node của Ctrl với những thuộc tính trong DSThuocTinh theo cấu trúc công việc - công việc con, bắt đầu từ dòng DongBD, cột CotBD, và mức Level của Ctrl. 3 TinhTong ChiPhi (Tính tổng một thuộc tính chi phí của một tập công việc) DKLoc : string TenThuocTinh : string decimal Lọc ra tập các công việc từ m_DSCV theo DKLoc. TongCP : decimal Với mỗi dòng i tương ứng với công việc lọc được: TongCP += m_DSCV[i][TenThuocTinh] Trả về TongCP 4 TinhNgayBD Chung (Tính thời điểm bắt đầu chung cho một tập công việc) Như trên Date Time Lọc ra tập các công việc từ m_DSCV theo DKLoc. NgayBD : DateTime Với i là dòng tương ứng với công việc được lọc đầu tiên : NgayBD = m_DSCV[i][TenThuocTinh] Với mỗi dòng i tương ứng với công việc lọc được:
  • 71. K H O A C N TT – Đ H K H TN Chương 5 : Thiết kế phần mềm 70 Nếu (NgayBD > m_DSCV[i][TenThuocTinh] ) NgayBD += m_DSCV[i][TenThuocTinh] Trả về NgayBD 5 TinhNgayKT Chung (Tính thời điểm kết thúc chung cho một tập công việc) Như trên Như trên Tương tự như hàm TinhNgayBDChung, chỉ thay đổi điều kiện gán NgayKT là NgayKT< m_DSCV[i][TenThuocTinh] ) 6 TinhTyLeTL HoanTat (tính tỷ lệ thời lượng đã làm so với thời lượng dự kiến của một tập công việc) DKLoc : string TenTTTLTT : string TenTTTLDK : string decimal Lọc ra tập các công việc từ m_DSCV theo DKLoc. SumDur, SumActDur : decimal Tính tổng thời lượng dự kiến SumDur của tập công việc lọc được theo thuộc tính TenTTTLTT Tính tổng thời lượng thực tế SumActDur của tập công việc lọc được theo thuộc tính TenTTTLDK Trả về SumActDur / SumDur