(附源码)spring boot中小学餐饮配送系统 毕业设计 645661
springboot中小學餐飲配送系統(tǒng)
摘要
本論文系統(tǒng)地描繪了整個中小學餐飲配送系統(tǒng)的設(shè)計與實現(xiàn),主要實現(xiàn)的功能有以下幾點:首頁、站點管理(管理員、普通用戶)內(nèi)容管理(資訊列表、資訊分類)更多管理(餐品信息管理、分類管理、訂單管理)系統(tǒng)管理等功能,其具有簡單的接口,方便的應(yīng)用,強大的互動,完全基于互聯(lián)網(wǎng)的特點。
現(xiàn)代社會的網(wǎng)絡(luò)和信息技術(shù)不斷提高,人們的生活水平達到一個新的水平。點餐成為一種人們習以為常的生活方式,一個充分利用碎片化時間,簡化點餐配送過程的程序,正是我們所需要的。這篇文章研究了基于springboot的中小學餐飲配送系統(tǒng)的開發(fā)和實現(xiàn),從需求分析、總體設(shè)計到具體實現(xiàn),最終完成了整個中小學餐飲配送系統(tǒng)。
關(guān)鍵詞:中小學餐飲配送,互聯(lián)網(wǎng)模式,數(shù)據(jù)庫
Springboot primary and secondary school catering distribution system
This paper systematically describes the design and implementation of the whole catering distribution system in primary and secondary schools. The main functions are as follows: home page, site management (administrators and ordinary users), content management (information list and information classification), more management (food information management, classification management and order management), system management and other functions. It has simple interface, convenient application and strong interaction, Completely based on the characteristics of the Internet.
With the continuous improvement of network and information technology in modern society, people's living standards have reached a new level. Ordering has become a way of life that people are used to. A program that makes full use of fragmented time and simplifies the ordering and distribution process is exactly what we need. This paper studies the development and implementation of primary and secondary school catering distribution system based on springboot, from demand analysis, overall design to specific implementation, and finally completes the whole primary and secondary school catering distribution system.
Key words:?Catering distribution in primary and secondary schools, Internet model, database
目 ?錄
第1章?緒???論
1.1課題背景
1.2 國內(nèi)外發(fā)展現(xiàn)狀
1.3 開發(fā)工具及技術(shù) 3
1.4 研究內(nèi)容 5
第2章 系統(tǒng)分析 7
2.1 可行性分析 7
2.2總體設(shè)計原則 7
2.3 系統(tǒng)需求分析 8
2.4 業(yè)務(wù)流程分析 8
第3章 系統(tǒng)設(shè)計 11
3.1 系統(tǒng)概要設(shè)計 11
3.2系統(tǒng)結(jié)構(gòu)設(shè)計 11
3.3 數(shù)據(jù)庫設(shè)計 12
第4章系統(tǒng)實現(xiàn)
4.1系統(tǒng)功能模塊
4.2管理員功能模塊 22
4.3用戶功能模塊 24
第5章軟件測試
5.1軟件測試的重要性
5.2測試實例的研究與選擇
5.3測試環(huán)境與測試條件
5.4系統(tǒng)運行情況
5.5系統(tǒng)評價
第6章?總結(jié) 30
參考文獻: 31
致謝 33
1.1課題背景
在當今節(jié)奏飛快的時代,學院人員的餐飲問題往往需要快捷地解決。隨著計算機和4G網(wǎng)絡(luò)的飛速發(fā)展以及智能手機的普及,世界已經(jīng)形成了“地球村”。互聯(lián)網(wǎng)的飛速發(fā)展為我們的生活帶來了便利,我們可以利用互聯(lián)網(wǎng)來完成點餐以及派餐的命令。中國互聯(lián)網(wǎng)用戶規(guī)模超過8億,互聯(lián)網(wǎng)普及率達到60%。在互聯(lián)網(wǎng)中,在線餐飲的交付已成為三種主要飲食方法之一,中國在線點餐派餐用戶繼續(xù)增長到4億,增長了20%,其中3.9億人通過手機點餐在線交付。目前,中國點餐餐行業(yè)的狀況已經(jīng)穩(wěn)定,發(fā)展的速度令人難以置信,但市場尚未飽和。當前我們需要深入研究優(yōu)質(zhì)用戶的需求,并最大限度地利用現(xiàn)有用戶的價值。
在當今社會,點餐派餐已成為餐廳必不可少的一部分,它的存在對于個人和商家而言非常重要。因此,外賣點餐派餐系統(tǒng)應(yīng)能夠提供個人與商家之間的溝通渠道,并為個人用戶提供足夠的信息且為商家提供訂購信息。在智能手機流行之前,商人使用傳統(tǒng)的低效率手動方法來管理外賣。這種方法有很多缺點,例如保密性差,效率低下和數(shù)據(jù)冗余,而點餐派餐系統(tǒng)可以解決這些問題。與傳統(tǒng)電話訂購相比,外賣點餐派餐系統(tǒng)非常重要。對于餐飲業(yè)務(wù),信息管理的實施大大提高了效率,提高了數(shù)據(jù)的準確性,減少了數(shù)據(jù)的時延,大大提高了速度,并節(jié)省了大量紙張成本。同時,點餐派餐數(shù)據(jù)還可以使業(yè)務(wù)績效更加直觀。對于個人消費者而言,瀏覽餐廳信息非常方便,并且消除了撥打電話等復雜的手段。同時,在線點餐派餐還可以促進消費者的消費。
1.2 國內(nèi)外發(fā)展現(xiàn)狀
近年來,中國也涌現(xiàn)出了很多O2O的生活平臺,2013年市場規(guī)模已經(jīng)達到了1717.2億元,到2017年的時候,O2O的市場規(guī)模將達到4545.1億元,增長率達到27.6%,其中網(wǎng)上訂餐的增長率將超過6%,而從市場格局來看也說明,中國的網(wǎng)絡(luò)外賣訂餐行業(yè)已經(jīng)引來了高速發(fā)展的機遇期。然而中國的訂餐服務(wù)也是在歷經(jīng)了電話訂餐、微博訂餐后進入了網(wǎng)上訂餐,當前我國經(jīng)濟在快速發(fā)展。中國消費者邁進了數(shù)字化時代。對中國大多數(shù)行業(yè)來說,互聯(lián)網(wǎng)可以顯著提高勞動生產(chǎn)率,但大多數(shù)具體的好處酒店和餐廳卻尚未實現(xiàn),更多地反映在與消費相關(guān)的層面。無論是菜品的豐富度,還是價格的競爭力,還是相對的便利性,消費者大量轉(zhuǎn)移到點餐派餐平臺已經(jīng)大勢所趨。
事實上,國外的訂餐網(wǎng)址已經(jīng)發(fā)展的相當成熟了。特別是美國的市場表現(xiàn)的尤為突出,這個突出主要體現(xiàn)在行業(yè)的數(shù)據(jù)以及運營的企業(yè):從行業(yè)數(shù)據(jù)來看,2012年美國餐飲行業(yè)銷售收入規(guī)模達6363億美元,餐飲企業(yè)98萬家,其中外賣規(guī)模達670億美元;從運營企業(yè)來看,美國早在2000年以前就已經(jīng)有外賣O2O企業(yè)的存在,而如今對于已經(jīng)發(fā)展了快20年的美國,外賣訂餐O2O市場基本成熟,部分早期創(chuàng)辦的企業(yè)依舊保持著穩(wěn)定的發(fā)展,同時一些關(guān)于創(chuàng)作、標新立異的企業(yè)也在不斷涌現(xiàn)。本文所設(shè)計的中小學餐飲配送系統(tǒng)就是在這種客觀條件下進行的,是一項利民利國的、非常有價值的工作。在菜系管理方面,傳統(tǒng)的管理方式顯然無法與中小學餐飲配送系統(tǒng)相比,中小學餐飲配送系統(tǒng)正發(fā)揮著越來越重要的作用。中小學餐飲配送系統(tǒng)的速度快、信息量大、安全、簡單都是傳統(tǒng)模式難以企及的優(yōu)點,正在發(fā)揮著越來越重要的作用。在本文中的中小學餐飲配送系統(tǒng)是一個基于MySQL數(shù)據(jù)庫和JSP語言的。
1.3 開發(fā)工具及技術(shù)
本系統(tǒng)前端框架采用了比較流行的漸進式JavaScript框架Vue.js。使用Vue-Router和Vuex實現(xiàn)動態(tài)路由和全局狀態(tài)管理,Ajax實現(xiàn)前后端通信,Element UI組件庫使頁面快速成型。后端部分:采用springboot作為開發(fā)框架,同時集成MyBatis、Redis等相關(guān)技術(shù)。
1.3.1?MVVM模式
MVVM是Model-View-ViewModel的簡寫。它本質(zhì)上就是MVC 的改進版。MVVM 就是將其中的View 的狀態(tài)和行為抽象化,讓我們將視圖 UI 和業(yè)務(wù)邏輯分開。當然這些事 ViewModel 已經(jīng)幫我們做了,它可以取出 Model 的數(shù)據(jù)同時幫忙處理 View 中由于需要展示內(nèi)容而涉及的業(yè)務(wù)邏輯。微軟的WPF帶來了新的技術(shù)體驗,如Silverlight、音頻、視頻、3D、動畫……,這導致了軟件UI層更加細節(jié)化、可定制化。同時,在技術(shù)層面,WPF也帶來了 諸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由來便是MVP(Model-View-Presenter)模式與WPF結(jié)合的應(yīng)用方式時發(fā)展演變過來的一種新型架構(gòu)框架。它立足于原有MVP框架并且把WPF的新特性糅合進去,以應(yīng)對客戶日益復雜的需求變化。
1.3.2?B/S結(jié)構(gòu)
B/S(Browser/Server)比前身架構(gòu)更為省事的架構(gòu)。它借助Web server完成數(shù)據(jù)的傳遞交流。只需要下載瀏覽器作為客戶端,那么工作就達到“瘦身”效果, 不需要考慮不停裝軟件的問題。
1.3.3?MySQL
MMySQL數(shù)據(jù)庫是較為出名的關(guān)系形數(shù)據(jù)庫,它使用大量的二維表來進行存儲數(shù)據(jù)而不是把數(shù)據(jù)封裝存儲早同一個“倉庫”中,十分有利于提高速度和數(shù)據(jù)應(yīng)用的靈活性。
中小企業(yè)網(wǎng)站開發(fā)商的首選數(shù)據(jù)庫一般也是MySQL。SQL語言是它的標準語言。由于該數(shù)據(jù)庫在體積、速度和運營成本方面的優(yōu)勢,特別是開放源代碼的技術(shù)特點,因此深受開發(fā)者的喜愛。
1..3.4?Vue.js 主要功能
Vue.js是一套構(gòu)建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue采用自底向上增量開發(fā)的設(shè)計。Vue 的核心庫只關(guān)注視圖層,并且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅(qū)動采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)的復雜單頁應(yīng)用。
Vue.js 的目標是通過盡可能簡單的 API 實現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。
Vue.js 自身不是一個全能框架——它只聚焦于視圖層。因此它非常容易學習,非常容易與其它庫或已有項目整合。另一方面,在與相關(guān)工具和支持庫一起使用時,Vue.js 也能驅(qū)動復雜的單頁應(yīng)用。
1.3.5 ?Springboot框架介紹
Spring框架是Java平臺上的一種開源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應(yīng)用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補充,甚至是替補。Spring框架為開發(fā)提供了一系列的解決方案,比如利用控制反轉(zhuǎn)的核心特性,并通過依賴注入實現(xiàn)控制反轉(zhuǎn)來實現(xiàn)管理對象生命周期容器化,利用面向切面編程進行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問,提供大量優(yōu)秀的Web框架方便開發(fā)等等。Spring框架具有控制反轉(zhuǎn)(IOC)特性,IOC旨在方便項目維護和測試,它提供了一種通過Java的反射機制對Java對象進行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發(fā)者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運行時可配置;AOP框架主要針對模塊之間的交叉關(guān)注點進行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務(wù)管理、遠程訪問等功能均可以通過使用SpringAOP技術(shù)實現(xiàn)。Spring的事務(wù)管理框架為Java平臺帶來了一種抽象機制,使本地和全局事務(wù)以及嵌套事務(wù)能夠與保存點一起工作,并且?guī)缀蹩梢栽贘ava平臺的任何環(huán)境中工作。Spring集成多種事務(wù)模板,系統(tǒng)可以通過事務(wù)模板、XML或Java注解進行事務(wù)配置,并且事務(wù)框架集成了消息傳遞和緩存等功能。Spring的數(shù)據(jù)訪問框架解決了開發(fā)人員在應(yīng)用程序中使用數(shù)據(jù)庫時遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數(shù)據(jù)對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數(shù)據(jù)訪問框架中提供支持,同時還可以與Spring的事務(wù)管理一起使用,為數(shù)據(jù)訪問提供了靈活的抽象。Spring框架最初是沒有打算構(gòu)建一個自己的WebMVC框架,其開發(fā)人員在開發(fā)過程中認為現(xiàn)有的StrutsWeb框架的呈現(xiàn)層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創(chuàng)建了SpringMVC。
1.3.6 JavaScript 運行模式:
JavaScript是一種屬于網(wǎng)絡(luò)的高級腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現(xiàn)自身的功能的。
1.1是一種解釋性腳本語言(代碼不進行預編譯)。
1.2主要用來向HTML(標準通用標記語言下的一個應(yīng)用)頁面添加交互行為。
1.3可以直接嵌入HTML頁面,但寫成單獨的js文件有利于結(jié)構(gòu)和行為的分離。
1.4跨平臺特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺下運行(如Windows、Linux、Mac、Android、iOS等)。
1.5 JavaScript腳本語言同其他語言一樣,有它自身的基本數(shù)據(jù)類型,表達式和算術(shù)運算符及程序的基本程序框架。JavaScript提供了四種基本的數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達式則可以完成較復雜的信息處理。
?1.3.7Vue.js 主要功能
Vue.js是一套構(gòu)建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue采用自底向上增量開發(fā)的設(shè)計。Vue 的核心庫只關(guān)注視圖層,并且非常容易學習,非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅(qū)動采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)的復雜單頁應(yīng)用。
Vue.js 的目標是通過盡可能簡單的 API 實現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。
Vue.js 自身不是一個全能框架——它只聚焦于視圖層。因此它非常容易學習,非常容易與其它庫或已有項目整合。另一方面,在與相關(guān)工具和支持庫一起使用時,Vue.js 也能驅(qū)動復雜的單頁應(yīng)用。
1.4研究內(nèi)容
中小學餐飲配送系統(tǒng)的開發(fā)及實現(xiàn),所需要的工作內(nèi)容:
(1)首先是確定選題,確定好所要做的系統(tǒng),并對系統(tǒng)的背景及現(xiàn)在面臨的一些問題等進行系統(tǒng)的初步確認。
(2)系統(tǒng)確認完成后,結(jié)合系統(tǒng)開發(fā)的需求進行確認系統(tǒng)開發(fā)所使用的技術(shù),中小學餐飲配送系統(tǒng)的開發(fā)使用Springboot框架,數(shù)據(jù)庫進行平臺的搭建開發(fā),確認好使用的技術(shù)進行技術(shù)分析,所使用的技術(shù)是否可以完成系統(tǒng)的實現(xiàn)。
(3)確定好系統(tǒng)使用的技術(shù),進行在線確認系統(tǒng)所劃分的用戶角色,并且根據(jù)用戶角色劃分確定所要設(shè)計的功能模塊,對中小學餐飲配送系統(tǒng)的設(shè)計主要劃分別為管理員和用戶角色,并所使用的功能模塊也相應(yīng)不同,但是系統(tǒng)的數(shù)據(jù)庫實現(xiàn)的內(nèi)容是交互的,用戶可以隨時根據(jù)自己的需求進行課程信息,對于系統(tǒng)工作人員可以根據(jù)自己的分管內(nèi)容進行在線信息的處理及操作,管理員獲取到所有用戶的詳細數(shù)據(jù)信息,并根據(jù)需求進行第一時間處理解決。
(4)系統(tǒng)的功能模塊確認完成后進行程序及界面的設(shè)計,設(shè)計完成后,并且通過測試來判斷程序是否完善,對于系統(tǒng)測試,需要不同的用戶進行不同的內(nèi)容編輯及提交,及使用不同的測試方式找出程序中存在的漏洞,并對程序出現(xiàn)的漏洞問題進行在線解決處理,如果測試系統(tǒng)沒有任何問題時,可以將系統(tǒng)上傳進行正式操作使用。
系統(tǒng)分析
2.1?可行性分析
可行性分析的目的是確定一個系統(tǒng)是否有必要開發(fā)、確定系統(tǒng)是否能以最小的代價實現(xiàn)。其工作主要有三個方面,分別是技術(shù)、經(jīng)濟和社會三方面的可行性。我會從這三個方面對中小學餐飲配送系統(tǒng)進行詳細的分析。
2.1.1技術(shù)可行性
該系統(tǒng)主要使用JAVA、MyEclipse和MySQL數(shù)據(jù)庫進行開發(fā),Java易于學習和使用靈活。在校期間也接觸過MyEclipes和MySQL數(shù)據(jù)庫的課程,對此有一定的開發(fā)經(jīng)驗,因此開發(fā)難度不高,所以從技術(shù)上來說是可行的。
2.1.2經(jīng)濟可行性
本系統(tǒng)設(shè)計所選擇的開發(fā)工具和服務(wù)器都是免費的開源軟件,又或者是適合學生使用的免費版本,并不需要支付費用,而且由作者本人單獨完成,也不存在團隊費用,幾乎沒有經(jīng)濟成本,具備經(jīng)濟可行性。
2.1.3社會可行性
社會可行性主要包括法律和用戶兩個方面,下面將從這兩方面進行分析。
(1)法律因素
本系統(tǒng)是學習開發(fā)所制作的程序,并不用作商業(yè)用途,是在根據(jù)實際調(diào)研的結(jié)果結(jié)合現(xiàn)有的中小學餐飲配送系統(tǒng)后得出的,而且系統(tǒng)制作的全部過程都是在個人的工作電腦中完成的,使用的都是開源和免費的開發(fā)環(huán)境、分析軟件和數(shù)據(jù)庫,不存在侵權(quán)問題。
(2)用戶可行性
操作人員或者客戶只需要具備一定的windows電腦操作常識,不需要精通計算機技能。此外系統(tǒng)管理人員,只需要在windows常識之上再熟悉下使用Tomcat服務(wù)器的操作流程,只要掌握一定的計算機知識即可,在正式上線運營之前,僅需要對操作人員進行簡單的熟悉流程培訓即可。所以從用戶可行性上也是可行的。
2.2總體設(shè)計原則
一個系統(tǒng)要在開發(fā)和維護的過程中方便使用,必須采取一定的設(shè)計原則,其主要設(shè)計原則有:
簡單性:系統(tǒng)功能簡單易懂,只需要掌握基本的計算機操作能力即可使用。
針對性:針對特定的用戶,沒有多余的其他功能,使用戶可以專心使用。
實用性:能夠滿足用戶查看餐品信息等方面的需求。
一致性:設(shè)計風格、命名規(guī)范一致,整個系統(tǒng)的各個功能模塊色彩、擺放位置、功能等都是一致的。
先進性:本系統(tǒng)的代碼采用讀取數(shù)據(jù)的方式,方便后續(xù)開發(fā)、拓展。
2.3 系統(tǒng)需求分析
中小學餐飲配送系統(tǒng)需要滿足的需求有以下幾個:
1.信息獲取方便,用戶可在網(wǎng)頁上快速瀏覽到新的信息
2.查看點餐詳情,單獨查看某一個餐品信息,獲取好評等。
3.注冊登錄,餐飲需要吸引客戶,即通過注冊來提高用戶的存留率。
4.歷史記錄,用戶可以查看自己訂單信息以及其他操作。
5.修改用戶信息,可以修改用戶密碼或者用戶名等一些個性化操作。
6.管理員功能,管理員可以對用戶或者點餐進行管理。
7.系統(tǒng)安全,操作簡便,不過于復雜。
8.系統(tǒng)可以穩(wěn)定運行,不存在卡頓等問題造成用戶反感。
2.4 業(yè)務(wù)流程分析
2.4.1登錄流程
登錄模塊主要滿足管理員以及用戶的權(quán)限登錄,用戶登錄流程圖如圖2-1所示。
圖2-1?登錄流程圖
2.4.2注冊流程
未有賬號的用戶可進入注冊界面進行注冊操作,用戶注冊流程圖如圖2-2所示。
圖2-2?注冊流程圖
2.4.3添加信息流程
用戶在添加信息時,信息編號自動生成,系統(tǒng)會對添加的信息進行驗證,驗證通過則添加至數(shù)據(jù)庫,添加信息成功,反之添加失敗。添加信息流程如圖2-3所示。
圖2-3?添加信息流程圖
2.4.4刪除信息流程
用戶可選擇要刪除的信息進行信息刪除操作,在刪除信息時系統(tǒng)提示是否確定刪除信息,是則刪除信息成功,系統(tǒng)數(shù)據(jù)庫將信息進行刪除。刪除信息流程圖如圖2-4所示。
圖2-4刪除信息流程圖
3.1 系統(tǒng)概要設(shè)計
本中小學餐飲配送系統(tǒng)選擇B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器結(jié)構(gòu))和基于Web服務(wù)兩種模式。適合在互聯(lián)網(wǎng)上進行操作,只要用戶能連網(wǎng),任何時間、任何地點都可以進行系統(tǒng)的操作使用。系統(tǒng)工作原理圖如圖3-1所示:
圖3-1 系統(tǒng)工作原理圖
3.2系統(tǒng)結(jié)構(gòu)設(shè)計
整個系統(tǒng)是由多個功能模塊組合而成的,要將所有的功能模塊都一一列舉出來,然后進行逐個的功能設(shè)計,使得每一個模塊都有相對應(yīng)的功能設(shè)計,然后進行系統(tǒng)整體的設(shè)計。
本中小學餐飲配送系統(tǒng)結(jié)構(gòu)圖如圖3-2所示。
圖3-2?中小學餐飲配送系統(tǒng)結(jié)構(gòu)圖
3.3 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫可以說是所有軟件的根本,如果數(shù)據(jù)庫存在缺陷,那么會導致系統(tǒng)開發(fā)的不順利、維護困難、用戶使用不順暢等一系列問題,嚴重時將會直接損害企業(yè)的利益,同時在開發(fā)完成后,數(shù)據(jù)庫缺陷也更加難以解決。所以必須要對數(shù)據(jù)庫設(shè)計重點把握,做到認真細致。因此,數(shù)據(jù)庫設(shè)計是這個中小學餐飲配送系統(tǒng)的重點要素。
3.3.1概念結(jié)構(gòu)設(shè)計
(1)管理員實體屬性圖如下圖3-3所示
圖3-3管理員實體屬性圖
(2)?系統(tǒng)實體屬性如下圖3-4所示
圖3-4系統(tǒng)實體屬性圖
3.3.2數(shù)據(jù)庫表設(shè)計
將數(shù)據(jù)庫概念設(shè)計的E-R圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫。在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)關(guān)系由數(shù)據(jù)表組成,但是表的結(jié)構(gòu)表現(xiàn)在表的字段上。
|
| |||||
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| business_id | int | 11 | 否 | 主鍵 | 商家ID |
| store_name | varchar | 64 | 是 | 店名 | |
| shop_telephone | varchar | 64 | 是 | 店鋪電話 | |
| store_address | varchar | 64 | 是 | 店鋪地址 | |
| storefront_cover | varchar | 255 | 是 | 店面封面 | |
| business_qualification | varchar | 255 | 是 | 經(jīng)營資質(zhì) | |
| hits | int | 11 | 否 | 點擊數(shù) | |
| praise_len | int | 11 | 否 | 點贊數(shù) | |
| examine_state | varchar | 16 | 否 | 審核狀態(tài) | |
| recommend | int | 11 | 否 | 智能推薦 | |
| user_id | int | 11 | 否 | 用戶ID | |
| create_time | datetime | 0 | 否 | 創(chuàng)建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| classification_management_id | int | 11 | 否 | 主鍵 | 分類管理ID |
| type | varchar | 64 | 是 | 類型 | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創(chuàng)建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| Food_order_id | int | 11 | 否 | 主鍵 | 餐品訂單ID |
| commodity_number | varchar | 64 | 是 | 商品編號 | |
| name | varchar | 64 | 是 | 名稱 | |
| type | varchar | 64 | 是 | 類型 | |
| specifications | varchar | 64 | 是 | 規(guī)格 | |
| price | varchar | 64 | 是 | 價格 | |
| business | int | 11 | 是 | 商家 | |
| user | int | 11 | 是 | 用戶 | |
| number_of_meals_ordered | varchar | 64 | 是 | 訂餐數(shù) | |
| contact_number | varchar | 64 | 是 | 聯(lián)系電話 | |
| delivery_address | varchar | 64 | 是 | 送餐地址 | |
| total | varchar | 64 | 是 | 總計 | |
| order_status | varchar | 64 | 是 | 訂單狀態(tài) | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創(chuàng)建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| ordinary_users_id | int | 11 | 否 | 主鍵 | 普通用戶ID |
| full_name | varchar | 64 | 是 | 姓名 | |
| gender | varchar | 64 | 是 | 性別 | |
| examine_state | varchar | 16 | 否 | 審核狀態(tài) | |
| recommend | int | 11 | 否 | 智能推薦 | |
| user_id | int | 11 | 否 | 用戶ID | |
| create_time | datetime | 0 | 否 | 創(chuàng)建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| slides_id | int | 10 | 否 | 主鍵 | 輪播圖ID |
| title | varchar | 64 | 是 | 標題 | |
| content | varchar | 255 | 是 | 內(nèi)容 | |
| url | varchar | 255 | 是 | 鏈接 | |
| img | varchar | 255 | 是 | 輪播圖 | |
| hits | int | 10 | 否 | 點擊量 | |
| create_time | timestamp | 0 | 否 | 創(chuàng)建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
| 字段名稱 | 類型 | 長度 | 不是null | 主鍵 | 字段說明 |
| Food information_id | int | 11 | 否 | 主鍵 | 餐品信息ID |
| commodity_number | varchar | 64 | 是 | 編號 | |
| name | varchar | 64 | 是 | 名稱 | |
| type | varchar | 64 | 是 | 類型 | |
| cover | varchar | 255 | 是 | 封面 | |
| specifications | varchar | 64 | 是 | 規(guī)格 | |
| price | varchar | 64 | 是 | 價格 | |
| number | varchar | 64 | 是 | 數(shù)量 | |
| business | int | 11 | 是 | 商家 | |
| details | longtext | 0 | 是 | 詳情 | |
| hits | int | 11 | 否 | 點擊數(shù) | |
| praise_len | int | 11 | 否 | 點贊數(shù) | |
| recommend | int | 11 | 否 | 智能推薦 | |
| create_time | datetime | 0 | 否 | 創(chuàng)建時間 | |
| update_time | timestamp | 0 | 否 | 更新時間 | |
第4章系統(tǒng)實現(xiàn)
4.1系統(tǒng)功能模塊
中小學餐飲配送系統(tǒng),在系統(tǒng)首頁可以查看首頁、餐品信息、訂單信息、美食資訊跳轉(zhuǎn)到后臺等內(nèi)容,如圖4-1所示。
圖4-1系統(tǒng)功能界面圖
???美食資訊管理,在美食資訊管理可以查看標題、內(nèi)容等信息,如圖4-2所示。
圖4-2美食資訊界面圖
資訊列表,在資訊列表頁面可以查看資訊詳細信息,如圖4-3所示。在注冊頁面通過填寫用戶賬號、密碼、用戶姓名、手機等信息完成用戶注冊,如圖4-4所示。
圖4-3資訊列表界面圖
圖4-4注冊界面圖
用戶注冊邏輯代碼如下:
/**
?????* 注冊
?????* @param user
?????* @return
?????*/
????@PostMapping("register")
????public Map<String, Object> signUp(@RequestBody User user) {
????????// 查詢用戶
????????Map<String, String> query = new HashMap<>();
????????query.put("username",user.getUsername());
????????List list = service.select(query, new HashMap<>()).getResultList();
????????if (list.size()>0){
????????????return error(30000, "用戶已存在");
????????}
????????user.setUserId(null);
????????user.setPassword(service.encryption(user.getPassword()));
????????service.save(user);
????????return success(1);
}
4.2管理員功能模塊
管理員登錄,通過填寫注冊時輸入的用戶名、密碼、權(quán)限進行登錄,如圖4-5所示。
圖4-5管理員登錄界面圖
管理員登錄進入中小學餐飲配送系統(tǒng)可以查看首頁、站點管理(管理員、普通用戶)內(nèi)容管理(資訊列表、資訊分類)更多管理(餐品信息管理、分類管理、訂單管理)系統(tǒng)管理等信息,如圖4-6所示。
圖4-6管理員功能界面圖
資訊分類管理,在分類列表中可以查看資訊分類等內(nèi)容,還可以根據(jù)需要對分類資訊修改或刪除操作,如圖4-7所示。
圖4-7資訊分類管理界面圖
餐品品信息管理,在餐品信息管理列表中可以查看餐品編號、名稱、價格、圖片、分類信息,并可根據(jù)需要進行修改或刪除操作,如圖4-8所示。
圖4-8餐品信息管理界面圖
餐品信息管理的邏輯代碼如下:
?@RequestMapping("/get_obj")
????public Map<String, Object> obj(HttpServletRequest request) {
????????Query select = service.select(service.readQuery(request), service.readConfig(request));
????????List resultList = select.getResultList();
????????if (resultList.size() > 0) {
????????????JSONObject jsonObject = new JSONObject();
????????????jsonObject.put("obj",resultList.get(0));
????????????return success(jsonObject);
????????} else {
????????????return success(null);
????????}
}
?public Query select(Map<String,String> query,Map<String,String> config){
????????StringBuffer sql = new StringBuffer("select ");
????????sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");
????????sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));
????????if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){
????????????sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");
????????}
????????if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){
????????????sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");
????????}
????????if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){
????????????int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;
????????????int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;
????????????sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);
????????}
????????log.info("[{}] - 查詢操作,sql: {}",table,sql);
????????return runEntitySql(sql.toString());
????}
訂單信息管理,在訂單信息管理列表中可以查看餐品編號、餐品名稱、類型、價格、總價格、訂餐人、手機、送貨地址、備注、是否審核等信息,并可根據(jù)需要進行修改或刪除操作,如圖4-9所示。
圖4-9訂單信息管理界面圖
訂單信息管理的邏輯代碼如下:
??@PostMapping("/add")
????@Transactional
????public Map<String, Object> add(HttpServletRequest request) throws IOException {
????????service.insert(service.readBody(request.getReader()));
????????return success(1);
????}
????@Transactional
????public Map<String, Object> addMap(Map<String,Object> map){
????????service.insert(map);
????????return success(1);
}
????public Map<String,Object> readBody(BufferedReader reader){
????????BufferedReader br = null;
????????StringBuilder sb = new StringBuilder("");
????????try{
????????????br = reader;
????????????String str;
????????????while ((str = br.readLine()) != null){
????????????????sb.append(str);
????????????}
????????????br.close();
????????????String json = sb.toString();
????????????return JSONObject.parseObject(json, Map.class);
????????}catch (IOException e){
????????????e.printStackTrace();
????????}finally{
????????????if (null != br){
????????????????try{
????????????????????br.close();
????????????????}catch (IOException e){
????????????????????e.printStackTrace();
????????????????}
????????????}
????????}
????????return null;
}
????public void insert(Map<String,Object> body){
????????StringBuffer sql = new StringBuffer("INSERT INTO ");
????????sql.append("`").append(table).append("`").append(" (");
????????for (Map.Entry<String,Object> entry:body.entrySet()){
????????????sql.append("`"+humpToLine(entry.getKey())+"`").append(",");
????????}
????????sql.deleteCharAt(sql.length()-1);
????????sql.append(") VALUES (");
????????for (Map.Entry<String,Object> entry:body.entrySet()){
????????????Object value = entry.getValue();
????????????if (value instanceof String){
????????????????sql.append("'").append(entry.getValue()).append("'").append(",");
????????????}else {
????????????????sql.append(entry.getValue()).append(",");
????????????}
????????}
????????sql.deleteCharAt(sql.length() - 1);
????????sql.append(")");
????????log.info("[{}] - 插入操作:{}",table,sql);
????????Query query = runCountSql(sql.toString());
????????query.executeUpdate();
????}
用戶管理,在用戶管理列表中可以查看用戶賬號、密碼、用戶姓名、性別、手機、照片等內(nèi)容,并且根據(jù)需要進行修改或刪除操作,如圖4-10所示。
圖4-10用戶管理界面圖
用戶管理的邏輯代碼如下。
@RestController
@RequestMapping("auth")
public class AuthController extends BaseController<Auth, AuthService> {
????/**
?????* 服務(wù)對象
?????*/
????@Autowired
????public AuthController(AuthService service) {
????????setService(service);
????}
}
4.3用戶功能模塊
用戶登錄進入中小學餐飲配送系統(tǒng)可以查看首頁、公告欄、美食資訊、餐品信息等內(nèi)容,如圖4-11所示。
圖4-11用戶功能界面圖
個人中心,在用戶信息列表中通過填寫用戶賬號、密碼、用戶姓名、性別、手機、照片等信息進行提交,如圖4-12所示。
圖4-12個人中心界面圖
個人中心的邏輯代碼如下。
server:
??port: 5000
??servlet:
????context-path: /api
spring:
??datasource:
????url: jdbc:mysql://127.0.0.1:3306/CS725260_20211101091736?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8
????username: root
????password: root
????driver-class-name: com.mysql.cj.jdbc.Driver
??jackson:
????property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
????default-property-inclusion: ALWAYS
????time-zone: GMT+8
????date-format: yyyy-MM-dd HH:mm:ss
??servlet:
????multipart:
??????max-file-size: 100MB
??????max-request-size: 100MB
訂單信息管理,在訂單信息列表中可以查看餐品編號、餐品名稱、價格、購買數(shù)量、總價格、訂購人、手機、送貨地址、備注、是否支付等信息,如圖4-13所示。
圖4-13訂單信息管理界面圖
訂單信息管理的邏輯代碼如下:
??@RequestMapping(value = {"/avg_group", "/avg"})
public Map<String, Object> avg(HttpServletRequest request) {
????????Query count = service.avg(service.readQuery(request), service.readConfig(request));
????????return success(count.getResultList());
}
第5章軟件測試
測試存在于軟件開發(fā)進程中的最后一個階段,它可以保證一個軟件的開發(fā)質(zhì)量是否符合設(shè)計者的初衷,也為程序的正式上線做了最后一道質(zhì)量檢測的工序。軟件測試主要是控制各種條件、包括軟件輸出方式,使用模式和運行環(huán)境等,來評估一個系統(tǒng)或應(yīng)用是否符合設(shè)計標準。在軟件測試過程中,我們一般刻意的去制造錯誤和極端條件,不能僅依照正常模式允許,而是多去嘗試那些意外的情況。
5.1軟件測試的重要性
只有在運行和維護階段之前經(jīng)歷大量的測試的軟件,才能說明它的質(zhì)量是經(jīng)得起檢驗的。最近計算機業(yè)界也都一致認為,測試應(yīng)該存在于軟件設(shè)計的每個階段,因為越早發(fā)現(xiàn)錯誤,修復起來就越容易。
實際上,對于一個軟件應(yīng)用,錯誤是必然存在的,無論使用何種技術(shù)或手段,都不可能絕對的排除軟件漏洞。測試是隨著軟件開發(fā)一同誕生的,兩者是共同發(fā)展進步的。實際上,測試可以大幅度的降低維護的成本,如果一個漏洞在開發(fā)的早期就被發(fā)現(xiàn),那么修復它的成本遠比上線后再修復的成本要低得多。
5.2測試實例的研究與選擇
測試有白盒測試和黑盒測試兩種方式。
其中,白盒測試是將軟件看成一個透明的白盒子,按照程序的內(nèi)部控制結(jié)構(gòu)和處理技術(shù)邏輯來選定測試用例、軟件系統(tǒng)測試的邏輯路徑及過程需要進行管理測試,又稱玻璃盒測試。因此白盒測試需要選擇足夠多的測試用例,覆蓋盡可能多的代碼來發(fā)現(xiàn)程序中的錯誤。
黑盒測試,也稱為功能測試。它將需軟件看作一個黑盒,像一個普通用戶一樣來模擬軟件的使用流程。黑盒測試通過大量的輸入邊界值或錯誤數(shù)據(jù),來檢查是否可產(chǎn)生正確的輸出。
本系統(tǒng)測試 主要選擇黑盒測試,少量采用白盒測試。通過測試達到以下測試目的:
1.檢查各大功能模塊的運行,確保其能夠正確運行,并檢查各頁面的完整性,保證頁面完整。
2.檢查各個接口是否可以正確地輸入和輸出,保證數(shù)據(jù)流通穩(wěn)定可行。
3.檢查數(shù)據(jù)結(jié)構(gòu),保證其和外部接口沒有訪問錯誤,訪問順利。
4.檢查原計劃的性能需求有沒有完成,運行流暢。
本系統(tǒng)的測試用例(部分):
| 登錄部分測試用例 | |||||
| 編號 | 對象 | 項目 | 操作 | 預期結(jié)果 | 結(jié)果 |
| 1 | 登錄 | 登錄提示 | 使用正確的賬號密碼登錄 | 成功登錄 | 預期結(jié)果 |
| 2 | 登錄提示 | 使用正確的賬號但錯誤的密碼登錄 | 提示密碼錯誤 | 預期結(jié)果 | |
| 3 | 登錄提示 | 使用錯誤的賬號登錄 | 提示不存在賬戶 | 預期結(jié)果 | |
| 4 | 登錄提示 | 不輸入賬號,點擊登錄 | 提示輸入賬號 | 預期結(jié)果 | |
| 5 | 登錄提示 | 輸入賬號但不輸入密碼點擊登錄 | 提示輸入密碼 | 預期結(jié)果 | |
| 6 | 登錄入口 | 已登錄賬號,查看登錄入口 | 不顯示登錄入口 | 預期結(jié)果 | |
5.3測試環(huán)境與測試條件
處理器:Inter Core I7-4710MQ四核處理器
內(nèi)存:4GB
硬盤:1T
操作系統(tǒng):Windows 10
數(shù)據(jù)庫:MySQL
5.4系統(tǒng)運行情況
全部測試用例都已通過(包括但不限于以上測試用例),且不存在漏洞,實現(xiàn)了論文開始時所作要求。本系統(tǒng)運行穩(wěn)定,使用流暢,可以滿足客戶需求。
5.5系統(tǒng)評價
5.5.1系統(tǒng)功能評價
試運行后進行系統(tǒng)評估,可以認為該系統(tǒng)達到預定的目標要求,可以滿足用戶的需求,也滿足了系統(tǒng)開發(fā)前所作目標。
5.5.2系統(tǒng)技術(shù)評價
系統(tǒng)在經(jīng)過大量重復測試后運行十分穩(wěn)定,安全實用,功能模塊已經(jīng)達到預定目標所需。
5.5.3系統(tǒng)經(jīng)濟評價
在規(guī)定的時間內(nèi)實現(xiàn)系統(tǒng)的大部分功能,且滿足要求,節(jié)省開發(fā)成本,有助于提高科學管理水平,符合本人經(jīng)濟情況。
第6章 總結(jié)
2022年的今天,計算機技術(shù)已經(jīng)相當成熟。它的發(fā)展推動了許多行業(yè)改頭換面,計算機的出現(xiàn)使人類社會有了進一步降低人力物力和資源的方法,提高了人類社會的生產(chǎn)力,轉(zhuǎn)變了社會生產(chǎn)方式。目前各大餐飲都在積極備戰(zhàn),發(fā)展計算機和互聯(lián)網(wǎng),結(jié)合自身優(yōu)勢進軍互聯(lián)網(wǎng)行業(yè)成為各大企業(yè)的重點項目。
本文利用JAVA和MySQL數(shù)據(jù)庫技術(shù),通過分析現(xiàn)實中小學餐飲配送系統(tǒng)業(yè)務(wù)流程的基礎(chǔ)上,并完成了中小學餐飲配送系統(tǒng)。經(jīng)調(diào)試結(jié)果顯示,本系統(tǒng)基本可以滿足一個中小學餐飲配送系統(tǒng)的業(yè)務(wù)需要。系統(tǒng)界面簡潔而有美感, 易操作,做出了自己的特色,然而因為時間倉促再加上缺乏系統(tǒng)開發(fā)經(jīng)驗和僅依靠少數(shù)問卷調(diào)查方式,因此本系統(tǒng)還存在不少缺陷、不足,比如:
1. 數(shù)據(jù)輸入的格式并沒有全部檢驗,所以很難保證數(shù)據(jù)的準確,可能有一些不符合規(guī)則的數(shù)據(jù)也可以通過檢驗。
2. 系統(tǒng)功能還不夠完善,無法提供豐富多彩的在線功能,只能實現(xiàn)菜品信息管理、分類管理、訂單信息管理、用戶管理、美食資訊管理等一系列功能。
本系統(tǒng)還存在一些漏洞沒有解決,在現(xiàn)實應(yīng)用情境中很難保證完全不出錯,但相信通過再次完善,可以調(diào)試出真正符合實際的中小學餐飲配送系統(tǒng)。
參考文獻:
[2]朱廣躍.移動Web點餐系統(tǒng)的設(shè)計[J].集成電路應(yīng)用,2022,39(01):124-125.
[3]劉學玉.JAVA編程語言在計算機軟件開發(fā)中的應(yīng)用[J].電子技術(shù)與軟件工程,2022(01):57-60.
[4]黃美益.基于Java Web技術(shù)的教學資源庫系統(tǒng)設(shè)計[J].電子技術(shù)與軟件工程,2022(01):229-232.
[5]王瑛瑛.基于Java技術(shù)的英語學習激勵系統(tǒng)設(shè)計與實現(xiàn)[J].微型電腦應(yīng)用,2021,37(12):71-73+77.
[6]涂華燕.基于MySQL宿舍管理系統(tǒng)數(shù)據(jù)庫設(shè)計[J].電腦編程技巧與維護,2021(12):104-106.
[7]佟亞超.計算機軟件Java編程特點及技術(shù)探析[J].技術(shù)與市場,2021,28(12):86-87+89.
[8]易潔,黃翔.基于《MySQL數(shù)據(jù)庫技術(shù)》的新形態(tài)教材開發(fā)與應(yīng)用[J].機械職業(yè)教育,2021(12):53-57.
[9]閆繼正,張雷,張海濤.基于MySQL的空管設(shè)備集中監(jiān)控系統(tǒng)數(shù)據(jù)庫設(shè)計[J].微處理機,2021,42(06):47-51.
[10]何芳.Java平臺及應(yīng)用Java技術(shù)的安全問題分析[J].科技資訊,2021,19(35):10-12.
[11]Zhuoxi Zhang,Ming Yuan,Hanwei Qian. Research on MySQL Database Recovery and Forensics Based on Binlog[C]//Proceedings of the 11th International Conference on Computer Engineering and Networks(CENet2021)Part I.,2021:750-759.
[12]喻佳,吳丹新.基于SpringBoot的Web快速開發(fā)框架[J].電腦編程技巧與維護,2021(09):31-33.
[13]鹿俊聰.基于Android的食堂點餐系統(tǒng)的設(shè)計與實現(xiàn)[J].科學技術(shù)創(chuàng)新,2021(22):101-102.
[14]馮秀玲.智能點餐系統(tǒng)設(shè)計與應(yīng)用[J].電子技術(shù),2021,50(06):30-32.
[15]邱璐璐,陳俊仁.基于SpringBoot和Vue框架的高校代領(lǐng)系統(tǒng)設(shè)計與實現(xiàn)[J].信息技術(shù)與信息化,2021(04):25-27.
[16]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1):
[17]Minmin He,Shengli Lv. Research on Civil Aircraft Structural Strength Material Performance Database Based on SpringBoot[C]//Proceedings of 2020 4th International Conference on Electrical,Automation and Mechanical Engineering(EAME2020).Proceedings of 2020 4th International Conference on Electrical,2020:1062-1067.
[18]田海晴. 基于SpringBoot和Vue框架的共享運營管理平臺的設(shè)計與實現(xiàn)[D].山東大學,2020.
[19]葉濟凡. 基于SpringBoot與Vue框架的中文社科論文分析系統(tǒng)的設(shè)計與實現(xiàn)[D].南京大學,2020.
[20]吳彥文. 外賣點餐軟件品類導航服務(wù)及其運營系統(tǒng)的設(shè)計與實現(xiàn)[D].南京大學,2017.
致???謝
大學生活在這個時候即將劃上一個句號,但是對于我的人生道路來說,這僅僅是一個逗號,我將面對的是又一次征程的開始。
回憶過去,許許多多的事情浮現(xiàn)在腦海:剛上大學時歡樂心情和興奮的場景還歷歷在目。一切都是那么新鮮,那么富有吸引力。有快樂也有艱辛,有收獲也有失落。衷心感謝信息學院所有支持幫助過我的老師,謝謝你們多年來的關(guān)心和愛護。同窗的友情同樣難忘,你們與我共同走過了人生中不平凡的道路,給我留下了值得珍藏的美好記憶。
最后,我要特別感謝指導點餐購票系統(tǒng)論文設(shè)計的老師。本論文是在他的悉心指導和熱情幫助下完成的,老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和精深的理論水平都使我受益匪淺。老師無論在理論上還是在實踐中,都給予我很大的幫助,使我專業(yè)技能的應(yīng)用水平得到很大提高,這對于我以后的工作和學習都有益處。值此論文完成之際,特別向老師表示衷心的感謝和崇高的敬意,謝謝他細心而又耐心地輔導,使得我得以順利的完成畢業(yè)設(shè)計開發(fā)工作,同時也要感謝其他幫助過我的老師和同學,他們在我成長過程中給予了我很大的幫助,在此一并表示感謝。
由于本人水平有限,加上時間緊促,本文一定有不少缺點和不足,懇請各位老師給予幫助和指正。
免費領(lǐng)取本源代碼、數(shù)據(jù)庫,請私信
總結(jié)
以上是生活随笔為你收集整理的(附源码)spring boot中小学餐饮配送系统 毕业设计 645661的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nowcoder-顺时针打印矩阵-模拟魔
- 下一篇: BMW X3 xDrive28i隐藏属性