天天看點

基于php的網上訂餐系統設計(含源檔案)

歡迎添加微信互相交流學習哦!

基于php的網上訂餐系統設計(含源檔案)

項目源碼:https://gitee.com/oklongmm/biye

摘 要

二十一世紀是一個集數字化、網絡化、資訊化為特征的時代。在這個以網絡為核心的社會裡,越來越多的人接受了電子商務這種便捷、快速的交易方式,因而網上訂餐的推出很快受到了大家的歡迎。

我組利用PHP(Hypertext Preprocessor)語言,結合MYSQL資料庫,基于web實作了一個簡單的網上訂餐系統。該系統主要分為前台和背景兩大子產品。前台管理主要面向使用者,包括使用者注冊、菜品查詢、訂餐購物車等子子產品;背景管理主要面向管理者,包括菜品管理,訂單管理,使用者管理等子子產品,該系統基本上能滿足網上訂餐的需要。

本系統完成的主要功能:使用者通過浏覽首頁面,可以實作會員的注冊,可以浏覽菜品的資訊圖檔與價格;使用者注冊登陸後,可通過購物車來完成訂餐過程。管理者有最高權限,可以進行菜品資訊的添加、修改和删除,可以對使用者訂單進行管理以及對使用者資訊進行管理。

在本系統開發設計過程中,我組采用了B/S(Browser/Server)結構,與傳統的C/S模式相比,B/S結構下,使用者工作界面是通過WWW浏覽器來實作,極少部分事務邏輯在前端(Browser)實作,但是主要事務邏輯在伺服器端(Server)實作,這樣就大大簡化了用戶端電腦載荷,使用和維護比傳統模式更經濟友善,易于保證資料的一緻性,有較好的網絡擴充性。

關鍵詞: 網上訂餐系統;B/S;PHP;MYSQL

目  錄

第1章    引言    1

1.1 課題的研究背景及意義    1

第2章    開發環境及配置介紹    2

2.1 PHP語言簡介    2

2.2 PHP運作環境介紹    3

2.3 MySQL資料庫簡介    3

2.3 EclipsePHP Studio編輯軟體簡介    4

2.4 實體配置資訊    4

第3章 系統需求分析    5

3.1 使用者需求分析    5

3.1 性能需求分析    6

3.3 産品品質需求分析    7

3.4 可行性分析    7

第4章 網上訂餐系統總體設計    8

4.1 系統結構分析及設計    8

4.2 系統流程詳細分析及設計    9

4.3 系統資料庫設計    13

第5章 網上訂餐系統詳細設計及實作    16

5.1 系統前台子產品實作    16

5.2 系統背景子產品實作    19

第6章 系統測試    21

6.1 系統測試的目的和方法    21

6.2 測試結果及問題解決    22

結 論    22

參考文獻    23

第1章    引言

1.1 課題的研究背景及意義

貿易的全球化和Internet網絡的全球化特征使兩者很自然地走到了一起,形成了如今風靡全球的電子商務(E-Comnerce)。商務活動在客戶、廠商及其他交易主體之間進行并以資訊為依托,而商務網站正是這種活動的具體實作平台。越來越多的企業建立了自己的WWW網站,企業通過網站可以展示産品,釋出最新動态資訊,與使用者進行交流和溝通,與合作夥伴建立聯系等。

其中網上訂餐系統是電子商務網站的一種,随着人們對生活品質的追求不斷提高,随着人們工作、學習、生活節奏的加快,網上訂餐業務在中國開始盛行。通過網上訂餐系統,顧客可以在辦公室、家中等待預訂好的飯菜,大大降低了顧客們的時間,還可滿足不同顧客的多種口味,在精力和經濟上都得到了實惠。随着網絡的普及,網上訂餐将成為人們的生活方式之一,網上訂餐系統的完善和便捷将是現代社會的必然需求。

位于廣西工學院校内的佳和快餐店訂餐形式是電話訂餐,忙時難以接通電話,導緻送餐不及時;該店沒有專門的網站,客戶不能及時了解菜單的變化和更新,每次隻能靠人工一遍一遍的重複菜名,這樣既浪費了不必要的人工,也浪費了顧客的時間,延長了後續訂餐客戶的等待時間。

為此,我組以佳和快餐為例開發了一個小型網上訂餐系統,以此改善快餐店的服務品質及經濟效益。

該系統使用PHP語言和MYSQL資料庫開發, 實作了網上訂餐系統的動态管理,使得網上訂餐的管理更加及時、高效,提高了工作效率。該網上訂餐系統主要包括使用者管理,訂餐管理,菜品管理等幾大功能子產品,實作了一個簡單的網上訂餐的需要。

系統基于B/S(Browser/Server,浏覽器/用戶端)模式實作,在 Myeclipse平台開發實作,主要實作對網上訂餐的使用、需求以及使用者訂餐的動态管理等。随着Internet/Intranet技術的興起,将原本在單機或本地區域網路上運作的資料庫系統移植到網際網路中,即開發基于B/S模式的新一代MIS(Management Information System,管理資訊系統)系統,正成為技術發展的趨勢。本系統采用B/S體系結構進行設計開發,保證了系統性能的高效性、可擴充性,以及達到資料共享和網絡化管理的目的。

第2章    開發環境及配置介紹

2.1 PHP語言簡介    

PHP是超級文本預處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML内嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格類似于C語言,目前被很多的網站程式設計人員廣泛的運用。PHP具有非常強大的功能,所有的CGI或者JavaScript的功能PHP都能實作,而且支援幾乎所有流行的資料庫以及作業系統。 PHP 最初是1994年Rasmus Lerdorf建立的,在1995年中,PHP2.0釋出了。第二版定名為PHP/FI(Form Interpreter)。PHP/FI加入了對MYSQL的支援,從此建立了PHP在動态網頁開發上的地位。到了1996年底,有15000個網站使用 PHP/FI;時間到了1997年中,使用PHP/FI的網站數字超過五萬個。而在1997年中,開始了第三版的開發計劃,開發小組加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名為PHP3。2000年,PHP4.0又問世了,其中增加了許多新的特性。本系統的開發語言使用了PHP5.0.

相對于其他腳本語言PHP有以下優點:

(1)資料庫連接配接 

PHP可以編譯成具有與許多資料庫相連接配接的函數。PHP與MySQL是現在絕佳的組合。還可以自己編寫外圍的函數取間接存取資料庫。通過這樣的途徑當更換使用的資料庫時,可以輕松的更改編碼以适應這樣的變化。PHPLIB就是最常用的可以提供一般事務需要的一系列基庫。 

   (2)可擴充性 

PHP已進入了一個高速發展的時期。PHP提供了類和對象。基于web的程式設計工作非常需要面向對象程式設計能力。PHP支援構造器、提取類等。 

   (3)可伸縮性 

傳統上網頁的互動作用是通過CGI來實作的。CGI程式的伸縮性不很理想,因為它為每一個正在運作的CGI程式開一個獨立程序。解決方法就是将經常用來編寫CGI程式的語言的解釋器編譯進web伺服器(比如mod_perl,JSP)。内嵌的PHP可以具有更高的可伸縮性。

(4)執行效率高

PHP 獨特的文法混合了 C、Java、Perl 以及 PHP 自創新的文法。它可以比 CGI 或者 Perl 更快速的執行動态網頁。用PHP做出的動态頁面與其他的程式設計語言相比,PHP是将程式嵌入到HTML文檔中去執行,執行效率比完全生成HTML标記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語言JavaScript相比,PHP在伺服器端執行,充分利用了伺服器的性能;PHP執行引擎還會将使用者經常通路的PHP程式駐留在記憶體中,其他使用者再一次通路這個程式時就不需要重新編譯程式了,隻要直接執行記憶體中的代碼就可以了,這也是PHP高效率的展現之一。

2.2 PHP運作環境介紹    

Apache是世界使用排名第一的Web伺服器軟體。它可以運作在幾乎所有廣泛使用的計算機平台上。

Apache源于NCSAhttpd伺服器,經過多次修改後,它可以運作在幾乎所有廣泛使用的計算機平台上,由于其跨平台和安全性被廣泛使用,成為世界上最流行的Web伺服器軟體之一。因為它是自由軟體,是以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、性能穩定,并可做代理伺服器來使用。

AppServ是PHP網頁架站工具組合包,可以将網絡上免費的架站資源重新包裝成單一的安裝程式。它提供了簡易、快速的PHP運作環境的搭建機制。

2.3 MySQL資料庫簡介    

MySQL是一個小型關系型資料庫管理系統,開發者為瑞典MySQL AB公司。在2008年1月16号被Sun公司收購。目前MySQL被廣泛地應用在Internet上的中小型網站中。

MySQL的特點:

  (1)使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性 

  (2)支援多種作業系統 

  (3)為多種程式設計語言提供了API。這些程式設計語言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 

  (4)支援多線程,充分利用CPU資源 

(5)優化的SQL查詢算法,有效地提高查詢速度 

  (6)既能夠作為一個單獨的應用程式應用在用戶端伺服器網絡環境中,也能夠作為一個庫而嵌入到其他的軟體中提供多語言支援,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作資料表名和資料列名

  (7).提供用于管理、檢查、優化資料庫操作的管理工具 

  (8).可以處理擁有上千萬條記錄的大型資料庫

與其他的大型資料庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有餘,而且由于MySQL是開放源碼軟體,是以可以大大降低總體擁有成本。

2.3 EclipsePHP Studio編輯軟體簡介

EclipsePHP Studio (以下簡稱:EPP ) 是一個大型PHP項目開發編譯器,基于Eclipse底層開發而來,并且內建了JDK,免除處了安裝配置的麻煩,一次安裝即可使用,無需配置。此編譯器為PHP編譯器,輔助PHP代碼的開發和調試,內建了代碼高亮,函數跟蹤,時時糾錯等功能。同時還增加了協作開發版本伺服器功能:SVN,CVS。 内嵌浏覽器可以在調試簡單代碼時時浏覽。不僅支援php,也支援其他網絡語言像html、xhtml、xml、css和javascript、java、perl、python等。

2.4 實體配置資訊

系統使用資料庫名為dborderonline,使用者名為admin,密碼為admin,其中http:// 127.0.0.1/orderonline/為伺服器IP位址,端口為3306。

本系統使用Apache作為Web伺服器,采用PHP作為伺服器端腳本解釋器,配合MySQL 5.0資料庫進行設計。由于這三個軟體都是遵循GPL的開放源碼軟體,是以使用這種方式為建立一個穩定、免費的網站系統大大降低了開發成本。開發時前台設計使用eclipsePHP,背景資料庫使用MySQL,開發的作業系統使用目前應用最廣泛的windows xp sp3。

第3章 系統需求分析

3.1 使用者需求分析

3.1.1企業需求分析

佳和快餐店組織結構圖:

部門和崗位的主要職責:

(一)    總經理

負責本店的品質,堅持品質标準。

負責召開例會,監督營業期間員工的工作情況。

處理顧客對本店服務的各種意見。

與管理部經理協調,做好管理工作。

與廚務部經理協調,提高菜品品質和增加菜品品種。

(二)    管理部經理

協調财務部、行政部、業務部的工作。

負責對财務部、行政部、業務部的工作進行監督,并上報給總經理。

(三)    廚務部經理

主要協助采購部、廚師長、後勤部的工作。

對采購部、廚師長、後勤部的工作進行監督管理。

把下部門的工作意見、建議和工作情況向總經理反映。

(四)    财務部部長:負責本店的會計和出納。

(五)    行政部部長:負責本店的人事、總務。

(六)    業務部部長:負責員工教育訓練、對業務員的管理。

(七)    采購部部長:負責本店各種材料的采購和對倉庫的管理。

(八)    廚師長  

 協調廚師、幫廚、服務員的工作。

對其下屬進行監督管理,做好廚房内的工作。

(九)    廚師  接受廚師長的工作指令,掌握并做好當天的菜系。

(十)    幫廚  協助廚師做好烹饪工作。

(十一)    服務員 為客戶點餐提供服務。

(十二)    接線員 為客戶電話訂餐提供咨詢與訂餐服務。

(十三)    配送員 為電話訂餐客戶提供送餐上門服務并收款。

3.1.2 顧客需求分析

希望通過網上訂餐系統訂餐的客戶具有以下特征:

1、主要居住或工作在離餐廳不太遠的地方

2、主要是工作繁忙者或單身人士

3、屬于經常上網的人群

4、認為快餐菜式品種豐富,适合多種口味

該系統實作一個基于Web的網上訂餐系統,使用該系統的人分為兩個角色:

一個是客戶,主要進行訂餐操作,包括注冊會員,登陸系統,線上選擇要訂購的餐菜并送出訂單等。作為網上訂餐系統的主要使用者,他們是餐廳的顧客,能進行網上訂餐功能的使用和操作,但是不能對系統進行管理;

另一個是系統管理者,主要是進行系統的日常管理和維護,包括菜品管理、使用者管理和訂單管理等。作為企業内部對系統的主要管理者,他們是餐廳的從業人員,能對系統進行實時的管理和維護,相對客戶,擁有更多的系統處理權限。

3.1 性能需求分析

該系統在性能功能上應達到如下需求:

1. 操作簡單、界面友好: 完全控件式的頁面布局,使得菜品,資訊等資訊的錄入工作更簡便,許多選項包括餐廳資訊,菜品資訊等隻需要點選滑鼠就可以完成,網站管理的基本資訊錄入、浏覽、删除、修改等方面都大體實作;另外,跟蹤出現的提示資訊能讓客戶随時清楚自己的操作情況。

2. 即時可見:對客戶訂餐資訊的處理(包括錄入、删除)将立即在首頁的對應欄目顯示出來,達到“即時釋出、即時見效”的功能;

3. 系統運作應該快速、穩定、高效和可靠;

4. 在結構上應具有很好的可擴充性,便于将來的功能擴充和維護。

3.3 産品品質需求分析

主要品質屬性    詳細要求

正确性    按照需求正确執行任務,完成各個子產品的相應要求。

健壯性    具有較高的容錯能力和恢複能力。

可靠性    故障發生率每運作1000小時低于3次

性能,效率    軟體的輸出結果更新周期應該與系統的資訊更新周期相同。在網絡情況良好的情況下,3秒内可響應使用者請求。

易用性    易了解性:軟體研制過程中形成的所有文檔語言簡練、前後一緻、易于了解以及語句無歧義。

安全性    防止軟體受到意外或蓄意的存取、使用、修改、毀壞或洩密的軟體屬性其資料應能集中存放于總部的資料庫伺服器,用戶端不儲存任何業務資料和資料庫連接配接資訊,也不應進行什麼資料同步.

可擴充性    能友善的進行二次開發,滿足對功能的擴充或提高并能提高相應的安全控制。

相容性    不易與其他軟體起沖突。

可移植性    可友善移植到其他系統環境中正常運作。

3.4 可行性分析    

随着經濟的快速發展,B2C電子商務越來越受到人們的關注。網上訂餐類網站,已經如雨後春筍般的出現在了個大城市。特别在公司,企業内部,團體訂餐已經成為了趨勢。同時,随着全國人民的精神、物質和文化生活高度的提高,人們已經不在僅僅停留在吃飽的程度,不但要吃飽,還要吃好,而且口味也越來越挑剔,正因為如此網絡訂餐業務的出現,正迎合了這些人的口味,他們不但省去了自己做飯的麻煩,而且也能尋找和發現新的菜品,品嘗不同風格的菜品,網絡訂餐業務在中國有着極大的發展空間以及良好的背景。而當代大學生,白領工作人士作為社會中的重要群體,他們對飲食的要求都在不斷提高,飲食在他們生活中起着重要作用。是以,面向大學生和都市白領人士的網絡訂餐網站的設計有着良好的現實意義。

此次課程設計決定利用PHP和MySQL技術設計網上訂餐系統。PHP可以建立和運用動态、互動的WEB伺服器應用程式。同時,PHP具有跨平台跨伺服器的優點。MySQL雖相對其他流行的資料庫而言規模小、功能有限,但是對于快餐行業的中小型企業來說,MySQL提供的功能已非常強大,而且MySQL是開放源碼軟體,是以可以大大降低總體擁有成本。綜合以上兩點分析,開發網上訂餐系統具有一定的現實意義,從技術上和經濟上均是可行的。

第4章 網上訂餐系統總體設計 

4.1 系統結構分析及設計 

網上訂餐系統的模型結構如下圖所示:

圖4.11 網上訂餐系統模型結構圖

從前面的需求分析中得知,可以将功能分為前台和背景兩類,是以子產品也分為兩大類:前台子產品(管理者子產品)和背景子產品(使用者子產品)。

如下為系統子產品總圖及細分圖:

圖4.12 系統子產品總圖

圖4.13網上訂餐系統總架構圖           圖4.14使用者子產品細分圖

圖4.15 管理者子產品細分圖

4.2 系統流程詳細分析及設計

4.2.1  業務流程分析

前台業務流程分析

  1.注冊登陸:系統将判斷該使用者是否注冊,如果是,則可直接填寫訂單;否則,提示使用者登記注冊;使用者注冊後,背景将根據使用者資訊送餐。

2. 浏覽與選擇餐飲資訊:登入系統後則可挑選餐飲(可增加、删除、修改自己所選的餐飲),網站提供餐飲資訊清單;

    3. 送出訂單:已選購的餐飲資訊和使用者資訊将一起送出給背景;

4. 收貨并付款:網上的每一份訂單都将實時存入背景資料庫,背景操作人員通過電話及其他方式确認,确認後将及時實施稽核該訂單:向使用者送貨,貨到付款,完成網上交易。

圖4.21前台業務流程圖

背景業務流程分析

1. 登陸:管理者進入背景系統必須有自己的權限,如果是,則可以進入背景系統,對背景進行操作,否則不能登入;

    2. 背景管理:①及時顯示使用者訂餐資訊,及使用者訂餐執行情況;②對未處理的訂單,進行訂單列印,送出給服務員;③及時增加、删除、更新網站上的菜品種;④進行使用者管理。

圖4.22 背景業務流程圖

4.2.2    資料流程分析

該系統資料流程比較簡單,管理者可以添加菜品資訊,這些資訊使用者是可以浏覽的,但是使用者沒有權限對這些資訊進行修改,這些資訊對于使用者而言是單向的。對于訂單資訊,管理者可以檢視、删除及确認訂單;還可添加删除使用者資訊。

系統的資料流圖(包括頂層和第二層資料流程圖)如下所示:

圖4.23 頂層資料流程圖

圖4.24第二層資料流程圖 

資料字典描述如下:

外部實體的定義如下:

外部實體編号    外部實體名稱    簡述    輸出的資料流

S1    使用者    訂購食品的使用者    D01、D02、D03、D04

S2    管理者    管理食品、訂單、使用者資訊的管理者    D08、D09、D10、D11

處理的定義如下:

處理編号    處理名稱    簡述    輸入的資料流    輸出的資料流

P2.1    登陸系統    登陸訂餐的系統    D01、D08    

P2.2    注冊    使用者注冊    D02    D05

P2.3    浏覽食品    使用者浏覽食品    D03    D06

P2.4    下訂單    使用者下訂單    D04    D07

P2.5    訂單管理    管理訂單    D09    D12、D13、D14

P2.6    訂單檢視    管理者檢視訂單    D12    D15

P2.7    訂單删除    管理者删除訂單    D13    D16

P2.8    銷售統計檢視    檢視銷售統計    D14    D17

P2.9    食品管理    管理者管理食品    D10    D18、D19、D20

P2.10    食品删除    管理者删除食品    D18    D21

P2.11    食品檢視    管理者檢視食品    D19    D22

P2.12    食品添加    管理者添加食品    D20    D23

P2.13    使用者管理    管理者管理使用者    D11    D24、D25

P2.14    使用者删除    管理者删除使用者    D24    D26

P2.15    使用者添加    管理者添加使用者    D25    D27

資料存儲定義如下:

資料存儲編号    資料存儲名稱    簡述

F1    訂單資訊表    存放訂單的資訊

F2    食品資訊表    存放食品的資訊

F3    使用者資訊表    存放使用者的資訊

資料流的定義(部分):

資料流編号    資料流名稱    簡述    資料流來源    資料流去向

D07    訂單    使用者開出的訂單    使用者    訂單資訊表

D21    食品删除單    管理者要删除的食品名單    管理者    食品資訊表

D27    使用者添加單    管理者要添加的使用者名單    管理者    使用者資訊表

系統流程圖如下:

4.3 系統資料庫設計 

4.3.1 資料庫概念結構設計

通過實體-關系模型(Entity-Relationship Module,簡稱E-R模型)對資料庫結構設計。E-R圖提供了表示實體、屬性和聯系的方法,是用來描述現實世界的概念模型。計算機專業人員與非計算機專業人員可以通過具體展現實際的E-R圖對參與實體及其屬性,實體間的聯系了解更透徹,能更好地進行交流合作。

4.3.2 資料庫邏輯結構設計

設計資料庫表(共8個)

1、管理者表:管理者不多,但登陸需要管理者名和密碼,管理者資料表中必須包含使用者名(username)、密碼(password)兩個資訊,id編号作為唯一辨別(主鍵)。

列名    資料類型    長度    主鍵

id    tinyint    10    是

username    varchar    10    否

password    varchar    10    否

表4.31  admins表

2、類别表:主要用于菜單類别羅列,id編号為唯一辨別 ,隻需類别名字。

列名    資料類型    長度    主鍵

id    tinyint    10    是

name    varchar    20    否

表4.31  categories表

3、客戶資訊表:客戶名字,位址,電話号碼,電子郵件等重要有關資訊。

列名    資料類型    長度    主鍵

id    int    10    是

forename    varchar    50    否

surname    varchar    50    否

add1    varchar    50    否

add2    varchar    50    否

add3    varchar    50    否

postcode    varchar    10    否

phone    varchar    20    否

email    varchar    100    否

registered    tinyit    10    否

表4.31  customers表

4、詳細位址資訊表:為友善聯系訂餐顧客使用另一聯系位址而設的表。

列名    資料類型    長度    主鍵

id    int    10    是

forename    varchar    50    否

surname    varchar    50    否

add1    varchar    50    否

add2    varchar    50    否

add3    varchar    50    否

postcode    varchar    10    否

phone    varchar    20    否

email    varchar    100    否

表4.31  delivery_addressesx表

5、登陸資訊表:客戶登陸需要使用者名和密碼。

列名    資料類型    長度    主鍵

id    int    10    是

customer_id    int    10    否

username    varchar    10    否

password    varchar    10    否

表4.31  logins表

6、訂餐情況表:購物車内訂餐情況查詢。

列名    資料類型    長度    主鍵

id    int    10    是

order_id    int    10    否

product_id    int    10    否

quantity    int    10    否

表4.31  orderitems表

7、訂單資訊表:訂餐情況和使用者資訊關系表。

列名    資料類型    長度    主鍵

id    int    10    是

customer_id    int    10    否

registered    int    10    否

delivery_add_id    int    10    否

payment_type    int    10    否

date    datetime    10    否

status    tinyint    10    否

session    varchar    50    否

total    float    10    否

表4.31  orders表

8、菜品資訊表:菜式編号,名字,描述,價格等。

列名    資料類型    長度    主鍵

id    int    10    是

cat_id    tinyint    10    否

name    varchar    100    否

description    text    100    否

image    varchar    30    否

price    float    10    否

表4.31  products表

第5章 網上訂餐系統詳細設計及實作

5.1 系統前台子產品實作

圖5-1 網上訂餐系統首頁 

5.1.1  使用者登入

使用者登陸和注冊按鈕設在主界面的左側,會員登陸到會員的訂餐空間,或者新使用者注冊。會員登陸成功跳到右側的個人訂餐頁面,失敗則重置。使用者登陸後,左側設有登出,可登出使用者登陸資訊。

5.1.2  使用者注冊

點選左側的注冊按鈕,跳轉到右側的注冊頁面,就可以進行注冊了。使用者名必須是合法的輸入,密碼和确認密碼必須一緻,否則系統提示錯誤。

5.1.3  菜品展示

使用者登陸後,通過左側的“本期餐飲”的菜品類别可進行菜品浏覽,每個菜都有其詳細介紹。

5.1.4  使用者訂餐

使用者登陸後便可以菜品浏覽并訂餐,點選“購買”,可把該菜放入購物車中。

5.1.5  購物車

點選右上角的“我的購物車”,可檢視自己的訂餐情況。在購物車中可以對已點的菜式進行删除,清空,結賬等操作以及菜品數量,價格統計。

5.1.6  訂單位址确認

在購物車中結賬後,确認訂單位址,至此,顧客的訂餐活動結束。

5.2 系統背景子產品實作

5.2.1 管理者登陸

右上角“管理”按鈕,進入管理者登陸界面,以管理者身份登陸後,右上角顯示出幾項管理功能,點選進入,可進行訂單管理,菜單管理,使用者管理,以及退出管理。

5.2.2 訂單管理

管理者可以對訂單進行檢視、删除、和派送等操作,管理者可以看到新的訂單,是否已經派送,還有訂單的具體資訊。

5.2.3  菜單管理

顯示出所有的類别,可以進行添加和删除操作。

選擇一個類别,在其中添加,删除及更新菜品。

5.2.4  使用者管理

管理者對使用者的檢視和删除功能。

第6章 系統測試

6.1 系統測試的目的和方法

6.1.1 系統測試的目的

測試是程式的執行過程,目的在于發現錯誤。測試的目标是想以最少的時間和人力找出軟體中潛在的各種錯誤和缺陷。如果成功地實施了測試,就能夠發現軟體中的錯誤并及時合了解決。測試能夠證明軟體的功能和性能與需求說明相符。此外,實施測試收集到的測試結果資料為可靠性分析提供了依據。

6.1.2 系統測試的方法

我組采用黑盒測試(Black Box Testing),即功能測試或資料驅動測試 ,把被測軟體看作一個不透明的黑盒子,在軟體接口處進行,完成功能的驗證。黑盒測試完全不需要考慮程式内部的邏輯結構和内部特性。

測試步驟如下圖:

6.2 測試結果及問題解決

      1、資料庫使用MySQL,使得輸入的資料内容必須是英文字元和數字字元,若輸入中文字元,則出錯。

2、對前台和背景分别進行操作,需要實作的功能都可以正常運作。

3、安全性較好。實作了背景管理權限登陸及修改更新資料等功能。

問題解決:

1、在代碼中寫入這條語句“mysql_query("set names 'latin1_swedish_ci'");”

可以解決輸入中文字元轉化出錯問題。

結 論

系統主要采用PHP+MySQL技術進行開發。

1.    網上訂餐系統基本上實作了前台和背景兩大功能,前台包括使用者登陸、菜品查詢、使用者訂餐。背景包括使用者管理,菜品管理,訂單管理。

2.    開發過程中技術上遇到許多問題,大多都能及時查找資料并解決。

3.    第一次使用Web結構設計系統,對程式語言PHP掌握不夠熟練,導緻一些功能子產品不能較好實作 。

4.    網站頁面不夠美觀。

5.    系統缺少操作成功确認提示,容易産生重複操作,導緻資料産生錯誤。

6.    本系統運作較平穩,界面友好,系統設計能夠滿足現實生活中對網上訂餐的需求。

參考文獻

[1] 黃梯雲,管理資訊系統(第三版),高等教育出版社,2004年版。

[2] 薩師煊,王珊. 資料庫系統概論(第三版),高等教育出版社,2001年版。

[3] [美]Jono Bacon,PHP+MySQL八大動态Web應用實戰,電子工業出版社,2008年版。