Luận văn Phân tích và thiết kế hệ thống - Lê Ngọc Anh

Để hiểu được các yêu cầu về dự án phát triển hệ thống PMS của công ty Paragon Solution, ta cần phải xây dựng một hệ thống các câu hỏi yêu cầu có liên quan đến toàn bộ vấn đề cần giải quyết. Các câu hỏi này hầu hết đều là các câu hỏi trắc nghiệm và được phân ra là 2 mức độ: gồm các câu hỏi cho nhà quản lý, người giám sát và các câu hỏi dành cho các nhân viên.

doc24 trang | Chia sẻ: vietpd | Lượt xem: 1319 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Phân tích và thiết kế hệ thống - Lê Ngọc Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương IV: Phân Tích Và Thiết Kế Hệ Thống I./ Phân tích yêu cầu của dự án : Để hiểu được các yêu cầu về dự án phát triển hệ thống PMS của công ty Paragon Solution, ta cần phải xây dựng một hệ thống các câu hỏi yêu cầu có liên quan đến toàn bộ vấn đề cần giải quyết. Các câu hỏi này hầu hết đều là các câu hỏi trắc nghiệm và được phân ra là 2 mức độ: gồm các câu hỏi cho nhà quản lý, người giám sát và các câu hỏi dành cho các nhân viên. Đặc biệt đối với các nhà quản lý, các câu hỏi tập trung vào những vấn đề như: quản lý thông tin, tài nguyên nhân lực, bảo mật và chi phí cho hệ thống hiện tại. Các câu hỏi cho các nhân viên tập trung vào tính hữu dụng của hệ thống. II./ Yêu cầu về kiến trúc hệ thống : II. 1./ Mô hình xử lý : Sơ đồ dòng dữ liệu (DFD) được dùng mô tả các công việc xử lý như: lấy thông tin, lưu trữ, tạo những bảng báo cáo hay phân loại dữ liệu trong hệ thống, môi trường của hệ thống đó và giữa các thành phần trong phạm vi hệ thống đó. II. 2./ Sơ đồ ngữ cảnh hệ thống hiện tại: Sơ đồ ngữ cảnh (Hình 5) trình bày mối quan hệ giữa các thực thể bên ngoài với hệ thống hiện tại. Sơ đồ ngữ cảnh của hệ thống hiện tại gồm có: một tiến trình xử lý, không có kho dữ liệu, ba nguồn dữ liệu và hai dòng dữ liệu vào/ ra. Hình 5: Sơ đồ ngữ cảnh của hệ thống hiện tại Khi một người nhân viên cần một bản báo cáo thì nhân viên đó phải nhập các thông tin cá nhân vào hệ thống và sau đó chờ hệ thống kiểm tra nếu hợp lệ thì hệ thống sẽ trả về bản báo cáo như ý muốn của người nhân viên. Đối với các nhà quản lý hay giám sát, khi cần bản báo cáo tổng kết, hệ thống sẽ tổng kết báo cáo dựa trên các thông tin nhận được từ các nhân viên và sau đó đưa ra bản báo cáo cần thiết. Hầu hết các tiến trình xử lý trong hệ thống hiện tại đều không được thực hiện một cách tự động. Thực tế, các nhà quản lý, người giám sát và các nhân viên phải tự mình thực hiện các công việc đó. Qua sơ đồ ngữ cảnh, nhận thấy rằng dữ liệu thì bị trùng lặp và bị phân tán nhiều, mỗi người sử dụng đều có một cơ sở dữ liệu riêng của mình. Điều đó dẫn đến việc không đồng nhất cũng như tính sẵn sàng của dữ liệu trong hệ thống hiện tại. II. 3./ Các điểm hạn chế trong hệ thống hiện tại : Cơ sở dữ liệu không tập trung: Đối với hệ thống quản lý hiện tại thì cơ sở dữ liệu bị phân tán nhiều nơi không được xử lý tập trung. Hầu hết các dữ liệu thì được lưu trữ tại phòng nhân sự. Mỗi nhân viên có một mẫu đơn để điền các báo cáo. Không thể mở rộng: Hệ thống hiện tại thì thích hợp cho số lượng người sử dụng ít, khi số lượng người sử dụng tăng cao thì hệ thống hiện tại trở nên không bền vững, công việc quản lý trở nên phức tạp. Việc thực thi: Trong hệ thống hiện tại công việc được thực thi những yêu cầu một cách chậm chạp và không cung cấp dữ liệu đúng theo thời gian mong muốn của nhà quản lý. Sao lưu và phục hồi: trong hệ thống hiện tại công việc sao lưu dữ liệu rất phức tạp, và khi có sai sót trong việc quản lý thì phải mất nhiều ngày để khôi phục lại dữ liệu cũ. Giới hạn về thời gian và địa điểm: những người sử dụng không thể làm việc tại nhà hay tại nơi khác; hệ thống quản lý cũ giới hạn những người sử dụng chỉ có thể làm việc trong suốt thời gian họ ở văn phòng làm việc. II. 4./ Đặc tả hệ thống PMS : Hệ thống PMS là một ứng dụng được thực hiện trên nền tảng Web, được sử dụng với mục đích hỗ trợ cho các nhân viên của công ty Paragon Solution. Các nhân viên của công ty có thể làm việc, truy suất thông tin, báo cáo các công việc của mình vào các thời điểm dễ dàng hơn, giúp cho các nhà quản lý có thể xem báo cáo của nhân viên nhanh chóng và theo dõi công việc một cách chặt chẽ hơn. Hệ thống PMS được xây dựng phục vụ cho việc quản lý nhân sự, các dự án, các công việc của nhân viên công ty. Để sử dụng hệ thống người dùng phải nhập vào Username, Password. Có 4 nhóm người có thể sử dụng hệ thống này: Employee, Supervisor, Manager và người quản trị hệ thống “Administrator “. Hệ thống PMS quản lý nhiều nhân viên, dự án, khách hàng. Một nhân viên có thể tham gia vào nhiều dự án và một dự án có sự tham gia của nhiều nhân viên; một Employee có quyền xem các thông tin cá nhân, thực hiện các báo cáo theo mẫu có sẵn tiến độ công việc của mình; một Supervisor có nhiều nhân viên thuộc cấp, có quyền giao công việc cho các nhân viên thuộc cấp của mình và giám sát tiến độ thực hiện công việc của các nhân viên, nhưng một nhân viên chỉ thuộc quyền giám sát của một Supervisor. Manager có quyền thêm dự án, lập kế hoạch cho các dự án, yêu cầu các báo cáo tổng hợp từ những báo cáo của Employee. Hệ thống có thể tạo ra những bản báo cáo từ những yêu cầu của Supervisor, Manager về tiến trình thực hiện các dự án, đánh giá hiệu suất công việc và có thể xuất những báo cáo đó ra dưới dạng văn bản hay bảng tính tùy theo ý muốn của nhà quản lý. II. 5./ Xác định các yêu cầu trong hệ thống PMS : Các yêu cầu trong hệ thống mới được chia theo các nhóm chức năng sau đây: Yêu cầu về chức năng: Hệ thống cần có khả năng tìm kiếm dữ liệu theo những thông tin mà User nhập vào. Các nhân viên có thể truy suất các thông tin cá nhân và nhập vào các hoạt động hàng ngày thông qua một số mẫu đơn có sẵn. Các giám sát viên có thể nhập các đánh giá công việc thông qua những mẫu đơn có sẵn. Sau khi các dữ liệu điền vào trong các mẫu đơn có sẵn sẽ được lưu vào kho dữ liệu bởi hệ quản trị cơ sở dữ liệu như: Oracle, SQL Server, My SQL … Các nhân viên có thể lựa chọn truy suất từng thành phần của dữ liệu một cách linh hoạt (Ví dụ như hoạt động của một nhân viên trong một khoảng thời gian nhất định) trong cơ sở dữ liệu. Người sử dụng có thể truy cập vào hệ thống thông qua mạng Internet bất cứ lúc nào và bất kỳ ở đâu. Các nhân viên có thể xem tất cả các hoạt động hằng ngày hay lịch làm việc của họ. Các nhà quản lý hay giám sát viên có thể yêu cầu các báo cáo tổng kết các hoạt động của mỗi nhân viên. Hệ thống phải có một số lựa chọn cho việc quản lý các báo cáo để có thể đưa ra các thông tin quyết định đúng đắn. Hệ thống phải cung cấp khả năng tìm kiếm dựa theo các tiêu chuẩn nhất định do người sử dụng đưa vào: tìm kiếm nhân viên, dự án, thời gian bắt đầu, thời gian kết thúc … Yêu cầu an toàn của hệ thống: Xác định chính xác người đăng nhập vào hệ thống. Không cho phép nguời không có quyền hạn truy cập vào hệ thống. Hệ thống phải cung cấp một phạm vi quyền truy cập cho những nhóm người khác nhau. Ví dụ: mỗi nhân viên chỉ có thể truy suất vào các hoạt động, thông tin cá nhân của mình và không thể truy cập vào thông tin của những người khác. Tương tự đối với các giám sát viên chỉ có thể truy cập vào các thông tin hoạt động của mỗi người. Hệ thống cần phải có đầy đủ các chức năng bảo mật và quản lý an toàn cơ sở dữ liệu trên mạng Internet. Việc truyền dữ liệu cần phải được bảo đảm an toàn. Hệ thống có khả năng tự động lưu lại các thông tin của khách truy cập đến: tài khoản, số lần truy cập, những câu truy vấn …) để có thể truy tìm theo dấu vết những khi cần thiết. Yêu cầu thực thi: Hệ thống cơ sở dữ liệu được thiết kế trên trang Web phải có hỗ trợ môi trường nhiều người dùng. Thời gian đáp ứng của hệ thống trong môi trường mạng khi có yêu cầu không quá 5 giây. Yêu cầu tiện dụng: Thiết kế giao diện của hệ thống phải thuận tiện cho việc chuyển đổi giữa các cửa sổ làm việc. Giới hạn của hệ thống cũ sẽ được xoá bỏ và không có sự nhằm lẫn giữa hệ thống mới với hệ thống cũ. Việc trợ giúp trực tuyến sẵn sàng hỗ trợ cho các khách hàng. Yêu cầu sao lưu và khôi phục: Công việc sao lưu dữ liệu cần phải được thực hiện mỗi tuần. Cần có một ứng dụng sao lưu hệ thống để xử lý các ứng dụng hệ thống chính bị hỏng. Sự so sánh giữa hệ thống hiện tại và hệ thống mới : Hệ thống hiện tại Hệ thống mới Tất cả các hoạt động trong hệ thống hiện tại đều thực hiện bằng tay. Các hoạt động đều thực hiện trên các trang Web. Các báo cáo thực hiện trên giấy. Các báo cáo thực hiện tự động. Cơ sở dữ liệu không tập trung. Cơ sở dữ liệu tập trung. Hình 9: So sánh hai hệ thống. Sau khi xem xét và phân tích các vấn đề một các toàn diện, chúng tôi có thể đưa ra một hệ thống mới – PMS, được mô tả bởi sơ đồ ngữ cảnh sau đây: Hình 6: Sơ đồ ngữ cảnh của hệ thống mới. III./ Xây dựng các lược đồ dòng dữ liệu DFD: (Xem tiếp phân tích Use Case trong phụ lục A) Trong hệ thống mới thì nhân viên, người giám sát, người quản lý và người quản trị hệ thống được nhập lại thành một thành phần đó là “USER”. Cũng như yêu cầu của hệ thống người sử dụng phải có quyền đăng nhập vào hệ thống. Những yêu cầu và những báo cáo sẽ thay đổi tùy thuộc vào người sử dụng, chẳng hạn như: nhân viên, người giám sát, người quản lý, người quản trị hệ thống. Hình 7: DFD Mức 0 Tiến trình 1.0 Lấy thông tin về UserID và Password từ cơ sở dữ liệu để kiểm tra xem nếu đúng thì đăng nhập vào hệ thống. Nếu không đăng nhập được thì xuất ra thông báo lỗi cho người sử dụng. Tiến trình 2.0 Xử lý tất cả các yêu cầu của User. Quá trình này được thực hiện khi nhận UserID và Password đúng từ tiến trình 1.0. Tiến trình 3.0 Xuất những báo cáo mà User cần. Hình 8: level 1 – DFD của tiến trình 1.0 Tiến trình 1.1 Lấy UserID và Password, sau đó gửi UserID và Password đến tiến trình 1.2. Tiến trình 1.2 Kiểm tra xem nếu thông tin đúng thì gởi UserID và Password đến tiến trình 2.0, ngược lại thì gởi thông báo lỗi đến cho User. Hình 9: DFD mức 1 của tiến trình 2.0 Tiến trình 2.1 Lấy các thông tin về nhân viên, quyền truy cập, thông tin bảo mật dựa vào UserID và Password để xác định quyền của User tác động được gì trên hệ thống. Tiến trình 2.2 Những yêu cầu của Employee. Tiến trình 2.3 Những yêu cầu của Supervisor. Tiến trình 2.4 Những yêu cầu của Manager. Tiến trình 2.5 Những yêu cầu của Administrator. Hình 10: DFD mức 2 của tiến trình 2.2 Những yêu cầu của nhân viên ở mức này được chia thành hai loại: yêu cầu cập nhật và yêu cầu báo cáo. Tiến trình 2.2.1 Nhận yêu cầu cập nhật thông tin từ nhân viên. Những yêu cầu này có thể là các hoạt động hàng ngày của mình, thông tin cá nhân hay những chi phí trong quá trình tiến hành dự án. Tiến trình này cần lấy thông tin từ cơ sở dữ liệu và chuyển các thông tin cập nhập đến các tiến trình 2.2.3, 2.2.2, 2.2.5. Tiến trình 2.2.2 Cập nhật dữ liệu vào bảng Employee. Tiến trình 2.2.3 Cập nhật dữ liệu vào bảng WorkReport. Tiến trình 2.2.5 Cập nhật dữ liệu vào bảng CostReport. Tiến trình 2.2.4 Nhận các yêu cầu báo cáo từ nhân viên sau đó kết hợp với thông tin các bảng Project, Phase, Activity, Employee, Workreport và CostReport để có được dữ liệu cần cho nhân viên. Hình 11: DFD mức 2 của tiến trình 2.4 Các yêu cầu của Supervisor ở mức này được chia thành hai loại: yêu cầu cập nhật và yêu cầu báo cáo. Tiến trình 2.4.1 Nhận các yêu cầu cập nhật những dự án từ Supervisor. Một Supervisor có thể quản lý nhóm cho dự án của mình. Họ cũng có thể quản lý theo cụm công việc, các hoạt động cho dự án. Dựa trên những thông tin trên các bảng Employee, Phase, Activity và Project tiến trình này chuyển dữ liệu cho tiến trình 2.4.2. Tiến trình 2.4.2 Cập nhật dữ liệu cho bảng Project. Tiến trình 2.4.3 Nhận yêu cầu báo cáo từ Supervisor, kết hợp với các thông tin từ các bảng Project, Phase, Activity, Employee, Workreport, CostReport để kết xuất dữ liệu trả về cho Supervisor. Hình 12: DFD mức 2 của tiến trình 2.3 Các yêu cầu của Manager tại mức này được chia thành hai loại: yêu cầu cập nhật và yêu cầu báo cáo. Tiến trình 2.3.1 Nhận những yêu cầu từ người quản lý cho công việc cập nhật chẳng hạn như thông tin về nhân viên, về quyền truy cập hệ thống và những hợp đồng. Tiến trình này lấy thông tin từ các bảng Security Profile, Employee, Contract để cập nhật thông tin cho tiến trình 2.3.2. Tiến trình 2.3.2 Cập nhật dữ liệu cho bảng Contract và Employee. Tiến trình 2.3.3 Nhận những yêu cầu báo cáo từ người quản lý sau đó kết hợp với thông tin từ các bảng Project, Phase, Activity, Employee, Workreport, CostReport để tạo báo cáo cho người quản lý biết được công việc của cấp dưới cũng như hiểu các thông tin về dự án. Hình 13: DFD mức 2 của tiến trình 2.5 Quản trị viên là người có quyền cao nhất trong hệ thống. Anh ấy có thể sửa đổi, thêm mới và xoá dữ liệu quan trọng trong hệ thống. Tiến trình 2.5.1 Nhận yêu cầu cập nhật dữ liệu từ quản trị viên. Dựa trên thông tin từ các bảng Employee, Project, Customer, Access Right và Security Profile tạo ra những thông tin cho tiến trình 2.5.2. Tiến trình 2.5.2 Cập nhật dữ liệu cho bảng Employee, Project, Customer, Access Right, Security Profile phụ thuộc vào thông tin chỉ định. Hình 14: DFD mức 1 của tiến trình 3.0 Tiến trình 3.1 Định dạng lại báo cáo dựa trên dữ liệu tổng hợp đã nhận được. Tiến trình 3.2 Xuất báo cáo được yêu cầu cho người sử dụng. Mô hình luận lý (Process description and Structured English) Chúng em dùng cấu trúc mã giả để thể hiện công việc xử lý bên trong và chức năng của những tiến trình hệ thống mới trong mô hình DFD như sau: Tiến trình 1.0: Xác nhận người sử dụng. READ User ID and Password FIND nhân viên hợp lệ. IF nhân viên này tồn tại THEN SEND User ID và Password hợp lệ ELSE SEND gửi một thông báo lỗi cho người sử dụng. END IF Tiến trình 2.1: Xác nhận yêu cầu của người sử dụng. READ yêu cầu và User ID, Password hợp lệ FIND nhân viên thỏa. FIND Thỏa về bảo mật. FIND Thỏa về quyền truy cập. IF có mẫu tin thỏa THEN SEND User Request ELSE DO nothing END IF Tiến trình 2.2: Xử lý yêu cầu của nhân viên READ Yêu cầu của nhân viên IF (yêu cầu là cập nhật) THEN SELECT CASE CASE 1: (yêu cầu cập nhật bảng activity) RETRIEVE Thông tin bảng Project RETRIEVE Thông tin bảng Phase RETRIEVE Thông tin bảng Activity RETRIEVE Thông tin bảng Employee PRODUCE Cập nhật thông tin activity CASE 2: (Yêu cầu cập nhật bảng CostReport) RETRIEVE thông tin bảng information RETRIEVE thông tin bảng Phase RETRIEVE Thông tin bảng Activity RETRIEVE thông tin bảng Employee PRODUCE cập nhật bảng CostReport CASE 3: (Yêu cầu cập nhật bảng Employee) RETRIEVE thông tin bảng Employee PRODUCE cập nhật thông tin nhân viên END CASE ELSE IF (yêu cầu báo cáo) THEN RETRIEVE thông tin bảng Project RETRIEVE thông tin bảng Phase RETRIEVE thông tin bảng Activity RETRIEVE thông tin bảng Employee RETRIEVE thông tin bảng Work Report RETRIEVE thông tin bảng Cost Report PRODUCE Kết xuất dữ liệu END IF END IF Tiến trình 2.4: Xử lý yêu cầu của người giám sát(supervisor) READ Yêu cầu của người giám sát (supervisor) IF (yêu cầu cập nhật) THEN RETRIEVE thông tin bảng Project RETRIEVE thông tin bảng Phase RETRIEVE thông tin bảng Activity RETRIEVE thông tin bảng Employee PRODUCE cập nhật bảng project ELSE IF (yêu cầu báo cáo) THEN RETRIEVE thông tin bảng Project RETRIEVE thông tin bảng Phase RETRIEVE thông tin bảng Activity RETRIEVE thông tin bảng Employee RETRIEVE thông tin bảng Work Report RETRIEVE thông tin bảng Cost Report PRODUCE kết xuất dữ liệu END IF END IF Tiến trình 2.3: Yêu cầu của người quản lý READ yêu cầu của người quản lý IF (yêu cầu cập nhật) THEN IF (yêu cầu cập nhật bảng employee và security) THEN RETRIEVE Employee information RETRIEVE thông tin bảng Security Profile PRODUCE cập nhật bảng Employee ELSE RETRIEVE thông tin bảng Employee RETRIEVE thông tin bảng Contract PRODUCE cập nhật bảng contract END IF ELSE IF (yêu cầu báo cáo) THEN RETRIEVE thông tin bảng Project RETRIEVE thông tin bảng Phase RETRIEVE thông tin bảng Activity RETRIEVE thông tin bảng Employee RETRIEVE thông tin bảng Work Report RETRIEVE thông tin bảng Cost Report PRODUCE kết xuất dữ liệu END IF END IF Tiến trình 2.5: Xử lý yêu cầu của quản trị viên READ yêu cầu của Administrator SELECT CASE CASE 1: (yêu cầu cập nhật Employee) RETRIEVE thông tin bảng Employee SELECT CASE CASE 1: (tạo mới) CREATE nhân viên mới CASE 2: (sửa) MODIFY nhân viên CASE 3: (xóa) DELETE nhân viên END CASE CASE 2: (yêu cầu cập nhật project) RETRIEVE dự án SELECT CASE CASE 1: (tạo mới) CREATE dự án mới CASE 2: (sửa) MODIFY dự án CASE 3: (xóa) DELETE dự án END CASE CASE 3: (yêu cầu cập nhật bảng customer) RETRIEVE khách hàng SELECT CASE CASE 1: (tạo mới) CREATE khách hàng mới CASE 2: (sửa) MODIFY khách hàng CASE 3: (xóa) DELETE khách hàng END CASE CASE 4: (yêu cầu cập nhật access right) RETRIEVE quyền truy cập SELECT CASE CASE 1: (tạo mới) CREATE quyền truy cập mới CASE 2: (sửa) MODIFY quyền truy cập CASE 3: (xóa) DELETE quyền truy cập END CASE CASE 5: (yêu cầu cập nhật bảng bảo mật hệ thống) RETRIEVE bảo mật hệ thống SELECT CASE CASE 1: (tạo mới) CREATE loại bảo mật mới CASE 2: (sửa) MODIFY bảo mật CASE 3: (xóa) DELETE bảo mật END CASE END CASE Tiến trình 3.0: Tổng kết báo cáo READ dữ liệu đã tổng kết FORMAT dữ liệu đã tổng kết CREATE báo cáo IV./ Mô hình dữ liệu mức khái niệm (ERD) : Hình 3.14 Mô hình ERD Mô hình dữ liệu mức khái niệm thì không bị phụ thuộc vào bất kỳ hệ quản trị cơ sở dữ liệu nào, và cũng được sử dụng để thể hiện nội dung và cấu trúc của kho dữ liệu trong mô hình dòng dữ liệu. Chúng ta sử dụng mô hình quan hệ thực thể để tạo mô hình này. Trong hệ thống mới, một nhân viên (Employee) được quản lý bởi chỉ một người giám sát (supervisor). Một người quản lý (Manager) sẽ quản lý một hay nhiều người giám sát (Supervisor). Còn một người quản trị sẽ quản lý nhiều người quản lý. Cho nên, chúng ta có quan hệ 1: N của những thực thể trong Employee. Một nhân viên có thể có nhiều hợp đồng, một hợp đồng phải của một nhân viên cụ thể. Do đó, ta có quan hệ 1: N giữa Employee và Contract. Mỗi hợp đồng chỉ thuộc một loại duy nhất. Do đó, có quan hệ 1: N giữa Contract và ContractType. Mỗi nhân viên thì được gán cho chỉ một tình trạng bảo mật. Một tình trạng bảo mật thì được áp dụng cho nhiều nhân viên hay không người nào cả. Cho nên, có quan hệ 1: N giữa Security Profile và Employee. Mỗi tình trạng bảo mật có thể có nhiều quyền truy cập. Mỗi quyền truy cập thuộc chỉ một tình trạng bảo mật. Do đó, có quan hệ 1: N giữa Security Profile và Access Right. Bởi vì mỗi nhân viên phải báo cáo những hoạt động hằng ngày của họ, cho nên một nhân viên có nhiều báo cáo công việc. Mỗi bảng báo cáo công việc chỉ thuộc một nhân viên duy nhất. Do đó, có quan hệ 1: N giữa Employee và Work Report. Một nhân viên có thể giữ một phần công việc trong nhiều dự án, và một dự án thì được thực hiện bởi một nhóm nhân viên. Do đó, ta có quan hệ N: N giữa Employee và Project. Một thực thể kết hợp để thể hiện mối quan hệ này được đặt tên là Join. Một nhân viên với tư cách là người giám sát thì quản lý một hay nhiều dự án. Và mỗi dự án chỉ được quản lý bởi một người giám sát (Supervisor). Cho nên có quan hệ 1:N giữa Employee và Project. Một dự án được chia thành một hay nhiều giai đoạn thực hiện (phase), và mỗi giai đoạn thuộc một dự án duy nhất. Do đó, có quan hệ 1: N giữa Project và Phase. Trong một giai đoạn có một số hoạt động. Ngoài ra, mỗi hoạt động có thể là một phần của một hay nhiều giai đoạn. Do đó, có quan hệ N: N giữa Phase và Activity. Trong trường hợp này, chúng ta sử dụng một thực thể liên kết có tên là Composed of. Một khách hàng có thể đặt một hay nhiều dự án, và mỗi dự án được đặt bởi một khách hàng. Do đó, có quan hệ 1: N giữa Customer và Project. Một dự án có thể không có hoặc có nhiều ghi chú, và mỗi ghi chú đó của duy nhất một dự án. Do đó có quan hệ 1: N giữa Project và Project Note. Trong thời gian thực hiện dự án, không thể đoán trước được những chi phí có thể phát sinh. Trong hệ thống mới, một nhân viên có thể không có hoặc có nhiều báo cáo về chi phí, trong đó anh ta báo cáo chi tiết về số tiền chi tiêu cho dự án mà anh ta đang làm. Do đó có quan hệ 1: N giữa Employee và CostReport. Một dự án có thể không hoặc có nhiều báo cáo chi phí. Mỗi báo cáo chi phí chỉ thuộc một dự án. Do đó có quan hệ 0: N giữa Project và CostReport. V./ Thiết kế cơ sở dữ liệu : ( Xem tiếp Data Dictionary trong phụ lục B ) Các đối tượng chính trong hệ thống PMS gồm có: Customer, Employee, Activity, Phase, Project. Tất cả ngườ