版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《基于Web的Java開發(fā)設(shè)計(jì)》</p><p><b> 課程設(shè)計(jì)</b></p><p> 題 目: 網(wǎng)上訂餐系統(tǒng) </p><p> 院(系): 軟件學(xué)院 </p><p> 專業(yè)年級(jí): 軟件工程 201
2、1級(jí) </p><p> 姓 名: </p><p> 學(xué) 號(hào): xxxxxxxx </p><p> 成 績(jī): </p><p> 完成時(shí)間:
3、 2013年6月8日 </p><p><b> 摘 要</b></p><p> 二十一世紀(jì)是一個(gè)信息化的經(jīng)濟(jì)時(shí)代,隨著Internet的發(fā)展以及電腦的普及,網(wǎng)絡(luò)己經(jīng)成為我們?nèi)粘I畈豢苫蛉钡囊徊糠?,伴隨著網(wǎng)絡(luò)而來(lái)的商業(yè)活動(dòng)也日趨增多,網(wǎng)絡(luò)的便捷性促使電子商務(wù)的生成與發(fā)展,現(xiàn)在越來(lái)越多的人接受這種網(wǎng)上交易的方式。另外隨著人們生活的節(jié)奏的
4、不斷加快,很多人因?yàn)楣ぷ髅蛘咂渌虿辉敢饫速M(fèi)太多時(shí)間在餐廳就餐,而網(wǎng)上訂餐以其便捷性和直觀性容易被當(dāng)代人所接受。</p><p> 本次設(shè)計(jì)的網(wǎng)上訂餐系統(tǒng)是為了滿足各類宅男宅女以及學(xué)生,白領(lǐng)等消費(fèi)人群的需求,通過(guò)本系統(tǒng),他們可以利用網(wǎng)絡(luò)足不出戶地訂購(gòu)餐飲?,F(xiàn)在大多數(shù)人都對(duì)電腦有一定的了解,特別是學(xué)生,白領(lǐng)等對(duì)計(jì)算機(jī)比較熟悉,思想也較新穎很容易接受這種網(wǎng)上訂餐的形式。本系統(tǒng)是基于網(wǎng)絡(luò)的發(fā)展和人們的需求而設(shè)計(jì)和
5、開發(fā)的,本次設(shè)計(jì)是基于B/S結(jié)構(gòu)模式實(shí)現(xiàn),開發(fā)平臺(tái)利用MyEclipse的開發(fā)環(huán)境,系統(tǒng)運(yùn)用JSP技術(shù),數(shù)據(jù)庫(kù)使用SQL Server 2005,以Tomcat6.0為服務(wù)器。</p><p> 本次系統(tǒng)完成網(wǎng)上訂餐的基本功能,即用戶的注冊(cè),登錄、查看菜品、網(wǎng)上訂餐和留言等模塊。關(guān)于管理員,主要實(shí)現(xiàn)用戶的訂餐管理和信息管理的功能。各項(xiàng)功能的實(shí)現(xiàn)使得訂餐效率更高效,同時(shí)實(shí)現(xiàn)了實(shí)體店鋪的宣傳。</p>
6、<p> 關(guān)鍵詞: 網(wǎng)上訂餐系統(tǒng),JSP,SQL Server 2005,MyEclipse</p><p><b> 目 錄</b></p><p> 1 緒論(3-5頁(yè)為宜)1</p><p> 1.1 課題背景及意義1</p><p> 1.2 課程設(shè)計(jì)的主要工作2</p>
7、<p> 1.3 應(yīng)用的開發(fā)技術(shù)3</p><p> 1.3.1 MVC模式3</p><p> 1.3.2 JSP技術(shù)5</p><p> 1.3.3 Servlet技術(shù)6</p><p> 1.4 開發(fā)工具6</p><p><b> 1.5 小結(jié)8</b>
8、;</p><p> 2 需求分析(2-4頁(yè)為宜)9</p><p> 2.1 實(shí)際業(yè)務(wù)操作流程9</p><p> 2.2 功能需求12</p><p><b> 2.3 小結(jié)13</b></p><p> 3 概要設(shè)計(jì)(2-4頁(yè)為宜)14</p><p&
9、gt; 3.1系統(tǒng)總體設(shè)計(jì)14</p><p> 3.1.1 框架設(shè)計(jì)14</p><p> 3.1.2 功能設(shè)計(jì)15</p><p> 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)18</p><p><b> 3.3 小結(jié)20</b></p><p> 4 功能詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)(8-10頁(yè)為宜)2
10、4</p><p> 4.1系統(tǒng)框架各層次實(shí)現(xiàn)24</p><p> 4.1.1 Model設(shè)計(jì)24</p><p> 4.1.2 View設(shè)計(jì)24</p><p> 4.1.3 Controller設(shè)計(jì)31</p><p> 4.2主要功能的設(shè)計(jì)與實(shí)現(xiàn)33</p><p>
11、 4.2.1 功能134</p><p> 4.2.2 功能135</p><p><b> 4.3小結(jié)37</b></p><p><b> 5 測(cè)試40</b></p><p><b> 6 結(jié)語(yǔ)41</b></p><p>&l
12、t;b> 參考文獻(xiàn)42</b></p><p><b> 1 緒論</b></p><p> 近年來(lái),隨著Internet的快速發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為人們生活的一部分,計(jì)算機(jī)應(yīng)用已經(jīng)深入到我們社會(huì)和生活的各個(gè)領(lǐng)域,伴隨著網(wǎng)絡(luò)而來(lái)的商業(yè)活動(dòng)也日趨增多,網(wǎng)絡(luò)的便捷性促使電子商務(wù)的生成與發(fā)展,使得服務(wù)行業(yè)更加健壯。但是餐飲業(yè)在電子商務(wù)中還處在初期階段
13、,而隨著互聯(lián)網(wǎng)的發(fā)展以及人們快節(jié)奏的生活需求,網(wǎng)上訂餐必然會(huì)成為一種趨勢(shì)。</p><p> 1.1 課題背景及意義</p><p> 俗話說(shuō)“人生在世,吃穿二事”,人即使為高級(jí)動(dòng)物,但仍需與其他動(dòng)物一樣以食為天。從古至今,零零總總的各類美食也是孕育而生,長(zhǎng)盛不衰。飲食行業(yè)也成為眾多行業(yè)里常張常新的行業(yè)。社會(huì)發(fā)展至今,隨著人們的生活質(zhì)量的提高,對(duì)于飲食的需求不再僅限于溫飽,而是呈現(xiàn)出多
14、形態(tài)的需求。很多白領(lǐng)及學(xué)生工作,學(xué)習(xí)緊張沒有時(shí)間去到實(shí)體店里排隊(duì)買餐,他們需要一種快捷的方式滿足自己的用餐需求。另外很多的宅男宅女也需要一種便捷的方式訂餐,來(lái)節(jié)省自己的時(shí)間。</p><p> 隨著網(wǎng)絡(luò)的普及以及人們需求的增長(zhǎng),網(wǎng)上訂餐必定會(huì)成為一種趨勢(shì)。傳統(tǒng)的訂餐方式存在很多問題,比如說(shuō)到餐廳就餐,在學(xué)?;蛘吖静蛷d排隊(duì)買飯花費(fèi)的時(shí)間很長(zhǎng)效率很低。我們國(guó)家現(xiàn)在的個(gè)人訂餐方式還處于電話訂餐的層次上,不可否認(rèn),電
15、話訂餐的確方便,但是這種方式存在他自身的缺陷,例如,本身訂餐的效率低,訂餐人的信息和訂單容易混淆和丟失。因此,網(wǎng)上訂餐的出現(xiàn)和發(fā)展是很有必要的,據(jù)了解在我國(guó)的部分地區(qū)網(wǎng)上訂餐這種訂餐形式已經(jīng)得以發(fā)展,麥當(dāng)勞,肯德基以及很多大型飯店已經(jīng)投入使用網(wǎng)上訂餐業(yè)務(wù)來(lái)滿足客戶的用餐需求。</p><p> 網(wǎng)上購(gòu)物的優(yōu)勢(shì)在于選擇面大、價(jià)格便宜、交易方便、節(jié)省時(shí)間和精力等。整個(gè)菜品市場(chǎng)一片繁榮。在中國(guó),網(wǎng)上購(gòu)物有發(fā)展的必要,
16、也有發(fā)展的基礎(chǔ),發(fā)展網(wǎng)上購(gòu)物的各方面條件也日趨成熟,但是還存在一些問題,只有把問題解決好了,才能保證網(wǎng)上購(gòu)物的蓬勃發(fā)展。</p><p> 1.2 課程設(shè)計(jì)的主要工作</p><p> 本次課程設(shè)計(jì)主要有七大任務(wù):</p><p> 1.研究網(wǎng)上訂餐系統(tǒng)的背景和意義,現(xiàn)實(shí)生活中傳統(tǒng)訂餐存在的問題,以及網(wǎng)上訂餐在國(guó)內(nèi)的使用情況。</p><p
17、> 2.介紹本次網(wǎng)上訂餐系統(tǒng)使用的開發(fā)技術(shù)。以及使用的B/S的結(jié)構(gòu)。</p><p> 3.進(jìn)行需求分析,明確在網(wǎng)上訂餐系統(tǒng)中所要實(shí)現(xiàn)的功能。</p><p> 4.進(jìn)行總體設(shè)計(jì),分析并設(shè)計(jì)系統(tǒng)功能和數(shù)據(jù)庫(kù)。</p><p> 5.進(jìn)行詳細(xì)設(shè)計(jì),分析設(shè)計(jì)MVC模式在網(wǎng)上訂餐中的使用情況以及功能的各個(gè)實(shí)現(xiàn)。</p><p> 6
18、.進(jìn)行功能測(cè)試,給出測(cè)試環(huán)境和測(cè)試結(jié)果。</p><p> 7.總結(jié),通過(guò)以上各個(gè)環(huán)節(jié)的設(shè)計(jì)和測(cè)試找出自己的不足,總結(jié)經(jīng)驗(yàn)。</p><p> 該系統(tǒng)分為前臺(tái)和后臺(tái)兩個(gè)部分,前臺(tái)部分主要是面向用戶的,前臺(tái)主要供客戶進(jìn)行用戶注冊(cè),登錄以及菜單的瀏覽和菜品訂購(gòu)。而后臺(tái)主要是面向管理人員的,供管理人員對(duì)前臺(tái)數(shù)據(jù)進(jìn)行管理。對(duì)于本系統(tǒng)的不同使用者,其功能與業(yè)務(wù)邏輯是不盡相同的。對(duì)于普通用戶而言,
19、系統(tǒng)主要像用戶展示一個(gè)美觀的界面,用戶在可以瀏覽各類資訊,查詢餐飲信息,訂餐。而管理員則需要在后臺(tái)維護(hù)這些數(shù)據(jù)。本系統(tǒng)的主要功能應(yīng)是用戶的訂餐,用戶可以查詢菜品信息,當(dāng)發(fā)現(xiàn)自己滿意的以后,在訂單中進(jìn)行選擇然后提交。管理員在后臺(tái)可以查看用戶的訂餐請(qǐng)求,進(jìn)行處理,處理完成后,管理員回應(yīng)客戶請(qǐng)求,以便該客戶可以在前臺(tái)看見相關(guān)信息。</p><p> 1.3 應(yīng)用的開發(fā)技術(shù)</p><p>
20、1.3.1 MVC模式</p><p> MVC全稱是Model-View-Controller,表示一種軟件架構(gòu)模式。它把軟件系統(tǒng)分為三個(gè)基本部分:模型,視圖和控制器。MVC的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),使后續(xù)對(duì)程序的修改和擴(kuò)展簡(jiǎn)化,并且使程序某一部分的重復(fù)利用成為可能。除此之外此模式通過(guò)對(duì)復(fù)雜度的簡(jiǎn)化使程序結(jié)構(gòu)更加直觀。同時(shí)可以實(shí)現(xiàn)工作人員的分工作業(yè)。</p><p> 模型(M
21、odel):數(shù)據(jù)庫(kù)管理員進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫(kù)設(shè)計(jì)。數(shù)據(jù)模型用于封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對(duì)數(shù)據(jù)的處理方法。模型有對(duì)數(shù)據(jù)直接訪問的權(quán)利,例如對(duì)數(shù)據(jù)庫(kù)的訪問。</p><p> 視圖(View):界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)。在視圖中一般沒有程序上的邏輯。為了實(shí)現(xiàn)視圖上的刷新功能,視圖需要訪問它監(jiān)視的數(shù)據(jù)模型,因此應(yīng)該事先在被它監(jiān)視的數(shù)據(jù)那里注冊(cè)。</p><p> 控制器(C
22、ontroller):程序員編寫程序應(yīng)有的功能即算法。 控制器起到不同層面間的組織作用,用于控制應(yīng)用程序的流程。它處理事件并作出響應(yīng)。</p><p><b> MVC模型如下:</b></p><p> 在本次網(wǎng)上訂餐系統(tǒng)中,JSP對(duì)應(yīng)View,負(fù)責(zé)生成最終的動(dòng)態(tài)網(wǎng)頁(yè)并返回給瀏覽器。Servlet對(duì)應(yīng)controller,處理HTTP請(qǐng)求,負(fù)責(zé)生成JS
23、P中使用的JavaBean組件或?qū)ο螅琒ervlet創(chuàng)建JSP所需要JavaBean和對(duì)象,然后根據(jù)用戶的請(qǐng)求,決定將哪個(gè)JSP頁(yè)面發(fā)送給客戶。而JavaBeans對(duì)應(yīng)的是Model,實(shí)現(xiàn)各個(gè)客戶,管理員,菜單和訂單的應(yīng)用邏輯與功能。</p><p> MVC具體的模塊設(shè)計(jì)在詳細(xì)設(shè)計(jì)中將做具體介紹。</p><p> 1.3.2 JSP技術(shù)</p><p>
24、JSP是從1998年開始出現(xiàn)的新技術(shù)。由SUN公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),是基于JavaServlet以及整個(gè)Java體系的web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件中加入腳本片段和JSP標(biāo)記,構(gòu)成JSP網(wǎng)頁(yè)。JSP技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁(yè)面提供了簡(jiǎn)便的方法。JSP作為Java家族的一員,局有很多優(yōu)點(diǎn):1.一次編寫,到處運(yùn)行。2.系統(tǒng)支持多平臺(tái)。3.強(qiáng)大的可伸縮性。4.多樣化和功能強(qiáng)大的開發(fā)工具支持。
25、5.支持服務(wù)端組建。雖然在我國(guó)JSP還不是主流技術(shù),但是由于JSP的強(qiáng)大優(yōu)勢(shì),許多網(wǎng)站都有轉(zhuǎn)向利用JSP來(lái)開發(fā)動(dòng)態(tài)網(wǎng)站的趨勢(shì)。</p><p> JSP在本次設(shè)計(jì)中對(duì)應(yīng)View來(lái)表現(xiàn)頁(yè)面,主要實(shí)現(xiàn)對(duì)界面功能即用戶登錄和注冊(cè)界面,管理員登錄界面,菜品信息,用戶信息等展示。</p><p> 1.3.3 Servlet技術(shù)</p><p> 第一段:技術(shù)簡(jiǎn)介。通過(guò)
26、Servlet來(lái)完成大量的事務(wù)處理。</p><p> 第二段:在系統(tǒng)完成中Servlet的作用。</p><p> Servlet是先于JSP的一種服務(wù)器端技術(shù),1997年隨著Java語(yǔ)言的廣泛使用,Servlet技術(shù)迅速成為動(dòng)態(tài)Web應(yīng)用的主要開發(fā)技術(shù)。Servlet是一種獨(dú)立于平臺(tái)和協(xié)議的服務(wù)器端的Java小應(yīng)用程序,它基于Java技術(shù)的Web組件,運(yùn)行在服務(wù)端口,本身沒有mai
27、n()方法,有另一個(gè)應(yīng)用程序如tomcat調(diào)用和管理,用于生成動(dòng)態(tài)內(nèi)容。</p><p> Servlet在本系統(tǒng)中處于控制者的位置,處理HTTP請(qǐng)求,負(fù)責(zé)生成JSP中客戶,管理員使用的JavaBean組件或?qū)ο?,Servlet創(chuàng)建JSP所需要JavaBean和對(duì)象,然后根據(jù)用戶的請(qǐng)求行為,決定將哪個(gè)JSP頁(yè)面發(fā)送給客戶或管理員。</p><p><b> 1.4 開發(fā)工具&
28、lt;/b></p><p><b> 1.系統(tǒng)軟件平臺(tái)</b></p><p> 數(shù)據(jù)庫(kù):SQL Server 2005,</p><p> 操作系統(tǒng):Windows XP、Windows7</p><p><b> 2.開發(fā)工具</b></p><p>&l
29、t;b> 開發(fā)語(yǔ)言:JSP</b></p><p><b> 開發(fā)結(jié)構(gòu):B/S</b></p><p> 開發(fā)工具:MyEclipse6.0.1</p><p> SQL Server 是一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了
30、第一個(gè)OS/2版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚(yáng)鑣了,Microsoft 將SQL Server移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL Server在UNⅨ操作系統(tǒng)上的應(yīng)用。SQL Server 2005 是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能 (BI)工具提供了企
31、業(yè)級(jí)的數(shù)據(jù)管理。Microsoft SQL Server 2005數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。</p><p> B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),
32、但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3層結(jié)構(gòu)。B/S結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實(shí)現(xiàn)原來(lái)需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。</p><p> MyEclipse企業(yè)級(jí)工作平臺(tái),即MyEclipse Enterprise Workbench,是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的
33、提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。</p><p><b> 1.5 小結(jié)</b></p><p> 本章首先介紹了網(wǎng)上訂餐系統(tǒng)的背景和意義,交代了網(wǎng)上訂餐的必要性和趨勢(shì),并且介紹了本課題研究的任務(wù)和
34、結(jié)構(gòu)。同時(shí)介紹了本次系統(tǒng)開發(fā)使用了B/S結(jié)構(gòu),采用MVC模式以MyEclipse為平臺(tái)進(jìn)行的。另外本章對(duì)本系統(tǒng)使用的開發(fā)語(yǔ)言也做了介紹。2 需求分析</p><p> 需求分析的任務(wù)是通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,本章將從用戶需求方面特別是功能需求來(lái)對(duì)系統(tǒng)進(jìn)行分析和設(shè)計(jì)。</p>
35、<p> 2.1 實(shí)際業(yè)務(wù)操作流程</p><p> 現(xiàn)在我國(guó)還處在電話訂餐和到餐廳排隊(duì)買飯的階段,電話訂餐具有它一定的優(yōu)越性,方便快捷,但同時(shí)具有一定的局限性,比如客戶信息的保存問題和訂單信息的提交問題。排隊(duì)買餐更是浪費(fèi)時(shí)間,而且還會(huì)出現(xiàn)供不應(yīng)求,買不到飯的情況,很不方便。</p><p> 傳統(tǒng)訂餐模式流程圖:</p><p><b>
36、; 2.2 功能需求</b></p><p><b> 顧客:</b></p><p> ?。?)顧客登錄網(wǎng)上訂餐系統(tǒng)進(jìn)行菜單的瀏覽或者注冊(cè)為會(huì)員,以會(huì)員形式登錄的顧客享受訂餐服務(wù)。</p><p> ?。?)當(dāng)顧客確定訂餐完畢后,顧客可以將其提交至餐廳后臺(tái)系統(tǒng),并生成訂單。</p><p> (3)顧
37、客可以對(duì)系統(tǒng)或者餐廳有意見或者建議的留言給管理員。</p><p><b> 管理員:</b></p><p> (1)管理員登錄后臺(tái)點(diǎn)餐系統(tǒng)并將顧客點(diǎn)餐提交到后廚顯示</p><p> ?。?)管理員可以管理會(huì)員信息,進(jìn)行增刪修改。</p><p> (3)管理員可以發(fā)布菜單,也可以添加、刪除和修改菜單。<
38、/p><p> 對(duì)用戶功能列表如下:</p><p><b> 2.3 小結(jié)</b></p><p> 本章主要介紹了沒有網(wǎng)上訂餐下的實(shí)際業(yè)務(wù)操作流程以及本系統(tǒng)客戶和管理員的需求分析,列出了本系統(tǒng)主要實(shí)現(xiàn)的功能。3 概要設(shè)計(jì)</p><p> 經(jīng)過(guò)需求分析階段的工作,已經(jīng)明確本系統(tǒng)要做什么了,而總體設(shè)計(jì)的基本目的就是
39、解決怎么做的,本次系統(tǒng)是一個(gè)基于互聯(lián)網(wǎng)的訂餐平臺(tái),主要完成客戶和管理員的各個(gè)服務(wù)。總體設(shè)計(jì)主要完成系統(tǒng)方案和軟件結(jié)構(gòu)。</p><p><b> 3.1系統(tǒng)總體設(shè)計(jì)</b></p><p> 3.1.1 框架設(shè)計(jì)</p><p> 本次網(wǎng)上訂餐的模型如下:</p><p> 其中Servlet對(duì)應(yīng)controll
40、er,處于控制者的位置,處理HTTP請(qǐng)求,負(fù)責(zé)生成JSP中使用的Beans組件或?qū)ο?,并判斷?yīng)將請(qǐng)求傳遞給哪個(gè)JSP等,JSP對(duì)應(yīng)view,負(fù)責(zé)生成最終的動(dòng)態(tài)網(wǎng)頁(yè)并返回給瀏覽器。而JavaBeans對(duì)應(yīng)的是Model,實(shí)現(xiàn)各個(gè)具體的應(yīng)用邏輯與功能。</p><p> 3.1.2 功能設(shè)計(jì)</p><p> 顧客網(wǎng)上訂餐功能分析:</p><p> 根據(jù)對(duì)顧客網(wǎng)
41、上訂餐系統(tǒng)業(yè)務(wù)流程的分析,可以看出顧客點(diǎn)菜主要涉及到一些數(shù)據(jù)庫(kù)的邏輯和程序應(yīng)用邏輯。具體的功能歸納如下:</p><p> 顧客登錄網(wǎng)上訂餐系統(tǒng)進(jìn)行菜單瀏覽、</p><p><b> 顧客注冊(cè)為會(huì)員。</b></p><p> 會(huì)員對(duì)自己的個(gè)人信息進(jìn)行更改,比如送餐地址和聯(lián)系電話。以及賬戶密碼。</p><p>
42、 顧客對(duì)已選的菜單進(jìn)行更改選擇的數(shù)量或者取消選擇。</p><p> 當(dāng)顧客確定訂餐完畢后,顧客將其提交只服務(wù)器后臺(tái)點(diǎn)餐系統(tǒng),并生成訂單。</p><p> 管理員后臺(tái)管理系統(tǒng)功能分析:</p><p><b> 管理員在后臺(tái)登錄。</b></p><p> 管理員可以對(duì)餐廳網(wǎng)上訂餐系統(tǒng)上的菜單進(jìn)行添加、刪除和
43、修改,比如更改菜單的圖片,價(jià)格,菜單的描述,更換新品,添加新菜等。</p><p> 管理員對(duì)菜單進(jìn)行管理,確定訂單的生成。</p><p><b> 管理員查詢訂單。</b></p><p> 客戶和管理員的數(shù)據(jù)流圖:</p><p><b> 3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p>
44、;<p><b> 數(shù)據(jù)庫(kù)E-R圖</b></p><p><b> 數(shù)據(jù)庫(kù)表設(shè)計(jì)</b></p><p> 1.用戶注冊(cè)表(tb_user):用戶注冊(cè)需要的數(shù)據(jù)中必須包含用戶名(username),密碼(userpassword),地址(address),聯(lián)系電話(tel)等信息。</p><p>&
45、lt;b> tb_user</b></p><p> 2.菜品信息表(food):菜品信息表主要描述菜品信息,如:菜品ID號(hào)(foodid),此ID號(hào)為系統(tǒng)自動(dòng)生成;菜品名稱(fname);菜品價(jià)格(price);圖片信息(images)。</p><p><b> food</b></p><p> 3.訂單表(or
46、ders): 訂單表有一下描述信息。訂購(gòu)人姓名(name),地址(address),聯(lián)系電話(tel),價(jià)格(price),備注信息(context)等,</p><p><b> orders</b></p><p> 4.訂單菜單表(shop):</p><p><b> shop</b></p>
47、<p> 5.管理員表(admin):只有一個(gè)管理員,用戶名和密碼數(shù)據(jù)庫(kù)內(nèi)建表時(shí)默認(rèn)用戶名為李燕平,密碼是111530409.</p><p><b> 連接數(shù)據(jù)庫(kù)關(guān)鍵代碼</b></p><p><b> try</b></p><p> {Class.forName("com.micr
48、osoft.sqlserver.jdbc.SQLServerDriver");}</p><p> catch(ClassNotFoundException e)</p><p> {e.printStackTrace();</p><p> return false;}</p><p><b> t
49、ry</b></p><p> {Connection cn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=自建數(shù)據(jù)庫(kù)","sa","123456");</p><p> PreparedStatemen
50、t pstmt=cn.prepareStatement("SQL語(yǔ)言");</p><p><b> 對(duì)象調(diào)用代碼</b></p><p> pstmt.executeUpdate();</p><p> pstmt.close();cn.close();</p><p> return
51、 true;}</p><p> catch(SQLException ex)</p><p> {ex.printStackTrace();return false;}}</p><p><b> 3.3 小結(jié)</b></p><p> 本章主要從系統(tǒng)的總體設(shè)計(jì)和數(shù)據(jù)庫(kù)的設(shè)計(jì)兩方面闡述軟件系統(tǒng)
52、的設(shè)計(jì)方案和軟件結(jié)構(gòu)。這個(gè)階段的基本目的是有比較抽象的概括的方式去確定系統(tǒng)如何完成預(yù)定的任務(wù)。而如何具體實(shí)現(xiàn)程序的設(shè)計(jì),除了結(jié)構(gòu)設(shè)計(jì)作為前提外還需要詳細(xì)設(shè)計(jì)來(lái)確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng)。4 功能詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)(8-10頁(yè)為宜)</p><p> 詳細(xì)設(shè)計(jì)階段的根本目的是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),本階段對(duì)目標(biāo)系統(tǒng)做出精確描述,即設(shè)計(jì)出程序的藍(lán)圖,所以,詳細(xì)設(shè)計(jì)的結(jié)果基本上決定了最終的程序代碼的質(zhì)
53、量。詳細(xì)設(shè)計(jì)的目標(biāo)不僅僅看他的邏輯是否正確的實(shí)現(xiàn)每個(gè)模塊功能,更重要的是設(shè)計(jì)出的處理過(guò)程應(yīng)該盡可能簡(jiǎn)單易懂。詳細(xì)設(shè)計(jì)在整個(gè)設(shè)計(jì)思想中站重要地位。</p><p> 4.1系統(tǒng)框架各層次實(shí)現(xiàn)</p><p> 4.1.1 Model設(shè)計(jì)</p><p> 1.Admin.java:本類有一個(gè)與類同名的無(wú)參構(gòu)造函數(shù),屬于JavaBean規(guī)范,本包其他各類均有類似函
54、數(shù),不再列舉。Admin類中使用setX()和isX()來(lái)實(shí)現(xiàn)對(duì)管理員屬性的賦值和取值,其中包括管理員名字和密碼。通過(guò)isExists()查詢數(shù)據(jù)庫(kù)中的表admin來(lái)判斷管理員是否存在。若有異常,拋出異常。</p><p> 2.User.java: User類中使用setX()和getX()來(lái)實(shí)現(xiàn)對(duì)客戶屬性的賦值和取值,其中包括客戶的名字、密碼、地址和電話。通過(guò)addUser()把用戶信息添加到數(shù)據(jù)庫(kù)的表tb
55、_user中。</p><p> 3. Users.java: User類中使用setX()和isX()來(lái)實(shí)現(xiàn)對(duì)客戶屬性的賦值和取值,其中包括客戶的名字和密碼。通過(guò)isExists()查詢數(shù)據(jù)庫(kù)中的表tb_user來(lái)判斷用戶是否存在。若有異常,拋出異常。</p><p> 4.Foodc.java:Foodc類中使用setX()和getX()來(lái)實(shí)現(xiàn)對(duì)菜品屬性的賦值和取值,其中包括菜品的
56、號(hào)碼、名稱、價(jià)格和圖片信息。通過(guò)addFoodc()把菜品信息添加到數(shù)據(jù)庫(kù)的表food中。</p><p> 5.Orderc.java:Orderc類中使用setX()和getX()來(lái)實(shí)現(xiàn)對(duì)訂單屬性的賦值和取值,其中包括訂購(gòu)人姓名、地址、聯(lián)系電話、價(jià)格和備注信息。通過(guò)addOrderc()把用戶信息添加到數(shù)據(jù)庫(kù)的表orders中。</p><p> 4.1.2 View設(shè)計(jì)</
57、p><p> 主界面:主要實(shí)現(xiàn)三個(gè)超鏈接</p><p><b> 管理員登錄界面:</b></p><p> 用戶注冊(cè)界面:注冊(cè)成功后進(jìn)入用戶登錄界面</p><p><b> 用戶登錄界面:</b></p><p><b> 用戶登錄后界面:</b&
58、gt;</p><p> 菜品界面:主要顯示菜名,圖片,價(jià)格</p><p> 訂單菜單界面:提交后數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)管理員可看見訂單</p><p><b> 管理員登錄后界面:</b></p><p> 菜單管理界面:主要實(shí)現(xiàn)菜單的增刪改</p><p> 訂單管理界面:點(diǎn)已處理按鈕,數(shù)
59、據(jù)庫(kù)刪除訂單信息</p><p> 用戶信息管理界面:實(shí)現(xiàn)用戶的增刪改</p><p> 管理員添加用戶界面:其他操作與此類似不再截圖</p><p> 4.1.3 Controller設(shè)計(jì)</p><p> 1.GLogin.java:定義GLogin繼承HttpServlet,重寫doGet()和doPost(),通過(guò)reques
60、t對(duì)象調(diào)用getParameter()方法獲得JSP文本框內(nèi)容,定義Admin類的對(duì)象調(diào)用setX()方法實(shí)現(xiàn)數(shù)據(jù)屬性值傳遞,即管理員名字和密碼,定義結(jié)果集對(duì)象,使用executeQuery方法執(zhí)行Select語(yǔ)句。最后根據(jù)結(jié)果控制JSP,成功則跳到管理員登錄后的界面,即index2.jsp。否則停在本界面。</p><p> 2.Reg.java:定義GLogin繼承HttpServlet,重寫doGet()
61、和doPost(),通過(guò)request對(duì)象調(diào)用getParameter()方法收集數(shù)據(jù),定義Users類的對(duì)象調(diào)用setX()方法傳遞數(shù)據(jù),調(diào)用JavaBean。最后根據(jù)結(jié)果控制JSP,成功則跳到用戶登錄后的界面,即index3.jsp。否則停在本界面。</p><p> 3.Login.java:定義Login繼承HttpServlet,重寫doGet()和doPost(),通過(guò)request對(duì)象調(diào)用getP
62、arameter()方法獲得JSP文本框內(nèi)容,定義User類的對(duì)象調(diào)用setX()方法實(shí)現(xiàn)數(shù)據(jù)屬性值傳遞,即用戶名和密碼,定義結(jié)果集對(duì)象,使用executeQuery方法執(zhí)行Select語(yǔ)句。最后根據(jù)結(jié)果控制JSP,成功則跳到用戶登錄后的界面,即index3.jsp。否則停在本界面。</p><p> 4.OrderCL.java:定義OrderCL繼承HttpServlet,重寫doGet()和doPost(
63、),通過(guò)request對(duì)象調(diào)用getParameter()方法收集數(shù)據(jù),即訂單人信息和訂餐信息,定義Orderc類的對(duì)象調(diào)用setX()方法傳遞數(shù)據(jù),調(diào)用JavaBean。最后根據(jù)結(jié)果控制JSP,訂單成功則跳到訂單成功的界面,即dingdanchenggong.jsp。</p><p> 5.CDadd.java: 定義CDadd繼承HttpServlet,重寫doGet()和doPost(),通過(guò)reques
64、t對(duì)象調(diào)用getParameter()方法收集數(shù)據(jù),即添加的菜單的各個(gè)信息,定義cdadd類的對(duì)象調(diào)用setX()方法傳遞數(shù)據(jù),調(diào)用JavaBean。最后根據(jù)結(jié)果控制JSP,添加成功則跳到管理員主界面,即index2.jsp。否則停在本頁(yè)。用戶的添加以及其他功能與此類似。</p><p> 4.2主要功能的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 實(shí)現(xiàn)的全部功能表:</b&
65、gt;</p><p> 表4.1實(shí)現(xiàn)的主要功能細(xì)節(jié)</p><p> 4.2.1 功能1 用戶注冊(cè)</p><p><b> 1.流程設(shè)計(jì)</b></p><p><b> 是</b></p><p><b> 否</b></p>
66、<p><b> 2.技術(shù)應(yīng)用</b></p><p> 本流程使用JSP+Servlet+JavaBean,其中,JSP實(shí)現(xiàn)用戶注冊(cè)界面和用戶登錄后的主界面,JavaBean使用setX()和getX()來(lái)實(shí)現(xiàn)對(duì)客戶屬性的賦值和取值,通過(guò)addUser()添加到數(shù)據(jù)庫(kù),Servlet主要實(shí)現(xiàn)數(shù)據(jù)的傳遞和控制JSP。</p><p><b>
67、; 3.實(shí)現(xiàn)</b></p><p><b> 注冊(cè)成功后轉(zhuǎn)到</b></p><p> 4.2.2 功能2用戶登錄</p><p><b> 1.流程設(shè)計(jì)</b></p><p><b> 否</b></p><p><b&
68、gt; 是</b></p><p><b> 2.技術(shù)應(yīng)用</b></p><p> 本流程使用JSP+Servlet+JavaBean,其中,JSP實(shí)現(xiàn)用戶登錄界面和用戶登錄后的主界面,JavaBean使用setX()和getX()來(lái)實(shí)現(xiàn)對(duì)客戶屬性的賦值和取值,通過(guò)isExists()查詢數(shù)據(jù)庫(kù)中的表tb_user來(lái)判斷用戶是否存在,Servlet
69、主要實(shí)現(xiàn)數(shù)據(jù)的傳遞和控制JSP。</p><p><b> 3.實(shí)現(xiàn)</b></p><p> 登錄成功后跳到用戶主界面</p><p><b> 4.2.3 功能3</b></p><p><b> 1.流程設(shè)計(jì)</b></p><p><
70、;b> 2.技術(shù)應(yīng)用</b></p><p> 本流程使用JSP+Servlet+JavaBean,其中,JSP實(shí)現(xiàn)管理員主界面和三個(gè)子功能的界面,JavaBean使用setX()和getX()來(lái)實(shí)現(xiàn)對(duì)客戶屬性的賦值和取值, Servlet主要實(shí)現(xiàn)數(shù)據(jù)的傳遞和控制JSP</p><p><b> 3.實(shí)現(xiàn)</b></p><
71、p><b> 管理員主界面:</b></p><p> 跳轉(zhuǎn)到用戶信息管理界面:</p><p> 三個(gè)子功能中的一項(xiàng),添加</p><p><b> 4.3小結(jié)</b></p><p> 本章為詳細(xì)設(shè)計(jì),主要確定怎樣具體的實(shí)現(xiàn)用戶所需要的軟件系統(tǒng),除了保證軟件的可靠性之外,還要確保
72、軟件的可讀性,容易修改和維護(hù)。人機(jī)界面設(shè)計(jì)是接口設(shè)計(jì)的一個(gè)重要組成部分,本章詳細(xì)給出了系統(tǒng)實(shí)現(xiàn)的各個(gè)界面以及功能設(shè)計(jì)。其中人機(jī)界面是一個(gè)迭代過(guò)程,基本要求是簡(jiǎn)單美觀,實(shí)用。各個(gè)功能的分配應(yīng)該模塊化以便分工明確,未測(cè)試和維護(hù)提供方便。5 測(cè)試</p><p> 軟件的測(cè)試是系統(tǒng)開發(fā)周期中一個(gè)十分重要的環(huán)節(jié),其重要性體現(xiàn)在它是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對(duì)整個(gè)系統(tǒng)開發(fā)過(guò)程的最終審查,如果錯(cuò)誤不能在測(cè)試階段被發(fā)
73、現(xiàn)并糾正,就可能會(huì)造成不堪設(shè)想的后果。</p><p><b> 測(cè)試環(huán)境:</b></p><p> 筆記本電腦一臺(tái)、Web服務(wù)器和數(shù)據(jù)庫(kù)以及網(wǎng)絡(luò)。</p><p><b> 系統(tǒng)配置如下。</b></p><p><b> 1)軟件配置</b></p>
74、<p><b> 操作系統(tǒng):</b></p><p> 數(shù)據(jù)庫(kù)系統(tǒng):SQL Server 2005。</p><p> 瀏覽器:360安全瀏覽器6。</p><p><b> 2)硬件需求</b></p><p><b> CPU:不詳</b></p
75、><p><b> 內(nèi)存:不詳。</b></p><p><b> 硬盤:不詳。</b></p><p> 經(jīng)過(guò)測(cè)試,本訂餐系統(tǒng)的功能能夠基本上得到實(shí)現(xiàn),基本上滿足能不同用戶的功能、性能上的需求。由于時(shí)間有限,不能非常詳細(xì)地對(duì)本系統(tǒng)做測(cè)試及寫完整的測(cè)試流程,所以測(cè)試的準(zhǔn)確性可能會(huì)受到影響</p><p
76、><b> 6 結(jié)語(yǔ)</b></p><p> 問題:1.參數(shù)傳遞出錯(cuò),無(wú)法傳遞數(shù)據(jù)。</p><p> 2.當(dāng)大量用戶同時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問時(shí),效率低,有的用戶訪問失敗。</p><p> 3.中文亂碼,出現(xiàn)問號(hào)及其他內(nèi)容。</p><p><b> 主要的解決方法:</b><
77、/p><p> 1.對(duì)于各個(gè)模塊接參數(shù)的格式進(jìn)行了統(tǒng)一</p><p> 2.本程序以中小型為基礎(chǔ),采用JDBC數(shù)據(jù)源進(jìn)行連接數(shù)據(jù)庫(kù)這就決定了本系統(tǒng)的先天缺陷。純正的電子商務(wù)網(wǎng)站均采用連接池,出于技術(shù)難度大和資料缺乏放棄此最佳方案。</p><p> 3.主要是把程序中的PageEncoding的值改為gbk。</p><p> 在這次課
78、程設(shè)計(jì),我學(xué)習(xí)著開發(fā)了網(wǎng)上訂餐管理系統(tǒng)。在這個(gè)系統(tǒng)中,采用的是開發(fā)語(yǔ)言是JSP技術(shù).以前對(duì)JSP技術(shù)僅僅是很淺顯的認(rèn)識(shí).通過(guò)這次課程設(shè)計(jì),使我對(duì)JSP技術(shù)有了深刻的認(rèn)識(shí),對(duì)其組件、功能、語(yǔ)法都有了較大的提高.從學(xué)習(xí)JAVA語(yǔ)言開始,學(xué)習(xí)JSP,還有JDBC技術(shù)以及JSP與數(shù)據(jù)庫(kù)的連接技術(shù)等,以及原來(lái)對(duì)B/S結(jié)構(gòu)一知半解,通過(guò)這次的課程設(shè)計(jì)對(duì)此結(jié)構(gòu)進(jìn)一步理解,同時(shí)學(xué)會(huì)使用MVC模型開發(fā)系統(tǒng)。主要設(shè)計(jì)和代碼編寫時(shí)都遇見很多問題。但是由于用戶
79、管理,菜品管理,訂餐管理在功能實(shí)現(xiàn)上大同小異,因此設(shè)計(jì)上沒有花費(fèi)太多時(shí)間,最終把精力放在了解JSP技術(shù)中,重點(diǎn)解決亂碼問題、數(shù)據(jù)庫(kù)連接問題上??傊ㄟ^(guò)這兩個(gè)多星期從設(shè)計(jì)到最后實(shí)現(xiàn)的過(guò)程中,讓我對(duì)原來(lái)的知識(shí)加以運(yùn)用和再深化了解。 </p><p><b> 參考文獻(xiàn)</b></p><p> [1] 李蕾.實(shí)驗(yàn)室管理系統(tǒng)研究[D].重慶大學(xué),2008.</p&
80、gt;<p> [2] 馬薇.高校實(shí)驗(yàn)室信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].吉林大學(xué),2010.</p><p> [3] 呂永生.實(shí)驗(yàn)教學(xué)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2012.</p><p> [4] Gang Huang , Hong Mei , Fu-Qing Yang. Runtime recovery an
81、d manipulation of software architecture of component-based systems [J]. Automated Software Engineering, 2006, Vol.13 (2).</p><p> [5] 徐堅(jiān).C/S與B/S結(jié)構(gòu)的分析與比較[J].曲靖師范學(xué)院學(xué)報(bào).2005(03).</p><p
82、> [7] ?ilvinas Vaira , Albertas ?aplinskas.Software Engineering Paradigm Independent Design Problems, GoF 23 Design Patterns, and Aspect Design[J]. Informatica, 2011, Vol.22 (2).</p>&
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于java的網(wǎng)上訂餐系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--網(wǎng)上訂餐系統(tǒng)的開發(fā)研究
- 網(wǎng)上訂餐課程設(shè)計(jì)--網(wǎng)上訂餐管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的訂餐系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)
- 基于java web的鎬京學(xué)院網(wǎng)上訂餐系統(tǒng)
- java-web網(wǎng)上書店系統(tǒng)課程設(shè)計(jì)
- 基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與開發(fā)開題報(bào)告
- 基于web的網(wǎng)上訂餐系統(tǒng)
- 基于web的網(wǎng)上訂餐系統(tǒng)
- 基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的網(wǎng)上訂餐
- 基于java web的網(wǎng)上商城設(shè)計(jì)與開發(fā)
- java課程設(shè)計(jì)---基于java的在線評(píng)測(cè)系統(tǒng)的設(shè)計(jì)與開發(fā)
- java_web_課程設(shè)計(jì)
- web網(wǎng)上訂餐系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--在線網(wǎng)上訂餐系統(tǒng)
- 課程設(shè)計(jì)---java web圖書管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 《web系統(tǒng)開發(fā)課程設(shè)計(jì)》
- java-web新聞發(fā)布系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論