楊優(yōu)優(yōu) 鄭向陽(yáng)
摘 要:通過對(duì)中小型賓館管理系統(tǒng)的背景、現(xiàn)狀等方面的研究,了解到中小型賓館的相關(guān)信息,使用Java語(yǔ)言,以MyEclipse為研發(fā)工具,把SQL Server2012作為后臺(tái)數(shù)據(jù)庫(kù),研究并開發(fā)了中小型賓館管理系統(tǒng)。整個(gè)系統(tǒng)由基礎(chǔ)數(shù)據(jù)添加、基礎(chǔ)數(shù)據(jù)管理、詳細(xì)信息了解和用戶管理4大模塊組成,主要完成的功能有以下5個(gè)方面:入住管理、退房管理、換房管理、客人管理、結(jié)算管理。該系統(tǒng)操作簡(jiǎn)單,功能詳全,無須管理員具備一定的計(jì)算機(jī)相關(guān)知識(shí),有效地提高了管理員的工作效率。
關(guān)鍵詞:Java; 賓館管理系統(tǒng); SQL Server數(shù)據(jù)庫(kù)
Abstract: By the investigation on the background and current situation of small and medium-sized hotel management system, small and medium-sized hotel information has been clearly understood. Using the Java language, taking MyEclipse as development tool, SQL Server2010 as the background database, the small and medium-sized hotel management system is researched and realized. The whole system consists of such four modules as basic data adding, basic data management, the detailed information inquiry and user management; mainly to complete the following five functions: check-in and check-out management, people management, room-changing management, visitor management and settlement management. The system is easy to operate and fully functional. It does not require the administrator to have certain computer knowledge, which effectively improves the efficiency of the administrator.
Key words: Java; hotel management system; SQL Server database
1 背景
近年來,國(guó)內(nèi)旅游業(yè)發(fā)展迅猛,出現(xiàn)了很多新興的中小型賓館產(chǎn)業(yè)。賓館之間競(jìng)爭(zhēng)十分激烈,如何在如此激烈的競(jìng)爭(zhēng)下獲得更大的經(jīng)濟(jì)利益,國(guó)內(nèi)的賓館產(chǎn)業(yè)面臨著未有的機(jī)遇和挑戰(zhàn)。在賓館行業(yè)中,賓館管理是其中很重要的一部分。然而,現(xiàn)在仍存在著由大量人員來進(jìn)行操作和管理的現(xiàn)象。現(xiàn)如今是一個(gè)信息化的大時(shí)代,這種老舊的賓館管理模式已然跟不上時(shí)代的發(fā)展。因此,要想提高賓館的工作質(zhì)量和工作效率,必須采取先進(jìn)的管理方式。據(jù)調(diào)查發(fā)現(xiàn),中小型賓館的人員大多流動(dòng)速度快,但管理人員缺乏,不方便管理,統(tǒng)計(jì)繁瑣容易出錯(cuò),時(shí)間、人力和物力大量浪費(fèi)。為了解決相關(guān)問題,開發(fā)一個(gè)操作簡(jiǎn)單,功能完善,界面明了的中小型賓館管理系統(tǒng)很有必要。采用計(jì)算機(jī)管理系統(tǒng),能夠幫助賓館提高其服務(wù)質(zhì)量和經(jīng)濟(jì)效益,不但簡(jiǎn)化了各種復(fù)雜操作,減輕了管理員的工作壓力,提高了管理工作的速度與準(zhǔn)確率,而且系統(tǒng)中的數(shù)據(jù)更加安全、持久,不相關(guān)人員沒有權(quán)限,無權(quán)篡改相關(guān)內(nèi)容,具有較高的安全性。管理員只需點(diǎn)擊頁(yè)面操作鍵盤,就可以辦理客人入住、換房、退房、結(jié)賬等各種程序。管理系統(tǒng)會(huì)自動(dòng)準(zhǔn)確無誤地記錄客人的相關(guān)記錄,無須客人花大量的時(shí)間辦理相關(guān)手續(xù),便利了雙方,大大提高了服務(wù)質(zhì)量,使系統(tǒng)更加規(guī)范化、自動(dòng)化。因此,研究與開發(fā)中小型賓館管理系統(tǒng)至關(guān)重要。
2 開發(fā)工具
2.1 Java簡(jiǎn)介
Java是一種面向?qū)ο蟮挠?jì)算機(jī)編程語(yǔ)言,用于開發(fā)跨平臺(tái)應(yīng)用軟件。Java編程語(yǔ)言相較于其它編程語(yǔ)言突出特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,具有較高的效率,從而提高了整個(gè)編程的可操作性。Java編程語(yǔ)言具有平臺(tái)獨(dú)立性,因此其應(yīng)用范圍比較廣泛,能夠應(yīng)用于跨平臺(tái)軟件開發(fā)。Java編程語(yǔ)言的另一個(gè)突出特點(diǎn)是面向?qū)ο蟆2坏珪?huì)大幅度地減少軟件編程的工作量,而且編程人員編寫時(shí)更為便利,繁瑣程度會(huì)明顯降低。當(dāng)軟件測(cè)試存在問題時(shí),編程人員無需對(duì)軟件進(jìn)行整體改動(dòng),這樣就大大地提高了工作效率,具有較高的靈活性。同時(shí),Java編程語(yǔ)言的高安全性和高可靠性可以幫助系統(tǒng)審核外來數(shù)據(jù)的訪問,避免數(shù)據(jù)的破壞和丟失,從而提升了軟件的安全性能。使用Java編程語(yǔ)言編寫程序可以明顯提高軟件開發(fā)的質(zhì)量。Java編程具備其它編程語(yǔ)言沒有的獨(dú)特特點(diǎn),使其能夠應(yīng)用于更廣的領(lǐng)域。
2.2 SQL Server數(shù)據(jù)庫(kù)簡(jiǎn)介
SQL Server數(shù)據(jù)庫(kù)是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。該數(shù)據(jù)庫(kù)的主要特點(diǎn)是高性能設(shè)計(jì)。SQL語(yǔ)句能夠執(zhí)行更新、提取數(shù)據(jù)庫(kù)數(shù)據(jù)等各種多方面的操作。該數(shù)據(jù)庫(kù)系統(tǒng)管理先進(jìn),可以支持本地以及遠(yuǎn)程的系統(tǒng)配置和管理,使用起來方便,具有較好的可伸縮性。該數(shù)據(jù)庫(kù)具有強(qiáng)大的事務(wù)處理能力,能夠保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)的完整性,具有一定的安全性,可以用于多種平臺(tái)使用。該數(shù)據(jù)庫(kù)的系統(tǒng)支持二進(jìn)制關(guān)鍵詞和關(guān)鍵索引,大幅度地加快了查詢速度,數(shù)據(jù)庫(kù)能夠提供支持XML的各種格式。此外,SQL Server 數(shù)據(jù)庫(kù)具備的數(shù)據(jù)庫(kù)解決方案高效,可用于處理海量的數(shù)據(jù),該數(shù)據(jù)庫(kù)提供的函數(shù)比較豐富,與一些其它的數(shù)據(jù)庫(kù)相比,該數(shù)據(jù)庫(kù)的性能更強(qiáng)一些。
3.1 系統(tǒng)分析
實(shí)際應(yīng)用中,本系統(tǒng)只對(duì)管理人員開放,方便管理人員對(duì)每天的賓館信息包括客人入住信息、客房信息、換房信息、退房信息、結(jié)賬信息等進(jìn)行快速管理,以便日后查看相關(guān)數(shù)據(jù)。從系統(tǒng)安全性角度分析:
(1)每位管理員都有自己對(duì)應(yīng)的用戶名、賬號(hào)和密碼。
(2)管理員可修改自己的相關(guān)密碼。
(3)為了防止泄漏客人信息,操作平臺(tái)給每位客人設(shè)置了編號(hào),只有管理員才能操作,防止其它人員盜取或篡改客人信息。
(4)采用視圖,將客人表和入住表結(jié)合,方便管理員查詢。
3.2 系統(tǒng)設(shè)計(jì)
通過調(diào)研考查及用戶需求分析,給出中小型賓館管理系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)如圖1所示。
(1)基礎(chǔ)數(shù)據(jù)添加模塊?;A(chǔ)數(shù)據(jù)添加模塊主要包括6個(gè)功能:客人添加、客房添人、入住添加、換房添加、退房添加、收費(fèi)添加。
(2)基礎(chǔ)數(shù)據(jù)管理模塊。基礎(chǔ)數(shù)據(jù)添加模塊主要包括6個(gè)功能:客人信息修改與刪除、客房信息修改與刪除、入住信息修改與刪除、換房信息修改與刪除、退房信息修改與刪除、收費(fèi)信息修改與刪除。
(3)詳情信息了解模塊。詳情信息了解模塊主要功能是介紹酒店的相關(guān)信息,以及已體驗(yàn)顧客對(duì)該賓館的點(diǎn)評(píng),幫助顧客進(jìn)一步了解該賓館。
(4)用戶管理模塊。用戶管理模塊主要功能是用戶信息管理。
3.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
在管理系統(tǒng)過程中,數(shù)據(jù)庫(kù)至關(guān)重要。數(shù)據(jù)庫(kù)應(yīng)包含常用的表、索引、示圖、觸發(fā)器、完整的數(shù)據(jù)庫(kù),用來存儲(chǔ)、讀取、修改、觸發(fā)完成.net的一切需求。根據(jù)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)分析創(chuàng)建7張表:用戶表(yonghu)、客房表(room)、客人表(custmer)、入住表(checkin)、換房表(roomchange)、退房表(checkout)、收費(fèi)記錄表(fee)。
系統(tǒng)中主要的實(shí)體對(duì)象是管理員、客人、客房和賬單。中小型賓館管理系統(tǒng)概念模型如圖2所示。
4 系統(tǒng)詳細(xì)設(shè)計(jì)
4.1 界面設(shè)計(jì)
界面設(shè)計(jì)是接口設(shè)計(jì)的一個(gè)重要組成部分,界面的質(zhì)量將會(huì)直接決定用戶對(duì)軟件的接受程度,因此界面設(shè)計(jì)時(shí)應(yīng)更簡(jiǎn)單友好,直接了當(dāng)。下面介紹2個(gè)主要界面。
4.1.1 系統(tǒng)主界面
當(dāng)管理員進(jìn)入登錄界面,輸入正確的賬號(hào)和密碼后進(jìn)入系統(tǒng)主頁(yè)面。該系統(tǒng)色彩基調(diào)輕松,簡(jiǎn)潔明了,標(biāo)題欄由基礎(chǔ)數(shù)據(jù)添加、基礎(chǔ)數(shù)據(jù)管理、詳細(xì)信息了解和系統(tǒng)維護(hù)4個(gè)模塊組成。賓館管理系統(tǒng)主界面如圖3所示。
4.1.2 查詢界面
由于該系統(tǒng)查詢界面較多,此處只列出客人信息查詢界面。當(dāng)點(diǎn)擊進(jìn)入客人信息查詢界面后,在客人姓名欄中輸入客人的姓名,點(diǎn)擊查詢按鈕即可得到該客人相關(guān)信息,此處亦可支持模糊查詢。得到相關(guān)信息后,如果客人想要換房可點(diǎn)擊下方修改按鈕,即可修改信息,同時(shí)上方的客人相關(guān)信息也會(huì)隨之更新;如果客人想要退房也可點(diǎn)擊下方刪除按鈕,即可刪除信息,此條信息作廢。賓館管理系統(tǒng)客人信息查詢界面如圖4所示。
4.2 代碼設(shè)計(jì)
由于系統(tǒng)代碼比較多,此處只列出管理員登錄程序的部分代碼:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String userName = this.jTextField1.getText();
String passWord = this.jPasswordField1.getText();
if (StringUtil.isEmpty(userName)) {
JOptionPane.showMessageDialog(null, "用戶名不能為空!");
}
if (StringUtil.isEmpty(passWord)) {
JOptionPane.showMessageDialog(null, "密碼不能為空!");
}
userDao = new UserDao();
User user = new User();
user.setUserName(userName);
user.setPassWord(passWord);
User resultUser = userDao.login(user);
//Boolean b1=userDao.login(userName,passWord);
if (resultUser != null) {
int a = JOptionPane.showConfirmDialog(null, "確定進(jìn)入管理系統(tǒng)嗎"+ resultUser.getUserId());
if (a == 0) {
new MainFrm().setVisible(true);
this.dispose();
}
} else {
JOptionPane.showMessageDialog(null, "密碼錯(cuò)誤或用戶不存在!");
}
}
這段代碼主要體現(xiàn)了系統(tǒng)登錄的實(shí)現(xiàn)過程。先從數(shù)據(jù)庫(kù)中獲取相關(guān)字段,如未輸入字段,則輸出用戶名不能為空或密碼不能為空;在系統(tǒng)確認(rèn)輸入字段后,再判斷是否與數(shù)據(jù)庫(kù)字段匹配,不匹配則輸出密碼錯(cuò)誤或用戶名不存在,匹配則輸出確定進(jìn)入系統(tǒng)嗎,點(diǎn)擊確定按鈕,進(jìn)入系統(tǒng)主頁(yè)面,點(diǎn)擊取消則重新回到登錄頁(yè)面。
5 結(jié)束語(yǔ)
系統(tǒng)測(cè)試結(jié)果表明系統(tǒng)主要功能均已達(dá)到要求、速度安全性及可靠性和其它性能發(fā)面也能滿足要求。與此同時(shí),還進(jìn)行了系統(tǒng)界面測(cè)試,確保界面排版無誤,友好明了。通過這次系統(tǒng)測(cè)試,發(fā)現(xiàn)了系統(tǒng)依然存在很多不足,后續(xù)將會(huì)繼續(xù)找出這些不足的地方的根源,并且修改這些缺陷。隨著時(shí)間的推移以及技術(shù)方面的更新,將進(jìn)一步地完善和優(yōu)化該系統(tǒng),做到與時(shí)俱進(jìn)。
參考文獻(xiàn)
[1] 左康康. 計(jì)算機(jī)軟件JAVA編程特點(diǎn)及技術(shù)研究[J]. 電腦迷,2017(3):107.
[2] 周讓明. 基于計(jì)算機(jī)軟件開發(fā)的JAVA編程語(yǔ)言探討[J]. 科技風(fēng),2016(8):28.
[3] 郝平. 基于JavaEE的學(xué)生社團(tuán)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 信息與電腦(理論版),2018(3):103-104,107.
[4] 呂洪林. 小型賓館管理系統(tǒng)開發(fā)[J]. 信息安全與技術(shù),2015,6(10):74-76.
[5] 杜麗娟,賈延明. 基于Java的小型賓館管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù),2016,12(35):68-70.
[6] 徐曉君,鄭煌平. 基于JSP的眾籌平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦編程技巧與維護(hù),2018(3):83-85.