版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> .</b></p><p> 本科生畢業(yè)設(shè)計(jì)(論文)</p><p> 論文題目 基于web的在線餐飲網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 作者姓名 </b></p><p> 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù)</p><p>
2、<b> 指導(dǎo)教師 </b></p><p> 基于web的在線餐飲網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 學(xué)院:信息科學(xué)與工程學(xué)院</p><p> 專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 姓名:000</p><p> 學(xué)號(hào):000</p><p> 指導(dǎo)教師:00
3、0</p><p> 答辯日期:2017年6月</p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 學(xué)院:信息科學(xué)與工程學(xué)院 專業(yè)(方向):計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 注:周次完成內(nèi)容請指導(dǎo)老師根據(jù)課題內(nèi)容自主合理安排。</p><p><b> 摘 要</b&
4、gt;</p><p> 隨著數(shù)字化和信息化的日益發(fā)展,網(wǎng)絡(luò)在人們生活的中的比重越來越大,衣食住行是人們的生活方式,而食物正是人們每日的必需品,隨著人們生活水平的提高,越來越多的餐廳開始出現(xiàn),餐飲行業(yè)是一個(gè)永不凋零的行業(yè),如何使顧客更加方便的品嘗美味的食物這一需求促使網(wǎng)上餐飲管理系統(tǒng)出現(xiàn),而網(wǎng)絡(luò)的及時(shí)和準(zhǔn)確的信息傳遞也正是迎合了餐飲網(wǎng)站的出現(xiàn),同時(shí)越來越多的訂餐網(wǎng)站和手機(jī)APP涌現(xiàn)而出,因此開發(fā)一個(gè)好的餐飲網(wǎng)站
5、必將是能夠運(yùn)用到實(shí)際中的項(xiàng)目。</p><p> 本文對餐飲管理系統(tǒng)網(wǎng)站的開發(fā)從需求分析到最后的編碼測試進(jìn)行了詳細(xì)的闡述,主要采用JSP+Servlet+MySQL進(jìn)行開發(fā),在過程中遇到了許多問題,同時(shí)對軟件工程的重要性有了更深刻的認(rèn)識(shí),是對餐飲管理系統(tǒng)網(wǎng)站開發(fā)的一次嘗試,同時(shí)在開發(fā)過程中進(jìn)行學(xué)習(xí)和實(shí)踐,收獲了許多知識(shí)和對編程的理解。</p><p> 關(guān)鍵詞:餐飲;開發(fā);管理系統(tǒng);網(wǎng)
6、站</p><p><b> Abstract</b></p><p> With the development of digital and information technology, the proportion of network in people's life is more and more big, basic necessities
7、 of life are people's way of life, and food is the daily necessity of the people. With the improvement of people's living standard, more and more restaurants are beginning to appear, the catering industry is an i
8、ndustry that will never wither. How to make customers more convenient to taste delicious food, this demand prompted the emergence of online cateri</p><p> In this paper, the restaurant management system web
9、site development, from the demand analysis to the final coding, testing are described in detail, JSP+Servlet+MySQL is mainly used for development. Encountered many problems in the process, but at the same time, I have a
10、deeper understanding of the importance of software engineering, It is an attempt to develop the website of restaurant management system. At the same time, in the development process of learning and practice, I gained a l
11、ot of kno</p><p> Keywords: Catering; Development; Management System; Website</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractIII
12、</p><p><b> 目 錄V</b></p><p> 第1章 緒 論1</p><p> 1.1 選題的背景1</p><p> 1.2 目的和意義1</p><p> 1.3 國內(nèi)外文獻(xiàn)綜述2</p><p> 1.4 主要研究內(nèi)容2
13、</p><p> 第2章 系統(tǒng)實(shí)現(xiàn)技術(shù)5</p><p> 2.1 JAVA WEB技術(shù)5</p><p> 2.1.1 使用工具5</p><p> 2.1.2 主要內(nèi)容5</p><p> 2.2 SERVLET技術(shù)6</p><p> 2.3 訪問數(shù)據(jù)庫6<
14、/p><p> 2.3.1 開發(fā)工具6</p><p> 2.3.2 語言簡介7</p><p> 2.4 MVC模式7</p><p> 2.5 本章小結(jié)7</p><p> 第3章 需求分析9</p><p> 3.1 可行性分析9</p><p>
15、; 3.1.1 技術(shù)可行性9</p><p> 3.1.2 經(jīng)濟(jì)可行性9</p><p> 3.1.3 操作可行性9</p><p> 3.2 項(xiàng)目內(nèi)容9</p><p> 3.3 實(shí)體-聯(lián)系圖10</p><p> 3.3.1 數(shù)據(jù)對象10</p><p> 3.3.
16、2 聯(lián)系10</p><p> 3.4 本章小結(jié)11</p><p> 第4章 數(shù)據(jù)庫表設(shè)計(jì)12</p><p> 4.1 數(shù)據(jù)庫表13</p><p> 4.2 數(shù)據(jù)庫表中的數(shù)據(jù)項(xiàng)13</p><p> 4.2.1 顧客表13</p><p> 4.2.2 餐品表13
17、</p><p> 4.2.3 餐位表14</p><p> 4.2.4 評(píng)價(jià)表14</p><p> 4.2.5 廚師表14</p><p> 4.2.6 服務(wù)員表14</p><p> 4.2.7 訂單表14</p><p> 4.2.8 歷史記錄表15</p&
18、gt;<p> 4.2.9 管理員表15</p><p> 4.3 數(shù)據(jù)庫表設(shè)計(jì)15</p><p> 4.4 本章小結(jié)18</p><p> 第5章 總體設(shè)計(jì)18</p><p> 5.1 選擇設(shè)計(jì)方案19</p><p> 5.2 設(shè)計(jì)原理分析19</p><
19、;p> 5.3 功能層次圖20</p><p> 5.4 功能詳解21</p><p> 5.5 本章小結(jié)23</p><p> 第6章 詳細(xì)設(shè)計(jì)24</p><p> 6.1 程序流程圖設(shè)計(jì)25</p><p> 6.1.1 前臺(tái)程序流程圖25</p><p>
20、 6.1.2 后臺(tái)程序流程圖25</p><p> 6.2 頁面設(shè)計(jì)26</p><p> 6.2.1 登錄界面26</p><p> 6.2.2 主頁界面27</p><p> 6.2.3 餐品預(yù)定界面27</p><p> 6.2.4 餐位預(yù)定界面28</p><p>
21、 6.2.5 個(gè)人中心界面28</p><p> 6.2.6 餐品詳情界面29</p><p> 6.2.7 后臺(tái)登錄界面30</p><p> 6.2.8 后臺(tái)主頁界面30</p><p><b> 6.3 小結(jié)31</b></p><p> 第7章 編碼設(shè)計(jì)32<
22、/p><p> 7.1 基本Java類33</p><p> 7.2 方法類33</p><p> 7.3 處理SERVLET34</p><p> 7.4 本章小結(jié)35</p><p> 第8章 系統(tǒng)測試36</p><p> 8.1 登錄測試37</p>&
23、lt;p> 8.2 注冊測試37</p><p> 8.3 預(yù)定餐品測試37</p><p> 8.4 預(yù)定餐位測試38</p><p> 8.5 個(gè)人中心測試38</p><p> 8.6 后臺(tái)功能測試38</p><p><b> 8.7 小結(jié)39</b><
24、/p><p><b> 結(jié) 論40</b></p><p><b> 參考文獻(xiàn)42</b></p><p> 附錄1 開題報(bào)告44</p><p> 附錄2 文獻(xiàn)綜述46</p><p> 附錄3 中期報(bào)告48</p><p> 附
25、錄4 外文原文52</p><p> 附錄5 外文翻譯58</p><p><b> 致 謝62</b></p><p><b> 第1章 緒 論</b></p><p><b> 1.1 選題的背景</b></p><p> 隨著計(jì)
26、算機(jī)網(wǎng)絡(luò)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為當(dāng)今時(shí)代必不可少的工具,人們之間的信息交流變得簡單便捷,信息高效迅速的特性不斷推動(dòng)著社會(huì)的發(fā)展,小到人與人之間的聊天溝通,大到商業(yè)、學(xué)術(shù)交流等各個(gè)領(lǐng)域的信息交流,社會(huì)發(fā)展離不開信息的碰撞,而信息化的發(fā)展也離不開互聯(lián)網(wǎng)的發(fā)展。因此,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)也不斷地開拓創(chuàng)新,互聯(lián)網(wǎng)不斷地升級(jí)優(yōu)化,為滿足人們的需求不斷地進(jìn)行網(wǎng)站的開發(fā)和開發(fā)技術(shù)的發(fā)展。餐飲類網(wǎng)站也逐漸興起,如今各式各樣的餐飲企業(yè)和餐廳依托著網(wǎng)絡(luò)的信息處理的
27、快速、高效和時(shí)代的特性,通過外賣網(wǎng)站,點(diǎn)餐APP等在線網(wǎng)站和手機(jī)APP不斷地提升著服務(wù)水平和質(zhì)量,而隨著生活節(jié)奏的加快,廣大的消費(fèi)者也越來越傾向于通過網(wǎng)絡(luò)進(jìn)行便捷的消費(fèi),如何設(shè)計(jì)出更加人性化的餐飲網(wǎng)站,以及如何設(shè)計(jì)功能更加強(qiáng)大和更加全面的后臺(tái)系統(tǒng)都是需要實(shí)際考慮和有待提高的方向。同樣是餐飲行業(yè),當(dāng)前的訂餐網(wǎng)站越來越多,人們出行用餐改為了送餐到戶,對于足不出戶的用餐開始受到人們的青睞,但是餐廳的用餐不僅是多了出行的麻煩,而是減少了人與人的
28、社交文化,改變了人們的生活方式,在這個(gè)互聯(lián)網(wǎng)流行的時(shí)代如何設(shè)計(jì)和開發(fā)符合餐廳特色的餐飲網(wǎng)站是使餐飲餐廳追上時(shí)代的潮</p><p><b> 1.2 目的和意義</b></p><p> 通過上述分析,進(jìn)行餐飲類的網(wǎng)站開發(fā)是一個(gè)具有實(shí)際意義的項(xiàng)目。本系統(tǒng)不僅僅是對顧客可以使用的,也是對餐廳管理人員可以使用的,不僅可以使顧客訂餐變得更加方便,也是餐廳的管理人員對餐廳
29、的管理更加直觀和方便,用戶可以方便的訂餐,查看餐品和餐位信息,用餐之后的感受可以通過對相應(yīng)的餐品或服務(wù)員的評(píng)論進(jìn)行反饋,而餐廳的管理者可以登錄到后臺(tái)系統(tǒng)對餐廳的人員和餐品等的信息進(jìn)行管理,通過查詢訂單生成紙質(zhì)訂單進(jìn)行訂單的處理,而員工的服務(wù)質(zhì)量也可以通過相應(yīng)的好評(píng)、差評(píng)進(jìn)行反應(yīng),系統(tǒng)對信息的自動(dòng)處理是管理人員省去了很對繁重的工作。</p><p> 現(xiàn)在網(wǎng)上訂餐系統(tǒng)頗多,也很流行,但是餐廳的管理系統(tǒng)卻很少,本系
30、統(tǒng)結(jié)合訂餐和管理兩大功能,有著更加完善的系統(tǒng)功能,對于在線餐飲行業(yè)的發(fā)展有著很好地促進(jìn)作用。</p><p> 1.3 國內(nèi)外文獻(xiàn)綜述</p><p> 在線餐飲系統(tǒng)屬于開發(fā)較早的系統(tǒng),因?yàn)閲鴥?nèi)外普遍存在的餐飲行業(yè),該系統(tǒng)的研究和應(yīng)用發(fā)展很快,早先,國外的餐飲系統(tǒng)更是發(fā)展迅速,但是隨著中國的發(fā)展,人們生活水平的提高,越來越多的餐飲行業(yè)出現(xiàn),在線餐飲網(wǎng)站也是因此在中國開始發(fā)展,同時(shí)借鑒或
31、者使用外國的在線餐飲系統(tǒng),在中國,餐飲在線系統(tǒng)越來越普遍,該系統(tǒng)的研究也越來越成熟?,F(xiàn)在中國地網(wǎng)上訂餐網(wǎng)站也頗多,如餓了么、美餐網(wǎng)、外賣單、小組飯等等,網(wǎng)上的食物網(wǎng)站越來越多。但是網(wǎng)上訂餐企業(yè)的業(yè)績并不理想,尚未發(fā)現(xiàn)很火爆的網(wǎng)上訂餐企業(yè)。</p><p> 目前國內(nèi)外的網(wǎng)上餐廳網(wǎng)站大部分也是關(guān)于訂餐、訂座之類的,無法實(shí)現(xiàn)智能化的無人管理,但是隨著網(wǎng)上餐廳系統(tǒng)的發(fā)展,各式各樣的網(wǎng)站的開發(fā),網(wǎng)站的功能也會(huì)越來越全面
32、</p><p> 隨著餐廳的發(fā)展,網(wǎng)上餐廳系統(tǒng)功能也越來越多,餐廳預(yù)購、團(tuán)購、優(yōu)惠券、積分換禮、特色活動(dòng)等等各種功能層出不窮,而食物分類更是數(shù)不勝數(shù),網(wǎng)上餐廳越來越便利實(shí)惠。網(wǎng)上的訂餐系統(tǒng)的實(shí)地訂餐、電話訂餐也大大的節(jié)省了食客的時(shí)間,提供了方便的服務(wù),網(wǎng)絡(luò)訂餐可充通過色彩、圖片、說明、設(shè)置動(dòng)畫加強(qiáng)了產(chǎn)品了宣傳,大大達(dá)到了餐飲業(yè)的“色型”要求[1]。實(shí)現(xiàn)產(chǎn)品管理方便,起到立竿見影的效果,不用因?yàn)楦牟松匦掠?/p>
33、刷,同時(shí)網(wǎng)上展示的食物圖片和介紹也給了食客更直觀的印象和喜好。</p><p> 1.4 主要研究內(nèi)容</p><p> 對于餐飲管理網(wǎng)站,通過進(jìn)行功能分類,主要分為前臺(tái)功能和后臺(tái)功能,前臺(tái)功能主頁分為兩個(gè)部分,一部分是前臺(tái),一部分是用戶個(gè)人中心。</p><p><b> 前臺(tái)的主要功能為:</b></p><p&g
34、t; 1. 登錄功能:通過對用戶輸入的用戶名和密碼的正確性檢測實(shí)現(xiàn)登錄,保存用戶登錄信息。</p><p> 2. 注冊功能:通過輸入注冊信息,如用戶名、密碼、電話號(hào)碼,以及對用戶名是否存在的檢測、密碼和再次輸入密碼是否一致的檢測而確定是否能夠注冊成功,并將注冊信息保存到數(shù)據(jù)庫[2]。</p><p> 3. 首頁:實(shí)現(xiàn)向不同功能模塊的跳轉(zhuǎn)。</p><p>
35、 4. 餐品預(yù)定:顯示所有餐品,可以按不同條件進(jìn)行分類查詢,可以通過點(diǎn)擊餐品進(jìn)入餐品詳情頁面顯示餐品的詳細(xì)描述(包括用戶的評(píng)論),也可以通過點(diǎn)擊預(yù)定按鈕進(jìn)行餐品預(yù)定。</p><p> 5. 餐位預(yù)訂:顯示所有餐位和推薦餐位,通過選擇不同的時(shí)間段查看相應(yīng)時(shí)間可預(yù)訂的餐位(即空餐位)。</p><p> 用戶中心主要功能為:</p><p> 1. 個(gè)人信息模
36、塊:分為查看個(gè)人信息功能和修改個(gè)人信息功能[3]。</p><p> 2. 訂單模塊:分為查看訂單、添加訂單、刪除訂單和查看歷史訂單功能。查看訂單可以查看已經(jīng)提交但是沒有過期的訂單;添加訂單可以添加新訂單,只有點(diǎn)擊添加訂單之后才可以添加餐品和餐位,最后提交可以將訂單真正提交;刪除訂單可以將已經(jīng)預(yù)定的訂單取消;查看歷史訂單即查看過期訂單。</p><p> 3. 用戶等級(jí)模塊:查看個(gè)人等
37、級(jí)和提升個(gè)人等級(jí)功能。</p><p> 4. 評(píng)論模塊:實(shí)現(xiàn)對餐品評(píng)論,對服務(wù)員的滿意程度和廚師滿意程度進(jìn)行評(píng)價(jià)。</p><p> 以上是用戶可以操作的內(nèi)容的,即前臺(tái)功能,而對于用戶信息、餐品信息、餐位信息和員工信息的管理都屬于后臺(tái)功能:</p><p> 1. 餐品管理:查看所有餐品的信息,實(shí)現(xiàn)對餐品信息的刪除和修改[4]。</p><
38、;p> 2. 餐位管理:查看所有餐位的信息,實(shí)現(xiàn)對所有餐位信息的修改和刪除。</p><p> 3. 員工管理:查看所有員工(包括服務(wù)員和廚師)的信息,實(shí)現(xiàn)對所有員工信息的修改和刪除。</p><p> 第2章 系統(tǒng)實(shí)現(xiàn)技術(shù)</p><p> 2.1 JAVA WEB技術(shù)</p><p> Java web是用于解決Web領(lǐng)域
39、的Java技術(shù)總和,本次Java Web技術(shù)使用的工具有Myeclipse和Tomcat,下面對這兩個(gè)工具進(jìn)行簡單的介紹。</p><p> 2.1.1 使用工具</p><p> Myeclipse是在開源工具eclipse的基礎(chǔ)上由Genuitec公司添加上自己開發(fā)出來的的插件組合而成的具有強(qiáng)大功能的程序開發(fā)工具,而且由于對myeclipse的不斷更新,功能越來越完善,越來越強(qiáng)大,
40、此工具主要用于進(jìn)行Java語言程序的開發(fā),而且此工具上手容易,輔助功能強(qiáng)大,如自動(dòng)生成class文件和進(jìn)行執(zhí)行,不必打開命令行進(jìn)行手動(dòng)操作,錯(cuò)誤提示和出錯(cuò)原因顯示的很詳細(xì),同時(shí)可以改變編碼格式,根據(jù)自己的喜好改變代碼字體的大小、類型和顏色等,導(dǎo)入一些jar包和項(xiàng)目的方法也很便利,自動(dòng)提示功能也大大加快了代碼的生成效率。因此是一個(gè)非常好用的工具。</p><p> 2.1.2 主要內(nèi)容</p>&l
41、t;p> 主要包含css、Jsp、JavaScript和Servlet等內(nèi)容。</p><p> css是用于進(jìn)行Jsp頁面開發(fā)的輔助工具,是用于界面的優(yōu)化和界面的布局的層疊樣式表,css學(xué)習(xí)起來簡單,主要是對不同標(biāo)簽的style屬性進(jìn)行設(shè)置,使用div等標(biāo)簽對頁面布局進(jìn)行設(shè)計(jì)。</p><p> Jsp的全稱是Java Server Pages,是動(dòng)態(tài)頁面開發(fā)技術(shù),本質(zhì)上相當(dāng)
42、于一個(gè)簡化的Servlet設(shè)計(jì),有成為動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),是在傳統(tǒng)的HTML基礎(chǔ)上可以插入Java程序而形成的的JSP文件,通過在<% %>中添加Java程序使頁面設(shè)計(jì)變得更加簡單,與JavaScript的結(jié)合使用使其Jsp變得功能更強(qiáng)大,Jsp可以運(yùn)行于不同的操作系統(tǒng)上,如Linux和Windows。因此Jsp不僅有Java語言簡單易用的特點(diǎn),而且是面向?qū)ο蟮?,具有安全可靠和與平臺(tái)無關(guān)的特點(diǎn)[5]。</p>&
43、lt;p> JavaScript是一種用于Jsp頁面進(jìn)行動(dòng)態(tài)開發(fā)的腳本語言,是用來使頁面動(dòng)態(tài)顯示的語言,主要是通過對Jsp中的標(biāo)簽的屬性的控制來實(shí)現(xiàn)頁面的動(dòng)態(tài)變化,是由Netscape公司的Brendan Eich設(shè)計(jì)而成的。因?yàn)橥庥^相似Java,所以取名為JavaScript。</p><p> Servlet的全稱為Java Servlet,是使用Java編寫的服務(wù)器端程序,同時(shí)也是本次進(jìn)行后臺(tái)數(shù)據(jù)
44、處理和頁面顯示的主要程序,首先對于頁面提交的請求先放到相應(yīng)的Servlet中,Servlet在調(diào)用相應(yīng)的Java方法對請求進(jìn)行處理,最后將結(jié)果提交到相應(yīng)的Jsp頁面中。</p><p> 2.2 SERVLET技術(shù)</p><p> Servlet是導(dǎo)入特定的Java API包的Java程序,下面簡單介紹一下Servlet的生命周期,首先是收到客戶端傳送過來的請求而加載相應(yīng)的Servl
45、et類,實(shí)例化并通過Servlet的init()方法初始化該Servlet,然后根據(jù)不同請求調(diào)用相應(yīng)的doget()方法或者是dopost()方法,此時(shí)將調(diào)用其中的Java方法進(jìn)行請求處理,最后返回相應(yīng)的結(jié)果,通過調(diào)用destroy()方法銷毀Servlet。</p><p><b> 2.3 訪問數(shù)據(jù)庫</b></p><p> 訪問數(shù)據(jù)庫是進(jìn)行軟件開發(fā)的重要內(nèi)
46、容,從進(jìn)行數(shù)據(jù)庫表項(xiàng)設(shè)計(jì)開始到在程序中具體使用,對于數(shù)據(jù)庫的具體操作都影響到整個(gè)項(xiàng)目的順利進(jìn)行,因此選擇何種數(shù)據(jù)庫開發(fā)工具和對SQL語句的使用都是必不可少的。</p><p> 2.3.1 開發(fā)工具</p><p> 本次數(shù)據(jù)庫表的設(shè)計(jì)和數(shù)據(jù)存儲(chǔ)所用的工具是MySQL,MySQL是目前最流的面向關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一。對于MySQL的圖形用戶界面采用的是Navicat。雖然與一些大型
47、數(shù)據(jù)庫例如Oracle、DB2和SQL Server相比,MySQL有它的不足之處,但是作為中小型項(xiàng)目開發(fā)的數(shù)據(jù)庫還是完全沒問題的,而且MySQL是一個(gè)開源數(shù)據(jù)庫,免費(fèi)使用也可以降低項(xiàng)目開發(fā)的成本。</p><p> 下面對MySQL的特性進(jìn)行簡單的介紹:</p><p> 1. 采用C和C++編寫源代碼,通過了多種編譯器的測試,代碼可移植性好。</p><p>
48、; 2. 支持應(yīng)用于多種操作系統(tǒng)。</p><p> 3. 支持多線程,對于提高CPU資源利用率有很好的效果。</p><p> 4. 開源軟件,可以免費(fèi)使用。</p><p> 5. 提供了用于檢查、優(yōu)化、管理數(shù)據(jù)庫的工具。</p><p> 基于以上特點(diǎn)可以看出,MySQL是個(gè)人項(xiàng)目使用工具的極佳的選擇,也正是我選擇使用MySQ
49、L作為數(shù)據(jù)庫的重要參考內(nèi)容。同時(shí)因?yàn)樗械臄?shù)據(jù)庫原理基本上相同,所以區(qū)別也不會(huì)太大。</p><p> 2.3.2 語言簡介</p><p> SQL語言又稱為結(jié)構(gòu)化查詢語言,是用于對數(shù)據(jù)庫進(jìn)行查詢、增添、刪除和修改的一種語言,在SQL語言中主要包括五種數(shù)據(jù)類型:字符型、文本型、數(shù)值型、邏輯型和日期型,下面簡述本語言的特點(diǎn):一體化、使用方式靈活、非過程化和語言簡介。</p>
50、<p><b> 2.4 MVC模式</b></p><p> MVC全名是Model View Controller,分別是模型、視圖和控制器的縮寫,MVC模式開始是桌面程序的設(shè)計(jì)模式,M指的是業(yè)務(wù)層次模型,V指的是用戶界面層次的設(shè)計(jì),C則指的是控制器層次模型。將業(yè)務(wù)模型和用戶界面進(jìn)行分離是使用MVC模式的主要目的[6]。其中的MVC框架是MVC模式的某種框架,MVC程序
51、分為三個(gè)核心內(nèi)容,各自處理各自的內(nèi)容,如本次開發(fā)中的視圖層即是Jsp,數(shù)據(jù)庫是本次開發(fā)的模型層,Servlet是控制層。</p><p> 下面簡單的介紹什么是視圖層,什么是模型層,以及控制層的概念。</p><p> 視圖層,顧名思義,指的是界面顯示的層面,</p><p> 模型層,主要負(fù)責(zé)的是對數(shù)據(jù)的管理,例如數(shù)據(jù)庫便是用來對數(shù)據(jù)庫進(jìn)行管理的工具,但是僅
52、僅有數(shù)據(jù)庫還無法實(shí)現(xiàn)與程序的連接,需要導(dǎo)入相應(yīng)的jar包,書寫相應(yīng)的連接語句,根據(jù)不同需要書寫不同的SQL語句,然后連接數(shù)據(jù)庫進(jìn)行查詢,因此書寫的Java也屬于模型層的內(nèi)容,最后通過控制層將結(jié)果打印到視圖層。</p><p> 控制層,用于協(xié)調(diào)視圖層和模型層。</p><p><b> 2.5 本章小結(jié)</b></p><p> MyEc
53、lipse是一個(gè)功能強(qiáng)大的IDE工具,是在eclipse基礎(chǔ)上加上自己的插件開發(fā)而成的功能強(qiáng)大的企業(yè)級(jí)集成開發(fā)環(huán)境,支持對各種開源產(chǎn)品,比如可以通過導(dǎo)入Tomcat服務(wù)器,實(shí)現(xiàn)Java Web程序開發(fā),在瀏覽器上運(yùn)行自己的程序,與本地的Tomcat服務(wù)器進(jìn)行交互,同時(shí)也支持JDBC數(shù)據(jù)庫鏈接工具。MySQL是一個(gè)小型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),通過JDBC可以在MyEclipse的程序中使用MySQL工具。</p><p
54、><b> 第3章 需求分析</b></p><p><b> 3.1 可行性分析</b></p><p> 技術(shù)可行性分析是指對本次要研發(fā)的項(xiàng)目是否切實(shí)可行的分析,具有預(yù)見性、公正性、可靠性和科學(xué)性的特點(diǎn),基于的可行性分析是項(xiàng)目開發(fā)過程中的重要內(nèi)容,本次可行性分析主要是進(jìn)行技術(shù)可行性、用戶可行性和操作可行性三方面的可行性分析[8]。
55、</p><p> 3.1.1 技術(shù)可行性</p><p> 本次采用的的是MVC設(shè)計(jì)模式,完全可以滿足一般的小型項(xiàng)目開發(fā)所需要的技術(shù)支持,其中對于一些基礎(chǔ)的功能可以通過正常編碼完成實(shí)現(xiàn),而對于一些無法通過自己的編寫代碼,或者因?yàn)樽约旱木幊趟綗o法實(shí)現(xiàn)的功能可以通過添加相應(yīng)的插件,也就是導(dǎo)入相應(yīng)的jar包,使用其中封裝好的方法來實(shí)現(xiàn),雖然如此,但是作為一次獨(dú)立的項(xiàng)目開發(fā)經(jīng)驗(yàn),自己會(huì)盡可
56、能的使用自己編碼的方式結(jié)合從網(wǎng)上查找的資料來嘗試實(shí)現(xiàn)這些功能,總之,通過使用Jsp、Servlet和Java基本上可以實(shí)現(xiàn)本次項(xiàng)目。</p><p> 3.1.2 經(jīng)濟(jì)可行性</p><p> 本次項(xiàng)目開發(fā)所使用的工具有一臺(tái)電腦、在Windows系統(tǒng)下的Myeclipse軟件、Tomcat軟件、MySQL軟件,其中軟件可以免費(fèi)使用的是MySQL,而另外兩個(gè)軟件也可以找到獲取途徑,電腦是
57、自己的,因此開發(fā)的開發(fā)成本很小,而開發(fā)所得到的經(jīng)濟(jì)效益是很可觀的,因?yàn)橐坏╉?xiàng)目真的可以投入使用,那么不僅可以得到一筆收益,還是一次很好地項(xiàng)目成果體驗(yàn),既是項(xiàng)目無法使用,也可以帶給自己很多收獲,如開發(fā)過程中所積累的知識(shí)便是一筆無價(jià)之寶,最后的成果盡管不盡如人意,但是從客觀的角度評(píng)價(jià)了自己的成果,可以給自己一個(gè)新的定位,也帶給自己以后努力的方向和動(dòng)力。</p><p> 3.1.3 操作可行性</p>
58、<p> 操作可行性,也就是用戶對使用本軟件的滿意程度,操作難度等的可行性分析,因此操作可行性與技術(shù)可行性是分不開的,只有在技術(shù)可行性的基礎(chǔ)上才可以設(shè)計(jì)出操作簡單,功能強(qiáng)大,智能化程度高的軟件。</p><p><b> 3.2 項(xiàng)目內(nèi)容</b></p><p> 項(xiàng)目的操作大體流程為:</p><p> 首先是進(jìn)入登錄界面
59、,此時(shí)可以選擇登錄、注冊或者是以游客的身份直接登錄主頁,登錄主頁之后根據(jù)不同的目的可以查看餐品、查看餐位、后臺(tái)登錄和離開本網(wǎng)站(即關(guān)閉頁面),如果選擇登錄網(wǎng)站,則輸入用戶名和密碼通過后臺(tái)確認(rèn)登錄主頁,如果沒有賬號(hào)則可以選擇注冊一個(gè)賬號(hào),注冊完成功之后會(huì)自動(dòng)返回登錄頁面。當(dāng)?shù)卿浀街黜摰臅r(shí)候,可以按照不同的目的瀏覽不同的頁面,也可以進(jìn)入到個(gè)人中心頁面,在個(gè)人中心頁面,可以進(jìn)行個(gè)人信息、訂單信息、用戶類型和評(píng)論信息的管理,不同的信息管理模塊產(chǎn)
60、生不同的功能,個(gè)人信息管理包括查看個(gè)人信息和修改個(gè)人信息[9],密碼也是在修改個(gè)人信息中進(jìn)行修改的,訂單信息管理包括添加新訂單、查看訂單和刪除訂單等功能,用戶類型管理包括查看個(gè)人類型和提升用戶類型,評(píng)論管理分別是餐品評(píng)論、員工評(píng)論,其中員工評(píng)論又分為廚師評(píng)論和服務(wù)員評(píng)論,但是員工評(píng)論只能進(jìn)行好評(píng)和差評(píng),餐品評(píng)論是用戶個(gè)人的自由評(píng)論。</p><p> 以上是用戶功能部分的流程,而后臺(tái)功能部分的流程可以通過主頁面
61、跳轉(zhuǎn)到后臺(tái)登錄界面,輸入管理員的賬號(hào)和密碼以登錄,登錄到后臺(tái)主頁之后可以進(jìn)行顧客信息、餐品信息、餐位信息、員工信息和訂單信息的管理,顧客信息的查看、修改和刪除,餐品信息的查看、修改和刪除,餐位信息的查看、修改和刪除,員工信息又分為廚師信息和服務(wù)員信息,主要用于管理員工信息和工資的結(jié)算,訂單信息是來查看當(dāng)前應(yīng)立即處理的訂單。</p><p> 3.3 實(shí)體-聯(lián)系圖</p><p> 3.
62、3.1 數(shù)據(jù)對象</p><p> 通過第3.2節(jié)中的描述,可以大致分出的數(shù)據(jù)對象為:游客、顧客(即用戶)、管理員、廚師、服務(wù)員、訂單、評(píng)論、餐品和餐位。其中游客沒有具體屬性,顧客至少包含顧客ID、名稱、密碼等登錄時(shí)需要的屬性,管理員只需要賬號(hào)和密碼,廚師需要名稱、基本工資、好評(píng)、差評(píng)和聯(lián)系方式等屬性,服務(wù)員和廚師相同,訂單應(yīng)包含餐品、餐位、時(shí)間和顧客ID等信息,評(píng)論是對餐品的評(píng)論,因此至少應(yīng)包含餐品名、評(píng)論內(nèi)
63、容,餐品應(yīng)包含餐品名、餐品描述、餐品價(jià)格、餐品類型等內(nèi)容,餐位應(yīng)包含餐位ID、餐位是否可用、餐位類型、餐位座位數(shù)等內(nèi)容。</p><p><b> 3.3.2 聯(lián)系</b></p><p> 不同的對象之間是有聯(lián)系的,通過這些聯(lián)系可以是項(xiàng)目內(nèi)部更加統(tǒng)一和協(xié)調(diào),下面對各個(gè)對象之間的聯(lián)系進(jìn)行分析和總結(jié)。</p><p> 首先是游客,因?yàn)橛慰?/p>
64、沒有屬性,因此無法與其他對象產(chǎn)生聯(lián)系,而在實(shí)際的網(wǎng)站中,在登錄之前的瀏覽信息也是沒有與后臺(tái)的聯(lián)系的。</p><p> 顧客,顧客與訂單和評(píng)論有關(guān),每位顧客可以有多個(gè)訂單,與訂單是一對多的關(guān)系,每位顧客可以對多個(gè)餐品進(jìn)行評(píng)論,與評(píng)論也是一對多的關(guān)系,每位顧客可以對多位廚師進(jìn)行評(píng)論,在評(píng)論員工方面是一對多的,每位廚師可能為多為顧客制作餐品,同樣一位顧客可能吃到多名廚師做的菜,在做菜方面是多對多的關(guān)系,每位服務(wù)員可
65、以服務(wù)多位顧客,每位顧客也可能在每次用餐有不同的服務(wù)員進(jìn)行服務(wù),因此是多對多的關(guān)系。</p><p> 管理員,管理員不與任何對象產(chǎn)生聯(lián)系。</p><p> 廚師,廚師與餐品有關(guān),每位廚師可以做多種菜,因此與餐品是一對多的關(guān)系。</p><p> 與顧客的關(guān)系已經(jīng)在顧客中詳細(xì)分析。</p><p> 員工,員工主要與顧客產(chǎn)生聯(lián)系,已
66、經(jīng)在顧客中進(jìn)行了分析。</p><p> 訂單,每個(gè)訂單中可能產(chǎn)生多個(gè)餐品,因此是一對多的關(guān)系,但是每個(gè)訂單只能預(yù)定一個(gè)餐位,因此與餐衛(wèi)是一對一的關(guān)系,與顧客的關(guān)系在前面已經(jīng)說明。</p><p> 評(píng)論,是由顧客進(jìn)行評(píng)論的,每位顧客可以進(jìn)行多個(gè)評(píng)論,因此顧客與評(píng)論是一對多的關(guān)系。</p><p> 餐品,每位顧客可一享用多種餐品,因此與顧客是多對一的關(guān)系,每
67、個(gè)餐品可以有多個(gè)評(píng)價(jià),餐品與評(píng)價(jià)是一對多的關(guān)系,每個(gè)餐位上可以放置多個(gè)餐品,餐品與餐位是多對一的關(guān)系。</p><p> 餐位,通過前面的分析,可以知道餐位與顧客是一對一的關(guān)系,與餐品是一對多的關(guān)系,與訂單也是一對一的關(guān)系。</p><p><b> 3.4 本章小結(jié)</b></p><p> 本章主要內(nèi)容是對本次項(xiàng)目的大體流程進(jìn)行分析,
68、從中找出數(shù)據(jù)對象,分析出數(shù)據(jù)對象具有的屬性,然后分析出不同的數(shù)據(jù)對象之間多具有的聯(lián)系,其中的聯(lián)系有四種,即一對一、一對多、多對一和多對多。本章的分析可以為為之后的數(shù)據(jù)庫設(shè)計(jì)提供需要的表項(xiàng)和每個(gè)表中所具有的數(shù)據(jù)項(xiàng)。同時(shí)對于程序的大體流程有了一個(gè)初步的把握,對于接下來的總體設(shè)計(jì)具有一定的幫助。</p><p> 第4章 數(shù)據(jù)庫表設(shè)計(jì)</p><p><b> 4.1 數(shù)據(jù)庫表&l
69、t;/b></p><p> 數(shù)據(jù)庫表與前面的數(shù)據(jù)對象相對應(yīng),因此應(yīng)包含以下幾個(gè)數(shù)據(jù)庫表:顧客表、餐品表、餐位表、評(píng)價(jià)表、廚師表、服務(wù)員表、訂單表和歷史記錄表。因?yàn)楹笈_(tái)的登錄所需的賬號(hào)和密碼也需要存儲(chǔ),因此在單獨(dú)設(shè)計(jì)一個(gè)管理員表項(xiàng)。以上九個(gè)表項(xiàng)就是接下來進(jìn)行數(shù)據(jù)庫設(shè)計(jì)中所需要的表項(xiàng)。</p><p> 4.2 數(shù)據(jù)庫表中的數(shù)據(jù)項(xiàng)</p><p> 本節(jié)分
70、別對不同的表進(jìn)行分析,找出每個(gè)表所需要的數(shù)據(jù)項(xiàng),根據(jù)相應(yīng)的數(shù)據(jù)項(xiàng)來構(gòu)造出本次項(xiàng)目開發(fā)所需要的數(shù)據(jù)庫。</p><p><b> 4.2.1 顧客表</b></p><p> 顧客表也就是用戶表,是用來存儲(chǔ)訂餐或者是瀏覽網(wǎng)站進(jìn)行其他各種功能的億注冊用戶的相關(guān)信息的表項(xiàng),其中應(yīng)包含的基礎(chǔ)數(shù)據(jù)項(xiàng)是用戶名,密碼和用戶ID,其中用戶ID是由系統(tǒng)自動(dòng)生成,用戶名和密碼是由顧客
71、自己在注冊時(shí)設(shè)定的[13]。</p><p> 除了以上包括的基本數(shù)據(jù)類型,接下來對還應(yīng)包含的數(shù)據(jù)項(xiàng)進(jìn)行分析,顧客與餐廳之間應(yīng)該有相應(yīng)的聯(lián)系方式,但是如果用戶不愿透露自己的聯(lián)系方式,也可以不寫,一次可以在設(shè)置一個(gè)手機(jī)號(hào)作為聯(lián)系方式的數(shù)據(jù)項(xiàng)。對于已經(jīng)注冊的用戶,一些用戶可能會(huì)具有一些額外的功能,這些顧客具有不同的顧客類型,因此可以設(shè)置一個(gè)用戶類型的數(shù)據(jù)項(xiàng),為了可以了解用戶的信譽(yù),可以設(shè)置一個(gè)用戶信譽(yù)的數(shù)據(jù)項(xiàng)。&l
72、t;/p><p><b> 4.2.2 餐品表</b></p><p> 餐品表是用來對餐品信息進(jìn)行管理的數(shù)據(jù)庫表,其中應(yīng)該包括餐品應(yīng)當(dāng)具有的一些基本信息,因此包括餐品名、餐品ID、餐品價(jià)格、餐品類型等信息。除了這些基本信息,還應(yīng)包含一些額外的數(shù)據(jù)項(xiàng),這些數(shù)據(jù)項(xiàng)也是不可或缺的,在用戶瀏覽網(wǎng)站時(shí),最直觀的印象還是通過瀏覽相應(yīng)的圖片獲取的,因此可以在添加一個(gè)數(shù)據(jù)項(xiàng)作為相應(yīng)
73、餐品的圖片信息進(jìn)行保存,例如添加一個(gè)餐品圖片位置的數(shù)據(jù)項(xiàng),同時(shí)餐品類型可能會(huì)有不同的分類,經(jīng)過查閱和瀏覽一些其他的美食類網(wǎng)站,又將餐品類型分為了三個(gè)小類型,分別是地方特色、食品特點(diǎn)和口味三類,而每一類中包含了更多的小分類,這樣使得用戶在查詢相應(yīng)的餐品時(shí)可以得到更加準(zhǔn)確、更加豐富的餐品。根據(jù)餐品是否新近出品的一類食物可以再加入一個(gè)是否新品的數(shù)據(jù)項(xiàng)。為了使顧客更加了解相應(yīng)餐品的特點(diǎn),可以再加入一個(gè)餐品描述。</p><p
74、><b> 4.2.3 餐位表</b></p><p> 餐位表是用來存儲(chǔ)和處理餐位信息的數(shù)據(jù)庫表,應(yīng)包含的基本信息有餐位ID、餐位可供用餐人數(shù)、餐位類型、餐位已經(jīng)被預(yù)定的時(shí)間列表,餐位類型可以分為三種:是否靠窗、是否單間、是否露天等。</p><p><b> 4.2.4 評(píng)價(jià)表</b></p><p>
75、評(píng)價(jià)表是用來存儲(chǔ)用戶對餐品所做出的評(píng)論信息的一個(gè)表項(xiàng),其中應(yīng)包括顧客ID、餐品名和評(píng)價(jià)內(nèi)容,因?yàn)樵u(píng)價(jià)表不需要每個(gè)表項(xiàng)具有唯一的標(biāo)識(shí),只要知道每一種餐品的即可評(píng)價(jià),一次可以不設(shè)置評(píng)價(jià)ID。</p><p><b> 4.2.5 廚師表</b></p><p> 廚師表用來存儲(chǔ)和處理廚師信息的表項(xiàng),其中應(yīng)包含廚師的基本內(nèi)容,如廚師ID、廚師名、廚師的基本工資等內(nèi)容,因
76、為顧客可以對廚師進(jìn)行好評(píng)或者是差評(píng),所以還應(yīng)包含一個(gè)好評(píng)數(shù)據(jù)項(xiàng)和一個(gè)差評(píng)數(shù)據(jù)項(xiàng),用于保存用戶提交的對于相應(yīng)廚師的好評(píng)和差評(píng),如何為了提供顧客指定相應(yīng)的廚師為其服務(wù)功能,可以為了顧客瀏覽顧客信息是信息的完整性而提供一個(gè)可以看到廚師頭像的數(shù)據(jù)項(xiàng),對于一些名廚或者是大廚可以提供一個(gè)是否為大廚的數(shù)據(jù)項(xiàng)進(jìn)行區(qū)別,對于不同的廚師可能會(huì)有不同的拿手好菜,因此可以提供一個(gè)拿手好菜的數(shù)據(jù)項(xiàng),比如餐品ID。為了方便與廚師的聯(lián)系,可以再加入一個(gè)聯(lián)系方式的數(shù)據(jù)
77、項(xiàng),例如電話號(hào)碼。</p><p> 4.2.6 服務(wù)員表</p><p> 服務(wù)員的存儲(chǔ)信息和信息的處理是基于服務(wù)員表進(jìn)行的,服務(wù)員表應(yīng)當(dāng)包含的數(shù)據(jù)項(xiàng)包含服務(wù)員ID、服務(wù)員的基本工資。同時(shí)為了反饋顧客的用餐體驗(yàn),存儲(chǔ)用戶對服務(wù)員的評(píng)價(jià),可以再加入好評(píng)和差評(píng)兩個(gè)數(shù)據(jù)項(xiàng),為了餐廳管理者與服務(wù)員可以便利的聯(lián)系,加入一個(gè)用于保存聯(lián)系方式的數(shù)據(jù)項(xiàng),例如電話號(hào)碼。因?yàn)榉?wù)員的工作比較簡單,沒有與
78、餐品等的聯(lián)系,因此需要的信息比較少,通過以上的數(shù)據(jù)項(xiàng)就足以保證服務(wù)員的所有信息。</p><p><b> 4.2.7 訂單表</b></p><p> 訂單表是用于存儲(chǔ)顧客所預(yù)定的餐品和餐位的數(shù)據(jù)庫表,也是用于廚師處理訂單順序所需要的表項(xiàng),因此應(yīng)包含的基本信息為:訂單ID、訂單時(shí)間、餐品、餐位等基本信息,如果顧客對于廚師也有要求,那么應(yīng)該再加入一個(gè)廚師名稱的數(shù)據(jù)
79、項(xiàng),為了方便最后的結(jié)賬,可以再添加一個(gè)總價(jià)作為多種所預(yù)定的餐品的總價(jià)的數(shù)據(jù)項(xiàng)。</p><p> 4.2.8 歷史記錄表</p><p> 歷史記錄表是用來存儲(chǔ)已經(jīng)過期的訂單表項(xiàng)的,主要是用于顧客查看過往的消費(fèi)記錄,因此包含的數(shù)據(jù)項(xiàng)為:餐品名稱、餐位ID、價(jià)格等基本內(nèi)容,是對于今后餐廳的正常運(yùn)作影響很小或者是基本沒有用的一些信息。主要是為了方便客戶,滿足客戶的更多功能。</p&g
80、t;<p> 4.2.9 管理員表</p><p> 管理員表沒有具體的功能,主要用于在管理員登錄后臺(tái)系統(tǒng)時(shí)驗(yàn)證管理員的賬號(hào)密碼是否正確時(shí)所用的,因此可以設(shè)計(jì)的比較簡單,只有一個(gè)登錄名和密碼即可,而且直接在數(shù)據(jù)庫中輸入。</p><p> 4.3 數(shù)據(jù)庫表設(shè)計(jì)</p><p> 表4-1 用戶信息表</p><p>
81、表4-2 餐品信息表</p><p><b> 表4-2(續(xù)表)</b></p><p> 表4-3 餐位基本信息表</p><p> 表4-4 訂單信息表</p><p> 訂餐表是一個(gè)訂單的數(shù)據(jù)信息表,訂單按照餐位和餐品的實(shí)際情況進(jìn)行設(shè)計(jì),每個(gè)訂單表規(guī)定最多只能預(yù)定五道菜品,一個(gè)座位,可以根據(jù)自己的喜好選擇則
82、或者不選指定廚師為主廚。</p><p> 表4-5 廚師信息表</p><p> 表4-6 服務(wù)員信息表</p><p> 表4-7 歷史信息表</p><p> 表4-8 評(píng)論信息表</p><p> 表4-9 管理員信息表</p><p><b> 4.4 本章小結(jié)&
83、lt;/b></p><p> 通過對數(shù)據(jù)庫表的分析,得到了數(shù)據(jù)庫表的大體結(jié)構(gòu),最后根據(jù)分析的內(nèi)容得到了數(shù)據(jù)庫表的最終數(shù)據(jù)項(xiàng)內(nèi)容,本章做的工作是很重要的一步,對后面進(jìn)行總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)提供個(gè)可供參考的數(shù)據(jù)庫,但是本章也確實(shí)需要認(rèn)真考慮許多因素,因?yàn)槊恳粋€(gè)數(shù)據(jù)庫表中的每一個(gè)表項(xiàng)都要根據(jù)起具體意義確定長度和是否允許為空。</p><p><b> 第5章 總體設(shè)計(jì)<
84、/b></p><p> 5.1 選擇設(shè)計(jì)方案</p><p> 因?yàn)楸敬伍_發(fā)的項(xiàng)目屬于一個(gè)小型系統(tǒng),因此可以簡化許多問題,比如是否使用框架問題,對于大型項(xiàng)目而言,使用SSH框架可以提高系統(tǒng)開發(fā)效率,可以利用許多已經(jīng)封裝好的技術(shù),因此適合公司項(xiàng)目開發(fā),而對于一個(gè)個(gè)人的項(xiàng)目而言,這樣固然可以節(jié)省很多力氣,但是也會(huì)減少許多發(fā)現(xiàn)和解決問題的機(jī)會(huì),因此選擇了使用Jsp+Servlet+J
85、ava的開發(fā)方式,其中Jsp是用于設(shè)計(jì)各種頁面,Servlet用于使用封裝好的Java中的方法處理Jsp頁面發(fā)出的請求并將處理結(jié)果輸出,Java的類與數(shù)據(jù)庫中的數(shù)據(jù)表相對應(yīng),并封裝SQL方法。這相比于使用SSH框架可能會(huì)產(chǎn)生很多問題,但是對于作為一個(gè)很好地實(shí)踐機(jī)會(huì)是絕對沒有問題的。</p><p> 之后就是工具的選擇問題,因?yàn)榍懊娴?章已經(jīng)分析過,所以使用的數(shù)據(jù)庫即為MySQL,使用的編碼工具為Myeclip
86、se,其中MySQL是免費(fèi)的開源工具,Myeclipse是用于開發(fā)整個(gè)項(xiàng)目的工具,使用Myeclipse的原因是因?yàn)閷Υ斯ぞ叩氖褂帽容^熟悉,對Myeclipse的各種輔助功能也比較了解。對于功能圖和流程圖的設(shè)計(jì)使用的是viso,原因也是工具的熟悉。</p><p> 5.2 設(shè)計(jì)原理分析</p><p> 1. 為了符合設(shè)計(jì)原理中的模塊化的相關(guān)要求,需要將功能模塊化,模塊化是指把程序分
87、成可以獨(dú)立訪問的模塊,每個(gè)模塊可以完成一定的功能,因此模塊化主要是進(jìn)行Java層次的設(shè)計(jì),因此需要設(shè)計(jì)九個(gè)基本類分別用于對應(yīng)九個(gè)不同的數(shù)據(jù)庫表,調(diào)用SQL語句將數(shù)據(jù)庫中的數(shù)據(jù)分別賦值給對應(yīng)的基本類,將不同數(shù)據(jù)庫表的增、刪、改、查通過九個(gè)基本類進(jìn)行實(shí)現(xiàn),對于不同的數(shù)據(jù)庫表的內(nèi)容的操作也要進(jìn)行分類封裝。</p><p> 2. 抽象化也是設(shè)計(jì)原理的一個(gè)重要因素,在前面第4章已經(jīng)對項(xiàng)目的操作流程中所具有的對象進(jìn)行了抽
88、象,分為了九個(gè)數(shù)據(jù)對象,之后對每個(gè)對象所具有的屬性進(jìn)行了分析,經(jīng)過程序編碼的過程中對方法的設(shè)計(jì),本次項(xiàng)目開發(fā)的便是一個(gè)具有抽象化的完整對象。</p><p> 3. 逐步求精是一個(gè)步步細(xì)化的過程,通過前面內(nèi)容的表述可以看出,一個(gè)項(xiàng)目從模糊到逐漸清晰,項(xiàng)目的內(nèi)容也逐漸細(xì)化,隨著接下來的詳細(xì)設(shè)計(jì)、編碼設(shè)計(jì)和在最后的測試,本項(xiàng)目會(huì)逐步求精,逐漸成為一個(gè)完整的項(xiàng)目。</p><p> 4. 信
89、息隱藏和獨(dú)立化,在Servlet層,Java的具體實(shí)現(xiàn)方法是隱藏的,只需要知道它的實(shí)現(xiàn)功能,而不需要知道它的具體實(shí)現(xiàn)細(xì)節(jié)。</p><p> 5. 模塊的獨(dú)立是系統(tǒng)開發(fā)的一個(gè)重要內(nèi)容,也是模塊化、抽象化、信息隱藏和局部化的直接結(jié)果,模塊的獨(dú)立程度的兩個(gè)標(biāo)準(zhǔn)是高內(nèi)聚和低耦合。</p><p><b> 5.3 功能層次圖</b></p><p&g
90、t; 前臺(tái)顧客功能圖,主要有登錄注冊、訂座、評(píng)論、訂餐、個(gè)人中心模塊,其中個(gè)人中心可以適當(dāng)添加新的功能,不同功能模塊之間的關(guān)系如下圖5-1所示。后臺(tái)功能主要包括餐品、餐位、員工、用戶等的信息,如圖5-2所示。</p><p> 圖5-1 前臺(tái)功能層次圖</p><p> 圖5-2 后臺(tái)系統(tǒng)功能層次圖</p><p><b> 5.4 功能詳解<
91、;/b></p><p> 登陸功能:輸入賬號(hào)和密碼,Jsp頁面提交相應(yīng)的form表單,提交請求到相應(yīng)的Servlet,在Servlet中得到頁面的賬號(hào)和密碼的值,調(diào)用Java方法查詢顧客信息,與從頁面得到的賬號(hào)和密碼的值進(jìn)行比較,如果找到與數(shù)據(jù)庫中的賬號(hào)和密碼相匹配的值,登陸成功,將用戶的賬號(hào)信息添加到Session中,跳轉(zhuǎn)到主頁面進(jìn)行顯示。</p><p> 注冊功能:注冊功
92、能可以輸入基本信息,如用戶名、密碼、確認(rèn)密碼、電話號(hào)碼等,如果密碼和確認(rèn)密碼的信息不一致,會(huì)在下面的狀態(tài)一欄中顯示密碼錯(cuò)誤,如果沒有輸入用戶名,會(huì)顯示沒有輸入用戶名的錯(cuò)誤提示,未輸入密碼同樣會(huì)輸入未設(shè)置密碼的錯(cuò)誤,如果顯示可注冊,那么點(diǎn)擊注冊按鈕會(huì)跳轉(zhuǎn)到注冊Servlet中,進(jìn)入Servlet之后,先將頁面的請求信息賦值給Servlet中的變量,然后查詢數(shù)據(jù)庫,通過判斷如果用戶名已經(jīng)存在則回到注冊頁面并顯示用戶已存在的信息,否則注冊成功
93、,跳轉(zhuǎn)到登錄頁面進(jìn)行登錄。</p><p> 余座篩選:進(jìn)入餐位預(yù)訂頁面,顯示所有餐位,當(dāng)選擇不同日期和時(shí)間,點(diǎn)擊查詢,跳轉(zhuǎn)到相應(yīng)的時(shí)間篩選方法,將結(jié)果顯示在頁面上。</p><p> 預(yù)定座位:當(dāng)進(jìn)入餐位預(yù)訂頁面時(shí),對選中的餐位點(diǎn)擊預(yù)定按鈕,如果此時(shí)有新建的訂單,則將餐位ID保存在相應(yīng)的餐位Session中,如果尚未存在新建訂單,則提示無新建訂單,訂座失敗,并跳轉(zhuǎn)到個(gè)人中心頁面。&l
94、t;/p><p> 訂座推薦:訂座推薦會(huì)根據(jù)個(gè)人的訂單歷史記錄顯示相應(yīng)的餐位ID,因?yàn)橛喿扑]可以依據(jù)的信息只有過往訂單中的餐位ID信息,因此只能將此座位座位推薦依據(jù),但是訂座推薦中的座位不能預(yù)訂,因?yàn)檫@些作為是一些固定的座位,可能已經(jīng)被預(yù)定或者正在被使用,此功能只提供一個(gè)借鑒的功能。</p><p> 評(píng)論模塊:評(píng)論模塊是個(gè)人中心得一個(gè)子功能,只有登錄成功的顧客可以進(jìn)行評(píng)論,這個(gè)判斷會(huì)在
95、進(jìn)入個(gè)人中心時(shí)進(jìn)行,評(píng)論可以分為兩部分,一是對餐品的評(píng)論,二是對員工的評(píng)論,對員工的評(píng)論有包括對服務(wù)員評(píng)論和廚師評(píng)論,對餐品評(píng)論時(shí)先選擇想要評(píng)論的餐品,輸入評(píng)論內(nèi)容,然后提交,提交之后后進(jìn)入Servlet中,在這里調(diào)用相應(yīng)的方法將對餐品的評(píng)論和餐品對象存在數(shù)據(jù)庫中,然后返回個(gè)人中心,對廚師和服務(wù)員的評(píng)論只能進(jìn)行好評(píng)和差評(píng),選擇相應(yīng)的廚師或者服務(wù)員,選擇好評(píng)或者差評(píng),點(diǎn)擊提交,后臺(tái)Servlet的處理過程和評(píng)論餐品時(shí)的后臺(tái)處理過程類似,只
96、是將相應(yīng)的好評(píng)或者差評(píng)通過評(píng)論對象添加到相應(yīng)對象的數(shù)據(jù)庫表中,好評(píng)或差評(píng)的數(shù)量加一,然后返回個(gè)人中心頁面。</p><p> 訂餐模塊:首先進(jìn)入相應(yīng)的餐品預(yù)定頁面,將所有的餐品通過查詢數(shù)據(jù)庫動(dòng)態(tài)的顯示,點(diǎn)擊不同的餐品可以進(jìn)入到相應(yīng)餐品的詳細(xì)信息顯示頁面,在這里可以預(yù)定餐品,也可以在餐品預(yù)定首頁進(jìn)行預(yù)訂,預(yù)定時(shí)的情況和餐位預(yù)訂一樣,如果此時(shí)尚未新建訂單,則提示預(yù)定失敗,需要先添加新訂單,如果有新訂單,則添加到新訂
97、單,但是再添加時(shí)如果此時(shí)餐品預(yù)定數(shù)量已經(jīng)達(dá)到訂單預(yù)定上限,則不可預(yù)定。</p><p> 個(gè)人模塊:個(gè)人模塊可以進(jìn)行細(xì)分,如查看個(gè)人信息、修改給人信息、添加訂單、查看訂單、刪除訂單、查看歷史訂單、查看個(gè)人用戶類型、提升類型,除了上述功能外,評(píng)論功能也是在個(gè)人中心頁面進(jìn)行的。查看個(gè)人信息模塊顯示個(gè)人基本信息,修改個(gè)人信息模塊可以修改包括密碼在內(nèi)的基本信息,但是不可以修改用戶類型、信譽(yù)等用戶不可操作的信息[21],
98、添加訂單可以新建一個(gè)訂單,如果已有新建訂單則顯示新建訂單內(nèi)已預(yù)定的內(nèi)容,點(diǎn)擊提交按鈕可以將新建的訂單提交到Servlet中,調(diào)用相應(yīng)方法保存到數(shù)據(jù)庫表中,其余幾個(gè)功能用的方法類似。</p><p> 后臺(tái)的功能基本類似,下面講解將主要介紹代表性的功能。</p><p> 添加餐位:添加餐位功能可以輸入要添加的新的餐位的基本信息,通過form表單提交到Servlet,Servlet將提交
99、的請求信息通過方法添加到數(shù)據(jù)庫中。</p><p> 查看餐位:查看餐位可以查看所有餐位信息,可以修改和刪除具體的餐位,點(diǎn)擊刪除會(huì)直接調(diào)用相應(yīng)的Servlet,在Servlet中根據(jù)請求刪除的餐位ID使用具體方法刪除此餐位信息,修改信息的修改內(nèi)容編輯在查看餐位列表的下方一個(gè)具體表中,將編輯好的表提交給Servlet,Servlet將提交的信息傳給餐位修改方法,成功后回到后臺(tái)主頁。</p><
100、p> 查看用戶信息:此功能和查看餐位類似。</p><p> 查看訂單:顯示當(dāng)天的訂單到頁面上,點(diǎn)擊不同的時(shí)間段可以查看不同時(shí)間段應(yīng)處理的訂單。</p><p><b> 5.5 本章小結(jié)</b></p><p> 本章按照軟件工程中總體設(shè)計(jì)的實(shí)現(xiàn)步驟進(jìn)行了分析,對不同的功能進(jìn)行了劃分和詳細(xì)的分析,而且確定了開發(fā)系統(tǒng)使用的開發(fā)方式
101、是Java+Jsp+Servlet,對不同功能的設(shè)計(jì)思路有了一個(gè)較為明確的把握。</p><p><b> 第6章 詳細(xì)設(shè)計(jì)</b></p><p> 6.1 程序流程圖設(shè)計(jì)</p><p> 6.1.1 前臺(tái)程序流程圖</p><p> 前臺(tái)流程圖主要實(shí)現(xiàn)前臺(tái)功能,頁面主要包括登錄界面、主頁、餐位預(yù)訂、餐品預(yù)定
102、、個(gè)人中心、餐品詳情、注冊頁面等。通過登錄頁面進(jìn)入到主頁、主頁中可以跳轉(zhuǎn)到餐品預(yù)定、餐位預(yù)訂、個(gè)人中心、后臺(tái)登錄等頁面,餐品預(yù)訂可以跳轉(zhuǎn)到餐品詳情頁面。流程圖如圖6-1所示。</p><p> 圖6-1 前臺(tái)流程圖</p><p> 6.1.2 后臺(tái)程序流程圖</p><p> 后臺(tái)流程圖主要包括后臺(tái)登錄、后臺(tái)主頁,后臺(tái)登錄頁面登錄成功跳轉(zhuǎn)到后臺(tái)主頁,后臺(tái)主頁
103、顯示餐品管理、餐位管理、員工管理等在內(nèi)的后臺(tái)功能,根據(jù)不同操作可以在同一塊功能操作區(qū)操作不同功能,每次在功能去只能操作一種功能。</p><p> 如選擇餐位管理的添加餐位功能時(shí),顯示需要輸入信息的餐位信息列表。選擇查看餐位是可以顯示所有餐位的主要信息,根據(jù)不同需要選擇編輯或者是刪除相應(yīng)的餐位,餐品管理和員工管理與餐位管理的功能的現(xiàn)實(shí)情況是一樣的,如圖6-2。</p><p> 圖6-
104、2 后臺(tái)流程圖</p><p><b> 6.2 頁面設(shè)計(jì)</b></p><p> 6.2.1 登錄界面</p><p> 登錄界面主要內(nèi)容是:輸入賬號(hào)、輸入密碼、點(diǎn)擊登錄、點(diǎn)擊主頁、點(diǎn)擊注冊。然后程序根據(jù)不同的需求跳轉(zhuǎn)到相應(yīng)的界面。本界面的只要實(shí)現(xiàn)功能是登錄功能以及跳轉(zhuǎn)功能,界面如圖6-3。</p><p>&
105、lt;b> 圖6-3 登錄界面</b></p><p> 6.2.2 主頁界面</p><p> 主頁界面主要有餐位預(yù)訂、餐品預(yù)定、個(gè)人中心頁面、后臺(tái)登錄頁面的跳轉(zhuǎn),顯示一些新近出品的餐品信息,主要實(shí)現(xiàn)的功能是頁面跳轉(zhuǎn)功能,如圖6-4。</p><p><b> 圖6-4 主頁界面</b></p><
106、;p> 6.2.3 餐品預(yù)定界面</p><p> 餐品預(yù)定界面主要包含的內(nèi)容:除了和主頁相同的頁面跳轉(zhuǎn)功能,還有餐品預(yù)定功能,餐品查詢功能,跳轉(zhuǎn)頁面和主頁大體相同,也可以跳轉(zhuǎn)到主頁,還可以根據(jù)具體餐品跳轉(zhuǎn)到餐品詳情頁查看餐品詳情,如圖6-5所示。</p><p> 圖6-5 餐品預(yù)定界面</p><p> 6.2.4 餐位預(yù)定界面</p>
107、<p> 餐位預(yù)訂頁面的跳轉(zhuǎn)功能和主頁面大致相同,在此不再一一贅述,主要實(shí)現(xiàn)的功能是餐位預(yù)定和餐位推薦功能,可以根據(jù)不同訂餐日期提供餐位的日期查詢功能。餐位預(yù)訂頁面的內(nèi)容如下頁中圖6-6所示。</p><p> 6.2.5 個(gè)人中心界面</p><p> 個(gè)人中心頁面實(shí)現(xiàn)的主要功能:查看和修改個(gè)人信息功能、添加訂單、查看訂單、刪除訂單、查看訂單歷史、查看用戶類型(等級(jí))
108、、提升用戶類型(等級(jí))、評(píng)論功能,左側(cè)進(jìn)行功能選擇,右側(cè)進(jìn)行相應(yīng)的功能操作,退出可以退出當(dāng)前用戶,返回登錄界面,當(dāng)用戶登錄時(shí),退出可以再各個(gè)前臺(tái)頁面操作,界面如圖6-7所示。</p><p> 圖6-6 餐位預(yù)訂界面</p><p> 圖6-7 個(gè)人中心界面</p><p> 6.2.6 餐品詳情界面</p><p> 餐品詳情頁面主
109、要顯示餐品的基本信息,包括一些統(tǒng)計(jì)信息,如售出量和評(píng)論量,也包括當(dāng)前餐品的添加餐品功能、查看此餐品的評(píng)論內(nèi)容,同時(shí)也實(shí)現(xiàn)了主要前臺(tái)界面的跳轉(zhuǎn)功能,頁面如圖6-8所示。</p><p> 圖6-8 餐品詳情界面</p><p> 6.2.7 后臺(tái)登錄界面</p><p> 后臺(tái)登錄頁面實(shí)現(xiàn)后臺(tái)登錄功能。頁面的具體實(shí)現(xiàn)情況比較簡單,可以跳轉(zhuǎn)到主頁,具體見圖6-9。
110、</p><p> 圖6-9 后臺(tái)登錄頁面</p><p> 6.2.8 后臺(tái)主頁界面</p><p> 后臺(tái)主頁主要實(shí)現(xiàn)的功能是對餐位信息、餐品信息、員工(包括廚師和服務(wù)員呢)信息管理,管理方式是添加信息和顯示、編輯(修改)、刪除信息,還包括已注冊顧客信息的管理功能,訂單的查詢功能(用于決定當(dāng)前需要處理的訂單),實(shí)現(xiàn)方式和個(gè)人中心相同,左側(cè)選擇操作,右側(cè)執(zhí)行
111、相應(yīng)的操作,頁面如6-10。</p><p> 圖6-10 后臺(tái)主頁</p><p><b> 6.3 小結(jié)</b></p><p> 本章主要對頁面的實(shí)現(xiàn)和具體功能之間的關(guān)系進(jìn)行了展示和介紹,界面部分基本上已經(jīng)完成,每部分的功能也在界面上展示了出來,基本上實(shí)現(xiàn)了易于操作的需求,每部分功能的具體實(shí)現(xiàn)將在下一章的編碼設(shè)計(jì)中詳細(xì)說明。<
112、/p><p><b> 第7章 編碼設(shè)計(jì)</b></p><p> 7.1 基本Java類</p><p> 基本的Java類有cook類、food類、guke類、history類、manager類、order類、seat類、waiter類,分別對應(yīng)數(shù)據(jù)庫中的cook表、food表、guke表、history表、manager表、order表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于web的畢業(yè)論文管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于flash的網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+文獻(xiàn)綜述+任務(wù)書+開題報(bào)告】
- 餐飲網(wǎng)站畢業(yè)設(shè)計(jì)
- 校園購物網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+文獻(xiàn)綜述+開題報(bào)告+任務(wù)書】
- 在線網(wǎng)摘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+文獻(xiàn)綜述+任務(wù)書+開題報(bào)告】
- “浙江特產(chǎn)”網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[畢業(yè)論文+任務(wù)書+開題報(bào)告+文獻(xiàn)綜述+外文翻譯]
- 寧波餐飲團(tuán)購網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+任務(wù)書+開題報(bào)告+文獻(xiàn)綜述+外文翻譯】
- 團(tuán)購網(wǎng)站的分析設(shè)計(jì)【畢業(yè)論文+文獻(xiàn)綜述+開題報(bào)告+任務(wù)書】
- 企業(yè)在線會(huì)議管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+文獻(xiàn)綜述+開題報(bào)告+任務(wù)書】
- 畢業(yè)論文 基于web在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 中老年社交網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+任務(wù)書+開題報(bào)告+文獻(xiàn)綜述+外文翻譯】
- 個(gè)性禮品定制網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[畢業(yè)論文+任務(wù)書+開題報(bào)告+文獻(xiàn)綜述+外文翻譯]
- 基于ajax的社交網(wǎng)站交互平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于ajax的課程教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于php的crm系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+文獻(xiàn)綜述+任務(wù)書+開題報(bào)告】
- 基于web的非學(xué)業(yè)因素在線測評(píng)系統(tǒng)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 基于web的在線音樂網(wǎng)站設(shè)計(jì)【畢業(yè)論文】
- “漢堡小子”優(yōu)惠小貼士網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+任務(wù)書+開題報(bào)告+文獻(xiàn)綜述+外文翻譯】
- 基于web的網(wǎng)絡(luò)存儲(chǔ)服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- “小家園”外賣網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)論文+任務(wù)書+開題報(bào)告+文獻(xiàn)綜述+外文翻譯】
評(píng)論
0/150
提交評(píng)論