張苗苗,羅雅過,呂嘉琦
(西安文理學(xué)院,陜西 西安 710065)
微信作為國內(nèi)最大的社交平臺,已經(jīng)變成人們?nèi)粘I詈徒煌闹匾M成部分。而微信小程序作為一款區(qū)別于PC端和APP端的新物種,借助于微信的用戶流量,更適合于連接線下用戶。
“飯來了”微信小程序線上訂餐系統(tǒng)就是為實(shí)現(xiàn)用戶通過小程序?qū)Σ推沸畔⑦M(jìn)行瀏覽、檢索、訂購和騎手對訂單進(jìn)行搶單接單,以及方便學(xué)校食堂各窗口對用戶、餐品、訂單的信息進(jìn)行管理所開發(fā)的網(wǎng)絡(luò)應(yīng)用軟件。該系統(tǒng)能夠較好地滿足線上訂餐的基本要求,具備省時(shí)、省事、省心等特點(diǎn),有較高的實(shí)用價(jià)值[1]。
為了能夠方便、快捷、有效地完成餐品購買以及發(fā)送取餐信息,該系統(tǒng)需要用戶、騎手、商家注冊登錄;為了能及時(shí)增加、查詢、修改、刪除餐品的信息和用戶的訂單,需要有餐品和訂單管理模塊;為了方便管理員管理,還需要設(shè)計(jì)系統(tǒng)管理模塊;為了方便計(jì)算財(cái)務(wù),分配薪資,實(shí)現(xiàn)盈利,該系統(tǒng)還需要設(shè)計(jì)財(cái)務(wù)管理模塊。
“飯來了”線上訂餐系統(tǒng)總體架構(gòu)如圖1所示。前臺系統(tǒng)可以瀏覽店鋪,查看食堂各窗口菜品信息,進(jìn)行留言;登錄注冊頁面分為商家、用戶、騎手3類。后臺系統(tǒng)分為商家、用戶、騎手、管理員4個(gè)模塊,不同模塊管理員給予不同權(quán)限。線上訂餐管理系統(tǒng)主要的功能模塊分為:訂單、餐品、系統(tǒng)和財(cái)務(wù)管理模塊四大模塊。
2.2.1 概念模型設(shè)計(jì)
根據(jù)需求分析,本系統(tǒng)需要建立數(shù)據(jù)庫的實(shí)體模型主要有:用戶、騎手、商家、管理員、餐品、訂單等。下面以重要的實(shí)體模型(用戶、餐品、訂單)為例進(jìn)行設(shè)計(jì)說明。
(1)用戶(user)。
用戶實(shí)體的屬性主要包括:用戶編號、用戶名稱、用戶密碼、用戶性別、用戶年齡、注冊時(shí)間、聯(lián)系電話、校園卡賬號,其中用戶編號為主碼(見圖2)。
圖1 “飯來了”線上訂餐系統(tǒng)總體架構(gòu)
(2)餐品(food)。
餐品實(shí)體的屬性主要包括:餐品編號,餐品名稱,餐品價(jià)格,餐品圖片,餐品介紹,錄入時(shí)間和點(diǎn)擊次數(shù)等。其中餐品編號為主碼(見圖3)。
圖2 用戶實(shí)體
圖3 餐品實(shí)體
(3)訂單(order)。
訂單實(shí)體的屬性主要包括:訂單編號,下單時(shí)間,餐品數(shù)量,訂單金額,配送箱號,訂單狀態(tài)等。其中訂單編號和下單時(shí)間共同作為主碼(見圖4)。
2.2.2 邏輯模型設(shè)計(jì)
數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)過程,就是把上面數(shù)據(jù)庫的概念結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型[2],根據(jù)轉(zhuǎn)換遵循的一般規(guī)則,該系統(tǒng)有6個(gè)關(guān)系模式,下面只介紹重要實(shí)體的關(guān)系數(shù)據(jù)模式。
(1)用戶(user)R1:用戶編號,用戶名稱,登錄密碼,聯(lián)系電話,校園卡號,性別,年齡,注冊時(shí)間,管理員編號。
(2)商家(business)R2:商家編號,登錄密碼,聯(lián)系電話,商家名稱,店鋪樓層,窗口號碼,管理員編號。
圖4 訂單實(shí)體
(3)餐品(food)R3:餐品編號,餐品名稱,餐品價(jià)格,餐品圖片,餐品介紹,錄入時(shí)間,點(diǎn)擊次數(shù),商家編號。
(4)訂單(order)R4:訂單編號,下單時(shí)間,用戶編號,餐品編號,商家編號,騎手編號,餐品數(shù)量,訂單金額,配送箱號,訂單狀態(tài)。
根據(jù)范式判斷規(guī)則可知,餐品、訂單關(guān)系表都屬于BCNF,用戶關(guān)系表R1、商家關(guān)系表R2都屬于2NF[3]。因此將用戶、商家關(guān)系表優(yōu)化為BCNF。優(yōu)化結(jié)果如下:
R11:用戶編號,用戶名稱,登錄密碼,聯(lián)系電話,注冊時(shí)間,校園卡號,管理員編號;
R12:校園卡號,性別,年齡;
R21:商家編號,登錄密碼,聯(lián)系電話,商家名稱,管理員編號;
R22:商家名稱,店鋪樓層,窗口號碼。
“飯來了”在線點(diǎn)餐微信小程序客戶端采用了小程序技術(shù)開發(fā),通過服務(wù)器端進(jìn)行數(shù)據(jù)管理,數(shù)據(jù)庫保存在My SQL中,利用HTTP協(xié)議,傳遞JOSN類型的數(shù)據(jù)進(jìn)行交互。實(shí)現(xiàn)了用戶注冊登錄、騎手信息管理、商家信息管理、餐品信息管理、訂單信息管理等功能。其中數(shù)據(jù)庫的設(shè)計(jì)過程就是一個(gè)從抽象到具體的思維加工過程,需要逐步完成數(shù)據(jù)庫的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)、優(yōu)化。