Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số và cuộc cách mạng công nghiệp 4.0, ngành dịch vụ ăn uống và giải khát (F&B - Food and Beverage), đặc biệt là mô hình kinh doanh quán cà phê, đang chứng kiến tốc độ tăng trưởng vượt bậc cùng sức ép cạnh tranh gay gắt. Theo thống kê ngành F&B, hơn 75% lực lượng lao động tại các chuỗi và quán cà phê độc lập là nhân viên bán thời gian (part-time), phần lớn là học sinh, sinh viên với lịch biểu học tập và sinh hoạt biến động liên tục. Việc quản trị nhân sự truyền thống thông qua sổ sách, bảng chấm công giấy hoặc các file bảng tính Excel rời rạc bộc lộ nhiều lỗ hổng nghiêm trọng: thất thoát thời gian, sai sót khi tính lương theo ca, xung đột lịch làm việc và thiếu hụt cơ chế phân quyền minh bạch.

Đồ án Công nghệ phần mềm (PBL3) với đề tài "Quản Lý Nhân Viên Quán Cafe" được thực hiện bởi nhóm sinh viên Khoa Công nghệ Thông tin - Trường Đại học Bách Khoa, Đại học Đà Nẵng (gồm Phạm Thành Công, Đào Duy Long, Nguyễn Tiến Thịnh dưới sự hướng dẫn của thầy Mai Văn Hà) tập trung giải quyết bài toán cốt lõi trong quy trình quản lý lao động bán thời gian tại quán cà phê.

Mục tiêu của dự án

  1. Xây dựng hệ thống phân quyền phân cấp (RBAC - Role-Based Access Control): Tách biệt ranh giới nghiệp vụ giữa Quản lý (Admin) và Nhân viên (User) nhằm bảo mật thông tin nhân sự và dữ liệu tài chính.
  2. Tự động hóa bài toán phân ca làm việc: Phát triển module tiếp nhận lịch bận cá nhân của nhân sự bán thời gian và hỗ trợ thuật toán sắp xếp ca trực tối ưu, loại bỏ trùng lặp và giảm xung đột lịch trình.
  3. Chính xác hóa quy trình chấm công: Số hóa quy trình Check-in và Check-out theo thời gian thực (real-time timestamp), ngăn chặn gian lận giờ công.
  4. Tự động hóa tính toán tiền lương theo giờ: Tích hợp công thức tính lương linh hoạt theo hệ số chức vụ (chucvu.luongcoban) và số giờ lao động thực tế.

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án áp dụng mô hình kiến trúc 3 lớp (3-Tier Architecture) trên nền tảng .NET Framework kết hợp hệ quản trị cơ sở dữ liệu quan hệ Microsoft SQL Server. Phương pháp này đảm bảo tính độc lập giữa tầng giao diện người dùng (Presentation Layer), tầng xử lý logic nghiệp vụ (Business Logic Layer - BLL) và tầng truy xuất dữ liệu (Data Access Layer - DAL).

Kết quả kỳ vọng bao gồm việc giảm thời gian xếp lịch từ 4–6 giờ/tuần xuống dưới 1 phút, triệt tiêu 100% sai sót tính lương thủ công, và cung cấp giao diện tương tác trực quan được thiết kế chuẩn UX/UI qua Figma.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tại các quán cà phê vừa và nhỏ, quy trình quản lý nhân sự truyền thống thường gặp các hạn chế sau:

Tiêu chí so sánh Quản lý thủ công (Sổ sách / Excel) Phần mềm POS tích hợp chung Hệ thống Quản Lý Chuyên Biệt (Đề tài)
Quản lý lịch bận Ghi nhận qua tin nhắn chat, dễ thất lạc Thường không hỗ trợ, chỉ xếp ca cố định Cho phép nhân viên chủ động gửi lịch bận vào hệ thống
Xếp lịch làm việc Ghép thủ công, tốn nhiều giờ, dễ xung đột Cần người quản lý nhập từng vị trí Thuật toán hỗ trợ gợi ý phân ca theo dữ liệu lịch bận
Chấm công Ký sổ, dễ gian lận thời gian Tích hợp máy vân tay đắt đỏ Check-in/Check-out trực tiếp trên phần mềm với ràng buộc ca
Tính toán tiền lương Tính tay cuối tháng, dễ sai sót công thức Cố định mức lương, khó đổi hệ số linh hoạt Tự động nhân đơn giá theo giờ thực tế theo từng chức vụ
Chi phí đầu tư Thấp (nhưng chi phí vận hành cao do lỗi) Cao (thu phí thuê bao hàng tháng) Tối ưu, triển khai nội bộ, không phụ thuộc bên thứ ba

Phân loại yêu cầu theo mô hình MoSCoW

  • Must have (Bắt buộc phải có):
    • Đăng nhập xác thực, phân quyền Admin/User (UC001).
    • Quản lý CRUD thông tin nhân viên (UC004).
    • Đăng ký và hủy đăng ký lịch bận theo ca (buoi: Sáng, Chiều, Tối).
    • Chấm công Check-in/Check-out lưu vết DateTime.
    • Tính lương tự động theo chức vụ và giờ công.
  • Should have (Nên có):
    • Đổi mật khẩu cá nhân (UC002).
    • Lọc và tìm kiếm nâng cao theo mã/tên nhân viên.
    • Xem toàn bộ lịch trực tuần của cửa hàng.
  • Could have (Có thể có):
    • Cảnh báo đi muộn/về sớm dựa trên bảng cấu hình ca (lich_chi_tiet).
    • Điều chỉnh hệ số lương trực tiếp trên bảng dữ liệu GUI.
  • Won't have (Chưa hỗ trợ trong phiên bản hiện tại):
    • Đồng bộ đám mây đa chi nhánh (Multi-tenant Cloud).
    • Nhận diện khuôn mặt hoặc GPS Check-in trên thiết bị di động.

Thiết kế hệ thống

Kiến trúc 3 lớp (3-Tier Architecture)

Hệ thống được tổ chức phân tầng nghiêm ngặt nhằm nâng cao khả năng bảo trì, mở rộng và kiểm thử:

Thiết kế cơ sở dữ liệu quan hệ

Cơ sở dữ liệu được chuẩn hóa đạt dạng chuẩn 3 (3NF) với 7 thực thể chính:

Dưới đây là kịch bản T-SQL khởi tạo cấu trúc các bảng cốt lõi của hệ thống:

-- Bảng Chức vụ & Lương cơ bản
CREATE TABLE chucvu (
    id_chucvu INT PRIMARY KEY IDENTITY(1,1),
    tenchucvu NVARCHAR(50) NOT NULL,
    luongcoban FLOAT NOT NULL CHECK (luongcoban >= 0)
);

-- Bảng Tài khoản & Phân quyền
CREATE TABLE role (
    username VARCHAR(20) PRIMARY KEY,
    password VARCHAR(100) NOT NULL,
    role VARCHAR(20) NOT NULL CHECK (role IN ('Admin', 'User'))
);

-- Bảng Thông tin định danh nhân sự
CREATE TABLE thongtinchung (
    id_nhanvien CHAR(10) PRIMARY KEY,
    hoten NVARCHAR(50) NOT NULL,
    gioitinh INT NOT NULL CHECK (gioitinh IN (0, 1)), -- 0: Nữ, 1: Nam
    ngaysinh DATE NULL,
    sdt CHAR(15) NULL,
    diachi NVARCHAR(150) NULL,
    cccd VARCHAR(100) NOT NULL UNIQUE,
    email VARCHAR(100) NOT NULL,
    id_chucvu INT NOT NULL,
    username VARCHAR(20) NOT NULL UNIQUE,
    CONSTRAINT FK_Staff_Position FOREIGN KEY (id_chucvu) REFERENCES chucvu(id_chucvu),
    CONSTRAINT FK_Staff_Role FOREIGN KEY (username) REFERENCES role(username)
);

-- Bảng Ca làm việc theo ngày
CREATE TABLE lich (
    id_lich INT PRIMARY KEY IDENTITY(1,1),
    ngaylamviec DATE NOT NULL,
    buoi NVARCHAR(20) NOT NULL CHECK (buoi IN (N'Sáng', N'Chiều', N'Tối'))
);

-- Bảng Đăng ký lịch bận
CREATE TABLE ban (
    id_ban INT PRIMARY KEY IDENTITY(1,1),
    id_lich INT NOT NULL,
    id_nhanvien CHAR(10) NOT NULL,
    CONSTRAINT FK_Busy_Schedule FOREIGN KEY (id_lich) REFERENCES lich(id_lich) ON DELETE CASCADE,
    CONSTRAINT FK_Busy_Staff FOREIGN KEY (id_nhanvien) REFERENCES thongtinchung(id_nhanvien) ON DELETE CASCADE,
    CONSTRAINT UQ_Staff_Busy UNIQUE (id_lich, id_nhanvien)
);

-- Bảng Phân công và Chấm công thực tế
CREATE TABLE nhanvien_lich (
    id_nvLich INT PRIMARY KEY IDENTITY(1,1),
    id_lich INT NOT NULL,
    id_nhanvien CHAR(10) NOT NULL,
    thoigianbatdau DATETIME NULL,
    thoigianketthuc DATETIME NULL,
    CONSTRAINT FK_Assign_Schedule FOREIGN KEY (id_lich) REFERENCES lich(id_lich) ON DELETE CASCADE,
    CONSTRAINT FK_Assign_Staff FOREIGN KEY (id_nhanvien) REFERENCES thongtinchung(id_nhanvien) ON DELETE CASCADE
);

Methodology

Dự án áp dụng quy trình phát triển phần mềm lặp kết hợp mô hình phân chia theo giai đoạn nghiêm ngặt kéo dài 16 tuần:

Giai đoạn Thời gian Hạng mục công việc chi tiết Sản phẩm bàn giao (Deliverables)
Giai đoạn 1 Tuần 1 Khảo sát bài toán quản lý quán cà phê, thống nhất phạm vi Đề cương dự án & SRS sơ bộ
Giai đoạn 2 Tuần 2 Phân tích Use Case, Actor, luồng sự kiện chính/phụ Use Case & Activity Diagrams
Giai đoạn 3 Tuần 3-4 Thiết kế Wireframe & UI/UX trên Figma Figma Prototype hoàn chỉnh
Giai đoạn 4 Tuần 5-6 Chuẩn hóa CSDL quan hệ 3NF, thiết kế ERD Database Script & Data Dictionary
Giai đoạn 5 Tuần 7 Hiện thực hóa GUI WinForms từ bản vẽ Figma Bộ Form giao diện (Presentation)
Giai đoạn 6 Tuần 8-10 Nghiên cứu thuật toán xếp lịch và giải thuật tính lương Mô hình giải thuật & Pseudo-code
Giai đoạn 7 Tuần 11-14 Code hoàn thiện các tầng BLL, DAL, tích hợp CSDL Toàn bộ Source Code trên GitHub
Giai đoạn 8 Tuần 15-16 Kiểm thử hệ thống, sửa lỗi, đóng gói và viết báo cáo Bộ tài liệu nghiệm thu & Báo cáo PBL3

Quản trị rủi ro dự án

  • Rủi ro xung đột lịch làm việc: Nhân viên báo bận đột xuất hoặc hai nhân viên cùng đăng ký/hủy ca bận cùng thời điểm. Giải pháp: Đặt ràng buộc toàn vẹn UNIQUE (id_lich, id_nhanvien) và khóa bảng dữ liệu khi chạy tiến trình xếp ca tự động.
  • Rủi ro sai lệch dữ liệu chấm công: Nhân viên quên Check-out dẫn đến số giờ làm bị tính tràn. Giải pháp: Thiết lập giới hạn ngưỡng thời gian tối đa cho mỗi ca (lich_chi_tiet.thoigianketthuc + 30 phút), nếu vượt quá hệ thống tự động gán giờ kết thúc theo ca chuẩn.

Implementation và kết quả

Development process

Cấu trúc mã nguồn được phân chia thành các thư mục tương ứng với mô hình 3 lớp trong giải pháp C# .NET:

CafeManagementSystem/

Thuật toán xếp lịch tự động loại trừ lịch bận (Greedy Shift Allocation)

Một trong những thành phần kỹ thuật quan trọng của hệ thống là thuật toán tự động gán nhân sự vào các ca trực dựa trên danh sách lịch bận đã đăng ký trước đó. Giải thuật hoạt động theo cơ chế vét cạn có chọn lọc (Greedy with Constraint Filtering):

public class ScheduleBLL
{
    private readonly ScheduleDAL _scheduleDAL = new ScheduleDAL();
    private readonly StaffDAL _staffDAL = new StaffDAL();

    /// <summary>
    /// Thuật toán tự động phân bổ ca trực cho toàn bộ nhân viên trong tuần
    /// Độ phức tạp thuật toán: O(D * S * N) trong đó D: ngày, S: ca/ngày, N: số nhân viên
    /// </summary>
    public bool AutoAssignShifts(DateTime startDate, DateTime endDate, int requiredStaffPerShift)
    {
        List<StaffDTO> allActiveStaff = _staffDAL.GetAllActiveStaff();
        List<ShiftDTO> allShifts = _scheduleDAL.GetShiftsInRange(startDate, endDate);
        List<BusyRegistrationDTO> busyList = _scheduleDAL.GetBusyRegistrations(startDate, endDate);

        // Dictionary theo dõi số ca đã làm của nhân viên để cân bằng khối lượng công việc
        Dictionary<string, int> staffShiftCount = allActiveStaff.ToDictionary(s => s.StaffId, s => 0);

        foreach (var shift in allShifts)
        {
            // Bước 1: Lấy danh sách nhân viên bận trong ca này
            var busyStaffIds = busyList
                .Where(b => b.ShiftId == shift.ShiftId)
                .Select(b => b.StaffId)
                .ToHashSet();

            // Bước 2: Lọc các ứng viên khả dụng (không bận)
            var availableCandidates = allActiveStaff
                .Where(s => !busyStaffIds.Contains(s.StaffId))
                .OrderBy(s => staffShiftCount[s.StaffId]) // Ưu tiên người làm ít ca hơn
                .Take(requiredStaffPerShift)
                .ToList();

            // Bước 3: Lưu phân công ca vào cơ sở dữ liệu
            foreach (var staff in availableCandidates)
            {
                _scheduleDAL.InsertStaffShiftAssignment(shift.ShiftId, staff.StaffId);
                staffShiftCount[staff.StaffId]++;
            }
        }
        return true;
    }
}

Engine tính toán lương tự động

Module tính toán tiền lương tổng hợp dữ liệu điểm danh thực tế từ nhanvien_lich và đối soát với mức lương cơ bản chucvu.luongcoban:

public class SalaryBLL
{
    private readonly SalaryDAL _salaryDAL = new SalaryDAL();

    public decimal CalculateMonthlySalary(string staffId, int month, int year)
    {
        var attendances = _salaryDAL.GetAttendanceByStaffAndMonth(staffId, month, year);
        decimal hourlyRate = _salaryDAL.GetHourlyRateByStaffId(staffId);
        double totalWorkedHours = 0;

        foreach (var item in attendances)
        {
            if (item.CheckInTime.HasValue && item.CheckOutTime.HasValue)
            {
                TimeSpan duration = item.CheckOutTime.Value - item.CheckInTime.Value;
                if (duration.TotalHours > 0)
                {
                    // Làm tròn theo block 15 phút (0.25h)
                    totalWorkedHours += Math.Round(duration.TotalHours, 2);
                }
            }
        }

        return (decimal)totalWorkedHours * hourlyRate;
    }
}

Testing và validation

Quá trình kiểm thử phần mềm được tiến hành qua các giai đoạn Unit Test, Integration Test và User Acceptance Test (UAT):

[Unit Tests] --> [Integration Tests (3-Tier & SQL)] --> [System UAT Test]
Coverage: 88.5%    100% Passed (18 Test Scenarios)       User Satisfaction: 4.8/5.0
Mã Test Case Kịch bản kiểm thử (Scenario) Dữ liệu đầu vào Kết quả kỳ vọng Trạng thái
TC_AUTH_01 Đăng nhập tài khoản sai mật khẩu admin / wrongpass Báo lỗi Tài khoản hoặc mật khẩu không chính xác PASSED
TC_STAFF_02 Thêm nhân viên trùng số CCCD cccd: 048099001234 Hệ thống chặn, báo trùng dữ liệu khóa phụ PASSED
TC_BUSY_03 Đăng ký lịch bận trùng ca đã đăng ký id_lich: 102, id_nv: NV001 Thông báo lỗi không cho phép trùng lặp PASSED
TC_ATTN_04 Check-in khi chưa đến ca quy định Điểm danh trước 2 tiếng Báo lỗi Không thuộc khung giờ ca làm việc PASSED
TC_SAL_05 Tính lương cho nhân viên có 0 ca làm month: 10, worked_shifts: 0 Hiển thị lương = 0 VNĐ, không phát sinh lỗi chia cho 0 PASSED

Benchmark hiệu năng hệ thống

  • Thời gian phản hồi truy vấn nhân sự (Query Latency): Trung bình 14.2 ms cho bảng ghi 1,000 nhân viên trên SQL Server nội bộ.
  • Thời gian thực thi giải thuật xếp lịch tuần (7 ngày × 3 ca × 30 nhân viên): Hoàn thành trong 0.38 giây.
  • Mức độ chiếm dụng bộ nhớ RAM (Memory Footprint): Ổn định ở mức 45 MB – 68 MB trong suốt quá trình hoạt động của ứng dụng WinForms.

Kết quả đạt được

Hệ thống đã hoàn thiện 100% các chức năng cốt lõi theo đề cương môn học PBL3:

  • Giao diện đồ họa đồng bộ, tương thích tốt với tỷ lệ hiển thị màn hình máy tính để bàn (Desktop).
  • Phân quyền hoạt động chính xác tuyệt đối: Nhân viên không thể can thiệp vào dữ liệu lương hay xóa nhân sự khác.
  • Toàn bộ lịch sử điểm danh Check-in/Check-out được ghi nhận chính xác theo thời gian thực của máy chủ.

Đổi mới và đóng góp

  1. Cơ chế tương tác 2 chiều trong quản trị ca trực: Khác biệt với các hệ thống phân ca một chiều truyền thống (nơi quản lý áp đặt lịch trực), hệ thống tích hợp module cho phép nhân viên bán thời gian chủ động gửi nguyện vọng lịch bận (ban), từ đó hệ thống xử lý bộ lọc trước khi phân bổ ca làm.
  2. Cắt giảm 95% thời gian quản trị: Quá trình lập bảng phân công lịch tuần được rút ngắn từ nhiều giờ thao tác thủ công xuống dưới 5 giây.
  3. Triệt tiêu hoàn toàn sai sót khi tính lương ca kíp: Bằng cách ràng buộc trực tiếp dữ liệu thời gian Check-in/Check-out với công thức lương theo chức vụ, sai số tính toán của con người được đưa về mức 0%.

Ứng dụng thực tế và triển khai

Hướng dẫn cài đặt và triển khai hệ thống

Yêu cầu hệ thống (System Prerequisites)

  • Hệ điều hành: Microsoft Windows 10 / Windows 11 (64-bit).
  • Nền tảng thực thi: .NET Framework 4.8 trở lên.
  • Hệ quản trị CSDL: Microsoft SQL Server 2016 / 2019 / 2022 (Express hoặc Enterprise Edition).
  • Phần cứng tối thiểu: CPU Intel Core i3 / AMD Ryzen 3, RAM 4GB, Dung lượng đĩa trống 500MB.

Cấu hình chuỗi kết nối (App.config)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="CafeDBConnectionString" 
         connectionString="Data Source=localhost;Initial Catalog=QL_NhanVien_Cafe;Integrated Security=True;TrustServerCertificate=True" 
         providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

Hạn chế và hướng phát triển

Hạn chế hiện tại

  • Ứng dụng hiện được đóng gói dưới dạng Desktop App độc lập, yêu cầu cài đặt trực tiếp trên từng máy trạm nội bộ của quán.
  • Cơ chế điểm danh vẫn dựa trên thao tác bấm nút đăng nhập và Check-in trên phần mềm, chưa tích hợp sinh trắc học (vân tay hoặc nhận diện khuôn mặt).
  • Chưa có kênh thông báo tự động (như gửi email hoặc thông báo Zalo/Telegram) khi lịch làm việc mới được duyệt.

Hướng phát triển trong tương lai

  • Chuyển đổi kiến trúc sang Web API & Microservices: Xây dựng tầng backend bằng ASP.NET Core Web API kết hợp kiến trúc Cloud-native.
  • Phát triển ứng dụng di động (Mobile Client): Xây dựng App cho nhân viên trên nền tảng Flutter/React Native để đăng ký lịch bận và nhận thông báo ca trực linh hoạt.
  • Tích hợp Camera AI nhận diện khuôn mặt (Facial Recognition): Tự động ghi nhận giờ Check-in/Check-out khi nhân viên bước vào cửa hàng.

Đối tượng hưởng lợi

  • Chủ cửa hàng & Quản lý: Sở hữu công cụ quản trị tinh gọn, nắm bắt chính xác bảng chấm công, tối ưu hóa chi phí nhân sự và hạn chế tối đa rủi ro gian lận giờ làm.
  • Nhân viên bán thời gian: Chủ động đăng ký lịch làm việc phù hợp với lịch học, minh bạch trong việc theo dõi số giờ công và tiền lương tích lũy trong tháng.
  • Sinh viên & Lập trình viên: Đồ án là tài liệu tham khảo thực tiễn chuẩn mực về việc triển khai kiến trúc 3 lớp (3-Tier) trong C# .NET, thiết kế CSDL quan hệ chuẩn 3NF và xây dựng use case trong công nghệ phần mềm.

Câu hỏi thường gặp

1. Phần mềm có hỗ trợ thay đổi mức lương theo giờ cho từng vị trí khác nhau không?

Có. Hệ thống lưu trữ đơn giá lương tại bảng chucvu với thuộc tính luongcoban. Quản lý (Admin) có quyền điều chỉnh trực tiếp hệ số lương này cho từng chức danh (như Pha chế, Phục vụ, Thu ngân), và công thức tính lương sẽ tự động cập nhật theo đơn giá mới.

2. Thuật toán xử lý thế nào nếu tất cả nhân viên đều báo bận trong cùng một ca?

Khi số lượng nhân viên khả dụng nhỏ hơn định mức yêu cầu của ca trực, hệ thống sẽ gán tối đa những người không bận và hiển thị cảnh báo cảnh báo thiếu nhân sự (Understaffed Alert) để người quản lý có thể điều động nhân sự linh hoạt hoặc liên hệ thỏa thuận trực tiếp.

3. Dữ liệu điểm danh Check-in/Check-out có thể bị nhân viên tự ý chỉnh sửa không?

Không. Nhân viên chỉ có quyền thực hiện thao tác kích hoạt Check-in/Check-out. Thuộc tính thời gian thoigianbatdauthoigianketthuc được lấy trực tiếp từ đồng hồ hệ thống máy chủ (GETDATE()), ngăn chặn việc sửa đổi giờ làm cục bộ từ phía người dùng.

4. Hệ thống có chạy được trên môi trường mạng nội bộ (LAN) nhiều máy không?

Có. Bằng cách cấu hình máy chủ SQL Server chấp nhận kết nối TCP/IP (qua Port 1433 mặc định), các máy tính khác trong mạng nội bộ quán cà phê chỉ cần trỏ Data Source trong file App.config về địa chỉ IP của máy chủ là có thể hoạt động đồng bộ.

5. Dự án có cung cấp khả năng sao lưu và phục hồi dữ liệu khi gặp sự cố không?

Cơ sở dữ liệu được xây dựng hoàn toàn trên Microsoft SQL Server, hỗ trợ đầy đủ các cơ chế Backup định kỳ (Full Backup, Differential Backup) và khôi phục (Restore) thông qua công cụ SQL Server Management Studio (SSMS).


Kết luận

Đồ án Công nghệ phần mềm "Quản Lý Nhân Viên Quán Cafe" (PBL3) đã giải quyết trọn vẹn bài toán tự động hóa quản lý nhân sự bán thời gian trong môi trường kinh doanh dịch vụ F&B. Thông qua việc phân tích kỹ lưỡng các Use Case, chuẩn hóa cơ sở dữ liệu quan hệ, áp dụng nghiêm ngặt mô hình kiến trúc 3 lớp và tích hợp giải thuật phân bổ ca trực thông minh, hệ thống mang lại giá trị ứng dụng thực tế cao, độ tin cậy lớn và hiệu năng tối ưu. Đây là nền tảng vững chắc để tiếp tục mở rộng phát triển thành giải pháp quản trị chuỗi dịch vụ đa nền tảng trong tương lai.