基于.NET的在線訂餐系統(tǒng)設(shè)計與開發(fā)
基于.NET的在線訂餐系統(tǒng)設(shè)計與開發(fā),基于,NET,在線,系統(tǒng),設(shè)計,開發(fā)
編編 號號無錫太湖學(xué)院畢畢業(yè)業(yè)設(shè)設(shè)計計(論論文文)題目:題目: 基于基于.NET 的在線訂餐系統(tǒng)的在線訂餐系統(tǒng) 設(shè)計與開發(fā)設(shè)計與開發(fā) 信機(jī) 系系 計算機(jī)科學(xué)與技術(shù) 專專 業(yè)業(yè)學(xué) 號: 0921125學(xué)生姓名: 陸 瑩 指導(dǎo)教師: 李朝峰 (職稱:副教授 ) (職稱: )2013 年 5 月 25 日無錫太湖學(xué)院本科畢業(yè)設(shè)計(論文)無錫太湖學(xué)院本科畢業(yè)設(shè)計(論文)誠誠 信信 承承 諾諾 書書本人鄭重聲明:所呈交的畢業(yè)設(shè)計(論文) 基于.NET 的在線訂餐系統(tǒng)設(shè)計與開發(fā) 是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果,其內(nèi)容除了在畢業(yè)設(shè)計(論文)中特別加以標(biāo)注引用,表示致謝的內(nèi)容外,本畢業(yè)設(shè)計(論文)不包含任何其他個人、集體已發(fā)表或撰寫的成果作品。 班 級: 計科 94 學(xué) 號: 0921125 作者姓名: 2013 年 5 月 25 日I無無錫錫太太湖湖學(xué)學(xué)院院信信 機(jī)機(jī)系系 計計算算機(jī)機(jī)科科學(xué)學(xué)與與技技術(shù)術(shù) 專專業(yè)業(yè)畢畢 業(yè)業(yè) 設(shè)設(shè) 計計論論 文文 任任 務(wù)務(wù) 書書一、題目及專題:一、題目及專題:1、題目 基于.NET 的在線訂餐系統(tǒng)設(shè)計與開發(fā) 2、專題 二、課題來源及選題依據(jù)二、課題來源及選題依據(jù) 課題來源:導(dǎo)師指定 選題依據(jù):隨著時代的發(fā)展,人們的生活越來越離不開網(wǎng)絡(luò)。如今的網(wǎng)絡(luò)已滲透到社會的方方面面。網(wǎng)絡(luò)的迅猛發(fā)展不僅給我們帶來了無限便利,更給傳統(tǒng)的產(chǎn)業(yè)帶來了新的發(fā)展空間。餐飲行業(yè)的變化尤為明顯,最為突出的就是在線訂餐。 在線訂餐為人們提供了一個快速簡潔的訂餐方式,節(jié)省了很多不必要的時間。尤為突出的是在線訂餐圖文并茂,配有主要食材的介紹,更能及時更新為客戶提供最新信息。在線訂餐能提高餐飲企業(yè)效率,人們通過上網(wǎng),可以預(yù)訂進(jìn)餐時間和具體的菜色,為飯店帶來了新的收益。最重要的是,這樣的訂餐方式,對信息的存儲保管、更新、處理及時,實(shí)現(xiàn)了高度智能化管理。 三、本設(shè)計(論文或其他)應(yīng)達(dá)到的要求:三、本設(shè)計(論文或其他)應(yīng)達(dá)到的要求:了解 程序設(shè)計,完成系統(tǒng)的代碼的編寫; II 熟練掌握數(shù)據(jù)庫原理及應(yīng)用,特別是數(shù)據(jù)庫標(biāo)準(zhǔn)語言 SQL; 掌握 SQL SERVER2000 的使用,并熟練操作; 熟練使用 Visual Studio 2005 開發(fā)工具,進(jìn)行軟件開發(fā); 對餐廳運(yùn)營模式,在線訂餐的過程有一個總體的理解; 做好整個系統(tǒng)的需求分析,并按照要求循序漸進(jìn)的進(jìn)行系統(tǒng)開發(fā),逐步完善,最終完成系統(tǒng)開發(fā)。 四、接受任務(wù)學(xué)生:四、接受任務(wù)學(xué)生: 計科 94 班班 姓名姓名 陸 瑩 五、開始及完成日期:五、開始及完成日期:自自 2012 年年 11 月月 12 日日 至至 2013 年年 5 月月 25 日日六、設(shè)計(論文)指導(dǎo)(或顧問):六、設(shè)計(論文)指導(dǎo)(或顧問):指導(dǎo)教師指導(dǎo)教師簽名簽名 簽名簽名 簽名簽名教教研研室室主主任任學(xué)科組組長研究所學(xué)科組組長研究所所長所長簽名簽名 系主任系主任 簽名簽名2012 年年 11 月月 12 日日III摘摘 要要隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已成為人們?nèi)粘I畹囊徊糠?。越來越多的人喜歡上了網(wǎng)購這種便捷的方式,因此在線訂餐也受到了人們的歡迎。本系統(tǒng)分為兩大模塊:前臺模塊和后臺模塊。前臺登錄模塊主要實(shí)現(xiàn)了用戶注冊、用戶登錄、找回密碼的功能。用戶登錄后能夠?qū)Σ似愤M(jìn)行查詢、預(yù)定、加入購物車、訂單、支付、退款。用戶在我的訂單下可對訂單進(jìn)行查詢、個人資料的修改。用戶在社區(qū)家園里可以進(jìn)行留言并查看他人留言。在后臺模塊中,普通管理員能夠查看用戶信息,查詢并回復(fù)用戶留言,對菜品詳細(xì)信息、菜品類型進(jìn)行查詢及增刪改,對用戶訂單可查詢及批量刪除,還可實(shí)時更改公告欄信息。超級管理員除了上述操作外,還能查詢所有管理員信息,增加或刪除某個管理人員,修改管理員權(quán)限。經(jīng)過分析,本系統(tǒng)使用Visual Studio 2005和SQL-Server2000作為開發(fā)工具,開發(fā)出了以B/S為模式的基于ASP.NET的在線訂餐系統(tǒng)。關(guān)鍵關(guān)鍵詞:詞: ASP.NET;在線訂餐系統(tǒng);SQL-Server;Visual StudioIVAbstractWith the continuous development of computer network technology,the network has become a part of our daily live. These days more and more people prefer online shopping as it is convenient, so ordering online has also been welcomed by many people. The system is divided into two modules: front module and background module. The front module mainly realize the functions of user registration, user login, Retrieve password. After Users log in,they can inquire and reserve the dishes ,add dishes to the cart ,even make the order , pay or refund the dishes. Users can inquire the order ,change their information under the menu of “my order”. Users can also check messages from others in the community homestead. In the background module, normal administrators can view the user information, query and reply to Guest Book,do some additions and deletions or changes to the type of dishes, inquire and bulk delete the users orders, can also change the bulletin board in real time. In addition to the authority of normal administrators, the super administrator can query all administrators information. Add or delete a management, modify administrator privileges. After analysis, the system uses Visual Studio 2005 and SQL Server 2000 as a development tool, Develop ASP.NET-based online reservation system with B / S mode.Key words: ASP.NET; online reservation system ; SQL - Server ; Visual StudioV目目 錄錄摘 要.IIIABSTRACT.IV目 錄 .V1 緒論.11.1 在線訂餐系統(tǒng)的研究內(nèi)容和意義.11.2 國內(nèi)外訂餐系統(tǒng)的發(fā)展概況.11.3 在線訂餐系統(tǒng)應(yīng)達(dá)到的要求.11.4 開發(fā)環(huán)境.21.5 本文主要內(nèi)容.22 相關(guān)技術(shù)介紹.32.1 ASP.NET 技術(shù).32.2 SQL SERVER 2000 介紹.42.3 C#語言.52.4 B/S 結(jié)構(gòu).62.4 本章小節(jié).63 在線訂餐系統(tǒng)分析.73.1 可行性研究.73.2 需求分析.83.2.1 功能需求分析.83.2.2 數(shù)據(jù)庫需求分析.83.2.3 數(shù)據(jù)流圖.93.2.4 數(shù)據(jù)字典.113.3 流程圖.123.4 本章小節(jié).124 在線訂餐系統(tǒng)總體設(shè)計.134.1 系統(tǒng)模塊圖.134.1.1 前臺功能模塊.134.1.2 后臺功能模塊.144.2 數(shù)據(jù)庫設(shè)計.154.2.1 數(shù)據(jù)庫概念設(shè)計(E-R 圖).154.2.2 數(shù)據(jù)庫邏輯設(shè)計.174.2.3 數(shù)據(jù)庫物理設(shè)計.214.2.5 數(shù)據(jù)庫關(guān)系圖.224.3 本章小節(jié).225 在線訂餐系統(tǒng)的實(shí)現(xiàn).235.1 前臺系統(tǒng)的實(shí)現(xiàn).235.1.1 在線餐系統(tǒng)首頁.23VI5.1.2 菜單查詢與菜品詳細(xì)信息界面.245.1.3 預(yù)訂服務(wù)界面.265.1.4 我的訂單界面.305.1.5 社區(qū)家園界面.365.1.6 用戶登錄與注冊界面.385.2 后臺系統(tǒng)的實(shí)現(xiàn).435.2.1 登錄界面.435.2.2 用戶管理.435.2.3 菜品管理.455.2.4 訂單管理界面.465.2.5 管理員管理.475.2.6 公告欄界面.475.2.7 留言板界面.485.3 本章小節(jié).486 系統(tǒng)測試.496.1 測試方案.496.2 測試過程.496.3 本章小節(jié).497 結(jié)論與展望.517.1 結(jié)論.517.2 不足之處及未來展望.51致 謝.53參考文獻(xiàn).54附 錄.55基于.net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)11 緒論緒論1.1 在線訂餐系統(tǒng)的研究內(nèi)容和意義在線訂餐系統(tǒng)的研究內(nèi)容和意義現(xiàn)在是個屬于互聯(lián)網(wǎng)的世紀(jì),網(wǎng)絡(luò)技術(shù)的迅速發(fā)展使之成為了社會生活的一個十分重要的部分。各行各業(yè)的人們都在運(yùn)用這一技術(shù),為顧客提供更方便周到的服務(wù)。它給各個行業(yè)創(chuàng)造了無限的發(fā)展商機(jī)與巨大的經(jīng)濟(jì)效益。中國自古就有“國以民為本,民以食為天”的說法。隨著人們生活水平的不斷提高,對于實(shí)物的要求也從吃到飽吃到好變?yōu)槌缘慕】涤袪I養(yǎng)。酒店餐廳的競爭日趨激烈,更加突顯出改革的重要性。這種趨勢迫使各大飲食行業(yè)尋求新的銷路、降低管理成本、提供特色服務(wù)和培養(yǎng)忠實(shí)客戶等方法來提高餐廳的核心競爭力。而最為有效的方法就是應(yīng)用先進(jìn)的信息管理技術(shù),給飲食行業(yè)注入新鮮的血液。在線訂餐系統(tǒng)的開發(fā)正是如此,不僅能夠給飲食行業(yè)帶來生機(jī)和活力,而且能提高餐廳的知名度。在線訂餐不僅能夠方便消費(fèi)者,使用戶可以足不出戶訂購、瀏覽菜品。而且餐廳可以根據(jù)在線訂餐系統(tǒng)中用戶的訂單記錄,建立起自己潛在顧客資料。最為明顯的是在進(jìn)行優(yōu)惠活動時,能夠根據(jù)不同用戶的消費(fèi)情況制定具體的促銷方式。這樣以來的促銷更有針對性、實(shí)用性。1.2 國內(nèi)外訂餐系統(tǒng)的發(fā)展概況國內(nèi)外訂餐系統(tǒng)的發(fā)展概況現(xiàn)在我國多數(shù)餐廳使用的訂餐方式仍是電話訂餐。然而這種訂餐方式存在著許多的不足,如效率低,需人工記錄,而且容易遺漏和出錯。因此在線訂餐的出現(xiàn)順應(yīng)了時代的需求。當(dāng)然也有商家發(fā)現(xiàn)了新的市場開發(fā)網(wǎng)上業(yè)務(wù)。近幾年來國內(nèi)在線訂餐發(fā)展迅速,因?yàn)樵诰€訂餐模式的成本低,又有巨大的市場,從事在線訂餐的網(wǎng)站如雨后春筍般的出現(xiàn)。由于國內(nèi)關(guān)注在線訂餐的人數(shù)有限,而且比較集中在白領(lǐng)、大學(xué)生等青年群體中,以一線城市為主要市場,區(qū)域性比較明顯。所以總體來說,我國的在線訂餐業(yè)務(wù)才剛剛起步,仍然存有很大的發(fā)展空間。國外的許多知名餐飲企業(yè)在多年前就已經(jīng)開始了出現(xiàn)網(wǎng)上訂餐服務(wù),并且受到了許多人士的歡迎。最近幾年網(wǎng)上訂餐服務(wù)也在中國陸續(xù)推出、逐漸普及。1.3 在線訂餐系統(tǒng)應(yīng)達(dá)到的要求在線訂餐系統(tǒng)應(yīng)達(dá)到的要求 說明在線訂餐的指導(dǎo)思想;闡述在線訂餐系統(tǒng)應(yīng)解決的主要問題。 用戶可以進(jìn)行多條件查詢,根據(jù)具體需要方便、迅速的找到所需信息。 系統(tǒng)中的信息采用動態(tài)式發(fā)布,信息的發(fā)布更新的實(shí)時。且在線訂餐采用動態(tài)網(wǎng)頁技術(shù)實(shí)現(xiàn)內(nèi)容發(fā)布。 系統(tǒng)要有良好的互動性,方便用戶提供建議與意見。 系統(tǒng)要有清晰的構(gòu)架、友好美觀的界面。無錫太湖學(xué)院學(xué)士學(xué)位論文21.4 開發(fā)環(huán)境開發(fā)環(huán)境 服務(wù)器端操作系統(tǒng):Windows XP數(shù)據(jù)庫服務(wù)器:SQL Server2000瀏覽器:IE 瀏覽器 客戶器端瀏覽器:IE 瀏覽器1.5 本文主要內(nèi)容本文主要內(nèi)容本文通過需求分析對在線訂餐系統(tǒng)進(jìn)行總體規(guī)劃,開發(fā)出一個基于 B/S 模式的在線訂餐系統(tǒng)。本在線訂餐系統(tǒng)按照軟件工程的基本步驟進(jìn)行系統(tǒng)分析、設(shè)計和實(shí)現(xiàn)。本文的具體結(jié)構(gòu)安排如下:第一部分緒論主要闡明在線訂餐系統(tǒng)的研究內(nèi)容與意義,國內(nèi)外的訂餐系統(tǒng)的發(fā)展?fàn)顩r,以及系統(tǒng)應(yīng)達(dá)到的要求。第二部分主要內(nèi)容是相關(guān)技術(shù)的介紹,介紹了系統(tǒng)開發(fā)工具的優(yōu)勢所在。第三部分是對軟件進(jìn)行可行性分析與需求分析,分析了系統(tǒng)要達(dá)到的主要功能等。給出了系統(tǒng)的整體流程圖。第四部分主要是系統(tǒng)模塊設(shè)計和數(shù)據(jù)庫的設(shè)計,描述了系統(tǒng)前后臺的主要模塊,數(shù)據(jù)庫概念設(shè)計、邏輯設(shè)計和物理設(shè)計。第五部分主要講述了在線訂餐系統(tǒng)的實(shí)現(xiàn),前后臺的主要界面和代碼。第六部分對系統(tǒng)實(shí)現(xiàn)功能的測試,第七部分是對本文的結(jié)論和展望,總結(jié)了完成本系統(tǒng)后自己的感悟與系統(tǒng)存在的不足之處。最后,感謝對于在完成這次論文與軟件過程中給予幫助的人,列出參考文獻(xiàn)。 基于.net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)32 相關(guān)技術(shù)介紹相關(guān)技術(shù)介紹2.1 ASP.NET 技術(shù)技術(shù)ASP.NET 不僅僅是 Active Server Page 的繼承版本,還是一種建立在通用語言上的程序構(gòu)架,能被應(yīng)用于一臺 Web 服務(wù)器來建立強(qiáng)大的 Web 應(yīng)用程序。ASP.NET 具有許多比現(xiàn)在的 Web 開發(fā)模式更加強(qiáng)大的優(yōu)勢1。 增強(qiáng)的性能:ASP.NET 是在服務(wù)器上運(yùn)行的編譯好的公共語言運(yùn)行庫代碼。與被解釋的前輩不同,ASP.NET 利用本機(jī)優(yōu)化、實(shí)時編譯、盒外緩存和早期綁定服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能1。 世界級的工具支持:ASP.NET Framework 補(bǔ)充了 Visual Studio 集成開發(fā)環(huán)境中的大量設(shè)計器和工具箱。WYSIWYG 編輯、拖放服務(wù)器控件和自動部署只是這個強(qiáng)大的工具所提供功能中的少數(shù)幾種1。 威力和靈活性:由于 ASP.NET 基于公共語言運(yùn)行庫,因此 Web 應(yīng)用程序開發(fā)人員可以利用整個平臺的靈活性和威力。.NET Framework 類庫、消息處理和數(shù)據(jù)訪問解決方案都可從 Web 無縫訪問。ASP.NET 與語言無關(guān),所以可以跨多種語言分割應(yīng)用程序,或選擇最適合應(yīng)用程序的語言。另外,公共語言運(yùn)行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現(xiàn)有投資1。 簡易性:ASP.NET 執(zhí)行常見任務(wù)十分的容易,從簡單的窗體提交和客戶端身份驗(yàn)證到部署和站點(diǎn)配置。像 ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運(yùn)行庫利用托管代碼服務(wù)簡化了開發(fā)1。 可管理性:ASP.NET 采用基于文本的分層配置系統(tǒng),簡化了將設(shè)置應(yīng)用于 Web 應(yīng)用程序和服務(wù)器環(huán)境。因?yàn)榕渲眯畔⑹怯眉兾谋拘问酱鎯Φ?,所以可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學(xué)擴(kuò)展到了 ASP.NET Framework 應(yīng)用程序的部署。只要將所要的文件復(fù)制到服務(wù)器,即可將 ASP.NET Framework 應(yīng)用程序部署到服務(wù)器。而不需要將重新啟動服務(wù)器,是在替換或者部署運(yùn)行的編譯代碼時1。 可縮放性和可用性:ASP.NET 在設(shè)計時考慮了可縮放性,增加了專門用于在多處理器環(huán)境和聚集環(huán)境中提高性能的功能。另外,進(jìn)程受到 ASP.NET 運(yùn)行庫的密切監(jiān)視和管理,以便當(dāng)進(jìn)程行為不正常如泄漏、死鎖時,可就地創(chuàng)建新進(jìn)程,用來幫助保持應(yīng)用程序始終可用于處理請求1。 自定義性和擴(kuò)展性:ASP.NET 隨附了一個設(shè)計周到的結(jié)構(gòu),開發(fā)人員可以在適當(dāng)?shù)募墑e“插入”代碼。實(shí)無錫太湖學(xué)院學(xué)士學(xué)位論文4際上,可以用自己編寫的自定義組件擴(kuò)展或替換 ASP.NET 運(yùn)行庫的任何子組件。實(shí)現(xiàn)自定義身份驗(yàn)證或狀態(tài)服務(wù)一直沒有變得更容易1。 安全性:借助內(nèi)置的 Windows 身份驗(yàn)證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的1。2.2 SQL Server 2000 介紹介紹對存放在計算機(jī)中的數(shù)據(jù)庫進(jìn)行檢索、管理和組織時可以使用 SQL 語言。SQL 一詞是“Structured Query Language”的縮寫,是 IBM 公司 San Jose 實(shí)驗(yàn)室為 System R 而設(shè)計的語言,從 1982 年開始,美國國家標(biāo)準(zhǔn)協(xié)會即著手 SQL 標(biāo)準(zhǔn)化工作,1986 年 ANSI 的數(shù)據(jù)庫委員會批準(zhǔn)了 SQL 作為關(guān)系數(shù)據(jù)庫語言的美國標(biāo)準(zhǔn),這就是第一個 SQL 標(biāo)準(zhǔn),同時公布了 SQL 標(biāo)準(zhǔn)文本,在此后不久的 1987 年,國際標(biāo)準(zhǔn)化組織也做出了同樣的決定,目前的 SQL 標(biāo)準(zhǔn)是 1992 年指定的 SQL92 標(biāo)準(zhǔn),是一種用于與數(shù)據(jù)庫進(jìn)行交互的語言。SQL 語言的極大普及是當(dāng)今計算機(jī)工業(yè)中最引人注目的趨勢之一。過去的幾年中,SQL已經(jīng)發(fā)展成為標(biāo)準(zhǔn)計算機(jī)數(shù)據(jù)庫查詢語言。現(xiàn)在,微機(jī)到大型機(jī),有很多數(shù)據(jù)庫產(chǎn)品支持 SQL,SQL 的國際標(biāo)準(zhǔn)已經(jīng)能夠被采用并被不斷擴(kuò)充。SQL 在主要計算機(jī)開發(fā)上的數(shù)據(jù)庫體系中占有重要的地位2。SQL Server 提供服務(wù)器端的軟件,這部分需要安裝在 NT Server 上,SQL Server 的用戶端則可以安裝在許多用戶端 PC 系統(tǒng)中,Windows 可以讓用戶端進(jìn)行數(shù)據(jù)庫的建立,維護(hù)及存取等操作,SQL Server 可以最多定義 32767 個數(shù)據(jù)庫,每個數(shù)據(jù)庫中,可以定義20 億個表格,每個表格可以有 250 個字段,每個表格的數(shù)據(jù)個數(shù)并沒有限制,每一個表格可以定義 250 個索引,其中有一個可以是 Clustered 索引。 SQL Server 所使用的數(shù)據(jù)庫查詢語言稱為 Transact-SQL,它是 SQL Server 的核心,Transact-SQL 強(qiáng)化了原有的 SQL關(guān)鍵字以進(jìn)行數(shù)據(jù)的存取,儲存及處理等功能,Transact-SQL 擴(kuò)充了流程控制指定,可以使你方便的編寫功能強(qiáng)大的存儲過程,他們存放在服務(wù)器端,并預(yù)先編譯過,執(zhí)行速度非常塊,觸發(fā)是一種特殊的存儲過程,用來確保 SQL Server 數(shù)據(jù)庫引用的完整性,你可以建立插入,刪除和更新觸發(fā)以控制相關(guān)的表格中對數(shù)據(jù)列的插入,刪除和更新,你還可以使用規(guī)則(Rule) ,缺省(default)以及限制(Constraints) ,來協(xié)助將新的數(shù)值套用到表格中去2。 SQL為控制服務(wù)器的數(shù)據(jù)提供的功能:數(shù)據(jù)定義數(shù)據(jù)檢索數(shù)據(jù)完整性數(shù)據(jù)處理安全性并發(fā)訪問SQL支持對數(shù)據(jù)的并發(fā)的訪問、多個用戶可以同時使用系統(tǒng)而互不干擾,作為關(guān)系型數(shù)據(jù)庫領(lǐng)域出類拔萃的產(chǎn)品,Microsoft SQL Server 2005數(shù)據(jù)庫管理系統(tǒng)可以滿足各種類型的不同用戶和獨(dú)立軟件供應(yīng)商商業(yè)程序的要求。在最近的幾年中,微軟大力改進(jìn)了SQL Server,使得它具有很多新穎的、有創(chuàng)造性的特點(diǎn)。Microsoft SQL Server 2005,它是用于大規(guī)模聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用的數(shù)據(jù)庫平臺;也是用于數(shù)據(jù)集成、分析和報表解決方案的商業(yè)智能平臺2。 ADONET訪問數(shù)據(jù)庫的原理基于.net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)5與數(shù)據(jù)庫相連,ADONET提供了如下三種方式:通過ODBC相連;通過OLEDB相連;直接與SQL Server相連。三種方式由于應(yīng)用層次的差異,使得效率由低到高,獨(dú)立性由高到低。對于相連數(shù)據(jù)庫的數(shù)據(jù)處理,也有兩種方式,即一種是通過Dataset來隔離異構(gòu)的數(shù)據(jù)源,另一種是以流方式從數(shù)據(jù)源讀取Data Reader方式2。傳統(tǒng)的應(yīng)用程序是通過先建立到數(shù)據(jù)庫的連接,在程序的整個運(yùn)行過程中維護(hù)連接的方式來設(shè)計的。ASENET采取了斷開連接方式的數(shù)據(jù)結(jié)構(gòu)。當(dāng)瀏覽器向Web服務(wù)器請求網(wǎng)頁時,服務(wù)器處理這個請求,并將所請求的網(wǎng)頁發(fā)送給IE瀏覽器,然后連接就被斷開,直到瀏覽器發(fā)出下一個請求。為了在Web環(huán)境下傳輸數(shù)據(jù),Microsoft對ADO記錄集進(jìn)行了優(yōu)化。但COM類型轉(zhuǎn)換仍舊是一個必不可少的步驟,因?yàn)镃OM的數(shù)據(jù)類型不可能總是匹配ADO記錄集的數(shù)據(jù)類型,像String類型必須轉(zhuǎn)換成BSTR類型。由此,需要將ADO記錄集進(jìn)行格式轉(zhuǎn)換。通常的做法是:先提取一個記錄集,把它保存為XML格式,然后傳輸結(jié)果數(shù)據(jù)流,讓接收者從這個XML數(shù)據(jù)流重新構(gòu)造出記錄集供以后使用。隨著對協(xié)同工作能力和可伸縮性要求的提高,ADO逐漸被建立在XML的基礎(chǔ)上ADONET取代。ADONET的另一個創(chuàng)新是引入了數(shù)據(jù)集(Dataset)。一個數(shù)據(jù)集是內(nèi)存中提供數(shù)據(jù)關(guān)系圖的高速緩沖區(qū)。數(shù)據(jù)集對數(shù)據(jù)源一無所知,它們可以由程序或通過從數(shù)據(jù)倉庫中調(diào)入數(shù)據(jù)而被生成、填充。不論數(shù)據(jù)從何處獲取,數(shù)據(jù)集是通過使用同樣的程序模板而被操作的,并且它使用相同的潛在的數(shù)據(jù)緩沖區(qū)3。2.3 C#語言語言C#綜合了目前所有高級語言的優(yōu)點(diǎn),它具有以下幾個主要的特點(diǎn)4。 簡潔的語法C#淘汰了C+中亂七八糟的表示符號和偽關(guān)鍵字,使用了統(tǒng)一的操作符,使用最常見、最簡單的形式進(jìn)行描述4。 精心的面向?qū)ο笤O(shè)計從一開始,C#就是完全按照面相對象的思想來設(shè)計的,因此他具有面向?qū)ο髴?yīng)有的一切特性:多態(tài)、繼承與封裝等4。C#允許單繼承,從而避免了類型定義的混亂。在C#中每種類型都是一個對象,因此不存在全局參數(shù)、全局變量、全局函數(shù)等概念,所有的常量、屬性、索引、方法、變量、事件等都必須封裝在類中,從而使代碼具有更好的可讀性,并且減少了發(fā)生命名沖突的可能4。 與Web的緊密結(jié)合由于Microsoft.NET構(gòu)建了Web服務(wù)模型和Web應(yīng)用程序開發(fā)模型,從而使網(wǎng)絡(luò)編程更像是對本地對象進(jìn)行操作,從而使深層次、大規(guī)模的分布式開發(fā)成為可能。使用C#構(gòu)建的組件能夠方便地為Web服務(wù),并可以通過Internet被運(yùn)行在任何操作系系統(tǒng)上的任何語言所調(diào)用4。 完全的安全性與錯誤處理衡量一種語言是否優(yōu)秀的重要證據(jù):語言的安全性與錯誤處理能力。每個人都會出錯誤,即使是最熟練的程序員也不例外。如果這樣的軟件投入使用,查找與更改這些簡無錫太湖學(xué)院學(xué)士學(xué)位論文6單錯誤的代價將會是讓人無法接受的。而C#消除了許多軟件開發(fā)中的常見錯誤,并提出了包括類型安全在內(nèi)的完整的安全性能4。Microsoft.NET運(yùn)行庫的代碼訪問安全特性允許用戶和管理員根據(jù)代碼的ID來配置安全等級。在默認(rèn)情況下,從Internet和Internet下載的代碼都不允許訪問任何本地文件和資源。另外,C#提供了溢出檢查和邊界檢查功能,內(nèi)存管理中的垃圾收集機(jī)制也使開發(fā)人員對內(nèi)存管理的負(fù)擔(dān)大大減輕了4。 版本處理技術(shù)對軟件系統(tǒng)中的組件模塊進(jìn)行升級是一件容易產(chǎn)生錯誤的工作,在代碼修改過程中對某部分的修改可能會影響到代碼的其他部分,甚至導(dǎo)致程序崩潰。為了幫助開發(fā)人員處理這些問題,C#內(nèi)置了版本空間功能,如函數(shù)重載和接口的處理方式和特性支持等,從而保證能夠方便地開發(fā)和升級復(fù)雜的軟件4。 靈活性和兼容性默認(rèn)狀態(tài)下,C#不能使用指針,但可以使用delegate(委托)來模擬指針的功能,如果確實(shí)需要在類的方法或者類中直接使用指針,只需聲明只寫內(nèi)容為非安全的就可以了。另外, C#不支持類的多繼承,卻可以通過對接口的繼承來獲得這一功能 4。兼容性是指C#允許具有C+或C語言風(fēng)格的需要傳遞指針型參數(shù)API進(jìn)行交互操作,允許其他語言組件間與C#組件的互相操作等4。2.4 B/S 結(jié)構(gòu)結(jié)構(gòu)B/S 結(jié)構(gòu)就是瀏覽器/服務(wù)器模式,它是隨著網(wǎng)絡(luò)技術(shù)的興起,是對 C/S 結(jié)構(gòu)的一種改進(jìn)或者變化的結(jié)構(gòu)。在這種結(jié)構(gòu)下,有兩種方式實(shí)現(xiàn):WWW 瀏覽器、前端。其中用戶工作界面是通過前者來實(shí)現(xiàn),極少部分事務(wù)邏輯在后者實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂三層結(jié)構(gòu)。這樣客戶端的電腦載荷就減少了,系統(tǒng)維護(hù)與升級的成本和工作量減輕了,用戶的總體成本也降低了。從現(xiàn)有技術(shù)看,局域網(wǎng)建立 B/S 結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,通過網(wǎng)絡(luò)或網(wǎng)絡(luò)模式下的數(shù)據(jù)庫應(yīng)用,相對成本較低、也易于把握。它能實(shí)現(xiàn)不同的人員,以不同的操作共同和接入方式訪問的數(shù)據(jù)庫;能有效地管理訪問權(quán)限和保護(hù)數(shù)據(jù)平臺 5。2.5 本章小節(jié)本章小節(jié)本章介紹了在線訂餐系統(tǒng)設(shè)計過程中所涉及到的相關(guān)技術(shù),主要講解了 ASP.NET 的基礎(chǔ)知識,對 ASP.NET 進(jìn)行了概括性的介紹。其中所涉及到的技術(shù)對軟件的開發(fā)十分重要,需要了解、掌握?;?net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)73 在線訂餐系統(tǒng)分析在線訂餐系統(tǒng)分析3.1 可行性可行性研究研究可行性研究是在進(jìn)行初步調(diào)查后對所進(jìn)行的系統(tǒng)開發(fā)的必要性和可能性的研究,所以也稱為可行性研究6。因此,對于任何一個需要開發(fā)的項(xiàng)目,在開發(fā)之前必須根據(jù)客戶提供的條件進(jìn)行可行性分析,從而減少開發(fā)的風(fēng)險,避免資源的浪費(fèi)??尚行苑治鰬?yīng)從技術(shù)可行性,經(jīng)濟(jì)可行性和操作可行性三方面來分析論證。通過對飲食市場的觀察與分析,在線訂餐系統(tǒng)具有可行性,具體分析如下放的內(nèi)容: 技術(shù)可行性技術(shù)可行性分析主要分析的是在現(xiàn)有的技術(shù)條件下是否能夠?qū)崿F(xiàn)這個系統(tǒng)?,F(xiàn)有的技術(shù)完全能夠?qū)崿F(xiàn)在線訂餐的開發(fā)現(xiàn)實(shí)。本系統(tǒng)可以采用了 Visual Studio 2005 和 SQL Server 2000 進(jìn)行相關(guān)的開發(fā),并且 Visual Studio 2005 整合了 XML、關(guān)系型數(shù)據(jù)、對象的訪問方式,它的語言更加簡練。使用 Visual Studio 2005 可以高效開發(fā) Windows 應(yīng)用程序。 它是面向?qū)ο蟮目梢暬浖_發(fā)工具,其對編程平臺對數(shù)據(jù)庫的訪問做了很好的封裝,數(shù)據(jù)庫接口的轉(zhuǎn)換只需動態(tài)更改控件的相關(guān)屬性即可;另考慮到 SQL Server 數(shù)據(jù)庫服務(wù)器用戶,亦提供 SQL Server 數(shù)據(jù)庫接口,微軟公司的 SQL Server 數(shù)據(jù)庫,它能夠處理大量數(shù)據(jù),同時保持?jǐn)?shù)據(jù)的完整性并提供許多高級管理功能。它的易用性、安全性和靈活性也為數(shù)據(jù)庫編程提供了良好的條件。此外,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足在線訂餐系統(tǒng)的需要。在線訂餐系統(tǒng)屬于一個中等規(guī)模的電子商務(wù)系統(tǒng)。它基本屬于一個數(shù)據(jù)庫應(yīng)用類的Web 應(yīng)用系統(tǒng)。其基本操作還是對數(shù)據(jù)進(jìn)行添加、刪除、查找、編輯等。所以就單單看數(shù)據(jù)庫應(yīng)用,暫不存在太大的技術(shù)問題。 經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性主要是對系統(tǒng)的經(jīng)濟(jì)效益進(jìn)行評價,評估項(xiàng)目的開發(fā)成本,估算開發(fā)成本是否會超過項(xiàng)目預(yù)算的全部利潤。像酒店餐廳這樣的營業(yè)性場所,其經(jīng)濟(jì)成分比重相對較多,主要是支出的費(fèi)用:其中包括軟件開發(fā)費(fèi)用、管理和維護(hù)費(fèi)、設(shè)備購置費(fèi)、人員工資和培訓(xùn)費(fèi)等。而且目前計算機(jī)的價格已經(jīng)十分低廉,大多數(shù)家庭都備有一臺計算機(jī),并且計算機(jī)的性能也有了很大的提高,所以對于餐廳來說完全具有經(jīng)濟(jì)可行性。開發(fā)本系統(tǒng)對系統(tǒng)開發(fā)者來說,并不需要太高的成本支出,開發(fā)周期也不需太長,不僅節(jié)省了人力、物力、財力、資源,這也是一種長遠(yuǎn)的投資。對于一般的小型企業(yè),建立一個在線訂餐系統(tǒng),投入的資金、人力并不大。這對于有一定經(jīng)濟(jì)基礎(chǔ)的餐廳來說,建立這樣一個在線訂餐系統(tǒng)難度并不大。這樣就能節(jié)省大量的人力、時間及財力。所以,本系統(tǒng)在經(jīng)濟(jì)上是可行的。 操作可行性現(xiàn)如今信息技術(shù)發(fā)展迅速,計算機(jī)技術(shù)和軟件技術(shù)的更新,餐廳完全有能力有必要引進(jìn)這樣領(lǐng)先的銷售技術(shù)。在線訂餐系統(tǒng)對整個餐廳的管理理念有很大的影響,對餐廳無錫太湖學(xué)院學(xué)士學(xué)位論文8工作員工的綜合素質(zhì)有了更高得要求,這會在無形之中提高酒店餐廳的整體服務(wù)質(zhì)量。而且系統(tǒng)操作簡單方便,各大餐廳酒店企業(yè)完全能夠行得通。有此可知,在線訂餐系統(tǒng)的開發(fā)在在技術(shù)和經(jīng)濟(jì)等方面都具有極高的可行性,并且能夠帶來良好的效益。3.2 需求分析需求分析需求分析階段要解決的核心問題是:系統(tǒng)是干什么的?系統(tǒng)有哪些功能?軟件定義時期的最后一個階段是需求分析,它的基本任務(wù)是準(zhǔn)確的定位系統(tǒng)的功能,以滿足用戶的要求。這個階段不是要確定系統(tǒng)怎樣完成他的功能,而是要確定系統(tǒng)一定要具備哪些功能,也就是對系統(tǒng)提出具體、清晰、準(zhǔn)確、完整的要求6。3.2.1 功能需求分析功能需求分析在線訂餐系統(tǒng)隨著互聯(lián)網(wǎng)的迅猛發(fā)展越來越受到人們的重視,而在線訂餐這一新的營銷模式的出現(xiàn)更是顛覆了傳統(tǒng)的經(jīng)營方式,不僅能夠提高銷量。降低運(yùn)作成本,增加了餐廳的競爭力。對大多數(shù)餐飲企業(yè)來說,建立一個在線訂餐系統(tǒng)勢在必行。所以在線訂餐系統(tǒng)應(yīng)實(shí)現(xiàn)的功能主要包括: 前臺功能用戶信息管理:用戶可以在登錄后可以對其資料進(jìn)行修改,系統(tǒng)的部分信息只對登錄的注冊用戶開放。還沒有賬號的用戶可以進(jìn)行注冊。如有用戶忘記密碼,可以根據(jù)提示問題找回密碼。菜品信息管理:用戶可以根據(jù)具體條件查詢菜品,登錄后可進(jìn)行預(yù)訂。購物車信息管理:用戶登錄后可以對購物車中的菜品進(jìn)行增加、修改、刪除。訂單信息管理:用戶登錄后可以查看已付款的訂單,未完成的訂單。留言板信息管理:用戶可以進(jìn)行留言,并且管理員能夠針對留言進(jìn)行相應(yīng)的回答。幫助信息:為用戶提供系統(tǒng)基本信息、用戶注意事項(xiàng)及版權(quán)信息。權(quán)限維護(hù):用戶登錄后可以對已有用戶的密碼進(jìn)行修改。 后臺功能用戶管理:可以實(shí)現(xiàn)用戶的查看、添加、刪除操作。菜品管理:實(shí)現(xiàn)菜品的修改、添加和刪除等操作。菜品類型管理:可以對菜品類型進(jìn)行修改、添加和刪除等操作。訂單管理:可以對訂單進(jìn)行處理。管理員管理:可以實(shí)現(xiàn)管理員的添加刪除以及修改密碼。3.2.2 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析在線訂餐系統(tǒng)是一個典型的電子商務(wù)類型系統(tǒng),根據(jù)上面的系統(tǒng)需求和功能分析,數(shù)據(jù)庫中需要有以下信息。用戶信息,包括用戶名、密碼、姓名、年齡等信息。菜品信息,包括菜品名、所屬類別、價格等信息。購物車,包括用戶購買信息、菜品名、數(shù)量等。訂單,包括用戶名、用餐時間、訂餐人姓名、聯(lián)系方式等信息?;?net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)93.2.3 數(shù)據(jù)流圖數(shù)據(jù)流圖在詳細(xì)的調(diào)研與分析一般餐廳經(jīng)營活動過程的基礎(chǔ)上,得到分析設(shè)計得出了一下各級數(shù)據(jù)流圖。 系統(tǒng)前臺(用戶)的基本數(shù)據(jù)流圖,如圖 3.1 所示:用戶的基本信息、所使用購物車信息、相關(guān)的訂單信息、留言注意事項(xiàng)數(shù)據(jù)分別經(jīng)過用戶信息管理、購物車管理、訂單管理、留言管理的處理過程后,對應(yīng)的數(shù)據(jù)流就分別存儲到用戶信息表、購物車表、訂單表、留言表中,同時可從對應(yīng)表中將具體信息顯示供用戶查看。用戶用戶社區(qū)家園購物車我的訂單2購物車管理1用戶信息管理D1 用戶信息D2 購物車D3 訂單 D4 留言4留言管理3訂單管理我的信息圖 3.1 在線訂餐系統(tǒng)前臺數(shù)據(jù)流圖 系統(tǒng)后臺(管理員)的基本數(shù)據(jù)流圖,如圖 3.2 所示:管理員對于所管理的用戶的基本信息、菜品的基本信息、相關(guān)的訂單信息、留言、管理員信息數(shù)據(jù)分別經(jīng)過用戶管理、菜品管理、訂單管理、留言管理、管理員管理的處理過程后,對應(yīng)的數(shù)據(jù)流就分別存儲到用戶信息表、菜品信息表、訂單表、留言表、管理員表中,同時可從對應(yīng)表中將具體信息顯示供管理員查看。無錫太湖學(xué)院學(xué)士學(xué)位論文10管理員管理員用戶管理管理員管理菜品管理訂單管理2菜品管理1用戶管理D1 用戶信息D5 菜品信息D3 訂單 D6 管理員5管理員管理3訂單管理4留言管理D4 留言 信息管理圖 3.2 在線訂餐系統(tǒng)后臺數(shù)據(jù)流圖 用戶訂餐的數(shù)據(jù)流圖是整個系統(tǒng)數(shù)據(jù)流圖最重要的部分,在線訂餐系統(tǒng)數(shù)據(jù)流圖如圖 3.3 所示:購物車2添加到購物車用戶3修改購物車4填寫訂單5確認(rèn)訂單6付款訂單圖 3.3 在線訂餐系統(tǒng)訂餐數(shù)據(jù)流圖基于.net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)113.2.4 數(shù)據(jù)字典數(shù)據(jù)字典數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合。數(shù)據(jù)字典通常包括數(shù)據(jù)存儲、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項(xiàng)數(shù)據(jù)流、和處理過程 5 個部分。除此之外,數(shù)據(jù)字典中還包含了一些其他信息如:定義(數(shù)據(jù)類型、長度、結(jié)構(gòu)等) ,一般信息(名字、別名、描述等) ,使用特點(diǎn),控制信息和分組信息等。數(shù)據(jù)字典主要被人們用于查閱不明白的條目的解釋3。因?yàn)樵诰€訂餐系統(tǒng)是一個小型軟件系統(tǒng),所以采用卡片形式書寫數(shù)據(jù)字典,每張卡片上保存描述一個數(shù)據(jù)的信息。每張卡片上包含了主要包含了編號、名字、描述這樣一些信息。以下面數(shù)據(jù)字典的卡片來舉例說明。 數(shù)據(jù)結(jié)構(gòu)下面以“菜品信息”為例。 名字:菜品信息; 別名:d_Food; 描述:在線訂餐系統(tǒng)的菜品信息; 定義:菜品信息=菜品編號+菜品類型編號+菜品名稱+菜品單價+菜品介紹+菜品圖片地址; 位置:保存到菜品信息表中。 數(shù)據(jù)項(xiàng)以數(shù)據(jù)結(jié)構(gòu)“菜品信息”的數(shù)據(jù)項(xiàng)“菜品編號”為例。 名字:菜品編號; 別名:foodID; 描述:唯一標(biāo)識某菜品入庫的數(shù)字編號; 定義:整型數(shù); 位置:在菜品信息,購物車中。 數(shù)據(jù)流以數(shù)據(jù)結(jié)構(gòu)“菜品信息”在系統(tǒng)內(nèi)的流動為例。 數(shù)據(jù)流名:菜品信息數(shù)據(jù)流; 數(shù)據(jù)流來源:管理員錄入處理; 數(shù)據(jù)流去向:菜品信息表; 平均流量:不定;說明:“菜品信息”數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)的流向; 高峰期流量:不定。 數(shù)據(jù)存儲以數(shù)據(jù)結(jié)構(gòu)“菜品信息”在系統(tǒng)內(nèi)的存儲為例。 數(shù)據(jù)存儲名:菜品信息表; 說明:管理員添加菜品信息及管理員審核信息; 編號:菜品信息的唯一標(biāo)識,從 1 開始每次自增 1; 輸入的數(shù)據(jù)流:管理員添加菜品信息; 輸出的數(shù)據(jù)流:管理員審核的信息;無錫太湖學(xué)院學(xué)士學(xué)位論文12 數(shù)據(jù)結(jié)構(gòu):菜品信息; 數(shù)據(jù)量:不定; 存取頻率:不定; 存取方法:順序查詢與隨機(jī)查詢、查詢與更新、聯(lián)機(jī)處理等。 處理過程以“菜品信息”為例。 處理過程名:菜品信息; 說明:管理員添加菜品信息; 輸入:菜品編號、菜品類型編號、菜品名稱、菜品單價、菜品介紹、菜品圖片地址; 輸出:保存到菜品信息表中; 處理:對菜品進(jìn)行唯一性驗(yàn)證。數(shù)據(jù)字典的基本表示方法如上面的例子,它只是起到了引導(dǎo)的作用。完善的數(shù)據(jù)字典應(yīng)根據(jù)系統(tǒng)實(shí)際的需求分析,在充分研究、分析、討論的基礎(chǔ)上建立,并且在將來設(shè)計數(shù)據(jù)庫的過程中不斷完善、充實(shí)、修改。3.3 流程圖流程圖用戶首先進(jìn)入的是在線訂餐系統(tǒng)的首頁,在首頁用戶可以查看餐廳介紹、菜單查詢、社區(qū)家園。對于未注冊用戶可以先進(jìn)行注冊,注冊過的用戶則可以直接登錄進(jìn)入系統(tǒng)。登錄后用戶可以查看之前購物車、訂單、用戶信息,也可以進(jìn)行菜品的預(yù)訂完成相應(yīng)的操作, 網(wǎng)上訂餐系統(tǒng)運(yùn)行時一般按照圖3.4所示的操作流程進(jìn)行操作。菜單查詢用戶管理首頁社區(qū)家園餐廳介紹預(yù)訂菜品登陸購物車完成訂單支付注冊退出預(yù)訂服務(wù)查看訂單發(fā)表留言查找菜品圖 3.4 在線訂餐系統(tǒng)流程示意圖3.4 本章小節(jié)本章小節(jié)本章講述了系統(tǒng)的可行性研究及需求分析??尚行苑治鲞M(jìn)一步探討問題定義階段所基于.net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)13確定的問題是否有可行的解,具體分析了在線訂餐系統(tǒng)的實(shí)際可行性。需求分析這具體的描述了本系統(tǒng)的要求。4 在線訂餐系統(tǒng)總體設(shè)計在線訂餐系統(tǒng)總體設(shè)計總體設(shè)計階段的核心問題是:怎樣實(shí)現(xiàn)系統(tǒng)?通常分為系統(tǒng)設(shè)計、結(jié)構(gòu)設(shè)計兩個階段。前者確定系統(tǒng)的具體方案;后者確定軟件結(jié)構(gòu)6。4.1 系統(tǒng)模塊圖系統(tǒng)模塊圖4.1.1 前臺功能模塊功能模塊根據(jù)在線訂餐系統(tǒng)的特點(diǎn),可以將其分成前臺 模塊、后臺模塊兩個部分。前臺的設(shè)計主要用于用戶瀏覽、查找菜品信息、預(yù)訂菜品、用戶留言等;而后臺的設(shè)計主要針對的是管理員對于菜品信息、用戶信息和其他信息的管理。 如圖 4.1 所示為在線訂餐系統(tǒng)的前臺功能模塊圖。社區(qū)家園發(fā)表留言會員登錄在線訂餐系統(tǒng)前臺我的訂單查詢訂單訂單取消訂單完成未付款訂單用戶注意事項(xiàng)預(yù)訂服務(wù)查詢菜品完成付款首頁菜單查詢查詢美食菜品展示加入購物車修改密碼公告欄友情鏈接美食展示提交訂單餐廳介紹查看個人資料留言列表會員注冊圖 4.1 在線訂餐系統(tǒng)前臺功能模塊圖 登錄模塊當(dāng)用戶進(jìn)入在線訂餐系統(tǒng)首頁時,可點(diǎn)擊注冊進(jìn)入到用戶注冊模塊,進(jìn)行相應(yīng)信息的填寫,注冊成功后可以進(jìn)行登錄。若已經(jīng)注冊者可直接登錄,但忘記密碼時,可點(diǎn)擊忘記密碼鏈接到獲取密碼。 預(yù)訂模塊用戶可以根據(jù)菜品的種類、價格、名稱進(jìn)行相應(yīng)的查詢。如果需要預(yù)定,那必須先登錄。登錄后可以點(diǎn)擊預(yù)訂進(jìn)入到購物車模塊。 購物車模塊當(dāng)用戶登錄后,也可以直接進(jìn)入購物車查看之前訂購的商品,修改商品數(shù)量,刪除商品。可清空購物車,或點(diǎn)擊繼續(xù)購物返回菜品預(yù)訂。確認(rèn)購物車中菜品信息后,點(diǎn)擊無錫太湖學(xué)院學(xué)士學(xué)位論文14結(jié)算后填寫訂餐人信息,填寫完后再次確認(rèn)菜品信息,若菜品有所錯可以點(diǎn)擊返回進(jìn)行修改,若確定者提交訂單,最后進(jìn)行支付。 我的訂單模塊當(dāng)用戶登錄后,用戶可以按照訂單狀態(tài)來選擇查看訂單,具體分為未完成訂單和已完成訂單。進(jìn)入后還可根據(jù)日期、姓名等進(jìn)行具體查詢。用戶還可以查看自己的個人資料,也可修改相應(yīng)的信息。 社區(qū)家園模塊用戶未登錄時可以,查看留言和注意事項(xiàng)。如果用戶想進(jìn)行留言,那必須先登錄。4.1.2 后臺功能模塊后臺功能模塊在線訂餐系統(tǒng)的后臺功能模塊圖如圖 4.2 所示。管理員管理修改管理員查詢用戶在線訂餐系統(tǒng)后臺信息管理查看留言刪除留言回復(fù)留言添加管理員訂單管理已付款訂單已退款訂單用戶管理菜品管理添加菜品未付款訂單更新公告板添加菜品類型添加用戶查看菜品類型刪除管理員刪除用戶編輯菜品圖 4.2 在線訂餐系統(tǒng)后臺功能模塊圖 用戶管理模塊 管理員登錄后,僅僅只可以對用戶的信息可以進(jìn)行查詢,并不能隨意修改用戶的信息。對于極端用戶可以進(jìn)行刪除。 菜品管理模塊管理員能夠查看所有的菜品,并能修改、刪除菜品信息,也可以修改菜品類型,增加菜品等。 訂單管理模塊在對訂單進(jìn)行管理時,可以根據(jù)日期區(qū)間對訂單進(jìn)行查詢,進(jìn)行相應(yīng)的增刪改操作。 管理員信息模塊只有超級管理員能夠?qū)芾韱T進(jìn)行查詢、增加、刪除、更改操作。基于.net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)154.2 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的的好壞將直接對整個在線訂餐系統(tǒng)的效率和實(shí)現(xiàn)效果有很大的影響,因此數(shù)據(jù)庫在整個系統(tǒng)中占有著十分重要的地位 。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以很好的提高數(shù)據(jù)存儲的效率。不但如此,數(shù)據(jù)庫結(jié)構(gòu) 是否將直接影響系統(tǒng)的實(shí)現(xiàn)7。4.2.1 數(shù)據(jù)庫概念設(shè)計(數(shù)據(jù)庫概念設(shè)計(E-R 圖)圖)E-R 模型的“聯(lián)系”用于刻畫實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對局部結(jié)構(gòu)中任意兩個實(shí)體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個實(shí)體類型之間是否存在聯(lián)系。如果存在聯(lián)系,進(jìn)一步確定是 1:1,1:N,還是 M:N 等。還要考察一個實(shí)體類型內(nèi)部是否存在聯(lián)系,兩個實(shí)體類型之間是否存在聯(lián)系,多個實(shí)體類型之間是否存在聯(lián)系等。根據(jù)上面的分析,得出系統(tǒng)所要處理的實(shí)體及其聯(lián)系,在確定實(shí)體及其聯(lián)系的主要屬性后,結(jié)合系統(tǒng)的功能處理要求后,在分析設(shè)計出的數(shù)據(jù)流程圖的基礎(chǔ)上,能得出系統(tǒng)要處理的實(shí)體及其聯(lián)系,在確定實(shí)體及其聯(lián)系的主要屬性后,結(jié)合系統(tǒng)的功能處理要求后,得出 E-R 圖,具體如下: 關(guān)于管理員實(shí)體、留言實(shí)體、管理員類型實(shí)體,如圖 4.3 所示。由圖可知,一個管理員可以回復(fù)多條留言,一條留言由一個管理員回復(fù),所以管理員與留言是一對多的關(guān)系;一個管理員只屬于一個管理員類型,而一個管理員類型可以對應(yīng)多名管理員,所以管理員與管理員類型是一對多的關(guān)系。管理員管理員編號管理員姓名管理員密碼管理員類型編碼屬于N1管理員類型管理員類型名稱管理員類型編碼回復(fù)留言N1信息編號用戶編號信息內(nèi)容信息發(fā)布時間回復(fù)回復(fù)時間圖 4.3 公 告欄模塊圖管理員實(shí)體的屬性包括:管理員編號編號、管理員姓名、管理員密碼、管理員類型無錫太湖學(xué)院學(xué)士學(xué)位論文16編號;留言實(shí)體的屬性包括:信息編號、用戶姓名、信息內(nèi)容、信息發(fā)布時間、回復(fù)、回復(fù)時間;管理員類型實(shí)體的屬性包括:管理員類型編號管理員類型名稱。 關(guān)于公告欄實(shí)體,如圖 4.4 所示。公告實(shí)體的屬性包括:公告編號、發(fā)布時間日期、公告信息內(nèi)容。公告欄信息內(nèi)容公告欄公告欄信息編號公告欄發(fā)布時間圖 4.4 公告欄模塊圖 關(guān)于用戶實(shí)體、菜品實(shí)體、購物車實(shí)體、訂單實(shí)體、留言實(shí)體、訂單類型實(shí)體、菜品類型實(shí)體,如圖 4.5 所示。由圖可知,一個用戶可以選擇多個菜品,多道菜屬于一個用戶所以用戶與菜品是一對多的關(guān)系;一個菜品只屬于一個菜品類型,而一個菜品類型可以對應(yīng)多道菜,所以菜品與菜品類型是一對多的關(guān)系;一個購物車中可以加入多道菜,而多道菜加入一個購物車,所以購物車與菜品是一對多的關(guān)系;一個購物車中可以生成多條訂單,而多道訂單從一個購物車生成,所以購物車與菜品是一對多的關(guān)系;一個訂單只有一個種訂單類型,而一個訂單類型可以有多條訂單,所以訂單與訂單類型是一對多的關(guān)系;一個用戶可以留多條言,而一條留言只可能是一個客戶留的,所以用戶與留言是一對多的關(guān)系。用戶信息實(shí)體的屬性包括:用戶編號、用戶姓名、密碼、密碼提示問題、答案、電話號碼、真實(shí)姓名、性別、年齡;菜品實(shí)體的屬性包括:菜品編號、菜品類型編號、菜品單價、菜品名稱、菜品介紹、菜品圖片地址;購物車實(shí)體的屬性包括:購物車編號、用戶編號、訂單編號、菜品編號、菜品數(shù)量、小計、加入購物車時間;訂單實(shí)體的屬性包括:訂單編號、用戶編號、用餐時間、加入訂單時間、訂餐人姓名、訂餐人電話、訂單類型編號;留言實(shí)體的屬性包括:信息編號、用戶姓名、信息內(nèi)容、信息發(fā)布時間、回復(fù)、回復(fù)時間;訂單類型實(shí)體的屬性包括:訂單類型編號、訂單類型名稱;菜品類型實(shí)體的屬性包括:菜品類型編號、菜品類型名稱?;?net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)17用戶購物車選擇菜品加入生成訂單屬于訂單類型留言留下1NN11NN11N密碼真實(shí)姓名訂餐人電話訂餐人姓名用餐時間用戶編號訂單編號菜品圖片地址菜品介紹菜品單價菜品名稱菜品類型編號菜品編號用戶編號答案提示問題用戶姓名密碼年齡性別電話號碼用戶編號訂單編號加入購物車時間購物車編號小計菜品數(shù)量菜品編號加入訂單時間訂單類型編號訂單編號身份證信息編號用戶編號信息內(nèi)容信息發(fā)布時間回復(fù)回復(fù)時間屬于菜品類型N1菜品類型名稱菜品類型編號圖 4.5 系統(tǒng)基本 E-R 圖4.2.2 數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫邏輯設(shè)計4.2.2.1 數(shù)據(jù)庫關(guān)系模式數(shù)據(jù)庫關(guān)系模式根據(jù) E-R 圖轉(zhuǎn)換到關(guān)系模式的轉(zhuǎn)換規(guī)則(一對多的聯(lián)系均采用合并的規(guī)則) ,很容易的到如下的關(guān)系模式。(說明:本系統(tǒng)關(guān)系模式有商榷和完善的余地,數(shù)據(jù)庫的屬性均是用英文表示,標(biāo)注下劃線的是各表的主碼) , 菜品信息(菜品編號、菜品類型編號、菜品名稱、菜品單價、菜品介紹、菜品圖片地址、菜品數(shù)量、菜品推薦) 菜品類型(菜品類型編號、菜品類型名稱) 用戶信息(用戶編號、用戶姓名、密碼、真實(shí)姓名、電話號碼、性別、年齡、密碼提示問題、答案) 購物車(購物車編號、用戶編號、訂單編號、菜品編號、菜品數(shù)量、小計、加入無錫太湖學(xué)院學(xué)士學(xué)位論文18購物車時間) 訂單(訂單編號、用戶編號、用餐時間、訂餐人姓名、訂餐人電話、加入訂單時間、訂單類型編號) 訂單類型(訂單類型編號、訂單類型名稱) 留言板信息(信息編號、用戶編號、信息內(nèi)容、信息發(fā)布時間、回復(fù)、回復(fù)時間) 公告欄(公告欄信息編號、公告欄信息編號、公告欄發(fā)布時間) 管理員信息(管理員編號、管理員姓名、管理員密碼、管理員類型編碼) 管理員類型(管理員類型編碼、管理員類型名稱)表名與屬性名轉(zhuǎn)化為對相應(yīng)的英文,如下所示: d_Food(FoodID、foodTypeID、foodName、foodPrice、foodINtroduction、foodImageUrl、foodShow) d_FoodType(foodTypeID、foodTypeName) d_Memberuser(userID、membername 、password、customername、telephone、sex、age、sfznumber、question、answer) d_Cart(cartID、userID、orderID、foodID、foodName、foodPrice、number、count、nowtime) d_Order(orderID、userID、amount、ordertime、name、sfz、tel、nowtime、statusTypeID) d_StatusType (statusTypeID、statusTypeName) d_Message(messageID、userID、messageNote、messagetime、reply、replyTime) d_New(newID、newtext、newTime) d_Admin(adminID、adminname、pass、adminTypeID) d_ AdminType(adminTypeID、adminTypeName)4.2.2.2 數(shù)據(jù)庫及表結(jié)構(gòu)數(shù)據(jù)庫及表結(jié)構(gòu)根據(jù)在數(shù)據(jù)庫概念設(shè)計中的 E-R 圖,設(shè)計數(shù)據(jù)表結(jié)構(gòu)。其中以下劃線標(biāo)出的為關(guān)系模式的主鍵(數(shù)據(jù)庫中的屬性均為) 。以下是在線訂餐系統(tǒng)數(shù)據(jù)庫中各個表的設(shè)計: 用于記錄菜品信息的 d_Food 表,該表的設(shè)計結(jié)構(gòu)如表 4-1 所示。菜品信息(菜品編號、菜品類型編號、菜品名稱、菜品單價、菜品介紹、菜品圖片地址、菜品是否顯示)表 4-1 菜品信息表序號字段名數(shù)據(jù)類型長度主鍵否允許空含義1FoodIDInt4是菜品編號2foodTypeIDInt4是菜品類型編號3foodNameNvarchar50是菜品名稱4foodPriceInt4是菜品單價5foodINtroductionNvarchar500是菜品介紹基于.net 的在線訂餐系統(tǒng)設(shè)計與開發(fā)196foodImageUrlNvarchar50是菜品圖片地址7foodShowInt4是菜品推薦 用于記錄菜品信息的 d_FoodType 表,該表的設(shè)計結(jié)構(gòu)如表 4-2 所示。菜品類型(菜品類型編號、菜品類型名稱) ;表 4-2 菜品類型表序號字段名數(shù)據(jù)類型長度主鍵否允許空含義1foodTypeIDInt4是菜品類型編號2FoodTypeNameNvarchar50是菜品類型名稱 用于記錄用戶信息的 d_Memberuser 表,該表的設(shè)計結(jié)構(gòu)如表 4-3 所示。菜品類型(菜品類型編號、菜品類型名稱)用戶信息(用戶編號、用戶姓名、密碼、真實(shí)姓名、電話號碼、性別、年齡、身份證號碼、密碼提示問題、答案) ;表 4-3 用戶信息表序號字段名數(shù)據(jù)類型長度主鍵否允許空含義1userIDInt4是用戶編號2membernameInt4是用戶姓名3passwordNvarchar50是密碼4customernameInt4是真實(shí)姓名5telephoneNvarchar50是電話號碼6sexchar10是性別7ageInt4是年齡8sfznumberNvarchar50是身份證號碼9questionNvarchar50是密碼提示問題10answerNvarchar50是答案 用于記錄購物車信息的 d_Cart 表,該表的設(shè)計結(jié)構(gòu)如表 4-4 所示。購物車(購物車編號、用戶編號、訂單編號、菜品編號、菜品名稱、菜品單價、菜品數(shù)量、小計、加入購物車時間) 。表 4-4 購物車信息表序號字段名數(shù)據(jù)類型長度主鍵否允許空含義1cartIDInt4是購物車編號2userIDInt4是用戶編號3orderIDInt4是訂單編號4foodIDInt4是菜品編號5numberInt4是菜品數(shù)量6countint4是小計無錫太湖學(xué)院學(xué)士學(xué)位論文207nowtimedatetime8是加入時間 用于記錄訂單信息的 d_Order 表,該表的設(shè)計結(jié)構(gòu)如表 4-5 所示。訂單(訂單編號、用戶編號、用餐時間、訂餐人姓名、訂餐人電話、加入訂單時間、訂單類型編號)表 4-5 訂單信息表序號字段名數(shù)據(jù)類型長度主鍵否允許空含義1orderIDInt4是訂單編號2userIDInt4是用戶編號3amountInt4是合計4ordertimedatetime8是用餐時間5namechar10是菜品名稱6sfznvarchar50是訂餐人姓名7telnvarchar50是訂餐人電話8nowtimedatetime8是加入訂單時間9statusTypeIDint4是訂單類型編號 用于記錄訂單類型的 d_StatusType 表,該表的設(shè)計結(jié)構(gòu)如表 4-6 所示。訂單類型(訂單類型編號、訂單類型名稱)表 4-6 訂單類型表序號字段名數(shù)據(jù)類型長度主鍵否允許空含義1statusTypeIDInt4是訂單類型編號2statusTypeNameNvarchar50是訂單類型名稱 用于記錄留言板的 d_Message 表,表的設(shè)計結(jié)構(gòu)如表 4-7 所示。留言板信息(信息編號、用戶姓名、信息內(nèi)容、信息發(fā)布時間、回復(fù)、回復(fù)時間)表 4-7 留言板信息表序號字段名數(shù)據(jù)類型長度主鍵否
收藏
編號:30561055
類型:共享資源
大?。?span id="fx9bkgh" class="font-tahoma">10.44MB
格式:RAR
上傳時間:2021-10-10
20
積分
- 關(guān) 鍵 詞:
-
基于
NET
在線
系統(tǒng)
設(shè)計
開發(fā)
- 資源描述:
-
基于.NET的在線訂餐系統(tǒng)設(shè)計與開發(fā),基于,NET,在線,系統(tǒng),設(shè)計,開發(fā)
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。