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

Đồ án tốt nghiệp tập trung giải quyết bài toán cung cấp nền tảng số hỗ trợ dịch vụ dọn dẹp và sửa chữa dành riêng cho cư dân sinh sống tại các khu đô thị Vinhomes. Xuất phát từ thực tế nhiều cư dân có lịch trình làm việc bận rộn, không có đủ thời gian tự dọn dẹp căn hộ, đề tài xây dựng giải pháp nền tảng mang tên V-HomeClean (V-HomeClean Platform for providing Cleaning and repair services for VinHomes apartments). Văn bản khảo sát đặc tả hệ thống được thực hiện dưới dạng Tài liệu đặc tả yêu cầu phần mềm (Software Requirements Specification - SRS), mã dự án NJS1703G3, mã tài liệu NJS1703G3 - v1.2, do nhóm sinh viên ngành Kỹ thuật phần mềm (Software Engineering) gồm Nguyễn Trung Kiên (SE161079), Đoàn Thanh Hiếu (SE161047), Hoàng Xuân Quý (SE161038), Nguyễn Vũ Tường (SE161049) và Lê Quốc Thắng (SE161071) thực hiện dưới sự hướng dẫn của giảng viên Nguyễn Ngọc Lâm tại Thành phố Hồ Chí Minh.

Mục tiêu và nhiệm vụ nghiên cứu được văn bản xác định cụ thể như sau:

  1. Mô tả phạm vi và toàn bộ các yêu cầu phần mềm bao gồm yêu cầu chức năng (Functional Requirements) và yêu cầu phi chức năng (Non-functional Requirements).
  2. Thiết lập các ràng buộc thiết kế logic cho toàn bộ các thành phần phụ hệ thống.
  3. Xây dựng mô hình ca sử dụng (Use Case Model) thể hiện mối tương tác giữa người dùng và hệ thống.
  4. Thiết lập lược đồ cơ sở dữ liệu quan hệ, bao gồm sơ đồ thực thể mối kết hợp (ERD - Entity Relationship Diagram) và lược đồ quan hệ (Relational Schema).
  5. Chuẩn hóa quy trình đặt dịch vụ trực tuyến: cho phép khách hàng tra cứu dịch vụ qua từ khóa hoặc danh mục, điền biểu mẫu đặt lịch và hoàn tất quy trình thanh toán (checkout).

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

  • Đối tượng nghiên cứu: Nền tảng ứng dụng web cung cấp dịch vụ dọn dẹp, sửa chữa căn hộ và hệ thống quản trị, điều phối nhân sự thực thi dịch vụ.
  • Phạm vi không gian: Cư dân, nhân viên và đội ngũ quản lý tại các khu đô thị Vinhomes (Vinhome locations).
  • Phạm vi dữ liệu và tài liệu: Tài liệu SRS phiên bản 1.2 ghi nhận lịch sử thay đổi từ các mốc phát triển tháng 07/2022 đến ngày 26/10/2022 cùng các chi tiết thiết kế Use Case cập nhật ngày 25/06/2023.

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

Tài liệu áp dụng các chuẩn mực kỹ thuật và phương pháp luận phân tích thiết kế phần mềm trong công nghệ thông tin:

  • Khung đặc tả và mô hình phân tích: Chuẩn đặc tả yêu cầu phần mềm (Software Requirements Specification - SRS), kỹ thuật mô hình hóa ca sử dụng (Use Case Modeling), phân rã luồng sự kiện (Normal Flow, Alternative Flow, Exception Flow), thiết lập ma trận điều kiện tiên quyết (Preconditions) và hậu điều kiện (Post-conditions).
  • Mô hình hóa dữ liệu: Sử dụng sơ đồ thực thể liên kết (Entity Relationship Diagram - ERD) và lược đồ cơ sở dữ liệu quan hệ (Relational Schema) nhằm chuẩn hóa cách thức lưu trữ và tổ chức thông tin hệ thống.
  • Phương pháp thu thập và phân tích: Phương pháp phân tích yêu cầu hướng tác nhân (Actor-based Requirements Analysis), phân định ranh giới chức năng giữa 5 nhóm người dùng chính; phương pháp chuẩn hóa quy tắc nghiệp vụ (Business Rules Definition).
  • Nguồn dữ liệu: Dữ liệu khảo sát yêu cầu vận hành dịch vụ căn hộ thực tế, biểu mẫu thông tin cư dân căn hộ Vinhomes, thông số kỹ thuật phân cấp quản trị và quy chuẩn nhập liệu căn hộ.

Thiết kế và đặc tả kỹ thuật hệ thống

Hệ thống phân định rõ ràng 5 vai trò tác nhân (Actors) với các cấp độ ủy quyền và trách nhiệm riêng biệt:

Vai trò (Actor) Thuật ngữ tiếng Việt Định nghĩa quyền hạn và trách nhiệm
Guest Khách mời Người dùng chưa đăng nhập; chỉ có quyền tìm kiếm, xem danh sách dịch vụ, xem blog, xem bình luận, đăng ký tài khoản, đăng nhập và yêu cầu quên mật khẩu.
Customer Khách hàng Người dùng đăng nhập với vai trò Customer; sở hữu toàn bộ quyền của Guest, đồng thời có thể quản lý hồ sơ cá nhân, đổi mật khẩu, xem lịch sử đặt đơn, tạo đơn đặt lịch dịch vụ, đăng blog, bình luận và gửi đánh giá (feedback).
Staff Nhân viên Người dùng đăng nhập với vai trò Staff; mục đích tiếp nhận công việc từ cấp quản lý (receive work from manager and work), theo dõi danh sách nhiệm vụ được giao (Tasks) và nhận thông báo nhiệm vụ.
Manager Quản lý Người dùng đăng nhập với vai trò Manager; quản trị website, xử lý yêu cầu đặt lịch, quản lý tài khoản (xem/sửa/khóa), quản lý dịch vụ (xem/sửa/tạo/khóa), quản lý blog, hủy đơn đặt lịch, phân công việc cho nhân viên và theo dõi bảng thống kê (Statistic dashboard).
Administrator Quản trị viên Người dùng đăng nhập với vai trò Admin; quản lý toàn diện danh sách tài khoản hệ thống (Organise Accounts), giám sát bảng điều khiển thống kê website và tạo yêu cầu đặt dịch vụ mới.

Hệ thống thiết lập bộ quy tắc nghiệp vụ (Business Rules - BR) chuẩn hóa:

  • BR-01: Giao diện website được thiết kế bằng tiếng Việt (Website designed using Vietnamese).
  • BR-02: Số tiền hiển thị dùng dấu phẩy phân cách hàng nghìn (ví dụ: 250,000vnđ).
  • BR-03: Đơn vị tiền tệ chuẩn là VND.
  • BR-04: Trạng thái đơn hàng (Order's status) gồm 3 giá trị: confirmed (đã xác nhận) - in process (đang thực hiện) - finished (đã hoàn thành).
  • BR-05: Mật khẩu bắt buộc có tối thiểu 8 ký tự, chứa ít nhất 1 chữ số, 1 ký tự đặc biệt, 1 chữ cái in hoa và 1 chữ cái in thường.
  • BR-06: Ngày sinh người dùng phải tuân thủ đúng định dạng dd/mm/yy.
  • Ràng buộc kiểm thực dữ liệu (Validation Constraints):
    • Định dạng địa chỉ email: Chuỗi ký tự chuẩn biểu thức chính quy (email regex XXX@YYY.).
    • Định dạng mã phòng (Room ID): Biểu thức chính quy X00-00.
    • Họ và tên (Full name): Không được để trống, độ dài từ 6 ký tự trở lên.
    • Số điện thoại (Phone number): Chuỗi số có độ dài chính xác 10 chữ số.
    • Khu vực Vinhomes (Vinhome location): Trường tùy chọn gồm 3 lựa chọn khu vực cụ thể.
    • Giới tính (Gender): Lựa chọn giữa Nam (Male), Nữ (Female) hoặc Khác (Other).

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

Chapter 1: Purpose, Scope, Definitions, Acronyms, and Abbreviations

Chương mở đầu xác định mục tiêu của tài liệu SRS là mô tả đầy đủ các yêu cầu chức năng, phi chức năng và ràng buộc thiết kế logic của nền tảng V-HomeClean. Phạm vi ứng dụng tập trung vào hệ thống website kết nối cư dân căn hộ Vinhomes với các dịch vụ dọn dẹp và sửa chữa. Chương này cung cấp bảng định nghĩa thuật ngữ, tên viết tắt và bảng đối chiếu Anh - Việt cho 5 nhóm tác nhân (Guest - Khách mời, Customer - Khách hàng, Staff - Nhân viên, Manager - Quản lý, Administrator - Quản trị viên).

Chapter 2: Overall Description

Chương này cung cấp cái nhìn tổng quan về bối cảnh vận hành của sản phẩm, mô tả hành vi phi hình thức và xác lập các yêu cầu của từng nhóm người dùng. Nội dung chương trình bày chi tiết các quyền hạn tương ứng từ cấp độ Guest, Customer, Manager đến Admin, đồng thời thiết lập 6 quy tắc nghiệp vụ cốt lõi (BR-01 đến BR-06) chi phối toàn bộ hành vi xử lý dữ liệu và giao diện người dùng.

Chapter 3: Functional Requirements

Chương trung tâm của tài liệu trình bày biểu đồ Use Case tổng thể, danh mục 32 ca sử dụng và đặc tả chi tiết từng ca sử dụng. Danh mục 32 Use Cases được phân bổ như sau:

Mã UC Tên Ca Sử Dụng (Use Case) Tác Nhân Chính (Primary Actor) Tác Nhân Phụ (Secondary Actor)
UC-01 Sign In (Đăng nhập) Guest / User N/A
UC-02 Sign Up (Đăng ký tài khoản) Guest N/A
UC-03 Logout (Đăng xuất) User Admin, Manager, Staff
UC-04 View service (Xem dịch vụ) Guest User
UC-05 View Blogs (Xem bài viết) Guest User
UC-06 View Comments (Xem bình luận) Guest N/A
UC-07 Forgot Password (Quên mật khẩu) User N/A
UC-08 Change Password (Đổi mật khẩu) User N/A
UC-09 Modify User Profile (Cập nhật hồ sơ) User N/A
UC-10 Check notifications (Kiểm tra thông báo) User N/A
UC-11 Check history bookings (Xem lịch sử đặt đơn) User N/A
UC-12 Book appointment (Đặt lịch dịch vụ) User N/A
UC-13 Post blog (Đăng bài viết) User N/A
UC-14 Post comment (Gửi bình luận) User N/A
UC-15 Feedback service (Đánh giá dịch vụ) User N/A
UC-16 View tasks (Xem nhiệm vụ) Staff N/A
UC-17 Check task notifications (Thông báo nhiệm vụ) Staff N/A
UC-18 View accounts list (Xem danh sách tài khoản) Manager N/A
UC-19 View accounts detail (Xem chi tiết tài khoản) Manager N/A
UC-20 Ban Accounts (Khóa tài khoản) Manager N/A
UC-21 View service Lists (Xem danh mục dịch vụ) Manager N/A
UC-22 View service detail (Xem chi tiết dịch vụ) Manager N/A
UC-23 Create service (Tạo dịch vụ mới) Manager N/A
UC-24 Hide service (Ẩn dịch vụ) Manager N/A
UC-25 View blogs list (Xem danh sách blog) Manager N/A
UC-26 Hide blog (Ẩn bài blog) Manager N/A
UC-27 View Notifications (Xem thông báo quản lý) Manager N/A
UC-28 View Bookings List (Xem danh sách đơn đặt) Manager N/A
UC-29 Assign work to staffs (Phân công nhân viên) Manager N/A
UC-30 Cancel User Booking (Hủy đơn của khách) Manager N/A
UC-31 Modify accounts (Chỉnh sửa tài khoản) Admin N/A
UC-32 Create account (Tạo tài khoản mới) Admin N/A

Văn bản đi sâu đặc tả các ca sử dụng then chốt:

  • UC-01 (Đăng nhập): Tiếp nhận thông tin email và mật khẩu; kiểm tra định dạng; điều hướng về trang chủ khi thành công; hiển thị thông báo lỗi cụ thể khi sai định dạng hoặc sai thông tin xác thực.
  • UC-02 (Đăng ký): Yêu cầu nhập các trường Email, Mật khẩu/Xác nhận mật khẩu (khớp nhau, đúng quy tắc BR-05), Họ tên (>= 6 ký tự), Số điện thoại (10 chữ số), Room ID (theo regex X00-00), Vinhome location và Giới tính. Hệ thống cảnh báo chi tiết khi vi phạm bất kỳ ràng buộc nào.
  • UC-07 (Quên mật khẩu): Xác thực người dùng thông qua mã OTP. Hệ thống báo lỗi "Mã OTP sai. Vui lòng kiểm tra lại!" nếu nhập sai OTP và "Mật khẩu và xác nhận mật khẩu không trùng khớp!" nếu nhập mật khẩu mới không khớp.
  • UC-10 (Kiểm tra thông báo): Người dùng nhấp vào biểu tượng chuông ở góc trên bên trái; danh sách thông báo chưa đọc được hiển thị. Khi nhấp xem chi tiết, thông báo chuyển trạng thái đã đọc ("read") và không còn hiển thị trong danh sách chưa đọc.
  • UC-11 (Xem lịch sử đặt đơn): Người dùng truy cập trang hồ sơ cá nhân và nhấp vào tab "Tổng đơn" để xem toàn bộ lịch sử các đơn dịch vụ đã đặt.
  • UC-12 (Đặt lịch dịch vụ): Quy trình gồm 6 bước: truy cập tab "Dịch vụ" -> chọn "Tổng hợp dịch vụ" -> bấm nút "Đặt lịch ngay" (nếu chưa đăng nhập sẽ chuyển hướng sang màn hình đăng nhập) -> điền đầy đủ thông tin lịch hẹn -> bấm "Đặt lịch" để hiển thị popup xác nhận -> bấm "Chắc chắn". Hệ thống trả về thông báo "Congratulation, đơn của bạn đã được xác nhận thành công" và hiển thị chi tiết lịch hẹn đã đặt.

Chapter 4: Non-functional Requirements

Chương này quy định các tiêu chuẩn phi chức năng của nền tảng V-HomeClean nhằm đảm bảo tính ổn định, hiệu năng, độ bảo mật và tính khả dụng của hệ thống khi vận hành trên môi trường mạng internet.

Chapter 5: Database

Chương thiết kế cơ sở dữ liệu trình bày chi tiết sơ đồ thực thể liên kết (ERD) và lược đồ cơ sở dữ liệu quan hệ (Relational Schema). Cấu trúc dữ liệu phản ánh toàn bộ các thực thể tài khoản người dùng (Account), dịch vụ (Service), đơn đặt lịch (Booking/Order), bài viết (Blog), bình luận (Comment), thông báo (Notification) và bảng phân công công việc (Task Assignment).

Chapter 6: Supporting Information

Chương cung cấp các thông tin hỗ trợ vận hành và tra cứu tài liệu SRS, bao gồm mục lục chi tiết (Table of Content), bảng chỉ mục (Index) và các phụ lục (Appendices).


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

Nghiên cứu mang lại các kết quả kỹ thuật và đóng góp cụ thể trong quá trình phân tích thiết kế phần mềm:

  • Xây dựng hoàn chỉnh bộ tài liệu đặc tả SRS: Định nghĩa chi tiết 32 ca sử dụng (UC-01 đến UC-32), bao phủ toàn diện các chức năng từ phía người dùng cuối, nhân viên phục vụ, đội ngũ quản lý đến quản trị viên cấp cao.
  • Thiết lập mô hình phân quyền chặt chẽ: Phân định rõ ràng trách nhiệm của 5 nhóm tác nhân (Guest, Customer, Staff, Manager, Administrator), đảm bảo luồng nghiệp vụ giữa khách hàng đặt dịch vụ, quản lý phân công và nhân viên thực thi không bị chồng chéo.
  • Chuẩn hóa bộ quy tắc nghiệp vụ và ràng buộc dữ liệu: Xác lập 6 quy tắc kinh doanh (BR-01 đến BR-06), định dạng hiển thị tiền tệ Việt Nam Đồng (VND) có dấu phẩy ngăn cách hàng nghìn, định dạng ngày sinh, chuẩn hóa mã phòng chung cư Vinhomes bằng biểu thức chính quy (X00-00) và chuẩn hóa 3 trạng thái của quy trình đặt đơn (confirmed, in process, finished).
  • Đóng góp về mặt tài liệu kỹ thuật: Tạo tiền đề chuẩn xác cho các giai đoạn lập trình (implementation), thiết kế giao diện (UI/UX) và kiểm thử phần mềm (software testing) của dự án V-HomeClean.

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

  • Hạn chế:
    • Phạm vi nghiệp vụ của hệ thống được thiết kế chuyên biệt cho hệ sinh thái chung cư Vinhomes (Vinhome locations), với các ràng buộc cố định về định dạng mã phòng (X00-00) và địa điểm, chưa mở rộng ra các mô hình khu đô thị hoặc chung cư khác.
    • Phiên bản tài liệu SRS 1.2 chủ yếu tập trung vào việc mô tả đặc tả chức năng và cơ sở dữ liệu, một số kịch bản ngoại lệ sâu và tích hợp cổng thanh toán trực tuyến nâng cao chưa được trình bày chi tiết trong tài liệu này.
  • Hướng nghiên cứu tiếp:
    • Triển khai giai đoạn lập trình hiện thực hóa mã nguồn (coding) cho cả giao diện người dùng (Frontend), logic xử lý (Backend) và cơ sở dữ liệu theo đúng lược đồ ERD đã thiết kế.
    • Tiến hành kiểm thử chức năng (Functional Testing) bám sát 32 ca sử dụng và kiểm thử phi chức năng về hiệu năng chịu tải, bảo mật tài khoản.
    • Mở rộng quy mô dịch vụ cho phép tùy biến linh hoạt định dạng địa chỉ để áp dụng cho các khu đô thị ngoài hệ thống Vinhomes.

Giá trị tham khảo

Tài liệu là nguồn tham khảo hữu ích cho:

  • Sinh viên ngành Kỹ thuật phần mềm (Software Engineering) và Công nghệ thông tin: Làm mẫu tài liệu đặc tả yêu cầu phần mềm (SRS) chuẩn mực trong các đồ án môn học Phân tích thiết kế hệ thống, Quản lý dự án phần mềm và Khóa luận/Đồ án tốt nghiệp.
  • Chuyên viên phân tích nghiệp vụ (Business Analyst - BA): Tham khảo cấu trúc phân rã Use Case, cách thức thiết lập bảng quy tắc nghiệp vụ (Business Rules) và kỹ thuật mô tả luồng sự kiện (Normal/Alternative/Exception Flows).
  • Các nhóm phát triển hệ thống dịch vụ đặt lịch (Booking Platforms): Tham khảo kiến trúc phân quyền 5 cấp bậc và mô hình quản lý điều phối nhân sự dịch vụ tại chỗ.

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

1. Nền tảng V-HomeClean phân chia người dùng thành những nhóm tác nhân nào và quyền hạn khác nhau ra sao?
Hệ thống phân định 5 nhóm tác nhân: Khách mời (Guest - chưa đăng nhập, chỉ xem và đăng ký/đăng nhập), Khách hàng (Customer - đặt lịch, quản lý đơn, viết blog, đánh giá), Nhân viên (Staff - tiếp nhận công việc từ quản lý, xem nhiệm vụ và nhận thông báo task), Quản lý (Manager - duyệt đơn, phân công nhân viên, quản lý dịch vụ/tài khoản/blog, xem thống kê) và Quản trị viên (Admin - quản lý toàn bộ tài khoản và cấu hình hệ thống).

2. Quy định về mật khẩu và định dạng mã phòng căn hộ (Room ID) trong hệ thống được xác định như thế nào?
Mật khẩu (BR-05) bắt buộc có độ dài tối thiểu 8 ký tự, gồm ít nhất 1 chữ số, 1 ký tự đặc biệt, 1 chữ in hoa và 1 chữ in thường. Mã phòng căn hộ (Room ID) trong form đăng ký (UC-02) phải tuân thủ biểu thức chính quy X00-00.

3. Quy trình đặt lịch dịch vụ (UC-12: Book appointment) gồm những bước thực hiện nào?
Người dùng truy cập tab "Dịch vụ" -> chọn "Tổng hợp dịch vụ" -> nhấn "Đặt lịch ngay" (hệ thống yêu cầu đăng nhập nếu chưa xác thực) -> điền đầy đủ thông tin lịch hẹn -> nhấn "Đặt lịch" -> xác nhận "Chắc chắn" tại popup. Sau khi hoàn tất, hệ thống gửi thông báo "Congratulation, đơn của bạn đã được xác nhận thành công".

4. Đơn hàng trên hệ thống V-HomeClean được quản lý qua những trạng thái xử lý nào?
Theo quy tắc nghiệp vụ BR-04, trạng thái đơn hàng (Order's status) gồm 3 trạng thái tuần tự: confirmed (đã xác nhận), in process (đang thực hiện) và finished (đã hoàn thành).

5. Đồ án V-HomeClean được thực hiện bởi nhóm tác giả nào và thuộc mã dự án gì?
Đồ án mang mã dự án NJS1703G3 (mã tài liệu NJS1703G3 - v1.2), do nhóm 5 sinh viên gồm Nguyễn Trung Kiên, Đoàn Thanh Hiếu, Hoàng Xuân Quý, Nguyễn Vũ Tường và Lê Quốc Thắng thực hiện dưới sự hướng dẫn của thầy Nguyễn Ngọc Lâm.


Kết luận

Đồ án tốt nghiệp đã xây dựng tài liệu Đặc tả yêu cầu phần mềm (SRS v1.2) cho nền tảng V-HomeClean, giải quyết nhu cầu đặt dịch vụ dọn dẹp và sửa chữa căn hộ cho cư dân Vinhomes. Hệ thống được thiết kế logic thông qua 32 ca sử dụng, phân định rõ ràng 5 vai trò tác nhân cùng bộ quy tắc nghiệp vụ và lược đồ cơ sở dữ liệu quan hệ chặt chẽ. Công trình là cơ sở kỹ thuật hoàn chỉnh phục vụ trực tiếp cho các giai đoạn lập trình và kiểm thử phần mềm tiếp theo.