昨天寫了餐飲管理系統的相關需求,得到了園友的一些好的建議,感到很高興,確實寫的也不全面,現在補充一下需要的業務,這次主要做的主要是前台收銀系統,所以業務主要集中在前台點菜收銀這塊,而后面數據管理這塊則暫時先不考慮。
至於像權限,不同的組門應該有不同的權限不同級別的員工也有相應的權限,比如收銀員只有9折的打折權限,而收銀主管則可以打折到8.5折,而經理可以打折到8折。至於一個園友說的前景,希望系統可以應用在中小型的餐飲,都說民以食為天,特別是現在社會發展如此快,人民對生活水平的需求越來越高,她們不僅僅滿足於吃飽,更在乎餐廳的環境,而一個擁有好環境的餐廳不僅僅指餐廳裝飾是多么的華麗,當然還包括像管理系統這樣的軟件環境,它代表的是一種先進的管理水平,現在全國各地每年都有好多新餐廳開張或改裝,而且它們也越來越認可信息技術在管理中的重要作用,以前像手持點菜寶,PDA到現在的O2O技術的應用,現在像手機或IPad等平板硬件都已經應用的越來越普遍。所以說前景還是比較看好的,只有使用方便,個性化以及很好的用戶體驗,肯定會有一席之地。好,開始今天的系統概要設計。
第一部分 引言
一、編寫目的
本文檔是系統的總體設計和實現說明,記錄了整個系統實現上的技術實現的考慮,以需求說明為依據,同時作為系統要求的控制依據。
二、背景
說明:名稱: RMS(Restaurant manage system)
開發:LZ
本系統將實現真實情況下客人從進入餐廳到吃完飯后結賬離開時一系統流程。幫助餐廳高效管理,提前員工工作效率。實現無紙化管理。
數據庫:sqlser2008R2
數據庫設計工具:Power Designer 15 + 設計表導出工具
代碼開發環境:VS2012,主要使用WINForm + wpf設計界面。
三、定義
暫無
四、參考資料
《CLR via C#》
《.NET組件程序設計》
《C#程序開發范例寶典》
《First Head 設計模式》
《大話設計模式》
第二部分 總體設計
一、系統流程與基本概念
本系統采用典型的C/S來實現,不同的客戶端通過網絡連接到數據庫服務器來訪問或操作數據。如下圖所示:
功能的模塊划分如下圖所示:
二、功能需求
1、開始界面設計
a.系統啟動后首先運行的是歡迎界面,在啟動的過程中會顯示相關的初始化進度,並且顯示各初始化模塊的名稱,啟動完成后進入登錄界面,此界面與QQ相似,用戶名能夠保存之前保存過的用戶名,能夠實現模糊查詢用戶名。輸入錯誤的用戶名或密碼會有相應的錯誤提示。
b.系統退出可以提示不直接退出與直接退出兩種,不直接退出就是相當於鎖定系統,只要再次輸入密碼就可以登入系統。
c.系統有統一的界面風格,統一的logo.有統一的信息提示框。
2、台桌界面
a.輸入正確的用戶名與密碼后進入台桌顯示界面,界面會根據不同的狀態顯示不同的顏色來標識,能夠根據不同的條件實現台桌的查詢,如位置像包廂,大廳,狀態像空台,已上菜或結賬,當台桌狀態是已上菜時,單擊時會顯示它對應的菜品與金額,雙擊后直接進入此台桌已點菜界面。空台則直接進入到點菜界面。
b.台桌界面能夠顯示台桌名稱並且可以根據不同的配置來設置。能夠有相應的顏色標識來標識台桌的狀態。
3、點菜界面
a.當客人需要點菜或加菜時,可以進入到點菜界面進入操作,界面上能夠根據類型來顯示餐廳所有的菜品,可以根據菜品代碼和拼音碼進行點菜,點菜界面同時能顯示已點菜的記錄,選中要修改的菜品,可以個性它的數量,上菜模式,發送到廚房,或整單發送到廚房,可以刪除已點菜,對已點菜記錄可以根據類型進行排序,系統能夠自動算出已點菜數量,金額等相關信息。
4、已發送菜界面
a.對於已經發送到廚房的菜品,就不能刪除了,只有通過退菜來操作,退菜時一定輸入數量,當然數量不能大於已點菜數量,當客人要加菜時,則可以跳轉到點菜界面再點菜然后再發送,客人想加快上菜速度,則可以點催菜操作,會打印單子到廚房。
b.客人可以轉台,比如有A台到B台,特殊情況下可以拼台。
5、結賬
a.當客人要結帳時,可以操作打折,贈送等操作,前提是此菜品能夠打折,能夠贈送。打折的類型根據配置可能有不同的情況。
b.結賬界面能夠顯示所有金額,可以選擇支付方式,如現金還是銀行卡,能夠自動算出像打折,贈送以及簽單等相應金額。
c.結賬時能夠打印所有菜品的信息,顯示名稱,數量,金額,收銀員名稱,打印時間等信息。
d.結完賬后實現翻台操作,一個完整流程結束。
6、其他
a.餐廳有相應的餐段,比如是午餐還是晚餐,這個根據時間來由系統自動識別,對於大型的餐廳,還有不同的餐牌,如是中餐還是西餐。
b.客人類型有散客與團隊等。
c.菜品還在套餐與非套餐。
d.打印菜品的格式。
第三部分 接口設計
系統采用Ado.net連接數據庫來實現對數據的操作,復雜的操作使用存儲過程,簡單的數據庫操作可以不使用存儲過程,使用xml或其他像INI存儲一些配置相關方面的信息。對用戶密碼等敏感信息使用md5加密技術,所有的界面繼承同一個父界面,所有的錯誤或異常能夠捕抓到到記錄到日志文件或表中並將提示返回給用戶,提示信息應該是友好的,不是看不懂的一些信息。
1、模塊設計
之前也一直想要不要重復創輪子,前面也說了,主要是練練手,所以不使用第三方的控件,像日志記錄控件log4net,微軟的enterPrise都是不錯的選擇,像控件庫telerik那么炫,但是為了加深學習,還是不使用這些非常優秀的控件。
a.解決方案名稱: RMS,命名空間名稱也以這開頭。
b. 數據訪問層:DataAccess
c.自定義控件:UserControls,所有的自定義控件放這個項目里面
d.業務層:Business,所有相關的業務處理放這里。
c.數據層:Entities,存儲所有的實體類,每個實體類實現Insert,update以及Delete方法。
d.日志:Logger,存放日志相關的項目。
e.Common:所有通用類存放在此項目中。
f.UI文件夾:UI相關的文件放此文件夾中,UI下面放Resources以及Operations和FORM相關子文件夾,分別存放資源相關以及窗體和對應的操作類。
下次寫數據庫表設計,這次先到這,主要是概要,詳細設計會以模塊一個一個地介紹,然后再合起來寫一個完整的詳細設計文檔。