112
KHOA CNTT – ĐH KHTN TRƯỜNG ĐẠI HC KHOA HC TNHIÊN KHOA CÔNG NGHTHÔNG TIN BMÔN HTHNG THÔNG TIN PHM NGUYÊN THO – 0012665 XÂY DNG CÔNG CHTRQUN LÝ QUÁ TRÌNH PHÁT TRIN DÁN PHN MM, GN KT VI HTHNG PHN MM MICROSOFT OFFICE PROJECT LUN VĂN CNHÂN TIN HC GIÁO VIÊN HƯỚNG DN PGS.TS. ĐỒNG THBÍCH THY NGUYN TRNG TÀI NIÊN KHÓA 2000 - 2004

Ho tro phat_trien_du_an_phan_mem

Embed Size (px)

Citation preview

Page 1: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN

PHẠM NGUYÊN THẢO – 0012665

XÂY DỰNG CÔNG CỤ HỖ TRỢ QUẢN LÝ QUÁ TRÌNH PHÁT TRIỂN DỰ ÁN PHẦN MỀM, GẮN

KẾT VỚI HỆ THỐNG PHẦN MỀM MICROSOFT OFFICE PROJECT

LUẬN VĂN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

PGS.TS. ĐỒNG THỊ BÍCH THỦY NGUYỄN TRỌNG TÀI

NIÊN KHÓA 2000 - 2004

Page 2: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

1

Mục lục: Danh sách các từ viết tắt : ........................................................................................................ 3 Chương 1 : Mở đầu ................................................................................................................... 4

1.1. Mục đích và lý do chọn đề tài .................................................................................. 4 1.2. Đối tượng và phạm vi của đề tài :............................................................................ 5

Chương 2 : Khảo sát và phân tích hiện trạng ........................................................................ 6 2.1. Mô tả hiện trạng : ..................................................................................................... 6 2.2. Phân tích hiện trạng : ............................................................................................... 9

2.2.1. Lược đồ business usecase cho nghiệp vụ hiện tại : ............................................ 9 2.2.2 Mô hình chi tiết hiện trạng – sơ đồ activity:..................................................... 12 2.2.3 Những khó khăn trong qui trình nghiệp vụ hiện tại và một số yêu cầu đối với hệ thống mới: ......................................................................................................................... 18

Chương 3 : Phương án xây dựng hệ thống mới ................................................................... 22 3.1 Lược đồ kiến trúc tổng quan ................................................................................. 22 3.2 Mô tả kiến trúc hệ thống mới ................................................................................ 22

3.2.1. Lập kế hoạch với MS Office Project ................................................................. 23 3.2.2 Quản lý kế hoạch với công cụ mới PMA : ........................................................ 23

3.3 Sơ đồ nghiệp vụ tổng quan với hệ thống mới ...................................................... 26 3.4 Khảo sát hệ thống phần mềm Microsoft Project Server ..................................... 28

3.4.1. Sơ lược về hoạt động của MS Project Server ................................................... 28 3.4.2. Các lý do của việc chọn Project Server cho hệ thống mới ............................... 28 3.4.3. Lược đồ CSDL của Project Server ................................................................... 29

Chương 4 : Phân tích hệ thống .............................................................................................. 34 4.1. Chi tiết yêu cầu chức năng ..................................................................................... 34

4.1.1 Lưu trữ và quản lý thông tin ............................................................................. 34 4.1.2. Đồng bộ thông tin với Project Server ............................................................... 35 4.1.3. Khai thác dữ liệu - thực hiện thống kê............................................................. 36 4.1.4. Một số chức năng khác:.................................................................................... 36

4.2. Mô hình hoá hệ thống ............................................................................................. 37 4.2.1. Lược đồ use case : ............................................................................................ 37 4.2.2. Các lớp đối tượng chính bên trong hệ thống:................................................... 44 4.2.3. Sơ đồ tuần tự cho một số luồng sự kiện phức tạp :........................................... 55

Chương 5 : Thiết kế phần mềm ............................................................................................. 60 5.1. Thiết kế dữ liệu ....................................................................................................... 60

5.1.1 Lược đồ cơ sở dữ liệu quan hệ.......................................................................... 60 5.1.2 Các chỉ mục được cài đặt ................................................................................. 62 5.1.3 Một số ràng buộc toàn vẹn : ............................................................................. 63

5.2. Thiết kế phần mềm PMA ....................................................................................... 64 5.2.1. Hệ thống các lớp đối tượng .............................................................................. 64 5.2.2. Một số hàm xử lý quan trọng của các đối tượng: ............................................. 68

5.3. Thiết kế giao diện :.................................................................................................. 73 5.3.1. Sơ đồ các màn hình giao diện: ......................................................................... 73 5.3.2. Thiết kế một số màn hình tiêu biểu: .................................................................. 74

Page 3: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

2

Chương 6 : Cài đặt và thử nghiệm ........................................................................................ 83 6.1. Một số công thức tính toán được sử dụng : .......................................................... 83 6.2. Một số XML request và reply cung cấp bởi PDS : .............................................. 84

6.2.1. ProjectsStatus ................................................................................................... 84 6.2.2. ProjectData....................................................................................................... 86

6.3. Môi trường thực hiện và các phần mềm liên quan:............................................. 88 6.3.1. Môi trường thực hiện :...................................................................................... 88 6.3.2. Các thư viện khác : ........................................................................................... 88 6.3.3. Các phần mềm liên quan : ................................................................................ 89

6.4. Các trường hợp thử nghiệm: ................................................................................. 89 Chương 7 : Tổng kết ............................................................................................................... 91

7.1. Tổng kết quá trình thực hiện và các kết quả đạt được........................................ 91 7.2. Hướng phát triển : .................................................................................................. 92

Danh mục tài liệu tham khảo :................................................................................................ 94 Phụ lục : Danh sách thuộc tính của các quan hệ trong CSDL............................................ 95

Page 4: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

3

Danh sách các từ viết tắt : Bảng sau trình bày một số cụm từ thường được viết tắt trong luận văn

STT Từ viết tắt Diễn giải

1 CSDL Cơ sở dữ liệu

2 CVCT Công việc chi tiết

3 CVTT Công việc tổng thể

4 KHCT Kế hoạch chi tiết

5 KHTT Kế hoạch tổng thể

6 MS Microsoft

7 NSD Người sử dụng

8 PDS Project Data Service

9 PMA Project Management Assistant (tên công cụ được xây

dựng)

10 PS Project Server.

Page 5: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 1 : Mở đầu

4

Chương 1 : Mở đầu 1.1. Mục đích và lý do chọn đề tài

Trong thời gian thực hiện đề tài , em đã thực tập tại một Đơn vị phát triển phần

mềm, và đề tài đã được xây dựng theo yêu cầu về quản lý dự án của Đơn vị này

Trong quá trình thực hiện một dự án, không thể thiếu các kế hoạch từ tổng thể

đến chi tiết để đảm bảo công việc được triển khai đúng hướng và hoàn thành đúng

thời hạn. Các kế hoạch này giúp Ban lãnh đạo và Trưởng dự án xác lập những dự

tính ban đầu về chi phí, thời lượng cho từng giai đoạn và chuẩn bị, sắp xếp nhân

sự. Đó cũng là cơ sở để trưởng dự án phân công và theo dõi tiến độ công việc, và

để Ban lãnh đạo đánh giá được tổng quan tình hình thực hiện dự án.

Ngoài ra , các thông tin về sự phân công công việc, tiến độ công việc và chi phí

thực hiện thực tế cũng cần phải được quản lý tốt để có thể nắm được chính xác

thông tin về toàn bộ chi phí và thời gian phát triển của dự án hoặc của một giai

đoạn trong dự án.

HIện nay , Đơn vị đang sử dụng phần mềm Microsoft Office Project để lập kế

hoạch. Tuy nhiên Đơn vị muốn có một công cụ hỗ trợ thêm cho qui trình quản lý

dự án của mình, nhằm giúp cho việc quản lý hiệu quả hơn và khắc phục được một

số khó khăn hiện tại

Vì vậy , Đơn vị đã đề nghị xây dựng một công cụ hỗ trợ thêm việc quản lý kế

hoạch và các thông tin liên quan đến chi phí, tiến độ công việc trong quá trình phát

triển dự án phần mềm. Công cụ mới phải gắn kết với hệ thống phần mềm

Microsoft Office Project, cụ thể là cho phép người sử dụng vẫn dùng phần mềm

Microsoft Office Project để lập các kế hoạch và ghi nhận thông tin tiến độ công

việc, vì phần mềm này đã hỗ trợ rất tốt quá trình này. Công cụ mới sẽ có trách

nhiệm chính là đọc các kế hoạch đã lập và tổ chức quản lý các thông tin sao cho có

thể hỗ trợ Ban lãnh đạo có được một cái nhìn tổng quan về các dự án đang triển

Page 6: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 1 : Mở đầu

5

khai một cách nhanh chóng và dễ dàng. Đồng thời, công cụ này cũng sẽ giúp quản

lý thêm một số thông tin cần thiết khác cho việc quản lý dự án : các văn bản phát

sinh trong quá trình phát triển dự án, một số thông tin phục vụ cho việc phân loại

chi phí dự án : loại công việc, vai trò nhân viên tham gia vào công việc, …

1.2. Đối tượng và phạm vi của đề tài : Nội dung đề tài : Xây dựng công cụ hỗ trợ quản lý quá trình phát triển đề án

phần mềm, gắn kết với hệ thống phần mềm Microsoft Office Project .

Các thông tin chính sẽ quản lý : kế hoạch triển khai thực hiện dự án từ tổng thể

đến chi tiết, thông tin phân công công việc cụ thể, tiến độ thực hiện thực tế và chi

phí phát triển dự án.

Chức năng chính :

• Đọc các kế hoạch đã được lập bằng phần mềm Microsoft Office

Project và quản lý các kế hoạch này (cùng với thông tin phân công và

quá trình triển khai thực hiện thực tế) một cách có hệ thống theo từng

dự án.

• Lập các thống kê về chi phí thực hiện dự án ở nhiều cấp độ (tổng thể

hoặc chi tiết)

• Giúp kiểm soát chênh lệch giữa kế hoạch tổng thể với kế hoạch chi

tiết, quản lý các phiên bản của kế hoạch tổng thể.

Đề tài được xây dựng dựa trên những khảo sát thực tế ở đơn vị thực tập, một

đơn vị phát triển phần mềm, và theo những yêu cầu của Đơn vị này

Phạm vi đề tài :

• Khảo sát , phân tích nghiệp vụ và yêu cầu , kết hợp tìm hiểu phần mềm

Microsoft Project để đưa ra phương án xây dựng hệ thống mới đáp

ứng được các yêu cầu đã đặt ra.

• Phân tích và thiết kế hệ thống mới theo phương án đã chọn.

• Cài đặt các phần chính của hệ thống.

Page 7: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 2 : Khảo sát và phân tích hiện trạng

6

Chương 2 : Khảo sát và phân tích hiện trạng Để có thể nắm được các vấn đề cốt lõi dẫn đến yêu cầu xây dựng hệ thống mới, cũng là

những vấn đề mà hệ thống mới cần phải giải quyết, ta sẽ bắt đầu với việc khảo sát

nghiệp vụ hiện tại và phân tích rõ các khó khăn của nó. Từ đó chi tiết hơn các yêu cầu

đặt ra cho hệ thống mới

2.1. Mô tả hiện trạng :

Khi có yêu cầu phát triển một dự án phần mềm, trưởng dự án sẽ lập một kế

hoạch tổng thể. Kế hoạch này thể hiện các công việc chính tương ứng với các giai

đoạn trong một qui trình phát triển dự án (trong luận văn từ phần này trở đi sẽ gọi

các công việc chính này là công việc tổng thể ). Thông thường các giai đoạn này

là :

• Khảo sát sơ bộ và phân tích yêu cầu; lập hồ sơ nghiên cứu khả thi

• Khảo sát chi tiết và phân tích yêu cầu; lập hồ sơ hiện trạng và yêu cầu đặt ra cho đề án phần mềm.

• Thiết kế và lập hồ sơ thiết kế.

• Lập trình.

• Kiểm nghiệm α ( do nhóm kiểm tra của Đơn vị thực hiện).

• Kiểm nghiệm β ( do người sử dụng tiến hành). Kế hoạch tổng thể chứa danh sách công việc cùng với các dự trù về thời

gian thực hiện ( thời lượng công việc), chi phí ( đơn vị người/ngày hoặc

người/tháng) ngày bắt đầu, kết thúc, và thường chỉ chi tiết một hoặc hai cấp. Kế

hoạch này sau khi lập được trình lên để Ban lãnh đạo phê duyệt và sau đó được

dùng làm cơ sở để các thành viên trong nhóm phát triển lên kế hoạch chi tiết và

để ban lãnh đạo kiểm tra, đánh giá quá trình triển khai thực hiện dự án .

Kế hoạch tổng thể hiện nay thường được lập trên một file MS Word

hoặc Excel.

Một kế hoạch tổng thể có dạng như sau :

Page 8: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 2 : Khảo sát và phân tích hiện trạng

7

Hình 2.1. Một ví dụ về kế hoạch tổng thể

Kế hoạch chi tiết được lập để triển khai cụ thể từng công việc của kế

hoạch tổng thể .Kế hoạch chi tiết được lập bằng phần mềm Microsoft Office

Project . Kế hoạch chi tiết chứa danh sách các công việc chi tiết cùng với thông

tin về thời lượng, chi phí, ngày bắt đầu và kết thúc dự kiến, và có thể chi tiết

thành nhiều cấp. Kế hoạch chi tiết cũng có thể có thông tin về nhân viên được

phân công vào từng công việc chi tiết.

Vì dự án thường lớn và các giai đoạn có thể được tiến hành song song

bởi các nhóm khác nhau ( ví dụ nhóm kiểm tra có thể bắt đầu công việc của

mình song song với nhóm lập trình chứ không đợi nhóm này kết thúc ) nên kế

hoạch chi tiết thường được chia thành nhiều phần, mỗi phần nằm trên một file

Project (*.mpp) khác nhau.

Kế hoạch chi tiết không được lập từ đầu dự án theo kế hoạch tổng thể

mà sẽ được bổ sung lần lượt theo từng giai đoạn. Khi lập kế hoạch chi tiết,

trưởng dự án phải dựa trên những dự trù ban đầu về thời lượng, chi phí công

Tên công việc Thời lượng Chi phí Bắt đầu Kết thúc

Công việc tổng thể mức 1 (cấp 1)

Công việc tổng thể mức 2 (cấp 2)

Page 9: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 2 : Khảo sát và phân tích hiện trạng

8

việc của kế hoạch tổng thể. Tuy nhiên, với những phát sinh về công việc trong

quá trình thực hiện thực tế, kế hoạch chi tiết luôn có sự khác biệt so với kế

hoạch tổng thể. Khi nhận thấy sai lệch này là quá lớn, trưởng dự án phải điều

chỉnh lại kế hoạch tổng thể.

Ở mỗi giai đoạn của dự án, sau khi đã lập kế hoạch chi tiết, trưởng dự án

sẽ phân công các công việc trong kế hoạch cho những người cụ thể của đơn vị.

Thông tin phân công (tên nhân viên được phân công, tỷ lệ thời gian tham gia, số

giờ làm,…) cũng được ghi nhận bằng MS Office Project vào file kế hoạch

(.mpp) có công việc tương ứng .

Kế hoạch chi tiết có dạng:

Hình 2.2. Một ví dụ về kế hoạch chi tiết

Trong quá trình thực hiện công việc được giao, nhân viên sẽ báo cáo tiến

độ công việc định kỳ ( thường là vào mỗi cuối tuần). Trưởng dự án kiểm tra báo

cáo và dùng MS Office Project ghi nhận tiến độ công việc vào file kế hoạch

Tên nhân viên được phân công

Công việc chi tiết mức 1 (cấp 1)

Công việc chi tiết mức 2 (cấp 2)

Tỷ lệ tham gia

Page 10: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 2 : Khảo sát và phân tích hiện trạng

9

(.mpp) tương ứng. Khi đó, trên bản kế hoạch chi tiết sẽ có thêm thông tin về tiến

độ công việc : thời lượng và chi phí thực tế, tỷ lệ hoàn tất tính đến thời điểm

hiện tại.

Khi kết thúc dự án hay kết thúc một giai đoạn (hoặc có thể là bất cứ khi

nào có yêu cầu) , dựa trên các thông tin đã ghi nhận trên các bản kế hoạch,

trưởng dự án phải thống kê chi phí thực hiện cho một công việc tổng thể, một

giai đoạn hoặc toàn bộ dự án tính đến thời điểm hiện tại. Ban lãnh đạo luôn có

yêu cầu nắm được các thông tin tổng quan về dự án : tiến độ thực hiện dự án

nhìn từ các kế hoạch tổng thể, chi phí tổng thể của dự án.

Cùng với việc lập kế hoạch và triển khai thực hiện kế hoạch, một số

thông tin khác cũng cần được quản lý trong quá trình triển khai các dự án :

thông tin về các nhân viên của Đơn vị và năng lực, trình độ của họ; các văn bản

phát sinh trong quá trình làm việc với Khách hàng : hợp đồng , phụ lục hợp

đồng, biên bản thanh lý hợp đồng, biên bản làm việc…Hiện nay, các thông tin

này vẫn phải quản lý thủ công

2.2. Phân tích hiện trạng :

2.2.1. Lược đồ business usecase cho nghiệp vụ hiện tại :

a. Mức tổng quan : toàn bộ nghiệp vụ cần xem xét có thể được phân

thành 3 phần như sau :

Page 11: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 2 : Khảo sát và phân tích hiện trạng

10

Lap ke hoach va theo doi viec thuc hien ke hoach

Thong ke chi phi phat trien du an

Quan ly cac thong tin lien quan

Ban lanh dao

Lap ke hoach tong the

Hieu chinh ke hoach tong the

Lap ke hoach chi 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”

Page 12: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 2 : Khảo sát và phân tích hiện trạng

11

MS Office Project

Ban lanh dao

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

Page 13: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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ể”

Page 14: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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”

Page 15: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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ể”

Page 16: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 v ienHo so nhan v ienMS ProjectTruong du an

d. Activity diagram cho use case “Phân công”:

Hình 2.10. Activity diagram “Phân công”

Page 17: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 v ien

e. Activity diagram cho use case “Theo dõi tiến độ thực hiện”:

Hình 2.11. Activity diagram “Theo dõi tiến độ thực hiện”

Page 18: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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”

Page 19: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 20: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 21: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 2 : Khảo sát và phân tích hiện trạng

20

Yêu cầu : Công cụ mới phải hỗ trợ lưu trữ các kế hoạch tổng thể theo

từng phiên bản

c. Không lưu vết được các thao tác cập nhật trên kế hoạch:

Phần mềm MS Office Project không hỗ trợ lưu vết thao tác, điều này dẫn

đến các sai lệch khi thống kê . Trường hợp rõ ràng nhất là khi một công

việc bị xoá khỏi kế hoạch khi đã được thực hiện một phần. Chi phí cho

phần việc này thực tế vẫn phải được tính vào tổng chi phí phát triển dự án

trong khi MS Project sẽ xoá hoàn toàn thông tin về công việc này trên tập

tin kế hoạch tương ứng.

Yêu cầu : Công cụ được xây dựng phải hỗ trợ lưu vết mỗi khi cập nhật

tiến độ công việc và phân công (cho nhu cầu khai thác về sau) , và lưu lại

thông tin về công việc bị xóa nếu công việc đã được thực hiện một phần

(đã có chi phí thực tế)

d. Một số thông tin cần cho việc quản lý chưa được hỗ trợ :

Phần mềm MS Project tuy cung cấp các hỗ trợ rất tốt cho việc lập kế

hoạch và ghi nhận thông tin tiến độ công việc nhưng lại thiếu hỗ trợ một

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,…

Page 22: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 23: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 24: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 25: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 3 : Phương án xây dựng hệ thống mới

24

dựng để hỗ trợ quản lý các kế hoạch đã được lập bằng MS Office Project ,

nhằm giúp giải quyết các vấn đề của hệ thống hiện tại.

PMA có thể được chia thành 4 phần cơ bản :

- Cơ sở dữ liệu để lưu trữ thông tin

- Module Trích lọc và chuyển đổi dữ liệu với nhóm chức năng đọc các kế

hoạch từ Project Server và cập nhật thông tin khi các bản kế hoạch được

cập nhật

- Nhóm chức năng Quản lý thông tin liên quan chịu trách nhiệm quản lý

các thông tin về dự án, nhân viên, các văn bản phát sinh trong quá trình

thực hiện dự án và các danh mục như loại công việc, vai trò, giai đoạn,…

- Nhóm chức năng Thống kê thực hiện việc kết xuất các thống kê từ tổng

thể đến chi tiết.

Đối với PMA, các vấn đề sau cần được đặc biệt quan tâm :

a) Tổ chức quản lý thông tin

Như đã phân tích ở phần (2.2.3), ta thấy các khuyết điểm chính của hệ thống

hiện tại chủ yếu xuất phát từ việc quản lý thông tin không chặt chẽ. Hệ thống

phần mềm Project Server tuy có thể giúp lưu trữ dữ liệu tập trung, nhưng

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ể .

Page 26: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 27: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 28: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 29: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 30: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 :

Page 31: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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_IDPK,FK2 TASK_UID

FK1 RES_UID ASSN_UID ASSN_WORK ...

MSP_RESOURCES

PK RES_UIDPK,FK1 PROJ_ID

RES_NAME RES_COST ...

MSP_TASKS

PK,FK1 PROJ_IDPK 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 :

Page 32: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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:

Page 33: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 34: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 35: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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ế.

Page 36: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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ể :

Page 37: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 38: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 nhapNSD

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

Page 39: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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:

Page 40: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 41: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 anMS 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

Page 42: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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ể

Page 43: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 ServerLap 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ê

Page 44: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 45: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 46: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 4 : Phân tích hệ thống

45

KeHoachMaTenNgay lap

GhiNhanMoi()Cap nhat()Xoa()

GiaiDoanMaTen

CongViecMaTenNgay bat dauNgay ket thucChi phiThoi luong

Them()Cap nhat()Xoa()

KeHoachTongThePhien ban

Lap phien ban moi()

KeHoachChiTietNgay cap nhat cuoi

TTCapNhat_CongViecSttThoi diem cap nhatChi phi TT ( truoc)Thoi luong TT (truoc)

CongViecChiTietNgayBD TTNgayKT TTThoi luong TTChi phi TTTy le hoan tat

Thong ke theo CVTT()Thong ke theo du an()

*

1

*

1

0..1

0..*

1

*

0..1

0..*

PhanCongNgay 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_PhanCongSttThoi diem cap nhatChi phi TT (truoc)Thoi luong TT (truoc)*1 *1

1

*

*

1

TrinhDoMaTenBac

NhanVienMaHo tenNgay sinhDia 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*

DuAnMaTenNgay bat dauNgay ket thuc

Ghi nhan moi()Cap nhat()Xoa()

1

*

1

*

0..*

0..10..1

0..*

LoaiCongViecMaTen

1

*

1

*

1*

1*

0..1

0..*

0..1

0..*

VaiTroMaTen

*

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

Page 47: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 4 : Phân tích hệ thống

46

GiaiDoanMaTen

LoaiVanBanMaTen loai VB

VanBanMaTenNgay lapNoi luu tru

Them()Xoa()Cap nhat()Tra cuu()

1*

*1

BBThanhLyHopDongSoNgay lapGia tri da thanh toanNoi luu tru

MocThanhToanSttThoiDiemThanhToanTyLeThanhToan

PhuLucHopDong

SoNgay lapNoi luu tru

Cap nhat()Tra cuu()Them()Xoa()

PhanHeMaTenGiaTri

KhachHangMaTenDiaChi...

HopDongSoHDNgay kyTong gia triNoi luu tru

Them()Xoa()Cap nhat()Tra cuu()

*11*

1*

1

*

*

1

DuAnMaTenNgay bat dauNgay 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:

Page 48: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 độ)

Page 49: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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ò .

Page 50: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 51: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 52: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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)

Page 53: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 54: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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)

Page 55: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 56: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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ể

Page 57: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 hanh4. Yeu cau chon Project

4.1. Chon project tuong ung

5. Tao ke hoach moi (project vua chon)

6. Doc ds CongViec6.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 thuc9.1. Ghi nhan ke hoach tong the 9.1.1. Ghi nhan KHTT

9.2. Ghi nhan ds Cong viec tong the9.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ể”

Page 58: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 tiet7.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 CVCT10.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”

Page 59: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 CSDL4.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 nhat8.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ể”

Page 60: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 CSDL4.1. Doc ds cv

5. Doc ds phan cong moi tu PS

5.1. Doc ds phan cong6. 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 cong12.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ể”

Page 61: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 62: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

61

DU_AN

DA_MADA_MADATONGTHEKE_HOACH_TONG_THE

KHTT_MADA_MAKHTT_PHIENBAN

KE_HOACH_CHI_TIETKHCT_MACVTT_MAKHTT_MA

CONG_VIEC_TONG_THE

CVTT_MAKHTT_MACVTT_MACVTOMTATLCV_MA

CONG_VIEC_CHI_TIET

CVCT_MAKHCT_MACVCT_MACVTOMTATCVTT_MAKHTT_MALCV_MA

GIAI_DOAN

GD_MA

LOAI_CONG_VIEC

LCV_MAGD_MALCV_MALCVTT

NHAN_VIEN

NV_MATD_MA

VAI_TRO

VT_MA

TRINH_DO

TD_MAVT_MATD_BAC

DAM_NHAN

LCV_MAVT_MA

PHAN_CONG

KHCT_MAPC_MACVCT_MAVT_MANV_MA

TTCAPNHAT_PHANCONG

TTCNPC_STTKHCT_MAPC_MA

TTCAPNHAT_CONG_VIEC

KHCT_MACVCT_MATTCNCV_STT

PHAN_HE

PH_MAHD_SO

MOC_THANH_TOAN

MTT_STTHD_SO

VAN_BAN

VB_MAGD_MADA_MALVB_MA

KHACH_HANG

KHA_MA

PHU_LUC_HOP_DONG

PLHD_SOHD_SO

HOP_DONG

HD_SODA_MAKHA_MA

QUAN_LY

CVTT_MAKHTT_MANV_MA

LOAI_VAN_BAN

LVB_MA

BB_THANH_LY_HOP_DONG

BBTL_SOHD_SO

Hình 5.1. Mô hình dữ liệu quan hệ của PMA

Page 63: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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)

Page 64: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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 đó.

Page 65: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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.

Page 66: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 67: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 68: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 69: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 70: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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:

Page 71: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

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

Page 72: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

71

b) Lớp DSCongViecTongThe

STT Tên hàm/Ý

nghĩa

Tham số Kiểu

trả về

Thuật giải

1 TongHopTT

TuKHCT

(tổng hợp

thông tin từ

kế hoạch chi

tiết)

void void Với mỗi công việc tổng thể cvtt có cấp cao nhất

(cấp 1) trong m_DSCV :

{ dscvCT : DSCongViecChiTiet

dscvCT .DocDSCV(cvtt.MaCV)

Tính các thuộc tính về thời lượng, chi phí

…thực tế của cvtt, sử dụng các phương thức của

đối tượng dscvCT với điều kiện lọc là mức của

công việc chi tiết = 1 (*)

Với mỗi công việc tổng thể cấp 2 cvtt2 là con

của cvtt : xử lý tính toán tương tự như (*) với

điều kiện lọc bổ sung là công việc chi tiết thuộc

về cvtt2. }

Page 73: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

72

c) Lớp DSCongViecChiTiet

STT Tên hàm/Ý

nghĩa

Tham số Kiểu

trả về

Thuật giải

1 SoSanh

(So sánh danh

sách công

việc với một

danh sách

công việc

khác và xác

định các khác

biệt)

DSCVMoi,

DSVMoiThem,

DSCVBiXoa,

DSCVCapNhatThuong,

DSCVCapNhatTienDo:

DSCongViecChiTiet

void Với mỗi công việc cv thuộc

m_DSCV, tìm công việc có

cùng mã trong DSCVMoi

Nếu không tìm được

Thêm cv vào DSCVBiXoa

Ngược lại

Kiểm tra các thuộc tính

tương ứng giữa 2 công việc:

Nếu có thay đổi trên các

thuộc tính liên quan đến tiến độ :

Thêm cv vào

DSCVCapNhatTienDo

Nếu chỉ thay đổi trên các

thuộc tính khác :

Thêm cv vào

DSCVCapNhatThuong

Với mỗi công việc cv thuộc

DSCVMoi, tìm công việc có

cùng mã trong m_DSCV

Nếu không tìm được

Thêm cv vào

DSCVMoiThem

Page 74: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

73

Màn hình chính (chứa user control tra cứu kế hoạch)

Màn hình ghi nhận kế hoạch tổng thể

Màn hình ghi nhận kế hoạch chi tiết

Màn hình cập nhật kế hoạch chi tiết

Màn hình cập nhật kế hoạch tổng thể

Màn hình tra cứu nhân viên

Màn hình tra cứu văn bản

Các màn hình thống kê chi phí dự án

Màn hình tra cứu dự án

Màn hình kiểm tra phân công nhân viên

Màn hình xem chi tiết kế hoạch

5.3. Thiết kế giao diện :

5.3.1. Sơ đồ các màn hình giao diện:

Hình sau đây là sơ đồ các màn hình giao diện chính của PMA, ngoài ra còn

có các màn hình khác không có trong sơ đồ: quản lý nhân viên, ghi nhận và

cập nhật dự án, quản lý văn bản, quản lý các danh mục, …

Trên sơ đồ, hình chữ nhật chỉ một hoặc một nhóm màn hình, mũi tên hai

chiều giữa chúng chỉ ra rằng bằng cách nào đó có thể chuyển qua lại trực

tiếp giữa hai màn hình.

Hình 5.3. Sơ đồ các màn hình giao diện của PMA

Page 75: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

74

Có thể chia các màn hình giao diện của PMA thành 4 nhóm, dựa vào nội

dung giao tiếp với người sử dụng và cách thức thể hiện dữ liệu của chúng:

- Nhóm các màn hình quản lý đối tượng ( thêm, xoá, cập nhật) : gồm các

màn hình quản lý nhân viên, dự án, danh mục, ... : các màn hình này có

thể thiết kế theo dạng thông thường : dùng các textbox, combobox, …để

hiển thị thông tin dạng chi tiết và dùng lưới để thể hiện danh sách các

đối tượng.

- Nhóm các màn hình tra cứu : gồm các màn hình tra cứu nhân viên, dự

án, kế hoạch,văn bản… : có thể hiển thị danh sách các đối tượng tìm

được theo dạng lưới. Đối với các đối tượng có quan hệ dạng cha - con

với nhau thì cần kết hợp thể hiện dạng cây.

- Nhóm các màn hình đồng bộ thông tin với Project Server : gồm các

màn hình ghi nhận mới và cập nhật kế hoạch (tổng thể hoặc chi tiết). Để

thực hiện các chức năng này, PMA cần tương tác với người sử dụng qua

nhiều bước, và các xử lý của bước sau phụ thuộc vào bước trước. Vì vậy,

đối với các màn hình thuộc nhóm này, thiết kế theo dạng wizard là phù

hợp nhất.

- Nhóm các màn hình thống kê : gồm các màn hình để xem chi tiết kế

hoạch, thống kê chi phí dự án, kiểm tra phân công của nhân viên. Đối với

các màn hình thuộc nhóm này, có thể sử dụng lưới để hiển thị dữ liệu, và

thường phải kết hợp với dạng cây để phân nhóm dữ liệu thống kê. Ngoài

ra trên các màn hình này còn phải có thêm các xử lý cho phép người

dùng thêm, bớt các cột cần hiển thị, thay đổi đơn vị tính cho các cột thời

lượng và chi phí; và phải có chức năng in.

5.3.2. Thiết kế một số màn hình tiêu biểu:

Page 76: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

75

Đối với PMA, các màn hình của nhóm chức năng đồng bộ thông tin với

Projec Server và các màn hình nhóm thống kê có một số yêu cầu đặc

trưng riêng. Do đó trong phần này xin trình bày thiết kế của một màn

hình đồng bộ thông tin và một màn hình thống kê tiêu biểu. Các màn

hình khác cùng nhóm có cách thể hiện gần như tương tự nhau.

a) Màn hình ghi nhận kế hoạch chi tiết – một màn hình đồng bộ

thông tin

Hình 5.4. Màn hình ghi nhận kế hoạch tổng thể- bước 1

Mô tả : Màn hình ở bước 1 (hình 5.4) dùng để nhập các thông tin cần thiết để

kết nối với Project Server : URL, tên sử dụng, mật khẩu

Các sự kiện chính cần xử lý :

STT Sự kiện Xử lý

1 Nhấn nút “Tiếp” Kết nối với Project Server. Nếu thành công ,

chuyển qua bước 2

2 Nhấn nút “Hủy bỏ” Hủy bỏ việc ghi nhận (sau khi đã xác nhận) (tương

tự cho các bước sau)

1 2

Page 77: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

76

Hình 5.5. Màn hình ghi nhận kế hoạch chi tiết- bước 2

Mô tả : Màn hình ở bước 2 (hình 5.5) cho phép chọn một project hiện có trong

Project Server tương ứng với kế hoạch chi tiết cần ghi nhận

Các sự kiện chính cần xử lý :

STT Sự kiện Xử lý

1 Nhấn nút “Tiếp” Xác định project cần ghi nhận

Đọc toàn bộ kế hoạch chi tiết và chuyển qua bước

3 (nếu đọc thành công)

2 Nhấn nút “Trở lại” Trở lại bước trước (tương tự cho các bước khác)

1

2

Page 78: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

77

Hình 5.6. Màn hình ghi nhận kế hoạch chi tiết- bước 3

Mô tả : Màn hình ở bước 3 (hình 5.6) cho phép xác định một công việc chi tiết

cấp 1 (cao nhất) (và tất cả các công việc con của nó) là chi tiết cho một công

việc tổng thể cấp 2 nào (cho phép chi tiết kế hoạch tổng thể ở 2 cấp). Việc xác

định này không bắt buộc

Các sự kiện chính cần xử lý :

STT Sự kiện Xử lý

1 Nhấn nút “…” Hiển thị danh sách các công việc tổng thể cấp 2 là

con của công việc tổng thể được chi tiết bởi kế

hoạch chi tiết này để NSD lựa chọn.

2 Nhấn nút “Tiếp” Gán thông tin được xác định vào các đối tượng liên

quan và chuyển sang bước 4

1

2

Page 79: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

78

Hình 5.7. Màn hình ghi nhận kế hoạch chi tiết- bước 4

Mô tả : Màn hình ở bước 4 (hình 5.7) cho yêu cầu NSD xác định loại công việc

cho các công việc trong kế hoạch. Đối với công việc chi tiết, việc xác định này

là không bắt buộc .

Các sự kiện chính cần xử lý :

STT Sự kiện Xử lý

1 Nhấn nút “…” Hiển thị danh sách các loại công việc để NSD lựa

chọn. Cần lựa chọn các loại công việc để hiển thị

sao cho không vi phạm ràng buộc R5, R8 và R9

(phần 5.1.3)

2 Nhấn nút “Tiếp” Gán thông tin được xác định vào các đối tượng liên

quan và chuyển sang bước 5

1 2

Page 80: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

79

Hình 5.8. Màn hình ghi nhận kế hoạch chi tiết- bước 5

Mô tả : Màn hình ở bước 5 (hình 5.8) cho yêu cầu NSD xác định nhân viên

được phân công vào các công việc trong kế hoạch. Thông tin đọc được về các

nhân viên này từ Project chỉ là tên (có thể là tên tắt), khi đưa vào PMA NSD cần

xác nhận lại cụ thể là nhân viên nào, đồng thời chỉ rõ vai trò của nhân viên được

phân công trong công việc. Việc xác định này là bắt buộc .

Các sự kiện chính cần xử lý :

STT Sự kiện Xử lý

1 Nhấn nút “…” ở

một dòng thuộc

cột Mã NV

Hiển thị danh sách các nhân viên để NSD lựa chọn. Sau

khi NSD đã chọn, hiển thị tên nhân viên tương ứng vào

cột “Họ tên NV”

2 Nhấn nút “…” ở

một dòng thuộc

cột vai trò

Hiển thị danh sách các vai trò có thể đảm nhận loại công

việc tương ứng với công việc ở dòng này. (hoặc tất cả

vai trò nếu công việc này chưa được xác định vai trò)

3 Nhấn nút “Tiếp” Gán thông tin được xác định vào các đối tượng liên quan

và chuyển sang bước 6

12

3

Page 81: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

80

Hình 5.9. Màn hình ghi nhận kế hoạch chi tiết- bước 6

Mô tả : Màn hình ở bước 6 (hình 5.9) cho yêu cầu NSD nhập ngày giờ kế

hoạch được cập nhật lần cuối.

Các sự kiện chính cần xử lý :

STT Sự kiện Xử lý

1 Nhấn nút “Kết thúc” Ghi nhận toàn bộ thông tin về kế hoạch, công

việc, phân công (cùng với các thông itn bổ sung

đã xác định) và CSDL.

Thông báo kết quả thực hiện (thành công hay bị

lỗi)

b) Màn hình thống kê chi phí dự án theo vai trò – một màn hình

thống kê :

Page 82: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

81

Hình 5.10. Màn hình thống kê chi phí dự án

Mô tả : Màn hình thống kê chi phí dự án theo vai trò (hình 5.10) hiển thị các số

liệu thống kê về chi phí dự án, phân nhóm theo từng vai trò và giai đoạn.

Các sự kiện chính cần xử lý :

STT Sự kiện Xử lý

1 Thay đổi đơn vị tính

chi phí

Tính toán và hiển thị lại các cột chi phí theo

đơn vị mới

2 Nhấn nút “Thêm bớt

cột”

Hiển thị màn hình cho phép NSD thêm bớt các

cột cần hiển thị. Thêm bớt cột trên thống kê

theo ý NSD.

3 Nhấn nút “Xem biểu

đồ”

Chuyển sang phần màn hình xem biểu đồ, thể

hiện tỷ lệ chi phí theo từng loại so với tổng chi

phí dự án

Page 83: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 5 : Thiết kế phần mềm

82

4 Nhấn nút “Xem trước” Hiển thị màn hình cho phép xem thống kê theo

khuôn dạng khi in

5 Nhấn nút “In” In thống kê.

Page 84: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 6 : Cài đặt và thử nghiệm

83

Chương 6 : Cài đặt và thử nghiệm Chương này trình bày một số vấn đề liên quan đến quá trình cài đặt và thử

nghiệm : một số công thức tính toán, môi trường lập trình, các thư viện, kỹ thuật được

sử dụng và các trường hợp đã được thử nghiệm.

6.1. Một số công thức tính toán được sử dụng : Các công thức và thuật toán ở phần này đều dựa trên kết quả khảo sát cách tính

toán của MS Office Project, để đảm bảo rằng cách tính toán của PMA phải

thống nhất với cách tính của MS Office Project.

a) Tính tổng thời lượng của một tập công việc:

V : tập các công việc

N : tập các ngày nghỉ (nghỉ lễ, các ngày nghỉ trong tuần)

Ngày bắt đầu = min{v.NgayBD : v ∈ V}

Ngày kết thúc = max{ v.NgayKT : v ∈ V}

D = Ngày bắt đầu

Tổng thời lượng = 0

Trong khi ( D < Ngày kết thúc)

Nếu D ∉ N

Tổng thời lượng +=D.Thời gian làm việc trong ngày

Cuối nếu

D = D+1(ngày)

Cuối Trong khi

b) Tính tổng thời lượng thực tế của một tập công việc:

Tổng thời lượng thực tế = ongDuKienTongthoiluukienThoiluongDvi

hucteThoiluongTvi

i

i ×∑∑

.

.

Page 85: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 6 : Cài đặt và thử nghiệm

84

Với: vi là công việc thứ i trong tập công việc.

TongthoiluongDukien : tổng thời lượng dự kiến, có thể tính được bằng

công thức (a)

c) Tính tỷ lệ hoàn tất tổng cộng cho một tập công việc:

Tỷ lệ hoàn tất = ∑

∑ ×

i

i

enChiPhiDuKivi

enChiPhiDukivitTyLeHoanTavi

.

)..(

Với vi là công việc thứ i trong tập công việc

6.2. Một số XML request và reply cung cấp bởi PDS : Như đã trình bày ở chương 3, để tránh sự phụ thuộc tuyệt đối vào CSDL của

Project Server, PMA sẽ không đọc kế hoạch trực tiếp từ CSDL của Project

Server mà thông qua Project Data Service- PDS, một Web Service được Project

Server cung cấp.

PMA sẽ sử dụng SOAP (Simple Object Access Protocol), một nghi thức trao đổi

dữ liệu dựa trên XML, để gọi phương thức SoapXMLRequest của PDS. Thông

qua phương thức này, PMA sẽ gửi đến PDS các request và nhận về các reply, cả

hai đều là XML.

Phần này sẽ trình bày các request và reply được sử dụng cho PMA

6.2.1. ProjectsStatus

Request này được PMA sử dụng để đọc danh sách các project hiện có

trong Project Server

- Request : <Request> <ProjectsStatus> <ProjectID></ProjectID> <ProjectName></ProjectName> <ReturnGUID></ReturnGUID> <ProjectType></ProjectType> <ProjectVersion></ProjectVersion> <ProjectManager></ProjectManager>

Page 86: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 6 : Cài đặt và thử nghiệm

85

<ReturnAdmin></ReturnAdmin> </ProjectsStatus> </Request>

- Tham số:

ProjectType : loại project, sử dụng ProjectType = 0 (project thông

thường)

Bỏ qua các tham số khác

- Reply: <Reply> <HRESULT></HRESULT> <STATUS></STATUS> <UserName></UserName> <ProjectsStatus> <Project> <ProjectID></ProjectID> <ProjectName></ProjectName> <ProjectType></ProjectType> <AdminProject></AdminProject> <ProjectPrefix/> <ProjectVersion/> <ProjectCheckedout></ProjectCheckedout> <ProjectCheckedoutUser></ProjectCheckedoutUser> <Access></Access> <ProjectUserWrite></ProjectUserWrite> <LastModified></LastModified> <ProjectGUID></ProjectGUID> <ReplyStatus></ReplyStatus> </Project> </ProjectsStatus> </Reply>

Trong reply cần quan tâm đến :

Kết quả đọc ( thành công hay lỗi) trả về trong tag HRESULT và

STATUS

ProjectID (mã project), ProjectName (tên project), LastModified

(thời điểm cập nhật cuối)

Page 87: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 6 : Cài đặt và thử nghiệm

86

6.2.2. ProjectData

Request này được PMA sử dụng để đọc toàn bộ thông tin về một project

trong Project Server (bao gồm cả thông tin về công việc và phân công)

- Request : <Request> <ProjectData> <ProjectID></ProjectID> <ProjectName></ProjectName> <ReturnUIDs></ReturnUIDs> </ProjectData> </Request>

- Tham số:

ProjectID : Mã project cần đọc

ProjectName : Tên project cần đọc (không cần nếu đã có mã)

ReturnUIDs : trả về mã của các đối tượng công việc, phân

công,…) hay không. Sử dụng ReturnUIDs = 1

- Reply: <Reply> <HRESULT></HRESULT> <STATUS></STATUS> <UserName></UserName> <Project> <AdminProject></AdminProject> -- Project Data -- </Project> </Reply>

Với “Project Data” là toàn bộ dữ liệu về kế hoạch.

Trong reply cần quan tâm :

Kết quả đọc ( thành công hay lỗi) trả về trong tag HRESULT và

STATUS

Dữ liệu về kế hoạch, bao gồm dữ liệu nằm trong các tag “Project”,

“Task”, “Resource” và “Assignment”. Các giá trị cần đọc và chuyển

đổi như sau :

Page 88: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 6 : Cài đặt và thử nghiệm

87

a. Thông tin chung về kế hoạch (Project)

STT Giá trị trả về Ý nghĩa

1 ProjectName Tên project

2 ProjectID Mã Project

3 Author Người lập

b. Công việc (Task)

STT Giá trị trả về Ý nghĩa

1 Name Tên công việc

2 ID Số thứ tự công việc

3 UID Mã công việc (duy nhất trên một project)

4 Start Thời điểm bắt đầu (định dạng

“yyyymmddhhmmss”)

5 Finish Thời điểm kết thúc (định dạng

“yyyymmddhhmmss”)

6 Work Chi phí dự kiến (tính bằng phút)

7 ActualWork Chi phí thực tế (tính bằng phút)

8 Duration Thời lượng dự kiến (tính bằng phút)

9 ActualDuration Thời lượng thực tế (tính bằng phút)

10 PercentWorkComplete Tỷ lệ hoàn tất dự trên giờ làm (chi phí)

11 OutlineLevel Mức(cấp) của công việc

c. Nhân viên (Resource)

STT Giá trị trả về Ý nghĩa

1 Name Tên nhân viên

2 ID Mã nhân viên

Page 89: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 6 : Cài đặt và thử nghiệm

88

d. Phân công (Assignment)

STT Giá trị trả về Ý nghĩa

1 UID Mã phân công (duy nhất trên một project)

2 TaskID Số thứ tự công việc

3 ResourceID Mã nhân viên

4 Start Thời điểm bắt đầu (định dạng

“yyyymmddhhmmss”)

5 Finish Thời điểm kết thúc (định dạng

“yyyymmddhhmmss”)

6 Work Chi phí dự kiến (tính bằng phút)

7 ActualWork Chi phí thực tế (tính bằng phút)

8 Units Đơn vị (tỷ lệ phần trăm thời gian làm việc

của nhân viên)

9 PercentWorkComplete Tỷ lệ hoàn tất dự trên giờ làm (chi phí)

6.3. Môi trường thực hiện và các phần mềm liên quan:

6.3.1. Môi trường thực hiện :

- PMA là ứng dụng chạy trên Windows, được phát triển trên môi trường

Visual Studio .NET 2003, dùng ngôn ngữ lập trình C#. NET .

- Sử dụng hệ quản trị CSDL SQL Server 2000.

- Sử dụng thư viện ADO.NET để lập trình truy xuất CSDL và quản lý dữ

liệu truy xuất được.

6.3.2. Các thư viện khác :

Bên cạnh sử dụng các thư viện được cung cấp trong bộ Microsoft Visual

Studio.NET, PMA còn dùng thêm các thư viện control sử dụng cho .NET

do Component One cung cấp.

Page 90: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 6 : Cài đặt và thử nghiệm

89

Các thư viện đã sử dụng :

- ComponentOne FlexGrid for .Net : thư viện này cung cấp control

C1FlexGrid và các lớp đối lượng liên quan, với nhiều tính năng phù

hợp cho việc hiển thị danh sách công việc theo dạng cây kết hợp vói

lưới, cũng như phù hợp cho việc trình bày số liệu thống kê.

- ComponentOne Chart for .Net : cung cấp công cụ hỗ trợ lập các

dạng biểu đồ.

6.3.3. Các phần mềm liên quan :

Để hoạt động được , PMA cần phải giao tiếp với Project Server phiên

bản 2003. Project Server 2003 có thể nằm trên cùng máy chạy PMA,

hoặc nằm trên một server mà máy chạy PMA có thể kết nối được.

6.4. Các trường hợp thử nghiệm: Các chức năng chính được cài đặt của PMA đã được kiểm thử theo trình tự sau :

a) Mở một dự án mới, với chức năng tạo mới dự án (cho phép ghi nhận một số

thông tin chung ban đầu về dự án : tên, mã , ngày dự kiến bắt đầu, kết thúc,

trưởng dự án,…)

b) Lập kế hoạch tổng thể :

- Lập một kế hoạch tổng thể (một project) bằng MS Office Project

Professional, với các công việc tổng thể : khảo sát , phân tích, lập trình,

…, và một số công việc tổng thể con để chi tiết thêm một cấp. Lưu kế

hoạch vào Project Server

- Dùng chức năng “Ghi nhận kế hoạch tổng thể” của PMA để ghi nhận kế

hoạch tổng thể vào PMA

c) Lập kế hoạch chi tiết :

- Lập một kế hoạch chi tiết (một project) bằng MS Office Project để chi

tiết cho một công việc tổng thể đã ghi nhận . Kế hoạch chi tiết này bao

gồm các công việc chi tiết và một số phân công cho các công việc này

Page 91: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 6 : Cài đặt và thử nghiệm

90

(một công việc có thể có hoặc chưa có thông tin phân công ). Lưu kế

hoạch vào Project Server

- Dùng chức năng “Ghi nhận kế hoạch chi tiết ” của PMA để ghi nhận kế

hoạch chi tiết vào PMA

d) Cập nhật kế hoạch chi tiết :

- Thay đổi kế hoạch chi tiết (project) đã lập và lưu trữ trong Project Server

bằng MS Office Project , bao gồm :

Thay đổi tiến độ công việc : cập nhật trên các thông tin về tiến độ

công việc (hay phân công) :tỷ lệ hoàn tất, chi phí thực tế,…

Thay đổi khác : thay đổi một số thông tin khác của công việc và phân

công ngoài thông tin về tiến độ; thay đổi thứ tự, cấp bậc của công

việc, xóa công việc và phân công, thêm công việc và phân công

Lưu kế hoạch trở lại vào Project Server.

- Dùng chức năng “Cập nhật kế hoạch chi tiết ” của PMA để cập nhật kế

hoạch chi tiết vào PMA. Trong quá trình cập nhật , khi PMA hỏi về việc

có cần xóa hoàn toàn công việc, yêu cầu xóa một vài công việc và giữ lại

thông tin về một vài công việc để kiểm tra.

- Dùng chức năng “Xem kế hoạch chi tiết “ để kiểm tra lại kế hoạch đã cập

nhật. Khi đó phần chi phí của các công việc bị xóa nhưng không yêu cầu

xóa hoàn toàn thể hiện trên màn hình dưới dạng chi phí đã xóa.

Lập lại bước (c) và (d) vài lần để có thêm dữ liệu kiểm tra phần thống kê.

e) Thống kê : Lần lượt sử dụng các chức năng thống kê của PMA : thống kê

tổng thể dự án, thống kê chi phí dự án theo vai trò, theo trình độ, theo nhân

viên, kiểm tra phân công của nhân viên. Các chức năng này được thử nghiệm

đầu tiên với dữ liệu nhỏ , để kiểm tra tính đúng đắn về số liệu của thống kê.

Sau đó tăng số lượng dữ liệu (dữ liệu thống kê được hơn một trang) để kiểm

tra về sự hợp lý về dàn trang trong trình bày và in ấn.

Page 92: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 7 : Tổng kết

91

Chương 7 : Tổng kết 7.1. Tổng kết quá trình thực hiện và các kết quả đạt được

Với yêu cầu đặt ra ban đầu của đề tài : “xây dựng một công cụ hỗ trợ quản lý kế

hoạch, tiến độ và chi phí của quá trình phát triển phần mềm, gắn kết với hệ

thống phần mềm MS Office Project”, em đã tiến hành khảo sát hiện trạng, lựa

chọn phương án, phân tích, thiết kế và cài đặt chương trình thử nghiệm. Kết quả

cụ thể đạt được như sau :

a) Về phần khảo sát, lựa chọn phương án và phân tích, thiết kế :

- Khảo sát và phân tích rõ được các khó khăn của quy trình nghiệp vụ hiện

tại với MS Office Project và nguyên nhân dẫn đến các khó khăn này.

- Kết hợp với các yêu cầu đặt ra từ phía người sử dụng, xây dựng một

phương án thích hợp để phát triển một hệ thống mới. Phương án này, qua

quá trình phân tích và cài đặt thử nghiệm, đã được chứng minh là khả thi

và có thể khắc phục được các khuyết điểm của hệ thống hiện tại.

- Theo phương án đã đề ra, phân tích và thiết kế công cụ PMA, phần cốt lõi

của hệ thống mới. Phần phân tích, thiết kế khá đầy đủ và bao quát tất cả

các chức năng chính của PMA.

- PMA được thiết kế theo hướng đối tượng và theo mô hình 3 lớp.

b) Về phần cài đặt và thử nghiệm :

Chương trình đã được cài đặt và thử nghiệm cho các chức năng sau :

- Ghi nhận kế hoạch tổng thể và kế hoạch chi tiết từ bản kế hoạch tương

ứng đã được lập bằng MS Project .

- Cập nhật kế hoạch chi tiết ( từ bản kế hoạch tương ứng đã được cập nhật

trong MS Project)

- Thống kê chi phí dự án tính đến thời điểm hiện tại theo từng giai đoạn,

phân loại chi phí theo vai trò hoặc theo trình độ nhân viên tham gia.

Page 93: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 7 : Tổng kết

92

(Thống kê được cả phần chi phí của các công việc đã bị xóa khỏi kế

hoạch ). Cung cấp một số biểu đồ đơn giản thể hiện sự phân loại chi phí.

- Thống kê chi phí dự án dưới dạng ngày công của nhân viên

- Tổng hợp toàn bộ thông tin phân công của một nhân viên (trong một

khoảng thời gian) và phát hiện mâu thuẫn nếu có.

- Thống kê tổng thể dự án theo các công việc tổng thể, cho thấy các chênh

lệch giữa kế hoạch tổng thể với kế hoạch chi tiết, đồng thời cũng cung

cấp một cái nhìn chung về tiến độ thực hiện của dự án.

- Ngoài ra còn một số chức năng phụ khác : quản lý thông tin chung của

dự án, quản lý hồ sơ nhân viên, tra cứu dự án, tra cứu kế hoạch, xem chi

tiết kế hoạch.

7.2. Hướng phát triển : a) Trước mắt, PMA còn cần phải được cài đặt bổ sung một số chức năng đế

có thể đáp ứng tất cả những yêu cầu của hệ thống mới :

Cập nhật kế hoạch tổng thể , kèm theo là hỗ trợ lập phiên bản kế hoạch

tổng thể và quản lý các phiên bản.

Quản lý và hỗ trợ tra cứu văn bản

Phân quyền; Quản lý các danh mục và tham số.

b) Với thiết kế hiện tại , PMA còn có thể khai thác nhiều hơn nữa những

thông tin mà nó đã ghi nhận và lưu giữ được :

Các thông tin lưu vết khi cập nhật tiến độ: có thể được dùng để thống kê

tỷ lệ hoàn tất và chi phí dự án đã phát sinh tính đến bất kỳ thời điểm nào

trong suốt quá trình thực hiện dự án , không chỉ là tính đến thời điểm

hiện tại như các chức năng thống kê đã cài đặt; Hoặc có thể dùng để so

sánh tiến độ thực hiện dự án (mức độ nhanh hay chậm ) giữa các giai

đoạn.

Page 94: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Chương 7 : Tổng kết

93

Thông tin về loại công việc : có thể được dùng để thống kê chi phí dự án

theo từng loại công việc, để có thể thấy rõ chi phí tập trung vào các loại

công việc nào, tạo tiền đề cho các chiến lược nhằm tối thiểu hoá chi phí.

Thống tin về quan hệ dự án tổng thể - dự án con : có thể cung cấp các

thống kê trên dự án tổng thể ( thống kê bao gồm cả các dự án con)

b) Trong tương lai, PMA có thể được mở rộng theo hướng:

Ghi nhận bổ sung và khai thác thêm các thông tin khác thường có trong

các kế hoạch: lượng việc phải làm ngoài giờ, công việc liền trước,…, các

ghi chú. Các thông tin này có thể được ghi nhận trong các kế hoạch lập

bằng MS Project, nhưng hiện tại PMA chưa hỗ trợ .

Bổ sung và cải tiến giao diện để tăng tính tiện dụng cho người sử dụng.

Page 95: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Tài liệu tham khảo

94

Danh mục tài liệu tham khảo : 1. Microsoft Corporation, Project Data Service reference for Microsoft Office

Project Server 2003.

2. Microsoft Corporation, Microsoft Office Project 2003 Data Reference.

3. Microsoft Corporation, Microsoft Office Project 2003 Overview

Page 96: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

95

Phụ lục : Danh sách thuộc tính của các quan hệ trong CSDL Ghi chú : Các thuộc tính khóa chính được in đậm

1. BB_THANH_LY_HOP_DONG

Chứa các thông tin về biên bản ra cứu hợp đồng :

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 BBTL_SO nvarchar(20) Số biên bản

2 HD_SO nvarchar(20) Số hợp đồng . Tham chiếu đến bảng

HOP_DONG

3 DA_MA nvarchar(15) Mã dự án . Tham chiếu đến bảng

DU_AN

4 BBTL_NGAYLAP datetime ngày lập

5 BBTL_DAIDIEN_A nvarchar(255) Tên người đại diện bên A

6 BBTL_CHUCVU_A nvarchar(255) Chức vụ người đại diện bên A

7 BBTL_DAIDIEN_B nvarchar(255) Tên người đại diện bên B

8 BBTL_CHUCVU_B nvarchar(255) Chức vụ người đại diện bên B

9 BBTL_TONGGIATRI decimal Tổng giá trị cần thanh toán

10 BBTL_GIATRIDATT decimal Giá trị đã thanh toán

11 BBTL_NOILUUTRU nvarchar(255) nơi lưu trữ văn bản

12 BBTL_GHICHU nvarchar(255) Ghi chú

2. CONG_VIEC_TONG_THE

Chứa thông tin về công việc tổng thể

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 CVTT_MA int Mã công việc tổng thể

Page 97: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

96

2 KHTT_MA int Mã kế hoạch tổng thể, tham chiếu

đến bảng

KE_HOACH_TONG_THE

3 CVTT_MACVTOMTAT int Mã công việc tổng thể tóm tắt

(công việc cha) của công việc này

4 CVTT_TEN nvarchar(255) tên công việc

5 CVTT_NGAYBD datetime thời điểm bắt đầu

6 CVTT_NGAYKT datetime thời điểm kết thúc

7 CVTT_THOILUONG decimal thời lượng dự kiến

8 CVTT_CHIPHIDK decimal chi phí dự kiến

9 CVTT_STT int số thứ tự của công việc

10 CVTT_MUC int mức (cấp) của công việc.

11 CVTT_TINHTRANG int tình trạng công việc (có bị xóa hay

không)

3. CONG_VIEC_CHI_TIET

Chứa thông tin về công việc chi tiết

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 CVCT_MA int Mã công việc chi tiết

2 KHCT_MA int Mã kế hoạch chi tiết, tham chiếu

đến bảng

KE_HOACH_CHI_TIET

3 CVCT_MACVTOMTAT int Mã công việc chi tiết tóm tắt

(công việc cha) của công việc này

4 CVTT_MA int Mã công việc tổng thể

Page 98: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

97

5 KHTT_MA int Mã kế hoạch chi tiết, cùng với

CVTT_MA tham chiếu đến bảng

CONG_VIEC_TONG_THE

6 LCV_MA int Mã loại công việc, tham chiếu

đến bảng LOAI_CONG_VIEC

7 CVCT_TEN nvarchar(255

)

Tên công việc

8 CVCT_NGAYBD datetime Thời điểm bắt đầu

9 CVCT_NGAYKT datetime Thời điểm kết thúc

10 CVCT_THOILUONGDK decimal Thời lượng dự kiến

11 CVCT_THOILUONGTT decimal Thời lượng thực tế

12 CVCT_CHIPHIDK decimal Chi phí dự kiến

13 CVCT_CHIPHITT decimal Chi phí thực tế

14 CVCT_NGAYBDTT datetime Thời điểm bắt đầu thực tế

15 CVCT_NGAYKTTT datetime Thời điểm kết thúc thực tế

16 CVCT_CHIPHICVDAXO

A

decimal Chi phí cho phần việc đã bị xóa

17 CVCT_STT int Số thứ tự của công việc

18 CVCT_MUC int Mức của công việc

19 CVCT_TYLEHOANTAT decimal Tỷ lệ hoàn tất công việc (dựa trên

tỷ lệ giữa chi phí thực tế với chi

phí dự kiến)

20 CVCT_TINHTRANG int tình trạng công việc (có bị xóa

hay không)

Page 99: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

98

4. DAM_NHAN

Quan hệ đảm nhận giữa vai trò và loại công việc, cho biết những vai trò nào có

thể đảm nhận loại công việc nào

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 VT_MA int Mã vai trò, tham chiếu đến bảng

VAI_TRO

2 LCV_MA int Mã loại công việc, tham chiếu đến

bảng LOAI_CONG_VIEC

5. DU_AN

Chứa thông tin về dự án

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 DA_MA nvarchar(15) Mã dự án

2 DA_MADATONGTHE nvarchar(15) Mã dự án tổng thể (dự án cha),

tham chiếu đến chính bảng

DU_AN

3 NV_TRUONGDA nvarchar(20) Mã nhân viên là trưởng dự án,

tham chiếu đến bảng

NHAN_VIEN

4 DA_TEN nvarchar(255) Tên dự án

5 DA_NGAYBD datetime Ngày bắt đầu dự án

6 DA_NGAYKT datetime Ngày kết thúc dự án

7 DA_MUC int Mức của dự án (dùng để hiển thị

danh sách dự án theo dạng cây)

Page 100: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

99

6. DVT_CHIPHI

Danh mục các đơn vị tính chi phí

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 DVTCP_MA int Mã đơn vị

2 DVTCP_THEHIEN nvarchar(255) đơn vị

3 DVTCP_GIATRICHUYENDOI decimal Giá trị để chuyển đổi chi

phí từ giá trị lưu trong bảng

dữ liệu (phút) thành giá trị

theo đơn vị này

7. DVT_THOILUONG

Danh mục các đơn vị tính thời lượng

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 DVTTL_MA int Mã đơn vị

2 DVTTL_THEHIEN nvarchar(20) đơn vị

3 DVTTL_GIATRICHUYENDOI decimal Giá trị để chuyển đổi thời

lượng từ giá trị lưu trong

bảng dữ liệu (phút) thành

giá trị theo đơn vị này

8. GIAI_DOAN

Danh mục các giai đoạn có thể có trong một dự án

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 GD_MA int Mã giai đoạn

2 GD_TEN nvarchar(255) Tên giai đoạn

Page 101: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

100

9. HOP_DONG

Các thông tin liên quan đến một văn bản hợp đồng

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 HD_SO nvarchar(20) Số hợp đồng

2 KHA_MA nvarchar(20) Mã khách hàng, tham chiếu đến bảng

KHACH_HANG

3 DA_MA nvarchar(20) Mã dự án, tham chiếu đến bảng DU_AN

4 HD_NGAYKY datetime Ngày ký hợp đồng

5 HD_DAIDIEN_A nvarchar(255) Tên người đại diện bên A

6 HD_DAIDIEN_B nvarchar(255) Tên người đại diện bên B

7 HD_CHUCVU_A nvarchar(255) Chức vụ người đại diện bên A

8 HD_CHUCVU_B nvarchar(255) Chức vụ người đại diện bên B

9 HD_TONGGIATRI decimal Tổng giá trị hợp đồng

10 HD_NOILUUTRU nvarchar(255) Nơi lưu trữ văn bản

11 HD_GHICHU nvarchar(255) Ghi chú

10. KE_HOACH_CHI_TIET

Chứa thông tin về kế hoạch chi tiết

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 KHCT_MA int Mã kế hoạch chi tiết

2 CVTT_MA int mã công việc tổng thể mà kế

hoạch này chi tiết

3 KHTT_MA int mã kế hoạch tổng thể, cùng với

CVTT_MA tham chiếu đến bảng

CONG_VIEC_TONG_THE

4 KHCT_NGAYLAP datetime Ngày lập

Page 102: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

101

5 KHCT_NGUOILAP nvarchar(255) Tên người lập kế hoạch

6 KHCT_PRJID int ID của Project tương ứng với kế

hoạch

7 KHCT_PS_NAME nvarchar(255) Tên Server chạy Project Server

8 KHCT_PS_URL nvarchar(255) Địa chỉ URL của Project Server

9 KHCT_PS_DBNAME nvarchar(255) Tên CSDL của Project Server

10 KHCT_PS_LOGINNA

ME

nvarchar(255) Tên để login vào Project Server

11 KHCT_TEN nvarchar(255) Tên kế hoạch

12 KHCT_NGAYCAPNH

ATCUOI

datetime Thời điểm kế hoạch được cập

nhật gần đây nhất

13 KHCT_TINHTRANG int Tình trạng kế hoạch ( có đã bị

xóa hay không)

11. KE_HOACH_TONG_THE

Chứa thông tin về kế hoạch tổng thể

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 KHTT_MA int Mã kế hoạch tổng thể

2 DA_MA nvarchar(15) Mã dự án, tham chiếu đến bảng

DU_AN

3 KHTT_PHIENBAN int Số (thứ tự) phiên bản

4 KHTT_NGAYLAP datetime Ngày lập

5 KHTT_NGUOILAP nvarchar(255) Tên người lập kế hoạch

6 KHTT_PRJID int ID của Project tương ứng với

kế hoạch

7 KHTT_PS_NAME nvarchar(255) Tên Server chạy Project Server

Page 103: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

102

8 KHTT_PS_URL nvarchar(255) Địa chỉ URL của Project Server

9 KHTT_PS_DBNAME nvarchar(255) Tên CSDL của Project Server

10 KHTT_PS_LOGINNAME nvarchar(255) Tên để login vào Project Server

12. KHACH_HANG

Thông tin về các khách hàng của công ty

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 KHA_MA nvarchar(15) Mã khách hàng

2 KHA_TEN nvarchar(255) Tên khách hàng

3 KHA_DIACHI nvarchar(255) Điạ chỉ khách hàng

4 KHA_DIENTHOAI nvarchar(255) Điện thoại

5 KHA_FAX nvarchar(255) Số fax

6 KHA_SOTAIKHOAN nvarchar(255) Số tài khoản

7 KHA_MASOTHUE nvarchar(255) Mã số thuế

8 KHA_NGANHANG nvarchar(255) Ngân hàng tương ứng của

số tài khoản

13. LOAI_CONG_VIEC

Danh mục các loại công việc

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 LCV_MA int Mã loại công việc

2 LCV_TEN nvarchar(255) Tên loại công việc

3 GD_MA int Mã giai đoạn tương ứng

với loại công việc , tham

chiếu đến bảng

GIAI_DOAN

Page 104: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

103

4 LCV_MALCVTONGTHE int Mã loại công việc tổng thể

(loại công việc cha) của

loại công việc nà, tham

chiếu đến chính bảng

LOAI_CONG_VIEC.

14. LOAI_VAN_BAN

Danh mục các loại văn bản có thể phát sinh trong quá trình phát triển dự án

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 LVB_MA int Mã loại văn bản

2 LVB_TEN nvarchar(255) Tên loại văn bản

15. MOC_THANH_TOAN

Các mốc thanh toán thoả thuận trong hợp đồng

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 MTT_STT int Số thứ tự

2 HD_SO nvarchar(20) Số hợp đồng, tham chiếu

đến bảng HOP_DONG

3 MTT_NGAYTT_MOTA nvarchar(255) Ngày thanh toán (về ý

nghĩa)

4 MTT_NGAYTT datetime Ngày thanh toán

5 MTT_TYLETHANHTOAN decimal tỷ lệ thanh toán

6 MTT_DATHANHTOAN bit Đã thanh toán hay chưa

16. NGAY_NGHI

Danh sách các ngày nghỉ theo từng năm

Page 105: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

104

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 NN_MA int Mã ngày nghỉ

2 NN_TUNGAY datetime Ngày bắt đầu kỳ nghỉ

3 NN_DENNGAY datetime Ngày kết thúc kỳ nghỉ

4 NN_GHICHU nvarchar(255) Ghi chú (lý do nghỉ…)

17. NHAN_VIEN

Hồ sơ nhân viên

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 NV_MA nvarchar(20) Mã nhân viên

2 NV_TEN nvarchar(255) Tên nhân viên

3 NV_NGAYSINH datetime Ngaỳ sinh

4 NV_DIACHI nvarchar(255) Địa chỉ

5 NV_EMAIL nvarchar(255) email

6 NV_DIENTHOAI nvarchar(20) Điện thoại

7 NV_PHAI int Phái

8 NV_TINHTRANG int Tình trạng nhân viên (sẵn

sàng hay không)

9 TD_MA int Mã trình độ của nhân viên,

tham chiếu đến bảng

TRINH_DO

18. PHAN_CONG

Thông tin phân công

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 PC_MA int Mã phân công

Page 106: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

105

2 KHCT_MA int Mã kế hoạch chi tiết

3 CVCT_MA int Mã công việc chi tiết, cùng

với KHCT_MA tham chiếu

đến bảng

CONG_VIEC_CHI_TIET

4 NV_MA nvarchar(20) Mã nhân viên, tham chiếu

đến bảng NHAN_VIEN

5 VT_MA int Mã vai trò, tham chiếu đến

bảng VAI_TRO, thể hiện

vai trò của nhân viên trong

công việc

6 PC_NGAYBD datetime Ngaỳ bắt đầu dự kiến

7 PC_NGAYKT datetime Ngày kết thúc dự kiến

8 PC_THOILUONGDK decimal Thời lượng dự kiến

9 PC_CHIPHIDK decimal Chi phí dự kiến

10 PC_NGAYBDTT datetime Ngày bắt đầu thực tế

11 PC_NGAYKTTT datetime Ngày kết thúc thực tế

12 PC_THOILUONGTT decimal Thời lượng thực tế

13 PC_CHIPHITT decimal Chi phí thực tế

14 PC_TYLEHOANTAT decimal Tỷ lệ hoàn tất

15 PC_DONVI 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 làm việc, tính

trong một đơn vị thời gian

Page 107: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

106

16 PC_PRJRESID int ID của nhân viên, theo kế

hoạch lưu trong Project

Server

17 PC_CHIPHIDAXOA decimal Chi phí thực tế cho phần

việc đã bị xóa

18 PC_TINHTRANG int Tình trạng, cho biết phân

công có bị đánh dấu xóa hay

không

19. PHAN_HE

Các phân hệ của một hợp đồng

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 PH_MA int Mã phân hệ

2 HD_SO nvarchar(20) Số hợp đồng, tham chiếu

đến bảng HOP_DONG

3 PH_TEN nvarchar(255) Tên phân hệ

4 PH_GIATRI decimal Giá trị phân hệ

5 PH_GHICHU nvarchar(255) Ghi chú

20. PHU_LUC_HOP_DONG

Thông tin về văn bản phụ lục hợp đồng

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 PLHD_SO nvarchar(20) Số (mã văn

bản)

2 HD_SO nvarchar(20) Số hợp đồng,

tham chiếu đến

Page 108: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

107

bảng

HOP_DONG

3 PLHD_NGAYLAP datetime Ngày lập

4 PLHD_NOILUUTRU nvarchar(255) Nơi lưu trữ

5 PLHD_GHICHU nvarchar(255) Ghi chú

21. QUAN_LY

Quan hệ Quản lý giữa một công việc tổng thể với một nhân viên

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 CVTT_MA int Mã công việc tổng thể

2 KHTT_MA int Mã kế hoạch tổng thể, cùng với

CVTT_MA tham chiếu đến bảng

CONG_VIEC_TONG_THE

3 NV_MA nvarchar(20) Mã nhân viên, tham chiếu đến

bảng NHAN_VIEN

22. sys_KEY_VALUES

Chứa các giá trị dùng trong việc tạo mã tự động cho các bảng khác

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 KeyName nvarchar(20) Tên mã

2 CurKeyValue int Giá trị cao nhất của hiện tại của mã

3 KeyPrefix nvarchar(5) chuỗi ký tự bắt đầu mã

4 NumOfChars int Số ký tự qui định của mã

Page 109: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

108

23. THAM_SO

Bảng chứa các giá trị tham số

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 TS_MA int Mã tham số

2 TS_GIATRI decimal Giá trị tham số

3 TS_DIENGIAI decimal ý nghĩa tham số

24. TRINH_DO

Danh mục trình độ

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 TD_MA int Mã trình độ

2 TD_TEN nvarchar(255) Tên trình độ

3 TD_BAC int Bậc

4 VT_MA int Mã vai trò tương ứng với trình độ

này, tham chiếu đến bảng

VAI_TRO. (chỉ có ý nghĩa tham

khảo, không phát sinh ràng buộc)

5 TD_MUCLUONG decimal Mức lương tương ứng với trình độ

25. TTCAPNHAT_CONGVIEC

Chứa thông tin cũ của công việc khi công việc được cập nhật tiến độ

STT Tên thuộc tính Kiểu DL Ý nghĩa

1 TTCNCV_STT int Số thứ tự của lần cập nhật

2 KHCT_MA int Mã kế hoạch chi tiết, cùng với

CVCT_MA tham chiếu đến bảng

CONG_VIEC_CHI_TIET

Page 110: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

109

3 CVCT_MA int Mã công việc chi tiết

4 TTCNCV_THOIDIEM datetime Thời điểm cập nhật

5 TTCNCV_THOILUONGTT decimal Thời lượng thực tế ( trước khi cập

nhật)

6 TTCNCV_CHIPHITT decimal Chi phí thực tế (trước khi cập

nhật)

7 TTCNCV_TYLEHOANTAT decimal Tỷ lệ hoàn tất (trước khi cập nhật)

8 TTCNCV_NGAYBD datetime Ngày bắt đầu ( trước khi cập

nhật)

9 TTCNCV_NGAYKT datetime Ngaỳ kết thúc ( trước khi cập

nhật)

10 TTCNCV_THOILUONG decimal Thời lượng dự kiến ( trước khi

cập nhật)

11 TTCNCV_CHIPHI decimal Chi phí dự kiến ( trước khi cập

nhật)

26. TTCAPNHAT_PHANCONG

Chứa thông tin cũ của phân công khi phân công được cập nhật tiến độ

STT Tên thuộc tính Kiểu DL Ý nghĩa

1 TTCNPC_STT int Số thứ tự của lần cập nhật

2 KHCT_MA int Mã kế hoạch chi tiết, cùng với

PC_MA tham chiếu đến bảng

PHAN_CONG

3 PC_MA int Mã phân công

4 TTCNPC_THOIDIEM datetime Thời điểm cập nhật

Page 111: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

110

5 TTCNPC_THOILUONGTT decimal Thời lượng thực tế (trước khi cập

nhật)

6 TTCNPC_CHIPHITT decimal Chi phí thực tế (trước khi cập nhật)

7 TTCNPC_TYLEHOANTAT decimal Tỷ lệ hoàn tất (trước khi cập nhật)

8 TTCNPC_NGAYBD datetime Ngày bắt đầu ( trước khi cập nhật)

9 TTCNPC_NGAYKT datetime Ngaỳ kết thúc ( trước khi cập nhật)

10 TTCNPC_THOILUONG decimal Thời lượng dự kiến ( trước khi cập

nhật)

11 TTCNPC_CHIPHI decimal Chi phí dự kiến ( trước khi cập nhật)

27. VAI_TRO

Danh mục các vai trò

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 VT_MA int Mã vai trò

2 VT_TEN nvarchar(255) Tên vai trò

28. VAN_BAN

Thông tin về các văn bản phát sinh trong quá trình phát triển dự án (ngoài hợp

đồng, phụ lục hợp đồng và biên bản thanh lý hợp đồng)

STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa

1 VB_MA nvarchar(15) mã văn bản

2 LVB_MA int Mã loại văn bản, tham chiếu đến

bảng LOAI_VAN_BAN

3 DA_MA nvarchar(15) Mã dự án, tham chiếu đến bảng

DU_AN

Page 112: Ho tro phat_trien_du_an_phan_mem

KHOA CNTT –

ĐH KHTN

Phụ lục

111

4 GD_MA int Mã giai đoạn, tham chiếu đến bảng

GIAI_DOAN

5 VB_TEN nvarchar(255) Tên văn bản

6 VB_NGAYPHATSINH datetime Ngày lập

7 VB_TTLUUTRU nvarchar(255) Thông tin về nơi lưu trữ văn bản

8 VB_GHICHU nvarchar(255) Ghi chú