【java】kfc收銀系統實現(可視化)

小聲bb:
運行本項目需要的配置:java+eclipse+mysql+(很重要)修改數據庫中的single、combo、discourted表中的name行的編碼爲utf8,可以通過下列語句實現(修改的single),不然無法在菜單中添加中文的菜品:

ALTER TABLE `single` CHANGE `name` `name` VARCHAR(255) CHARACTER SET utf8 NOT NULL;

戳我直達

一、系統功能
二、開發環境及設計模式
三、系統介紹
四、界面展示
五、遇到的問題及解決
六、源代碼下載
圖像部分
uml圖
系統主模塊層次圖
實體聯繫圖
數據庫表
界面的一系列圖
數據庫編碼問題及解決

一、系統功能

1.正常餐品結算和找零。

2.基本套餐結算和找零。

3.使用優惠券購買餐品結算和找零。

4.可在一定時間段參與店內活動。

5.模擬打印小票的功能(寫到文件中)。

6.實現可視化界面。

7.實現當天營業額和餐品銷量計算和統計,用數據庫記錄

        本系統使用MySQL建立了數據庫其中包括菜單菜品,營業額等。利用Java中swing設計系統操作界面。

二、開發環境及設計模式

      使用了Java作爲開發語言和 MySQL作爲後臺數據庫,主要採用了MVC設計模式和單例模式和靜態工廠方法。

uml圖

三、系統介紹

3.1  總體設計

      肯德基點餐系統設計採用了面向對象的系統設計方法,運用JAVA語言進行開發,後臺數據庫採用的是SQL Server。根據之前的設計思路和系統功能分析,將肯德基點餐系統分爲了單品、套餐、店內活動、購物車、結算、打印小票、退出系統。系統主模塊層次圖如圖所示:

3.2  系統的特點

1. 後臺連接數據庫,統一對肯德基相關產品進行管理。方便管理人員對數據進行插入、刪除、查詢等,使數據更加規範化。

2. 系統採用Swing圖形化用戶界面編程,按照人性化設計的原則,用戶界面友好、操作靈活簡便。

3. 在系統功能方面,整個系統實現自動進行點餐、總額、小票打印等各項功能。系統可以通過用戶自主選擇對應產品,例如,單品、套餐等。同時針對爲會員的用戶,對其進行相對應的管理。

4. 該系統具有通用性強,適應面廣的特點。該肯德基點餐系統面對的用戶是肯德基客戶。不同規模的店面點餐方式具有多樣化、後臺的管理方式也會不同。針對不同的需求,可以對商品的規模進行改變,店內活動等也可以根據不同的需求進行相應的調整。

3.3 數據庫概念結構及物理設計

3.3.1實體聯繫圖

3.3.2數據庫表

其中營業額存儲在購物車表中。

3.3.3物理結構

      物理設計的任務是確定所有屬性的類型、寬度與取值範圍,設計出基本表的主鍵,將所有的表名與字段名英文化,實現物理建庫,完成數據庫物理設計字典。 創建數據庫的實現:利用sql語句創建數據庫和表。

四、界面展示

4.1系統主界面

該界面主要展示了我們的主界面運行功能,有單品、套餐、店內活動、購物車、結算、打印小票、退出系統主要幾個模塊。

4.2.單品界面展示

該界面主要方便用戶選擇自己喜歡的單品。

4.3套餐界面展示

該界面主要方便用戶選擇自己喜歡的套餐。

4.4.店內活動界面展示

該界面向用戶顯示週三會員半價店內活動。

4.5購物車界面展示

展示用戶已經選擇的食品。

4.6.結算界面展示

用來結算的界面。

4.7打印小票界面展示

方便用戶查看小票知道錢的去向。

4.8退出系統界面展示

一切行爲結束後,退出操作。

五、遇到的問題及解決

(1)數據庫問題

       剛開始在打印小票的時候鏈接數據庫,一味的以爲只要用getconnection函數把數據庫引過來就好了,後來怎麼也實現不了,最後查詢資料才知道,要先接入數據庫的驅動,才能引入數據庫。

(2)結算問題

       剛開始忽略了結算時候涉及到的異常,當運行的時候,系統拋出異常,才反應過來結算的時候需要添加異常。

(3)數據庫編碼問題

       一開始沒法添加單品進去,總要報錯:

上網查詢後發現是自己的表的默認編碼出了問題,數據庫的默認編碼爲latin1,無法識別中文,要用(以下指令)將name所在行改成utf-8

mysql> ALTER TABLE `single` CHANGE `name` `name` VARCHAR(255) CHARACTER SET utf8 NOT NULL;

修改前

修改後

六、源代碼下載

項目源代碼下載,提取碼爲:4h70

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章