Luận văn 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

Danh sách các từ viết tắt : 3 Chương 1 : Mở đầu . 4 1.1. Mục đích và lý do chọn đề tài 4 1.2. Đối tượng và phạm vi của đề tài : 5 Chương 2 : Khảo sát và phân tích hiện trạng 6 2.1. Mô tả hiện trạng : . 6 2.2. Phân tích hiện trạng : . 9 2.2.1. Lược đồ business usecase cho nghiệp vụ hiện tại : 9 2.2.2 Mô hình chi tiết hiện trạng – sơ đồ activity: . 12 2.2.3 Những khó khăn trong qui trình nghiệp vụ hiện tại và một số yêu cầu đối với hệ thống mới: . 18 Chương 3 : Phương án xây dựng hệ thống mới . 22 3.1 Lược đồ kiến trúc tổng quan . 22 3.2 Mô tả kiến trúc hệ thống mới 22 3.2.1. Lập kế hoạch với MS Office Project . 23 3.2.2 Quản lý kế hoạch với công cụ mới PMA : 23 3.3 Sơ đồ nghiệp vụ tổng quan với hệ thống mới 26 3.4 Khảo sát hệ thống phần mềm Microsoft Project Server . 28 3.4.1. Sơ lược về hoạt động của MS Project Server . 28 3.4.2. Các lý do của việc chọn Project Server cho hệ thống mới . 28 3.4.3. Lược đồ CSDL của Project Server . 29 Chương 4 : Phân tích hệ thống 34 4.1. Chi tiết yêu cầu chức năng . 34 4.1.1 Lưu trữ và quản lý thông tin . 34 4.1.2. Đồng bộ thông tin với Project Server . 35 4.1.3. Khai thác dữ liệu - thực hiện thống kê . 36 4.1.4. Một số chức năng khác: 36 4.2. Mô hình hoá hệ thống . 37 4.2.1. Lược đồ use case : 37 4.2.2. Các lớp đối tượng chính bên trong hệ thống: . 44 4.2.3. Sơ đồ tuần tự cho một số luồng sự kiện phức tạp : . 55 Chương 5 : Thiết kế phần mềm . 60 5.1. Thiết kế dữ liệu . 60 5.1.1 Lược đồ cơ sở dữ liệu quan hệ 60 5.1.2 Các chỉ mục được cài đặt . 62 5.1.3 Một số ràng buộc toàn vẹn : . 63 5.2. Thiết kế phần mềm PMA . 64 5.2.1. Hệ thống các lớp đối tượng 64 5.2.2. Một số hàm xử lý quan trọng của các đối tượng: . 68 5.3. Thiết kế giao diện : 73 5.3.1. Sơ đồ các màn hình giao diện: . 73 5.3.2. Thiết kế một số màn hình tiêu biểu: 74 KHOA CNTT – ĐH KHTN 2 Chương 6 : Cài đặt và thử nghiệm 83 6.1. Một số công thức tính toán được sử dụng : 83 6.2. Một số XML request và reply cung cấp bởi PDS : 84 6.2.1. ProjectsStatus . 84 6.2.2. ProjectData . 86 6.3. Môi trường thực hiện và các phần mềm liên quan: . 88 6.3.1. Môi trường thực hiện : 88 6.3.2. Các thư viện khác : . 88 6.3.3. Các phần mềm liên quan : 89 6.4. Các trường hợp thử nghiệm: . 89 Chương 7 : Tổng kết . 91 7.1. Tổng kết quá trình thực hiện và các kết quả đạt được 91 7.2. Hướng phát triển : 92 Danh mục tài liệu tham khảo : 94 Phụ lục : Danh sách thuộc tính của các quan hệ trong CSDL 95

pdf112 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2498 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
P_DONG PLHD_SO HD_SO HOP_DONG HD_SO DA_MA KHA_MA QUAN_LY CVTT_MA KHTT_MA NV_MA LOAI_VAN_BAN LVB_MA BB_THANH_LY_HOP_DONG BBTL_SO HD_SO Hình 5.1. Mô hình dữ liệu quan hệ của PMA KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 62 Trên lược đồ, mỗi ô hình chữ nhật tương ứng với một quan hệ , mỗi mũi tên nối hai quan hệ sẽ được cài đặt thành một khóa ngoại, trừ một số mũi tên tham chiếu đến chính nó sẽ không dùng khóa ngoại mà cài trigger thay thế, vì hệ quản trị không hỗ trợ việc chỉ định thao tác xóa hoặc cập nhật dây chuyền (cascade delete, cascade update ) cho các tham chiếu loại này. 5.1.2 Các chỉ mục được cài đặt Để việc khai thác dữ liệu được nhanh hơn, tạo một số chỉ mục cho các con đường truy xuất thường xuyên, cụ thể như sau: - CONG_VIEC_TONG_THE (KHTT_MA) : Từ một bộ của KE_HOACH_TONG_THE, truy xuất tất cả các bộ của CONG_VIEC_TONG_THE - CONG_VIEC_CHI_TIET (KHCT_MA) : Từ một bộ của KE_HOACH_CHI_TIET, truy xuất tất cả các bộ của CONG_VIEC_CHI_TIET - KE_HOACH_CHI_TIET (CVTT_MA, KHTT_MA) : Từ một bộ của CONG_VIEC_TONG_THE, truy xuất tất cả các bộ của KE_HOACH_CHI_TIET - KE_HOACH_TONG_THE (DA_MA) : Từ một bộ của DU_AN, truy xuất tất cả các bộ của KE_HOACH_TONG_THE - PHAN_CONG (NV_MA) : Từ một bộ của NHAN_VIEN, truy xuất tất cả các bộ của PHAN_CONG - PHAN_CONG (CVCT_MA) : Từ một bộ của CONG_VIEC_CHI_TIET, truy xuất tất cả các bộ của PHAN_CONG - LOAI_CONG_VIEC (GD_MA) : Từ một bộ của GIAI_DOAN, truy xuất tất cả các bộ của LOAI_CONG_VIEC - NHAN_VIEN(TD_MA) : Từ một bộ của TRINH_DO, truy xuất tất cả các bộ của NHAN_VIEN Ngoài ra, cài đặt một số chỉ mục khác để phục vụ cho yêu cầu thống kê : - CONG_VIEC_TONG_THE ( KHTT_MA, LCV_MA) KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 63 - PHAN_CONG (KHCT_MA, VT_MA) - PHAN_CONG (KHCT_MA, NV_MA) 5.1.3 Một số ràng buộc toàn vẹn : STT Ký hiệu Phát biểu 1 R1 Đối với các quan hệ có tham chiếu đến chính nó : DU_AN, CONG_VIEC_TONG_THE, CONG_VIEC_CHI_TIET, LOAI_CONG_VIEC , các cung tham chiếu không được tạo thành chu trình 2 R2 Số thứ tự phiên bản của kế hoạch tổng thể (KHTT_PHIENBAN) là duy nhất đối với mỗi dự án 3 R3 Các kế hoạch chi tiết phải luôn tham chiếu đến công việc tổng thể thuộc về kế hoạch tổng thể có số phiên bản lớn nhất (phiên bản hiện hành) 4 R4 Loại công việc tổng thể thuộc giai đoạn nào thì tất cả các loại công việc con cũng phải thuộc về giai đoạn đó 5 R5 Đối với công việc tổng thể và công việc chi tiết, công việc tóm tắt thuộc loại công việc L1 thì các công việc con của nó chỉ có thể thuộc về các loại công việc con của L1 hoặc chính L1 6 R6 Đối với công việc tổng thể và công việc chi tiết , chi phí thực tế, chi phí dự kiến, chi phí đã xóa của một công việc tương ứng bằng tổng chi phí thực tế, chi phí dự kiến, chi phí đã xóa của các phân công và các công việc con của công việc đó 7 R7 Đối với công việc tổng thể và công việc chi tiết, ngày bắt đầu, ngày kết thúc và thời lượng của một công việc là những giá trị được tính toán hợp lý từ các phân công và công việc con của công việc đó. KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 64 STT Ký hiệu Phát biểu 8 R8 Một công việc tổng thể, thuộc loại công việc L, được chi tiết bởi kế hoạch chi tiết K thì tất cả các công việc chi tiết thuộc kế hoạch K đều thuộc loại công việc con của L hoặc chính L. 9 R9 Một công việc tổng thể thuộc loại công việc L thì tất cả các công việc chi tiết chi tiết cho nó đều thuộc loại công việc con của L hoặc chính L 10 R10 Một công việc chi tiết thuộc kế hoạch chi tiết K chi tiết cho công việc tổng thể T thì chỉ có thể tham chiếu đến một công việc tổng thể là con của công việc T 11 R11 Một nhân viên được phân công vào một công việc, thuộc loại công việc L, với một vai trò cụ thể thì vai trò này phải là một trong số những vai trò có thể đảm nhận loại công việc L. 12 R12 Đối với các quan hệ có tham chiếu đến chính nó : DU_AN, CONG_VIEC_TONG_THE, CONG_VIEC_CHI_TIET, LOAI_CONG_VIEC , một bộ q2 có tham chiếu đến một bộ q1 thì mức của q2 = mức của q1 + 1. Ghi chú : một số ràng buộc luôn thỏa khi cập nhật CSDL với dữ liệu được đọc từ Project Server , và hệ thống không cần phải kiểm tra lại , đó là ràng buộc R1(trên các quan hệ CONG_VIEC_CHI_TIET và CONG_VIEC_TONG_THE, ràng buộc R6 (trừ chi phí đã xóa), và ràng buộc R7 5.2. Thiết kế phần mềm PMA 5.2.1. Hệ thống các lớp đối tượng PMA được thiết kế theo hướng đối tượng, và theo mô hình 3 lớp. KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 65 Có 3 nhóm lớp đối tượng chính : ƒ Nhóm giao diện : bao gồm các đối tượng màn hình và user control, chịu trách nhiệm giao tiếp với người sử dụng. ƒ Nhóm xử lý : bao gồm các đối tượng xử lý chính, chịu trách nhiệm nhận và xử lý thông tin được chuyển đến từ các đối tượng truy xuất dữ liệu, sau đó cung cấp dữ liệu đã qua xử lý cho các đối tượng giao diện hoặc ngược lại. ƒ Nhóm truy xuất dữ liệu : bao gồm các đối tượng chịu trách nhiệm truy xuất dữ liệu từ CSDL hoặc từ Project Server . a) Sơ đồ tổ chức các lớp đối tượng Sơ đồ sau thể hiện tổng thể tổ chức các lớp đối tượng bên trong phần mềm: Hình 5.2. Tổ chức hệ thống các lớp đối tượng bên trong PMA NSD Các lớp đối tượng màn hình và user control Các lớp đối tượng xử lý chính CSDL PMA Project Server Các lớp đối tượng truy xuất dữ liệu từ CSDL Các lớp đối tượng truy xuất dữ liệu từ Project Server KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 66 b) Danh sách một số lớp đối tượng quan trọng : - Các lớp đối tượng thuộc nhóm giao tiếp với NSD : (phần này chỉ nêu sơ lược một số user control, các màn hình giao diện sẽ được trình bày riêng trong phần 5.3) 1. CtrlReport : Là User control được sử dụng trên các màn hình thống kê. Chứa bên trong một lưới để hiển thị thông tin trong thống kê.Các đối tượng màn hình sử dụng lớp đối tượng này có thể tùy ý định dạng lại cho lưới dữ liệu tùy theo yêu cầu 2. CtrlTraCuuKeHoach : Là User control dùng để tra cứu kế hoạch. Chứa bên trong một lưới để hiển thị danh sách các bản kế hoạch chi tiết nhóm theo từng công việc tổng thể 3. CtrlTraCuuDuAn : Là User control dùng để tra cứu dự án. Chứa bên trong một lưới để hiển thị danh sách các dự án theo dạng cây với quan hệ dự án – dự án con 4. CtrlTraCuuNhanVien : Là User control dùng để tra cứu nhân viên - Các lớp đối tượng thuộc nhóm xử lý : Bên dưới là một số đối tượng xử lý quan trọng nhất 1. KeHoach : Lớp đối tượng kế hoạch, là lớp cơ sở cho các lớp đối tượng KHChiTiet và KHTongThe 2. KeHoachTongThe: Lớp đối tượng kế hoạch tổng thể, kế thừa lớp KeHoach 3. KeHoachChiTiet : Lớp đối tượng kế hoạch chi tiết, kế thừa lớp KeHoach 4. CongViec : Lớp đối tượng công việc, là lớp cơ sở cho các lớp đối tượng CongViecTongThe và CongViecChiTiet KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 67 5. CongViecTongThe : Lớp đối tượng Công việc tổng thể, kế thừa lớp CongViec 6. CongViecChiTiet : Lớp đối tượng Công việc chi tiết, kế thừa lớp CongViec 7. DSCongViec : Lớp đối tượng danh sách công việc. Mỗi đối tượng thuộc lớp này sẽ chứa một danh sách các thông tin chung về công việc (dạng record) 8. DSCongViecTongThe : Lớp đối tượng danh sách công việc tổng thể, kế thừa từ lớp đối tượng DSCongViec . 9. DSCongViecChiTiet : Lớp đối tượng danh sách công việc chi tiết, kế thừa từ lớp đối tượng DSCongViec . 10. PhanCong : Lớp đối tượng phân công. Mỗi đối tượng phân công chứa một tập (một danh sách) các thông tin phân công dưới dạng record 11. DuAn : Lớp đối tượng dự án. Mỗi đối tượng thuộc lớp này chứa thông tin về một dự án - Các lớp đối tượng thuộc nhóm truy xuất dữ liệu : trong bảng là các đối tượng truy xuất dữ liệu từ Project Server và một số đối tượng truy xuất dữ liệu từ CSDL của PMA 1. PrjSvr_KeHoach : Lớp đối tượng truy xuất dữ liệu chung của các project từ Project Server 2. PrjSvr_CongViec : Lớp đối tượng truy xuất dữ liệu công việc từ Project Server 3. PrjSvr_PhanCong : Lớp đối tượng truy xuất dữ liệu phân công từ Project Server KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 68 4. PrjSvr_NhanSu : Lớp đối tượng truy xuất danh sách nhân viên được phân công vào các công việc trong kế hoạch, chủ yếu là thông tin về mã và tên 5. PDSUtils : Hỗ trợ giao tiếp với Project Server thông qua PDS 6. TapDuLieu : Hỗ trợ truy xuất dữ liệu từ CSDL thông qua một kỹ thuật nhất định (như ADO.NET) 7. DLKeHoach : Truy xuất dữ liệu kế hoạch từ CSDL 8. DLCongViec : Truy xuất dữ liệu công việc từ CSDL 5.2.2. Một số hàm xử lý quan trọng của các đối tượng: Phần này trình bày một số hàm xử lý cơ bản và tương đối phức tạp của một số lớp đối tượng, chủ yếu là các đối tượng xử lý chính. a) Lớp DSCongViec STT Tên hàm/Ý nghĩa Tham số Kiểu trả về Thuật giải 1 DocDSCong ViecTuProject (đọc danh sách công việc từ Project) prjCV: PrjSvr_CongVi ec kh : KeHoach Data Table Dscv, temp : DataTable Temp = prjCV.DocDSCV( ) Sắp xếp các công việc trong temp theo thứ tự tăng dần của WBS (outline number) để đảm bảo các công việc con luôn nằm ngay sau cha của nó Dùng đệ qui, chuyển lần lượt các công việc từ temp vào dscv với những thông tin cần thiết và theo cấu trúc công việc - công việc con Trả về dscv KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 69 STT Tên hàm/Ý nghĩa Tham số Kiểu trả về Thuật giải 2 XuatDSCV (xuất danh sách công việc ra một control có thể thể hiện dữ liệu dạng lưới kết hợp với cây) Ctrl : Control DKLoc : String DongBD : int DongKT : int Level : int DSThuocTinh: string[] void Lọc các công việc trong record chứa danh sách công việc (m_DSCV) theo DKLoc, và sắp xếp theo thứ tự tăng dần của STT công việc. Dùng đệ qui, gán lần lượt các công việc đã lọc vào các node của Ctrl với những thuộc tính trong DSThuocTinh theo cấu trúc công việc - công việc con, bắt đầu từ dòng DongBD, cột CotBD, và mức Level của Ctrl. 3 TinhTong ChiPhi (Tính tổng một thuộc tính chi phí của một tập công việc) DKLoc : string TenThuocTinh : string decimal Lọc ra tập các công việc từ m_DSCV theo DKLoc. TongCP : decimal Với mỗi dòng i tương ứng với công việc lọc được: TongCP += m_DSCV[i][TenThuocTinh] Trả về TongCP 4 TinhNgayBD Chung (Tính thời điểm bắt đầu chung cho một tập công việc) Như trên Date Time Lọc ra tập các công việc từ m_DSCV theo DKLoc. NgayBD : DateTime Với i là dòng tương ứng với công việc được lọc đầu tiên : NgayBD = m_DSCV[i][TenThuocTinh] Với mỗi dòng i tương ứng với công việc lọc được: KH OA C NT T – Đ H KH TN Chương 5 : Thiết kế phần mềm 70 Nếu (NgayBD > m_DSCV[i][TenThuocTinh] ) NgayBD += m_DSCV[i][TenThuocTinh] Trả về NgayBD 5 TinhNgayKT Chung (Tính thời điểm kết thúc chung cho một tập công việc) Như trên Như trên Tương tự như hàm TinhNgayBDChung, chỉ thay đổi điều kiện gán NgayKT là NgayKT< m_DSCV[i][TenThuocTinh] ) 6 TinhTyLeTL HoanTat (tính tỷ lệ thời lượng đã làm so với thời lượng dự kiến của một tập công việc) DKLoc : string TenTTTLTT : string TenTTTLDK : string decimal Lọc ra tập các công việc từ m_DSCV theo DKLoc. SumDur, SumActDur : decimal Tính tổng thời lượng dự kiến SumDur của tập công việc lọc được theo thuộc tính TenTTTLTT Tính tổng thời lượng thực tế SumActDur của tập công việc lọc được theo thuộc tính TenTTTLDK Trả về SumActDur / SumDur KH OA C NT T – Đ H KH TN 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. } KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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: KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 1 2 3 KH OA C NT T – Đ H KH TN 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ê : KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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ê. KH OA C NT T – Đ H KH TN 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ế = ongDuKienTongthoilu ukienThoiluongDvi hucteThoiluongTvi i i ×∑ ∑ . . KH OA C NT T – Đ H KH TN 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 : KH OA C NT T – Đ H KH TN Chương 6 : Cài đặt và thử nghiệm 85 - 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: 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) KH OA C NT T – Đ H KH TN 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 : - 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: -- Project Data -- 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 : KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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. KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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. KH OA C NT T – Đ H KH TN 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. KH OA C NT T – Đ H KH TN 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. KH OA C NT T – Đ H KH TN 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. KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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ể KH OA C NT T – Đ H KH TN 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ể KH OA C NT T – Đ H KH TN 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) KH OA C NT T – Đ H KH TN 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) KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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ã KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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 KH OA C NT T – Đ H KH TN 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ú

Các file đính kèm theo tài liệu này:

  • pdfXâ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.pdf