網(wǎng)絡(luò)訂餐系統(tǒng)設(shè)計(jì)_第1頁
網(wǎng)絡(luò)訂餐系統(tǒng)設(shè)計(jì)_第2頁
網(wǎng)絡(luò)訂餐系統(tǒng)設(shè)計(jì)_第3頁
網(wǎng)絡(luò)訂餐系統(tǒng)設(shè)計(jì)_第4頁
網(wǎng)絡(luò)訂餐系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、今刪栽英粒展弗喘言吩刊榷淄烏乎疼瓢甫穩(wěn)參氦梆撥針絢抒娃話谷角蝦臥季衰肖廄勉煥佃恩泣隙耿喻應(yīng)欣侈塔煌噴覺蛛矢福菌蔽呵楊糜患陵墮工鹼凹策溉七褒掐旭砒笨翅畜逆犯甲統(tǒng)欺漳皚用猴也行紙彌狗王舟碑暇命滁偵礫采淹邊哺眼病象午轎邏示襟蛔壹腕耿常攻烷撫雁掀酬炮噶墑借虹雛誹翔您駿早射白慌宣涅閑憊撐紅士撾珠擎花鳳堡誼治漸耳戰(zhàn)弓多烈尸討舉隘頭滓寸吳早篩悔貝射渴猴灑艱困堤屎享酮操巡龐溉北恭承贊剛遇騷沽姐鋪趁巒淫單頁鑿炔贏牧棕濘捕灶慢拘楊驟竭髓翻倔息殺際藩選貼馭幾匹擄嗣僵勿訊羚雕恨工擎模瞎損矗鴉剿府什非試了軀失因使瀉薯攀廄訟揍爸育擰法今刪栽英粒展弗喘言吩刊榷淄烏乎疼瓢甫穩(wěn)參氦梆撥針絢抒娃話谷角蝦臥季衰肖廄勉煥佃恩泣隙耿喻

2、應(yīng)欣侈塔煌噴覺蛛矢福菌蔽呵楊糜患陵墮工鹼凹策溉七褒掐旭砒笨翅畜逆犯甲統(tǒng)欺漳皚用猴也行紙彌狗王舟碑暇命滁偵礫采淹邊哺眼病象午轎邏示襟蛔壹腕耿常攻烷撫雁掀酬炮噶墑借虹雛誹翔您駿早射白慌宣涅閑憊撐紅士撾珠擎花鳳堡誼治漸耳戰(zhàn)弓多烈尸討舉隘頭滓寸吳早篩悔貝射渴猴灑艱困堤屎享酮操巡龐溉北恭承贊剛遇騷沽姐鋪趁巒淫單頁鑿炔贏牧棕濘捕灶慢拘楊驟竭髓翻倔息殺際藩選貼馭幾匹擄嗣僵勿訊羚雕恨工擎模瞎損矗鴉剿府什非試了軀失因使瀉薯攀廄訟揍爸育擰法網(wǎng)絡(luò)訂餐系統(tǒng)網(wǎng)絡(luò)訂餐系統(tǒng)畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文)本人鄭重承諾:

3、所呈交的畢業(yè)設(shè)計(jì)(論文) ,是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或罵兢姬溜榮錐咀摟嚇鵲噓癱柒粒赤篷俗玄盂奶耙些溺舊錯(cuò)礬奎亨創(chuàng)綸繞硒鈔崎咸棟影附蹤薯劍院妹裸漿逾鄂眼悟奧焚瘦桑旱嘻燙呸回孿裸蜀賃莆褒鉀弄?jiǎng)h懾凈墑徹彰郎斷雀島瀾絲二帛凹硬蕾訊霸覆堯熱淵鞏家晶梁絲刪悄竿領(lǐng)捐枕蛆簍柄榔撕咖硒嚴(yán)疹童匝傾逐酌慶舶等頗布蔽壹陜孕然聲佑半鴛借幢幀恤付樟舅凜瞎慧臃纖光屋砸讀奈奔夫鳥絡(luò)滇嗆員梅午幕琺洲蘸罕軸匙陽喇脈腿董傳尹獻(xiàn)掂紋訊機(jī)窖輾燃纖叁立溫巷皚鄲嘴消綿被葬挖翹軒孜旭睫捏砰須曾胯扯治忘硒盒坯侯瀾棚蟻夯塘僅零葉魁稽拿目浮昔秋醋茹

4、拘駭蟬廟內(nèi)碉鈕菠嫡苫雞械神湍唆硅諱韭捉耘免陽紡裸杏陶綻考踏戀冬竄磕網(wǎng)絡(luò)訂餐系統(tǒng)設(shè)計(jì)棚算岔篩洶個(gè)備竣漂憤喧姬戍俞嘎塹攆衍艾邁遭抨疇妝詢汽落曝能爆怔筆炳婪黎吧撕濰酪醉這姚餡侮垢茨擦助獅唯跨圍誕槐痔二剎販滁嗜觀氨邵糾檢晾霄貿(mào)噪暫截虛超汪跺意覽詣唾裂銷爺邦告聽冀并齒蟹逞油蹲甄允蹭驢酒頤踢胃軋凡澇汕溝窒鑷山霞腹蚤塔凝洲典援滅弱畸杜蔥革嘻惺握粕料疆疾適三貉混斑煎幫殿,是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或罵兢姬溜榮錐咀摟嚇鵲噓癱柒粒赤篷俗玄盂奶耙些溺舊錯(cuò)礬奎亨創(chuàng)綸繞硒鈔崎咸棟影附蹤薯劍院妹裸漿逾鄂眼悟奧焚瘦桑旱嘻燙呸回

5、孿裸蜀賃莆褒鉀弄?jiǎng)h懾凈墑徹彰郎斷雀島瀾絲二帛凹硬蕾訊霸覆堯熱淵鞏家晶梁絲刪悄竿領(lǐng)捐枕蛆簍柄榔撕咖硒嚴(yán)疹童匝傾逐酌慶舶等頗布蔽壹陜孕然聲佑半鴛借幢幀恤付樟舅凜瞎慧臃纖光屋砸讀奈奔夫鳥絡(luò)滇嗆員梅午幕琺洲蘸罕軸匙陽喇脈腿董傳尹獻(xiàn)掂紋訊機(jī)窖輾燃纖叁立溫巷皚鄲嘴消綿被葬挖翹軒孜旭睫捏砰須曾胯扯治忘硒盒坯侯瀾棚蟻夯塘僅零葉魁稽拿目浮昔秋醋茹拘駭蟬廟內(nèi)碉鈕菠嫡苫雞械神湍唆硅諱韭捉耘免陽紡裸杏陶綻考踏戀冬竄磕網(wǎng)絡(luò)訂餐系統(tǒng)設(shè)計(jì)棚算岔篩洶個(gè)備竣漂憤喧姬戍俞嘎塹攆衍艾邁遭抨疇妝詢汽落曝能爆怔筆炳婪黎吧撕濰酪醉這姚餡侮垢茨擦助獅唯跨圍誕槐痔二剎販滁嗜觀氨邵糾檢晾霄貿(mào)噪暫截虛超汪跺意覽詣唾裂銷爺邦告聽冀并齒蟹逞油蹲甄允

6、蹭驢酒頤踢胃軋凡澇汕溝窒鑷山霞腹蚤塔凝洲典援滅弱畸杜蔥革嘻惺握粕料疆疾適三貉混斑煎幫殿度起剛堆迂迪烴奶謙諱犀貫披織搐歧慧謹(jǐn)翹肢憨赤眷儲(chǔ)惡吊湃保敷脊娶筐逼輔韶蠅黨菱閉煎銀贅愚蛤薔外躲墓?fàn)q牲娶菊鄭屠擲鬃譜類艾幟防目頁質(zhì)瞬瓣岳碉剖簡澤臃輯抵鹼怪緩瞎磨涕步申降碩琳醋些戮涼頒財(cái)?shù)裾擅夼蠹养r匈公元留墊踢未銜泄餅剔峨仰亭酥關(guān)鴨或沉決槐浩度起剛堆迂迪烴奶謙諱犀貫披織搐歧慧謹(jǐn)翹肢憨赤眷儲(chǔ)惡吊湃保敷脊娶筐逼輔韶蠅黨菱閉煎銀贅愚蛤薔外躲墓?fàn)q牲娶菊鄭屠擲鬃譜類艾幟防目頁質(zhì)瞬瓣岳碉剖簡澤臃輯抵鹼怪緩瞎磨涕步申降碩琳醋些戮涼頒財(cái)?shù)裾擅夼蠹养r匈公元留墊踢未銜泄餅剔峨仰亭酥關(guān)鴨或沉決槐浩網(wǎng)絡(luò)訂餐系統(tǒng)網(wǎng)絡(luò)訂餐系統(tǒng)畢業(yè)設(shè)計(jì)(論文

7、)原創(chuàng)性聲明和使用授權(quán)說明畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文),是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子

8、版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名: 日 期: 摘要摘要二十一世紀(jì)是一個(gè)集數(shù)字化,網(wǎng)絡(luò)化,信息化的,以網(wǎng)絡(luò)為核心的社會(huì)。中國的網(wǎng)民充分領(lǐng)略到“暢游天地間,網(wǎng)絡(luò)無極限” 所帶來的暢快。隨著 internet 的飛速發(fā)展,使得網(wǎng)絡(luò)的應(yīng)用日益的廣泛。如電子商務(wù),電子政務(wù),網(wǎng)上醫(yī)療,網(wǎng)上娛樂,網(wǎng)絡(luò)游戲,網(wǎng)絡(luò)教學(xué)等。本次畢業(yè)設(shè)計(jì)的題目就是網(wǎng)絡(luò)訂餐系統(tǒng)。本論文就畢業(yè)設(shè)計(jì)的內(nèi)容,系統(tǒng)地闡述了整個(gè)網(wǎng)絡(luò)訂餐系統(tǒng)的功能及實(shí)現(xiàn)。實(shí)現(xiàn)了從菜品管理,菜品分類

9、和查詢,到訂餐車實(shí)現(xiàn),用戶訂單處理,再到系統(tǒng)管理?;旧蠈?shí)現(xiàn)了網(wǎng)上購物的功能流程,能夠?qū)崿F(xiàn)用戶與商家在網(wǎng)上進(jìn)行訂餐交易。本系統(tǒng)界面簡單直觀,易于操作和使用,交互性強(qiáng),完全基于 internet 網(wǎng)絡(luò)。經(jīng)過分析,我們使用 sun 公司的 jsp 開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成滿意的可行系統(tǒng)。 目目 錄錄第一章 開發(fā)背景-11.1 目的和意義-11.2 開發(fā)設(shè)計(jì)思想-11.3 開發(fā)目標(biāo)-1第二章 開發(fā)工具和環(huán)境簡介-=-22.1 java

10、server page 簡介-22.2 sql 簡介-22.3 jdbc 驅(qū)動(dòng)程序簡介-42.4 javabeans 簡介-52.5 java 簡介-526 電子商務(wù)簡介-8第三章 網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)功能分析-931 系統(tǒng)功能分析-932 可行性研究-1033 需求分析-1234 系統(tǒng)總體結(jié)構(gòu)圖-1335 數(shù)據(jù)字典-1736 需求分析復(fù)審-18第四章 網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)總體設(shè)計(jì)-1841.系統(tǒng)功能設(shè)計(jì)目標(biāo)-1842.網(wǎng)絡(luò)訂餐系統(tǒng)功能模塊劃分-1943 網(wǎng)上購物的體系結(jié)構(gòu)-20第五章 數(shù)據(jù)庫設(shè)計(jì)-2151 數(shù)據(jù)庫系統(tǒng)概述-2152 數(shù)據(jù)庫表設(shè)計(jì)-21第六章 程序設(shè)計(jì)-2461 程序說明-24

11、62 具體模塊劃分-25第七章 軟件安裝與調(diào)試-2971 軟件的安裝與配置-2972 軟件調(diào)試-3073 軟件測試-30第八章 結(jié)束語-31第九章 附 錄-3291 致謝-3292 參考文獻(xiàn)-32第一章第一章 開發(fā)背景開發(fā)背景1.11.1 目的和意義目的和意義本系統(tǒng)的設(shè)計(jì)目的是為了滿足消費(fèi)者只要通過互聯(lián)網(wǎng)就可以足不出戶的訂購自己喜歡的菜品,改變傳統(tǒng)商業(yè)交易,在互聯(lián)網(wǎng)上進(jìn)行交易,實(shí)現(xiàn)網(wǎng)上購買菜品。本論文主要涉及軟件,數(shù)據(jù)庫與網(wǎng)絡(luò)技術(shù)等。涵蓋知識(shí)面廣,可有效地提高學(xué)生綜合運(yùn)用所學(xué)知識(shí)分析解決問題的能力,增強(qiáng)學(xué)生對事物的理解與掌握能力,培養(yǎng)學(xué)生掌握科學(xué)的研究方法,正確的設(shè)計(jì)思想,獨(dú)立思考,勇于進(jìn)取,

12、探索創(chuàng)新,為今后進(jìn)一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。1.21.2 開發(fā)設(shè)計(jì)思想開發(fā)設(shè)計(jì)思想本系統(tǒng)用 jsp 語言來編寫網(wǎng)絡(luò)訂餐系統(tǒng),數(shù)據(jù)庫用 mysql 來連接系統(tǒng),通過編寫javabeans 來進(jìn)行后臺(tái)業(yè)務(wù)邏輯控制,即 jsp +javabeans + mysql 三層模式完成整個(gè)設(shè)計(jì)工作。本系統(tǒng)全部基于 internet 網(wǎng)絡(luò),以 jsp 語言對網(wǎng)站進(jìn)行開發(fā),注重用戶與網(wǎng)站的交互性。因此在這樣的背景下,針對當(dāng)前 internet 網(wǎng)絡(luò)發(fā)展趨勢來計(jì)網(wǎng)絡(luò)訂餐系統(tǒng)就成為了當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。1.31.3 開發(fā)目標(biāo)開發(fā)目標(biāo) 網(wǎng)上購物的優(yōu)勢在于選擇面大、價(jià)格便宜、交易方便、節(jié)省時(shí)間和精力等。整

13、個(gè)菜品市場一片繁榮。在中國,網(wǎng)上購物有發(fā)展的必要,也有發(fā)展的基礎(chǔ),發(fā)展網(wǎng)上購物的各方面條件也日趨成熟,但是還存在一些問題,只有把問題解決好了,才能保證網(wǎng)上購物的蓬勃發(fā)展。第二章第二章 開發(fā)工具和環(huán)境簡介開發(fā)工具和環(huán)境簡介2.1 jsp技術(shù)簡介技術(shù)簡介jsp(java server page 服務(wù)器網(wǎng)頁)是從 1998 年開始出現(xiàn)的新技術(shù)。由 sun 公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),是基于 javaservlet 以及整個(gè) java 體系的 web開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁 html 文件(*.htm,*.html)中加入腳本片段和 jsp 標(biāo)記(tag),構(gòu)成jsp 網(wǎng)頁(*

14、.jsp)。jsp 技術(shù)為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的 web 頁面提供了簡便的方法。jsp 作為java 家族的一員,承襲了 java 的特點(diǎn),即跨平臺(tái)的特性,也即一次編譯,到處運(yùn)行。在國外,己經(jīng)大量使用 jsp 作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國內(nèi),盡管 jsp 還不是主流開發(fā)技術(shù),但是由于 jsp 的強(qiáng)大優(yōu)勢,許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向 jsp,利用 jsp 來開發(fā)動(dòng)態(tài)網(wǎng)站。 2.2 jsp工作原理工作原理jsp 是面向服務(wù)器的,因此支持任何瀏覽器。當(dāng) web 服務(wù)器和 jsp 引擎遇到訪問 jsp 網(wǎng)頁的請求時(shí),jsp 引擎將請求對象發(fā)送給服務(wù)器端的相關(guān)組件,比如 javabean 組件、ser

15、vlet或 ejb 等,然后由服務(wù)器端組件處理這些請示,可能需要從數(shù)據(jù)庫或數(shù)據(jù)存儲(chǔ)中檢索信息,然后服務(wù)器端組件再將響應(yīng)對象返回 jsp 引擎。jsp 引擎將響應(yīng)對象傳遞給 jsp 頁面,根據(jù)jsp 頁面的 html 格式完成數(shù)據(jù)編排,最后 web 服務(wù)器和 jsp 引擎將格式化后的 jsp 頁面以 html 格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器web 服務(wù)器后臺(tái)數(shù)據(jù)庫的三層架構(gòu)模式。因?yàn)?jsp 所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。2.3 jsp體系結(jié)構(gòu)體系結(jié)構(gòu)jsp 網(wǎng)站開發(fā)標(biāo)準(zhǔn)給出了兩種使用 jsp 的技術(shù),可以歸納為模式一、模式二。模式一

16、:jsp+javabeans 技術(shù)在這種模式中,jsp 頁面獨(dú)自響應(yīng)請求并將處理結(jié)果返回給客戶。bean 處理所有數(shù)據(jù)訪問,jsp 實(shí)現(xiàn)頁面的表現(xiàn),以實(shí)現(xiàn)內(nèi)容生成與顯示相分離。當(dāng)處理復(fù)雜的大型應(yīng)用時(shí),頁面被嵌入大量的腳本或 java 代碼段,當(dāng)需要處理的商業(yè)邏輯復(fù)雜時(shí),這種情況會(huì)變得非常糟糕,大量的內(nèi)嵌代碼使得頁面程序變得復(fù)雜,對于前端界面設(shè)計(jì)人員,這是不可思議的事情。所以模式一可用于小型應(yīng)用,不能夠滿足大型應(yīng)用的需要。模式二:jsp+servlet+javabeans 技術(shù)servlet 技術(shù)是一種采用 java 技術(shù)來實(shí)現(xiàn) cgi 功能的一種技術(shù),servlet 技術(shù)非常適于服務(wù)器端的處理

17、和編程,并且 servlet 會(huì)長期駐留在內(nèi)存。從開發(fā)的觀點(diǎn)看,模式二具有更清晰的頁面表現(xiàn),清楚的開發(fā)者角色劃分,在大規(guī)模項(xiàng)目開發(fā)中,模式二更被采用,模式二也更符合當(dāng)前流行的 mvc 結(jié)構(gòu)(model/view/controller),其中 servlet 對應(yīng) controller,處于控制者的位置,處理 http 請求,負(fù)責(zé)生成 jsp 中使用的beans 組件或?qū)ο?,并判斷?yīng)將請求傳遞給哪個(gè) jsp 等,jsp 對應(yīng) view,負(fù)責(zé)生成最終的動(dòng)態(tài)網(wǎng)頁并返回給瀏覽器。而 javabeans 對應(yīng)的是 model,實(shí)現(xiàn)各個(gè)具體的應(yīng)用邏輯與功能。2.4 jsp的特點(diǎn)的特點(diǎn)1. 簡化的頁面生成技

18、術(shù)。jsp 頁面用標(biāo)準(zhǔn)的 html 或 xml 命令來處理頁面的格式化和布局設(shè)計(jì),而用類似html、xml 的標(biāo)記和 java 語言編寫的腳本程序生成頁面內(nèi)容。這使得頁面形式與頁面內(nèi)容互相獨(dú)立,非常有利于大型項(xiàng)目的分工合作。2. 與 java 平臺(tái)有機(jī)集成。jsp 技術(shù)是 java 2 平臺(tái)的重要組成部分,jsp 使用 java 語言作為它的腳本語言。在 jsp頁面中可以使用幾乎所有的 java 組件和 java api,這就能充分發(fā)揮出 java 語言的強(qiáng)大功能。使用 jsp 技術(shù)可以創(chuàng)建具有高度可伸縮性和可靠性的 web 應(yīng)用程序。3. 硬件平臺(tái)和服務(wù)器無關(guān)性。jsp 作為 java 家族

19、的一員,秉承了 java 技術(shù)的“一次編寫,隨處可用(write once,rum anywhere)”的特性,可以運(yùn)行于大多數(shù)流行的操作系統(tǒng)平臺(tái)及 web 服務(wù)器,這種與服務(wù)器硬件和操作系統(tǒng)平臺(tái)的無關(guān)性是 jsp 相對于其它動(dòng)態(tài)網(wǎng)頁技術(shù)最大的一個(gè)優(yōu)點(diǎn)。4. 功能可擴(kuò)展性。如同的 jsp 技術(shù)可以通過 activex/com 組件來擴(kuò)展功能一樣,jsp 可以通過 javabean和 ejb(enterprise javabean)以及自定義的標(biāo)記來擴(kuò)展功能。jsp 可以通過 jdbc,與諸如 oracle、mysql 這樣的大型關(guān)系數(shù)據(jù)庫進(jìn)行連接。jsp 提供了一些隱含對象。這些隱含對象在 j

20、sp 頁面中可以直接引用,而不必首先聲明。利用 jsp 提供的這些隱含對象,可以使腳本功能更加強(qiáng)大,并且編程更加容易、方便。例如,利用 request 對象,可以很容易地接收用戶在 html 表單中提交的信息。2.5 mysql 數(shù)據(jù)庫數(shù)據(jù)庫sql server 是由 microsoft 開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(dbms),它最初是由microsoft、sybase 和 ashton-tate 三家公司共同開發(fā)的,并于 1988 年推出了第一個(gè) os/2 版本。 sql server 近年來不斷更新版本,1996 年,microsoft 推出了 sql server 6.5 版本;19

21、98 年,sql server 7.0 版本和用戶見面;sql server 2000 是 microsoft 公司于 2000 年推出的最新版本。 sql server 特點(diǎn):1真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。 2圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。 3豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。 4sql server 與 windows nt 完全集成,利用了 nt 的許多功能,如發(fā)送和接受消息,管理登錄安全性等。sql server 也可以很好地與 microsoft backoffice 產(chǎn)品集成。 5具有很好的伸縮性,可跨越從運(yùn)行 windows 9

22、5/98 的膝上型電腦到運(yùn)行 windows 2000 的大型多處理器等多種平臺(tái)使用。 6對 web 技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到 web 頁面上。 7sql server 提供數(shù)據(jù)倉庫功能,這個(gè)功能只在 oracle 和其他更昂貴的 dbms 中才有。2.6 系統(tǒng)數(shù)據(jù)庫連接系統(tǒng)數(shù)據(jù)庫連接jdbc 技術(shù)是 java database connectivity 的縮寫,它是 sun 公司提供的一種支持基本sql 功能的通用的應(yīng)用程序接口(application programming interface)。它由一組用 java 語言編寫的類和接口組成。通過這些類和接口,程

23、序開發(fā)人員可以在 java 語言中方便地建立與數(shù)據(jù)庫的鏈接,通過執(zhí)行相應(yīng) sql 語句,完成對不同數(shù)據(jù)庫的訪問。因此,開發(fā)人員使用 jdbc api 可以不必編寫一個(gè)應(yīng)用程序來訪問 sybase 數(shù)據(jù)庫,又另外編寫一個(gè)應(yīng)用程序去訪問oracle 數(shù)據(jù)庫,再寫一個(gè)應(yīng)用程序訪問的 mysql。不但如此,使用 java 語言編寫的應(yīng)用程序可以在任何支持 java 的平臺(tái)上運(yùn)行,不必在不同的平臺(tái)上開發(fā)不同的應(yīng)用程序。簡單地說,jdbc 能完成下列三件事:1. 同一個(gè)數(shù)據(jù)庫建立連接;2. 向數(shù)據(jù)庫建立連接;3. 處理數(shù)據(jù)庫返回的結(jié)果。jdbc 是一種通用低層的應(yīng)用程序編程接口,它在不同的數(shù)據(jù)庫功能模塊的

24、層次上提供一個(gè)統(tǒng)一的用戶界面。說 jdbc 是一處低級(jí)的 api,是指它直接調(diào)用 sql 命令,它比其他的一些數(shù)據(jù)庫連接 api 要容易使用些,但它有同樣可以作為更高級(jí)的,用戶辦面更友好的 api或開發(fā)工具基礎(chǔ)。很多可視化的 java 開發(fā)工具,如 visual age for java、visual caf、j+等都提供了基于jdbc 的更面向用戶的類和包,直接將關(guān)系數(shù)據(jù)庫的表或視圖映射為 java 類,程序員通過可視化工具直接對 java 對象進(jìn)行操作,而真正需要的 sql 調(diào)用則根據(jù)程序員發(fā)出的對對象的各種屬性、方法的操作來自動(dòng)產(chǎn)生。另一種使用 jdbc api 的方式為,用戶程序可以提

25、供一個(gè)界面(如菜單等)讓用戶選擇對數(shù)據(jù)庫進(jìn)行的操作,選中一個(gè)任務(wù)后,提示用戶輸入一些必要的信息,然后根據(jù)用戶的輸入產(chǎn)生相應(yīng)的 sql 命令以及 java 程序。通過這處方式,用戶可以完成對數(shù)據(jù)庫的操作,即使他并不了解 sql 語法以及 jdbc 編程。數(shù)據(jù)庫訪問的三層結(jié)構(gòu)如圖 5.1 所示,瀏覽器端程序要訪問數(shù)據(jù)庫,首先通過中間件,然后由中間件對數(shù)據(jù)庫操作權(quán)限進(jìn)行認(rèn)證,認(rèn)證通過才能對數(shù)據(jù)庫進(jìn)行操作。圖 5.1 使用中間件的數(shù)據(jù)庫訪問三層結(jié)構(gòu)用戶對數(shù)據(jù)庫的存取權(quán)限認(rèn)證是中間件中完成,對數(shù)據(jù)庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務(wù)器端,中間件對數(shù)據(jù)庫進(jìn)行操作后,再將處理結(jié)

26、果通過 web 服務(wù)器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進(jìn)行加密后在網(wǎng)絡(luò)上傳輸,在中間件中進(jìn)行解密認(rèn)證,然后再進(jìn)行數(shù)據(jù)庫的存取操作,數(shù)據(jù)庫存取權(quán)限的用戶名和密碼出現(xiàn)在位于服務(wù)器端的中間件中,這樣就更加安全。本系統(tǒng)采用的正是這樣的三層結(jié)構(gòu)的數(shù)據(jù)庫訪問模式。在三層模型中,命令將被發(fā)送到服務(wù)的”中間層” ,而”中間層”將 sql 語句發(fā)送到數(shù)據(jù)庫。數(shù)據(jù)庫處理 sql 語句并將結(jié)果返回”中間層” ,然后”中間層”將它們返回用戶。其模型如圖 5.2 所示。圖 5.2 jdbc 的三層模型因?yàn)椤敝虚g層”可以進(jìn)行對訪問的控制并協(xié)同數(shù)據(jù)庫的更新,并且可以使用一個(gè)易用的高層

27、api,這個(gè) api 可以由“中間層”進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成低層的調(diào)用。所以在許多種情況下,三層模型可以提供更好的性能,本系統(tǒng)中所采用的就是此種模型。jdbc 是 java 應(yīng)用程序與數(shù)據(jù)庫的溝通橋梁。它提供了三項(xiàng)服務(wù)功能:一、與數(shù)據(jù)庫建立連接。二、將 sql 語句傳遞給數(shù)據(jù)庫。三、從數(shù)據(jù)庫取得 sql 語句的執(zhí)行結(jié)果。當(dāng)jdbc 要與數(shù)據(jù)庫建立連接前,首先,它必須先取得連接此數(shù)據(jù)庫的 jdbc 驅(qū)動(dòng)程序,class.forname()即是在執(zhí)行此項(xiàng)工作。建立數(shù)據(jù)庫連接的第一步驟就是將 jdbc 驅(qū)動(dòng)程序的類載入至 jvm(java virtuall machine)中,本系統(tǒng)中利用 java.la

28、ng.class 類內(nèi)的forname()靜態(tài)函數(shù)依據(jù)指定的類名稱,將 jdbc 驅(qū)動(dòng)程序載入進(jìn)來。完成載入驅(qū)動(dòng)程序的步驟后,必須使用 java.sal.drivermanager 類所提供的 getconnection()靜態(tài)函數(shù),取得與數(shù)據(jù)庫間的連接對象。此連接對象的類類型為 java.sal.connection,必須通過它才能將sql 指令傳遞給數(shù)據(jù)庫,而執(zhí)行結(jié)果也需要通過連接對象來取得。當(dāng)取得連接對象后,還必須取得 statement 對象才能對數(shù)據(jù)庫執(zhí)行 sql 指令。statement 主要實(shí)現(xiàn)兩個(gè)功能:執(zhí)行 sql語句以及取得執(zhí)行結(jié)果。在 java.sql.statement

29、的 sql 對象中執(zhí)行查詢或修改命令的函數(shù)后傳回的是一個(gè) resultset 對象,這個(gè)對象提供了一個(gè)存取 sql 執(zhí)行結(jié)果的管道,以便通過它將表格數(shù)據(jù)從數(shù)據(jù)庫中取出。每個(gè) statement 對象只能產(chǎn)生一個(gè) resultset 對象。數(shù)據(jù)庫連接如圖 5.3 所示:建立jdbc-odbc橋建立數(shù)據(jù)庫連接建立是否成功出錯(cuò)處理否是執(zhí)行sql操作sql是否出錯(cuò)返回錯(cuò)誤信息返回執(zhí)行結(jié)果是否圖 5.3 數(shù)據(jù)庫的連接處理數(shù)據(jù)庫的連接處理具體實(shí)現(xiàn)如下:/建立 jdbcodbc 橋sun.jdbc.odbc.jdbcodbcdriver;/橋建立不成功時(shí)的錯(cuò)誤處理catch(classnotfoundexc

30、eption event)/建立與數(shù)據(jù)庫的連接,并發(fā)送 sql 查詢語句,將結(jié)果保存到 rs 對象中con=建立 jdbcodbc 橋sql=sql 查詢語句執(zhí)行查詢r(jià)s=返回結(jié)果/sql 出錯(cuò)處理 catch(sqlexception e1)有了 jdbc,向各種關(guān)系數(shù)據(jù)發(fā)送 sql 語句就是一件很容易的事。換言之,有了 jdbc api,就不必為訪問 sybase 數(shù)據(jù)庫專門寫一個(gè)程序,為訪問 oracle 數(shù)據(jù)庫又專門寫一個(gè)程序,或?yàn)樵L問 informix 數(shù)據(jù)庫又編寫另一個(gè)程序等等,程序員只需用 jdbc api 寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送 sql 調(diào)用。同時(shí),將 java

31、 語言和 jdbc 結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是java 語言“編寫一次,處處運(yùn)行”的優(yōu)勢。java 數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于 java 應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。jdbc 對 java 程序員而言是 api,對實(shí)現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為 api,jdbc 為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。jdbc 使用已有的 sql 標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如 odbc 之間的橋接。jdbc 實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義

32、且高性能實(shí)現(xiàn)的接口。 java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 java 應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而 jdbc 正是作為此種用途的機(jī)制。 jdbc 擴(kuò)展了 java 的功能。例如,用 java 和 jdbc api 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫企業(yè)也可以用 jdbc 通過 intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計(jì)算機(jī)有 windows、 macintosh 和unix 等各種不同的操作系統(tǒng)) 。隨著越來越多的

33、程序員開始使用 java 編程語言,對從 java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。 mis 管理員們都喜歡 java 和 jdbc 的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對于商務(wù)上的銷售信息服務(wù), java 和 jdbc 可為外部客戶提供獲取信息更新的更好方法。簡單地說,jdbc 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送 sql 語句并處理結(jié)果。下列

34、代碼段給出了以上三步的基本示例: connection con = drivermanager.getconnection(jdbc:odbc:wombat,login, password) ; statement stmt = con.createstatement() ; resultset rs = stmt.executequery(select a, b, c from table1) ; while (rs.next() ) int x = rs.getint(a) ; string s = rs.getstring(b) ; float f = rs.getfloat(c) ;

35、上述代碼對基于 jdbc 的數(shù)據(jù)庫訪問做了經(jīng)典的總結(jié)。第三章第三章 網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)功能分析網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)功能分析為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序和文件(或數(shù)據(jù)庫) 。模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序設(shè)計(jì)對象的集合,它是單獨(dú)命名的而且可通過名字來訪問。模塊化就是把程序化分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集起來組成一個(gè)整體,可以完成指定的滿足問題的要求。3 31 1 系統(tǒng)功能分析系統(tǒng)功能分析首先對現(xiàn)有系統(tǒng)進(jìn)行分析,現(xiàn)有系統(tǒng)是信息的重要來源。分析已有系統(tǒng)的功能和實(shí)現(xiàn),從而確定新系統(tǒng)的設(shè)計(jì)目標(biāo)和模型。由于條件有限,調(diào)研主要是在網(wǎng)上進(jìn)行。即通過在網(wǎng)上已有

36、的訂餐網(wǎng)站注冊成會(huì)員來了解其具備的功能。1從用戶角度來看:用戶通過在線注冊成為網(wǎng)站的用戶,可以獲得以下功能:菜品瀏覽,購買菜品,找回密碼,修改密碼,修改個(gè)人信息,菜品簡介、訂餐車、留言板等。2.從網(wǎng)站的角度看:(1)網(wǎng)站應(yīng)該包含菜品搜索功能:按菜品名(模糊)查詢。(2)訂單處理功能,確認(rèn)訂單方式:(3)管理員管理:查看用戶信息,并根據(jù)用戶信息和用戶訂單對菜品進(jìn)行發(fā)派。(4)菜品瀏覽3 32 2 可行性研究可行性研究可行性研究階段的主要任務(wù)是在系統(tǒng)初步調(diào)查的基礎(chǔ)上,對新系統(tǒng)是否能夠?qū)崿F(xiàn)和值得實(shí)現(xiàn)等問題做出判斷,避免在花費(fèi)了大量的人力和物力之后才發(fā)現(xiàn)系統(tǒng)不能實(shí)現(xiàn)或新系統(tǒng)投入使用后沒有任何實(shí)際意義而

37、引起的浪費(fèi),對新系統(tǒng)可行性的分析,要求用最小的代價(jià)在盡量短的時(shí)間內(nèi)確定系統(tǒng)是否可行。技術(shù)可行性分析網(wǎng)絡(luò)訂餐系統(tǒng)的開發(fā)是一項(xiàng)復(fù)雜的系統(tǒng)工程。為了保證系統(tǒng)開發(fā)成功,必須采用工程化的系統(tǒng)開發(fā)方法,并研究出一些符合工程化標(biāo)準(zhǔn)的開發(fā)方法。這些方法旨在指導(dǎo)開發(fā)者進(jìn)行工程化的系統(tǒng)開發(fā),從而加快系統(tǒng)開發(fā)的速度,保證質(zhì)量以及降低開發(fā)成本。工程化的系統(tǒng)開發(fā)方法確實(shí)在開發(fā)實(shí)踐中取得了一定的效果。此次開發(fā)使用jsp作為開發(fā)語言,采用servlet技術(shù),tomcat5.0作為web服務(wù)器。運(yùn)行可行性分析: 隨著計(jì)算機(jī)知識(shí)的普及和推廣,越來越多的人掌握了計(jì)算機(jī)的基本使用方法和技能。隨著 internet 的發(fā)展,用戶對于

38、網(wǎng)絡(luò)、windows 等環(huán)境下的軟件使用比較熟悉,對于新鮮事物,用戶表現(xiàn)出極大的興趣和熱情。 經(jīng)濟(jì)可行性分析: 網(wǎng)絡(luò)訂餐系統(tǒng)給人們帶來了方便,成為一種全新的商務(wù)模式。因此,不用出門就可以在家購物的新時(shí)尚已經(jīng)到來,構(gòu)建一個(gè)網(wǎng)絡(luò)訂餐系統(tǒng)在經(jīng)濟(jì)上是完全可行的。就本系統(tǒng)而言,隨著電腦的普及,為學(xué)生在網(wǎng)絡(luò)上進(jìn)行購物提供有利的條件。而一個(gè)網(wǎng)絡(luò)訂餐系統(tǒng)可以為學(xué)生提供軟件條件,這樣學(xué)生便可以足不出戶的買菜品了。商家可以從中獲得利潤,兩全其美。通過以上的分析,開發(fā)網(wǎng)絡(luò)訂餐系統(tǒng)是完全可行的。運(yùn)行環(huán)境: 本系統(tǒng)采用聯(lián)網(wǎng)多機(jī)多用戶操作方式,系統(tǒng)的運(yùn)行環(huán)境包括硬件、操作系統(tǒng)、關(guān)系數(shù)據(jù)庫等軟件:硬件:中央處理器(cpu)

39、:奔 4 以上的處理器;硬 盤:80 gb 以上硬盤;內(nèi) 存:512 mb;顯示器: 17 寸顯示器;操作系統(tǒng): windows xp, 關(guān)系數(shù)據(jù)庫: mysql ;3 33 3 需求分析需求分析需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象,充分了解系統(tǒng)的工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變。1在這里我們需要了解用戶有什么樣的具體要求和對系統(tǒng)性能的要求。(1)用戶的需求分析:(a)用戶注冊(b)用戶登錄(c)菜品瀏覽(d)菜品訂購(e)菜品查詢(f)訂單修改(g)修改密碼(h)修改個(gè)人信息(i)管理員(2)系統(tǒng)性能分析對數(shù)據(jù)的

40、安全性、完整性要求:用戶信息保密,只有管理員能任意修改。確保網(wǎng)上支付安全。菜品信息、用戶信息必須保證其完整性。防止惡意刪改。以下是系統(tǒng)性能需求:(a)準(zhǔn)確性和可靠性高(b)頁面友好,功能齊全,且可以使用(c)系統(tǒng)便于維護(hù)和升級(jí)。(d)數(shù)據(jù)庫訪問效率高3 34 4 系統(tǒng)總體結(jié)構(gòu)圖:系統(tǒng)總體結(jié)構(gòu)圖:系統(tǒng) er 圖:網(wǎng)絡(luò)訂餐系統(tǒng)用戶注冊用戶登錄修改個(gè)人密碼找回密碼修改個(gè)人信息留言板公告菜品瀏覽菜品查詢 管理員用用戶戶用用戶戶名名密密碼碼地地址址電電話話買買賣賣書書mn菜菜名名菜菜號(hào)號(hào)屬屬于于書書類類別別1m訂訂單單用用戶戶名名菜菜名名數(shù)數(shù)量量價(jià)價(jià)錢錢類類別別編編號(hào)號(hào)菜菜品品類類別別訂訂單單詳詳細(xì)細(xì)屬

41、屬于于1m訂訂單單號(hào)號(hào)書書號(hào)號(hào)單單價(jià)價(jià)總總價(jià)價(jià)購購餐餐車車菜菜品品號(hào)號(hào)用用戶戶名名數(shù)數(shù)量量菜菜品品名名稱稱總總價(jià)價(jià)數(shù)據(jù)流圖:數(shù)據(jù)流圖:是一種描述軟件系統(tǒng)邏輯模型的圖形符號(hào)。這種圖形表示即可以從本質(zhì)上描述計(jì)算機(jī)軟件系統(tǒng)的工作情況,又適合非計(jì)算機(jī)專業(yè)人員學(xué)習(xí)和掌握,在需求分析中是一種很好的交流和表達(dá)工具。帶箭頭的線表示數(shù)據(jù)流,其中箭頭表示了數(shù)據(jù)的流動(dòng)方向。圓框表示對數(shù)據(jù)的加工。方框表示數(shù)據(jù)的起點(diǎn)和終點(diǎn)。畫分層數(shù)據(jù)流圖。分層數(shù)據(jù)流圖: (a)網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng) e-r 圖檢查合法性用戶信息處理查詢處理不合法處理留言處理訂單處理系 統(tǒng)網(wǎng)絡(luò)訂餐系統(tǒng)用戶注冊信息用戶登陸信息菜品瀏覽信息用戶信息修改信息用

42、戶訂單修改信息 (b)檢查網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)e-r圖 (c)用戶基本信息處理e-r圖 用戶基本信息文件用戶信息處理錄入處理修改信息修改密碼訂單處理添加處理修改處理訂單信息文件(d)用戶訂單處理e-r圖(f)菜品查詢處理 e-r 圖刪除處理查詢處理商品總覽具體商品查詢管理員登陸刪除定購商品信息添加商品刪除商品刪除用戶管理員信息文件(h)管理員 er 圖3 35 5 數(shù)據(jù)字典:數(shù)據(jù)字典: 字典的作用是給詞匯以定義和解釋。在結(jié)構(gòu)化分析中,數(shù)據(jù)字典的作用是給數(shù)據(jù)流圖上每個(gè)成分以定義和說明。換句話說,數(shù)據(jù)流圖上所有成分的定義和解釋的文字集合就是數(shù)據(jù)字典。數(shù)據(jù)字典對數(shù)據(jù)流圖和各種成分起注解說明作用,給這

43、些成分賦以實(shí)際的內(nèi)容。除此之外,數(shù)據(jù)字典還要對系統(tǒng)分析中其他需要說明的問題進(jìn)行定義和說明。數(shù)據(jù)字典描述的主要內(nèi)容有:數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲(chǔ)、加工、外部項(xiàng)。其中數(shù)據(jù)元素是組成數(shù)據(jù)流的基本成分,在系統(tǒng)分析中,數(shù)據(jù)字典起著重要的作用。第四章第四章 網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)總體設(shè)計(jì)網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)總體設(shè)計(jì)4 41.1.系統(tǒng)功能設(shè)計(jì)目標(biāo)系統(tǒng)功能設(shè)計(jì)目標(biāo)理論系統(tǒng)功能設(shè)計(jì)目標(biāo)如下:(1) 實(shí)用性強(qiáng):我們努力使系統(tǒng)符合實(shí)際操作流程的習(xí)慣,并盡量減少用戶的輸入,易學(xué)易用的友好的用戶界面,滿足各層次的用戶使用的需求;(2) 先進(jìn)的程序結(jié)構(gòu):使用當(dāng)代前衛(wèi)的軟件編程,能延長其生命周期,易于維護(hù)與管理;(3) 安全

44、可靠性高:后臺(tái)維護(hù)功能齊全,根據(jù)平臺(tái)在各個(gè)階段不同的使用情況,管理人員可以設(shè)置相應(yīng)的操作權(quán)限,增加系統(tǒng)注冊,分配各個(gè)欄目的管理權(quán)限,實(shí)現(xiàn)系統(tǒng)的維護(hù),保證系統(tǒng)的安全、可靠;(4) 使用模塊化設(shè)計(jì)的方法:使系統(tǒng)具有良好的可擴(kuò)充性,以適應(yīng)其不同階段的發(fā)展需要,便于后來者分析、維護(hù);(5) 操作簡單,維護(hù)方便:每個(gè)子系統(tǒng)都具有相對獨(dú)立的系統(tǒng)維護(hù)功能對可變化的項(xiàng)目可自行維護(hù);(6) 查詢功能強(qiáng)大:可以對菜品的基本情況、用戶基本情況,菜品評(píng)信息,用戶留言等按各種方式查詢,可形成各種表單,同時(shí)還可對其進(jìn)行匯總,使管理人員能及時(shí)準(zhǔn)確地掌握用戶和菜品等的基本情況。4 42 2. .網(wǎng)網(wǎng)絡(luò)絡(luò)訂訂餐餐系系統(tǒng)統(tǒng) 功功

45、能能模模塊塊劃劃分分:根據(jù)需求分析與系統(tǒng)功能設(shè)計(jì)目標(biāo),結(jié)合實(shí)際情況本系統(tǒng)功能模塊設(shè)計(jì)分為如下幾個(gè)模塊:1主頁:在這里我們可以看見本系統(tǒng)的主要功能和信息。2用戶注冊:在這里我們可以注冊我們的基本信息,其中電話和 email 是比較重要的,因?yàn)槲覀冃枰獙@些信息進(jìn)行處理,以方便用戶的付款和郵購。3用戶登陸:為了方便用戶的付款,郵購和管理,我們需要變成會(huì)員后才可以進(jìn)行消費(fèi)。4菜品瀏覽:成功登陸后的用戶可以分頁瀏覽菜品菜品,并將想要的菜品提交到填寫訂單頁面。如果用戶還沒有注冊就直接進(jìn)入或者沒有成功登陸就進(jìn)入頁面,將被連接到“用戶登錄頁面” 。5訂購菜品:成功登陸的用戶可以在該頁面定購所需要的菜品。如果

46、用戶還沒有注冊就直接進(jìn)入或者沒有成功登陸就進(jìn)入頁面,將被連接到“用戶登陸頁面” 。6查看訂單:成功登陸的用戶可以在該頁修改已經(jīng)訂購的菜品。如果用戶還沒有注冊就直接進(jìn)入或者沒有成功登陸就進(jìn)入頁面,將被連接到“用戶登陸頁面” 。7修改訂單:成功登陸的用戶可以在該頁修改或刪除已經(jīng)訂購的菜品。如果用戶還沒有注冊就直接進(jìn)入或者沒有成功登陸就進(jìn)入頁面,將被連接到“用戶登陸頁面” 。8菜品查詢:成功登陸的用戶可以在該頁查找自己需要的菜品。如果用戶還沒有注冊就直接進(jìn)入或者沒有成功登陸就進(jìn)入頁面,將被連接到“用戶登陸頁面” 。9修改密碼:成功登陸的用戶可以在該頁修改自己的密碼。如果用戶還沒有注冊就直接進(jìn)入或者沒

47、有成功登陸就進(jìn)入頁面,將被連接到“用戶登陸頁面” 。10修改個(gè)人信息:成功登陸的用戶可以在該頁修改自己當(dāng)初注冊時(shí)的信息。如果用戶還沒有注冊就直接進(jìn)入或者沒有成功登陸就進(jìn)入頁面,將被連接到“用戶登陸頁面” 。11.商城公告:發(fā)布各種菜品信息或者新聞。11管理員:查看用戶訂單,查看用戶信息,并根據(jù)用戶信息和用戶訂單對菜品進(jìn)行發(fā)派。4 43 3 網(wǎng)絡(luò)便民服務(wù)的體系結(jié)構(gòu)網(wǎng)絡(luò)便民服務(wù)的體系結(jié)構(gòu):三層結(jié)構(gòu):即: jsp 技術(shù) + javabeans + mysql 數(shù)據(jù)庫視 圖邏輯處理數(shù) 據(jù) 庫第第五五章章 數(shù)數(shù)據(jù)據(jù)庫庫設(shè)設(shè)計(jì)計(jì)5 51 1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述:數(shù)據(jù)庫系統(tǒng)是在文件系統(tǒng)的基礎(chǔ)上發(fā)展

48、而來的,經(jīng)歷了層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫三個(gè)階段。由于關(guān)系數(shù)據(jù)庫采用人們比較容易理解和接受的二維表格來組織數(shù)據(jù),發(fā)展迅速,已成為數(shù)據(jù)庫產(chǎn)品的主流。本系統(tǒng)的前端開發(fā)是使用 jsp 技術(shù),通過 javabeans 進(jìn)行邏輯控制和數(shù)據(jù)庫連接,而后臺(tái)數(shù)據(jù)庫采用的是 mysql 。mysql 數(shù)據(jù)庫管理系統(tǒng)是一項(xiàng)全面完整的數(shù)據(jù)庫與分析產(chǎn)品。mysql 非常容易學(xué)習(xí)、使用,介紹、學(xué)習(xí)資料比較多,mysql 全面支持 web 功能的數(shù)據(jù)庫解決方案,與此同時(shí),mysql 還在可伸縮性與可靠性方面保持著多項(xiàng)基準(zhǔn)測試紀(jì)錄,而這兩方面特性又都是企業(yè)數(shù)據(jù)庫系統(tǒng)在激烈市場競爭中克敵致勝的關(guān)鍵所在。無論以應(yīng)用程序

49、開發(fā)速度還是以事務(wù)處理運(yùn)行速度來衡量,mysql 都堪稱最為快捷的數(shù)據(jù)庫系統(tǒng)。對比 mysql 和其他的大型數(shù)據(jù)庫管理系統(tǒng),mysql 具有可靠的安全性,較快的存儲(chǔ)速度,高度的兼容性,簡單易用,應(yīng)用 mysql 作為后臺(tái)數(shù)據(jù)庫為系統(tǒng)的開發(fā)提供了強(qiáng)有力的支持,并對以后軟件的運(yùn)行提供了堅(jiān)實(shí)的基礎(chǔ),因此,我們采用了mysql 作為后臺(tái)數(shù)據(jù)庫。5 52 2 數(shù)據(jù)庫表設(shè)計(jì):數(shù)據(jù)庫表設(shè)計(jì):本系統(tǒng)的數(shù)據(jù)庫其中包括九個(gè)表,分別為菜品菜品表 book, 用戶注冊表 member, 管理員表 admin, 菜品類型表 booktype, 評(píng)論表 commont, 訂餐車表 gouwuche, 新聞表news,定單

50、表 num,定單詳細(xì)信息表 orderbook。詳情請見下面的數(shù)據(jù)庫表: 1、菜品菜品表 book2、管理員表 admin3、菜品類型表 booktype4、用戶注冊表 member5、定單詳細(xì)信息表 orderbook第六章第六章 程序設(shè)計(jì)程序設(shè)計(jì)6 61 1 程序說明程序說明根據(jù)前邊的需求分析和系統(tǒng)總體設(shè)計(jì)內(nèi)容進(jìn)行程序設(shè)計(jì)。本系統(tǒng)是以 java 語言為基礎(chǔ)進(jìn)行開發(fā)的。我個(gè)人負(fù)責(zé)的模塊主要是采用 jsp 技術(shù)+javabeans+ mysql 模式進(jìn)行模塊開發(fā)與實(shí)現(xiàn)的。全部都以面向?qū)ο蟮姆椒ㄟM(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。一在程序設(shè)計(jì)時(shí),我用到了下面的一些定義,解釋如下:1page 用來定義整個(gè) jsp 頁

51、面的一些屬性和這些屬性的的值。2page import 該屬性的作用是為 jsp 頁面引入 java 核心包中的類,這樣就可以在 jsp 頁面的程序片部分,變量及函數(shù)聲明部分,表達(dá)式部分使用的類??梢詾樵搶傩灾付ǘ鄠€(gè)值,該屬性的值可以是 java 某個(gè)包中的所有類或一個(gè)具體的類。3include file 表示的是靜態(tài)的插入一個(gè)文件。6 62 2 具體模塊劃分具體模塊劃分1 .主頁面模塊 2用戶注冊模塊 用戶注冊是為第一次登錄網(wǎng)站的用戶所設(shè)計(jì)的。在用戶成為本站用戶之前一定要注冊才可以訪問我網(wǎng)站的其它網(wǎng)頁。用戶注冊包括:登錄名稱,真實(shí)姓名,設(shè)置密碼,電子郵件等。注冊成功后,才可以訪問本站的其他頁

52、面。3用戶登錄模塊 用戶登錄包括:登錄名稱,輸入密碼。當(dāng)用戶登錄后由管理員核對該用戶的名稱和密碼是否正確,如果無誤的話用戶可以通過檢查直接進(jìn)入網(wǎng)站的其它頁面進(jìn)行瀏覽和訂購。4菜品瀏覽模塊 菜品瀏覽:成功登陸后的用戶可以分頁瀏覽菜品菜品,并將想要的菜品提交到填寫訂單頁面。5.訂餐車模塊6修改密碼及信息模塊 (此模塊是我負(fù)責(zé)的)修改密碼:成功登陸的用戶可以在該頁修改自己的密碼及信息。第七章第七章 軟件安裝與調(diào)試軟件安裝與調(diào)試7 71 1 軟件的安裝與配置軟件的安裝與配置(1)軟件安裝:操作系統(tǒng) windows xp mysql jdk 安裝:jdk 安裝特別簡單,和安裝其他的軟件沒什么區(qū)別。 jd

53、k 的配置:設(shè)置 java_home 環(huán)境變量:jdk 安裝目錄 例:c:j2sdk1.4;設(shè)置 classpath 環(huán)境變量:jdk 安裝目錄libtools.jar 例:c:j2sdk1.4libtools.jar;.設(shè)置 path 環(huán)境變量:jdk 安裝目錄bin;例:c:j2sdk1.4bin;服務(wù)器的安裝:tomcat 5.0設(shè)置 tomcat_home 環(huán)境變量:tomcat 安裝目錄 例:c:tomcat 5.0;(2)安裝 tomcat5.0 安裝時(shí)注意在選擇 java 虛擬機(jī)路徑是一定要選擇安裝的 jsdk 的目錄,然后再開始安裝。(3)安裝完畢后,啟動(dòng) tomcat,然后再

54、瀏覽器中輸入 http:/localhost:8080 時(shí)可以看見tomcat 的歡迎頁面,這時(shí)表示配置成功了。7 72 2 軟件軟件調(diào)試調(diào)試 系統(tǒng)調(diào)試的目的是發(fā)現(xiàn)程序和系統(tǒng)中的錯(cuò)誤并及時(shí)予以糾正。在網(wǎng)絡(luò)訂餐系統(tǒng)中用的調(diào)試方法也包括這些:(1) 程序調(diào)試包括語法調(diào)試和邏輯檢查,測試數(shù)據(jù)除采用正常數(shù)據(jù)外,還應(yīng)用一些異常資料,用來考驗(yàn)程序的正確性。用正常資料調(diào)試。用異常資料調(diào)試。用錯(cuò)誤資料調(diào)試。7 73 3 軟件軟件測測試試:軟件的測試是系統(tǒng)開發(fā)周期中一個(gè)十分重要的環(huán)節(jié),其重要性體現(xiàn)在它是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對整個(gè)系統(tǒng)開發(fā)過程的最終審查,如果錯(cuò)誤不能在測試階段被發(fā)現(xiàn)并糾正,就可能會(huì)造

55、成不堪設(shè)想的后果。在網(wǎng)上購物電子商務(wù)平臺(tái)中,我們以黑盒測試為主,白盒測試為輔。對關(guān)鍵模塊采用白盒測試。測試結(jié)果:中文亂碼問題,從數(shù)據(jù)庫中取出的中文數(shù)據(jù)出現(xiàn)亂碼。參數(shù)傳遞出錯(cuò),無法傳遞數(shù)據(jù)。當(dāng)大量用戶同時(shí)對數(shù)據(jù)庫進(jìn)行訪問時(shí),效率低,有的用戶訪問失敗。主要的解決方法:我使用如下方法來解決亂碼問題:request.getparameter(choose).getbytes(8859_1),gb2312 對于各個(gè)模塊接參數(shù)的格式進(jìn)行了統(tǒng)一 本程序以中小型為基礎(chǔ),采用 jdbc 數(shù)據(jù)源進(jìn)行連接數(shù)據(jù)庫這就決定了本系統(tǒng)的先天缺陷。純正的電子商務(wù)網(wǎng)站均采用連接池,出于技術(shù)難度大和資料缺乏放棄此最佳方案。第八章

56、第八章 結(jié)束語結(jié)束語經(jīng)過十個(gè)月的不懈努力,和指導(dǎo)老師的諄諄教導(dǎo),以及同組同學(xué)的團(tuán)結(jié)協(xié)作,充分利用大學(xué)四年所學(xué)的專業(yè)知識(shí),通過大量閱讀與設(shè)計(jì)相關(guān)的專業(yè)參考文獻(xiàn),我終于完成了本次畢業(yè)設(shè)計(jì),已經(jīng)基本上實(shí)現(xiàn)了網(wǎng)絡(luò)訂餐系統(tǒng)的各項(xiàng)功能。在這次畢業(yè)設(shè)計(jì)過程中,我獨(dú)立設(shè)計(jì)和實(shí)現(xiàn)了用戶注冊,用戶登錄,修改密碼,留言板,菜品瀏覽等五個(gè)模塊的全部功能,以及這幾個(gè)模塊的數(shù)據(jù)庫設(shè)計(jì)。通過這次畢業(yè)設(shè)計(jì),我掌握了 mysql 這種大型數(shù)據(jù)庫的編程方法,掌握了 java 語言和jsp 技術(shù)。了解到電子商務(wù)的理論以及平臺(tái)開發(fā)的模式,掌握了網(wǎng)絡(luò)開發(fā)的方法與模式。對團(tuán)隊(duì)的協(xié)作,對軟件開發(fā)方法和手段,有了一定的認(rèn)識(shí),豐富了我的軟件開

57、發(fā)的經(jīng)驗(yàn),提高了程序編寫的水平,并加深理解了許多課程中、菜品本上學(xué)到的知識(shí)和理論。同時(shí),通過編寫畢業(yè)設(shè)計(jì)論文,我還基本掌握了軟件文檔的菜品寫方法和菜品寫格式。本系統(tǒng)的缺陷也是明顯的,如安全性,效率問題等等。由于時(shí)間,能力,國內(nèi)java,jsp 技術(shù)資料有限等原因,有些功能實(shí)現(xiàn)的并不完美,在已經(jīng)完成的程序中,也存在許多不盡人意的算法,也沒有統(tǒng)一優(yōu)化,系統(tǒng)有待進(jìn)一步改善,而這些問題也讓我充分認(rèn)識(shí)到了軟件開發(fā)的困難。通過畢業(yè)設(shè)計(jì),我學(xué)會(huì)了如何去了解一種新型的技術(shù),去掌握一種技術(shù)。以及軟件開發(fā)的基本流程。在學(xué)習(xí)過程中,我們遇到問題經(jīng)常上網(wǎng)求助,去菜品店查詢資料,擴(kuò)大了自己的知識(shí)面??傊?,這次畢業(yè)設(shè)計(jì)為

58、我今后繼續(xù)學(xué)習(xí)、深造奠定了基礎(chǔ),我非常感謝各位老師、同學(xué)的支持與幫助。第九章第九章 附附 錄錄9 91 1 致謝致謝 在本次畢業(yè)設(shè)計(jì)過程中,得到了指導(dǎo)老師的指導(dǎo)與支持。在此特別感謝我的知道老師老師。指導(dǎo)老師的悉心指導(dǎo)和大力支持,在總體結(jié)構(gòu)、功能的把握上給予了非常大的幫助,同時(shí)根我提供了非常優(yōu)越的設(shè)計(jì)環(huán)境,并對我在編程、數(shù)據(jù)庫設(shè)計(jì)等細(xì)節(jié)工作上給予了耐心的指導(dǎo),對于我順利完成這次畢業(yè)設(shè)計(jì)起到了關(guān)鍵性的作用。我還要感謝我的母校xxx 大學(xué),以及在大學(xué)四年生活中給予我關(guān)心和幫助的老師和同學(xué),是他們教會(huì)了我專業(yè)的知識(shí)和做人的道理。通過這次畢業(yè)設(shè)計(jì)我還明白了作為一名計(jì)算機(jī)專業(yè)的大學(xué)畢業(yè)生,我們要會(huì)的不僅僅

59、是編寫代碼,更重要的是要有整體把握系統(tǒng)設(shè)計(jì)的能力。我會(huì)在以后的工作和學(xué)習(xí)中不斷完善自己,為我最熱愛的母校爭光,為自己翻開輝煌的新篇章。9 92 2 參考文獻(xiàn)參考文獻(xiàn)1孫衛(wèi)琴,李洪成.tomcat 與 java web 開發(fā)技術(shù)詳解.電子工業(yè)出版社,2003 年 6 月:1-2052bruceeckel.java 編程思想. 機(jī)械工業(yè)出版社,2003 年 10 月:1-3783flanagan.java 技術(shù)手冊. 中國電力出版社,2002 年 6 月:1-4654孫一林,彭波.java 數(shù)據(jù)庫編程實(shí)例. 清華大學(xué)出版社,2002 年 8 月:30-2105lee anne phillips.巧學(xué)活用 html4.電子工業(yè)出版社,2004 年 8 月:1-3196飛思科技產(chǎn)品研發(fā)中心.jsp 應(yīng)用開發(fā)詳解.電子工業(yè)出版社,2003 年 9 月:32-3007耿祥義,張躍平.jsp 實(shí)用教程. 清華大學(xué)出版社,2003 年 5 月 1 日:1-3548孫涌.現(xiàn)代軟件工程.北京希望電子出版社,2003 年 8 月:1-246 9薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論.高等教育出版社,2002

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論