版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 數(shù)據(jù)庫課程設(shè)計報告</b></p><p> -------賓館信息管理系統(tǒng)</p><p> 計算機科學(xué)與技術(shù)學(xué)院08級電子商務(wù)專業(yè)</p><p><b> 系統(tǒng)開發(fā)平臺</b></p><p> 題目:酒店信息管理預(yù)訂系統(tǒng)</p><p
2、> 開發(fā)語言:Java Eclipse /netbeans</p><p> 后臺數(shù)據(jù)庫管理系統(tǒng):SQL Server 2000</p><p> 操作系統(tǒng):windows xp</p><p><b> 二、 數(shù)據(jù)庫規(guī)劃</b></p><p><b> 2.1 任務(wù)陳述</b&g
3、t;</p><p><b> 引言</b></p><p> 客房管理系統(tǒng)是典型的信息管理系統(tǒng)的一部份,而且是必不可少的一部份。其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起簡潔且資料一致性和完整性強、資料安全性好的數(shù)據(jù)庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。</p><p> 酒店客
4、房管理系統(tǒng)的內(nèi)容對于經(jīng)營的決策者和管理者來說都至關(guān)重要,所以客房管理系統(tǒng)、信息管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多弊端,如:效率低、保密性差,容易出現(xiàn)差錯等,且對于查詢空房間及已定房間等極為不方便。在當今時代,這些完全可以改用計算機來代替人的手工操作。 作為計算機及網(wǎng)絡(luò)應(yīng)用的一部分,使用計算機對客房信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如
5、:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高客房經(jīng)營管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。且辦事效率也是決定收入的一個關(guān)鍵因素。 </p><p> 因此,我選擇的酒店客房管理系統(tǒng)設(shè)計,力求開發(fā)出一套界面友好,功能強大,使用簡單的適用于各大、中、小規(guī)模的酒店客房的管理系統(tǒng)。同時也是一款完全適合賓館或旅館酒店客房管理傻瓜式日常業(yè)務(wù)管理的軟件
6、。</p><p> 酒店系統(tǒng)由前臺和后臺管理兩個部分組成。前臺作為與前臺服務(wù)員直接交互的可視化界面,由于使用方便,能將系統(tǒng)的各個功能提供給他們,以幫助服務(wù)員進行客房管理。</p><p> 前臺在考慮功能實現(xiàn)的同時,也考慮了操作的簡潔和方便性,目的是讓大多數(shù)客戶能夠輕松地享受電子商務(wù)給他們帶來的便利。 </p><p> 為了確保客戶和酒店的信息具有更好的安
7、全性,前臺管理和后臺管理是分離的。前臺的各管理模塊只有部分功能和權(quán)限,我為此設(shè)計了兩個角色:一是酒店管理員,二是前臺服務(wù)員。其中:酒店管理員享有最高權(quán)限,可以使用酒店客房管理系統(tǒng)所提供的所有功能,包括員工信息修改、客房類型維護、客房信息維護、客戶信息查詢。前臺服務(wù)員的主要職能是負責訂房,入住和退房,以及查詢和修改訂單,查詢房間信息和查詢預(yù)訂及入住的客戶信息。所有該角色只可以使用部分功能,后臺管理主要由數(shù)據(jù)庫系統(tǒng)作為支持,后臺管理的維護工
8、作主要由系統(tǒng)管理員進行。</p><p><b> 數(shù)據(jù)庫管理系統(tǒng)</b></p><p> 由于酒店管理系統(tǒng)是一個典型的數(shù)據(jù)庫應(yīng)用系統(tǒng),因而選擇一個良好的DBMS是系統(tǒng)實現(xiàn)的另一個重要環(huán)節(jié)。DBMS訪問數(shù)據(jù)庫。一般來說現(xiàn)代的DBMS具備以下幾個功能:</p><p> (1)事務(wù)的恢復(fù)功能:為盡可能減少由于故障而引起的數(shù)據(jù)庫數(shù)據(jù)失效的損
9、失,現(xiàn)代的DBMS通常具備恢復(fù)功能。</p><p> (2)完整性約束檢查:由于數(shù)據(jù)庫中的數(shù)據(jù)是持久和共享的,其正確性十分重要,</p><p> 為保證數(shù)據(jù)的正確性,DBMS提供對數(shù)據(jù)庫數(shù)據(jù)的語法和語義的檢查,數(shù)據(jù)在語義上的約束稱為完整性約束。</p><p> (3)訪問控制:并不是任何用戶可以不加限制的訪問任何數(shù)據(jù)庫中的數(shù)據(jù),DBMS</p>
10、;<p> 應(yīng)有控制用戶訪問權(quán)限的功能,即所謂的訪問控制功能,訪問控制不但可以限制用戶的訪問范圍,而且可以限制用戶可進行的操作。</p><p> (4)數(shù)據(jù)目錄管理:數(shù)據(jù)庫中保留的是持久和共享的數(shù)據(jù),對數(shù)據(jù)的定義應(yīng)不同于一般的程序設(shè)計語言,應(yīng)獨立于應(yīng)用程序,長期保留在數(shù)據(jù)庫中,這就構(gòu)成了數(shù)據(jù)目錄,數(shù)據(jù)目錄的管理是DBMS的基本功能。</p><p><b>
11、 2.2 任務(wù)目標</b></p><p><b> 設(shè)計目標</b></p><p> ?。?)操作簡單方便、界面簡潔美觀,方便中小型酒店人員使用。</p><p> ?。?)前臺服務(wù)員功能:</p><p><b> 住宿管理:</b></p><p>
12、 客房預(yù)訂(能實現(xiàn)散客和團體客戶預(yù)訂,團體預(yù)訂可預(yù)訂多間不同類型的房間,并在這些房間中選擇一個作為主房間號)</p><p> 客人入?。軐崿F(xiàn)散客和團體客戶入住,團體入住可選擇多間不同類型的房間,并在這些房間中選擇一個作為主房間號)</p><p> 客戶信息錄入(在訂單生成頁面將錄入客戶信息,團體客戶只記錄一位主客戶信息,而不需所有客戶依次登記)</p><p&
13、gt; 入住押金管理(押金設(shè)為住宿總費用的百分之五十,在開入住訂單時系統(tǒng)自動計算并顯示)</p><p><b> 信息管理: </b></p><p> 預(yù)訂和入住訂單查詢(可按訂單號、客戶身份證號、入住類型查詢)</p><p> 團體訂單細則(對團體訂單中每一個房間信息顯示)</p><p> 修改預(yù)訂訂
14、單和入住訂單(可修改主客的基本信息及訂單信息)</p><p> 取消預(yù)訂訂單(直接刪除預(yù)訂訂單,恢復(fù)房間的可用狀態(tài))</p><p> 將預(yù)訂訂單直接轉(zhuǎn)為入?。ㄊ∪チ嗽俅紊扇胱∮唵蔚某绦颍?lt;/p><p> 房間查詢(可按照房間號、房間類型、房間狀態(tài)查詢)</p><p> 客戶查詢(可按照客戶姓名、客戶身份證號、入住類型查詢)&
15、lt;/p><p> 入住客戶中途換房(只能換同種類型房間,消費金額不變)</p><p> 入住客戶正常退房(根據(jù)入住時間計算消費金額,最后客戶應(yīng)繳費用為總費用與已交押金之差)</p><p> (3)管理員功能:除了前臺接待的功能之外,還包括</p><p> 房間信息設(shè)定及修改(包括客房類型,客房分機號,樓層,備注)</p&g
16、t;<p> 個人信息修改(包括個人密碼,聯(lián)系方式,住址)</p><p> 增加客房類型(包括類型號,單價,床位數(shù),房間設(shè)施,面積等)</p><p> 增加客房信息(包括房間號,房間類型,房間分機,樓層,備注)</p><p> (4)酒店介紹等信息:</p><p> 介紹酒店的地址,房間價格標準,聯(lián)系電話等信息
17、</p><p><b> 三、 系統(tǒng)定義</b></p><p><b> 3.1 系統(tǒng)邊界</b></p><p><b> 3.2 用戶視圖</b></p><p><b> 前臺服務(wù)員</b></p><p> 散
18、客客房預(yù)訂與入住前的房間查詢</p><p> 散客預(yù)訂生成訂單,錄入客戶基本信息</p><p> 散客入住生成訂單,錄入客戶基本信息</p><p> 團體客房預(yù)訂與入住前房間查詢,設(shè)置主房間號</p><p> 團體預(yù)訂生成訂單,錄入主客戶基本信息</p><p> 團體入住生成訂單,錄入主客戶基本信息
19、</p><p><b> 預(yù)訂訂單信息查詢</b></p><p><b> 預(yù)訂訂單修改</b></p><p> 團體預(yù)訂訂單所有房間信息細則</p><p><b> 取消預(yù)訂訂單</b></p><p><b> 入住訂單信
20、息查詢</b></p><p><b> 入住訂單修改</b></p><p> 團體入住訂單所有房間信息細則</p><p><b> 客房信息查詢</b></p><p><b> 客戶信息查詢</b></p><p><b
21、> 入住換房管理</b></p><p> 入住正常退房及消費結(jié)賬管理</p><p><b> 后臺管理員</b></p><p><b> 后臺管理員登陸</b></p><p><b> 管理員個人功能主頁</b></p><
22、;p><b> 個人信息修改</b></p><p><b> 增加客房類型</b></p><p><b> 增加客房信息</b></p><p><b> 修改已有客房信息</b></p><p><b> 四、需求分析<
23、;/b></p><p> 4.1 用戶需求分析</p><p> 4.1.1 數(shù)據(jù)需求</p><p><b> 前臺服務(wù)員用戶視圖</b></p><p> 預(yù)訂信息:預(yù)訂訂單號(唯一),客戶身份證號,客戶姓名,主客房間號,預(yù)訂房間數(shù),入住類型(散客/團體),預(yù)訂時間,入住時間,入住天數(shù),主客電話。&l
24、t;/p><p> 預(yù)訂登記:預(yù)訂登記號(唯一),所屬預(yù)訂訂單號,房間號,房間類型號,房間類型,預(yù)訂時間,入住時間,入住天數(shù),房間單價。</p><p> 入住信息:入住訂單號(唯一),客戶身份證號,客戶姓名,主客房間號,預(yù)訂房間數(shù),入住類型(散客/團體),入住時間,入住天數(shù),主客電話,房間總費用,需收押金。</p><p> 入住登記:入住登記號(唯一),所屬入
25、住訂單號,房間號,房間類型號,房間類型,預(yù)訂時間,入住時間,入住天數(shù),房間單價。</p><p> 客戶信息:客戶身份證號(唯一),客戶姓名,客戶電話,性別,備注</p><p> 客房信息:房間號,房間類型號,房間類型(標準間/高級套房/普通單間/總統(tǒng)套房),房間狀態(tài)(可用/預(yù)訂/入?。?,樓層,分機號,備注</p><p> 換房信息:房間號,房間類型,客戶
26、姓名,客戶身份證號,訂單號</p><p> 退房信息:訂單號,客戶姓名,客戶身份證號,入住時間,入住天數(shù),房間單價,已交押金,房間總費用,還需繳納費用</p><p><b> 后臺管理員用戶視圖</b></p><p> 管理員登陸:管理員賬號,管理員密碼</p><p> 管理員個人信息維護:管理員姓名,管
27、理員賬號,管理員密碼,聯(lián)系電話,住址,職務(wù)</p><p> 增加房間類型:房間類型號,房間類型名稱,房間單價,床位數(shù),面積,房間設(shè)施</p><p> 增加客房:房間號,房間類型,房間狀態(tài),樓層,分機,備注</p><p> 4.1.2 事務(wù)需求</p><p><b> 前臺服務(wù)員視圖:</b></p&
28、gt;<p> 數(shù)據(jù)查詢:現(xiàn)有各類房間的詳細信息以供預(yù)訂或入住</p><p> 列出已有所有預(yù)訂訂單</p><p> 列出已有所有入住訂單</p><p> 列出所有客房信息(可用/已住/預(yù)訂)</p><p> 列出所有客戶信息(預(yù)訂/入住)</p><p> 列出某客戶的訂單情況<
29、;/p><p> 列出某團體的所有登記房間情況</p><p> 列出需要換房的房間信息以及所有同種類型當前可用房間信息</p><p> 列出需要退房的房間信息,已交金額及需交金額</p><p><b> 顯示酒店詳細信息</b></p><p> 數(shù)據(jù)錄入:錄入客戶需要的房間信息(選擇
30、房間類型及房間數(shù)目)</p><p> 錄入客戶的基本信息(姓名,身份證號,電話等)</p><p> 錄入訂單信息(時間,入住天數(shù))</p><p> 錄入訂單修改信息(修改預(yù)訂及入住訂單,及取消訂單)</p><p><b> 錄入換房信息</b></p><p><b>
31、 錄入退房信息</b></p><p> 數(shù)據(jù)輸出:輸出酒店現(xiàn)有有所類型房間的數(shù)目</p><p> 自動輸出預(yù)訂訂單及入住訂單的訂單號和登記號(每一個訂單有一個訂單號,一個訂單中的每個房間有一個登記號,一個登記號對應(yīng)一個訂單號,一個訂單號對應(yīng)一個或多個登記號。訂單號和登記號按系統(tǒng)時間自動生成)</p><p> 自動輸出退房信息,退房所需交的金
32、額</p><p><b> 后臺管理員視圖</b></p><p> 數(shù)據(jù)錄入:錄入管理員賬號,密碼</p><p> 錄入個人修改信息(密碼,電話,住址)</p><p> 錄入新增加房間類型(類型號,類型名稱,單價等)</p><p> 錄入新增加房間信息(房間號,房間類型,分機,
33、樓層)</p><p> 錄入已有房間修改信息(房間號,房間類型等)</p><p> 數(shù)據(jù)查詢:列出現(xiàn)有所有房間信息</p><p><b> 列出個人所有信息</b></p><p> 列出修改后的房間信息</p><p> 數(shù)據(jù)輸出:輸出增加的房間類型</p><
34、;p><b> 輸出增加的房間信息</b></p><p> 4.2 系統(tǒng)需求說明</p><p> 4.2.1 軟件環(huán)境</p><p> 軟件環(huán)境需要支持Window操作系統(tǒng),及SQL Server 2000商業(yè)數(shù)據(jù)庫</p><p> 4.2.2 硬件環(huán)境</p><p>
35、 Inter(R)Core(TM)2 Duo CPU T5670 1.80GHz 1.79 GHz, 504MB內(nèi)存</p><p> 4.2.3 初始數(shù)據(jù)庫大小</p><p><b> 客房信息40條</b></p><p><b> 員工信息4條</b></p><p><
36、b> 客戶信息15條</b></p><p><b> 預(yù)訂訂單信息8條</b></p><p><b> 入住訂單信息7條</b></p><p><b> 預(yù)訂登記信息15條</b></p><p><b> 入住登記信息15條<
37、/b></p><p> 4.2.4 數(shù)據(jù)庫增長速度</p><p> 住宿信息每天增長大約50條</p><p> 預(yù)訂信息每天增長大約50條</p><p> 退宿信息每天增長大約30條</p><p> 換房信息每天增長大約10條</p><p> 其他信息增長速度不定&
38、lt;/p><p> 4.2.5記錄查找的類型和平均數(shù)量</p><p> 查詢客房信息 大約每天50次</p><p> 查詢住宿信息 大約每天50次</p><p> 查詢客戶信息 大約每天50次</p><p> 查詢退宿信息 大約每天50次</p><p><b>
39、4.2.6 安全性</b></p><p> 管理員和服務(wù)員有不同的權(quán)限</p><p> 每個管理員登錄系統(tǒng)是需要身份驗證(前臺服務(wù)員不需要)</p><p><b> 五、數(shù)據(jù)庫邏輯設(shè)計</b></p><p><b> 5.1 ER圖</b></p><
40、p><b> 5.2 數(shù)據(jù)字典</b></p><p> 5.2.1實體和聯(lián)系屬性</p><p> 客房信息(房間號,房間類型號,房間類型,房間狀態(tài),樓層,房間分機,備注)</p><p> 房間類型(房間類型號,類型名稱,房間單價,面積,床位數(shù),房間設(shè)施)</p><p> 客戶信息(身份證號,客戶姓
41、名,聯(lián)系電話,性別,備注)</p><p> 預(yù)訂訂單(預(yù)訂訂單號,主客姓名,主客身份證號,主客房間號,入住類型,房間數(shù)目,預(yù)訂時間,入住時間,入住天數(shù),客戶電話)</p><p> 預(yù)訂登記表(預(yù)訂登記號,所屬預(yù)訂訂單號,房間號,房間類型號,房間類型,預(yù)訂時間,入住時間,入住天數(shù),入住類型,房間單價)</p><p> 入住訂單(入住訂單號,主客姓名,主客身
42、份證號,主客房間號,入住類型,房間數(shù)目,入住時間,入住天數(shù),客戶電話,房間總費用,需交押金)</p><p> 入住登記表(入住登記號,所屬入住訂單號,房間號,房間類型號,房間類型,入住時間,入住天數(shù),入住類型,房間單價)</p><p> 團體入住信息(團體入住訂單號,主客姓名,主客身份證號,客戶人數(shù),主客房間號,入住時間,入住天數(shù),主客電話,房間總費用,需收押金)</p>
43、;<p> 管理員(管理員賬號,密碼,管理員姓名,職位,聯(lián)系電話,住址)</p><p><b> 5.2.2屬性描述</b></p><p><b> 5.3關(guān)系表</b></p><p><b> 六、數(shù)據(jù)庫物理設(shè)計</b></p><p><b
44、> 6.1 索引</b></p><p> 使用查詢分析器運行:</p><p> USE 酒店管理系統(tǒng)</p><p> DBCC SHOWCONTIG WITH TABLERESULTS, ALL_INDEXES</p><p> 可以得到“酒店管理系統(tǒng)”數(shù)據(jù)庫中全部索引的相關(guān)信息,其中用戶所建表的部分信息如下
45、:</p><p><b> 以上都是主鍵索引。</b></p><p><b> 6.2 安全機制</b></p><p> (1)后臺管理員登錄必須要通過身份驗證,當數(shù)據(jù)庫中有此賬號并且權(quán)限與用戶類型一致是,才能成功登錄。保證了系統(tǒng)的安全性。</p><p> (2)前臺工作人員沒有權(quán)利
46、訪問經(jīng)理的工作空間,對一些賓館的基本信息和重要數(shù)據(jù),如房間類型、客房信息,沒有全部查詢或者修改的權(quán)利。保證了數(shù)據(jù)的安全性。</p><p><b> 七、應(yīng)用程序設(shè)計</b></p><p><b> 7.1 功能模塊</b></p><p><b> 前臺服務(wù)員</b></p>
47、<p> 散客的預(yù)訂和入住房間</p><p> 可按照房間類型(如單人間,標準間等)選擇房間,該房間必須為空閑,即未被預(yù)訂,并且目前無人入住的房間,登記客戶的基本信息,包括客戶姓名、電話、登記入住時間、預(yù)定時間。</p><p> 在預(yù)訂后,會自動生成一個訂單號和一個登記號,客房狀態(tài)即為“預(yù)訂”,從而在其他客戶登記查詢房間的時候此房間不會被查詢到。同時,如果客戶在預(yù)訂訂單
48、中的入住時間之后三天仍未到達,則視為放棄,此時房間狀態(tài)恢復(fù)“可用”。</p><p> (2)團體的預(yù)訂和入住登記</p><p> 頁面首先顯示酒店現(xiàn)在剩余的各類空閑房間數(shù),客戶可選擇其中的各種類型數(shù)目,并設(shè)定一個主房間。</p><p> 登記入住客戶的基本信息,包括客戶姓名、通訊地址、電話、登記預(yù)定時間和入住時間以及準備入住天數(shù),對于已經(jīng)預(yù)定過房間的情況
49、,根據(jù)房間號直接找出其預(yù)定信息,修改需變動的信息后做入住登記。</p><p> 每一個訂單有一個訂單號,一個訂單中包括了該團體中的所有房間,且每個房間有一個登記號。即一個訂單對應(yīng)多個登記號,一個登記號只對應(yīng)一個訂單號。</p><p> 團體預(yù)訂只需記錄主客的姓名電話等信息即可。入住之后的房間狀態(tài)為“已住”,從而在其他客戶登記查詢房間的時候此房間不會被查詢到。</p>
50、<p><b> ?。?)退宿結(jié)賬</b></p><p> 根據(jù)訂單號查詢客戶的入住訂單信息,包括住宿天數(shù)、退宿時間,根據(jù)單價、已交押金和入住天數(shù)等信息自動計算費用。</p><p><b> ?。?)入住換房</b></p><p> 根據(jù)房間號可查詢到該房間及訂單的所有信息,同時會顯示該類房間的其他剩余
51、房間,選擇其中一間確定換房后,訂單表和登記表中的數(shù)據(jù)都會改變。</p><p> ?。?)房間管理與查詢</p><p> 查詢預(yù)訂訂單:可以直接查詢所有訂單,也可根據(jù)訂單號、主客身份證號,入住類型查詢。對每一個訂單,可以顯示其登記的所有房間信息。</p><p> 修改預(yù)訂訂單:可以對預(yù)訂訂單中的客戶信息和預(yù)訂信息修改,其中客戶信息包括除了身份證號之外的所有信
52、息,預(yù)訂信息包括入住天數(shù)和入住時間。</p><p> 查詢?nèi)胱∮唵危嚎梢灾苯硬樵兯杏唵危部筛鶕?jù)訂單號、主客身份證號,入住類型查詢。對每一個訂單,可以顯示其登記的所有房間信息。</p><p> 修改入住訂單:可以對入住訂單中的客戶信息和預(yù)訂信息修改,其中客戶信息包括除了身份證號之外的所有信息,預(yù)訂信息包括入住天數(shù)和入住時間。</p><p> 查詢房間信
53、息:可以直接查詢所有房間的房間號,房間狀態(tài),房間樓層,房間類型等信息,也可以根據(jù)房間號,房間類型,房間狀態(tài)查詢。</p><p> 查詢客戶信息:可以直接查詢所有客戶,也可以根據(jù)客戶姓名,客戶身份證號,訂單類型查找。</p><p><b> ?。?)關(guān)于我們</b></p><p> 對酒店的簡介及聯(lián)系方式等信息。</p>
54、<p><b> 后臺管理員 </b></p><p><b> 高級管理</b></p><p> 查詢、增加、刪除、修改客房信息,還包括修改個人信息,修改密碼等功能。</p><p> 修改房間的各項數(shù)據(jù)信息,包括房間號、房間類型、位置、狀態(tài)、備注。</p><p> 修改
55、個人信息,包括個人登錄密碼,聯(lián)系方式,住址等。</p><p><b> 房間類型維護</b></p><p> 增加房間類型信息,包括類型號、名稱、面積、床位數(shù)、設(shè)施(是否有沙發(fā)、是否有電視、是否有電話、是否有衛(wèi)生間),房間價格。對該類信息的修改只有高級管理員才有權(quán)限。</p><p><b> 7.2 界面設(shè)計</b&
56、gt;</p><p> 使用了Netbeans設(shè)計界面。</p><p><b> 主界面</b></p><p> 散客預(yù)訂與入住界面:選擇房間類型可以查詢當前剩余此類房間數(shù)</p><p> 生成預(yù)訂訂單。點擊預(yù)訂,自動生成預(yù)訂訂單號和登記號。</p><p> 生成入住訂單。點擊
57、入住,自動生成入住訂單號和登記號,及需交押金。</p><p> 團體預(yù)訂與入住。選擇房間類型,點擊添加可以增加房間,并可以設(shè)定一個主房間。</p><p> 生成預(yù)訂訂單和入住訂單,填寫客戶信息。</p><p> 查詢訂單信息,可以全部查詢,按訂單號、主客身份證號,入住類型查詢。</p><p> 點擊詳情,可查看該訂單的詳細登記
58、信息</p><p> 點擊修改,可以修改預(yù)訂訂單,也可以取消訂單</p><p> 查詢?nèi)胱∮唵?,和預(yù)訂訂單類似。</p><p><b> 入住信息修改</b></p><p> 查詢房間信息和客戶信息</p><p> 換房。輸入房間號可查詢同類房間,點擊確定可以換房。</p
59、><p> 退房結(jié)賬。輸入訂單號可以顯示應(yīng)繳金額。</p><p><b> 管理員登陸界面</b></p><p> 點擊修改,可以顯示自己個人信息并修改。</p><p> 點擊增加,可以增加房間類型和房間信息。</p><p> 輸入房間號或房間類型,可以查詢房間信息。修改房間信息后選
60、擇確定修改。</p><p><b> 酒店簡介。</b></p><p><b> 7.3 事務(wù)設(shè)計</b></p><p> 自動生成訂單號和登記號。</p><p> public static synchronized String nextCode(String PREFIX) {
61、//產(chǎn)生序列號</p><p> GregorianCalendar calendar=new GregorianCalendar();</p><p> int month=calendar.get(Calendar.MONTH)+1; </p><p> int day =calendar.get(Calendar.DAY_OF_MONTH); </
62、p><p> int hour =calendar.get(Calendar.HOUR_OF_DAY); </p><p> int minute =calendar.get(Calendar.MINUTE); </p><p> int seconds =calendar.get(Calendar.SECOND); </p><p>
63、long m =month*100000000 + day*1000000 + hour*10000 + minute * 100 + seconds;</p><p> String n = ((Long)m).toString();</p><p> return PREFIX + n ;</p><p><b> }</b><
64、/p><p> 調(diào)用時預(yù)訂訂單參數(shù)為“a”,入住訂單為“b”。登記號為入住號加后綴。</p><p> //需要自動生成散客入住訂單號和登記號</p><p> Xuliehao xulie=new Xuliehao();</p><p> comeno=xulie.nextCode("b");//訂單號</p&
65、gt;<p> registerno=comeno+"0";//登記號</p><p> //需要自動生成團體入住訂單號和登記號</p><p> Xuliehao xulie=new Xuliehao();</p><p> comeno=xulie.nextCode("b");//訂單號</p&
66、gt;<p> registerno=new String[message.length];//登記號</p><p> registerno[i]=comeno+String.valueOf(i);</p><p> 自動計算現(xiàn)在剩余各類房間數(shù)目</p><p> private String rest(String typno){</
67、p><p> String sql1="select count(房間號) from 客房信息 where 房間狀態(tài)='可用' and 房間類型號='"+typno+"'";</p><p> String rest=null;</p><p> ResultSet a;</p>
68、<p><b> try {</b></p><p> sc=new DBconnect();</p><p> stat=DBconnect.getStatement();</p><p> a=stat.executeQuery(sql1);</p><p> while(a.next()){r
69、est=a.getString(1);}</p><p> //System.out.print(a);</p><p> } catch (SQLException e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p
70、><p><b> }</b></p><p> return rest;</p><p><b> }</b></p><p> 自動計算退房時應(yīng)繳金額</p><p><b> try {</b></p><p>
71、PreparedStatement prs = conn.prepareStatement("select 需收押金 from 入住訂單 where 入住訂單號=?");</p><p> prs.setString(1, ordno);</p><p> rs1=prs.executeQuery();</p><p> while(rs1
72、.next()){</p><p> deposit=rs1.getString(1).trim();//已交押金</p><p><b> }</b></p><p> } catch (SQLException e1) {</p><p> e1.printStackTrace();</p>&
73、lt;p><b> }</b></p><p> System.out.println(deposit);</p><p> String allfare=jTable1.getValueAt(0, 6).toString().trim();//總費用</p><p> int need=Integer.parseInt(allf
74、are)-Integer.parseInt(deposit);//還需繳納</p><p> 換房后,房間狀態(tài)改變</p><p><b> try {</b></p><p> PreparedStatement prs1 = conn.prepareStatement("update 入住訂單 set 主客房間號=? whe
75、re 主客房間號=?");</p><p> prs1.setString(1, newroom);</p><p> prs1.setString(2, roomno);</p><p> prs1.executeUpdate();</p><p> PreparedStatement prs = conn.prepare
76、Statement("update 入住登記表 set 房間號=? where 房間號=?");</p><p> prs.setString(1, newroom);</p><p> prs.setString(2, roomno);</p><p> prs.executeUpdate();</p><p>
77、 PreparedStatement prs2 = conn.prepareStatement("update 客房信息 set 房間狀態(tài)='可用' where 房間號=?");</p><p> prs2.setString(1, roomno);</p><p> prs2.executeUpdate();</p><p>
78、; PreparedStatement prs3 = conn.prepareStatement("update 客房信息 set 房間狀態(tài)='已住' where 房間號=?");</p><p> prs3.setString(1, newroom);</p><p> prs3.executeUpdate();</p><p
79、> JOptionPane.showMessageDialog(null, "換房成功!","ok",JOptionPane.INFORMATION_MESSAGE);</p><p> } catch (SQLException e1) {</p><p> JOptionPane.showMessageDialog(null, &qu
80、ot;換房失??!","Error",JOptionPane.ERROR_MESSAGE);</p><p> e1.printStackTrace();}</p><p><b> 八、測試和運行</b></p><p> 測試:在測試時花時間最多的地方時sql語句。有時候一個小小的引號沒有中英切換就要出錯,
81、或者是在preparedStatement語句中用setString時候可能會把序號寫錯。出錯以后就不得不反復(fù)用System.out.println()語句檢測,并且用查詢分析器檢測sql語句是否正確。</p><p> 在測試中也發(fā)現(xiàn)當條件語句檢測比如jTextField是否為空的時候,用“==null”是檢測不出來的,就要不斷上網(wǎng)搜查資料。在測試中也發(fā)現(xiàn)有很多沒有想到的情況,比如在輸入客房訂單信息時,不僅要
82、考慮所有客戶信息不能為空,還要考慮入住天數(shù)不能小于一,入住時間要晚于預(yù)訂時間等等。可能需要很多條件語句,而條件語句嵌套的多了,就容易出問題。</p><p> 實驗進行中我的想法一直跟著做的程度變化。因為最開始的時候不可能將所有的情況和事件都料想到。比如roommanage的類中,在查詢窗口中我一直沒有確定到底按照哪種方式查詢。本來設(shè)想了很多jTextField可以供不同的條件查詢,可是測試的時候發(fā)現(xiàn)這樣的出錯
83、率很高,于是將它改成了一個下拉列表,選擇查詢方式再按照條件查詢。不僅界面變得簡潔并且錯誤也解決了。這些大大小小的錯誤需要不斷看,不斷調(diào)試,所以調(diào)試在實驗中占了很大一部分。</p><p> 運行:當所有模塊基本都完成了之后,每個界面之間加好跳轉(zhuǎn)語句,可以從mainframe串一遍。真正這樣連起來模擬真實的預(yù)訂系統(tǒng)的時候,卻可以發(fā)現(xiàn)設(shè)計的時候沒有想到的很多細節(jié)問題。比如散客預(yù)訂入住界面轉(zhuǎn)到訂單界面時候,前一個頁面
84、是不消失的,在訂單頁面點擊返回可以直接繼續(xù)查詢。而團體預(yù)訂入住界面是不行的,因為添加的房間是不可以取消的,只能讓這個頁面先setvisible(false)然后點擊返回的時候再設(shè)為true。</p><p> 有些界面需要傳參數(shù)然后賦給某個組件。這個賦值的過程有時候會使面板上的組件位置移動,界面也弄的很難看。由于界面是從netbeans畫好導(dǎo)入到eclipse中的,遇到這種錯誤的時候只能在netbeans中改好
85、再復(fù)制到eclipse中。這種方法是最笨的方法,卻是比較省時的一種。</p><p><b> 九、總結(jié)</b></p><p> 這個程序從概念模型和ER圖設(shè)計,到建立數(shù)據(jù)庫,到界面設(shè)計,再到代碼實現(xiàn)和測試運行,都是我獨立完成的。這其實也是我第一次完全自己做好的一個課程設(shè)計。這個過程讓我在兩個星期內(nèi)學(xué)到了很多東西,不論是知識還是素養(yǎng)。</p>&l
86、t;p> 由于編程經(jīng)驗不足,在這個過程中也花了很多時間學(xué)習基本的函數(shù),方法和語句。只有不斷上網(wǎng)查詢,看API,借書看,與同學(xué)討論。同時也深刻了解到一個完善的設(shè)計想法和需求分析是多么重要。在寫代碼之前,一定要很仔細地想好這個系統(tǒng)要實現(xiàn)哪些功能,怎么實現(xiàn),最好用筆寫下來。就是因為最初設(shè)計沒有想周到和全面,寫代碼過程中經(jīng)常出現(xiàn)一邊修改設(shè)計一邊編寫的情況,浪費了許多時間,也弄的有一點混亂,到最后也有一些功能沒有加到里面。</p&g
87、t;<p> 在編碼的過程中,由于開始總是報錯,檢查的原因是if條件語句的嵌套邏輯結(jié)構(gòu)總是沒有設(shè)計好。后來稍微有點經(jīng)驗時就在編寫之前把邏輯順序?qū)懺诩埳希@樣不僅更清晰明了,還節(jié)約了時間,提高了效率。</p><p> 我覺得這個系統(tǒng)讓我最滿意的是界面足夠美觀。在顏色,位置分配上自己也是有一點修飾,相比來說這是我的長項。但是我對這個系統(tǒng)有很多不滿意的地方。比如我認為它的穩(wěn)定性還不是很好,有些地方的
88、容錯性能還有待完善。</p><p> 功能上我認為還有很大提升的空間,我現(xiàn)在只是完成了一些酒店系統(tǒng)基本的功能,和真正的預(yù)訂系統(tǒng)還有很大的差距。這一方面歸于開始設(shè)計的時候沒有加,在一方面也是時間有點緊迫。我可以在報告交了之后,抽時間將這個系統(tǒng)改善一下,增加一些模塊和功能。比如會員信息,客戶評價模塊,管理員的功能可以再加多一點,還有退宿提醒,酒店其他消費等等。</p><p> 當獨立做
89、完這個系統(tǒng)之后, 發(fā)現(xiàn)原來編程其實不是一件很困難的事,關(guān)鍵要看設(shè)計的怎么樣。我還會繼續(xù)完善這個系統(tǒng),也感謝在幾個周內(nèi)這個課程設(shè)計帶給我的充實。</p><p><b> 附. 參考文獻</b></p><p> JAVA核心技術(shù)機械工業(yè)出版社</p><p> Java程序設(shè)計之網(wǎng)絡(luò)編程.第2版 清華大學(xué)出版社</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計---賓館客房信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----賓館客房信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----賓館客房信息管理系統(tǒng)設(shè)計
- 數(shù)據(jù)庫課程設(shè)計報告--學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計報告-宿舍信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告--教室信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--賓館管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---賓館管理系統(tǒng)
- 航空售票信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告
- 圖書信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計---宿舍信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--教室信息管理系統(tǒng).
- 數(shù)據(jù)庫課程設(shè)計--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計---學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計-員工信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--顧客信息管理系統(tǒng)
- sql數(shù)據(jù)庫(學(xué)生信息管理系統(tǒng))課程設(shè)計報告
- 數(shù)據(jù)庫課程設(shè)計課程設(shè)計論文-醫(yī)院信息管理數(shù)據(jù)庫設(shè)計
- 數(shù)據(jù)庫課程設(shè)計---客戶信息管理系統(tǒng)
評論
0/150
提交評論