




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)目錄1緒論 11.1課題背景 11.2研究現(xiàn)狀 11.3課題的研究方法、技術(shù)路線(xiàn) 21.4本文研究?jī)?nèi)容 22相關(guān)技術(shù)簡(jiǎn)介 42.1PHP技術(shù)介紹 42.2PHP技術(shù)特點(diǎn) 42.3Apache簡(jiǎn)介 52.4PHPandmin簡(jiǎn)介 62.5B/S簡(jiǎn)介 62.6MySQL數(shù)據(jù)庫(kù) 83系統(tǒng)分析 103.1系統(tǒng)可行性分析 103.2系統(tǒng)功能需求概述 103.3系統(tǒng)設(shè)計(jì)規(guī)則 113.4運(yùn)行環(huán)境 114系統(tǒng)設(shè)計(jì) 134.1架構(gòu)設(shè)計(jì) 134.2功能模塊設(shè)計(jì) 134.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) 144.3.1數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范 144.3.2數(shù)據(jù)庫(kù)概念模型 154.3.3數(shù)據(jù)表字段設(shè)計(jì) 174.4系統(tǒng)架構(gòu)類(lèi)圖 184.5系統(tǒng)交互圖 195詳細(xì)設(shè)計(jì) 215.1系統(tǒng)配置 215.2功能模塊實(shí)現(xiàn) 215.2.1前臺(tái) 215.2.2后臺(tái) 236系統(tǒng)調(diào)試與測(cè)試 276.1程序調(diào)試 276.2程序的測(cè)試 276.2.1測(cè)試的目的 276.2.2測(cè)試的步驟 276.2.3測(cè)試的主要內(nèi)容 287總結(jié)與展望 307.1系統(tǒng)總結(jié)及不足之處 307.2設(shè)計(jì)心得 31參考文獻(xiàn) 321緒論1.1課題背景隨著人們生活水平的改善,越來(lái)越多的人開(kāi)始重視自己的飲食改善,已經(jīng)不是簡(jiǎn)單的吃飽、喝足就可以滿(mǎn)足的了,對(duì)于飲食的質(zhì)量要求越來(lái)越高。當(dāng)今社會(huì)屬于是信息化時(shí)代,人們的體力勞動(dòng)逐漸轉(zhuǎn)移到了腦力勞動(dòng),因此,通過(guò)計(jì)算機(jī)來(lái)獲取想要的信息已經(jīng)成為時(shí)代發(fā)展的必然結(jié)果,也是社會(huì)進(jìn)步的重要指標(biāo)。美食網(wǎng)站系統(tǒng)是建立在互聯(lián)網(wǎng)基礎(chǔ)上的一種美食平臺(tái),面向所有網(wǎng)民提供服務(wù)。無(wú)論是個(gè)人用戶(hù)還是公眾用戶(hù),都可以通過(guò)該平臺(tái)進(jìn)行網(wǎng)上查詢(xún)、發(fā)布美食信息。任何網(wǎng)友都可以自由地查看、搜索該美食網(wǎng)站平臺(tái)的信息。用戶(hù)可以免費(fèi)查看網(wǎng)站上的美食網(wǎng)站信息,挑選自己喜歡的美食,進(jìn)行添加購(gòu)物車(chē)、收藏;用戶(hù)還可以免費(fèi)查看網(wǎng)站上的公告信息,挑選特價(jià)的美食;用戶(hù)還可以選擇美食的類(lèi)別,進(jìn)行批量的訂購(gòu)。當(dāng)前比較流行的Web開(kāi)發(fā)技術(shù)有:ASP、PHP、JSP、NET等。通過(guò)比較我選擇了用PHP來(lái)制作外賣(mài)點(diǎn)餐網(wǎng)站,PHP(HypertextPreprocessor)是一種服務(wù)器端的程序語(yǔ)言。它是一種通用的開(kāi)源腳本語(yǔ)言,吸收了C語(yǔ)言、java和Perl的語(yǔ)法特點(diǎn),易于學(xué)習(xí),是廣大的編程愛(ài)好者開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站的首選。與ASP、JSP相比,PHP在安全性、開(kāi)發(fā)成本、開(kāi)發(fā)速度、穩(wěn)定性以及跨平臺(tái)等方面優(yōu)勢(shì)更為顯著,PHP的運(yùn)行環(huán)境可以在各種操作系統(tǒng)上搭建,它是一種跨平臺(tái)的語(yǔ)言,由于Linux操作系統(tǒng)不僅免費(fèi),而且不死機(jī)及沒(méi)有計(jì)算機(jī)病毒,因此,PHP運(yùn)行在Linux系統(tǒng)上具有成本低、穩(wěn)定性好的優(yōu)勢(shì)。由于PHP的開(kāi)發(fā)速度極快,開(kāi)發(fā)周期短,可以大大降低PHP的開(kāi)發(fā)成本。因此,PHP是制作網(wǎng)站的首要選擇。1.2研究現(xiàn)狀PHP屬于后起之秀,吸收了java和c以及perl等語(yǔ)言?xún)?yōu)點(diǎn),專(zhuān)注互聯(lián)網(wǎng)領(lǐng)域。WEB領(lǐng)域PHP擁有得天獨(dú)厚的優(yōu)勢(shì),WEB領(lǐng)域沒(méi)有語(yǔ)言可以和他比。PHP在市場(chǎng)描述就比較簡(jiǎn)單了,因?yàn)槲覀冎灰匆粋€(gè)領(lǐng)域,那就是web領(lǐng)域。WEB領(lǐng)域PHP的市場(chǎng)超過(guò)80%,其余的則是如java-JSP,asp,C#,.NET,python,ruby等。網(wǎng)站500強(qiáng)中有395家使用PHP。全球最大的兩個(gè)網(wǎng)站facebook和新浪微博全在使用PHP。PHP的大中型系統(tǒng)開(kāi)發(fā),方便、快速、是java跟沒(méi)法比擬的,還有PHP有很多如yaf,yii,ci等強(qiáng)大的框架,中小型一般系統(tǒng)的開(kāi)發(fā),一個(gè)thinkPHP就足于通殺java的ssh三大框架了。PHP由于其簡(jiǎn)單,快速開(kāi)發(fā)等特點(diǎn),也導(dǎo)致了開(kāi)發(fā)復(fù)雜應(yīng)用稍顯吃力,所謂成也蕭何敗也蕭何,PHP由于其關(guān)注應(yīng)用層面,開(kāi)發(fā)基本不需要考慮底層的東西,導(dǎo)致其開(kāi)發(fā)快速,學(xué)習(xí)簡(jiǎn)單;但也導(dǎo)致了學(xué)習(xí)PHP工作一段時(shí)間比較容易遇到瓶頸,PHP在5.3版本后加入了更為強(qiáng)大的擴(kuò)展,通過(guò)PHP的擴(kuò)展可以實(shí)現(xiàn)PHP本身實(shí)現(xiàn)不了的功能。所以PHP開(kāi)發(fā)遇到了這樣瓶頸,可以考慮通過(guò)擴(kuò)展來(lái)解決,facebook和正在大量使用擴(kuò)展功能去應(yīng)對(duì)一個(gè)又一個(gè)的難題。新浪微博架構(gòu)師兼首席PHP技術(shù)顧問(wèn)惠新宸一直在專(zhuān)注與PHP底層原理的研究和分享。擴(kuò)展是被他認(rèn)為PHP最偉大的地方。中國(guó)人口占全球人口19.7%,中國(guó)網(wǎng)民占全球網(wǎng)民22.4%,中國(guó)網(wǎng)站數(shù)量占全球網(wǎng)站數(shù)量的0.5%,網(wǎng)站的可發(fā)展空間可謂巨大;發(fā)達(dá)國(guó)家互聯(lián)網(wǎng)對(duì)GDP的貢獻(xiàn)可達(dá)20%,中國(guó)互聯(lián)網(wǎng)對(duì)GDP的影響僅為3%。可謂互聯(lián)網(wǎng)的發(fā)展空間巨大,而互聯(lián)網(wǎng)離不開(kāi)WEB,WEB離不開(kāi)PHP,PHP的優(yōu)勢(shì)更加明顯。1.3課題的研究方法、技術(shù)路線(xiàn)(1)研究方法:根據(jù)該系統(tǒng)的基本框圖,所述功能模塊,應(yīng)用程序設(shè)計(jì),MySQL被用作數(shù)據(jù)庫(kù)服務(wù)器開(kāi)發(fā)這一系統(tǒng)。系統(tǒng)分為前臺(tái)和后臺(tái)管理模塊,前臺(tái)功能模塊主要包括會(huì)員注冊(cè)、登錄、美食中心等功能,后臺(tái)主要模塊包括美食管理,訂單管理,新聞管理等功能模塊。(2)技術(shù)路線(xiàn):本系統(tǒng)采用B/S(Browser/server,瀏覽器/服務(wù)器)三層體系結(jié)構(gòu),這種模式采用多種標(biāo)準(zhǔn)的協(xié)議和技術(shù),適合于任何硬件平臺(tái)和軟件環(huán)境。本系統(tǒng)采用當(dāng)今社會(huì)比較先進(jìn)的PHP技術(shù)開(kāi)發(fā)一個(gè)性能優(yōu)越、可擴(kuò)展性強(qiáng)和安全可靠穩(wěn)定的外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng)。1.4本文研究?jī)?nèi)容本文主要分為七個(gè)章節(jié),第一部分為前言,主要介紹了課題背景、研究意義、課題的研究方法、技術(shù)路線(xiàn)以及本文研究的主要內(nèi)容等。第二部分為相關(guān)技術(shù)簡(jiǎn)介,主要介紹了PHP技術(shù)、B/S框架以及MySQL數(shù)據(jù)庫(kù)等。第三部分為系統(tǒng)分析,主要介紹了項(xiàng)目規(guī)劃、可行性分析、網(wǎng)站設(shè)計(jì)的特點(diǎn)、系統(tǒng)設(shè)計(jì)的總體規(guī)劃、運(yùn)行環(huán)境等。第四部分為系統(tǒng)設(shè)計(jì),主要進(jìn)行了系統(tǒng)的架構(gòu)設(shè)計(jì)、功能模塊設(shè)計(jì)等第五部分為系統(tǒng)詳細(xì)設(shè)計(jì),主要介紹了系統(tǒng)詳細(xì)設(shè)計(jì)過(guò)程。第六部分為系統(tǒng)調(diào)試與測(cè)試,對(duì)系統(tǒng)進(jìn)行了測(cè)試。第七部分為總結(jié)與展望,主要對(duì)本文工作進(jìn)行了總結(jié)以及對(duì)進(jìn)一步工作進(jìn)行了展望。
2相關(guān)技術(shù)簡(jiǎn)介2.1PHP技術(shù)介紹PHP(PersonalHomePage)是一個(gè)跨平臺(tái)的服務(wù)器端腳本技術(shù)。起步于1995年,于1998年發(fā)行,成為一個(gè)成熟的軟件產(chǎn)品。它功能強(qiáng)大,和HTML腳本集成在一起,并建立對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)的能力。它可以作為網(wǎng)絡(luò)Apache服務(wù)器的一個(gè)模塊,它也使得它比普通的CGI程序更高效。PHP是編程語(yǔ)言和應(yīng)用程序服務(wù)器,PHP和其他編程語(yǔ)言的組合,使用變量存儲(chǔ)臨時(shí)數(shù)值,使用操作符處理變量。PHP的真正價(jià)值在于,它是一個(gè)應(yīng)用程序服務(wù)器,應(yīng)用服務(wù)器是一個(gè)程序,需要幾個(gè)不同的技術(shù)來(lái)對(duì)程序的完整套件,包括一個(gè)強(qiáng)大的編程語(yǔ)言,存儲(chǔ)在一個(gè)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),以及互聯(lián)網(wǎng)協(xié)議,特別是電子郵件和HTTP。PHP借了很多C,Java和Perl語(yǔ)言的語(yǔ)法,并補(bǔ)充多種PHP自己的特色,使Web開(kāi)發(fā)人員可以編寫(xiě)一個(gè)快速的動(dòng)態(tài)頁(yè)面。PHP是一種跨平臺(tái)的服務(wù)器端嵌入式腳本技術(shù)。PHP頁(yè)面是一種文本文件,是在普通HTML頁(yè)面文件中嵌入PHP腳本語(yǔ)句,由服務(wù)器解釋和翻譯成普通的HTML文件,然后傳送給客戶(hù)端瀏覽器,這一點(diǎn)和ASP一樣。PHP腳本語(yǔ)句段以“<?”為開(kāi)始,以“?>”為結(jié)束?!?lt;?”和“?>”之間的腳本語(yǔ)句由服務(wù)器軟件調(diào)用PHP腳本解釋引擎解釋后替換為普通的HTML腳本。PHP的變量范圍是類(lèi)似于C,即,在默認(rèn)情況下,在主函數(shù)中的變量是全局變量,而該函數(shù)的變量是局部變量。在回應(yīng)中,PHP和printf函數(shù)用來(lái)輸出HTML內(nèi)容的HTML頁(yè)面,在這里回聲輸出沒(méi)有格式字符串,而printf的輸出格式字符串。如echo("welcomeyoutocomehere")和printf("%s,%d",str1,int1)。2.2PHP技術(shù)特點(diǎn)現(xiàn)在,服務(wù)器側(cè)腳本技術(shù)通常使用是CGI。第三方供應(yīng)商提出了一個(gè)更好的解決方案:如ActiveServerPage的微軟。它具有快速運(yùn)行,強(qiáng)大的數(shù)據(jù)庫(kù)操作的特性,并且許多開(kāi)發(fā)人員的歡迎,但它們只能運(yùn)行于各個(gè)平臺(tái)(NT)上,在更高的響應(yīng)率的網(wǎng)站(多數(shù)大,中型網(wǎng)站是建立在Unix的或Linux平臺(tái),阿帕奇系列Web服務(wù)器)還是不能使用(注:目前有兩種技術(shù)在UNIX系列操作系統(tǒng)平臺(tái)的應(yīng)用程序,但不是所有的優(yōu)秀功能的來(lái)源,或者只適用于個(gè)別的Unix平臺(tái))。1997年,PHP開(kāi)發(fā)團(tuán)隊(duì)在原有的PHP/FI2.0的基礎(chǔ)上,新的PHP3的開(kāi)發(fā),免費(fèi)為所有的人使用和(或)更改源代碼。與傳統(tǒng)的CGI語(yǔ)言相比,PHP具有以下突出特點(diǎn):(1)簡(jiǎn)單易用:PHP的語(yǔ)法結(jié)構(gòu)借用了C,Java,Perl的語(yǔ)法框架,在實(shí)際使用中更多的編程經(jīng)驗(yàn)。(2)運(yùn)行速度:PHP采用HTML內(nèi)置標(biāo)記技術(shù),程序本身被解釋為在Web服務(wù)器上運(yùn)行的模塊,它的運(yùn)行時(shí)間很完善的分析速度。(3)多個(gè)平臺(tái):所述當(dāng)前Unix可以在Windows,Linux和PHP服務(wù)器,配套的IIS,Apache和其他一般的Web服務(wù)器正常操作時(shí),用戶(hù)更換平臺(tái)不需要改變PHP代碼便可以采取。(4)效率高:和其它的解釋性語(yǔ)言相比,PHP系統(tǒng)消耗較少的系統(tǒng)資源。當(dāng)PHP作為ApacheWeb服務(wù)器的一部分時(shí),運(yùn)行代碼不需要調(diào)用外部二進(jìn)制程序,服務(wù)器解釋腳本不需要承擔(dān)任何額外負(fù)擔(dān)。(5)開(kāi)放源碼:所有的PHP源碼都可以得到。(6)沒(méi)有運(yùn)行費(fèi)用:PHP是免費(fèi)的。(7)在服務(wù)器端:因?yàn)镻HP是在Web服務(wù)器上運(yùn)行,PHP程序可以是非常大的,非常復(fù)雜的,而且不會(huì)降低客戶(hù)端的運(yùn)行速度。(8)嵌入HTML:因?yàn)镻HP語(yǔ)言可以被嵌入到HTML內(nèi)部,很容易學(xué)習(xí)PHP。(9)簡(jiǎn)單的語(yǔ)言:C++和Java不同,PHP語(yǔ)言是基于基本的語(yǔ)言,但它的功能強(qiáng)大到足以支持任何類(lèi)型的網(wǎng)站。(10)極其強(qiáng)大的數(shù)據(jù)庫(kù)支持:PHP最強(qiáng)大也最有代表性的特點(diǎn)在于它的數(shù)據(jù)庫(kù)層,它內(nèi)置了對(duì)很多數(shù)據(jù)庫(kù)的支持,而不再需要特殊擴(kuò)充,使得編寫(xiě)基于數(shù)據(jù)庫(kù)的網(wǎng)頁(yè)變得非常簡(jiǎn)單。目前所支持的數(shù)據(jù)庫(kù)有Oracle、Sybase、FilePro、mSQL、Velocis、MySQL、In-formix、Solid、dBase、ODBC、Unix、dbm、PostgreSQL、MSSQLSERVER等。(11)文件存?。篜HP有許多支持文件存取的函數(shù)。2.3Apache簡(jiǎn)介Apache是世界使用排名第一的Web服務(wù)器軟件。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺(tái)上,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一Apacheweb服務(wù)器軟件擁有以下特性:滿(mǎn)足HTTP通信協(xié)議文件的配置過(guò)程簡(jiǎn)單而有效支持通用網(wǎng)關(guān)接口支持基于IP和基于域名的虛擬主機(jī)支持多種方式的HTTP認(rèn)證集成Perl處理模塊集成代理服務(wù)器模塊支持實(shí)時(shí)監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志支持服務(wù)器端包含指令(SSI)支持安全Socket層(SSL)提供用戶(hù)會(huì)話(huà)過(guò)程的跟蹤支持FastCGI通過(guò)第三方模塊可以支持JavaServlets如果你準(zhǔn)備選擇Web服務(wù)器,毫無(wú)疑問(wèn)Apache是你的最佳選擇。2.4PHPandmin簡(jiǎn)介PHPMyAdmin是一個(gè)數(shù)據(jù)庫(kù)管理工具,基于Web的基礎(chǔ),在虛擬主機(jī)的MySQL的PHP架構(gòu),使管理人員可以使用Web界面管理MySQL數(shù)據(jù)庫(kù)。通過(guò)這個(gè)網(wǎng)絡(luò)界面可以成為一個(gè)簡(jiǎn)單的方法來(lái)輸入繁雜SQL語(yǔ)法的較佳途徑,特別是處理大量的數(shù)據(jù)導(dǎo)入和導(dǎo)出更加方便。一個(gè)更大的優(yōu)點(diǎn)在于,PHPMyaAdmin是一樣的Web服務(wù)器上其他PHP方案,但可以在生成HTML頁(yè)面,這是遠(yuǎn)程管理MySQL數(shù)據(jù)庫(kù),容易建立任何地方使用這些程序,修改刪除數(shù)據(jù)的基礎(chǔ)上和數(shù)據(jù)表。PHPMyAdmin的也可以使用由PHP來(lái)建立一個(gè)共同的語(yǔ)法,以促進(jìn)網(wǎng)頁(yè)所需的SQL語(yǔ)法正確性。2.5B/S簡(jiǎn)介在三層體系結(jié)構(gòu)的B/S(Browser/Server,瀏覽器/服務(wù)器結(jié)構(gòu))系統(tǒng)中,用戶(hù)可以通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的眾多服務(wù)器發(fā)出請(qǐng)求。B/S系統(tǒng)極大地簡(jiǎn)化了客戶(hù)機(jī)的工作量,客戶(hù)機(jī)上只需要安裝、配置少量的客戶(hù)端運(yùn)行軟件即可,服務(wù)器將擔(dān)負(fù)大量的工作,對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)以及應(yīng)用程序的執(zhí)行都將由服務(wù)器來(lái)完成。B/S架構(gòu)的不斷成熟,主要使用WWW瀏覽器技術(shù),結(jié)合多種瀏覽器腳本語(yǔ)言,用通用瀏覽器需要實(shí)現(xiàn)原本復(fù)雜的專(zhuān)有軟件來(lái)實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(fā)成本,是一種新的軟件架構(gòu)?;贐/S架構(gòu)軟件的安裝,修改,維修的需要在服務(wù)器端解決。使用該系統(tǒng)時(shí),只需要一個(gè)瀏覽器用戶(hù)可以運(yùn)行所有的模塊,從而實(shí)現(xiàn)了“零客戶(hù)端”功能,很容易在運(yùn)行時(shí)自動(dòng)升級(jí)。B/S架構(gòu)也提供了一個(gè)均質(zhì)機(jī),網(wǎng)上異構(gòu)網(wǎng)絡(luò),異構(gòu)應(yīng)用服務(wù)的聯(lián)機(jī),統(tǒng)一的開(kāi)放服務(wù)最現(xiàn)實(shí)的基礎(chǔ)。B/S系統(tǒng)包括:表示邏輯層,控制邏輯層,數(shù)據(jù)展現(xiàn)層,三層是相對(duì)獨(dú)立又相互關(guān)聯(lián),在這里我們?cè)谌齻€(gè)層面上做一個(gè)介紹:1.表示邏輯層,其主要任務(wù)是提出一個(gè)服務(wù)請(qǐng)求到網(wǎng)絡(luò)上的Web服務(wù)器,服務(wù)器驗(yàn)證身份,使用HTTP協(xié)議把所需的主頁(yè)傳送給客戶(hù)端,客戶(hù)機(jī)接受傳來(lái)的主頁(yè)文件,并把它顯示在Web瀏覽器上。2.控制邏輯層,其主要任務(wù)是接受用戶(hù)的數(shù)據(jù)請(qǐng)求,首先需要執(zhí)行相應(yīng)的程序和數(shù)據(jù)庫(kù)連接,并進(jìn)行數(shù)據(jù)處理請(qǐng)求的數(shù)據(jù)庫(kù)服務(wù)器,然后數(shù)據(jù)庫(kù)服務(wù)器等待數(shù)據(jù)處理的結(jié)果并提交Web服務(wù)器,然后由Web服務(wù)器返回給客戶(hù)端。3.數(shù)據(jù)表示層,其主要任務(wù)是接受Web服務(wù)器請(qǐng)求的數(shù)據(jù)庫(kù)操作,來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的查詢(xún),修改,更新和刪除的功能,操作結(jié)果返回給Web服務(wù)器。與傳統(tǒng)視為C/S結(jié)構(gòu)相比,B/S結(jié)構(gòu)具有以下優(yōu)點(diǎn)。首先,C/S結(jié)構(gòu)的每一個(gè)客戶(hù)端都必須安裝和配置軟件,B/S比C/S的維護(hù)工作量大大減少了。假如一個(gè)企業(yè)共有50個(gè)客戶(hù)站點(diǎn)使用一套C/S結(jié)構(gòu)的軟件,則當(dāng)這套軟件進(jìn)行了哪怕很微小的改動(dòng)后(比如增加某個(gè)功能),系統(tǒng)維護(hù)員都必須進(jìn)行這樣的維護(hù);將服務(wù)器更新到最新版本;將客戶(hù)端原有的軟件卸載,再安裝新的版本,然后進(jìn)行設(shè)置,最為可怕的是客戶(hù)端的維護(hù)工作必須不折不扣的進(jìn)行50次。假如部分客戶(hù)端是在另外一個(gè)地方,那么系統(tǒng)維護(hù)員還必須跑到該地方再進(jìn)行卸載、安裝、設(shè)置的工作。若沒(méi)有對(duì)某個(gè)客戶(hù)端進(jìn)行這樣的維護(hù),則該客戶(hù)端將會(huì)因?yàn)榕龅桨姹静灰恢碌膯?wèn)題而無(wú)法工作[12]。在這方面,B/S結(jié)構(gòu)的客戶(hù)端不必安裝及維護(hù)。如果我們將前面企業(yè)的C/S結(jié)構(gòu)的軟件換成B/S結(jié)構(gòu)的,我們看看軟件升級(jí)后,系統(tǒng)維護(hù)員如何維護(hù):系統(tǒng)維護(hù)員只要將服務(wù)器的軟件升級(jí)到最新版本就行了。其他客戶(hù)端,只要重新登錄系統(tǒng),使用的就已經(jīng)是最新版本的軟件了。其次,B/S應(yīng)用成本較低,C/S軟件一般是采用兩層結(jié)構(gòu)的。兩層結(jié)構(gòu)中,客戶(hù)端接受用戶(hù)的請(qǐng)求,客戶(hù)端向數(shù)據(jù)庫(kù)服務(wù)提出請(qǐng)求,數(shù)據(jù)庫(kù)服務(wù)將數(shù)據(jù)提交給客戶(hù)端,客戶(hù)端將數(shù)據(jù)進(jìn)行諸如,運(yùn)算、匯總、統(tǒng)計(jì)等等的計(jì)算,并將結(jié)果呈現(xiàn)給用戶(hù)。然而在三層結(jié)構(gòu)中,客戶(hù)端接受用戶(hù)的請(qǐng)求,客戶(hù)端請(qǐng)求到應(yīng)用服務(wù),應(yīng)用服務(wù)訪(fǎng)問(wèn)數(shù)據(jù),從數(shù)據(jù)庫(kù)服務(wù)應(yīng)用程序?qū)⒂?jì)算數(shù)據(jù),并將結(jié)果提交給客戶(hù)端,客戶(hù)端的禮物將結(jié)果顯示給用戶(hù)。兩種結(jié)構(gòu)最大的不同在于參與運(yùn)算的客戶(hù)端,而客戶(hù)端的三層結(jié)構(gòu)的兩層結(jié)構(gòu)不參與,而只是接收用戶(hù)的請(qǐng)求,顯示了最終的結(jié)果。由于客戶(hù)端的三層結(jié)構(gòu)并不需要參與計(jì)算,所以客戶(hù)端電腦配置的要求相對(duì)較低。此外,由于從通過(guò)僅在最終結(jié)果的客戶(hù)端應(yīng)用程序的服務(wù),一個(gè)相對(duì)小的數(shù)據(jù)量,也可以使用電話(huà)線(xiàn)作為傳輸線(xiàn)路。使用C/S的兩層結(jié)構(gòu),利用電話(huà)線(xiàn)作為傳輸線(xiàn)可能無(wú)法接受,因?yàn)樗俣忍?。該軟件?lái)配置服務(wù)器配置的三層結(jié)構(gòu)可以改善,減少了客戶(hù)端的配置。這樣的增幅是只有一臺(tái)服務(wù)器(應(yīng)用服務(wù)和數(shù)據(jù)庫(kù)服務(wù)可以放在同一臺(tái)計(jì)算機(jī)上的價(jià)格,但它減少了幾十個(gè)客戶(hù)機(jī)的價(jià)格。在降低總體擁有成本發(fā)揮了作用。2.6MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)是數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象的集合,其中數(shù)據(jù)庫(kù)對(duì)象指表(Table)、視圖(View)、存儲(chǔ)過(guò)程(StoredProcedure)和觸發(fā)器(Trigger)等。數(shù)據(jù)庫(kù)通過(guò)SQL(StructuredQueryLanguage)來(lái)對(duì)數(shù)據(jù)進(jìn)行操作和管理,這里包括一些基本的操作如select、delete、insert、update語(yǔ)句。ADO(數(shù)據(jù)對(duì)象的ActiveX)是數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)技術(shù)開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序在Microsoft。它的設(shè)計(jì)與新的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)層DB提供程序OLE合作,以提供通用數(shù)據(jù)訪(fǎng)問(wèn)(數(shù)據(jù)MySQL的通用型)。DBOLE是一個(gè)低級(jí)別的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)接口,它可以訪(fǎng)問(wèn)各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)。使用大量COM接口的,所以它是一個(gè)高層次的接入技術(shù)的ADO包DBOLE程序。的數(shù)據(jù)庫(kù)管理系統(tǒng)和界面的原理如圖2-1所示。MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),快速,多線(xiàn)程和多用戶(hù)。它支持常規(guī)的SQL查詢(xún)語(yǔ)言,并采用了多種數(shù)據(jù)類(lèi)型,可以進(jìn)行各種詳細(xì)的查詢(xún)等。MySQL提供了全套數(shù)據(jù)庫(kù)創(chuàng)建和訪(fǎng)問(wèn)機(jī)制,通過(guò)一個(gè)非常直觀(guān)的方式來(lái)創(chuàng)建,訪(fǎng)問(wèn)和修改數(shù)據(jù)庫(kù)表和,和各種它們之間的數(shù)據(jù)關(guān)系可以被創(chuàng)建。MySQL的系列從90年代的發(fā)展,經(jīng)過(guò)多年的發(fā)展,它已成為一個(gè)非常成熟的技術(shù)。MySQL數(shù)據(jù)庫(kù)的特征在于,小而簡(jiǎn)單的數(shù)據(jù)庫(kù)文件時(shí),不需要運(yùn)行或啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)進(jìn)程都可以使用。一般MySQL數(shù)據(jù)庫(kù)文件可以方便地放置在web站點(diǎn)的目錄。也正是由于這些特點(diǎn),MySQL數(shù)據(jù)庫(kù)通常用作的數(shù)據(jù)庫(kù)支持技術(shù)一個(gè)網(wǎng)站開(kāi)發(fā)。數(shù)據(jù)庫(kù)管理系統(tǒng)和接口的原理如下圖所示。圖2-1數(shù)據(jù)庫(kù)管理系統(tǒng)和接口的原理
3系統(tǒng)分析3.1系統(tǒng)可行性分析技術(shù)可行性分析本系統(tǒng)采用PHP+MYSQL+Apache相結(jié)合的形式開(kāi)發(fā),系統(tǒng)前臺(tái)使用HTML嵌入PHP開(kāi)發(fā)管理用戶(hù)界面,信息完善,界面友好,具有親和力;后臺(tái)使用MySQL數(shù)據(jù)庫(kù)開(kāi)發(fā)管理數(shù)據(jù)庫(kù),一些關(guān)鍵應(yīng)用的業(yè)務(wù)處理機(jī)制,具有很強(qiáng)的錯(cuò)誤處理能力。該系統(tǒng)的開(kāi)發(fā)環(huán)境,現(xiàn)在是開(kāi)放源碼的Apache服務(wù)器特別受歡迎,使用方便,運(yùn)行穩(wěn)定,安全可靠。該技術(shù)在web開(kāi)發(fā)中得到了廣泛應(yīng)用。綜上所述,該系統(tǒng)在技術(shù)上是可行的。操作可行性分析本系統(tǒng)采用B/S結(jié)構(gòu),實(shí)現(xiàn)信息化管理,操作簡(jiǎn)單,容易理解,對(duì)于用戶(hù)來(lái)說(shuō)并不需要高深的計(jì)算機(jī)專(zhuān)業(yè)知識(shí),只要管理員可以了解網(wǎng)絡(luò)的使用,就可以使用和維護(hù)網(wǎng)站。經(jīng)濟(jì)可行性分析由于本系統(tǒng)是一個(gè)模擬外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng),整個(gè)網(wǎng)站是不是太大,所以開(kāi)發(fā)成本不會(huì)太高。整個(gè)開(kāi)發(fā)過(guò)程由自己完成,但只有一臺(tái)PC機(jī)和各種軟件,可以實(shí)現(xiàn)所有的開(kāi)發(fā)任務(wù)。因?yàn)殡娔X是我的原創(chuàng),而無(wú)需升級(jí)硬件,以及各種軟件,而且還可以在網(wǎng)上免費(fèi)下載,所以整個(gè)開(kāi)發(fā)成本可以說(shuō)非常低,這也為我們進(jìn)一步提高該網(wǎng)站提供了一個(gè)非常大的方便。在使用成本,用戶(hù)只需要具有連接到國(guó)際互聯(lián)網(wǎng)的計(jì)算機(jī)上,通過(guò)注冊(cè)就可以在世界的任何一個(gè)角落使用本網(wǎng)站的所有功能和服務(wù)。而對(duì)于電腦硬件的要求不是很高,該軟件有沒(méi)有特殊需求,方便地訪(fǎng)問(wèn)和使用。因此,從經(jīng)濟(jì)可行性分析的角度,系統(tǒng)地反映了經(jīng)濟(jì)利益和強(qiáng)大的功能。3.2系統(tǒng)功能需求概述前臺(tái)功能:1、會(huì)員登錄:方便用戶(hù)登錄了解相關(guān)信息。2、注冊(cè):支持讀者用戶(hù)、作者用戶(hù)注冊(cè)賬戶(hù)登錄系統(tǒng)查看相關(guān)信息。3、全部美食:方便用戶(hù)查看美食分類(lèi),挑選自己需要的美食進(jìn)行購(gòu)買(mǎi),添加購(gòu)物車(chē)等操作。4、在線(xiàn)留言:用戶(hù)可以在線(xiàn)留言。后臺(tái)管理功能:1、用戶(hù)管理:對(duì)網(wǎng)站會(huì)員用戶(hù)信息進(jìn)行增加,刪除,修改。2、美食管理:管理員對(duì)美食信息、美食分類(lèi)進(jìn)行管理,包括增加、刪除、修改等功能。3、訂單管理:管理員對(duì)訂單信息進(jìn)行管理,包括查詢(xún)、受理、刪除等操作。4、系統(tǒng)管理:實(shí)現(xiàn)管理員用戶(hù)修改密碼的功能。3.3系統(tǒng)設(shè)計(jì)規(guī)則無(wú)論哪個(gè)網(wǎng)站都要有它自己的設(shè)計(jì)規(guī)則。該系統(tǒng)也一樣,它的主要設(shè)計(jì)規(guī)則有:簡(jiǎn)單性:在實(shí)現(xiàn)系統(tǒng)的各項(xiàng)功能的同時(shí),操作簡(jiǎn)單易懂對(duì)于系統(tǒng)來(lái)說(shuō)是非常重要的。實(shí)用性:該系統(tǒng)前臺(tái)單元接受來(lái)自互聯(lián)網(wǎng)用戶(hù)的請(qǐng)求,用戶(hù)可以方便的瀏覽前端首頁(yè)、訂購(gòu)美食。后臺(tái)系統(tǒng)接受來(lái)自系統(tǒng)管理員的請(qǐng)求,管理員可以對(duì)商品、訂單、會(huì)員等信息進(jìn)行增、刪、改、查等操作,具有良好的實(shí)用性。3.4運(yùn)行環(huán)境本系統(tǒng)是一個(gè)web版的應(yīng)用程序,需要在服務(wù)器上部署中間件Apache、MySQL數(shù)據(jù)庫(kù),其他的客戶(hù)端通過(guò)網(wǎng)絡(luò)進(jìn)行訪(fǎng)問(wèn)該服務(wù)器即可。(1)開(kāi)發(fā)硬件平臺(tái):CPU:酷睿雙核3.2GHZ內(nèi)存:4G以上硬盤(pán):320GB(2)服務(wù)器端硬件平臺(tái):Web服務(wù)器參考配置:IntelXeonQuadCoreE553080W2.40GHz/5.8GT/8MBCache,2x2GBDDR3-1066MHz,2.5inHS146GBSAS,HS675WPSU,ServeRAIDMR10i(RAID5),2*GigaEthernet,LightPath,CD-RW/DVDCombo,1U,3YearsOnsiteNextBusinessDay.146GB10K6GbpsSAS2.5"SFFSlim-HSHDDx3550M2/x3650M2/HS22數(shù)據(jù)庫(kù)服務(wù)器參考配置:IntelXeonQuadCoreE550480W2.00GHz/4.8GT/4MBCache,2x2GBDDR3-800MHz,2.5inHS146GBSAS,670WPSU,ServeRAIDBR10i(RAID0,1),2*GigaEthernet,DVDROM,5U,3YearsOnsiteNextBusinessDay.146GB10K6GbpsSAS2.5"SFFSlim-HSHDDx3550M2/x3650M2/HS22(3)開(kāi)發(fā)軟件平臺(tái):操作系統(tǒng):Windows7數(shù)據(jù)庫(kù):MySQL
4系統(tǒng)設(shè)計(jì)4.1架構(gòu)設(shè)計(jì)系統(tǒng)采用基于B/S結(jié)構(gòu)的三層應(yīng)用模型來(lái)開(kāi)發(fā)系統(tǒng)。目前,在Internet應(yīng)用體系結(jié)構(gòu)中,事物處理被劃分為3層,即WebBrowser—InternetServer—DatabaseServer。在這種體系結(jié)構(gòu)中,業(yè)務(wù)的表達(dá)通過(guò)簡(jiǎn)單的WebBrowser來(lái)實(shí)現(xiàn),用戶(hù)通過(guò)WebBrowser提交表單,把信息傳遞給InternetServer,InternetServer根據(jù)用戶(hù)的請(qǐng)求,分析出要求數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行的查詢(xún),交給數(shù)據(jù)庫(kù)服務(wù)器去執(zhí)行,DatabaseServer把查詢(xún)的結(jié)果反饋給InternetServer,在由InternetServer用標(biāo)準(zhǔn)的HTML語(yǔ)言反饋給WebBrowser。在B/S架構(gòu),用戶(hù)通過(guò)發(fā)送一些瀏覽器的分布式網(wǎng)絡(luò)的請(qǐng)求給服務(wù)器,并且服務(wù)器返回瀏覽器的請(qǐng)求。B/S結(jié)構(gòu)簡(jiǎn)化了客戶(hù)端的工作,僅需要少量的客戶(hù)端軟件。服務(wù)器將在數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)完成更多的工作和應(yīng)用將在服務(wù)器上完成。瀏覽器發(fā)送一個(gè)請(qǐng)求向數(shù)據(jù)請(qǐng)求,處理結(jié)果和動(dòng)態(tài)頁(yè)面,其余的是由服務(wù)器的Web完成。這種三層體系結(jié)構(gòu)如圖4-1所示。Browse瀏覽器Browse瀏覽器Web服務(wù)器數(shù)據(jù)庫(kù)圖4-1B/S三層架構(gòu)示意圖4.2功能模塊設(shè)計(jì)系統(tǒng)分為前臺(tái)、后臺(tái)兩個(gè)模塊。前臺(tái)單元接受來(lái)自用戶(hù)的請(qǐng)求,前臺(tái)主要實(shí)現(xiàn)了用戶(hù)登錄、注冊(cè)、所有美食、站內(nèi)新聞、在線(xiàn)留言等功能。后臺(tái)系統(tǒng)接受來(lái)自系統(tǒng)管理員的請(qǐng)求,管理員主要實(shí)現(xiàn)了系統(tǒng)管理、站內(nèi)新聞管理、美食類(lèi)別管理、美食信息管理、訂單管理等功能模塊。系統(tǒng)功能結(jié)構(gòu)圖如圖4-2所示:圖4-2系統(tǒng)功能結(jié)構(gòu)圖4.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)4.3.1數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范在概念設(shè)計(jì)中,通常用四種方法:自頂向下:首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化;自下而上:首先,我們定義每個(gè)本地應(yīng)用程序的概念結(jié)構(gòu),那么它們集成在一起,得到全局概念結(jié)構(gòu);逐步擴(kuò)大:首先定義的核心概念結(jié)構(gòu),然后展開(kāi),直到結(jié)構(gòu)的整體概念;混合策略:自上而下和自下而上的結(jié)合,設(shè)計(jì)出具有自上而下的戰(zhàn)略全局觀(guān)念。結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)在物理結(jié)構(gòu)設(shè)計(jì)階段首先分兩步走:確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要是指存取方法和存儲(chǔ)結(jié)構(gòu)。對(duì)物理結(jié)構(gòu)的評(píng)價(jià)是時(shí)間和空間效率.選取正確的關(guān)系模式存取方法,常用的有:存取索引方法、聚簇存取、HASH存取方法等。4.3.2數(shù)據(jù)庫(kù)概念模型關(guān)系型數(shù)據(jù)庫(kù)是目前應(yīng)用最廣泛的數(shù)據(jù)庫(kù)。既然是面向?qū)ο笙到y(tǒng)設(shè)計(jì),數(shù)據(jù)庫(kù)設(shè)計(jì)當(dāng)然也要是面向?qū)ο蟮摹,F(xiàn)在要考慮如何對(duì)類(lèi)進(jìn)行持久化操作,即如何將對(duì)象類(lèi)映射到關(guān)系數(shù)據(jù)庫(kù)的二維表。目前可以采用數(shù)據(jù)庫(kù)建模工具來(lái)實(shí)現(xiàn),像PowerDesigner、Rose等。數(shù)據(jù)庫(kù)的概念設(shè)計(jì)整體屬性E-R圖如下圖4-3所示:圖4-3整體屬性E-R圖圖表說(shuō)明:矩形模版代表的是實(shí)體。后續(xù)部分實(shí)體之間的關(guān)系表現(xiàn)用菱形來(lái)代表,無(wú)向線(xiàn)是“菱形”與“相關(guān)實(shí)體”連接的工具,在邊上根據(jù)需要標(biāo)明聯(lián)系的類(lèi)型。實(shí)體的屬性根據(jù)模版可用橢圓表示,后來(lái)根據(jù)情況在圖中被省略。管理員:ID、用戶(hù)名、密碼、操作。美食:標(biāo)題、分類(lèi)、性質(zhì)、日期、描述、內(nèi)容、操作。然后根據(jù)具體的功能需求,對(duì)本系統(tǒng)的E-R圖進(jìn)行細(xì)化從而得到幾種實(shí)體—關(guān)系模型,以下為部分實(shí)體—關(guān)系模型。圖4-4管理員實(shí)體屬性E-R分圖圖4-5美食信息實(shí)體屬性E-R分圖圖4-6訂單信息實(shí)體屬性E-R分圖圖4-7新聞信息實(shí)體屬性E-R分圖4.3.3數(shù)據(jù)表字段設(shè)計(jì)由于論文篇幅有限這里只列舉部分表的設(shè)計(jì)。表4-1allusers表序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1IDInt4自增編號(hào)10
2usernameVarChar50是255
3pwdVarChar50是255
4cxVarChar50是255
5addtimeDateTime8是23
表4-2
goumaijilu表序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410
2bianhao150255
3mingcheng255255
4leibie150255
5jiage150255
6kucun150255
7goumaishuliang150255
8beizhu255255
9goumairen150255
10addtimeDateTime819
11issh255255
12ddh255255
13hdfk255255
14zffs255255
15kddz255255
表4-3liuyanban表序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410
2zhanghao150255
3zhaopian150255
4xingming150255
5liuyan150255
6addtimeDateTime819
7huifu150255
表4-4
pinglun表序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1IDInt410
2wenzhangID255255
3pinglunneirong255255
4pinglunren255255
5addtimeDateTime819
6biao150255
4.4系統(tǒng)架構(gòu)類(lèi)圖類(lèi)圖是系統(tǒng)架構(gòu)的靜態(tài)結(jié)構(gòu)圖,表達(dá)了各個(gè)類(lèi)之間的靜態(tài)聯(lián)系。外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)類(lèi)圖如下圖4-8所示。圖4-8網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)類(lèi)圖4.5系統(tǒng)交互圖系統(tǒng)架構(gòu)類(lèi)的工作流程:1.用戶(hù)接口對(duì)象正在接收用戶(hù)的輸入請(qǐng)求后發(fā)送到業(yè)務(wù)代理。2.在接收到請(qǐng)求后,業(yè)務(wù)代理被發(fā)送到權(quán)限來(lái)驗(yàn)證請(qǐng)求。3.權(quán)威的機(jī)構(gòu)來(lái)驗(yàn)證結(jié)果返回給代理商。4.根據(jù)驗(yàn)證結(jié)果進(jìn)行以下處理的業(yè)務(wù)代理對(duì)象:用于非一致性請(qǐng)求返回的提示信息;對(duì)于右側(cè)的請(qǐng)求,該請(qǐng)求將被轉(zhuǎn)發(fā)到的業(yè)務(wù)對(duì)象。5、業(yè)務(wù)對(duì)象進(jìn)行業(yè)務(wù)處理。對(duì)于業(yè)務(wù)處理中的數(shù)據(jù)持久化操作,通過(guò)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)對(duì)象進(jìn)行操作,期間的任何異常都交給異常處理對(duì)象處理。最后返回處理結(jié)果信息給業(yè)務(wù)代理對(duì)象。6、業(yè)務(wù)代理對(duì)象將處理結(jié)果信息返回給用戶(hù)界面。系統(tǒng)架構(gòu)類(lèi)的交互圖如圖4-9所示:圖4-9系統(tǒng)架構(gòu)類(lèi)的交互圖
5詳細(xì)設(shè)計(jì)5.1系統(tǒng)配置連接數(shù)據(jù)庫(kù)的配置:<?ini_set("error_reporting","E_ALL&~E_NOTICE");$conn=MySQL_connect("localhost","root","root");//是MySQLIP,root是帳號(hào),如果有密碼請(qǐng)?zhí)顚?xiě)在""中MySQL_select_db("bcgg");//guestbook是數(shù)據(jù)庫(kù)名//$conn=MySQL_connect("","root","123456");//是MySQLIP,root是帳號(hào),如果有密碼請(qǐng)?zhí)顚?xiě)在""中//MySQL_select_db("db_peek");//guestbook是數(shù)據(jù)庫(kù)名MySQL_query("setnamesgb2312");functiontxtClean($valueString){$txt=array("\n","\r");$html=array("","");returnstr_replace($txt,$html,$valueString);}?>5.2功能模塊實(shí)現(xiàn)5.2.1前臺(tái)下圖5-1所示的界面是外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng)的前臺(tái)首頁(yè)。圖5-1外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng)前臺(tái)首頁(yè)前臺(tái)包括:前臺(tái)主要實(shí)現(xiàn)了用戶(hù)登錄、注冊(cè)、所有美食、站內(nèi)新聞、在線(xiàn)留言等功能。用戶(hù)以會(huì)員的身份登錄之后方可在網(wǎng)站上進(jìn)行外賣(mài)點(diǎn)餐。如果用戶(hù)已經(jīng)是該網(wǎng)站的會(huì)員,則只需在“用戶(hù)名”和“密碼”文本框中輸入相應(yīng)的用戶(hù)名和密碼,最后單擊【提交】即可進(jìn)入會(huì)員用戶(hù)界面。會(huì)員登錄界面如下:圖5-1用戶(hù)登錄界面沒(méi)有賬戶(hù)的游客可以點(diǎn)擊【注冊(cè)】鏈接進(jìn)入相應(yīng)的注冊(cè)交流界面,進(jìn)行注冊(cè)功能。圖5-2會(huì)員注冊(cè)界面登錄注冊(cè)流程圖如下圖5-3所示。圖5-3登錄注冊(cè)流程圖用戶(hù)登錄之后,選擇美食信息,點(diǎn)擊美食圖片可以進(jìn)入下單操作界面,運(yùn)行界面如下。圖5-4點(diǎn)餐功能運(yùn)行界面5.2.2后臺(tái)通過(guò)網(wǎng)頁(yè)瀏覽器進(jìn)入如圖5-5所示的后臺(tái)登錄界面。圖5-5網(wǎng)站后臺(tái)管理在“賬號(hào)”和“密碼”的文本框中輸入用戶(hù)名:hsg 密碼:123,最后單擊【確定】,即可進(jìn)入如圖5-6所示的后臺(tái)管理頁(yè)面。后臺(tái)功能模塊主要實(shí)現(xiàn)了系統(tǒng)管理、站內(nèi)新聞管理、美食類(lèi)別管理、美食信息管理、訂單管理等功能模塊。圖5-6后臺(tái)管理頁(yè)面(1)注冊(cè)用戶(hù)管理單擊【注冊(cè)用戶(hù)管理】鏈接,進(jìn)入注冊(cè)用戶(hù)管理界面。管理員可以對(duì)注冊(cè)用戶(hù)信息進(jìn)行查找、修改、刪除等操作。注冊(cè)用戶(hù)管理界面如下圖5-7所示。圖5-7注冊(cè)用戶(hù)管理頁(yè)面(2)美食管理單擊【美食管理】鏈接,進(jìn)入美食管理界面。在該模塊界面中,管理員可以對(duì)美食信息進(jìn)行添加、刪除、修改等操作。美食管理界面如下圖5-7所示。圖5-7美食管理頁(yè)面(3)訂單管理單擊【訂單管理】鏈接,進(jìn)入訂單管理界面。在該模塊界面中,管理員可以查找、刪除、修改訂單信息,還可以導(dǎo)出Excel報(bào)表。訂單管理操作界面如下圖5-8所示。圖5-8訂單管理頁(yè)面實(shí)現(xiàn)代碼如下:<?session_start();include("../inc/conn.PHP");$bj=$_POST["bj"];$name=$_POST["name"];$content=$_POST["content"];$pic=$_POST["pic"];$first_date=$_POST["first_date"];date_default_timezone_set("PRC");$time=date("Y-m-d");$act=$_GET["act"];//查找操作if($act=="add"){$sql="insertintoworks(name,bj,content,pic,first_date)values('$name','$bj','$content','$pic','$time')";MySQL_query($sql);window.location.href='add_works.PHP';</script>";}//編輯操作if($act=="edit"){$id=$_POST["id"];$url=$_POST["url"];$sql="updateworkssetname='$name',content='$content',pic='$pic'whereworks_id='$id'";MySQL_query($sql);echo"<script>alert('已經(jīng)修改成功!');window.location.href='workslist.PHP';</script>";}//刪除操作if($act=="del"){$id=$_GET["id"];$url=$_SERVER["HTTP_REFERER"];$sql="deletefromworkswhereworks_id='$id'";MySQL_query($sql);echo"<script>alert('已經(jīng)刪除成功!');window.location.href='".$url."';</script>";}?>
6系統(tǒng)調(diào)試與測(cè)試6.1程序調(diào)試在設(shè)計(jì)系統(tǒng)的過(guò)程中,存在一些錯(cuò)誤是必然的。對(duì)于語(yǔ)法錯(cuò)誤的語(yǔ)句,程序提示時(shí)自動(dòng)運(yùn)行,并要求立即改正,因此,這種錯(cuò)誤更容易發(fā)現(xiàn)和糾正。但其它誤差是由于程序和式計(jì)算某些數(shù)據(jù)的邏輯錯(cuò)誤的不正確的操作錯(cuò)誤的結(jié)果。這種類(lèi)型的錯(cuò)誤隱蔽性強(qiáng),有時(shí)會(huì)出現(xiàn),有時(shí)不出現(xiàn),因此,這種調(diào)查的動(dòng)態(tài)誤差既費(fèi)時(shí)又費(fèi)力,需要改善。6.2程序的測(cè)試6.2.1測(cè)試的目的如果測(cè)試的目的是為了盡可能多地找出錯(cuò)誤,那么測(cè)試就應(yīng)該直接針對(duì)軟件比較復(fù)雜的部分或是以前出錯(cuò)比較多的位置。①軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程;②測(cè)試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)誤;③一個(gè)好的測(cè)試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤;④一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。該觀(guān)點(diǎn)可以是一個(gè)提醒的測(cè)試,以發(fā)現(xiàn)錯(cuò)誤為中心,不表現(xiàn)出對(duì)軟件的正確性。但它可能會(huì)誤導(dǎo)了解,這種觀(guān)點(diǎn)可能會(huì)產(chǎn)生誤導(dǎo)。結(jié)果發(fā)現(xiàn),該軟件測(cè)試的唯一的目標(biāo)就是要找出錯(cuò)誤。這是沒(méi)有價(jià)值,找出錯(cuò)誤的測(cè)試。首先,測(cè)試并不只是要找出錯(cuò)誤的。通過(guò)的錯(cuò)誤的原因和誤差的分布的分析,它可以幫助項(xiàng)目經(jīng)理來(lái)找出當(dāng)前軟件過(guò)程的缺陷,從而提高軟件的過(guò)程。與此同時(shí),這種分析還可以幫助我們?cè)O(shè)計(jì)出針對(duì)性的檢測(cè)方法,提高測(cè)試的有效性。其次,沒(méi)有發(fā)現(xiàn)該測(cè)試是有價(jià)值的,并且完整的測(cè)試是評(píng)價(jià)試驗(yàn)的質(zhì)量的方法。6.2.2測(cè)試的步驟類(lèi)似于開(kāi)發(fā)過(guò)程中,測(cè)試程序必須進(jìn)行一步一步,每步是邏輯上的繼續(xù)前一步驟的。大型軟件系統(tǒng)由幾個(gè)子系統(tǒng),其中每一個(gè)是由幾個(gè)模塊。因此,大型軟件系統(tǒng)的測(cè)試基本上是由以下步驟組成:(1)在此測(cè)試步驟中,測(cè)試模塊常常發(fā)現(xiàn)是編碼和詳細(xì)的錯(cuò)誤。(2)在本測(cè)試過(guò)程中,測(cè)試系統(tǒng)通常在軟件設(shè)計(jì)中的錯(cuò)誤發(fā)現(xiàn),它可能找到錯(cuò)誤的要求。(3)在此測(cè)試步驟中的驗(yàn)收測(cè)試經(jīng)常發(fā)現(xiàn)在系統(tǒng)需求規(guī)范的錯(cuò)誤。6.2.3測(cè)試的主要內(nèi)容為了保證測(cè)試的質(zhì)量,將測(cè)試過(guò)程分成代碼審查、單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試等不同階段。(1)單元測(cè)試單元測(cè)試集中的檢查軟件設(shè)計(jì)的最小單位上,并且模塊的實(shí)際功能是通過(guò)測(cè)試模塊的實(shí)際功能和模塊的功能描述來(lái)實(shí)現(xiàn)。(2)綜合測(cè)試集成測(cè)試是組裝在模塊中的同時(shí),設(shè)計(jì)要求和主要目標(biāo)是找到界面的問(wèn)題。比如一個(gè)模塊,其他模塊都可能有不良影響造成的,由于疏忽,處理功能組合可能不會(huì)產(chǎn)生預(yù)期的功能;個(gè)體似乎是可接受的誤差可能積累到不可接受的水平;整個(gè)數(shù)據(jù)結(jié)構(gòu)可能是錯(cuò)誤的等。(3)證實(shí)測(cè)試驗(yàn)證測(cè)試的目的是要表明,該系統(tǒng)可以按照預(yù)期的未來(lái)。測(cè)試的整合后,已被設(shè)計(jì)為所有模塊集成到一個(gè)完整的軟件系統(tǒng),接口錯(cuò)誤已基本消除,然后應(yīng)進(jìn)一步驗(yàn)證該軟件,這是為了確認(rèn)測(cè)試任務(wù)的有效性,這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能如同用戶(hù)所合理期待的那樣。(4)系統(tǒng)測(cè)試軟件開(kāi)發(fā)完成以后,最終還要與系統(tǒng)中其他部分配套運(yùn)行,進(jìn)行系統(tǒng)測(cè)試。包括恢復(fù)測(cè)試、安全測(cè)試、強(qiáng)度測(cè)試和性能測(cè)試等。測(cè)試案例的內(nèi)容:周期:測(cè)試時(shí)間域。層次:測(cè)試的層面。類(lèi)型:測(cè)試的分類(lèi)。系統(tǒng):測(cè)試何系統(tǒng)。分系統(tǒng):測(cè)試何分系統(tǒng)。模塊:測(cè)試何模塊。平臺(tái):測(cè)試的環(huán)境。描述:對(duì)測(cè)試問(wèn)題說(shuō)明與敘述。目的:測(cè)試的目標(biāo)與期望。此外,還包括測(cè)試文檔號(hào)、測(cè)試設(shè)置、輸入條件、測(cè)試結(jié)果和期望結(jié)果。本系統(tǒng)測(cè)試案例如下:方法:功能模塊測(cè)試方法方法:功能模塊測(cè)試方法目的:測(cè)試錄入功能的正確性預(yù)期結(jié)果:有出錯(cuò)警告過(guò)程:在用戶(hù)管理中,沒(méi)有選擇任何選項(xiàng),直接提交輸入:無(wú)輸入測(cè)試結(jié)果:無(wú)法保存,有出錯(cuò)警告比較:與預(yù)期結(jié)果相當(dāng)結(jié)論:正確方法:功能模塊測(cè)試方法方法:功能模塊測(cè)試方法目的:測(cè)試錄入功能的正確性預(yù)期結(jié)果:有出錯(cuò)警告過(guò)程:在提交信息中,不輸入任何數(shù)據(jù),直接提交輸入:無(wú)輸入測(cè)試結(jié)果:無(wú)法保存,有出錯(cuò)警告比較:與預(yù)期結(jié)果相當(dāng)結(jié)論:正確只有系統(tǒng)的測(cè)試工作在用戶(hù)的協(xié)助下,不斷的修改,才能達(dá)到完善的預(yù)期目標(biāo)。本外賣(mài)點(diǎn)餐網(wǎng)站經(jīng)過(guò)初步測(cè)試,基本上達(dá)到目標(biāo)。
7總結(jié)與展望本文主要闡述了如何利用PHP框架開(kāi)發(fā)一個(gè)性能優(yōu)化、可擴(kuò)展性強(qiáng)和安全可靠的外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng)。系統(tǒng)分為前臺(tái)、后臺(tái)兩個(gè)模塊。前臺(tái)主要實(shí)現(xiàn)了用戶(hù)登錄、注冊(cè)、所有美食、站內(nèi)新聞、在線(xiàn)留言等功能。后臺(tái)主要實(shí)現(xiàn)了系統(tǒng)管理、站內(nèi)新聞管理、美食類(lèi)別管理、美食信息管理、訂單管理等功能模塊。然后根據(jù)這些功能進(jìn)行分析設(shè)計(jì),對(duì)所有用到的技術(shù)PHP、MySQL進(jìn)行了簡(jiǎn)要的介紹。接著進(jìn)行需求分析的描述。接著是概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。描述這個(gè)系統(tǒng)的部分功能的實(shí)現(xiàn)方案及過(guò)程。本設(shè)計(jì)所實(shí)現(xiàn)的是一個(gè)外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng),主要介紹了PHP與Apache技術(shù)。系統(tǒng)按照總體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、各個(gè)模塊設(shè)計(jì)和代碼分析,外賣(mài)點(diǎn)餐網(wǎng)站系統(tǒng)的基本功能已得到實(shí)現(xiàn)。由于時(shí)間及本人所學(xué)有限,該系統(tǒng)還有許多地方需要改進(jìn),并且還有許多自己未起到的功能,本人會(huì)在以后的學(xué)習(xí)過(guò)程中進(jìn)一步加強(qiáng)和完善。7.1系統(tǒng)總結(jié)及不足之處本系統(tǒng)具有以下優(yōu)點(diǎn):1、該系統(tǒng)可以運(yùn)行在多個(gè)操作系統(tǒng)平臺(tái)(Windows7和Windows8)數(shù)據(jù)庫(kù)管理系統(tǒng)采用MySQL和PHP開(kāi)發(fā)環(huán)境,可移植性好。2、系統(tǒng)的用戶(hù)權(quán)限進(jìn)行劃分,分為會(huì)員用戶(hù),管理員用戶(hù),不同用戶(hù)具有不同的功能權(quán)限,保障了系統(tǒng)的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年吉林電子信息職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案1套
- 現(xiàn)代辦公樓宇設(shè)計(jì)與綠色建筑技術(shù)
- 自考本科合同范本
- 2025年海南省建筑安全員《C證》考試題庫(kù)及答案
- 2025年廣東省清遠(yuǎn)市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案1套
- 幼兒園感恩節(jié)的祝福語(yǔ)
- 計(jì)算機(jī)輔助設(shè)計(jì)(AutoCAD)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋楊凌職業(yè)技術(shù)學(xué)院
- 2025年湖南水利水電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 2025年湖北省恩施土家族苗族自治州單招職業(yè)傾向性測(cè)試題庫(kù)一套
- 月租房 合同范本
- 第七章 力 達(dá)標(biāo)測(cè)試卷(含答案)2024-2025學(xué)年度人教版物理八年級(jí)下冊(cè)
- 投行競(jìng)爭(zhēng)格局-洞察分析
- 2024年公務(wù)員考試青岡縣《行政職業(yè)能力測(cè)驗(yàn)》深度預(yù)測(cè)試卷含解析
- 冠脈介入治療術(shù)后護(hù)理常規(guī)
- 物業(yè)管家客服培訓(xùn)課件
- 餐飲業(yè)供應(yīng)鏈管理指南
- 涵洞工程專(zhuān)項(xiàng)施工方案
- 七年級(jí)上冊(cè)生物2024-2025學(xué)年新人教版期末綜合試卷(含答案)
- 校園食品安全與膳食經(jīng)費(fèi)管理工作實(shí)施方案3篇
- 鄉(xiāng)村生態(tài)旅游研學(xué)基地建設(shè)方案
- 戰(zhàn)救課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論