數(shù)據(jù)庫課程設(shè)計酒店管理系統(tǒng)必過版_第1頁
數(shù)據(jù)庫課程設(shè)計酒店管理系統(tǒng)必過版_第2頁
數(shù)據(jù)庫課程設(shè)計酒店管理系統(tǒng)必過版_第3頁
數(shù)據(jù)庫課程設(shè)計酒店管理系統(tǒng)必過版_第4頁
數(shù)據(jù)庫課程設(shè)計酒店管理系統(tǒng)必過版_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

計算機科學(xué)與工程學(xué)院課程設(shè)計報告設(shè)計名稱:《數(shù)據(jù)庫原理與應(yīng)用》課程設(shè)計設(shè)計題目:酒店管理系統(tǒng)設(shè)計與開發(fā)學(xué)生學(xué)號:專業(yè)班級:學(xué)生姓名:學(xué)生成績:指導(dǎo)教師(職稱):完成時間:計算機科學(xué)與工程學(xué)院制說明:1、報告中的第一、二、三項由課程設(shè)計負責(zé)人在課程設(shè)計開始前填寫并發(fā)給每個學(xué)生;四、五兩項(中英文摘要)由學(xué)生在完成課程設(shè)計后填寫。2、學(xué)生成績由指導(dǎo)教師根據(jù)學(xué)生的設(shè)計情況給出各項分值及總評成績。3、指導(dǎo)教師評語一欄由指導(dǎo)教師就學(xué)生在整個課程設(shè)計期間的表現(xiàn)、設(shè)計完成情況、報告的質(zhì)量等方面給出客觀、全面的評價。4、訓(xùn)練報告正文字數(shù)應(yīng)不少于3000字,也可由指導(dǎo)教師根據(jù)本門課程設(shè)計的具體情況酌情增加字數(shù)或內(nèi)容。5、平時表現(xiàn)成績低于6分的學(xué)生,其課程設(shè)計成績按不及格處理。6、此表格式為武漢工程大學(xué)計算機科學(xué)與工程學(xué)院提供的基本格式(適用于學(xué)院各項課程設(shè)計),各教研室可根據(jù)本項課程設(shè)計的特點及內(nèi)容做適當(dāng)?shù)恼{(diào)整,并上報學(xué)院批準(zhǔn)。\成績評定表學(xué)生姓名:學(xué)號:班級:類別合計分值各項分值評分標(biāo)準(zhǔn)實際得分合計得分備注平時表現(xiàn)1010遵守學(xué)習(xí)紀(jì)律,表現(xiàn)良好,積極完成課程設(shè)計任務(wù),無曠課、遲到、早退等情況。設(shè)計完成情況4020按照要求完成設(shè)計內(nèi)容,方案合理,功能完善,設(shè)計工作量飽滿,能運用專業(yè)知識和技能去發(fā)現(xiàn)與解決實際問題。20在設(shè)計過程中展現(xiàn)出了較強的學(xué)習(xí)能力、動手實踐能力、團隊協(xié)作能力和創(chuàng)新意識。報告質(zhì)量5015報告格式規(guī)范,表述清晰,章節(jié)內(nèi)容組織恰當(dāng)。符號統(tǒng)一,圖表完備,符合規(guī)范要求。參考文獻數(shù)量在5篇以上,格式及引用符合要求。15報告內(nèi)容翔實,結(jié)構(gòu)嚴謹合理。課題背景介紹清楚,綜述充分。設(shè)計與實現(xiàn)等主要過程完整,論述具體透徹。能運用所學(xué)專業(yè)知識對問題加以分析和求解。無抄襲現(xiàn)象。20設(shè)計報告對整個設(shè)計過程進行了全面總結(jié),體現(xiàn)了收獲,得出了有價值的結(jié)論或結(jié)果。總評成績指導(dǎo)教師評語指導(dǎo)教師:(簽字)日期:年月日一、課程設(shè)計目的、條件、任務(wù)和內(nèi)容要求:《數(shù)據(jù)庫原理與應(yīng)用》是專業(yè)基礎(chǔ)課,數(shù)據(jù)庫技術(shù)廣泛應(yīng)用于計算機的多個發(fā)展方向上。在學(xué)好數(shù)據(jù)庫理論的同時,我們有必要掌握數(shù)據(jù)庫設(shè)計的方法?!稊?shù)據(jù)庫原理與應(yīng)用》課程設(shè)計是數(shù)據(jù)庫教學(xué)中的實踐環(huán)節(jié),是對該課程知識的綜合應(yīng)用。通過設(shè)計,使學(xué)生鞏固所學(xué)的理論基礎(chǔ)知識,掌握數(shù)據(jù)庫設(shè)計的全過程和方法,培養(yǎng)學(xué)生編寫技術(shù)文檔及開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的能力。提高學(xué)生獨立分析問題、解決問題的能力,鍛煉和加強學(xué)生的動手能力。設(shè)計任務(wù)書提供三個設(shè)計題目供學(xué)生選擇(原則上選擇每個題目的人數(shù)不超過10人)。在指導(dǎo)教師同意的情況下,學(xué)生也可以自己選擇感興趣的設(shè)計題目,以調(diào)動學(xué)生的積極性和創(chuàng)造性,給學(xué)生充分的自主空間。設(shè)計內(nèi)容要求:(1)通過系統(tǒng)的功能分析和數(shù)據(jù)分析進行系統(tǒng)的功能模塊設(shè)計,數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(E-R圖),數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫中的表、視圖、存儲過程、函數(shù)的結(jié)構(gòu)和定義。(2)報告還要包括程序的運行環(huán)境、開發(fā)環(huán)境、程序的詳細設(shè)計(主要功能實現(xiàn)的程序源代碼)。(3)后臺數(shù)據(jù)庫選用SQLSERVER,前臺開發(fā)工具不限,可自己選擇VB、VC、JAVA等都可以。建議條件允許的情況下選擇JAVA。(4)整個課程設(shè)計期間,要求學(xué)生必須與指導(dǎo)老師經(jīng)常保持聯(lián)系,其中幾個主要階段都要經(jīng)指導(dǎo)老師審閱,一是為了及時發(fā)現(xiàn)問題,防止出現(xiàn)原則錯誤,二是便于指導(dǎo)老師掌握學(xué)生獨立完成設(shè)計的情況。二、進度安排:數(shù)據(jù)庫原理課程設(shè)計共計3周內(nèi)完成,共計20個學(xué)時。第l3周下達課程設(shè)計任務(wù)書,并對每個課程任務(wù)進行詳細的講解。并且第13周開始進行系統(tǒng)調(diào)研,完成需求分析,包括數(shù)據(jù)分析和功能分析;第14-16周完成數(shù)據(jù)庫設(shè)計、數(shù)據(jù)庫實施和應(yīng)用程序設(shè)計;第16周周三下午7-8節(jié)檢查課程設(shè)計完成情況。提交報告時間:第16周周四下午。三、應(yīng)收集資料及主要參考文獻:1.錢雪忠主編《數(shù)據(jù)庫原理及應(yīng)用》[M]北京郵電大學(xué)出版社2007.8第二版2.BainT著《SQLserver2000數(shù)據(jù)倉庫與AnalysisServices》[M]中國電力出版社20033.王珊主編《數(shù)據(jù)庫系統(tǒng)概論》[M]高等教育出版社2014年第五版4.王世東.鄭力.張智海等.基于Web的模板式公文審批系統(tǒng)[J].計算機應(yīng)用研究.2007.Vol.24(6):289-291.5.蔡劍景楠JavaWeb應(yīng)用開發(fā):J2EE和Tomcat[M].北京:清華大學(xué)出版社,2004.6.陳雄華Spring企業(yè)級應(yīng)用開發(fā)詳解[M]北京:電子工業(yè)出版社2009

四、摘要:現(xiàn)代化的酒店組織龐大、服務(wù)項目多、信息量大、要想提高效率、降低成本、提高服務(wù)質(zhì)量和管理水平,進而促進經(jīng)濟效益,必須利用電腦網(wǎng)絡(luò)技術(shù)處理賓館酒店經(jīng)營數(shù)據(jù),實現(xiàn)酒店現(xiàn)代化的信息管理。本次課程設(shè)計利用JSP語言和SQLServer2014以及apache-tomcat-8.0.24設(shè)計了一個簡單酒店管理系統(tǒng)數(shù)據(jù)庫的WEB應(yīng)用。本次課程設(shè)計實現(xiàn)的酒店管理系統(tǒng)采用了MVC分層設(shè)計、B/S網(wǎng)絡(luò)結(jié)構(gòu)模式、JDBC數(shù)據(jù)庫連接驅(qū)動和JSTL標(biāo)簽等。采用這些技術(shù)設(shè)計出的系統(tǒng),具有層次分明、結(jié)構(gòu)清晰、實現(xiàn)簡單、任務(wù)明確、便于修改和維護等優(yōu)點。該系統(tǒng)采用JSP應(yīng)用開發(fā)技術(shù),具有一些預(yù)定客房、查詢、增加客房、刪除客房、退房、預(yù)定等功能,而且本系統(tǒng)全部基于因特網(wǎng),以JSP語言對網(wǎng)站進行開發(fā),注重用戶與網(wǎng)站的交互性,也便于功能的更新和拓展。關(guān)鍵字:酒店管理;JAVA;JDBC;數(shù)據(jù)庫五、Abstract:Modernhotelhavealargeorganization,manyservicesandmoreinformation.Inordertoimproveefficiency,reducecost,improveservicequalityandmanagementlevel,thuspromotingeconomicefficiency.Itmustbeusedcomputernetworktechnologydealwithhotelsoperatingdatatoachievethehotel'smoderninformationmanagement.ThecoursedesignusingJSPlanguage,SQLServer2014andapache-tomcat-8.0.24designedasimplehotelmanagementsystemdatabaseofWEBapplication.ThecoursedesignofhotelmanagementsystemusestheMVClayereddesign,B/Snetworkstructuremodel,theJDBCconnectiontothedatabasedriverandJSTLtagsandetc.Usingthesetechnicaldesignedofthesystem,hasthedistinct,clearstructure,simpleimplementation,taskclear,easytomodifyandmaintainandetc.ThesystemusesJSPapplicationdevelopmenttechnology,withsomepre-rooms,query,add,delete,check-out,reservationsandotherfunctions.AndallInternet-basedsystemtoJSPlanguagewebsitedevelopment,focusingonuserinteractionwiththesite,butalsoeasytoupdateandexpandthefunctionality.Keywords:Hotelmanagement;JAVA;JDBC;Database目錄TOC\o"1-2"\h\u目錄 I摘要 IIAbstract III第一章設(shè)計概述 11.1課題背景 11.2設(shè)計任務(wù) 11.3基本理論依據(jù) 21.4課題的目的和意義 2第二章設(shè)計簡介及設(shè)計方案論述 42.1開發(fā)環(huán)境簡介 42.2設(shè)計簡介及方案 52.3數(shù)據(jù)庫設(shè)計 7第三章詳細設(shè)計 123.1數(shù)據(jù)庫連接 123.2添加功能 13第四章設(shè)計結(jié)果及分析 154.1登錄功能測試及分析 154.2客房類型管理測試及分析 164.3客房信息管理測試及分析 194.4客房經(jīng)營管理測試及分析 194.5用戶管理測試及分析 20總結(jié) 22致謝 23參考文獻 24摘要現(xiàn)代化的酒店組織龐大、服務(wù)項目多、信息量大、要想提高效率、降低成本、提高服務(wù)質(zhì)量和管理水平,進而促進經(jīng)濟效益,必須利用電腦網(wǎng)絡(luò)技術(shù)處理賓館酒店經(jīng)營數(shù)據(jù),實現(xiàn)酒店現(xiàn)代化的信息管理。本次課程設(shè)計利用JSP語言和SQLServer2014以及apache-tomcat-8.0.24設(shè)計了一個簡單酒店管理系統(tǒng)數(shù)據(jù)庫的WEB應(yīng)用。本次課程設(shè)計實現(xiàn)的酒店管理系統(tǒng)采用了MVC分層設(shè)計、B/S網(wǎng)絡(luò)結(jié)構(gòu)模式、JDBC數(shù)據(jù)庫連接驅(qū)動和JSTL標(biāo)簽等。采用這些技術(shù)設(shè)計出的系統(tǒng),具有層次分明、結(jié)構(gòu)清晰、實現(xiàn)簡單、任務(wù)明確、便于修改和維護等優(yōu)點。該系統(tǒng)采用JSP應(yīng)用開發(fā)技術(shù),具有一些預(yù)定客房、查詢、增加客房、刪除客房、退房、預(yù)定等功能,而且本系統(tǒng)全部基于因特網(wǎng),以JSP語言對網(wǎng)站進行開發(fā),注重用戶與網(wǎng)站的交互性,也便于功能的更新和拓展。關(guān)鍵字:酒店管理;MVC;JDBC;數(shù)據(jù)庫AbstractModernhotelhavealargeorganization,manyservicesandmoreinformation.Inordertoimproveefficiency,reducecost,improveservicequalityandmanagementlevel,thuspromotingeconomicefficiency.Itmustbeusedcomputernetworktechnologydealwithhotelsoperatingdatatoachievethehotel'smoderninformationmanagement.ThecoursedesignusingJSPlanguage,SQLServer2014andapache-tomcat-8.0.24designedasimplehotelmanagementsystemdatabaseofWEBapplication.ThecoursedesignofhotelmanagementsystemusestheMVClayereddesign,B/Snetworkstructuremodel,theJDBCconnectiontothedatabasedriverandJSTLtagsandetc.Usingthesetechnicaldesignedofthesystem,hasthedistinct,clearstructure,simpleimplementation,taskclear,easytomodifyandmaintainandetc.ThesystemusesJSPapplicationdevelopmenttechnology,withsomepre-rooms,query,add,delete,check-out,reservationsandotherfunctions.AndallInternet-basedsystemtoJSPlanguagewebsitedevelopment,focusingonuserinteractionwiththesite,butalsoeasytoupdateandexpandthefunctionality.Keywords:Hotelmanagement;JAVA;JDBC;Database第一章設(shè)計概述1.1課題背景 隨著社會的進步、服務(wù)行業(yè)的不斷發(fā)展,賓館、酒店的服務(wù)行業(yè)的信息量和工作量的日益變大,傳統(tǒng)的人工管理方式已經(jīng)遠遠不能滿足現(xiàn)代賓館酒店的管理需求,經(jīng)分析傳統(tǒng)的方式有如下缺陷:記錄查詢不方便;數(shù)據(jù)維護效率低下;數(shù)據(jù)不易保管,容易丟失和出錯;管理酒店的資源信息不方便;酒店業(yè)務(wù)拓展不方便;管理復(fù)雜;對各種信息反應(yīng)緩慢,容易喪失商機。為了彌補以上缺陷和考慮到旅游度假和商務(wù)旅行已經(jīng)成為人們的一種生活需求,利用電腦網(wǎng)絡(luò)技術(shù)處理賓館酒店經(jīng)營數(shù)據(jù),已經(jīng)成為提高企業(yè)管理效率,改善服務(wù)的關(guān)鍵。采用先進的計算機網(wǎng)絡(luò)通信技術(shù)改變傳統(tǒng)的酒店業(yè)務(wù)模式,實現(xiàn)酒店業(yè)務(wù)管理的自動化已經(jīng)成為一種必然。1.2設(shè)計任務(wù)本課程設(shè)計設(shè)計出的酒店數(shù)據(jù)管理系統(tǒng)主要是為了解決傳統(tǒng)的酒店業(yè)務(wù)模式,實現(xiàn)現(xiàn)代化信息管理。在本課程設(shè)計中將采用MVC設(shè)計模式、Java編程語言、JSTL標(biāo)簽、SQLServer數(shù)據(jù)庫及其開發(fā)工具、JSP網(wǎng)頁編程語言和Tomcat服務(wù)器。本課程設(shè)計的主要任務(wù)和要求是:用戶登錄。通過身份驗證后,進入系統(tǒng)首頁。未通過驗證,給出登錄錯誤信息。用戶為客人辦理入住登記。用戶可以為客戶進行退房操作。用戶可以查詢住店客人的各種相關(guān)的詳細信息。用戶可以對酒店的客房類型進行操作。包括對新客房類型的添加和對原客房類型的修改??梢詫频甑姆块g進行操作。對新房間的增、刪、改。可以對酒店客房狀態(tài)進行修改操作。可為客人進行房間的預(yù)定操作??稍O(shè)定條件對酒店客房信息進行查詢,如客房房態(tài)、客房預(yù)訂情況等。用戶可修改登錄密碼。1.3基本理論依據(jù) 酒店信息化管理,就是將原先用紙質(zhì)材料保存的數(shù)據(jù)通過數(shù)據(jù)庫進行存儲。利用數(shù)據(jù)庫進行數(shù)據(jù)管理有如下優(yōu)點:實現(xiàn)數(shù)據(jù)共享;減少數(shù)據(jù)冗余度;數(shù)據(jù)獨立性;數(shù)據(jù)實現(xiàn)集中控制;數(shù)據(jù)一致性和可維護性,以確保數(shù)據(jù)的安全性和可靠性;故障恢復(fù)。通過數(shù)據(jù)庫還只能進行數(shù)據(jù)的存儲,而且需要通過SQL語句進行操作。顯然,這對于非專業(yè)人員來說,并不是一件簡單的事,因為對于數(shù)據(jù)庫進行操作需要對數(shù)據(jù)庫中所建立的表以及他們之間的邏輯關(guān)系有一定的了解,才能對數(shù)據(jù)庫進行操作,而且不當(dāng)?shù)牟僮鲿茐臄?shù)據(jù)庫的安全性,所以需要開發(fā)相關(guān)的應(yīng)用或軟件進行操作,軟件和應(yīng)用具有直觀的界面,容易理解和操作。在本次課程設(shè)計中開發(fā)的是一個基于因特網(wǎng)的WEB應(yīng)用,WEB應(yīng)用程序的一個最大好處是用戶容易訪問應(yīng)用程序。用戶只需要有瀏覽器即可,不需要再安裝其他軟件,就可以對數(shù)據(jù)庫進行操作。1.4課題的目的和意義 在市場經(jīng)濟的激烈的競爭情況下,對酒店整個來說,多經(jīng)營狀況起決定作用的是酒店的服務(wù)管理水平。如何利用先進的管理手段來提高酒店的管理水平成為酒店業(yè)務(wù)發(fā)展的當(dāng)務(wù)之急。面對信息時代的機遇和挑戰(zhàn),利用科技手段提高酒店的管理無疑是一條行之有效的途徑。雖然計算機管理并不是酒店走向成功的關(guān)鍵元素,但它可以最大限度的發(fā)揮準(zhǔn)確、快捷、高效等作用,對酒店的業(yè)務(wù)管理提供強有力的支持??偨Y(jié)歸納:計算機有三大優(yōu)勢:節(jié)省大量資源,提高效率;加快信息傳遞,保障信息安全;節(jié)省勞力,方便管理。從而給酒店行業(yè)帶來在線信息查詢,在線需要預(yù)定、在線業(yè)務(wù)處理等等遍歷,實現(xiàn)流暢的工作流銜接,幫助酒店有效的進行業(yè)務(wù)管理,釋放最大價值。第二章設(shè)計簡介及設(shè)計方案論述2.1開發(fā)環(huán)境簡介2.1.1EclipseEclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。2.1.2Java語言 Java是由SunMicrosystems公司推出的Java面向?qū)ο蟪绦蛟O(shè)計語言(以下簡稱Java語言)和Java平臺的總稱。由JamesGosling和同事們共同研發(fā),并在1995年正式推出。Java最初被稱為Oak,是1991年為消費類電子產(chǎn)品的嵌入式芯片而設(shè)計的。1995年更名為Java,并重新設(shè)計用于開發(fā)Internet應(yīng)用程序。用Java實現(xiàn)的HotJava瀏覽器(支持Javaapplet)顯示了Java的魅力:跨平臺、動態(tài)Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展,常用的瀏覽器均支持JavaApplet。另一方面,Java技術(shù)也不斷更新。Java自面世后就非常流行,發(fā)展迅速,對C++語言形成有力沖擊。。Java語言是當(dāng)前最流行的網(wǎng)絡(luò)編程語言,與C++語言相比,有其特殊的優(yōu)點,如簡單性,平臺無關(guān)性、面對對象、分布式、安全性、支持多線程、健壯性、動態(tài)性等。2.1.3SQLServer數(shù)據(jù)庫 SQLServer是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個OS/2版本。在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚鑣了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上,專注于開發(fā)推廣SQLServer的WindowsNT版本。Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應(yīng)用。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫管理系統(tǒng),該版本繼承了SQLServer7.0版本的優(yōu)點,同時又比它增加了許多更先進的功能。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點,可跨越從運行MicrosoftWindows98的膝上型電腦到運行MicrosoftWindows2000的大型多處理器的服務(wù)器等多種平臺使用。本次課程設(shè)計使用的SQLServer2014。2.2設(shè)計簡介及方案2.2.1總體設(shè)計本系統(tǒng)采用MVC框架進行分層設(shè)計,MVC全名是ModelViewController,是模型(model)—視圖(view)—控制器(controller)的縮寫,是一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面。在本系統(tǒng)中,視圖用JSP頁面實現(xiàn),控制器用Servlet和Filter實現(xiàn),其中Filter用于實現(xiàn)安全控制,比如訪問頁面只能從登錄頁面進行登錄并且成功登錄后才能進行訪問,業(yè)務(wù)邏輯用Java代碼實現(xiàn),主要過程如下圖2.1所示。用戶用戶Servlet(C)JSP頁面(V)業(yè)務(wù)邏輯方法(M)數(shù)據(jù)庫輸入顯示業(yè)務(wù)處理請求返回處理結(jié)果調(diào)用業(yè)務(wù)邏輯方法返回結(jié)果數(shù)據(jù)庫操作Filter進行安全控制(C)圖2.1本系統(tǒng)的MVC分層模型 在圖2.1中,用戶通過瀏覽器訪問JSP頁面,通過頁面上的功能控件提交業(yè)務(wù)請求到控制層,控制層通過區(qū)分不同的業(yè)務(wù)請求調(diào)用不同的業(yè)務(wù)邏輯處理方法,業(yè)務(wù)邏輯處理通過對數(shù)據(jù)庫的操作,得到結(jié)果并傳送到控制層,控制層將處理結(jié)果通過JSP頁面顯示給用戶,這樣就完成了一次完整的業(yè)務(wù)處理過程。這個過程對用戶來說是透明的,簡化了用戶操作,頁面的顯示方式,便于用戶理解和操作。 JSP頁面采用JSTL標(biāo)簽,使得JSP頁面代碼中沒有出現(xiàn)一行Java代碼,與HTML標(biāo)簽保持了一致,便于JSP頁面的查看、修改以及編寫。JSP標(biāo)準(zhǔn)標(biāo)簽庫(JSPStandardTagLibrary,JSTL)是一個實現(xiàn)Web應(yīng)用程序中常見的通用功能的定制標(biāo)記庫集,這些功能包括迭代和條件判斷、數(shù)據(jù)管理格式化、XML操作以及數(shù)據(jù)庫訪問。JSTL具有如下優(yōu)點:在應(yīng)用程序服務(wù)器之間提供了一致的接口,最大程度的提高了WEB應(yīng)用在各應(yīng)用服務(wù)器之間的移植。簡化了JSP和WEB應(yīng)用程序的開發(fā)。2.2.2功能設(shè)計酒店管理系統(tǒng)根據(jù)酒店的運行管理方式以及課程設(shè)計要求,可分析出酒店管理系統(tǒng)的功能圖為如下圖2.2所示。酒店管理系統(tǒng)客房經(jīng)營管理客房經(jīng)營管理登錄注冊管理客房信息管理客房類型管理登錄注冊管理預(yù)定/退訂查詢記錄查詢客房客房刪除客房修改新增客房預(yù)定/退訂查詢記錄查詢客房客房刪除客房修改新增客房新增類型新增類型修改密碼修改密碼類型修改類型修改類型刪除類型刪除入住/退房入住/退房圖2.2酒店管理功能圖2.3數(shù)據(jù)庫設(shè)計2.3.1數(shù)據(jù)庫概念設(shè)計 通過對酒店的運行管理流程進行分析,該酒店管理流程中,旅客、客房以及客房類型是實體,由于還需要管理人員,所以管理人員也是實體,由此可以的出該系統(tǒng)的E-R圖,如下圖2.3所示用戶用戶namepass圖2.3數(shù)據(jù)庫系統(tǒng)E-R圖2.3.2數(shù)據(jù)庫物理結(jié)構(gòu)設(shè)計由圖2.3可以得出該系統(tǒng)的物理結(jié)構(gòu)如下:創(chuàng)建數(shù)據(jù)庫旅客信息表房間信息表房間類型表根據(jù)實際需求需要創(chuàng)建視圖2.3.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計 由2.3.2節(jié)的相關(guān)信息,可以建立如下邏輯結(jié)構(gòu)表。表2-1旅客信息表列名數(shù)據(jù)類型長度能否為空說明姓名varchar20否姓名證件類型varchar10否證件類型證件號varchar20否證件ID(主鍵)電話varchar20是電話表2-2房間類型表列名數(shù)據(jù)類型長度能否為空說明客房類型varchar20否客房類型(主鍵)面積float4否客房面積床位int4否床位價格float4否價格折扣float4是折扣表2-3房間信息表列名數(shù)據(jù)類型長度能否為空說明房間號Int4否房間號(主鍵)狀態(tài)char2否狀態(tài)客房類型varchar20否客房類型(外鍵)表2-4入住表列名數(shù)據(jù)類型長度能否為空說明證件號varchar20否證件ID(外鍵)(主屬性)證件類型varchar10否證件類型(外鍵)(主屬性)房間號int4否房間號(外鍵)(主屬性)入住時間varchar50否入住時間離開時間varchar50否退房時間列明數(shù)據(jù)類型長度能否為空說明用戶名varchar50否用戶名,主鍵密碼varchar50否密碼表2-5登陸員表2.3.4數(shù)據(jù)庫建表 本系統(tǒng)通過UI界面建立數(shù)據(jù)庫,而后通過SQL語句進行建表和視圖以及建立登錄該系統(tǒng)的SQL賬戶,主要SQL語句如下:建立旅客信息表createtable旅客信息(姓名varchar(20)notnull,證件類型varchar(10)notnull,證件號varchar(20)notnull,電話varchar(20)null,primarykey(證件號,證件類型));建立房間類型表createtable房間類型(客房類型varchar(20)notnullprimarykey,面積floatnotnull,床位intnotnull,價格floatnotnull,折扣floatnull,);建立房間信息表createtable房間信息(房間號intnotnullprimarykey;狀態(tài)char(2)notnull,客房類型varchar(20)notnull,foreignkey(客房類型)references房間類型(客房類型));建立入住表createtable入住(證件號varchar(20)notnull,證件類型varchar(10)notnull,房間號intnotnull,入住時間varchar(50)null,離開時間varchar(50)null,primarykey(證件號,證件類型,房間號),foreignkey(證件號,證件類型)references旅客信息(證件號,證件類型),foreignkey(房間號)references房間信息(房間號));建立管理員表createtable管理員(namevarchar(50)notnullprimarykey,passvarchar(50));(6)SQL賬戶sp_addlogin'hotel','hotel','HOTEL';gosp_grantdbaccess'hotel','hotel';gosp_addrolememberdb_owner,'hotel';2.3.5數(shù)據(jù)庫關(guān)系圖如下圖2.4所示。圖2.4數(shù)據(jù)庫關(guān)系圖第三章詳細設(shè)計3.1數(shù)據(jù)庫連接 數(shù)據(jù)庫的連接主要是通過JDBC進行連接,JDBC是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序。具體代碼如下:packagedb;importjava.sql.*;publicclasssql{ publicstaticStringdriverName; publicstaticStringdbURL; publicstaticStringuserName; publicstaticStringuserPwd; publicstaticConnectiondbconn; publicbooleanflag=false; publicsql() { driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; dbURL="jdbc:sqlserver://:1433;DatabaseName=HOTEL"; } publicConnectionSqlOpen(Stringname,Stringpass)//建立連接 { userName=name; userPwd=pass; try { Class.forName(driverName); System.out.println("加載驅(qū)動成功!"); }catch(Exceptione){ e.printStackTrace(); System.out.println("加載驅(qū)動失?。?); returnnull; } try{ dbconn=DriverManager.getConnection(dbURL,userName,userPwd); this.flag=true; System.out.println("連接數(shù)據(jù)庫成功!"); }catch(Exceptione) { e.printStackTrace(); System.out.print("SQLServer連接失??!"); this.flag=false; returnnull; } returndbconn; } publicbooleanSqlClose()//關(guān)閉數(shù)據(jù)庫連接 { try{ dbconn.close(); }catch(Exceptione) { System.out.println("關(guān)閉失敗"); returnfalse; } returntrue; }}3.2添加功能if(conn.executeSql("insertinto酒店信息表values('"+身份證號.getText().toString()+"','"+姓名.getText().toString()+"','"+證件類型.getText().toString()+"','"+房間號.getText().toString()+"','"+聯(lián)系電話.getText().toString()+"','"+房型.getText().toString()+"','"+客房狀態(tài).getText().toString()+"','"+入住時間.getText().toString()+"')")){JOptionPane.showMessageDialog(null,"添加成功","溫馨提示",JOptionPane.INFORMATION_MESSAGE);mf.freshTable("select*from酒店信息表"); 身份證號.setText("");姓名.setText("");證件類型.setText("");房間號.setText("");聯(lián)系電話.setText("");房型.setText("");客房狀態(tài).setText("");入住時間.setText("");}else{JOptionPane.showMessageDialog(null,"添加失敗","溫馨提示",JOptionPane.INFORMATION_MESSAGE);}第四章設(shè)計結(jié)果及分析4.1登錄功能測試及分析用戶登錄首先需要進入登錄頁面,進行登錄,而且由于過濾器的存在用戶在未登錄是只能訪問登錄頁面,不然會跳出請先登錄的提示,點擊確認之后會自動跳轉(zhuǎn)到登錄頁面,具體結(jié)果如下圖4.1、圖4.2所示,從登錄界面登錄失敗后將出現(xiàn)圖4.3的頁面,當(dāng)用戶名和密碼正確時,將出現(xiàn)圖4.4所示頁面。圖4.1訪問控制圖圖4.4主界面圖4.2客房類型管理測試及分析 點擊主界面右側(cè)的數(shù)據(jù)編輯按鈕,將進入如圖4.5所示的頁面,出現(xiàn)功能選擇按鈕,然后單擊確定按鈕,將出現(xiàn)如圖4.6所示界面。點擊表中的修改,將跳轉(zhuǎn)到修改頁面,可以修改客房的類型,如圖4.8所示。點擊表中的刪除,可以刪除所在行的客房,限于篇幅就不貼出結(jié)果圖了。圖4.5房間類型管理界面圖4.6搜索結(jié)果圖4.7新增客房類型圖4.8客房類型更新4.3客房信息管理測試及分析點擊主界面上的客房信息管理按鈕將進入如圖4.9所示的頁面,在圖4.9中,可以同表上的搜索框,按客房狀態(tài)進行搜索。點擊表中的添加新房間按鈕將進入如圖4.10所示的頁面,可以進行新客房的添加,客房類型可以通過下列類表進行選擇,客房的初始狀態(tài)為“空”。表中的“修改”和“刪除”分別對應(yīng)不同的功能,限于篇幅,就不截圖了。4.4客房經(jīng)營管理測試及分析點擊主界面的添加酒店信息按鈕,將進入如圖4.10所示界面,然后點擊表中的添加可以進行客房的預(yù)定,如圖4.11所示,客房的預(yù)定和直接入住都需要登錄信息。在進行客房預(yù)定或直接入住時,如果入住日期或離開日期錯誤,將給出錯誤提示信息,如圖4.12所示。當(dāng)客房被預(yù)定之后,預(yù)定按鈕將變成退訂按鈕,當(dāng)客房已經(jīng)入住時,將不能被預(yù)定。點擊退訂按鈕時將進入圖4.13的確定是否退訂的頁面,當(dāng)點擊退房是將進入圖4.14所示的確定是否退房并結(jié)賬的頁面。點擊服務(wù)記錄查詢,可以看到旅客的住房和預(yù)定信息,如圖4.15所示。圖4.10客房經(jīng)營管理圖4.11客房預(yù)定4.5用戶管理測試及分析 點擊主界面中的添加用戶按鈕,將會顯示如圖4.12所示界面,輸入錯誤時,將顯示如圖4.13所示錯誤提示信息,當(dāng)輸入正確,打印出添加正確,圖4.13所示的錯誤提示信息,當(dāng)修改成功時將顯示圖4.14所示信息。圖4.12添加用戶圖4.13添加失敗提示圖4.14添加用戶成功總結(jié)通過這次的數(shù)據(jù)庫與程序設(shè)計課程設(shè)計的訓(xùn)練,初步了解了數(shù)據(jù)庫的設(shè)計方法和Java如何訪問數(shù)據(jù)庫并進行數(shù)據(jù)庫的后臺編程。這次設(shè)計我用到了MVC模式的設(shè)計和JSTL標(biāo)簽的使用,還有課堂上沒有講過的Java,雖然一開始感覺很陌生,但是到最后還是都慢慢掌握了。通過參照老師所給的例子,了解了很多Java方面的知識,比如如何訪問打開數(shù)據(jù)庫使用JDBC,如何運用Elicpsec等,這些知識都是第一次接觸,經(jīng)過多次運用之后,對它們都有所深入的了解,掌握如何運用它們。另外數(shù)據(jù)庫設(shè)計方面,通過此次訓(xùn)練能力也得到了稍微的提高,這也是第一次獨立設(shè)計數(shù)據(jù)庫,所以一開始有好多設(shè)計不完善的地方,有幾次都是不得不重新來過,后來經(jīng)過老師的指點后,數(shù)據(jù)庫表的設(shè)計才有所完善,同時也積累了些數(shù)據(jù)庫設(shè)計的經(jīng)驗。此次設(shè)計的酒店管理系統(tǒng)實現(xiàn)的功能還很有限,都是些基本的功能,還有很多改進完善的地方,比如分頁查詢,頁面美化等,這些功能等以后再添加了,因為這次課程設(shè)計時間有限,所以完成的功能也就很有限,但感覺收獲很大,很有成就感! 致謝非常感謝學(xué)院領(lǐng)導(dǎo)和老師給我們安排這一次的課程設(shè)計,這一次的課程設(shè)計鍛煉了我的編程能力,讓我熟悉了對數(shù)據(jù)庫的操作。通過本次課程設(shè)計,讓我熟悉了C/S模式的應(yīng)用開發(fā),學(xué)會了客戶服務(wù)設(shè)計思路和JSTL標(biāo)簽的使用。這次課程設(shè)計也讓我認識到,計算機其實也是一門注重實踐的課程,因為很多東西只有通過自己親手去實現(xiàn),才會體會其中的奧妙和樂趣。參考文獻[1]五金舟等.Java程序設(shè)計.北京:清華大學(xué)出版社,2014.[2]孫宇霞等.JavaWeb編程從基礎(chǔ)到應(yīng)用.北京:清華大學(xué)出版社,2014.[3]向勁松,韓最蛟等.Java程序設(shè)計基礎(chǔ)與實訓(xùn)教程.成都:西南財經(jīng)大學(xué)出版社,2013.[4][美]RogersCadenhead.Java編程入門經(jīng)典.4版.梅興文譯.北京:人民郵電出版社,2007.[5]陳軼,姚.Java程序設(shè)計實驗指導(dǎo).北京:清華大學(xué)出版社,2006.[6]王路群.Java高級程序設(shè)計.北京:中國水利水電出版社,2006.[7]吳其慶.Java程序設(shè)計實例教程.北京:冶金工業(yè)出版社,2006.[8]施霞萍等.Java程序設(shè)計教程.2版.北京:機械工業(yè)出版社,2006.附錄:主要程序代碼sql.javapackagedb;importjava.sql.*;publicclasssql{ publicstaticStringdriverName; publicstaticStringdbURL; publicstaticStringuserName; publicstaticStringuserPwd; publicstaticConnectiondbconn; publicbooleanflag=false; publicsql() { driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; dbURL="jdbc:sqlserver://:1433;DatabaseName=HOTEL"; } publicConnectionSqlOpen(Stringname,Stringpass)//建立連接 { userName=name; userPwd=pass; try { Class.forName(driverName); System.out.println("加載驅(qū)動成功!"); }catch(Exceptione){ e.printStackTrace(); System.out.println("加載驅(qū)動失??!"); returnnull; } try{ dbconn=DriverManager.getConnection(dbURL,userName,userPwd); this.flag=true; System.out.println("連接數(shù)據(jù)庫成功!"); }catch(Exceptione) { e.printStackTrace(); System.out.print("SQLServer連接失??!"); this.flag=false; returnnull; } returndbconn; } publicbooleanSqlClose()//關(guān)閉數(shù)據(jù)庫連接 { try{ dbconn.close(); }catch(Exceptione) { System.out.println("關(guān)閉失敗"); returnfalse; } returntrue; }}main.jsp<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%@tagliburi="/jsp/jstl/core"prefix="c"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><title>MyJSP'main.jsp'startingpage</title> <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <!-- <linkrel="stylesheet"type="text/css"href="styles.css"> --></head><c:iftest="${requestScope.flag}"> <script>alert("登錄成功");</script></c:if><c:choose> <c:whentest="${sessionScope.flag==null||sessionScope.flag==false}"> <script>alert("請先登錄");</script> </c:when></c:choose><body><tablewidth="100%"height="100%"border="0"> <tr> <tdcolspan="2"align="center"><h1>酒店管理系統(tǒng)后臺</h1></td> </tr> <tr> <td> <table> 歡迎<fontsize="5"color="red">${sessionScope.username}</font>登陸<br> <hrsize="1px"> <strong>數(shù)據(jù)庫關(guān)系圖</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/show_picture.jsp';"value="數(shù)據(jù)庫關(guān)系圖"><br> </tr><hrsize="1px"> <strong>客房類型</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/RoomTypeSer?Status=firstRoomtype';"value="客房類型管理"><br> </tr><hrsize="1px"> <strong>客房信息</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/RoomSer?Status=firstRoom';"value="客房信息管理"><br> </tr><hrsize="1px"> <strong>客房經(jīng)營</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/RecordSer?Status=first';"value="客房經(jīng)營管理"><br> </tr> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/RecordSer?Status=second';"value="服務(wù)記錄查詢"><br> </tr><hrsize="1px"> <strong>用戶管理</strong><hrsize="1px"> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="document.getElementById('f1').src='/Hotel/changePass.jsp';"value="修改密碼"><br> </tr> <tr> <inputstyle="width:150px;height:25px;"type="button"onclick="alert('登出成功');window.location.href='/Hotel/LoginOutSer?Status=Logout';"value="登出"><br> </tr> <hrsize="1px"> <br><br><br><br><br><br><br><br><br> </table> </td> <tdwidth="90%"height="100%"> <iframeid="f1"src="/Hotel/show_picture.jsp"height="100%"width="100%"align="center"scrolling="yes"

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論