Đồng thời, hệ thống cung cấp thông tin chi tiết về dịch vụ đặt phòng và các chương trình ưu đãi, giúp khách hàng có trải nghiệm tốt nhất khi sửdụng.. ● Cung cấp khả năng đăng nhập cho nh
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC THĂNG LONG
BÁO CÁO BÀI TẬP LỚN Môn: Công nghệ phần mềm
XÂY DỰNG PHẦN MỀM PHẦN MỀM QUẢN LÝ KHÁCH SẠN
A46420
PHẠM ĐÌNH PHÚC - A46402 LƯƠNG HẢI ĐĂNG - A46399 PHẠM ANH DŨNG - A46225 PHAN VĂN QUYỀN - A46115
HÀ NỘI – 2025
LỜI NÓI ĐẦU
Trang 2Ngành công nghiệp khách sạn là một trong những lĩnh vực quan trọng của ngànhdịch vụ, đóng vai trò thiết yếu trong nền kinh tế toàn cầu Khách sạn không chỉ cung cấpnơi lưu trú mà còn mang đến các dịch vụ bổ sung như ẩm thực, giải trí, hội nghị và cáctiện ích khác.
Sự phát triển của ngành khách sạn đã trải qua nhiều giai đoạn, từ những quán trọnhỏ lẻ đến hệ thống khách sạn cao cấp và chuỗi khách sạn quốc tế Với sự tiến bộ củacông nghệ và nhu cầu ngày càng cao của khách hàng, ngành công nghiệp này khôngngừng đổi mới để đáp ứng xu hướng thị trường và tối ưu hóa trải nghiệm khách hàng
Dự án hướng đến việc tạo ra một nền tảng trực tuyến cho phép người dùng dễ dàngtìm kiếm, đặt phòng và quản lý khách sạn với các tính năng thân thiện, tích hợp nhiềuphương thức thanh toán đa dạng Đồng thời, hệ thống cung cấp thông tin chi tiết về dịch
vụ đặt phòng và các chương trình ưu đãi, giúp khách hàng có trải nghiệm tốt nhất khi sửdụng
Báo cáo này trình bày quá trình thực hiện dự án, từ giai đoạn thu thập yêu cầu, phântích, thiết kế, đến phát triển và kiểm thử hệ thống Hy vọng rằng kết quả dự án không chỉđáp ứng đầy đủ yêu cầu của khách hàng mà còn góp phần nâng cao chất lượng dịch vụ vàthúc đẩy sự phát triển bền vững của ngành du lịch
Trang 32.1.1 Yêu cầu chức năng
2.1.2 Yêu cầu phi chức năng
2.2 Đặc tả chức năng
2.2.1 Quản lý đặt phòng
2.2.2 Quản lý khách hàng
2.2.3 Quản lý dịch vụ
2.2.4 Quản lý nhân viên
2.2.5 Thống kê và báo cáo
Trang 4PHÂN CÔNG THÀNH VIÊN TRONG NHÓM
Trang 5PHẦN 1 KHẢO SÁT BÀI TOÁN
1.1 Đặt vấn đề
Trong bối cảnh ngành khách sạn ngày càng phát triển, việc quản lý thủ công trở nên kémhiệu quả, dễ dẫn đến sai sót và làm giảm chất lượng dịch vụ Một số vấn đề chính mà cáckhách sạn gặp phải bao gồm:
● Khó khăn trong việc theo dõi và quản lý tình trạng đặt phòng
● Thiếu sự kết nối giữa các bộ phận như lễ tân, dịch vụ phòng và kế toán
● Xử lý thủ công gây mất thời gian và làm giảm hiệu suất vận hành
● Khó kiểm soát doanh thu và các chi phí phát sinh
● Không có cơ chế cá nhân hóa trải nghiệm khách hàng dựa trên dữ liệu
Để giải quyết những vấn đề này, phần mềm quản lý khách sạn đã ra đời nhằm tối ưu hóaquy trình hoạt động, giảm thiểu sai sót và nâng cao chất lượng dịch vụ
Trang 6● Cung cấp khả năng đăng nhập cho nhân viên và quản lý bằng tài khoản và mật khẩu.
● Hệ thống xác thực tài khoản, nếu đúng thì chuyển đến trang làm việc của từng đối tượng
● Nếu đăng nhập không thành công, hiển thị thông báo lỗi
● Hỗ trợ tính năng quên mật khẩu và khôi phục tài khoản
2 Quản lý phòng (Room Management)
● Cập nhật và quản lý thông tin phòng (loại phòng, giá phòng, số lượng giường, tiệnnghi, tình trạng phòng)
● Cập nhật trạng thái phòng (trống, đã đặt, đang sử dụng, bảo trì)
● Xem lịch sử sử dụng phòng (ngày đặt, khách hàng, tình trạng thanh toán)
● Thực hiện các thay đổi phòng (thêm, sửa, xóa)
3 Quản lý đặt phòng (Reservation Management)
● Tạo mới, sửa, hủy đặt phòng
● Quản lý trạng thái của các đặt phòng (đã xác nhận, chờ xác nhận, hủy)
● Cập nhật thông tin khách (nếu có) vào đặt phòng
● Tìm kiếm phòng trống theo các tiêu chí (ngày nhận phòng, loại phòng, v.v.)
4 Quản lý dịch vụ (Service Management)
● Quản lý các dịch vụ khách sạn (spa, nhà hàng, xe đưa đón, v.v.)
● Cập nhật thông tin dịch vụ, giá cả và thời gian phục vụ
● Tạo yêu cầu dịch vụ cho khách trong quá trình đặt phòng
● Quản lý báo cáo doanh thu từ các dịch vụ được cung cấp
5 Quản lý khách hàng (Customer Management)
● Lưu trữ và quản lý thông tin khách hàng (tên, địa chỉ, số điện thoại, yêu cầu đặc biệt)
● Xem lịch sử đặt phòng và dịch vụ của khách
● Cập nhật thông tin khách hàng khi cần thiết
● Xem và quản lý các yêu cầu hoặc vấn đề của khách hàng
6 Quản lý hóa đơn và thanh toán (Invoice and Payment Management)
● Tạo hóa đơn cho khách (phòng, dịch vụ, thuế)
● Cập nhật tình trạng thanh toán của khách (đã thanh toán, chưa thanh toán)
● Quản lý các hình thức thanh toán (tiền mặt, thẻ tín dụng, chuyển khoản ngân hàng)
● Gửi thông báo thanh toán qua email hoặc SMS
7 Quản lý hàng hóa và tồn kho (Inventory and Stock Management)
● Quản lý kho vật dụng của khách sạn (vật dụng phòng, đồ ăn, thức uống)
● Cập nhật tình trạng tồn kho, nhập/xuất hàng hóa
Trang 7● Xem các thống kê về mức sử dụng hàng hóa trong khách sạn.
8 Quản lý bảo trì và sự cố (Maintenance and Incident Management)
● Cập nhật và theo dõi các yêu cầu bảo trì (phòng hỏng hóc, thiết bị hư hỏng)
● Tạo và phân công công việc bảo trì cho nhân viên kỹ thuật
● Theo dõi tình trạng bảo trì và sự cố (đang xử lý, đã hoàn thành)
● Báo cáo sự cố và tiến độ xử lý cho quản lý
9 Quản lý tài chính (Financial Management)
● Quản lý thu chi của khách sạn, bao gồm doanh thu từ phòng, dịch vụ và chi phí hoạt động
● Lập báo cáo tài chính (doanh thu, chi phí, lợi nhuận)
● Cập nhật các khoản chi phí phát sinh
● Theo dõi tình hình tài chính và các chỉ số kinh doanh quan trọng
10 Quản lý nhân viên (Employee Management)
● Quản lý thông tin nhân viên (tên, chức vụ, ca làm việc, lương, đánh giá hiệu suất)
● Quản lý lịch làm việc của nhân viên
● Đánh giá hiệu suất công việc và thực hiện các quyết định về thăng tiến, khen thưởng
● Cập nhật và quản lý bảng lương, các khoản thưởng hoặc phạt
11 Phân quyền (Role Management)
● Quản lý quyền truy cập của từng vai trò (nhân viên lễ tân, nhân viên bảo trì, kế toán, v.v.)
● Cấp quyền truy cập vào các chức năng và dữ liệu phù hợp với công việc của mỗi nhân viên
● Theo dõi các quyền đã cấp và điều chỉnh khi cần thiết
● Cung cấp nhật ký truy cập để theo dõi hoạt động của người dùng trong hệ thống
2.1.2 Yêu cầu phi chức năng
1 Hiệu năng (Performance)
● Thời gian phản hồi: Hệ thống phải có thời gian phản hồi dưới 2 giây cho các thao
tác người dùng thông thường
● Khả năng xử lý đồng thời: Hệ thống phải hỗ trợ ít nhất 1000 người dùng đồng
thời mà không bị gián đoạn
2 Độ tin cậy (Reliability)
Trang 8● Thời gian hoạt động (Uptime): Hệ thống phải đảm bảo ít nhất 99.9% thời gian
hoạt động trong năm
● Khôi phục dữ liệu: Cần có cơ chế sao lưu và khôi phục dữ liệu trong trường hợp
sự cố
3 Bảo mật (Security)
● Mã hóa dữ liệu nhạy cảm: Dữ liệu người dùng và giao dịch phải được mã hóa
bảo mật
● Quản lý quyền truy cập: Cung cấp tính năng phân quyền rõ ràng cho từng loại
người dùng để đảm bảo an toàn
4 Khả năng mở rộng (Scalability)
● Mở rộng người dùng và tính năng: Hệ thống cần hỗ trợ dễ dàng mở rộng số
lượng người dùng và thêm tính năng mà không làm giảm hiệu suất
5 Dễ sử dụng (Usability)
● Giao diện thân thiện: Giao diện đơn giản, dễ sử dụng và dễ điều hướng, giúp
người dùng nhanh chóng làm quen
6 Khả năng tích hợp (Integration)
● Tích hợp hệ thống bên ngoài: Cần có khả năng tích hợp với các hệ thống khác
như hệ thống thanh toán, CRM, hoặc kế toán nếu cần
7 Dễ bảo trì (Maintainability)
● Bảo trì dễ dàng: Hệ thống phải dễ dàng bảo trì và cập nhật mà không gây gián
đoạn cho hoạt động của khách sạn
8 Tính ổn định (Stability)
● Không lỗi hệ thống: Hệ thống cần ổn định, ít gặp lỗi nghiêm trọng trong suốt quá
trình hoạt động
9 Khả năng kiểm thử (Testability)
● Hỗ trợ kiểm thử tự động: Hệ thống phải dễ dàng kiểm thử các chức năng quan
trọng như đăng nhập, thanh toán, đặt phòng
Trang 91 Mô tả chức năng
Chức năng này cho phép quản lý đặt phòng trực tuyến và kiểm tra tình trạng phòng Hệthống tự động cập nhật trạng thái phòng và ngăn chặn các lỗi đặt phòng chồng chéo
2 Luồng xử lý chính
1 Quản lý truy cập hệ thống và tìm kiếm phòng theo thời gian mong muốn
2 Hệ thống hiển thị danh sách phòng trống và các thông tin liên quan
3 Khách hàng chọn phòng, nhập thông tin cá nhân và xác nhận đặt phòng
4 Hệ thống kiểm tra tính hợp lệ và xác nhận đặt phòng
5 Thanh toán trực tuyến hoặc chọn phương thức thanh toán tại khách sạn
6 Hệ thống gửi xác nhận đặt phòng qua email/SMS
3 Điều kiện tiên quyết
● Phòng phải có sẵn trong khoảng thời gian yêu cầu
4 Kết quả mong đợi
● Đặt phòng thành công, khách hàng nhận được thông báo xác nhận
● Hệ thống cập nhật trạng thái phòng theo thời gian thực
1 Khách hàng cung cấp thông tin cá nhân
2 Hệ thống lưu trữ và quản lý hồ sơ khách hàng
3 Khi đặt phòng, thông tin khách hàng được tự động điền vào biểu mẫu
4 Hệ thống theo dõi lịch sử đặt phòng, sở thích khách hàng
5 Hệ thống phân tích dữ liệu để đưa ra các ưu đãi phù hợp
3 Điều kiện tiên quyết
● Khách hàng cung cấp thông tin cá nhân để được lưu trữ thông tin
4 Kết quả mong đợi
● Khách hàng nhận được trải nghiệm cá nhân hóa và ưu đãi hấp dẫn
Trang 101 Nhân viên cập nhật danh sách dịch vụ có sẵn lên hệ thống.
2 Khách hàng đặt dịch vụ thông qua website hoặc ứng dụng
3 Hệ thống xác nhận và gửi yêu cầu đến bộ phận liên quan
4 Hệ thống theo dõi trạng thái sử dụng dịch vụ và quản lý nhân sự
3 Điều kiện tiên quyết
● Dịch vụ phải được cập nhật sẵn trên hệ thống
4 Kết quả mong đợi
● Khách hàng đặt dịch vụ dễ dàng và hệ thống phân phối công việc hiệu quả
2.2.4 Quản lý nhân viên
1 Mô tả chức năng
Hệ thống giúp theo dõi lịch làm việc, phân công công việc và đánh giá hiệu suất nhânviên
2 Luồng xử lý chính
1 Quản lý cập nhật lịch làm việc của nhân viên
2 Nhân viên đăng nhập để kiểm tra lịch làm việc
3 Quản lý phân công công việc và theo dõi tiến độ
4 Hệ thống ghi nhận và đánh giá hiệu suất làm việc
3 Điều kiện tiên quyết
● Nhân viên phải có tài khoản để truy cập hệ thống
4 Kết quả mong đợi
● Nhân viên làm việc hiệu quả, tránh trùng lặp hoặc thiếu sót trong công việc
2.2.5 Thống kê và báo cáo
Trang 111 Mô tả chức năng
Hệ thống tạo các báo cáo về doanh thu, số lượng đặt phòng và phân tích xu hướng thịtrường
2 Luồng xử lý chính
1 Hệ thống thu thập dữ liệu từ các hoạt động đặt phòng, thanh toán
2 Hệ thống tổng hợp dữ liệu và tạo báo cáo
3 Quản lý truy cập báo cáo và phân tích xu hướng
4 Dữ liệu được sử dụng để tối ưu dịch vụ
3 Điều kiện tiên quyết
● Dữ liệu cần được cập nhật đầy đủ và chính xác
4 Kết quả mong đợi
● Nhà quản lý có thông tin cần thiết để đưa ra quyết định kinh doanh chính xác.2.2.6 Quản lý tài chính
1 Mô tả chức năng
Chức năng này giúp theo dõi chi phí vận hành, doanh thu và các giao dịch tài chính
2 Luồng xử lý chính
1 Hệ thống ghi nhận các giao dịch tài chính từ khách hàng và nhà cung cấp
2 Quản lý kiểm tra báo cáo thu chi, lợi nhuận
3 Hệ thống tạo báo cáo tài chính chi tiết
3 Điều kiện tiên quyết
● Các giao dịch phải được nhập chính xác vào hệ thống
4 Kết quả mong đợi
● Tài chính khách sạn được quản lý minh bạch và tối ưu hóa lợi nhuận
2.2.7 Yêu cầu phi chức năng
Trang 12● Phân quyền người dùng chặt chẽ.
● Mã hóa dữ liệu quan trọng
Use Case Name: Đăng nhập
Use Case ID: UC01
Use Case Description: Người dùng đăng nhập vào hệ thống để truy cập các chức năngphù hợp với quyền hạn của mình
Actor: Nhân viên, Quản lý
Priority: Cao
Trigger: Người dùng muốn truy cập vào hệ thống
Pre-Condition: Người dùng có tài khoản hợp lệ với tên đăng nhập và mật khẩu
Post-Condition: Người dùng được đăng nhập vào hệ thống và có quyền truy cập vào cácchức năng theo vai trò
2 Flow
Basic Flow:
Người dùng mở giao diện đăng nhập của hệ thống
Người dùng nhập tên đăng nhập và mật khẩu
Hệ thống kiểm tra tính hợp lệ của thông tin đăng nhập
Nếu thông tin đúng, hệ thống cấp quyền truy cập và chuyển hướng người dùng tới mànhình chính của hệ thống
Alternative Flow:
Người dùng nhập sai tên đăng nhập hoặc mật khẩu
Trang 13Hệ thống thông báo lỗi và yêu cầu nhập lại thông tin đăng nhập.
Nếu người dùng quên mật khẩu, họ có thể chọn "Quên mật khẩu" để làm lại mật khẩu.Exception Flow:
Người dùng nhập sai thông tin quá 3 lần
Hệ thống khóa tài khoản tạm thời và yêu cầu liên hệ với quản lý
2.3.2 Use Case: Phân quyền
1 Summary
Use Case Name: Phân quyền
Use Case ID: UC02
Use Case Description: Quản lý phân quyền cho người dùng theo vai trò và nhiệm vụtrong hệ thống
Actor: Quản lý
Priority: Cao
Trigger: Quản lý muốn phân quyền cho người dùng
Pre-Condition: Quản lý đã đăng nhập thành công và có quyền phân quyền
Post-Condition: Người dùng được cấp quyền truy cập vào các chức năng hệ thống theophân quyền
2 Flow
Basic Flow:
Quản lý mở giao diện phân quyền
Quản lý tìm kiếm người dùng cần phân quyền
Quản lý chọn các quyền hạn và gán cho người dùng
Hệ thống lưu lại phân quyền và thông báo thành công
Alternative Flow:
Quản lý nhập sai thông tin người dùng hoặc quyền
Trang 14Hệ thống yêu cầu nhập lại thông tin hoặc xác nhận quyền hạn chính xác.
Exception Flow:
Quản lý không có quyền phân quyền cho người dùng
Hệ thống từ chối thao tác và thông báo lỗi yêu cầu quyền cao hơn
2.3.3 Use Case: Quản lý nhân viên
1 Summary
Use Case Name: Quản lý
Use Case ID: UC03
Use Case Description: Quản lý thực hiện các thao tác như thêm mới, sửa đổi, hoặc xóathông tin nhân viên
Actor: Quản lý
Priority: Cao
Trigger: Quản lý cần thêm, sửa, hoặc xóa thông tin nhân viên
Pre-Condition: Quản lý đã đăng nhập và có quyền truy cập vào chức năng quản lý nhânviên
Post-Condition: Thông tin nhân viên được cập nhật hoặc xóa thành công trong hệ thống
2 Flow
Basic Flow:
Quản lý mở giao diện quản lý nhân viên
Quản lý chọn thao tác cần thực hiện (thêm mới, sửa, xóa)
Hệ thống hiển thị thông tin nhân viên để chỉnh sửa hoặc thêm mới
Quản lý thực hiện thao tác và lưu lại thay đổi
Alternative Flow:
Quản lý nhập sai thông tin nhân viên
Trang 15Hệ thống yêu cầu nhập lại thông tin chính xác.
Exception Flow:
Quản lý không có quyền sửa đổi thông tin của một số nhân viên
Hệ thống từ chối thao tác và thông báo lỗi
2.3.4 Use Case: Quản lý phòng
1 Tóm tắt
● Tên Use Case: Quản lý phòng
● ID Use Case: UC04
● Mô tả Use Case: Quản lý và nhân viên thực hiện các thao tác quản lý phòng, bao
gồm thêm mới, sửa đổi, xóa hoặc kiểm tra tình trạng phòng
● Actor: Quản lý, Nhân viên
● Ưu tiên: Cao
● Kích hoạt: Quản lý hoặc nhân viên cần thay đổi thông tin phòng hoặc kiểm tra
tình trạng phòng
● Điều kiện tiên quyết: Quản lý và nhân viên đã đăng nhập và có quyền truy cập
vào chức năng quản lý phòng
● Điều kiện sau khi thực hiện: Thông tin phòng được cập nhật, xóa hoặc kiểm tra
tình trạng thành công trong hệ thống
2 Luồng hoạt động
Luồng chính (Basic Flow):
1 Quản lý hoặc nhân viên chọn thao tác cần thực hiện (thêm mới, sửa đổi, xóa, kiểm tra tình trạng)
2 Hệ thống hiển thị thông tin phòng để chỉnh sửa, thêm mới hoặc kiểm tra tình trạngphòng
3 Quản lý hoặc nhân viên thực hiện thao tác (thêm, sửa, xóa) và lưu lại thay đổi
4 Hệ thống xác nhận thông tin đã được cập nhật hoặc xóa thành công
Luồng thay thế (Alternative Flow):
● A1: Quản lý hoặc nhân viên không tìm thấy phòng cần chỉnh sửa.
○ Hệ thống yêu cầu tìm kiếm lại hoặc tạo phòng mới
● A2: Quản lý hoặc nhân viên không có đủ thông tin để thực hiện thao tác.
○ Hệ thống yêu cầu điền đầy đủ thông tin
Luồng ngoại lệ (Exception Flow):
● E1: Quản lý hoặc nhân viên không có quyền thay đổi thông tin phòng.
○ Hệ thống từ chối thao tác và thông báo lỗi về quyền truy cập
● E2: Quản lý hoặc nhân viên không có quyền xóa phòng.
○ Hệ thống từ chối thao tác và thông báo lỗi về quyền truy cập