陳 琦 陳 婧
?
基于Android的點(diǎn)單系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
陳 琦 陳 婧
杭州電子科技大學(xué)計(jì)算機(jī)學(xué)院,浙江 杭州 310018
介紹了基于Android的點(diǎn)單系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的過程,并針對于家政服務(wù)網(wǎng)站現(xiàn)有的鉆研成果、需求分析、系統(tǒng)設(shè)計(jì)以及系統(tǒng)實(shí)現(xiàn)進(jìn)行詳細(xì)的論述,同時(shí)對設(shè)計(jì)和實(shí)現(xiàn)網(wǎng)站所使用的關(guān)鍵技術(shù)進(jìn)行了分析和考慮。結(jié)合系統(tǒng)功能結(jié)構(gòu)及用例對基于Android的點(diǎn)單系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了詳盡的闡述。
在線點(diǎn)餐;點(diǎn)餐系統(tǒng);Android;Spring;MVC;Hibernate
在互聯(lián)網(wǎng)高速發(fā)展的時(shí)代,在線點(diǎn)餐系統(tǒng)不僅能夠?yàn)椴惋嬓袠I(yè)節(jié)約人力成本,更能節(jié)省時(shí)間成本,提高工作效率。在一定意義上為企業(yè)提供了更好的利益,為顧客帶來了更好的就餐體驗(yàn)。在這種角度來講,極大程度的提升了企業(yè)的競爭力和社會(huì)影響能力[1]。
傳統(tǒng)的餐廳點(diǎn)菜方式一般都是純?nèi)斯げ僮鞯模覀兊搅瞬蛷d以后由服務(wù)員幫我們把菜單拿過來,然后我們點(diǎn)菜,服務(wù)員記菜,有的服務(wù)員甚至都不用紙筆記錄,直接記在腦子里。這樣的點(diǎn)菜環(huán)節(jié)無疑是會(huì)出現(xiàn)很多問題的[2]。例如手寫的點(diǎn)菜單如果字跡比較潦草,很容易出現(xiàn)下錯(cuò)單、燒錯(cuò)菜的情況,而且就餐者看不到要點(diǎn)的菜究竟是什么樣子的。傳統(tǒng)的點(diǎn)餐方式有太多的不方便,所以才促使餐飲業(yè)開始使用電子的點(diǎn)餐模式。電子點(diǎn)餐模式不僅僅可以提高效率,還能節(jié)約人力成本,最重要的事可以提高整個(gè)服務(wù)質(zhì)量和餐飲行業(yè)的管理水平[3]。
基于Android的點(diǎn)單系統(tǒng)首先在功能上應(yīng)該滿足餐廳的需求。點(diǎn)單系統(tǒng)最主要功能是點(diǎn)餐,而且我希望我的系統(tǒng)能夠精致,不需要繁瑣的功能??蛻舳酥恍枰脩裟軌螯c(diǎn)單、結(jié)賬就可以。服務(wù)端要對整個(gè)餐廳的菜單進(jìn)行管理,主要是要求能夠進(jìn)行菜品的增刪改的操作。另外服務(wù)端還要能夠準(zhǔn)確的定位到某一個(gè)桌子上的客人就餐過程進(jìn)行到了哪一步,是否需要酒水了,是否需要餐巾紙了,是否要打算結(jié)賬了,桌子目前是否有客人在使用。這些都是基于Android的點(diǎn)單系統(tǒng)要必須要考慮到的問題。
本點(diǎn)單系統(tǒng)采用的B/S結(jié)構(gòu)。[4]服務(wù)端采用SSH框架和MySQL數(shù)據(jù)庫架構(gòu)設(shè)計(jì),系統(tǒng)使用的主要編程語言有Java和SQL,并配合使用BootStrapt進(jìn)行服務(wù)器端前端的開發(fā)。瀏覽器端采用HTML+CSS、JavaScrpit,并輔助使用jQuery以及部分jQuery插件??蛻舳瞬捎肁ndriod編程。研究的內(nèi)容大致可以分為以下幾點(diǎn):
①研究設(shè)計(jì)系統(tǒng)各個(gè)模塊的功能:本系統(tǒng)除了服務(wù)端編程開發(fā)之外,還涉及到客戶端的編程,系統(tǒng)應(yīng)完全符合餐飲行業(yè)使用的需求,通過問卷調(diào)查得出的結(jié)果進(jìn)行需求分析,對系統(tǒng)的模塊進(jìn)行劃分、對功能進(jìn)行界定,并通過編碼實(shí)現(xiàn)各個(gè)模塊的具體內(nèi)容。
②良好的數(shù)據(jù)導(dǎo)入與導(dǎo)出設(shè)計(jì):基于Android的點(diǎn)單系統(tǒng)應(yīng)具備數(shù)據(jù)庫的維護(hù)功能,能夠根據(jù)餐廳的需求及時(shí)對網(wǎng)站數(shù)據(jù)庫中的信息進(jìn)行添加、刪除和修改[5]。
③要方便后期的維護(hù):基于Android的點(diǎn)單系統(tǒng)的開發(fā)需要采用模塊化設(shè)計(jì)方法,既要做到有利于系統(tǒng)各項(xiàng)功能的組合和修改,又要做到有利于未參與系統(tǒng)開發(fā)的技術(shù)維護(hù)人員補(bǔ)充和維護(hù)的效果。
2.1 系統(tǒng)整體功能
對基于Android的點(diǎn)單系統(tǒng)整體的功能進(jìn)行前期的設(shè)置與規(guī)劃是為了更好的實(shí)現(xiàn)系統(tǒng)的編碼研究,結(jié)合需求分析以及可行性分析對基于Android的點(diǎn)單系統(tǒng)進(jìn)行初步的功能設(shè)計(jì),基于Android的點(diǎn)單系統(tǒng)的基本功能結(jié)構(gòu)包括服務(wù)端和客戶端。服務(wù)端的功能有菜譜管理、訂單管理和餐桌管理??蛻舳说墓δ苡悬c(diǎn)菜、換菜和結(jié)賬[6]。
2.2 系統(tǒng)工作原理
系統(tǒng)結(jié)構(gòu)采用B/S與C/S相互結(jié)合的模式。服務(wù)器端采用運(yùn)行于Tomcat容器中的Spring MVC框架。系統(tǒng)數(shù)據(jù)存儲(chǔ)在MySQL數(shù)據(jù)庫中,在調(diào)用過程中,由Hibernate負(fù)責(zé)進(jìn)行ORM映射。服務(wù)器返回?cái)?shù)據(jù)給瀏覽器在瀏覽器向服務(wù)器發(fā)送請求后,數(shù)據(jù)返回的格式包括HTML、CSS、JavaScript和JSON。移動(dòng)APP基于HTTP與服務(wù)器進(jìn)行通訊,數(shù)據(jù)交換格式為JSON。在Android系統(tǒng)自帶的SQLite數(shù)據(jù)庫中存儲(chǔ)移動(dòng)APP的數(shù)據(jù)[7]。
2.3 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)
在這個(gè)項(xiàng)目中,由于考慮到用戶成本以及成熟度等因素,MySQL數(shù)據(jù)庫成為了本項(xiàng)目的首選數(shù)據(jù)庫。MySQL數(shù)據(jù)庫具有開源、免費(fèi)、穩(wěn)定性高以及文檔完善的特點(diǎn),個(gè)人用戶無需支付任何費(fèi)用就能自由的使用該數(shù)據(jù)庫。[8]對于這個(gè)項(xiàng)目來說,因?yàn)榧闪薍ibernate框架,對數(shù)據(jù)庫的操作將會(huì)變得更為簡單。在配置完成Hibernate框架后,僅需要操作JavaBean對象即可對項(xiàng)目中所需要的數(shù)據(jù)進(jìn)行增刪改查的操作,無需手動(dòng)撰寫SQL語句,大大提高了開發(fā)效率,加快了項(xiàng)目進(jìn)度。[9]并且,由于Hibernate的內(nèi)部處理,使得項(xiàng)目出現(xiàn)錯(cuò)誤的幾率大大降低,增加了系統(tǒng)的可靠性和安全性。本系統(tǒng)共有五張數(shù)據(jù)庫表,分別為餐桌數(shù)據(jù)表、菜品數(shù)據(jù)表、菜品訂單關(guān)系數(shù)據(jù)表、訂單數(shù)據(jù)表以及用戶數(shù)據(jù)表[10]。
2.4 系統(tǒng)用例設(shè)計(jì)
我們可以使用用例圖來解釋系統(tǒng)的參與者之間的關(guān)系,同時(shí)也通過用例圖來描述參與者都可以進(jìn)行哪些活動(dòng)。用例模型能夠很好的反應(yīng)出來系統(tǒng)的參與者都有哪些角色,這些角色都能進(jìn)行哪些操作。用例圖在系統(tǒng)設(shè)計(jì)中占有很重要的;一個(gè)環(huán)節(jié),在需求階段,如果有一個(gè)出色的系統(tǒng)用例圖,那個(gè)整個(gè)設(shè)計(jì)過程中將會(huì)有事半功倍的效果。開發(fā)人員可以不用去了解太多的系統(tǒng)的東西,查看用例圖即可知道[11]。
[1]陳益強(qiáng).簡析Android系統(tǒng)的安全性能[J].信息系統(tǒng)工程,2011(9):60-62.
[2]曾少寧,楊越.精通Android[M].北京:人民郵電出版社,2013.
[3]劉虎.基于Android平臺(tái)的無線點(diǎn)單系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2013.
[4]高紅旭.基于Android操作系統(tǒng)的應(yīng)用研究[D].西安:西安電子科技大學(xué),2011.
[5]熊剛.基于Android的智能手機(jī)的設(shè)計(jì)與事項(xiàng)[D].武漢:武漢理工大學(xué),2010.
[6]宋小倩,周東升.基于Android平臺(tái)的應(yīng)用開發(fā)研究[J].軟件導(dǎo)刊,2011,10(2):104-106.
[7]吳亞峰,吳亞光.Android 應(yīng)用案例開發(fā)大全[M].北京:人民郵電出版社,2012.
[8]佘志龍.Android SDK 開發(fā)范例大全[M].北京:人民郵電出版社,2010.
[9]李耀亮.Android 應(yīng)用開發(fā)[M].北京:人民郵電出版社,2010.
[10]韓超,梁泉.Android 系統(tǒng)原理及開發(fā)要點(diǎn)詳解[M].北京:電子工業(yè)出版社,2010.
[11]關(guān)東升,趙志榮.Android開發(fā)案例驅(qū)動(dòng)教程[D].北京:機(jī)械工業(yè)出版社,2011.
Design and implementation of the ordering system based on Android
Chen Qi Chen Jing
Hangzhou Dianzi University,Zhejiang Hangzhou 310018
This paper introduces the design and implementation process of the ordering system based on Android and analyzes the existing technologies, needs analysis, system design and system realization of the housekeeping service website. At the same time, the key technologies used in the design and implementation of the website are analyzed and taken into account.The design and implementation of the odering system based on Android is described in detail based on the system function structure and the use cases.
online;ordering;ordering;system
TP311.52
A
1009-6434(2016)12-0127-02