網(wǎng)上訂餐系統(tǒng)_第1頁(yè)
網(wǎng)上訂餐系統(tǒng)_第2頁(yè)
網(wǎng)上訂餐系統(tǒng)_第3頁(yè)
網(wǎng)上訂餐系統(tǒng)_第4頁(yè)
網(wǎng)上訂餐系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

目 錄摘要1關(guān)鍵字1引言1(一)研究的背景及意義1(二)訂餐系統(tǒng)現(xiàn)狀與發(fā)展2(三) 結(jié)構(gòu)安排31 相關(guān)技術(shù)介紹41.1 .Net平臺(tái)簡(jiǎn)介41.1.1 .Net概述41.1.2 ASP.Net的優(yōu)勢(shì)61.2 SQL Server 2008簡(jiǎn)介71.2.1 SQL Server 2008概述71.2.2 SQL Server 2008的優(yōu)勢(shì)71.3 系統(tǒng)體系結(jié)構(gòu)82 系統(tǒng)分析與設(shè)計(jì)92.1可行性分析92.2 系統(tǒng)設(shè)計(jì)目標(biāo)102.3 系統(tǒng)功能分析112.3.1 系統(tǒng)功能實(shí)現(xiàn)112.3.2 系統(tǒng)需求分析123 數(shù)據(jù)庫(kù)設(shè)計(jì)173.1 數(shù)據(jù)庫(kù)需求分析173.2 系統(tǒng)概要設(shè)計(jì)173.2.1 系統(tǒng)概要設(shè)計(jì)概述173.2.2 訂餐系統(tǒng)E-R圖183.3 邏輯設(shè)計(jì)203.3.1 邏輯設(shè)計(jì)概述203.3.2 數(shù)據(jù)表的設(shè)計(jì)203.4 物理設(shè)計(jì)224 網(wǎng)上訂餐系統(tǒng)的實(shí)現(xiàn)234.1 功能模塊介紹234.1.1 登陸/注冊(cè)234.1.2 菜單信息瀏覽244.1.3 訂餐服務(wù)254.1.4 用戶反饋及評(píng)分264.1.5 訂單處理274.1.6 后臺(tái)信息管理274.2 核心功能實(shí)現(xiàn)294.2.1 用戶自定義控件說(shuō)明294.2.2 信息顯示304.2.3推薦指數(shù)304.2.4 分頁(yè)顯示算法314.2.5 購(gòu)物車(chē)325 網(wǎng)上訂餐系統(tǒng)測(cè)試335.1測(cè)試目標(biāo)335.2 測(cè)試方法345.3 主模塊測(cè)試355.3.1登錄注冊(cè)模塊355.3.2 訂餐服務(wù)模塊355.3.3 訂單處理模塊355.3.4 菜單管理模塊3554測(cè)試總結(jié)376 結(jié)論376.1 總結(jié)376.2 展望38參考文獻(xiàn):38Abstracts39Key Words39致謝39III 網(wǎng)上訂餐系統(tǒng)摘要隨著人們生活水平的提高,對(duì)飲食的要求已不僅是解決溫飽,很多人在進(jìn)行緊張工作之余選擇享受美食,得到美的精神享受和放松。傳統(tǒng)的就餐方式往往會(huì)出現(xiàn)人們到餐廳就餐,排隊(duì)或沒(méi)有位置的現(xiàn)象。因此,開(kāi)發(fā)出圖文并茂,信息能夠及時(shí)更新與查看的網(wǎng)上訂餐的系統(tǒng)就成為了解決上述問(wèn)題的主要途徑。網(wǎng)上訂餐是近年來(lái)隨著網(wǎng)絡(luò)技術(shù)的發(fā)展而產(chǎn)生的一種新型的就餐方式。它與傳統(tǒng)就餐方式相比,網(wǎng)上訂餐擁有很多優(yōu)勢(shì),這樣的訂餐方式效果很好,既讓顧客覺(jué)得方便、快捷,又對(duì)每個(gè)訂單的信息保管妥善、處理及時(shí),實(shí)現(xiàn)了高度智能化管理。網(wǎng)絡(luò)訂餐方式將成為餐飲業(yè)銷(xiāo)售的新模式與新的增長(zhǎng)點(diǎn)。本文通過(guò)對(duì)網(wǎng)上訂餐進(jìn)行需求分析,開(kāi)發(fā)出一個(gè)基于互聯(lián)網(wǎng)的B/S模式的網(wǎng)上訂餐系統(tǒng),實(shí)現(xiàn)了在線信息瀏覽,在線訂餐與在線訂單處理及信息更新和刪除等功能。系統(tǒng)的數(shù)據(jù)庫(kù)方面,使用關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)Microsoft SQL Sever2008,使系統(tǒng)安全性能更高,同時(shí)采用當(dāng)前正在流行的ASP.Net平臺(tái)編程,使用戶界面更加完美關(guān)鍵字 網(wǎng)上訂餐; 互聯(lián)網(wǎng); .Net; 訂單管理; 信息瀏覽引言(一)研究的背景及意義俗話說(shuō):“民以食為天”,隨著人們生活質(zhì)量的提高,對(duì)飲食的要求已不僅是解決溫飽需求,很多人在進(jìn)行緊張工作之余會(huì)選擇享受美食來(lái)享受生活,進(jìn)而進(jìn)行放松。餐飲業(yè)是一種個(gè)性化、多樣化的服務(wù)產(chǎn)業(yè),隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和普及,將餐飲服務(wù)與個(gè)性化、多樣化服務(wù)的電子商務(wù)相結(jié)合1,形成了方便、快捷、個(gè)性化的網(wǎng)上訂餐系統(tǒng),通過(guò)網(wǎng)上訂餐系統(tǒng),顧客不必親臨現(xiàn)場(chǎng),便可以為自己、家人、朋友聚會(huì)等置辦一份既營(yíng)養(yǎng)又實(shí)惠的美食。其最大的優(yōu)勢(shì)是:圖文并茂,信息能夠及時(shí)在線更新與查看,并有效地解決了傳統(tǒng)就餐過(guò)程出現(xiàn)的排隊(duì),擁擠,信息變更不能及時(shí)等現(xiàn)象。這樣既節(jié)省了時(shí)間,又為廣大用戶提供更多選擇。訂餐系統(tǒng)基于ASP.Net平臺(tái)和SQL Server2008數(shù)據(jù)庫(kù)開(kāi)發(fā), 實(shí)現(xiàn)了網(wǎng)上訂餐系統(tǒng)信息的動(dòng)態(tài)管理,對(duì)每個(gè)訂單的信息保管妥善并且及時(shí)處理,實(shí)現(xiàn)了高度的智能化。該系統(tǒng)基于B/S(Browser/Server,瀏覽器/客戶端)模式實(shí)現(xiàn),這種結(jié)構(gòu)使得數(shù)據(jù)只有結(jié)果集合在瀏覽器中顯示,數(shù)據(jù)的處理在服務(wù)器進(jìn)行,用戶不用安裝客戶端,而且由于通過(guò)服務(wù)器端統(tǒng)一管理數(shù)據(jù),易于保證數(shù)據(jù)的一致性。 (二)訂餐系統(tǒng)現(xiàn)狀與發(fā)展國(guó)外: 在外國(guó), 在多年前許多知名品牌就開(kāi)始了網(wǎng)上訂餐服務(wù),如今提供網(wǎng)上訂餐服務(wù)的商家數(shù)目正在急劇膨脹,人們只需一部電腦和一張信用卡,就可全天訂座。即便并非名流或常客也不是廚師的朋友照樣能與他們平起平坐地享受這種便捷的訂餐方式。因此,網(wǎng)上訂餐的方式已經(jīng)被國(guó)外的許多家庭所認(rèn)可。國(guó)內(nèi):目前我國(guó)使用的訂餐方式大都還停留在電話訂餐的層次上,毋容置疑,電話訂餐方便,隨時(shí)打一個(gè)電話就可以預(yù)定餐品。但是這種方式還是存在著一些問(wèn)題,比如這種訂餐方式的效率低,并且對(duì)信息的保存與更改都需要人工記錄,容易遺漏和出錯(cuò)。因此,網(wǎng)上訂餐服務(wù)在逐漸新起。據(jù)了解,在濟(jì)南、青島、臨沂等地,消費(fèi)者對(duì)訂餐服務(wù)的需求是很大的,尤其是臨沂商城,由于這里有位居全國(guó)第二位的專(zhuān)業(yè)批發(fā)市場(chǎng)群體,許多客商因整天忙于生意而無(wú)暇去飯店就餐,因而他們熱衷于網(wǎng)上訂餐。濟(jì)南有一午餐網(wǎng)很受消費(fèi)者的歡迎,由于網(wǎng)站為消費(fèi)者提供免費(fèi)的訂餐服務(wù),并通過(guò)讓消費(fèi)者享受多種優(yōu)惠的服務(wù),吸引了眾多網(wǎng)上訂餐者2。總體來(lái)說(shuō),我國(guó)的網(wǎng)上訂餐業(yè)務(wù)還處于形成期,成長(zhǎng)空間很大。發(fā)展趨勢(shì):人們通過(guò)上網(wǎng),預(yù)定需要的餐品,這樣不僅節(jié)約了時(shí)間,而且為飯店的訂餐管理工作提供了方便,最重要的是,這樣的訂餐方式效果很好,對(duì)每個(gè)訂單的信息保管妥善并且處理及時(shí),實(shí)現(xiàn)了高度智能化管理。因此將來(lái)網(wǎng)上訂餐服務(wù)有望發(fā)展成一種非常受歡迎的訂餐方式,將成為餐飲業(yè)銷(xiāo)售的新模式和新的增長(zhǎng)點(diǎn)2。(三) 結(jié)構(gòu)安排本文通過(guò)對(duì)網(wǎng)上訂餐系統(tǒng)進(jìn)行需求分析,開(kāi)發(fā)出一個(gè)基于互聯(lián)網(wǎng)的B/S模式的網(wǎng)上訂餐系統(tǒng);數(shù)據(jù)庫(kù)方面,使用關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)Microsoft SQL sever2008,系統(tǒng)安全性能更高,同時(shí)采用當(dāng)前正在流行的ASP.Net平臺(tái)編程,使用戶界面更完美。系統(tǒng)使用面向?qū)ο蟮能浖_(kāi)發(fā)思想,按照軟件工程的基本步驟進(jìn)行了系統(tǒng)分析、設(shè)計(jì)和實(shí)現(xiàn)。系統(tǒng)分為前臺(tái)和后臺(tái)兩部分,其中前臺(tái)主要是用戶進(jìn)行菜單和相關(guān)資訊的瀏覽,以及訂餐,信息反饋和評(píng)分等,主要是面向顧客的;后臺(tái)是對(duì)前臺(tái)數(shù)據(jù)的維護(hù)、設(shè)計(jì)和訂單管理的,主要是面向管理人員。管理人員又分為系統(tǒng)管理人員和訂餐管理人員。系統(tǒng)管理人員負(fù)責(zé)維護(hù)和管理網(wǎng)站信息;訂餐管理人員負(fù)責(zé)查看當(dāng)前形成的新訂單與訂單明細(xì),并且處理訂單。1 相關(guān)技術(shù)介紹1.1 .Net平臺(tái)簡(jiǎn)介 1.1.1 .Net概述訂餐系統(tǒng)是基于.Net平臺(tái),利用ASP.Net技術(shù)開(kāi)發(fā)的。.Net開(kāi)發(fā)平臺(tái)是從微軟Windows DNA(Distributed Network Architecture)衍生而來(lái)的。隨著三層多層企業(yè)信息系統(tǒng)結(jié)構(gòu)的發(fā)展與下一代分布式計(jì)算模型Web服務(wù)的誕生,企業(yè)應(yīng)用中關(guān)于平臺(tái)、框架、語(yǔ)言的競(jìng)爭(zhēng)也越來(lái)越激烈。2000年6月微軟公司宣布其.Net戰(zhàn)略,并開(kāi)始對(duì).Net這一全新的概念進(jìn)行宣傳,對(duì)其相關(guān)產(chǎn)品進(jìn)行研發(fā)。一直以來(lái),.Net給人的感覺(jué)比較抽象和籠統(tǒng),無(wú)法給出明確的定義,也許引用微軟首席執(zhí)行官的說(shuō)法更容易讓人理解:“Microsoft .Net代表一個(gè)集合,一個(gè)環(huán)境,可以作為平臺(tái)支持下一代Internet的可編程結(jié)構(gòu)?!闭\(chéng)然,.Net是一個(gè)開(kāi)發(fā)和運(yùn)行軟件的全新平臺(tái),便于開(kāi)發(fā)基于Web的應(yīng)用,其擁有大量的運(yùn)行庫(kù)服務(wù)以支持用多種編程語(yǔ)言編寫(xiě)的組件,具有跨語(yǔ)言,跨平臺(tái)的互操作能力。.Net使高度分布式Internet環(huán)境下的應(yīng)用程序開(kāi)發(fā)得到了簡(jiǎn)化,為XML Web服務(wù)與其他應(yīng)用程序提供了一個(gè)高效的安全的開(kāi)發(fā)環(huán)境,并全面支持XML??蚣芙Y(jié)構(gòu)在NET中的地位非常重要,因此下面進(jìn)行詳細(xì)地闡述。.Net Framework是整個(gè).Net平臺(tái)的基礎(chǔ)結(jié)構(gòu)。它由基類(lèi)庫(kù)(如ADO.Net和ASP.Net)和通用語(yǔ)言運(yùn)行庫(kù)(CLR,Common Language Runtime)組成,如圖11所示。圖1.1 .Net平臺(tái)結(jié)構(gòu)圖從圖中可以了解到.Net開(kāi)發(fā)框架的主要組成部分。首先整個(gè)開(kāi)發(fā)框架的基礎(chǔ)是通用語(yǔ)言運(yùn)行庫(kù)(CLR)及基礎(chǔ)類(lèi)庫(kù)(BCL);在開(kāi)發(fā)技術(shù)方面,.Net提供了全新的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)ADO.Net,以及Web開(kāi)發(fā)平臺(tái)ASP.Net和Windows編程技術(shù)Win Forms:開(kāi)發(fā)語(yǔ)言方面,.Net提供了對(duì)VB、VC+、C#、Jscript、J+等多種語(yǔ)言支持5;在本系統(tǒng)開(kāi)發(fā)中使用的Visual Studio.Net 2008則是全面支持.Net的開(kāi)發(fā)工具。1.1.2 ASP.Net的優(yōu)勢(shì)ASP.Net是一種用于創(chuàng)建內(nèi)容豐富的動(dòng)態(tài)網(wǎng)站、Web應(yīng)用程序和XML Web服務(wù)的新編程模型。同以往的編程模型相比,這種新編程模型提供了基于組件的架構(gòu)與開(kāi)發(fā)范例6。ASP.Net提供了下面一些超越以前WEB技術(shù)的新特性7:(1)優(yōu)良性能:ASP.Net在服務(wù)器上運(yùn)行的是經(jīng)過(guò)編譯的CLR代碼。同以前的技術(shù)相比,ASP.Net能充分利用Binding(綁定),及時(shí)編譯,本地優(yōu)化,緩沖服務(wù)來(lái)提高程序的性能。(2)大量工具箱支持:在Visual Studio的開(kāi)發(fā)環(huán)境中,ASP.Net具有豐富的工具箱和設(shè)計(jì)器。如所見(jiàn)即所得的編輯方式,支持拖放的服務(wù)器控件,以及動(dòng)態(tài)的配置管理,此外還有許多第三方控件。(3)強(qiáng)大功能和良好機(jī)動(dòng)性:因?yàn)锳SP.Net是建立在CLR基礎(chǔ)上的,所以整個(gè)平臺(tái)的功能與適用性更加適合網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)。ASP.Net可以使用很多種程序語(yǔ)言來(lái)編寫(xiě)。此外,CLR的協(xié)同工作能力保證以前開(kāi)發(fā)的基于COM的程序,在移植到ASP.Net后,依然可以正常使用。(4)嶄新配置管理方式:ASP.Net是一種基于文本格式,等級(jí)式的配置系統(tǒng)。一個(gè)ASP.Net應(yīng)用程序只需將必要的程序拷貝到服務(wù)器上就可以使用了。對(duì)于正在運(yùn)行中的己編譯的代碼,也同樣可以對(duì)其配置進(jìn)行更改,而不需要重啟服務(wù)器。(5)可移植性與良好適用性:當(dāng)ASP.Net的一條線程出現(xiàn)異常情況后,一個(gè)新的進(jìn)程會(huì)在它的地方重新建立,繼續(xù)擔(dān)負(fù)原進(jìn)程所處理的任務(wù),這就使應(yīng)用程序能不中斷地處理客戶的請(qǐng)求。(6)超強(qiáng)擴(kuò)展性:ASP.Net嶄新的結(jié)構(gòu)體系允許開(kāi)發(fā)者開(kāi)發(fā)自己的插件,且ASP.Net下任何一個(gè)組件都能夠被用戶自己開(kāi)發(fā)的組件擴(kuò)展或替代。1.2 SQL Server 2008簡(jiǎn)介1.2.1 SQL Server 2008概述本系統(tǒng)選擇SQL Server 2008(Standard Query Language,SQL 結(jié)構(gòu)化查詢語(yǔ)言)作為數(shù)據(jù)管理系統(tǒng)。SQL Server 2008是有Microsoft 開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能 (BI)工具,提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQL Server 2008 數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序8。 1.2.2 SQL Server 2008的優(yōu)勢(shì)SQL Server 2008具有很高的性能、處理能力,在企業(yè)級(jí)支持、商業(yè)智能應(yīng)用、管理開(kāi)發(fā)效率等方面有較強(qiáng)的能力。它提供的集成的數(shù)據(jù)管理和分析平臺(tái),可以幫助組織更可靠的管理來(lái)自關(guān)鍵業(yè)務(wù)的信息、更有效的運(yùn)行復(fù)雜的商業(yè)應(yīng)用;而通過(guò)其中集成的報(bào)告和數(shù)據(jù)分析工具,企業(yè)可從信息中獲得更出色的商業(yè)表現(xiàn)力和洞察力。相對(duì)于以前的版本,SQL Server 2008擁有以下的重要新特性:(1)支持XML數(shù)據(jù)類(lèi)型、XQuery查詢;(2)CLR編寫(xiě)數(shù)據(jù)庫(kù)對(duì)象;(3)UDT:SQL Server 2008里面支持自定義數(shù)據(jù)類(lèi)型;(4)Service Broker:提供了一個(gè)足夠穩(wěn)定可靠而又高效的異步消息排隊(duì)隊(duì)列;(5)ADO.Net 2.0;(6)T-SQL增強(qiáng):除了一些功能更強(qiáng)的SQL函數(shù),還增加了包括支持異常處理等一些新的內(nèi)容;(7)數(shù)據(jù)庫(kù)鏡像(Mirroring):一個(gè)針對(duì)企業(yè)關(guān)鍵應(yīng)用非常關(guān)注可用性而設(shè)計(jì)的熱備方案,可以大大提高SQL Server的高可用性,能在數(shù)據(jù)庫(kù)發(fā)生故障幾秒鐘內(nèi)切換負(fù)載到備用系統(tǒng)上;(8)全文索引增強(qiáng);(9)管理、監(jiān)控、開(kāi)發(fā)工具的集成和增強(qiáng);(10)BI的增強(qiáng)和存儲(chǔ)引擎的改進(jìn)。1.3 系統(tǒng)體系結(jié)構(gòu)本網(wǎng)上訂餐系統(tǒng)采用了B/S架構(gòu)的設(shè)計(jì)體系,B/S結(jié)構(gòu)相對(duì)于傳統(tǒng)的C/S結(jié)構(gòu),這種結(jié)構(gòu)使得數(shù)據(jù)只有結(jié)果集合在瀏覽器中顯示,數(shù)據(jù)的處理在服務(wù)器進(jìn)行,用戶不用安裝客戶端,而且由于通過(guò)服務(wù)器端統(tǒng)一管理數(shù)據(jù),大大簡(jiǎn)化了WEB應(yīng)用的開(kāi)發(fā)難度;易于保證數(shù)據(jù)的一致性9。B/S模式的三層分層模型:第一層表示層。數(shù)據(jù)表示層為用戶接口部分,是用戶與系統(tǒng)之間交互信息的界面。它的主要功能是檢查用戶輸入的數(shù)據(jù),顯示系統(tǒng)輸出的數(shù)據(jù)。它的任務(wù)是由Web瀏覽器向網(wǎng)絡(luò)上某一Web服務(wù)器提出服務(wù)請(qǐng)求,Web服務(wù)器對(duì)用戶身份進(jìn)行驗(yàn)證后用HTTP協(xié)議把所需文件資料傳送給客戶端,客戶機(jī)接受傳來(lái)的文件資料并把它顯示在Web瀏覽器上。第二層事務(wù)邏輯層。事務(wù)邏輯層也稱功能層,是應(yīng)用的主體,位于Web服務(wù)器端,它包括應(yīng)用中全部的業(yè)務(wù)處理程序。除了輸入輸出在表示層,數(shù)據(jù)庫(kù)在數(shù)據(jù)層以外,全部的統(tǒng)計(jì)、匯總、分析、打印功能存放在功能層。它的任務(wù)是接受用戶的請(qǐng)求,首先需要執(zhí)行相應(yīng)的擴(kuò)展應(yīng)用程序與數(shù)據(jù)庫(kù)進(jìn)行連接,通過(guò)SQL等方式向數(shù)據(jù)庫(kù)服務(wù)器提出數(shù)據(jù)處理申請(qǐng),數(shù)據(jù)庫(kù)服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給Web服務(wù)器,再由Web服務(wù)器傳送回客戶端。第三層數(shù)據(jù)庫(kù)層。數(shù)據(jù)庫(kù)層包括數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)管理系統(tǒng)負(fù)責(zé)管理其數(shù)據(jù)庫(kù),為應(yīng)用程序提供支持,位于數(shù)據(jù)庫(kù)服務(wù)器端。任務(wù)是接受Web服務(wù)器對(duì)數(shù)據(jù)庫(kù)操作的請(qǐng)求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)查詢、修改、更新等功能,把運(yùn)行結(jié)果提交給Web服務(wù)器。2 系統(tǒng)分析與設(shè)計(jì)訂餐系統(tǒng)無(wú)論是在應(yīng)用的深度還是廣度上都是一個(gè)逐步發(fā)展的過(guò)程。開(kāi)發(fā)一個(gè)局部系統(tǒng)時(shí)要充分考慮到局部系統(tǒng)和整個(gè)目標(biāo)系統(tǒng)之前的相容性和完整性,以利于今后整個(gè)系統(tǒng)的建立。從訂單處理流程上總體把握系統(tǒng)的設(shè)計(jì),在具體的設(shè)計(jì)實(shí)現(xiàn)上圍繞三個(gè)方面進(jìn)行展開(kāi),即用戶、管理者、系統(tǒng)維護(hù)者。2.1可行性分析隨著經(jīng)濟(jì)的快速發(fā)展,B2C電子商務(wù)越來(lái)越受到人們的關(guān)注10。訂餐類(lèi)網(wǎng)站,已如雨后春筍般的出現(xiàn)在了個(gè)大城市。特別是在公司,企業(yè)內(nèi)部,團(tuán)體訂餐已經(jīng)成為趨勢(shì)。同時(shí),隨著全國(guó)人民的物質(zhì)、精神和文化生活的高度提高,人們已經(jīng)不再僅僅停留在吃飽的程度,而是不但要吃飽,還要吃好,并且越來(lái)越挑刺,正因?yàn)槿绱司W(wǎng)上訂餐業(yè)務(wù)的出現(xiàn),正迎合了這些人的口味,他們不但省去了自己做飯的麻煩,而且也能尋找和發(fā)現(xiàn)新的菜種,品嘗不同風(fēng)格和不同種類(lèi)的菜品,網(wǎng)上訂餐業(yè)務(wù)在中國(guó)有著極大的發(fā)展空間和良好的發(fā)展前景。當(dāng)代大學(xué)生與白領(lǐng)工作人士作為社會(huì)中的重要群體,他們對(duì)飲食的要求都在不斷提高,飲食在他們生活中起著重要作用。因此,面向大學(xué)生與都市白領(lǐng)人士的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)有著良好的現(xiàn)實(shí)意義。綜上分析,決定利用ASP.Net和SQL Server 設(shè)計(jì)網(wǎng)上訂餐系統(tǒng)。ASP.Net可以創(chuàng)建與運(yùn)用動(dòng)態(tài)、交互的WEB服務(wù)器應(yīng)用程序。SQL Server 2008是一個(gè)杰出的數(shù)據(jù)庫(kù)平臺(tái),具有功能強(qiáng)大,安全可靠等特點(diǎn),可用于大型聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉(cāng)庫(kù)及電子商務(wù)等11。2.2 系統(tǒng)設(shè)計(jì)目標(biāo)在需求分析的基礎(chǔ)上,提出了如下的系統(tǒng)設(shè)計(jì)目標(biāo):1系統(tǒng)安全性系統(tǒng)應(yīng)控制不同用戶的使用權(quán)限,用戶不能越權(quán)操作。系統(tǒng)應(yīng)該確保數(shù)據(jù)的安全性。同時(shí),用戶要求系統(tǒng)具有高度的可靠性,數(shù)據(jù)的準(zhǔn)確性,系統(tǒng)的可恢復(fù)性。2可維護(hù)性客戶會(huì)在系統(tǒng)使用過(guò)程中不斷對(duì)系統(tǒng)提出新要求,擴(kuò)展系統(tǒng)功能,這就要求系統(tǒng)的可升級(jí)性必須良好,以滿足客戶長(zhǎng)期實(shí)用的要求,并且在用戶有新要求的時(shí)候可以快速擴(kuò)展功能。3用戶操作系統(tǒng)設(shè)計(jì)應(yīng)該人性化,操作簡(jiǎn)單方便,達(dá)到人機(jī)友好的目的。4運(yùn)行速度系統(tǒng)響應(yīng)時(shí)間是衡量系統(tǒng)性能好壞的重要參考。系統(tǒng)要求響應(yīng)時(shí)間短,更新處理迅速,數(shù)據(jù)轉(zhuǎn)換與傳送時(shí)間短,后臺(tái)服務(wù)器響應(yīng)迅速等等。由于系統(tǒng)使用者的特殊性,系統(tǒng)必須高效地響應(yīng)并且在安全的前提下高效的響應(yīng)。5界面用戶界面應(yīng)該做到清晰簡(jiǎn)單一目了然,易于操作。2.3 系統(tǒng)功能分析2.3.1 系統(tǒng)功能實(shí)現(xiàn)本系統(tǒng)主要是實(shí)現(xiàn)網(wǎng)上瀏覽菜單、訂餐、產(chǎn)生訂單等功能的系統(tǒng)。需要實(shí)現(xiàn)菜品信息的動(dòng)態(tài)提示、購(gòu)物車(chē)管理、客戶信息注冊(cè)、登錄管理、訂單處理、信息反饋等模塊。需要完成的主要任務(wù)如下: 當(dāng)客戶進(jìn)入網(wǎng)上訂餐時(shí),應(yīng)該在主頁(yè)面中分類(lèi)顯示最新的菜品信息,以供客戶選擇所需菜品,同時(shí)提供按菜品名稱,快速查詢所需菜品信息的功能。當(dāng)客戶選擇預(yù)定某個(gè)菜品時(shí),應(yīng)該能夠?qū)?duì)應(yīng)菜品信息,如:價(jià)格、數(shù)量記錄到對(duì)應(yīng)的購(gòu)物車(chē)中,此時(shí)客戶可以選擇選擇其他菜品或是查看自己的購(gòu)物車(chē),最后,在購(gòu)物車(chē)中填寫(xiě)相應(yīng)的送餐信息,提交訂餐訂單后,自動(dòng)清除以生成訂單的購(gòu)物車(chē)中的信息。餐廳服務(wù)人員根據(jù)訂單信息,查看詳細(xì)訂單明細(xì)并根據(jù)實(shí)際情況處理訂餐。分析網(wǎng)上訂餐系統(tǒng),制訂整個(gè)系統(tǒng)框架如下:網(wǎng)上訂餐系統(tǒng)后臺(tái)前臺(tái)留言信息管理用戶信息管理公告信息管理菜單信息管理友情鏈接管理訂單管理在線留言我的訂單我的購(gòu)物車(chē)網(wǎng)站公告菜單展示首頁(yè)圖2.1系統(tǒng)整體框架圖2.3.2 系統(tǒng)需求分析用于需求建模的方法有很多種,最常用的包括數(shù)據(jù)流圖(DFD)、實(shí)體關(guān)系圖(ERD)和UML三種方式。UML(統(tǒng)一建模語(yǔ)言)是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語(yǔ)言。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開(kāi)始的軟件開(kāi)發(fā)的全過(guò)程12。本系統(tǒng)使用UML中的用例圖、活動(dòng)圖、狀態(tài)圖來(lái)對(duì)需求建模。用例圖通過(guò)描述“系統(tǒng)”和“活動(dòng)者”之間的交互活動(dòng)來(lái)描述系統(tǒng)的行為。通過(guò)分解系統(tǒng)目標(biāo),用例圖描述活動(dòng)者為了實(shí)現(xiàn)這些目標(biāo)而執(zhí)行的所有步驟。此方法最主要的優(yōu)點(diǎn),在于它是用戶導(dǎo)向的,用戶可以根據(jù)自己所對(duì)應(yīng)的用例來(lái)不斷細(xì)化自己的需求。此外,使用用例還可以方便地得到系統(tǒng)功能的測(cè)試用例。1.角色分析 分析的第一步是定義用例,以描述系統(tǒng)的外部功能需求。用例分析包括閱讀和分析需求說(shuō)明,此時(shí)需要與系統(tǒng)的潛在用戶進(jìn)行討論。根據(jù)上述需求,通過(guò)分析,網(wǎng)上訂餐角色分為兩大類(lèi):用戶和系統(tǒng)管理員。2.用例分析在確認(rèn)角色的基礎(chǔ)上,確認(rèn)用例。網(wǎng)上訂餐系統(tǒng)中的用例有:用戶管理、訂單管理、登錄系統(tǒng)、菜品信息管理等等。本系統(tǒng)的用戶用例圖如圖2.2所示。進(jìn)行的操作包括訂餐服務(wù)、信息瀏覽、訂單管理等。圖2.2 訂餐用戶使用例圖管理員分為兩類(lèi):一類(lèi)是系統(tǒng)管理員用例圖如圖2.3所示。管理員進(jìn)行的操作(后臺(tái)操作)包括用戶管理,信息的瀏覽、添加、刪除、修改等等。圖2.3 系統(tǒng)管理員使用例圖除了用用例圖描述系統(tǒng)需求以外,以下用活動(dòng)圖對(duì)系統(tǒng)的主要例進(jìn)行說(shuō)明,更具體地描述該用例與角色的交互。1.用戶登錄圖2.5 用戶登錄用戶登錄實(shí)現(xiàn)為本網(wǎng)站注冊(cè)用戶提供身份確認(rèn)的功能,保證合法用戶的應(yīng)有權(quán)益。而且是否登錄也將決定用戶能否訂餐。用戶登錄的前置條件是在登錄前,用戶必須完成“注冊(cè)”。2.訂餐服務(wù)圖2.6 訂餐服務(wù)在訂餐服務(wù)用例中,每個(gè)用戶都有個(gè)購(gòu)物車(chē),用戶可以將自己選定的菜品及其數(shù)量放入到購(gòu)物車(chē)中,并且隨時(shí)可以查看自己預(yù)定的菜品的數(shù)量和總價(jià)格。本用例開(kāi)始前用戶必須登錄到系統(tǒng)中。如果用例成功,顧客可以瀏覽自己購(gòu)物車(chē)中的信息并決定是購(gòu)買(mǎi)還是刪除。3查看歷史訂單:圖2.7 查看歷史訂單注冊(cè)用戶可以查看自己的歷史訂單,在歷史訂單中,可以瀏覽曾經(jīng)訂購(gòu)過(guò)的菜品,對(duì)于已經(jīng)送餐后的菜品,可以進(jìn)行評(píng)分和信息反饋,不能重復(fù)評(píng)論,某個(gè)菜品在這里的評(píng)分會(huì)影響其在整個(gè)網(wǎng)站中的推薦指數(shù)。4.訂單處理:圖2.8 訂單處理處理訂單的過(guò)程是訂餐管理人員參與的,當(dāng)前臺(tái)有新的訂單生成時(shí),會(huì)自動(dòng)在后臺(tái)的現(xiàn)有訂單列表中顯示出來(lái),訂餐管理人員可以點(diǎn)擊查看未處理的訂單,根據(jù)實(shí)際情況進(jìn)行處理,或者刪除不需要的訂單記錄。3 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)一般分為六個(gè)階段。之前已經(jīng)完成需求分析,現(xiàn)在需要進(jìn)行概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì),本章將敘述這三個(gè)階段的設(shè)計(jì)思路和設(shè)計(jì)過(guò)程。3.1 數(shù)據(jù)庫(kù)需求分析 用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理流程,組成一份詳細(xì)的數(shù)據(jù)字典,為具體設(shè)計(jì)鋪墊13。通過(guò)系統(tǒng)功能分析,針對(duì)網(wǎng)上訂餐需求,總結(jié)為:1分為一般用戶和管理員用戶,只有用戶身份才能進(jìn)行前臺(tái)訂餐,只有管理員身份才能進(jìn)行后臺(tái)管理;2訂單分成單張訂單詳情和總訂單表,一張訂單中含有多個(gè)訂單明細(xì);3每一道菜品都從屬于一種類(lèi)型。4一個(gè)用戶可以訂購(gòu)多個(gè)菜品。5一個(gè)用戶對(duì)應(yīng)多張訂單表。3.2 系統(tǒng)概要設(shè)計(jì)3.2.1 系統(tǒng)概要設(shè)計(jì)概述概要設(shè)計(jì)是將用戶的需求分析得到的結(jié)果抽象為信息世界的結(jié)構(gòu),即概念模型。概念結(jié)構(gòu)獨(dú)立于數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),獨(dú)立于支持?jǐn)?shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng),它是現(xiàn)實(shí)世界到信息世界的中介,反映了實(shí)體與實(shí)體的聯(lián)系,便于用各種數(shù)據(jù)模型進(jìn)行轉(zhuǎn)換3.2.2 訂餐系統(tǒng)E-R圖E-R圖為實(shí)體-聯(lián)系圖,提供了表示實(shí)體型、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型14。構(gòu)成E-R圖的基本要素是實(shí)體型、屬性和聯(lián)系,其表示方法為,實(shí)體型:用矩形表示,矩形框內(nèi)寫(xiě)明實(shí)體名;屬性:用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái);多值屬性由雙線連接;主屬性名稱下加下劃線;聯(lián)系:用菱形表示,菱形框內(nèi)寫(xiě)明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型,系統(tǒng)E-R圖如圖3.1所示。圖3.1訂餐系統(tǒng)E-R圖以下是主要數(shù)據(jù)表的E-R圖:圖3.2 用戶E-R圖圖3.3 訂單條目E-R圖圖3.4 訂單E-R圖圖3.5 菜單E-R圖3.3 邏輯設(shè)計(jì)3.3.1 邏輯設(shè)計(jì)概述數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)是概念模型向邏輯模型的轉(zhuǎn)化,一般步驟是先將概念結(jié)構(gòu)轉(zhuǎn)化為關(guān)系模型,然后將轉(zhuǎn)化來(lái)的關(guān)系模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換,最后對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化3.3.2 數(shù)據(jù)表的設(shè)計(jì)數(shù)據(jù)庫(kù)的主要表詳細(xì)結(jié)構(gòu)如下:表3.1 訂單條目表FieldTypeNullKeyCommentIDIntNoYes標(biāo)識(shí)遞增訂單IDIntNoNo外鍵,對(duì)應(yīng)于訂單中的“訂單ID”菜名Nchar(10)NoNo默認(rèn)值是“待送餐”數(shù)量IntNoNo單價(jià)FloatYesNo評(píng)分IntYesNo默認(rèn)為“0分”Back訂單YesNo顧客訂餐的信息反饋表3.2 訂單表FieldTypeNullKeyComment訂單IDIntNoYes標(biāo)識(shí)遞增用戶IDIntNoNo外鍵,對(duì)應(yīng)于用戶表中的“用戶ID”訂單狀態(tài)Nchar(10)NoNo默認(rèn)值是“待送餐”送餐地址Nvarchar(50)NoNo備注Nvarchar(MAX)YesNo訂餐姓名Nvarchar(50)NoNo訂餐時(shí)間DatetimeYesNo金額總價(jià)FloatYesNo表3.3 菜單表FieldTypeNullKeyCommentcIDIntNoYes標(biāo)識(shí)遞增菜名Nvarchar(50)NoNo價(jià)格FloatNoNo菜介紹Nvarchar(MAX)YesNoScidIntYesNo菜系id菜圖片Nvarchar(MAX)YesNo存儲(chǔ)的是圖片的路徑推薦Nvarchar(50)YesNo表3.4 菜分類(lèi)表FieldTypeNullKeyCommentScidIntNoYes標(biāo)識(shí)遞增種類(lèi)Nvarchar(50)NoNo菜系名系列介紹Nvarchar(MAX)YesNo表3.5 用戶表FieldTypeNullKeyComment用戶IDIntNoYes標(biāo)識(shí)遞增uNameNvarchar(50)NoNo登錄名uPwdNvarchar(50)NoNo登錄密碼真實(shí)姓名Nchar(10)NoNo性別Nchar(10)NoNo菜系id聯(lián)系電話Nvarchar(50)YesNo愛(ài)好Nvarchar(MAX)YesNo喜歡口味Nvarchar(MAX)YesNoQQNvarchar(50)YesNoemailNvarchar(50)YesNoStateNvarchar(50)NoNoID是否有效,默認(rèn)值是“未審核”身份證號(hào)Nvarchar(50)NoNo表3.6 養(yǎng)生之道表FieldTypeNullKeyComment介紹IDIntNoYes標(biāo)識(shí)遞增標(biāo)題Nvarchar(50)NoNo內(nèi)容TextYesNo發(fā)布時(shí)間DatetimeYesNo默認(rèn)值是當(dāng)前瀏覽器的時(shí)間ViewCountIntYesNo瀏覽次數(shù)3.4 物理設(shè)計(jì)l.數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)要綜合考慮存取時(shí)間、存儲(chǔ)空間利用率和維護(hù)代價(jià)三方面的因素15。根據(jù)邏輯設(shè)計(jì)的結(jié)果,將實(shí)體映射為表,將關(guān)系映射為外鍵約束,將屬性映射為列,主鍵唯一表示符映射為主鍵約束,唯一表示符映射為鍵約束。由于SQL Server 2005的聚簇功能很強(qiáng),可以使用不同的技術(shù)和多種模式存儲(chǔ)多維數(shù)據(jù)集的數(shù)據(jù)和聚合。2.數(shù)據(jù)存放位置采用磁盤(pán)陣列存放系統(tǒng)的數(shù)據(jù),日常數(shù)據(jù)放在數(shù)據(jù)庫(kù)服務(wù)器硬盤(pán)上,并進(jìn)行定期備份,備份數(shù)據(jù)放在磁盤(pán)陣列的另外一個(gè)硬盤(pán)上。為了加快存取速度,將表數(shù)存放在一個(gè)磁盤(pán)上,而索引文件放在另外一個(gè)磁盤(pán)上。3. 系統(tǒng)配置通常情況下,系統(tǒng)的配置包括:同時(shí)使用數(shù)據(jù)庫(kù)的用戶數(shù);同時(shí)打開(kāi)數(shù)據(jù)庫(kù)對(duì)象數(shù);使用的緩沖區(qū)長(zhǎng)度、個(gè)數(shù);時(shí)間片的大??;數(shù)據(jù)庫(kù)的大??;裝填因子;鎖的數(shù)目等;他們對(duì)系統(tǒng)的性能有著顯著的影響,因此在實(shí)際設(shè)計(jì)時(shí)根據(jù)需要進(jìn)行了初步的設(shè)計(jì)。4 網(wǎng)上訂餐系統(tǒng)的實(shí)現(xiàn)4.1 功能模塊介紹4.1.1 登陸/注冊(cè)如圖4.1是網(wǎng)上訂餐系統(tǒng)的首頁(yè),圖4.1 網(wǎng)站首頁(yè)在首頁(yè)中顯示了網(wǎng)站中大部分的信息,通過(guò)首頁(yè)可以跳轉(zhuǎn)的網(wǎng)站中其他的頁(yè)面,進(jìn)行相關(guān)的操作,登陸模塊也是在首頁(yè)中顯示出來(lái)的。在登陸系統(tǒng)之前需要注冊(cè),如圖4.2所示,注冊(cè)的信息由游客填寫(xiě),提交注冊(cè)信息后,需要通過(guò)后臺(tái)管理員對(duì)注冊(cè)信息進(jìn)行審核,給予審批后,才能登陸系統(tǒng)。圖4.2用戶注冊(cè)頁(yè)面網(wǎng)是訂餐服務(wù)只有登陸以后才能進(jìn)行,這樣確保了訂餐服務(wù)的有效性,避免預(yù)定后,不履行訂單的惡意行為。4.1.2 菜單信息瀏覽在首頁(yè)中,可以直接瀏覽到部分的菜單信息,信息包括了:圖片,菜名,價(jià)格等。在該網(wǎng)頁(yè)上也可以查看菜品的詳細(xì)信息,如圖4.3所示。另外,在主頁(yè)上還根據(jù)不同的菜系進(jìn)行分塊展示,同時(shí)也可以點(diǎn)擊每個(gè)分塊上的“more”字樣查看相關(guān)的全部信息列表。例如:點(diǎn)擊查看“涼拌系列”的顯示結(jié)果如圖4.4所示。圖4.3 菜品詳細(xì)介紹圖4.4 “涼拌”系列信息頁(yè)面在網(wǎng)站的首頁(yè)中可以根據(jù)用戶輸入的文字對(duì)菜名進(jìn)行模糊搜索,搜索功能使用戶在選擇自己需要的菜品時(shí)更加便捷和高效。圖4.5 搜索4.1.3 訂餐服務(wù)當(dāng)用戶進(jìn)行訂餐時(shí),系統(tǒng)為用戶生成了一個(gè)虛擬的購(gòu)物車(chē), 在用戶瀏覽詳細(xì)的菜單信息時(shí),如圖4.6所示,可以選擇數(shù)量,然后將此菜品放入購(gòu)物車(chē)中,圖4.6 訂購(gòu)菜品數(shù)量在訂餐過(guò)程中,用戶可以查看自己購(gòu)物車(chē)中選購(gòu)的菜品和金額,根據(jù)自己的需要可以刪除購(gòu)物車(chē)中的菜品,還可以選擇繼續(xù)訂餐,在查看購(gòu)物車(chē)時(shí)填入相關(guān)送餐信息,點(diǎn)擊“提交訂單”,完成了整個(gè)訂餐流程。圖4.7查看購(gòu)物車(chē)4.1.4 用戶反饋及評(píng)分用戶可以點(diǎn)擊主頁(yè)中“我的訂單”查看自己當(dāng)前訂單和歷史訂單,如圖4.8所示:圖4.8 “我的訂單”頁(yè)面訂單中的每一項(xiàng)都可以點(diǎn)擊“評(píng)分”,如圖4.9所示。圖4.9 “評(píng)分”頁(yè)面對(duì)于已經(jīng)評(píng)分的餐品,不能重復(fù)評(píng)分;對(duì)于還未送達(dá)的餐品,需等到管理員處理訂單后才能評(píng)分。4.1.5 訂單處理后臺(tái)對(duì)訂單的處理主要是查看和修改訂單狀態(tài)。訂單的處理涉及兩張數(shù)據(jù)表:訂單表和訂單條目表。在查看訂單列表時(shí),綁定的數(shù)據(jù)是訂單表中的數(shù)據(jù),當(dāng)查看訂單詳情時(shí),在網(wǎng)頁(yè)中傳遞“訂單ID”作為參數(shù)來(lái)獲取對(duì)應(yīng)的詳情列表。在管理員處理訂單后,訂單表的“訂單狀態(tài)” 改為“已處理”。由于訂單列表是寫(xiě)在控件UpdatePanel里的,所以在前臺(tái)用戶提交訂單成功后,會(huì)自動(dòng)對(duì)數(shù)據(jù)庫(kù)執(zhí)行查詢,使后臺(tái)的訂單顯示列表中會(huì)自動(dòng)在首行顯示出新訂單,并且訂單狀態(tài)默認(rèn)為“待送餐”;該頁(yè)面中的當(dāng)前時(shí)間是通過(guò)設(shè)置一個(gè)時(shí)間間隔為1000ms的Timer的控件,在Timer控件的事件中獲取當(dāng)前瀏覽器的時(shí)間,達(dá)到動(dòng)態(tài)顯現(xiàn)得效果。圖4.10 訂單列表管理員可以查看訂單詳情,根據(jù)實(shí)際情況處理修改訂單狀態(tài)。4.1.6 后臺(tái)信息管理后臺(tái)管理員需要登錄后才能進(jìn)入后臺(tái)管理,后臺(tái)首頁(yè)如圖4.11所示。圖4.11 后臺(tái)管理首頁(yè)通過(guò)登陸驗(yàn)證,保證了數(shù)據(jù)的安全性和保密性。管理員對(duì)信息的管理是分別針對(duì)數(shù)據(jù)庫(kù)中的每一張表進(jìn)行的。在瀏覽每張表的信息時(shí)帶有搜索功能,使得工作效率提高。對(duì)于每張表的信息可以添加、刪除和修改。但留言表中的信息不能修改,只能回復(fù)和刪除。由于篇幅有限,以下只給出菜單表的管理截圖,圖4.12是后臺(tái)管理系統(tǒng)的首頁(yè)和菜單信息列表,圖4.13是具體的某個(gè)菜的編輯或添加頁(yè)面。圖4.12 菜單信息列表圖4.13 編輯菜單信息4.2 核心功能實(shí)現(xiàn)4.2.1 用戶自定義控件說(shuō)明1. listInfo.ascx該控件是用于在首頁(yè)中顯示不同菜系的介紹信息的,在控件中定義了一個(gè)Scid屬性,在每次引用控件時(shí),通過(guò)設(shè)置Scid的值來(lái)確定控件該顯示那個(gè)菜系的信息。2. Nav.ascx 該控件作為導(dǎo)航在頁(yè)面中引用的,控件的樣式和超鏈接都已經(jīng)設(shè)置好,在需要導(dǎo)航的頁(yè)面直接引用即可。3. PagingBar.ascx該控件是分頁(yè)顯示控件,在控件中定義了三個(gè)屬性:CurrentPage,表示當(dāng)前顯示的是第幾頁(yè),默認(rèn)值是”1”;PageSize,表示一頁(yè)顯示幾條數(shù)據(jù),默認(rèn)值為”10”;RecordCount,是顯示信息的總條數(shù),一般是從數(shù)據(jù)庫(kù)綁定出的數(shù)據(jù)總條數(shù)來(lái)設(shè)定其值的。4. scoer.ascx該控件用于顯示菜單信息中的推薦指數(shù),控件中定義了一個(gè)s屬性,通過(guò)設(shè)定s的值,便可以顯示出相應(yīng)的推薦指數(shù)。4.2.2 信息顯示菜單信息,養(yǎng)生咨詢,留言版等信息的顯示是通過(guò)綁定數(shù)據(jù)庫(kù)中相應(yīng)表單中數(shù)據(jù)得到的。當(dāng)查看其中一項(xiàng)的具體信息時(shí),是通過(guò)網(wǎng)頁(yè)間傳遞的參數(shù)確定的,一般情況下,傳遞的參數(shù)是數(shù)據(jù)表中的主鍵值,這樣使得信息有確定性。在菜單表的顯示中,網(wǎng)頁(yè)間傳遞的參數(shù)是數(shù)據(jù)庫(kù)中菜單表的主鍵cID,先顯示之前,通Request.QueryString“cID”獲得主鍵值后,再?gòu)臄?shù)據(jù)庫(kù)中綁定出相信菜名,價(jià)格和介紹信息,并在頁(yè)面中顯示出來(lái)。養(yǎng)生咨詢,留言板等的信息顯示也是這個(gè)原理。只是綁定數(shù)據(jù)的控件不同,得到的顯示效果不盡相同。4.2.3推薦指數(shù)推薦指數(shù)是菜單顯示信息中的一個(gè)是非常重要意義的信息,其在一定程度上說(shuō)明菜品的受歡迎程度,可以在顧客選購(gòu)餐品時(shí)提供一個(gè)參考建議。上面的內(nèi)容中已經(jīng)提到推薦指數(shù)的現(xiàn)實(shí)是通過(guò)設(shè)置scoer.ascx控件的s屬性。s屬性的值是根據(jù)每個(gè)訂餐用戶用餐后對(duì)菜品的評(píng)分動(dòng)態(tài)生成和改變的,該信息沒(méi)有專(zhuān)門(mén)存儲(chǔ)于數(shù)據(jù)庫(kù)中。圖4.14是獲取s的值的程序流程圖圖4.14 推薦指數(shù)顯示4.2.4 分頁(yè)顯示算法由于網(wǎng)頁(yè)的布局有限,數(shù)據(jù)庫(kù)中的大量信息無(wú)法再一張網(wǎng)頁(yè)上全部顯示出來(lái),運(yùn)用分頁(yè)顯示的技術(shù)使得信息按照需要分頁(yè)顯示出來(lái),并且顯示效果更加清晰。對(duì)于分頁(yè)顯示,在上述內(nèi)容提到了分頁(yè)控件PagingBar.ascx,在需要顯示的頁(yè)面引用這個(gè)控件,就可以進(jìn)行分頁(yè)顯示。以下是分頁(yè)顯示實(shí)現(xiàn)的算法:/設(shè)置分頁(yè)控件(用到變量: 第幾頁(yè) 每頁(yè)多少條數(shù)據(jù) 數(shù)據(jù)條數(shù)) int _currentPage; /當(dāng)前在第幾頁(yè)int _pageSize = 10; /一頁(yè)顯示的記錄數(shù)=10int RecordCount /數(shù)據(jù)條數(shù)總共的頁(yè)數(shù)= RecordCount/_pageSize取得待顯示頁(yè)碼:獲取網(wǎng)頁(yè)中傳遞的p參數(shù),默認(rèn)當(dāng)前顯示頁(yè),既p=1;用urlParameter保存網(wǎng)頁(yè)中傳遞處p以外的其他參數(shù);設(shè)置超鏈接按鈕:if當(dāng)前不是第一頁(yè),設(shè)置第一頁(yè)的鏈接地址與上一頁(yè)的鏈接地址if 當(dāng)前不是最后一頁(yè),設(shè)置下一頁(yè)和未頁(yè)的鏈接地址4.2.5 購(gòu)物車(chē)購(gòu)物車(chē)模擬了現(xiàn)實(shí)生活中購(gòu)物的情景,在用戶進(jìn)行訂餐時(shí),系統(tǒng)會(huì)為用戶自動(dòng)生成一個(gè)虛擬的購(gòu)物車(chē)。用戶可以往購(gòu)物車(chē)?yán)锾砑硬似?,也可以查看?gòu)物車(chē),刪除其中不需要的菜品。最后在購(gòu)物車(chē)中填寫(xiě)好訂單信息,就可以成功的提交訂單。1. 將選定的菜品添加到購(gòu)物車(chē)的流程如下:圖4.15 購(gòu)物車(chē)的實(shí)現(xiàn)2. 查看購(gòu)物車(chē)的實(shí)現(xiàn)圖4.16 查看購(gòu)物車(chē)3. 刪除數(shù)據(jù) 購(gòu)物車(chē)列表中的每一行數(shù)據(jù)后都有“刪除”按鈕,點(diǎn)擊后刪除相應(yīng)的一行數(shù)據(jù)。此時(shí)Session“car”的值應(yīng)該相應(yīng)的改變,并重新綁定顯示。4. 向數(shù)據(jù)庫(kù)填充數(shù)據(jù) 當(dāng)用戶提交訂單時(shí),需要將購(gòu)物車(chē)中數(shù)據(jù)填入數(shù)據(jù)庫(kù)中進(jìn)行保存。遍歷car中的每一行數(shù)據(jù),使之一行一行的插入到數(shù)據(jù)庫(kù)中。 以上是“購(gòu)物車(chē)”工作的全部流程,在每次訂單提交后,car中的數(shù)據(jù)將全部清除。5 網(wǎng)上訂餐系統(tǒng)測(cè)試5.1測(cè)試目標(biāo)軟件測(cè)試的目的決定了測(cè)試方法。如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置進(jìn)行測(cè)試。如果測(cè)試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評(píng)價(jià),那么測(cè)試就應(yīng)該直接針對(duì)在實(shí)際應(yīng)用中會(huì)經(jīng)常用到的假設(shè)進(jìn)行測(cè)試。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤。一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。測(cè)試并不僅僅是為了要找出錯(cuò)誤,通過(guò)分析錯(cuò)誤產(chǎn)生的原因和錯(cuò)誤的分布特征,可以幫助項(xiàng)目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過(guò)程的缺陷,以便改進(jìn)。同時(shí),這種分析也能幫助我們?cè)O(shè)計(jì)出有針對(duì)性地檢測(cè)方法,改善測(cè)試的有效性。其次,沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試也是有價(jià)值的,完整的測(cè)試是評(píng)定測(cè)試質(zhì)量的一種方法。詳細(xì)而嚴(yán)謹(jǐn)?shù)目煽啃栽鲩L(zhǎng)模型可以證明這一點(diǎn)16。5.2 測(cè)試方法軟件測(cè)試是用來(lái)發(fā)現(xiàn)系統(tǒng)和用戶需求不符合的過(guò)程。測(cè)試方法分為:白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試是對(duì)軟件過(guò)程性細(xì)節(jié)做出細(xì)致的檢查。這樣的方法是把測(cè)試對(duì)象看做是一個(gè)打開(kāi)的盒子,它允許測(cè)試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)以及有關(guān)的信息,設(shè)計(jì)或者選擇測(cè)試用例,對(duì)程序所有的邏輯路徑進(jìn)行測(cè)試。通過(guò)在不同的節(jié)點(diǎn)來(lái)檢查程序的狀態(tài),確定實(shí)際狀態(tài)是否與預(yù)期達(dá)成一致。因此,白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或者是邏輯測(cè)試。白盒測(cè)試主要是想對(duì)程序模塊進(jìn)行如下檢查:1對(duì)程序模塊的所有獨(dú)立的執(zhí)行路徑至少測(cè)試一遍。2對(duì)所有的邏輯判定,取“真”或者取“假”的兩種情況至少能測(cè)一遍。3在循環(huán)的邊界和運(yùn)行的界限內(nèi)執(zhí)行循環(huán)體。4測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。本次系統(tǒng)測(cè)試主要是選擇黑盒測(cè)試,軟件的黑盒測(cè)試意味著測(cè)試要在軟件的接口處進(jìn)行測(cè)試。這樣的方法是把測(cè)試對(duì)象看成一個(gè)黑盒子,測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部屬性,只是根據(jù)程序的需求規(guī)格說(shuō)明書(shū),檢查程序的功能是否符合它的功能說(shuō)明,因此黑盒測(cè)試又叫功能測(cè)試或者數(shù)據(jù)驅(qū)動(dòng)測(cè)試。黑盒測(cè)試主要是為了發(fā)現(xiàn)以下幾類(lèi)錯(cuò)誤: 1是否有不正確或遺漏的功能 2在接口上,輸入是否正確的接受,能否輸出正確的結(jié)果 3是否有數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(例如數(shù)據(jù)文件)訪問(wèn)錯(cuò)誤。 4. 性能上是否能夠滿足要求。 5是否有初始化或者終止性錯(cuò)誤。5.3 主模塊測(cè)試5.3.1登錄注冊(cè)模塊測(cè)試項(xiàng)目測(cè)試用例測(cè)試結(jié)果操作流程用戶登錄用戶名:zj正確密碼:123輸入密碼:123登陸成功在網(wǎng)站首頁(yè)的登陸框上登陸用戶登錄用戶名:zj正確密碼:123輸入密碼:123錯(cuò)誤提示:“登陸失敗,或是尚未通過(guò)審核”在網(wǎng)站首頁(yè)的登陸框上登陸用戶注冊(cè)輸入相關(guān)注冊(cè)信息注冊(cè)成功,等待審核在網(wǎng)站首頁(yè)的登陸框上點(diǎn)擊“注冊(cè)”5.3.2 訂餐服務(wù)模塊測(cè)試項(xiàng)目測(cè)試用例測(cè)試結(jié)果操作流程菜系查詢點(diǎn)擊查詢“麻辣系列”顯示所有麻辣菜系的點(diǎn)擊主頁(yè)上的“麻辣系列”菜系搜索查詢?cè)谒阉骺蛑休斎搿奥槔薄憋@示菜名中包含“麻辣”的所有菜在主頁(yè)上的搜索框中輸入關(guān)鍵字,點(diǎn)擊查詢搜索查詢?cè)谒阉骺蛑休斎搿皕j”沒(méi)有信息輸出在主頁(yè)上的搜索框中輸入關(guān)鍵字,點(diǎn)擊查詢預(yù)定菜品沒(méi)有登陸,點(diǎn)擊“訂購(gòu)”提示信息:“請(qǐng)先登陸”在詳細(xì)介紹菜品頁(yè)面點(diǎn)擊“訂購(gòu)”預(yù)定菜品登陸后,點(diǎn)擊“訂購(gòu)”提示:“已放入購(gòu)物車(chē)”登陸系統(tǒng)后在詳細(xì)介紹菜品頁(yè)面點(diǎn)擊“訂購(gòu)”提交訂單點(diǎn)擊“提交訂單”提示:“訂單提交成功,服務(wù)人員會(huì)盡快送餐”查看購(gòu)物車(chē)頁(yè)面,填寫(xiě)相關(guān)的送餐信息,點(diǎn)擊“提交訂單”5.3.3 訂單處理模塊測(cè)試項(xiàng)目測(cè)試用例測(cè)試結(jié)果操作流程登陸后臺(tái)用戶名:admin正確密碼:輸入密碼:轉(zhuǎn)入后臺(tái)管理首頁(yè)進(jìn)入后臺(tái)登陸界面查看訂單列表點(diǎn)擊訂單管理中“訂單列表”轉(zhuǎn)入訂單列表頁(yè)面在后臺(tái)管理首頁(yè)中,點(diǎn)擊訂單管理中“訂單列表 ”查看訂單詳情點(diǎn)擊“查看詳情”轉(zhuǎn)入訂單詳情頁(yè)面在訂單列表頁(yè)對(duì)應(yīng)得一行中點(diǎn)擊“查看詳情”處理訂單點(diǎn)擊“處理訂單”訂單表中的訂單狀態(tài)改變?yōu)椤耙阉筒汀痹谟唵卧斍橹悬c(diǎn)擊“處理訂單”5.3.4 菜單管理模塊測(cè)試項(xiàng)目測(cè)試用例測(cè)試結(jié)果操作流程添加菜單信息輸入相關(guān)信息添加成功,在菜單列表中在后臺(tái)管理首頁(yè)點(diǎn)擊菜單管理中的“信息添加”刪除菜單信息點(diǎn)擊“刪除”提示:“刪除成功!”在菜單列表的相關(guān)操作中點(diǎn)擊“刪除”編輯現(xiàn)有菜單信息點(diǎn)擊“編輯”編輯成功,轉(zhuǎn)回列表頁(yè)面在菜單列表的相關(guān)操作中點(diǎn)擊“編輯”54測(cè)試總結(jié)此次測(cè)試采用黑盒測(cè)試方法。做了許多測(cè)試用例,但限于篇幅只寫(xiě)出了幾個(gè)典型的測(cè)試用例。在測(cè)試的整個(gè)過(guò)程中,每個(gè)模塊的功能都比較成功,但也發(fā)現(xiàn)了一些問(wèn)題,如在數(shù)據(jù)庫(kù)等多方面沒(méi)有數(shù)據(jù)的時(shí)候出現(xiàn)異常等,發(fā)現(xiàn)后及時(shí)做了修改。目前系統(tǒng)還存在很多值得改進(jìn)的地方,將會(huì)在今后使用和維護(hù)中不斷完善此網(wǎng)上訂餐系統(tǒng)。6 結(jié)論6.1 總結(jié)本文主要分析和設(shè)計(jì)了網(wǎng)上訂餐系統(tǒng),從用戶的需求入手,通過(guò)用例圖反應(yīng)出該系統(tǒng)的功能模塊,并且通過(guò)活動(dòng)圖來(lái)詳細(xì)分析了各個(gè)功能模塊的活動(dòng)流程。數(shù)據(jù)模型方面,結(jié)合實(shí)體關(guān)系圖確定不同的表單,以便更好的設(shè)計(jì)數(shù)據(jù)庫(kù)。在詳細(xì)設(shè)計(jì)階段,首先編寫(xiě)了一個(gè)數(shù)據(jù)庫(kù)操作類(lèi)SqlServer類(lèi),以后進(jìn)行數(shù)據(jù)庫(kù)操作時(shí)直接調(diào)用即可,簡(jiǎn)化了編碼的工作量;確定每個(gè)功能模塊中的頁(yè)面數(shù),以及頁(yè)面的調(diào)用關(guān)系。重點(diǎn)在信息瀏覽頁(yè)面,購(gòu)物車(chē)和訂單管理的設(shè)計(jì)與實(shí)現(xiàn)。在編寫(xiě)代碼的過(guò)程中,遇見(jiàn)了很多問(wèn)題,例如:信息的顯示,數(shù)據(jù)的連級(jí)刪除等。最后,通過(guò)查閱書(shū)籍和多次修改、測(cè)試后解決了這些問(wèn)題。最后,對(duì)整個(gè)系統(tǒng)進(jìn)行了功能測(cè)試,系統(tǒng)運(yùn)行正常,基本達(dá)到了設(shè)計(jì)的效果,并且在一些重要功能上有自己的創(chuàng)新點(diǎn)。就整體功能而言,系統(tǒng)還是存在一些缺陷,例如:沒(méi)有網(wǎng)上支付功能;后臺(tái)的訂單管理也是針對(duì)較小的數(shù)據(jù)來(lái)實(shí)現(xiàn)的,在現(xiàn)實(shí)生活中,網(wǎng)上購(gòu)物的人數(shù)越來(lái)越多,管理員應(yīng)該能夠批量的操作訂單;用戶的密碼保護(hù)功能不夠健全等。今后還會(huì)就以上問(wèn)題深入研究,以便使此訂餐系統(tǒng)更加完善。6.2 展望目前已有不少訂餐網(wǎng)站在網(wǎng)絡(luò)中盛行,并被人們所接納;網(wǎng)上訂餐系統(tǒng)已成為如今電子商務(wù)中的一個(gè)重要應(yīng)用領(lǐng)域,它使得訂餐者與餐廳之間能進(jìn)行互動(dòng),足不出戶,訂購(gòu)自己低矮的菜品。餐廳也可以在網(wǎng)絡(luò)上查看訂單,根據(jù)自己的營(yíng)銷(xiāo)策略定價(jià),進(jìn)行宣傳,大影響,增加銷(xiāo)量。無(wú)論從平臺(tái)的建設(shè)、系統(tǒng)的開(kāi)發(fā)、功能的完善還是系統(tǒng)的維護(hù)上,都還需要進(jìn)行進(jìn)一步的研究與開(kāi)發(fā)。參考文獻(xiàn):1 楊千里,王育民.電子商務(wù)技術(shù)與應(yīng)用M.北京:電子工業(yè)出版社,19992 卞文志.網(wǎng)上訂餐將成為餐飲業(yè)利潤(rùn)第二落點(diǎn)J.烹調(diào)知識(shí).2007,(4):26273 李勇平. ASP.NET 2.0(C#)基礎(chǔ)教程M.北京:清華大學(xué)出版社,20084 Chris Ullman,John Kauffman等著.ASP.NET 1.1入門(mén)經(jīng)典.Visual C#.NET 2003編程篇M. 北京:清華大學(xué)出版社,20045 馬照亭等.ASP Web編程實(shí)例教程M.北京:北京希望電子出版社,20026 劉亞姝,許小榮,張玉梅等. ASP動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)與實(shí)踐M.北京:電子工業(yè)出版社,20077 孫三才,許熏尹.精通c#與ASE.NET程序設(shè)計(jì)M.北京:中國(guó)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論