版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、項目源碼下載地址:廣東科貿(mào)職業(yè)學(xué)院 2015 屆學(xué)生畢業(yè)設(shè)計小弟的私人飛機(jī)網(wǎng)上訂餐系統(tǒng)設(shè)計與實現(xiàn)題 目: 訂餐系統(tǒng) 姓 名: 系 別: 信息工程系 專 業(yè): 軟件技術(shù) 班 級: 指導(dǎo)老師: 日 期: 摘 要 二十一世紀(jì)是一個集數(shù)字化,網(wǎng)絡(luò)化,信息化的,以網(wǎng)絡(luò)為核心的社會。中國的網(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è)計的題目就是網(wǎng)絡(luò)訂餐系統(tǒng)。 本論文就畢業(yè)設(shè)計的內(nèi)容,系統(tǒng)地闡述了整個網(wǎng)絡(luò)訂餐系統(tǒng)的功能及實現(xiàn)。實現(xiàn)了從菜品管理,菜品分類和查詢,到訂餐
2、車實現(xiàn),用戶訂單處理,再到系統(tǒng)管理。基本上實現(xiàn)了網(wǎng)上購物的功能流程,能夠?qū)崿F(xiàn)用戶與商家在網(wǎng)上進(jìn)行訂餐交易。本系統(tǒng)界面簡單直觀,易于操作和使用,交互性強(qiáng),完全基于Internet網(wǎng)絡(luò)。經(jīng)過分析,我使用 SUN公司的JSP開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成滿意的可行系統(tǒng)。關(guān)鍵詞:網(wǎng)絡(luò)訂餐系統(tǒng)、JSP、信息時代目錄摘 要I第一章 引言11.1背景和意義11.2國內(nèi)外現(xiàn)狀1第二章 系統(tǒng)開發(fā)平臺32.1開發(fā)工具介紹32.2主要開發(fā)技術(shù)介紹42.2.1
3、 JavaEE平臺42.2.2 SSH技術(shù)介紹52.2.3 MySQL數(shù)據(jù)庫72.3系統(tǒng)環(huán)境需求8第三章 需求分析93.1可行性分析93.1.1經(jīng)濟(jì)可行性93.1.2技術(shù)可行性93.1.3法律可行性93.2系統(tǒng)功能及特性分析103.3后臺管理模塊需求分析113.4前臺下單模塊需求分析12第四章 概要設(shè)計144.1網(wǎng)上訂餐系統(tǒng)的功能模塊概要設(shè)計144.1.1用戶模塊概要設(shè)計144.1.2管理員功能模塊概要設(shè)計154.2數(shù)據(jù)庫的概要設(shè)計154.2.1數(shù)據(jù)庫實體關(guān)系圖154.2.2數(shù)據(jù)庫表的設(shè)計16第五章 詳細(xì)設(shè)計和實現(xiàn)205.1功能模塊介紹205.1.1界面設(shè)計205.1.2 菜單信息瀏覽225.
4、1.3 用戶登陸/注冊235.1.4 個人信息預(yù)覽245.1.4 訂單信息表255.1.5 后臺管理員的登錄265.1.6 后臺主界面275.2主要實現(xiàn)技術(shù)285.2.1分頁顯示算法285.2.2 信息顯示295.2.3 訂單顯示30第六章 測試和案例分析326.1測試的重要性及其目的326.1.1測試重要性326.1.2測試目的336.2測試的步驟336.3測試的內(nèi)容346.3.1用戶登錄測試346.3.2非法連接測試346.3.3 用戶下單測試346.3.4 管理員添加菜單測試35結(jié)論36參考文獻(xiàn)38致謝3939第一章 引言1.1背景和意義 眾所周知,隨著社會的發(fā)展,科技的發(fā)達(dá),人民生活水
5、平的提高,互聯(lián)網(wǎng)的應(yīng)用已普及千家萬戶,有時大家的忙碌會不想浪費太多的時間出去買飯,吃飯等,這就為網(wǎng)絡(luò)訂餐提供了良好的發(fā)展空間。因此我決定以網(wǎng)上訂餐系統(tǒng)作為我畢業(yè)論文的的研究課題,我相信它的實用性以及未來的發(fā)展前景。 而餐飲業(yè)在網(wǎng)絡(luò)領(lǐng)域中還處于形成的初期;傳統(tǒng)的飲食業(yè)中,大都是以實際門面的形式來進(jìn)行宣傳與交流的。作為網(wǎng)絡(luò)普遍化的社會,這還缺少了一些更為現(xiàn)代化的元素。餐飲業(yè)是一種個性化、多樣化的服務(wù)產(chǎn)業(yè),而網(wǎng)絡(luò)商務(wù)領(lǐng)域則是最能體現(xiàn)個性化,多樣化服務(wù)的商務(wù)方式。而且現(xiàn)在大部分網(wǎng)絡(luò)商務(wù)都體現(xiàn)為像大企業(yè)服務(wù),結(jié)合餐飲這個特殊的行業(yè),終將還發(fā)展為向小區(qū)域小店鋪服務(wù)的模式。以最貼切的方式,最靈便的服務(wù)進(jìn)入各
6、個網(wǎng)絡(luò)社區(qū),進(jìn)入人們的生活。 網(wǎng)絡(luò)訂餐隨著互聯(lián)網(wǎng)的成長會逐漸被人們所喜愛,正如幾年前手機(jī)移動的短信一樣,為企業(yè)帶來的幾百個億的業(yè)務(wù)收入。在互聯(lián)網(wǎng)世界里面,誰早一步在應(yīng)用上創(chuàng)新,誰就掌握了未來的方向,誰便能把握機(jī)遇,成為時代的先驅(qū),成功的締造者。我覺得網(wǎng)上訂餐服務(wù)的直觀、有效、便捷等優(yōu)點是傳統(tǒng)的電話訂餐業(yè)務(wù)無法比擬的。社會是進(jìn)步的,我堅信網(wǎng)絡(luò)訂餐終將取代以往的電話訂餐。同時,我也堅信網(wǎng)絡(luò)訂餐將會帶給廣大繁忙的工作人群諸多的方便,節(jié)約他們大量的時間。1.2國內(nèi)外現(xiàn)狀 就餐飲業(yè)而言,在經(jīng)濟(jì)發(fā)達(dá)國家中發(fā)展的速度及需求遠(yuǎn)比經(jīng)濟(jì)不發(fā)達(dá)的國家要高很多。因為經(jīng)濟(jì)發(fā)達(dá)國家人們的時間觀念很強(qiáng),對服務(wù)的要求也比較高
7、,更重要的是其餐飲業(yè)能不斷運用先進(jìn)的管理方法和手段特別是信息技術(shù)【1】,充分地利用巨大的信息資源。在世界上經(jīng)濟(jì)發(fā)達(dá)的國家和地區(qū),計算機(jī)技術(shù)應(yīng)用于餐飲業(yè)已經(jīng)十分成熟,如IBM公司的POS產(chǎn)品已獲得較大范圍的應(yīng)用。2004年在美國100家最有效利用信息技術(shù)企業(yè)中,美國最大的食品和多種服務(wù)公司ARAGroup Ine,名列第四。目前它利用主要的信息系統(tǒng)使其部門經(jīng)理有更多的時間面向顧客。 網(wǎng)上訂餐中多功能性的服務(wù)還可以讓消費者從容的網(wǎng)上瀏覽餐館的菜單,或進(jìn)行價格上的比價,來選擇所需要的美食佳肴。目前,通過上網(wǎng)提供外賣和送餐服務(wù)的餐廳多于獨立經(jīng)營者,外賣與送餐服務(wù)占餐飲生意額的一半以上。美國餐飲消費者越
8、來越趨向于使用網(wǎng)上訂餐的形式來購買外賣,特別是年輕一族的消費者。顯而易見,網(wǎng)上訂餐將成為餐飲業(yè)擴(kuò)大生意的金礦源,有眼光的餐飲業(yè)業(yè)主應(yīng)該盡早考慮如何利用英特網(wǎng)上網(wǎng)銷售。目前網(wǎng)上訂餐業(yè)務(wù)在我國只是處于形成期,從網(wǎng)站數(shù)量來看,并不很多,專門從事網(wǎng)上訂餐業(yè)務(wù)的網(wǎng)站鳳毛麟角,較大的有易合飯( 由于互聯(lián)網(wǎng)發(fā)展已深入家庭,網(wǎng)上訂餐這個課題已經(jīng)提出,為了方便人們生活,提高人們的生活效率,該類統(tǒng)根據(jù)現(xiàn)實訂餐的方式虛擬于網(wǎng)絡(luò)之上,使人們通過網(wǎng)絡(luò)就可以完成生活中必要的事情(飲食)。系統(tǒng)的完成不僅可以基本實現(xiàn)客戶訂餐的功能,還能在此基礎(chǔ)上提供更多的,更貼心的服務(wù)。信息技術(shù)的發(fā)展將更快的推動互聯(lián)網(wǎng)的發(fā)展,訂餐系統(tǒng)的重要
9、性也將越顯其強(qiáng)大的作用。第二章 系統(tǒng)開發(fā)平臺2.1開發(fā)工具介紹 經(jīng)過比較,以及自己所掌握的知識所限,最終決定采用在Windows 下使用JSP+MYSQL開發(fā),采用B/S結(jié)構(gòu),使用JDBC連接數(shù)據(jù)庫。這樣選擇的優(yōu)勢以及特點有: (1)用JSP+MYSQL靈活方便,可擴(kuò)充性、可移植性較好。 二、JDBC與MYSQL同為微軟開發(fā),兼容性好,同時存取效率高,且較成熟,目前許多數(shù)據(jù)庫應(yīng)用系統(tǒng)都采用這種方式。JDBC是Microsoft主要數(shù)據(jù)存儲技術(shù),JDBC主要讓應(yīng)用程序或WEB應(yīng)用程序存取各種不同的數(shù)據(jù)源。JDBC封裝了OLE-DB復(fù)雜的接口,以極為簡單的COM接口存儲數(shù)據(jù),簡化了程序員數(shù)據(jù)存取的
10、工作。 三、采用 B/S結(jié)構(gòu)是能充分發(fā)揮客戶端的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點就是客戶端響應(yīng)速度快。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運行,也能在其他操作系統(tǒng)上運行。 JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP技術(shù)的強(qiáng)勢:一、一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統(tǒng)之外
11、,代碼不用做任何更改。 二、系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署, 在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。 三、強(qiáng)大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力【4】。 四、多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。2.2主要開發(fā)技術(shù)介紹2.2.1
12、 JavaEE平臺JavaEE 是 J2EE的一個新的名稱,之所以改名,目的還是讓大家清楚J2EE只是Java企業(yè)應(yīng)用.隨著WEB和EJB容器概念誕生,使得軟件應(yīng)用業(yè)開始擔(dān)心SUN的伙伴們是否還在Java平臺上不斷推出翻新的標(biāo)準(zhǔn)框架,致使軟件應(yīng)用業(yè)的業(yè)務(wù)核心組件架構(gòu)無所適從,從一直以來是否需要EJB的討論聲中說明了這種彷徨。在2004年底中國軟件技術(shù)大會Ioc微容器(也就是Jdon框架的實現(xiàn)原理)演講中指出:我們需要一個跨J2SE/WEB/EJB的微容器,保護(hù)我們的業(yè)務(wù)核心組件(中間件),以延續(xù)它的生命力,而不是依賴J2SE/J2EE版本.此次J2EE改名為Java EE,實際也反映出業(yè)界這種
13、共同心聲。JavaEE的核心是EJB3.0, 其提供了更兼便捷的企業(yè)級的應(yīng)用框架。圖2-1 JavaEE核心框架圖J2EE容易讓初學(xué)者誤解是獨立于一套Java的技術(shù)方案。從更深層次來看,Java誕生十年來,很多近十年前的業(yè)務(wù)組件至今還可以使用,軟件應(yīng)用不再由于語言的更迭革命帶來毀滅的打擊了。功能和規(guī)定架構(gòu)圖讓我們看看Java EE 5有哪些新的功能或規(guī)定,我們可以從SUN網(wǎng)站下載Java EE 5規(guī)范。其架構(gòu)圖如下:圖2-2 JavaEE架構(gòu)圖圖中灰色加黑部分是Java EE 5新的功能,我們看到,在WEB層主要加入了JSF這個新的表現(xiàn)層框架,和我們?nèi)粘i_發(fā)關(guān)系密切的是,引入了新的Java P
14、ersistence標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)正在由EJB 3.0專家組制定。2.2.2 SSH技術(shù)介紹SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)工作小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。SSH 是目前較可靠,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。S S H最初是U N I X系統(tǒng)上的一個程序,后來又迅速擴(kuò)展到其他操作平臺。S S H在正確使用時可彌補(bǔ)網(wǎng)絡(luò)中的漏洞。S S H客戶端適用于多種平臺。幾乎所有U N I X平臺包括H P - U X、
15、L i n u x、A I X、S o l a r i s、Digital UNIX、I r i x,以及其他平臺都可運行S S H。SSH是由客戶端和服務(wù)端的軟件組成的,有兩個不兼容的版本分別是:1.x和2.x。 用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務(wù)程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x。服務(wù)端是一個守護(hù)進(jìn)程(daemon),他在后臺運行并響應(yīng)來自客戶端的連接請求。服務(wù)端一般是sshd進(jìn)程,提供了對遠(yuǎn)程連接的處理,一般包括公共密鑰認(rèn)證、密鑰交換、對稱密鑰加密和非安全連接??蛻舳税瑂sh程序以及像scp(遠(yuǎn)程拷貝)、slogin(遠(yuǎn)程登陸)、s
16、ftp(安全文件傳輸)等其他的應(yīng)用程序。他們的工作機(jī)制大致是本地的客戶端發(fā)送一個連接請求到遠(yuǎn)程的服務(wù)端,服務(wù)端檢查申請的包和IP地址再發(fā)送密鑰給SSH的客戶端,本地再將密鑰發(fā)回給服務(wù)端,自此連接建立。SSH 1.x和SSH 2.x在連接協(xié)議上有一些差異。一旦建立一個安全傳輸層連接,客戶機(jī)就發(fā)送一個服務(wù)請求。當(dāng)用戶認(rèn)證完成之后,會發(fā)送第二個服務(wù)請求。這樣就允許新定義的協(xié)議可以與上述協(xié)議共存。連接協(xié)議提供了用途廣泛的各種通道,有標(biāo)準(zhǔn)的方法用于建立安全交互式會話外殼和轉(zhuǎn)發(fā)(“隧道技術(shù)”)專有 TCP/IP 端口和 X11 連接。SSH被設(shè)計成為工作于自己的基礎(chǔ)之上而不利用超級服務(wù)器(inetd),雖
17、然可以通過inetd上的tcpd來運行SSH進(jìn)程,但是這完全沒有必要。啟動SSH服務(wù)器后,sshd運行起來并在默認(rèn)的22端口進(jìn)行監(jiān)聽(你可以用 # ps -waux | grep sshd 來查看sshd是否已經(jīng)被正確的運行了)如果不是通過inetd啟動的SSH,那么SSH就將一直等待連接請求。當(dāng)請求到來的時候SSH守護(hù)進(jìn)程會產(chǎn)生一個子進(jìn)程,該子進(jìn)程進(jìn)行這次的連接處理。2.2.3 MySQL數(shù)據(jù)庫MySQL是最受歡迎的開源SQL數(shù)據(jù)庫管理系統(tǒng),它由MySQL AB開發(fā)、發(fā)布和支持。MySQL AB是一家基于MySQL開發(fā)人員的商業(yè)公司,它是一家使用了一種成功的商業(yè)模式來結(jié)合開源價值和方法論的第
18、二代開源公司。MySQL是MySQL AB的注冊商標(biāo)。MySQL是一個快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個大配置(mass-deployed)的軟件中去。MySQL是一個數(shù)據(jù)庫管理系統(tǒng)。一個數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合。它可以是從一個簡單的銷售表到一個美術(shù)館、或者一個社團(tuán)網(wǎng)絡(luò)的龐大的信息集合。如果要添加、訪問和處理存儲在一個計算機(jī)數(shù)據(jù)庫中的數(shù)據(jù),你就需要一個像MySQL這樣的數(shù)據(jù)庫管理系統(tǒng)。從計算機(jī)可以很好的處理大量的數(shù)據(jù)以來,數(shù)據(jù)庫管理系統(tǒng)就在計算機(jī)處理中和獨立應(yīng)用程序或其他部分應(yīng)用程序一樣扮演著一個重要的
19、角色。MySQL是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)開源意味著任何人都可以使用和修改該軟件,任何人都可以從Internet上下載和使用MySQL而不需要支付任何費用。如果你愿意,你可以研究其源代碼,并根據(jù)你的需要修改它。MySQL使用GPL(GNU General Public License,通用公共許可),在hpt://licenses中定義了你在不同的場合對軟件可以或不可以做什么。如果你覺得GPL不爽或者想把MySQL的源代碼集成到一個商業(yè)應(yīng)用中去,你可以向MySQL AB購買一個商業(yè)許可版本。MySQL服務(wù)器原本就是開發(fā)比已存在的數(shù)據(jù)庫更快的用于處理大的數(shù)據(jù)庫的解決方案,并且
20、已經(jīng)成功用于高苛刻生產(chǎn)環(huán)境多年。盡管MySQL仍在開發(fā)中,但它已經(jīng)提供一個豐富和極其有用的功能集。它的連接性、速度和安全性使MySQL非常適合訪問在Internet上的數(shù)據(jù)庫。MySQL數(shù)據(jù)庫服務(wù)器是一個客戶/服務(wù)器系統(tǒng),它由多線程SQL服務(wù)器組成,支持不同的后端、多個不同的客戶程序和庫、管理工具和廣泛的應(yīng)用程序接口(APIs)。MySQL也可以是一個嵌入的多線程庫,你可以把它連接到你的應(yīng)用中而得到一個小、快且易于管理的產(chǎn)品。有大量的MySQL軟件可以使用幸運的是,你可以找到你所喜愛的已經(jīng)支持MySQL數(shù)據(jù)庫服務(wù)器的軟件和語言。 2.3系統(tǒng)環(huán)境需求本系統(tǒng)采用B/S模式作為開發(fā)模式。服務(wù)器端 :
21、 操作系統(tǒng):WINDOWS,LINUX/UNIX及任何能運行Java虛擬機(jī)的平臺。 Web Server:Tomcat 6.0以上。 客戶端: 操作系統(tǒng):任何pc平臺; 瀏覽器 :Internet Explorer,Mozilla Foxfire 。第三章 需求分析3.1可行性分析3.1.1經(jīng)濟(jì)可行性由于本項目的特殊性,無需投入額外的設(shè)備購買及人員培訓(xùn)費用,所以在經(jīng)濟(jì)上本系統(tǒng)的開發(fā)是可行的。此外系統(tǒng)對開發(fā)的需求以及軟硬件要求都不是很高,所以在軟硬件的支出上十分有限。因此,本系統(tǒng)在任何一臺連接Internet的機(jī)器上都可以運行,有很高的經(jīng)濟(jì)可行性。按上述兩方面進(jìn)行可行性分析、研究后,我們認(rèn)為該項
22、目在技術(shù)上是可行的,在經(jīng)濟(jì)上也是沒問題的,所以完全可以進(jìn)行開發(fā)。3.1.2技術(shù)可行性本系統(tǒng)選擇jsp作為開發(fā)語言,選擇mysql作為后臺數(shù)據(jù)庫,采用B/S結(jié)構(gòu),使用JDBC連接數(shù)據(jù)庫。而jsp可以創(chuàng)建和運用動態(tài)、交互的WEB服務(wù)器應(yīng)用程序。同時,JSP具有向跨平臺跨服務(wù)器的優(yōu)點。mysql是一個杰出的數(shù)據(jù)庫平臺,具有功能強(qiáng)大,安全可靠等特點,可用于大型聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫及電子商務(wù)等。所以在技術(shù)方面理論上是可行的。3.1.3法律可行性本系統(tǒng)沒有侵犯個人隱私和個人責(zé)任方面的問題,使用本系統(tǒng)不會引起法律方面的糾紛問題,所以開發(fā)本系統(tǒng)具有法律可行性。綜上所述,本系統(tǒng)的開發(fā)是符合現(xiàn)在的實際情況的,并
23、具有一定的實用意義。在技術(shù)、經(jīng)濟(jì)、操作上,法律上都可以看到此系統(tǒng)的可行性,并且很具有其實現(xiàn)的必要。3.2系統(tǒng)功能及特性分析本系統(tǒng)主要是實現(xiàn)網(wǎng)上瀏覽菜單、訂餐、產(chǎn)生訂單等功能的系統(tǒng)。需要實現(xiàn)菜品信息的動態(tài)提示、購物車管理、客戶信息注冊、登錄管理、訂單處理、信息反饋等模塊。需要完成的主要任務(wù)如下: 當(dāng)客戶進(jìn)入網(wǎng)上訂餐時,應(yīng)該在主頁面中分類顯示最新的菜品信息,以供客戶選擇所需菜品,同時提供按菜品名稱,快速查詢所需菜品信息的功能。當(dāng)客戶選擇預(yù)定某個菜品時,應(yīng)該能夠?qū)?yīng)菜品信息,如:價格、數(shù)量記錄到對應(yīng)的購物車中,此時客戶可以選擇選擇其他菜品或是查看自己的購物車,最后,在購物車中填寫相應(yīng)的送餐信息,提
24、交訂餐訂單后,自動清除以生成訂單的購物車中的信息。餐廳服務(wù)人員根據(jù)訂單信息,查看詳細(xì)訂單明細(xì)并根據(jù)實際情況處理訂餐。分析網(wǎng)上訂餐系統(tǒng),制訂整個系統(tǒng)框架如下:圖3-1 系統(tǒng)實例圖3.3后臺管理模塊需求分析后臺管理系統(tǒng)是管理員對系統(tǒng)進(jìn)行管理和維護(hù)的環(huán)境,模塊結(jié)構(gòu)如下:圖3-2 管理員實例圖后臺是整個銷售系統(tǒng)中最重要的部分。管理員通過此處對網(wǎng)站內(nèi)容進(jìn)行管理.后臺管理共分為菜單信息管理,用戶信息管理,交易信息管理,站內(nèi)信息管理,公告信息管理等等。后臺部分主要實現(xiàn)1 用戶管理包括用戶的基本信息的查詢,以及添加用戶和刪除用戶信息。2 商品管理包括商品的基本信息的查詢,以及添加和刪除商品信息。3 訂單管理顯
25、示所有的訂單信息及訂單狀況。4 公告管理通過此處發(fā)布公告,讓用戶更好的體驗到活動和優(yōu)惠3.4前臺下單模塊需求分析前臺處理系統(tǒng)是客戶使用的最終界面,模塊結(jié)構(gòu)圖如下:圖3-3 用戶實例圖前臺銷售部分就是顧客瀏覽、選擇、結(jié)帳的地方,數(shù)據(jù)靈活根據(jù)需要從數(shù)據(jù)庫挑出,照顧顧客瀏覽習(xí)慣,簡化流程,使顧客能迅速找到所要的菜式。 前臺部分主要實現(xiàn)1 用戶免注冊顧客可以瀏覽本網(wǎng)站的商品內(nèi)容以及其他一些信息,下單時可以分為兩種一種是后到付款,另一種是在線支付,在線支付必須登陸賬號。2 下單用戶可以通過直接定購所要菜單,能夠根據(jù)具體情況將具體的菜單價格進(jìn)行總結(jié)計算,在把清單形成訂單發(fā)給管理者。3 訂單查詢購買后的用戶
26、可以通過在自己的登錄后的頁面查看所下訂單的信息,并且每個用戶只能夠查詢屬于自己定購菜單的數(shù)量和定購時間。第四章 概要設(shè)計4.1網(wǎng)上訂餐系統(tǒng)的功能模塊概要設(shè)計 本網(wǎng)上訂餐系統(tǒng)的功能模塊主要分為前臺功能模塊和后臺功能模塊,前臺功能模塊主要是用戶的注冊,登錄,菜品的選擇,訂單的生成,個人的信息管理,對于菜品價格,圖樣的瀏覽等,后臺功能模塊主要是管理員對于會員信息,權(quán)限的管理,對菜品式樣更新,上傳,刪除等的操作管理,對會員留言,評論的回復(fù),刪除等操作管理。4.1.1用戶模塊概要設(shè)計網(wǎng)上訂餐系統(tǒng)用戶功能模塊圖如圖3-1所示:圖4-1網(wǎng)上訂餐系統(tǒng)用戶功能模塊圖首先用戶首先登錄網(wǎng)站,如果用戶還沒有登錄名,要
27、先進(jìn)行注冊。注冊后,在登錄時用戶名與密碼驗證通過就能進(jìn)入網(wǎng)站系統(tǒng)進(jìn)行菜品的選擇以及訂單生成。如果用戶名不存在或密碼不正確,則提示重新登錄。用戶成功登錄之后,進(jìn)入主頁面,可選基本業(yè)務(wù)有可以在線訂餐,查看菜品種類,還可以修改個人信息、退出系統(tǒng)。4.1.2管理員功能模塊概要設(shè)計網(wǎng)上訂餐系統(tǒng)管理員功能模塊圖如圖3-2所示: 圖4-2網(wǎng)上訂餐系統(tǒng)管理員功能模塊圖管理員模塊又可分為幾個小模塊:對于餐品菜樣的管理模塊,可以增加刪減菜品種類,更改菜品圖案,修改菜品名稱,價格,分類。對于服務(wù)的管理模塊,可以對用戶的訂餐訂單進(jìn)行管理,結(jié)算,對用戶的留言評價進(jìn)行回復(fù)和查看,還可設(shè)置用戶的權(quán)限。4.2數(shù)據(jù)庫的概要設(shè)計
28、4.2.1數(shù)據(jù)庫實體關(guān)系圖系統(tǒng)ER圖: 圖4-3系統(tǒng)ER圖4.2.2數(shù)據(jù)庫表的設(shè)計數(shù)據(jù)庫名:Pocket數(shù)據(jù)庫有Client、Menu、Administrator、Review、Announcement、orders等6個表。表3-1 用戶信息表列名數(shù)據(jù)類型NullKey備注idIntNoYes標(biāo)識遞增usernameVarrchar(50)NoNo登錄名passwordVarrchar(50)NoNo登錄密碼telephoneintNoNo移動電話addressVarrchar(50)NoNo地址IntegrationintNoNo積分levelintNoNo級別表3-2 菜單表列名數(shù)據(jù)類型
29、NullKey備注idIntNoYes標(biāo)識遞增DishesVarrchar(50)NoNo菜名PriceintNoNo價格synopsisVarchar(50)NoNo簡介LaunchtimedatetimeNoNo推出時間StatusintNoNo狀態(tài)SumintNoNo銷售量表3-3 訂單表 列名數(shù)據(jù)類型NullKey備注idIntNoYes標(biāo)識遞增u_idintNoNo用戶外鍵idM_idintNoNo菜單外鍵IdNameVarchar(50)NoNo收貨人名sumIntNoNo下單數(shù)量downtimeDateimeNoNo下單時間TelephoneintNoNo聯(lián)系電話AddressV
30、archar(50)NoNo收貨地址PriceintNoNo全部金額IsCheckoutIntNoNo是否發(fā)貨 表3-4 購物車信息表列名數(shù)據(jù)類型NullKey備注idIntNoYes標(biāo)識遞增u_idintNoNo用戶外鍵idM_idintNoNo菜單外鍵IdNameVarchar(50)NoNo收貨人名sumIntNoNo下單數(shù)量downtimeDateimeNoNo下單時間TelephoneintNoNo聯(lián)系電話AddressVarchar(50)NoNo收貨地址PriceintNoNo全部金額IsCheckoutIntNoNo是否發(fā)貨表3-5 用戶評論表列名數(shù)據(jù)類型NullKey備注id
31、IntNoYes標(biāo)識遞增u_idintNoNo用戶外鍵idM_idintNoNo菜單外鍵IdcontentVarchar(50)NoNo收貨人名timedatetimeNoNo評論時間表3-6 管理員信息表列名數(shù)據(jù)類型NullKey備注idIntNoYes標(biāo)識遞增usernameVarchar(16)NoNo賬號名PasswordVarchar(16)NoNo賬號密碼RealnameVarchar(50)NoNo真實姓名telephoneintNoNo聯(lián)系電話lastimeDatetimeNoNo最后一次登陸時間levelintNoNo管理員級別表3-7 公告表列名數(shù)據(jù)類型NullKey備注i
32、dIntNoYes標(biāo)識遞增contentVarchar(50)NoNo賬號名TimeDatetimeNoNo賬號密碼usernameVarchar(16)NoNo發(fā)表人第五章 詳細(xì)設(shè)計和實現(xiàn)5.1功能模塊介紹5.1.1界面設(shè)計簡潔友好的用戶界面是系統(tǒng)與用戶交互的關(guān)鍵,并且在很大的程度上影響著用戶對系統(tǒng)的評價。所以在設(shè)計系統(tǒng)界面的時候,首頁的頂部是一個醒目的菜肴的圖片的,讓人一看就知道是訂餐網(wǎng)站,有一種訂餐的欲望,欄目有首頁、最新推出、登陸/用戶信息、注冊,中間是目前菜單的信息。 圖5-1主頁面5.1.2 菜單信息瀏覽可以直接瀏覽到部分的菜單信息,信息包括了:圖片,菜名,價格等。在該網(wǎng)頁上也可以
33、查看菜品的詳細(xì)信息,如圖4-2所示。圖5-2 菜單信息瀏覽5.1.3 用戶登陸/注冊用戶登陸/注冊 是一個懸浮于當(dāng)前頁面彈出來的窗口,窗口彈出將鎖定用戶面,“取消”可返回。當(dāng)用戶登錄后由管理員核對該用戶的名稱和密碼是否正確,如果無誤的話用戶可以通過檢查直接進(jìn)入網(wǎng)站的其它頁面進(jìn)行瀏覽和訂購。圖5-3 用戶登陸在登陸系統(tǒng)之前需要注冊,如圖5-4所示,注冊的信息由游客填寫,提交注冊信息后,需要通過后臺管理員對注冊信息進(jìn)行審核,給予審批后,才能登陸系統(tǒng)。圖5-4 用戶注冊5.1.4 個人信息預(yù)覽用戶登陸成功后,頂部的懸浮欄的“登陸”字樣 會變成用戶名,單價后會浮現(xiàn)出“個人中心”、“充值金額”、“我的訂
34、單”、“購物車”“意見反饋”、“退出”等字樣。單擊“個人中心”可進(jìn)入個人信息的界面。如圖4-5 所示 圖5-5 個人信息5.1.4 訂單信息表進(jìn)入“訂單信息表”,可看見用戶以往的訂單信息,在訂單信息中可看到商品的當(dāng)前狀態(tài)信息,以及可刪除以往的訂單信息,如圖4-6所示 圖5-6訂單信息表5.1.5 后臺管理員的登錄想要進(jìn)入后臺管理系統(tǒng),需要先登錄管理員用戶賬號,管理員用戶賬號是不可以自行注冊的,該系統(tǒng)有一個超級管理員“admin”,只有該管理員才能將管理員用戶賬號進(jìn)行管理。如圖4-7所示圖5-7管理員登錄界面 5.1.6 后臺主界面在此界面中,管理員可以對訂單進(jìn)行查看,對菜品的價格,更新等進(jìn)行管
35、理,對公告進(jìn)行管理,。比如說:菜品的刪除,價格式樣的編輯,以及菜品的添加,上傳等操作,還可以對會員進(jìn)行管理操作。圖5-8后臺管理界面界面5.2主要實現(xiàn)技術(shù)5.2.1分頁顯示算法ReviewDAO:public Pagination findPageByQuery( final String hsql, final int pageSize,final int startIndex) return (Pagination)getHibernateTemplate().execute( new HibernateCallback() public Object doInHibernate(Sess
36、ion session) throws HibernateException, SQLException Query query = session.createQuery(hsql); int totalCount=query.list().size(); query.setFirstResult(startIndex); query.setMaxResults(pageSize); List items = query.list(); Pagination ps = new Pagination(items,totalCount, pageSize, startIndex); return
37、 ps; ,true); ReviewServiceImpl:public Pagination findUserinfoByPage(int pageSize, Integer startIndex) String hsql="from Review where menu.id = "+ActionContext.getContext().getSession().get("detailId")+""return reviewDAO.findPageByQuery(hsql, pageSize, startIndex);Review
38、Action:public String init()if(currentIndex=null)currentIndex=0;Pagination pg=reviewService.findUserinfoByPage(3, currentIndex);ActionContext.getContext().put("pg",pg);return "init"5.2.2 信息顯示Pagination.jsp:<script type="text/javascript">var xmlhttp;function main(ur
39、l,method)if(window.XMLHttpRequest)xmlhttp = new XMLHttpRequest();elsexmlhttp = new ActiveXObject("Microsoft.XMLHttp");xmlhttp.onreadystatechange=method;xmlhttp.open("get",url,true);xmlhttp.send();function show()main("ReviewAction!listUserinfoByPage?currentIndex=0",funct
40、ion ()if(xmlhttp.readyState = 4 && xmlhttp.status = 200)document.getElementById("show").innerHTML=xmlhttp.responseText;);function show1(id)main("ReviewAction!listUserinfoByPage?currentIndex="+id+"",function ()if(xmlhttp.readyState = 4 && xmlhttp.status =
41、 200)document.getElementById("show").innerHTML=xmlhttp.responseText;);</script>5.2.3 訂單顯示OrdersAction:public String myOrders()ActionContext.getContext().getSession().put("ordersList",ordersService.show(id) );return "input"OrdersServiceImpl:public List show(Integer
42、 id) return ordersDAO.findByClient(id);OrdersList.jsp<s:iterator value="#session.showOrders" id="o"><tr><td><s:property value="#o.client.username"/></td><td><s:property value="#"/></td><td><s:prope
43、rty value="#o.menu.dishes"/></td><td><s:property value="#o.sum"/></td><td><s:property value="#o.downtime"/></td><s:if test="#o.ischeckout=1"><td>未發(fā)貨</td></s:if><s:elseif test="#o.isch
44、eckout=0"><td>已發(fā)貨</td></s:elseif><td>¥<s:property value="#o.price"/>.00</td><td>¥<s:property value="#o.sum * #o.price"/>.00</td><td><aclass="btn btn-primary" href="ClientAction!myEdit?id=<s:p
45、roperty value="#c.id"/>"><i class="icon-pencil icon-white"></i> 修改</a><a class="btn btn-danger" href="javascript:if(confirm('確實要刪除該菜單嗎?')location='ClientAction!myDel?id=<s:property value="#c.id"/>'&quo
46、t;><i class="icon-remove icon-white"></i> 刪除</a></td></tr></s:iterator>第六章 測試和案例分析6.1測試的重要性及其目的6.1.1測試重要性 軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯誤并加以修
47、正,如果不在早期階段進(jìn)行測試,錯誤的延時擴(kuò)散常常會導(dǎo)致最后成品測試的巨大困難。 事實上,對于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會有錯。采用新的語言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進(jìn)行估計。測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計的那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30到50。如果把維護(hù)階段也考慮在內(nèi),討論整個軟件生存期時,測試的
48、成本比例也許會有所降低,但實際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。 在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度,這些觀點對軟件測試工作是極為不利的,必須澄清認(rèn)識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。 6.1.2測試目的 如果測試的目的是為了盡可能多地找出錯誤,那么測試就應(yīng)該直接針對軟件比較復(fù)雜的部分或是以前出錯比較多的位置。其實這是不對的,軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程; 是為了證明程序有錯,而不是證明程序無錯誤;一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤; 一個成功的測試是發(fā)現(xiàn)了至今未發(fā)
49、現(xiàn)的錯誤的測試。 這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導(dǎo),認(rèn)為發(fā)現(xiàn)錯誤是軟件測試的唯一目,查找不出錯誤的測試就是沒有價值的,事實并非如此。 首先,測試并不僅僅是為了要找出錯誤。通過分析錯誤產(chǎn)生的原因和錯誤的分布特征,可以幫助項目管理者發(fā)現(xiàn)當(dāng)前所采用的軟件過程的缺陷,以便改進(jìn)。同時,這種分析也能幫助我們設(shè)計出有針對性地檢測方法,改善測試的有效性。其次,沒有發(fā)現(xiàn)錯誤的測試也是有價值的,完整的測試是評定測試質(zhì)量的一種方法。6.2測試的步驟 與開發(fā)過程類似,測試過程也必須分步驟進(jìn)行,每個步驟在邏輯上是前一個步驟的繼續(xù)。大型軟
50、件系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由若干個模塊組成。因此,大型軟件系統(tǒng)的測試基本上由下述幾個步驟組成:1.模塊測試 在這個測試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計的錯誤。2.系統(tǒng)測試 在這個測試步驟中發(fā)現(xiàn)的往往是軟件設(shè)計中的錯誤,也可能發(fā)現(xiàn)需求說明中的錯誤。3.驗收測試 在這個測試步驟中發(fā)現(xiàn)的往往是系統(tǒng)需求說明書中的錯誤。6.3測試的內(nèi)容6.3.1用戶登錄測試功能描述用戶登陸用例編號C25001前提目的測試數(shù)據(jù)連接的正確性前提條件用戶已存在輸入動作測試結(jié)果實際情況用戶名:奧特曼輸入密碼:123登陸成功登陸成功 用戶名:凹凸曼輸入密碼:123錯誤提示:“登陸失敗”登陸失敗表6-1 用戶登陸
51、測試6.3.2非法連接測試功能描述使用非法連接登陸用例編號P140702前提目的測試數(shù)據(jù)連接的正確性前提條件未登錄用戶輸入動作測試結(jié)果實際情況使用鏈接地址直接訪問返回主頁返回主頁表6-2 非法鏈接測試6.3.3 用戶下單測試功能描述用戶下單用例編號P140703前提目的測試數(shù)據(jù)連接的正確性前提條件用戶已登陸輸入動作測試結(jié)果實際情況全部文本框輸入格式正確下單成功下單成功文本框輸入格式不正確或空缺錯誤提示:“下單失敗”下單失敗表6-3 用戶下單測試6.3.4 管理員添加菜單測試功能描述添加菜單用例編號P140704前提目的測試數(shù)據(jù)連接的正確性前提條件管理員已登陸輸入動作測試結(jié)果實際情況按要求符合所
52、有要求輸入添加成功添加成功添加菜單信息不全或空缺錯誤提示:“添加失敗”添加失敗表6-4 管理員添加菜單測試結(jié)論 幾個月來忙碌而又緊張的畢業(yè)設(shè)計,使我有機(jī)會對本專業(yè)的基本理論、專業(yè)知識和基本技術(shù)有了更深入的了解和體會,使我在三年中所學(xué)到的知識得到了系統(tǒng)和升華,真正達(dá)到了學(xué)以致用。 對網(wǎng)上訂餐系統(tǒng)的體會: 網(wǎng)上訂餐系統(tǒng)是一門信息科學(xué)、系統(tǒng)科學(xué)、計算機(jī)科學(xué)與現(xiàn)代通信技術(shù)為一體的一門綜合性邊緣學(xué)科。它是運用系統(tǒng)的方法以計算機(jī)和現(xiàn)代通信技術(shù)為基本信息處理手段和工具的,能為管理決策提供信息服務(wù)的人機(jī)系統(tǒng).它可以實現(xiàn)數(shù)據(jù)處理功能、預(yù)測功能、計劃功能、控制功能和輔助決策功能。管理信息系統(tǒng)的開發(fā)是一項復(fù)雜的系統(tǒng)工程,必須嚴(yán)格的按照系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計、系統(tǒng)實施、系統(tǒng)運行與評價的開發(fā)步驟來進(jìn)行。在系統(tǒng)開發(fā)之前,必須了解該系統(tǒng)的特點、適用范圍以及使用者需要一個什么樣的系統(tǒng),以此作為基礎(chǔ)為開發(fā)系統(tǒng)準(zhǔn)確定位,然后對使用者所需實現(xiàn)的功能進(jìn)行分析總結(jié),根據(jù)使用者的實際要求來給系統(tǒng)設(shè)計一個初步方案。系統(tǒng)的開發(fā)不僅是要實現(xiàn)對數(shù)據(jù)處理的及時與正確,而且要考慮系統(tǒng)是否具有控制功能,及時將數(shù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《土壤水分下限控制灌溉對水稻生長性狀及產(chǎn)量的影響》
- 七下地理開學(xué)摸底考(答題卡)
- 2024年牡丹江客運從業(yè)資格證考試題庫
- 2024年濟(jì)寧小型客運從業(yè)資格證考試題答案
- 2024年烏魯木齊客運從業(yè)資格證考試題庫APP
- 2024年寧夏客運從業(yè)資格證考試題庫模擬考試答案
- 教師資格考試初級中學(xué)英語學(xué)科知識與教學(xué)能力試題與參考答案(2024年)
- 結(jié)合Solidworks及力學(xué)仿真的起重機(jī)機(jī)械結(jié)構(gòu)設(shè)計技術(shù)
- 基于深度學(xué)習(xí)的網(wǎng)絡(luò)異常流量檢測研究綜述
- 健康體檢分析報告
- MOOC 計算機(jī)組成原理-電子科技大學(xué) 中國大學(xué)慕課答案
- 2024年江蘇無錫市江陰市江南水務(wù)股份有限公司招聘筆試參考題庫含答案解析
- 中學(xué)教材、教輔征訂管理制度
- (高清版)DZT 0213-2002 冶金、化工石灰?guī)r及白云巖、水泥原料礦產(chǎn)地質(zhì)勘查規(guī)范
- 消防安全評估消防安全評估方案
- 工程造價專業(yè)《工程經(jīng)濟(jì)》課程標(biāo)準(zhǔn)
- ZARA服裝市場營銷策略研究分析 市場營銷專業(yè)
- 設(shè)備維保的市場化運作與服務(wù)模式創(chuàng)新
- 幼兒園科普知識宣傳
- 中醫(yī)減肥藥方-超有效分類型
- 論現(xiàn)代外科技術(shù)的發(fā)展趨勢
評論
0/150
提交評論