摘要
隨著信息技術在管理上越來越深入而廣泛的應用,管理信息系統的實施在技術上已逐步成熟。本文介紹了線上點餐系統的開發全過程。通過分析線上點餐系統管理的不足,創建了一個計算機管理線上點餐系統的方案。文章介紹了線上點餐系統的系統分析部分,包括可行性分析等,系統設計部分主要介紹了系統功能設計和數據庫設計。
本線上點餐系統管理員和用戶兩個角色。管理員功能有,個人中心,用戶管理,菜品信息管理,菜品類別管理,訂單管理,系統管理等。用戶功能有,個人中心,菜品信息管理,訂單管理,我的收藏管理等。因而具有一定的實用性。
本站后臺采用Java的SSM框架進行后臺管理開發,前端采用VUE框架,可以在瀏覽器上登錄進行后臺數據方面的管理,MySQL作為本地數據庫,用到了微信開發者工具,充分保證系統的穩定性。系統具有界面清晰、操作簡單,功能齊全的特點,使得線上點餐系統管理工作系統化、規范化。
關鍵詞:線上點餐系統;SSM框架;MYSQL數據庫;VUE框架
Abstract
With the deepening and extensive application of information technology in management, the implementation of management information systems has gradually matured in technology. This article introduces the entire development process of the online ordering system. By analyzing the deficiencies of the online ordering system management, a computer-managed online ordering system program was created. The article introduces the system analysis part of the online ordering system, including feasibility analysis, etc. The system design part mainly introduces the system function design and database design.
This online ordering system has two roles: administrator and user. Administrator functions include personal center, user management, dish information management, dish category management, order management, system management, etc. User functions include personal center, dish information management, order management, my collection management, etc. So it has a certain practicability.
The back-end of this site uses the Java SSM framework for back-end management and development, and the front-end uses the VUE framework. You can log in on the browser to manage the back-end data. MySQL is used as a local database and the WeChat developer tools are used to fully ensure the stability of the system. The system has the characteristics of clear interface, simple operation and complete functions, which makes the management of the online ordering system systematic and standardized.
Keywords:?Online ordering system; SSM framework; MYSQL database; VUE framework
目錄
1系統概述
1.1 研究背景
1.2研究目的
1.3系統設計思想
2相關技術
2.1?MYSQL數據庫
2.2?VUE框架簡介
2.3?SSM框架簡介
3系統分析
3.1可行性分析
3.1.1技術可行性
3.1.2經濟可行性
3.1.3操作可行性
3.2系統性能分析
3.2.1 系統安全性
3.2.2 數據完整性
3.3系統界面分析
3.4系統流程和邏輯
4系統概要設計
4.1概述
4.2系統結構
4.3.數據庫設計
4.3.1數據庫實體
4.3.2數據庫設計表
5系統詳細實現
5.1 管理員模塊的實現
5.1.1?菜品信息管理
5.1.2?用戶信息管理
5.1.3?訂單信息管理
5.1.4 菜品類別管理
5.2?用戶模塊的實現
5.2.1 系統首頁
5.2.2 我的訂單
5.2.2 收藏與加購
6系統測試
6.1概念和意義
6.2特性
6.3重要性
6.4測試方法
6.5?功能測試
6.6可用性測試
6.7性能測試
6.8測試分析
6.9測試結果分析
結論
致謝語
參考文獻
1系統概述
如今互聯網高速發展,網絡遍布全球,國內移動信息領域獨樹一幟,通過微信發布的消息能快而方便的傳播到世界每個角落,并且互聯網上能傳播的信息也很廣,比如文字、圖片、聲音、視頻等。從而,這種種好處使得互聯網成了信息傳播的主要途徑,社會上各種各樣的信息都想盡辦法通過互聯網進行傳播,互聯網對社會產生的影響越來越大。
因此,開發合適的線上點餐系統,可以方便管理人員對線上點餐系統的管理,提高信息管理工作效率及查詢效率,用戶可以在手機上通過來訂餐,更加的方便,有利于更好的為人們服務。
隨著互聯網技術的快速發展,網絡時代的到來,網絡信息也將會改變當今社會。各行各業在日常企業經營管理等方面也在慢慢的向規范化和網絡化趨勢匯合。線上點餐系統的信息化程度體現在將互聯網與信息技術應用于經營與管理,以現代化工具代替傳統手工作業。無疑,使用網絡信息化管理使信息管理更先進、更高效、更科學,信息交流更迅速。
對于之前點餐系統的管理,大部分都是使用傳統的人工方式去管理,這樣導致了管理效率低下、出錯頻率高。而且,時間一長的話,積累下來的數據信息不容易保存,對于查詢、更新還有維護會帶來不少問題。對于數據交接也存在很大的隱患。如果采用電子化的存儲方式就會帶來很大的改善,而且給用戶的查詢帶來了很大便利,因此設計一個線上點餐系統刻不容緩,能夠提高信息的管理水平。
1.3系統設計思想
一個成功的網站應明確建設網站的目的,確定網站的功能,確定網站規模、投入費用,進行必要的市場分析等。只有詳細的策劃,才能避免在網站建設中出現的很多問題,使網站建設能順利進行。同時,一個大型的計算機網站系統,必須有一個正確的設計指導思想,通過合理選擇數據結構、網絡結構、操作系統以及開發環境,構成一個完善的網絡體系結構,才能充分發揮計算機信息管理的優勢。根據現實生活中網民的實際需求,本系統的設計按照下述原則進行。
- 有效性:實際上這里的有效性包括兩個方面的意思:有用性和可用性。有用性是指站點潛在的能滿足用戶需求的功能,而可用性是指能夠通過站點的操作實現特定的目標。可以看出一個站點如果不能恰當運行或設計得非常槽糕就不是一個好站點。可用站點的效益應該非常高,并易于學習,在實現用戶目標時令人滿意而不出錯。
- 高可靠性:一個實用的網站同時必須是可靠的,本設計通過合理而先進的網絡設計以及軟、硬件的優化選型,可保證網站的可靠性與容錯性。
- 高安全性:在設計中,將充分利用網絡軟、硬件提供的各種安全措施,既可以保證用戶共享資源,充分考慮系統及數據資源的容災、備份、恢復的要求。為系統提供強大的數據庫備份工具。可以保證關鍵數據的安全性。操作權限級,設置不同的角色確保每一步的操作權限,可以由管理員進行設置。
- 先進性:采用目前國際上最先進的開發技術,使用JSP開發技術,MYSQL作為網站后臺數據庫。采用這些技術降低了以后的系統運營成本,提高了系統的穩定性和易維護性。
- 采用標準技術:本網站的所有設計遵循國際上現行的標準進行,以提高系統的開放性。
- 外觀和技術平衡:系統采用Web風格的界面設計,界面友好、美觀,使用方便,易學易用。網站設計的關鍵問題是外觀和技術的平衡。外現不好的網站令人厭煩,站點可以運行很好,但卻不能帶動用戶積極性,相反,如果外觀非常有表現力,但技術有限,用戶則會感到非常失望。在外觀與技術之間需要確定一個清晰而連續的關系,即外觀與站點的意圖相關,對不同類型的網站處理方法不同。
2相關技術
2.1?MYSQL數據庫
MySQL是一個真正的多用戶、多線程SQL數據庫服務器。 是基于SQL的客戶/服務器模式的關系數據庫管理系統,它的有點有有功能強大、使用簡單、管理方便、安全可靠性高、運行速度快、多線程、跨平臺性、完全網絡化、穩定性等,非常適用于Web站點或者其他應用軟件的數據庫后端的開發工作。此外,用戶可利用許多語言編寫訪問MySQL數據庫的程序。作為開放源代碼運動的產物之一,MySQL關系數據庫管理系統越來越受到人們的青睞,應用范圍也越來越廣。速度和易用性使MySQL特別適用于Web站點或應用軟件的數據庫后端的開發工作。
MYSQL數據庫具有以下特點:
1、C和C ++中使用和測試,以確保源代碼的編譯器的便攜性和靈活性。
2、支持多種操作系統AIX的,FreeBSD下,HP-UX,Linux和Mac OS中,Novell公司的Netware,OpenBSD系統,OS/2裹時,Solaris,Windows等。
3、提供了用于不同的編程語言的API。編程語言,如C,, C ++,Python和Java的,的Perl,PHP,埃菲爾鐵塔,Ruby和Tcl的。
4、以及使用的CPU資源來支持多線程。
5、算法優化查詢SQL,切實提高搜索速度。
6、網絡上的客戶端和服務器可以用來編程任何獨立的編程環境,也有中國,GB2312,BIG5,日文寫作,一般基金,用于支持多國語言,并且可以嵌入在數據表和其他軟件shift_jis訪問柱可以用作的名稱。
7、TCP / IP,ODBC和JDBC數據庫,并提供連接到其他。
8、管理工具的管理,控制和優化數據庫的操作。
9、可以數以千萬計的記錄在一個大的數據庫。
2.2?VUE框架簡介
Vue.js(讀音 /vju?/, 類似于 view) 是一套構建用戶界面的漸進式框架。
Vue 只關注視圖層, 采用自底向上增量開發的設計。
Vue 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。
2.3?SSM框架簡介
SSM框架,是Spring+Spring MVC+MyBatis的縮寫,這個是繼SSH之后,目前比較主流的Java EE企業級框架,適用于搭建各種大型的企業級應用系統。
1.Spring簡介
Spring是一個開源框架,Spring是于2003年興起的一個輕量級的Java開發框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。簡單來說,Spring是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架。
A.控制反轉(IOC)是什么呢?
IOC:控制反轉也叫依賴注入。利用了工廠模式將對象交給容器管理,你只需要在spring配置文件總配置相應的bean,以及設置相關的屬性,讓spring容器來生成類的實例對象以及管理對象。在spring容器啟動的時候,spring會把你在配置文件中配置的bean都初始化好,然后在你需要調用的時候,就把它已經初始化好的那些bean分配給你需要調用這些bean的類(假設這個類名是A),分配的方法就是調用A的setter方法來注入,而不需要你在A里面new這些bean了。
B.面向切面(AOP)又是什么呢?
首先,需要說明的一點,AOP只是Spring的特性,它就像OOP一樣是一種編程思想,并不是某一種技術,AOP可以說是對OOP的補充和完善。OOP引入封裝、繼承和多態性等概念來建立一種對象層次結構,用以模擬公共行為的一個集合。當我們需要為分散的對象引入公共行為的時候,OOP則顯得無能為力。也就是說,OOP允許你定義從上到下的關系,但并不適合定義從左到右的關系。例如日志功能。日志代碼往往水平地散布在所有對象層次中,而與它所散布到的對象的核心功能毫無關系。在OOP設計中,它導致了大量代碼的重復,而不利于各個模塊的重用。將程序中的交叉業務邏輯(比如安全,日志,事務等),封裝成一個切面,然后注入到目標對象(具體業務邏輯)中去。
實現AOP的技術,主要分為兩大類:一是采用動態代理技術,利用截取消息的方式,對該消息進行裝飾,以取代原有對象行為的執行;二是采用靜態織入的方式,引入特定的語法創建“方面”,從而使得編譯器可以在編譯期間織入有關“方面”的代碼。
2.Spring MVC簡介
Spring MVC屬于Spring Framework的后續產品,已經融合在Spring Web Flow里面,它原生支持的Spring特性,讓開發變得非常簡單規范。Spring MVC分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定制。
3.MyBatis簡介
MyBatis本是apache的一個開源項目iBatis,2010年這個項目由apache software foundation遷移到了google code,并且改名為MyBatis。MyBatis是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO)MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plain Old Java Objects,普通的Java對象)映射成數據庫中的記錄。可以這么理解,MyBatis是一個用來幫你管理數據增刪改查的框架。
3系統分析
3.1可行性分析
通過對本線上點餐系統實行的目的初步調查和分析,提出可行性方案并對其一一進行論證。我們在這里主要從技術可行性、經濟可行性、操作可行性等方面進行分析。
3.1.1技術可行性
本線上點餐系統后端采用SSM框架進行開發,是一種成熟的框架,開發有很多教程的,微信開發也有很多教程,并且網絡上很多免費的教程。??
因此,線上點餐系統在開發技術上具有很高可行性,且開發人員掌握了一定的開發技術,所以此系統的開發技術具有可行性。
3.1.2經濟可行性
本線上點餐系統采用的軟件都是開源的,這樣能夠削減很多的精力和資源,降低開發成本。同時對計算機的配置要求也極低,即使是淘汰下來的計算機也能夠滿足需要,因此,本系統在經濟上是完全具有可行性的,所以在經濟上是十分可行的。
3.1.3操作可行性
本線上點餐系統的界面簡單易操作,用戶只要平時有在用過電腦,都能進行訪問和操作。本系統具有易操作、易管理、交互性好的特點,在操作上是非常簡單的,因此在操作上具有很高的可行性。
綜上所述,此系統開發目標已明確,在技術、經濟和操作方面都具有很高的可行性,并且投入少、功能完善、管理方便,因此系統的開發是完全可行的。
3.2系統性能分析
3.2.1 系統安全性
此線上點餐系統要嚴格控制管理權限,具體要求如下:
(1)要想對線上點餐系統進行管理,首先要依靠用戶名和密碼在系統中登陸,無權限的用戶不可以通過任何方式登錄系統和對系統的任何信息和數據進行查看,這樣可以保證系統的安全可靠性和準確性。
(2)在具體實現中對不同的權限進行設定,不同權限的用戶在系統中登陸后,不可以越級操作。
3.2.2 數據完整性
(1)所有記錄信息要保持全面,信息記錄內容不可以是空。
(2)各種數據間相互聯系要保持正確。
(3)相同數據在不同記錄中要保持一致。
目前,界面設計已經成為對軟件質量進行評價的一條關鍵指標,一個好的用戶界面可以使用戶使用系統的信心和興趣增加,從而使工作效率提高。頁面盡量簡潔,讓頁面清爽,訪問速度能提升上去,訪問服務端接口的時候相應更快更迅捷。
1.輸出設計
輸出是由電腦對輸入的基本信息進行解決,生成高質量的有效信息,并使之具有一定的格式,提供給管理者使用,這是輸出設計的主要責任和目標。
系統開發的過程與實施過程相反,并不是從輸入設計到輸出設計,而是從輸出設計到輸入設計。這是由于輸出表格與使用者直接相聯系,設計的目的應當是確保使用者可以很方便的使用輸出表格,并且可以將各部門的有用信息及時的反映出來。輸出設計的準繩是既要整體琢磨不同管理層的所有需要,又要簡潔,不要提供給用戶不需要的信息。
2.輸入設計
輸入數據的收集和錄入是比較麻煩的,需要非常多的人力和一定設備,而且經常出錯。一旦輸入系統的數據不正確,那么處理后的輸出就會擴大這些錯誤,因此輸入的數據的準確性對整個系統的性能起著決定性意義。
輸入設計有以下幾點原則:
1)輸入量應盡量保持在能夠滿足處理要求的最低限度。輸入量越少,錯誤率就會越少,數據的準備時間也越少。
2)應盡可能的使輸入的準備以及輸入的過程進行時比較方便,這樣使錯誤的發生率降低。
3)應盡量早檢查輸入數據(盡量接近原數據發生點),以便使錯誤更正比較及時。
4)輸入數據盡早地記錄成其處理所需的形式,以防止數據由一種介質轉移到另一種介質時需要轉錄而可能發生的錯誤。
3.4系統流程和邏輯
圖3-3登錄流程圖
圖3-4修改密碼流程圖
4系統概要設計
4.1概述
本系統后臺采用B/S結構(Browser/Server,瀏覽器/服務器結構)和基于Web服務兩種模式,是一個適用于Internet環境下的模型結構。只要用戶能連上Internet,便可以在任何時間、任何地點使用。系統工作原理圖如圖4-1所示:
圖4-1系統工作原理圖
4.2系統結構
設計的管理員主要是為用戶提供的一些信息進行服務的。設計的管理員功能結構圖如下圖所示:
圖4-2管理員功能結構圖
用戶主要是訂餐購買這些情景,設計的用戶功能結構圖如下圖所示:
4.3.數據庫設計
4.3.1數據庫實體
概念設計的目標是設計出反映某個組織部門信息需求的數據庫系統概念模式,數據庫系統的概念模式獨立于數據庫系統的邏輯結構、獨立于數據庫管理系統(DBMS)、獨立于計算機系統。
概念模式的設計方法是在需求分析的基礎上,用概念數據模型(例如E-R模型)表示數據及數據之間的相互聯系,設計出反映用戶信息需求和處理需求的數據庫系統概念模式。概念設計的目標是準確描述應用領域的信息模式,支持用戶的各種應用,這樣既容易轉換為數據庫系統邏輯模式,又容易為用戶理解。數據庫系統概念模式是面向現實世界的數據模型,不能直接用于數據庫系統的實現。在此階段,用戶可以參與和評價數據庫系統的設計,從而有利于保證數據庫系統的設計與用戶的需求相吻合。在概念模式的設計中,E-R模型法是最常見的設計方法。本系統的E-R圖如下圖所示:
圖4.12 ?菜品信息實體屬性圖
(2)美食資訊實體屬性圖如圖4.13所示:
圖4.13??美食資訊實體屬性圖
(3)菜品類別信息實體屬性圖如圖4.14所示:
圖4.14?菜品類別信息實體屬性圖
4.3.2數據庫設計表
線上點餐系統需要后臺數據庫,下面介紹數據庫中的各個表的詳細信息:
表4.1 菜品類別信息表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
leibie | varchar(200) | 是 | NULL | 類別 |
表4.2 菜品信息
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
caipinbianhao | varchar(200) | 是 | NULL | 菜品編號 |
caipinmingcheng | varchar(200) | 是 | NULL | 菜品名稱 |
caipinleibie | varchar(200) | 是 | NULL | 菜品類別 |
jiage | int(11) | 是 | NULL | 價格 |
shuliang | int(11) | 是 | NULL | 數量 |
tupian | varchar(200) | 是 | NULL | 圖片 |
yuancailiao | longtext | 是 | NULL | 原材料 |
pengrenfangfa | longtext | 是 | NULL | 烹飪方法 |
caipintese | longtext | 是 | NULL | 菜品特色 |
caipinjieshao | longtext | 是 | NULL | 菜品介紹 |
thumbsupnum | int(11) | 是 | 0 | 贊 |
crazilynum | int(11) | 是 | 0 | 踩 |
clicktime | datetime | 是 | NULL | 最近點擊時間 |
clicknum | int(11) | 是 | 0 | 點擊次數 |
表4.3 訂單信息表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
caipinbianhao | varchar(200) | 是 | NULL | 菜品編號 |
caipinmingcheng | varchar(200) | 是 | NULL | 菜品名稱 |
caipinleibie | varchar(200) | 是 | NULL | 菜品類別 |
jiage | int(11) | 是 | NULL | 價格 |
shuliang | int(11) | 否 | 數量 | |
heji | varchar(200) | 是 | NULL | 合計 |
tupian | varchar(200) | 是 | NULL | 圖片 |
yuancailiao | varchar(200) | 是 | NULL | 原材料 |
pengrenfangfa | varchar(200) | 是 | NULL | 烹飪方法 |
caipintese | varchar(200) | 是 | NULL | 菜品特色 |
caipinjieshao | varchar(200) | 是 | NULL | 菜品介紹 |
zhanghao | varchar(200) | 是 | NULL | 賬號 |
xingming | varchar(200) | 是 | NULL | 姓名 |
sfsh | varchar(200) | 是 | 否 | 是否審核 |
shhf | longtext | 是 | NULL | 審核回復 |
ispay | varchar(200) | 是 | 未支付 | 是否支付 |
表4.4 訂單評論表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
refid | bigint(20) | 否 | 關聯表id | |
userid | bigint(20) | 否 | 用戶id | |
nickname | varchar(200) | 是 | NULL | 用戶名 |
content | longtext | 否 | 評論內容 | |
reply | longtext | 是 | NULL | 回復內容 |
表4.5 美食資訊信息表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
title | varchar(200) | 否 | 標題 | |
introduction | longtext | 是 | NULL | 簡介 |
picture | varchar(200) | 否 | 圖片 | |
content | longtext | 否 | 內容 |
表4.6 收藏表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
userid | bigint(20) | 否 | 用戶id | |
refid | bigint(20) | 是 | NULL | 收藏id |
tablename | varchar(200) | 是 | NULL | 表名 |
name | varchar(200) | 否 | 收藏名稱 | |
picture | varchar(200) | 否 | 收藏圖片 |
表4.7 管理員信息表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
username | varchar(100) | 否 | 用戶名 | |
password | varchar(100) | 否 | 密碼 | |
role | varchar(100) | 是 | 管理員 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增時間 |
表4.8 用戶信息表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
zhanghao | varchar(200) | 否 | 賬號 | |
mima | varchar(200) | 否 | 密碼 | |
xingming | varchar(200) | 否 | 姓名 | |
xingbie | varchar(200) | 是 | NULL | 性別 |
shouji | varchar(200) | 是 | NULL | 手機 |
youxiang | varchar(200) | 是 | NULL | 郵箱 |
shenfenzheng | varchar(200) | 是 | NULL | 身份證 |
zhaopian | varchar(200) | 是 | NULL | 照片 |
beizhu | longtext | 是 | NULL | 備注 |
源碼獲取