酒店客房管理系統(tǒng) 畢業(yè)論文
《酒店客房管理系統(tǒng) 畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《酒店客房管理系統(tǒng) 畢業(yè)論文(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、酒店客房管理系統(tǒng) V1.0 34 1 緒 論 ………………………………………………… 3 1.1 相關(guān)技術(shù)概述 3 1.1.1 軟件工程方法 3 1.1.2 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì) 4 1.2 開(kāi)發(fā)環(huán)境與開(kāi)發(fā)工具 5 1.2.1 J2EE概述 5 1.2.2 Tomcat 6 1.2.3 Struts 7 1.2.4 MS SQL Server 7 2 系統(tǒng)需求分析與概要設(shè)計(jì) 8 2.1 業(yè)務(wù)流程設(shè)計(jì) 9 2.2 功能模塊設(shè)計(jì) 11 2.3 數(shù)據(jù)庫(kù)概念模型設(shè)計(jì) 12 2.4 數(shù)據(jù)流程
2、設(shè)計(jì) 15 2.5 數(shù)據(jù)字典 17 2.5.1數(shù)據(jù)流設(shè)計(jì) 17 2.5.2數(shù)據(jù)處理設(shè)計(jì) 19 2.5.3數(shù)據(jù)庫(kù)表設(shè)計(jì) 21 3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 23 3.1 軟件流程設(shè)計(jì) 23 3.1.1 軟件總體設(shè)計(jì) 23 3.1.2 各模塊流程設(shè)計(jì) 24 3.2 數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì) 27 3.3 系統(tǒng)設(shè)計(jì) 28 3.3.1 數(shù)據(jù)庫(kù)連接池設(shè)計(jì) 28 3.3.2 系統(tǒng)菜單設(shè)計(jì) 29 3.3.3 登錄模塊功能設(shè)計(jì) 30 3.3.4 會(huì)員模塊功能設(shè)計(jì) 30 3.3.5系統(tǒng)管理員模塊功能設(shè)計(jì) 32 酒店客房管理系統(tǒng) 摘 要 近年來(lái),隨著我國(guó)改革開(kāi)放的發(fā)展,國(guó)內(nèi)的酒店服
3、務(wù)業(yè)得到了日新月異的發(fā)展?,F(xiàn)代酒店作為一體化的接待場(chǎng)所,是一個(gè)旅游城市的窗口,也可以說(shuō)是一個(gè)小型社會(huì)。作為一種以服務(wù)為主的無(wú)煙工業(yè),世界各國(guó)對(duì)此行業(yè)的重視程度并不亞于其它工業(yè)。在信息高度發(fā)達(dá)的今天,酒店制度的改革已經(jīng)成為一種更廣泛、全面的潮流。該“酒店客房管理系統(tǒng)設(shè)計(jì)”是基于jsp平臺(tái)框架,依托Tomcat服務(wù)器,使用MyEclipse開(kāi)發(fā)以及SQL Server 2000數(shù)據(jù)庫(kù)的基礎(chǔ)上實(shí)現(xiàn)的。該系統(tǒng)每間客房的信息,同時(shí)可以實(shí)現(xiàn)預(yù)定、接待、結(jié)賬、換房、押金,并且對(duì)于這些系統(tǒng)提供了相應(yīng)的查詢功能,而且有完善的多用戶安全功能,提供管理員和普通用戶兩種登錄權(quán)限。保證在我國(guó)經(jīng)濟(jì)持續(xù)發(fā)展、信息時(shí)代日益更
4、新的今天,服務(wù)行業(yè)依然蒸蒸日上。針對(duì)C/S結(jié)構(gòu)的酒店客房管理系統(tǒng)存在的不足,使用JSP+JavaBean開(kāi)發(fā)模式、Tomcat作為Web服務(wù)器、SQL Server 2000作為后臺(tái)數(shù)據(jù)庫(kù),開(kāi)發(fā)出了B/S結(jié)構(gòu)的酒店客房管理系統(tǒng)。從實(shí)際運(yùn)行效果看,該系統(tǒng)能減少軟件的開(kāi)發(fā)與維護(hù)成本及酒店用戶的使用成本,體現(xiàn)了較好的擴(kuò)展性、健壯性、穩(wěn)定性,提高了酒店客房管理的效率。 1 緒 論 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。它已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計(jì)、圖形圖像處
5、理、教育培訓(xùn)以及游戲娛樂(lè)等。各行各業(yè)的人們無(wú)須經(jīng)過(guò)特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了多如牛毛的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開(kāi)發(fā)適合自己特殊需求的軟件。 今天,計(jì)算機(jī)已經(jīng)成為我們學(xué)習(xí)和工作的得力助手;計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長(zhǎng)足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計(jì)算機(jī)之所以如此流行的原因主要有以下幾個(gè)方面: 首先,計(jì)算機(jī)可以代替人工進(jìn)行許多繁雜的勞動(dòng); 其次,計(jì)算機(jī)可以節(jié)省許多資源; 第三,計(jì)算機(jī)可以大大的提高人們的工作效率; 第四,計(jì)算機(jī)可以使敏感信息更加安全,等等。 隨著人員流動(dòng)規(guī)模的不斷擴(kuò)大,
6、賓館數(shù)量的急劇增加,有關(guān)客房管理的各種信息量也在不斷成倍增長(zhǎng)。面對(duì)龐大的信息量,就需要有酒店客房訂購(gòu)管理系統(tǒng)來(lái)提高客房管理工作的效率。我希望能用我所學(xué)的知識(shí)編制出一個(gè)實(shí)用的程序來(lái)幫助學(xué)進(jìn)行更有效的酒店客房預(yù)定系統(tǒng)。通過(guò)這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,從而減少了管理方面的工作量。 傳統(tǒng)手工的客房信息管理,管理過(guò)程繁瑣而復(fù)雜,執(zhí)行效率低,并且易于出錯(cuò)。通過(guò)這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,實(shí)現(xiàn)了客房信息管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。 酒店客房預(yù)定系統(tǒng)對(duì)賓館加強(qiáng)客房信息管理有著極其重要的作用,就一所客房
7、數(shù)量較大的賓館來(lái)說(shuō),它的設(shè)計(jì)內(nèi)容非常復(fù)雜而且繁多,比如擁有客房管理、客房類(lèi)別信息管理、預(yù)定信息管理等功能等等。 1.1 相關(guān)技術(shù)概述 1.1.1 軟件工程方法 軟件工程以計(jì)算機(jī)理論及其他相關(guān)學(xué)科的理論為指導(dǎo),采用工程化的概念、原理、技術(shù)和方法進(jìn)行軟件的開(kāi)發(fā)和維護(hù),把經(jīng)實(shí)踐證明的科學(xué)的管理措施與最先進(jìn)的技術(shù)方法結(jié)合起來(lái)。軟件工程研究的目標(biāo)是:“以較少的投資獲得高質(zhì)量的軟件”。 軟件工程研究的主要內(nèi)容有四個(gè)方面: 1、軟件開(kāi)發(fā)方法,主要討論軟件開(kāi)發(fā)的各種方法及其工作模型,它包括多方面的任務(wù),如軟件系統(tǒng)需求分析、總體設(shè)計(jì),以及如何構(gòu)建良好的軟件結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)及算法設(shè)計(jì)等,同時(shí)討論具體實(shí)現(xiàn)的
8、技術(shù)。 2、軟件工具為軟件工程方法提供支持,研究計(jì)算機(jī)輔助軟件工程,建立軟件工程環(huán)境。 3、軟件工程管理,是指對(duì)軟件工程全過(guò)程的控制和管理,包括計(jì)劃安排、成本估算、項(xiàng)目管理、軟件質(zhì)量管理。 4、軟件工程標(biāo)準(zhǔn)化與規(guī)范化,使得各項(xiàng)工作有章可循,以保證軟件生產(chǎn)效率和軟件質(zhì)量的提高。 軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開(kāi)銷(xiāo)合宜的產(chǎn)品。正確性指軟件產(chǎn)品達(dá)到預(yù)期功能的程度??捎眯灾杠浖窘Y(jié)構(gòu)、實(shí)現(xiàn)及文檔為用戶可用的程度。開(kāi)銷(xiāo)合宜是指軟件開(kāi)發(fā)、運(yùn)行的整個(gè)開(kāi)銷(xiāo)滿足用戶要求的程度。 軟件工程過(guò)程:生產(chǎn)一個(gè)最終能滿足需求且達(dá)到工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過(guò)程主要包括開(kāi)發(fā)過(guò)程、運(yùn)作過(guò)程
9、、維護(hù)過(guò)程。它們覆蓋了需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動(dòng)。需求活動(dòng)包括問(wèn)題分析和需求分析。問(wèn)題分析獲取需求定義,又稱(chēng)軟件需求規(guī)約,它生成功能規(guī)約。設(shè)計(jì)活動(dòng)一般包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)建立整個(gè)軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說(shuō)明、每一模塊的接口定義。詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說(shuō)明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說(shuō)明及加工描述。實(shí)現(xiàn)活動(dòng)把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動(dòng)貫穿于整個(gè)開(kāi)發(fā)過(guò)程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動(dòng)包括使用過(guò)程中的擴(kuò)充、修改與完善。伴隨以上過(guò)程,還有管理過(guò)程、支持過(guò)程、培訓(xùn)過(guò)程等。 軟件工程的原則是指圍繞工程設(shè)計(jì)、工程支持以及工
10、程管理在軟件開(kāi)發(fā)過(guò)程中必須遵循的原則[ 4]。 軟件生命周期是軟件工程最基本的重要概念。通常把軟件從開(kāi)始研制(形成概念)到最終軟件被廢棄不用這整個(gè)階段稱(chēng)為軟件的生命期。為了能對(duì)軟件進(jìn)行有條不紊、有步驟的開(kāi)發(fā)和管理。而軟件工程采用的生命周期法學(xué)就是從時(shí)間的角度對(duì)軟件開(kāi)發(fā)和維護(hù)的復(fù)雜問(wèn)題進(jìn)行分解,我們把軟件生命周期依次劃分為若干個(gè)階段,每個(gè)階段都有相對(duì)獨(dú)立的任務(wù),然后逐步完成。應(yīng)該遵循的基本原則是:各階段的任務(wù)彼此間盡可能相對(duì)獨(dú)立,同一階段各項(xiàng)任務(wù)的性質(zhì)盡可能相同,從而降低每個(gè)階段任務(wù)的復(fù)雜程度,簡(jiǎn)化各階段之間的聯(lián)系,有利于軟件開(kāi)發(fā)工程的管理。在完成各階段的任務(wù)時(shí),應(yīng)該采用適合階段任務(wù)特點(diǎn)的系統(tǒng)
11、化的技術(shù)方法即結(jié)構(gòu)分析或結(jié)構(gòu)設(shè)計(jì)技術(shù)。 1.1.2 數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì) 數(shù)據(jù)庫(kù)是MIS(管理信息系統(tǒng))、DDS(決策支持系統(tǒng))、OAS(辦公室自動(dòng)化系統(tǒng))、ECS(電子商務(wù)系統(tǒng))的基礎(chǔ)和重要組成部分,數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)一個(gè)給定的應(yīng)用環(huán)境構(gòu)造(設(shè)計(jì))最優(yōu)的數(shù)據(jù)模型,然后據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求。 需求分析是數(shù)據(jù)庫(kù)設(shè)計(jì)的最基礎(chǔ)工作,充分了解用戶的組織機(jī)構(gòu)、業(yè)務(wù)規(guī)則、數(shù)據(jù)需求、完整性約束條件、事務(wù)處理和安全性要求等,畫(huà)出組織機(jī)構(gòu)圖、業(yè)務(wù)流程圖,詳細(xì)描述用戶應(yīng)用環(huán)境的業(yè)務(wù)流程、數(shù)據(jù)需求。進(jìn)一步完成概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)
12、據(jù)庫(kù)的運(yùn)行和維護(hù)。 這一設(shè)計(jì)階段是在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及他們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。 這個(gè)階段不用考慮所采取的數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)類(lèi)型和機(jī)器類(lèi)型等問(wèn)題。本系統(tǒng)使用的是E-R圖進(jìn)行數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)。 1.2 開(kāi)發(fā)環(huán)境與開(kāi)發(fā)工具 本系統(tǒng)基于以下軟件設(shè)備和硬件設(shè)備環(huán)境: 硬件環(huán)境:Intel P4 3.0G,1GB內(nèi)存,80GB硬盤(pán); 軟件環(huán)境:Windows XP SP3,JDK1.5,Myeclipse6.0,Tomcat,MS SQL Server。 1.2.1 J2EE概述 J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企
13、業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫(xiě)一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。 J2EE的優(yōu)勢(shì)在于J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制: 1. 保留現(xiàn)存的IT資產(chǎn): 由于
14、企業(yè)必須適應(yīng)新的商業(yè)需求,利用已有的企業(yè)信息系統(tǒng)方面的投資,而不是重新制定全盤(pán)方案就變得很重要。這樣,一個(gè)以漸進(jìn)的(而不是激進(jìn)的,全盤(pán)否定的)方式建立在已有系統(tǒng)之上的服務(wù)器端平臺(tái)機(jī)制是公司所需求的。J2EE架構(gòu)可以充分利用用戶原有的投資,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。這之所以成為可能是因?yàn)镴2EE擁有廣泛的業(yè)界支持和一些重要的企業(yè)計(jì)算領(lǐng)域供應(yīng)商的參與。每一個(gè)供應(yīng)商都對(duì)現(xiàn)有的客戶提供了不用廢棄已有投資,進(jìn)入可移植的J2EE領(lǐng)域的升級(jí)途徑。由于基于J
15、2EE平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用。 2.高效的開(kāi)發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開(kāi)發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開(kāi)發(fā)時(shí)間。高級(jí)中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù): 3.狀態(tài)管理服務(wù) -- 讓開(kāi)發(fā)人員寫(xiě)更少的代碼,不用關(guān)心如何管理狀態(tài),這樣能夠更快地完成程序開(kāi)發(fā)。 4.持續(xù)性服務(wù) -- 讓開(kāi)發(fā)人員不用對(duì)數(shù)據(jù)訪問(wèn)邏輯進(jìn)行編碼就能編寫(xiě)應(yīng)用程序,能生成更輕巧,與數(shù)據(jù)庫(kù)無(wú)關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開(kāi)發(fā)與維護(hù)。 5.分布式共享數(shù)據(jù)對(duì)象CACHE服務(wù) -- 讓
16、開(kāi)發(fā)人員編制高性能的系統(tǒng),極大提高整體部署的伸縮性。 6.支持異構(gòu)環(huán)境: J2EE能夠開(kāi)發(fā)部署在異構(gòu)環(huán)境中的可移植程序?;贘2EE的應(yīng)用程序不依賴(lài)任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只需開(kāi)發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)企業(yè)計(jì)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)也允許客戶訂購(gòu)與J2EE兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個(gè)方案所需的費(fèi)用。 7.可伸縮性: 企業(yè)必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶?;贘2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上。例如可被
17、部署到高端UNIX與大型機(jī)系統(tǒng),這種系統(tǒng)單機(jī)可支持64至256個(gè)處理器。(這是NT服務(wù)器所望塵莫及的)J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署。這種部署可達(dá)數(shù)千個(gè)處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來(lái)商業(yè)應(yīng)用的需要。 8.穩(wěn)定的可用性: 一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。因?yàn)镮NTERNET是全球化的、無(wú)處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的可用性。一些J2EE部署在WINDOWS環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)
18、如Sun Solaris、IBM OS/390。最健壯的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5分鐘停機(jī)時(shí)間。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇。 1.2.2 Tomcat Tomcat可以運(yùn)行Servlet和JSP,是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,它性能穩(wěn)定、擴(kuò)展性好、源碼開(kāi)放,是開(kāi)發(fā)中小型Web應(yīng)用系統(tǒng)的首選。 Tomcat既是一個(gè)開(kāi)放源碼、免費(fèi)支持JSP和Servlet技術(shù)的容器,同時(shí)又是一個(gè)Web服務(wù)器軟件,受到了Sun公司的大力推薦和支持。因此,Servlet和JSP的最新規(guī)范都可以在Tomcat的新版本中得到實(shí)現(xiàn)。 1. 容易架設(shè)。下載Tomcat,設(shè)定一些配置,就完成
19、了。不需要花費(fèi)時(shí)間將Web服務(wù)器的連接器整合至其它的Web服務(wù)器中。 2.不需要擔(dān)心連接器。永遠(yuǎn)不需要排除在其它Web服務(wù)器與Tomcat之間的任何性能或聯(lián)機(jī)方面的問(wèn)題。 3.有較佳的安全防護(hù)。相對(duì)于其它以C、C++所編寫(xiě)的Web服務(wù)器,Tomcat比較能忍受遠(yuǎn)程緩沖區(qū)溢位的攻擊。因?yàn)門(mén)omcat的Java虛擬機(jī)是位于 網(wǎng)絡(luò)及操作系統(tǒng)之間,它可以防止幾乎所有類(lèi)型的緩沖區(qū)溢位攻擊。使用Tomcat的安全防護(hù)領(lǐng)域,可以指定對(duì)各個(gè)資源的訪問(wèn)。 4.容易移植??梢詫omcat服務(wù)器(以及應(yīng)用程序)移植到不同的服務(wù)器、操作系統(tǒng)甚至架構(gòu)上。因?yàn)門(mén)omcat是以Java編寫(xiě)的,因此可以將其整個(gè)目錄結(jié)
20、構(gòu)的內(nèi)容復(fù)制到其它計(jì)算機(jī)上運(yùn)行,而完全不需要任何改變,甚至于新的計(jì)算機(jī)的架構(gòu)與原來(lái)的不同也一樣。 1.2.3 Struts Struts 是 Apache 軟件基金會(huì)(Apache Software Foundation)資助的一個(gè)為開(kāi)發(fā)基于MVC模式應(yīng)用架構(gòu)的開(kāi)源框架,是利用Java Servlet和JSP、XML等方面的技術(shù)來(lái)實(shí)現(xiàn)構(gòu)建Web應(yīng)用的一項(xiàng)非常有用的技術(shù),它也是基于Sun J2EE平臺(tái)的MVC2框架,是Web應(yīng)用最經(jīng)典框架。 經(jīng)過(guò)長(zhǎng)達(dá)五年的發(fā)展,Struts已經(jīng)逐漸成長(zhǎng)為一個(gè)穩(wěn)定、成熟的框架,并且占有了MVC框架中最大的市場(chǎng)份額。 Struts的優(yōu)點(diǎn)主要體現(xiàn)在兩個(gè)方面:T
21、aglib和頁(yè)面導(dǎo)航。Taglib是Struts的標(biāo)簽庫(kù),靈活使用將會(huì)大大提高開(kāi)發(fā)效率。另外在 JSP中用戶也可自定義標(biāo)簽。頁(yè)面導(dǎo)航,它是一個(gè)發(fā)展的方向,利用它可以使系統(tǒng)脈絡(luò)更加清晰。通過(guò)一個(gè)配置文件,即可把握整個(gè)系統(tǒng)各部分之間的聯(lián)系,這對(duì)于后期的維護(hù)有著極大的好處。尤其是當(dāng)另一批開(kāi)發(fā)者接手這個(gè)項(xiàng)目時(shí),這種優(yōu)勢(shì)體現(xiàn)得更加明顯。 1.2.4 MS SQL Server MS SQL Server就是一種大型的關(guān)系型數(shù)據(jù)庫(kù),它適應(yīng)多種語(yǔ)言進(jìn)行開(kāi)發(fā),由它們開(kāi)發(fā)的客戶端程序去連接SQL Server所作為存儲(chǔ)數(shù)據(jù)的后臺(tái)服務(wù)器軟件。 MS SQL Server是典型的C/S結(jié)構(gòu)數(shù)據(jù)庫(kù)管理系統(tǒng),用戶
22、通過(guò)客戶端軟件從服務(wù)器中查詢數(shù)據(jù)并在本地處理,而服務(wù)器則關(guān)心數(shù)據(jù)庫(kù)進(jìn)程。 客戶/服務(wù)器結(jié)構(gòu)是一種數(shù)據(jù)的存儲(chǔ)、訪問(wèn)和處理的分布模型。服務(wù)器端用于存儲(chǔ)數(shù)據(jù)、處理數(shù)據(jù)請(qǐng)求、維護(hù)數(shù)據(jù)完整性,而客戶端用于處理用戶對(duì)話框、生成數(shù)據(jù)請(qǐng)求、顯示返回結(jié)果。這樣做有一些優(yōu)點(diǎn): 1.?dāng)?shù)據(jù)集中存儲(chǔ),便于管理和備份恢復(fù)。 2.安全規(guī)則只需要在服務(wù)器上設(shè)置一次即可。 3.關(guān)系型數(shù)據(jù)庫(kù)只返回客戶需要和數(shù)據(jù),而相關(guān)的其它數(shù)據(jù),并不顯示。這樣就大大優(yōu)化了網(wǎng)絡(luò)帶寬的利用。 4.節(jié)省客戶機(jī)的硬盤(pán)空間,節(jié)約成本。 5.有效的為多個(gè)用戶分配各種資源(CPU、內(nèi)存、帶寬和磁盤(pán)空間等) 6.一臺(tái)服務(wù)器可以運(yùn)行多個(gè)SQL Se
23、rver的實(shí)例 7.作為一種大型數(shù)據(jù)庫(kù)系統(tǒng),也可以輕易的在個(gè)人桌面上實(shí)現(xiàn)。也就是說(shuō)它不并要求數(shù)據(jù)庫(kù)一個(gè)要存儲(chǔ)在服務(wù)器上,自己機(jī)器上也可以存儲(chǔ)。 2 系統(tǒng)需求分析與概要設(shè)計(jì) 需求分析是軟件定義時(shí)期的最后一個(gè)階段,也是設(shè)計(jì)數(shù)據(jù)庫(kù)的一個(gè)起點(diǎn),它確定了系統(tǒng)必須完成哪些工作,提出完整、準(zhǔn)確、清晰和具體的要求,直接影響到后面各個(gè)階段的設(shè)計(jì),以及設(shè)計(jì)結(jié)果是否合理和實(shí)用。 需求分析的任務(wù)是通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(專(zhuān)業(yè)、班級(jí)、學(xué)生等),充分了解原先工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來(lái)設(shè)計(jì)系統(tǒng)。需
24、求分析的結(jié)果是系統(tǒng)開(kāi)發(fā)的基礎(chǔ),關(guān)系到工程的成敗和軟件產(chǎn)品的質(zhì)量。因此必須用行之有效的方法對(duì)軟件需求進(jìn)行嚴(yán)格的審查驗(yàn)證。 需求分析的具體任務(wù) 確定對(duì)系統(tǒng)的綜合要求 支持學(xué)院實(shí)現(xiàn)科學(xué)化的管理;支持學(xué)院準(zhǔn)確、高效的完成日常工作的管理。 分析系統(tǒng)的數(shù)據(jù)要求 任何一個(gè)軟件系統(tǒng)本質(zhì)上都是信息處理系統(tǒng),系統(tǒng)必須處理的信息和系統(tǒng)應(yīng)該產(chǎn)生的面貌,對(duì)軟件設(shè)計(jì)有深遠(yuǎn)影響。因此,必須分析系統(tǒng)的數(shù)據(jù)要求,這是軟件需求分析的一個(gè)重要任務(wù)。分析系統(tǒng)的數(shù)據(jù)要求通常采用建立概念模型的方法。復(fù)雜的數(shù)據(jù)有許多基本的數(shù)據(jù)組成,數(shù)據(jù)結(jié)構(gòu)表示元素之間的邏輯關(guān)系,利用數(shù)據(jù)字典可以全面準(zhǔn)確地定義數(shù)據(jù),但是數(shù)據(jù)字典的缺點(diǎn)是不夠形象直
25、觀。為了提高可理解性,常常利用圖形工具輔助描繪數(shù)據(jù)結(jié)構(gòu)。 軟件系統(tǒng)經(jīng)常使用各種長(zhǎng)期保存的信息,這些信息通常以一定方式組織并存儲(chǔ)在數(shù)據(jù)庫(kù)和文件中,為了減少數(shù)據(jù)條,避免出現(xiàn)插入異?;騽h除異常,簡(jiǎn)化修改數(shù)據(jù)的過(guò)程,通常需要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。 2.1 業(yè)務(wù)流程設(shè)計(jì) 本系統(tǒng)應(yīng)該完成以下業(yè)務(wù)工作: 1.系統(tǒng)用戶包括游客、會(huì)員、管理員。 2.酒店概況,即酒店的相關(guān)信息,包括新聞、房間推薦等。 3.房間搜索,可以搜索房間的類(lèi)型和房間的相關(guān)信息。 4.房間預(yù)訂,注冊(cè)會(huì)員可以進(jìn)行房間預(yù)訂。 5.用戶留言,注冊(cè)會(huì)員可以在網(wǎng)站的留言板進(jìn)行留言。 6.管理員功能,以管理員身份登陸后訪問(wèn),進(jìn)行網(wǎng)站管理
26、員功能。包含網(wǎng)站信息修改,會(huì)員管理和維護(hù)等功能。 根據(jù)以上業(yè)務(wù)需求分析可得出主要業(yè)務(wù)流程如下圖所示: 圖2-1 非注冊(cè)會(huì)員業(yè)務(wù)流程圖 圖2-2會(huì)員業(yè)務(wù)流程圖 圖2-3管理員業(yè)務(wù)流程圖 2.2 功能模塊設(shè)計(jì) 把系統(tǒng)劃分為幾個(gè)部分,其中每一部分的功能簡(jiǎn)單明確,內(nèi)容簡(jiǎn)明易懂,易于修改。我們把這樣的部分稱(chēng)為模塊。系統(tǒng)分成模塊的工作按層次進(jìn)行。首先,把整個(gè)系統(tǒng)看成一個(gè)模塊,按功能分解成若干個(gè)第一層模塊,這些模塊互相配合,共同完成整個(gè)系統(tǒng)的功能。然后按功能再分解第一層的各個(gè)模塊。依次下去,直到每個(gè)模塊都十分簡(jiǎn)單。每一個(gè)模塊應(yīng)盡可能獨(dú)立,即盡可能減少模塊間
27、的調(diào)用關(guān)系和數(shù)據(jù)交換關(guān)系。當(dāng)然,系統(tǒng)中的模塊不可能與其他模塊沒(méi)有聯(lián)系,只是要求這種聯(lián)系盡可能少。模塊間的關(guān)系要闡明。這樣,在修改時(shí)可以追蹤和控制。 總之,一個(gè)易于修改的系統(tǒng)應(yīng)該由一些相對(duì)獨(dú)立、功能單一的模塊按照層次結(jié)構(gòu)組成。這些模塊之間不必要的聯(lián)系都已去掉,而且它們的功能及相互關(guān)系都已闡明。這就是結(jié)構(gòu)化設(shè)計(jì)的基本思想。 依據(jù)需求分析結(jié)果結(jié)合業(yè)務(wù)流程圖可知,系統(tǒng)需要管理以下相關(guān)實(shí)體及操作: 1、實(shí)體:用戶、房間類(lèi)型、預(yù)訂信息、入住詳細(xì)、留言; 2、操作:實(shí)體的檢索功能;實(shí)體的數(shù)據(jù)維護(hù)功能。 本系統(tǒng)功能模塊設(shè)計(jì)如下圖所示: 圖2-4 系統(tǒng)前臺(tái)功能模塊圖 圖2-5 系統(tǒng)
28、后臺(tái)功能模塊圖 2.3 數(shù)據(jù)庫(kù)概念模型設(shè)計(jì) 本階段是在需求分析的基礎(chǔ)上,把用戶需求抽象為信息結(jié)構(gòu),建立出一個(gè)面向問(wèn)題的概念模型,此模型采用實(shí)體-聯(lián)系方法(Entity-Relationship Approach)。它用E-R圖描述現(xiàn)實(shí)世界中的實(shí)體。用這種方法表示的概念模型又稱(chēng)為E-R模型。E-R模型中包含“實(shí)體”、“聯(lián)系”、和“屬性”等三個(gè)基本成分,其中: 1、實(shí)體:是指客觀世界中存在的并可以相互區(qū)分的事物。用方框表示,方框內(nèi)為實(shí)體的名稱(chēng); 2、聯(lián)系:是指客觀世界中的事物彼此間的聯(lián)系。用菱形表示,菱形內(nèi)為聯(lián)系的名稱(chēng)。 3、屬性:是指實(shí)體或聯(lián)系所具有的性質(zhì)。用橢圓表示,橢圓內(nèi)為屬性名稱(chēng)
29、。使用線段將其和相應(yīng)的實(shí)體連接起來(lái); 系統(tǒng)中包含的實(shí)體描述如下: 1、用戶實(shí)體: 圖2-6 用戶實(shí)體屬性圖 2、房間類(lèi)型實(shí)體: 圖2-7 班級(jí)實(shí)體屬性圖 3、預(yù)訂信息實(shí)體: 圖2-8 預(yù)訂信息實(shí)體屬性圖 4、入住詳細(xì)實(shí)體: 圖2-9 入住詳細(xì)實(shí)體屬性圖 5、留言實(shí)體: 圖2-10 留言實(shí)體屬性圖 6、本系統(tǒng)的實(shí)體關(guān)系E-R圖(由于篇幅原因,只畫(huà)了實(shí)體的主鍵): 圖2-11 系統(tǒng)實(shí)體關(guān)系E-R圖 2.4 數(shù)據(jù)流程設(shè)計(jì) 數(shù)據(jù)流程圖(DFD—Data Flow Diagram)描繪系統(tǒng)的邏輯模型,圖中沒(méi)有任何具體的物理元素,
30、只是描繪信息在系統(tǒng)中流動(dòng)和處理的情況。因?yàn)閿?shù)據(jù)流程圖是邏輯系統(tǒng)的圖形表示,即使不是專(zhuān)業(yè)的計(jì)算機(jī)技術(shù)人員也容易理解,所以是極好的通信工具。此外,設(shè)計(jì)數(shù)據(jù)流圖只需考慮系統(tǒng)必須完成的基本邏輯功能,完全不需要考慮如何具體地實(shí)現(xiàn)這些功能,所以它也是軟件設(shè)計(jì)的很好的出發(fā)點(diǎn)。 數(shù)據(jù)流圖標(biāo)識(shí)了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換成邏輯輸出所需的加工處理: 1. 數(shù)據(jù)流:它是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的途徑,由一組固定的數(shù)據(jù)項(xiàng)組成。除了與數(shù)據(jù)存儲(chǔ)(文件)之間的數(shù)據(jù)流不用命名外,其余數(shù)據(jù)流都應(yīng)該用名詞或名詞短語(yǔ)命名。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,還可以從源點(diǎn)流向加工或從加工
31、流向終點(diǎn)。 2.加工:也稱(chēng)為數(shù)據(jù)處理,它對(duì)數(shù)據(jù)流進(jìn)行某些操作或變換。每個(gè)加工也要有名字,通常是動(dòng)詞短語(yǔ),簡(jiǎn)明地描述完成什么加工。在分層的數(shù)據(jù)流圖中,加工還應(yīng)有編號(hào)。 3.?dāng)?shù)據(jù)存儲(chǔ):指暫時(shí)保存的數(shù)據(jù),它可以使數(shù)據(jù)庫(kù)文件或任何形式的數(shù)據(jù)組織。流向數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)流可理解為寫(xiě)入文件,或查詢文件,從數(shù)據(jù)存儲(chǔ)流出的數(shù)據(jù)可以理解為從文件讀數(shù)據(jù)或得到查詢結(jié)果。 4.?dāng)?shù)據(jù)源點(diǎn)和終點(diǎn):是軟件系統(tǒng)外部環(huán)境中的實(shí)體(包括人員、組織、或其他軟件系統(tǒng)),統(tǒng)稱(chēng)為外部實(shí)體。一般只出現(xiàn)在數(shù)據(jù)流圖的頂層中。 數(shù)據(jù)流圖由4種基本圖形符號(hào)構(gòu)成。剪頭表示數(shù)據(jù)流,圓或橢圓表示加工,雙杠或者單杠表示數(shù)據(jù)存儲(chǔ),矩形框標(biāo)識(shí)數(shù)據(jù)的原點(diǎn)或
32、終點(diǎn),即外部實(shí)體。 數(shù)據(jù)流程圖如下: 圖2-12 系統(tǒng)頂層數(shù)據(jù)流程圖 圖2-13 系統(tǒng)第一層數(shù)據(jù)流程圖 2.5 數(shù)據(jù)字典 系統(tǒng)分析中所使用的數(shù)據(jù)字典,主要用來(lái)描述數(shù)據(jù)流程圖中的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、處理過(guò)程和外部實(shí)體。數(shù)據(jù)字典把數(shù)據(jù)的最小組成單位看成是數(shù)據(jù)元素(基本數(shù)據(jù)項(xiàng)),若干個(gè)數(shù)據(jù)元素可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)(組合數(shù)據(jù)項(xiàng))。數(shù)據(jù)結(jié)構(gòu)是一個(gè)遞歸概念,即數(shù)據(jù)結(jié)構(gòu)的成分也可以是數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)字典通過(guò)數(shù)據(jù)元素和數(shù)據(jù)結(jié)構(gòu)來(lái)描寫(xiě)數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的屬性,數(shù)據(jù)元素組成數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)組成數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ)。 2.5.1數(shù)據(jù)流設(shè)計(jì) 編號(hào) 名稱(chēng) 組成 來(lái)源 去向 D
33、001 會(huì)員信息 用戶名+密碼+用戶信息 用戶 P0酒店客房預(yù)訂管理系統(tǒng) D002 網(wǎng)站信息 網(wǎng)站新聞+客房信息+分類(lèi)信息 P0酒店客房預(yù)訂管理系統(tǒng) 用戶 D003 預(yù)訂記錄 預(yù)訂信息 P0酒店客房預(yù)訂管理系統(tǒng) 用戶 D004 網(wǎng)站信息 網(wǎng)站新聞+客房信息+分類(lèi)信息 管理員 P0酒店客房預(yù)訂管理系統(tǒng) D005 會(huì)員預(yù)訂記錄 預(yù)訂信息 P0酒店客房預(yù)訂管理系統(tǒng) 管理員 D006 管理信息 網(wǎng)站管理信息+網(wǎng)站維護(hù)信息 管理員 P0酒店客房預(yù)訂管理系統(tǒng) D011 網(wǎng)站基本信息 網(wǎng)站信息 P1基本信息管理 用戶 D012 基本信息
34、 網(wǎng)站信息 P1基本信息管理 管理員 D013 基本信息 網(wǎng)站信息 用戶 D1基本信息存儲(chǔ) D021 交易信息 預(yù)訂信息+訂房信息 用戶 P2交易管理 D022 交易信息 預(yù)訂信息+訂房信息 管理員 P2交易管理 D031 用戶信息 會(huì)員用戶信息 P3網(wǎng)站信息管理 管理員 D032 網(wǎng)站管理信息 新聞信息+網(wǎng)站資源 管理員 P3網(wǎng)站信息管理 D033 網(wǎng)站信息 新聞信息+網(wǎng)站資源 P3網(wǎng)站信息管理 用戶 D034 用戶信息 會(huì)員用戶信息 用戶 P3網(wǎng)站信息管理 D211 客房列表 客房信息 P2.1客房管理
35、用戶 D212 分類(lèi)信息 客房類(lèi)別 D2分類(lèi)信息存儲(chǔ) P2.1客房管理 D213 客房信息記錄 客房信息 P2.1客房管理 D3客房信息存儲(chǔ) D214 客房信息 客房信息 管理員 P2.1客房管理 D231 預(yù)訂信息 用戶房間預(yù)訂信息 用戶 P2.3預(yù)訂管理 D232 預(yù)訂記錄 用戶房間預(yù)訂信息 P2.3預(yù)訂管理 用戶 D233 預(yù)訂記錄 用戶房間預(yù)訂信息 P2.3預(yù)訂管理 D4預(yù)訂信息存儲(chǔ) D234 確認(rèn)命令 管理員確定預(yù)訂命令 用戶 P2.3預(yù)訂管理 D235 用戶預(yù)訂記錄 用戶房間預(yù)訂信息 P2.3預(yù)訂管理
36、管理員 2.5.2數(shù)據(jù)處理設(shè)計(jì) 編號(hào): P0 輸入數(shù)據(jù)流: D001、D005 文件信息: 所有系統(tǒng)數(shù)據(jù)信息 輸出數(shù)據(jù)流: D002、D003、D004、D006 功能說(shuō)明: 整體的系統(tǒng)框架 出錯(cuò)信息: 發(fā)現(xiàn)錯(cuò)誤及時(shí)更正 編號(hào): P1 輸入數(shù)據(jù)流: D012、D013 文件信息: 網(wǎng)站的基本信息 輸出數(shù)據(jù)流: D011 功能說(shuō)明: 管理員輸入的系統(tǒng)信息并且將處理過(guò)的數(shù)據(jù)呈現(xiàn)給用戶 出錯(cuò)信息: 發(fā)現(xiàn)錯(cuò)誤及時(shí)更正 編號(hào): P2 輸入數(shù)據(jù)流: D022 文件信息: 用戶預(yù)訂信息+入住信息 輸出數(shù)據(jù)流: D021 功
37、能說(shuō)明: 存儲(chǔ)用戶的預(yù)訂信息和入住信息,處理過(guò)的數(shù)據(jù)經(jīng)過(guò)管理員確認(rèn)后將呈現(xiàn)給用戶 出錯(cuò)信息: 發(fā)現(xiàn)錯(cuò)誤及時(shí)更正 編號(hào): P3 輸入數(shù)據(jù)流: D032、D034 文件信息: 用戶信息+留言信息 輸出數(shù)據(jù)流: D031、D033 功能說(shuō)明: 用戶經(jīng)過(guò)注冊(cè)后成為會(huì)員并將其記錄存儲(chǔ)起來(lái),并且可以存儲(chǔ)會(huì)員的留言 出錯(cuò)信息: 發(fā)現(xiàn)錯(cuò)誤及時(shí)更正 編號(hào): P2.1 輸入數(shù)據(jù)流: D212、D214 文件信息: 房間信息、房間類(lèi)型信息 輸出數(shù)據(jù)流: D211、D213 功能說(shuō)明: 存儲(chǔ)房間類(lèi)型信息、并呈現(xiàn)給用戶 出錯(cuò)信息: 發(fā)現(xiàn)錯(cuò)誤及時(shí)更正
38、 編號(hào): P2.2 輸入數(shù)據(jù)流: D222 文件信息: 房間分類(lèi)信息 輸出數(shù)據(jù)流: D221 功能說(shuō)明: 添加、修改房間類(lèi)型信息,用戶創(chuàng)建房間類(lèi)型 出錯(cuò)信息: 發(fā)現(xiàn)錯(cuò)誤及時(shí)更正 編號(hào): P2.3 輸入數(shù)據(jù)流: D231、D234 文件信息: 預(yù)訂信息 輸出數(shù)據(jù)流: D232、D233、D235 功能說(shuō)明: 管理員確認(rèn)用戶提交的預(yù)訂信息并能及時(shí)反饋給用戶 出錯(cuò)信息: 發(fā)現(xiàn)錯(cuò)誤及時(shí)更正 2.5.3數(shù)據(jù)庫(kù)表設(shè)計(jì) 表2.1 用戶表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段大小 索引 是否可為空 說(shuō)明 id Int 4 Prim
39、ary NO 用戶編號(hào) name varchar 50 YES 用戶名 pwd varchar 50 YES 密碼 realname varchar 50 YES 真實(shí)姓名 sex varchar 50 YES 性別 age varchar 50 YES 年齡 adress varchar 100 YES 地址 phone varchar 50 YES 手機(jī) email varchar 100 YES 電子郵件 表2.2 房間類(lèi)型表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型
40、字段大小 索引 是否可為空 說(shuō)明 id int 4 Primary NO 房間編號(hào) name varchar 50 YES 房間名稱(chēng) score varchar 50 YES 推薦指數(shù) price int 6 YES 每日租金 表2.3 預(yù)訂信息表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段大小 索引 是否可為空 說(shuō)明 id int 4 Primary NO 預(yù)訂編號(hào) user_id int 4 Foreign NO 用戶編號(hào) room_id varchar 4 Foreign NO 房間編號(hào)
41、 time varchar 50 YES 預(yù)訂時(shí)間 表2.4 入住詳細(xì)表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段大小 索引 是否可為空 說(shuō)明 id int 4 Primary NO 入住編號(hào) book_id int 6 Foreign NO 預(yù)定編號(hào) sumday varchar 50 YES 入住天數(shù) begintime datatime 50 YES 開(kāi)始時(shí)間 endtime datatime 50 YES 結(jié)束時(shí)間 continueday varchar 50 YES 續(xù)訂天數(shù) cont
42、unuetime datatime 50 YES 續(xù)訂時(shí)間 price int 6 YES 價(jià)格 flag varchar 50 YES 是否離開(kāi) 表2.5 留言表 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 字段大小 索引 是否可為空 說(shuō)明 id int 4 Primary NO 留言編號(hào) user_id int 4 Foreign YES 用戶編號(hào) title varchar 50 YES 標(biāo)題 content varchar 50 YES 內(nèi)容 time varchar 50 YES
43、留言時(shí)間 3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 3.1 軟件流程設(shè)計(jì) 3.1.1 軟件總體設(shè)計(jì) 系統(tǒng)設(shè)計(jì)要回答的中心問(wèn)題是系統(tǒng)“怎么做”,即如何實(shí)現(xiàn)需求分析說(shuō)明書(shū)中規(guī)定的系統(tǒng)功能。在這一階段,要根據(jù)實(shí)際的技術(shù)條件、經(jīng)濟(jì)條件和社會(huì)條件,確定系統(tǒng)的實(shí)施方案,即系統(tǒng)的物理模型。 系統(tǒng)總流程圖參見(jiàn)圖3-1: 圖3-1 系統(tǒng)總體流程圖 3.1.2 各模塊流程設(shè)計(jì) 一、用戶注冊(cè)模塊流程設(shè)計(jì): 功能:用戶在打開(kāi)注冊(cè)界面后,可進(jìn)入填寫(xiě)相應(yīng)的注冊(cè)信息,進(jìn)行注冊(cè)。用戶注冊(cè)流程圖參見(jiàn)圖3-2: 圖3-2 用戶注冊(cè)流程圖 二、用戶登錄模塊流程設(shè)計(jì): 功能:用戶輸入用戶名和密碼后,即
44、登錄到用戶界面,登陸后的用戶可以進(jìn)行相應(yīng)的操作。用戶登錄模塊流程圖參見(jiàn)圖3-3: 圖3-3 用戶登錄模塊流程圖 三、客房預(yù)訂模塊流程設(shè)計(jì): 功能:登陸后的用戶在對(duì)客房進(jìn)行搜索后,可以選擇適合自己的客房進(jìn)行預(yù)訂。客房預(yù)訂模塊流程圖參見(jiàn)圖3-4: 圖3-4 客房預(yù)訂模塊流程圖 四、用戶留言模塊流程設(shè)計(jì): 功能:用戶可以在留言界面進(jìn)行留言。用戶留言流程圖參見(jiàn)圖3-5: 圖3-5 用戶留言模塊流程圖 五、管理員模塊流程設(shè)計(jì): 功能:管理人員登陸后可對(duì)用戶信息、客房信息、預(yù)訂信息、留言信息進(jìn)行維護(hù)與查詢。管理員模塊流程圖參見(jiàn)圖3-6: 圖
45、3-6 管理員模塊流程圖 3.2 數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì) 數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)即為數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)。 本課題采用的SQL Server2000數(shù)據(jù)庫(kù)的管理工具。使用服務(wù)管理器啟動(dòng)安裝在本地的SQL Server2000數(shù)據(jù)庫(kù);使用企業(yè)管理器或查詢分析器即可登錄到安裝在本地的SQL Server2000數(shù)據(jù)庫(kù)中;使用CREATE DATABASE命令創(chuàng)建本系統(tǒng)使用的數(shù)據(jù)庫(kù);根據(jù)數(shù)據(jù)庫(kù)的概念模型來(lái)設(shè)計(jì)數(shù)據(jù)模型,數(shù)據(jù)模型對(duì)應(yīng)的數(shù)據(jù)庫(kù)表使用命令“CREATE TABLE”來(lái)創(chuàng)建。以下是系統(tǒng)數(shù)據(jù)庫(kù)以及本分?jǐn)?shù)據(jù)表的創(chuàng)建過(guò)程: CREATE DATABASE Jdkfgl ON ( NAME = Jdkfgl
46、 _dat, FILENAME = c: \Jdkfgl.mdf ) LOG ON ( NAME = edu_log, FILENAME = c: \ Jdkfgl.ldf) GO USE Jdkfgl --創(chuàng)建表 管理員 admin CREATE TABLE [admin] ( [admin_id] [int] IDENTITY (1, 1) NOT NULL , [name] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL , [pwd] [varchar] (32) COLLATE Chinese
47、_PRC_CI_AS NULL , CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED ( [admin_id] ) ON [PRIMARY] ) ON [PRIMARY] GO [ 5] --創(chuàng)建表 用戶 user CREATE TABLE [user] ( [user _id] [int] IDENTITY (1, 1) NOT NULL , [name] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL , [pwd] [varchar] (32) COLLA
48、TE Chinese_PRC_CI_AS NULL , CONSTRAINT [PK_ user] PRIMARY KEY CLUSTERED ( [user _id] ) ON [PRIMARY] ) ON [PRIMARY] GO[ 8] 3.3 系統(tǒng)設(shè)計(jì) 本系統(tǒng)基于B/S結(jié)構(gòu)采用MVC模式進(jìn)行設(shè)計(jì)。 3.3.1 數(shù)據(jù)庫(kù)連接池設(shè)計(jì) 一般的,Java應(yīng)用程序通過(guò)JDBC驅(qū)動(dòng)建立與數(shù)據(jù)庫(kù)的連接,連接方法如下所示: Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstan
49、ce();//加載驅(qū)動(dòng)[ 7] // 建立數(shù)據(jù)庫(kù)連接 Connection conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Jdkfgl","sa","")[ 2]; Statement stmt = conn. createStatement(); // 創(chuàng)建Statement對(duì)象的實(shí)例 ResultSet rs = stmt.executeQuery(sql); // 執(zhí)行“sql”指定的SQL語(yǔ)句,得到操作結(jié)果 此方法必須在每次訪問(wèn)完畢后關(guān)閉數(shù)
50、據(jù)庫(kù)連接,否則會(huì)導(dǎo)致數(shù)據(jù)庫(kù)可用連接耗盡,使得系統(tǒng)無(wú)法正常運(yùn)行和訪問(wèn)[ 9]。 3.3.2 系統(tǒng)菜單設(shè)計(jì) 本系統(tǒng)采用在瀏覽器主窗體中的左側(cè)設(shè)置菜單欄,分別為普通用戶、會(huì)員和系統(tǒng)管理員呈現(xiàn)相應(yīng)操作權(quán)限的菜單項(xiàng),通過(guò)選擇菜單中的菜單項(xiàng)來(lái)執(zhí)行對(duì)應(yīng)功能模塊的操作。各角色的菜單設(shè)置參見(jiàn)圖3-7到圖3-9: 圖3-7 普通用戶菜單 圖3-8 會(huì)員菜單 圖3-9 管理員菜單 3.3.3 登錄模塊功能設(shè)計(jì) 1、模塊功能: 會(huì)員和系統(tǒng)管理員通過(guò)不同的界面登陸系統(tǒng),系統(tǒng)根據(jù)用戶的角色展現(xiàn)對(duì)應(yīng)權(quán)限的菜單項(xiàng),并可依據(jù)角色阻止對(duì)沒(méi)有權(quán)限的模塊進(jìn)行非法訪問(wèn)。當(dāng)用戶名或密碼輸入錯(cuò)誤時(shí),在輸
51、入界面下方以醒目的紅色文字提示“用戶名或密碼錯(cuò)誤”。 2、界面設(shè)計(jì): 會(huì)員用戶登錄界面參見(jiàn)圖3-10: 圖3-10 會(huì)員登錄界面 3.3.4 會(huì)員模塊功能設(shè)計(jì) 1、模塊功能: 實(shí)現(xiàn)用戶中心管理,可以對(duì)客房進(jìn)行搜索,可以對(duì)預(yù)訂記錄進(jìn)行查詢,還可以在線留言。 2、界面設(shè)計(jì):用戶中心界面、預(yù)訂記錄界面、客房搜索界面、在線留言界面參見(jiàn)圖3-11至3-14。 圖3-11用戶中心界面 圖3-12預(yù)訂記錄界面 圖3-13 客房搜索界面 圖3-14 在線留言界面 3.3.5系統(tǒng)管理員模塊功能設(shè)計(jì) 1、模塊功能: 實(shí)現(xiàn)管理人員對(duì)會(huì)員信息、客房預(yù)訂信息、留言信息的增加、刪除、查詢等功能。 2、界面設(shè)計(jì): 管理界面參見(jiàn)圖3-15: 圖3-15 管理員客房類(lèi)別管理界面 圖3-16 管理員客房管理界面 圖3-17 管理員剩余房間查詢界面 圖3-18 管理員訂房信息查詢界面 圖3-19管理員用戶管理界面
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第七章-透射電子顯微鏡
- 群落的結(jié)構(gòu)(課件)
- 焊接基礎(chǔ)知識(shí)
- 水文地質(zhì)學(xué)課件
- 某公司員工工傷安全管理規(guī)定
- 消防培訓(xùn)課件:安全檢修(要點(diǎn))
- 某公司安全生產(chǎn)考核與獎(jiǎng)懲辦法范文
- 安全作業(yè)活動(dòng)安全排查表
- 某公司危險(xiǎn)源安全辨識(shí)、分類(lèi)和風(fēng)險(xiǎn)評(píng)價(jià)、分級(jí)辦法
- 某公司消防安全常識(shí)培訓(xùn)資料
- 安全培訓(xùn)資料:危險(xiǎn)化學(xué)品的類(lèi)別
- 中小學(xué)寒假學(xué)習(xí)計(jì)劃快樂(lè)度寒假充實(shí)促成長(zhǎng)
- 紅色插畫(huà)風(fēng)輸血相關(guān)知識(shí)培訓(xùn)臨床輸血流程常見(jiàn)輸血不良反應(yīng)
- 14.應(yīng)急救援隊(duì)伍訓(xùn)練記錄
- 某公司各部門(mén)及人員安全生產(chǎn)責(zé)任制