Xây dựng chương trình quản lý khách sạn cho khách sạn Kim Liên Hà Nội

LỜI NÓI ĐẦU Ngày nay, trong thời đại công nghệ thông tin bùng nổ trên toàn cầu thì các 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àn thể . 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óa của Đảng và nhà nước đã đạt được những thành công nhất định nên đời sống của nhân dân ta 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ên ngày càng có nhiều khách du lịch nước ngoài đến Việt Nam. Chính vì vậy nhu cầu khách sạn trong nước 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ất nhiề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 Ở nước ta, có một thực trạ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. Nhất là các khách sạn có quy mô nhỏ thì điều đó càng phổ biến. Sự can thiệp của công nghệ thông tin vào công tác quản lí khách sạn còn chưa được nhiều và chưa toàn diện. Vì vậy rất dễ xảy ra nhầm lẫn, chập chạp và khó đáp ứng được nhu cầu ngày càng tăng của khách hàng. Hiện nay, cũng có một số công ty, nhóm, hoặc các lập trình viên đã viết ra phần mềm quản lí khách sạn. Nhưng hầu hết các sản phẩm viết ra đều không đáp ứng được nhu cầu, còn chưa sát thực với nghiệp vụ quản lí trong khách sạn. 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ạn hoà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, nhóm chúng em đã quyết định chọn và nghiên cứu về chủ đề này với tham vọng sẽ tạo ra được một phần mềm quản lí khách sạn mới, hiệu quả và được tin dùng. Hy vọng chương trình này có thể giúp người quản lí khách sạn và khách hàng nhanh chóng biết được các thông tin cần thiết và chính xác, từ đó có thể 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 với tốc độ, và hiệu quả phục vụ trong khách sạn. Chương trình được viết dưới dạng trang web, sử dụng ngôn ngữ lập trình PHP có kết nối cơ sở dữ liệu My SQL. Chương trình bao gồm nhiều biểu mẫu đăng nhập hệ thống, biểu mẫu chính, menu, nhập liệu và các báo cáo . Tuy nhiên vẫn còn nhiều điểm, nhiều chi tiết phức tạp mà chúng em còn chưa kịp xử lí được nên chưa vào chương trình xử lí. Nhờ sự hướng dẫn tận tình của thầy giáo TS. Lê Huy Thập,nên bước đầu chúng em đã nghiên cứu, vận dụng kiến thức và đã xây dựng được chương trình quản lí tương đối đáp ứng được các yêu cầu đơn giản như trên. Do kiến thức và thời gian có hạn nên chương trình chắc chắn không tránh khỏi được những thiếu sót và nhược điểm. Vì vậy rất mong nhận được được sự góp ý, chỉ bảo từ các quý thầy cô và các bạn để chúng em có thể kịp thời bổ sung những điểm chưa hoàn thiện trong luận văn này. Một lần nữa, em xin chân thành cảm ơn thầy giáo TS. Lê Huy Thập, các thầy cô trong trường và toàn thể các bạn đã tạo điều kiện cho em hoàn tất đề tài nghiên cứu này. 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

doc112 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2673 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Xây dựng chương trình quản lý khách sạn cho 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
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 USER mauser username password quyen DANGKI madangki makhach thoigianden … KHACH makhach hoten ngay sinh … USER_PHONG maphong mauser (Hình 4.2. Mô hình quan niệm dữ liệu của cơ sở dữ liệu hệ thống) Mô hình tổ chức dữ liệu Mô hình tổ chức dữ liệu của hệ thống là lược đồ cơ sở dữ liệu của hệ thống. Đây là bước trung gian chuyển đổi giữa mô hình quan niệm dữ liệu (gần với người sử dụng) và mô hình vật lí dữ liệu (mô hình trong máy), chuẩn bị cho việc cài đặt hệ thống. Các lược đồ trong mô hình tổ chức dữ liệu có được từ sự biến đổi mô hình quan niệm dữ liệu. Áp dụng các quy tắc biến đổi ta có các lược đồ quan hệ của bài toán như sau: THIETBI (mathietbi, tenthietbi, mieuta, urlanh) PHONG (maphong, tenphong, loaiphong) THIETBI_PHONG (maphong, mathietbi, soluong, trangthai) GIAPHONG (loaiphong, gia) DICHVU (madichvu, tendichvu, mieuta, urlanh) SUDUNGDV (masudung, maphong, madichvu, thoigiansudung, tienphi, ghichu) USER (mauser, username, password, quyen) KHACH (makhach, hoten, ngaysinh, gioitinh, diachi, dienthoai, email, socmnd_pp, quoctich) KHACH_PHONG (makhach, maphong) DANGKI (madangki, makhach, thoigianden, thoigiandi, tiendatcoc, trangthai) DANGKI_PHONG (madangki, maphong) USER_PHONG (maphong, mauser) Mô hình vật lí dữ liệu Là mô hình của dữ liệu được cài đặt trên máy vi tính dưới một hệ quản trị cơ sở dữ liệu nào đó. Ứng với mỗi lược đồ quan hệ trong mô hình tổ chức dữ liệu, dữ liệu được cài đặt thành một tệp cơ sở dữ liệu gồm các cột: tên trường, kiểu dữ liệu, độ lớn và phần ràng buộc dữ liệu. Với hệ thống quản lí khách sạn mà nhóm em thiết kế, thì mô hình hóa dữ liệu được cài đặt trên máy dưới hệ quản trị cơ sở dữ liệu MySQL. Ứng với mỗi lược đồ quan hệ trong mô hình tổ chức dữ liệu, dữ liệu được cài đặt dưới dạng các bảng (table) như sau: Bảng THIETBI (thiết bị) Field Name Data Type Field Size Miêu tả mathietbi int 10, auto increment Mã thiết bị (khóa chính). Định danh một loại thiết bị duy nhất trong khách sạn tenthietbi Varchar 50 Tên của thiết bị mieuta Text Đoạn text miêu tả về thiết bị urlanh Varchar 100 Đường dẫn đến ảnh đại diện cho thiết bị (Bảng 4.1. Mô hình vật lí dữ liệu bảng THIETBI) Bảng này để chứa thông tin về các thiết bị hiện có trong khách sạn. Mỗi khi có thêm một thiết bị mới thì cần cập nhật thông tin trong bảng này Bảng PHONG (phòng) Field Name Data Type Field Size Miêu tả maphong int 10, auto increment Mã phòng (khóa chính). Định danh duy nhất của một phòng trong khách sạn tenphong Varchar 50 Tên của phòng. Ví dụ: B12_p100, A5_p200 loaiphong int 10 Có 3 loại phòng: 1,2,3 ứng với các giá trị 1,2,3 của trường này (Bảng 4.2. Mô hình vật lí dữ liệu bảng PHONG) Bảng này dùng để lưu thông tin về các phòng hiện có trong khách sạn. Khi khách sạn xây thêm phòng, bỏ bớt phòng, sửa loại phòng cho một phòng cụ thể nào đó... thì cần cập nhật thông tin vào bảng này Bảng THIETBI_PHONG (thiết bị trong phòng) Field Name Data Type Field Size Miêu tả maphong int 10 Mã phòng (khóa ngoài liên kết đến khóa chính trong bảng PHONG) mathietbi int 10 Mã thiết bị (khóa ngoài liên kết đến khóa chính trong bảng THIETBI). Trường này cộng với trường maphong ở trên tạo thành khóa chính cho bảng này soluong int 10 Số lượng thiết bị có mã mathietbi trong phòng có mã maphong trangthai Varchar 100 Miêu tả trạng thái hiện thời của thiết bị trong phòng. Ví dụ: hỏng, dùng được... (Bảng 4.3. Mô hình vật lí dữ liệu bảng THIETBI_PHONG) Bảng này chứa thông tin về thiết bị được đặt trong mỗi phòng. Mỗi khi có sự thêm mới thiết bị vào phòng hoặc bỏ bớt thiết bị ra thì cần cập nhật dữ liệu vào bảng này. Căn cứ vào bảng này, phần mềm có thể xuất ra danh sách các thiết bị trong từng phòng, và trạng thái của thiết bị đó... Bảng GIAPHONG (giá phòng ứng với từng loại phòng) Field Name Data Type Field Size Miêu tả loaiphong int 10 Loại phòng (khóa chính, và là khóa ngoài liên kết đến loaiphong trong bảng PHONG). Nó có giá trị: 1,2,3 gia int 10 Giá phòng ứng với từng loại. 1 tương đương với 1 VNĐ (Bảng 4.4. Mô hình vật lí dữ liệu bảng GIAPHONG) Bảng này quản lí giá cho từng loại phòng cụ thể. Ví dụ: loại 1 có giá 500000 loại 2 có giá 300000 Bảng DICHVU (dịch vụ) Field Name Data Type Field Size Miêu tả madichvu int 10, auto increment Mã dịch vụ (khóa chính). Định danh một loại dịch vụ duy nhất trong khách sạn. tendichvu Varchar 50 Tên của dịch vụ. Ví dụ: massage, trông trẻ, đưa xe... mieuta Text Đoạn text miêu tả về dịch vụ. Đoạn text này giúp khách hàng hiểu rõ hơn về dịch vụ urlanh Varchar 100 Đường dẫn đến ảnh đại diện cho dịch vụ (Bảng 4.5. Mô hình vật lí dữ liệu bảng DICHVU) Bảng này chứa thông tin về các dịch vụ tùy chọn cho khách hàng. Bảng SUDUNGDV (sử dụng dịch vụ của mỗi phòng) Field Name Data Type Field Size Miêu tả masudung int 10, auto increment Mã sử dụng (khóa chính). Định danh một lần sử dụng dịch vụ của một phòng duy nhất maphong int 10 Mã phòng (khóa ngoài, liên kết đến khóa chính trong bảng PHONG). Chỉ ra phòng đăng kí sử dụng dịch vụ qua hệ thống phần mềm madichvu int 10 Mã dịch vụ (khóa ngoài liên kết đến khóa chính trong bảng DICHVU). Nó chỉ ra định danh dịch vụ đã được phòng đăng kí sử dụng. thoigiansudung Date time Chỉ ra thời gian mà phòng đăng kí, sử dụng dịch vụ. tienphi int 10 Tiền phí mà phòng phải nộp vì đã sử dụng dịch vụ. Độ lớn 1 tương đương với 1VNĐ ghichu Text Những ghi chú ngoài về việc sử dụng dịch vụ của phòng. (Bảng 4.6. Mô hình vật lí dữ liệu bảng SUDUNGDV) Mỗi khi khách hàng yêu cầu sử dụng dịch vụ, khi dịch vụ đã được đáp ứng thì nhân viên lễ tân cần ghi lại thông tin này để tính tiền khi khách trả phòng. Nếu khách đã thanh toán luôn sau khi sử dụng dịch vụ rồi thì không ghi vào bảng này. Bảng USER (người dùng) Field Name Data Type Field Size Miêu tả mauser int 10, auto increment Mã người dùng (khóa chính). Định danh một tài khoản người dùng duy nhất trong hệ thống. username Varchar 50 Tên đăng nhập hệ thống cho người dùng password Varchar 50 Password đăng nhập quyen YES/NO Vì có 2 loại người dùng nên: YES: loại người dùng cao cấp (là giám đốc, người quản lí, nhân viên khách sạn) NO: đối tượng sử dụng là khách hàng, bị hạn chế quyền (Bảng 4.7. Mô hình vật lí dữ liệu bảng USER) Phần mềm quản lí khách sạn này không phải ai cũng vào sử dụng được. Vì vậy bảng user chứa các thông tin về người dùng nhằm mục đích bảo mật và phân quyền từng loại người dùng. Mỗi loại người dùng sẽ có những chức năng và mục đích sử dụng hệ thống khác nhau. Đối với khách hàng thì mỗi phòng trong khách sạn sẽ đại diện bởi một user có tên là tên phòng. Password sẽ luôn thay đổi khi có người mới vào sử dụng phòng để tăng độ bảo mật. Bảng KHACH (khách hàng) Bảng này lưu thông tin các khách hàng đang ở tại khách sạn và thông tin người đại diện đặt phòng trong khách sạn. Nó có cấu trúc như sau: Field Name Data Type Field Size Miêu tả makhach int 10, auto increment Mã khách hàng (khóa chính). Định danh một khách hàng duy nhất đang ở trong khách sạn hoten Varchar 100 Họ tên khách hàng ngaysinh Date time Ngày tháng năm sinh của khách gioitinh YES/NO Giới tính khách hàng NO: nữ YES: nam diachi Text Địa chỉ nhà của khách hàng dienthoai Varchar 20 Số điện thoại liên hệ (trường này không bắt buộc) email Varchar 100 Email liên hệ với khách (không bắt buộc). socmnd_pp Varchar 50 Số chứng minh nhân dân hoặc số passport (đối với khách nước ngoài). Đối với các khách hàng trên 18 tuổi thì bắt buộc. Với các khách hàng nhỏ tuổi thì không cần thiết quoctich Varchar 50 Quốc tịch của khách hàng (Bảng 4.8. Mô hình vật lí dữ liệu bảng KHACH) Bảng KHACH_PHONG (khách trong từng phòng) Trong khách sạn có rất nhiều khách hàng đang ở, và có rất nhiều phòng. Vì vậy bảng này sẽ lưu thông tin khách hàng nào đang ở phòng nào. Nó cũng giúp cho nhân viên xem được danh sách khách hàng hiện đang ở tại một phòng cụ thể. Bảng này có cấu trúc như sau: Field Name Data Type Field Size Miêu tả makhach int 10 Mã khách ( khóa ngoài liên kết đến khóa chính trong bảng KHACH). maphong int 10 Mã phòng ( khóa ngoài liên kết đến khóa chính trong bảng PHONG). Trường này kết hợp với trường makhach ở trên để tạo thành khóa chính cho bảng (Bảng 4.9. Mô hình vật lí dữ liệu bảng KHACH_PHONG) Bảng DANGKI (đăng kí, đặt phòng) Field Name Data Type Field Size Miêu tả madangki int 10, auto increment Mã đăng kí (khóa chính). Định danh một đăng kí đặt phòng duy nhất makhach int 10 Mã khách (khóa ngoài, liên kết đến khóa chính trong bảng KHACH) thoigianden Date time Thời gian khách hàng dự định đến ở tại khách sạn thoigiandi Date time Thời gian tới hạn để khách hàng trả lại phòng và thanh toán cho khách sạn tiendatcoc int 10 Tiền đặt cọc trước. Độ lớn 1 tương đương với 1VNĐ trangthai YES/NO Biểu diễn trạng thái. No: Mới đăng kí đặt phòng nhưng chưa nhận phòng. YES: khách hàng đã nhận phòng (Bảng 4.10. Mô hình vật lí dữ liệu bảng DANGKI) Mỗi trường trong bảng này đại diện cho một đăng kí đặt phòng của khách hàng. Chỉ một người khách đại diện chịu trách nhiệm thông tin đặt phòng. Bảng DANGKI_PHONG (các phòng trong 1 đăng kí) Field Name Data Type Field Size Miêu tả madangki int 10 Mã đăng kí ( khóa ngoài liên kết đến khóa chính trong bảng DANGKI). maphong int 10 Mã phòng ( khóa ngoài liên kết đến khóa chính trong bảng PHONG). Trường này kết hợp với trường madangki ở trên để tạo thành khóa chính cho bảng (Bảng 4.11. Mô hình vật lí dữ liệu bảng DANGKI_PHONG) Vì mỗi lần đăng kí có thể đặt được nhiều phòng cho nên bảng này dùng để lưu thông tin các phòng ứng với một đăng kí. Bảng USER_PHONG Field Name Data Type Field Size Miêu tả maphong int 10 Mã khách ( khóa ngoài liên kết đến khóa chính trong bảng KHACH). mauser int 10 Mã phòng ( khóa ngoài liên kết đến khóa chính trong bảng PHONG). Trường này kết hợp với trường makhach ở trên để tạo thành khóa chính cho bảng (Bảng 4.12. Mô hình vật lí dữ liệu bảng USER_PHONG) Bảng này cho biết user nào tương ứng với phòng nào. Để khi khách hàng đăng nhập vào sẽ biết được thông tin tiền phí sử dụng của phòng đó. Những user đại diện cho nhân viên khách sạn sẽ không bao giờ là trường mauser của bảng này MÔ HÌNH HÓA XỬ LÍ Một hệ thống thông tin bao giờ cũng gồm 2 thành phần chính: dữ liệu và xử lí dữ liệu. Dữ liệu mang sắc thái tĩnh, nó chính là cơ sở dữ liệu đã bàn luận ở mục trước. Còn xử lí mang sắc thái động và sẽ được bàn trong mục này Mô hình thông lượng Nhằm xác định các luồng thông tin trao đổi giữa các bộ phận trong hệ thống thông tin quản lí. Tác nhân: là một người hay một bộ phận tham gia vào hoạt động của hệ thống thông tin quản lí. Có hai loại tác nhân: tác nhân bên trong hệ thống gọi là tác nhân trong và tác nhân bên ngoài hệ thống được gọi là tác nhân ngoài. Tác nhân trong được biểu diễn bởi một vòng tròn, tác nhân ngoài được biểu diễn bằng một hình chữ nhật, bên trong có ghi tên của tác nhân Thông lượng: là dòng thông tin truyền giữa hai tác nhân. Nó được biểu diễn bằng một mũi tên đi từ tác nhân này đến tác nhân kia. Hình vẽ dưới đây minh họa một mô hình thông lượng chứa các tác nhân và thông lượng Tác Nhân Ngoài Tác Nhân Trong (Hình 4.3. Minh họa mô hình thông lượng) Mô hình thông lượng thông tin của bài toán này là toàn bộ các dòng thông lượng giữa các tác nhân trong hệ thống. Có một tác nhân ngoài (KHÁCH HÀNG) và hai tác nhân trong (BỘ PHẬN LỄ TÂN VÀ BỘ PHẬN DỊCH VỤ) K H Á C H H À N G BỘ PHẬN LỄ TÂN BỘ PHẬN DỊCH VỤ Yêu cầu đăng kí phòng Trả lời yêu cầu đăng kí phòng Yêu cầu hủy đăng kí Trả lời hủy đăng kí Yêu cầu nhận phòng Yêu cầu dịch vụ Yêu cầu dịch vụ cho khách Trả lời yêu cầu dịch vụ Yêu cầu trả phòng Trả lời yêu cầu trả phòng Yêu cầu thanh toán hóa đơn Trả lời thanh toán hóa đơn (Hình 4.4. Mô hình thông lượng của hệ thống) Mô hình quan niệm xử lí Mô hình quan niệm xử lí là mô hình nhằm xác định hệ thống làm những công việc gì, chức năng gì, các chức năng này có liên hệ với nhau như thế nào, tại sao có những công việc này... Mô hình này trả lời các câu hỏi What, Why Biến cố: là một sự kiện xảy ra cho hệ thống thông tin, có thể xuất hiện bên trong hay bên ngoài hệ thống, tạo phản ứng cho hệ thống thông tin qua một công việc nào đó. Một biến cố bao giờ cũng tạo ra một biến cố mới hay dữ liệu mới. Người ta dùng một hình elip trong đó ghi tên biến cố để miêu tả một biến cố. Ví dụ mô hình sau: Biến cố A Biến cố B CÔNG VIỆC NO YES Biến cố C Biến cố D (Hình 4.5. Minh họa mô hình quan niệm xử lí) Công việc: hay còn gọi là một quy tắc quản lí, là một xử lí nhỏ nhất mà hệ thống thực hiện khi xuất hiện một biến cố trong hệ thống thông tin quản lí. Một công việc hoạt động có thể thành công hay không, trong mỗi trường hợp công việc đó sinh ra các biến cố khác nhau. Để miêu tả một công việc, người ta dùng một hình chữ nhật trong đó ghi tên công việc nửa trên. Nửa còn lại ở bên dưới chia làm hai phần, phần ghi chữ NO cho trường hợp thực hiện không thành công, phần ghi chữ YES cho trường hợp thực hiện thành công. Có hai phương thức kích hoạt bởi nhiều biến cố cho một công việc: AND và OR. Phương thức AND: khi tất cả các biến cố cùng xảy ra thì mới kích hoạt công việc. Phương thức OR: khi một trong những biến cố xảy ra thì đã kích hoạt được công việc Dưới đây là danh sách các công việc trong bài toán quản lí khách sạn: Nhận đăng kí thuê phòng Kiểm tra phòng Kiểm tra thông tin khách hàng Nhập thông tin khách hàng (chỉ thông tin người đại diện đến đăng kí) Nhập thông tin đăng kí thuê phòng Hủy đăng kí phòng Yêu cầu nhận phòng đã đăng kí Kiểm tra thông tin đăng kí phòng Nhập thông tin nhận phòng Bàn giao phòng Đáp ứng yêu cầu dịch vụ của khách Yêu cầu trả phòng Kiểm tra lại tình trạng phòng In hóa đơn tổng hợp Thanh toán hóa đơn tổng hợp Trả phòng Từ danh sách các công việc trên, ta có mô hình quan niệm xử lí như sau: Có nhu cầu về phòng ở ĐĂNG KÍ THUÊ PHÒNG NO YES Đăng kí bị từ chối Đăng kí được chấp nhận KIỂM TRA PHÒNG NO YES Hết phòng trống Còn phòng trống KIỂM TRA TT KHÁCH NO YES Thông tin khách chưa có Đã có TT khách NHẬP TT KHÁCH YES đã nhập tt khách Đã nhập tt đăng kí NHẬP TT ĐĂNG KÍ THUÊ PHÒNG YES (1) (2) HỦY ĐK PHÒNG YES Quá thời hạn nhận P Khách yêu cầu hủy ĐK (1) Chấp nhận hủy đk YÊU CẦU NHẬN PHÒNG YES Tới thời hạn nhận P Yêu cầu được chấp nhận KIỂM TRA TT ĐÃ ĐK YES TT được chấp nhận NHẬP TT NHẬN PHÒNG YES TT nhận phòng đã nhập (3) BÀN GIAO PHÒNG NO YES (2) Phòng đã được nhận ĐÁP ỨNG YCSD DV YES Có yêu cầu sử dụng DV DV đã được đáp ứng YÊU CẦU TRẢ PHÒNG YES Hết hạn sử dụng phòng Khách hàng muốn trả phòng trước Trả phòng được chấp nhận (3) KT LẠI TÌNH TRẠNG PHÒNG YES THANH TOÁN HÓA ĐƠN TỔNG HỢP YES IN HÓA ĐƠN TỒNG HỢP YES Phòng đã được kiểm tra Tiền thuê phòng + phí sử dụng DV Hóa đơn tổng hợp được in Đã thanh toán hóa đơn tổng hợp (Hình 4.6. Mô hình quan niệm xử lí của hệ thống) Mô hình tổ chức xử lí Với mô hình này, người phân tích sẽ đặt các công việc trong mô hình quan niệm vào từng nơi làm việc cụ thể của môi trường thật và xác định rõ các công việc do ai làm, làm khi nào và theo phương thức nào. Một hệ thống thông tin được phân chia thành nhiều bộ phận. Mỗi bộ phận này được gọi là nơi làm việc (gồm vị trí, con người, trang thiết bị ở đó). Phương thức làm việc bao gồm: thủ công (do con người trực tiếp thao tác trên đối tượng) và tự động do máy tính thực hiện. Dưới đây là bảng thủ tục chức năng (bảng công việc) TÊN CÔNG VIỆC NƠI THỰC HIỆN PHƯƠNG THỨC Nhận đăng kí thuê phòng Bộ phận lễ tân Thủ công Kiểm tra phòng Bộ phận lễ tân Tự động Kiểm tra TT khách hàng Bộ phận lễ tân Tự động Nhập TT khách hàng Bộ phận lễ tân Thủ công Nhập TT đăng kí thuê phòng Bộ phận lễ tân Thủ công Hủy đăng kí phòng Khách hàng Tự động Yêu cầu nhận phòng đã ĐK Khách hàng Thủ công Kiểm tra TT đăng kí phòng Bộ phận lễ tân Tự động Nhập TT nhận phòng Bộ phận lễ tân Thủ công Bàn giao phòng Bộ phận lễ tân Thủ công Đáp ứng yêu cầu dịch vụ của khách Bộ phận dịch vụ Thủ công Yêu cầu trả phòng Khách hàng Thủ công KT tình trạng phòng Bộ phận lễ tân Thủ công In hóa đơn tổng hợp Bộ phận lễ tân Tự động Thanh toán hóa đơn Khách hàng Thủ công (Bảng 4.13. Bảng thủ tục chức năng của hệ thống) Mô hình vật lí xử lí Với mô hình tổ chức xử lí đã có, người phân tích sẽ tiến hành xem xét, biến các thủ tục chức năng thành các đơn vị chương trình. Ứng với mỗi đơn vị chương trình mà ta đã đặc tả chi tiết để chuẩn bị cho việc cài đặt chương trình. Một chương trình bao gồm các đơn vị tổ chức xử lí. Đó là một tập hợp các thủ tục chức năng có liên quan với nhau và được thực hiện liền mạch nhằm thực hiện một quy tắc quản lí nào đó. Dưới đây là các đơn vị tổ chức xử lí của bài toán. Chúng ta sử dụng các IPO Chart (input processing output chart) để biểu diễn: IPO CHART 1 Môđun: ĐĂNG KÍ THUÊ PHÒNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho DANGKI, DANGKI_PHONG, KHACH, KHACH_PHONG Input: Thông tin đăng kí thuê phòng (thời gian đến, thời gian đi, tiền đặt cọc, thông tin khách đại diện thuê phòng) Output: Thông tin đăng kí thuê phòng ghi vào bảng DANGKI, DANGKI_PHONG, KHACH, KHACH_PHONG Xử lí: Nhập thời gian đến, thời gian đi. Hệ thống chỉ ra trong thời gian đấy có bao nhiêu phòng có thể đăng kí Đưa ra một danh sách phòng có thể để lễ tân chọn cho đăng kí thuê phòng Nhập thông tin khách đại diện thuê phòng và chèn vào bảng KHACH Gán phòng cho người đại diện bằng cách thêm dữ liệu vào bảng KHACH_PHONG Chèn thông tin đăng kí (thời gian đến, thời gian đi, tiền đặt cọc) vào bảng DANGKI Chèn thông tin vào bảng DANGKI_PHONG để chỉ ra các phòng chứa trong đăng kí này (Bảng 4.14. Môđun đăng kí thuê phòng) IPO CHART 2 Môđun: HỦY ĐĂNG KÍ PHÒNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: xóa thông tin liên quan trong CSDL Input: yêu cầu hủy đăng kí thuê phòng Output: xóa thông tin trong các bảng DANGKI, DANGKI_PHONG, KHACH, KHACH_PHONG Xử lí: Nhập vào mã đăng kí hoặc thông tin khách đại diện thuê phòng để tìm ra các thông tin về madangki, makhach Xóa trường trong bảng DANGKI, DANGKI_PHONG nơi có mã đăng kí như vừa tìm Xóa trường có mã khách như vừa tìm trong bảng KHACH và KHACH_PHONG (Bảng 4.15. Môđun hủy đăng kí phòng) IPO CHART 3 Môđun: NHẬN PHÒNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: cập nhật dữ liệu cho DANGKI Input: yêu cầu nhận phòng Output: cập nhật bảng DANGKI Xử lí: Tìm thông tin đăng kí thuê phòng trong bảng DANGKI, sau đó sửa trường trangthai từ 0 thành 1 (Bảng 4.16. Môđun nhận phòng) IPO CHART 4 Môđun: QUẢN LÍ SỬ DỤNG DỊCH VỤ Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: nhập thông tin cho bảng SUDUNGDV Input: yêu cầu sử dụng dịch vụ và đã được đáp ứng Output: nhập thông tin cho bảng SUDUNGDV Xử lí: Nhập các thông tin về phòng, dịch vụ, thời gian sử dụng, tiền phí, ghi chú rồi chèn vào bảng SUDUNGDV (Bảng 4.17. Môđun quản lí sử dụng dịch vụ) IPO CHART 5 Môđun: TÍNH TIỀN HÓA ĐƠN Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: in ra tổng phí sử dụng tiền phòng Input: thông tin người đai diện thuê phòng Output: in ra tổng chi phí sử dụng Xử lí: Nhập thông tin khách hàng đại diện cần trả phòng Tìm số đăng kí phòng ứng với khách hàng đó trong bảng DANGKI Tìm tập các phòng mà người đó đăng ki trong bảng DANGKI_PHONG Tính tổng số tiền phòng Tính tổng số phí dịch vụ mà các phòng đó sử dụng trong bảng SUDUNGDV Tính tổng phí bằng cách cộng tiền phòng và tiền sử dụng dịch vụ Xuất thông tin tiền phòng tính được ra (Bảng 4.18. Môđun tính tiền hóa đơn) IPO CHART 6 Môđun: TRẢ PHÒNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: xóa thông tin liên quan trong CSDL Input: yêu cầu trả phòng Output: xóa thông tin trong các bảng DANGKI và KHACH, DANGKI_PHONG, SUDUNGDV Xử lí: Nhập thông tin khách hàng đại diện cần trả phòng Tìm số đăng kí phòng ứng với khách hàng đó trong bảng DANGKI Tìm tập các phòng mà người đó đăng ki trong bảng DANGKI_PHONG Xóa thông tin tất cả các khách hàng ở trong các phòng mà người đại diện đã thuê trong bảng KHACH Xóa thông tin trong bảng SUDUNGDV mà các phòng liên quan đã dùng Xóa thông tin trong bảng DANGKI_PHONG Xóa thông tin trong bảng DANGKI (Bảng 4.19. Môđun trả phòng) IPO CHART 7 Môđun: NHẬP THÔNG TIN KHÁCH HÀNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho KHACH, KHACH_PHONG Input: Thông tin khách hàng Output: Thông tin khách hàng ghi vào bảng KHACH, KHACH_PHONG Xử lí:Nhập thông tin cá nhân của khách và phòng khách ở Chèn thông tin cá nhân vào bảng KHACH Chèn thông tin phòng khách ở vào bảng KHACH_PHONG (Bảng 4.20. Môđun nhập thông tin khách hàng) IPO CHART 8 Môđun: IN DANH SÁCH KHÁCH HÀNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: In ra danh sách những người trong khách sạn (có thể theo phòng) Input: tên phòng hoặc không Output: In ra danh sách khách tương ứng Xử lí: Nếu tên phòng được nhập thì chỉ chọn makhach trong bảng KHACH mà nó nằm trong bảng KHACH_PHONG tương ứng với mã phòng được nhập. Nếu không thì chọn tất cả khách trong bảng KHACH Chú ý là khách này khong nằm trong bảng DANGKI nơi có trangthai=0 (vì đây là những người đại diện đặt phòng trước chứ chưa ở) In ra thông tin của khách (Bảng 4.21. Môđun in danh sách khách hàng) IPO CHART 9 Môđun: TÌM KIẾM KHÁCH HÀNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: In ra danh sách khách hàng thỏa mãn yêu cầu tìm kiếm Input: tên khách hoặc số CMND_PP Output: In ra danh sách khách tương ứng Xử lí: Truy vấn trong bảng KHACH nơi có họ tên hoặc số CMND_PP giống với giá trị cần tìm In ra danh sách đó (Bảng 4.22. Môđun tìm kiếm khách hàng) IPO CHART 10 Môđun: NHẬP THÔNG TIN THIÊT BỊ Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho bảng THIETBI Input: thông tin thiết bị mới Output: chèn thông tin mới vào bảng THIETBI Xử lí: Nhập thông tin mới và chèn vào bảng THIETBI (Bảng 4.23. Môđun nhập thông tin thiết bị) IPO CHART 11 Môđun: IN DANH SÁCH THIẾT BỊ Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: In ra danh sách những thiết bị mà khách sạn có (không phải là thiết bị của riêng một phòng nào đó) Input: không cần Output: In ra danh sách thiết bị hiện có Xử lí: Chọn tất cả thiết bị trong bảng THIETBI In ra thông tin chi tiết của từng thiết bị ra (Bảng 4.24. Môđun in danh sách thiết bị) IPO CHART 12 Môđun: NHẬP THÔNG TIN DỊCH VỤ Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho bảng DICHVU Input: thông tin dịch vụ mới Output: chèn thông tin mới vào bảng DICHVU Xử lí: Nhập thông tin mới và chèn vào bảng DICHVU (Bảng 4.25. Môđun nhập thông tin dịch vụ) IPO CHART 13 Môđun: IN DANH SÁCH DỊCH VỤ Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: In ra danh sách dịch vụ của khách sạn Input: không cần Output: In ra danh sách dịch vụ hiện có Xử lí: Chọn tất cả dịch vụ trong bảng DICHVU In ra thông tin chi tiết của từng dịch vụ ra (tên, miêu tả, ảnh minh họa...) (Bảng 4.26. Môđun in danh sách dịch vụ) IPO CHART 14 Môđun: NHẬP THÔNG TIN PHÒNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho bảng PHONG Input: thông tin phòng mới Output: chèn thông tin mới vào bảng PHONG Xử lí: Nhập thông tin mới và chèn vào bảng PHONG (Bảng 4.27. Môđun nhập thông tin phòng) IPO CHART 15 Môđun: IN DANH SÁCH PHÒNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: In ra danh sách phòng hiện có của khách sạn Input: không cần Output: In ra danh sách phòng hiện có Xử lí: Chọn tất cả thông tin trong bảng PHONG Lấy thông tin loaiphong của mỗi phòng, rồi truy vấn bảng GIAPHONG để tính giá của phòng đó In ra thông tin chi tiết của từng phòng, kèm theo thông tin giá thuê nó. (Bảng 4.28. Môđun in danh sách phòng) IPO CHART 16 Môđun: NHẬP THÔNG TIN THIẾT BỊ CHO 1 PHÒNG Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: Nhập dữ liệu cho bảng THIETBI_PHONG Input: thông tin phòng, thông tin thiết bị Output: chèn thông tin mới vào bảng THIETBI_PHONG Xử lí: Nhập thông tin mới và chèn vào bảng THIETBI_PHONG (Bảng 4.29. Môđun nhập thông tin thiết bị cho một phòng) IPO CHART 17 Môđun: QUẢN LÍ NGƯỜI DÙNG (USER) Hệ thống: QUẢN LÍ KHÁCH SẠN Mục tiêu: Nhập và cập nhật dữ liệu cho bảng USER Input: yêu cầu thêm, cập nhật người dùng Output: thêm, cập nhật dữ liệu cho bảng USER Xử lí: IF yêu cầu thêm người dùng THEN thêm thông tin người dùng mới vào bảng USER. Nếu thông tin trùng với người dùng đã có thì nhập lại. Nếu không, chèn thông tin vào cơ sở dữ liệu IF yêu cầu cập nhật (sửa, xóa) THEN tìm người dùng trong bảng USER. Nếu tìm thấy thì cập nhật thông tin. Nếu không tìm thấy thì báo lỗi. (Bảng 4.30. Môđun quản lí người dùng) THIẾT KẾ GIAO DIỆN VÀ LẬP TRÌNH Sơ đồ thiết kế hệ thống menu QL PHÒNG QL THIẾT BỊ QL DỊCH VỤ DANH SÁCH NGƯỜI DÙNG THÊM NGƯỜI DÙNG ĐỔI MẬT KHẨU XÓA NGƯỜI DÙNG ĐẶT PHÒNG HỦY ĐĂNG KÍ NHẬN PHÒNG QL DỊCH VỤ THANH TOÁN & TRẢ PHÒNG THÊM KHÁCH DANH SÁCH KHÁCH TÌM KIẾM MENU HỆ THỐNG NGHIỆP VỤ KHÁCH HÀNG KHÁCH SẠN NGƯỜI DÙNG GIỚI THIỆU (Hình 4.7. Menu cho đối tượng nhân viên) MENU HỆ THỐNG PHÍ SỬ DỤNG CÁC DỊCH VỤ GIỚI THIỆU (Hình 4.8. Menu cho đối tượng khách hàng) Một số giao diện của chương trình Giao diện chính (Hình 4.9. Giao diện chính của chương trình) Giao diện chính của chương trình gồm một hệ thống menu xổ xuống ở phía trên. Phía dưới gồm: phần bên phải chứa các module về user, lịch, đồng hồ. Phía bên trái chứa một không gian rộng nhất là giao diện làm việc chính của chương trình. Module đăng kí phòng (Hình 4.10. Giao diện module đăng kí phòng (bước 1)) Đầu tiên phải nhập ngày tháng đến, ngày tháng đi của khách (Hình 4.11. . Giao diện module đăng kí phòng (bước 2)) Sau đó hệ thống sẽ in ra tổng số phòng có thể đăng kí trong thời gian đó. Nếu mà số phòng thỏa mãn được yêu cầu cần sử dụng của khách thì click vào link “CLICK VÀO ĐÂY” để đi tiếp (Hình 4.12 . Giao diện module đăng kí phòng (bước 3)) Tiếp theo chọn các phòng muốn gán cho đăng kí. Có thể chọn nhiều phòng. Rồi click vào button “Tiếp Theo” (Hình 4.13 . Giao diện module đăng kí phòng (bước 4)) Cuối cùng nhập thông tin người đại diện đăng kí để hoàn thiện công tác đăng kí. Gán cả phòng ở cho người này luôn Module hủy đăng kí (Hình 4.14 . Giao diện module hủy đăng kí) Cho hiện ra một danh sách các đăng kí đã quá hạn nhận (ví dụ hạn đến nhận là ngày 24/09 nhưng hiện tại là 25-09) và các đăng kí chưa đến ngày nhận (có thể hủy). Nếu muốn hủy đăng kí nào, lễ tân chỉ cần click vào link “hủy” Module nhận phòng (Hình 4.15 . Giao diện module nhận phòng) Module này cho hiện ra một danh sách các đăng kí có thể nhận phòng (đăng kí mà thời gian đến bằng ngày hiện tại, hoặc đăng kí đã quá hạn nhận nhưng vẫn chưa bị xóa khỏi hệ thống). Chỉ cần click vào link “nhận phòng” là công tác nhận phòng đã hoàn tất Module quản lí việc sử dụng dịch vụ (Hình 4.16 . Giao diện module quản lí việc sử dụng dịch vụ (nhập thông tin)) Giao diện bên trên là giao diện thêm dịch vụ sử dụng cho từng phòng (những dịch vụ dùng chưa trả tiền) để thanh toán khi trả phòng. Còn hình dưới là giao diện danh sách các dịch vụ được các phòng sử dụng (Hình 4.17 . GD module quản lí việc sử dụng dịch vụ (danh sách thông tin)) Module thanh toán và trả phòng (Hình 4.18 . Giao diện module thanh toán & trả phòng (danh sách đăng kí)) Đầu tiên, in ra một danh sách các đăng kí đã đến hạn thanh toán. Nếu click vào link “thanh toán” thì chi tiết tiền phí của một đăng kí, và số tiền cần trả của một đăng kí sẽ hiện ra như hình ảnh ở dưới (Hình 4.19 . Giao diện module thanh toán & trả phòng (in hóa đơn thanh toán)) Ở phía dưới giao diện trên có một button “Thanh toán”. Khi lễ tân đã nhận đủ tiền từ khách thì click vào đó để làm thủ tục trả phòng và giải phóng phòng đó cho người khác có thể thuê được Phần quản lí khách hàng (Hình 4.20 . Giao diện module quản lí khách hàng(nhập thêm khách)) Phía trên là giao diện nhập thông tin một khách hàng mới. Chi tiết về phòng ở của khách cũng phải được nhập Dưới đây là giao diện hiển thị danh sách khách hàng trong khách sạn. Có thể hiện thị danh sách toàn bộ khách hàng hoặc danh sách khách hàng trong 1 phòng cụ thể (Hình 4.21 . Giao diện module quản lí khách hàng(danh sách khách hàng)) Còn dưới đây là giao diện tìm kiếm khách hàng theo tên hoặc theo số CMND_PP (Hình 4.22 . Giao diện module quản lí khách hàng(tìm kiếm khách hàng)) Quản lí phòng (Hình 4.23 . Giao diện module quản lí phòng (danh sách phòng)) Phía trên là giao diện hiển thị danh sách các phòng hiện có trong khách sạn. Các button ở phía trên là các chức năng thao tác cho việc quản lí phòng Quản lí thiết bị (Hình 4.24 . Giao diện module quản lí thiết bị) Quản lí dịch vụ (Hình 4.25 . Giao diện module quản lí dịch vụ) Quản lí người dùng (user) Giao diện dưới in ra danh sách các user hiện có trong hệ thống. (Hình 4.26 . Giao diện quản lí người dùng (danh sách user)) Giao diện thêm người dùng mới: (Hình 4.27 . Giao diện quản lí người dùng (thêm user mới)) Xóa tài khoản người dùng: (Hình 4.28 . Giao diện quản lí người dùng (xóa user)) Giao diện dành cho khách hàng (Hình 4.29 . Giao diện dành cho khách hàng (in phí sử dụng)) Đối với khách hàng, chỉ có 3 menu, Giao diện trên in ra phí sử dụng của phòng A15_P100 tính tới thời điểm ngày hiện tại. Còn giao diện dưới đây in ra các dịch vụ có sẵn mà khách hàng có thể gọi để sử dụng (Hình 4.30 . Giao diện dành cho khách hàng (hiển thị danh sách các dịch vụ)) Giao diện dưới đây giới thiệu về khách sạn: (Hình 4.31 . Giao diện dành cho khách hàng (giới thiệu khách sạn)) Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN KẾT LUẬN Chương trình quản lí khách sạn này sẽ giúp cho ban quản lí khách sạn, nhân viên khách sạn quản lí công việc kinh doanh của mình một cách hiệu quả, nắm được diễn biến của quá trình đăng kí thuê phòng, quá trình thuê phòng của khách, quá trình quản lí khách hàng, quản lí dịch vụ, quản lí thiết bị, quản lí thanh toán... một cách dễ dàng và nhanh chóng. Từ đó có thể đưa ra các quyết định, đề ra các phương án, kế hoạch dài hạn hay ngắn hạn một cách kịp thời. Chương trình cũng giúp cải thiện việc tương tác với khách hàng bằng việc cho khách hàng xem các thông tin về khách sạn, về chi phí của phòng. Nó cũng giải quyết được các vấn đề truy cập qua internet, vấn đề bản quyền phần mềm... Tóm lại chương trình quản lí khách sạn đã đáp ứng được nhu cầu truy vấn thông tin nhanh chóng, hiệu quả. Tuy nhiên chương trình vẫn còn những nhược điểm và thiếu sót, chúng em sẽ cố gắng hoàn thiện sau. Rất mong nhận được sự đóng góp ý kiến của các thầy cô và các bạn quan tâm đến vấn đề này HƯỚNG PHÁT TRIỂN Những thông tin về khách hàng, về tiền thanh toán hóa đơn... sẽ bị xóa đi khỏi cơ sở dữ liệu khi khách trả phòng. Hướng phát triển tiếp theo, chúng em sẽ thiết kế các bảng để lưu thông tin của các đăng kí đặt phòng cũ, của các khách hàng đã không còn ở khách sạn, của các thanh toán hóa đơn để công ty dựa vào các thông tin đó, nâng cao khả năng tiếp thị, quảng bá hình ảnh của khách sạn với khách hàng. Hoặc có thể sử dụng lại các thông tin đó khi muốn tra cứu lại lịch sử hoạt động của khách sạn. Hệ thống hiện tại chưa cho phép người dùng đăng kí đặt phòng tự động (đặt phòng online) mà vẫn phải nhờ nhân viên khách sạn thao tác, nhập dữ liệu. Vì vậy, phiên bản tiếp theo của phần mềm cần chức năng đặt phòng online. Hiện tại đối tượng người dùng (user) trong hệ thống mới có 2 loại. Tất cả những người trong khách sạn đều phải sử dụng một loại tài khoản có cùng quyền. Vì vậy tính bảo mật kém. Hệ thống tiếp theo cần phải mở rộng thêm loại đối tượng người dùng (thêm đối tượng người dùng cao cấp, có nhiệm vụ quản lí các chức năng quan trọng của hệ thống) Chương trình cũng cần ghi lại (log) những phiên làm việc để biết ai đã làm những gì. Từ đó biết được khả năng làm việc của từng nhân viên và phát hiện sai sót để sửa lỗi. TÀI LIỆU THAM KHẢO [1]. Nguyễn Văn Ba. Phân tích thiết kế hệ thống thông tin, NXB Đại học Quốc gia Hà Nội, 2008. [2]. Lê Huy Thập. Giáo trình kỹ thuật lập trình, Tập1, NXB Khoa học tự nhiên và công nghệ Hà Nội 10 năm 2008 (298 trang) [3]. Lê Tiến Vương. Nhập môn cơ sở dữ liệu quan hệ, NXB Thống kê 2000 [4]. Đỗ Xuân Lôi. Cấu trúc dữ liệu và giải thuật, NXB Khoa học và kỹ thuật 1996 [5]. Lê Minh Hoàng. Thiết kế web với CSS, NXB Lao động xã hội 2006 [6]. Hoàng Đức Hải. Thiết kế web với javascript và DOM, NXB Phương Đông 2007 [7]. Phương Lan, Phạm Hữu Khang. Lập trình Web bằng PHP 5.3 và cơ sở dữ liệu My SQL 5.1, NXB Phương Đông 2010 [8]. Ebook “Giáo trình phân tích hệ thống với UML” (file doc, không rõ tác giả) ......................................... PHỤ LỤC

Các file đính kèm theo tài liệu này:

  • docBao Cao.doc
  • rarhotel.rar
  • sqlhotel.sql