版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2章實(shí)驗(yàn)相關(guān)原理-題目:基于Android高校點(diǎn)餐系統(tǒng)的設(shè)計(jì)摘要近年來隨著經(jīng)濟(jì)的發(fā)展,人民的生活水平不斷提高。高校餐飲行業(yè)的消費(fèi)水平也不斷提高,競爭越來越激烈。傳統(tǒng)的高校餐廳都是大部分靠人工管理的。學(xué)生點(diǎn)餐的這個過程是非常繁瑣的,尤其是學(xué)生就餐高峰期,效率低而且很容易出錯。為了方便人們的生活,工作,學(xué)習(xí)。因此越來越多的高校普遍實(shí)行信息化管理。我們常常去餐廳點(diǎn)餐都會有點(diǎn)菜單,而點(diǎn)菜單往往都是一次性的,從而造成很嚴(yán)重的浪費(fèi)。餐廳的生意是有固定的時間,吃飯的人會有很多,僅僅靠服務(wù)人員用手記是非常浪費(fèi)時間的。即使是兩人點(diǎn)餐也需要5-10分鐘,尤其到學(xué)生就餐高峰期可能會需要更長時間。這也可能造成客流量外流,影響餐廳的生意。Android的點(diǎn)餐系統(tǒng)的運(yùn)用就是為了解決傳統(tǒng)點(diǎn)餐的不足。通過Android技術(shù),改變了傳統(tǒng)紙質(zhì)點(diǎn)餐,不需要紙質(zhì)介紹,并且可以更好的了解菜品。這不僅可以節(jié)省學(xué)生的時間而且減少了一次性浪費(fèi)。它采用電子菜單,客人點(diǎn)餐時不需要服務(wù)員的陪伴,能實(shí)時地了解菜的特色。這將有效的降低餐飲的成本,并提高效率,Android的點(diǎn)餐系統(tǒng)極具商業(yè)價值和推廣意義。高校是餐廳是學(xué)生主要的一個就餐的地方,現(xiàn)在大多數(shù)高校開始進(jìn)行信息化管理,這極大的方便了學(xué)校師生就餐問題。學(xué)生在快節(jié)奏的生活中極大的享受了快捷便利,給學(xué)校師生節(jié)約了大量的時間。為學(xué)校師生提供了一個更加系統(tǒng)化的就餐過程。關(guān)鍵詞:Android,訂餐系統(tǒng),Java,Web服務(wù)器
ABSTRACTInrecentyears,withthedevelopmentofeconomy,people'slivingstandardshavebeencontinuouslyimproved.Theconsumptionlevelofthecateringindustryincollegesanduniversitiesisalsoincreasing,andthecompetitionisbecomingmoreandmorefierce.Traditionaluniversityrestaurantsaremostlymanagedmanually.Theprocessoforderingastudent'smealisverycumbersome,especiallyduringtherushhour,whichisinefficientanderror-prone.Inordertofacilitatepeople'slife,work,study.Therefore,moreandmorecollegesanduniversitiesgenerallyimplementinformationmanagement.Weoftengototherestauranttoorderabitofmenu,andthepointmenuisoftenone-time,resultinginaveryseriouswaste.Therestaurantbusinesshasafixedtime,therewillbealotofpeopletoeat,itisawasteoftimetorelyonthehandsofservicepersonnelalone.Eventhetwotake5-10minutestoorder,especiallywhenitcomestopeakmealtimes.Thiscouldalsocauseanoutflowoftrafficandaffectrestaurantbusiness.Android'sorderingsystemisdesignedtoaddresstheshortcomingsoftraditionalordering.Throughandroidtechnology,haschangedthetraditionalpaperorder,doesnotneedthepaperintroduction,andcanunderstandthedishbetter.Thiscannotonlysavestudentstimebutalsoreduceone-timewaste.Theresearchinthispaperwilleffectivelyreducethecostofcatering,andimproveefficiency,android'sorderingsystemisofgreatcommercialvalueandpromotion.。Keywords:Android,reservationsystem,Java,Webserver
目錄3211第一章緒論 6260381.1開發(fā)背景 6325111.2目的和意義 6252011.3開發(fā)設(shè)計(jì)思想 743891.4開發(fā)目標(biāo) 81310第二章主要技術(shù)介紹 9182762.1Android簡介 1027342.2JSP簡介 10134212.3MySql數(shù)據(jù)庫 11134212.=4\*Arabic4JDBC簡介 11134212.5Keytools簡介 1226249第三章需求分析 13254983.1系統(tǒng)基本需求分析 1335653.2系統(tǒng)功能分析 13223543.2.1功能概述 13233573.2.2系統(tǒng)經(jīng)過 13173093.3可行性分析 14124893.3.1技術(shù)上的可行性 14118533.3.1經(jīng)濟(jì)上的可行性 14324733.3.1操作上的可行性 1512026第四章系統(tǒng)設(shè)計(jì) 16167794.1系統(tǒng)設(shè)計(jì)架構(gòu)圖 16181524.2系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 16189614.3系統(tǒng)功能設(shè)計(jì)目標(biāo) 1開發(fā)目標(biāo)降低紙質(zhì)用品的消耗與不必要的人力,提高工作效率,讓學(xué)生能夠享受到優(yōu)質(zhì)的服務(wù)。通過Android技術(shù),改變傳統(tǒng)的高校點(diǎn)餐方式。擺脫紙質(zhì)點(diǎn)餐的繁瑣,讓學(xué)生能更好的了解菜品??梢宰寣W(xué)生選擇自己喜歡的菜品,有利于吸引學(xué)生前來就餐。數(shù)據(jù)自動同步服務(wù)器,不再出現(xiàn)人為的合計(jì)價格時的錯誤。開發(fā)工具與環(huán)境簡介2.1Android簡介Android是由Goole公司和開發(fā)手機(jī)聯(lián)盟領(lǐng)導(dǎo)并開發(fā)的一種基于Linux的自由且開放的源代碼的操作系統(tǒng),主要使用于移動設(shè)備。其最初由AndyRubin開發(fā),后被Goole與84家硬件制造商、軟件開發(fā)商及電信營運(yùn)商組建開放手機(jī)聯(lián)盟,共同研發(fā)改良Android系統(tǒng),完成開發(fā)后,Goole以Apple開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。Android是一個針對移動設(shè)備的軟件包,包括操作系統(tǒng)、中間件和關(guān)鍵的應(yīng)用程序。AndroidSDK提供了在Android平臺上使用Java編程語言進(jìn)行應(yīng)用開發(fā)所必須的工具和Apls。功能特點(diǎn):ApplicationFramework使組件能夠重用和替換;針對移動設(shè)備而優(yōu)化的Dalvik虛擬機(jī);集成了基于開源代碼-Webkit引擎的瀏覽器;通過制定的2D圖形庫驅(qū)動圖形優(yōu)化;基于OpenGLES1.0歸范的3D圖形(可選擇硬件加速);基于SQLite的結(jié)構(gòu)化數(shù)據(jù)存儲策略;對通用的音/視頻以及圖片格式的多媒體支持,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF;藍(lán)牙、EDGE、3G、WIFI(依賴硬件)支持;相機(jī)、GPS、指南針和加速器支持(依賴硬件);豐富的開發(fā)環(huán)境,包括設(shè)備模擬器、調(diào)試工具、內(nèi)存和性能分析以及針對EclipseIDE的硬件。2.2JSP簡介Jsp是JavaServerPage的簡稱,是在SunMicrosystems倡導(dǎo)下建立的一種動態(tài)網(wǎng)頁技術(shù)。Jsp以java語言為腳本語言,頁面中可以嵌入靜態(tài)的Html語言,js腳本,css樣式等。Jsp中的java代碼在Web容器的解析下,生成servlet,通過servlet將Java代碼轉(zhuǎn)換為靜態(tài)的文件,靜態(tài)頁面通過瀏覽器,將結(jié)果返回給用戶。Jsp頁面中還可以加入jsp指令和標(biāo)簽。標(biāo)簽的出現(xiàn)。是jsp頁面中無須加入java代碼。在MVC思想中jsp是視圖層的表現(xiàn)手段之一,jsp只是用來展現(xiàn)結(jié)果給用戶,復(fù)雜的業(yè)務(wù)邏輯沒必要用java代碼寫到j(luò)sp頁面上。而是通過專門的業(yè)務(wù)邏輯組件去完成這個功能,業(yè)務(wù)組件完成以后把結(jié)果返回到j(luò)sp頁面。Jsp利用強(qiáng)大的標(biāo)簽,把返回的值輸出給用戶。這種松耦合的分層架構(gòu)也是MVC思想的基礎(chǔ)。使用了標(biāo)簽。Jsp變的更加簡單。頁面上只有標(biāo)簽和靜態(tài)的html了。大大簡化了后期代碼維護(hù)和升級工作的工作量[9]。2.3MYSQL數(shù)據(jù)庫數(shù)據(jù)庫是為了高效檢索信息而組織在一起的信息組合。數(shù)據(jù)庫的托管在數(shù)據(jù)庫管理系統(tǒng)里,即DBMS(databasemanagementsystem)。在DBMS中數(shù)據(jù)是以數(shù)據(jù)庫及其中的表來組織存在的。一個DBMS服務(wù)器可以為多個數(shù)據(jù)庫提供服務(wù)。通常情況下,一個數(shù)據(jù)庫對應(yīng)著一個應(yīng)用程序,例如使用一個數(shù)據(jù)庫對應(yīng)著門戶網(wǎng)站,而另一個數(shù)據(jù)庫用于論壇。本項(xiàng)目中使用的MYSQL也是DBNS的一種。MYSQL作為數(shù)據(jù)庫家庭的重要成員,是基于客戶機(jī)/服務(wù)器的大型關(guān)系數(shù)據(jù)庫系統(tǒng)。MYSQL這種關(guān)系型數(shù)據(jù)庫系統(tǒng)能夠滿足各種類型的企業(yè)客戶和獨(dú)立軟件供應(yīng)商構(gòu)建商業(yè)應(yīng)用程序的需求,根據(jù)客戶的反映和需求,是大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺。與商業(yè)數(shù)據(jù)庫相比,MYSQL數(shù)據(jù)庫具有如下優(yōu)點(diǎn):免費(fèi)開源與微軟和oracle的商用數(shù)據(jù)庫不同,MYSQL是免費(fèi)的數(shù)據(jù)庫產(chǎn)品。更為可貴的是,MYSQL源碼可以在遵循GPL開源協(xié)議的方式進(jìn)行修改和使用??缙脚_MYSQL數(shù)據(jù)庫的服務(wù)端可以運(yùn)行在多個操作系統(tǒng)中,其針對不同操作系統(tǒng)包括WindowsServer,Linux都有對應(yīng)的服務(wù)器發(fā)布版本??焖費(fèi)YSQL服務(wù)器可快速部署,其核心采用多線程,由于MYSQL是輕量級的服務(wù),所以導(dǎo)致MYSQL在不占用過多的CPU內(nèi)存時能夠?qū)崿F(xiàn)其操作。2.4JDBC簡介JDBC全稱是JAVADATABASECONNECTIVITY(JAVA數(shù)據(jù)庫),可以為多種數(shù)據(jù)庫提供填統(tǒng)一的訪問。JDBC是SUN開發(fā)的一套數(shù)據(jù)庫訪問編程接口,是一種SQL級的API。它是由JAVA語言編寫完成,所以具有很好的跨平臺特性,使用JDBC編寫的數(shù)據(jù)庫應(yīng)用程序可以在任何支持JAVA平臺上運(yùn)行,而不必在不同的平臺上編寫不同的應(yīng)用程序。JDBC是由JAVA編程語言編寫的類及接口組成,同時它為程序開發(fā)人員提供了一組用于實(shí)現(xiàn)對數(shù)據(jù)庫訪問的JDBCAPI,并支持SQL語言。利用JDBC可以將JAVA代碼連接到oracle、DB2、SQLServer、MYSQL等數(shù)據(jù)庫,從而實(shí)現(xiàn)對數(shù)據(jù)庫中的數(shù)據(jù)操作的目的。JDBC的主要功能如下:建立與數(shù)據(jù)庫或者其它數(shù)據(jù)源的鏈接向數(shù)據(jù)庫發(fā)送SQL命令處理數(shù)據(jù)庫的返回結(jié)果2.5KEYTOOLS簡介系統(tǒng)主要使用MyEclipse作為開發(fā)工具。MyEclipse是一款非要優(yōu)秀的Java開發(fā)工具。他是在Eclipse的基礎(chǔ)之上集成了很多插件,成為一款功能強(qiáng)大的集成開發(fā)工具。它本身就是用Java語言開發(fā)的,內(nèi)部的組件以插件的形式組合起來,安裝和卸載插件非常方便。還允許程序員開發(fā)適合自己的插件。內(nèi)置豐富的快捷鍵,有效提高了開發(fā)效率[5]。圖2-1為MyEclipse啟動界面。圖2-1myeclipse啟動界面第三章需求分析3.1系統(tǒng)基本需求分析目前,不管是服務(wù)者還是消費(fèi)者都更傾向于網(wǎng)絡(luò)點(diǎn)餐。但目前各高校點(diǎn)餐時在服務(wù)方面很不到位,我們依舊在校園各食堂或者餐館還能看見紙質(zhì)點(diǎn)餐的現(xiàn)象。然而,如果我們能將這種紙質(zhì)點(diǎn)餐的方式轉(zhuǎn)移到線上就大大將我們的實(shí)際生活與信息化時代緊密的聯(lián)系到了一起。這就要求我們做出來的系統(tǒng)不論是從界面還是功能上,都勢必要滿足學(xué)生的需求,提高點(diǎn)餐的效率,一定程度上實(shí)現(xiàn)自動化。3.2系統(tǒng)功能需求3.2.1功能概述這個系統(tǒng)基本上可以分為前臺和后臺兩個管理模塊。本系統(tǒng)有如下功能:點(diǎn)菜管理:這個功能屬于后臺管理員的功能。主要包括:菜單查詢、添加新菜、刪除和修改菜單。用戶進(jìn)入系統(tǒng)后可以對菜譜進(jìn)行瀏覽,并且可以查看菜譜的詳細(xì)信息。在這里餐廳后臺管理人員可以完成添加新菜品,也可以對過去的菜單進(jìn)行查詢、修改和刪除等操作。用戶登錄:輸入用戶名和密碼后,然后進(jìn)行系統(tǒng)驗(yàn)證通過即可進(jìn)入系統(tǒng)。點(diǎn)餐功能:點(diǎn)餐功能模塊是本系統(tǒng)中一個非常重要的功能模塊。用戶選擇自己滿意的菜譜后,輸入座位號,點(diǎn)擊點(diǎn)餐按鈕即可完成點(diǎn)餐操作。在這個系統(tǒng)里還可以對自己喜愛的菜進(jìn)行收藏或者取消收藏,收藏功能方便以后快捷點(diǎn)餐。信息功能:主要是指更新個人的信息與修改密碼功能。用戶登錄系統(tǒng)后就可以在主界面點(diǎn)擊信息按鈕然后就可進(jìn)入修改個人信息界面,最后進(jìn)行個人信息與密碼的更新。在對功能需求進(jìn)行了分析之后,結(jié)合管理員和用戶的功能概述,我對這個系統(tǒng)進(jìn)行了用例分析,將這個圖的展示結(jié)果如下所示。管理員主要承擔(dān)信息的增刪改、查等任務(wù),用戶主要可查看菜單。3.2.2系統(tǒng)經(jīng)過系統(tǒng)總體流程:以用戶的身份在登錄頁面輸入賬號和密碼,經(jīng)過數(shù)據(jù)庫身份驗(yàn)證,驗(yàn)證成功后登錄系統(tǒng)主頁,可以使用系統(tǒng),管理系統(tǒng)等功能操作,以管理員的身份在登錄頁面輸入賬號和密碼,經(jīng)過數(shù)據(jù)庫身份驗(yàn)證,驗(yàn)證成功后登錄系統(tǒng)主頁,可以使用系統(tǒng),管理系統(tǒng)等功能操作。系統(tǒng)流程圖如圖3-1所示:圖3-1系統(tǒng)整體流程圖3.3可行性分析3.3.1技術(shù)上的可行性本系統(tǒng)是基于Android技術(shù)結(jié)合HTML開發(fā)的,后臺數(shù)據(jù)庫的開發(fā)選用MySQL,有效的連接使得該技術(shù)成果的快速實(shí)現(xiàn)。開發(fā)基于Android的點(diǎn)餐系統(tǒng)使用軟硬件環(huán)境非常的簡單,開發(fā)工具主要采用Eclipse,Java語言,Android手機(jī)或Android平板電腦。并且之前有看過類似的高校點(diǎn)餐系統(tǒng)設(shè)計(jì)案例,經(jīng)過查閱學(xué)習(xí),熟悉了開發(fā)流程和運(yùn)用相應(yīng)的開發(fā)技術(shù)。因此高校點(diǎn)餐系統(tǒng)具有一定的可行性。3.3.2經(jīng)濟(jì)上的可行性傳統(tǒng)的高校點(diǎn)餐都是用紙質(zhì)餐單點(diǎn)菜,通常的情況下這種紙質(zhì)的餐單成本時比較昂貴的。有時候會由于菜品的更新,餐店會考慮重新制作。這必然又要投入大量資金。在學(xué)校學(xué)生就餐高峰期,學(xué)生就餐人數(shù)較多,所以必定會投入大量人力。如果開發(fā)基于Android高校點(diǎn)餐系統(tǒng)就會避免這些情況的發(fā)生,會給學(xué)校這些餐店節(jié)省一大筆開銷。因此,經(jīng)濟(jì)上的分析結(jié)論是此項(xiàng)目可進(jìn)行開發(fā)。3.3.3操作上的可行性將點(diǎn)餐系統(tǒng)的客戶端軟件安裝再Android操作系統(tǒng)的智能手機(jī)或平板電腦。學(xué)生作為年輕的消費(fèi)群體是可以很快熟練的掌握操作,也可以在餐廳服務(wù)員的引導(dǎo)下也會輕松掌握。服務(wù)器由餐廳人員管理,因?yàn)楸鞠到y(tǒng)設(shè)計(jì)簡單實(shí)用,操作非常方便,所以員工只要簡單的培訓(xùn)便可掌握好系統(tǒng)的工作流程和操作方法??偠灾诓僮魃鲜欠浅:唵慰尚械?。系統(tǒng)總體設(shè)計(jì)4.1系統(tǒng)設(shè)計(jì)架構(gòu)系統(tǒng)架構(gòu)圖屬于系統(tǒng)設(shè)計(jì)階段,系統(tǒng)架構(gòu)圖只是這個階段一個產(chǎn)物,要正確的、合理的畫系統(tǒng)架構(gòu)圖需要全面的理解用戶需求以及業(yè)務(wù)流程,當(dāng)理解了這些東西后,剩下的就是如何進(jìn)行表達(dá)了,一般而言,可以參照RUP的用例驅(qū)動來進(jìn)行邏輯架構(gòu),開發(fā)架構(gòu)等設(shè)計(jì)工作,系統(tǒng)架構(gòu)圖可以反應(yīng)在各個視圖里面,我估計(jì)你所說的系統(tǒng)架構(gòu)圖是屬于邏輯架構(gòu)里面,比如分多少層,每層分多少模塊等。至于,繪制的工具,有很多很多。在本次系統(tǒng)設(shè)計(jì)中選擇微軟的Visio建模工具。Android客戶端通過網(wǎng)絡(luò)通信訪問后臺服務(wù),后臺采用JDBC訪問數(shù)據(jù)庫。用戶在Android手機(jī)客戶端進(jìn)行操作如訂餐,發(fā)送訂單等與后臺數(shù)據(jù)庫進(jìn)行交互時,首先通過移動通信網(wǎng)絡(luò),采用HTTP協(xié)議把數(shù)據(jù)傳入后臺服務(wù)器中。后臺服務(wù)器通過對數(shù)據(jù)庫的增、刪、改、查操作。數(shù)據(jù)庫,將數(shù)據(jù)顯示給后臺服務(wù)器。后臺服務(wù)器取得數(shù)據(jù)后,將數(shù)據(jù)通過移動無線網(wǎng)絡(luò),采用Http協(xié)議返回給客戶端,完成用戶的操作。本系統(tǒng)的系統(tǒng)構(gòu)架圖如圖4-1所示:Android客戶端Android客戶端數(shù)據(jù)庫Android客戶端Android客戶端數(shù)據(jù)庫圖4-1系統(tǒng)架構(gòu)圖4.2系統(tǒng)數(shù)庫設(shè)計(jì)本系統(tǒng)服務(wù)端采用MySQL數(shù)據(jù)庫,本系統(tǒng)一共5個信息表,主要的表分別是訂餐信息表,餐品信息表、商戶信息表、餐品信息表、用戶信息表。1.訂餐信息表訂餐信息表用戶存放訂餐信息,包括:自動標(biāo)號ID、餐品ID、單價、用戶名、用戶ID、所屬商戶、總價、餐品名稱、商戶ID、狀態(tài)、訂餐電話、送餐地址、備注。訂餐信息表表結(jié)構(gòu)如表4-1所示。表4-1訂餐信息表字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint否是NULLL自動標(biāo)號IDgidsvarchar(50)是否NULLL餐品IDpircevarchar(50)是否NULLL單價uservarchar(50)是否NULLL用戶名uidvarchar(50)是否NULLL用戶IDshopvarchar(50)是否NULLL所屬商戶totalvarchar(50)是否NULLL總價gnamesvarchar(50)是否NULLL餐品名稱sidvarchar(50)是否NULLL商戶IDstatevarchar(50)是否NULLL狀態(tài)telvarchar(51)是否NULLL訂餐電話addressvarchar(52)是否NULLL送餐地址notevarchar(53)是否NULLL備注2.餐品信息表餐品信息表用戶存放餐品信息,包括:自動標(biāo)號ID、餐品名稱、單價、餐品介紹、餐品類型、餐品圖片、數(shù)量、餐品類型ID、所屬店鋪ID、所屬店鋪。餐品信息表表結(jié)構(gòu)如表4-2所示。表4-2餐品信息表字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint否是NULLL自動編號IDgnamevarchar(50)是否NULLL餐品名稱pricevarchar(50)是否NULLL單價notevarchar(50)是否NULLL餐品介紹typevarchar(50)是否NULLL餐品類型imgvarchar(50)是否NULLL餐品圖片countvarchar(50)是否NULLL續(xù)表4-2數(shù)量續(xù)表4-2字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述typeidvarchar(50)是否NULLL餐品類型IDsidvarchar(50)是否NULLL所屬店鋪IDshopvarchar(50)是否NULLL所屬店鋪3.商戶信息表商戶信息表用戶存放商戶信息,包括:自動標(biāo)號ID、商戶名稱、商戶圖片、商戶簡介、商戶地址、商戶電話。商戶信息表表結(jié)構(gòu)如表4.3所示。表4.3商戶信息表字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint否是NULLL自動標(biāo)號IDsnamevarchar(50)是否NULLL商戶名稱imgvarchar(50)是否NULLL商戶圖片notevarchar(50)是否NULLL商戶簡介addressvarchar(50)是否NULLL商戶地址telvarchar(50)是否NULLL商戶電話4.餐品類型信息表餐品類型信息表用戶存放餐品類型信息,包括:自動標(biāo)號ID、類型名稱。餐品類型信息表表結(jié)構(gòu)如表4-4所示。表4-4餐品類型信息表字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint否是NULLL自動標(biāo)號IDnamevarchar(50)是否NULLL類型名稱5.用戶信息表用戶信息表用戶存放用戶信息,包括:自動標(biāo)號ID、用戶名、密碼、用戶類型、郵箱、地址、電話、QQ、簡介、出生日期、性別、頭像、用戶ID。用戶信息表表結(jié)構(gòu)如表4-5所表4-5用戶信息表字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述idint否是NULLL續(xù)表4-5自動編號ID續(xù)表4-5字段名數(shù)據(jù)類型是否為空是否主鍵默認(rèn)值描述usernamevarchar(50)是否NULLL用戶名passwdvarchar(50)是否NULLL密碼roletypevarchar(50)是否NULLL用戶類型emailvarchar(50)是否NULLL郵箱addressvarchar(50)是否NULLL地址telvarchar(50)是否NULLL電話qqvarchar(50)是否NULLLQQwechatvarchar(50)是否NULLL簡介sexvarchar(50)是否NULLL性別birthvarchar(50)是否NULLL出生日期imgvarchar(50)是否NULLL頭像sidvarchar(50)是否NULLL用戶ID4.3系統(tǒng)功能設(shè)計(jì)目標(biāo)本系統(tǒng)設(shè)計(jì)主要是前臺終端有點(diǎn)餐、更新菜單、結(jié)賬、注冊登錄界面。后臺管理員主要負(fù)責(zé)分塊的管理,餐廳管理員只需用瀏覽器就能訪問本系統(tǒng)。點(diǎn)餐系統(tǒng)設(shè)計(jì)目標(biāo)是開發(fā)一個可在Android設(shè)備上操作落座,點(diǎn)餐,訂單管理,并可在Web上對點(diǎn)餐系統(tǒng)等進(jìn)行集中管理和查看的一個點(diǎn)餐系統(tǒng),以實(shí)現(xiàn)點(diǎn)餐電子化,提高點(diǎn)餐效率,且在性能上滿足高峰時段的業(yè)務(wù)要求。本系統(tǒng)設(shè)計(jì)有一下基本的要求:界面非常大氣美觀,吸引用戶具有易調(diào)適性用戶能夠非常清楚查看菜品信息,給用戶一個完美的體驗(yàn)操作方便,簡單易學(xué),功能較完善系統(tǒng)功能圖如圖4-3所示:高校點(diǎn)餐系統(tǒng)高校點(diǎn)餐系統(tǒng)后臺模式前臺模式前臺模式菜譜管理菜譜管理人工服務(wù)管理訂單管理用戶信息管理登錄退出菜譜管理人工服務(wù)管理菜譜管理人工服務(wù)管理訂單管理用戶信息管理登錄退出點(diǎn)餐登錄注冊個人信息點(diǎn)餐登錄注冊個人信息人工服務(wù)我的訂單4.4數(shù)據(jù)模型設(shè)計(jì)數(shù)據(jù)模型是對客觀事物及其聯(lián)系的邏輯組織描述。數(shù)據(jù)(data)是描述事物的符號記錄。模型(Model)是現(xiàn)實(shí)世界的抽象。數(shù)據(jù)模型(DataModel)是數(shù)據(jù)特征的抽象,是數(shù)據(jù)庫管理的教學(xué)形式框架。數(shù)據(jù)庫系統(tǒng)中用以提供信息表示和操作手段的形式構(gòu)架。數(shù)據(jù)模型包括數(shù)據(jù)庫數(shù)據(jù)的結(jié)構(gòu)部分、數(shù)據(jù)庫數(shù)據(jù)的操作部分和數(shù)據(jù)庫數(shù)據(jù)的約束條件。數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類型:分別是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。數(shù)據(jù)模型表述了數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容及其關(guān)聯(lián)方式,體現(xiàn)了數(shù)據(jù)庫的邏輯結(jié)構(gòu)。數(shù)據(jù)模型對于數(shù)據(jù)庫系統(tǒng)很重要,不同的數(shù)據(jù)模型就是用不同的數(shù)據(jù)組織形式來表達(dá)實(shí)體及其聯(lián)系。數(shù)據(jù)模型中的實(shí)體(Entity),也稱為實(shí)例,對應(yīng)現(xiàn)實(shí)世界中可區(qū)別于其他對象的“事件”或“事物”。例如,公司中的每個員工,家里中的每個家具。有些實(shí)體類型可以有幾組屬性充當(dāng)標(biāo)識符,選定其中一組屬性作為實(shí)體類型的主標(biāo)識符,其他的作為次標(biāo)識符。本系統(tǒng)的數(shù)據(jù)模型概念模型圖如圖4-4所示:第五章系統(tǒng)實(shí)現(xiàn)5.1.數(shù)據(jù)庫連接實(shí)現(xiàn)本系統(tǒng)采用Hibernate實(shí)現(xiàn)數(shù)據(jù)庫的實(shí)例化,采用JDBC技術(shù)實(shí)現(xiàn)數(shù)據(jù)連接,實(shí)現(xiàn)數(shù)據(jù)庫連接的主要源碼如下:<beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <propertyname="driverClass"value="org.gjt.mm.mysql.Driver"/> <propertyname="jdbcUrl" value="jdbc:mysql://localhost:3306/diancan?useUnicode=true&characterEncoding=UTF-8"/> <propertyname="user"value="root"/> <propertyname="password"value="123"/> <!--初始化時獲取的連接數(shù),取值應(yīng)在minPoolSize與maxPoolSize之間。Default:3--> <propertyname="initialPoolSize"value="1"/> <!--連接池中保留的最小連接數(shù)。--> </bean><beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <propertyname="driverClass"value="org.gjt.mm.mysql.Driver"/> <propertyname="jdbcUrl" value="jdbc:mysql://localhost:3306/diancan?useUnicode=true&characterEncoding=UTF-8"/> <propertyname="user"value="root"/> <propertyname="password"value="123"/> <!--初始化時獲取的連接數(shù),取值應(yīng)在minPoolSize與maxPoolSize之間。Default:3--> <propertyname="initialPoolSize"value="1"/> <!--連接池中保留的最小連接數(shù)。--> </bean><beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <propertyname="driverClass"value="org.gjt.mm.mysql.Driver"/> <propertyname="jdbcUrl" value="jdbc:mysql://localhost:3306/diancan?useUnicode=true&characterEncoding=UTF-8"/> <propertyname="user"value="root"/> <propertyname="password"value="123"/> <!--初始化時獲取的連接數(shù),取值應(yīng)在minPoolSize與maxPoolSize之間。Default:3--> <propertyname="initialPoolSize"value="1"/> <!--連接池中保留的最小連接數(shù)。--> </bean>5.2用戶登錄實(shí)現(xiàn)創(chuàng)建User.java類,User.java類為用戶信息的實(shí)體類;創(chuàng)建UserAction.java類,UserAction.java類用戶信息的操作類;創(chuàng)建UserService.java類,UserService.java類是用戶信息的服務(wù)類,創(chuàng)建UserServiceImp類,UserServiceImp類是用戶信息操作的服務(wù)類。在UserAction.java類中創(chuàng)建login()方法,login()方法實(shí)現(xiàn)用戶登錄,實(shí)現(xiàn)用戶登錄界面如圖5-1所示。圖5-1用戶登錄界面實(shí)現(xiàn)用戶登錄的login()方法的主要源碼如下: publicvoidlogin(){ Stringusername=request.getParameter("username"); Stringpasswd=request.getParameter("passwd"); Usertu=newUser(); tu.setUsername(username); tu.setPasswd(passwd); Useru=userService.find(tu); if(u!=null){ session.put("usertype",u.getRoletype()); session.put("username",u.getUsername()); render("登錄成功,歡迎您!"+u.getUsername()); }else{ render("用戶名或密碼錯誤!"); } 5.3用戶注冊實(shí)現(xiàn)創(chuàng)建User.java類,User.java類為用戶信息的實(shí)體類;創(chuàng)建UserAction.java類,UserAction.java類用戶信息的操作類;創(chuàng)建UserService.java類,UserService.java類是用戶信息的服務(wù)類,創(chuàng)建UserServiceImp類,UserServiceImp類是用戶信息操作的服務(wù)類。在UserAction.java類中創(chuàng)建add()方法,add()方法實(shí)現(xiàn)用戶注冊,實(shí)現(xiàn)用戶注冊界面如圖5-2所示。圖5-2用戶注冊界面實(shí)現(xiàn)用戶注冊的add()方法的主要源碼如下: publicvoidadd(){ Stringaction=request.getParameter("action"); if(user!=null){ if(action.equals("add")){ userService.save(user); render("操作成功!"); }else{ Stringid=request.getParameter("id"); user.setId(Integer.parseInt(id)); userService.update(user); render("操作成功!"); } } }5.4餐品類型管理實(shí)現(xiàn)創(chuàng)建Type.java類,Type.java類為餐品類型信息的實(shí)體類;創(chuàng)建TypeAction.java類,TypeAction.java類餐品類型信息的操作類;創(chuàng)建TypeService.java類,TypeService.java類是餐品類型信息的服務(wù)類,創(chuàng)建TypeServiceImp類,TypeServiceImp類是餐品類型信息操作的服務(wù)類。餐品類型界面如圖5-3所示。圖5-3餐品類型管理實(shí)現(xiàn)餐品類型管理的主要源碼如下: publicvoidgetTypeList(){ Stringtypename=request.getParameter("sgname"); Stringsort=request.getParameter("sort"); Stringorder=request.getParameter("order"); Pagepage=newPage(); MapparamsMap=newHashMap(); paramsMap.put("typename",typename); paramsMap.put("sort","orderby"+sort+""+order); StringpageNo=(String)this.request.getParameter("page"); StringpageSizes=(String)this.request.getParameter("rows"); if(pageNo==null){ page.setPageSize(10); page.setPageNo(1); }else{ page.setPageSize(Integer.parseInt(pageSizes)); page.setPageNo(Integer.parseInt(pageNo)); } page=typeService.findByPage(page,paramsMap); Gsonjson=newGson(); Map<String,Object>map=newHashMap<String,Object>(); map.put("total",page.getTotal()); map.put("rows",page.getList()); render(json.toJson(map)); }5.5餐品管理實(shí)現(xiàn)創(chuàng)建Goods.java類,Goods.java類為餐品信息的實(shí)體類;創(chuàng)建GoodsAction.java類,GoodsAction.java類餐品信息的操作類;創(chuàng)建GoodsService.java類,GoodsService.java類是餐品信息的服務(wù)類,創(chuàng)建GoodsServiceImp類,GoodsServiceImp類是餐品信息操作的服務(wù)類。餐品管理界面如圖5-4所示。圖5-4餐品管理界面實(shí)現(xiàn)餐品管理的主要源碼如下: publicvoidgetList(){ Stringgoodname=request.getParameter("sgname"); Stringsort=request.getParameter("sort"); Stringorder=request.getParameter("order"); Pagepage=newPage(); MapparamsMap=newHashMap(); paramsMap.put("goodname",goodname); paramsMap.put("sort","orderby"+sort+""+order);Stringroletype=(String)session.get("roletype"); page=goodService.findByPage(page,paramsMap); Gsonjson=newGson(); Map<String,Object>map=newHashMap<String,Object>(); map.put("total",page.getTotal()); map.put("rows",page.getList()); render(json.toJson(map)); }5.6商戶管理實(shí)現(xiàn)創(chuàng)建Shop.java類,Shop.java類為商戶信息的實(shí)體類;創(chuàng)建ShopAction.java類,ShopAction.java類商戶信息的操作類;創(chuàng)建ShopService.java類,ShopService.java類是商戶信息的服務(wù)類,創(chuàng)建ShopServiceImp類,ShopServiceImp類是商戶信息操作的服務(wù)類。商戶管理界面如圖5-5所示。圖5-5商戶管理界面publicvoidgetList(){ Stringshopname=request.getParameter("sname"); Stringsort=request.getParameter("sort"); Stringorder=request.getParameter("order"); Pagepage=newPage(); MapparamsMap=newHashMap(); paramsMap.put("shopname",shopname); paramsMap.put("sort","orderby"+sort+""+order); StringpageNo=(String)this.request.getParameter("page"); StringpageSizes=(String)this.request.getParameter("rows"); if(pageNo==null){ page.setPageSize(10); page.setPageNo(1); }else{ page.setPageSize(Integer.parseInt(pageSizes)); page.setPageNo(Integer.parseInt(pageNo)); } page=shopService.findByPage(page,paramsMap); Gsonjson=newGson(); Map<String,Object>map=newHashMap<String,Object>(); map.put("total",page.getTotal()); map.put("rows",page.getList()); render(json.toJson(map)); }5.7訂餐管理實(shí)現(xiàn)創(chuàng)建Bill.java類,Bill.java類為訂餐信息的實(shí)體類;創(chuàng)建BillAction.java類,BillAction.java類訂餐信息的操作類;創(chuàng)建BillService.java類,BillService.java類是訂餐信息的服務(wù)類,創(chuàng)建BillServiceImp類,BillServiceImp類是訂餐信息操作的服務(wù)類。訂餐管理界面如圖5-7所示。圖5-7訂餐管理界面實(shí)現(xiàn)訂餐管理的主要源碼如下:publicinterfaceBill
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)店美工試題庫及參考答案
- 吉林省長春市寬城區(qū)2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 養(yǎng)老院老人心理咨詢師激勵制度
- 養(yǎng)老院老人康復(fù)理療服務(wù)質(zhì)量管理制度
- 《付出總有收獲》課件
- 《VFP系統(tǒng)準(zhǔn)備》課件
- 房屋預(yù)售合同(2篇)
- 2024年特色農(nóng)產(chǎn)品種植配套農(nóng)機(jī)采購合同2篇
- 《生命的延續(xù)》課件
- 2025年黃山b2貨運(yùn)資格證多少道題
- 生命科學(xué)前沿技術(shù)智慧樹知到答案章節(jié)測試2023年蘇州大學(xué)
- 2023屆高考英語一輪復(fù)習(xí) 語法填空:人物傳記類 專項(xiàng)練習(xí)10篇有答案
- 年5萬噸含錫廢料綜合回收再生利用項(xiàng)目環(huán)評報(bào)告
- 危險(xiǎn)性較大的分部分項(xiàng)工程施工前安全生產(chǎn)條件核查表
- 2023年小學(xué)英語六年級英語英語王杯競賽試題
- 2023年四年級語文競賽小學(xué)四年級語文競賽試題雙版
- JJG 882-2019壓力變送器
- GM/T 0003.2-2012SM2橢圓曲線公鑰密碼算法第2部分:數(shù)字簽名算法
- GB/T 7286.2-1987金屬與非金屬材料光譜法向發(fā)射率試驗(yàn)方法
- GB/T 35414-2017高原地區(qū)室內(nèi)空間彌散供氧(氧調(diào))要求
- GB/T 28426-2021鐵路大型養(yǎng)路機(jī)械鋼軌探傷車
評論
0/150
提交評論