劉峰
基于UML的嵌入式餐廳點菜系統的設計
劉峰
為了實現對餐廳點菜系統的需求,改進落后的軟硬件系統設計方法,提出了一種先進的嵌入式餐廳點菜系統設計方案。主要采用上、下位結構,下位機采用以ARM9為核心控制器的嵌入式平臺作為點菜終端,上位機為PC端。采用UML的方法,利用UML用例圖、類圖等靜態建模法和狀態圖、順序圖等動態建模法,完成對系統的建模。實際應用表明UML方法可以清晰、直觀的實現系統。
嵌入式;餐廳點菜系統;ARM9;UML
隨著餐飲業的蓬勃發展,餐飲業務管理也變的非常復雜,因此將整個餐飲業務通過計算機系統進行管理已成為餐飲業發展的趨勢。建立一個集自助點菜、餐廳管理于一體的餐廳點菜系統是加速餐飲服務質量和效率的重要途徑。目前已有的點菜系統在時效性等方面還不能滿足行業需求。筆者開發基于嵌入式平臺的餐廳點菜系統,可以完成自助點菜和餐廳管理一體的功能。
UML(Unified Modeling Language)統一建模語言,是用來對軟件密集系統進行可視化建模的一種語言。UML為面向對象開發系統的產品進行說明、可視化和編制文檔的一種標準語言[1-3]。UML是在開發階段,說明,可視化,構建和書寫一個面向對象軟件密集系統的制品的開放方法。UML在對大規模、復雜系統進行建模方面,特別是在軟件架構層次已經被驗證有效。UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它溶入了軟件工程領域的新思想、新方法和新技術。它的作用域不限于支持面向對象的分析與設計,還支持從需求分析開始的軟件開發的全過程。
餐廳點菜系統主要的功能是下位機的用戶自助點菜系統和上位機的餐廳管理。用戶通過自助點菜終端實現點菜、結賬、呼叫服務員、娛樂等基本功能,餐廳管理人員通過餐廳管理系統進行包括員工、菜品、客戶、入料、餐廳賬務等的管理功能。具體的用例如圖1所示:

圖1 用例圖
由圖1可以看出,對于餐廳點菜系統來說,參與的Actor主要有用戶和餐廳管理員,成為系統的使用者。本系統的Use Case主要包括兩個方面:一個方面是點菜業務的相關用例,其Actor是用戶;另一方面是餐廳管理的相關用例,其Actor是餐廳管理人員。
針對系統功能的分析可以確定本系統的主要功能,以下是根據系統上下文圖對系統的邊界進行分析和描述。上下文圖是用來記錄系統的范圍的過程模型,也稱為環境模型。把本系統看成一個黑盒子,對于這個黑盒子,一方面為用戶提供點菜、退菜、娛樂、呼叫服務員等功能,用戶通過終端對本系統發起消息請求;另一方面,對于管理人員,運用本系統進行餐廳后臺和業務管理等,具體的系統邊界如圖2所示:

圖2 系統上下文圖
餐廳點菜系統為用戶提供與點菜相關的各項功能,用戶通過終端向系統發送請求,系統經過相應處理,將結果返回給用戶。用戶若向系統發送結賬請求,同樣,系統通過處理,將結果返回用戶,并且通知打印機為用戶打印發票。管理員通過系統分別對餐廳的員工信息、客戶信息、菜品信息等進行更新和維護,同時,管理員通過系統對餐廳的營業和各項菜品的銷售等進行統計。與此同時,系統底層的餐廳系統數據庫進行數據交互,將查詢、刪除、修改、添加等操作信息發送給數據庫,數據庫收到信息后進行相應的操作,將操作的結果返回給系統。
通過與餐廳管理人員的溝通和對餐廳管理流程深入分析的基礎上,根據餐廳的實際運營需求,餐廳點菜管理系統在系統架構的設計上,采用C/S模式。該模式可以實現餐廳業務核心數據的采集及維護,保證餐廳業務信息的一致性及信息傳送和處理的高效性。采用上下位機的結構實現顧客在點菜終端實現點菜、結賬、查詢等簡單操作,方便顧客。這樣既發揮C/S模式信息安全性強、可實現復雜需求、對服務器端壓力較小的優勢,同時也兼顧上下位機模式客戶端的需求較低、操作靈活便利的優點[4]。系統架構圖如圖3所示:

圖3 系統架構圖
系統由上位機、下位機組成。上位機為PC機可以處理下位機傳送的信息。下位機是以Samsung S3C2440為主控制器嵌入式的觸摸點菜終端,整個系統通過局域網連接,餐廳擁有多個點菜終端,部署在餐廳各個樓層或位置,點菜終端直接與客戶進行交互,點菜終端都連接到服務器上,服務器相當于是系統的中心,對所有終端進行響應,服務器上存儲了餐廳的所有數據信息,廚房打印機也直接與服務器相連接,部署在廚房為廚師打印菜單[5-7]。
點菜系統設計階段,主要根據需求分析階段的用例采用UML對餐廳點菜管理系統的靜態結構和動態行為進行建模。其中靜態結構描述系統中的結構成員及其相互關系;而動態行為描述了系統隨時間變化的行為及靜態圖中結構性元素之間的交互,是對系統變化部分的表示[4]。
3.1主要類設計
本系統主要的類是餐廳管理子系統的類,主要的類有員工類、原材料類、菜品信息類、點菜清單類和客戶類等。本系統的幾個主要類的類圖,如圖4所示:

圖4 系統類圖
3.2序列圖設計
在員工管理序列圖中,客戶首先通過點菜終端點菜,如圖5所示:

圖5 員工管理序列圖
點菜終端接收到后將點菜請求發送給服務器,服務器對點菜請求進行處理。首先發送請求從數據庫中讀取所有菜品信息,數據庫接收查詢請求并進行處理,將讀取結果返回給服務器,服務器發送菜品信息給點菜終端,點菜終端將目前可以提供的菜品信息顯示給客戶。客戶進行點菜,點菜完畢后,提交點菜清單,點菜終端將點菜清單返回給服務器,服務器查看數據庫中目前要做但是還未做的菜的清單,將該清單返回給服務器,服務器根據未做菜清單對點菜清單上的菜進行分單,分單后將菜單分派給不同的廚師,廚師得到廚房的打印機所打印的菜單后,開始做菜,做完后將菜已好信息返回給服務器,服務器根據服務員所處狀態調度服務員進行送菜,服務員收到送菜消息后將菜送到客戶桌上,該模塊結束。
餐廳管理系統采用上、下位機模式。點菜終端采用ARM作為核心控制的嵌入式平臺,Windows CE 5.0運行在嵌入式平臺上,EVC 4.0是開發環境,我們通過它開發點菜終端子系統,最后運行在Windows CE 5.0操作系統上。 餐廳管理子系統,采用 Java 語言,利用MyEclipse 開發平臺進行實現。系統數據庫采用MySQL 數據庫,利用JDBC技術與數據庫進行連接。系統的實際運行界面如圖6和圖7所示:

圖6 點菜終端界面

圖7 餐廳管理子系統
本文主要針對餐廳對自身的管理要求的提高。從點菜到下單,從制作到結賬,從成本控制到倉儲管理,餐廳管理已進入信息化時代。本系統主要提供客戶自主操作服務,用戶從傳統的被動服務轉變為主動體驗。而本系統不僅省去了服務員點菜這個環節,也能充分了解消費者需求。與此同時,還實現了餐廳的自動化管理,包括員工管理,客戶管理,材料管理等,全面實現了餐廳的信息化管理。
[1] 曹 雷,薛平貞.UML建模在嵌入式系統開發中的應用[J].現代電子技術,2013,vol.36(16).41-43
[2] [.美]SCHMULLERJoseph.UML基礎、案例與應用[M].李虎,趙龍剛,譯.北京:人民郵電出版社,2006.
[3] 孫強,張振華.使用Rhapsody軟件框架和UML的實時系統開發[J].單片機與嵌入式系統應用,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年產學研項目(2014cxy-09);陜西省科技廳2016年農業科技創新與攻關項目(2016NY-134)
劉 峰(1981-),男,榆林學院,信息工程系,講師,碩士,研究方向:嵌入式系統的開發與應用,榆林,719000