Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh thị trường dịch vụ hiện đại, các cửa hàng cung cấp dịch vụ trang trí tiệc cưới xuất hiện ngày càng nhiều nhằm đáp ứng nhu cầu tổ chức lễ cưới trang trọng, chu đáo của khách hàng trong điều kiện công việc bận rộn. Tuy nhiên, hoạt động vận hành của một cửa hàng trang trí tiệc cưới bao gồm nhiều khâu phức tạp như quản lý thông tin khách hàng, nhân viên, kho nguyên vật liệu, đơn giá nhập hàng, lịch trình thi công và các chi phí phát sinh ngoài hiện trường. Việc áp dụng các phương pháp ghi chép và quản lý thủ công truyền thống bộc lộ nhiều bất cập, gây khó khăn trong việc kiểm soát khối lượng công việc lớn và dễ dẫn đến sai sót trong điều phối.

Xuất phát từ thực tiễn trên, đề tài khóa luận "Phát triển hệ thống quản lý cửa hàng trang trí tiệc cưới" được nhóm tác giả thực hiện nhằm xây dựng một giải pháp tin học hóa toàn diện.

Mục tiêu và nhiệm vụ nghiên cứu của khóa luận được xác định cụ thể như sau:

  1. Tìm hiểu và áp dụng công nghệ Xamarin.Forms để xây dựng ứng dụng di động (Mobile) hỗ trợ quản lý di động với các chức năng: quản lý tình trạng hóa đơn, quản lý chi tiết hóa đơn, quản lý phân công công việc, điểm danh/chấm công nhân viên và theo dõi danh mục vật liệu trong kho.
  2. Xây dựng ứng dụng máy tính (Desktop) sử dụng công nghệ WPF (Windows Presentation Foundation) nhằm phục vụ công tác quản trị chuyên sâu tại cửa hàng: quản lý nhân viên, tài khoản, khách hàng, hóa đơn, kho vật liệu, mẫu sản phẩm, nhà cung cấp, đơn giá nhập và báo cáo thống kê doanh thu.
  3. Xây dựng Website giới thiệu sử dụng nền tảng ASP.NET Core nhằm quảng bá thương hiệu, trưng bày các gói dịch vụ trang trí, đăng tải bài viết (blog) và hỗ trợ khách hàng đặt lịch trực tuyến.
  4. Tích hợp và hoàn chỉnh hệ thống quản lý đồng bộ dữ liệu giữa các nền tảng thông qua Web API và cơ sở dữ liệu tập trung.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ quản trị, vận hành và tiếp thị của cửa hàng dịch vụ trang trí tiệc cưới.
  • Phạm vi không gian và công nghệ: Xây dựng ứng dụng di động trên hệ điều hành Android bằng Xamarin.Forms; xây dựng ứng dụng quản lý máy tính trên hệ điều hành Windows bằng WPF; xây dựng trang thông tin điện tử bằng ASP.NET Core; cơ sở dữ liệu quan hệ được đồng bộ qua hệ thống Web API.
  • Thời gian thực hiện: Đề cương và nghiên cứu được triển khai từ ngày 11/03/2019 đến ngày 26/06/2019 (bảo vệ vào tháng 09/2019) tại Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP.HCM.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên nền tảng kỹ thuật công nghệ phần mềm hiện đại thuộc hệ sinh thái .NET của Microsoft, bao gồm các khung lý thuyết, công nghệ và kiến trúc:

  • Nền tảng Xamarin.Forms: Khung phát triển ứng dụng di động đa nền tảng (hỗ trợ iOS, Android, UWP, Windows Runtime API). Framework này cung cấp cơ chế trừu tượng hóa giao diện thông qua các phần tử Pages (ContentPage, MasterDetailPage, NavigationPage, TabbedPage, CarouselPage), Layouts, Views và Cells, sau đó chuyển hóa sang các thành phần giao diện gốc (native controls) của từng hệ điều hành.
  • Kiến trúc MVVM (Model - View - ViewModel) và Data Binding: Nghiên cứu cơ chế liên kết dữ liệu trong mã nguồn C# và ngôn ngữ XAML. Khóa luận phân tích 4 chế độ liên kết (BindingMode): Default, OneWay, OneWayToSource và TwoWay, cùng với giao diện chuẩn INotifyPropertyChanged để cập nhật trạng thái dữ liệu hai chiều. Đồng thời, tác giả khảo sát các framework hỗ trợ MVVM như FreshMVVM (tích hợp FreshIOC, tự động gán BindingContext), MVVMLight (với ObservableObject, ViewModelBase, Messenger), Prism (cung cấp bộ mẫu Prism Template Pack, hỗ trợ Dependency Injection) và MVVMCross.
  • Nền tảng WPF (Windows Presentation Foundation): UI Framework dành cho ứng dụng Desktop trên Windows, tận dụng công cụ kết xuất đồ họa vector, phân tách rõ ràng giữa lớp hiển thị XAML (Markup) và lớp xử lý logic (Code-behind).
  • Nền tảng ASP.NET Core & Web API: Framework mã nguồn mở đa nền tảng, triển khai mô hình MVC (Model-View-Controller), Razor Pages và Tag Helpers để xây dựng ứng dụng Web và cung cấp giao diện lập trình ứng dụng RESTful API phục vụ kết nối dữ liệu.

Phương pháp nghiên cứu được áp dụng trong đề tài bao gồm:

  • Phương pháp tổng hợp lý thuyết: Thu thập, đọc và phân tích các tài liệu kỹ thuật, tài liệu chuyên ngành liên quan đến công nghệ Xamarin.Forms, WPF, ASP.NET Core và mô hình MVVM.
  • Phương pháp chuyên gia: Tham khảo ý kiến định hướng từ giảng viên hướng dẫn (TS. Lê Văn Vinh) và các kỹ sư, đồng nghiệp có kinh nghiệm thực tế để chuẩn hóa quy trình và độ chính xác kỹ thuật.
  • Phương pháp mô hình hóa: Sử dụng ngôn ngữ mô hình hóa UML để xây dựng sơ đồ Use case, sơ đồ tuần tự (Sequence diagrams), sơ đồ lớp (Class diagrams) và sơ đồ quan hệ thực thể (ERD) từ giai đoạn phân tích đến cài đặt phần mềm.

Nguồn dữ liệu nghiên cứu: Dữ liệu khảo sát nghiệp vụ thực tế từ hoạt động kinh doanh dịch vụ trang trí tiệc cưới, kết hợp hệ cơ sở dữ liệu mẫu được thiết kế chuẩn hóa gồm 18 bảng quan hệ.


Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc phân tán với cơ sở dữ liệu tập trung, kết nối đồng bộ giữa 3 phân hệ độc lập:

Phân hệ Công nghệ triển khai Đối tượng sử dụng Chức năng trọng tâm
Ứng dụng Mobile Xamarin.Forms (Android) Nhân viên hiện trường, Quản lý Xem hóa đơn, quản lý chi tiết hóa đơn, cập nhật phát sinh, phân công công việc, điểm danh/chấm công nhân viên, tra cứu kho vật liệu.
Ứng dụng Desktop WPF (C#, XAML) Chủ cửa hàng, Nhân viên quản lý Quản lý hóa đơn xuất/nhập, khách hàng, nhân viên, tài khoản, kho vật liệu, mẫu sản phẩm, nhà cung cấp, đơn giá nhập, thống kê doanh thu.
Website ASP.NET Core (MVC, Razor) Khách hàng, Công chúng Giới thiệu cửa hàng, trưng bày danh mục dịch vụ/sản phẩm trang trí, đăng tải bài viết kinh nghiệm, hỗ trợ đặt lịch tư vấn trực tuyến.

Thiết kế cơ sở dữ liệu (ERD) của hệ thống bao gồm 18 bảng dữ liệu quan hệ chặt chẽ:

  1. Loại dịch vụ và Dịch vụ: Phân loại và định danh các gói dịch vụ cưới.
  2. Sản phẩm và Chi tiết sản phẩm: Quản lý các mẫu trang trí và định mức vật liệu cấu thành.
  3. Kho vật liệu: Kiểm soát số lượng tồn kho nguyên vật liệu trang trí.
  4. Nhà cung cấp, Đơn giá nhập hàng, Chi tiết đơn giá nhập hàng: Quản lý chuỗi nhập nguyên vật liệu đầu vào.
  5. Khách hàng và Đặt lịch: Lưu trữ thông tin liên hệ và các yêu cầu hẹn lịch từ website.
  6. Hóa đơn, Chi tiết hóa đơn, Phát sinh: Quản lý hợp đồng dịch vụ tiệc cưới, các hạng mục trang trí đã chọn và các khoản phụ phí phát sinh trong quá trình thi công.
  7. Nhân viên, Tài khoản, Phân công: Quản lý nhân sự, phân quyền người dùng và điều phối nhân sự theo từng hóa đơn cụ thể.
  8. Đánh giá: Ghi nhận phản hồi của khách hàng.

Hệ thống được thiết kế với hơn 40 lược đồ tuần tự (Sequence Diagrams) mô tả chi tiết các tương tác nghiệp vụ như: Đăng nhập hệ thống, Thay đổi tình trạng hóa đơn, Thêm/sửa/xóa phát sinh chi phí, Điểm danh check-in/check-out nhân viên, Tìm kiếm và nhập kho vật liệu, Lập bảng phân công, Xem báo cáo thống kê doanh thu theo tháng và theo khoảng thời gian.


Nội dung chính theo từng chương

Chương 1: Nền tảng kiến thức

Chương này tập trung trình bày cơ sở lý thuyết về các công nghệ được áp dụng trong toàn bộ đồ án. Tác giả phân tích tổng quan về Xamarin.Forms, cơ chế chia sẻ mã nguồn trung bình 75% logic giữa các nền tảng di động, đồng thời so sánh hiệu năng của Xamarin với ứng dụng native (Java, Kotlin, Swift, Objective-C).

Bên cạnh các ưu điểm về giao diện native và hỗ trợ REST APIs, tác giả chỉ ra các nhược điểm thực tế: dung lượng gói cài đặt ứng dụng Xamarin lớn hơn (khoảng 3MB so với 172KB của ứng dụng viết bằng Objective-C thuần), hạn chế của trình biên dịch AOT (Ahead-Of-Time), thời gian build ứng dụng trên Visual Studio khá lâu (mất từ 3 đến 10 phút cho một solution gồm 30 project), cùng sự hạn chế về quy mô cộng đồng hỗ trợ (ước tính chiếm khoảng 10% lập trình viên di động toàn cầu). Ngoài ra, chương 1 phân tích sâu kỹ thuật DataBinding trong XAML, nguyên lý hoạt động của mô hình MVVM, so sánh các framework FreshMVVM, MVVMLight, Prism, MVVMCross; đồng thời giới thiệu tổng quan về ASP.NET Core và công nghệ WPF.

Chương 2: Khảo sát hiện trạng và xác định yêu cầu

Nội dung chương 2 phân tích hiện trạng hoạt động của các cơ sở kinh doanh dịch vụ tiệc cưới, từ đó đặc tả chi tiết các yêu cầu chức năng và phi chức năng cho từng thành phần của hệ thống. Tác giả xây dựng 3 lược đồ Use case tổng quát:

  • Use case Desktop: Bao gồm các nhóm chức năng Đăng nhập, Thêm mới (hóa đơn, khách hàng, chi tiết hóa đơn, phát sinh), Quản lý hóa đơn (tìm kiếm, sửa thông tin, thay đổi tình trạng, thanh toán, xóa, quản lý phân công), Quản lý kho và danh mục vật liệu, Quản lý nhân sự và phân quyền, Quản lý nhà cung cấp và nhập hàng, Thống kê báo cáo doanh thu, Quản lý nội dung website (đặt lịch, blog).
  • Use case Mobile: Hỗ trợ người quản lý thao tác di động với các chức năng xem/cập nhật hóa đơn, điều phối phân công công việc, điểm danh chấm công nhân viên và tra cứu nhanh vật liệu trong kho.
  • Use case Website: Dành cho khách hàng tra cứu thông tin dịch vụ, xem bài viết tư vấn, thực hiện đặt lịch và gửi đánh giá phản hồi.

Chương 3: Thiết kế ứng dụng

Chương 3 là phần trọng tâm về mặt kỹ thuật, bao gồm toàn bộ các thiết kế chi tiết của hệ thống:

  • Lược đồ lớp (Class Diagrams): Thiết kế cấu trúc các lớp giao diện và xử lý dữ liệu cho màn hình danh sách hóa đơn, thông tin hóa đơn, chi tiết sản phẩm, phân công nhân viên, quản lý nhân viên và kho vật liệu.
  • Lược đồ tuần tự (Sequence Diagrams): Xây dựng chi tiết hơn 40 sơ đồ tuần tự mô tả luồng dữ liệu giữa giao diện người dùng, bộ điều khiển logic và cơ sở dữ liệu cho cả 3 phân hệ.
  • Thiết kế cơ sở dữ liệu: Trình bày lược đồ quan hệ thực thể (ERD) tổng quát và cấu trúc bảng vật lý chi tiết của 18 bảng dữ liệu.
  • Thiết kế giao diện người dùng: Bản vẽ chi tiết và bảng chú thích cho từng thành phần giao diện trên ứng dụng Mobile (từ Hình 3-74 đến 3-92), ứng dụng Desktop (từ Hình 3-93 đến 3-107) và Website (từ Hình 3-108 đến 3-113).

Chương 4: Cài đặt và kiểm thử

Chương 4 trình bày kết quả cài đặt thực tế của các ứng dụng trên môi trường thử nghiệm và kết quả kiểm thử phần mềm. Nhóm tác giả thực hiện kiểm thử chức năng (Functional Testing) cho từng phân hệ thông qua các ca kiểm thử (Test cases) được tổng hợp trong các bảng dữ liệu:

  • Bảng kiểm thử một số chức năng trên ứng dụng Desktop.
  • Bảng kiểm thử một số chức năng trên ứng dụng Mobile.
  • Bảng kiểm thử một số chức năng trên Website. Các kết quả kiểm thử cho thấy các chức năng chính như đăng nhập, quản lý dữ liệu hóa đơn, điều phối phân công, tính năng điểm danh và đồng bộ đặt lịch hoạt động đúng theo đặc tả yêu cầu ban đầu.

Kết quả và đóng góp

Khóa luận đã hoàn thành đầy đủ các mục tiêu nghiên cứu và phát triển phần mềm đề ra với các kết quả cụ thể:

  • Xây dựng thành công bộ 3 ứng dụng tích hợp:
    • Ứng dụng di động (Android) sử dụng Xamarin.Forms hỗ trợ tác nghiệp hiện trường, điểm danh nhân viên và kiểm tra tồn kho.
    • Ứng dụng quản trị Desktop sử dụng WPF cung cấp đầy đủ các chức năng quản lý danh mục, hóa đơn, nhập xuất kho, phân công lao động và thống kê doanh thu dạng biểu đồ lẫn bảng tổng quát.
    • Website giới thiệu và đặt lịch trực tuyến sử dụng ASP.NET Core, kết nối dữ liệu liền mạch với hệ thống quản lý nội bộ.
  • Giải pháp cơ sở dữ liệu chuẩn hóa: Thiết kế hoàn chỉnh mô hình CSDL gồm 18 bảng quan hệ, bao quát toàn bộ các thực thể trong quy trình dịch vụ cưới từ nhà cung cấp, vật tư, sản phẩm, nhân sự, đơn hàng đến tương tác khách hàng.
  • Đóng góp kỹ thuật: Ứng dụng thành công mẫu kiến trúc MVVM và kỹ thuật DataBinding trên nền tảng XAML của Microsoft; chứng minh tính khả thi của việc chia sẻ logic mã nguồn trong việc phát triển hệ sinh thái phần mềm đa nền tảng kết hợp giữa Desktop, Mobile và Web.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận đã ghi nhận một số hạn chế kỹ thuật dựa trên các đặc điểm của công nghệ và phạm vi triển khai:

  • Hạn chế về công nghệ Xamarin.Forms: Thời gian biên dịch (build) trên Visual Studio còn chậm; kích thước gói cài đặt ứng dụng di động lớn hơn so với ứng dụng native thuần túy; thông báo lỗi trong quá trình gỡ lỗi (debug) trên môi trường Android đôi khi chưa rõ ràng; cộng đồng phát triển còn khiêm tốn so với hệ sinh thái native.
  • Hạn chế về phạm vi triển khai: Ứng dụng di động mới chỉ tập trung thử nghiệm trên hệ điều hành Android, chưa triển khai đóng gói thực tế trên hệ điều hành iOS; hệ thống quản trị desktop phụ thuộc vào môi trường Windows.
  • Hướng nghiên cứu tiếp theo:
    • Tối ưu hóa hiệu năng ứng dụng di động và giảm dung lượng gói cài đặt.
    • Mở rộng triển khai ứng dụng di động trên nền tảng iOS và các phiên bản hệ điều hành di động khác.
    • Nâng cấp hệ thống thông báo đẩy (Push Notifications) thời gian thực để cập nhật lịch phân công và tình trạng hóa đơn tức thì cho nhân viên hiện trường.
    • Đưa hệ thống lên môi trường điện toán đám mây (Cloud/Docker) để tăng cường tính sẵn sàng và khả năng mở rộng.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo có giá trị chuyên môn cao đối với:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu mẫu hữu ích về quy trình thực hiện một đồ án tốt nghiệp công nghệ phần mềm hoàn chỉnh, từ khảo sát hiện trạng, lập mô hình Use case, thiết kế sơ đồ tuần tự, thiết kế cơ sở dữ liệu chuẩn hóa đến cài đặt và kiểm thử.
  • Lập trình viên nghiên cứu hệ sinh thái .NET: Cung cấp tài liệu tham khảo thực tế về việc áp dụng kiến trúc MVVM, kỹ thuật DataBinding trong XAML, lập trình ứng dụng đa nền tảng với Xamarin.Forms, WPF và phát triển Web/API bằng ASP.NET Core.
  • Các nhà phát triển phần mềm quản lý dịch vụ: Cung cấp mô hình phân tích nghiệp vụ và cấu trúc CSDL chi tiết cho các bài toán quản lý dịch vụ có yếu tố điều phối hiện trường, quản lý nguyên vật liệu cấu thành và phát sinh chi phí linh hoạt.

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

1. Hệ thống quản lý cửa hàng tiệc cưới trong khóa luận bao gồm những phân hệ nào và sử dụng công nghệ gì?
Hệ thống gồm 3 phân hệ chính: Ứng dụng di động xây dựng bằng Xamarin.Forms (trên nền tảng Android), Ứng dụng quản trị máy tính xây dựng bằng WPF (trên hệ điều hành Windows), và Website giới thiệu/đặt lịch xây dựng bằng ASP.NET Core. Cả 3 phân hệ được đồng bộ dữ liệu thông qua hệ thống Web API và cơ sở dữ liệu quan hệ.

2. Khóa luận phân tích những chế độ liên kết dữ liệu (Binding Modes) nào trong XAML?
Khóa luận phân tích 4 chế độ liên kết: Default (chế độ mặc định tùy theo thuộc tính), OneWay (thay đổi từ Source cập nhật sang Target), OneWayToSource (thay đổi từ Target cập nhật sang Source), và TwoWay (thay đổi ở cả Source và Target đều tự động đồng bộ sang nhau, thường dùng cho các control như Slider, Entry, Editor, DatePicker).

3. Phân hệ di động (Mobile) đảm nhiệm những vai trò nghiệp vụ chuyên biệt nào?
Do tính chất công việc ngành trang trí tiệc cưới phải di chuyển ngoài hiện trường, phân hệ di động được thiết kế chuyên biệt để hỗ trợ: theo dõi tình trạng hóa đơn, quản lý chi tiết các hạng mục và phát sinh chi phí, xem danh sách vật liệu cần dùng từ kho, điều phối phân công công việc và điểm danh (check-in/check-out) nhân viên tại địa điểm thi công.

4. Những nhược điểm của nền tảng Xamarin.Forms được nhóm tác giả chỉ ra trong đồ án là gì?
Các nhược điểm được ghi nhận gồm: kích thước ứng dụng lớn hơn native (khoảng 3MB so với 172KB của Objective-C), hạn chế của trình biên dịch AOT, thời gian build mã nguồn trên Visual Studio kéo dài (từ 3 đến 10 phút với solution lớn), thông báo lỗi trên Android đôi khi chưa rõ ràng, và quy mô cộng đồng hỗ trợ toàn cầu chỉ chiếm khoảng 10%.

5. Cơ sở dữ liệu của hệ thống được tổ chức như thế nào?
Cơ sở dữ liệu được tổ chức thành 18 bảng dữ liệu quan hệ, bao quát đầy đủ các nhóm thông tin: dịch vụ và loại dịch vụ, sản phẩm mẫu và chi tiết cấu thành, kho vật liệu, nhà cung cấp và đơn giá nhập, khách hàng và đặt lịch, hóa đơn - chi tiết hóa đơn - phát sinh chi phí, tài khoản - nhân viên - phân công công việc, và đánh giá phản hồi.


Kết luận

Khóa luận "Phát triển hệ thống quản lý cửa hàng trang trí tiệc cưới" của sinh viên Nguyễn Xuân Trúc và Nguyễn Văn Hùng đã giải quyết hiệu quả bài toán tin học hóa quy trình vận hành phức tạp của các cơ sở dịch vụ cưới. Đề tài đã xây dựng thành công giải pháp đồng bộ trên 3 nền tảng Mobile, Desktop và Web bằng cách làm chủ các công nghệ hiện đại trong hệ sinh thái .NET như Xamarin.Forms, WPF và ASP.NET Core. Toàn bộ quy trình từ khảo sát yêu cầu, mô hình hóa kiến trúc đến cài đặt và kiểm thử chức năng đều được thực hiện bài bản, mang lại giá trị tham khảo thiết thực cho các dự án phát triển phần mềm tương tự.