PHỤ LỤC
Chương 1: 1
PHẦN MỞ ĐẦU 1
1.1. LÝ DO CHỌN ĐỀ TÀI 1
1.2. MỤC ĐÍCH 3
1.3. ĐỐI TƯỢNG NGHIÊN CỨU 4
1.3.1. Nghiên cứu về kĩ thuật 4
1.3.2. Nghiên cứu về nghiệp vụ khách sạn 4
1.4. PHẠM VI NGHIÊN CỨU 4
1.4.1. Về mặt kỹ thuật 4
1.4.2. Về nghiệp vụ khách sạn 5
Chương 2: 6
TỔNG QUAN VỀ ĐỀ TÀI 6
2.1. CÁC HƯỚNG NGHIÊN CỨU ĐÃ CÓ CỦA CÁC TÁC GIẢ TRONG VÀ NGOÀI NƯỚC 6
2.2. NHỮNG VẤN ĐỀ CÒN TỒN TẠI 7
2.3. NHỮNG VẤN ĐỀ MÀ ĐỀ TÀI CẦN GIẢI QUYẾT 9
Chương 3: 10
CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ PHÁT TRIỂN 10
3.1. CƠ SỞ LÝ THUYẾT 10
3.1.1. Html 10
3.1.2. Css 13
3.1.3. Javascript 18
3.1.4. Php 28
3.1.5. Cơ sở dữ liệu 36
3.2. CÔNG CỤ PHÁT TRIỂN 39
3.2.1. Trình soạn thảo PHP 39
3.2.2. Tạo webserver để chạy trang PHP 41
3.2.3. Công cụ test sản phẩm 41
Chương 4: 42
XÂY DỰNG CHƯƠNG TRÌNH 42
4.1. NHIỆM VỤ VÀ MỤC TIÊU CỦA BÀI TOÁN 42
4.1.1. Nhiệm vụ của bài toán 42
4.1.2. Mục tiêu của bài toán 42
4.2. KHẢO SÁT BÀI TOÁN 42
4.2.1. Cơ cấu tổ chức của khách sạn 42
4.2.2. Đặc tả bài toán 44
4.3. MÔ HÌNH HÓA DỮ LIỆU 50
4.3.1. Mô hình quan niệm dữ liệu 50
4.3.2. Mô hình tổ chức dữ liệu 52
4.3.3. Mô hình vật lí dữ liệu 53
4.4. MÔ HÌNH HÓA XỬ LÍ 66
4.4.1. Mô hình thông lượng 66
4.4.2. Mô hình quan niệm xử lí 68
4.4.3. Mô hình tổ chức xử lí 75
4.4.4. Mô hình vật lí xử lí 76
4.5. THIẾT KẾ GIAO DIỆN VÀ LẬP TRÌNH 90
4.5.1. Sơ đồ thiết kế hệ thống menu 90
4.5.2. Một số giao diện của chương trình 91
Chương 5: 106
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 106
5.1. KẾT LUẬN 106
5.2. HƯỚNG PHÁT TRIỂN 106
112 trang |
Chia sẻ: netpro | Lượt xem: 5305 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng phần mềm quản lý khách sạn Kim Liên, Hà Nội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
néu biểu_thức_điều_kiện bằng kết_quả_2; break; default : khối lệnh cần thực hiện nếu biểu_thức_điều_kiện cho ra một kết quả khác; }
Sau mỗi khối lệnh trong một mục kiểm tra kết quả (trừ mục default), lập trình viên cần phải thêm vào break.
Hàm
Hàm là một khối các câu lệnh với một danh sách một hoặc nhiều đối số (có thể không có đối số) và thường có tên (mặc dù trong JavaScript hàm không nhất thiết phải có tên). Hàm có thể trả lại một giá trị. Cú pháp của hàm như sau:
function tên_hàm(đối_số_1, đối_số_2) { các câu lệnh cần thực hiện mỗi khi hàm được gọi; return giá_trị_cần_trả_về; } tên_hàm(1, 2); // Gọi hàm tên_hàm với hai đối số 1 và 2 ứng với đối_số_1 và đối_số_2 tên_hàm(1); // Gọi hàm tên_hàm với đối_số_1 có giá trị 1, đối_số_2 có giá trị undefined
Trong JavaScript, khi gọi hàm không nhất thiết phải gọi hàm với cùng số đối số như khi định nghĩa hàm, nếu số đối số ít hơn khi định nghĩa hàm, những đối số không được chuyển cho hàm sẽ mang giá trị undefined.
Các kiểu cơ bản sẽ được chuyển vào hàm theo giá trị, đối tượng sẽ được chuyển vào hàm theo tham chiếu.
Các hàm và đối tượng được định nghĩa sẵn trong Javascript
Hiện nay, có rất nhiều hàm và các đối tượng được xây dựng sẵn trong javascript. Lập trình viên chỉ cần học cách sử dụng. Có những hàm sử dụng để in thông báo ra trang web, cũng có những hàm dùng để nhận thông tin nhập vào. Nhiều hàm thông dụng như trong thư viện của C. Nhiều hàm liên quan tới trình duyệt... Các đối tượng cũng rất đa dạng. Chúng hỗ trợ lập trình viên rất đắc lực trong việc tạo ra khả năng tương tác của trang web với người sử dụng.
Php
PHP là gì
PHP là một ngôn ngữ lập trình được kết nối chặt chẽ với máy chủ .Nói một cách đơn giản không theo thuật ngữ khoa học thì một quá trình xử lý PHP được thực hiện trên máy chủ ( Windowns hoặc Unix ) .Khi một trình duyệt yêu cầu một trang php từ webserver thì trước hết webserver 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áy chủ nên trang Web được viết bằng PHP sẽ được truy cập bằng trình duyệt ở bất kì hệ điều hành nào.
Tại sao nên dùng php?
PHP là ngôn ngữ mã nguồn mở : Bởi vì mã nguồn của PHP sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó ,nâng cao để khắc phục các lỗi trong ngôn ngữ này.
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ành gồm cả Unix ,windows...
Cấu trúc của một trang PHP
Một trang php là một trang HTML có nhúng mã php giữa cặp thẻ
Ví dụ:
Trang PHP ở trên đơn giản chỉ trả về cho trình duyệt một trang web hiển thị dòng chữ “Hello world!”
Hằng và biến trong PHP
Hằng
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" define ("diem_so",4.5);// định nghĩa hằng diem_so với giá trị là 4.5 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);Điều này tương đương với echo ("Tên công ty: NS Co Ltd");
Biến
PHP quy định bất kỳ từ nào có dấu $ ở trước đều là tên của biến.
Ví dụ: $ten; // biến có tên là ten $custome_name; //biến có tên là $custome_name
Quy định đặt tên biến trong php tương tự như C, cách gán dữ liệu cũng tương tự như vậy. Điều đặc biệt là trong PHP không cần khai báo biến trước khi sử dung. Và một biến có thể chứa bất kì loại dữ liệu nào
Các lệnh điều khiển rẽ nhánh và vòng lặp
Các lệnh điều khiển rẽ nhánh và vòng lặp như: if...else, switch, while, for, do...while trong PHP là tương tự như trong C (giống như trong javascript mà chúng ta đã bàn trong phần 3) nên không nhắc lại ở đây
Mảng trong PHP
Mảng trong php có đôi chút khác C
Có thể khởi tạo mảng bằng các cách như sau: $arr[key] = value; $arr[] = value; $arr= array($key1 =>value1,$key2=>value2); $arr = array(value1, value2);
Có thể dùng số nguyên hay chuỗi để làm chỉ mục cho mảng. Ví dụ: $arr[1], $arr[“food”]…
Để duyệt mảng chúng ta có thể dùng vòng lặp foreach:
<?php
$giatri = array(1,2,3,4,5,6,7,8,9,10);
foreach ($giatri as $value)
echo $value."";
?>
<?php
$arr = array("mot"=>"one", "hai"=>"two","ba"=> "three");
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value\n";
}
?>
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ạng từng cặp biến=giá_trị và có thể đi theo 3 con đường khác nhau. Tuỳ theo từng con đường cụ thể, 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.. 3 con đường đó là: GET, POST và COOKIES.
Phương thức GET
Dữ liệu gửi từ trình duyệt lên qua phương thức GET là phần dữ liệu được nhập trực tiếp theo sau địa chỉ URL do trình duyệt gửi lên, được phân biệt với tên file script bằng dấu hỏi chấm (?). Ví dụ, khi ta gõ vào trình duyệt địa chỉ URL sau:
Index.php?name1=linh&name2=dieu
Khi đó trên server sẽ lấy được thông tin này từ các biến có sẵn:
$_GET[“name1”] //có giá trị linh
$_GET[“name2”] //có giá trị dieu
Phương thức POST
Post là phần dữ liệu được gửi qua các form HTML có method ="POST"
Để lấy các biến theo kiểu POST, PHP sẽ tự động sinh ra mảng có tên là $_POST[]. Mảng này có chỉ số chính là tên của các phần tử trong form (các thẻ input, select... có thuộc tính name) và giá trị là nội dung giá trị do người sử dụng nhập vào các phần tử có tên tương ứng.
Ví dụ trong file html gửi lên có thẻ:
nằm trong thẻ form thì khi trang này request lên server, chúng ta có thể lấy được giá trị người dùng nhập vào trong ô textbox bằng cách lấy giá trị $_POST[“ten”];
COOKIES
Cookies là một phần dữ liệu được lưu trên máy khách. Mỗi khi máy khách gửi một yêu cầu tới máy chủ nào đó, thì nó sẽ gửi phần dữ liệu được lưu trong cookie tương ứng với máy chủ đó
Trong Cookie có một số thông số sau:- Địa chỉ URL mà trình duyệt sẽ gửi cookie tới- Thời gian hết hạn của cookie- Các cặp biến:giá trị được lưu trữ liên tục
Để lấy dữ liệu lưu trong COOKIES gửi lên ta lấy giá trị:
$_COOKIE ["tên_cookie"]
Hàm trong PHP
Hàm trong PHP tương đối giống với hàm trong C.
Cú pháp cài đặt một hàm có thể được tóm tắt như sau: function ten_ham (thamso1, thamso2, ..., thamson){ // đoạn chương trình xử lý dữ liệu bên trong hàm return gia_tri; }
Để gọi hàm này thì ta dùng:
<?php
ten_ham(thamso1,thamso2,...,thamson);
?>
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 ra mộ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 tới CSDL.Bước 2: Lựa chọn CSDL.Bước 3: Tiến hành các truy vấn SQL, xử lý các kết quả trả về nếu cóBước 4: Đóng kết nối tới CSDL.
Thiết lập kết nối tới CSDL
Để kết nối tới MySQL, ta sử dụng hàm mysql_connect()Cú pháp: mysql_connect(host,tên_truy_cập,mật_khẩu);trong đó:
host là chuỗi chứa tên (hoặc địa chỉ IP) của máy chủ cài đặt MySQL
tên_truy_cập là chuỗi chứa tên truy cập hợp lệ của CSDL cần kết nối
mật_khẩu là chuỗi chứa mật khẩu tương ứng với tên truy cập
Ví dụ:
Lựa chọn CSDL
Nếu đã kết nối thành công tới cơ sở dữ liệu, chúng ta sẽ phải chọn cơ sở dữ liệu cần dùng bằng hàm: mysql_select_db (tên_CSDL);
Truy vấn, xử lí kết quả
Thao tác thêm
Ví dụ khi muốn chèn thêm một người sử dụng có User_Name là "CMXQ", User_Pass là "123456", User_Post=0 ta làm như sau:
Thao tác xóa
VD: muốn xóa khỏi bảng CMXQ_Users tất cả những người có User_Name="CMXQ":
Thao tác sửa dữ liệu
VD: Khi muốn cập nhật địa chỉ IP cho người có User_Name="CMXQ" với địa chỉ IP được lấy từ trình duyệt:
Truy vấn và lấy kết quả trả về
<?php
$sql="SELECT * FROM $tbl_name"; $result=mysql_query($sql);while($rows=mysql_fetch_array($result)){
echo $rows['email']; //in ra các giá trị cột email trong bảng có tên $tbl_name
}?>
Đóng kết nối
Dùng hàm: mysql_close(mã_định_danh_kết_nối)
Trong đó mã_định_danh_kết_nối chính là giá trị trả về từ hàm: mysql_connect ở trên
Cơ sở dữ liệu
Các khái niệm cơ bản
Cơ sở dữ liệu: Là một tập hợp các bảng dữ liệu có quan hệ với nhau sao cho cấu trúc của chúng cũng như các mối quan hệ bên trong giữa chúng là tách biệt với chương trình ứng dụng bên ngoài, đồng thời nhiều người dùng khác nhau cũng như nhiều ứng dụng khác nhau có thể cùng khai thác và chia sẻ một cách chọn lọc lúc cần
Thực thể:Là hình ảnh cụ thể của một đối tượng trong hệ thống thông tin quản lí. Một thực thể xác định tên và các thuộc tính.
Thuộc tính: Là một yếu tố dữ liệu hoặc thông tin của thực thể
Lớp thực thể: Là các thực thể cùng thuộc tính
Lược đồ quan hệ: tập các thuộc tính của một quan hệ. Lược đồ một quan hệ gồm các thuộc tính của thực thể cùng với các mệnh đề ràng buộc.
Ví dụ lược đồ một quan hệ:
R==(A1:D1,A2:D2,...An:Dn,M)
Trong đó: R là một lược đồ quan hệ
Ai: tên thuộc tính i
Di: miền xác định của thuộc tính
M:Mệnh đề ràng buộc
Nội dung của một lược đồ quan hệ gọi là các bộ.
Các phép toán tối thiểu:
Tìm kiếm dữ liệu theo tiêu chuẩn đã chọn, không làm thay đổi trạng thái CSDL.
Thay đổi cấu trúc CSDL
Thay đổi nội dung CSDL
Xử lí tính toán trên CSDL
Phụ thuộc dữ liệu và các dạng chuẩn
Một thuộc tính gọi là phụ thuộc vào các thuộc tính khác khi giá trị của thuộc tính này phụ thuộc vào giá trị của thuộc tính kia. Sự phụ thuộc này có thể là gián tiếp hay trực tiếp.
Một quan hệ bao giờ cũng có một nhóm thuộc tính mà giá trị của chúng quy định giá trị của các thuộc tính khác, nhóm thuộc tính đó gọi là khóa.
Với một quan hệ tùy vào các phụ thuộc của các thuộc tính vào khóa có trong đó, mà ta phân chia các quan hệ đó thành các dạng chuẩn khác nhau. Các dạng chuẩn cơ bản:
Dạng chuẩn1
Dạng chuẩn 2
Dạng chuẩn 3
Các dữ liệu lưu trữ dưới dạng chuẩn 3 tránh được hiện tượng dư thừa dữ liệu, tạo cho dữ liệu có tính độc lập cao. Các quan hệ nếu chưa ở dạng chuẩn 3 sẽ được phân rã thành các quan hệ nhỏ hơn có dạng chuẩn 3.
Chỉ dẫn và khóa chỉ dẫn
Để có thể tìm kiếm thông tin nhanh theo một tiêu chuẩn nào đó, chúng ta tạo ra các thông tin chỉ dẫn theo tiêu chuẩn đó. Các thông tin chỉ dẫn là các thông tin giúp ta tìm kiếm dữ liệu nhanh. Các thông tin này gọi là khóa chỉ dẫn. Khóa chỉ dẫn có thể là một trường hoặc nhiều trường, trong trường hợp này phải chỉ ra thứ tự. Với cách tạo ra khóa theo tiêu chuẩn nào đó, ta có thể tìm kiếm dữ liệu nhanh theo tiêu chuẩn đó.
Mục tiêu và tính ưu việt của mô hình quan hệ
Cho một lược đồ dữ liệu dễ sử dụng, mô hình đơn giản, người dùng không cần biết cấu trúc vật lý của dữ liệu. Tiện lợi cho người dùng cuối không chuyên tin học.
Tăng cường tính độc lập của dữ liệu. Đặc biệt là độc lập vật lý
Cho một khả năng có thể thao tác với ngôn ngữ lập trình bậc cao.
Tối ưu việc tìm kiếm dữ liệu trong cơ sở dữ liệu, hệ quản trị tự tìm cách truy cập.
Cải thiện nâng cao toàn vẹn dữ liệu và bảo mật dữ liệu
Có thể phục vụ cho nhiều chương trình ứng dụng
Có cơ sở toán học phong phú, chắc chắn: lý thuyết quan hệ, dạng chuẩn có độ bền vững và đầy đủ thông tin.
CÔNG CỤ PHÁT TRIỂN
Trình soạn thảo PHP
Việc viết các đoạn mã PHP có thể thực hiện đơn giản bằng các trình soạn thảo thông thường như NotePad chẳng hạn. Tuy nhiên, điều đó sẽ rất vất vả, và hiệu quả không cao.
Để tăng tốc độ viết code và để code nhìn sáng sủa hơn thì nhóm chúng em đã chọn công cụ PHP Expert Editor. Dưới đây là giao diện làm việc của phần mềm này:
(Hình 3.1. Giao diện công cụ phát triển PHP Expert Editor)
PHP Expert Editor là công cụ giúp lập trình viên giảm bớt công sức viết mã. Nó có chức năng highlight các từ khóa, tự động chỉnh lề khi xuống dòng. Ngoài ra nó cung cấp bộ trợ giúp hàm real-time, mỗi khi gõ tên hàm, thì các tham số của hàm sẽ hiện ra giúp lập trình viên nhớ nhanh. Các đoạn mã phức tạp cũng được PHP Expert Editor gom lại cho dễ nhìn, chỉ cần collapse nó lại khi muốn xem tổng thể và expand nó ra khi muốn xem chi tiết.
PHP Expert Editor hỗ trợ không chỉ PHP mà còn hỗ trợ đầy đủ các ngôn ngữ lập trình khác như HTML, JavaScript, CSS, ASP, C / C++, Pascal, Delphi, VB, … Người dùng có thể thay đổi kiểu màu hay kiểu chữ cho từng ngôn ngữ riêng.
Tạo webserver để chạy trang PHP
Để test các trang PHP thì cần phải có một webserver, một hệ quản trị cơ sở dữ liệu và một trình dich php. Đây là ba thành phần độc lập với nhau nhưng là bộ ba không thể thiếu nhau.
Để đơn giản, chúng em chọn phần mềm xampp
(Hình 3.2. Logo của phần mềm XAMPP)
XAMPP tích hợp các gói phần mềm: Apache (web server), PHP (Ngôn ngữ lập trình web), mySQL (hệ quản trị cơ sở dữ liệu dành cho PHP)…Vì vậy, chỉ cần cài đặt XAMPP là chúng ta đã có một môi trường chạy PHP lý tưởng trên PC. Sử dụng XAMPP giúp đơn giản hóa trong việc tạo ra môi trường test các trang php.
Công cụ test sản phẩm
Để đảm bảo website viết ra tương thích với các trình duyệt trên các môi trường khác nhau, chúng em đã dùng các trình duyệt: IE, FireFox, Google Chrome,Opera, Safari để test sản phẩm trên các môi trường Windows, Linux, MacOS
Chương 4:
XÂY DỰNG CHƯƠNG TRÌNH
NHIỆM VỤ VÀ MỤC TIÊU CỦA BÀI TOÁN
Nhiệm vụ của bài toán
Tìm hiểu cơ cấu tổ chức của một khách sạn
Tìm hiểu nhiệm vụ và quy trình thực hiện công việc tại khách sạn
Khảo sát tình hình thực tế của khách sạn
Áp dụng các kiến thức về lập trình web, cơ sở dữ liệu và phân tích thiết kế hệ thống thông tin quản lí để xây dựng chương trình quản lí khách sạn tự động thực hiện một số công việc bằng máy tính có thể thay thế một phần công việc cho con người.
Mục tiêu của bài toán
Nghiên cứu và thử nghiệm bài toán phân tích-thiết kế hệ thống thông tin quản lí. Từ đó phân tích thiết kế cài đặt chương trình quản lí khách sạn
KHẢO SÁT BÀI TOÁN
Cơ cấu tổ chức của khách sạn
Giám đốc, người quản lí cao cấp
Phòng tiếp tân
Phòng bảo vệ
Phòng phục vụ
(Hình 4.1. Cơ cấu tổ chức của khách sạn)
Khách sạn có sơ đồ tổ chức như trên. Trong đó:
Giám đốc, người quản lí cao cấp: Có nhiệm vụ quản lí trực tiếp khách sạn, mọi vấn đề của khách sạn đều phải thông qua nhóm này, và nhóm 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òng cho 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ận những yêu cầu của khách, giới thiệu và giải đáp những thắc mắc của khách.
Phòng bảo vệ: Bảo vệ có nhiệm vụ giữ xe, khuân 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ách nhiệm về hệ thống ánh sáng.
Phòng phục vụ: Kiểm tra và dọn vệ sinh phòng. Phục vụ ăn uống, giặt ủi đưa đón khách bằng xe của khách sạn khi khách có yêu cầu.
Đặc tả bài toán
Các công việc cần quản lí
Một khách sạn cần tự động hóa trong việc quản lí. Sau khi tìm hiểu, khảo sát hiện trạng em đã thấy rằng phần mềm cần làm những việc sau:
Quản lí người dùng: Trong hệ thống phần mềm, sẽ có 2 loại đối tượng người dùng phần mềm. Đó là: nhóm người trong công ty bao gồm giám đốc , những người quản lí cao cấp 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ăng trong phần mềm 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í cao cấp sử dụng tài khoản của mình vào chỉ để 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 phần mềm để hoàn thành công tác đăng kí, giao phòng, thanh toán.... Và loại đối tượng người dùng thứ 2 là nhóm khách hàng. Khi thuê phòng tại khách sạn, nhóm người này sẽ được cung cấp user name và password (mỗi phòng được cung cấp một tài khoản) để truy nhập vào hệ thống. Nó giúp khách hàng có thể theo dõi được tiền phí mà họ đã sử dụng, họ có thể xem những dịch vụ của khách sạn hiện có qua phần mềm này. Đối tượng người dùng là khách hàng này sẽ bị hạn chế sử dụng chức năng của phần mềm. Những chức năng dành cho nhân viên khách sạn sẽ không có sẵn cho nhóm người này. Mỗi phòng được cung cấp một username và password, khi đăng nhập thì mỗi phòng chỉ biết được thông tin phí của chính phòng đó mà không thể biết được thông tin của các phòng khác. Chức năng quản lí người dùng có nhiệm vụ thêm, sửa xóa người dùng mới cho hệ thống, phân quyền người dùng theo 2 mức người dùng nói trên.
Quản lí khách hàng: Mỗi khách hàng của khách sạn đều được khách sạn 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_passport, quốc tịch. Phần mềm sẽ cho phép nhân viên khách sạn: nhập thông tin khách hàng đến ở, in ra danh sách những khách hàng đang ở trong khách sạn và tìm kiếm khách hàng (theo phòng, họ tên, theo số CMND_PP)
Quản lí phòng: Các phòng của khách sạn được quản lí dựa vào số định danh của phòng (mã phòng), loại phòng, giá cơ bản. Khách sạn gồm có 3 loại phòng: 1,2,3 tương ứng với các mức giá khác nhau. Việc quản lí phòng sẽ giúp nhân viên lễ tân biết được tình trạng của phòng (trống, có người ở) để phục vụ công việc đặt phòng cho khách. Phần mềm sẽ cho phép nhập thêm phòng mới, xóa phòng khỏi hệ thống, in ra danh sách phòng, xem thông tin liên quan đến phòng...
Quản lí trang thiết bị của phòng: Mỗi phòng sẽ được trang bị một lượng tiện nghi nhất định. Chúng ta sẽ phải quản lí trang thiết bị cho từng phòng. Ngoài ra cũng phải quản lí chính các trang thiết bị đó theo mã tiện nghi, tên tiện nghi, giá, mô tả.... Việc quản lí trang thiết bị giúp khách sạn phát hiện những mất mát, hỏng hóc do khách gây ra với thiết bị.
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ùy chọn cho khách hàng như: massage, giặt là, dịch vụ xe, dịch vụ trông trẻ.... Việc quả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 đã sử dụng và quản lí chính bản thân dịch vụ: 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 hàng có thể đặt phòng trước hoặ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 hàng muốn gia hạn thêm thời gian ở tại khách sạn thì phải tiến hành làm thủ tục đăng kí lại. Bên cạnh việc trả phòng, khách sạn sẽ kiểm tra lại tình trạng phòng.
Quản lí việc hủy đăng kí: Khi khách hàng đã đăng kí phòng mà không muốn đến ở thì họ có thể hủy đăng kí đặt phòng. Khách sạn sẽ trả lại họ một phần tiền đặt cọc (tất nhiên không phải là tất cả). Hoặc khi khách hàng đăng kí phòng mà không đến nhận phòng, nếu quá thời gian cho phép thì khách sạn cũng phải hủy đăng kí phòng để cho người khác đăng kí.
Ngoài ra phần mềm còn hỗ trợ nhân viên nhiều việc khác: hỗ trợ việc đăng kí sử dụng dịch vụ của các phòng, xem phí sử dụng của các phòng, hỗ trợ thanh toán nhanh...
Quy trình quản lí
Khi khách hàng có nhu cầu ở khách sạn thì khách hàng có thể liên hệ với khách sạn để tiến hành làm thủ tục đăng kí. Khách hàng có thể đến trực tiếp khách sạn hoặc liên hệ qua điện thoại, email... Việc đăng kí này có thể là đặt trước hoặc đăng kí để ở luôn. Khách hàng phải khai báo số phòng cần đặt, loại phòng, ngày giờ đến, ngày giờ đi... Lúc này nhân viên khách sạn dùng phần mềm để kiểm tra xem khách sạn có còn đủ số phòng phù hợp với nguyện vọng của khách hàng không. Nếu thỏa mãn yêu cầu của khách hàng thì nhân viên bắt đầu làm thủ tục đăng kí cho khách hàng. Trường hợp các tổ chức, cơ quan, các nhóm người muốn đặt nhiều phòng tại khách sạn một lúc thì họ cần phải cử một người đại diện đến đặt phòng (một người có thể đặt nhiều phòng một lúc), mọi thông tin liên quan đến việc ở khách sạn đều chỉ được liên hệ với người này.
Khi làm thủ tục đăng kí, khách hàng phải khai báo đấy đủ thông tin về mình. Khách hàng cũng phải đặt cọc một số tiền nhất định dựa vào loại phòng và số lượng phòng mà mình đăng kí. Việc chuyển tiền có thể dùng tiền mặt, chuyển khoản ngân hàng... Nhân viên khách sạn phải chỉ định phòng cụ thể (theo mã phòng) cho khách hàng đăng kí và nhập vào hệ thống phần mềm. Ví dụ: nhân viên chỉ định phòng P100 đã có người đăng kí ở từ thời gian nào đến thời gian nào... Nếu khách hàng đăng kí để ở luôn thì phải làm thủ tục nhận phòng luôn. Nếu khách hàng chỉ đăng kí trước (đặt phòng) thì khách sạn sẽ cho khách hàng một thời hạn để hủy đăng kí hợp lệ (thường là trước 7 ngày nhận phòng). Trong thời gian này, khách hàng có thể hủy đăng kí của mình mà không bị phạt tiền bồi thường. Và khách sạn cũng gia hạn cho khách hàng thời gian đến nhận phòng (thường là ngày bắt đầu ở).
Sau khi đặt phòng, trước ngày nhận phòng khách hàng có thể hủy đăng kí. Việc hủy đăng kí trong thời gian hợp lệ (trước 7 ngày nhận phòng) thì khách hàng được nhận lại toàn bộ số tiền đặt cọc. Tuy nhiên nếu đã quá thời gian hủy hợp lệ này thì khách hàng phải bồi thường tiền cho khách sạn theo quy định đã thỏa thuận. Vì thế tiền đặt cọc là bắt buộc khi đăng kí đặt phòng. Để tránh rủi ro thì số tiền đặt cọc phải lớn hơn hay bằng số tiền phải bồi thường. Khi nhận được yêu cầu hủy phòng, nhân viên khách sạn phải dùng phần mềm xóa thông tin đặt phòng trước đó của khách để giải phóng phòng cho người khác đăng kí.
Nếu khách hàng đã đặt phòng mà không đến nhận phòng trong thời gian quy định thì khách sạn sẽ tự ý hủy đăng kí đó. Và tất nhiên khách hàng sẽ bị phạt tiền bồi thường cho khách sạn.
Khi khách hàng đến nhận phòng, nhân viên khách sạn sẽ dùng phần mềm thực hiện công việc nhận phòng cho khách. Người nhận phòng phải đưa cho nhân viên khách sạn chứng minh thư nhân dân hoặc passport hoặc các văn bản có ảnh còn thời hạn sử dụng. Nhân viên khách sạn căn cứ vào đó để kiểm tra lại thông tin khi khách hàng đăng kí đặt phòng (trường hợp khách hàng đến đăng kí ở luôn thì không phải kiểm tra lại). Khách sạn sẽ trả lại các giấy tờ này khi khách hàng làm xong thủ tục trả phòng. Nhân viên khách sạn sẽ bàn giao phòng cho khách hàng. Và khách hàng có nhiệm vụ gửi cho nhân viên khách sạn bản khai báo nhân sự trong các phòng mà mình đã đăng kí để khách sạn quản lí tất cả những người này. Đồng thời nhân viên khách sạn cũng cung cấp cho khách hàng tài khoản sử dụng phần mềm (username, password) cho từng phòng mà khách hàng đăng kí. Tài khoản sử dụng phần mềm này sẽ giúp các khách hàng truy cập vào hệ thống phần mềm của khách sạn để đặt sử dụng các dịch vụ, xem phí sử dụng của phòng mình...
Trong thời gian khách hàng ở tại khách sạn, họ có thể dùng tài khoản mà khách sạn đã cung cấp để xem các dịch vụ hiện có của khách sạn, xem phí sử dụng của phòng mình, xem các thông tin giới thiệu về khách sạn qua trang web. Khi có yêu cầu sử dụng dịch vụ, nhân viên lễ tân sẽ điều các bộ phận phục vụ, bảo vệ... đáp ứng nhu cầu cho khách và lưu lại thông tin vào phần mềm để thanh toán khi họ trả phòng.
Khi hết thời hạn thuê phòng như đã đăng kí thì khách phải trả phòng cho khách sạn. Trước thời hạn trả phòng, khách hàng cũng có thể trả phòng cho khách sạn. Khi khách hàng làm thủ tục trả phòng, bộ phận lễ tân sẽ kiểm tra lại tình trạng phòng, tổng hợp lại tất cả dịch vụ chưa thanh toán của khách hàng và in hóa đơn thanh toán cho khách. Khách sạn phải trả lại giấy tờ đã giữ, và cập nhật lại trạng thái phòng trong phần mềm để giải phóng phòng, cho người khác có thể đăng kí. Trường hợp khách hàng muốn ở thêm thì phải đăng kí lại.
Công việ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, trang thiết bị, dịch vụ của công ty khi có thêm.
Các thông tin về khách hàng
Các thông tin đặt phòng, nhận phòng...
Xem thông tin và in ra nếu cần:
Danh sách khách hàng ở tại khách sạn
Danh sách đăng kí thuê phòng
Danh sách phòng
Danh sách các trang thiết bị trong từng phòng
Danh sách các dịch vụ của khách sạn
Phiếu thanh toán
Cập nhật các thông tin:
Giá phòng, giá dịch vụ... có thể thay đổi theo mùa, có thể tăng giảm thất thường nên cần phải cập nhật liên tục để thanh toán được chính xác. Cũng có thể cập nhật các thông tin về khách hàng, về các trang thiết bị trong từng phòng...
Tra cứu thông tin
Khách hàng theo họ tên, phòng
Hóa đơn sử dụng dịch vụ
Hóa đơn tiền phòng
MÔ HÌNH HÓA DỮ LIỆU
Mô hình quan niệm dữ liệu
Mô hình quan niệm dữ liệu là sự mô tả của hệ thống thông tin độc lập với các lựa chọn môi trường để cài đặt. Là công cụ cho phép người phân tích thể hiện dữ liệu của hệ thống ở mức quan niệm.
Mô hình này cũng là cơ sở để trao đổi giữa những người phân tích và người yêu cầu thiết kế hệ thống. Nhiều kiểu mô hình quan niệm dữ liệu đã được nghiên cứu, phương pháp Merise sử dụng mô hình thực thể - mối kết hợp, là một mô hình xuất phát từ lí thuyết cơ sở dữ liệu nên từ đây có thể thiết kế được cơ sở dữ liệu dạng chuẩn cao.
Với hệ thống quản lí khách sạn mà chúng em thiết kế thì mô hình quan niệm được mô tả như ở trang sau:
THIETBI
mathietbi
tenthietbi
mieuta
…
THIETBI_PHONG
maphong
mathietbi
soluong
…
GIAPHONG
loaiphong
gia
DANGKI_PHONG
madangki
maphong
PHONG
maphong
tenphong
loaiphong
SUDUNGDV
masudung
maphong
madichvu
…
DICHVU
madichvu
tendichvu
mieuta
urlanh
KHACH_PHONG
makhach
maphong