劉峰
基于UML的嵌入式餐廳點菜系統(tǒng)的設計
劉峰
為了實現(xiàn)對餐廳點菜系統(tǒng)的需求,改進落后的軟硬件系統(tǒng)設計方法,提出了一種先進的嵌入式餐廳點菜系統(tǒng)設計方案。主要采用上、下位結(jié)構(gòu),下位機采用以ARM9為核心控制器的嵌入式平臺作為點菜終端,上位機為PC端。采用UML的方法,利用UML用例圖、類圖等靜態(tài)建模法和狀態(tài)圖、順序圖等動態(tài)建模法,完成對系統(tǒng)的建模。實際應用表明UML方法可以清晰、直觀的實現(xiàn)系統(tǒng)。
嵌入式;餐廳點菜系統(tǒng);ARM9;UML
隨著餐飲業(yè)的蓬勃發(fā)展,餐飲業(yè)務管理也變的非常復雜,因此將整個餐飲業(yè)務通過計算機系統(tǒng)進行管理已成為餐飲業(yè)發(fā)展的趨勢。建立一個集自助點菜、餐廳管理于一體的餐廳點菜系統(tǒng)是加速餐飲服務質(zhì)量和效率的重要途徑。目前已有的點菜系統(tǒng)在時效性等方面還不能滿足行業(yè)需求。筆者開發(fā)基于嵌入式平臺的餐廳點菜系統(tǒng),可以完成自助點菜和餐廳管理一體的功能。
UML(Unified Modeling Language)統(tǒng)一建模語言,是用來對軟件密集系統(tǒng)進行可視化建模的一種語言。UML為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進行說明、可視化和編制文檔的一種標準語言[1-3]。UML是在開發(fā)階段,說明,可視化,構(gòu)建和書寫一個面向?qū)ο筌浖芗到y(tǒng)的制品的開放方法。UML在對大規(guī)模、復雜系統(tǒng)進行建模方面,特別是在軟件架構(gòu)層次已經(jīng)被驗證有效。UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它溶入了軟件工程領域的新思想、新方法和新技術。它的作用域不限于支持面向?qū)ο蟮姆治雠c設計,還支持從需求分析開始的軟件開發(fā)的全過程。
餐廳點菜系統(tǒng)主要的功能是下位機的用戶自助點菜系統(tǒng)和上位機的餐廳管理。用戶通過自助點菜終端實現(xiàn)點菜、結(jié)賬、呼叫服務員、娛樂等基本功能,餐廳管理人員通過餐廳管理系統(tǒng)進行包括員工、菜品、客戶、入料、餐廳賬務等的管理功能。具體的用例如圖1所示:
圖1 用例圖
由圖1可以看出,對于餐廳點菜系統(tǒng)來說,參與的Actor主要有用戶和餐廳管理員,成為系統(tǒng)的使用者。本系統(tǒng)的Use Case主要包括兩個方面:一個方面是點菜業(yè)務的相關用例,其Actor是用戶;另一方面是餐廳管理的相關用例,其Actor是餐廳管理人員。
針對系統(tǒng)功能的分析可以確定本系統(tǒng)的主要功能,以下是根據(jù)系統(tǒng)上下文圖對系統(tǒng)的邊界進行分析和描述。上下文圖是用來記錄系統(tǒng)的范圍的過程模型,也稱為環(huán)境模型。把本系統(tǒng)看成一個黑盒子,對于這個黑盒子,一方面為用戶提供點菜、退菜、娛樂、呼叫服務員等功能,用戶通過終端對本系統(tǒng)發(fā)起消息請求;另一方面,對于管理人員,運用本系統(tǒng)進行餐廳后臺和業(yè)務管理等,具體的系統(tǒng)邊界如圖2所示:
圖2 系統(tǒng)上下文圖
餐廳點菜系統(tǒng)為用戶提供與點菜相關的各項功能,用戶通過終端向系統(tǒng)發(fā)送請求,系統(tǒng)經(jīng)過相應處理,將結(jié)果返回給用戶。用戶若向系統(tǒng)發(fā)送結(jié)賬請求,同樣,系統(tǒng)通過處理,將結(jié)果返回用戶,并且通知打印機為用戶打印發(fā)票。管理員通過系統(tǒng)分別對餐廳的員工信息、客戶信息、菜品信息等進行更新和維護,同時,管理員通過系統(tǒng)對餐廳的營業(yè)和各項菜品的銷售等進行統(tǒng)計。與此同時,系統(tǒng)底層的餐廳系統(tǒng)數(shù)據(jù)庫進行數(shù)據(jù)交互,將查詢、刪除、修改、添加等操作信息發(fā)送給數(shù)據(jù)庫,數(shù)據(jù)庫收到信息后進行相應的操作,將操作的結(jié)果返回給系統(tǒng)。
通過與餐廳管理人員的溝通和對餐廳管理流程深入分析的基礎上,根據(jù)餐廳的實際運營需求,餐廳點菜管理系統(tǒng)在系統(tǒng)架構(gòu)的設計上,采用C/S模式。該模式可以實現(xiàn)餐廳業(yè)務核心數(shù)據(jù)的采集及維護,保證餐廳業(yè)務信息的一致性及信息傳送和處理的高效性。采用上下位機的結(jié)構(gòu)實現(xiàn)顧客在點菜終端實現(xiàn)點菜、結(jié)賬、查詢等簡單操作,方便顧客。這樣既發(fā)揮C/S模式信息安全性強、可實現(xiàn)復雜需求、對服務器端壓力較小的優(yōu)勢,同時也兼顧上下位機模式客戶端的需求較低、操作靈活便利的優(yōu)點[4]。系統(tǒng)架構(gòu)圖如圖3所示:
圖3 系統(tǒng)架構(gòu)圖
系統(tǒng)由上位機、下位機組成。上位機為PC機可以處理下位機傳送的信息。下位機是以Samsung S3C2440為主控制器嵌入式的觸摸點菜終端,整個系統(tǒng)通過局域網(wǎng)連接,餐廳擁有多個點菜終端,部署在餐廳各個樓層或位置,點菜終端直接與客戶進行交互,點菜終端都連接到服務器上,服務器相當于是系統(tǒng)的中心,對所有終端進行響應,服務器上存儲了餐廳的所有數(shù)據(jù)信息,廚房打印機也直接與服務器相連接,部署在廚房為廚師打印菜單[5-7]。
點菜系統(tǒng)設計階段,主要根據(jù)需求分析階段的用例采用UML對餐廳點菜管理系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為進行建模。其中靜態(tài)結(jié)構(gòu)描述系統(tǒng)中的結(jié)構(gòu)成員及其相互關系;而動態(tài)行為描述了系統(tǒng)隨時間變化的行為及靜態(tài)圖中結(jié)構(gòu)性元素之間的交互,是對系統(tǒng)變化部分的表示[4]。
3.1主要類設計
本系統(tǒng)主要的類是餐廳管理子系統(tǒng)的類,主要的類有員工類、原材料類、菜品信息類、點菜清單類和客戶類等。本系統(tǒng)的幾個主要類的類圖,如圖4所示:
圖4 系統(tǒng)類圖
3.2序列圖設計
在員工管理序列圖中,客戶首先通過點菜終端點菜,如圖5所示:
圖5 員工管理序列圖
點菜終端接收到后將點菜請求發(fā)送給服務器,服務器對點菜請求進行處理。首先發(fā)送請求從數(shù)據(jù)庫中讀取所有菜品信息,數(shù)據(jù)庫接收查詢請求并進行處理,將讀取結(jié)果返回給服務器,服務器發(fā)送菜品信息給點菜終端,點菜終端將目前可以提供的菜品信息顯示給客戶??蛻暨M行點菜,點菜完畢后,提交點菜清單,點菜終端將點菜清單返回給服務器,服務器查看數(shù)據(jù)庫中目前要做但是還未做的菜的清單,將該清單返回給服務器,服務器根據(jù)未做菜清單對點菜清單上的菜進行分單,分單后將菜單分派給不同的廚師,廚師得到廚房的打印機所打印的菜單后,開始做菜,做完后將菜已好信息返回給服務器,服務器根據(jù)服務員所處狀態(tài)調(diào)度服務員進行送菜,服務員收到送菜消息后將菜送到客戶桌上,該模塊結(jié)束。
餐廳管理系統(tǒng)采用上、下位機模式。點菜終端采用ARM作為核心控制的嵌入式平臺,Windows CE 5.0運行在嵌入式平臺上,EVC 4.0是開發(fā)環(huán)境,我們通過它開發(fā)點菜終端子系統(tǒng),最后運行在Windows CE 5.0操作系統(tǒng)上。 餐廳管理子系統(tǒng),采用 Java 語言,利用MyEclipse 開發(fā)平臺進行實現(xiàn)。系統(tǒng)數(shù)據(jù)庫采用MySQL 數(shù)據(jù)庫,利用JDBC技術與數(shù)據(jù)庫進行連接。系統(tǒng)的實際運行界面如圖6和圖7所示:
圖6 點菜終端界面
圖7 餐廳管理子系統(tǒng)
本文主要針對餐廳對自身的管理要求的提高。從點菜到下單,從制作到結(jié)賬,從成本控制到倉儲管理,餐廳管理已進入信息化時代。本系統(tǒng)主要提供客戶自主操作服務,用戶從傳統(tǒng)的被動服務轉(zhuǎn)變?yōu)橹鲃芋w驗。而本系統(tǒng)不僅省去了服務員點菜這個環(huán)節(jié),也能充分了解消費者需求。與此同時,還實現(xiàn)了餐廳的自動化管理,包括員工管理,客戶管理,材料管理等,全面實現(xiàn)了餐廳的信息化管理。
[1] 曹 雷,薛平貞.UML建模在嵌入式系統(tǒng)開發(fā)中的應用[J].現(xiàn)代電子技術,2013,vol.36(16).41-43
[2] [.美]SCHMULLERJoseph.UML基礎、案例與應用[M].李虎,趙龍剛,譯.北京:人民郵電出版社,2006.
[3] 孫強,張振華.使用Rhapsody軟件框架和UML的實時系統(tǒng)開發(fā)[J].單片機與嵌入式系統(tǒng)應用,2003(2):63?65.
[4] Fatma Krichen, Brahim Hamid, Bechir Zalila, Mohamed Jmaiel, Bernard Coulette. Development of reconfigurable distributed embedded systems with a model-driven approach[J]. Concurrency Computat.: Pract. Exper., 2015,Vol.27 (6).
[5] Murray Woodside, Dorina C. Petriu, José Merseguer,Dorin B. Petriu,.Mohammad Alhaj Transformation challenges: from software models to performance models[J]Software & Systems Modeling, 2014, Vol.13 (4),pp.1529-1552.
[6] Zhang Li, Li Li ,Shen Su-bin. Method of Developing Device Driver in Embedded System Based on UML[J]. Journal of System Simulation,2013,25(7):1471-1495.
[7] Quadri I R,Gamatié A,Boulet P. Expressing embedded systems configurations at high abstraction levels with UML MARTE profile: Advantages,limitations and alternatives[J[ Journal of systems architecture,2012,58(5) :178 -194.
Design of Embedded Ordering System Based on UML
Liu Feng
(Information Engineering Institute, Yulin University, Shanxi 719000, China)
In order to realize the ordering system and improve the backward design method of hardware and software system, a project of embedded ordering system is proposed. The system included upper computer system and lower computer system. Lower machine uses ARM9 MCU for terminal, and upper machine uses PC. By the way of UML method usually used in software design, Using use case diagram, class diagram and statechart diagram, sequence diagram, the ordering system is modeled. In this paper, the ordering system is represented clearly, precisely and easily realized by the UML method.
Embedded; Ordering System; ARM9; UML
TP273
A
1007-757X(2016)06-0046-03
2015.10.29)
榆林市科技局2014年產(chǎn)學研項目(2014cxy-09);陜西省科技廳2016年農(nóng)業(yè)科技創(chuàng)新與攻關項目(2016NY-134)
劉 峰(1981-),男,榆林學院,信息工程系,講師,碩士,研究方向:嵌入式系統(tǒng)的開發(fā)與應用,榆林,719000