摘 ?要
互聯網發展至今,無論是其理論還是技術都已經成熟,而且它廣泛參與在社會中的方方面面。它讓信息都可以通過網絡傳播,搭配信息管理工具可以很好地為人們提供服務。針對信息管理混亂,出錯率高,信息安全性差,勞動強度大,費時費力等問題,采用餐飲管理系統可以有效管理,使信息管理能夠更加科學和規范。
餐飲管理系統在Eclipse環境中,使用Java語言進行編碼,使用Mysql創建數據表保存本系統產生的數據。系統可以提供信息顯示和相應服務,其管理員增刪改查菜品信息和菜品信息資料,審核菜品信息預訂訂單,查看訂單評價和評分,通過留言功能回復用戶提問。
總之,餐飲管理系統集中管理信息,有著保密性強,效率高,存儲空間大,成本低等諸多優點。它可以降低信息管理成本,實現信息管理計算機化。
關鍵詞:餐飲管理系統;Java語言;Mysql
目??錄
目??錄?
第1章?緒論?
1.1?課題背景?
1.2 課題意義?
1.3 研究內容?
第2章?開發環境與技術?
2.1 MYSQL數據庫?
2.2?vue技術?
2.3 Spring Boot框架?
第3章?系統分析?
3.1?可行性分析?
3.1.1 技術可行性?
3.1.2 經濟可行性?
3.1.3 操作可行性?
3.2 系統流程?
3.2.1 操作流程?
3.2.2 登錄流程?
3.2.3 刪除信息流程?
3.2.4 添加信息流程?
3.3 性能需求?
第4章?系統設計?
4.1?設計原則?
4.2?功能結構設計?
4.3?數據庫設計?
4.3.2 數據庫物理設計?
5.1用戶信息管理?
5.2 菜品信息管理?
5.3菜品評論管理?
5.1公告信息管理?
第6章 系統測試?
6.1 功能測試?
6.1.1 登錄功能測試?
6.1.2 修改密碼功能測試?
6.2 測試結果?
結 ?論?
致??謝?
參考文獻?
第1章?緒論
1.1?課題背景
互聯網發展至今,無論是其理論還是技術都已經成熟,而且它廣泛參與在社會中的方方面面。它讓信息都可以通過網絡傳播,搭配信息管理工具可以很好地為人們提供服務。所以各行業,尤其是規模較大的企業和學校等都開始借助互聯網和軟件工具管理信息,傳播信息,共享信息等等,以此可以增強自身實力,提高在同行業當中的競爭能力,并從各種激烈的競爭中獲取發展的機會。針對菜品信息信息管理混亂,出錯率高,信息安全性差,勞動強度大,費時費力等問題,經過分析和考慮,在目前的情況下,可以引進一款餐飲管理系統這樣的現代化管理工具,這個工具就是解決上述問題的最好的解決方案。它不僅可以實時完成信息處理,還縮短菜品信息信息管理流程,使其系統化和規范化。同時還可以減少工作量,節約菜品信息信息管理需要的人力和資金。所以餐飲管理系統是信息管理環節中不可缺少的工具,它對管理者來說非常重要。
第4章?系統設計
一個成功設計的系統在內容上必定是豐富的,在系統外觀或系統功能上必定是對用戶友好的。所以為了提升系統的價值,吸引更多的訪問者訪問系統,以及讓來訪用戶可以花費更多時間停留在系統上,則表明該系統設計得比較專業。
4.1?設計原則
本系統在設計過程中需要依照一定的設計原則進行,目的就是為了讓開發的系統具備高質量,齊全完備的功能,方便簡單的操作,如此才可以最大限度的滿足使用者的要求。系統設計原則除了基本的易操作原則外,還有安全性原則,準確性原則。
第一個設計原則:易操作原則,針對本系統設計的功能要完備齊全,編碼時,設計的各個接口要具備友好性,使用者一旦使用本系統時,要能夠輕松上手,操作本系統處理數據時,要具備便利性。此外,也需要設計一些必要提示,引導使用者操作系統。
第二個設計原則:安全性原則,本系統在登錄模塊要對各個訪問者進行身份驗證,系統會通過訪問者輸入的信息進行判斷,使用提前編寫的安全驗證代碼進行數據比對,引導匹配成功的訪問者進入指定的操作界面。這樣可以避免無關性訪問者竊取系統的數據。
第三個設計原則:準確性原則,為了保證使用者登記的數據是正確的,需要提前設計數據糾錯機制,讓使用者可以通過系統的報錯提示,仔細檢查登記的錯誤信息,并及時糾正錯誤,填寫規范正確的信息。比如設置密碼時,要求密碼的長度不能低于6個字符,且數據類型要求不能全部是數字等都能進行規范。
4.2?功能結構設計
在前面分析的管理員功能的基礎上,進行接下來的設計工作,最終展示設計的系統總體功能結構圖(見下圖)。
4.3.2 數據庫物理設計
本數據庫是關系型數據庫,因此對二維表的結構設計也比較關鍵。畢竟二維表格模型就是關系型數據庫中的關系模型。而一些常用的關系模型中的概念也需要了解,才可以對關系模型進行設計。下面就簡單介紹關系,元組,屬性,域,關鍵字等常用概念的含義。
關系:關系就是數據庫中的一張數據表,每張數據表都有命名,也就是每個關系也有名字,那就是數據表名;
元組:元組就是數據表中的一行記錄;
屬性:屬性就是數據表中的字段,也就是數據表中的一列;
域:域就是對數據表中屬性的取值進行限定;
關鍵字:關鍵字就是數據表中的主鍵;
在了解了表結構設計的常用概念后,接下來就需要使用前面繪制的E-R模型完成表結構的設計工作,并在數據庫中創建數據表,并為各個數據表進行命名。以下就對設計的結果通過表格形式進行展示。
表4.1菜品表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | caipin_uuid_number | String | 菜品編號 | 是 |
3 | caipin_name | String | 菜品名稱 | 是 |
4 | caipin_photo | String | 菜品照片 | 是 |
5 | caipin_types | Integer | 菜品類型 | 是 |
6 | caipin_price | Integer | 購買獲得積分 | 是 |
7 | caipin_kucun_number | Integer | 菜品庫存 | 是 |
8 | caipin_old_money | BigDecimal | 菜品原價 | 是 |
9 | caipin_new_money | BigDecimal | 現價 | 是 |
10 | caipin_clicknum | Integer | 點擊次數 | 是 |
11 | caipin_content | String | 菜品介紹 | 是 |
12 | shangxia_types | Integer | 是否上架 | 是 |
13 | caipin_delete | Integer | 邏輯刪除 | 是 |
14 | create_time | Date | 創建時間 | 是 |
表4.2菜品收藏表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | caipin_id | Integer | 菜品 | 是 |
3 | yonghu_id | Integer | 用戶 | 是 |
4 | caipin_collection_types | Integer | 類型 | 是 |
5 | insert_time | Date | 收藏時間 | 是 |
6 | create_time | Date | 創建時間 | 是 |
表4.3菜品評價表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | caipin_id | Integer | 菜品 | 是 |
3 | yonghu_id | Integer | 用戶 | 是 |
4 | caipin_commentback_text | String | 評價內容 | 是 |
5 | insert_time | Date | 評價時間 | 是 |
6 | reply_text | String | 回復內容 | 是 |
7 | update_time | Date | 回復時間 | 是 |
8 | create_time | Date | 創建時間 | 是 |
表4.4菜品訂單表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | caipin_order_uuid_number | String | 訂單號 | 是 |
3 | caipin_id | Integer | 菜品 | 是 |
4 | yonghu_id | Integer | 用戶 | 是 |
5 | buy_number | Integer | 預定數量 | 是 |
6 | caipin_order_time | Date | 預定時間 | 是 |
7 | caipin_order_true_price | BigDecimal | 實付價格 | 是 |
8 | caipin_order_types | Integer | 訂單類型 | 是 |
9 | caipin_order_payment_types | Integer | 支付類型 | 是 |
10 | insert_time | Date | 訂單創建時間 | 是 |
11 | create_time | Date | 創建時間 | 是 |
表4.5字典表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 編碼 | 是 |
5 | index_name | String | 編碼名字 | 是 |
6 | super_id | Integer | 父字段編號 | 是 |
7 | beizhu | String | 備注 | 是 |
8 | create_time | Date | 創建時間 | 是 |
表4.6論壇表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | forum_name | String | 帖子標題 | 是 |
3 | yonghu_id | Integer | 用戶 | 是 |
4 | yuangong_id | Integer | 員工 | 是 |
5 | users_id | Integer | 管理員 | 是 |
6 | forum_content | String | 發布內容 | 是 |
7 | super_ids | Integer | 父編號 | 是 |
8 | forum_state_types | Integer | 帖子狀態 | 是 |
9 | insert_time | Date | 發帖時間 | 是 |
10 | update_time | Date | 修改時間 | 是 |
11 | create_time | Date | 創建時間 | 是 |
表4.7供應商表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | gongyingshang_name | String | 供應商名稱 | 是 |
3 | gongyingshang_phone | String | 聯系方式 | 是 |
4 | gongyingshang_email | String | 供應物品 | 是 |
5 | gongyingshang_types | Integer | 物品類型 | 是 |
6 | gongyingshang_money | BigDecimal | 供應價格 | 是 |
7 | gongyingshang_content | String | 供應物品簡介 | 是 |
8 | create_time | Date | 創建時間 | 是 |
表4.8公告信息表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | news_name | String | 公告標題 | 是 |
3 | news_types | Integer | 公告類型 | 是 |
4 | news_photo | String | 公告圖片 | 是 |
5 | insert_time | Date | 添加時間 | 是 |
6 | news_content | String | 公告詳情 | 是 |
7 | create_time | Date | 創建時間 | 是 |
表4.9單頁數據表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | single_seach_name | String | 名字 | 是 |
3 | single_seach_types | Integer | 數據類型 | 是 |
4 | single_seach_content | String | 內容 | 是 |
5 | create_time | Date | 創建時間 | 是 |
表4.10用戶表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | yonghu_name | String | 用戶姓名 | 是 |
3 | yonghu_phone | String | 用戶手機號 | 是 |
4 | yonghu_id_number | String | 用戶身份證號 | 是 |
5 | yonghu_photo | String | 用戶頭像 | 是 |
6 | yonghu_email | String | 電子郵箱 | 是 |
7 | new_money | BigDecimal | 余額 | 是 |
8 | yonghu_sum_jifen | BigDecimal | 總積分 | 是 |
9 | yonghu_new_jifen | BigDecimal | 現積分 | 是 |
10 | huiyuandengji_types | Integer | 會員等級 | 是 |
11 | create_time | Date | 創建時間 | 是 |
表4.11員工表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | yuangong_name | String | 員工姓名 | 是 |
3 | yuangong_phone | String | 員工手機號 | 是 |
4 | yuangong_id_number | String | 員工身份證號 | 是 |
5 | yuangong_photo | String | 員工頭像 | 是 |
6 | yuangong_email | String | 電子郵箱 | 是 |
7 | create_time | Date | 創建時間 | 是 |
表4.12管理員表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | id | Int | 編號 | 否 |
2 | username | String | 用戶名 | 是 |
3 | password | String | 密碼 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增時間 | 是 |
5.1用戶信息管理
如圖5.1顯示的就是用戶信息管理頁面,此頁面提供給管理員的功能有:用戶信息的查詢管理,可以刪除用戶信息、修改用戶信息、新增用戶信息,
還進行了對用戶名稱的模糊查詢的條件
5.2 菜品信息管理
如圖5.2顯示的就是菜品信息管理頁面,此頁面提供給管理員的功能有:查看已發布的菜品信息數據,修改菜品信息,菜品信息作廢,即可刪除,還進行了對菜品信息名稱的模糊查詢 菜品信息信息的類型查詢等等一些條件。
5.3菜品評論管理
如圖5.3顯示的就是菜品評論管理頁面,此頁面提供給管理員的功能有:根據菜品評論進行條件查詢,還可以對菜品評論進行新增、修改、查詢操作等等。
5.1公告信息管理
如圖5.4顯示的就是公告信息管理頁面,此頁面提供給管理員的功能有:根據公告信息進行新增、修改、查詢操作等等。
結 ?論
采用Java+Mysql的方式設計制作的餐飲管理系統,在功能上可以滿足管理人員對于信息的管理需求;在界面的設計上,盡最大努力用自身的美工知識做到界面美觀簡潔。在操作方面上,讓系統可以方便操作,同時對用戶常見的誤操作行為進行分析總結,并盡力在系統中避免同樣的由于用戶的誤操作所帶來的錯誤現象。
作為畢業設計,分配給本系統的設計與制作時間還是不足的,所以,餐飲管理系統還有許多需要完善的地方。
第一個就是本系統的編程代碼問題,各個程序文件的代碼存在冗余的地方非常多,導致代碼不夠簡潔,同時對代碼的注釋也比較麻煩。編碼期間,對于很多頁面可以共享的函數與方法都沒有單獨列出來,而是在需要用到函數和方法的頁面上都重新編寫了代碼,通過后期的技術學習,以及對編碼過程的分析總結,發現可以把共用的函數或方法編寫在同一個頁面上,在之后的頁面中,需要使用此函數的頁面,則可以直接調用函數,無需再編寫代碼了,這樣可以簡化代碼,也能節省時間和存儲空間。
第二個就是對數據庫的設計不夠好,在數據處理中,影響程序運行速度。因此需要對數據庫的性能進行優化。通過這方面知識的學習,在某個開發技術類的博客中,發現可以用數據庫連接池技術來解決數據庫的性能問題,另外還需規范數據庫里面的關系模式,降低數據庫的冗余率,提高運行速度。
如果說平時的作業也是檢查對知識的掌握情況,那么制作畢業設計,將是對自身所有知識的一個全面檢測。因為系統能夠制作完成則是經歷了很多階段,正如文中所展示的那樣,先有可行性分析,對功能的分析,對功能的設計,對數據庫的設計,對程序功能的編碼實現,對完成編碼程序的測試等,這些環節缺一不可,而且還都需要認真對待,大學學到的所有知識在制作系統時,才會發現不夠用。所以這個項目制作,在檢測自身能力的同時,也對問題分析,資料搜集,問題解決等能力進行了培養。
我通過制作本系統,熟悉了程序開發的流程,提高了對程序的編碼能力,培養了獨立分析與解決問題的能力;但也讓我明白自身的不足之處,所以在接下來的時間,我還是要加強對技術知識的學習,去逐漸完善本系統。