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

Trước sự phát triển của công nghệ thông tin và mạng Internet, nhu cầu tìm kiếm và tra cứu thông tin trực tuyến của người dân ngày càng trở nên phổ biến. Trong lĩnh vực nhà ở và dịch vụ lưu trú, phương thức tìm kiếm phòng trọ truyền thống chủ yếu dựa vào các kênh trung gian môi giới tốn kém chi phí, hoặc thông qua việc dán giấy quảng cáo, phát tờ rơi tại các khu dân cư. Những phương thức thủ công này không chỉ mang lại hiệu quả tiếp cận thấp, gây mất mỹ quan đô thị mà còn khiến người có nhu cầu thuê gặp nhiều trở ngại trong việc tiếp cận trực tiếp với chủ nhà để chọn lựa được phòng trọ ưng ý.

Đề tài "Xây dựng website tìm phòng trọ" được nhóm sinh viên Khoa Công nghệ Thông tin, Trường Đại học Duy Tân thực hiện trong khuôn khổ môn học Đồ án CDIO-347 (mã lớp CS347G) dưới sự hướng dẫn của giảng viên Trần Huệ Chi. Mục tiêu nghiên cứu và nhiệm vụ chính của đề tài bao gồm:

  1. Thiết kế một nền tảng trang web trực tuyến làm cầu nối kết nối trực tiếp giữa người thuê trọ và chủ phòng trọ, giúp tiết kiệm thời gian và chi phí giao dịch.
  2. Cung cấp đầy đủ thông tin chi tiết về phòng trọ (vị trí, diện tích, giá cả, tiện nghi, hình ảnh trực quan) giúp người thuê đưa ra quyết định chính xác ngay cả khi ở xa.
  3. Cung cấp công cụ hỗ trợ chủ phòng trọ đăng tải thông tin, quản lý danh sách phòng, tiếp cận lượng lớn khách hàng tiềm năng và thống kê doanh thu.
  4. Tích hợp các tính năng tương tác đa chiều như trao đổi tin nhắn trực tiếp (chat), đánh giá chất lượng dịch vụ, quản lý giỏ hàng lưu trọ, thanh toán đặt cọc trực tuyến và phân quyền phê duyệt tài khoản.
  • Đối tượng nghiên cứu: Phòng trọ và hệ thống quản lý, tìm kiếm, giao dịch thuê phòng trọ trực tuyến.
  • Phạm vi nghiên cứu:
    • Không gian/Phân phối: Áp dụng cho người dùng trên phạm vi toàn quốc (trong đề xuất ban đầu có định hướng thử nghiệm tại khu vực Thành phố Đà Nẵng).
    • Thời gian thực hiện: Báo cáo được hoàn thành và nghiệm thu ngày 08 tháng 09 năm 2023.

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

Đồ án được triển khai dựa trên phương pháp luận đào tạo kỹ thuật CDIO (Conceive - Design - Implement - Operate) kết hợp với các kỹ thuật phân tích và thiết kế hệ thống thông tin theo hướng đối tượng (OOAD). Nhóm tác giả sử dụng hệ thống mô hình hóa chuẩn để xây dựng tài liệu kỹ thuật bao gồm:

  • Khung mô hình hóa chức năng: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng Biểu đồ Use Case tổng quát và các Biểu đồ Use Case phân rã cho từng phân hệ chức năng. Đi kèm với biểu đồ là hệ thống bảng đặc tả Use Case chi tiết, xác định rõ mã Use Case, tác nhân tham gia (Actor), mô tả tổng quan, điều kiện tiên quyết (Pre-conditions), điều kiện sau (Post-conditions) cùng luồng sự kiện tuần tự giữa Tác nhân và Hệ thống.
  • Khung mô hình hóa hành vi: Xây dựng hệ thống 23 Biểu đồ hoạt động (Activity Diagrams) mô tả chi tiết luồng xử lý dữ liệu, rẽ nhánh nghiệp vụ và kiểm tra tính hợp lệ của dữ liệu đầu vào.
  • Khung thiết kế dữ liệu: Thiết kế cơ sở dữ liệu quan hệ (Relational Database) thông qua việc định nghĩa các thực thể chính và sơ đồ quan hệ cơ sở dữ liệu.
  • Thiết kế giao diện người dùng: Xây dựng hệ thống 18 bản thiết kế giao diện trực quan (UI Mockup/Wireframe) mô phỏng toàn bộ trải nghiệm người dùng trên hệ thống.
  • Phương pháp thu thập và xử lý dữ liệu: Phân tích yêu cầu người dùng thông qua việc khảo sát nhu cầu thực tế của 4 nhóm tác nhân tham gia hệ thống, từ đó đặc tả thành các yêu cầu chức năng và phi chức năng.

Thiết kế và triển khai

Hệ thống được thiết kế phục vụ 4 nhóm tác nhân với phân quyền và phạm vi chức năng rõ ràng:

  1. Khách vãng lai (Guest): Tìm kiếm phòng trọ, xem thông tin chi tiết phòng trọ, đăng ký tài khoản mới.
  2. Người dùng / Người thuê trọ (User): Đăng nhập, quản lý tài khoản cá nhân, quên mật khẩu, thuê phòng trọ, chat trao đổi với chủ trọ, đánh giá và nhận xét chất lượng phòng, thanh toán tiền thuê/đặt cọc, quản lý giỏ hàng (lưu trọ), gửi yêu cầu và thanh toán nâng cấp tài khoản.
  3. Chủ phòng trọ (Host/Owner): Đăng nhập, quản lý thông tin cá nhân, quản lý danh sách phòng trọ (tạo mới, cập nhật, chỉnh sửa, xóa, theo dõi tình trạng phòng), chat với người thuê, xem danh sách phòng đã cho thuê và xem thống kê báo cáo doanh thu.
  4. Quản trị viên (Administrator): Đăng nhập, quản lý danh sách tài khoản đăng nhập (xem thông tin, tìm kiếm, khóa tài khoản, xóa tài khoản, cấp quyền), quản lý danh sách chủ phòng trọ, phê duyệt bài đăng phòng trọ mới, phê duyệt yêu cầu nâng cấp tài khoản của người dùng, theo dõi thống kê hệ thống.

Bảng phân công chức năng hệ thống

STT Tên chức năng Mã Use Case Tác nhân chính Thành viên phụ trách
1 Tìm kiếm phòng trọ USC 02 Mọi đối tượng Lê Thị Trinh
2 Xem phòng trọ USC 03 Mọi đối tượng Lê Thị Trinh
3 Đăng ký tài khoản USC 01 Khách vãng lai Nguyễn Hồng Minh
4 Đăng nhập USC 04 Mọi tác nhân có tài khoản Nguyễn Hồng Minh
5 Quên mật khẩu USC 06 Người dùng, Chủ trọ Nguyễn Hồng Minh
6 Quản lý tài khoản cá nhân USC 05 Người dùng, Chủ trọ Nguyễn Hồng Minh
7 Thuê trọ - Người dùng Nguyễn Tấn Tín
8 Chat - Người dùng, Chủ phòng trọ Nguyễn Tấn Tín
9 Đánh giá - Người dùng Nguyễn Tấn Tín
10 Thanh toán USC 10 Người dùng Phan Thị Phước Hạnh
11 Quản lý giỏ hàng USC 11 Người dùng Phan Thị Phước Hạnh
12 Nâng cấp tài khoản USC 12 Người dùng, Administrator Phan Thị Phước Hạnh
13 Quản lý danh sách phòng trọ USC 13 Chủ phòng trọ Phan Thị Phước Hạnh
14 Quản lý các tài khoản đăng nhập UC14 Administrator Ngô Trần Khánh Huyền
15 Quản lý danh sách các chủ phòng trọ UC14 Administrator Ngô Trần Khánh Huyền
16 Phê duyệt (Bài đăng, Nâng cấp) - Administrator Ngô Trần Khánh Huyền
17 Báo cáo thống kê UC16 Chủ phòng trọ, Administrator Ngô Trần Khánh Huyền

Thiết kế cơ sở dữ liệu và giao diện

  • Cấu trúc thực thể cơ sở dữ liệu: Hệ thống xác định các bảng dữ liệu cốt lõi gồm Người thuê, Phòng Trọ, Chi tiết Thuê, Chi tiết Đánh Giá và liên kết qua Sơ đồ quan hệ Database để đảm bảo tính toàn vẹn dữ liệu giao dịch.
  • Hệ thống giao diện người dùng: Gồm 18 màn hình chức năng chính:
    1. Giao diện Trang Chủ
    2. Giao diện Đăng Ký
    3. Giao diện Đăng Nhập
    4. Giao diện Quên Mật Khẩu
    5. Giao diện Quản Lý Tài Khoản Cá Nhân
    6. Giao diện Quản Lý Danh Sách Tài Khoản Đăng Nhập
    7. Giao diện Quản Lý Danh Sách Chủ Phòng Trọ
    8. Giao diện Phê Duyệt
    9. Giao diện Phê Duyệt Bài Đăng
    10. Giao diện Thông Tin Bài Đăng Cần Phê Duyệt
    11. Giao diện Phê Duyệt Yêu Cầu Nâng Cấp Tài Khoản
    12. Giao diện Quản Lý Giỏ Hàng
    13. Giao diện Thanh Toán
    14. Giao diện Thuê Phòng Trọ
    15. Giao diện Đánh Giá Phòng Trọ
    16. Giao diện Chat
    17. Giao diện Danh Sách Phòng Trọ
    18. Giao diện Nâng Cấp Tài Khoản

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

Chương I: Ý tưởng cá nhân

Chương I trình bày 5 đề xuất đề tài độc lập của từng thành viên trong nhóm nghiên cứu trước khi thống nhất chọn đề tài chung. Mỗi ý tưởng được xây dựng đầy đủ mục đích, yêu cầu chức năng, phạm vi và biểu đồ phân cấp chức năng theo hướng đối tượng:

  1. Lê Thị Trinh - Đề tài "Xây dựng website tìm phòng trọ": Đề xuất giải pháp kết nối trực tuyến giữa người thuê và chủ nhà trọ tại khu vực Thành phố Đà Nẵng, cung cấp chức năng tìm kiếm theo tiêu chí, đăng tin, xem thông tin và đánh giá. Ý tưởng này được nhóm lựa chọn làm đề tài chính thức cho đồ án.
  2. Phan Thị Phước Hạnh - Đề tài "Xây dựng app bán đồ điện tử": Ứng dụng thương mại điện tử phân phối toàn quốc với 4 tác nhân (Khách hàng, Người dùng, Nhân viên, Admin), tập trung vào các chức năng quản lý kho hàng, quản lý đơn hàng, quản lý sản phẩm, giỏ hàng, thanh toán và báo cáo doanh thu.
  3. Nguyễn Hồng Minh - Đề tài "Xây dựng website đọc truyện": Nền tảng đọc và phân phối truyện bản quyền trực tuyến tại Việt Nam phục vụ 4 đối tượng (Guest, Users, Author, Admin), hỗ trợ tác giả đăng bán tác phẩm, người đọc nạp tiền mua từng chương truyện và tương tác bình luận.
  4. Ngô Trần Khánh Huyền - Đề tài "Xây dựng website Quản lý Dự Án Cty X": Hệ thống phần mềm nội bộ dành riêng cho doanh nghiệp phục vụ Ban quản lý dự án, Trưởng dự án, Chuyên viên tin học (Administrator) và Người dùng vãng lai theo dõi tiến độ, cập nhật trạng thái và báo cáo dự án.
  5. Nguyễn Tấn Tín - Đề tài "Xây dựng website bán phụ tùng, linh kiện oto": Trang web bán hàng trực tuyến phạm vi toàn quốc với 3 tác nhân (Khách vãng lai, Người dùng, Admin), hỗ trợ tra cứu bảng giá, đặt hàng linh kiện, quản lý khuyến mãi và lịch sử mua sắm.

Chương II: Phân tích hệ thống

Chương II tập trung phân tích chi tiết toàn bộ yêu cầu nghiệp vụ của hệ thống "Website tìm phòng trọ". Nội dung trọng tâm bao gồm:

  • Trình bày mục đích chọn đề tài, xác định đối tượng nghiên cứu là phòng trọ, mở rộng phạm vi ứng dụng ra toàn quốc và định nghĩa 4 tác nhân hệ thống.
  • Thiết lập bảng phân công 17 chức năng cho 5 sinh viên thực hiện.
  • Xây dựng Biểu đồ Use Case tổng quát và 18 biểu đồ/bảng đặc tả Use Case chi tiết. Trong đó mô tả rõ ràng các quy trình nghiệp vụ:
    • Quy trình Đăng ký, Đăng nhập, Quên mật khẩu: Xác thực thông tin, gửi mã xác nhận qua email/số điện thoại, kiểm tra tính hợp lệ dữ liệu.
    • Quy trình Tìm kiếm và Xem phòng trọ: Tìm kiếm theo từ khóa, hiển thị danh sách phòng trống, hiển thị chi tiết hình ảnh, giá thuê, diện tích, tiện nghi và thông tin liên hệ.
    • Quy trình Quản lý giỏ hàng (Lưu trọ): Cho phép người dùng lưu các phòng trọ quan tâm, kiểm tra tình trạng phòng từ cơ sở dữ liệu, xóa phòng đã lưu hoặc chuyển nhanh sang giao diện thanh toán.
    • Quy trình Nâng cấp tài khoản: Người dùng điền thông tin, chọn gói nâng cấp, thực hiện thanh toán; hệ thống chuyển dữ liệu để Administrator phê duyệt; sau khi duyệt thành công, tài khoản được mở các quyền đăng bài và theo dõi thống kê.
    • Quy trình Quản lý danh sách phòng trọ của Chủ trọ: Hỗ trợ chủ trọ tạo mới phòng trọ, chỉnh sửa thông tin, xóa trọ và theo dõi trạng thái phòng (đã thuê/chưa thuê).
    • Quy trình Quản trị hệ thống của Admin: Xem danh sách tài khoản, khóa/xóa tài khoản vi phạm, quản lý danh sách chủ trọ, phê duyệt bài đăng phòng trọ mới và phê duyệt yêu cầu nâng cấp.
    • Quy trình Thống kê doanh thu: Chủ phòng trọ theo dõi số phòng đã thuê và tổng doanh thu theo mốc thời gian (tuần, tháng, quý, năm), đặc biệt hệ thống hiển thị số tiền thực nhận sau khi đã trừ 25% chi phí dịch vụ cho người quản trị website (Admin).
  • Xây dựng hệ thống 23 Biểu đồ hoạt động mô tả chi tiết luồng xử lý dữ liệu và kiểm soát lỗi cho từng ca sử dụng.

Chương III: Thiết kế hệ thống (Element)

Chương III hiện thực hóa kết quả phân tích nghiệp vụ thành các mô hình kỹ thuật:

  • Thiết kế thực thể cơ sở dữ liệu: Định nghĩa chi tiết các thuộc tính và mối liên kết giữa các bảng dữ liệu Người thuê, Phòng Trọ, Chi tiết Thuê, Chi tiết Đánh Giá và tổng hợp thành Sơ đồ quan hệ Database.
  • Thiết kế giao diện người dùng: Trình bày chi tiết 18 màn hình giao diện từ Trang chủ, Đăng ký, Đăng nhập, Quên mật khẩu, Quản lý tài khoản, Quản lý giỏ hàng, Thanh toán, Thuê phòng, Đánh giá (thang điểm 5 sao), Chat trực tiếp đến các màn hình quản trị của Admin (Phê duyệt bài đăng, Phê duyệt nâng cấp tài khoản, Quản lý danh sách tài khoản và chủ phòng trọ).

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

  • Kết quả đạt được:
    • Hoàn thành đầy đủ hồ sơ phân tích và thiết kế hệ thống thông tin cho website tìm phòng trọ theo đúng chuẩn mực CDIO với 17 chức năng phân rã hoàn chỉnh.
    • Xây dựng hệ thống tài liệu thiết kế gồm 1 Biểu đồ Use Case tổng quát, các Biểu đồ phân rã Use Case kèm bảng đặc tả luồng sự kiện chi tiết, 23 Biểu đồ hoạt động, mô hình thực thể quan hệ cơ sở dữ liệu và 18 màn hình giao diện người dùng.
    • Thiết lập cơ chế vận hành kinh doanh rõ ràng: quy trình nâng cấp tài khoản người dùng thành chủ trọ có thu phí và cơ chế trích lại 25% doanh thu thuê phòng cho quản trị viên hệ thống.
    • Tích hợp các tính năng giải quyết xung đột giữ chỗ khi đặt cọc trực tuyến và hệ thống đánh giá chất lượng phòng trọ chuẩn hóa theo thang điểm 5 sao.
  • Giải pháp và đóng góp của đề tài:
    • Cung cấp giải pháp công nghệ giúp xóa bỏ sự phụ thuộc vào các kênh môi giới nhà đất truyền thống tốn kém, hạn chế nạn dán quảng cáo và phát tờ rơi gây mất mỹ quan đô thị.
    • Giúp người thuê tiếp cận nguồn thông tin phòng trọ minh bạch, trực quan từ xa; hỗ trợ chủ trọ quản lý hoạt động kinh doanh và tiếp cận khách hàng trên quy mô toàn quốc.

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

  • Hạn chế:
    • Báo cáo đồ án CDIO-347 tập trung hoàn toàn vào giai đoạn khảo sát, phân tích yêu cầu nghiệp vụ, mô hình hóa hệ thống (Use Case, Activity Diagram, Database Schema) và thiết kế giao diện tĩnh (UI Mockup).
    • Báo cáo chưa trình bày phần mã nguồn lập trình thực tế, kiến trúc công nghệ cụ thể (framework frontend/backend), môi trường triển khai máy chủ và số liệu kiểm thử hiệu năng/tải thực nghiệm.
  • Hướng nghiên cứu và phát triển tiếp theo:
    • Hiện thực hóa thiết kế bằng cách lập trình hoàn thiện hệ thống trên các nền tảng công nghệ web hiện đại.
    • Tích hợp cổng thanh toán trực tuyến chính thức và dịch vụ gửi tin nhắn xác thực qua email/SMS OTP.
    • Triển khai thử nghiệm vận hành hệ thống thực tế tại các đô thị lớn có nhu cầu thuê trọ cao để thu thập phản hồi và tối ưu hóa trải nghiệm người dùng.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo phù hợp cho:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin đang thực hiện đồ án môn học, đồ án CDIO hoặc khóa luận tốt nghiệp có định hướng xây dựng website dịch vụ / thương mại điện tử.
  • Người học cần tài liệu mẫu chuẩn mực về phương pháp phân tích yêu cầu phần mềm, kỹ thuật viết bảng đặc tả Use Case (Actor - System interaction flow), phương pháp vẽ biểu đồ hoạt động (Activity Diagram) và thiết kế giao diện người dùng có phân quyền đa tác nhân.
  • Các nhóm phát triển có thể tham khảo trực tiếp logic nghiệp vụ phân quyền 4 cấp tác nhân, quy trình nâng cấp tài khoản có kiểm duyệt và công thức trích xuất doanh thu quản trị được xây dựng trong tài liệu.

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

1. Đồ án xác định bao nhiêu tác nhân tham gia vào hệ thống website tìm phòng trọ và vai trò của từng tác nhân là gì?
Hệ thống xác định 4 tác nhân chính: Khách vãng lai (tìm kiếm, xem thông tin phòng trọ, đăng ký), Người dùng (đăng nhập, thuê trọ, chat, đánh giá 5 sao, quản lý giỏ hàng lưu trọ, thanh toán và gửi yêu cầu nâng cấp tài khoản), Chủ phòng trọ (quản lý danh sách phòng trọ, cập nhật trạng thái phòng, chat với khách, xem thống kê doanh thu) và Administrator (quản lý tài khoản, quản lý danh sách chủ trọ, phê duyệt bài đăng và duyệt nâng cấp tài khoản).

2. Quy trình nâng cấp tài khoản từ người dùng thông thường lên chủ phòng trọ diễn ra như thế nào?
Người dùng truy cập mục quản lý tài khoản cá nhân, chọn chức năng nâng cấp tài khoản, điền các thông tin bổ sung bắt buộc và chọn gói nâng cấp. Sau khi người dùng hoàn tất thanh toán, hệ thống sẽ gửi yêu cầu nâng cấp đến Administrator. Khi Administrator phê duyệt yêu cầu, hệ thống gửi email thông báo thành công, lưu dữ liệu và tự động mở các quyền hạn của chủ phòng trọ (đăng tin phòng trọ, quản lý phòng, xem thống kê doanh thu).

3. Cơ chế phân chia doanh thu giữa chủ phòng trọ và ban quản trị website được thiết kế như thế nào?
Trong phân hệ thống kê doanh thu của chủ phòng trọ (Use Case UC16), hệ thống cho phép chủ trọ theo dõi tổng doanh thu theo tuần, tháng, quý, năm. Đồng thời, hệ thống cung cấp mục hiển thị số tiền thực nhận của chủ trọ sau khi đã tự động khấu trừ 25% phí dịch vụ dành cho người quản trị website (Admin).

4. Hệ thống xử lý như thế nào khi xảy ra xung đột thanh toán phòng trọ (phòng đã có người khác đặt trước)?
Theo đặc tả Use Case Thanh toán (USC 10), trong quá trình người dùng tiến hành nhập thông tin và xác nhận giao dịch, nếu phòng trọ đó đã được một người dùng khác đặt trước hoặc đặt cọc thành công trong cùng thời điểm, hệ thống sẽ chặn giao dịch, hủy trừ tiền và gửi thông báo lỗi: "Phòng đã bị đặt/cọc trước. Xin vui lòng chọn phòng khác hoặc thời gian khác".

5. Nhóm tác giả đã phân chia công việc phụ trách 17 chức năng hệ thống như thế nào?
Nhóm phân công cụ thể: Lê Thị Trinh phụ trách Tìm kiếm phòng trọ và Xem phòng trọ; Nguyễn Hồng Minh phụ trách Đăng ký, Đăng nhập, Quên mật khẩu và Quản lý tài khoản cá nhân; Nguyễn Tấn Tín phụ trách Thuê trọ, Chat và Đánh giá; Phan Thị Phước Hạnh phụ trách Quản lý giỏ hàng, Nâng cấp tài khoản, Quản lý danh sách phòng trọ và Thanh toán; Ngô Trần Khánh Huyền phụ trách Quản lý các tài khoản đăng nhập, Quản lý danh sách các chủ phòng trọ, Phê duyệt và Báo cáo thống kê.

Kết luận

Đồ án môn học CDIO-347 "Xây dựng website tìm phòng trọ" của nhóm sinh viên Trường Đại học Duy Tân đã hoàn thành toàn diện việc khảo sát, phân tích yêu cầu nghiệp vụ và thiết kế chi tiết một nền tảng trực tuyến kết nối người thuê và chủ nhà trọ. Báo cáo cung cấp đầy đủ hệ thống biểu đồ Use Case phân rã cho 17 chức năng, 23 biểu đồ hoạt động, sơ đồ quan hệ cơ sở dữ liệu và 18 màn hình giao diện người dùng. Đây là tài liệu thiết kế hệ thống hoàn chỉnh theo đúng phương pháp luận CDIO, tạo tiền đề vững chắc cho các giai đoạn lập trình hiện thực hóa và triển khai vận hành sản phẩm thực tế.