版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計(jì))</p><p> 題目: JSP餐飲網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 學(xué)院 / 系 </p><p> 專 業(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ì)。中國的網(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)。
4、</p><p> 本論文就畢業(yè)設(shè)計(jì)的內(nèi)容,系統(tǒng)地闡述了整個(gè)網(wǎng)絡(luò)訂餐系統(tǒng)的功能及實(shí)現(xiàn)。實(shí)現(xiàn)了從菜品管理,菜品分類和查詢,到訂餐車實(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ò)。</p><p> 經(jīng)過分析,我們使用 SUN公司的JSP開發(fā)工具,利用其提供的
5、各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對(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)市場分析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 開發(fā)管理信息系統(tǒng)應(yīng)注意的問題3</p><p> 1.7 系統(tǒng)開發(fā)步驟4&
13、lt;/p><p><b> 2 開發(fā)環(huán)境4</b></p><p> 2.1 軟件工程介紹4</p><p> 2.2開發(fā)環(huán)境及工具5</p><p> 2.1.1選擇JSP 2.0作為開發(fā)語言5</p><p> 2.2.3選擇SQL2000 作為后臺(tái)數(shù)據(jù)庫6</p>
14、;<p> 2.3 JSP數(shù)據(jù)庫開發(fā)技術(shù)6</p><p> 2.3.1.JDBC開發(fā)數(shù)據(jù)庫6</p><p> 2.3.2.BDE開發(fā)數(shù)據(jù)庫7</p><p> 2.4 開發(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ù)庫設(shè)計(jì)概述12</p><p> 3.4 數(shù)據(jù)庫設(shè)計(jì)周期12</p><p> 3.5 SQL查詢語言及使用13</p><p> 3.6 系統(tǒng)
16、數(shù)據(jù)分析14</p><p> 3.7 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)17</p><p><b> 4 詳細(xì)設(shè)計(jì)20</b></p><p> 4.1主頁面模塊20</p><p> 4.2用戶注冊模塊21</p><p> 4.3用戶登錄模塊21</p><p>
17、 4.4菜品瀏覽模塊22</p><p> 4.5訂餐車模塊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 菜品類
18、別管理27</p><p> 4.11 菜品管理28</p><p> 4.12 訂單管理29</p><p> 5 系統(tǒng)調(diào)試與測試29</p><p> 5.1 程序調(diào)試29</p><p> 5.2 程序的測試30</p><p> 5.2.1 測試的重要性及目的3
19、0</p><p> 5.2.2 測試的步驟31</p><p> 5.2.3 測試的主要內(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> 隨著越來越多的人接受了電子商務(wù)這種便捷、快速的交易形式,網(wǎng)上訂餐的順勢而出很快受到了大家的歡迎。</p><p> 互聯(lián)網(wǎng)的應(yīng)用以普及千家萬戶,這為網(wǎng)絡(luò)訂餐提供了良好的發(fā)展空間。同時(shí),網(wǎng)上訂餐服務(wù)
21、的直觀、有效、便捷等優(yōu)點(diǎn)是傳統(tǒng)的電話訂餐業(yè)務(wù)無法比擬的。調(diào)查數(shù)據(jù)顯示,北京白領(lǐng)更樂于選擇網(wǎng)上訂餐服務(wù), 網(wǎng)上訂餐將是白領(lǐng)一族捕獲餐店信息、進(jìn)行訂餐的發(fā)展趨勢。</p><p> 網(wǎng)絡(luò)訂餐隨著互聯(lián)網(wǎng)的成長會(huì)逐漸被人們所喜愛,正如幾年前手機(jī)移動(dòng)的短信一樣,為企業(yè)帶來的幾百個(gè)億的業(yè)務(wù)收入。在互聯(lián)網(wǎng)世界里面,誰早一步在應(yīng)用上創(chuàng)新,誰就掌握了未來的方向,品牌更是一炮打紅,網(wǎng)絡(luò)訂餐,看到希望的是希望,看到泡沫的是泡沫。&l
22、t;/p><p> 1.2 網(wǎng)上訂餐系統(tǒng)市場分析</p><p> 網(wǎng)絡(luò)訂餐可充通過色彩、圖片、說明、設(shè)置動(dòng)畫加強(qiáng)了產(chǎn)品了宣傳,大大達(dá)到了餐飲業(yè)的“色型”要求。實(shí)現(xiàn)產(chǎn)品管理方便,起到立竿見影的效果,不用因?yàn)楦牟松匦掠∷?。只要在后臺(tái)鼠標(biāo)輕輕一點(diǎn),全線馬上更新。采用B/S模式,訂餐者無須安裝第三方軟件,能上網(wǎng)就能訂餐,甚至可以利用手機(jī)上網(wǎng)訂餐,使操作更加簡便,訂餐信息更加準(zhǔn)確。避免口頭傳
23、遞信息的錯(cuò)誤,優(yōu)化服務(wù)。網(wǎng)絡(luò)不會(huì)跟電話一樣占線,在高峰期對(duì)訂餐的處理更是游刃有余,只看著屏幕點(diǎn)打印即可,就可下廚房配菜配送。地址永遠(yuǎn)不會(huì)丟失,是一個(gè)永遠(yuǎn)存在的電子菜單,甚至還可以通過我們的推廣而讓更多的客人認(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)送,營銷手段更是利用得淋漓盡致。可以設(shè)立團(tuán)體會(huì)員制,利用贈(zèng)品或優(yōu)惠,擴(kuò)大市場份額。利用網(wǎng)頁技術(shù),展示本公司的精品,增強(qiáng)吸引力。詳細(xì)介紹每一個(gè)產(chǎn)品,展現(xiàn)公</p><p> 1.3 計(jì)算機(jī)信息系統(tǒng)的發(fā)展 </p><p> 從 1945 年美國第一臺(tái)電子數(shù)字積分計(jì)算機(jī)ENIAC 誕生以來,短短四、五十年,
25、計(jì)算機(jī)技術(shù)發(fā)展異常迅速,應(yīng)用日益廣泛。從硬件上由電子管、晶體管、集成電路、大規(guī)模、超大規(guī)模集成,價(jià)格降低、可靠性增強(qiáng)。計(jì)算機(jī)尤其是微型計(jì)算機(jī)逐漸普及,從開始 4 位微處理器的微型機(jī)到現(xiàn)今 32 位高檔微機(jī),主頻速度越來越快。隨著硬件的發(fā)展,軟件也不斷更新,由 2 進(jìn)制代碼到機(jī)器語言匯編語言、高級(jí)程序語言,到現(xiàn)今面對(duì)對(duì)象的非過程化語言,人們不必關(guān)心問題的解法和計(jì)算過程描述,只需告訴它干什么,至于如何干,則由軟件自動(dòng)完成,這給軟件開發(fā)人員帶
26、來及大的便利。軟件開發(fā)人員不必化大多時(shí)間和精力在描述程序的具體細(xì)節(jié)上,提高效率,減少手工編程中的誤差。計(jì)算機(jī)的應(yīng)用也由原先單純的數(shù)值計(jì)算,到數(shù)據(jù)處理如辦公自動(dòng)化,輔助教學(xué),工業(yè)的自動(dòng)控制、人工智能,可以說滲透到生產(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ì)化趨勢的擴(kuò)大和社會(huì)產(chǎn)品需求使企業(yè)在生產(chǎn)經(jīng)營活動(dòng)中涉及的內(nèi)外部信息積聚膨脹,隨著科學(xué)技術(shù)突飛猛進(jìn)和生產(chǎn)迅速發(fā)展,使人類知識(shí)量增長速度不斷加快,信息量的增加,外部環(huán)境變化的變快,人工已無法勝任。如何收集足夠的信息資源,強(qiáng)有力的信息并加以利用,積極的開發(fā)和及時(shí)利用信息爆炸有效的信息資源,已成為現(xiàn)代社會(huì)的難題。計(jì)算機(jī)的出現(xiàn)解決了這個(gè)問題,由于計(jì)算機(jī)迅速、準(zhǔn)確為信息收集、加工、使用、查詢提供可能。計(jì)算機(jī)技術(shù)與通信技術(shù)結(jié)合極
28、大的促進(jìn)現(xiàn)代信息技術(shù)的發(fā)展,各國加快信息進(jìn)程,國際社會(huì)建設(shè)信息高速公路的熱潮和中國工人“金”字號(hào)工程為代表的國家信息工程項(xiàng)目的開展,使中國的企業(yè)信息化面臨新的形勢。 </p><p> 電子計(jì)算機(jī)適應(yīng)現(xiàn)代社會(huì)管理信息量迅速增長,信息壽命短,要求及時(shí)轉(zhuǎn)換的問題。信息系統(tǒng)由電子數(shù)據(jù)處理,信息報(bào)告系統(tǒng),決策支持系統(tǒng)進(jìn)一步發(fā)展到專家系統(tǒng)及支持領(lǐng)導(dǎo)層的決策執(zhí)行信息程序,在競爭中支持戰(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ù)測控制和支持決策功能的管理信息系統(tǒng)
30、。雖然信息系統(tǒng)已有一定發(fā)展,在業(yè)務(wù)處理過程控制辦公自動(dòng)化方面已有長足進(jìn)步,但很不完善。要充分利用計(jì)算機(jī)處理信息,必須從目前情況入手,著眼于未來,開發(fā)適合本單位、行業(yè)的小型管理系統(tǒng),甚至是其中一步分,如工資管理系統(tǒng),然后逐步完善,不斷擴(kuò)充。管理信息系統(tǒng)的特點(diǎn)之一就是數(shù)據(jù)集中統(tǒng)一,采用數(shù)據(jù)庫。利用數(shù)據(jù)庫技術(shù)可解決數(shù)據(jù)共享問題。數(shù)據(jù)庫用</p><p> 1.5 開發(fā)管理信息系統(tǒng)應(yīng)注意的問題 </p>
31、<p> 成功地開發(fā)一套管理信息系統(tǒng),不僅需要具備一定的理論基礎(chǔ),而且還需要對(duì)開發(fā)過程中所面臨的問題有一個(gè)充分、清醒的認(rèn)識(shí),例如:社會(huì)因素、文化背景、企業(yè)體制、起點(diǎn)環(huán)境等。特別是在中國當(dāng)前IT行業(yè)飛速發(fā)展的形勢下,更要強(qiáng)調(diào)這些方面對(duì)管理信息系統(tǒng)開發(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ì)由我們讀者自己開發(fā)的,在經(jīng)濟(jì)上的投入甚微,系統(tǒng)建成之后將為今后實(shí)現(xiàn)公司訂餐管理系統(tǒng)提供很大的方便,估算新系統(tǒng)的開發(fā)費(fèi)用和今后的運(yùn)行、維護(hù)費(fèi)用,估計(jì)新系統(tǒng)將獲得的效益,并將費(fèi)用與效益進(jìn)行比較,看是否有利。</p><p> 開發(fā)、運(yùn)行和維護(hù)費(fèi)用主要包括:購買和安裝
33、設(shè)備的費(fèi)用:計(jì)算機(jī)硬件、系統(tǒng)軟件、 機(jī)房、電源、空調(diào)等;</p><p> 軟件開發(fā)費(fèi)用:若由實(shí)習(xí)單位的技術(shù)人員開發(fā),則該項(xiàng)費(fèi)用可以計(jì)入下面的人員費(fèi)用一項(xiàng);</p><p> 人員費(fèi)用:系統(tǒng)開發(fā)人員、操作人員和維護(hù)人員的工資、培訓(xùn)費(fèi)用等;</p><p> 消耗品費(fèi)用:系統(tǒng)開發(fā)所用材料、系統(tǒng)正常運(yùn)行所用消耗品,例如水、電費(fèi),打印紙、軟盤、色帶等開支。</
34、p><p> 技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。訂餐管理系統(tǒng)用的是JSP開發(fā)語言,調(diào)試相對(duì)簡單,當(dāng)前的計(jì)算機(jī)硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對(duì)可行的。軟件方面:由于目前單機(jī)模式相對(duì)發(fā)展成熟,故軟件的開發(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)普及,各類操作人員水平都有相當(dāng)?shù)母叨?,所以在運(yùn)行上是可行性的。根據(jù)新系統(tǒng)目標(biāo)來衡量所需的技術(shù)是否具備,一般可從硬件、軟件的性能要求、環(huán)境條件、技術(shù)人員水平和數(shù)量等方面去考慮和分析,其中開發(fā)人員的技術(shù)力量應(yīng)首先考慮能力與水平,并考慮近期內(nèi)可以培養(yǎng)和發(fā)展的技術(shù)人員。</p><p> 運(yùn)行可行性對(duì)新系統(tǒng)運(yùn)行后給現(xiàn)行系統(tǒng)帶來的影響(包括組織機(jī)構(gòu)、管理方式、工作環(huán)境等
36、)和后果進(jìn)行估計(jì)和評(píng)價(jià)。同時(shí)還應(yīng)考慮現(xiàn)有管理人員的培訓(xùn)、補(bǔ)充,分析在給定時(shí)間里能否完成預(yù)定的系統(tǒng)開發(fā)任務(wù)等。 按上述三方面進(jìn)行可行性分析、研究后,就可整理并編制出新系統(tǒng)開發(fā)的可行性報(bào)告,它是總體規(guī)劃工作的階段性成果。</p><p> 使用本系統(tǒng),能使公司加強(qiáng)對(duì)資金的管理,對(duì)其訂餐中商品信息及時(shí)反饋。利于公司及時(shí)采取經(jīng)營策略。本系統(tǒng)的開發(fā),是典型的Mis開發(fā),主要是對(duì)數(shù)據(jù)的處理,包括數(shù)據(jù)的收集,數(shù)據(jù)的變
37、換,及數(shù)據(jù)的各種報(bào)表形式的輸出。采用流行的JSP+SQL Server2000體系,已無技術(shù)上的問題。</p><p> 1.7 系統(tǒng)開發(fā)步驟</p><p> 一般說來,管理信息系統(tǒng)的建立與應(yīng)用可以劃分成總體規(guī)劃、系統(tǒng)開發(fā)和系統(tǒng)運(yùn)行三個(gè)階段,其中系統(tǒng)開發(fā)階段還可進(jìn)一步分為系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施等工作環(huán)節(jié)。上述各個(gè)階段排列成一個(gè)嚴(yán)格的線性開發(fā)序列,在每個(gè)工作階段均產(chǎn)生完整的技術(shù)文
38、檔作為下一階段工作的指導(dǎo)和依據(jù),每一階段都應(yīng)對(duì)文檔進(jìn)行評(píng)審,確信該階段工作已完成并達(dá)到要求后才能進(jìn)入下一階段,同時(shí)在以后的工作中不能輕易改變前面經(jīng)過評(píng)審的成果。上述開發(fā)方式的主要優(yōu)點(diǎn)是便于開發(fā)工作的組織和管理,并且可大大降低管理信息系統(tǒng)開發(fā)的復(fù)雜性。國內(nèi)外許多系統(tǒng)開發(fā)的實(shí)例都證明這是一種行之有效的開發(fā)方式。</p><p> 國外曾有人對(duì)一些軟件項(xiàng)目開發(fā)各階段的工作量進(jìn)行了統(tǒng)計(jì),結(jié)果表明,在開發(fā)過程中各工作階段
39、所占全部工作量的比重分別達(dá)到系統(tǒng)分析:系統(tǒng)設(shè)計(jì):編程:模塊調(diào)試:系統(tǒng)調(diào)試=20%:15%:20%:25%:20%。由此可見,程序編寫在開發(fā)工作中只占很小比例,而調(diào)試工作卻占整個(gè)開發(fā)工作量的一半左右,因此“系統(tǒng)開發(fā)就是編程”的習(xí)慣說法顯然是片面的。另據(jù)統(tǒng)計(jì),在建立管理信息系統(tǒng)的三個(gè)階段中,總體規(guī)劃和系統(tǒng)開發(fā)階段的工作量約占整個(gè)工作量的2/3,而運(yùn)行、維護(hù)階段要占1/3,這說明一個(gè)管理信息系統(tǒng)開發(fā)后,仍應(yīng)十分重視它的維護(hù)工作,以便使系統(tǒng)不斷
40、完善并充分發(fā)揮其作用。</p><p><b> 2 開發(fā)環(huán)境</b></p><p> 2.1 軟件工程介紹</p><p> 軟件工程是用科學(xué)知識(shí)和技術(shù)原理來定義、開發(fā)、維護(hù)軟件的一門學(xué)科。它涉及計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)等領(lǐng)域,計(jì)算機(jī)科學(xué)著重于原理和理論,而軟件工程著重于如何建造一個(gè)軟件系統(tǒng)。軟件工程在軟件開發(fā)過程中占有不
41、可動(dòng)搖的重要地位,</p><p> 一個(gè)軟件從開始計(jì)劃起,到廢棄不用止,稱為軟件生存周期。一般來說,軟件生存周包括計(jì)劃、開發(fā)、運(yùn)行三個(gè)時(shí)期,每一時(shí)期又可分為若干更小的階段。計(jì)劃時(shí)期的主要任務(wù)是分析用戶要求,分析新系統(tǒng)的主要目標(biāo)以及開發(fā)該系統(tǒng)的可行性。開發(fā)時(shí)期要完成設(shè)計(jì)和實(shí)現(xiàn)兩大任務(wù)具體。具體分為需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試。其中編碼和測試是軟件開發(fā)期的最后兩個(gè)階段。運(yùn)行時(shí)期是軟件生存周期的最后一個(gè)
42、時(shí)期,軟件人員在這一時(shí)期的工作,主要是做好軟件維護(hù)。</p><p> “新華書店訂餐管理系統(tǒng)”雖然只是一個(gè)比較小的項(xiàng)目,但是為了做的更規(guī)范,也盡量按照軟件工程的指導(dǎo)來做,事實(shí)上,不管一個(gè)多小的工程,都是離不開軟件工程的指導(dǎo)思想的。</p><p> 2.2開發(fā)環(huán)境及工具</p><p> 2.1.1選擇JSP 2.0作為開發(fā)語言</p><
43、;p> JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件</p><p> 用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。 JSP
44、技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。</p><p><b> JSP技術(shù)的強(qiáng)勢:</b></p><p> 1.一
45、次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。 2.系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署, 在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。 3.強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服
46、務(wù)器,Java顯示了一個(gè)巨大的生命力。</p><p> 4.多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。</p><p> 2.2.3選擇SQL2000 作為后臺(tái)數(shù)據(jù)庫</p><p> SQL是Structured Quevy Langua
47、ge(結(jié)構(gòu)化查詢語言)的縮寫。SQL是專為數(shù)據(jù)庫而建立的操作命令集,是一種功能齊全的數(shù)據(jù)庫語言。在使用它時(shí),只需要發(fā)出“做什么”的命令,“怎么做”是不用使用者考慮的。SQL功能強(qiáng)大、簡單易學(xué)、使用方便,已經(jīng)成為了數(shù)據(jù)庫操作的基礎(chǔ),并且現(xiàn)在幾乎所有的數(shù)據(jù)庫均支持SQL。 </p><p> 2.3 JSP數(shù)據(jù)庫開發(fā)技術(shù)</p><p> 2.3.1.JDBC開發(fā)數(shù)據(jù)庫</p>
48、<p> JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序,同時(shí),JDBC也是個(gè)商標(biāo)名。
49、160; </p><p> 有了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語言和JDBC結(jié)合起來使程序員不必為不同的平臺(tái)編寫不同的應(yīng)
50、用程序,只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢。</p><p> Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對(duì)Java程序員而言是API,對(duì)實(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)并
51、支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。 </p><p> Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對(duì)話的方法。而 JDBC 正是作為此種用途的機(jī)制。</p><p>
52、 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))。隨著越來越多的程序員開始使用Java 編程語言,對(duì)從 Java 中便捷地訪問數(shù)據(jù)庫的要求
53、也在日益增加。 </p><p> MIS 管理員們都喜歡 Java 和 JDBC 的結(jié)合,因?yàn)樗剐畔鞑プ兊萌菀缀徒?jīng)濟(jì)。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫,并能便捷地存取信息,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫管理系統(tǒng)上。新程序的開發(fā)期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序。對(duì)于商務(wù)上的銷售信息服務(wù), Java 和JDB
54、C 可為外部客戶提供獲取信息更新的更好方法。</p><p> 2.3.2.BDE開發(fā)數(shù)據(jù)庫</p><p> BDE是負(fù)責(zé)用戶和數(shù)據(jù)庫交流的中間媒介。事實(shí)上,應(yīng)用程序是通過數(shù)據(jù)訪問組件和BDE連接,再由BDE去訪問數(shù)據(jù)庫,完成對(duì)數(shù)據(jù)庫的操作,而并非直接操作BDE。這樣用戶只需關(guān)心JSP中的數(shù)據(jù)組件即可,不用直接和BDE打交道。 </p><p> 數(shù)據(jù)庫組件
55、主要分為兩類:“數(shù)據(jù)訪問組件”和“數(shù)據(jù)控制組件”,它們和數(shù)據(jù)庫的關(guān)系如圖2-1所示:</p><p> 圖2-1 數(shù)據(jù)庫組件與數(shù)據(jù)庫關(guān)系圖</p><p> 其中,數(shù)據(jù)訪問組件在JSP組件面板的Data SQL組件頁上。其中的Table、Query和Storedproc三個(gè)控件,它們稱為“數(shù)據(jù)集組件”,用于和數(shù)據(jù)庫連接。這些組件功能如下: </p><p>
56、1.DataSource控件是數(shù)據(jù)集組件和數(shù)據(jù)控制組件的連接媒介。數(shù)據(jù)控制組件是用戶操作數(shù)據(jù)庫中數(shù)據(jù)的界面,只有通過DataSource控件才能和數(shù)據(jù)集組件連接,從而對(duì)數(shù)據(jù)進(jìn)行顯示、修改、維護(hù)等操作。 </p><p> 2.Table控件是通過數(shù)據(jù)庫引擎——BDE來存取數(shù)據(jù)庫中的數(shù)據(jù)的。通過BDE將用戶對(duì)數(shù)據(jù)庫的操作(如添加、刪除、修改等)傳遞給數(shù)據(jù)庫。 </p><p> 3.Qu
57、ery控件是利用SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)通過BDE來操作數(shù)據(jù)庫的,和Table控件完成的功能相似,它只是采用了SQL來實(shí)現(xiàn)。 </p><p> 4.Storedproc控件是通過BDE對(duì)服務(wù)器數(shù)據(jù)庫進(jìn)行操作的,常用于客戶/服務(wù)器(C/S)結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序。 </p><p> 5.DataBase控件一般用于建立遠(yuǎn)程的數(shù)據(jù)庫服務(wù)
58、器——客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用程序和數(shù)據(jù)庫之間的連接。 </p><p> 6.Session控件是用于控制數(shù)據(jù)庫應(yīng)用程序和數(shù)據(jù)庫連接的,主要用于復(fù)雜功能的實(shí)現(xiàn),例如:多線程數(shù)據(jù)庫程序設(shè)計(jì)。</p><p> 而數(shù)據(jù)控制組件也可以稱為數(shù)據(jù)顯示組件或數(shù)據(jù)瀏覽組件。它們的主要功能是與數(shù)據(jù)訪問組件相配合,提供給用戶一個(gè)對(duì)數(shù)據(jù)進(jìn)行瀏覽、編輯等操作的界面。數(shù)據(jù)控制組件在組件板上的DataCo
59、ntrol頁上。</p><p> 從上圖可以看出,BDE負(fù)責(zé)與具體的數(shù)據(jù)庫相連,通過BDE,幾乎可以操作目前所有類型的數(shù)據(jù)庫。但是BDE也有很大的缺點(diǎn),當(dāng)然,在對(duì)于一些比較簡單的數(shù)據(jù)庫,例如ASCII,BDE可以直接訪問。另外它也可以通過一些相應(yīng)的驅(qū)動(dòng),訪問特定的數(shù)據(jù)庫,例如通過DAO訪問SQL數(shù)據(jù)庫。不同類型的驅(qū)動(dòng)程序都具有不同的特征,主要是表現(xiàn)在:數(shù)據(jù)庫的安全性,事務(wù),數(shù)據(jù)字典和完整性驗(yàn)證,存儲(chǔ)過程和觸發(fā)
60、器。對(duì)于不能直接支持的數(shù)據(jù)庫,BDE還可以連接到ODBC,通過ODBC進(jìn)行訪問,所以BDE有時(shí)效率很低。</p><p> 在JSP提供的所有數(shù)據(jù)庫訪問方式中,BDE的歷史最長,因此提供的功能也最多,包括大量的和數(shù)據(jù)庫交互的API。使用它訪問PARJDBCX和DBASE時(shí)效率最高。同時(shí),針對(duì)Oracle的訪問也有專門的優(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 開發(fā)方法整體選擇</p><p> 根據(jù)用戶的實(shí)際情況和需要,最終決定采用在Windows xp下使用JSP+SQL開發(fā),采用B/S結(jié)構(gòu),使用JDBC連接數(shù)據(jù)庫
62、。這樣的好處是:</p><p> 1.使用JSP+SQL靈活方便,可擴(kuò)充性、可移植性較好。</p><p> 2.JDBC與SQL同為微軟開發(fā),兼容性好,同時(shí)存取效率高,且較成熟,目前許多數(shù)據(jù)庫應(yīng)用系統(tǒng)都采用這種方式。</p><p> 3.采用 B/S結(jié)構(gòu)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對(duì)應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速
63、度快。</p><p> JDBC是Microsoft主要數(shù)據(jù)存儲(chǔ)技術(shù),JDBC主要讓應(yīng)用程序或WEB應(yīng)用程序存取各種不同的數(shù)據(jù)源。JDBC封裝了OLE-DB復(fù)雜的接口,以極為簡單的COM接口存儲(chǔ)數(shù)據(jù),簡化了程序員數(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è)中占有越來越重要的地位。努力在當(dāng)前餐飲行業(yè)日趨激烈的競爭中脫穎而出,已成為每位餐飲業(yè)經(jīng)營者 所追求的目標(biāo)。網(wǎng)絡(luò)訂餐實(shí)現(xiàn)了小店面大作為的成本效益,解決了因?yàn)榈昝嫘〉南拗贫鵁o法提高營
65、業(yè)額的難題,是一個(gè)小投入大成效的經(jīng)營新模式。</p><p> 在網(wǎng)上參觀訂餐的人相對(duì)網(wǎng)下人來說還是比較少,一個(gè)是對(duì)網(wǎng)上餐館的信用度持疑慮態(tài)度;另一個(gè)是網(wǎng)上訂餐只可以看到物品的說明簡介和外觀,沒有看到實(shí)體于細(xì)節(jié)處,無法通過快速瀏覽確定是不是自己想要的菜品。而這正是傳統(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)用戶注冊</b></p><p><b> (b)用戶登錄</b></p>&
67、lt;p><b> (c)菜品瀏覽</b></p><p><b> (d)菜品訂購</b></p><p><b> (e)菜品查詢</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)主要包括客戶進(jìn)入網(wǎng)站后進(jìn)行的相應(yīng)操作。首先,客
69、戶需要注冊會(huì)員登錄,如果不注冊會(huì)員則不能進(jìn)行訂餐的下一步操作。其次,會(huì)員注冊成功后,以會(huì)員身份登錄網(wǎng)站,則可以進(jìn)行會(huì)員信息修改,訂單信息查詢修改,網(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)用戶管理、菜品類別設(shè)置、網(wǎng)站新聞發(fā)布、菜品信息管理等。</p><p> 訂單及管理流程圖(如圖3-3)介紹了用戶從開始訂餐到網(wǎng)站后臺(tái)管理者查看訂單,實(shí)現(xiàn)送貨,更改訂單狀態(tài)的整個(gè)過程,也是整個(gè)訂餐系統(tǒng)的運(yùn)作過程。</p><p> 下訂單流程圖:
71、 訂單管理流程圖:</p><p> 圖3-3訂單及管理流程圖</p><p> 3.3 數(shù)據(jù)庫設(shè)計(jì)概述 </p><p> 計(jì)算機(jī)信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲(chǔ)、檢索、更新、加工、統(tǒng)計(jì)和傳播等操作。 </p><p> 對(duì)于數(shù)據(jù)庫應(yīng)用開發(fā)人員來說,為使現(xiàn)實(shí)世界的信息流計(jì)算機(jī)化,并對(duì)
72、計(jì)算機(jī)化的信息進(jìn)行各種操作,就是如何利用數(shù)據(jù)庫管理系統(tǒng)、系統(tǒng)軟件和相關(guān)硬件系統(tǒng),將用戶的要求轉(zhuǎn)化成有效的數(shù)據(jù)結(jié)構(gòu),并使數(shù)據(jù)庫結(jié)構(gòu)易于實(shí)現(xiàn)用戶新的要求的過程。 確切的說,數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,提供一個(gè)確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計(jì),以及一個(gè)確定數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)與存取方法的物理設(shè)計(jì),建立起既能反映現(xiàn)實(shí)世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求和加工要求,又能被某個(gè)數(shù)據(jù)庫管理系統(tǒng)所接受,同時(shí)能實(shí)現(xiàn)系統(tǒng)目標(biāo),并有效存取數(shù)據(jù)的數(shù)據(jù)庫
73、。 </p><p> 3.4 數(shù)據(jù)庫設(shè)計(jì)周期 </p><p> 根據(jù)軟件工程的思想,數(shù)據(jù)庫設(shè)計(jì)的周期可以劃分為六個(gè)階段: </p><p> 規(guī)劃階段:確定開發(fā)的總目標(biāo),給出計(jì)劃開發(fā)的軟件系統(tǒng)的功能、性能以及可靠性等方面的設(shè)想。 </p><p> 需求分析階段:認(rèn)真細(xì)致地了解用戶對(duì)數(shù)據(jù)的加工要求,確定系統(tǒng)的功能與邊界。本階段的最
74、終結(jié)果能夠提供一個(gè)可作為設(shè)計(jì)基礎(chǔ)的系統(tǒng)說明書,包括對(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ì)語言表達(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)測試(驗(yàn)收)。 </p><p> 運(yùn)行和維護(hù)階段:是整個(gè)設(shè)計(jì)周期最長的階段,其工作重點(diǎn)是收集和記錄系統(tǒng)實(shí)際運(yùn)行的數(shù)據(jù)。在運(yùn)行中,必須保持?jǐn)?shù)據(jù)庫的完整性,必須有效地處理數(shù)據(jù)故障和進(jìn)行數(shù)據(jù)庫恢復(fù)。同時(shí)解決開發(fā)過程的遺留問題,改正錯(cuò)誤進(jìn)行功能完善。數(shù)據(jù)是系統(tǒng)的靈魂所在,整個(gè)系統(tǒng)的運(yùn)行基礎(chǔ)是系統(tǒng)數(shù)據(jù)庫,因而數(shù)
76、據(jù)庫的設(shè)計(jì)質(zhì)量對(duì)整個(gè)系統(tǒng)的功能與效率有很大影響,所以我們在進(jìn)行數(shù)據(jù)文件和數(shù)據(jù)庫設(shè)計(jì)時(shí),充分考慮了數(shù)據(jù)存儲(chǔ)的完整性、可靠性、安全性和數(shù)據(jù)的一致性及便于操作等方面的問題。 </p><p> 一個(gè)完整的信息系統(tǒng)的建設(shè)并不是一步到位的。在實(shí)際的建設(shè)過程中,在時(shí)間上各子系統(tǒng)有先建、后建之分,在開發(fā)人員的分配上有他建、我建之別,這就涉及到各子系統(tǒng)之間的兼容問題。在現(xiàn)有的軟件水平下,追求應(yīng)用系統(tǒng)間的相互兼容存在困難,但對(duì)于
77、數(shù)據(jù)的兼容也就是數(shù)據(jù)的共享來說,既非常重要,又相對(duì)應(yīng)用系統(tǒng)的兼容較易實(shí)現(xiàn)。在提高數(shù)據(jù)共享性方面,可主要從數(shù)據(jù)的一致性方面來考慮。在我們的數(shù)據(jù)庫系統(tǒng)建設(shè)中,著重考慮了以下兩個(gè)標(biāo)準(zhǔn)保證數(shù)據(jù)的一致性: </p><p> 字段標(biāo)準(zhǔn):字段標(biāo)準(zhǔn)不統(tǒng)一是造成數(shù)據(jù)庫難以共享的一個(gè)主要原因,因?yàn)樽侄蔚脑O(shè)計(jì)處于數(shù)據(jù)庫設(shè)計(jì)的最底層,或者可以說是最基本的一層,如果這一層都不能統(tǒng)一的話,會(huì)直接影響到數(shù)據(jù)庫中數(shù)據(jù)的共享。 </p&
78、gt;<p> 代碼標(biāo)準(zhǔn):代碼的引入為保持?jǐn)?shù)據(jù)庫中數(shù)據(jù)的一致性提供了一個(gè)重要手段。 此外本數(shù)據(jù)庫設(shè)計(jì)主要遵循以下原則: 數(shù)據(jù)庫文件的實(shí)用性,數(shù)據(jù)庫文件的安全性,數(shù)據(jù)庫文件的獨(dú)立性,節(jié)省磁盤空間。</p><p> 數(shù)據(jù)庫設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境(DBMS)中,通過合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫模式、子模式,建立數(shù)據(jù)庫和設(shè)計(jì)應(yīng)用程序,滿足用戶的各種信息需求。物理結(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ù)庫,包含基本信息表(如員工類別、存貨等)及幾個(gè)實(shí)體聯(lián)系建模后的表(如散件銷售、整機(jī)銷售等)。為了加快系統(tǒng)訪問的速度把這些表放在一個(gè)數(shù)據(jù)庫中。</p>
80、<p> 3.5 SQL查詢語言及使用</p><p> SQL語言是結(jié)構(gòu)化語言(Structure Query Language)的縮寫,是一種用于數(shù)據(jù)庫查詢和編程的語言,已經(jīng)成為關(guān)系型數(shù)據(jù)庫普遍使用的標(biāo)準(zhǔn),使用這種標(biāo)準(zhǔn)數(shù)據(jù)庫語言對(duì)程序設(shè)計(jì)和數(shù)據(jù)庫的維護(hù)都帶來了極大的方便,廣泛地應(yīng)用于各種數(shù)據(jù)查詢。JSP和其他的應(yīng)用程序包括SQLserver2000、Foxpro、Orcale、SQL SEVE
81、R 2000等都支持SQL語言。</p><p> SQL語言的常用操作有:建立數(shù)據(jù)庫數(shù)據(jù)表(CREATE TABLE),如本系統(tǒng)中的學(xué)生及成績備份就用到該語句;從數(shù)據(jù)庫中篩選一個(gè)記錄集(SELECT),這是最常用的一個(gè)語句,功能強(qiáng)大,能有效地對(duì)數(shù)據(jù)庫中一個(gè)或多個(gè)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行訪問,并兼有排序、分組等功能;在數(shù)據(jù)表中添加一個(gè)記錄(INSERT);刪除符合條件的記錄(DELETE);更改符合條件的記錄(UPD
82、ATE); </p><p> JSP中的數(shù)據(jù)庫操作對(duì)象都提供了對(duì)SQL語句的支持。其一般的用法是以JSP的各種控件接收用戶對(duì)數(shù)據(jù)庫訪問的請(qǐng)求,在事件響應(yīng)程序代碼中將其轉(zhuǎn)換成對(duì)數(shù)據(jù)庫的SQL查詢語句,并以字符串的形式存在,然后將其傳遞給相應(yīng)的數(shù)據(jù)庫操作對(duì)象,最終完成對(duì)數(shù)據(jù)庫的訪問。</p><p> 3.6 系統(tǒng)數(shù)據(jù)分析</p><p> 數(shù)據(jù)流圖:是一種描述
83、軟件系統(tǒng)邏輯模型的圖形符號(hào)。這種圖形表示即可以從本質(zhì)上描述計(jì)算機(jī)軟件系統(tǒng)的工作情況,又適合非計(jì)算機(jī)專業(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)。畫分層數(shù)據(jù)流圖。</p>&l
84、t;p><b> 分層數(shù)據(jù)流圖:</b></p><p> (a)網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)E-R圖</p><p> ?。╞)檢查網(wǎng)絡(luò)便民服務(wù)管理系統(tǒng)E-R圖</p><p> (c)用戶基本信息處理E-R圖</p><p> (d)用戶訂單處理E-R圖</p><p> (f)菜品查
85、詢處理E-R圖</p><p> (h)管理員E—R圖</p><p> 3.7 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)</p><p> 本系統(tǒng)的數(shù)據(jù)庫其中包括九個(gè)表,分別為菜品菜品表t_goods, 用戶注冊表t_user, 管理員表t_admin, 菜品類型表t_catelog, 公告表t_gongao,定單表t_order,定單詳細(xì)信息表t_orderItem。詳情請(qǐng)見下面的
86、數(shù)據(jù)庫表</p><p><b> 1 菜品表</b></p><p><b> 2 菜品類別表</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 注冊用戶表</b></p><p><b> 4 詳細(xì)設(shè)計(jì)</b></p><p><b> 4.1主頁面模塊</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用戶注冊模塊</b></p><p> 用戶注冊是為第一次登錄網(wǎng)站的用戶所設(shè)計(jì)的。在用戶成為本站用戶之前一定要注冊才可以訪問我網(wǎng)站的其它網(wǎng)頁。</
94、p><p> ①用戶注冊包括:登錄名稱,真實(shí)姓名,設(shè)置密碼,電子郵件等。</p><p> ②注冊成功后,才可以訪問本站的其他頁面。</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用戶登錄模塊</b></p><p> 用戶登錄包括:登錄名稱,輸入密碼。</p><p> 當(dāng)用戶登錄后由管理員核對(duì)該用戶的名稱和密碼是否正確,如果無誤的話用戶可以通過檢查直接進(jìn)入網(wǎng)站的其它頁面進(jìn)行瀏覽和訂購。</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("用戶名或密碼錯(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> 菜品瀏覽:成功登陸后的用戶可以分頁瀏覽菜品菜品,并將想要的菜品提交到填寫訂單頁面。</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訂餐車模塊</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于ssh2框架的高校網(wǎng)上訂餐管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于 ssh2 框架的高校網(wǎng)上訂餐管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的網(wǎng)上訂餐系統(tǒng)
- 基于web的網(wǎng)上訂餐系統(tǒng)
- web網(wǎng)上訂餐系統(tǒng)
- 基于SSH的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- jsp基于ssh2的網(wǎng)絡(luò)在線問答系統(tǒng)
- 基于java web的鎬京學(xué)院網(wǎng)上訂餐系統(tǒng)
- 基于SSH框架的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上訂餐系統(tǒng)2
- 基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與開發(fā)開題報(bào)告
- 《基于web的java開發(fā)設(shè)計(jì)》課程設(shè)計(jì)-- 網(wǎng)上訂餐系統(tǒng)
- 基于WEB的網(wǎng)上訂餐系統(tǒng)畢業(yè)論文(二稿).doc
- 基于WEB的網(wǎng)上訂餐系統(tǒng)畢業(yè)論文(終稿).doc
- 基于ssh2的在線考試系統(tǒng)的開發(fā)畢業(yè)論文
- 基于J2EE架構(gòu)的SSH2組合框架的Web應(yīng)用.pdf
- 基于jsp的網(wǎng)上訂餐系統(tǒng)
- 網(wǎng)上訂餐系統(tǒng)-畢業(yè)論文與設(shè)計(jì)-外加源碼-ssh
- 畢業(yè)論文--基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論