Ngày nay, các khách sạn resort đã ứng dụng công nghệ vào quản lý giúp tiết kiệm chi phí và tối ưu quy trình nhờ số hóa. Trên thị trường có quá nhiều phần mềm quản lý dành cho khách sạn, resort. Nào là phần mềm online, offline với các mức chi phí chênh lệch đáng kể khiến không ít chủ khách sạn, resort phải đau đầu để chọn lựa. Phần mềm quản lý khách sạn (Hotel Management System) là phần mềm ứng dụng dành cho khách sạn, khu nghỉ dưỡng và các loại hình kinh doanh lưu trú khác. Phần mềm này sẽ hỗ trợ chủ đơn vị kinh doanh trong các công việc check in, check out, quản lý đặt phòng, tình trạng phòng và các dịch vụ khác liên quan. Không chỉ vậy, phần mềm quản lý khách sạn còn hỗ trợ các công việc khác cho người quản lý như quản lý thu-chi, báo cáo doanh thu hằng ngày, quản lý khách hàng, thống kê dự báo. Trong bài báo cáo này, em sẽ giới thiệu về đề tài : ”Nghiên cứu và xây dựng phần mềm quản lý khách sạn” của em, bao gồm các tính năng hỗ trợ việc vận hành khách sạn, thiết kế và triển khai sản phẩm, và các kết quả kiểm thử sản phẩm. Em cũng sẽ đề xuất những cải tiến và phát triển sản phẩm trong tương lai để giúp cho sản phẩm của tôi phù hợp với nhu cầu của khách hàng và xu hướng phát triển trong thời đại hiện nay.
Giới thiệu
Yêu cầu bài toán
Không phải lúc nào bạn cũng trực tiếp có mặt tại khách sạn của mình để kiểm soát doanh thu hôm nay tại khách sạn ra sao, hoạt động hiệu quả không? Trong khi đó các hoạt động tiếp nhận khách hàng và sử dụng dịch vụ hay kiếm tiền mỗi ngày đều do nhân viên thực hiện Nếu chỉ trực tiếp nhận thông tin và ghi vào sổ sách thì rất khó để có thể kiểm soát doanh thu một cách chính xác bởi khó để biết rằng nhân viên thu ngân có tính toán sai hay không Để quản lý nhân viên có hiệu quả thật sự rất khó khăn Theo phản ánh của một số chủ kinh doanh thì rất nhiều trường hợp nhân viên thường lợi dụng lỗ hổng trong quản lý để gian lận tiền của khách sạn Vì thế quản lý nhân viên luôn là vấn đề đau đầu không riêng bất cứ chủ kinh doanh khách sạn nào Để quản lý nhân viên được sát sao hơn bạn cần dành nhiều thời gian tại khách sạn để theo dõi cũng như chỉ đạo công việc của họ. Giám sát nhân viên thông qua camera cũng là một giải pháp rất hiệu quả nhằm giảm thiểu tối đa khả năng gian lận Bên cạnh đó, trong quá trình kinh doanh khách sạn của mình bạn nên giao nhiệm vụ rõ ràng và kiểm tra và đánh giá hiệu suất công việc của mỗi nhân viên ra sao Ngoài ra việc báo cáo doanh thu được hiển thị theo các tiêu chí thời gian/lợi nhuận/dịch vụ/số phòng thuê/nhân viên bạn không chỉ có thể nắm rõ hoạt động của khách sạn mà còn dễ dàng lập kế hoạch đặt phòng trong tương lai.
Nếu bạn là chủ của một chuỗi khách sạn trên thị trường thì việc sử dụng phần mềm để quản lý chúng là điều cực kỳ cần thiết Việc này cho phép bạn truy cập thông tin nhanh, thuận tiện và dễ dàng hơn, nắm bắt được tình hình của từng chi nhánh, chi nhánh nào đang đông khách, chi nhánh nào tạo được lợi nhuận cao,… Hơn thế nữa, một tiện ích rất lớn khi sử dụng giải pháp quản lý khách sạn bằng phần mềm chính là việc bạn có thể truy cập mọi thông tin bất cứ khi nào, từ bất cứ nơi đâu, mà không cần phải có mặt ở khách sạn để quản lý Kết hợp với sử dụng phần mềm, mọi lịch sử thao tác của nhân viên đều được ghi nhận nhờ đó kiểm soát được việc kinh doanh khách sạn có hiệu quả hay có thiếu sự trung thực không? Điều này giúp bạn quản lý và hỗ trợ cho nhân viên được chuyên nghiệp hơn Hơn nữa, tiện ích mà phần mềm mang lại còn giúp chủ khách sạn kiểm soát được những sai lệch, từ đó tìm ra nguyên nhân và cách khắc phục Quản lý khách sạn bằng phần mềm giúp cho việc quản lý phòng và đặt phòng của khách sạn Chỉ với vài thao tác đơn giản trên máy tính, hóa đơn sẽ được in ra ngay tại máy pos Những hóa đơn được in ra sẽ bao gồm đầy đủ những thông tin về tên phòng, dịch vụ, số khách đặt phòng, giá thanh toán,… Điều này sẽ giúp cho nhân viên của bạn làm việc nhanh chóng và tránh khỏi nhầm lẫn Khách hàng cũng sẽ cảm thấy ưng ý về thái độ và linh hoạt trong quá trình sắp xếp phòng Từ đó làm cho doanh số cũng như lượng khách hàng tăng lên đáng kể.
Nghiên cứu yêu cầu nghiệp vụ về hoạt động vận hành của các khách sạn, em đã nghiên cứu và tìm hiểu để xây dựng đề tài Xây dựng phần mềm quản lý Khách sạn Phần mềm này là thứ cơ bản và cần thiết nhất cho việc vận hành và phát triển cho Khách sạn Phần mềm sẽ cơ bản giải quyết đươc các vấn đề nêu trên và giúp chủ doanh nghiệp quản lý chặt chẽ công việc kinh doanh của mình.
Mục tiêu
Mục đích của đề tài này sẽ là nghiên cứu xây dựng nên một hệ thống hỗ trợ cho người dùng các hoạt động cơ bản trong việc quản lý và vận hành khách sạn một cách chi tiết và hiệu quả với các chức năng như
- Quản lý thiết bị trong phòng
- Thống kê - xuất file Excel, Word, CSV, PDF
Đối tượng nghiên cứu
− Khảo sát hiện trạng cơ sở hạ tầng công nghệ thông tin tại cơ sở cần xây dựng phần mềm.
− Khảo sát yêu cầu phần mềm.
− Lấy ý kiến đóng góp xây dựng theo yêu cầu của khách hàng
− Khảo sát bằng thực nghiệm tại cơ sở muốn xây dựng phần mềm
− Phỏng vấn khách hàng về phương thức hoạt động của khách sạn, các yêu cầu và quy định.
− Theo dõi quá trình làm việc vận hành của khách sạn trong khoảng thời gian nhất định, các yêu cầu nghiệp vụ về quản lý cũng như quá trình vận hành hằng ngày.
− Dựa vào ý kiến của khách hàng để sửa đổi và bổ sung.
- Hiện trạng về tổ chức:
+ Vị trí: Khách sạn Caravelle Sài gòn tại 19-23 Lam Sơn Square, phường Bến Nghé, Quận 1, Thành phố Hồ Chí Minh
+Nhân sự: Quản lý khách sạn, Nhân viên khách sạn
+Khách hàng: Khách hàng sử dụng phòng tại khách sạn
+ Phần mềm: Visual Studio, SQL Server, Draw.IO
+ Phần cứng: Máy in, máy chủ
Quản lý khách sạn: MOS Specialist
Nhân viên khách sạn: MOS Expert
+ Hiện trạng nghiệp vụ - Danh sách các chức năng:
Nhóm chức năng vận hành:
Nhóm chức năng quản lý
− Quản lý thiết bị trong phòng
− Thống kê – Xuất Excel, Word, CSV, PDF
+ Quản lý khách sạn: Điều hành và theo dõi không thường trực hoạt động khách sạn bằng phương thức quan sát trực tiếp Ra quyết định thay đổi quy định khách sạn.
+ Nhân viên khách sạn: Vận hành khách sạn dưới sự quản lý của Quản lý khách sạn Nhận các nhiệm vụ, công việc của Quản lý giao cho.
Phương pháp xây dựng phát triển phần mềm
Sử dụng mô hình thác nước (WaterFall)
Hình 1: Mô hình Waterfall
Mô hình thác nước là một mô hình có tính trình tự trong phát triển phần mềm Nó chú trọng vào sự phát triển logic và lần lượt trong suốt vòng đời phát triển phần mềm (software development life cycle-SDLC), trong đó những pha (phase) ở phía trước phải được hoàn thành trước khi những pha tiếp theo có thể bắt đầu Mỗi pha trong mô hình thác nước có vai trò khác nhau trong SDLC
Mô hình thác nước được giới thiệu trong một bài báo của Winston Royce vào năm 1970 Mặc dù sự phổ biến của mô hình này đã giảm nhiều trong vài năm trở lại đây khi các phương pháp linh hoạt (Agile) xuất hiện, tuy nhiên mô hình thác nước vẫn đang được ưa chuộng bởi nhiều kỹ sư CNTT vì tính logic và tuần tự của mô hình này
5 pha của mô hình thác nước
Waterfall Model – Mô hình thác nước bao gồm 5 pha chính, lần lượt là: Xây dựng phần mềm quản lý quán khách sạn
− Phân tích yêu cầu: Các kỹ sư IT sẽ phải thu thập tất cả các yêu cầu cần thiết, sau đó sẽ hội ý để hiểu đúng những yêu cầu Cuối cùng, các kỹ sư sẽ cần phải tìm hiểu xem những yêu cầu này có phù hợp để kiểm thử ở các bước tiếp theo hay không
− Thiết kế hệ thống: Dựa vào những yêu cầu, các kỹ sư IT sẽ thiết kế hệ thống, ghi lại những yêu cầu về phần cứng/phần mềm và sau đó họ sẽ ghi chú lại phần thiết kế
− Triển khai: Dựa vào ghi chú thiết kế, các kỹ sư IT sẽ tạo ra chương trình hoặc codes, sau đó tích hợp codes lại cho pha kế tiếp Cuối cùng, họ kiểm thử đơn vị phần code này
− Kiểm thử hệ thống: Ở phần này, các kỹ sư IT sẽ kiểm thử toàn bộ hệ thống để xem các đơn vị có vận hành trơn tru không, sau đó họ sẽ hoàn thiện báo cáo kiểm thử
− Vận hành và duy trì: Ở phần cuối, sau khi chắc chắn đã sửa hết lỗi, các kỹ sư IT sẽ tiến hành chạy thử phần mềm và đưa vào sử dụng, sau đó fix các lỗi phát sinh trong tương lai (nếu có) Quá trình này bao gồm cả việc phát triển phần mềm để có thể tích hợp thêm nhiều tính năng trong tương lai Ưu điểm và nhược điểm Ưu điểm
Mô hình thác nước có một vài ưu điểm như sau: o Dễ dàng triển khai và quy trình dễ hiểu o Với những dự án nhỏ, mô hình thác nước hoạt động hiệu quả và cho kết quả rất tốt. o Vì quá trình phát triển rất chặt chẽ, do đó chất lượng mỗi phần và cả dự án sẽ rất chặt chẽ o Yêu cầu đầu vào và đầu ra có sự rõ ràng, nên tiến trình làm việc rất dễ dàng và chất lượng o Kết quả được ghi chép dễ dàng
Tuy nhiên, mô hình thác nước cũng còn 1 vài nhược điểm sau:
Do pha đầu tiên là phân tích yêu cầu, nên sẽ không thể thay đổi yêu cầu ở các pha tiếp theo trong mô hình Xây dựng phần mềm quản lý khách sạn o Mô hình thác nước không phù hợp để triển khai với những dự án dài và phức tạp, có nhiều sự thay đổi trong yêu cầu o Khó di chuyển qua lại giữa các pha Ví dụ, nếu phần mềm chuẩn bị bước vào pha kiểm thử và có sự thay đổi ở yêu cầu thì sẽ rất khó để quay lại và thay đổi Việc quay lại sẽ ngốn một khoảng thời gian và công sức rất lớn của team phát triển o Rủi ro cao hơn Do quá trình kiểm thử trong mô hình thác nước xuất hiện gần cuối, các chiến thuật để giảm thiểu rủi ro không được triển khai từ sớm o Trong khi ở những mô hình linh hoạt, quá trình kiểm thử diễn ra song song với quá trình phát triển do đó việc giảm thiểu rủi ro hiệu quả hơn rất nhiều
Khi nào nên sử dụng?
Mô hình thác nước nên được sử dụng khi:
− Dự án ngắn và đơn giản: Như đã trình bày ở trên, các dự án dài và phức tạp thường đòi hỏi các bước phải được thực hiện đồng thời cùng với kiểm thử để tiết kiệm thời gian, trong khi ở mô hình thác nước thì các bước và thứ tự đã cố định, do đó sẽ tốn nhiều thời gian để sửa chữa và hoàn thành hơn
− Những yêu cầu cố định, không thay đổi thường xuyên và dễ hiểu
− Tài nguyên phong phú và các thành viên có chuyên môn kỹ thuật tốt
Kết quả đạt được mong muốn
Xây dựng demo nên một hệ thống quản lý khách sạn để hỗ trợ quá trình vận hành và quản lý khách sạn với các chức năng cơ bản cần thiết của nghiệp vụ quản lý khách sạn.
Cơ sở lý thuyết
Ngôn ngữ thiết kế UML
Ngôn ngữ mô hình hóa thống nhất (tiếng Anh: Unified Modeling Language, viết tắt thành UML) là một ngôn ngữ mô hình gồm các ký hiệu đồ họa mà các phương pháp hướng đối tượng sử dụng để thiết kế các hệ thống thông tin một cách nhanh chóng.
Mục đích của ngôn ngữ UML là:
− Mô hình hoá các hệ thống bằng cách sử dụng các khái niệm hướng đối tượng
− Thiết lập sự liên hệ từ nhận thức của con người đến các sự kiện cần mô hình hoá
− Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp với nhiều ràng buộc khác nhau
− Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và máy UML hỗ trợ phân rã hệ hướng đối tượng dựa trên cấu trúc tĩnh và hành vi động của hệ thống.
UML sử dụng một hệ thống ký hiệu thống nhất biểu diễn các Phần tử mô hình (model elements) Tập hợp các phần tử mô hình tạo thành các sơ đồ UML (UML diagrams) Có các loại sơ đồ UML chủ yếu sau:
Sơ đồ lớp (Class Diagram)
Sơ đồ đối tượng (Object Diagram)
Sơ đồ tình huống sử dụng (Use Cases Diagram)
Sơ đồ trình tự (Sequence Diagram)
Sơ đồ cộng tác (Collaboration Diagram hay là Composite Structure Diagram)
Sơ đồ trạng thái (State Machine Diagram)
Sơ đồ thành phần (Component Diagram)
Sơ đồ hoạt động (Activity Diagram)
Sơ đồ triển khai (Deployment Diagram)
Sơ đồ tương tác (Interaction Overview Diagram - UML 2.0)
Ngôn ngữ lập trình C#
C# là một ngôn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối tượng được phát triển bởi Microsoft và được phê chuẩn bởi European Computer Manufacturers Association (ECMA) và International Standards Organization (ISO).
C# được phát triển bởi Anders Hejlsberg và team của ông trong khi phát triển Net Framework.
C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khác nhau.
Hình 2: Ngôn ngữ lập trình C# Đặc trưng của ngôn ngữ lập trình C# là gì?
C# là ngôn ngữ đơn giản
C# loại bỏ một vài sự phức tạp và rối rắm của những ngôn ngữ như Java và c++, bao gồm việc loại bỏ những macro, những template, đa kế thừa, và lớp cơ sở ảo (virtual base class).
Ngôn ngữ C# đơn giản vì nó dựa trên nền tảng C và C++ Nếu chúng ta thân thiện với C và C++ hoặc thậm chí là Java, chúng ta sẽ thấy C# khá giống về diện mạo, cú pháp, biểu thức, toán tử và những chức năng khác được lấy trực tiếp từ ngôn ngữ C và C++, nhưng nó đã được cải tiến để làm cho ngôn ngữ đơn giản hơn.
C# là ngôn ngữ hiện đại Điều gì làm cho một ngôn ngữ hiện đại? Những đặc tính như là xử lý ngoại lệ, thu gom bộ nhớ tự động, những kiểu dữ liệu mở rộng, và bảo mật mã nguồn là những đặc tính được mong đợi trong một ngôn ngữ hiện đại C# chứa tất cả những đặc tính trên. Nếu là người mới học lập trình có thể chúng ta sẽ cảm thấy những đặc tính trên phức tạp và khó hiểu Tuy nhiên, cũng đừng lo lắng chúng ta sẽ dần dần được tìm hiểu những đặc tính qua các nội dung khoá học này.
C# là một ngôn ngữ lập trình thuần hướng đối tượng
Lập trình hướng đối tượng (OOP: Object-oriented programming) là một phương pháp lập trình có 4 tính chất Đó là tính trừu tượng (abstraction), tính đóng gói (encapsulation), tính đa hình (polymorphism) và tính kế thừa (inheritance) C# hỗ trợ cho chúng ta tất cả những đặc tính trên.
C# là một ngôn ngữ ít từ khóa
C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa được sử dụng để mô tả thông tin Chúng ta có thể nghĩ rằng một ngôn ngữ có nhiều từ khóa thì sẽ mạnh hơn Điều này không phải sự thật, ít nhất là trong trường hợp ngôn ngữ C#, chúng ta có thể tìm thấy rằng ngôn ngữ này có thể được sử dụng để làm bất cứ nhiệm vụ nào.
Net Framework
.NET Framework là một thư việc class có thể được sử dụng với một ngôn ngữ NET để thực thi việc thao tác chuỗi cho đến phát sinh ra các web động (ASP.NET), phân tích XML và reflection Framework được tổ chức thành các tập hợp namespace để nhóm các class có cùng chức năng với nhau.
.NET framework là một nền tảng phát triển phần mềm do Microsoft phát triển.Framework này tạo ra các ứng dụng chạy trên nền tảng Windows Phiên bản đầu tiên của NET framework được phát hành vào năm 2002 Phiên bản đó được gọi là Net framework 1.0 .NET framework đã đi một chặng đường dài kể từ đó, và phiên bản hiện tại là 4.7.1 .NET framework có thể được sử dụng để tạo cả những ứng dụng dựa trên biểu mẫu (Form-based) và dựa trên Web (Web-based) Các web service cũng có thể được phát triển bằng cách sử dụng NET framework Framework cũng hỗ trợ các ngôn ngữ lập trình khác nhau như Visual Basic và C# Vì vậy, các nhà phát triển có thể lựa chọn ngôn ngữ để phát triển ứng dụng cần thiết.
Windown Form
Winform là thuật ngữ mô tả một ứng dụng được viết dùng NET FrameWorrk và có giao diện người dùng Windows Forms Mỗi màn hình windows cung cấp một giao diện giúp người dùng giao tiếp với ứng dụng Giao diện này được gọi là giao diện đồ họa (GUI) của ứng dụng Là các ứng dụng windows chạy trên máy tính – mã lệnh thực thi ngay trên máy tính: Microsoft, Word, Excel, Access, Calculator, yahoo, Mail… là các ứng dụng Windows Forms.
Cài đặt thực nghiệm
Xác định và mô hình hóa yêu cầu
Bảng 1: Mục đích tài liệu
Người sử dụng Mục đích
Nhóm phát triển hệ thống Để hiểu các chức năng và đặc tính của hệ thống được phát triển (hiểu được những yêu cầu người dùng nào mà hệ thống đáp ứng) Và sử dụng trong quá trình thiết kế hệ thống
Nhóm kiểm thử Phục vụ xây dựng tài liệu test và test chức năng hệ thống (system test)
Nhóm khách hàng Xem trước các chức năng và đặc tính của hệ thống Đưa ra yêu cầu chỉnh sửa để phù hợp với mục đích
Thuật ngữ Định nghĩa Ghi chú
QLKS Quản lý khách sạn
NVKS Nhân viên khách sạn
DMQL Danh mục quản lý
Chức năng trong phạm vi
Phần mềm được xây dựng với phạm vi quản lý khách sạn với các chức năng chính như:
Quản lý thiết bị trong phòng
Thống kê - Xuất Word, Excel, PDF, CSV
Chức năng ngoài phạm vi
Phần mềm tập trung xây dựng các chức năng để phù hợp cho việc hoạt động quản lý và vận hành cơ bản của một khách sạn Tuy nhiên, việc thanh toán online, Quản lý nhập xuất nguyên vật liệu, quản lý kho, ứng dụng mobile, sẽ không được đưa ra trong phạm vi của đề tài Các chức năng và luồng nghiệp vụ cơ bản sẽ được thực hiện trong phạm vi của đề tài
Tài liệu bao gồm 4 phần chính
Phần 1: Giới thiệu chung: giới thiệu tổng quan về tài liệu
Phần 2: Mô tả tổng thể: mô tả tổng quan hệ thống cần xây dựng
Phần 3: Đặc tả yêu cầu hệ thống: đặc tả các yêu cầu chức năng và phi chức năng của hệ thống cần xây dựng
Phần 4: Thông tin hỗ trợ: mô tả các tài liệu đính kèm, …
Mô hình tổng thể hệ thống
Hình 4: Mô hình tổng thể hệ thống
Bảng 3: Chức năng hệ thống
STT Mức độ ưu tiên Mô tả
Module 1: Quản lý nhân viên
Chức năng này sử dụng cho việc quản lý các thông tin cá nhân của nhân viên để thuận tiện trong việc quản lý phòng. Phòng đó nhân viên nào đang công tác phục vụ Thông tin lưu trữ bao gồm họ tên, ngày sinh, giới tính, chứng minh thư.
Tác nhân: Quản lý Module 2: Quản lý phòng
FR-002 1 Lưu tất cả thông tin của các phòng Cho biết phòng đó thuộc tầng nào, phòng vip hay là phòng thường đã có khách hay là phòng trống Sử dụng những dịch vụ và sản phẩm gì trong quá trình sử dụng phòng
Tác nhân: Quản lý Module 3: Quản lý dịch vụ
FR-003 1 Lưu trữ lại thông tin các dịch vụ khác nhau của khách sạn.
Bao gồm dịch vụ ăn uống và dịch vụ cho thuê thiết bị để phục vụ cho nhu cầu cần thiết Hiển thị thông tin chi tiết như: giá cả, số lượng, tên dịch vụ, …
Tác nhân: Quản lý Module 4 : Quản lý tầng
Lưu trữ lại thông tin của các tầng bao gồm các thông tin về số phòng đã đặt và chưa đặt, phòng trống và phòng có khách Từ đó dễ dàng trong việc sắp xếp và booking cho khách hàng
Tác nhân: Quản lý Module 5: Đăng nhập / Đăng xuất
FR-005 1 Nhân viên hay quản lý cần đăng nhập vào hệ thống để sử dụng Tùy vào mỗi loại tài khoản sẽ được cấp quyền truy cập và chức năng tương ứng.
Tác nhân: Nhân viên, Quản lý
Module 6: Quản lý đặt phòng
FR-006 1 Chức năng này sử dụng cho việc quản lý và lưu trữ tất cả các phiếu đặt phòng bao gồm phòng theo đoàn và phòng lẻ. Quản lý thông tin về khách hàng, nhân viên, loại phòng, dịch vụ, giá cả, số lượng, ngày đặt, ngày ra của khách hàng đảm bảo việc tính toán về doanh thu và sắp xếp logic phòng một cách hiệu quả
Module 7: Quản lý khách hàng
Chức năng này sử dụng cho việc quản lý các thông tin cá nhân của khách hàng đến đặt phòng theo đoàn hoặc phòng lẻ Thông tin lưu trữ bao gồm họ tên, ngày sinh, giới tính, chứng minh thư.
Module 8: Quản lý thiết bị
Chức năng này sử dụng cho việc quản lý các thông tin các thiết bị của khách sạn bao gồm thông tin thiết bị và đơn giá của từng thiết bị
Module 9: Quản lý thiết bị trong phòng
FR-009 2 Chức năng này sử dụng cho việc quản lý các thông tin các thiết bị đang được sử dụng trong phòng của khách sạn Dễ dàng trong việc quản lý đầu ra và đầu vào và số lượng hàng hóa của khách sạn và phục vụ cho việc quản lý kho
Tác nhân: Quản lý Module 10: Quản lý loại phòng
FR-010 2 Chức năng này sử dụng cho việc quản lý các thông tin các loại phòng hiện có của khách sạn Dễ dàng và thuận tiên trong việc giúp khách hàng có thể lựa chọn loại phòng phù hợp với khả năng của khách hàng.
Tác nhân: Quản lý Module 11: Quản lý sản phẩm
FR-011 2 Lưu trữ lại thông tin các sản phẩm khác nhau của khách sạn
Các sản phẩm đa dạng bao gồm các món thức uống, thức ăn nhanh, các loại thực phẩm đa dạng để phục vụ đa số khách hàng từ người già cho tới trẻ em.
Tác nhân: Quản lý Module 12: Lập phiếu đặt phòng
FR-12 1 Chức năng này sử dụng cho việc đặt phòng theo đoàn và đặt phòng lẻ Dùng để lưu trữ thông tin về các đặt phòng của khách hàng Thông tin này bao gồm thông tin khách hàng, loại phòng, ngày đến và ngày đi, giá cả và các yêu cầu khác của khách hàng.
Tác nhân: Quản lý, nhân viên Module 13: Đặt phòng theo đoàn
FR-013 1 Chức năng này sử dụng cho việc đặt phòng theo đoàn Đặt một lúc nhiều phòng và sử dụng nhiều dịch vụ và sản phẩm khác nhau cho mỗi phòng được đặt
Tác nhân: Quản lý, nhân viên Module 14: Đặt phòng lẻ
Thiết kế cơ sở dữ liệu
Bảng 43: Dữ liệu với chức năng
Chức năng Bảng dữ liệu Ghi chú
Quản lý đặt phòng Đặt phòng Đặt phòng chi tiết Đặt phòng sản phẩm Đăng nhập/ Đăng xuất Tài khoản đăng nhập
Quản lý loại phòng Loại Phòng
Loại phòng Quản lý sản phẩm Sản phẩm
Quản lý thiết bị Thiết bị
Quản lý thiết bị trong phòng
Thiết bị Quản lý khách hàng Khách hàng
Quản lý nhân viên Nhân viên
Quản lý dịch vụ Dịch vụ
Quản lý tài khoản Tài khoản đăng nhập
Nhân viên Chuyển phòng Đặt phòng chi tiết Đặt phòng sản phẩm Thống kê doanh thu Đặt phòng
Thay đổi tài khoản mật khâu
3.2.2 Mô hình quan hệ thực thể
Hình 26: Mô hình quan hệ thực thể
3.4.3 Mô hình dữ liệu chi tiết
Hình 27: Mô hình quan hệ thực thể
3.2.4 Danh sách các bảng dữ liệu trong sơ đồ
Bảng 44: Danh sách bảng dữ liệu
STT Tên bảng dữ liệu Mô tả
1 Param Lưu trữ thông tin các tham số của mã đơn vị và mã công ty
2 Hệ thống Lưu các thông tin của tài khoản và mật khẩu của nhân viên theo công ty và đơn vị
3 Công ty Lưu các thông tin cần thiết của công ty
4 Đơn vị Lưu các thông tin cần thiết của đơn vị
5 Phòng Lưu các thông tin của phòng trong danh mục
6 Thiết bị Lưu các thông tin của thiết bị trong danh mục
7 Thiết bị trong phòng Lưu các thông tin của thiết bị trong phòng trong danh mục
8 Loại phòng Lưu thông tin của loại phòng trong danh mục
9 Tầng Lưu thông tin của tầng trong danh mục
10 Dịch vụ Lưu các thông tin dịch vụ trong danh mục
11 Sản phẩm Lưu các thông tin sản phẩm trong danh mục
12 Đặt phòng sản phẩm Lưu các thông tin cần thiết của phòng khi sử dụng các sản phẩm
13 Đặt phòng chi tiết Lưu các thông tin cần thiết của phòng khi đặt phòng
14 Đặt phòng Lưu các thông tin cần thiết của bảng đặt phòng chi tiết và đặt phòng sản phẩm
15 Khách hàng Lưu các thông tin khách hàng trong danh mục
16 Nhân viên Lưu các thông tin nhân viên trong danh mục
17 Tài khoản đăng nhập Lưu thông tin chi tiết về tài khoản mật khẩu
18 Func Lưu thông tin về các chức năng có trong hệ thống
Bảng 45: Bảng Func
Bảng 46: Bảng công ty
Bảng 47: Bảng đặt phòng
Bảng 48: Bảng chi tiết đặt phòng
Bảng 49: Bảng đặt phòng sản phẩm
Bảng 50: Bảng dịch vụ
Bảng 51: Bảng đơn vị
Bảng 52: Bảng hệ thống
Bảng 53: Bảng Khách hàng
Bảng 54: Bảng loại phòng
Bảng 55: Bảng nhân viên
Bảng 56: Bảng Param
Bảng 57: Bảng phòng
Bảng 58: Bảng phòng thiết bị
Bảng 59: Bảng sản phẩm
Bảng 60: Bảng tài khoản đăng nhập
Bảng 61: Bảng tầng
Bảng 62: Bảng thiết bị
Thiết kế giao diện
3.3.1 Sơ đồ liên kết màn hình
Hình 28: Sơ đồ liên kết màn hình
3.3.2 Danh sách các màn hình
Bảng 63: Danh sách màn hình
STT Màn hình Loại màn hình Chức năng
1 Màn hình đăng nhập Màn hình nhập liệu Đăng nhập vào phần mềm
2 Màn hình quản lý đặt phòng Màn hình nhập liệu Đặt phòng theo đoàn
3 Màn hình đặt phòng khách lẻ Màn hình nhập liệu Đặt phòng khách lẻ
4 Màn hình chuyển phòng Màn hình nhập liệu Chuyển phòng
5 Màn hình thanh toán Màn hình nhập liệu Thanh toán
6 Màn hình quản lý tài khoản nhân viên
Màn hình nhập liệu và tra cứu
7 Màn hình quản lý danh nhân viên
Màn hình nhập liệu và tra cứu
8 Màn hình quản lý phòng Màn hình nhập liệu và tra cứu
9 Màn hình quản lý loại phòng Màn hình nhập Quản lý loại phòng liệu và tra cứu
10 Màn hình quản lý tầng Màn hình nhập liệu và tra cứu
11 Màn hình quản lý sản phầm Màn hình nhập liệu và tra cứu
12 Màn hình quản lý thiết bị Màn hình nhập liệu và tra cứu
13 Màn hình quản lý thiết bị trong phòng
Màn hình nhập liệu và tra cứu
Quản lý thiết bị trong phòng
14 Màn hình quản lý khách hàng Màn hình nhập liệu và tra cứu
15 Màn hình quản lý dịch vụ Màn hình nhập liệu và tra cứu
16 Màn hình quản lý doanh thu Màn hình tra cứu Quản lý doanh thu
3.3.3 Chi tiết giao diện người dùng
Giao diện đăng nhập a) Giao diện
Hình 29: Màn hình đăng nhập b) Mô tả
Bảng 64: Mô tả Đăng nhập
STT Tên Kiểu Ràng buộc Chức năng
1 Tên đăng nhập TextBox Nhập ký tự Nhập tên đăng nhập là mã nhân viên
2 Mật khẩu TextBox Nhập ký tự Nhập mật khẩu
3 Login Button Nhập ký tự Thực hiện đăng nhập vào hệ thống
4 Thoát Button Thực hiện thoát hệ thống
5 Hiện mật khẩu TextBox Check Hiện mật khẩu
Màn hình đặt phòng theo đoàn a) Giao diện
Hình 30: Màn hình đặt phòng theo đoàn b) Mô tả
Bảng 65: Mô tả đặt phòng theo đoàn
STT Tên Kiểu Ràng buộc Chức năng
Load danh sách phòng trống
Hiển thị danh sách phòng trống
2 Danh sách sản phẩm dịch vụ
Load danh sách sản phẩm
Hiển thị danh sách sản phẩm dịch vụ
3 Thanh toán Button Checkout về phóng trống
4 Thêm Button Reset phiếu đặt phòng
Thêm phiếu đặt phòng theo đoàn
5 Sửa Button Sao lưu dữ liệu phiếu đặt phòng
Sửa phiếu đặt phòng theo đoàn
6 Lưu Button Sao lưu dữ liệu phiếu đặt phòng
Lưu phiếu đặt phòng theo đoàn
7 Bỏ qua Button Hủy sao lưu dữ liệu phiếu đặt phòng
Hủy phiếu đặt phòng theo đoàn
8 Thoát Button Thoát Thực hiện thoát hệ thống
9 Xuất file Button Xuất các loại file
10 Khách hàng Combobox Dropdown từ bảng khách hàng
Hiển thị danh sách khách hàng
11 Nhân viên Combobox Dropdown từ bảng nhân viên
Hiển thị danh sách nhân viên
12 Số người NumeriUpDown Nhập số Số lượng người
13 Ngày đặt DateTimePicker Phần mềm sinh tự động
Thứ/ngày/tháng/năm hiện tại
14 Ngày trả DateTimePicker Phần mềm sinh tự động
Thứ/ngày/tháng/năm hiện tại
15 Trạng thái Combobox Dropdown từ bảng phòng
16 Theo đoàn Checkbox Đánh dấu phòng theo đoàn
17 Ghi chú Textbox Ghi chú thông tin phòng
18 Danh sách phòng đã đặt
Load danh sách phòng đã đặt
Hiển thị danh sách phòng đã đặt
19 Danh sách GroupControl, Load danh Hiển thị danh sách sản sản phẩm dịch vụ
GridControl sách sản phẩm dịch vụ phẩm dịch vụ
20 Tổng tiền Textbox Phần mềm sinh tự động
Tổng tiền của hóa đơn
21 In Button Load phòng được chọn
Màn hình đặt phòng khách lẻ a) Giao diện
Hình 31: Màn hình đặt phòng khách lẻ b) Mô tả
Bảng 66: Mô tả đặt phòng khách lẻ
STT Tên Kiểu Ràng buộc Chức năng
1 Danh sách sản phẩm dịch vụ
Load danh sách sản phẩm
Hiển thị danh sách sản phẩm dịch vụ
2 Thanh toán Button Checkout phòng có khách
3 Lưu Button Sao lưu dữ liệu phiếu
Lưu phiếu đặt phòng khách lẻ đặt phòng
4 Bỏ qua Button Hủy sao lưu dữ liệu phiếu đặt phòng
Hủy phiếu đặt phòng theo đoàn
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
7 Khách hàng Combobox Dropdown từ bảng khách hàng
Hiển thị danh sách khách hàng
8 Nhân viên Combobox Dropdown từ bảng nhân viên
Hiển thị danh sách nhân viên
9 Số người NumeriUpDown Nhập số Số lượng người
10 Ngày đặt DateTimePicker Phần mềm sinh tự động
Thứ/ngày/tháng/năm hiện tại
11 Ngày trả DateTimePicker Phần mềm sinh tự động
Thứ/ngày/tháng/năm hiện tại
12 Trạng thái Combobox Dropdown từ bảng phòng
13 Ghi chú Textbox Ghi chú thông tin phòng
14 Danh sách sản phẩm dịch vụ
Load danh sách sản phẩm dịch vụ
Hiển thị danh sách sản phẩm dịch vụ
15 Tổng tiền Textbox Phần mềm sinh tự động
Tổng tiền của hóa đơn
16 In Button Load phòng được chọn
Màn hình chuyển phòng a) Giao diện
Hình 32: Màn hình chuyển phòng b) Mô tả
Bảng 67: Mô tả chuyển phòng
STT Tên Kiểu Ràng buộc Chức năng
Combobox Load danh sách phòng trống
Hiển thị danh sách phòng trống
Button Phải chọn phòng trống để chuyển
3 Thoát Button Thoát khỏi hệ thống
Label Phần mềm sinh tự động
Hiển thị số phòng và đơn giá phòng
Màn hình thống kê a) Giao diện
Hình 33: Màn hình thống kê b) Mô tả
Bảng 68: Mô tả thống kê
STT Tên Kiểu Ràng buộc Chức năng
1 Thanh toán Button Checkout về phòng trống
2 In Button Load phòng được chọn
3 Thoát Button Thoát khỏi hệ thống
4 Danh sách GridControl Load danh sách các phòng được đặt
Hiển thị danh sách các phòng được đặt
5 Từ ngày DateTimePicker Phần mềm sinh tự động
Thứ/ngày/tháng/năm hiện tại
6 Đến ngày DateTimePicker Phần mềm sinh tự động
Thứ/ngày/tháng/năm hiện tại
Màn hình danh mục sản phẩm a) Giao diện
Hình 34: Màn hình danh mục sản phẩm b) Mô tả
Bảng 69: Mô tả quản lý danh mục sản phẩm
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới sản phẩm
2 Sửa Button Sửa sản phẩm
3 Lưu Button Sao lưu dữ liệu sản phẩm
4 Bỏ qua Button Hủy sao lưu dữ liệu sản phẩm
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
7 Mã SP Textbox Nhập ký tự Mã sản phẩm
8 Tên SP Textbox Nhập ký tự Tên sản phẩm
9 Đơn giá NumericUpDown Nhập số Đơn giá sản phẩm
10 Tìm kiếm Load danh sách sản phẩm tìm kiếm
Hiển thị danh sách sản phẩm tìm kiếm
Màn hình danh mục loại phòng a) Giao diện
Hình 35: Màn hình danh mục loại phòng b) Mô tả
Bảng 70: Mô tả quản lý danh mục loại phòng
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới loại phòng
2 Sửa Button Sửa loại phòng
3 Lưu Button Sao lưu dữ liệu loại phòng
4 Bỏ qua Button Hủy sao lưu Hủy loại phòng dữ liệu loại phòng
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
7 Mã loại Textbox Nhập ký tự Mã loại phòng
8 Tên loại Textbox Nhập ký tự Tên loại phòng
9 Số người NumericUpDown Nhập số Số người của loại phòng
10 Số giường NumericUpDown Nhập số Số giường của loại phòng
11 Đơn giá NumericUpDown Nhập số Đơn giá của loại phòng
12 Tìm kiếm Load danh sách tìm kiếm loại phòng
Hiển thị danh sách loại phòng tìm kiếm
Màn hình danh mục khách hàng a) Giao diện
Hình 36: Màn hình danh mục khách hàng b) Mô tả
Bảng 71: Mô tả quản lý danh mục khách hàng
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới khách hàng
2 Sửa Button Sửa khách hàng
3 Lưu Button Sao lưu dữ Lưu khách hàng liệu khách hàng
4 Bỏ qua Button Hủy sao lưu dữ liệu khách hàng
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
Textbox Nhập ký tự Mã khách hàng
8 Địa chỉ Textbox Nhập ký tự Địa chỉ khách hàng
9 Ngày sinh DateTime Phần mềm sinh tự động
Thứ/ngày/tháng/năm hiện tại
10 Họ và tên Textbox Nhập số Họ và tên khách hàng
11 Email Textbox Nhập số Email khách hàng
13 Điện thoại Textbox Nhập ký tự Điện thoại khách hàng
14 Quốc tịch Textbox Nhập ký tự Quốc tịch khách hàng
15 CCCD Textbox Nhập ký tự CCCD khách hàng
16 Xóa Button Xóa thông tin khách hàng
17 Danh sách GridControl Load danh sách khách hàng
Hiển thị danh sách khách hàng
18 Tìm kiếm Load danh sách tìm kiếm
Hiển thị danh sách khách hàng tìm kiếm
Màn hình danh mục nhân viên a) Giao diện
Hình 37: Màn hình danh mục nhân viên b) Mô tả
Bảng 72: Mô tả quản lý danh mục nhân viên
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới nhân viên
2 Sửa Button Sửa nhân viên
3 Lưu Button Sao lưu dữ liệu nhân viên
4 Bỏ qua Button Hủy sao lưu dữ liệu nhân viên
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
Textbox Nhập ký tự Mã nhân viên
8 Địa chỉ Textbox Nhập ký tự Địa chỉ nhân viên
9 Ngày sinh DateTime Phần mềm sinh tự động
Thứ/ngày/tháng/năm hiện tại
10 Họ và tên Textbox Nhập số Họ và tên nhân viên
11 Email Textbox Nhập số Email nhân viên
13 Điện thoại Textbox Nhập ký tự Điện thoại nhân viên
14 Quốc tịch Textbox Nhập ký tự Quốc tịch nhân viên
15 CCCD Textbox Nhập ký tự CCCD nhân viên
16 Xóa Button Xóa thông tin nhân viên
17 Danh sách GridControl Load danh sách khách hàng
Hiển thị danh sách nhân viên
18 Tìm kiếm Load danh sách tìm kiếm
Hiển thị danh sách nhân viên tìm kiếm
Màn hình danh mục phòng a) Giao diện
Hình 38: Màn hình danh mục phòng b) Mô tả
Bảng 73: Mô tả quản lý danh mục phòng
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới phòng
3 Lưu Button Sao lưu dữ liệu phòng
4 Bỏ qua Button Hủy sao lưu dữ liệu phòng
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
7 Mã phòng Textbox Nhập ký tự Mã phòng
8 Tên phòng Textbox Nhập ký tự Tên phòng
9 Tầng Combox DropDown Danh mục tầng từ bảng tầng
10 Loại phòng Combox DropDown từ bảng loại phòng
11 Đã cho thuê Checkbox Cài đặt trạng thái phòng
12 Tìm kiếm Load danh sách phòng tìm kiếm
Hiển thị danh sách phòng tìm kiếm
Màn hình danh mục dịch vụ a) Giao diện
Hình 39: Màn hình danh mục dịch vụ b) Mô tả
Bảng 74: Mô tả quản lý danh mục dịch vụ
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới dịch vụ
2 Sửa Button Sửa dịch vụ
3 Lưu Button Sao lưu dữ liệu dịch vụ
4 Bỏ qua Button Hủy sao lưu dữ liệu dịch vụ
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
7 Mã DV Textbox Nhập ký tự Mã dịch vụ
8 Tên DV Textbox Nhập ký tự Tên dịch vụ
9 Đơn giá NumericUpDown Nhập số Đơn giá dịch vụ
10 Tìm kiếm Load danh sách dịch vụ tìm kiếm
Hiển thị danh sách dịch vụ tìm kiếm
11 Xóa dịch vụ Button Xóa dịch vụ
Màn hình danh mục tài khoản a) Giao diện
Hình 40: Màn hình danh mục tài khoản b) Mô tả
Bảng 75: Mô tả quản lý danh mục tài khoản
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới tài khoản
2 Sửa Button Sửa tài khoản
3 Lưu Button Sao lưu dữ liệu tài khoản
4 Bỏ qua Button Hủy sao lưu dữ liệu tài
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
7 Tên TK Textbox Nhập ký tự Tên tài khoản nhân viên
8 Trạng thái Combobox Dropdown: đang hoạt động / ngừng hoạt động
9 Mật khẩu Textbox Nhập ký tự Mật khẩu nhân viên
Combobox Dropdown: từ bảng nhân viên
Combobox Dropdown: admin / nhân viên
Màn hình danh mục thiết bị a) Giao diện
Hình 41: Màn hình danh mục thiết bị b) Mô tả
Bảng 76: Mô tả quản lý danh mục thiết bị
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới thiết bị
2 Sửa Button Sửa thiết bị
3 Lưu Button Sao lưu dữ liệu thiết bị
4 Bỏ qua Button Hủy sao lưu dữ liệu thiết bị
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
7 Mã TB Textbox Nhập ký tự Mã thiết bị
8 Tên TB Textbox Nhập ký tự Tên thiết bị
9 Đơn giá Numeric Nhập số Đơn giá thiết bị
10 Xóa Button Xóa thiết bị
Màn hình danh mục thiết bị trong phòng a) Giao diện
Hình 42: Màn hình danh mục thiết bị trong phòng b) Mô tả
Bảng 77: Mô tả quản lý danh mục thiết bị trong phòng
STT Tên Kiểu Ràng buộc Chức năng
1 Thêm Button Thêm mới thiết bị trong phòng
2 Sửa Button Sửa thiết bị trong phòng
3 Lưu Button Sao lưu dữ liệu thiết bị
Lưu thiết bị trong phòng
4 Bỏ qua Button Hủy sao lưu dữ liệu thiết bị trong phòng
Hủy thiết bị trong phòng
5 Thoát Button Thoát Thực hiện thoát hệ thống
6 Xuất file Button Xuất các loại file
7 Mã PTB Textbox Nhập ký tự Mã thiết bị trong phòng
8 Thiết bị Combobox Dropdown từ bảng thiết bị
9 Phòng Combobox Dropdown từ bảng phòng
10 Số lượng Numeric Nhập số Số lượng thiết bị trong phòng
Thiết kế hệ thống
Mô hình Client-Server (Thin-Clent):
Lớp Client: Kết nối đến cơ sở dữ liệu quản lý phòng mạch và hiển thị giao diện người dùng Cho phép người dùng nhập vào và xuất từ cơ sở dữ liệu tương ứng với quyền truy cập của người dùng khi có yêu cầu.
Lớp Server: Quản lý và chứa toàn bộ dữ liệu của phần mềm Đồng thời xử lý các yêu cầu nhập/xuất được gửi xuống từ lớp Client Ứng dụng được dùng làm lớp Server là Microsoft SQL Server.
Hình 43: Mô hình Client - Server
3.4.2 Mô tả thành phần trong hệ thống
Bảng 78: Thành phần hệ thống
STT Thành phần Diễn giải
1 Giao diện người dùng Cung cấp giao diện cho người dùng thực hiện các thao tác nhập/xuất dữ liệu Đồng thời trong quá trình sử dụng, thông báo cho người dùng khi có lỗi xảy ra.
2 Microsoft SQL Server Tiếp nhận các yêu cầu từ giao diện người dùng, kiểm tra tính đúng đắn của các ràng buộc và thực hiện yêu cầu nếu thỏa điều kiện.
3 CSDL Quản lý nhà hàng Lưu trữ tất cả dữ liệu liên quan đến việc quản lý nhà hàng được sử dụng trong phần mềm.
Kết quả thực hiện
Bảng 79: Kết quả thực hiện
STT Chức năng Mức độ hoàn thành (%)
4 Đăng nhập/ Đăng xuất 100% Đăng nhập cho nhân viên và đăng nhập cho quản lý
9 Đổi mật khẩu cho tài khoản 100%
12 Quản lý thiết bị trong phòng 100%