Phương pháp thực hiện
Công nghệ sử dụng
React, hay còn gọi là ReactJS hoặc React.js, là một thư viện mã nguồn mở bằng Javascript dùng để phát triển các thành phần giao diện người dùng, cho phép tái sử dụng các thành phần này Được phát triển vào năm 2013 bởi Jordan Walk, một kỹ sư phần mềm của Facebook, React đã trở thành công cụ phổ biến trong việc xây dựng ứng dụng web hiện đại.
Thư viện này hiện đang thu hút sự chú ý lớn từ cộng đồng, nhờ vào việc bảo trì từ Facebook và Instagram, cùng với sự hỗ trợ từ các lập trình viên tài năng trên toàn thế giới.
3.1.1.2 Phần chính của ReactJS là gì:
Virtual DOM là công nghệ giúp nâng cao hiệu suất cho ứng dụng bằng cách chỉ giữ trạng thái ở node gốc Khi trạng thái này thay đổi, toàn bộ cấu trúc sẽ được tái tạo, ảnh hưởng đến tốc độ xử lý của DOM tree ReactJS áp dụng Virtual DOM để giải quyết vấn đề này Virtual DOM là một đối tượng JavaScript chứa đầy đủ thông tin cần thiết để tạo ra một DOM Khi dữ liệu thay đổi, nó sẽ tính toán sự khác biệt giữa đối tượng và DOM thực, từ đó tối ưu hóa quá trình re-render cho DOM tree thực.
Redux là một phần quan trọng không thể thiếu trong ReactJS, mà mọi người sử dụng đều cần biết đến Do React không có cấu trúc module chuyên dụng để quản lý dữ liệu, nên nó được thiết kế độc lập bằng cách chia nhỏ các view thành các component.
React sử dụng cơ chế one-way data binding, cho phép dữ liệu được truyền từ parent đến child qua props Luồng dữ liệu một chiều này giúp dễ dàng kiểm soát và sửa lỗi, làm cho React trở thành lựa chọn lý tưởng để xây dựng các ứng dụng lớn với dữ liệu thay đổi liên tục theo thời gian Khi dữ liệu thay đổi, giao diện cũng thường thay đổi theo, như trong trường hợp của Facebook với nhiều trạng thái khác nhau và số lượt tương tác biến động Do đó, React rất hữu ích cho các dự án yêu cầu cập nhật dữ liệu thường xuyên.
JSX là một dạng ngôn ngữ cho phép viết các mã HTML trong phép viết các mã HTML trong Javascrip
Có một số đặc điểm chính như:
JSX tối ưu hóa quá trình biên dịch sang mã Javascript, mang lại hiệu suất nhanh hơn so với các ngôn ngữ khác Đoạn code viết bằng JSX có thời gian thực hiện nhanh hơn so với các đoạn code tương tự được viết trực tiếp bằng Javascript.
JSX an toàn hơn Javascript vì nó là kiểu statically-typed, cho phép biên dịch trước khi chạy, tương tự như C++ và Java, giúp phát hiện lỗi ngay trong quá trình biên dịch Thêm vào đó, JSX hỗ trợ tính năng debug, làm cho việc sửa lỗi trở nên dễ dàng và nhanh chóng hơn.
- Easier: JSX kế thừa dựa trên javascript, vì vậy rất dễ dàng để cho các lập trình viên có thể tham khảo và ứng dụng
React được xây dựng dựa trên các component thay vì các template như các framework khác, cho phép chúng ta tạo ra trang web từ những thành phần nhỏ có thể tái sử dụng ở nhiều nơi với các trạng thái và thuộc tính khác nhau Mỗi component trong React có trạng thái riêng, có thể thay đổi, và React sẽ tự động cập nhật component dựa trên những thay đổi này Việc sử dụng component giúp đơn giản hóa quá trình bảo trì code trong các dự án lớn Một component cơ bản trong React chỉ cần một phương thức render, mặc dù còn nhiều phương thức khác có sẵn, nhưng render là phương thức chính.
Props là các thuộc tính giúp các component trong ứng dụng tương tác với nhau Component nhận input gọi là props và sẽ trả về các thuộc tính mô tả nội dung mà component con sẽ hiển thị Đặc biệt, props là bất biến, nghĩa là chúng không thể thay đổi sau khi được truyền vào component.
- State: Thể hiện trạng thái của ứng dụng, khi state thay đổi thì component đồng thời render lại để cập nhật UI
React là một thư viện hấp dẫn, được xây dựng trên nền tảng các cấu trúc phức tạp nhưng lại dễ sử dụng và tích hợp vào nhiều ứng dụng khác nhau Bên cạnh đó, React còn cung cấp thư viện React Native, cho phép thiết kế các ứng dụng native một cách hiệu quả.
NodeJS là một nền tảng mã nguồn mở, đa nền tảng, được phát triển dựa trên động cơ V8 Javascript của Chrome và được viết bằng C, C++ và Javascript Được giới thiệu lần đầu bởi Ryan Dahl vào năm 2009, NodeJS sử dụng kiến trúc event-driven cùng với cơ chế non-blocking I/O, mang lại hiệu suất cao cho các ứng dụng.
- Dễ dàng nâng cấp, mở rộng hệ thống
- Phù hợp cho các hệ thống giao tiếp, mạng xã hội,… cần luồng xử lý thông tin liên tục real-time
- Node Package Manager cung cấp nhiều thư viện miễn phí để nâng cấp các chức năng bổ sung
- V8 Javascript engine có tốc độ thực thi nhanh
- Rút ngắn thời gian phát triển hệ thống, đưa hệ thống tiếp cận người dùng cuối nhanh hơn
Cơ chế non-blocking trong NodeJS, mặc dù hiệu quả cho các tác vụ nhẹ, có thể tạo ra nút thắt cổ chai và tiêu tốn tài nguyên CPU Do đó, NodeJS không phải là lựa chọn lý tưởng cho việc xử lý các tác vụ nặng.
- Thư viện NPM phong phú đồng thời cũng là nhược điểm, do khó kiểm soát chất lượng của từng thư viện
- Thường xuyên cập nhật, thay đổi API tuy nhiên không hỗ trợ tương thích ngược với các phiên bản cũ
- Số lượng lập trình viên có kinh nghiệm với NodeJS còn thấp
3.1.2.4 Một số framework NodeJS nổi tiếng:
ExpressJS là framework phổ biến nhất để xây dựng API trong NodeJS, cung cấp nhiều tính năng mạnh mẽ cho phát triển web Nó hỗ trợ các phương thức HTTP, middleware và routing, giúp tạo ra các API mạnh mẽ và dễ sử dụng.
SocketIO là một thư viện web-socket được thiết kế để tạo ra môi trường trao đổi dữ liệu thời gian thực giữa client và server, tương tự như các ứng dụng giao tiếp và cộng tác như Google Docs.
HapiJS là một framework đơn giản, an toàn và đáng tin cậy, cho phép chúng ta phát triển các ứng dụng mạnh mẽ và dễ dàng mở rộng.
Mô hình kiến trúc hệ thống
Hình 3.4 Mô tả mô hình kiến trúc hệ thống
Phân tích và thiết kế hệ thống
Phân tích yêu cầu hệ thống
Nhân viên công ty (Member)
- Quản lý thông tin cá nhân
- Quản lý công việc cá nhân
- Giao tiếp với các đồng nghiệp khác qua hệ thống giao tiếp nội bộ
- Xem được thông tin dự án mình đang tham gia
- Xem được thông tin phòng ban của mình
- Quản lý thông tin cá nhân
- Quản lý thông tin cá nhân thuộc đội nhóm mình quản lý
- Quản lý công việc cá nhân
- Quản lý công việc của cá nhân thuộc đội nhóm mình quản lý
- Chia task, theo dõi tiến độ công việc của thành viên trong nhóm
- Xem được thông tin dự án mình đang tham gia
- Xem được thông tin phòng ban của mình
- Giao tiếp với đồng nghiệp qua hệ thống giao tiếp nội bộ
- Quản lý thông tin cá nhân
- Quản lý thông tin cá nhân thuộc phòng ban mình quản lý
- Quản lý nhân sự thuộc phòng ban mình quản lý
- Quản lý công việc cá nhân
- Quản lý công việc của cá nhân thuộc phòng ban mình quản lý
- Chia task, theo dõi tiến độ công việc của thành viên thuộc phòng ban mình quản lý
- Đánh giá nhân sự thuộc phòng ban mình quản lý
- Quản lý thông tin các dự án thuộc phòng ban mình quản lý
- Xây dựng quy trình công việc cho phòng ban mình quản lý
- Giao tiếp với đồng nghiệp qua hệ thống giao tiếp nội bộ
- Quản lý thông tin cá nhân
- Quản lý thông tin cá nhân thuộc các phòng ban mình quản lý
- Quản lý nhân sự thuộc các phòng ban mình quản lý
- Quản lý công việc cá nhân
- Quản lý công việc của cá nhân thuộc các phòng ban mình quản lý
- Chia task, theo dõi tiến độ công việc của thành viên thuộc phòng ban mình quản lý
- Đánh giá nhân sự thuộc các phòng ban mình quản lý
- Quản lý thông tin các dự án thuộc các phòng ban mình quản lý
- Xây dựng quy trình công việc cho các phòng ban mình quản lý
- Giao tiếp với đồng nghiệp qua hệ thống giao tiếp nội bộ
- Quản lý thông tin công ty trên hệ thống
- Quản lý toàn bộ nhân viên trong công ty
- Quản lý toàn bộ phòng ban trong công ty
- Có thể chia task và theo dõi công việc của toàn bộ nhân viên trong công ty
- Đánh giá nhân sự toàn bộ nhân viên trong công ty
- Xây dựng bộ quy trình làm việc chung cho toàn bộ công ty
- Giao tiếp với đồng nghiệp qua hệ thống giao tiếp nội bộ
- Quản lý công việc cá nhân
Người dùng có thể quản lý thông tin công ty bằng cách đăng ký, chỉnh sửa và xóa các tài nguyên được cấp, bao gồm cơ sở dữ liệu lưu trữ thông tin nhân sự, dự án và phòng ban Hệ thống giao tiếp nội bộ được thiết lập cho từng tài khoản công ty đã đăng ký.
Quản lý thông tin nhân sự cho phép người dùng dễ dàng thêm, sửa, và xoá thông tin cá nhân của nhân viên trong công ty, bao gồm họ tên, lý lịch, trình độ học vấn, thông tin bảo hiểm, mã số thuế, lương, thưởng và phép năm Hệ thống cũng hỗ trợ theo dõi quá trình làm việc của nhân viên, bao gồm năng suất, đánh giá định kỳ, lịch sử xét tăng lương và thăng chức, giúp tối ưu hóa quản lý nhân sự hiệu quả.
Quản lý phòng ban trong công ty cho phép người dùng dễ dàng thêm, sửa, và xóa thông tin về các phòng ban Bên cạnh đó, người dùng có thể bổ sung thông tin nhân sự thuộc từng phòng ban, thiết lập quyền quản lý cho các phòng ban, cũng như quản lý các dự án liên quan đến phòng ban đó.
Người dùng có khả năng giao nhiệm vụ cho nhân sự cụ thể và theo dõi tiến độ công việc một cách hiệu quả.
Đánh giá nhân sự là quá trình quan trọng, có thể được thực hiện theo kế hoạch định sẵn hàng tháng, hàng quý hoặc hàng năm Thông tin về đánh giá nhân sự sẽ được lưu trữ để phục vụ cho việc theo dõi và cải thiện hiệu suất làm việc.
- Xây dựng quy trình doanh nghiệp: Có thể xây dựng được quy trình làm việc cho từng dự án, công việc khác nhau
Quản lý dự án cho phép người dùng theo dõi và quản lý thông tin chi tiết về các dự án của công ty, bao gồm tên dự án, đối tác, tiến độ, thời gian bắt đầu, thời gian dự kiến hoàn thành, tài nguyên liên quan và nhân sự tham gia Người dùng có thể dễ dàng thêm, chỉnh sửa hoặc xoá bỏ thông tin dự án khi cần thiết.
Hệ thống giao tiếp nội bộ là công cụ quan trọng giúp cải thiện sự liên lạc trong môi trường công ty Mỗi nhân viên được cấp một tài khoản định danh riêng, cho phép họ tham gia vào các hoạt động và tương tác hiệu quả trong hệ thống.
4.1.3 Yêu cầu phi chức năng: Ứng dụng có giao diện thân thiện, hiện đại, dễ sử dụng, tốc độ phản hồi tốt Nghiệp vụ được tối giản hoá Hoạt động tốt trên môi trường web Đáp ứng đầy đủ các yêu cầu về bảo mật và nghiệp vụ.
Thiết kế hệ thống
Hình 4.1 Sơ đồ tổ chức, phân cấp trong doanh nghiệp
4.2.2 Sơ đồ phân rã chức năng:
Hình 4.2 Sơ đồ phân rã chức năng của ứng dụng
4.2.4 Lược đồ và bảng cơ sở dữ liệu:
4.2.4.1 Lược đồ cơ sở dữ liệu
Hình 4.4 Lược đồ cơ sở dữ liệu
4.2.4.2 Chi tiết thiết kế bảng CSDL
Mô tả: Lưu thông tin về phòng ban
STT Tên Kiểu Ràng buộc Ý nghĩa
1 Id Int Not null Id của phòng ban
2 Name Varchar Not null Tên của phòng ban
3 Manager Nvarchar Not null Tên của người quản lý phòng ban
4 isDeleted Boolean Not null Cơ giúp xác định đối tượng có đang bị xoá hay không
Bảng 4.1 Chi tiết bảng Department
Mô tả: Lưu thông tin về Quy trình
STT Tên Kiểu Ràng buộc Ý nghĩa
1 Id Int Not null Id của quy trình
2 Name Varchar Not null Tên quy trình
3 AmountOfTask Int Số lượng task
4 isDeleted Boolean Not null Cờ giúp xác định đối tượng có đang bị xoá không
Bảng 4.2 Chi tiết bảng Procedure
Mô tả: Lưu thông tin về tài khoản có trong hệ thống
STT Tên Kiểu Ràng buộc Ý nghĩa
1 Id Int Not null Id của tài khoản
2 Username Varchar Not null Tên tài khoản
3 Password Varchar Mật khẩu đăng nhập vào hệ thống
4 EmplyeeID Int Not null Tham chiếu đến nhân viên tương ứng
5 accessRole Int Not null Quyền đăng nhập của tài khoản vào hệ thống
6 isDeleted Boolean Not null Cờ giúp xác định đối tượng có đang bị xoá không
Bảng 4.3 Chi tiết bảng Account
Mô tả: Lưu thông tin về dự án
STT Tên Kiểu Ràng buộc Ý nghĩa
1 Id Int Not null Id của dự án
2 Name Varchar Not null Tên dự án
3 Timestart DateTime Not null Thời gian khởi công
4 Duration Time Stamp Not null Thời lượng dự kiến
5 TimeEnd DateTime Not null Thời gian kết thúc dự kiến
6 departmentID Int Not null Tham chiếu đến phòng ban đang quản lý dự án
7 isDeleted Boolean Not null Cờ giúp xác định đối tượng có đang bị xoá không
Bảng 4.4 Chi tiết bảng Project
Mô tả: Lưu thông tin về nhân sự công ty
STT Tên Kiểu Ràng buộc Ý nghĩa
1 Id Int Not null Id của nhân viên
2 fullName Nvarchar Not null Họ và tên nhân viên
3 DateOfBirth DateTime Not null Ngày sinh nhân viên
3 Gender Varchar Giới tính nhân viên
4 Address Nvarchar Not null Địa chỉ nhân viên
5 Email Varchar Not null Email nhân viên
6 Taxcode Varchar Not null Mã số thuế
7 InsuranceCode Varchar Not null Mã số bảo hiểm xã hội
8 Role Varchar Not Null Chức vụ
9 DepartmentID Int Not null Tham chiếu đến phòng ban quản lý
10 ProjectID Int Not null Tham chiếu đến dự án đang tham gia
11 isDeleted Boolean Not null Cờ giúp xác định đối tượng có đang bị xoá không
Bảng 4.5 Chi tiết bảng Human
Mô tả: Lưu thông tin về công việc
STT Tên Kiểu Ràng buộc Ý nghĩa
1 Id Int Not null Id của công việc
2 Name Nvarchar Not null Tên công việc
3 EmployeeID Int Tham chiếu đến nhân viên phụ trách
4 ProjectID Int Not null Tham chiếu đến dự án cha
5 ProcedureID Int Not null Tham chiếu đến quy trình phụ thuộc
6 Priority Int Not null Mức độ ưu tiên của công việc
7 Duration Timestamp Not null Thời lượng dự kiến
8 Cycle Int Not Null Chu kỳ lặp
9 Progress Float Not null Tiến độ của công việc
10 isDeleted Boolean Not null Cờ giúp xác định đối tượng có đang bị xoá không
Bảng 4.6 Chi tiết bảng Task
Usecase và đặc tả usecase
1 Giám đốc Giám đốc của công ty, có toàn quyền hạn đối với hệ thống
Hai Phó Giám đốc có quyền quản lý nhân sự, dự án và các phòng ban trong phạm vi trách nhiệm của mình Họ cũng được quyền tham gia vào hệ thống giao tiếp nội bộ của tổ chức.
3 Trưởng phòng Trưởng phòng: Có quyền quản lý nhân sự, dự án, thông tin thuộc phòng ban mình quản lý Có
41 quyền tham gia hệ thống giao tiếp nội bộ
Nhóm trưởng có quyền quản lý nhân sự trong nhóm, phân chia nhiệm vụ, theo dõi năng suất và tiến độ công việc Họ cũng quản lý tài nguyên dự án mà mình tham gia và có quyền tham gia vào hệ thống giao tiếp nội bộ.
Nhân viên có quyền quản lý thông tin cá nhân và truy cập vào thông tin nhân sự chung Họ có thể theo dõi tiến độ và năng suất công việc của bản thân, cũng như xem thông tin về các dự án mà mình tham gia Ngoài ra, nhân viên còn có quyền tham gia vào hệ thống giao tiếp nội bộ.
Bảng 4.7 Danh sách các actor
STT Tên usecase Mô tả usecase
1 Quản lý công ty Cho phép người dùng thao tác như: kiểm tra, đăng ký, cập nhật, huỷ bỏ tài nguyên dành cho công ty trên hệ thống
Quản lý phòng ban cho phép người dùng theo dõi sơ đồ tổ chức nhân sự, thực hiện các thao tác quản lý dự án và nhân sự thuộc phòng ban Người dùng cũng có khả năng tạo mới, cập nhật hoặc giải tán phòng ban khi cần thiết.
3 Quản lý dự án Thao tác đăng ký, cập nhật, lưu trữ thông tin dự án Quản lý nhân sự trực thuộc dự án, điều phối và
Theo dõi tiến độ công việc trong dự án, đánh giá năng suất và quản lý tài nguyên là những yếu tố quan trọng để đảm bảo thành công Việc xây dựng bộ quy trình công việc sẽ giúp tối ưu hóa hiệu quả và nâng cao năng suất trong dự án.
Quản lý nhân sự bao gồm việc thao tác với thông tin của nhân viên như họ tên, địa chỉ, tuổi tác, tình trạng sức khỏe, số điện thoại, sơ yếu lý lịch, trình độ học vấn, mã số thuế và bảo hiểm xã hội Ngoài ra, còn quản lý quá trình làm việc tại công ty thông qua việc theo dõi công việc và tiến độ, đánh giá năng suất dựa trên chỉ số KPI, quản lý lịch sử xét lương và quá trình phát triển trong doanh nghiệp.
Hệ thống giao tiếp nội bộ cung cấp giải pháp giao tiếp đồng bộ cho doanh nghiệp mà không cần ứng dụng bên ngoài, đảm bảo tính bảo mật thông tin và ngăn chặn rò rỉ dữ liệu Nền tảng này hỗ trợ truyền tải đa phương tiện, tạo thuận lợi cho quá trình giao tiếp công việc từ xa.
Bảng 4.8 Danh sách các usecase
- Đặc tả usecase Quản lý thông tin công ty
Tên Use case Quản lý công ty
Người thực hiện Giám đốc công ty, phó giám đốc
Mô tả Giúp người dùng thao tác với thông tin công ty như đăng ký, cập nhật, xoá bỏ tài nguyên hệ thống dành cho công ty
Trigger Khi muốn thao tác với thông tin công ty trong hệ thống
Tiền điều kiện Có tài khoản đăng nhập vào hệ thống và có quyền quản trị giám đốc hoặc phó giám đốc
Hậu điều kiện Thông tin công ty được điều chỉnh thông qua chức năng
Dòng sự kiện chính 1 Hiển thị thông tin đã đăng ký
1.1 Sau khi đăng nhập chọn tab
“Quản lý công ty” từ bảng chọn phía bên phải
1.2 Hệ thống hiển thị thông tin của công ty được đăng ký
2 Thêm mới thông tin công ty 2.1 Sau khi đăng nhập chọn tab
“Quản lý công ty” từ bảng chọn phía bên phải
2.2 Hệ thống hiển thị trang quản lý thông tin công ty
2.3 Người dùng chọn icon “+” ở phía góc trái dưới màn hình 2.4 Điền đầy đủ thông tin công ty và nhấn “Xác nhận”
2.5 Hệ thống thông báo cấp mới tài nguyên cho công ty thành công
3 Chỉnh sửa thông tin công ty 3.1 Sau khi đăng nhập, chọn tab
“Quản lý công ty” từ bảng chọn phía bên phải
3.2 Hệ thống hiển thị thông tin các công ty đã đăng ký tài nguyên
3.3 Người dùng chọn icon “bút chì” ứng với từng thẻ là công ty tương ứng
3.4 Hệ thống hiển thị ra form thông tin công ty
3.5 Người thay đổi thông tin cần thiết và nhấn và “Xác nhận” 3.6 Hệ thống thông báo cập nhật thông tin thành công
4 Xoá bỏ thông tin công ty 4.1 Sau khi đăng nhập, người dùng chọn tab “Quản lý công ty” từ bảng chọn bên phải
4.2 Hệ thống hiển thị thông tin các công ty đã đăng ký tài nguyên 4.3 Người dùng chọn icon “thùng rác” trên thẻ ứng với thông tin công ty tương ứng
4.4 Hệ thống hiển thị hộp thoại xác nhận xoá thông tin và thu hồi tài nguyên
4.6 Hệ thống thông báo Xoá bỏ và thu hồi tài nguyên thành công Dòng sự kiện phụ
Bảng 4.9 Đặc tả usecase Quản lý công ty
- Đặc tả usecase Quản lý phòng ban
Tên Use case Quản lý phòng ban
Người thực hiện Giám đốc công ty, phó giám đốc, trưởng phòng
Mô tả Giúp người dùng thao tác với thông tin phòng ban như đăng ký, cập nhật, xoá bỏ thông tin phòng ban thuộc công ty
Trigger Khi muốn thao tác với thông tin phòng ban ứng với thông tin công ty có trong hệ thống
Tiền điều kiện Có tài khoản đăng nhập vào hệ thống và có quyền quản trị giám đốc, phó giám đốc, trưởng phòng,
45 có sẵn thông tin công ty tương ứng trong hệ thống
Hậu điều kiện Thông tin phòng ban được điều chỉnh thông qua chức năng
Để hiển thị thông tin phòng ban của công ty, người dùng cần truy cập vào thông tin công ty tương ứng trên dashboard, nếu có quyền "Quản lý thông tin" Tiếp theo, chọn tab "Quản lý phòng ban" từ bảng chọn bên phải, hệ thống sẽ hiển thị thông tin chi tiết về các phòng ban thuộc công ty.
2 Thêm mới thông tin công ty 2.1 Truy cập vào thông tin công ty tương ứng ngoài dashboard nếu có quyền “Quản lý thông tin” công ty 2.2 Chọn tab “Quản lý phòng ban” từ bảng chọn phía bên phải
2.3 Hệ thống hiển thị toàn bộ phòng ban dưới dạng thẻ hoặc danh sách thuộc công ty tương ứng
2.4 Người dùng chọn icon “+” ở dưới góc trái để mở bảng đăng ký thông tin phòng ban
2.5 Người dùng điền thông tin và nhấn xác nhận
2.6 Hệ thống xác nhận đăng ký thông tin phòng ban thành công
3 Chỉnh sửa thông tin công ty 3.1 Truy cập vào thông tin công ty tương ứng nếu có quyền quản lý công ty
3.2 Sau khi đăng nhập, chọn tab
“Quản lý phòng ban ” từ bảng chọn phía bên phải
3.3 Hệ thống hiển thị thông tin các phòng ban dưới dạng thẻ hoặc danh sách
3.4 Người dùng chọn icon “bút chì” ứng với từng thẻ là phòng ban tương ứng
3.5 Hệ thống hiển thị ra form thông tin công ty
3.6 Người thay đổi thông tin cần thiết và nhấn và “Xác nhận” 3.7 Hệ thống thông báo cập nhật thông tin thành công
4 Xoá bỏ thông tin công ty 4.1 Người dùng chọn thông tin công ty nếu có quyền quản lý thông tin công ty
4.2 Sau khi đăng nhập, người dùng chọn tab “Quản lý phòng ban” từ bảng chọn bên phải
4.3 Hệ thống hiển thị thông tin phòng ban dưới dạng thẻ hoặc danh sách
4.4 Người dùng chọn icon “thùng rác” trên thẻ ứng với thông tin phòng ban
4.5 Hệ thống hiển thị hộp thoại xác nhận xoá thông tin và thu hồi tài nguyên
4.7 Hệ thống thông báo Xoá bỏ và thu hồi tài nguyên thành công
5 Quản lý sơ đồ tổ chức phòng ban 5.1 Người dùng chọn phòng ban tương ứng trong danh sách phòng ban
5.2 Hệ thống hiển thị ra sơ đồ tổ chức nhân sự phòng ban dưới dạng cây
5.3 Người dùng có thể thao tác kéo thả thẻ nếu có sự thay đổi trong sơ đồ tổ chức
6 Quản lý dự án thuộc phòng ban 6.1 Người dùng chọn vào thông tin phòng ban tương ứng
6.2 Hệ thống hiển thị ra thông tin danh sách các dự án thuộc phòng ban dưới dạng danh sách
6.3 Click vào từng dự án sẽ chuyển hướng người dùng sang “Quản lý dự án” để thao tác
7 Quản lý nhân sự thuộc phòng ban 7.1 Người dùng chọn vào thông tin phòng ban tương ứng
7.2 Hệ thống hiển thị ra thông tin danh sách nhân sự thuộc phòng ban dưới dạng danh sách thẻ
6.3 Click vào từng thẻ tương ứng sẽ chuyển hướng người dùng sang
“Quản lýnhân sự” để thao tác
Bảng 4.10 Đặc tả usecase quản lý phòng ban
- Đặc tả usecae Quản lý dự án
Tên Use case Quản lý dự án
Người thực hiện Giám đốc công ty, phó giám đốc, trưởng phòng, nhóm trưởng
Mô tả Giúp người dùng thao tác với thông tin dự án như đăng ký, cập nhật, xoá bỏ tài nguyên hệ thống dành cho dự án
Để thao tác với thông tin dự án trong hệ thống, người dùng cần kích hoạt Trigger Điều kiện tiên quyết là phải có tài khoản trong hệ thống và có quyền truy cập vào thông tin dự án.
Hậu điều kiện Thông tin dự án được điều chỉnh thông qua chức năng
Dòng sự kiện chính 1 Hiển thị thông tin dự án đã đăng ký 1.1 Sau khi đăng nhập chọn tab
“Quản lý dự án” từ bảng chọn phía bên phải nếu có người dùng có quyền “Quản lý dự án”
1.2 Hệ thống hiển thị thông tin nhân sự dưới dạng thẻ hoặc danh sách
2 Thêm mới thông tin dự án
2.1 Sau khi đăng nhập chọn tab
“Quản lý dự án” từ bảng chọn phía bên phải
2.1 Hệ thống hiển thị trang quản lý thông tin dự án dưới dạng danh sách hoặc thẻ
2.2 Người dùng chọn icon “+” ở phía góc trái dưới màn hình 2.3 Điền đầy đủ thông tin dự án và nhấn “Xác nhận”
2.4 Hệ thống thông báo đăng ký thông tin dự án thành công
3 Chỉnh sửa thông tin dự án 3.1 Sau khi đăng nhập, chọn tab
“Quản lý dự án” từ bảng chọn phía bên phải
3.1 Hệ thống hiển thị thông tin các dự án dưới dạng thẻ hoặc danh sách
3.2 Người dùng chọn icon “bút chì” ứng với từng thẻ là dự án tương ứng
3.3 Hệ thống hiển thị ra form thông tin dự án
3.4 Người thay đổi thông tin cần thiết và nhấn và “Xác nhận” 3.5 Hệ thống thông báo cập nhật thông tin thành công
4 Xoá bỏ thông tin dự án 4.1 Sau khi đăng nhập, người dùng chọn tab “Quản lý dự án” từ bảng chọn bên phải
4.2 Hệ thống hiển thị thông tin các dự án dưới dạng thẻ hoặc danh sách
4.3 Người dùng chọn icon “thùng rác” trên thẻ ứng với thông tin dự án tương ứng
4.4 Hệ thống hiển thị hộp thoại xác nhận xoá thông tin và thu hồi tài nguyên
4.6 Hệ thống thông báo Xoá bỏ và thu hồi tài nguyên thành công Dòng sự kiện phụ
Bảng 4.11 Đặc tả usecase quản lý dự án
- Đặc tả usecase Quản lý nhân sự
Tên Use case Quản lý nhân sự
Người thực hiện Người dùng có quyền
Mô tả Giúp người dùng thao tác thông tin nhân sự như: Thông tin nhân thân, quá trình làm việc, lương thưởng bảo hiểm
Khi muốn thao tác với thông tin nhân sự trong hệ thống, người dùng cần có tài khoản và quyền truy cập thông tin nhân sự Sau khi thực hiện thao tác, thông tin nhân sự sẽ được điều chỉnh thông qua chức năng tương ứng trong hệ thống.
Dòng sự kiện chính 1 Hiển thị thông tin nhân sự đã đăng ký 1.1 Chọn tab “Quản lý nhân sự” ở bảng chọn bên phải
1.2 Hệ thống hiển thị thông tin nhân sự dưới dạng thẻ hoặc danh sách
2 Thêm mới thông tin nhân sự 2.1 Sau khi đăng nhập chọn tab
“Quản lý nhân sự” từ bảng chọn phía bên phải
2.1 Hệ thống hiển thị trang quản lý thông tin nhân sự dưới dạng danh sách hoặc thẻ
2.2 Người dùng chọn icon “+” ở phía góc trái dưới màn hình 2.3 Điền đầy đủ thông tin dự án và nhấn “Xác nhận”
2.4 Hệ thống thông báo đăng ký thông tin nhân sự thành công
3 Chỉnh sửa thông tin nhân sự
3.1 Sau khi đăng nhập, chọn tab
“Quản lý nhân sự” từ bảng chọn phía bên phải
3.1 Hệ thống hiển thị thông tin các nhân sự dưới dạng thẻ hoặc danh sách
3.2 Người dùng chọn icon “bút chì” ứng với từng thẻ là nhân sự tương ứng
3.3 Hệ thống hiển thị ra form thông tin nhân sự
3.4 Người thay đổi thông tin cần thiết và nhấn và “Xác nhận” 3.5 Hệ thống thông báo cập nhật thông tin thành công
4 Xoá bỏ thông tin nhân sự 4.1 Sau khi đăng nhập, người dùng chọn tab “Quản lý nhân sự” từ bảng chọn bên phải
4.2 Hệ thống hiển thị thông tin các dự án dưới dạng thẻ hoặc danh sách
4.3 Người dùng chọn icon “thùng rác” trên thẻ ứng với thông tin nhân sự tương ứng
4.4 Hệ thống hiển thị hộp thoại xác nhận xoá thông tin và thu hồi tài nguyên
4.6 Hệ thống thông báo Xoá bỏ và thu hồi tài nguyên thành công Dòng sự kiện phụ
Bảng 4.12 Đặc tả usecase quản lý nhân sự
- Đặc tả usecase Quản lý công việc
Tên Use case Quản lý công việc
Người thực hiện Người dùng có quyền truy cập vào hệ thống
Mô tả Giúp người dùng thao tác với thông tin công việc hàng ngày như: Thêm mới, cập nhật, chỉnh sửa, nhắc nhở,
51 theo dõi tiến độ, đánh giá năng suất, chỉ định nhân viên thực hiện, xây dựng quy trình công việc
Trigger Khi muốn thao tác với thông tin công việc trong hệ thống Tiền điều kiện Có tài khoản trong hệ thống
Hậu điều kiện Thông tin công việc được điều chỉnh thông qua chức năng
Dòng sự kiện chính 1 Hiển thị thông tin công việc
1.1 Tại trang chủ, người dùng có thể theo dõi công việc đang trong quá trình thực hiện, tiến độ thực hiện, deadline Ngoài ra còn có công việc đang chờ thực hiện
2 Thêm mới công việc 2.1 Tại trang chủ, người dùng click chọn icon “+ để thêm mới thông tin công việc
2.2 Hệ thống hiển ra form đăng ký công việc Một số thông tin như: tên công việc, đối tượng áp dụng, thời lượng thực hiện, chu kỳ thực hiện,
Có nhắc nhở hay không? Có thuộc dự án nào hay không ? Ngày bắt đầu, trạng thái
2.3 Người dùng điền thông tin và chọn “Xác nhận”
2.4 Hệ thống thông báo xác nhận đã đăng ký thông tin công việc, chuyển trạng thái chờ nếu ngày bắt đầu bỏ trống hoặc lớn hơn thời gian hiện tại
3 Cập nhật thông tin công việc 3.1 Tại trang chủ, chọn thẻ công việc tương ứng và chọn icon “viết chì” để tiến hành cập nhật thông tin dự án
3.2 Hệ thống hiển thị ra form thông tin công việc, tiến độ
3.3 Người dùng cập nhật thông tin và nhấn xác nhận
3.4 Hệ thống thông báo cập nhật thông tin thành công
4 Xoá thông tin công việc 4.1 Tại trang chủ, chọn thẻ công việc tương ứng và chọn icon “thùng rác” để xoá công việc
4.2 Hệ thống hiển thị thông báo xác nhận xoá thông tin và tài nguyên công việc
4.3 Người dùng xác nhận 4.4 Hệ thống xác nhận xoá thông tin thành công
Bảng 4.13 Đặc tả usecase quản lý công việc
- Đặc tả usecase Xây dựng quy trình dự án:
Tên Use case Xây dựng quy trình dự án
Người thực hiện Người dùng có quyền truy cập quản lý dự án
Mô tả Giúp người dùng xây dựng bộ quy trình chung cho công việc thuộc dự án
Trigger Khi muốn xây dựng quy trình công việc cho dự án Tiền điều kiện Có tài khoản trong hệ thống truy cập được quyền quản lý dự án
Hậu điều kiện Quy trình công việc được thao tác thông qua chức năng Dòng sự kiện chính 1 Hiển thị thông tin quy trình
1.1 Người dùng click chọn vào chức năng “Quản lý quy trình” ở bảng chọn bên trái
2 Thêm mới quy trình 2.1 Tại trang chủ, người dùng click chọn icon “+ để thêm mới thông tin quy trình
2.2 Hệ thống hiển ra form đăng ký công việc Một số thông tin như: dự án áp dụng, bước 1, bước 2, … bước n Phạm vi áp dụng: Toàn bộ nhân sự dự án, một bộ phận thuộc dự án, nhân sự cụ thể
2.3 Người dùng điền thông tin và chọn “Xác nhận”