KHẢO SÁT HIỆN TRẠNG – LẬP BÁO CÁO KHẢ THI Tự động hóa quy trình quản lý khách sạn: Phần mềm giúp tự động hóa các quy trìnhnhư đặt phòng, thanh toán, cung cấp dịch vụ, và quản lý dữ liệu
KHẢO SÁT HIỆN TRẠNG – LẬP BÁO CÁO KHẢ THI
MỤC ĐÍCH – YÊU CẦU
1 Mục Đích Phần Mềm Quản Lý Khách Sạn
Phần mềm quản lý khách sạn nhằm cung cấp giải pháp toàn diện cho việc quản lý hoạt động khách sạn, bao gồm đặt phòng, thanh toán, quản lý nhân sự và dịch vụ khách hàng Công cụ này giúp nâng cao năng suất làm việc của nhân viên, giảm thiểu lỗi do thao tác thủ công và cung cấp cái nhìn tổng quan về hoạt động của khách sạn.
Phần mềm tự động hóa quy trình quản lý khách sạn giúp tối ưu hóa các hoạt động như đặt phòng, thanh toán, cung cấp dịch vụ và quản lý dữ liệu khách hàng Nhờ đó, nhân viên có thể giảm thiểu công việc thủ công và tập trung vào các nhiệm vụ quan trọng hơn, nâng cao hiệu quả làm việc và cải thiện trải nghiệm khách hàng.
Tối ưu hóa tài nguyên: Giúp quản lý tình trạng phòng ốc, tối ưu hóa việc sử dụng phòng trống, từ đó tăng doanh thu cho khách sạn.
Nâng cao chất lượng dịch vụ khách hàng là yếu tố quan trọng giúp doanh nghiệp phục vụ tốt hơn Bằng cách quản lý thông tin và nhu cầu của khách hàng, doanh nghiệp có thể duy trì sự hài lòng và lòng trung thành của họ.
Phần mềm cho phép theo dõi và phân tích hiệu quả hoạt động một cách dễ dàng, cung cấp báo cáo chi tiết về doanh thu, dịch vụ, số lượng khách hàng và các chỉ số quan trọng khác Điều này hỗ trợ ban lãnh đạo trong việc đưa ra các quyết định chính xác và kịp thời.
Phần mềm quản lý khách sạn giúp quản lý thông tin về phòng, dịch vụ và khách hàng một cách thông minh và chính xác, đảm bảo dữ liệu luôn được cập nhật theo thời gian thực.
2 Yêu Cầu Chức Năng Phần Mềm
Xem danh sách phòng trống theo ngày: Hệ thống phải hiển thị danh sách phòng
Mỗi phòng cần được mô tả chi tiết với thông tin về loại phòng, tiện nghi, giá cả và trạng thái (trống, bận, bảo trì) Điều này giúp nhân viên khách sạn nhanh chóng xác định tình trạng phòng và cung cấp thông tin chính xác cho khách hàng.
Sau khi khách trả phòng, hệ thống sẽ tự động cập nhật trạng thái của phòng sang "Đang dọn dẹp", đảm bảo quy trình quản lý phòng luôn được hiệu quả và chính xác.
"Trống" khi phòng đã được dọn xong Điều này giúp tránh tình trạng phòng bị bỏ trống lâu hoặc nhầm lẫn trong việc phục vụ khách hàng.
Phần mềm quản lý đặt phòng cần có khả năng tự động kiểm tra lịch đặt phòng chồng chéo, phát hiện và cảnh báo khi khách hàng đặt phòng trùng thời gian hoặc ngày Điều này giúp ngăn ngừa tình trạng bán phòng hai lần, từ đó nâng cao trải nghiệm khách hàng và giảm thiểu rắc rối trong quản lý đặt phòng.
Khi khách hàng yêu cầu hủy đặt phòng, hệ thống cần kiểm tra chính sách hoàn tiền của khách sạn để xử lý yêu cầu một cách chính xác Việc này bao gồm việc thông báo rõ ràng về chính sách hủy cho khách hàng, đảm bảo tuân thủ các quy định hiện hành.
Sau khi khách hàng hoàn tất đặt phòng, hệ thống sẽ tự động gửi thông báo xác nhận qua email hoặc SMS Điều này không chỉ giúp khách hàng nắm rõ thông tin đặt phòng mà còn nhắc nhở họ về lịch nhận phòng sắp tới, đảm bảo rằng họ không quên và có thể chuẩn bị tốt cho kỳ nghỉ của mình.
Hệ thống cần lưu trữ và hiển thị lịch sử lưu trú của từng khách hàng, bao gồm thông tin về các lần đặt phòng trước, dịch vụ đã sử dụng và mức độ hài lòng Việc này giúp nhân viên nâng cao chất lượng dịch vụ và cá nhân hóa trải nghiệm cho khách hàng.
Quản lý khách hàng VIP là một yếu tố quan trọng trong ngành dịch vụ, yêu cầu phần mềm phải xác định và phân loại khách hàng thân thiết dựa trên tần suất lưu trú, chi tiêu và mức độ trung thành của họ Việc này giúp doanh nghiệp tối ưu hóa dịch vụ và tạo ra những trải nghiệm tốt nhất cho khách hàng VIP.
Khách hàng có thể dễ dàng đặt các dịch vụ bổ sung như ăn uống, spa và giặt ủi thông qua hệ thống đặt phòng hoặc trực tiếp từ dịch vụ khách sạn Tất cả các dịch vụ này sẽ được tự động ghi nhận và tích hợp vào hóa đơn của khách, mang lại sự tiện lợi và trải nghiệm tốt hơn cho người sử dụng.
Hệ thống tự động phân bổ dịch vụ giúp gửi yêu cầu đến bộ phận phụ trách ngay khi khách hàng đặt dịch vụ bổ sung như giặt ủi Điều này không chỉ nâng cao hiệu quả công việc mà còn giảm thiểu sai sót, mang lại trải nghiệm tốt hơn cho khách hàng.
Hệ thống sẽ tự động gợi ý dịch vụ bổ sung dựa trên lịch sử lưu trú và sở thích của khách hàng, giúp nâng cao trải nghiệm của họ Chẳng hạn, nếu khách hàng thường xuyên sử dụng dịch vụ spa, hệ thống có thể đề xuất các ưu đãi hoặc dịch vụ spa cho lần lưu trú tiếp theo, tạo điều kiện thuận lợi cho sự lựa chọn của khách.
2.5 Thanh Toán và Hóa Đơn
KHẢO SÁT HIỆN TRẠNG
1 Đánh Giá Phần Mềm Hiện Tại
Đánh giá tính năng hiện tại của phần mềm quản lý khách sạn bao gồm các chức năng như quản lý phòng, đặt phòng, khách hàng, dịch vụ, thanh toán và báo cáo Cần xem xét xem các tính năng này có đáp ứng đầy đủ nhu cầu của khách sạn hay không, đồng thời xác định sự chồng chéo hoặc thiếu sót trong các chức năng để cải thiện hiệu quả quản lý.
Đánh giá giao diện người dùng hiện tại cần xem xét tính dễ sử dụng và sự thân thiện của nó Quan trọng là giao diện phần mềm có phù hợp với người dùng, đặc biệt là đối với nhân viên khách sạn không có nhiều kinh nghiệm về công nghệ hay không.
Hiệu suất và tốc độ của phần mềm rất quan trọng để đánh giá khả năng xử lý các tác vụ đồng thời như đặt phòng, thanh toán và cập nhật trạng thái phòng Cần kiểm tra xem hệ thống có bị chậm hoặc gián đoạn khi có nhiều người dùng truy cập cùng lúc hay không.
Khả năng mở rộng của phần mềm là yếu tố quan trọng cần xem xét, đảm bảo rằng hệ thống có thể dễ dàng thích ứng với sự phát triển của khách sạn hoặc thay đổi về quy mô, như việc thêm phòng, dịch vụ và lượng khách hàng.
2 Đánh Giá Hệ Thống Hạ Tầng Công Nghệ
Đánh giá hạ tầng phần cứng và phần mềm của hệ thống quản lý khách sạn là rất quan trọng để đảm bảo sự ổn định và bảo mật Cần xem xét liệu hệ thống hiện tại có đáp ứng đủ yêu cầu không và có cần nâng cấp hoặc thay đổi phần cứng và phần mềm để cải thiện hiệu suất hay không.
Kiểm tra kết nối mạng trong khách sạn là rất quan trọng, bao gồm việc đánh giá sự ổn định của mạng giữa các thiết bị như máy tính văn phòng, máy tính bảng và thiết bị di động của nhân viên Cần xác định xem mạng có bị gián đoạn khi sử dụng phần mềm hay không để đảm bảo trải nghiệm tốt nhất cho khách hàng và nhân viên.
Khả năng sao lưu và phục hồi dữ liệu của phần mềm hiện tại rất quan trọng Hệ thống có thực hiện sao lưu dữ liệu thường xuyên không? Quá trình khôi phục dữ liệu có diễn ra dễ dàng và nhanh chóng hay không?
3 Đánh Giá Về Bảo Mật và Quản Trị Người Dùng
Bảo mật thông tin là yếu tố quan trọng cần kiểm tra khi lựa chọn phần mềm Hãy đảm bảo phần mềm có các cơ chế bảo mật mạnh mẽ như mã hóa dữ liệu và bảo vệ thông tin của khách hàng cũng như nhân viên Đặc biệt, cần xác minh xem các thông tin nhạy cảm như thẻ tín dụng và thông tin cá nhân có được bảo vệ đúng cách hay không.
Quản lý phân quyền là yếu tố quan trọng trong phần mềm, đảm bảo rằng các nhóm người dùng có quyền truy cập rõ ràng Nhân viên chỉ nên được cấp quyền truy cập vào những thông tin cần thiết cho công việc của họ, thay vì có quyền truy cập toàn bộ thông tin của khách sạn.
Xác thực người dùng là một yếu tố quan trọng để bảo vệ tài khoản khỏi xâm nhập, vì vậy cần kiểm tra xem hệ thống có áp dụng cơ chế xác thực mạnh mẽ như mật khẩu phức tạp và xác thực hai yếu tố (2FA) hay không.
4 Đánh Giá Về Khả Năng Tích Hợp và Tương Thích
Khi lựa chọn phần mềm cho khách sạn, cần kiểm tra khả năng tích hợp với các hệ thống khác như thanh toán, quản lý tài chính và công cụ quản lý khách sạn để tối ưu hóa quy trình làm việc và giảm thiểu sai sót Đồng thời, cũng cần xem xét tính tương thích của phần mềm với các thiết bị di động như smartphone và tablet, đảm bảo phần mềm hoạt động mượt mà trên các hệ điều hành Android và iOS nếu khách sạn sử dụng thiết bị di động cho nhân viên.
5 Đánh Giá Về Quản Lý Dịch Vụ và Hỗ Trợ Khách Hàng
Phần mềm quản lý dịch vụ bổ sung giúp theo dõi và quản lý hiệu quả các dịch vụ như ăn uống, giặt ủi và spa Điều này đảm bảo rằng các dịch vụ này được cung cấp một cách dễ dàng và thuận tiện cho khách hàng.
Có hỗ trợ tự động phân bổ dịch vụ cho các bộ phận liên quan không?
Kiểm tra các tính năng hỗ trợ khách hàng của phần mềm là rất quan trọng, bao gồm khả năng gửi thông báo đặt phòng, nhắc nhở lịch trình và hỗ trợ trực tuyến hoặc qua điện thoại Đặc biệt, phần mềm cần cung cấp các báo cáo chi tiết để giúp nhân viên khách sạn giải quyết yêu cầu của khách hàng một cách kịp thời và hiệu quả.
6 Đánh Giá Về Quản Lý Tài Chính và Thanh Toán
Quản lý thanh toán: Phần mềm có thể xử lý các phương thức thanh toán khác nhau như
7 Đánh Giá Về Quản Lý Báo Cáo và Thống Kê
Phần mềm có khả năng tạo báo cáo doanh thu chi tiết theo ngày, tuần và tháng, giúp người quản lý dễ dàng truy cập và hiểu rõ thông tin Điều này hỗ trợ họ trong việc đưa ra các quyết định chính xác và kịp thời.
Phần mềm cung cấp báo cáo thống kê chi tiết về số lượng phòng đã đặt và dịch vụ được sử dụng, giúp doanh nghiệp đánh giá hiệu quả hoạt động Những báo cáo này không chỉ hỗ trợ trong việc cải thiện chiến lược marketing mà còn nâng cao chất lượng phục vụ khách hàng, từ đó tối ưu hóa trải nghiệm của khách hàng.
8 Đánh Giá Độ Phức Tạp và Chi Phí
THU THẬP YÊU CẦU
1.Nguồn thu thập yêu cầu:
1.1.Phỏng vấn nhân viên khách sạn:
Mục đích của việc thu thập ý kiến và nhu cầu từ nhân viên ở các bộ phận khác nhau trong khách sạn, như lễ tân, quản lý phòng, dịch vụ và thanh toán, là để đảm bảo phần mềm quản lý khách sạn đáp ứng đúng nhu cầu thực tế trong công việc hàng ngày Việc này cũng nhằm tìm hiểu những vấn đề mà nhân viên gặp phải khi sử dụng phần mềm hiện tại và các tính năng mong muốn trong phần mềm mới.
"Các thao tác bạn thường xuyên sử dụng nhất trên phần mềm là gì? Có điều gì bạn muốn cải thiện không?"
"Bạn có gặp khó khăn trong việc quản lý phòng và dịch vụ không? Nếu có, bạn muốn phần mềm giúp bạn như thế nào?"
"Quá trình thanh toán và hóa đơn có gặp vấn đề gì không? Bạn mong muốn phần mềm hỗ trợ gì thêm?"
Chúng tôi mong muốn thu thập ý kiến của khách hàng về các tính năng và yêu cầu của phần mềm quản lý khách sạn Mục tiêu chính là tối ưu hóa trải nghiệm của khách hàng, từ quy trình đặt phòng cho đến các dịch vụ tại khách sạn.
Để thu thập ý kiến khách hàng hiệu quả, các khách sạn có thể áp dụng phương pháp khảo sát trực tuyến, qua email, hoặc trên các nền tảng mạng xã hội Bên cạnh đó, tổ chức các cuộc phỏng vấn ngắn trực tiếp tại khách sạn hoặc qua điện thoại cũng là một cách hữu ích để hiểu rõ hơn về nhu cầu và mong muốn của khách hàng.
"Bạn đánh giá thế nào về giao diện và tính năng của phần mềm đặt phòng hiện tại?"
"Bạn muốn có thêm dịch vụ hoặc tính năng nào khi sử dụng dịch vụ khách sạn qua phần mềm?"
"Quá trình thanh toán và nhận phòng có gặp khó khăn gì không? Bạn mong muốn tính năng thanh toán online như thế nào?"
1.3.Phân tích các phần mềm hiện có:
Để lựa chọn phần mềm quản lý khách sạn hiệu quả, cần tiến hành nghiên cứu các phần mềm phổ biến như Opera, RoomRaccoon, và eZee FrontDesk Việc đọc các đánh giá từ người dùng sẽ giúp hiểu rõ hơn về các tính năng đặc biệt và hạn chế của từng phần mềm Đồng thời, xác định những yêu cầu mới hoặc các tính năng còn thiếu mà khách sạn cần cũng là yếu tố quan trọng trong quá trình lựa chọn.
"Phần mềm A có tính năng quản lý phòng tự động cập nhật trạng thái, nhưng thiếu tích hợp thanh toán online."
"Phần mềm B hỗ trợ thanh toán trực tuyến, nhưng giao diện không thân thiện với người dùng và thiếu tính năng báo cáo chi tiết."
2.Kết quả thu thập yêu cầu:
2.1.Khách hàng cần giao diện dễ sử dụng:
Tính dễ sử dụng là yếu tố then chốt trong phần mềm quản lý khách sạn, đặc biệt cho những người không quen thuộc với công nghệ Giao diện cần phải trực quan, dễ hiểu và có khả năng tùy chỉnh để đáp ứng nhu cầu của người dùng.
Giao diện người dùng (UI) phải đơn giản và rõ ràng, dễ dàng thao tác trên cả máy tính và thiết bị di động.
Các tính năng cần được tổ chức một cách hợp lý để khách hàng có thể dễ dàng tìm kiếm và đặt phòng, xem các dịch vụ bổ sung cũng như thanh toán hóa đơn một cách thuận tiện và không gặp khó khăn.
Thêm khả năng tự động điền thông tin cá nhân cho khách hàng đã lưu trong hệ thống, giúp tiết kiệm thời gian khi họ quay lại đặt phòng.
2.2.Quản lý cần hệ thống báo cáo chính xác:
Ban quản lý khách sạn cần một phần mềm mạnh mẽ có khả năng cung cấp báo cáo chi tiết và chính xác về doanh thu, tình trạng phòng, dịch vụ sử dụng và các chỉ số hiệu quả kinh doanh khác.
Phần mềm cần có khả năng tạo báo cáo doanh thu theo các khoảng thời gian như ngày, tuần, tháng và quý, đồng thời cung cấp phân tích chi tiết về nguồn thu từ phòng và các dịch vụ bổ sung khác.
Báo cáo thống kê cung cấp thông tin về các phòng được yêu thích và các dịch vụ khách hàng thường xuyên sử dụng, từ đó hỗ trợ quản lý trong việc xây dựng chiến lược kinh doanh hiệu quả.
Cung cấp báo cáo tình trạng phòng như phòng trống, phòng đã đặt và phòng đang dọn dẹp giúp nhân viên và quản lý dễ dàng theo dõi và kiểm soát công việc hiệu quả.
Hệ thống thanh toán cần tích hợp với các cổng thanh toán phổ biến như PayPal, Stripe, thẻ tín dụng và ví điện tử, giúp khách hàng thực hiện giao dịch một cách nhanh chóng và an toàn.
Khách hàng nên thanh toán phòng và dịch vụ trực tuyến trước khi đến nhận phòng để giảm thiểu thời gian chờ đợi tại quầy lễ tân.
Hệ thống thanh toán cần phải hỗ trợ nhiều loại tiền tệ và có khả năng xử lý yêu cầu hoàn tiền khi khách hàng hủy đặt phòng theo chính sách của khách sạn.
Quá trình thu thập yêu cầu từ phỏng vấn nhân viên, khảo sát khách hàng và phân tích phần mềm hiện có là rất quan trọng để xác định nhu cầu thiết yếu và yêu cầu cụ thể cho phần mềm quản lý khách sạn Những yêu cầu này tạo nền tảng cho việc phát triển phần mềm, nhằm đáp ứng mong đợi của người sử dụng và nâng cao hiệu quả quản lý khách sạn.
LẬP BÁO CÁO KHẢ THI
1 Phân tích mô hình tổng thể hệ thống
Mô hình tổng thể hệ thống quản lý khách sạn bao gồm các thành phần chính, mỗi thành phần được thiết kế để đáp ứng các yêu cầu chức năng của hệ thống.
Hệ thống quản lý thông tin khách hàng lưu trữ các dữ liệu quan trọng như tên, địa chỉ, số điện thoại, lịch sử lưu trú và các yêu cầu đặc biệt của khách hàng.
Hệ thống quản lý thông tin phòng là một thành phần quan trọng trong việc vận hành khách sạn, resort hoặc các cơ sở lưu trú khác Thông qua hệ thống này, bạn có thể dễ dàng quản lý số lượng phòng, loại phòng và tình trạng phòng hiện tại, bao gồm cả phòng đang sử dụng, phòng trống và phòng đang dọn dẹp Ngoài ra, hệ thống cũng cho phép bạn cập nhật giá phòng một cách linh hoạt, giúp bạn tối ưu hóa doanh thu và quản lý kinh doanh hiệu quả hơn.
Quản lý đặt phòng: Hệ thống hỗ trợ việc đặt phòng trực tuyến và qua lễ tân, xác nhận tình trạng phòng và tính phí cho mỗi đặt phòng.
Quản lý dịch vụ bổ sung: Các dịch vụ như spa, ăn uống, giường phụ, v.v có thể được yêu cầu thêm trong suốt thời gian lưu trú của khách.
Quản lý thanh toán: Hệ thống hỗ trợ thanh toán bằng nhiều phương thức khác
Hệ thống có khả năng tạo báo cáo chi tiết về tình trạng phòng theo thời gian thực, bao gồm thông tin về phòng đang sử dụng, phòng trống và phòng đang trong quá trình dọn dẹp.
Báo cáo doanh thu: Hệ thống cung cấp báo cáo tổng hợp về doanh thu theo thời gian và các dịch vụ đã được yêu cầu.
Hệ thống sẽ được triển khai trên nền tảng web hoặc ứng dụng di động, giúp người dùng dễ dàng truy cập và sử dụng từ nhiều thiết bị như máy tính để bàn, laptop và điện thoại di động.
Mô hình hệ thống sẽ được chia thành các lớp sau:
Lớp giao diện người dùng (UI) sẽ được thiết kế thân thiện cho cả nhân viên lễ tân và khách hàng, nhằm đơn giản hóa các thao tác như đặt phòng, thanh toán, theo dõi lịch sử lưu trú và yêu cầu dịch vụ bổ sung một cách dễ dàng.
Lớp xử lý nghiệp vụ đóng vai trò quan trọng trong việc quản lý các quy trình như tính toán phí thanh toán, xác định khách hàng VIP, kiểm tra tình trạng phòng trống, tạo hóa đơn và gửi thông báo đến khách hàng.
Lớp dữ liệu là phần quan trọng trong hệ thống, có chức năng kết nối với cơ sở dữ liệu để quản lý và lưu trữ thông tin liên quan đến khách hàng, phòng, đặt phòng, dịch vụ và thanh toán.
3 Giải pháp kỹ thuật công nghệ Để triển khai hệ thống quản lý khách sạn, các công nghệ sau sẽ được sử dụng:
Frontend (Giao diện người dùng): o React.js hoặc Vue.js sẽ là lựa chọn cho việc phát triển giao diện người
Để phát triển backend, chúng tôi sẽ sử dụng Node.js hoặc Django (Python) nhằm cung cấp các API phục vụ cho các chức năng như đặt phòng, thanh toán, gửi thông báo và báo cáo Đối với Node.js, Express.js có thể được áp dụng để xử lý các yêu cầu HTTP một cách hiệu quả.
Cơ sở dữ liệu là yếu tố quan trọng trong hệ thống quản lý, với MySQL và PostgreSQL là những lựa chọn hàng đầu cho cơ sở dữ liệu quan hệ, giúp quản lý hiệu quả các bảng dữ liệu liên quan đến khách hàng, phòng, đặt phòng, dịch vụ và thanh toán Trong khi đó, MongoDB là sự lựa chọn lý tưởng cho những nhu cầu lưu trữ dữ liệu không có cấu trúc hoặc khi cần khả năng mở rộng linh hoạt hơn.
Để hỗ trợ thanh toán trực tuyến, bạn có thể tích hợp Stripe hoặc PayPal, cho phép khách hàng thanh toán bằng thẻ tín dụng và ví điện tử Việc sử dụng PayPal API hoặc Stripe API sẽ giúp xử lý các giao dịch thanh toán một cách hiệu quả và an toàn.
Twilio hoặc SendGrid sẽ được sử dụng để gửi thông báo qua SMS hoặc email cho khách hàng, thông báo về tình trạng phòng, đơn đặt phòng và quy trình thanh toán.
4 Phân tích khả năng mở rộng và bảo trì hệ thống
Hệ thống sẽ được thiết kế với khả năng mở rộng linh hoạt, cho phép dễ dàng bổ sung các tính năng mới như quản lý khuyến mãi và tích hợp với các dịch vụ vận chuyển hoặc cung ứng.
Bảo trì: Hệ thống sẽ được xây dựng theo mô hình MVC (Model-View-
Controller giúp tách biệt giao diện người dùng và logic xử lý nghiệp vụ, từ đó làm cho việc bảo trì và cập nhật hệ thống trở nên dễ dàng hơn mà không ảnh hưởng đến các phần khác của hệ thống.
Bảo mật là yếu tố quan trọng trong việc bảo vệ dữ liệu, với các biện pháp như mã hóa thông tin, xác thực người dùng qua mật khẩu và xác thực hai yếu tố (2FA) Ngoài ra, việc sử dụng chứng chỉ SSL/TLS cũng là cần thiết để đảm bảo an toàn cho các giao dịch thanh toán trực tuyến.
5 Đánh giá hiệu quả hệ thống
ĐẶC TẢ YÊU CẦU
I Giới thiệu ngắn gọn về UML
UML (Ngôn ngữ Mô hình hóa Thống nhất) là công cụ quan trọng trong việc mô tả, hình dung, xây dựng và tài liệu hóa các hệ thống phần mềm Với bộ ký hiệu và biểu đồ tiêu chuẩn, UML giúp người dùng dễ dàng mô tả cấu trúc và hành vi của hệ thống một cách trực quan và dễ hiểu.
1 Lịch sử ra đời của UML:
UML, được phát triển vào năm 1997 bởi Grady Booch, Ivar Jacobson và James Rumbaugh, nhằm mục đích thống nhất các phương pháp mô hình hóa hướng đối tượng khác nhau thành một ngôn ngữ duy nhất Trước đó, các phương pháp như Booch, OMT và OOSE tồn tại nhưng thiếu sự đồng nhất và không tương thích UML ra đời để giải quyết vấn đề này, cung cấp một ngôn ngữ chung cho việc mô hình hóa hệ thống phần mềm.
2 Các loại biểu đồ trong UML:
UML bao gồm nhiều loại biểu đồ, mỗi loại phục vụ một mục đích cụ thể trong việc mô hình hóa hệ thống:
Biểu đồ lớp (Class Diagram): Mô tả cấu trúc tĩnh của hệ thống, bao gồm các lớp, thuộc tính và phương thức, cùng với mối quan hệ giữa chúng.
Biểu đồ đối tượng (Object Diagram): Mô tả các đối tượng cụ thể và mối quan hệ giữa chúng tại một thời điểm nhất định.
Biểu đồ tình huống sử dụng (Use Case Diagram): Mô tả các chức năng mà hệ thống cung cấp và mối quan hệ với các tác nhân bên ngoài.
Biểu đồ trình tự (Sequence Diagram): Mô tả thứ tự các thông điệp được trao đổi giữa các đối tượng trong một kịch bản cụ thể.
Biểu đồ cộng tác (Collaboration Diagram): Mô tả mối quan hệ giữa các đối tượng và cách chúng tương tác để thực hiện một chức năng.
Biểu đồ thành phần (Component Diagram): Mô tả cấu trúc tĩnh của các thành phần phần mềm và mối quan hệ giữa chúng.
Biểu đồ triển khai (Deployment Diagram): Mô tả cấu trúc phần cứng của hệ thống và cách các thành phần phần mềm được triển khai trên đó.
Biểu đồ gói (Package Diagram): Mô tả cách các lớp và thành phần được tổ chức thành các gói.
Biểu đồ liên lạc mô tả mối quan hệ giữa các đối tượng và cách chúng tương tác để thực hiện một chức năng Biểu đồ này tương tự như biểu đồ cộng tác nhưng chú trọng vào mối quan hệ giữa các đối tượng hơn là thứ tự của các thông điệp.
Việc áp dụng UML trong phát triển phần mềm giúp cải thiện giao tiếp giữa các nhà phát triển, giảm thiểu sự hiểu lầm và nâng cao tính nhất quán trong quá trình xây dựng hệ thống.
II ĐẶC TẢ YÊU CẦU
1 Yêu cầu thứ 1 – Mã số: YC001
Nội dung: Xem danh sách phòng trống theo ngày.
Chi tiết: Người dùng (nhân viên lễ tân hoặc khách hàng) có thể kiểm tra danh sách phòng trống dựa trên ngày nhận và trả phòng.
Mô hình UML mức phân tích:
Actor: Nhân viên lễ tân, Khách hàng.
Use Case: Kiểm tra phòng trống.
Người dùng gửi yêu cầu → Hệ thống kiểm tra trạng thái phòng → Trả về danh sách phòng trống → Hiển thị kết quả.
2 Yêu cầu thứ 2 – Mã số: YC002
Nội dung: Xem chi tiết phòng.
Chi tiết: Hiển thị thông tin chi tiết của một phòng, bao gồm loại phòng, giá, tiện nghi và hình ảnh minh họa.
Mô hình UML mức phân tích:
Actor: Nhân viên lễ tân, Khách hàng.
Bắt đầu → Chọn phòng → Truy xuất thông tin phòng → Hiển thị thông tin → Kết thúc.
Người dùng gửi yêu cầu → Hệ thống lấy dữ liệu phòng từ cơ sở dữ liệu
→ Hiển thị thông tin chi tiết.
3 Yêu cầu thứ 3 – Mã số: YC003
Nội dung: Cập nhật trạng thái phòng tự động.
Chi tiết: Sau khi khách trả phòng, trạng thái phòng sẽ tự động chuyển từ "Đang sử dụng" sang "Đang dọn dẹp".
Mô hình UML mức phân tích:
Actor: Nhân viên lễ tân.
Use Case: Cập nhật trạng thái phòng.
Bắt đầu → Xác nhận khách trả phòng → Cập nhật trạng thái phòng →Kết thúc.
Nhân viên xác nhận trả phòng → Hệ thống cập nhật trạng thái phòng
→ Trạng thái phòng thay đổi → Thông báo thành công.
4 Yêu cầu thứ 4 – Mã số: YC004
Nội dung: Gửi thông báo đặt phòng.
Chi tiết: Hệ thống tự động gửi email hoặc SMS xác nhận đặt phòng hoặc nhắc nhở trước ngày nhận phòng.
Mô hình UML mức phân tích:
Bắt đầu → Xác nhận thông tin đặt phòng → Gửi email/SMS → Kết thúc.
Hệ thống lấy thông tin đặt phòng → Gửi thông báo qua email/SMS →Hoàn thành gửi thông báo.
5 Yêu cầu thứ 5 – Mã số: YC005
Nội dung: Thống kê doanh thu theo thời gian.
Chi tiết: Người quản lý có thể xem báo cáo doanh thu theo ngày, tuần, tháng hoặc quý.
Mô hình UML mức phân tích:
Bắt đầu → Chọn khoảng thời gian → Truy vấn dữ liệu → Tính tổng doanh thu → Hiển thị báo cáo → Kết thúc.
Quản lý chọn thời gian → Hệ thống lấy dữ liệu doanh thu → Tính toán
6 Yêu cầu thứ 6 – Mã số: YC006
Nội dung: Quản lý khách hàng VIP.
Chi tiết: Hệ thống tự động xác định khách hàng VIP dựa trên số tiền chi tiêu và lịch sử lưu trú.
Use Case: Phân loại khách hàng.
Bắt đầu → Kiểm tra chi tiêu → Đánh dấu khách VIP → Kết thúc.
Hệ thống kiểm tra dữ liệu khách hàng → So sánh với ngưỡng VIP →Cập nhật trạng thái khách hàng → Hoàn thành.
7 Yêu cầu thứ 7 – Mã số: YC007
Nội dung: Cập nhật dịch vụ bổ sung.
Chi tiết: Hệ thống cho phép nhân viên thêm dịch vụ bổ sung cho khách (ví dụ: spa,
Actor: Nhân viên lễ tân.
Use Case: Thêm dịch vụ bổ sung.
Bắt đầu → Nhân viên chọn dịch vụ → Thêm vào hóa đơn → Kết thúc.
Nhân viên chọn dịch vụ → Hệ thống thêm dịch vụ vào hóa đơn →Hiển thị hóa đơn đã cập nhật.
8 Yêu cầu thứ 8 – Mã số: YC008
Nội dung: Thanh toán đa phương thức.
Chi tiết: Khách hàng có thể chọn nhiều phương thức thanh toán như tiền mặt, thẻ tín dụng, hoặc ví điện tử.
Mô hình UML mức phân tích:
Use Case: Thanh toán đa phương thức.
Bắt đầu → Chọn phương thức thanh toán → Nhập thông tin thanh toán
→ Hoàn tất thanh toán → Kết thúc.
Khách hàng chọn phương thức → Hệ thống xử lý thanh toán → Xác nhận thành công → Hoàn tất.
9 Yêu cầu thứ 9 – Mã số: YC009
Nội dung: Tạo và gửi hóa đơn điện tử.
Chi tiết: Sau khi thanh toán, hệ thống tạo hóa đơn điện tử và gửi qua email cho khách hàng.
Mô hình UML mức phân tích:
Use Case: Tạo và gửi hóa đơn.
Bắt đầu → Tạo hóa đơn → Gửi hóa đơn qua email → Kết thúc.
Hệ thống tạo hóa đơn → Gửi hóa đơn qua email → Xác nhận gửi thành công.
10 Yêu cầu thứ 10 – Mã số: YC010
Nội dung: Quản lý yêu cầu hủy đặt phòng.
Chi tiết: Khách hàng có thể yêu cầu hủy đặt phòng và hệ thống sẽ tính toán mức phí
Mô hình UML mức phân tích:
Use Case: Yêu cầu hủy phòng.
Bắt đầu → Nhập thông tin hủy → Kiểm tra chính sách → Xử lý yêu cầu → Kết thúc.
Khách hàng gửi yêu cầu → Hệ thống kiểm tra chính sách → Xử lý yêu cầu → Thông báo kết quả.
11 Yêu cầu thứ 11 – Mã số: YC011
Nội dung: Quản lý đặt phòng nhóm.
Chi tiết: Hệ thống hỗ trợ việc đặt phòng cho một nhóm khách, bao gồm yêu cầu thêm giường phụ và phòng họp.
Mô hình UML mức phân tích:
Bắt đầu → Nhập thông tin nhóm → Chọn phòng → Thêm dịch vụ →Hoàn tất đặt phòng → Kết thúc.
Nhân viên nhập thông tin nhóm → Hệ thống xác nhận phòng → Thêm dịch vụ → Hoàn tất.
12 Yêu cầu thứ 12 – Mã số: YC012
Nội dung: Quản lý đặt phòng theo kỳ nghỉ lễ.
Chi tiết: Hệ thống hỗ trợ đặt phòng theo gói kỳ nghỉ lễ với các ưu đãi đặc biệt.
Mô hình UML mức phân tích:
Use Case: Đặt phòng kỳ nghỉ lễ.
Bắt đầu → Chọn gói kỳ nghỉ lễ → Nhập thông tin → Hoàn tất đặt phòng → Kết thúc.
Khách hàng chọn gói → Hệ thống xác nhận gói → Hoàn tất đặt phòng.
13 Yêu cầu thứ 13 – Mã số: YC013
Nội dung: Quản lý yêu cầu dịch vụ bổ sung.
Hệ thống cung cấp cho khách hàng khả năng yêu cầu các dịch vụ bổ sung như phòng họp, dịch vụ ăn uống, spa, đưa đón sân bay và nhiều dịch vụ khác trong suốt thời gian lưu trú của họ.
Use Case: Yêu cầu dịch vụ bổ sung.
Bắt đầu → Chọn dịch vụ bổ sung → Nhập thông tin yêu cầu → Xác nhận dịch vụ → Kết thúc.
Khách hàng chọn dịch vụ → Hệ thống ghi nhận yêu cầu → Hệ thống xác nhận dịch vụ → Hoàn tất yêu cầu.
14 Yêu cầu thứ 14 – Mã số: YC014
Nội dung: Quản lý thông tin khách hàng.
Hệ thống cho phép lưu trữ và cập nhật thông tin cá nhân của khách hàng, bao gồm tên, địa chỉ, số điện thoại, lịch sử lưu trú và các yêu cầu đặc biệt của họ.
Mô hình UML mức phân tích:
Actor: Nhân viên lễ tân.
Bắt đầu → Lựa chọn khách hàng → Xem hoặc cập nhật thông tin →Lưu thông tin → Kết thúc.
Nhân viên lựa chọn khách hàng → Hệ thống truy xuất thông tin →Cập nhật thông tin → Lưu vào cơ sở dữ liệu.
15 Yêu cầu thứ 15 – Mã số: YC015
Nội dung: Quản lý yêu cầu trả phòng sớm.
Chi tiết: Khách hàng có thể yêu cầu trả phòng trước giờ, và hệ thống sẽ tính toán các khoản phí phụ nếu có.
Bắt đầu → Khách hàng yêu cầu trả phòng sớm → Hệ thống kiểm tra chính sách → Tính toán phí trả phòng → Xử lý yêu cầu → Kết thúc.
Khách hàng yêu cầu → Hệ thống tính phí → Xử lý yêu cầu → Thông báo kết quả.
16 Yêu cầu thứ 16 – Mã số: YC016
Nội dung: Cập nhật tình trạng thanh toán phòng.
Chi tiết: Hệ thống tự động cập nhật tình trạng thanh toán của khách hàng, bao gồm thanh toán đầy đủ, thanh toán một phần và chưa thanh toán.
Mô hình UML mức phân tích:
Actor: Nhân viên lễ tân.
Use Case: Cập nhật tình trạng thanh toán.
Bắt đầu → Nhập thông tin thanh toán → Cập nhật tình trạng thanh toán → Lưu thông tin → Kết thúc.
Nhân viên nhập thông tin thanh toán → Hệ thống kiểm tra tình trạng
→ Cập nhật thông tin → Hoàn thành.
17 Yêu cầu thứ 17 – Mã số: YC017
Nội dung: Thêm yêu cầu đặc biệt của khách.
Chi tiết: Khách hàng có thể yêu cầu các dịch vụ đặc biệt như phòng hút thuốc, giường đôi, hay yêu cầu về thức ăn đặc biệt.
Mô hình UML mức phân tích:
Use Case: Thêm yêu cầu đặc biệt.
Bắt đầu → Khách hàng yêu cầu đặc biệt → Xác nhận yêu cầu → Lưu yêu cầu → Kết thúc.
Khách hàng nhập yêu cầu → Hệ thống ghi nhận yêu cầu → Lưu vào cơ sở dữ liệu → Xác nhận hoàn tất.
18 Yêu cầu thứ 18 – Mã số: YC018
Nội dung: Quản lý lịch sử thanh toán.
Chi tiết: Hệ thống lưu trữ lịch sử thanh toán của khách hàng để tiện theo dõi và đối chiếu.
Mô hình UML mức phân tích:
Bắt đầu → Chọn khách hàng → Xem lịch sử thanh toán → Hiển thị kết quả → Kết thúc.
Nhân viên chọn khách hàng → Hệ thống truy vấn dữ liệu thanh toán
→ Hiển thị lịch sử thanh toán → Kết thúc.
19 Yêu cầu thứ 19 – Mã số: YC019
Nội dung: Xem báo cáo tình trạng phòng.
Chi tiết: Hệ thống tạo báo cáo về tình trạng phòng theo thời gian, bao gồm phòng đang sử dụng, phòng trống, và phòng đang dọn dẹp.
Mô hình UML mức phân tích:
Use Case: Xem báo cáo tình trạng phòng.
Bắt đầu → Lựa chọn khoảng thời gian → Truy vấn trạng thái phòng →Hiển thị báo cáo → Kết thúc.
Quản lý yêu cầu báo cáo → Hệ thống truy xuất trạng thái phòng →Hiển thị kết quả báo cáo.
20 Yêu cầu thứ 20 – Mã số: YC020
Nội dung: Quản lý mức giá phòng.
Chi tiết: Hệ thống cho phép quản lý và thay đổi mức giá phòng tùy theo mùa, ngày lễ và các chính sách khuyến mãi.
Mô hình UML mức phân tích:
Use Case: Quản lý mức giá phòng.
Bắt đầu → Chọn phòng cần thay đổi giá → Nhập mức giá mới → Lưu thay đổi → Kết thúc.
Quản lý chọn phòng → Hệ thống thay đổi mức giá → Lưu thay đổi →Cập nhật cơ sở dữ liệu.
THIẾT KẾ HỆ THỐNG PHẦN MỀM
I CÁC MÔ HÌNH UML Ở MỨC THIẾT KẾ
1 Chức năng 1: Xem danh sách phòng trống theo ngày
1.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị danh sách phòng trống theo ngày cho người dùng.
Business Logic Layer: Xử lý logic kiểm tra tình trạng phòng (trống hoặc đã đặt).
Data Layer: Lưu trữ và truy vấn trạng thái phòng theo ngày.
Màn hình phòng trống: Hiển thị danh sách phòng trống với ngày nhận và trả phòng.
Bảng Phòng (Rooms): Lưu trữ thông tin trạng thái phòng, ngày nhận và trả phòng.1.4 Use Case (UseCase Diagram):
1.5 Sơ đồ Class (Class Diagram):
1.6 Sơ đồ Activity (Activity Diagram):
1.7 Sơ đồ Sequence (Sequence Diagram):
2 Chức năng 2: Xem chi tiết phòng
2.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị thông tin chi tiết về phòng.
Business Logic Layer: Xử lý truy vấn thông tin chi tiết của phòng.
Data Layer: Lưu trữ thông tin chi tiết về các phòng.
Màn hình chi tiết phòng: Hiển thị thông tin chi tiết về phòng, bao gồm loại, giá cả và tiện nghi.
Bảng Phòng (Rooms): Lưu trữ thông tin chi tiết về từng phòng.
2.5 Sơ đồ Class (Class Diagram):
2.6 Sơ đồ Activity (Activity Diagram):
2.7 Sơ đồ Sequence (Sequence Diagram):
3 Chức năng 3: Cập nhật trạng thái phòng tự động
3.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị trạng thái phòng (Đang sử dụng, Đang dọn dẹp, Trống).
Business Logic Layer: Tự động cập nhật trạng thái phòng sau khi khách trả phòng.
Data Layer: Cập nhật trạng thái phòng trong cơ sở dữ liệu.
Màn hình trạng thái phòng: Hiển thị trạng thái các phòng và cho phép cập nhật tự động.
Bảng Phòng (Rooms): Lưu trữ trạng thái của mỗi phòng.
3.5 Sơ đồ Class (Class Diagram):
3.6 Sơ đồ Activity (Activity Diagram):
3.7 Sơ đồ Sequence (Sequence Diagram):
4 Chức năng 4: Gửi thông báo đặt phòng
4.1 Thiết kế kiến trúc xử lý
UI Layer: Giao diện xác nhận thông tin đặt phòng.
Business Logic Layer: Xử lý việc gửi thông báo đặt phòng qua email hoặc SMS.
Data Layer: Lưu trữ thông tin liên hệ của khách hàng.
Màn hình thông báo: Hiển thị thông báo đặt phòng và xác nhận thông tin.
Bảng Đặt Phòng (Bookings): Lưu trữ thông tin liên quan đến việc đặt phòng.
4.5 Sơ đồ Class (Class Diagram):
4.6 Sơ đồ Activity (Activity Diagram):
4.7 Sơ đồ Sequence (Sequence Diagram):
5 Chức năng 5: Thống kê doanh thu theo thời gian
5.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị các báo cáo doanh thu.
Business Logic Layer: Tính toán doanh thu theo các mốc thời gian (ngày, tuần, tháng, quý).
Data Layer: Truy vấn dữ liệu thanh toán và lưu trữ báo cáo.
Màn hình báo cáo doanh thu: Cho phép lựa chọn khoảng thời gian và xem báo cáo doanh thu.
Bảng Thanh Toán (Payments): Lưu trữ thông tin thanh toán và tính toán doanh thu.
Chú thích: Biểu đồ tình huống sử dụng mô tả quy trình tạo và xem báo cáo doanh thu.
4.5 Sơ đồ Class (Class Diagram):
4.6 Sơ đồ Activity (Activity Diagram):
4.7 Sơ đồ Sequence (Sequence Diagram):
6 Chức năng 6: Quản lý khách hàng VIP
6.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị danh sách khách hàng VIP và thông tin liên quan.
Business Logic Layer: Xử lý và xác định khách hàng VIP dựa trên các tiêu chí chi tiêu và lưu trú.
Data Layer: Lưu trữ thông tin khách hàng VIP.
Màn hình khách hàng VIP: Hiển thị danh sách khách hàng VIP và các ưu đãi kèm theo.
Bảng Khách Hàng (Customers): Lưu trữ thông tin khách hàng và trạng thái VIP.6.4 Use Case (UseCase Diagram):
6.5 Sơ đồ Class (Class Diagram):
6.6 Sơ đồ Activity (Activity Diagram):
6.7 Sơ đồ Sequence (Sequence Diagram):
7 Chức năng 7: Cập nhật dịch vụ bổ sung
7.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị các dịch vụ bổ sung cho khách hàng.
Business Logic Layer: Cập nhật các dịch vụ bổ sung cho khách.
Data Layer: Lưu trữ thông tin dịch vụ bổ sung.
Màn hình dịch vụ bổ sung: Cho phép nhân viên thêm dịch vụ cho khách. 7.3 Thiết kế lưu trữ
Bảng Dịch Vụ (Services): Lưu trữ các dịch vụ bổ sung cho khách.
7.5 Sơ đồ Class (Class Diagram):
7.6 Sơ đồ Activity (Activity Diagram):
7.7 Sơ đồ Sequence (Sequence Diagram):
8 Chức năng 8: Thanh toán đa phương thức
8.1 Thiết kế kiến trúc xử lý
UI Layer: Giao diện thanh toán hiển thị các phương thức thanh toán.
Business Logic Layer: Xử lý logic thanh toán qua các phương thức khác nhau.
Data Layer: Lưu trữ thông tin thanh toán của khách hàng.
Màn hình thanh toán: Cho phép khách hàng chọn phương thức thanh toán (tiền mặt, thẻ tín dụng, ví điện tử).
Bảng Thanh Toán (Payments): Lưu trữ thông tin về phương thức thanh toán.
8.5 Sơ đồ Class (Class Diagram):
8.6 Sơ đồ Activity (Activity Diagram):
8.7 Sơ đồ Sequence (Sequence Diagram):
9 Chức năng 9: Tạo và gửi hóa đơn điện tử
9.1 Thiết kế kiến trúc xử lý
UI Layer: Giao diện hiển thị hóa đơn điện tử.
Business Logic Layer: Xử lý việc tạo hóa đơn và gửi qua email.
Data Layer: Lưu trữ thông tin hóa đơn của khách hàng.
Màn hình hóa đơn: Hiển thị thông tin hóa đơn và nút gửi email. 9.3 Thiết kế lưu trữ
Bảng Hóa Đơn (Invoices): Lưu trữ thông tin hóa đơn của khách hàng.
9.5 Sơ đồ Class (Class Diagram):
9.6 Sơ đồ Activity (Activity Diagram):
9.7 Sơ đồ Sequence (Sequence Diagram):
10 Chức năng 10: Quản lý yêu cầu hủy đặt phòng
10.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị yêu cầu hủy đặt phòng và mức phí hủy.
Business Logic Layer: Xử lý yêu cầu hủy phòng và tính toán mức phí theo chính sách.
Data Layer: Lưu trữ thông tin về yêu cầu hủy và phí hủy.
Màn hình yêu cầu hủy đặt phòng: Cho phép khách hàng yêu cầu hủy phòng và xem phí hủy.
Bảng Hủy Đặt Phòng (Cancelations): Lưu trữ các yêu cầu hủy đặt phòng và mức phí hủy.
10.5 Sơ đồ Class (Class Diagram):
10.6 Sơ đồ Activity (Activity Diagram):
10.7 Sơ đồ Sequence (Sequence Diagram):
11 Chức năng 11: Quản lý đặt phòng nhóm
11.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị thông tin phòng nhóm và yêu cầu bổ sung giường phụ, phòng họp.
Business Logic Layer: Xử lý việc đặt phòng cho nhóm và yêu cầu bổ sung.
Data Layer: Lưu trữ thông tin đặt phòng nhóm.
Màn hình đặt phòng nhóm: Cho phép người dùng tạo yêu cầu đặt phòng cho nhóm và thêm các dịch vụ bổ sung.
Bảng Đặt Phòng (Bookings): Lưu trữ thông tin về đặt phòng nhóm và các yêu cầu bổ sung.
11.5 Sơ đồ Class (Class Diagram):
11.6 Sơ đồ Activity (Activity Diagram):
11.7 Sơ đồ Sequence (Sequence Diagram):
12 Chức năng 12: Quản lý đặt phòng theo kỳ nghỉ lễ
12.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị các gói kỳ nghỉ lễ với ưu đãi đặc biệt.
Business Logic Layer: Xử lý các gói kỳ nghỉ lễ và ưu đãi.
Data Layer: Lưu trữ thông tin về các gói kỳ nghỉ lễ.
Màn hình kỳ nghỉ lễ: Cho phép khách hàng lựa chọn gói kỳ nghỉ lễ và các ưu đãi đi kèm.
Bảng Gói Kỳ Nghỉ (Holiday Packages): Lưu trữ thông tin về các gói kỳ nghỉ lễ.12.4 Use Case (UseCase Diagram):
12.5 Sơ đồ Class (Class Diagram):
12.6 Sơ đồ Activity (Activity Diagram):
12.7 Sơ đồ Sequence (Sequence Diagram):
13 Chức năng 13: Quản lý yêu cầu dịch vụ bổ sung
13.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị các dịch vụ bổ sung và cho phép khách yêu cầu thêm.
Business Logic Layer: Xử lý yêu cầu dịch vụ bổ sung của khách hàng.
Data Layer: Lưu trữ yêu cầu dịch vụ bổ sung.
Màn hình yêu cầu dịch vụ bổ sung: Cho phép khách hàng chọn và yêu cầu các dịch vụ bổ sung.
Bảng Dịch Vụ (Services): Lưu trữ thông tin về các dịch vụ bổ sung.
13.6 Sơ đồ Activity (Activity Diagram):
13.7 Sơ đồ Sequence (Sequence Diagram):
14 Chức năng 14: Quản lý thông tin khách hàng
14.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị thông tin khách hàng và cho phép chỉnh sửa.
Business Logic Layer: Cập nhật thông tin khách hàng.
Data Layer: Lưu trữ và quản lý thông tin khách hàng.
Màn hình thông tin khách hàng: Hiển thị và chỉnh sửa thông tin khách hàng. 14.3 Thiết kế lưu trữ
Bảng Khách Hàng (Customers): Lưu trữ thông tin khách hàng.
14.5 Sơ đồ Class (Class Diagram):
14.6 Sơ đồ Activity (Activity Diagram):
14.7 Sơ đồ Sequence (Sequence Diagram):
15 Chức năng 15: Quản lý yêu cầu trả phòng sớm
15.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị yêu cầu trả phòng sớm và các phí liên quan.
Business Logic Layer: Xử lý yêu cầu trả phòng sớm và tính toán các khoản phí.
Data Layer: Lưu trữ yêu cầu trả phòng sớm và phí kèm theo.
Màn hình yêu cầu trả phòng: Cho phép khách hàng yêu cầu trả phòng sớm và hiển thị phí.
Bảng Yêu Cầu (Requests): Lưu trữ thông tin yêu cầu trả phòng sớm.
15.5 Sơ đồ Class (Class Diagram):
15.6 Sơ đồ Activity (Activity Diagram):
15.7 Sơ đồ Sequence (Sequence Diagram):
16 Chức năng 16: Quản lý khuyến mãi và ưu đãi
16.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị danh sách các chương trình khuyến mãi và ưu đãi.
Business Logic Layer: Xử lý các chương trình khuyến mãi và ưu đãi.
Data Layer: Lưu trữ các chương trình khuyến mãi.
Màn hình khuyến mãi: Cho phép xem các chương trình khuyến mãi và ưu đãi hiện tại.
Bảng Khuyến Mãi (Promotions): Lưu trữ thông tin khuyến mãi và ưu đãi.
16.5 Sơ đồ Class (Class Diagram):
16.6 Sơ đồ Class (Class Diagram):
16.7 Sơ đồ Sequence (Sequence Diagram):
17 Chức năng 17: Quản lý khách đoàn
17.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị thông tin về nhóm khách đoàn và yêu cầu dịch vụ.
Business Logic Layer: Xử lý việc đặt phòng và dịch vụ cho khách đoàn.
Data Layer: Lưu trữ thông tin về khách đoàn và các yêu cầu dịch vụ.
Màn hình khách đoàn: Hiển thị thông tin nhóm khách đoàn và các dịch vụ bổ sung. 17.3 Thiết kế lưu trữ
Bảng Khách Đoàn (GroupBookings): Lưu trữ thông tin về khách đoàn.
17.5 Sơ đồ Class (Class Diagram):
17.6 Sơ đồ Activity (Activity Diagram):
17.7 Sơ đồ Sequence (Sequence Diagram):
18 Chức năng 18: Quản lý nhân viên
18.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị danh sách nhân viên và các quyền hạn.
Business Logic Layer: Quản lý quyền hạn và cập nhật thông tin nhân viên.
Data Layer: Lưu trữ thông tin về nhân viên.
Màn hình nhân viên: Cho phép quản lý và phân quyền cho nhân viên. 18.3 Thiết kế lưu trữ
Bảng Nhân Viên (Employees): Lưu trữ thông tin nhân viên và quyền hạn.18.4 Use Case (UseCase Diagram):
18.5 Sơ đồ Class (Class Diagram):
18.6 Sơ đồ Activity (Activity Diagram):
18.7 Sơ đồ Sequence (Sequence Diagram):
19 Chức năng 19: Quản lý phản hồi khách hàng
19.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị các phản hồi của khách hàng và câu trả lời từ nhân viên.
Business Logic Layer: Xử lý và phản hồi ý kiến của khách hàng.
Data Layer: Lưu trữ các phản hồi của khách hàng.
Màn hình phản hồi: Hiển thị phản hồi của khách hàng và cho phép gửi phản hồi từ nhân viên.
Bảng Phản Hồi (Feedback): Lưu trữ thông tin về phản hồi khách hàng.
19.5 Sơ đồ Class (Class Diagram):
19.6 Sơ đồ Activity (Activity Diagram):
19.7 Sơ đồ Sequence (Sequence Diagram):
20 Chức năng 20: Báo cáo tổng hợp và thống kê
20.1 Thiết kế kiến trúc xử lý
UI Layer: Hiển thị các báo cáo thống kê dưới dạng bảng và biểu đồ.
Business Logic Layer: Tính toán và phân tích dữ liệu thống kê.
Data Layer: Lưu trữ dữ liệu thống kê.
Màn hình báo cáo: Hiển thị báo cáo tổng hợp và thống kê.
Bảng Báo Cáo (Reports): Lưu trữ dữ liệu báo cáo.
20.5 Sơ đồ Class (Class Diagram):
20.6 Sơ đồ Activity (Activity Diagram):
20.7 Sơ đồ Sequence (Sequence Diagram):
CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ PHẦN MỀM
Trong phần này, hệ thống sẽ được triển khai vào môi trường thực tế của khách sạn Các bước cài đặt cơ bản bao gồm:
Công nghệ sử dụng trong dự án bao gồm hệ điều hành Windows hoặc Linux tùy thuộc vào yêu cầu hệ thống Phần backend được phát triển bằng Java với Spring Boot, trong khi frontend sử dụng React, kết hợp với cơ sở dữ liệu MySQL hoặc PostgreSQL Ngoài ra, các công cụ hỗ trợ như JUnit cho kiểm thử tự động và Apache Maven cho quản lý dự án cũng được áp dụng.
Để thiết lập môi trường phát triển ứng dụng web, cần cài đặt máy chủ web như Apache Tomcat hoặc Nginx, đồng thời cấu hình máy chủ cơ sở dữ liệu MySQL hoặc PostgreSQL để lưu trữ thông tin về khách hàng, phòng, thanh toán và dịch vụ bổ sung Ngoài ra, lập trình viên cũng cần cài đặt và cấu hình môi trường phát triển trên máy tính cá nhân với các IDE như IntelliJ IDEA hoặc Visual Studio Code.
2 Các Mô Hình UML Ở Mức Cài Đặt
2.1 Sơ Đồ Thành Phần (Component Diagram)
Sơ đồ thành phần mô tả các thành phần phần mềm chính trong hệ thống quản lý khách sạn và mối quan hệ giữa chúng:
Hệ thống quản lý khách sạn bao gồm các thành phần chính như quản lý phòng, cho phép kiểm tra tình trạng phòng trống và cập nhật thông tin sau khi khách trả phòng Quản lý khách hàng giúp lưu trữ và theo dõi lịch sử đặt phòng của khách Ngoài ra, hệ thống còn cung cấp dịch vụ bổ sung như spa, ăn uống và vận chuyển Chức năng thanh toán quản lý các giao dịch của khách hàng với nhiều phương thức thanh toán khác nhau Cuối cùng, báo cáo doanh thu và tình trạng phòng được cung cấp để hỗ trợ quản lý hiệu quả.
2.2 Sơ Đồ Triển Khai (Deployment Diagram)
Sơ đồ triển khai mô tả cách hệ thống được triển khai trên các máy chủ và thiết bị đầu
Máy chủ web: Chứa các thành phần như Quản lý phòng, Quản lý khách hàng,
Dịch vụ bổ sung, Thanh toán.
Máy chủ cơ sở dữ liệu: Chứa cơ sở dữ liệu MySQL/PostgreSQL lưu trữ thông tin khách sạn.
Thiết bị người dùng: Các quầy lễ tân, điện thoại di động của khách hàng, máy tính bảng của nhân viên phục vụ.
2.3 Sơ Đồ Cấu Trúc Composite (Composite Structure Diagram)
Sơ đồ cấu trúc composite mô tả cấu trúc bên trong các thành phần phần mềm Ví dụ:
Trong thành phần Thanh toán, có các lớp quan trọng bao gồm Hóa đơn, nơi lưu trữ thông tin chi tiết về các dịch vụ đã được thanh toán, và Phương thức thanh toán, hỗ trợ nhiều hình thức như tiền mặt, thẻ tín dụng và ví điện tử.
2.4 Sơ Đồ Tương Tác (Interaction Diagram)
Sơ đồ tương tác mô tả quá trình thực hiện các tác vụ trong hệ thống Ví dụ:
Đặt phòng: Khách hàng hoặc nhân viên lễ tân chọn phòng, hệ thống kiểm tra tình trạng phòng trống, sau đó gửi xác nhận đặt phòng.
Khách hàng có thể thực hiện thanh toán bằng nhiều phương thức khác nhau như tiền mặt, thẻ tín dụng hoặc ví điện tử Hệ thống sẽ xử lý giao dịch và gửi hóa đơn điện tử cho khách hàng.
Các kiểm thử phần mềm được thực hiện để đảm bảo hệ thống hoạt động đúng yêu cầu:
Kiểm thử đơn vị: Kiểm tra các thành phần riêng biệt của hệ thống như các module Quản lý phòng, Quản lý khách hàng.
Kiểm thử tích hợp là quá trình kiểm tra sự tương tác giữa các thành phần trong hệ thống, chẳng hạn như mối quan hệ giữa chức năng Quản lý phòng và hệ thống thanh toán Việc này đảm bảo rằng các thành phần hoạt động hài hòa với nhau, góp phần nâng cao hiệu suất và độ tin cậy của hệ thống.
Kiểm thử hệ thống: Kiểm tra toàn bộ hệ thống, từ việc đặt phòng, thanh toán, đến việc xử lý các dịch vụ bổ sung và báo cáo.
Các trường hợp kiểm thử hệ thống:
Đặt phòng thành công diễn ra khi người dùng, bao gồm nhân viên lễ tân hoặc khách hàng, gửi yêu cầu đặt phòng Hệ thống sẽ kiểm tra tình trạng phòng trống và xác nhận việc đặt phòng thành công.
Hủy phòng: Khách hàng yêu cầu hủy phòng, hệ thống tính toán phí hủy (nếu có) và cập nhật trạng thái phòng.
Thanh toán: Sau khi khách hàng sử dụng dịch vụ, hệ thống xử lý thanh toán và gửi hóa đơn điện tử.