224基于web的網(wǎng)上訂餐網(wǎng)站系統(tǒng)【ssh2】sql_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科生畢業(yè)論文(設(shè)計(jì))</p><p>  題目: JSP餐飲網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  學(xué)院 / 系 </p><p>  專(zhuān) 業(yè) </p><p>  年 級(jí)

2、 </p><p>  學(xué) 號(hào) </p><p>  作者姓名 </p><p>  指導(dǎo)教師 </p><p>  201

3、0年 03月 14日</p><p><b>  摘 要</b></p><p>  二十一世紀(jì)是一個(gè)集數(shù)字化,網(wǎng)絡(luò)化,信息化的,以網(wǎng)絡(luò)為核心的社會(huì)。中國(guó)的網(wǎng)民充分領(lǐng)略到“暢游天地間,網(wǎng)絡(luò)無(wú)極限” 所帶來(lái)的暢快。隨著Internet的飛速發(fā)展,使得網(wǎng)絡(luò)的應(yīng)用日益的廣泛。如電子商務(wù),電子政務(wù),網(wǎng)上醫(yī)療,網(wǎng)上娛樂(lè),網(wǎng)絡(luò)游戲,網(wǎng)絡(luò)教學(xué)等。本次畢業(yè)設(shè)計(jì)的題目就是網(wǎng)絡(luò)訂餐系統(tǒng)。

4、</p><p>  本論文就畢業(yè)設(shè)計(jì)的內(nèi)容,系統(tǒng)地闡述了整個(gè)網(wǎng)絡(luò)訂餐系統(tǒng)的功能及實(shí)現(xiàn)。實(shí)現(xiàn)了從菜品管理,菜品分類(lèi)和查詢(xún),到訂餐車(chē)實(shí)現(xiàn),用戶(hù)訂單處理,再到系統(tǒng)管理?;旧蠈?shí)現(xiàn)了網(wǎng)上購(gòu)物的功能流程,能夠?qū)崿F(xiàn)用戶(hù)與商家在網(wǎng)上進(jìn)行訂餐交易。本系統(tǒng)界面簡(jiǎn)單直觀,易于操作和使用,交互性強(qiáng),完全基于Internet網(wǎng)絡(luò)。</p><p>  經(jīng)過(guò)分析,我們使用 SUN公司的JSP開(kāi)發(fā)工具,利用其提供的

5、各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成滿意的可行系統(tǒng)。</p><p>  關(guān)鍵詞:網(wǎng)絡(luò)訂餐系統(tǒng)、JSP、信息時(shí)代</p><p><b>  Abstract</b></p><p>  The 21st cent

6、ury is a collection digitization, the network, the informationization, take network as core society. When Qian Tian taught without charge gives sends out the first email in September 14, 1986 in Beijing computer applied

7、technology research institute introversion Germany Karlsruhe University “to pass through the Great Wall, moved toward the world” time, perhaps he did not know that he has opened China information age front door; on April

8、 20, 1994, the Chinese Academy of Science compu</p><p>  This graduation project's topic is on-line books management system management system.</p><p>  The present paper on graduation projec

9、t's content, elaborated systematically the entire on-line books management system management system's function and realizes. Has realized from the merchandise control, the classification of goods and the inquiry,

10、 realizes to the shopping cart, user order form processing, arrives at the chatroom again, the manager system. Basically has realized the electronic commerce function flow, can realize the user and the business on-line c

11、arries on the commodity exchan</p><p>  Key word: On-line purchase books system ,JSP, Information age</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p>&

12、lt;p>  1.1 網(wǎng)上訂餐的前景1</p><p>  1.2 網(wǎng)上訂餐系統(tǒng)市場(chǎng)分析1</p><p>  1.3 計(jì)算機(jī)信息系統(tǒng)的發(fā)展1</p><p>  1.4 管理信息系統(tǒng)的發(fā)展現(xiàn)狀2</p><p>  1.5 開(kāi)發(fā)管理信息系統(tǒng)應(yīng)注意的問(wèn)題3</p><p>  1.7 系統(tǒng)開(kāi)發(fā)步驟4&

13、lt;/p><p><b>  2 開(kāi)發(fā)環(huán)境4</b></p><p>  2.1 軟件工程介紹4</p><p>  2.2開(kāi)發(fā)環(huán)境及工具5</p><p>  2.1.1選擇JSP 2.0作為開(kāi)發(fā)語(yǔ)言5</p><p>  2.2.3選擇SQL2000 作為后臺(tái)數(shù)據(jù)庫(kù)6</p>

14、;<p>  2.3 JSP數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)6</p><p>  2.3.1.JDBC開(kāi)發(fā)數(shù)據(jù)庫(kù)6</p><p>  2.3.2.BDE開(kāi)發(fā)數(shù)據(jù)庫(kù)7</p><p>  2.4 開(kāi)發(fā)方法整體選擇8</p><p><b>  3 系統(tǒng)分析9</b></p><p>  3

15、.1 需求分析9</p><p>  3.1 模塊設(shè)計(jì)9</p><p>  3.2 功能模塊圖10</p><p>  3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)概述12</p><p>  3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)周期12</p><p>  3.5 SQL查詢(xún)語(yǔ)言及使用13</p><p>  3.6 系統(tǒng)

16、數(shù)據(jù)分析14</p><p>  3.7 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)17</p><p><b>  4 詳細(xì)設(shè)計(jì)20</b></p><p>  4.1主頁(yè)面模塊20</p><p>  4.2用戶(hù)注冊(cè)模塊21</p><p>  4.3用戶(hù)登錄模塊21</p><p>

17、  4.4菜品瀏覽模塊22</p><p>  4.5訂餐車(chē)模塊23</p><p>  4.6訂單確認(rèn)模塊24</p><p>  4.7訂單提交模塊25</p><p>  4.8后臺(tái)管理員登陸25</p><p>  4.9 后臺(tái)主界面27</p><p>  4.10 菜品類(lèi)

18、別管理27</p><p>  4.11 菜品管理28</p><p>  4.12 訂單管理29</p><p>  5 系統(tǒng)調(diào)試與測(cè)試29</p><p>  5.1 程序調(diào)試29</p><p>  5.2 程序的測(cè)試30</p><p>  5.2.1 測(cè)試的重要性及目的3

19、0</p><p>  5.2.2 測(cè)試的步驟31</p><p>  5.2.3 測(cè)試的主要內(nèi)容31</p><p><b>  6 結(jié) 論32</b></p><p><b>  致 謝34</b></p><p><b>  參考文獻(xiàn)35<

20、/b></p><p><b>  1 緒論</b></p><p>  1.1 網(wǎng)上訂餐的前景</p><p>  隨著越來(lái)越多的人接受了電子商務(wù)這種便捷、快速的交易形式,網(wǎng)上訂餐的順勢(shì)而出很快受到了大家的歡迎。</p><p>  互聯(lián)網(wǎng)的應(yīng)用以普及千家萬(wàn)戶(hù),這為網(wǎng)絡(luò)訂餐提供了良好的發(fā)展空間。同時(shí),網(wǎng)上訂餐服務(wù)

21、的直觀、有效、便捷等優(yōu)點(diǎn)是傳統(tǒng)的電話訂餐業(yè)務(wù)無(wú)法比擬的。調(diào)查數(shù)據(jù)顯示,北京白領(lǐng)更樂(lè)于選擇網(wǎng)上訂餐服務(wù), 網(wǎng)上訂餐將是白領(lǐng)一族捕獲餐店信息、進(jìn)行訂餐的發(fā)展趨勢(shì)。</p><p>  網(wǎng)絡(luò)訂餐隨著互聯(lián)網(wǎng)的成長(zhǎng)會(huì)逐漸被人們所喜愛(ài),正如幾年前手機(jī)移動(dòng)的短信一樣,為企業(yè)帶來(lái)的幾百個(gè)億的業(yè)務(wù)收入。在互聯(lián)網(wǎng)世界里面,誰(shuí)早一步在應(yīng)用上創(chuàng)新,誰(shuí)就掌握了未來(lái)的方向,品牌更是一炮打紅,網(wǎng)絡(luò)訂餐,看到希望的是希望,看到泡沫的是泡沫。&l

22、t;/p><p>  1.2 網(wǎng)上訂餐系統(tǒng)市場(chǎng)分析</p><p>  網(wǎng)絡(luò)訂餐可充通過(guò)色彩、圖片、說(shuō)明、設(shè)置動(dòng)畫(huà)加強(qiáng)了產(chǎn)品了宣傳,大大達(dá)到了餐飲業(yè)的“色型”要求。實(shí)現(xiàn)產(chǎn)品管理方便,起到立竿見(jiàn)影的效果,不用因?yàn)楦牟松匦掠∷?。只要在后臺(tái)鼠標(biāo)輕輕一點(diǎn),全線馬上更新。采用B/S模式,訂餐者無(wú)須安裝第三方軟件,能上網(wǎng)就能訂餐,甚至可以利用手機(jī)上網(wǎng)訂餐,使操作更加簡(jiǎn)便,訂餐信息更加準(zhǔn)確。避免口頭傳

23、遞信息的錯(cuò)誤,優(yōu)化服務(wù)。網(wǎng)絡(luò)不會(huì)跟電話一樣占線,在高峰期對(duì)訂餐的處理更是游刃有余,只看著屏幕點(diǎn)打印即可,就可下廚房配菜配送。地址永遠(yuǎn)不會(huì)丟失,是一個(gè)永遠(yuǎn)存在的電子菜單,甚至還可以通過(guò)我們的推廣而讓更多的客人認(rèn)識(shí),不用派人派宣傳單,省去一筆宣傳和人工費(fèi)用。訂餐途徑有了更好的改善,網(wǎng)絡(luò)訂餐成為電話訂餐又一有力補(bǔ)充,擴(kuò)大客流,從而整體提高業(yè)務(wù)量。倡導(dǎo)了一種時(shí)尚,餐店的定位更是網(wǎng)絡(luò)化,時(shí)尚化,具備更為勃勃的生機(jī)。緩解了食堂的擁擠的困境,為食堂提

24、供更為輕松的環(huán)境。有時(shí)間的提前性,方便統(tǒng)籌安排,集中處理。采用會(huì)員制度,設(shè)立積分換贈(zèng)送,營(yíng)銷(xiāo)手段更是利用得淋漓盡致??梢栽O(shè)立團(tuán)體會(huì)員制,利用贈(zèng)品或優(yōu)惠,擴(kuò)大市場(chǎng)份額。利用網(wǎng)頁(yè)技術(shù),展示本公司的精品,增強(qiáng)吸引力。詳細(xì)介紹每一個(gè)產(chǎn)品,展現(xiàn)公</p><p>  1.3 計(jì)算機(jī)信息系統(tǒng)的發(fā)展 </p><p>  從 1945 年美國(guó)第一臺(tái)電子數(shù)字積分計(jì)算機(jī)ENIAC 誕生以來(lái),短短四、五十年,

25、計(jì)算機(jī)技術(shù)發(fā)展異常迅速,應(yīng)用日益廣泛。從硬件上由電子管、晶體管、集成電路、大規(guī)模、超大規(guī)模集成,價(jià)格降低、可靠性增強(qiáng)。計(jì)算機(jī)尤其是微型計(jì)算機(jī)逐漸普及,從開(kāi)始 4 位微處理器的微型機(jī)到現(xiàn)今 32 位高檔微機(jī),主頻速度越來(lái)越快。隨著硬件的發(fā)展,軟件也不斷更新,由 2 進(jìn)制代碼到機(jī)器語(yǔ)言匯編語(yǔ)言、高級(jí)程序語(yǔ)言,到現(xiàn)今面對(duì)對(duì)象的非過(guò)程化語(yǔ)言,人們不必關(guān)心問(wèn)題的解法和計(jì)算過(guò)程描述,只需告訴它干什么,至于如何干,則由軟件自動(dòng)完成,這給軟件開(kāi)發(fā)人員帶

26、來(lái)及大的便利。軟件開(kāi)發(fā)人員不必化大多時(shí)間和精力在描述程序的具體細(xì)節(jié)上,提高效率,減少手工編程中的誤差。計(jì)算機(jī)的應(yīng)用也由原先單純的數(shù)值計(jì)算,到數(shù)據(jù)處理如辦公自動(dòng)化,輔助教學(xué),工業(yè)的自動(dòng)控制、人工智能,可以說(shuō)滲透到生產(chǎn)生活的各個(gè)領(lǐng)域。計(jì)算機(jī)的應(yīng)用提高了效率,降低了成本,節(jié)省人力物力。但要發(fā)揮其巨大作用,還需提高人們的應(yīng)用水平。 </p><p>  1.4 管理信息系統(tǒng)的發(fā)展現(xiàn)狀 </p><p&

27、gt;  現(xiàn)代社會(huì)、社會(huì)化趨勢(shì)的擴(kuò)大和社會(huì)產(chǎn)品需求使企業(yè)在生產(chǎn)經(jīng)營(yíng)活動(dòng)中涉及的內(nèi)外部信息積聚膨脹,隨著科學(xué)技術(shù)突飛猛進(jìn)和生產(chǎn)迅速發(fā)展,使人類(lèi)知識(shí)量增長(zhǎng)速度不斷加快,信息量的增加,外部環(huán)境變化的變快,人工已無(wú)法勝任。如何收集足夠的信息資源,強(qiáng)有力的信息并加以利用,積極的開(kāi)發(fā)和及時(shí)利用信息爆炸有效的信息資源,已成為現(xiàn)代社會(huì)的難題。計(jì)算機(jī)的出現(xiàn)解決了這個(gè)問(wèn)題,由于計(jì)算機(jī)迅速、準(zhǔn)確為信息收集、加工、使用、查詢(xún)提供可能。計(jì)算機(jī)技術(shù)與通信技術(shù)結(jié)合極

28、大的促進(jìn)現(xiàn)代信息技術(shù)的發(fā)展,各國(guó)加快信息進(jìn)程,國(guó)際社會(huì)建設(shè)信息高速公路的熱潮和中國(guó)工人“金”字號(hào)工程為代表的國(guó)家信息工程項(xiàng)目的開(kāi)展,使中國(guó)的企業(yè)信息化面臨新的形勢(shì)。 </p><p>  電子計(jì)算機(jī)適應(yīng)現(xiàn)代社會(huì)管理信息量迅速增長(zhǎng),信息壽命短,要求及時(shí)轉(zhuǎn)換的問(wèn)題。信息系統(tǒng)由電子數(shù)據(jù)處理,信息報(bào)告系統(tǒng),決策支持系統(tǒng)進(jìn)一步發(fā)展到專(zhuān)家系統(tǒng)及支持領(lǐng)導(dǎo)層的決策執(zhí)行信息程序,在競(jìng)爭(zhēng)中支持戰(zhàn)略決策的戰(zhàn)略信息系統(tǒng)。當(dāng)今社會(huì)現(xiàn)代信息

29、技術(shù)廣泛迅速的滲透到社會(huì)生活的各領(lǐng)域但目前在管理信息系統(tǒng)應(yīng)用還很不完善,屬于起步階段。計(jì)算機(jī)對(duì)管理工作的支持,不僅是數(shù)據(jù)處理、而且是輔助決策的工具,能夠從海量的信息中收集、整理,分析提供給管理者、決策有關(guān)的信息,相關(guān)的決策分析,甚至可和管理者交互對(duì)話,生成決策。目前各個(gè)行業(yè)的計(jì)算機(jī)處理信息管理,很大一部分仍停留在單項(xiàng)業(yè)務(wù)理,處在電子數(shù)據(jù)處理階段,各單位由事務(wù)處理到系統(tǒng)處理轉(zhuǎn)向支持系統(tǒng)還建立起真正的具有預(yù)測(cè)控制和支持決策功能的管理信息系統(tǒng)

30、。雖然信息系統(tǒng)已有一定發(fā)展,在業(yè)務(wù)處理過(guò)程控制辦公自動(dòng)化方面已有長(zhǎng)足進(jìn)步,但很不完善。要充分利用計(jì)算機(jī)處理信息,必須從目前情況入手,著眼于未來(lái),開(kāi)發(fā)適合本單位、行業(yè)的小型管理系統(tǒng),甚至是其中一步分,如工資管理系統(tǒng),然后逐步完善,不斷擴(kuò)充。管理信息系統(tǒng)的特點(diǎn)之一就是數(shù)據(jù)集中統(tǒng)一,采用數(shù)據(jù)庫(kù)。利用數(shù)據(jù)庫(kù)技術(shù)可解決數(shù)據(jù)共享問(wèn)題。數(shù)據(jù)庫(kù)用</p><p>  1.5 開(kāi)發(fā)管理信息系統(tǒng)應(yīng)注意的問(wèn)題 </p>

31、<p>  成功地開(kāi)發(fā)一套管理信息系統(tǒng),不僅需要具備一定的理論基礎(chǔ),而且還需要對(duì)開(kāi)發(fā)過(guò)程中所面臨的問(wèn)題有一個(gè)充分、清醒的認(rèn)識(shí),例如:社會(huì)因素、文化背景、企業(yè)體制、起點(diǎn)環(huán)境等。特別是在中國(guó)當(dāng)前IT行業(yè)飛速發(fā)展的形勢(shì)下,更要強(qiáng)調(diào)這些方面對(duì)管理信息系統(tǒng)開(kāi)發(fā)的影響。 </p><p><b>  1.6 可行性分析</b></p><p>  經(jīng)濟(jì)可行性研究是對(duì)組織

32、的經(jīng)濟(jì)現(xiàn)狀和投資能力進(jìn)行分析,對(duì)系統(tǒng)建設(shè)運(yùn)行和維護(hù)費(fèi)用進(jìn)行估算,對(duì)系統(tǒng)建成后可能取得的社會(huì)和經(jīng)濟(jì)效益進(jìn)行估計(jì)。由于公司XXXX訂餐管理系統(tǒng)是作為畢業(yè)設(shè)計(jì)由我們讀者自己開(kāi)發(fā)的,在經(jīng)濟(jì)上的投入甚微,系統(tǒng)建成之后將為今后實(shí)現(xiàn)公司訂餐管理系統(tǒng)提供很大的方便,估算新系統(tǒng)的開(kāi)發(fā)費(fèi)用和今后的運(yùn)行、維護(hù)費(fèi)用,估計(jì)新系統(tǒng)將獲得的效益,并將費(fèi)用與效益進(jìn)行比較,看是否有利。</p><p>  開(kāi)發(fā)、運(yùn)行和維護(hù)費(fèi)用主要包括:購(gòu)買(mǎi)和安裝

33、設(shè)備的費(fèi)用:計(jì)算機(jī)硬件、系統(tǒng)軟件、 機(jī)房、電源、空調(diào)等;</p><p>  軟件開(kāi)發(fā)費(fèi)用:若由實(shí)習(xí)單位的技術(shù)人員開(kāi)發(fā),則該項(xiàng)費(fèi)用可以計(jì)入下面的人員費(fèi)用一項(xiàng);</p><p>  人員費(fèi)用:系統(tǒng)開(kāi)發(fā)人員、操作人員和維護(hù)人員的工資、培訓(xùn)費(fèi)用等;</p><p>  消耗品費(fèi)用:系統(tǒng)開(kāi)發(fā)所用材料、系統(tǒng)正常運(yùn)行所用消耗品,例如水、電費(fèi),打印紙、軟盤(pán)、色帶等開(kāi)支。</

34、p><p>  技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開(kāi)發(fā)工作,軟硬件配置是否滿足開(kāi)發(fā)的需求等。訂餐管理系統(tǒng)用的是JSP開(kāi)發(fā)語(yǔ)言,調(diào)試相對(duì)簡(jiǎn)單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開(kāi)發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開(kāi)發(fā)平臺(tái)成熟可行,它們速度快、容量大、可靠性能高、價(jià)格低,完全能滿足系統(tǒng)的需求。運(yùn)行可行性是對(duì)組織結(jié)構(gòu)的影響,現(xiàn)有人員和機(jī)構(gòu)和環(huán)境對(duì)系統(tǒng)的適應(yīng)性及人員

35、培訓(xùn)補(bǔ)充計(jì)劃的可行性。當(dāng)前我們公司信息化技術(shù)已經(jīng)相當(dāng)普及,各類(lèi)操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。根據(jù)新系統(tǒng)目標(biāo)來(lái)衡量所需的技術(shù)是否具備,一般可從硬件、軟件的性能要求、環(huán)境條件、技術(shù)人員水平和數(shù)量等方面去考慮和分析,其中開(kāi)發(fā)人員的技術(shù)力量應(yīng)首先考慮能力與水平,并考慮近期內(nèi)可以培養(yǎng)和發(fā)展的技術(shù)人員。</p><p>  運(yùn)行可行性對(duì)新系統(tǒng)運(yùn)行后給現(xiàn)行系統(tǒng)帶來(lái)的影響(包括組織機(jī)構(gòu)、管理方式、工作環(huán)境等

36、)和后果進(jìn)行估計(jì)和評(píng)價(jià)。同時(shí)還應(yīng)考慮現(xiàn)有管理人員的培訓(xùn)、補(bǔ)充,分析在給定時(shí)間里能否完成預(yù)定的系統(tǒng)開(kāi)發(fā)任務(wù)等。 按上述三方面進(jìn)行可行性分析、研究后,就可整理并編制出新系統(tǒng)開(kāi)發(fā)的可行性報(bào)告,它是總體規(guī)劃工作的階段性成果。</p><p>  使用本系統(tǒng),能使公司加強(qiáng)對(duì)資金的管理,對(duì)其訂餐中商品信息及時(shí)反饋。利于公司及時(shí)采取經(jīng)營(yíng)策略。本系統(tǒng)的開(kāi)發(fā),是典型的Mis開(kāi)發(fā),主要是對(duì)數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變

37、換,及數(shù)據(jù)的各種報(bào)表形式的輸出。采用流行的JSP+SQL Server2000體系,已無(wú)技術(shù)上的問(wèn)題。</p><p>  1.7 系統(tǒng)開(kāi)發(fā)步驟</p><p>  一般說(shuō)來(lái),管理信息系統(tǒng)的建立與應(yīng)用可以劃分成總體規(guī)劃、系統(tǒng)開(kāi)發(fā)和系統(tǒng)運(yùn)行三個(gè)階段,其中系統(tǒng)開(kāi)發(fā)階段還可進(jìn)一步分為系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施等工作環(huán)節(jié)。上述各個(gè)階段排列成一個(gè)嚴(yán)格的線性開(kāi)發(fā)序列,在每個(gè)工作階段均產(chǎn)生完整的技術(shù)文

38、檔作為下一階段工作的指導(dǎo)和依據(jù),每一階段都應(yīng)對(duì)文檔進(jìn)行評(píng)審,確信該階段工作已完成并達(dá)到要求后才能進(jìn)入下一階段,同時(shí)在以后的工作中不能輕易改變前面經(jīng)過(guò)評(píng)審的成果。上述開(kāi)發(fā)方式的主要優(yōu)點(diǎn)是便于開(kāi)發(fā)工作的組織和管理,并且可大大降低管理信息系統(tǒng)開(kāi)發(fā)的復(fù)雜性。國(guó)內(nèi)外許多系統(tǒng)開(kāi)發(fā)的實(shí)例都證明這是一種行之有效的開(kāi)發(fā)方式。</p><p>  國(guó)外曾有人對(duì)一些軟件項(xiàng)目開(kāi)發(fā)各階段的工作量進(jìn)行了統(tǒng)計(jì),結(jié)果表明,在開(kāi)發(fā)過(guò)程中各工作階段

39、所占全部工作量的比重分別達(dá)到系統(tǒng)分析:系統(tǒng)設(shè)計(jì):編程:模塊調(diào)試:系統(tǒng)調(diào)試=20%:15%:20%:25%:20%。由此可見(jiàn),程序編寫(xiě)在開(kāi)發(fā)工作中只占很小比例,而調(diào)試工作卻占整個(gè)開(kāi)發(fā)工作量的一半左右,因此“系統(tǒng)開(kāi)發(fā)就是編程”的習(xí)慣說(shuō)法顯然是片面的。另?yè)?jù)統(tǒng)計(jì),在建立管理信息系統(tǒng)的三個(gè)階段中,總體規(guī)劃和系統(tǒng)開(kāi)發(fā)階段的工作量約占整個(gè)工作量的2/3,而運(yùn)行、維護(hù)階段要占1/3,這說(shuō)明一個(gè)管理信息系統(tǒng)開(kāi)發(fā)后,仍應(yīng)十分重視它的維護(hù)工作,以便使系統(tǒng)不斷

40、完善并充分發(fā)揮其作用。</p><p><b>  2 開(kāi)發(fā)環(huán)境</b></p><p>  2.1 軟件工程介紹</p><p>  軟件工程是用科學(xué)知識(shí)和技術(shù)原理來(lái)定義、開(kāi)發(fā)、維護(hù)軟件的一門(mén)學(xué)科。它涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域,計(jì)算機(jī)科學(xué)著重于原理和理論,而軟件工程著重于如何建造一個(gè)軟件系統(tǒng)。軟件工程在軟件開(kāi)發(fā)過(guò)程中占有不

41、可動(dòng)搖的重要地位,</p><p>  一個(gè)軟件從開(kāi)始計(jì)劃起,到廢棄不用止,稱(chēng)為軟件生存周期。一般來(lái)說(shuō),軟件生存周包括計(jì)劃、開(kāi)發(fā)、運(yùn)行三個(gè)時(shí)期,每一時(shí)期又可分為若干更小的階段。計(jì)劃時(shí)期的主要任務(wù)是分析用戶(hù)要求,分析新系統(tǒng)的主要目標(biāo)以及開(kāi)發(fā)該系統(tǒng)的可行性。開(kāi)發(fā)時(shí)期要完成設(shè)計(jì)和實(shí)現(xiàn)兩大任務(wù)具體。具體分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試。其中編碼和測(cè)試是軟件開(kāi)發(fā)期的最后兩個(gè)階段。運(yùn)行時(shí)期是軟件生存周期的最后一個(gè)

42、時(shí)期,軟件人員在這一時(shí)期的工作,主要是做好軟件維護(hù)。</p><p>  “新華書(shū)店訂餐管理系統(tǒng)”雖然只是一個(gè)比較小的項(xiàng)目,但是為了做的更規(guī)范,也盡量按照軟件工程的指導(dǎo)來(lái)做,事實(shí)上,不管一個(gè)多小的工程,都是離不開(kāi)軟件工程的指導(dǎo)思想的。</p><p>  2.2開(kāi)發(fā)環(huán)境及工具</p><p>  2.1.1選擇JSP 2.0作為開(kāi)發(fā)語(yǔ)言</p><

43、;p>  JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類(lèi)似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件</p><p>  用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。 JSP

44、技術(shù)使用Java編程語(yǔ)言編寫(xiě)類(lèi)XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。</p><p><b>  JSP技術(shù)的強(qiáng)勢(shì):</b></p><p>  1.一

45、次編寫(xiě),到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。 2.系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署, 在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見(jiàn)的。 3.強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服

46、務(wù)器,Java顯示了一個(gè)巨大的生命力。</p><p>  4.多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。</p><p>  2.2.3選擇SQL2000 作為后臺(tái)數(shù)據(jù)庫(kù)</p><p>  SQL是Structured Quevy Langua

47、ge(結(jié)構(gòu)化查詢(xún)語(yǔ)言)的縮寫(xiě)。SQL是專(zhuān)為數(shù)據(jù)庫(kù)而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫(kù)語(yǔ)言。在使用它時(shí),只需要發(fā)出“做什么”的命令,“怎么做”是不用使用者考慮的。SQL功能強(qiáng)大、簡(jiǎn)單易學(xué)、使用方便,已經(jīng)成為了數(shù)據(jù)庫(kù)操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫(kù)均支持SQL。 </p><p>  2.3 JSP數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)</p><p>  2.3.1.JDBC開(kāi)發(fā)數(shù)據(jù)庫(kù)</p>

48、<p>  JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純 Java API 編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序,同時(shí),JDBC也是個(gè)商標(biāo)名。   &#

49、160; </p><p>  有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語(yǔ)句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問(wèn)Sybase數(shù)據(jù)庫(kù)專(zhuān)門(mén)寫(xiě)一個(gè)程序,為訪問(wèn)Oracle數(shù)據(jù)庫(kù)又專(zhuān)門(mén)寫(xiě)一個(gè)程序,或?yàn)樵L問(wèn)Informix數(shù)據(jù)庫(kù)又編寫(xiě)另一個(gè)程序等等,程序員只需用JDBC API寫(xiě)一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫(kù)發(fā)送SQL調(diào)用。同時(shí),將Java語(yǔ)言和JDBC結(jié)合起來(lái)使程序員不必為不同的平臺(tái)編寫(xiě)不同的應(yīng)

50、用程序,只須寫(xiě)一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語(yǔ)言“編寫(xiě)一次,處處運(yùn)行”的優(yōu)勢(shì)。</p><p>  Java數(shù)據(jù)庫(kù)連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)方法。JDBC對(duì)Java程序員而言是API,對(duì)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開(kāi)發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫(kù)廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并

51、支持與其它數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡(jiǎn)單、嚴(yán)格類(lèi)型定義且高性能實(shí)現(xiàn)的接口。 </p><p>  Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序的杰出語(yǔ)言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話的方法。而 JDBC 正是作為此種用途的機(jī)制。</p><p> 

52、 JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁(yè),而該 applet 使用的信息可能來(lái)自遠(yuǎn)程數(shù)據(jù)庫(kù)企業(yè)也可以用 JDBC 通過(guò) Intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫(kù)中(即使這些職員所用的計(jì)算機(jī)有 Windows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來(lái)越多的程序員開(kāi)始使用Java 編程語(yǔ)言,對(duì)從 Java 中便捷地訪問(wèn)數(shù)據(jù)庫(kù)的要求

53、也在日益增加。 </p><p>  MIS 管理員們都喜歡 Java 和 JDBC 的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫(kù),并能便捷地存取信息,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫(kù)管理系統(tǒng)上。新程序的開(kāi)發(fā)期很短。安裝和版本控制將大為簡(jiǎn)化。程序員可只編寫(xiě)一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對(duì)于商務(wù)上的銷(xiāo)售信息服務(wù), Java 和JDB

54、C 可為外部客戶(hù)提供獲取信息更新的更好方法。</p><p>  2.3.2.BDE開(kāi)發(fā)數(shù)據(jù)庫(kù)</p><p>  BDE是負(fù)責(zé)用戶(hù)和數(shù)據(jù)庫(kù)交流的中間媒介。事實(shí)上,應(yīng)用程序是通過(guò)數(shù)據(jù)訪問(wèn)組件和BDE連接,再由BDE去訪問(wèn)數(shù)據(jù)庫(kù),完成對(duì)數(shù)據(jù)庫(kù)的操作,而并非直接操作BDE。這樣用戶(hù)只需關(guān)心JSP中的數(shù)據(jù)組件即可,不用直接和BDE打交道。 </p><p>  數(shù)據(jù)庫(kù)組件

55、主要分為兩類(lèi):“數(shù)據(jù)訪問(wèn)組件”和“數(shù)據(jù)控制組件”,它們和數(shù)據(jù)庫(kù)的關(guān)系如圖2-1所示:</p><p>  圖2-1 數(shù)據(jù)庫(kù)組件與數(shù)據(jù)庫(kù)關(guān)系圖</p><p>  其中,數(shù)據(jù)訪問(wèn)組件在JSP組件面板的Data SQL組件頁(yè)上。其中的Table、Query和Storedproc三個(gè)控件,它們稱(chēng)為“數(shù)據(jù)集組件”,用于和數(shù)據(jù)庫(kù)連接。這些組件功能如下: </p><p>  

56、1.DataSource控件是數(shù)據(jù)集組件和數(shù)據(jù)控制組件的連接媒介。數(shù)據(jù)控制組件是用戶(hù)操作數(shù)據(jù)庫(kù)中數(shù)據(jù)的界面,只有通過(guò)DataSource控件才能和數(shù)據(jù)集組件連接,從而對(duì)數(shù)據(jù)進(jìn)行顯示、修改、維護(hù)等操作。 </p><p>  2.Table控件是通過(guò)數(shù)據(jù)庫(kù)引擎——BDE來(lái)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù)的。通過(guò)BDE將用戶(hù)對(duì)數(shù)據(jù)庫(kù)的操作(如添加、刪除、修改等)傳遞給數(shù)據(jù)庫(kù)。 </p><p>  3.Qu

57、ery控件是利用SQL(Structured Query Language,結(jié)構(gòu)化查詢(xún)語(yǔ)言)通過(guò)BDE來(lái)操作數(shù)據(jù)庫(kù)的,和Table控件完成的功能相似,它只是采用了SQL來(lái)實(shí)現(xiàn)。 </p><p>  4.Storedproc控件是通過(guò)BDE對(duì)服務(wù)器數(shù)據(jù)庫(kù)進(jìn)行操作的,常用于客戶(hù)/服務(wù)器(C/S)結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用程序。 </p><p>  5.DataBase控件一般用于建立遠(yuǎn)程的數(shù)據(jù)庫(kù)服務(wù)

58、器——客戶(hù)/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫(kù)應(yīng)用程序和數(shù)據(jù)庫(kù)之間的連接。 </p><p>  6.Session控件是用于控制數(shù)據(jù)庫(kù)應(yīng)用程序和數(shù)據(jù)庫(kù)連接的,主要用于復(fù)雜功能的實(shí)現(xiàn),例如:多線程數(shù)據(jù)庫(kù)程序設(shè)計(jì)。</p><p>  而數(shù)據(jù)控制組件也可以稱(chēng)為數(shù)據(jù)顯示組件或數(shù)據(jù)瀏覽組件。它們的主要功能是與數(shù)據(jù)訪問(wèn)組件相配合,提供給用戶(hù)一個(gè)對(duì)數(shù)據(jù)進(jìn)行瀏覽、編輯等操作的界面。數(shù)據(jù)控制組件在組件板上的DataCo

59、ntrol頁(yè)上。</p><p>  從上圖可以看出,BDE負(fù)責(zé)與具體的數(shù)據(jù)庫(kù)相連,通過(guò)BDE,幾乎可以操作目前所有類(lèi)型的數(shù)據(jù)庫(kù)。但是BDE也有很大的缺點(diǎn),當(dāng)然,在對(duì)于一些比較簡(jiǎn)單的數(shù)據(jù)庫(kù),例如ASCII,BDE可以直接訪問(wèn)。另外它也可以通過(guò)一些相應(yīng)的驅(qū)動(dòng),訪問(wèn)特定的數(shù)據(jù)庫(kù),例如通過(guò)DAO訪問(wèn)SQL數(shù)據(jù)庫(kù)。不同類(lèi)型的驅(qū)動(dòng)程序都具有不同的特征,主要是表現(xiàn)在:數(shù)據(jù)庫(kù)的安全性,事務(wù),數(shù)據(jù)字典和完整性驗(yàn)證,存儲(chǔ)過(guò)程和觸發(fā)

60、器。對(duì)于不能直接支持的數(shù)據(jù)庫(kù),BDE還可以連接到ODBC,通過(guò)ODBC進(jìn)行訪問(wèn),所以BDE有時(shí)效率很低。</p><p>  在JSP提供的所有數(shù)據(jù)庫(kù)訪問(wèn)方式中,BDE的歷史最長(zhǎng),因此提供的功能也最多,包括大量的和數(shù)據(jù)庫(kù)交互的API。使用它訪問(wèn)PARJDBCX和DBASE時(shí)效率最高。同時(shí),針對(duì)Oracle的訪問(wèn)也有專(zhuān)門(mén)的優(yōu)化,效率也最高。JSP目前正逐步放棄BDE,已經(jīng)不再為BDE增加新的功能,只是對(duì)現(xiàn)有的功能進(jìn)

61、行維護(hù),排除BUG。BDE包含如下組件:TDATABASE,TTABLE,TQUERY,TSTOREDPROC,TSESSION,TBATCHMOVE,TUPDATESQL,TNESTEDTABLE。</p><p>  2.4 開(kāi)發(fā)方法整體選擇</p><p>  根據(jù)用戶(hù)的實(shí)際情況和需要,最終決定采用在Windows xp下使用JSP+SQL開(kāi)發(fā),采用B/S結(jié)構(gòu),使用JDBC連接數(shù)據(jù)庫(kù)

62、。這樣的好處是:</p><p>  1.使用JSP+SQL靈活方便,可擴(kuò)充性、可移植性較好。</p><p>  2.JDBC與SQL同為微軟開(kāi)發(fā),兼容性好,同時(shí)存取效率高,且較成熟,目前許多數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)都采用這種方式。</p><p>  3.采用 B/S結(jié)構(gòu)是能充分發(fā)揮客戶(hù)端PC的處理能力,很多工作可以在客戶(hù)端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶(hù)端響應(yīng)速

63、度快。</p><p>  JDBC是Microsoft主要數(shù)據(jù)存儲(chǔ)技術(shù),JDBC主要讓?xiě)?yīng)用程序或WEB應(yīng)用程序存取各種不同的數(shù)據(jù)源。JDBC封裝了OLE-DB復(fù)雜的接口,以極為簡(jiǎn)單的COM接口存儲(chǔ)數(shù)據(jù),簡(jiǎn)化了程序員數(shù)據(jù)存取的工作。</p><p>  JDBC架構(gòu)圖如圖2-2所示:</p><p>  圖2-2 JDBC架構(gòu)圖</p><p&

64、gt;<b>  3 系統(tǒng)分析</b></p><p><b>  3.1 需求分析</b></p><p>  “民以食為天”,隨著人民生活水平的提高,餐飲業(yè)在服務(wù)行業(yè)中占有越來(lái)越重要的地位。努力在當(dāng)前餐飲行業(yè)日趨激烈的競(jìng)爭(zhēng)中脫穎而出,已成為每位餐飲業(yè)經(jīng)營(yíng)者 所追求的目標(biāo)。網(wǎng)絡(luò)訂餐實(shí)現(xiàn)了小店面大作為的成本效益,解決了因?yàn)榈昝嫘〉南拗贫鵁o(wú)法提高營(yíng)

65、業(yè)額的難題,是一個(gè)小投入大成效的經(jīng)營(yíng)新模式。</p><p>  在網(wǎng)上參觀訂餐的人相對(duì)網(wǎng)下人來(lái)說(shuō)還是比較少,一個(gè)是對(duì)網(wǎng)上餐館的信用度持疑慮態(tài)度;另一個(gè)是網(wǎng)上訂餐只可以看到物品的說(shuō)明簡(jiǎn)介和外觀,沒(méi)有看到實(shí)體于細(xì)節(jié)處,無(wú)法通過(guò)快速瀏覽確定是不是自己想要的菜品。而這正是傳統(tǒng)的實(shí)體餐館優(yōu)于網(wǎng)上餐館的地方。而在網(wǎng)上訂餐的人都是一般都是對(duì)電腦比較熟練的人,也就就是比較年青化的消費(fèi)群體。就是白領(lǐng)、大學(xué)生、高中生和對(duì)計(jì)算機(jī)操作

66、相對(duì)比較熟的人。因?yàn)檫@些人工作都比較忙,而且對(duì)計(jì)算機(jī)也比較熟,思想也比較超前,對(duì)于在網(wǎng)上訂餐能夠接受,并經(jīng)常上網(wǎng)訂餐。</p><p><b>  3.1 模塊設(shè)計(jì)</b></p><p><b>  (a)用戶(hù)注冊(cè)</b></p><p><b>  (b)用戶(hù)登錄</b></p>&

67、lt;p><b>  (c)菜品瀏覽</b></p><p><b>  (d)菜品訂購(gòu)</b></p><p><b>  (e)菜品查詢(xún)</b></p><p><b>  (f)訂單修改</b></p><p><b>  (g)修改

68、密碼</b></p><p><b>  (h)修改個(gè)人信息</b></p><p><b>  (i)管理員</b></p><p><b>  3.2 功能模塊圖</b></p><p>  前臺(tái)功能圖(如圖3-1)主要包括客戶(hù)進(jìn)入網(wǎng)站后進(jìn)行的相應(yīng)操作。首先,客

69、戶(hù)需要注冊(cè)會(huì)員登錄,如果不注冊(cè)會(huì)員則不能進(jìn)行訂餐的下一步操作。其次,會(huì)員注冊(cè)成功后,以會(huì)員身份登錄網(wǎng)站,則可以進(jìn)行會(huì)員信息修改,訂單信息查詢(xún)修改,網(wǎng)上訂餐以及網(wǎng)站留言等功能。</p><p><b>  圖3-1前臺(tái)功能圖</b></p><p><b>  圖3-2后臺(tái)功能圖</b></p><p>  后臺(tái)功能圖(如圖

70、3-2)主要介紹系統(tǒng)管理員登錄網(wǎng)站后臺(tái)進(jìn)行的相應(yīng)操作。首先,管理者需登錄后臺(tái)網(wǎng)站。其次,登錄成功后,可進(jìn)行系統(tǒng)用戶(hù)管理、菜品類(lèi)別設(shè)置、網(wǎng)站新聞發(fā)布、菜品信息管理等。</p><p>  訂單及管理流程圖(如圖3-3)介紹了用戶(hù)從開(kāi)始訂餐到網(wǎng)站后臺(tái)管理者查看訂單,實(shí)現(xiàn)送貨,更改訂單狀態(tài)的整個(gè)過(guò)程,也是整個(gè)訂餐系統(tǒng)的運(yùn)作過(guò)程。</p><p>  下訂單流程圖:

71、 訂單管理流程圖:</p><p>  圖3-3訂單及管理流程圖</p><p>  3.3 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 </p><p>  計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫(kù)為核心,在數(shù)據(jù)庫(kù)管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。 </p><p>  對(duì)于數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)人員來(lái)說(shuō),為使現(xiàn)實(shí)世界的信息流計(jì)算機(jī)化,并對(duì)

72、計(jì)算機(jī)化的信息進(jìn)行各種操作,就是如何利用數(shù)據(jù)庫(kù)管理系統(tǒng)、系統(tǒng)軟件和相關(guān)硬件系統(tǒng),將用戶(hù)的要求轉(zhuǎn)化成有效的數(shù)據(jù)結(jié)構(gòu),并使數(shù)據(jù)庫(kù)結(jié)構(gòu)易于實(shí)現(xiàn)用戶(hù)新的要求的過(guò)程。 確切的說(shuō),數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個(gè)確定數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶(hù)數(shù)據(jù)要求和加工要求,又能被某個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)所接受,同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫(kù)

73、。 </p><p>  3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)周期 </p><p>  根據(jù)軟件工程的思想,數(shù)據(jù)庫(kù)設(shè)計(jì)的周期可以劃分為六個(gè)階段: </p><p>  規(guī)劃階段:確定開(kāi)發(fā)的總目標(biāo),給出計(jì)劃開(kāi)發(fā)的軟件系統(tǒng)的功能、性能以及可靠性等方面的設(shè)想。 </p><p>  需求分析階段:認(rèn)真細(xì)致地了解用戶(hù)對(duì)數(shù)據(jù)的加工要求,確定系統(tǒng)的功能與邊界。本階段的最

74、終結(jié)果能夠提供一個(gè)可作為設(shè)計(jì)基礎(chǔ)的系統(tǒng)說(shuō)明書(shū),包括對(duì)軟硬件環(huán)境的要求和一整套完善的數(shù)據(jù)流程圖。 </p><p>  設(shè)計(jì)階段:把需求分析階段所確定的功能細(xì)化,主要工作是概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段,然后,對(duì)每個(gè)階段內(nèi)部設(shè)計(jì)詳細(xì)的流程。 </p><p>  程序編制階段:以一種或幾種特定的程序設(shè)計(jì)語(yǔ)言表達(dá)上一階段確定的各模塊控制流程。程序編制時(shí)應(yīng)遵循結(jié)構(gòu)化程序設(shè)計(jì)方法。 &l

75、t;/p><p>  調(diào)試階段:對(duì)已編好的程序進(jìn)行單元調(diào)試(分調(diào)),整體調(diào)試(聯(lián)調(diào))和系統(tǒng)測(cè)試(驗(yàn)收)。 </p><p>  運(yùn)行和維護(hù)階段:是整個(gè)設(shè)計(jì)周期最長(zhǎng)的階段,其工作重點(diǎn)是收集和記錄系統(tǒng)實(shí)際運(yùn)行的數(shù)據(jù)。在運(yùn)行中,必須保持?jǐn)?shù)據(jù)庫(kù)的完整性,必須有效地處理數(shù)據(jù)故障和進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)。同時(shí)解決開(kāi)發(fā)過(guò)程的遺留問(wèn)題,改正錯(cuò)誤進(jìn)行功能完善。數(shù)據(jù)是系統(tǒng)的靈魂所在,整個(gè)系統(tǒng)的運(yùn)行基礎(chǔ)是系統(tǒng)數(shù)據(jù)庫(kù),因而數(shù)

76、據(jù)庫(kù)的設(shè)計(jì)質(zhì)量對(duì)整個(gè)系統(tǒng)的功能與效率有很大影響,所以我們?cè)谶M(jìn)行數(shù)據(jù)文件和數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),充分考慮了數(shù)據(jù)存儲(chǔ)的完整性、可靠性、安全性和數(shù)據(jù)的一致性及便于操作等方面的問(wèn)題。 </p><p>  一個(gè)完整的信息系統(tǒng)的建設(shè)并不是一步到位的。在實(shí)際的建設(shè)過(guò)程中,在時(shí)間上各子系統(tǒng)有先建、后建之分,在開(kāi)發(fā)人員的分配上有他建、我建之別,這就涉及到各子系統(tǒng)之間的兼容問(wèn)題。在現(xiàn)有的軟件水平下,追求應(yīng)用系統(tǒng)間的相互兼容存在困難,但對(duì)于

77、數(shù)據(jù)的兼容也就是數(shù)據(jù)的共享來(lái)說(shuō),既非常重要,又相對(duì)應(yīng)用系統(tǒng)的兼容較易實(shí)現(xiàn)。在提高數(shù)據(jù)共享性方面,可主要從數(shù)據(jù)的一致性方面來(lái)考慮。在我們的數(shù)據(jù)庫(kù)系統(tǒng)建設(shè)中,著重考慮了以下兩個(gè)標(biāo)準(zhǔn)保證數(shù)據(jù)的一致性: </p><p>  字段標(biāo)準(zhǔn):字段標(biāo)準(zhǔn)不統(tǒng)一是造成數(shù)據(jù)庫(kù)難以共享的一個(gè)主要原因,因?yàn)樽侄蔚脑O(shè)計(jì)處于數(shù)據(jù)庫(kù)設(shè)計(jì)的最底層,或者可以說(shuō)是最基本的一層,如果這一層都不能統(tǒng)一的話,會(huì)直接影響到數(shù)據(jù)庫(kù)中數(shù)據(jù)的共享。 </p&

78、gt;<p>  代碼標(biāo)準(zhǔn):代碼的引入為保持?jǐn)?shù)據(jù)庫(kù)中數(shù)據(jù)的一致性提供了一個(gè)重要手段。 此外本數(shù)據(jù)庫(kù)設(shè)計(jì)主要遵循以下原則: 數(shù)據(jù)庫(kù)文件的實(shí)用性,數(shù)據(jù)庫(kù)文件的安全性,數(shù)據(jù)庫(kù)文件的獨(dú)立性,節(jié)省磁盤(pán)空間。</p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境(DBMS)中,通過(guò)合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫(kù)模式、子模式,建立數(shù)據(jù)庫(kù)和設(shè)計(jì)應(yīng)用程序,滿足用戶(hù)的各種信息需求。物理結(jié)構(gòu)設(shè)計(jì)的原

79、則如下:</p><p>  1.盡可能的減少數(shù)據(jù)冗余和重復(fù)。</p><p>  2.結(jié)構(gòu)設(shè)計(jì)與操作設(shè)計(jì)相結(jié)合。3.數(shù)據(jù)結(jié)構(gòu)具有相對(duì)的穩(wěn)定性。</p><p>  基于以上設(shè)計(jì)原則,本系統(tǒng)設(shè)計(jì)了一個(gè)數(shù)據(jù)庫(kù),包含基本信息表(如員工類(lèi)別、存貨等)及幾個(gè)實(shí)體聯(lián)系建模后的表(如散件銷(xiāo)售、整機(jī)銷(xiāo)售等)。為了加快系統(tǒng)訪問(wèn)的速度把這些表放在一個(gè)數(shù)據(jù)庫(kù)中。</p>

80、<p>  3.5 SQL查詢(xún)語(yǔ)言及使用</p><p>  SQL語(yǔ)言是結(jié)構(gòu)化語(yǔ)言(Structure Query Language)的縮寫(xiě),是一種用于數(shù)據(jù)庫(kù)查詢(xún)和編程的語(yǔ)言,已經(jīng)成為關(guān)系型數(shù)據(jù)庫(kù)普遍使用的標(biāo)準(zhǔn),使用這種標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)語(yǔ)言對(duì)程序設(shè)計(jì)和數(shù)據(jù)庫(kù)的維護(hù)都帶來(lái)了極大的方便,廣泛地應(yīng)用于各種數(shù)據(jù)查詢(xún)。JSP和其他的應(yīng)用程序包括SQLserver2000、Foxpro、Orcale、SQL SEVE

81、R 2000等都支持SQL語(yǔ)言。</p><p>  SQL語(yǔ)言的常用操作有:建立數(shù)據(jù)庫(kù)數(shù)據(jù)表(CREATE TABLE),如本系統(tǒng)中的學(xué)生及成績(jī)備份就用到該語(yǔ)句;從數(shù)據(jù)庫(kù)中篩選一個(gè)記錄集(SELECT),這是最常用的一個(gè)語(yǔ)句,功能強(qiáng)大,能有效地對(duì)數(shù)據(jù)庫(kù)中一個(gè)或多個(gè)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行訪問(wèn),并兼有排序、分組等功能;在數(shù)據(jù)表中添加一個(gè)記錄(INSERT);刪除符合條件的記錄(DELETE);更改符合條件的記錄(UPD

82、ATE); </p><p>  JSP中的數(shù)據(jù)庫(kù)操作對(duì)象都提供了對(duì)SQL語(yǔ)句的支持。其一般的用法是以JSP的各種控件接收用戶(hù)對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的請(qǐng)求,在事件響應(yīng)程序代碼中將其轉(zhuǎn)換成對(duì)數(shù)據(jù)庫(kù)的SQL查詢(xún)語(yǔ)句,并以字符串的形式存在,然后將其傳遞給相應(yīng)的數(shù)據(jù)庫(kù)操作對(duì)象,最終完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。</p><p>  3.6 系統(tǒng)數(shù)據(jù)分析</p><p>  數(shù)據(jù)流圖:是一種描述

83、軟件系統(tǒng)邏輯模型的圖形符號(hào)。這種圖形表示即可以從本質(zhì)上描述計(jì)算機(jī)軟件系統(tǒng)的工作情況,又適合非計(jì)算機(jī)專(zhuān)業(yè)人員學(xué)習(xí)和掌握,在需求分析中是一種很好的交流和表達(dá)工具。</p><p>  帶箭頭的線表示數(shù)據(jù)流,其中箭頭表示了數(shù)據(jù)的流動(dòng)方向。</p><p>  圓框表示對(duì)數(shù)據(jù)的加工。</p><p>  方框表示數(shù)據(jù)的起點(diǎn)和終點(diǎn)。畫(huà)分層數(shù)據(jù)流圖。</p>&l

84、t;p><b>  分層數(shù)據(jù)流圖:</b></p><p> ?。╝)網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)E-R圖</p><p>  (b)檢查網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)E-R圖</p><p>  (c)用戶(hù)基本信息處理E-R圖</p><p>  (d)用戶(hù)訂單處理E-R圖</p><p>  (f)菜品查

85、詢(xún)處理E-R圖</p><p>  (h)管理員E—R圖</p><p>  3.7 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  本系統(tǒng)的數(shù)據(jù)庫(kù)其中包括九個(gè)表,分別為菜品菜品表t_goods, 用戶(hù)注冊(cè)表t_user, 管理員表t_admin, 菜品類(lèi)型表t_catelog, 公告表t_gongao,定單表t_order,定單詳細(xì)信息表t_orderItem。詳情請(qǐng)見(jiàn)下面的

86、數(shù)據(jù)庫(kù)表</p><p><b>  1 菜品表</b></p><p><b>  2 菜品類(lèi)別表</b></p><p><b>  3 訂單表</b></p><p><b>  4 訂單詳細(xì)表</b></p><p><

87、;b>  5 公告表</b></p><p><b>  6 管理員表</b></p><p><b>  7 注冊(cè)用戶(hù)表</b></p><p><b>  4 詳細(xì)設(shè)計(jì)</b></p><p><b>  4.1主頁(yè)面模塊</b>&l

88、t;/p><p><b>  代碼如下:</b></p><p>  Map request=(Map)ServletActionContext.getContext().get("request");</p><p>  String sql="from TGoods where goodsDel='no&#

89、39; and goodsIsnottejia='yes' order by goodsId desc";</p><p>  List goodsYesTejiaList=goodsDAO.getHibernateTemplate().find(sql);</p><p>  if(goodsYesTejiaList.size()>4)</p>

90、<p><b>  {</b></p><p>  goodsYesTejiaList=goodsYesTejiaList.subList(0, 4);</p><p><b>  }</b></p><p>  request.put("goodsYesTejiaList", goods

91、YesTejiaList);</p><p>  sql="from TGoods where goodsDel='no' and goodsIsnottejia='no' order by goodsId desc";</p><p>  List goodsNoTejiaList=goodsDAO.getHibernateTempla

92、te().find(sql);</p><p>  if(goodsNoTejiaList.size()>4)</p><p><b>  {</b></p><p>  goodsNoTejiaList=goodsNoTejiaList.subList(0, 4);</p><p><b>  }<

93、;/b></p><p>  request.put("goodsNoTejiaList", goodsNoTejiaList);</p><p><b>  4.2用戶(hù)注冊(cè)模塊</b></p><p>  用戶(hù)注冊(cè)是為第一次登錄網(wǎng)站的用戶(hù)所設(shè)計(jì)的。在用戶(hù)成為本站用戶(hù)之前一定要注冊(cè)才可以訪問(wèn)我網(wǎng)站的其它網(wǎng)頁(yè)。</

94、p><p>  ①用戶(hù)注冊(cè)包括:登錄名稱(chēng),真實(shí)姓名,設(shè)置密碼,電子郵件等。</p><p> ?、谧?cè)成功后,才可以訪問(wèn)本站的其他頁(yè)面。</p><p><b>  代碼如下</b></p><p>  TUser user=new TUser();</p><p>  user.setUserNam

95、e(userName);</p><p>  user.setUserPw(userPw);</p><p>  user.setUserAddress(userAddress);</p><p>  user.setUserTel(userTel);</p><p>  user.setUserRealname(userRealname);

96、</p><p>  user.setUserEmail(userEmail);</p><p>  user.setUserSex(userSex);</p><p>  user.setUserQq(userQq);</p><p>  user.setUserDel("no");</p><p&g

97、t;  userDAO.save(user);</p><p>  Map session= ServletActionContext.getContext().getSession();</p><p>  session.put("user", user);</p><p>  return "successAdd";&l

98、t;/p><p><b>  4.3用戶(hù)登錄模塊</b></p><p>  用戶(hù)登錄包括:登錄名稱(chēng),輸入密碼。</p><p>  當(dāng)用戶(hù)登錄后由管理員核對(duì)該用戶(hù)的名稱(chēng)和密碼是否正確,如果無(wú)誤的話用戶(hù)可以通過(guò)檢查直接進(jìn)入網(wǎng)站的其它頁(yè)面進(jìn)行瀏覽和訂購(gòu)。</p><p><b>  代碼如下:</b>&l

99、t;/p><p>  String sql="from TUser where userName=? and userPw=?";</p><p>  Object[] con={userName,userPw};</p><p>  List userList=userDAO.getHibernateTemplate().find(sql,con)

100、;</p><p>  if(userList.size()==0)</p><p><b>  {</b></p><p>  this.setMessage("用戶(hù)名或密碼錯(cuò)誤");</p><p>  this.setPath("qiantai/default.jsp");&

101、lt;/p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  Map session= ServletActionContext.getContext().getSession();</p

102、><p>  TUser user=(TUser)userList.get(0);</p><p>  session.put("user", user);</p><p>  Cart cart=new Cart();</p><p>  session.put("cart", cart);</p&

103、gt;<p>  this.setMessage("成功登錄");</p><p>  this.setPath("qiantai/default.jsp");</p><p><b>  }</b></p><p>  return "succeed";</p&g

104、t;<p><b>  4.4菜品瀏覽模塊</b></p><p>  菜品瀏覽:成功登陸后的用戶(hù)可以分頁(yè)瀏覽菜品菜品,并將想要的菜品提交到填寫(xiě)訂單頁(yè)面。</p><p><b>  代碼如下:</b></p><p>  String sql="from TGoods where goodsDel

105、='no' and goodsIsnottejia='no' order by goodsCatelogId";</p><p>  List goodsList=goodsDAO.getHibernateTemplate().find(sql);</p><p>  for(int i=0;i<goodsList.size();i++)&l

106、t;/p><p><b>  {</b></p><p>  TGoods goods=(TGoods)goodsList.get(i);</p><p>  System.out.println(goods.getGoodsCatelogId());</p><p>  goods.setGoodsCatelogName(

107、catelogDAO.findById(goods.getGoodsCatelogId()).getCatelogName());</p><p><b>  }</b></p><p>  Map request=(Map)ServletActionContext.getContext().get("request");</p>&

108、lt;p>  request.put("goodsList", goodsList);</p><p>  return ActionSupport.SUCCESS;</p><p><b>  4.5訂餐車(chē)模塊</b></p><p><b>  代碼如下:</b></p><

109、;p>  TGoods goods=goodsDAO.findById(goodsId);</p><p>  TOrderItem orderItem=new TOrderItem();</p><p>  orderItem.setGoods(goods);</p><p>  orderItem.setGoodsQuantity(quantity);&l

110、t;/p><p>  Map session= ServletActionContext.getContext().getSession();</p><p>  Cart cart = (Cart)session.get("cart");</p><p>  cart.addGoods(goodsId, orderItem);</p>

111、<p>  session.put("cart",cart);</p><p>  //this.setMessage("");</p><p>  this.setPath("myCart.action");</p><p><b>  4.6訂單確認(rèn)模塊</b><

112、/p><p><b>  代碼如下:</b></p><p>  Map session= ServletActionContext.getContext().getSession();</p><p>  Cart cart = (Cart)session.get("cart");</p><p>  

113、TUser user=(TUser)session.get("user");</p><p>  TOrder order=new TOrder();</p><p>  order.setOrderBianhao(new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()));</p>

114、;<p>  order.setOrderDate(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));</p><p>  order.setOrderZhuangtai("no");//未受理</p><p>  order.setOrderUserId(u

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論