国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

2017-12-11 10:57:01張蕾
電腦知識與技術(shù) 2017年31期
關(guān)鍵詞:系統(tǒng)設(shè)計

張蕾

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

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

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

1 開發(fā)平臺

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

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

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

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

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

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

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

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

2.3.1 訂餐模塊設(shè)計

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

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

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

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

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

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

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

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

該模塊主要通過用戶信息與菜品信息,計算二者之間的關(guān)聯(lián)度,從而推測出用戶對菜品的喜好。涉及的菜品信息主要包括菜品名稱和菜品類別,用戶信息主要包括用戶籍貫、性別和年齡。設(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)度;其值通過問卷調(diào)查獲得。其余2個子式表示的含義與此類似。

3) 菜品相似度

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

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

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

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

網(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 評價打分模塊

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

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

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

$("#myRate").html("您的評價:"+score+"");

$.ajax({

type: "post",

url: "post.php",

data:"score="+score,

success: function(msg){

if(msg==1){

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

}else if(msg==2){

$("#myRate").html("您評過分了!");

}else

{ getRate(msg); }

} });

3.3 菜品管理模塊

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

上傳菜品信息模塊關(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 '您上傳的圖片過大';

exit ();

}

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

echo '上傳文件類型錯誤' . $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 "移動文件出錯";

exit ();

}}

?>

參考文獻(xiàn):

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

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

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

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

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

[6] 易明. 基于Web挖掘的個性化信息推薦[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.

猜你喜歡
系統(tǒng)設(shè)計
基于FCR的城市地下供水管網(wǎng)應(yīng)急處置系統(tǒng)設(shè)計
基于移動互聯(lián)技術(shù)的通用評價系統(tǒng)的設(shè)計
基于UML技術(shù)的高校貧困生管理系統(tǒng)建模分析
計算機(jī)遠(yuǎn)程監(jiān)控技術(shù)在新聞廣電中的應(yīng)用
數(shù)字化語音存儲于回放綜合實驗系統(tǒng)設(shè)計
一種基于SATA硬盤陣列的數(shù)據(jù)存儲與控制系統(tǒng)設(shè)計研究
工業(yè)熱電偶計量檢定系統(tǒng)設(shè)計
基于物聯(lián)網(wǎng)的煤礦智能倉儲與物流運輸管理系統(tǒng)設(shè)計與應(yīng)用
目標(biāo)特性測量雷達(dá)平臺建設(shè)構(gòu)想
科技視界(2016年22期)2016-10-18 14:34:34
星級酒店建筑電氣及弱電智能系統(tǒng)設(shè)計分析
宁乡县| 进贤县| 菏泽市| 昆山市| 长春市| 镇远县| 长武县| 岳阳县| 城步| 清流县| 佛教| 邹平县| 庄浪县| 顺平县| 营口市| 惠水县| 阿坝县| 博客| 丰宁| 墨玉县| 大方县| 广元市| 寿光市| 黄浦区| 调兵山市| 元朗区| 甘泉县| 彝良县| 漳州市| 肃宁县| 吴旗县| 德庆县| 应用必备| 伊宁市| 乳山市| 和政县| 新邵县| 潮州市| 内黄县| 婺源县| 称多县|