Giới thiệu dự án
Trong bối cảnh cách mạng công nghiệp 4.0 và làn sóng chuyển đổi số doanh nghiệp, việc tối ưu hóa quy trình quản trị nội bộ trở thành yếu tố sống còn đối với các công ty công nghệ thông tin. Theo khảo sát từ Project Management Institute (PMI), hơn 37% dự án gặp tình trạng bội chi hoặc trễ tiến độ xuất phát từ sự thiếu minh bạch trong phân bổ nguồn lực, quản lý công tác ngoại tỉnh và theo dõi chi phí tác nghiệp thực tế. Tại Công ty Cổ phần Công nghệ số Thông minh SDTECH – một đơn vị chuyên phát triển giải pháp phần mềm tại Đà Nẵng, mô hình quản lý lịch trình công tác và làm việc ngoài giờ của nhân sự trước đây chủ yếu dựa vào các bảng tính phân tán (Excel/Google Sheets) và trao đổi qua email rời rạc.
Quy trình bán thủ công này bộc lộ những điểm nghẽn nghiêm trọng:
- Chồng chéo lịch trình: Quản lý dự án (Project Manager - PM) và Trưởng phòng không thể nắm bắt tức thời tình trạng phân bổ nhân sự giữa các dự án đang triển khai đồng thời.
- Thất thoát và chậm trễ thanh quyết toán: Chi phí tạm ứng, hóa đơn phát sinh trong chuyến công tác mất từ 7-14 ngày để đối soát thủ công, gây rủi ro sai lệch dữ liệu tài chính dự án.
- Thiếu cơ chế phê duyệt tập trung: Quy trình đăng ký làm việc ngoài giờ (Overtime - OT) và đề xuất công tác thiếu luồng thông báo tự động, làm giảm hiệu suất làm việc của nhân viên tới 25%.
Đồ án tốt nghiệp "Xây dựng hệ thống Website quản lý lịch công tác của nhân viên trong dự án công ty SDTECH" do sinh viên Phạm Ngọc Anh thực hiện dưới sự hướng dẫn của TS. Hoàng Thị Mỹ Lệ (Khoa Công nghệ Số, Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng) được triển khai nhằm giải quyết triệt để các bài toán thực tiễn trên.
Mục tiêu cụ thể của dự án
- Chuẩn hóa quy trình nghiệp vụ: Xây dựng luồng quản lý khép kín từ khâu lập kế hoạch dự án, phân công nhân sự, đăng ký lịch công tác/OT, phê duyệt chi phí đến hoàn ứng tài chính.
- Phân quyền đa cấp độ (Role-Based Access Control - RBAC): Thiết lập ma trận quyền hạn chặt chẽ cho 4 nhóm đối tượng: Quản trị viên (Trưởng phòng), Quản lý dự án (PM), Người phụ trách công tác và Nhân viên thực thi.
- Tự động hóa luồng thông tin: Tích hợp module gửi thông báo qua hệ thống email tự động (SMTP Service) ngay khi có biến động về lịch trình hoặc yêu cầu phê duyệt ngân sách.
- Tối ưu hóa khả năng mở rộng: Ứng dụng nền tảng kiến trúc Cổng thông tin doanh nghiệp Liferay Portal 7.2 kết hợp Spring Boot Framework và MySQL Database, đảm bảo chuẩn module hóa OSGi cho phép mở rộng tính năng về sau.
Chỉ số đo lường kỳ vọng (Measurable Metrics)
- Rút ngắn thời gian xử lý và phê duyệt phiếu công tác từ 48 giờ xuống dưới 30 phút (giảm hơn 90%).
- Độ chính xác trong theo dõi ngân sách và hoàn ứng chi phí đạt 100%, loại bỏ hoàn toàn hóa đơn thất lạc.
- Khả năng chịu tải đạt mức tối thiểu 200 người dùng đồng thời (CCU) với thời gian phản hồi trung bình (Response Time) < 500ms.
Phạm vi và giới hạn: Đề tài tập trung giải quyết bài toán nghiệp vụ nội bộ tại Công ty SDTECH, áp dụng cho các dự án phần mềm với quy mô dưới 500 nhân sự hoạt động trên môi trường Web Application nội bộ và Internet.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi xây dựng hệ thống, nhóm nghiên cứu đã tiến hành khảo sát và đánh giá so sánh các công cụ quản trị hiện hành trên thị trường:
| Tiêu chí đánh giá |
Quản lý thủ công (Excel/Email) |
ERP Thương mại (SAP/Odoo) |
Hệ thống Portal SDTECH (Đề xuất) |
| Chi phí triển khai & Bản quyền |
Thấp ($0) |
Rất cao ($15,000 - $50,000/năm) |
Tối ưu hóa (Mã nguồn mở Liferay/Spring) |
| Tính tương thích nghiệp vụ dự án IT |
Rất thấp, rời rạc |
Trung bình (cần customize phức tạp) |
Rất cao (May đo chính xác cho SDTECH) |
| Tự động hóa thông báo (Email/Alert) |
Không có |
Có sẵn |
Tích hợp sâu qua JavaMail/SMTP |
| Tính toàn vẹn & Phân quyền dữ liệu |
Kém, dễ bị chỉnh sửa trái phép |
Rất cao, phân quyền phức tạp |
Chặt chẽ theo 4 Actor nghiệp vụ |
| Thời gian làm quen & Sử dụng |
Nhanh nhưng rủi ro sai sót cao |
Chậm, đòi hỏi đào tạo bài bản |
Giao diện Web Portal thân thiện, trực quan |
Ma trận ưu tiên yêu cầu người dùng (MoSCoW)
- Must-have (Bắt buộc có): Xác thực đăng nhập; Quản lý hồ sơ nhân viên & dự án; Đăng ký/Phê duyệt lịch công tác & OT; Quản lý tạm ứng và duyệt quyết toán chi phí công tác; Thông báo trạng thái qua Email.
- Should-have (Nên có): Module bình chọn (Poll/Survey) nội bộ hiển thị trực quan dạng biểu đồ tròn và biểu đồ cột; Quản lý tin tức, sự kiện nội bộ và thông tin tuyển dụng.
- Could-have (Có thể có): Xuất báo cáo tài chính chuyến đi ra định dạng Excel/PDF; Bộ lọc tìm kiếm nhân sự theo kỹ năng và vai trò dự án.
- Won't-have (Chưa triển khai đợt này): Ứng dụng di động Native (Android/iOS); Tích hợp cổng thanh toán trực tiếp ngân hàng (Payment Gateway).
Thiết kế hệ thống
Hệ thống được thiết kế theo kiến trúc phân tầng (Tiered Architecture) tuân thủ mô hình Model-View-Controller (MVC), kết hợp nền tảng Liferay Portal 7.2 với các module chuẩn OSGi (Open Services Gateway initiative) và JSR-286 Portlet Specification.
[ Client Layer: Web Browser (HTML5, Bootstrap, CSS3, jQuery) ]
[ Presentation Layer: Liferay Portal 7.2 Engine / Portlet Container (JSR-286) ]
[ Business & Controller Layer: Spring Boot MVC / OSGi Service Modules ]
[ Data Access Layer: Hibernate ORM / Spring Data JPA / Service Builder ]
[ Database Layer: MySQL 8.0 Community Server (ACID Compliant) ]
Technology Stack và phiên bản cụ thể
- Ngôn ngữ lập trình nền tảng: Java SE 8 / Java EE 8 (Độc lập phần cứng qua máy ảo JVM, quản lý bộ nhớ tự động Garbage Collection).
- Cổng thông tin tích hợp: Liferay Portal Community Edition 7.2 GA1 (Hỗ trợ cấu trúc module hóa OSGi, tái sử dụng component thông qua Annotation
@Component).
- Framework ứng dụng: Spring Boot 2.5.x triển khai kiến trúc Spring MVC.
- Hệ quản trị cơ sở dữ liệu: MySQL Server 8.0 (Sử dụng InnoDB Engine hỗ trợ khóa mức dòng Row-level locking và giao dịch toàn vẹn ACID).
- Công cụ phát triển & Thiết kế: IntelliJ IDEA 2021.3, StarUML 4.x, XAMPP Server 8.0, Apache Tomcat 9.0 tích hợp trong Liferay.
Thiết kế cơ sở dữ liệu (Database Schema)
Hệ thống chuẩn hóa dữ liệu đạt chuẩn 3NF (Third Normal Form) gồm các bảng cốt lõi:
tbl_nhanvien (id_nhanvien [PK], ho_ten, email, so_dien_thoai, phong_ban, chuc_vu, trang_thai)
tbl_duan (id_duan [PK], ten_duan, ngay_bat_dau, ngay_ket_thuc, id_pm [FK], ngan_sach, trang_thai)
tbl_vaitro_duan (id_vaitro [PK], id_nhanvien [FK], id_duan [FK], ten_vaitro, ngay_tham_gia)
tbl_congtac (id_congtac [PK], id_duan [FK], dia_diem, ngay_di, ngay_ve, muc_dich, id_nguoi_phu_trach [FK], tien_tam_ung, trang_thai_duyet)
tbl_chiphi_congtac (id_chiphi [PK], id_congtac [FK], loai_chi_phi, so_tien, hoa_don_dinh_kem, ghi_chu, trang_thai_hoan_ung)
tbl_overtime (id_ot [PK], id_nhanvien [FK], id_duan [FK], ngay_ot, so_gio, ly_do, trang_thai_duyet)
tbl_binhchon_cauhoi & tbl_binhchon_cautraloi (id_cauhoi [PK], noi_dung, loai_bieudo, so_luot_vote)
Methodology
Dự án áp dụng phương pháp luận phát triển phần mềm theo mô hình Thác nước lặp (Iterative Waterfall) kết hợp kiểm thử liên tục:
(Tuần 1 - 3) (Tuần 4 - 6) (Tuần 7 - 12) (Tuần 13 - 14) (Tuần 15 - 16)
Ma trận đánh giá và giảm thiểu rủi ro kỹ thuật
| Rủi ro kỹ thuật |
Mức độ |
Kế hoạch giảm thiểu (Mitigation Strategy) |
| Xung đột phụ thuộc trong môi trường OSGi Bundle |
Cao |
Định nghĩa chặt chẽ Import-Package và Export-Package trong bnd.bnd; áp dụng Semantic Versioning. |
| Nghẽn kết nối Database khi gửi mail đồng loạt |
Trung bình |
Sử dụng Asynchronous Task (@Async trong Spring) tách luồng gửi mail khỏi Transaction chính của DB. |
| Nguy cơ tấn công SQL Injection và XSS |
Cao |
Sử dụng Prepared Statements qua Hibernate/JPA và bật bộ lọc mã độc tích hợp của Liferay API. |
Implementation và kết quả
Development process
Quá trình phát triển tập trung vào việc hiện thực hóa các Portlet độc lập tương ứng với các phân hệ nghiệp vụ, tuân thủ tiêu chuẩn lập trình của Liferay 7.2 và Spring Framework.
Cấu trúc mã nguồn chuẩn module hóa (OSGi Component Pattern)
Mỗi chức năng được triển khai dưới dạng một Portlet Component độc lập:
package com.sdtech.portal.portlet;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import com.sdtech.portal.service.CongTacLocalService;
import javax.portlet.Portlet;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* Portlet quản trị và điều phối lịch công tác nhân viên SDTECH
* Chuẩn đặc tả JSR-286 tích hợp trên nền Liferay 7.2 OSGi Framework
*/
@Component(
immediate = true,
property = {
"com.liferay.portlet.display-category=category.sdtech",
"com.liferay.portlet.instanceable=true",
"javax.portlet.display-name=Quản Lý Công Tác SDTECH",
"javax.portlet.init-param.template-path=/",
"javax.portlet.init-param.view-template=/html/congtac/view.jsp",
"javax.portlet.name=com_sdtech_portal_CongTacPortlet",
"javax.portlet.resource-bundle=content.Language",
"javax.portlet.security-role-ref=power-user,user"
},
service = Portlet.class
)
public class CongTacPortlet extends MVCPortlet {
@Reference
private CongTacLocalService congTacLocalService;
public void pheDuyetChiPhi(ActionRequest request, ActionResponse response) {
long idCongTac = Long.parseLong(request.getParameter("idCongTac"));
String trangThai = request.getParameter("trangThaiDuyet"); // 'APPROVED' hoặc 'REJECTED'
String lyDo = request.getParameter("lyDo");
boolean isSuccess = congTacLocalService.updateTrangThaiCongTac(idCongTac, trangThai, lyDo);
if (isSuccess) {
congTacLocalService.sendEmailNotification(idCongTac, trangThai);
}
}
}
Thuật toán xử lý và gửi thông báo phê duyệt tự động
Hệ thống sử dụng cơ chế xử lý sự kiện bất đồng bộ nhằm tối ưu tốc độ phản hồi giao diện người dùng:
package com.sdtech.portal.service.impl;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.internet.MimeMessage;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@Service
public class EmailNotificationServiceImpl {
private final JavaMailSender mailSender;
public EmailNotificationServiceImpl(JavaMailSender mailSender) {
this.mailSender = mailSender;
}
@Async
public void sendApprovalNotification(String recipientEmail, String employeeName, String projectName, String status, String comments) {
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
helper.setTo(recipientEmail);
helper.setSubject("[SDTECH Portal] Thông báo kết quả duyệt chi phí công tác - Dự án: " + projectName);
String htmlContent = String.format(
"<div style='font-family: Arial, sans-serif; line-height: 1.6;'>" +
"<h3>Kính gửi anh/chị %s,</h3>" +
"<p>Yêu cầu công tác và quyết toán chi phí cho dự án <b>%s</b> của anh/chị đã được cập nhật trạng thái: " +
"<span style='color: %s; font-weight: bold;'>%s</span>.</p>" +
"<p><b>Ghi chú từ Quản lý dự án:</b> %s</p>" +
"<hr/><p style='font-size: 12px; color: #777;'>Hệ thống Website Quản lý nội bộ SDTECH - Vui lòng không trả lời email này.</p>" +
"</div>",
employeeName, projectName, status.equals("APPROVED") ? "green" : "red", status, comments
);
helper.setText(htmlContent, true);
mailSender.send(message);
} catch (Exception ex) {
// Log lỗi hệ thống mà không làm gián đoạn transaction chính
System.err.println("Lỗi trong quá trình gửi Mail: " + ex.getMessage());
}
}
}
Testing và validation
Quá trình kiểm thử được thực hiện qua 3 giai đoạn độc lập: Kiểm thử đơn vị (Unit Testing), Kiểm thử tích hợp (Integration Testing) và Kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT).
- Độ bao phủ kiểm thử (Test Coverage): Đạt 88.5% trên tổng số luồng nghiệp vụ cốt lõi.
- Benchmark hiệu năng:
- Thời gian phản hồi trang danh sách dự án: 180ms (với 1,000 bản ghi giả lập).
- Tải trang Dashboard thống kê chi phí công tác: 320ms.
- Khả năng xử lý Transaction: 150 Transactions/Second (TPS) không xảy ra hiện tượng Deadlock tại tầng MySQL Database.
- Kết quả UAT: Thử nghiệm thực tế trên 35 cán bộ nhân viên tại SDTECH trong 2 tuần:
- 100% người dùng đánh giá giao diện trực quan, dễ thao tác.
- Điểm hài lòng tổng thể đạt 4.8/5.0.
Kết quả đạt được
Hệ thống đã hoàn thiện toàn bộ các phân hệ chức năng theo đúng mục tiêu nghiên cứu:
- Trang thông tin công cộng: Trang chủ, Giới thiệu công ty, Tin tức sự kiện nội bộ, Chi tiết tuyển dụng, Module khảo sát bình chọn tích hợp render biểu đồ linh hoạt (Bar Chart & Pie Chart).
- Trang quản trị nội bộ (Admin/Trưởng phòng): Quản lý toàn bộ danh sách nhân viên, khởi tạo dự án, phân công vai trò thành viên, cấp hạn mức tạm ứng công tác phí.
- Phân hệ Quản lý dự án (PM): Phê duyệt/từ chối lịch đăng ký làm việc ngoài giờ; thẩm định báo cáo chi phí công tác và phê duyệt hoàn ứng kèm lý do chi tiết.
- Phân hệ Người phụ trách công tác: Lập danh sách thành viên đoàn công tác, cập nhật hóa đơn chi phí phát sinh thực tế, gửi yêu cầu thanh quyết toán.
- Phân hệ Nhân viên: Tra cứu lịch trình cá nhân, xem phân công dự án, gửi phiếu đăng ký làm việc ngoài giờ và theo dõi tiến độ phê duyệt theo thời gian thực.
Đổi mới và đóng góp
- Kiến trúc phân quyền nghiệp vụ 4 cấp độ chặt chẽ: Khác với các hệ thống quản lý công tác truyền thống vốn chỉ phân định 2 vai trò đơn giản (Admin và User), hệ thống SDTECH tách biệt rõ ràng vai trò giữa Quản lý dự án (PM) và Người phụ trách chuyến công tác cụ thể. Điều này phản ánh chính xác cấu trúc vận hành thực tế tại các công ty gia công phần mềm: PM kiểm soát ngân sách tổng thể của dự án, trong khi Lead đoàn công tác chịu trách nhiệm chi tiết về các khoản chi tiêu thực địa.
- Mô-đun hóa linh hoạt trên nền Liferay 7.2 OSGi: Toàn bộ các chức năng (Quản lý dự án, Công tác, OT, Bình chọn) được đóng gói thành các tệp JAR độc lập. Doanh nghiệp có thể bật/tắt hoặc nâng cấp từng tính năng riêng lẻ mà không cần dừng hoạt động (Zero Downtime) của toàn bộ hệ thống Portal.
- Tự động hóa luồng thông tin khép kín: Cơ chế kích hoạt gửi email thông báo trạng thái phê duyệt tự động giúp loại bỏ 100% tình trạng "chết luồng" nghiệp vụ do người quản lý quên duyệt phiếu.
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế tại SDTECH
Khi một dự án phần mềm cần cử nhóm 3 kỹ sư Onsite tại khách hàng ở Hà Nội trong 5 ngày:
- PM tạo đợt công tác trên Portal, chọn địa điểm, thời gian và chỉ định Kỹ sư A làm Người phụ trách.
- Admin (Trưởng phòng) phê duyệt khoản tạm ứng 15,000,000 VNĐ thông qua giao diện Quản lý công tác.
- Trong suốt chuyến đi, Kỹ sư A cập nhật các khoản chi tiêu (tiền vé máy bay, khách sạn, tiếp khách) kèm ảnh chụp hóa đơn trực tiếp lên hệ thống.
- Kết thúc chuyến đi, Kỹ sư A nhấn "Hoàn tất công tác phí". PM nhận email thông báo, truy cập hệ thống để duyệt hoặc từ chối từng khoản mục. Mọi biến động được gửi mail phản hồi tự động về cho đoàn công tác.
Yêu cầu cấu hình triển khai hệ thống (System Requirements)
- Hạ tầng máy chủ (Server):
- CPU: Quad-Core Intel Xeon 2.5 GHz trở lên.
- RAM: Tối thiểu 8GB (Khuyến nghị 16GB để chạy Liferay Portal JVM).
- Ổ cứng: Tối thiểu 50GB SSD khả dụng.
- Hệ điều hành: Ubuntu Server 20.04 LTS hoặc CentOS 8 / Windows Server.
- Phần mềm môi trường:
- Java Development Kit: OpenJDK 8 hoặc Oracle JDK 8/11.
- Web Server / Servlet Container: Apache Tomcat 9.0.
- Database: MySQL 8.0 Community Server.
- Client (Người dùng cuối): Mọi trình duyệt web hiện đại (Google Chrome 90+, Mozilla Firefox, Microsoft Edge, Safari) hỗ trợ HTML5/JavaScript.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Hệ thống hoạt động dưới dạng Web Responsive, chưa phát triển ứng dụng di động chuyên biệt (Native Mobile App) để hỗ trợ quét hóa đơn offline.
- Việc nhập liệu chi phí công tác vẫn dựa vào việc người dùng tự điền số tiền và đính kèm tệp, chưa tích hợp công nghệ nhận dạng ký tự quang học (OCR) để tự động trích xuất thông tin từ hóa đơn VAT/vé máy bay.
- Chưa liên kết trực tiếp với phần mềm kế toán doanh nghiệp (như MISA, FAST) thông qua các Webhooks hoặc RESTful API mở rộng.
Hướng nâng cấp trong tương lai
- Tích hợp module AI-OCR: Ứng dụng mô hình Deep Learning (như Tesseract OCR hoặc Google Cloud Vision API) cho phép nhân viên chụp ảnh hóa đơn và tự động bóc tách số tiền, mã số thuế và ngày lập hóa đơn vào phiếu thanh toán.
- Xây dựng Mobile Application: Phát triển ứng dụng Flutter/React Native đa nền tảng, tích hợp tính năng Push Notification (Firebase Cloud Messaging) thay thế hoặc bổ trợ cho kênh thông báo Email.
- Mở rộng API Gateway: Xây dựng hệ thống REST API chuẩn OpenAPI 3.0 để sẵn sàng kết nối dữ liệu chấm công, ERP và tính lương tự động cho phòng Nhân sự.
Đối tượng hưởng lợi
- Sinh viên & Học viên CNTT: Nguồn tài liệu tham khảo hoàn chỉnh về cách áp dụng kiến trúc phần mềm hướng Cổng thông tin (Liferay Portal 7.2), lập trình Java doanh nghiệp với Spring Boot và kỹ thuật chuẩn hóa dữ liệu quan hệ trong MySQL.
- Lập trình viên (Developers): Cung cấp mẫu thiết kế (Design Pattern) chuẩn về việc module hóa hệ thống theo chuẩn OSGi Component, cách tổ chức mã nguồn MVC và giải pháp xử lý tác vụ gửi mail bất đồng bộ (Asynchronous Email Dispatcher).
- Doanh nghiệp & Quản lý dự án (Businesses & PMs): Giải pháp phần mềm thực tiễn giúp số hóa 100% quy trình phê duyệt công tác và làm việc ngoài giờ, minh bạch hóa chi phí dự án và nâng cao năng suất quản trị nội bộ.
- Nhà nghiên cứu ứng dụng (Researchers): Cung cấp dữ liệu thực nghiệm về việc tối ưu hóa quy trình doanh nghiệp vừa và nhỏ (SMEs) tại Việt Nam thông qua các nền tảng mã nguồn mở đạt chuẩn công nghiệp.
Câu hỏi thường gặp
1. Hệ thống yêu cầu cấu hình môi trường máy chủ như thế nào để triển khai thực tế?
Để vận hành ổn định hệ thống trên môi trường Production, máy chủ cần cài đặt Java JDK 8 hoặc 11 (64-bit), cấu hình cấp phát bộ nhớ JVM tối thiểu -Xms2048m -Xmx4096m. Máy chủ cần cài đặt MySQL 8.0 với thiết lập max_connections >= 200 và chạy trên nền Web Server Apache Tomcat 9.0 tích hợp sẵn trong gói Liferay 7.2 Bundle.
2. Giới hạn chịu tải của hệ thống và giải pháp mở rộng quy mô khi doanh nghiệp tăng trưởng?
Ở cấu hình tiêu chuẩn máy chủ đơn (Single Node Server 16GB RAM), hệ thống đáp ứng tốt 200-300 CCU. Khi quy mô công ty mở rộng vượt trên 1,000 nhân viên, hệ thống có thể mở rộng theo chiều ngang (Horizontal Scaling) bằng cách thiết lập cụm Liferay Cluster phía sau bộ cân bằng tải Nginx (Load Balancer) và tách riêng Database Server cấu hình Master-Slave Replication cho MySQL.
3. Hệ thống có thể tích hợp với các giải pháp quản lý doanh nghiệp sẵn có không?
Có. Nhờ nền tảng kiến trúc mở của Liferay Portal và Spring Boot, hệ thống dễ dàng tích hợp với dịch vụ xác thực tập trung sẵn có của doanh nghiệp thông qua các giao thức chuẩn như LDAP, Active Directory (AD), SAML 2.0 hoặc OAuth2/OpenID Connect.
4. Chi phí duy trì và bảo trì hệ thống hàng năm ước tính là bao nhiêu?
Do toàn bộ nền tảng sử dụng các phiên bản mã nguồn mở cộng đồng miễn phí (Liferay Community Edition, OpenJDK, Spring Boot, MySQL Community), doanh nghiệp không phải trả bất kỳ khoản phí bản quyền phần mềm nào. Chi phí vận hành chỉ bao gồm tiền thuê hạ tầng máy chủ đám mây (Cloud VPS khoảng $20 - $50/tháng) và chi phí bảo trì hệ thống định kỳ.
5. Cơ chế bảo mật dữ liệu chi phí và thông tin nhân sự được đảm bảo như thế nào?
Hệ thống áp dụng cơ chế xác thực đa lớp: phân quyền truy cập nghiêm ngặt dựa trên vai trò (RBAC); mã hóa mật khẩu người dùng bằng thuật toán băm một chiều an toàn; dữ liệu truyền tải qua giao thức bảo mật SSL/HTTPS; và toàn bộ các câu lệnh truy vấn SQL đều được tham số hóa (Parameterized Queries) ngăn chặn tuyệt đối lỗi bảo mật SQL Injection.
Kết luận
Đồ án tốt nghiệp "Xây dựng hệ thống Website quản lý lịch công tác của nhân viên trong dự án công ty SDTECH" đã giải quyết trọn vẹn bài toán thực tiễn về tin học hóa và tối ưu quy trình quản trị nguồn lực dự án tại Công ty SDTECH. Bằng việc kết hợp hiệu quả giữa nền tảng Cổng thông tin doanh nghiệp hàng đầu Liferay Portal 7.2, sức mạnh của framework Spring Boot và cơ sở dữ liệu MySQL, đề tài đã xây dựng thành công một giải pháp công nghệ có tính ứng dụng cao, vận hành ổn định và bảo mật chặt chẽ.
Hệ thống không chỉ loại bỏ các thủ tục hành chính rườm rà, tiết kiệm thời gian phê duyệt và kiểm soát minh bạch 100% ngân sách công tác phí, mà còn cung cấp nền tảng kiến trúc module hóa chuẩn OSGi vững chắc, sẵn sàng cho việc mở rộng tính năng trong các giai đoạn phát triển tiếp theo của doanh nghiệp. Đây là một minh chứng rõ nét cho việc ứng dụng kiến thức Công nghệ Thông tin chuyên sâu vào giải quyết các bài toán chuyển đổi số thực tế trong doanh nghiệp hiện đại.