Đề tài xây dựng website quản lý khách sạn, đầy đủ phân tích thiết kế usecase, sơ đồ hoạt động, database, triển khai Các khách sạn hiện nay càng ngày càng có quy mô lớn. Có nhiều khách sạn chiếm trọn cả tòa nhà vài chục tầng, số phòng cần quản lý đến vài chục, vài trăm phòng là điều bình thường.
Trang 1MỤC LỤC
LỜI MỞ ĐẦU 4
CHƯƠNG 1: TÌM HIỂU NGÔN NGỮ PHP VÀ MYSQL 5
1.1 GIỚI THIỆU VỀ PHP 5
1.2 TẠI SAO NÊN DÙNG PHP? 5
1.3 CẤU TRÚC CỦA MỘT TRANG PHP 6
1.3.1 Hằng và biến trong php 6
1.3.2 Các lệnh điều khiển rẽ nhánh và vòng lặp 7
1.3.3 Mảng trong php 8
1.3.4 Cách lấy thông tin từ trình duyệt:get, post, cookie 9
1.3.5 Hàm trong PHP 11
1.3.6 Kết nối cơ sở dữ liệu 11
1.3.7 Truy vấn CSDL 12
1.4 GIỚI THIỆU VỀ MYSQL 13
1.5 TẠI SAO NÊN DÙNG MYSQL 14
1.6 GIỚI THIỆU VỀ BOOTRAP 15
1.6.1 Khái niệm Bootrap 15
1.6.2 Ưu điểm khi sử dụng Bootrap 15
1.6.3 Tại sao nên sử dụng Bootrap 16
1.6.4 Điểm hạn chế của Bootrap 16
1.7 GIỚI THIỆU VỀ XAMPP 17
CHƯƠNG 2: LÝ DO CHỌN ĐỀ TÀI 18
2.1 LÝ DO CHỌN ĐỀ TÀI 18
2.2 MỤC ĐÍCH 19
CHƯƠNG 3: KHẢO SÁT VÀ TÌM HIỂU HỆ THỐNG 20
3.1 CƠ CẤU TỔ CHỨC CỦA KHÁCH SẠN 20
3.2 PHÂN TÍCH NGHIỆP VỤ 20
3.2.1 Các công việc cần quản lý 20
3.2.2 Quy trình quản lý 21
Trang 23.3 CÁC CÔNG CỤ TIN HỌC HÓA NHẰM ĐÁP ỨNG 23
CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 24
4.1 ĐẶC TẢ TÁC NHÂN VÀ USECASE 24
4.1.1 Tác nhân 24
4.1.2 Use case 24
4.2 BIỂU ĐỒ CA SỬ DỤNG 25
4.2.1 Usecase toàn hệ thống 25
4.2.2 Usecase lễ tân 26
4.2.3 Usecase khách hàng 26
4.2.3 Usecase quản lý 27
4.2.4 Usecase quản lý danh mục 27
4.2.5 Usecase quản lý thuê phòng 28
4.2.6 Usecase quản lý sử dụng dịch vụ 28
4.3 BIỂU ĐỒ HOẠT ĐỘNG 29
4.3.1 Hoạt động đăng nhập 29
4.3.2 Hoạt động đặt phòng 30
4.3.3 Hoạt động thuê phòng 31
4.3.4 Hoạt động quản lý danh mục phòng 32
4.3.5 Hoạt động quản lý danh mục loại phòng 33
4.3.6 Hoạt động quản lý danh mục dịch vụ 34
4.3.7 Hoạt động quản lý danh mục khách hàng 35
4.3.8 Hoạt động quản lý sử dụng dịch vụ 36
4.3.9 Hoạt động thanh toán 36
4.4 BIỂU ĐỒ TRÌNH TỰ 37
4.4.1 Trình tự đặt phòng 37
4.4.2 Trình tự nhận phòng 38
4.4.3 Trình tự quản lý thuê phòng 39
4.4.4 Trình tự quản lý danh mục dịch vụ 40
4.4.5 Trình tự quản lý danh mục khách hàng 41
4.4.6 Trình tự quản lý danh mục phòng 42
Trang 34.4.7 Trình tự quản lý danh mục loại phòng 43
4.4.8 Trình tự quản lý danh mục sử dụng dịch vụ 44
4.4.9 Trình tự thanh toán 45
4.5 BIỂU ĐỒ LỚP 46
CHƯƠNG 5: CƠ SỞ DỮ LIỆU & GIAO DIỆN CHƯƠNG TRÌNH 47
5.1 THIẾT KẾ CƠ SỞ DỮ LIỆU 47
5.1.1 Chi tiết các bảng 47
5.1.2 Sơ đồ liên kết dữ liệu 51
5.2 MỘT SỐ GIAO DIỆN CHƯƠNG TRÌNH 52
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 59
LỜI CAM ĐOAN 60
Trang 4LỜI MỞ ĐẦU
Ngày nay trong thời đại công nghệ thông tin được áp dụng trên toàn cầuthì quốc gia trên thế giới nói chung, cũng như các ngành, các tổ chức và đoànthể… nói riêng đều cố gắng áp dụng công nghệ thông tin vào mọi lĩnh vực để từ
đó hiện đại hóa quy trình quản lí, sản xuất kinh doanh nhằm đạt hiệu quả kinh tếcao nhất
Trong những năm gần đây, do công cuộc công nghiệp hóa, hiện đại hóacủa Đảng và nhà nước đã đạt được những thành công nhất định nên đời sống củanhân dân ta càng ngày càng sung túc Nhu cầu du lịch trong nước của nhân dân
ta ngày càng cao Hơn nữa do kinh tế phát triển, chính trị và an ninh ổn định nênngày càng có nhiều du khách nước ngoài đến Việt Nam Chính vì vậy nhu cầukhách sạn trong nước ta là rất lớn Hiện nay các khách sạn đã mọc lên như nấm.Quy mô của khách sạn cũng tăng lên, các dịch vụ trong khách sạn cũng rấtnhiều Chính vì vậy công tác quản lý khách sạn nói chung là rất phức tạp Thựctrạng dễ thấy là hầu hết các khách sạn còn được quản lý dưới dạng rất thủ công
Do đó rất dễ xảy ra các nhầm lẫn, chậm chạp và khó đáp ứng được nhu cầu ngàycàng tăng của khách hàng
Vì vậy nhiệm vụ đặt ra là cần phải có một phần mềm quản lý khách sạnhoàn chỉnh, chuyên nghiệp đáp ứng được yêu cầu nghiệp vụ quản lý khách sạn
Trước tình hình trên, em đã quyết định chọn và nghiên cứu về chủ đề nàymục đích là sẽ tạo ra được một website quản lý khách sạn hiệu quả và được tindùng Hy vọng có thể giúp người quản lý khách sạn và khách hàng nhanh chóngbiết được những thông tin cần thiết một cách chính xác, từ đó nâng cao hiệu quảkinh doanh cho khách sạn và giúp khách hàng thỏa mãn được tốc độ, và hiệuquả phục vụ của khách sạn
Được sự giúp đỡ và sự hướng dẫn nhiệt tình của Cô Trần Thị Lụa em đã
hoàn thành đề tài “Xây dựng Website quản lý khách sạn”.
Trang 5CHƯƠNG 1: TÌM HIỂU NGÔN NGỮ PHP VÀ MYSQL
1.1 GIỚI THIỆU VỀ PHP
PHP là ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ Nói mộtcách đơn giản không theo thuật ngữ khoa học thì một quá trình xử lý PHP đượcthực hiện trên máy chủ (Windows hoặc Unix) Khi một trình duyệt yêu cầu mộttrang php từ websever thì trước hết websever sẽ thực hiện đoạn mã php đó, sau
đó đưa ra kết quả như ngôn ngữ HTML Vì quá trình xử lý này diễn ra trên máychủ nên trang Web được viết bằng php sẽ truy cập bằng trình duyệt ở bất cứ hệđiều hành nào
1.2 TẠI SAO NÊN DÙNG PHP?
Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cúpháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắnhơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữlập trình (thiết kế) web phổ biến nhất thế giới Website được thiết kế bằng PHP
có thời gian hoàn thiện rất nhanh vì nó sử dụng khá ít mã code, có khả năng tùychọn bộ nhớ khi xây dựng
Ngôn ngữ PHP là một mã nguồn mở có tính năng động, có sự phát triểncủa rất nhiều người, các thiết kế web sử dụng PHP cũng dễ dàng hơn, tốn ít thờigian hơn hơn
Một lợi thế rất lớn của ngôn ngữ mã nguồn mở PHP cung cấp là tính cộngđồng PHP được phát triển và tối ưu liên tục từ các nhà phát triển trên toàn thếgiới khiến cho nó vô cùng thân thiện với mọi người và ngày càng hoàn thiệnhơn
PHP rất ổn định và tương thích, vận hành khá tốt trên các hệ điều hànhgồm cả Unix, windows
Ngoài sự hỗ trợ của cộng đồng, thư viện PHP cũng rất phong phú, đadạng Từ những cái rất nhỏ như chỉ là 1 đoạn code, 1 hàm (PHP net…) cho tớinhững cái lớn hơn như Framework (Zend, CakePHP, CodeIgniter, Symfony…)hay CMS hoàn chỉnh (Joomla, WordPress, PhpBB…)
Với những ưu điểm trên, PHP đã nhanh chóng trở thành ngôn ngữ lậptrình web được nhiều người sử dụng Với xu hướng ưa chuộng sự đơn giản vàtiện lợi trong sử dụng web của nhiều khách hàng hiện nay, ngôn ngữ PHP trở
Trang 6thành sự lựa chọn hàng đầu của nhiều đơn vị thiết kế và lập trình web Với sự hỗtrợ của PHP, hiển thị của website trở nên đơn giản, dễ hiểu, dễ sử dụng nhưngvần đảm bảo tối ưu bảo mật
1.3 CẤU TRÚC CỦA MỘT TRANG PHP
Một trang php là 1 trang html có nhúng mã php giữa cặp thẻ:
Hàm define() được sử dụng để tạo một hằng số:
Hàm này có cấu trúc sau:
Define(“Tên_hằng”, ”giá trị của hằng”);
Ví Dụ:
Define(“COMPANY”, ”NS co Ltd”);
//Định nghĩa hằng COMPANY với giá trị là “NS co Ltd”;
Sau khi một hằng số được tạo ra, ta có thể sử dụng chúng thay cho giá trịcủa chúng:
echo(“Tên công ty” COMPANY);
Biến
Biến là một định danh, nó dùng để lưu trữ các giá trị và nó có thể dùngphép gán để thay đổi giá trị Cú pháp của biến bắt đầu bằng dấu đô la $ và tiếptheo là các chữ, số, dấu gạch dưới Ký tự đầu tiên của tên biến phải là chữ hoặc
là dấu gạch dưới, không được là số
Trang 81.3.2 Các lệnh điều khiển rẽ nhánh và vòng lặp
Cấu trúc if…else
Câu lệnh điều kiện if else cho phép ta thay đổi luồng của chươngtrình dựa trên một điều kiện nào đó Nếu điều kiện là đúng (true) thì chươngtrình sẽ được thực hiện, ngược lại nếu điều kiện đưa ra là sai (false) thì nội dungcông việc đó sẽ không được thực hiện
mã sẽ rơi vào vòng lặp vô hạn Vòng lặp while được sử dùng khi không biếtchính xác cần lặp bao nhiêu lần Cú pháp như sau:
<?php
while ($condition) { // dòng lệnh
}
?>
Vòng lặp For
Trang 9Vòng lặp for thường được sử dụng khi cần lặp một khối lệnh mà lập trìnhviên biết trước sẽ cần lặp bao nhiêu lần Cú pháp vòng lặp for như sau:
<?php
for($bien_dieu_khien;$bieu_thuc_dieu_kien;
$bieu_thuc_thay_doi_bien_dieu_khien){
// lệnh}
?>
Cú pháp switch
Câu lệnh switch trong php cho phép ta đưa ra quyết định có nhiều cáchlựa chọn để giá trị của biểu thức truyền vào Nếu giá trị biểu thức truyền vàotrùng với các giá trị biểu thức điều kiện thì các câu lệnh bên trong biểu thức điềukiện sẽ được thực hiện
Có thể khởi tạo mạng bằng cách như sau:
$array = array(‘giá trị 1’, ’giá trị 2’);
Trang 101.3.4 Cách lấy thông tin từ trình duyệt:get, post, cookie
Dữ liệu của người dùng từ trình duyệt sẽ được gửi lên máy chủ dưới dạngtừng cặp biến = giá_trị và có thể đi theo 3 con đường khác nhau, trên máy chủ
ta cũng có các cách khác nhau để lấy dữ liệu được gửi lên
Phương thức GET:
Phương thức get là phương thức gửi dữ liệu thông qua đường dẫn url nằmtrên thanh địa chỉ của Browser Server sẽ nhận đường dẫn đó và phân tích trả vềkết quả cho bạn Server sẽ phân tích tất cả những thông tin đằng sau dấu hỏi (?)chính là phần dữ liệu mà Client gửi lên
Ví dụ: Với URL freetuts net?id=12thì Server sẽ nhận được giá trị id =
12
Để truyền nhiều dữ liệu lên Server ta dùng dấu & để phân cách giữa cáccặp giá trị Giả sử tôi muốn truyền id = 12 và title = ‘method_get’ thì URL sẽ códạng freetuts net?id=12&title=method_get Lưu ý với các bạn là vị trí các cặpgiá trị không quan trọng, nghĩa là cặp title có thể nằm trước cặp id cũng được
Tất cả các dữ liệu mà Client gửi lên bằng phương thức GET đều được lưutrong một biến toàn cục mà php tự tạo ra đó là biến $_GET, biến này làkiểu mảng kết hợp lưu trữ danh sách dữ liệu từ client gửi lên theo quy luật key
=> value Ví dụ với URL freetuts net?id=12&title=method_get thì dữ liệu sẽđược lưu trong biến $_GET dưới dạng:
Trang 11mà bạn không có một thao tác thay đổi trên nó thì Cookie của bạn sẽ bị chết.Đây chính là sự lợi hại của việc sử dụng Cookie
Để lưu trữ Cookie ta dùng cú pháp sau và phải đặt trước thẻ HTML:setcookie($name, $value, $expire, $path, $domain)
Trong đó:
- $name: là tên của Cookie
- $value: giá trị của Cookie
- $expire: thời gian sống của Cookie
Trang 12- $path : đường dẫn lưu trữ Cookie
- $domain: tên của domain
Để lấy dữ liệu trong COOKIE gửi lên:
1.3.6 Kết nối cơ sở dữ liệu
Kết nối cơ sở dữ liệu là nhiệm vụ cực kỳ quan trọng trong PHP để tạo ramột trang web động
Các bước cần thực hiện để làm việc với CSDL:
Bước 1: Thiết lập kết nối CSDL
Trang 13Cú pháp:
Mysqli_connect(‘host’, ’ten_truy_cap’, ’pass_word’, ’ten_database’) Trong đó:
- host: là địa chỉ cài đặt MySQL, thông thường là localhost
- username: là tên đăng nhập vào MySQL
- password: mật khẩu đăng nhập
- databass: tên database
1.3.7 Truy vấn CSDL
Thao tác thêm
Ví dụ muốn thêm người dùng có User_name là “CMXQ”, ta làm như sau:
<?php INSERT INTO CMXQ_users valuse("CMXQ") ?>
Thao tác xóa
Ví dụ muốn xóa người dùng sử dụng User_name là “CMXQ”, như sau:
<?php DELETE FROM CMXQ_users WHERE id="1" ?>
// Câu SQL lấy danh sách
$sql = "SELECT id, title, content FROM News";
// Thực thi câu truy vấn và gán vào $result
$result = mysqli_query($conn, $sql);
// Kiểm tra số lượng record trả về có lơn hơn 0
// Nếu lớn hơn tức là có kết quả, ngược lại sẽ không có kết quả
if (mysqli_num_rows($result) > 0)
{
// Sử dụng vòng lặp while để lặp kết quả
while($row = mysqli_fetch_assoc($result)) {
Trang 14echo "title: " $row["title"] " - Content: " $row["content"] "<br>";}
1.4 GIỚI THIỆU VỀ MYSQL
MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ Nó rất tốt và miễn phí.Nhiều nhà phát triển trên thế giới đã chọn mysql và php để phát triển trang webcủa họ
MySQL có tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng
có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thểtải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khácnhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác,
nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl
1.5 TẠI SAO NÊN DÙNG MYSQL
Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ
sở dữ liệu nhanh nhất mà bạn có thể có
Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống
cơ sở dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệthống lớn
Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổchức
Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọnlựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại Bạn cũng có thể truycập MySQL bằng cách sử dụng các ứng dụng mà hỗ trợ ODBC (Open
Trang 15Database Connectivity -một giao thức giao tiếp cơ sở dữ liệu được pháttriển bởi Microsoft)
Năng lực: Nhiều client có thể truy cập đến server trong cùng một thờigian Các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời.Bạn có thể truy cập MySQL để tương tác, truy vấn và xem các kết quả:các dòng yêu cầu của khách hàng, các trình duyệt Web…
Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở
dữ liệu có thể được truy cập từ bất kỳ nơi nào trên Internet do đó bạn cóthể chia sẽ dữ liệu của bạn với bất kỳ ai, bất kỳ nơi nào MySQL kiểmsoát quyền truy cập cho nên người mà không nên nhìn thấy dữ liệu củabạn thì không thể nhìn được
Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như khôngphải UNIX chẳng hạn như Windows hay OS/2 MySQL chạy được cácvới mọi phần cứng từ các máy PC ở nhà cho đến các máy server
Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trìnhduyệt web của bạn Nếu bạn không hiểu làm thế nào mà nó làm việc hay
tò mò về thuật toán, bạn có thể lấy mã nguồn và tìm tòi nó Nếu bạnkhông thích một vài cái, bạn có thể thay đổi nó
Sự hỗ trợ: Bạn có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ.Cộng đồng MySQL cũng rất lớn giúp cho các câu hỏi của bạn có thể đượctrả lời ngay tức thì
1.6.1 Khái niệm Bootrap
Bootstrap là một framework cho phép thiết kế website reponsive nhanh hơn và dễ dàng hơn
Bootstrap là bao gồm các HTML templates, CSS templates và Javascript tạo ra những cái cơ bản có sẵn như: typography, forms, buttons, tables,
navigation, modals, image carousels và nhiều thứ khác Trong bootstrap có thêmcác plugin Javascript trong nó Giúp cho việc thiết kế reponsive của bạn dễ dànghơn và nhanh chóng hơn
1.6.2 Ưu điểm khi sử dụng Bootrap
Trang 16Bootstrap là một trong những framework được sử dụng nhiều nhất trênthế giới để xây dựng nên một website Bootstrap đã xây dựng nên một chuẩnriêng và rất được người dùng ưa chuộng Chính vì thế, chúng ta hay nghe tới mộtcụm từ rất thông dụng "Thiết kế theo chuẩn Bootstrap"
Từ cái "chuẩn mực" này, chúng ta có thể thấy rõ được những điểm thuậnlợi khi sử dụng Bootstrap
Rất dễ để sử dụng: Nó đơn giản vì nó được base trên HTML, CSS vàJavascript chỉ cẩn có kiến thức cơ bản về 3 cái đó là có thể sử dụngbootstrap tốt
Responsive: Bootstrap xây dựng sẵn reponsive css trên các thiết bịIphones, tablets, và desktops Tính năng này khiến cho người dùng tiếtkiệm được rất nhiều thời gian trong việc tạo ra một website thân thiệnvới các thiết bị điện tử, thiết bị cầm tay
Tương thích với trình duyệt: Nó tương thích với tất cả các trình duyệt(Chrome, Firefox, Internet Explorer, Safari, and Opera) Tuy nhiên, với
IE browser, Bootstrap chỉ hỗ trợ từ IE9 trở lên Điều này vô cùng dễ hiểu
vì IE8 không support HTML5 và CSS3
1.6.3 Tại sao nên sử dụng Bootrap
Lý do đầu tiên khiến Bootstrap dần trở nên phổ biến và xứng đáng đượclựa chon đó là gần đây, các nhà lập trình đã bổ sung thêm tính năng Customize(Tùy chỉnh) Chức năng này giúp cho các nhà thiết kế linh hoạt hơn trong việclựa chọn những thuộc tính, phần tử phù hợp với dự án họ đang theo đuổi Chứcnăng này cũng cho phép bạn không cần phải tải toàn bộ mã nguồn về máy
Bootstrap không đòi hỏi kiến thức quá phức tạp Chỉ cần biết sơ quaHTML, CSS, Javascript, Jquery là bạn có thể sử dụng nó để tạo nên một websitechuyên nghiệp, website theo yêu cầu đúng như mong muốn
Boostrap được viết bởi những bộ não công nghệ tài năng trên khắp thếgiới Sự tương thích của trình duyệt với thiết bị đã được kiểm tra nhiều lần trướckhi đưa vào sử dụng, nên khi lựa chọn Bootstrap, bạn có thể tin rằng mình sẽ tạonên những sản phẩm hoàn hảo
Do sử dụng Grid System nên Bootstrap mặc định hỗ trợ Responsive.Bootstrap được viết theo xu hướng Mobile First tức là ưu tiên cho việc tươngthích với các giao diện trên thiết bị di động Sử dụng công nghệ này cho website
Trang 17của bạn sẽ giúp website trở nên tương thích với tất cả kích thước màn hình –một điều cực kì quan trọng và cần thiết trong trải nghiệm người dùng.
Bootstrap hoạt động theo xu hướng mã nguồn mở nên bạn có thể vào mãnguồn của nó để thay đổi và chỉnh sửa tùy ý
1.6.4 Điểm hạn chế của Bootrap
Với những ưu điểm nổi bật trên thì Bootstrap cũng có những hạn chế nhấtđịnh:
Tính kém phổ biến: Bootstrap không phải là ứng dụng web phổ biến nên
để tìm được một tổ chức, cá nhân thành thạo bootstrap để có thể sử dụng với nềntảng lập trình web không nhiều
Sản phẩm nặng, tốc độ tối ưu chưa cao: nên nếu dự án của bạn đòi hỏi sản
phẩm nhẹ thì việc sử dụng bootstrap sẽ là cả một gánh nặng cho web chưa hoàn
thiện: Bootstrap chưa đầy đủ các thư viện cần thiết Các phát triển chưa thể tạo
ra một framework riêng hoàn hảo, do đó một số trang web vẫn phải dùng phiênbản dành riêng cho mobile
1.7 GIỚI THIỆU VỀ XAMPP
Xampp là phần mềm ứng dụng được sử dụng để xây dựng và phát triểncác webssite và ứng dụng web chạy bằng php Xampp được các lập trình viênchuyên nghiệp sử dụng nhiều vì nó có nhiều tính năng nổi bật như:
Cài đặt và sử dụng miễn phí giúp bạn tiết kiệm được nhiều chi phí
Chương trình quản lý rất hiệu quả giúp bạn chủ động khởi động hay bậttắt các dịch vụ máy chủ bất cứ khi nào cần
Xampp được tích hợp nhiều thành phần quan trọng như: Apache, PHP vàMySQL giúp bạn sử dụng dễ dàng Đây là 3 thành phần cơ bản để bạn có thểhọc php nên bạn cần phải đặc biệt quan tâm tới nó nhé
Hoạt động tốt trên nhiều hệ điều hành như: Linux, Windows, Mac vàSolaris
Khi nào nên lập trình PHP với Xampp?
Xampp được sử dụng khi bạn tiến hàng chạy thử miễn phí một website dễdàng mà không cần phải mua hosting hay vps gì hết Trước khi đưa một
Trang 18trang web hoạt động chính thức bạn nên kiểm tra thật kỹ lưỡng để đảmbảo nó hoạt động tốt và không có bất cứ lỗi gì xảy ra
Khi bạn cần chạy những code PHP, wordpress, joomla, opencat, nuke thìbạn nên sử dụng Xampp, bạn sẽ thấy được hiệu quả mà nó mang lại rấtlớn
Khi phải làm các dự án mà có tình hình tài chính eo hẹp thì nên sử dụngXampp vì bạn được sử dụng miễn phí hoàn toàn
Trang 19CHƯƠNG 2: LÝ DO CHỌN ĐỀ TÀI 2.1 LÝ DO CHỌN ĐỀ TÀI
Các khách sạn hiện nay càng ngày càng có quy mô lớn Có nhiều kháchsạn chiếm trọn cả tòa nhà vài chục tầng, số phòng cần quản lý đến vài chục, vàitrăm phòng là điều bình thường Số lượng khách đến nghỉ tại khách sạn thì cònnhiều hơn và thay đổi liên tục Hơn nữa, khách đến nghỉ tại khách sạn không chỉnghỉ mà họ còn đăng kí sử dụng rất nhiều dịch vụ của khách sạn… Như vậy cóthể thấy được công tác quản lý sẽ rất khó khăn và phức tạp Ở trong các kháchsạn lớn, nếu vẫn dùng phương pháp quản lý thủ công (ghi, chép) thì cần đến quánhiều nhân viên để làm việc này Như vậy cũng đồng nghĩa với việc khách sạn
sẽ phải trả thêm nhiều chi phí tiền lương hơn cho nhân viên Hơn nữa nếu dùngphương pháp thủ công để quản lý thì hiệu quả sẽ không cao, gây nhầm lẫn trongquản lý là điều khó tránh khỏi Nhiều người cùng làm công tác quản lý sẽ dẫntới dữ liệu không đồng nhất, và rất dễ đánh mất dữ liệu sổ sách Mặt khác, tốc
đổ xử lý thông tin sẽ cực chậm, giả sử khi có một yêu cầu tìm thông tin mộtkhách hàng nào đó, người quản lý sẽ phải giở những quyển sổ dày cộp ra để tracứu Việc đăng kí cho khách hàng ở phòng, thanh toàn và giao hóa đơn chokhách hàng cũng sẽ tốn rất nhiều thời gian, và chắc chắn điều đó sẽ không làmcho khách hàng hài lòng khi mà họ đang bận rộn… Như vậy có thể thấy đề tài
là một yêu cầu thiết thực trong quản lý các khách sạn đang hoạt động hiện nay,
do nhu cầu ngày càng tăng về số lượng khách du lịch, số lượng dịch vụ phục vụ,
sự cạnh tranh thương mại, tiết kiệm chi phí hoạt động và quan trọng hơn là sựhoạt động chính xác và hiệu quả trong quản lý mới là cái quan trọng quyết định
sự thành công trong hoạt động kinh doanh của khách sạn
Hiện nay công nghệ thông tin đang phát triển hết sức mạnh mẽ Nó đang
đi vào tất cả các khía cạnh trong đời sống xã hội cũng như trong công tác sảnxuất quản lý Tất cả cơ quan, tổ chức, công ty… đều muốn tin học hóa vào cáchoạt động của mình Vì vậy không có lí do gì để từ chối đưa công nghệ thông tinvào quản lý khách sạn cả Việc áp dụng CNTT vào công việc quản lý đang trởthành một nhu cầu thiết yếu và sống còn đối với mỗi khách sạn Do đó mộtwebsite quản lý dành cho các khách sạn để làm các công việc như thế đang làmột yêu cầu cấp bách với đối với các lập trình viên
Trang 20Đối với em, những năm học ở trường là khoảng thời gian dài để học tập
và trau dồi kiến thức Làm đề tài này giúp em tổng hợp các kiếm thức đã học,giúp em rèn luyện tư duy và có thêm được kinh nghiệm mới, chính vì các lý dotrên nên em đã quyết định chọn đề tài này
Trang 21CHƯƠNG 3: KHẢO SÁT VÀ TÌM HIỂU HỆ THỐNG
3.1 CƠ CẤU TỔ CHỨC CỦA KHÁCH SẠN
Một khách sạn thường có tổ chức như sau:
Giám đốc, người quản lý cao cấp: Có nhiệm vụ quản lý trực tiếp kháchsạn, mọi vấn đề của khách sạn đều phải thông qua người này, người này cóquyền quyết định tất cả mọi thông tin xử lý trong khách sạn
Phòng tiếp tân: Có nhiệm vụ hoàn thành công việc đăng kí, giao phòngcho khách và nhận lại phòng, lập phiếu thanh toán và thu tiền của khách, nhậnnhững yêu cầu của khách, giới thiệu và giải đáp thắc mắc của khách
Phòng bảo vệ: Bảo vệ có nhiệm vụ giữ xe, khuân vác hành lý và giữ gìn
an ninh trật tự trong khách sạn Theo dõi các thiết bị của khách sạn và chịu tráchnhiệm về an ninh cũng như hệ thống điện trong khách sạn
Phòng Phục vụ: Kiểm tra và dọn vệ sinh phòng Phục vụ ăn uống, giặt làđưa đón khách bằng xe của khách sạn khi có yêu cầu
3.2 PHÂN TÍCH NGHIỆP VỤ
3.2.1 Các công việc cần quản lý
Quản lý người dùng: Trong hệ thống website, sẽ có 2 loại đối tượngngười dùng Đó là nhóm người trong công ty bao gồm người quản lý cao cấp,giám đốc và bộ phận tiếp tân (nhóm này có toàn quyền sử dụng mọi chức năngtrong hệ thống website như: Thêm, sửa, xóa thông tin về phòng, trang thiết bị,dịch vụ…), Thường thì giám đốc và những người quản lý cấp cao sử dụng tàikhoản của mình để giám sát hoạt động hiện tại của khách sạn còn bộ phận lễ tân
sử dụng hệ thống website đề hoàn thành công tác đăng kí, giao phòng, thanhtoán… Và đối tượng người dùng thứ hai là khách hàng Đối tượng này sẽ bị hạnchế chức năng của phần mềm , chỉ có thể xem tin tức, thông tin, đặt phòngonline, …Chức năng quản lý người dùng có nhiệm vụ thêm, sửa, xóa ngườidùng mới cho hệ thống, phân quyền người dùng cho hai mức trên
Quản lý khách hàng: Mỗi khách hàng của khách sạn đều được quản lýnhững thông tin sau: họ tên, ngày tháng năm sinh, giới tính, địa chỉ, điện thoại,email, CMND/CCCD, quốc tịch Hệ thống website sẽ cho phép nhân viên: Nhập
Trang 22thông tin khách hàng đến ở, in ra danh sách các khách hàng đang ở trong kháchsạn và tìm kiếm khách hàng (theo phòng, theo CMND, theo tên)
Quản lý phòng: Các phòng của khách sạn sẽ được quản lý dựa vào địnhdanh của phòng (mã phòng), loại phòng, giá cơ bản Khách sạn gồm có 3 loạiphòng:1, 2, 3 tương ứng với các mức giá và chất lượng tiện nghi nội thất khácnhau Việc quản lý phòng sẽ giúp nhân viên lễ tân biết được tình trạng phòng(trống, có người ở) để phục vụ công việc đặt phòng cho khách Website sẽ chophép nhập thêm mới phòng, xóa phòng khỏi hệ thống, in ra danh sách phòng,xem thông tin của phòng…
Quản lý các dịch vụ của khách sạn: Khách sạn có những dịch vụ tùychọn cho khách hàng như: massage, giặt là, dịch vụ xe, dịch vụ trông trẻ… Việcquản lý các dịch vụ bao gồm: quản lý việc đăng kí sử dụng dịch vụ của khách,quản lý các dịch vụ mà khách hàng đã sử dụng và quản lý chính bản thân dịchvụ: tên, giá…
Quản lý đăng kí thuê phòng: Tất cả các thông tin đăng kí thuê phòng đềuđược quản lý dựa trên số đăng kí, khách hàng đăng kí, ngày giờ đến, ngày giờ
đi, số tiền đặt cọc, số phòng cần thuê, …Khách có thể đăng kí đặt phòng trướchoặc đăng kí ở luôn
Quản lý việc trả phòng: Dựa trên thông tin đăng kí thuê phòng Có thể trảphòng trước thời hạn đăng kí Nếu khách muốn gia hạn thêm thời gian ở kháchsạn thì phải làm thủ tục đăng kí lại Bên cạnh việc trả phòng, khách sạn sẽ dễkiểm tra tình trạng phòng, đồng thời xuất hóa đơn để khách hàng thanh toán cácchi phí
Ngoài ra website còn hỗ trợ nhân viên nhiều việc khác: hỗ trợ hủy đăng
kí phòng, việc đăng kí sử dụng dịch vụ của các phòng , xem phí sử dụng của cácphòng, hỗ trợ thanh toán…
3.2.2 Quy trình quản lý
Hoạt động đặt phòng: Khi có nhu cầu đặt phòng khách hàng sẽ liên lạcvới lễ tân thông qua điện thoại hoặc trực tiếp tại khách sạn, thông báo cụ thể vềnhu cầu của mình (ngày đến, ngày đi, số lượng phòng, số lượng người, loạiphòng ) Sau đó, nhân viên lễ tân sẽ kiểm tra danh sách phòng, sổ ghi kháchđăng kí, đối chiếu khả năng đáp ứng của khách sạn đối với nhu cầu của khách vàtrả lời Nếu có thể đáp ứng được nhu cầu của khách, lễ tân sẽ yêu cầu khách
Trang 23hàng cung cấp thêm một số thông tin phục vụ cho nhu cầu đặt phòng: Thông tinkhách hàng: số CMND, tên khách hàng, giới tính, địa chỉ Thông tin đặt phòng:ngày đến, ngày đi, loại phòng Những thông tin này được dùng để lễ tân điềnvào thông tin khách hàng vào sổ ghi khách đặt phòng
Hoạt động thuê phòng: Khi khách đến thuê phòng, nếu khách hàng đãđăng kí trước, lễ tân sẽ cho khách nhận phòng với thông tin đã ghi trong sổkhách đặt phòng) và cập nhật lại thông tin khách hàng (nếu có sai sót thông tin).Sau đó, sẽ làm thủ tục giao phòng cho khách và cập nhật lại trạng thái phiếu đặtphòng (khi khách hàng đến nhận đúng hạn thì trạng thái phiếu đặt phòng sẽ là
“đã giải quyết”, khách hàng đến nhận phòng trễ hạn hoặc không đến nhận hệthống sẽ cập nhật lại trạng thái là “đã hủy”, bình thường trạng thái sẽ là “chưa
xử lý”) Lưu lại thông tin thuê phòng của khách hàng vào phiếu thuê phòng (lấy
từ thông tin phiếu đặt phòng) Nếu khách hàng chưa đăng kí trước khách hàngphải cung cấp một số thông tin sau: Thông tin khách hàng: tên người nhậnphòng, CMND, số điện thoại, giới tính, địa chỉ; Thông tin thuê phòng: loạiphòng, mã phòng, ngày đến (ngày hiện tại), ngày đi
Đăng ký sử dụng dịch vụ: Trong quá trình ở tại khách sạn mọi yêu cầu vềdịch vụ của khách sạn sẽ được báo trực tiếp cho lễ tân và nhân viên lễ tân sẽ ghivào phiếu dịch vụ với các thông tin: mã dịch vụ, mã phiếu nhận phòng, sốlượng, tổng tiền (của phiếu dịch vụ này) Sau đó lễ tân sẽ yêu cầu bộ phận dịch
vụ thực hiện (ví dụ: giặt ủi, massage, thức uống ) Những dịch vụ khi khách
sừ dụng sẽ được thanh toán chung vào khoản tiền khi trả phòng
Hoạt động trả phòng: Khi khách hàng trả phòng, khách hàng phải thanh
toán tiền tại quầy lễ tân Lễ tân sẽ thanh toán tất cả các khoản cho khách thôngqua Hóa đơn có nội dung sau: số CMND, tổng tiền, ngày lập, nhân viên lập Lễtân sẽ in chi tiết hóa đơn (Thông tin phòng, chi tiết các dịch vụ đã sử dụng, tổngtiền phòng, tổng tiền dịch vụ, ) giao cho khách hàng và lưu lại thông tin hóađơn và trả lại giấy CMND cho khách hàng
Hoạt động quản lý dịch vụ: Khi cần diều chỉnh thông tin dịch vụ cũng nhưxóa đi các dịch vụ không phù hợp đối với khách sạn nữa hoặc các dịch vụ màkhách sạn mới được bổ sung sẽ do bộ phận dịch vụ quản lý
Hoạt động quản lý phòng: Khi cần điều chỉnh thông tin phòng cũng nhưxóa đi các phòng đang trong tình trạng sữa chữa không thể phục vụ khách hàng
Trang 24hoặc thêm vào các phòng đã được sửa chữa xong sẵn sang phục vụ nhu cầukhách hàng sẽ do bộ phận kinh doanh quản lý Nhân viên bộ phân kinh doanh cóthể xóa thông tin khách hàng khi thông tin của khách hàng đó đã quá cũ vàkhông còn dùng nữa và nhân viên kinh doanh là người quản lý danh sách kháchhàng
3.3 CÁC CÔNG CỤ TIN HỌC HÓA NHẰM ĐÁP ỨNG
Nhập các thông tin:
- Các thông tin về phòng, loại phòng, dịch vụ của khách sạn khi có thêm
- Các thông tin về khách hàng
- Các thông tin đăng kí thuê phòng, thuê phòng…
Xem các thông tin và in ra nếu cần:
- Danh sách khách hàng đang thuê phòng
- Danh sách đăng kí thuê phòng
Tra cứu thông tin:
- Khách hàng theo họ tên, CMND…
- Phiếu đăng kí dịch vụ
- Hóa đơn thanh toán
Trang 25CHƯƠNG 4: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
4.1 ĐẶC TẢ TÁC NHÂN VÀ USECASE
4.1.1 Tác nhân
- Khách hàng: Người có nhu cầu thuê phòng, đăng kí đặt phòng và sử dụng
dịch vụ ở khách sạn
- Nhân viên lễ tân: là người trực tiếp quản lý hầu hết các hoạt động trong
khách sạn như quản lý danh mục phòng , quản lý danh mục khách hàng,quản lý danh mục dịch vụ, quản lý thuê phòng …
- Người quản lý: là người điều hành, kiểm soát nhân viên, tổng hợp, thống
kê, báo cáo hàng tháng trên website
4.1.2 Use case
- Quản lý thuê phòng (lập phiếu thuê phòng, gia hạn ngày trả, thanh toán,sửa thông tin thuê phòng, tìm kiếm)
- Quản lý danh mục khách hàng (thêm, sửa, xóa, tìm kiếm khách hàng)
- Quản lý danh mục phòng (thêm, sửa, xóa tìm kiếm phòng)
- Quản lý danh mục loại phòng (thêm, sửa, xóa tìm kiếm loại phòng)
- Quản lý danh mục dịch vụ (thêm, sửa, xóa tìm kiếm dịch vụ)
- Quản lý sử dụng dịch vụ (cập nhật phiếu sử dụng dịch vụ, lập phiếu sửdụng dịch vụ)
- Quản lý người dùng (đăng nhập, kiểm tra tài khoản, phân quyền, thêm,sửa, xóa tài khoản thành viên)
Trang 264.2 BIỂU ĐỒ CA SỬ DỤNG
4.2.1 Usecase toàn hệ thống
Hình 4.1 Usecase toàn bộ hệ thống
Trang 274.2.2 Usecase lễ tân
Hình 4.2 Usecase lễ tân
4.2.3 Usecase khách hàng
Hình 4.3 Usecase khách hàng
Trang 284.2.3 Usecase quản lý
Hình 4.4 Usecase quản lý
4.2.4 Usecase quản lý danh mục
Hình 4.5 Usecase quản lý danh mục
Trang 294.2.5 Usecase quản lý thuê phòng
Hình 4.6 Usecase quản lý thuê phòng
4.2.6 Usecase quản lý sử dụng dịch vụ
Hình 4.7 Usecase quản lý sử dụng dịch vụ.
Trang 304.3 BIỂU ĐỒ HOẠT ĐỘNG
4.3.1 Hoạt động đăng nhập
Hình 4.8 Hoạt động đăng nhập
Trang 314.3.2 Hoạt động đặt phòng
Hình 4.9 Hoạt động đặt phòng