版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文</b></p><p><b> (20_ _屆)</b></p><p> 基于JSP的酒店管理系統(tǒng)的分析與設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 電子
2、商務(wù) </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b>&l
3、t;/p><p> 隨著旅游業(yè)和酒店服務(wù)業(yè)的不斷發(fā)展,酒店信息化建設(shè)已經(jīng)變得非常重要。越來越多的酒店管理者也意識(shí)到酒店管理系統(tǒng)的重要性和必要性。酒店管理系統(tǒng)可以為用戶提供迅速并且高效的服務(wù),不僅可以避免手工操作的重復(fù)繁瑣以及帶來的誤差,而且可以及時(shí)、準(zhǔn)確地反映酒店的工作情況和經(jīng)營情況。</p><p> 本系統(tǒng)是在MyEclipse環(huán)境下,以SQL Server 2005作為后臺(tái)數(shù)據(jù)庫管理
4、系統(tǒng)進(jìn)行開發(fā)的。系統(tǒng)是采用面向?qū)ο蟮姆椒ㄟM(jìn)行分析與設(shè)計(jì)的。系統(tǒng)分析的過程是先對(duì)用戶需求進(jìn)行捕獲,再進(jìn)行需求建模,包括概念模型、用例模型以及交互模型。在系統(tǒng)分析的基礎(chǔ)上,再進(jìn)行系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)的設(shè)計(jì)過程是先設(shè)計(jì)系統(tǒng)的總體結(jié)構(gòu)和數(shù)據(jù)庫,再進(jìn)行交互設(shè)計(jì)和類圖設(shè)計(jì)。最后是系統(tǒng)的實(shí)現(xiàn),完整的酒店管理系統(tǒng)主要由兩部分組成:前臺(tái)客戶模塊和后臺(tái)管理員模塊,從而實(shí)現(xiàn)信息的共享與交互。</p><p> 關(guān)鍵詞:酒店管理系統(tǒng)
5、;JSP;MVC;面向?qū)ο?lt;/p><p><b> Abstract</b></p><p> With the continuous development of the tourism and hospitality industry, the building of hotel information has become very important.
6、More and more hotel managers are also aware of the importance and necessity of hotel management system. Hotel management system can provide users with fast and efficient service, not only avoid tedious and repetitive man
7、ual operation and the errors caused by, but also timely and accurately reflect the hotel working condition and operating condition.</p><p> This system is developed under the environment of MyEclipse and re
8、gards SQL Server 2005 as the back end DBMS. It is using Object-Oriented method to analyze and design the system. The process of the system analysis is capturing user requirements first, and then performing requirement mo
9、deling, including conceptual model, use case model and interactive model. Based on system analysis, then design and implement the system. The process of the system design is designing overall structure and database</p
10、><p> Keywords: Hotel Management System; JSP; MVC; Object-Oriented </p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p> 1.1 系統(tǒng)開發(fā)的背景1</p>
11、<p> 1.2 酒店管理系統(tǒng)的發(fā)展以及現(xiàn)狀1</p><p> 1.3 酒店管理系統(tǒng)的研究意義3</p><p> 2 酒店管理系統(tǒng)的系統(tǒng)分析4</p><p> 2.1 系統(tǒng)的需求捕獲4</p><p> 2.2 系統(tǒng)的需求建模5</p><p> 3 系統(tǒng)的開發(fā)模式及開發(fā)工具選擇
12、21</p><p> 3.1 系統(tǒng)的開發(fā)模式——MVC模式的概述21</p><p> 3.2 集成開發(fā)環(huán)境的選擇22</p><p> 3.3 數(shù)據(jù)庫的選擇23</p><p> 4 酒店管理系統(tǒng)的系統(tǒng)設(shè)計(jì)24</p><p> 4.1 系統(tǒng)總體功能結(jié)構(gòu)設(shè)計(jì)24</p><p
13、> 4.2 數(shù)據(jù)庫設(shè)計(jì)24</p><p> 4.3 系統(tǒng)的交互設(shè)計(jì)27</p><p> 4.4 系統(tǒng)的類圖設(shè)計(jì)31</p><p> 5 酒店管理系統(tǒng)的系統(tǒng)實(shí)現(xiàn)33</p><p> 5.1 系統(tǒng)的關(guān)鍵技術(shù)33</p><p> 5.2 功能模塊的實(shí)現(xiàn)42</p><
14、;p><b> 結(jié) 論51</b></p><p><b> 參考文獻(xiàn)52</b></p><p><b> 1 緒論</b></p><p> 1.1 系統(tǒng)開發(fā)的背景</p><p> 隨著我國經(jīng)濟(jì)的飛速發(fā)展,人們的生活水平有了顯著的提高,假日經(jīng)濟(jì)和旅游
15、經(jīng)濟(jì)也逐漸成為了人們消費(fèi)的熱點(diǎn)。各地也紛紛把旅游業(yè)當(dāng)作本地經(jīng)濟(jì)發(fā)展的重要支柱之一,從而促進(jìn)了酒店服務(wù)業(yè)的迅速發(fā)展。隨著我國加入WTO,酒店服務(wù)業(yè)也漸漸與國際市場接軌。為了迎接這場挑戰(zhàn),酒店服務(wù)業(yè)就必須提高整體競爭能力,變革酒店的管理模式。</p><p> 有數(shù)據(jù)表明:酒店業(yè)是近年來蓬勃發(fā)展的產(chǎn)業(yè)之一,從2000年到2006年末,我國的星級(jí)酒店從6029個(gè)增加到了12751個(gè),年增長率達(dá)到15.3%,在全世界范
16、圍內(nèi)屈指可數(shù)。到2007年,我國已有361個(gè)五星級(jí)酒店和1631個(gè)四星級(jí)酒店。從2006年到2010年,預(yù)計(jì)我國的酒店業(yè)投資將達(dá)3400億元,根據(jù)世界旅游組織預(yù)測,到2020年,我國將成為世界第一旅游接待大國,屆時(shí)酒店客房總數(shù)預(yù)計(jì)將達(dá)到900萬間,成為酒店客房第一大國(韓其洲,2009)[1]。從以上的數(shù)據(jù)我們可以看出,隨著酒店數(shù)量的逐漸增加,酒店業(yè)之間的競爭也將越來越激烈,酒店服務(wù)業(yè)所追求的利潤也將越來越少。</p>&
17、lt;p> 在這個(gè)信息化的時(shí)代,如何在競爭激烈的行業(yè)中,把握住機(jī)會(huì)并保持自身的優(yōu)勢,酒店服務(wù)業(yè)不僅僅需要提供最好的服務(wù),最完善的設(shè)施和最先進(jìn)的技術(shù),更重要的是還必須要有一個(gè)完善的信息管理系統(tǒng),以便于更好地管理酒店?,F(xiàn)在因特網(wǎng)的飛速發(fā)展,很多行業(yè)也慢慢的踏入這一個(gè)新興領(lǐng)域。而酒店服務(wù)業(yè)作為一種為顧客提供服務(wù)的行業(yè),更應(yīng)該抓住這個(gè)機(jī)會(huì),實(shí)施信息化的建設(shè),對(duì)客戶的信息和消費(fèi)信息等進(jìn)行自動(dòng)化的管理,以提高酒店的工作效率,減少不必要的支出
18、。因此,開發(fā)一套酒店管理系統(tǒng)就十分必要了。</p><p> 1.2 酒店管理系統(tǒng)的發(fā)展以及現(xiàn)狀</p><p> 酒店管理系統(tǒng)的發(fā)展以及現(xiàn)狀主要從兩個(gè)部分進(jìn)行分析,分別是:國外酒店信息化應(yīng)用的發(fā)展以及現(xiàn)狀和國內(nèi)酒店管理系統(tǒng)的發(fā)展以及現(xiàn)狀,這兩部分進(jìn)行分析說明。</p><p> 1.2.1 國外的發(fā)展以及現(xiàn)狀 </p><p> 國
19、外酒店業(yè)先進(jìn)信息化應(yīng)用的產(chǎn)生與發(fā)展大體上經(jīng)過了以下五個(gè)階段:</p><p> (1)電算化階段,也就是讓員工利用計(jì)算機(jī)的輔助功能來進(jìn)行一些簡單、繁瑣和重復(fù)性的工作以代替手工的操作,提高員工的工作效率。</p><p> ?。?)自動(dòng)化階段,一方面是酒店設(shè)備管理的自動(dòng)化,另一方面是酒店辦公業(yè)務(wù)的自動(dòng)化。</p><p> ?。?)網(wǎng)絡(luò)化階段,隨著網(wǎng)絡(luò)的高速發(fā)展,酒
20、店不再是僅僅提供寬帶方便顧客上網(wǎng),網(wǎng)上營銷和網(wǎng)上訂房變成了該階段的重點(diǎn)。</p><p> ?。?)集成化階段,實(shí)現(xiàn)信息的共享,酒店的各個(gè)流程環(huán)節(jié)的管理不再是獨(dú)立的,也就是實(shí)現(xiàn)酒店的一體化。</p><p> ?。?)協(xié)同化階段,實(shí)現(xiàn)在線的、端對(duì)端的數(shù)據(jù)無縫交換的業(yè)務(wù)運(yùn)作,并且可以跨行業(yè)、跨地區(qū)和跨組織地給客戶提供個(gè)性化的服務(wù)。其中最具有代表性的案例是UTELL、STERLLNG、SUMM
21、IT三個(gè)國際著名訂房中心合并,一舉成為名為SUMMIT的全球最大的銷售訂房中心之一(郝薇,2008)[2]。</p><p> 可見,國外的酒店信息化水平已經(jīng)發(fā)展到了協(xié)同化階段,已經(jīng)是比較高的水平。從國際酒店業(yè)的發(fā)展和發(fā)展趨勢看,隨著信息化的發(fā)展,高層次的信息化建設(shè)不再僅僅利用計(jì)算機(jī)進(jìn)行簡單的輔助管理,而是集成化基礎(chǔ)上的協(xié)同化。</p><p> 1.2.2 國內(nèi)的發(fā)展以及現(xiàn)狀<
22、/p><p> 中國的酒店管理系統(tǒng)是在80年代初發(fā)展起來的,至今已有20多年的歷史。經(jīng)過一段時(shí)間的發(fā)展,到90年代初期已形成了幾個(gè)較成熟的軟件系統(tǒng),產(chǎn)生了幾家專職從事酒店業(yè)計(jì)算機(jī)管理系統(tǒng)的公司。到了90年代中后期,隨著計(jì)算機(jī)在酒店中的普及應(yīng)用,計(jì)算機(jī)技術(shù)的不斷發(fā)展,酒店管理系統(tǒng)發(fā)展到了一個(gè)新的時(shí)期,主要體現(xiàn)在系統(tǒng)基本轉(zhuǎn)到客戶機(jī)/服務(wù)器模式下的Windows版,功能更加細(xì)致完善,系統(tǒng)更加穩(wěn)定可靠(倪志玉,2009)[
23、3]。</p><p> 到了21世紀(jì)直至今天,隨著Internet技術(shù)的興起,酒店管理系統(tǒng)已經(jīng)開始向?yàn)g覽器/服務(wù)器模式發(fā)展。但是由于起步較晚,目前國內(nèi)很多酒店的信息化管理還處于電算化水平和信息發(fā)布階段,與國際上信息化建設(shè)有比較大的差距。據(jù)了解,許多中小酒店,甚至包括一些大型酒店,還沒有實(shí)現(xiàn)信息化、網(wǎng)絡(luò)化,數(shù)據(jù)傳遞、信息發(fā)布等多為手工模式,管理方面缺少科學(xué)化。這使得酒店的工作效率難以提高,勞動(dòng)成本也難以降低。&
24、lt;/p><p> 1.3 酒店管理系統(tǒng)的研究意義</p><p> 當(dāng)前,國內(nèi)酒店的信息化管理還處于比較初級(jí)的階段,與國際上信息化建設(shè)相比還是存在差距的。而且目前的酒店管理系統(tǒng)一般基于.NET構(gòu)架搭建,一般不能跨平臺(tái)使用。因此,如何設(shè)計(jì)出一套具有跨平臺(tái)作用,提高酒店信息化水平,并且方便用戶使用的酒店管理系統(tǒng)是一個(gè)值得研究的課題。</p><p> 本系統(tǒng)的目標(biāo)
25、是為用戶提供迅速并且高效的服務(wù),不僅可以避免手工操作的重復(fù)繁瑣以及帶來的誤差,而且可以及時(shí)、準(zhǔn)確地反映酒店的工作情況和經(jīng)營情況。本系統(tǒng)是一個(gè)基于Web的管理系統(tǒng),通過互聯(lián)網(wǎng)可以使管理者更加快捷的了解到顧客的需求,從而提高酒店的服務(wù)質(zhì)量,獲得更好的經(jīng)濟(jì)效益。</p><p> 2 酒店管理系統(tǒng)的系統(tǒng)分析</p><p> 2.1 系統(tǒng)的需求捕獲</p><p>
26、 需求捕獲的任務(wù)是在業(yè)務(wù)需求的指引下挖掘用戶需求的過程。業(yè)務(wù)需求就是整個(gè)系統(tǒng)最為宏觀層面的需求,反映的是組織結(jié)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,也就是項(xiàng)目的目標(biāo)。而業(yè)務(wù)需求主要分為項(xiàng)目總目標(biāo)和子項(xiàng)目目標(biāo)(徐鋒,2006)[4]。</p><p> 本系統(tǒng)的項(xiàng)目總目標(biāo)是開發(fā)一個(gè)酒店管理系統(tǒng),以方便用戶使用,減少不必要的支出,并提高酒店的管理效率,主要實(shí)現(xiàn)網(wǎng)上客房預(yù)訂、客房管理和新聞管理的功能。為了實(shí)現(xiàn)酒店管理
27、系統(tǒng),通過挖掘用戶的需求并且分析,得到以下需求,而子項(xiàng)目的目標(biāo)就是實(shí)現(xiàn)以下各個(gè)需求。</p><p> ?。?)用戶可以查看管理員發(fā)布的最新的酒店新聞信息,以了解該酒店的最新動(dòng)態(tài)信息;</p><p> ?。?)用戶注冊(cè)登錄后,可以查看酒店的客房信息,包括房間的圖片、房間的價(jià)格、房間的介紹、房間的數(shù)量等等,并在查看后,對(duì)符合要求的客房進(jìn)行網(wǎng)上預(yù)定;</p><p>
28、 ?。?)用戶注冊(cè)登錄后,可以對(duì)預(yù)定的客房信息進(jìn)行修改,對(duì)所預(yù)定的不符合要求的客房信息進(jìn)行刪除操作,并且對(duì)所預(yù)定的符合要求的客房信息進(jìn)行確認(rèn)支付;</p><p> (4)用戶可以對(duì)確定預(yù)定后的客房信息進(jìn)行查看,包括預(yù)定客房所支付的金額、客房所處位置等。</p><p> ?。?)管理員可以查看會(huì)員注冊(cè)時(shí)所填寫的信息,包括會(huì)員名、會(huì)員的真實(shí)姓名、聯(lián)系方式等,也可以對(duì)不需要的會(huì)員信息進(jìn)行刪
29、除操作;</p><p> (6)管理員可以對(duì)需要發(fā)布的酒店新聞信息進(jìn)行添加操作,對(duì)錯(cuò)誤的新聞信息進(jìn)行修改操作,對(duì)過期的新聞信息進(jìn)行刪除操作,對(duì)發(fā)布后的新聞信息進(jìn)行查看操作;</p><p> ?。?)管理員可以對(duì)發(fā)布后的客房信息進(jìn)行查看操作,并且可以對(duì)客房信息進(jìn)行添加和刪除操作;</p><p> ?。?)管理員可以對(duì)用戶確認(rèn)支付后的訂單信息進(jìn)行查看,并且可以確
30、定入住操作。</p><p> 根據(jù)以上捕獲的用戶需求,并分別對(duì)各個(gè)需求進(jìn)行整理,最終形成了一張?zhí)匦员恚ㄐ枨筇匦员硪姳?)。</p><p><b> 表1 需求特性表</b></p><p> 2.2 系統(tǒng)的需求建模</p><p> 系統(tǒng)的需求捕獲階段是為了捕獲用戶需求,在把握用戶需求的主要部分后,通過分析并
31、且引入系統(tǒng)需求,在此基礎(chǔ)上進(jìn)行需求建模。用UML對(duì)系統(tǒng)進(jìn)行需求建模的內(nèi)容主要包括:以類模型來表述領(lǐng)域?qū)ο螅杂美P蛠斫M織需求,以交互圖來對(duì)用例事件流進(jìn)行補(bǔ)充說明。因此,本系統(tǒng)的需求建模包括建立概念模型(類圖)、建立用例模型(用例圖)和建立交互模型(順序圖)。</p><p> 2.2.1 建立概念模型</p><p> 建立概念模型,可以對(duì)系統(tǒng)涉及的術(shù)語進(jìn)一步的了解,并且能夠理解各種
32、實(shí)體之間的關(guān)聯(lián)關(guān)系,而建立概念模型的主要方式是類圖。這個(gè)階段的主要任務(wù)就是先找出相關(guān)的類,然后明確各個(gè)類與類之間的關(guān)聯(lián)關(guān)系,必要時(shí)可以增加一些多重性描述和業(yè)務(wù)規(guī)則約束。</p><p> 按照構(gòu)建的四個(gè)步驟:發(fā)現(xiàn)類、關(guān)聯(lián)分析、職責(zé)分析、限定于修改,最終建立出本系統(tǒng)的概念模型(“酒店管理系統(tǒng)”概念模型見圖1)。</p><p> 圖1 “酒店管理系統(tǒng)”概念模型</p>&l
33、t;p> “酒店管理系統(tǒng)”概念模型主要有6個(gè)類,其中包括“Manager”類、“Member”類、“Order”類、 “Room”類、“RoomType”類和“Affiche”類。它們之間的關(guān)聯(lián)關(guān)系有多對(duì)多或一對(duì)多等不同的關(guān)系,它們之間的具體關(guān)系如圖1所示。</p><p> 2.2.2 建立用例模型</p><p> 本系統(tǒng)的用例建模的主要步驟是,首先識(shí)別參與者,然后依據(jù)需求
34、捕獲所得到的“需求特性表”,合并需求以獲取系統(tǒng)的用例,最后就是結(jié)合各個(gè)用例繪制活動(dòng)圖,并對(duì)用例進(jìn)行描述。</p><p><b> ?。?)識(shí)別參與者</b></p><p> 參與者是為了完成一個(gè)事件而與系統(tǒng)交互的實(shí)體。本系統(tǒng)的參與者是用戶和管理員,用戶通過系統(tǒng)可以進(jìn)行酒店網(wǎng)上房間的預(yù)定、酒店新聞查看等,而管理員可以進(jìn)行會(huì)員管理、酒店房間管理和酒店新聞管理等。而且
35、管理員可以通過后臺(tái)對(duì)注冊(cè)的用戶進(jìn)行會(huì)員信息的管理(參與者見圖2)。</p><p><b> 圖2 參與者</b></p><p> ?。?)合并需求獲得用例</p><p> 根據(jù)所識(shí)別的參與者,包括管理員和用戶,將之前需求捕獲所得到的“需求特性表”分開,然后再合并或者分解相應(yīng)的用例,最終得到以下結(jié)果(特性合并用例見表2)。</p&
36、gt;<p><b> 表2 特性合并用例</b></p><p> 結(jié)合表2,可以看出系統(tǒng)除了一般系統(tǒng)都具備的“用戶注冊(cè)”用例、“用戶登錄”用例和“管理員登錄”用例外,還擁有8個(gè)用例,分別是“酒店新聞查看”用例、“網(wǎng)上預(yù)定”用例、“預(yù)定管理”用例、“訂單查看”用例、“會(huì)員管理”用例、“客房管理”用例、“新聞管理”用例和“入住管理”用例。</p><p&
37、gt; 結(jié)合獲取的用例和參與者之間的關(guān)系,由此繪制出系統(tǒng)的用例模型(“用戶”總用例圖見圖3,“管理員”總用例圖見圖4)。</p><p> 圖3 “用戶”總用例圖</p><p> “用戶”總用例圖主要包括“酒店新聞查看”用例、“網(wǎng)上預(yù)定”用例、“預(yù)定管理”用例和“訂單查看”用例。</p><p> 圖4 “管理員”總用例圖</p><p
38、> “管理員”總用例圖主要包括“會(huì)員管理”用例、“客房管理”用例、“入住管理”用例和“新聞管理”用例。</p><p> ?。?)結(jié)合各個(gè)用例繪制活動(dòng)圖,并對(duì)各個(gè)用例進(jìn)行描述</p><p> ?、佟熬频晷侣劜榭础庇美?lt;/p><p> “酒店新聞查看”活動(dòng)圖如圖所示(“酒店新聞查看”活動(dòng)圖見圖5),“酒店新聞查看”的用例描述如表所示(用例“酒店新聞查看”
39、規(guī)格描述見表3)。</p><p> 圖5 “酒店新聞查看”活動(dòng)圖</p><p> 表3 用例“酒店新聞查看”規(guī)格描述</p><p><b> ②“網(wǎng)上預(yù)定”用例</b></p><p> “網(wǎng)上預(yù)定”活動(dòng)圖如圖所示(“網(wǎng)上預(yù)定”活動(dòng)圖見圖6),“網(wǎng)上預(yù)定”的用例描述如表所示(用例“網(wǎng)上預(yù)定”規(guī)格描述見表4)
40、。</p><p> 圖6“網(wǎng)上預(yù)定”活動(dòng)圖</p><p> 表4 用例“網(wǎng)上預(yù)定”規(guī)格描述</p><p><b> ?、邸邦A(yù)定管理”用例</b></p><p> “預(yù)定管理”活動(dòng)圖如圖所示(“預(yù)定管理”活動(dòng)圖見圖7),“預(yù)定管理”的用例描述如表所示(用例“預(yù)定管理”規(guī)格描述見表5)。</p>
41、<p> 圖7 “預(yù)定管理”活動(dòng)圖</p><p> 表5 用例“預(yù)定管理”規(guī)格描述</p><p><b> ④“訂單查看”用例</b></p><p> “訂單查看”活動(dòng)圖如圖所示(“訂單查看”活動(dòng)圖見圖8),“訂單查看”的用例描述如表所示(用例“訂單查看”規(guī)格描述見表6)。</p><p> 圖
42、8 “訂單查看”活動(dòng)圖</p><p> 表6 用例“訂單查看”規(guī)格描述</p><p><b> ?、荨皶?huì)員管理”用例</b></p><p> “會(huì)員管理”活動(dòng)圖如圖所示(“會(huì)員管理”活動(dòng)圖見圖9),“會(huì)員管理”的用例描述如表所示(用例“會(huì)員管理”規(guī)格描述見表7)。</p><p> 圖9 “會(huì)員管理”活動(dòng)圖&
43、lt;/p><p> 表7 用例“會(huì)員管理”規(guī)格描述</p><p><b> ?、蕖翱头抗芾怼庇美?lt;/b></p><p> “客房管理”活動(dòng)圖如圖所示(“客房管理”活動(dòng)圖見圖10),“客房管理”的用例描述如表所示(用例“客房管理”規(guī)格描述見表8)。</p><p> 圖10 “客房管理”活動(dòng)圖</p>
44、<p> 表8 用例“客房管理”規(guī)格描述</p><p><b> ?、摺靶侣劰芾怼庇美?lt;/b></p><p> “新聞管理”活動(dòng)圖如圖所示(“新聞管理”活動(dòng)圖見圖11),“新聞管理”的用例描述如表所示(用例“新聞管理”規(guī)格描述見表9)。</p><p> 圖11 “新聞管理”活動(dòng)圖</p><p>
45、 表9 用例“新聞管理”規(guī)格描述</p><p><b> ⑧“入住管理”用例</b></p><p> “入住管理”活動(dòng)圖如圖所示(“入住管理”活動(dòng)圖見圖12),“入住管理”的用例描述如表所示(用例“入住管理”規(guī)格描述見表10)。</p><p> 圖12 “入住管理”活動(dòng)圖</p><p> 表10 用例“
46、入住管理”規(guī)格描述</p><p> 2.2.3 建立交互模型</p><p> 通過文字形式來建立用例描述是最常見的方式,它比較直觀、易懂,以方便與相互溝通。但是隨著系統(tǒng)的復(fù)雜度提高,各種用例之間的關(guān)系就比較難以理解。文字描述有時(shí)候也會(huì)有歧義的情況,會(huì)給開發(fā)工作帶來不便。而解決這個(gè)問題的方法就是利用交互模型進(jìn)行描述用例的事件流。</p><p> 而建立交互
47、模型先通過魯棒分析,尋找邊界對(duì)象、控制對(duì)象和實(shí)體對(duì)象,從各個(gè)用例中獲取分析類,包括邊界類、控制類和實(shí)體類,然后根據(jù)事件描述,導(dǎo)出事件流就可以得到各個(gè)用例的順序圖。</p><p> (1)“酒店新聞查看”用例</p><p> “酒店新聞查看”順序圖如圖所示(“酒店新聞查看”順序圖見圖13)</p><p> 圖13 “酒店新聞查看”順序圖</p>
48、<p> “酒店新聞查看”順序圖中,邊界類是“酒店新聞查看界面”,控制類是“查看新聞按鈕”,實(shí)體類是“新聞”。用戶通過向“酒店新聞查看界面”發(fā)出查看請(qǐng)求,點(diǎn)擊“查看新聞按鈕”,系統(tǒng)從“新聞”中調(diào)出新聞信息供用戶查看。</p><p> ?。?)“網(wǎng)上預(yù)定”用例</p><p> “網(wǎng)上預(yù)定”順序圖如圖所示(“網(wǎng)上預(yù)定”順序圖見圖14)</p><p&g
49、t; 圖14 “網(wǎng)上預(yù)定”順序圖</p><p> “網(wǎng)上預(yù)訂”順序圖中,邊界類是“選擇預(yù)定客房的界面”,控制類是“查看客房按鈕”和“預(yù)定客房按鈕”,實(shí)體類是“客房”和“預(yù)定信息”。 用戶通過向“選擇預(yù)定客房的界面”發(fā)出預(yù)定請(qǐng)求,點(diǎn)擊“查看客房按鈕”,系統(tǒng)從“客房”中調(diào)出客房信息供用戶查看,點(diǎn)擊“預(yù)定客房按鈕”,用戶預(yù)定后,將預(yù)定信息保存到“預(yù)定信息”中。</p><p> (3)“
50、預(yù)定管理”用例</p><p> “預(yù)定管理”順序圖如圖所示(“預(yù)定管理”順序圖見圖15)</p><p> 圖15 “預(yù)定管理”順序圖</p><p> “預(yù)訂管理”順序圖中,邊界類是“預(yù)定管理界面”,控制類是“修改按鈕”、“刪除按鈕”和“確認(rèn)按鈕”,實(shí)體類是“預(yù)定信息”。 用戶通過向“預(yù)定管理界面”發(fā)出預(yù)定管理請(qǐng)求,如果用戶要修改預(yù)訂信息,則選擇“修改按鈕
51、”,將修改的預(yù)定信息保存到“預(yù)定信息”中;如果用戶需要?jiǎng)h除預(yù)訂信息,則選擇“刪除按鈕”,將“預(yù)定信息”中需要?jiǎng)h除的預(yù)定信息進(jìn)行刪除;如果用戶要確認(rèn)預(yù)定信息,則選擇“確認(rèn)按鈕”,將增加的預(yù)定信息保存到“預(yù)定信息”中。</p><p> ?。?)“訂單查看”用例</p><p> “訂單查看”順序圖如圖所示(“訂單查看”順序圖見圖16)</p><p> 圖16 “
52、訂單查看”順序圖</p><p> “訂單查看”順序圖中,邊界類是“訂單查看界面”,控制類是“查看訂單按鈕”,實(shí)體類是“訂單”。 用戶通過向“訂單查看界面”發(fā)出查看請(qǐng)求,點(diǎn)擊“查看訂單按鈕”,系統(tǒng)從“訂單”中調(diào)出訂單信息供用戶查看。</p><p> (5)“會(huì)員管理”用例</p><p> “會(huì)員管理”順序圖如圖所示(“會(huì)員管理”順序圖見圖17)</p
53、><p> 圖17 “會(huì)員管理”順序圖</p><p> “會(huì)員管理”順序圖中,邊界類是“會(huì)員管理界面”,控制類是“查看按鈕”和“刪除按鈕”,實(shí)體類是“會(huì)員”。 管理員通過向“會(huì)員管理界面”發(fā)出會(huì)員管理請(qǐng)求,如果管理員需要查看會(huì)員信息,則選擇“查看按鈕”,系統(tǒng)從“會(huì)員”中調(diào)出會(huì)員信息供管理員進(jìn)行查看;如果管理員需要?jiǎng)h除不需要的會(huì)員信息,則選擇“刪除按鈕”,刪除“會(huì)員”中不需要的會(huì)員信息。&
54、lt;/p><p> ?。?)“客房管理”用例</p><p> “客房管理”順序圖如圖所示(“客房管理”順序圖見圖18)</p><p> 圖18 “客房管理”順序圖</p><p> “客房管理”順序圖中,邊界類是“客房管理界面”,控制類是“增加按鈕”、“刪除按鈕”和“查看按鈕”,實(shí)體類是“客房”。 管理員通過向“客房管理界面”發(fā)出客房
55、管理請(qǐng)求,如果管理員需要添加客房信息,則選擇“添加按鈕”,將添加的客房信息保存到“客房”中;如果管理員需要?jiǎng)h除客房信息,則選擇“刪除按鈕”,將“客房”中需要?jiǎng)h除的客房信息進(jìn)行刪除;如果管理員需要查看客房信息,則選擇“查看按鈕”,系統(tǒng)從“客房”中調(diào)出客房信息供管理員進(jìn)行查看。</p><p> ?。?)“新聞管理”用例</p><p> “新聞管理”順序圖如圖所示(“新聞管理”順序圖見圖1
56、9)</p><p> 圖19 “新聞管理”順序圖</p><p> “新聞管理”順序圖中,邊界類是“新聞管理界面”,控制類是“添加按鈕”、“刪除按鈕”、“修改按鈕”和“查看按鈕”,實(shí)體類是“新聞”。 管理員通過向“新聞管理界面”發(fā)出新聞管理請(qǐng)求,如果管理員在修改新聞信息后,如果管理員需要添加新聞信息,則選擇“添加按鈕”,將添加的新聞信息保存到“新聞”中;如果管理員需要?jiǎng)h除新聞信息,則
57、選擇“刪除按鈕”,將“新聞”中需要?jiǎng)h除的新聞信息進(jìn)行刪除;如果管理員需要修改新聞信息,則選擇“修改按鈕”,將修改的新聞信息保存到“新聞”中;如果管理員需要查看客房信息,則選擇“查看按鈕”,系統(tǒng)從“客房”中調(diào)出客房信息供管理員進(jìn)行查看。</p><p> (8)“入住管理”用例</p><p> “入住管理”順序圖如圖所示(“入住管理”順序圖見圖20)</p><p&
58、gt; 圖20 “入住管理”順序圖</p><p> “入住管理”順序圖中,邊界類是“入住管理界面”,控制類是“入住按鈕”,實(shí)體類是“訂單”。 管理員通過向“入住管理界面”發(fā)出入住管理請(qǐng)求,管理員在輸入入住信息后,“入住管理”將輸入的入住信息保存到“訂單”中。</p><p> 3 系統(tǒng)的開發(fā)模式及開發(fā)工具選擇</p><p> 3.1 系統(tǒng)的開發(fā)模式——M
59、VC模式的概述</p><p> MVC模式是“Model-View-Controller”的縮寫,即“模式-視圖-控制器”,MVC應(yīng)用程序正是由這三個(gè)部分組成。MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的各個(gè)職能的分工。Model層是實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯部分,View層是用戶界面,用來和用戶進(jìn)行交互,Controller層是業(yè)務(wù)控制部分,也就是Model與View之間溝通的橋梁(段春梅,2009)[5]。而俗稱的Mo
60、del2就是采用MVC架構(gòu)的開發(fā)模式(Model2架構(gòu)圖見圖21)。</p><p> 圖21 Model2架構(gòu)圖</p><p> 如上圖,JSP頁面是用于表示層,Servlet用來處理任務(wù)。Servlet充當(dāng)控制器處理請(qǐng)求并負(fù)責(zé)創(chuàng)建JSP頁面需要的Beans。控制器還負(fù)責(zé)決定使用哪個(gè)JSP頁面轉(zhuǎn)發(fā)請(qǐng)求。JSP頁面檢索由servlet創(chuàng)建的對(duì)象,并在提取的模板內(nèi)插入動(dòng)態(tài)內(nèi)容(Qusa
61、y H.Mahmoud,2003)[6]。</p><p> 視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。模型進(jìn)行操作之后,其結(jié)果就是通過視圖來顯示的。一個(gè)應(yīng)用可能有很多不同的視圖,在MVC設(shè)計(jì)模式中,對(duì)于視圖的處理是僅限于視圖上數(shù)據(jù)的取值和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程處理。因此,在視圖中其實(shí)沒有真正的處理發(fā)生,它
62、只是輸出了數(shù)據(jù)并允許用戶進(jìn)行操作。</p><p> 模型(Model)是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定,是MVC最主要的核心。它可以用JavaBean和EJB等組件技術(shù)來處理數(shù)據(jù)庫的訪問。被模型返回的數(shù)據(jù)是中立的,因此模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需要寫一次就可以被多個(gè)視圖重復(fù)利用,所以可以減少代碼的重復(fù)。</p><p> 控制(Controller)是用
63、于管理用戶與視圖發(fā)生的交互,將模型與視圖匹配在一起,一起完成用戶的請(qǐng)求。用戶點(diǎn)擊一個(gè)按鈕,控制層將接受請(qǐng)求,并把信息傳給模型,讓模型進(jìn)行處理,而自身并不處理業(yè)務(wù)信息,當(dāng)選擇到符合要求的視圖就返回給用戶。也就是控制器接受用戶的信息輸入,再調(diào)用模型和視圖去完成用戶的需求。因此,一個(gè)模型可以對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖也可以對(duì)應(yīng)多個(gè)模型。 </p><p> 因此,MVC模式的處理過程就是:首先控制器接收用戶的請(qǐng)求,并選擇
64、哪個(gè)模型來進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來處理用戶的請(qǐng)求并返回?cái)?shù)據(jù),最后控制器選擇符合要求的視圖返回?cái)?shù)據(jù),并通過表達(dá)層呈現(xiàn)給用戶(王樹杰,2006)[7]。</p><p> MVC模式本身就是一個(gè)比較復(fù)雜的模式,所以在使用MVC進(jìn)行系統(tǒng)開發(fā)時(shí),一般選用MVC框架進(jìn)行開發(fā)。而Struts是當(dāng)前比較流行的MVC模式的Web框架,它繼承了MVC的各項(xiàng)特性,將表示與邏輯分離開來,程序結(jié)構(gòu)也非常清晰,因此也更容易理解,能
65、大大提高軟件開發(fā)的效率。因此,本系統(tǒng)將結(jié)合使用Struts框架進(jìn)行開發(fā)。</p><p> 3.2 集成開發(fā)環(huán)境的選擇</p><p> 集成開發(fā)環(huán)境(IDE Integrated Develop Environment)是用于提供程序開發(fā)環(huán)境的應(yīng)用程序,一般包括代碼編輯器、編譯器、調(diào)試器和圖形用戶界面工具,就是集成了代碼編寫功能、分析功能、編譯功能、調(diào)試功能等一體化的開發(fā)軟件服務(wù)套。
66、現(xiàn)在主要的集成開發(fā)環(huán)境有:Eclipse、NetBeans、Microsoft Visual Studio、Jbuilder、Jdeveloper、Visual Basic等等。</p><p> 對(duì)酒店管理系統(tǒng)的開發(fā)平臺(tái)的選擇上,將選擇MyEclipse,它是用于開發(fā)Java、J2EE的Eclipse插件集合,功能強(qiáng)大,支持廣泛。</p><p> 它是對(duì)Eclipse IDE的擴(kuò)展
67、,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML、Struts、JSF、CSS、Javascript、SQL、Hibernate。在結(jié)構(gòu)上,MyEclipse的特征分為7類:J2EE模型;WEB開發(fā)工具;EJB開發(fā)工具應(yīng)用程序服務(wù)器的連接器;J2EE項(xiàng)目部署服務(wù);數(shù)據(jù)庫服務(wù);MyEclips
68、e整合幫助。對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們(劉偉,2008)[8]。</p><p> 3.3 數(shù)據(jù)庫的選擇</p><p> 數(shù)據(jù)庫是計(jì)算機(jī)應(yīng)用系統(tǒng)中的一種專門管理數(shù)據(jù)資源的系統(tǒng)?,F(xiàn)在很多的系統(tǒng)都是借助于數(shù)據(jù)庫的幫助,將冗長復(fù)雜的工作變得簡單。常用的數(shù)據(jù)庫主要有:Informix、Sybase、SQL Server、My
69、SQL、Access等。其中,Access是一種桌面數(shù)據(jù)庫,只適合數(shù)據(jù)量少的應(yīng)用,在處理少量數(shù)據(jù)和單機(jī)訪問的數(shù)據(jù)庫時(shí)是很好的,效率也很高。但是并不適合處理數(shù)量多的程序。Sybase多用于銀行系統(tǒng),對(duì)中文的支持較差,Informix的網(wǎng)絡(luò)性能不好,數(shù)據(jù)備份速度慢,開發(fā)工具不成熟,可移植性差。MySQL比較適合個(gè)人和小型企業(yè)使用。SQL Server是一種典型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以在許多操作系統(tǒng)上運(yùn)行,它使用Transact-SQL語
70、言完成數(shù)據(jù)操作。</p><p> 對(duì)酒店管理系統(tǒng)的數(shù)據(jù)庫的選擇上,將選擇SQL Server。與其他數(shù)據(jù)庫管理系統(tǒng)相比較,它繼承了數(shù)據(jù)庫軟件設(shè)計(jì)和引擎方面的優(yōu)勢,是新一代網(wǎng)絡(luò)應(yīng)用程序的最佳數(shù)據(jù)庫。由于SQL Server是開放式的系統(tǒng),其它系統(tǒng)可以與它進(jìn)行完好的交互操作。它具有可靠性、可伸縮性、可用性、可管理性等特點(diǎn),為用戶提供完整的數(shù)據(jù)庫解決方案(毛一梅,2010)[9]。</p><p
71、> 本系統(tǒng)在選用SQL Server產(chǎn)品版本上,將選用SQL Server 2005。SQL Server 2005是一個(gè)全面的數(shù)據(jù)庫平臺(tái),使用集成的商業(yè)智能工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。它包括以下工具:關(guān)系型數(shù)據(jù)庫、復(fù)制服務(wù)、通知服務(wù)、集成服務(wù)、分析服務(wù)、報(bào)表服務(wù)、管理工具和開發(fā)工具。與SQL Server 2000相比,SQL Server 2005在企業(yè)數(shù)據(jù)管理、開發(fā)人員效率和商業(yè)智能等三個(gè)重要方面改善了用戶的數(shù)據(jù)基礎(chǔ)架構(gòu),
72、為企業(yè)中的用戶提供一個(gè)更安全、更可靠和更高效的平臺(tái),用于企業(yè)數(shù)據(jù)管理和商業(yè)智能應(yīng)用(康會(huì)光,2007)[10]。</p><p> 4 酒店管理系統(tǒng)的系統(tǒng)設(shè)計(jì)</p><p> 4.1 系統(tǒng)總體功能結(jié)構(gòu)設(shè)計(jì)</p><p> 本系統(tǒng)是一個(gè)能夠?qū)崿F(xiàn)客房在線預(yù)訂、客房管理和新聞管理等功能的酒店管理系統(tǒng)。根據(jù)系統(tǒng)分析將酒店管理系統(tǒng)劃分成兩個(gè)子系統(tǒng):“用戶子系統(tǒng)”和“
73、管理員子系統(tǒng)”?!坝脩糇酉到y(tǒng)”包括“酒店新聞查看”模塊、“網(wǎng)上預(yù)定”模塊、“預(yù)定管理”模塊和“訂單查看”模塊,“管理員子系統(tǒng)”包括“會(huì)員管理”模塊、“客房管理”模塊、“新聞管理”模塊和“入住管理”模塊。以此繪制出系統(tǒng)的總體功能結(jié)構(gòu)圖(總體功能結(jié)構(gòu)圖見圖22)。</p><p> 圖22 總體功能結(jié)構(gòu)圖</p><p><b> 4.2 數(shù)據(jù)庫設(shè)計(jì)</b></
74、p><p> 數(shù)據(jù)庫設(shè)計(jì)就是對(duì)數(shù)據(jù)庫的設(shè)計(jì),包括數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)(E-R圖)和數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)(表設(shè)計(jì))。</p><p> (1)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p> 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)的主要工具是E-R圖,E-R圖即實(shí)體-聯(lián)系圖(Entity Relationship Diagram),它提供表示實(shí)體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實(shí)世界的概念模型(周漢平
75、,2010)[11]。</p><p> 實(shí)體型:在E-R圖中是用矩形表示的,矩形內(nèi)寫明實(shí)體名;</p><p> 屬性:在E-R圖中是用橢圓形表示的,并用無向邊與相應(yīng)的實(shí)體連接起來;</p><p> 聯(lián)系:在E-R圖中是用菱形表示的,菱形內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)的實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型。</p><p>
76、; 通過分析,本系統(tǒng)有6個(gè)實(shí)體,分別是:用戶實(shí)體、管理員實(shí)體、新聞實(shí)體、訂單實(shí)體、房間實(shí)體和房間類型實(shí)體。根據(jù)這6個(gè)實(shí)體繪制出酒店管理系統(tǒng)的E-R圖(酒店管理系統(tǒng)的E-R圖見圖23)。</p><p> 圖23 酒店管理系統(tǒng)E-R圖</p><p> 管理員實(shí)體屬性:管理員編號(hào)、管理員賬號(hào)、管理員姓名和密碼;</p><p> 用戶實(shí)體屬性:用戶編號(hào)、用戶姓
77、名、會(huì)員名、密碼、年齡、職業(yè)、聯(lián)系方式(Email)等;</p><p> 新聞實(shí)體屬性:新聞編號(hào)、新聞標(biāo)題、新聞內(nèi)容等;</p><p> 訂單實(shí)體屬性:訂單編號(hào)、生成時(shí)間、總金額等;</p><p> 房間實(shí)體屬性:房間編號(hào)、房間名稱、房間簡介、房間價(jià)格、房間數(shù)量、房間圖片等;</p><p> 房間類型屬性:房間類型編號(hào)和房間類
78、型名。</p><p> ?。?)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)就是根據(jù)數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)所設(shè)計(jì)好的E-R圖轉(zhuǎn)換為所選用的DBMS所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu),主要是對(duì)數(shù)據(jù)庫表進(jìn)行設(shè)計(jì)。</p><p> 酒店管理系統(tǒng)共有管理員表、用戶表、房間信息表、房間類型表、訂單表和新聞信息表6張表。</p><p>
79、?、俟芾韱T表設(shè)計(jì)(管理員表見表11)</p><p><b> 表11 管理員表</b></p><p> ②用戶表設(shè)計(jì)(用戶表見表12)</p><p><b> 表12 用戶表</b></p><p> ?、鄯块g信息表設(shè)計(jì)(房間信息表見表13)</p><p>&l
80、t;b> 表13 房間信息表</b></p><p><b> 續(xù)表</b></p><p> ?、芊块g類型表設(shè)計(jì)(房間類型表見表14)</p><p><b> 表14 房間類型表</b></p><p> ⑤訂單表設(shè)計(jì)(訂單表見表15)</p><p
81、><b> 表15 訂單表</b></p><p> ?、扌侣勑畔⒈碓O(shè)計(jì)(新聞信息表見表16)</p><p><b> 表16 新聞信息表</b></p><p> 4.3 系統(tǒng)的交互設(shè)計(jì)</p><p> 結(jié)合系統(tǒng)分析的順序圖,進(jìn)行系統(tǒng)的交互設(shè)計(jì),繪制出“用戶子系統(tǒng)”和“管理員子系
82、統(tǒng)”各個(gè)功能模塊的順序圖。</p><p> ?。?)“用戶子系統(tǒng)”順序圖</p><p> ?、佟熬频晷侣劜榭础蹦K</p><p> “酒店新聞查看”模塊順序圖如圖所示(“酒店新聞查看”模塊順序圖見圖24)</p><p> 圖24 “酒店新聞查看”模塊順序圖</p><p> 用戶發(fā)出查看酒店新聞的請(qǐng)求,點(diǎn)
83、擊fg-affiche.jsp中的查看按鈕,系統(tǒng)在Affiche中查看符合要求的信息,然后顯示。若用戶想查看新聞的詳細(xì)信息,則跳轉(zhuǎn)入fg-afficheSeclect.jsp。</p><p><b> ②“網(wǎng)上預(yù)定”模塊</b></p><p> “網(wǎng)上預(yù)定”模塊順序圖如圖所示(“網(wǎng)上預(yù)定”模塊順序圖見圖25)</p><p> 圖25
84、 “網(wǎng)上預(yù)定”模塊順序圖</p><p> 用戶在room.jsp查看客房信息,并可以進(jìn)入roomdetail.jsp頁面中查看客房的詳細(xì)信息,經(jīng)過選擇,可以在book.jsp頁面中生成預(yù)定信息。</p><p><b> ?、邸邦A(yù)定管理”模塊</b></p><p> “預(yù)定管理”模塊順序圖如圖所示(“預(yù)定管理”模塊順序圖見圖26)<
85、;/p><p> 圖26 “預(yù)定管理”模塊順序圖</p><p> 用戶可以在main.html頁面中發(fā)出預(yù)定管理請(qǐng)求,并進(jìn)行刪除和修改預(yù)訂信息的操作,待完全確定后,可以確定預(yù)訂并支付,在buy.jsp頁面中生成訂單信息。</p><p><b> ?、堋坝唵尾榭础蹦K</b></p><p> “訂單查看”模塊順序圖
86、如圖所示(“訂單查看”模塊順序圖見圖27)</p><p> 圖27 “訂單查看”模塊順序圖</p><p> 用戶發(fā)出訂單查看的請(qǐng)求,cart-see.jsp在Order中查看符合要求的信息,然后顯示。若用戶想查看訂單的詳細(xì)信息,則跳轉(zhuǎn)入cart-detail.jsp。</p><p> (2)“管理員子系統(tǒng)”順序圖</p><p>
87、<b> ①“會(huì)員管理”模塊</b></p><p> “會(huì)員管理”模塊順序圖如圖所示(“會(huì)員管理”模塊順序圖見圖28)</p><p> 圖28 “會(huì)員管理”模塊順序圖</p><p> 管理員發(fā)出管理會(huì)員的請(qǐng)求,管理員可以在bg-memberDel.jsp中對(duì)會(huì)員信息進(jìn)行刪除,并且可以在bg-member.jsp中查看會(huì)員信息。&l
88、t;/p><p><b> ②“客房管理”模塊</b></p><p> “客房管理”模塊順序圖如圖所示(“客房管理”模塊順序圖見圖29)</p><p> 圖29 “客房管理”模塊順序圖</p><p> 管理員發(fā)出管理客房的請(qǐng)求,管理員可以在bg-roomDel.jsp中,刪除客房信息,在bg-roomAdd.j
89、sp中,增加客房信息,并且可以在bg-room.jsp中查看客房信息。</p><p><b> ?、邸靶侣劰芾怼蹦K</b></p><p> “新聞管理”模塊順序圖如圖所示(“新聞管理”模塊順序圖見圖30)</p><p> 圖30 “新聞管理”模塊順序圖</p><p> 管理員發(fā)出管理新聞的請(qǐng)求,管理員可以
90、在bg-afficheAdd.jsp中,增加客房信息,在bg-afficheDel.jsp中,刪除客房信息,在bg-afficheUpd.jsp中,修改客房信息,并且可以在bg-affiche.jsp中查看客房信息。</p><p><b> ④“入住管理”模塊</b></p><p> “入住管理”模塊順序圖如圖所示(“入住管理”模塊順序圖見圖31)</p
91、><p> 圖31 “入住管理”模塊順序圖</p><p> 管理員發(fā)出入住管理的請(qǐng)求,管理員可以在bg-orderAdd.jsp中,對(duì)已經(jīng)付款的用戶添加入住信息到數(shù)據(jù)庫。</p><p> 4.4 系統(tǒng)的類圖設(shè)計(jì)</p><p> 類圖設(shè)計(jì)就是對(duì)系統(tǒng)分析階段用類圖表示的概念模型進(jìn)行細(xì)化,然后得到細(xì)化類圖。而概念模型的細(xì)化,主要表明的是各
92、個(gè)類所擁有的屬性和方法、各個(gè)屬性的數(shù)據(jù)類型和各個(gè)方法的返回值等,并以此繪制出“酒店管理系統(tǒng)”類圖(“酒店管理系統(tǒng)”類圖見圖32)。</p><p> 圖32 “酒店管理系統(tǒng)”類圖</p><p> “酒店管理系統(tǒng)”類圖主要有6個(gè)類,包括“Manager”類、“Member”類、“Order”類、 “Room”類、“RoomType”類和“Affiche”類。如圖33,每個(gè)類都有其對(duì)應(yīng)的
93、屬性和方法。</p><p> 5 酒店管理系統(tǒng)的系統(tǒng)實(shí)現(xiàn)</p><p> 5.1 系統(tǒng)的關(guān)鍵技術(shù)</p><p> 系統(tǒng)的關(guān)鍵技術(shù)包括數(shù)據(jù)庫連接以及訪問技術(shù)、圖片上傳技術(shù)和系統(tǒng)實(shí)現(xiàn)的相關(guān)技術(shù)。其中數(shù)據(jù)庫連接以及訪問技術(shù)使用的是JDBC技術(shù),圖片上傳技術(shù)使用的是Struts技術(shù),系統(tǒng)實(shí)現(xiàn)的相關(guān)技術(shù)包括驗(yàn)證技術(shù)、添加技術(shù)、刪除技術(shù)、修改技術(shù)和查看技術(shù)。<
94、/p><p> 5.1.1 數(shù)據(jù)庫連接以及訪問技術(shù)——JDBC技術(shù)</p><p> 在數(shù)據(jù)庫處理時(shí),資源占用最大的是建立數(shù)據(jù)庫連接。若每一個(gè)用戶訪問時(shí),都重新建立連接,不僅用戶要長時(shí)間等待,而且系統(tǒng)也可能由于資源消耗過大而停止響應(yīng)。如果能夠重用已建立的數(shù)據(jù)庫連接,則可以很好地解決這些問題,從而提高整個(gè)系統(tǒng)的性能。在處理體系中,采用了JDBCConnection機(jī)制來保證這一點(diǎn)(毋玉芝,2
95、010)[12]。</p><p> JDBC(Java Database Connectivity)是Java運(yùn)行平臺(tái)核心類庫中的一部分,提供了訪問數(shù)據(jù)庫的API,它由一些java類和接口組成。在JSP中可以使用JDBC實(shí)現(xiàn)對(duì)數(shù)據(jù)庫中表記錄的查詢、修改和刪除等操作。使用JDBC的應(yīng)用程序一旦和數(shù)據(jù)庫建立連接,就可以使用JDBC提供的API操作數(shù)據(jù)庫。建立好的數(shù)據(jù)庫連接在JSP程序中的斷開都是邏輯斷開,而實(shí)際的
96、物理連接被存儲(chǔ)在池中并被維護(hù)(連貽捷,2008)[13]。這樣,當(dāng)下一個(gè)用戶訪問時(shí),直接從連接緩沖池中取得一個(gè)數(shù)據(jù)庫連接,而不需重新連接數(shù)據(jù)庫,因此,可以大大地提高系統(tǒng)的響應(yīng)速度。</p><p> 數(shù)據(jù)庫連接和存取對(duì)該酒店管理系統(tǒng)來說是必不可少的重要部分,用戶信息、客房信息、酒店新聞信息和用戶預(yù)訂酒店的生成的訂單信息都會(huì)存放在數(shù)據(jù)庫中供程序調(diào)度和處理。訪問數(shù)據(jù)庫通過兩種方法:建立JDBC-ODBC橋接器和加載
97、純Java數(shù)據(jù)庫驅(qū)動(dòng)程序。這兩種訪問方式對(duì)數(shù)據(jù)庫的訪問都是由Internet Information Server完成的。通過Web瀏覽器用HTTP協(xié)議向IIS(Internet信息服務(wù)器)發(fā)送請(qǐng)求,IIS執(zhí)行對(duì)數(shù)據(jù)庫的訪問,并返回一個(gè)HTML格式的文檔響應(yīng)。</p><p> 在JSP中,通過JDBC提供的API通過將純Java數(shù)據(jù)庫驅(qū)動(dòng)程序轉(zhuǎn)換為DBMS(數(shù)據(jù)庫管理系統(tǒng))所使用的專用協(xié)議來實(shí)現(xiàn)和特定的DBM
98、S交互信息。簡單的說,JDBC可以調(diào)用本地的Java驅(qū)動(dòng)程序和相應(yīng)的數(shù)據(jù)庫建立連接,使用純Java數(shù)據(jù)庫驅(qū)動(dòng)程序方式和數(shù)據(jù)庫建立連接(岳建斌,2010)[14]。</p><p> 本系統(tǒng)通過使用JDBC技術(shù)來訪問數(shù)據(jù)庫,通過以下步驟:</p><p> (1)加載純Java數(shù)據(jù)庫驅(qū)動(dòng)程序</p><p> 使用純Java數(shù)據(jù)庫驅(qū)動(dòng)程序訪問數(shù)據(jù)庫不需要設(shè)置數(shù)據(jù)
99、源,由于不依賴于ODBC,使得應(yīng)用程序具有很好的移植性。不足之處在于,Java數(shù)據(jù)庫驅(qū)動(dòng)程序升級(jí)后,訪問數(shù)據(jù)庫的應(yīng)用程序想使用升級(jí)版本的驅(qū)動(dòng)程序就必須重新安裝新的驅(qū)動(dòng)程序。</p><p> ?。?)和指定的數(shù)據(jù)庫建立連接</p><p> SQL Server數(shù)據(jù)庫服務(wù)器占用的端口是1433。應(yīng)用程序要和SQL Server數(shù)據(jù)庫服務(wù)器管理的數(shù)據(jù)庫bhotel建立連接,訪問數(shù)據(jù)庫bho
100、tel的用戶的ID和密碼分別是sa,123456,那么建立連接的代碼如下:</p><p> private String dbDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; </p><p><b> // 數(shù)據(jù)庫的驅(qū)動(dòng)</b></p><p> pr
101、ivate String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=</p><p> behotel"; // URL地址</p><p> public Connection connection = null;</p><p> public JDBCo
102、nnection() {</p><p><b> try {</b></p><p> Class.forName(dbDriver).newInstance(); // 加載數(shù)據(jù)庫驅(qū)動(dòng)</p><p> connection = DriverManager.getConnection(url, "sa", &quo
103、t;123456"); // 加載數(shù)據(jù)庫</p><p> } catch (Exception ex) {</p><p> System.out.println("數(shù)據(jù)庫加載失敗");</p><p><b> }</b></p><p><b> }</b>
104、;</p><p> 應(yīng)用程序一旦和某個(gè)數(shù)據(jù)庫建立連接,就可以通過SQL語句和該數(shù)據(jù)庫中的表交互信息,可以查詢和更新表中的記錄。</p><p> 5.1.2 圖片上傳技術(shù)——Struts技術(shù)</p><p> Struts2是從Struts1發(fā)展而來,以Web Work的設(shè)計(jì)思想為核心,使用一個(gè)攔截器(Filter Dispatcher)作為其中心處理器,將
105、Action類和Servlet API進(jìn)行了分離。Struts2的簡單處理流程如下:</p><p> ?。?)向?yàn)g覽器發(fā)送請(qǐng)求;</p><p> ?。?)中心處理器根據(jù)struts.xml文件查找對(duì)應(yīng)的處理請(qǐng)求的Action類;</p><p> ?。?)WebWork的攔截器自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能;</p><p> (4)如果Str
106、uts.xml文件中配置Method參數(shù),則調(diào)用Method參數(shù)對(duì)應(yīng)的Action類中的Method方法,否則調(diào)用通用的Execute方法來處理用戶請(qǐng)求</p><p> (5)將Action類中的對(duì)應(yīng)方法返回的結(jié)果響應(yīng)給瀏覽器</p><p> 客戶端發(fā)起的每一個(gè)請(qǐng)求都會(huì)發(fā)送到一個(gè)指定的Action里面,Action實(shí)際上就是一個(gè)指定類里面的一個(gè)指定的方法,當(dāng)頁面發(fā)送一個(gè)請(qǐng)求,Str
107、uts的監(jiān)聽器就會(huì)劫持這個(gè)請(qǐng)求,根據(jù)Struts的配置文件查找到名字相符的Action,調(diào)用與其相匹配的方法來處理請(qǐng)求,處理完畢,將結(jié)果轉(zhuǎn)發(fā)給result頁(馬召,2010)[15]。</p><p> 在管理員進(jìn)行客房信息管理,添加新的客房信息時(shí),對(duì)房間信息的輸入,有一個(gè)圖片上傳的過程。而Struts上傳思路是在Action中,通過獲取上傳文件的相關(guān)屬性,再用文件輸入流和文件輸出流來把文件存儲(chǔ)在服務(wù)器相關(guān)緩存
108、路徑中,最后將文件放置目標(biāo)文件中。這樣管理員就能上傳房間的圖片,用戶也可以進(jìn)行圖片的查看了。</p><p><b> 相關(guān)代碼如下:</b></p><p> public class UploadFile {</p><p> public String upload(String dir, FormFile formFile) th
109、rows Exception {</p><p> Date date = new Date();</p><p> String fname = formFile.getFileName();// 取欲上傳的文件的名字和長度</p><p> int i = fname.indexOf(".");// 將上傳時(shí)間加入文件名</p&g
110、t;<p> String name = String.valueOf(date.getTime());</p><p> String type = fname.substring(i + 1);</p><p> fname = name + "." + type;</p><p> InputStream stream
111、In = formFile.getInputStream();// 創(chuàng)建讀取管理員上傳文件的對(duì)象</p><p> File uploadFile = new File(dir); // 創(chuàng)建把上傳數(shù)據(jù)寫到目標(biāo)文件的對(duì)象</p><p> if (!uploadFile.exists() || uploadFile == null) { </p><p> /
112、/ 判斷指定路徑是否存在,不存在則創(chuàng)建路徑</p><p> uploadFile.mkdirs();}</p><p> String path = uploadFile.getPath() + "/" + fname;</p><p> OutputStream streamOut = new FileOutputStream(path
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文基于jsp的畢業(yè)論文管理系統(tǒng)的設(shè)計(jì)
- 基于jsp的酒店客房信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 畢業(yè)論文---基于jsp的在線畢業(yè)論文管理系統(tǒng)
- 基于jsp的倉儲(chǔ)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文--基于jsp的書店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于jsp的員工考勤管理系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于jsp的酒店網(wǎng)站系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)論文開題報(bào)告
- 基于jsp的黨員管理系統(tǒng)畢業(yè)論文
- 酒店管理畢業(yè)論文---酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于jsp的網(wǎng)上花店管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文
- 基于jsp的酒店管理系統(tǒng)的分析與設(shè)計(jì)【文獻(xiàn)綜述】
- 基于jsp的酒店網(wǎng)站系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)論文開題報(bào)告
- jsp倉庫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- [jsp畢設(shè)]jsp+sql酒店賓館管理系統(tǒng)(畢業(yè)設(shè)計(jì)畢業(yè)論文)
- 基于jsp的酒店管理系統(tǒng)論文
- jsp倉庫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于java酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)論文
- 基于jsp的圖書管理系統(tǒng)畢業(yè)論文
- 基于jsp的bbs論壇管理系統(tǒng) 畢業(yè)論文
- 基于jsp的圖書管理系統(tǒng)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論