亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于LAMP的網(wǎng)上訂餐系統(tǒng)開發(fā)研究

        2017-12-11 10:57:01張蕾
        電腦知識(shí)與技術(shù) 2017年31期

        張蕾

        摘要:互聯(lián)網(wǎng)的飛速發(fā)展給人們的生活提供了極大的便利,滲透到衣食住行的各個(gè)方面,網(wǎng)上訂餐平臺(tái)的開發(fā)很好地順應(yīng)了這一潮流。該文以網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與開發(fā)過(guò)程為例,介紹了網(wǎng)站開發(fā)的平臺(tái)選擇LAMP的依據(jù)、網(wǎng)站功能模塊的系統(tǒng)設(shè)計(jì)和主要功能模塊的詳細(xì)設(shè)計(jì),給出了主要功能模塊的實(shí)現(xiàn)效果圖和功能代碼,為系統(tǒng)開發(fā)的研究提供參考。

        關(guān)鍵詞:開發(fā)平臺(tái);LAMP;系統(tǒng)設(shè)計(jì);系統(tǒng)實(shí)現(xiàn)

        中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)31-0101-04

        1 開發(fā)平臺(tái)

        LAMP是完全開源免費(fèi)的網(wǎng)頁(yè)開發(fā)平臺(tái),包括Linux操作系統(tǒng)、Apache服務(wù)器、MySQL數(shù)據(jù)庫(kù)和PHP服務(wù)器腳本程序。與ASP.NET相比,LAMP平臺(tái)具有通用、跨平臺(tái)、高性能、低成本的優(yōu)勢(shì),與JavaEE相比,LAMP平臺(tái)則具有資源豐富、輕量易用和發(fā)展速度快、執(zhí)行靈活的優(yōu)勢(shì)。也就是說(shuō),LAMP同時(shí)兼有低價(jià)格和高性能的特點(diǎn),這使得LAMP在全球范圍內(nèi)應(yīng)用非常廣泛,下面分別從運(yùn)行速度等9個(gè)方面對(duì)LAMP、JavaEE和ASP.NET三大開發(fā)平臺(tái)進(jìn)行對(duì)比,如表1所示。通過(guò)對(duì)比不難發(fā)現(xiàn),LAMP架構(gòu)相對(duì)本系統(tǒng)開發(fā)優(yōu)勢(shì)明顯,這也是選擇采用LAMP作為開發(fā)平臺(tái)的主要原因。

        2 系統(tǒng)設(shè)計(jì)

        2.1 系統(tǒng)總體架構(gòu)設(shè)計(jì)

        系統(tǒng)開發(fā)基于LAMP開發(fā)平臺(tái),總體結(jié)構(gòu)采用B/S三層體系架構(gòu),即表示層,邏輯層和數(shù)據(jù)層,分別對(duì)應(yīng)客戶端瀏覽器、Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器。

        2.2 系統(tǒng)功能模塊劃分

        網(wǎng)上訂餐系統(tǒng)從層次上劃分,分為前臺(tái)應(yīng)用和后臺(tái)應(yīng)用兩部分,前臺(tái)應(yīng)用主要包括用戶個(gè)人信息管理、網(wǎng)上訂餐和消費(fèi)評(píng)價(jià)三個(gè)功能模塊,后臺(tái)應(yīng)用則主要包括用戶信息管理、訂單信息管理和系統(tǒng)內(nèi)容管理三個(gè)功能模塊。系統(tǒng)對(duì)不同的用戶進(jìn)行了權(quán)限設(shè)置,不同用戶僅能進(jìn)行權(quán)限內(nèi)的操作。系統(tǒng)總體功能結(jié)構(gòu)如圖1所示。

        2.3 系統(tǒng)詳細(xì)設(shè)計(jì)

        通過(guò)對(duì)系統(tǒng)功能進(jìn)行劃分,確定了系統(tǒng)的26個(gè)核心子模塊,下面僅以其中比較關(guān)鍵的幾個(gè)模塊為例進(jìn)行詳細(xì)闡述。

        2.3.1 訂餐模塊設(shè)計(jì)

        用戶在客戶端上搜索到合適的菜品信息選擇訂購(gòu)后,訂購(gòu)模塊首先判斷用戶是否登錄,若未登錄將自動(dòng)跳轉(zhuǎn)到注冊(cè)登錄界面。確定用戶為注冊(cè)會(huì)員并且已經(jīng)登錄以后,系統(tǒng)將根據(jù)用戶信息和用戶選擇的菜品信息自動(dòng)生成訂單記錄。用戶繼續(xù)訂購(gòu)時(shí),系統(tǒng)將在用戶已選擇菜品的基礎(chǔ)上為訂單添加新選擇的菜品信息。同時(shí)選擇多項(xiàng)菜品時(shí),系統(tǒng)僅生成一個(gè)訂單編號(hào),并在菜單信息表中存入所選的多項(xiàng)菜品記錄。接下來(lái)通過(guò)獲取用戶送餐時(shí)間、聯(lián)系方式和配送地址等信息,生成完整的訂單記錄。

        2.3.2 菜品管理模塊設(shè)計(jì)

        菜品管理主要用于添加、修改和刪除菜品信息,設(shè)置菜品推薦和菜品排行,及時(shí)為用戶提供最新、準(zhǔn)確、有效的菜品信息。下面以添加菜品信息為例對(duì)菜品管理的流程設(shè)計(jì)進(jìn)行說(shuō)明。食堂管理員在點(diǎn)擊添加菜單后,系統(tǒng)將判斷其是否登錄,如果沒有登錄,頁(yè)面將跳轉(zhuǎn)至登錄頁(yè)面。登錄完成后,系統(tǒng)自動(dòng)返回添加菜品添加界面。食堂管理員在輸入菜品名稱、菜品價(jià)格,選擇菜品種類,上傳菜品照片,添加菜品描述和所屬的食堂窗口后點(diǎn)擊添加按鈕,即可完成菜品信息的添加工作。

        2.3.3 菜品推薦模塊設(shè)計(jì)

        為了更好的提升用戶體驗(yàn),推廣食堂的各類菜品,進(jìn)一步提高用戶訂餐效率,本文基于個(gè)性化推薦算法對(duì)菜品推薦模塊進(jìn)行了設(shè)計(jì)。該算法充分考慮了用戶行為、菜品信息和用戶信息等數(shù)據(jù)信息,通過(guò)問(wèn)卷調(diào)查合理進(jìn)行權(quán)重分配,計(jì)算出各類菜品的加權(quán)推薦值,針對(duì)不同用戶喜好進(jìn)行個(gè)性化推薦,以期實(shí)現(xiàn)較好的菜品推薦功能。本文設(shè)計(jì)的個(gè)性化推薦算法主要從用戶行為、菜品與用戶關(guān)聯(lián)度、菜品相似度和菜品排行榜等方面入手,對(duì)菜品推薦功能進(jìn)行設(shè)計(jì),下面對(duì)算法的設(shè)計(jì)進(jìn)行詳細(xì)闡述。

        1) 用戶行為權(quán)值

        用戶的行為是反應(yīng)用戶喜好的重要的因素之一。通過(guò)記錄用戶的行為,對(duì)用戶的搜索、查看、收藏、訂購(gòu)、評(píng)價(jià)等行為設(shè)置權(quán)重,用來(lái)表示用戶對(duì)菜品的喜好程度,如表2所示。權(quán)重值根據(jù)經(jīng)驗(yàn)和問(wèn)卷調(diào)查獲取。

        2) 菜品與用戶關(guān)聯(lián)度

        該模塊主要通過(guò)用戶信息與菜品信息,計(jì)算二者之間的關(guān)聯(lián)度,從而推測(cè)出用戶對(duì)菜品的喜好。涉及的菜品信息主要包括菜品名稱和菜品類別,用戶信息主要包括用戶籍貫、性別和年齡。設(shè)用戶籍貫為P,性別為S,年齡為A,則菜品Di和用戶Mj的關(guān)聯(lián)度可表示為:

        [RDi,Mj=RTi,Pj+RTi,Sj+RTi,Aj] (1)

        式中:[RTi,Pj]—表示菜品類型和用戶籍貫的關(guān)聯(lián)度;其值通過(guò)問(wèn)卷調(diào)查獲得。其余2個(gè)子式表示的含義與此類似。

        3) 菜品相似度

        菜品相似度主要通過(guò)對(duì)菜品信息進(jìn)行加權(quán)計(jì)算來(lái)獲得。用于計(jì)算菜品相似度的菜品信息主要包括:菜品名稱、菜品關(guān)鍵詞、菜品類別、所屬食堂窗口。設(shè)菜品為D,菜品名稱為N,菜品關(guān)鍵詞為K,菜品類別為T,菜品所屬食堂窗口為C,其權(quán)重分別為[WN]、[WK]、[WT]、[WC],則菜品可表示為[D={N,K,T,C}],從而可以得到菜品Di和菜品Dj的相似度計(jì)算公式如式(2)所示:

        [SDi,Dj=WNNi∩NjNi∪Nj+WKKi∩KjKi∪Kj+WTTi∩TjTi∪Tj+WCCi∩CjCi∪Cj] (2)

        式中:

        [Ni∩Nj]—表示菜品Di和菜品Dj名稱中包含相同字的數(shù)目;

        [Ni∪Nj]—表示菜品Di和菜品Dj名稱中互不相同字的數(shù)目;

        其余3個(gè)子式表示的含義與此類似。

        3 系統(tǒng)實(shí)現(xiàn)

        3.1 網(wǎng)上訂餐模塊

        當(dāng)用戶通過(guò)左側(cè)導(dǎo)航欄或通過(guò)搜索功能選擇食堂窗口后,系統(tǒng)將請(qǐng)求服務(wù)器跳轉(zhuǎn)到相應(yīng)的窗口頁(yè)面,如圖2(a)所示。左側(cè)顯示所選窗口的基本信息,包括菜品的口味和服務(wù)質(zhì)量打分等。下方為所選窗口的展示的菜品信息,包括菜品名稱、價(jià)格以及評(píng)價(jià)信息等。需要訂購(gòu)菜品時(shí),點(diǎn)擊菜品后的“+”圖標(biāo),即將菜品加入購(gòu)物車,同時(shí)菜品后將出現(xiàn)“-”號(hào)圖標(biāo),以實(shí)現(xiàn)對(duì)購(gòu)物車中菜品的刪除功能。一種菜品選擇結(jié)束后,可以繼續(xù)瀏覽和添加其他菜品,如圖2(b)所示。全部菜品選擇完畢,點(diǎn)擊確定按鈕即可完成訂單的生成。

        網(wǎng)上訂餐模塊關(guān)鍵代碼如下:

        <?php

        class Shopcar

        {

        public $dishesList=array();

        public function checkDishes($dishes)

        { for($i=0;$i

        {

        if($this→dishesList[$i]['name']==$dishes['name'])

        return $i;}return -1; }

        public function add($dishes)

        {

        $i=$this→checkDishes($dishes);

        if($i==-1)

        array_push($this→dishesList,$dishes);

        else

        $this→dishesList[$i]['num']+=$dishes['num'];}

        public function delete($dishes)

        {

        $i=$this→checkDishes($dishes);

        if($i!=-1)

        array_splice($this→dishesList,$i,1);}

        public function show()

        { return $this→dishesList;}

        }

        ?>

        3.2 評(píng)價(jià)打分模塊

        用戶在完成訂餐后,系統(tǒng)將提示用戶對(duì)菜品的口味滿意度和服務(wù)滿意度進(jìn)行評(píng)價(jià)打分。評(píng)價(jià)分?jǐn)?shù)將作為菜品信息的一部分顯示給其他用戶,系統(tǒng)則可根據(jù)所有用戶的評(píng)價(jià)進(jìn)行加權(quán)計(jì)算獲得菜品的綜合評(píng)價(jià)分?jǐn)?shù),方便用戶按照評(píng)價(jià)打分情況對(duì)菜品列表進(jìn)行排序,優(yōu)先選擇評(píng)價(jià)較好的菜品。用戶評(píng)價(jià)界面如圖3所示。

        評(píng)價(jià)打分模塊的實(shí)現(xiàn)關(guān)鍵代碼如下:

        var score = $(this).attr("rate");

        $("#myRate").html("您的評(píng)價(jià):"+score+"");

        $.ajax({

        type: "post",

        url: "post.php",

        data:"score="+score,

        success: function(msg){

        if(msg==1){

        $("#myRate").html("您已評(píng)分!");

        }else if(msg==2){

        $("#myRate").html("您評(píng)過(guò)分了!");

        }else

        { getRate(msg); }

        } });

        3.3 菜品管理模塊

        菜品管理模塊主要用于食堂管理員對(duì)菜品信息進(jìn)行添加、刪除和修改操作。圖4為上傳菜品信息的界面,用戶通過(guò)下拉菜單可以選擇窗口的位置和菜品的種類,通過(guò)文本框可以輸入菜品名稱、菜品描述、菜品價(jià)格、搜索關(guān)鍵詞和菜品詳細(xì)描述等,通過(guò)上傳圖片模塊可以上傳菜品的照片。上傳完畢后,可以點(diǎn)擊查看菜品列表,以客戶的視角瀏覽、檢查菜品信息。

        上傳菜品信息模塊關(guān)鍵代碼如下:

        <?php

        if ($_server['request_method'] == 'post') {

        if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {

        $upfile = $_FILES['upfile'] ['dishesName'])) { print_r($_FILES['upfile']);

        $name = $upfilep['name'];

        $type = $upfile['type'];

        $size = $upfile['size'];

        $ dishesName = $upfile[' dishesName '];

        $error = $upfile['error'];

        if ($max_file_size< $size) {

        echo '您上傳的圖片過(guò)大';

        exit ();

        }

        if (!in_arrar($type, $uptypes)) {

        echo '上傳文件類型錯(cuò)誤' . $type;

        exit ();

        }

        if (!file_exists($destination_folder)) {

        mkdir($destination_folder);

        }

        if (file_exists("upload/" . $_FILES["file"]["name"])) {

        echo$_FILES["file"]["name"] . " already exists. ";

        } else {

        move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);

        echo "Stored in: " . "upload/" . $_FILES["file"]["name"];

        }

        $pinfo = pathinfo($name);

        $ftype = $pinfo['extension'];

        $destination = $destination_folder.time() . "." . $ftype;

        if (file_exists($destination) && $overwrite != true) {

        echo "同名的文件已經(jīng)存在了";

        exit ();

        }

        if (!move_uploaded_file($tmp_name, $destination)) {

        echo "移動(dòng)文件出錯(cuò)";

        exit ();

        }}

        ?>

        參考文獻(xiàn):

        [1] 肖萍. 基于LAMP平臺(tái)的網(wǎng)站構(gòu)建與分析[J]. 信息網(wǎng)絡(luò)安全, 2012(4).

        [2] 曾志明. 網(wǎng)站開發(fā)技術(shù)的比較研究[J]. 電腦知識(shí)與技術(shù), 2010, 6(5):1075-1078.

        [3] 何杭鋒. 基于LAMP平臺(tái)的WEB服務(wù)器架構(gòu)[J]. 中國(guó)新技術(shù)新產(chǎn)品, 2011(22).

        [4] 李鴻飛. 淺談網(wǎng)站開發(fā)技術(shù)的發(fā)展與前景[J]. 中國(guó)新通信, 2012(5).

        [5] 李衛(wèi)軍, 陳旭. 基于LAMP的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)研究[J]. 電腦知識(shí)與技術(shù), 2014(21).

        [6] 易明. 基于Web挖掘的個(gè)性化信息推薦[M]. 北京: 科學(xué)出版社, 2010.

        [7] C-J. Zhang, A. Zeng. Behavior patterns of online users and the effect on information filtering [J]. Physica A, 2012(391).

        [8] Wang D, Ma J. Recommendation Based on Frequent N-adic Concepts[M]. Web Technologies and Application[M]. Springer International publishing, 2014.

        久久精品免费一区二区三区 | 人妻有码中文字幕在线| 日本在线观看一区二区三| 精品人妻中文无码av在线| 国产啪精品视频网站丝袜| 少妇高潮紧爽免费观看| 一二三区亚洲av偷拍| 国产精品天堂avav在线| 亚洲精品无码av片| 无码国产一区二区色欲| 无码中文字幕久久久久久| 91色综合久久熟女系列| 97精品国产一区二区三区| 久久精品人妻一区二区三区| 亚洲无码中文字幕日韩无码| 美女与黑人巨大进入免费观看 | 亚洲av综合一区二区在线观看| 国产精品va在线观看无码| 精品国产高清a毛片| 亚洲熟女熟妇另类中文| 国产亚洲精品久久久闺蜜| 天天做天天爱天天综合网| 极品人妻少妇一区二区| 人妻少妇精品专区性色anvn| 色噜噜av亚洲色一区二区| 欧美一级视频精品观看| 午夜亚洲国产精品福利| 美女被黑人巨大入侵的的视频| 麻豆网神马久久人鬼片| 亚洲av无码一区二区乱子伦| 国产青青草视频在线播放| 国内自拍速发福利免费在线观看| 尤物网址在线观看| 亚洲a级片在线观看| 国产一区二区三区护士| 久久伊人最新网址视频| 人人爽人人爽人人爽人人片av| 久久免费观看国产精品| 亚洲日产乱码在线中文字幕| 精品无码国产自产拍在线观看| 五月天综合在线|