




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
┊┊┊┊┊┊┊┊┊┊┊┊┊裝┊┊┊┊┊訂┊┊┊┊┊線┊┊┊┊┊┊┊┊┊┊┊┊┊長春大學課程設計紙目錄29190一、設計題目 224103二、設計目的 219026三、設計分析 252723.1可行性分析 2266553.1.1技術上可行性 2313463.1.2操作上可行性 3289143.1.3經(jīng)濟上可行性 3185493.2系統(tǒng)功能分析 31687四、總體設計 3238394.1設計思想 3189234.2系統(tǒng)功能模塊 422554.3系統(tǒng)流程分析 4309744.4功能需求與程序模塊對應的關系 7112194.5數(shù)據(jù)庫結構設計 7110984.5.1系統(tǒng)數(shù)據(jù)庫性能需求 7159044.5.2本系統(tǒng)數(shù)據(jù)庫表設計中所遵守的基本原則 713944.5.3數(shù)據(jù)庫需求分析 8218874.5.4數(shù)據(jù)字典設計及數(shù)據(jù)庫表命名規(guī)則 817535五、詳細設計 1098475.1系統(tǒng)登陸界面 10200585.2添加住房信息功能 1074875.3住房信息查詢功能 1133475.4添加就餐信息功能 12223935.5就餐信息查詢功能 13236395.6結賬功能 1319587六、結論 1316092附錄(部分源代碼) 14共18頁第4頁一、設計題目酒店管理系統(tǒng)二、設計目的1.運用已學過的知識進行一個簡單的應用程序的開發(fā)。2.通過設計,掌握使用SSH技術、Java高級語言、SQL語言開發(fā)一個基于J2EE的應用系統(tǒng)的基本方法。后臺數(shù)據(jù)庫主要采用MySQLServer數(shù)據(jù)庫。3.基本掌握實現(xiàn)對數(shù)據(jù)庫的連接、對數(shù)據(jù)的查詢、修改、插入、刪除等操作。4.設計系統(tǒng)主界面,主界面上包括系統(tǒng)功能菜單。5.界面友好,操作方便。三、設計分析3.1可行性分析可行性研究的目的,就是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。要達到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統(tǒng)規(guī)模和目標是否現(xiàn)實,系統(tǒng)完成后所能帶來的效益是否達到值得投資開發(fā)這個系統(tǒng)的程度。因此,可行性研究實質(zhì)上是要進行一次大大壓縮簡化了的系統(tǒng)分析和設計的過程,也就是在較高層次上以較抽象的方式進行的系統(tǒng)分析和設計的過程。系統(tǒng)的可行性分析主要包括經(jīng)濟上的可行性,技術上的可行性和操作上的可行性,下面將分別介紹三種技術上的可行性。3.1.1技術上可行性酒店管理系統(tǒng)是采用Java語言編寫的,具有Java的一次編寫,到處運行的優(yōu)點,所以此系統(tǒng)在不同的操作系統(tǒng)上都可以運行,具有很強的移植性、健全性和安全性。并且酒店管理系統(tǒng)應具備功能完備、易于使用、易于維護等特點,而對于后者則要求能建立數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫?;谝訷YN開始登陸界面輸入賬號密碼驗證碼登錄信息正確選擇消費住宿消費就餐消費相關消費相關消費退出系統(tǒng)結束圖4-2系統(tǒng)流程圖系統(tǒng)E-R圖如圖4-3。11NN1N用戶名密碼操作員管理客房房間號入住日期單價住房信息編號入住賓客顧客ID姓名就餐餐廳餐桌號就餐信息編號服務者費用1圖4-3系統(tǒng)E-R圖
4.4功能需求與程序模塊對應的關系如表4-4。表4-4功能需求與程序模塊對應的關系住房信息添加住房信息查詢住房信息修改餐飲信息添加餐飲信息查詢餐飲信息修改住房結賬餐飲結賬客戶入住Y住房管理YY餐飲管理YYY結賬YY4.5數(shù)據(jù)庫結構設計4.5.1系統(tǒng)數(shù)據(jù)庫性能需求整個系統(tǒng)應當操作簡便,界面友好,維護簡便。數(shù)據(jù)庫要求運行穩(wěn)定,執(zhí)行速度快,數(shù)據(jù)安全性高。軟件系統(tǒng)本身運行對計算機硬件平臺和操作系統(tǒng)平臺要求適中。數(shù)據(jù)庫技術是信息資源管理最有效的手段。數(shù)據(jù)庫設計是指對于一個指定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應用系統(tǒng),有效存儲數(shù)據(jù),滿足用戶信息要求和處理要求。數(shù)據(jù)庫結構設計的好壞將直接對應用系統(tǒng)的效率及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫設計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。本系統(tǒng)采用Mysql數(shù)據(jù)庫,靈活方便。4.5.2本系統(tǒng)數(shù)據(jù)庫表設計中所遵守的基本原則系統(tǒng)時間:由數(shù)據(jù)庫產(chǎn)生的系統(tǒng)時間首選數(shù)據(jù)庫的日期型,如DATE類型。外部時間:由數(shù)據(jù)導入或外部應用程序產(chǎn)生的日期時間類型采用varchar類型,數(shù)據(jù)格式采用YYYYMMDDHH24MISS。大字段:如無特別需要,盡可能避免使用大字段(blob,clob,long,text,image等)4.5.3數(shù)據(jù)庫需求分析針對此適用于中小型酒店的酒店管理系統(tǒng)的需求,設計如下的數(shù)據(jù)項和數(shù)據(jù)結構:住房信息的輸入包括:房間號、客房編號、住房費用、住宿時間、開始日期等。顧客信息的輸入包括:顧客ID、顧客姓名等。用戶登錄信息的輸入包括:用戶名、用戶密碼、驗證碼等。餐廳信息的輸入包括:餐桌號、服務人員、就餐編號、就餐日期、就餐費用、客人房間號等。4.5.4數(shù)據(jù)字典設計及數(shù)據(jù)庫表命名規(guī)則本系統(tǒng)的數(shù)據(jù)庫共包含5張數(shù)據(jù)庫表,各個數(shù)據(jù)庫表字段的命名遵守見名知意的規(guī)則。下面為主要的3個表的結構:1.住房信息表4-5。表4-5住房信息表字段名類型可否為空鍵值備注stayIDint(10)否PK客房編號roomIDvarchar(45)是房間號碼customerIDnumber(33)否顧客IDcustomerNamevarchar(180)否顧客姓名stayTimevarchar(45)否住宿時間feeint(10)否房間單價startDatedatetime是開始日期2.用戶登錄表4-6。表4-6用戶登錄表字段名類型可否為空鍵值備注userIDint(10)否PK用戶IDuserNamevarchar(180)否用戶名passWordnumber(90)否用戶密碼userPositionvarchar(150)是驗證碼3.顧客餐飲信息表4-7。表4-7顧客餐飲信息表字段名類型可否為空鍵值備注eatingIDint(10)否PK用餐編號tableNumbervarchar(45)否餐桌號feeint(10)否用餐費用eatingDatedatetime否用餐日期roomIDint(10)否FK房間號碼servervarchar(180)是服務人員4.空餐桌信息表4-8。表4-8空餐桌信息表字段名類型可否為空鍵值備注tableNumbervarcher(15)否PK餐桌號tableDescribevarcher(30)否餐桌信息5.空房間信息4-9。表4-9空房間信息表字段名類型可否為空鍵值備注roomIDvarcher(20)否PK房間號碼feeInt(11)否房間單價roomDescribevarcher(30)否房間信息五、詳細設計5.1系統(tǒng)登陸界面用戶在登陸本酒店管理系統(tǒng)的時候,只需要輸入正確的用戶名、密碼和驗證碼,驗證碼每次登陸都會隨機刷新出來,假如輸入的信息有誤,系統(tǒng)會提示錯誤之處,重新登陸即可。如圖5-1。圖5-1登陸界面5.2添加住房信息功能添加住房信息功能可以實現(xiàn)客戶的入住登記,其中包含客人的姓名、身份證號、入住日期、選擇房間的情況等等,便于管理員進行管理和查詢。如圖5-2。圖5-2添加住房信息界面實現(xiàn)此功能的代碼如下: privatevoiddoAddAssetsInfoAction(HttpServletRequestrequest, HttpServletResponseresponse, StayInfoActionformoneStayInfoActionform)throwsServletException,IOException{ StayInfoPOoneStayInfoPO=newStayInfoPO(); stayInfoActionFormSaveToStayInfoPO(oneStayInfoActionform,oneStayInfoPO); oneStayInfoPO.setStayID(SystemUtil.getRandomIntegerNumber(10,6)); booleanreturnResult; StayInfoCRUDImpleoneStayInfoCRUDImple=newStayInfoCRUDImple(); try{ returnResult=oneStayInfoCRUDImple.insertOneStayInfo(oneStayInfoPO); }catch(WebExceptione){ forwardToShowErrorInfoTargetPage(request,response,e.getMessage()); return; } if(returnResult){ forwardToSuccessTargetPage(request,response,"/main.html"); } else{forwardToShowErrorInfoTargetPage(request,response,"在添加住房信息時,系統(tǒng)出現(xiàn)了錯誤,請重新添加該住房的信息!");} return; }5.3住房信息查詢功能住房信息查詢功能便于管理員和客戶的查詢,可以按住房編號查詢,也可以按照入住日期查詢,還可以直接查看全部的住宿信息,準確快捷。如圖5-3。圖5-3住房信息查詢界面5.4添加就餐信息功能就餐信息添加功能,能夠?qū)崿F(xiàn)管理員對客人就餐消費的管理,如圖5-4。圖5-4添加就餐信息界面實現(xiàn)此功能的代碼如下:privatevoiddoQueryAssetsInfoAction(HttpServletRequestrequest, HttpServletResponseresponse, EatingInfoActionformoneEatingInfoActionform)throwsServletException,IOException{ EatingInfoPOoneEatingInfoPO=newEatingInfoPO(); eatingInfoActionFormSaveToEatingInfoPO(oneEatingInfoActionform,oneEatingInfoPO); oneEatingInfoPO.setEatingID(SystemUtil.getRandomIntegerNumber(10,6)); booleanreturnResult; EatingInfoCRUDImpleoneEatingInfoCRUDImple=newEatingInfoCRUDImple(); try{ returnResult=oneEatingInfoCRUDImple.insertOneEatingInfo(oneEatingInfoPO); }catch(WebExceptione){ forwardToShowErrorInfoTargetPage(request,response,e.getMessage()); return;} if(returnResult){ forwardToSuccessTargetPage(request,response,"/main.html"); } else{forwardToShowErrorInfoTargetPage(request,response,"在添加就餐信息時,系統(tǒng)出現(xiàn)了錯誤,請重新添加就餐信息!");} return;}5.5就餐信息查詢功能就餐信息查詢功能便于管理員和客人對就餐消費信息的查詢,如圖5-5。圖5-5就餐信息查詢界面5.6結賬功能當賓客離店結賬的時候可以分開進行就餐結賬和住房結賬,也可以兩種賬單和在一起清算,如圖5-6。圖5-6結賬界面 六、結論本系統(tǒng)綜合了中小型星級酒店的的特點,從界面的設計到系統(tǒng)的使用都是從方便用戶使用的角度出發(fā),具有很強的實用性主要功能包括客戶預訂、入住開單、客戶住宿管理、客戶餐飲管理、客戶結賬等等。系統(tǒng)的特色歸納如下:本系統(tǒng)可以運行在多種操作系統(tǒng)平臺上(WindowsNT/Windows2000/WindowsXP)。數(shù)據(jù)庫管理系統(tǒng)采用Mysql數(shù)據(jù)庫。并且利用安全可靠的Java來編寫,使得系統(tǒng)具有很強的移植性和易于維護等特點。及時全面地處理各種錯誤異常,特別是對用戶提交的信息進行判斷,若出現(xiàn)輸入錯誤或信息為空的現(xiàn)象,系統(tǒng)就會及時給予用戶出錯提示。避免了用戶的誤操作和輸入非法數(shù)據(jù)的可能性。用戶界面比較友好,操作簡單,使用方便。符合酒店管理的基本流程。本系統(tǒng)基本上滿足了酒店管理方面的需要。滿足了酒店管理人員對客房管理的工作。在界面上力求做到美觀、在操作方面盡量避免由于用戶操作不當帶來的系統(tǒng)出錯現(xiàn)象。但由于時間倉促,本系統(tǒng)還存在一些不足之處,主要體現(xiàn)在:需要進一步修飾和美化;部分模塊功能實現(xiàn)有些簡單,與實際情況有一定的出入,在以后的學習和工作時間里,我會進一步加強其功能。附錄(部分源代碼)驗證碼:publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ CreateVerifyCodeImageBeanoneCreateVerifyCodeImageBean=newCreateVerifyCodeImageBean(); java.awt.imag12y67lc,e.BufferedImageimage=oneCreateVerifyCodeImageBean.createSomeOneVerifyImage(); HttpSessionsession=request.getSession(); StringverifyCodeInSession=oneCreateVerifyCodeImageBean.getVerifyCodeString(); session.setAttribute("verifyCodeNameInSession",verifyCodeInSession);//將認證碼存入SESSION對象中 response.setContentType("image/jpeg"); //該已經(jīng)必須要有 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0); javax.imageio.ImageIO.write(image,"JPEG",response.getOutputStream());//輸出圖像 }登陸界面:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ request.setCharacterEncoding("gb2312"); StringverifyCode=request.getParameter("verifyCode"); StringuserName=request.getParameter("userName"); StringpassWord=request.getParameter("passWord"); UserInfoRUImpleoneUserInfoRUImple=newUserInfoRUImple(); UserInfoPOoneUserInfoPO=newUserInfoPO(); HttpSessionsession=request.getSession(); StringverifyCodeInSession=(String)session.getAttribute("verifyCodeNameInSession"); if(verifyCode.equals(verifyCodeInSession)){ try{ oneUserInfoPO= oneUserInfoRUImple.selectUserInfo(userName,passWord); }catch(WebExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } if(oneUserInfoPO==null){ request.setAttribute("errorText","用戶名和密碼輸入錯誤!"); RequestDispatcheroneRequestDispatcher=request.getRequestDispatcher(this.getServletContext().getInitParameter("forwardShowErrorInfoTargetPage")); oneRequestDispatcher.forward(request,response); return; } else{ RequestDispatcheroneRequestDispatcher=request.getRequestDispatcher("/index.html"); oneRequestDispatcher.forward(request,response); } } else{ request.setAttribute("errorText","驗證碼輸入錯誤!"); RequestDispatcheroneRequestDispatcher=request.getRequestDispatcher(this.getServletContext().getInitParameter("forwardShowErrorInfoTargetPage")); oneRequestDispatcher.forward(request,response); return; } }住房信息查詢:privatevoiddoQueryAssetsInfoAction(HttpServletRequestrequest,HttpServletResponseresponse,StayInfoActionformoneStayInfoActionform)throwsServletException,IOException{ StringsqlQueryWhereString=null; PageStatePOonePageStatePO=null; onePageStatePO=newPageStatePO(); onePageStatePO.setCurrentPageNumber(1);//由于是第一次訪問,因此獲得第一頁的數(shù)據(jù) onePageStatePO.setOnePageSize(AllConstantItems.OnePageSize); switch(oneStayInfoActionform.getQueryMethodRadioButtonID()){ caseAllConstantItems.ProductionInfoManage_QueryAllData: sqlQueryWhereString=""; break; caseAllConstantItems.ProductionInfoManage_QueryDataByProductionID: if(oneStayInfoActionform.getStayID()!=0){ sqlQueryWhereString="wherestayID="+oneStayInfoActionform.getStayID(); } break; caseAllConstantItems.ProductionInfoManage_QueryDataBySomeProductionInfo: sqlQueryWhereString="wherestartDatelike'%"+oneStayInfoActionform.getStartDate()+"%'"; break; } StayInfoCRUDImpleoneStayInfoCRUDImple=newStayInfoCRUDImple(); List<StayInfoPO>someStayInfo=null; try{ someStayInfo=oneStayInfoCRUDImple.selectSomeStayInfo(sqlQueryWhereString,onePageStatePO); }catch(WebExceptione){ forwardToShowErrorInfoTargetPage(request,response,e.getMessage()); } /* *將查詢的結果保存到requestScope作用域中,實現(xiàn)在頁面中顯示輸出數(shù)據(jù) */ request.setAttribute("allStayInfoPOList",someStayInfo); /* *將分頁狀態(tài)對象保存到requestScope作用域中,在頁面中顯示分頁狀態(tài)有關的各個數(shù)據(jù) */ request.setAttribute("onePageStatePO",onePageStatePO); /* *將上次的查詢條件保存到requestScope作用域中,有助于分頁跳轉繼續(xù)保持相同的查詢條件 */ request.setAttribute("sqlQueryWhereString",sqlQueryWhereString); forwardToSuccessTargetPage(request,response,this.getInitParameter("ToShowQueryResultTargetPage")); }結賬界面:publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{request.setCharacterEncoding("gb2312");StringpayType=request.getParameter("payType");StringeatingIDString=request.getParameter("eatingID");StringstayIDString=request.getParameter("stayID");inteatingID=0;intstayID=0;if((eatingIDString!=null)&&(eatingIDString.length()>0)){ eatingID=Integer.parseInt(eatingIDString); }if((stayIDString!=null)&&(stayIDString.length()>0)){ stayID=Integer.parseInt(stayIDString); }if(payType.equals("1")){ EatingInfoPOoneEatingInfoPO=newEatingInfoPO(); EatingInfoCRUDImpleoneEatingInfoCRUDImple=newEatingInfoCRUDImple(); try{ oneEatingInfoPO=oneEatingInfoCRUDImple.selectOneEatingInfo(eatingID); }catch(WebExceptione){ forwardToShowErrorInfoTargetPage(request,response,e.getMessage()); return; } request.setAttribute("oneEatingInfoPO",oneEatingInfoPO); request.setAttribute("onepayType",1); forwardToSuccessTargetPage(request,response,"/payManage/payInfo.jsp"); }else{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度用人單位單方解除勞動合同爭議解決機制合同
- 國有林場合作經(jīng)營合同范本
- 工程項目分期付款合同之一
- 裝修工程總承包合同新模板
- 特色美食街商鋪租賃合同范文
- 抵押貸款反擔保合同模板
- 房產(chǎn)托管合同
- 健身房裝修合同樣本大全
- 小型項目承包合同范本 新
- 制造行業(yè)勞動合同標準模板
- 福晨河北科技發(fā)展有限公司年分裝500噸化學試劑建設項目環(huán)境影響報告表
- 地磁磁場的基本特征及應用
- 國內(nèi)外鋼材牌號對照表
- 一年級下冊地方課程教案
- 有趣的仿生設計(課堂PPT)
- 第二章 航空飛行常見疾病
- 個體診所聘用醫(yī)師合同范本
- 航運公司開展安全管理體系有效性
- 牛羊定點屠宰廠項目可行性研究報告-甲乙丙資信
- 妊娠糖尿病-楊慧霞.ppt
- 上海機場控制區(qū)通行證申請表(人員)
評論
0/150
提交評論