基于Android平臺的點餐系統(tǒng)設計畢業(yè)論文.doc_第1頁
基于Android平臺的點餐系統(tǒng)設計畢業(yè)論文.doc_第2頁
基于Android平臺的點餐系統(tǒng)設計畢業(yè)論文.doc_第3頁
基于Android平臺的點餐系統(tǒng)設計畢業(yè)論文.doc_第4頁
基于Android平臺的點餐系統(tǒng)設計畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

changzhou institute of technology畢業(yè)設計說明書題目: 基于android平臺的點餐系統(tǒng)設計 二級學院: 計算機信息工程學院 專 業(yè): 計算機科學與技術 班級: 學生姓名: 學號: 指導教師: 職稱: 評閱教師: 職稱: 2014 年 6 月 摘要摘要 智能手機的普及已經(jīng)使得它的觸角伸向了人們生活中的方方面面:聊天,購物,信息查詢以及娛樂,體現(xiàn)出了取代個人電腦的態(tài)勢。目前android操作系統(tǒng)占據(jù)著智能手機60%的份額,并且呈不斷上升的趨勢,在這種情況下大量開發(fā)人員開始研發(fā)基于android平臺的應用程序,這些應用程序更加地豐富了人們的移動生活。 各行各業(yè)都在積極地向信息科技靠攏,餐飲業(yè)也不例外,傳統(tǒng)的點菜方式是純人工操作,容易出錯并且效率低下。本系統(tǒng)克服了這些缺點,用戶可以使用android手機進行在線點餐,查看菜單,提交訂單,訂單信息直接傳給后臺,后臺收到確認信息后進行相關服務,信息準確又便攜,而且android手機價格也相對便宜。本文先對android操作系統(tǒng)進行了詳細的分析,本系統(tǒng)軟件設計主要用到android應用層框架知識。然后進行需求分析,對點餐流程和功能模塊進行了分析。接著對功能模塊詳細設計,數(shù)據(jù)庫設計,并用uml模型工具畫了相關圖進行展示。最后對本系統(tǒng)進行了系統(tǒng)環(huán)境搭建和軟件測試。關鍵詞: 點餐;智能手機;android;便攜設備abstarctabstractthe popularity of smart phones have made it into every aspect of life: chatting, shopping, information query, and entertainment, and reflects the instead of the personal computer. android now occupy 60% share of the smartphone operating system, and the rising trend, in this case, a large number of developers began to develop applications based on android platform, the application more enriched peoples mobile life.all walks of life are actively to the information technology, the restaurant industry is no exception, traditional way of order is pure manual operation, prone to errors and low efficiency. this system overcomes these shortcomings, the user can use the android mobile phone online order, see the menu, submit orders, order information directly to the background, the background after receiving the confirmation for related services, information accurate and portable, and android mobile phone price is relatively cheap.the article first analyze the android operating system in detail. this system software design mainly use the knowledge of android application layer framework . then demand analysis, the order process and function modules are analyzed. then the detailed design of function module, database design, using uml modeling tools to draw relevant chart to display. finally we carried on the system environment of this system and software testing.keywords: order food;intelligent phone; android;online 目錄目錄第1章 緒論11.1課題研究背景及意義11.2課題可行性分析21.3論文框架安排3第2章 開發(fā)語言及框架介紹52.1 開發(fā)工具及環(huán)境52.2 android系統(tǒng)72.3應用框架9第3章 開發(fā)環(huán)境搭建113.1 搭建android開發(fā)環(huán)境113.2 jsp 開發(fā)環(huán)境搭建13第4章 系統(tǒng)需求分析174.1 功能需求分析174.1.1用例分析174.1.2點餐業(yè)務流程:184.1.3點餐系統(tǒng)模塊:18第5章 系統(tǒng)概要設計215.1結構設計215.1.1客戶端結構設計215.1.2 服務器端結構設計265.2服務端數(shù)據(jù)庫設計27第6章 系統(tǒng)詳細設計316.1 客戶端模塊詳細設計316.1.1客戶端登陸注冊模塊316.1.2客戶端點餐模塊316.1.3客戶端選座位模塊326.1.4查看訂單336.2服務器端模塊詳細設計336.2.1管理員登錄346.2.2菜譜管理346.2.3用戶管理356.2.4訂單管理356.2.5分組管理356.2.6餐桌管理35第7章 系統(tǒng)實現(xiàn)377.1客戶端系統(tǒng)實現(xiàn)377.1.1 登錄模塊實現(xiàn)377.1.2 菜譜模塊實現(xiàn)387.1.3選菜407.1.4選擇座位407.1.5底部菜單欄427.1.6修改密碼427.1.7查看訂單427.1.8取消訂單437.2服務器端系統(tǒng)實現(xiàn)437.2.1系統(tǒng)管理員登陸437.2.2菜單管理447.2.3用戶管理447.2.4訂單管理457.2.5分組管理457.2.6座位管理46第8章 總結與展望47致 謝49參考文獻51i第1章 緒論第1章 緒論1.1課題研究背景及意義智能手機的普及已經(jīng)使得它的觸角伸向了人們生活中的方方面面:聊天,購物,信息查詢以及娛樂,體現(xiàn)出了取代個人電腦的態(tài)勢。目前android操作系統(tǒng)占據(jù)著智能手機60%的份額,并且呈不斷上升的趨勢,在這種情況下大量開發(fā)人員開始研發(fā)基于android平臺的應用程序,這些應用程序更加地豐富了人們的移動生活。 今天我們生活在充滿數(shù)字的時代,隨著gprs、cdma1x、藍牙、wlan等無線技術的突飛猛進,移動生活、移動辦公逐漸由概念轉為現(xiàn)實,信息數(shù)據(jù)隨手可及。對于傳統(tǒng)的餐飲業(yè)而言,也在潛移默化中感受到無線網(wǎng)絡的無窮魅力。android是一種基于linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由google公司和開放手機聯(lián)盟領導及開發(fā)。2013年的第四季度,android平臺手機的全球市場份額已經(jīng)達到78.1%。2013年09月24日,谷歌開發(fā)的操作系統(tǒng)android在迎來了5歲生日,全世界采用這款系統(tǒng)的設備數(shù)量已經(jīng)達到10億臺。android平臺是一個面向大眾的系統(tǒng),分布在低端,中端和高端市場中,在各個階段的是市場中都有很受歡迎的機型,并且android是開源的,開發(fā)者隨時都可以查看系統(tǒng)源代碼,并且使用時下最流行的java作為其主要的開發(fā)語言。由于這些特點,使得android成為現(xiàn)在市場占有量最大的軟件平臺,在這樣的平臺上面開發(fā)一款獨特的日常生活軟件尤為必要的。各行各業(yè)都在積極地向信息科技靠攏,餐飲業(yè)也不例外下面,餐飲傳統(tǒng)的點菜方式是純人工操作,由服務員記錄顧客點的菜,其單據(jù)一式四聯(lián)。第一聯(lián):送到吧臺,用于為顧客準備酒水。顧客用完餐后,用于統(tǒng)計顧客的總消費。第二聯(lián):送廚房傳菜員,用于為顧客送菜,送一道菜后,在該項上畫勾第三聯(lián):送廚房配菜員,用于配菜第四聯(lián):顧客保留。服務員上完一道菜后,在該項上畫一對勾以免發(fā)生錯菜漏菜的情況。同時可以方便用戶檢查結算結果是否正確上述管理方式雖然很嚴謹?shù)源嬖谝恍┍锥耍缛斯鬟f浪費時間,效率低下,直接影響了翻臺率;經(jīng)營大規(guī)模菜系時單據(jù)多、信息量大,而分單、傳菜等環(huán)節(jié)經(jīng)過的人越多越容易出問題。因而直接影響了服務質量;統(tǒng)計營業(yè)額時只能采用手工的方式,財務無法保證有效的監(jiān)督管理機制。在具體工作中還容易出現(xiàn)以下問題:手寫單據(jù)字跡潦草從而導致上錯菜、傳菜分單出錯現(xiàn)象嚴重、加菜和查賬程序較繁瑣。處理特殊口味有遺漏和偏差、客人催菜遺忘現(xiàn)象較頻繁、計算賬單易出錯、不方便人員管理等等。這些問題雖說都不是很大,但卻或多或少地限制了各餐飲企業(yè)的進一步壯大和發(fā)展。正因如此,無線點餐模式應運而生。它不僅可以有效地提高餐飲業(yè)的工作效率,更可以規(guī)范服務體系,提高整體服務質量和管理水平,并為規(guī)模化經(jīng)營提供了堅實的技術基礎。1.2課題可行性分析可行性研究的目的,就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。系統(tǒng)的可行性分析主要包括經(jīng)濟上的可行性,技術上的可行性,操作上的可行性和法律上的可行性。1.經(jīng)濟可行性該款基于android系統(tǒng) 的無線點餐系統(tǒng),點餐過程無需工作人員干涉,可為顧客提供一 種寬松的點餐環(huán)境,同時可為餐廳節(jié)約人力成本,實現(xiàn)點餐的 流程化。與傳統(tǒng)的點菜方式相比,基于android平臺的點餐系統(tǒng)有許多的優(yōu)勢。具體表現(xiàn)在如下幾個方面:(1)降低運營成本:整個點菜過程不需要服務員的參與,可由客戶自行完成,餐廳可根據(jù)需求適當縮減工作人員規(guī)模,從而有助于降低餐廳的運營成本。(2)提高工作效率:數(shù)據(jù)統(tǒng)計,通過app點菜付錢,每位客人店內平均少停留15分鐘左右?!眱?yōu)先點菜副總裁許文杰告訴記者,對于消費者,這樣點菜環(huán)節(jié)更透明化,等待排隊的時間也不會那么難熬;對于餐廳,這能提高翻桌率;(3)降低出錯率:傳統(tǒng)方式均由客戶點菜,服務員進行記錄再傳送到前臺進行下單,該過程極其容易出錯,經(jīng)常出現(xiàn)點菜錯誤的情況,而基于android平臺的點餐系統(tǒng)的點菜過程為顧客選擇,服務員下單,基本不會出現(xiàn)點菜錯誤的清況。(4)可滿足客戶的各種需求,有助于提高餐廳的品牌形象:基于android平臺的點餐系統(tǒng)可滿足不同客戶的需求,對于不愿意進行自助點餐的客戶,服務員可通過在自己手機上安裝點餐系統(tǒng)來協(xié)助客戶完成點餐。同時基于android平臺的點餐系統(tǒng)的應用,會吸引更多的年輕客戶來餐廳進行消費。目標系統(tǒng)開發(fā)經(jīng)濟需求的比較低,加上具有成熟的android平臺以及十分普及手機設備,所以在軟硬件的支出上十分有限。而且,目標系統(tǒng)并是十分的復雜,開發(fā)的周期較短,人員經(jīng)濟支出有限。當系統(tǒng)開發(fā)成后,通過測試和、試運行和實際應用后,將很大程度上提高手機管理軟件系統(tǒng)的科學性和高效性,在為人們帶來便利的同時,也為系統(tǒng)的進一步推廣、創(chuàng)新創(chuàng)造了條件,這帶來的經(jīng)濟回報將遠超過支出,并且最重要的一點是通過該系統(tǒng)的開發(fā),可以使我們進一步理解軟件工程思想和軟件開發(fā)流程,為從事軟件開發(fā)工作打下很好的基礎,從長遠利益來考慮,本課題的設計開發(fā)還是具有相當大的經(jīng)濟可行性的。2.技術可行性本系統(tǒng)使用android技術進行開發(fā),發(fā)展到現(xiàn)在,android已經(jīng)算是一個較成熟的平臺了,現(xiàn)在有越來越多的企業(yè)及技術人員選擇它作為開發(fā)平臺。因此,在技術上是完全可以勝任這個平臺的開發(fā)。android開發(fā)平臺是由谷歌與開放手機聯(lián)盟合作開發(fā)的一個開放、自由的移動終端平臺,它由操作系統(tǒng)、中間件、應用軟件三部分組成。該平臺備有完善的程序開發(fā)環(huán)境,包括模擬器、除錯工具、程序執(zhí)行所耗用存儲器、性能評介等功能。3.操作可行性本系統(tǒng)用戶只要有一臺android手機,就可以使用了,系統(tǒng)是由的操作都是用戶熟悉的選擇框或者按鈕等等。所有的操作通過手機就可以完成,用戶不需培訓,只要稍微提示一下即可。因此,在操作使用上,本系統(tǒng)簡單、方便,易于使用戶接受,因而是十分可行的。4.法律可行性由于本系統(tǒng)是在相關法律法規(guī)下實施完成的,所以不存在任何法律問題,在法律上是完全可行的。綜合考慮經(jīng)濟、技術、操作和法律等方面的因素,該手機軟件管理系統(tǒng)可以開始進行。1.3論文框架安排本文詳細介紹了基于android點餐系統(tǒng)的設計實現(xiàn)全過程。從開始到程序設計的實現(xiàn),將在一下的幾章中予以介紹:第1章 緒論,這一章主要是對本次畢業(yè)設計所開發(fā)的系統(tǒng)進行問題的定義,通過問題的定義明白需要做些什么,并且對開發(fā)內容簡單的介紹了一下;同時本章還對課題的研究背景與研究意義進行分析,對開發(fā)本系統(tǒng)的可行性分析還有對論文各章內容的簡要介紹。第2章 開發(fā)語言介紹,對涉及到的理論知識和用到的開發(fā)工具做相關闡述。第3章 搭建android開發(fā)環(huán)境,包括客戶端和服務器端開發(fā)環(huán)境搭建。第4章 點餐系統(tǒng)需求分析,對點餐功能進行了需求分析,包括點餐流程,和需要的功能模塊。第5章 系統(tǒng)概要設計,先分析了系統(tǒng)的物理架構,主要介紹了本系統(tǒng)的整個設計過程、設計思路。第6章 點餐系統(tǒng)詳細設計,主要介紹了本系統(tǒng)客戶端和服務器端功能模塊的詳細設計。第7章 系統(tǒng)實現(xiàn)與測試,主要對系統(tǒng)功能進行了軟件測試,同時也介紹了測試在軟件開發(fā)環(huán)節(jié)中的重要性和給出本系統(tǒng)的測試過程與結論。第8章 總結與展望,總結了近兩三個月的做畢業(yè)設計過程中的一些心得和體會,最后做了展望。最后:致謝、參考文獻。51計算機信息工程學院畢業(yè)設計說明書第2章 開發(fā)語言及框架介紹第2章 開發(fā)語言及框架介紹本章主要介紹了本系統(tǒng)的開發(fā)環(huán)境和用到的一些工具,并且對android操作系統(tǒng)進行了結構化分析。2.1 開發(fā)工具及環(huán)境1.eclipseeclipse是一個開放源代碼的、基于java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,eclipse 附帶了一個標準的插件集,包括java開發(fā)工具(java development kit,jdk)。eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(ide)。最初主要用來java開發(fā),通過安裝不同的插件eclipse可以支持不同的計算機語言,比如c+和python等開發(fā)工具。eclipse的本身只是一個框架平臺,但是眾多插件的支持使得eclipse擁有其他功能相對固定的ide軟件很難具有的靈活性。許多軟件開發(fā)商以eclipse為框架開發(fā)自己的ide。2.myeclipsemyeclipse,是在eclipse基礎上 加上自己的插件。myeclipse企業(yè)級工作平臺,是對eclipseide的擴展,利用它我們可以在數(shù)據(jù)庫及javaee的開發(fā)、發(fā)布以及應用程序服務器整合方面極大的提高工作效率。它是功能豐富的javaee集成開發(fā)環(huán)境,包括完備的編碼、調試、測試和發(fā)布功能,完整支持html,jsp,struts,css,javascript,sql,spring,hibernate。myeclipse 是一個十分優(yōu)秀的用于開發(fā)java、j2ee的 eclipse 插件集合,myeclipse的功能非常強大,支持十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。myeclipse目前支持java servlet, jsf,ajax, jsp, struts,spring, ejb3,hibernate,jdbc數(shù)據(jù)庫鏈接工具等多項功能??梢哉fmyeclipse幾乎是囊括了目前所有主流開源產(chǎn)品專屬的eclipse開發(fā)工具。3. mysqlmysql是一個關系型數(shù)據(jù)庫管理系統(tǒng),由瑞典mysqlab公司開發(fā),目前屬于oracle公司。mysql是最流行的關系型數(shù)據(jù)庫管理系統(tǒng),在web應用方面mysql是最好的rdbms(relational database management system:關系數(shù)據(jù)庫管理系統(tǒng))應用軟件之一。mysql是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內,這樣就增加了速度并提高了靈活性。mysql所使用的sql語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。mysql軟件采用了雙授權政策(本詞條“授權政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇mysql作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配php和apache可組成良好的開發(fā)環(huán)境。4 .adt目前android開發(fā)所用的開發(fā)工具是eclipse,在eclipse編譯ide環(huán)境中,安裝adt,為android開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在eclipse下開發(fā)工具的升級下載工具。5. android sdksdk:(software development kit)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應用軟件的開發(fā)工具的集合。因此,android sdk 指的既是android專屬的軟件開發(fā)工具包。6. tomcattomcat 服務器是一個免費的開放源代碼的web 應用服務器,屬于輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試jsp 程序的首選。7.jsonjson(javascript object notation) 是一種輕量級的數(shù)據(jù)交換格式。它基于javascript(standard ecma-262 3rd edition - december 1999)的一個子集。 json采用完全獨立于語言的文本格式,但是也使用了類似于c語言家族的習慣(包括c, c+, c#, java, javascript, perl, python等)。這些特性使json成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。8.hibernatehibernate是個開發(fā)源代碼的對象關系映射框架,對jdbc進行了非常輕量級的對象封裝,可以讓程序員非常方便的操縱數(shù)據(jù)庫。hibernate可以應用在任何使用jdbc的場合,既可以在java的客戶端程序實用,也可以在servlet/jsp的web應用中使用,最具革命意義的是,hibernate可以在應用ejb的j2ee架構中取代cmp,完成數(shù)據(jù)持久化的重任。優(yōu)點:a. hibernate 使用 java 反射機制 而不是字節(jié)碼增強程序來實現(xiàn)透明性。b.hibernate 的性能非常好,因為它是個輕量級框架。 映射的靈活性很出色。c. 它支持各種關系數(shù)據(jù)庫,從一對一到多對多的各種復雜關系。缺點:a.它限制您所使用的對象模型。(例如,一個持久性類不能映射到多個表)其獨有的界面和可憐的市場份額也讓人不安,盡管如此,hibernate 還是以其強大的發(fā)展動力減輕了這些風險。其他的開源持久性框架也有一些,不過都沒有 hibernate 這樣有市場沖擊力9.jdk1.7jdk是java語言的軟件工具開發(fā)包,jdk包含的基本組件包括:(1).javac 編譯器,可以將源程序轉成字節(jié)碼(2).jar 打包工具,可以將相關的類文件打包成一個文件(3).javadoc 文檔生成器,可從源碼注釋中提取文檔(4).jdb debugger,一個查錯工具(5).java 運行編譯后的java程序(以.class后綴的)(6).appletviewer:程序瀏覽器,執(zhí)行html文件上的java小程序的java瀏覽器。(7).javah:產(chǎn)生的可以調用java過程的c過程,或者建立能被java程序調用的c過程的頭文件。(8).javap:java的反匯編器,顯示編譯類文件中的可訪問功能和數(shù)據(jù),也可顯示字節(jié)代碼含義。(9).jconsole: java進行系統(tǒng)調試及監(jiān)控的工具2.2 android系統(tǒng)android一詞的本義指“robot”,同時也是google于2007年11月5日宣布的基于linux平臺的開源手機操作系統(tǒng)的別名,該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成,號稱是首個為了移動終端打造的真正開放和完整的移動軟件。 android是基于linux內核的軟件平臺和操作系統(tǒng)早期由google開發(fā)在華注冊商標名為“安致”,后由開放手機聯(lián)盟open handset alliance開發(fā)。采用了軟件堆層software stack,又名以軟件疊層的架構,大致分為三部分。低層以linux內核工作為基礎,只提供基本功能,其他的應用軟件則由各公司自行開發(fā),以java作為編寫程序的一部分。另外為了推廣此技術,google和其它幾十個手機公司建立了開放手機聯(lián)盟。android在未公開之前常被傳聞為google電話或gphone。大多傳聞認為google開發(fā)的是自己的手機電話產(chǎn)品,而不是一套軟件平臺。到了2010年1月,google開始發(fā)表自家品牌手機電話的nexus one,目前最新sdk版本為android 4.0.3。 android的系統(tǒng)架構和其操作系統(tǒng)一樣,采用了分層的架構。圖2-1 系統(tǒng)結構圖從架構圖看,android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統(tǒng)運行庫層和linux內核層。1.應用程序android會同一系列核心應用程序包一起發(fā)布,該應用程序包包括客戶端,sms短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應用程序都是使用java語言編寫的。2.應用程序框架開發(fā)人員也可以完全訪問核心應用程序所使用的api框架。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發(fā)布它的功能塊并且任何其它的應用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。隱藏在每個應用后面的是一系列的服務和系統(tǒng), 其中包括;豐富而又可擴展的視圖(views),可以用來構建應用程序, 它包括列表(lists),網(wǎng)格(grids),文本框(text boxes),按鈕(buttons), 甚至可嵌入的web瀏覽器。內容提供器(content providers)使得應用程序可以訪問另一個應用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或者共享它們自己的數(shù)據(jù)資源管理器(resource manager)提供 非代碼資源的訪問,如本地字符串,圖形,和布局文件(layout files )。通知管理器 (notification manager) 使得應用程序 可以在狀態(tài)欄中顯示自定義的提示信息?;顒庸芾砥鳎?activity manager) 用來管理應用程序生命周期并提供常用的導航回退功能。系統(tǒng)運行庫android 包含一些c/c+庫,這些庫能被android系統(tǒng)中不同的組件使用。它們通過 android 應用程序框架為開發(fā)者提供服務。以下是一些核心庫:* 系統(tǒng) c 庫 - 一個從bsd繼承來的標準c系統(tǒng)函數(shù)庫 libc ), 它是專門為基于embedded linux的設備定制的。2.3應用框架hibernate是一個開放源代碼對象關系的映射框架,它對jdbc進行了非常輕量級的對象封裝,這樣java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。hibernate的核心接口總共有6個,分別為:session、sessionfactory、query、transaction、criteria和configuration。這6個核心接口在任何開發(fā)中都會用到。通過這些接口,既可以對持久化對象進行存取,又能夠進行事務控制。計算機信息工程學院畢業(yè)設計說明書第3章 開發(fā)環(huán)境搭建第3章 開發(fā)環(huán)境搭建3.1 搭建android開發(fā)環(huán)境任何事物要運行,都要有它的環(huán)境,android也有它的環(huán)境才能夠運行,下面介紹android的開發(fā)環(huán)境配置。搭建開發(fā)環(huán)境需要的軟件:1) 操作系統(tǒng):window xp或linux2) 軟件包:android sdk(software development kit java development kit) 、adt(android develoopment tool)3) ide環(huán)境:eclipse ide+adt eclipse3.3以上4) jdk:java runtime environment虛擬機 、(jdk)java development kit安裝步驟如下:第一步:安裝java虛擬機sun-java6-jdk版本。第二步:安裝eclipse工具,到官網(wǎng)/downloads/,選擇版本下載后進行安裝。eclipse工具的版本如圖3-1所示:圖3-1 eclipse工具的版本圖第三步:安裝android sdk:首先要下載sdk,可以在這個網(wǎng)址下載http:/developer.a/sdk ,選擇相應的系統(tǒng)進行安裝。sdk下載的地址圖如圖3-2所示:圖3-2 sdk下載的地址圖第四步:安裝android adt插件。運行eclipse,選擇help-install new software 選擇add,將會彈出一個【add site】對話框?!綼dd site】對話框如圖3-3:圖3-3 【add site】對話框圖點擊ok,選擇要安裝的軟件,占next,然后選擇接受協(xié)議,直到安裝成功,重啟eclipse軟件,設置android sdk home,window-refrence。設置android sdk home界面如圖3-4所示:圖3-4 設置android sdk home界面圖在sdk location中輸入sdk tools路d:androidsoftwareandroid-sdk-windows 點擊ok,這樣android環(huán)境就已經(jīng)搭建成功了。3.2 jsp 開發(fā)環(huán)境搭建jsp開發(fā)環(huán)境是您用來開發(fā)、測試和運行jsp程序的地方。具體包括以下幾個步驟。1.配置java開發(fā)工具(jdk)這一步涉及java sdk的下載和path環(huán)境變量的配置。可以從oracle公司的java頁面中下載sdk。java sdk下載完后,請按照給定的指示來安裝和配置sdk。最后,通過設置path和java_home環(huán)境變量來指明包括java和javac的文件夾路徑,通常是java_install_dir/bin和java_install_dir。假如您用的是windows系統(tǒng)并且sdk的安裝目錄為c:jdk1.5.0_20,那么您就需要在 c:autoexec.bat 文件中添加以下兩行: set path=c:jdk1.5.0_20bin;%path%set java_home=c:jdk1.5.0_20或者,在windows nt/2000/xp下,您可以直接右擊我的電腦圖標,選擇屬性,然后高級,然后環(huán)境變量,接下來您就可以很方便地設置path變量并且確定退出就行了。在linux/unix系統(tǒng)下,如果sdk的安裝目錄為/usr/local/jdk1.5.0_20并且使用的是c shell,那么您就需要在.cshrc文件中添加以下兩行: setenv path /usr/local/jdk1.5.0_20/bin:$pathsetenv java_home /usr/local/jdk1.5.0_20或者,假如您正在使用類似于borland jbuilder、eclipse、intellij idea和sun one studio這樣的集成開發(fā)環(huán)境,可以試著編譯并運行一個簡單的程序來確定ide(集成開發(fā)環(huán)境)是否已經(jīng)知道 sdk的安裝目錄。環(huán)境測試:圖3-5 jdk安裝測試圖2.設置web服務器:tomcat目前,市場上有很多支持jsp和servlets開發(fā)的web服務器。他們中的一些可以免費下載和使用,tomcat就是其中之一。apache tomcat是一個開源軟件,可作為獨立的服務器來運行jsp和servlets,也可以集成在 apache web server中。以下是tomcat的配置方法:下載最新版本的tomcat:/。下載完安裝文件后,將壓縮文件解壓到一個方便的地方,比如windows下的c:apache-tomcat-5.5.29目錄或者linux/unix下的/usr/local/apache-tomcat-5.5.29目錄,然后創(chuàng)建catalina_home環(huán)境變量指向這些目錄。在windows機器下,tomcat可以通過執(zhí)行以下命令來啟動:%catalina_home%binstartup.bat,或者c:apache-tomcat-5.5.29binstartup.bat。在linux/unix機器下,tomcat可以通過執(zhí)行以下命令來啟動:$catalina_home/bin/startup.sh或者 /usr/local/apache-tomcat-5.5.29/bin/startup.sh成功啟動tomcat后,通過訪問http:/localhost:8080/便可以使用tomcat自帶的一些web應用了。假如一切順利的話,您應該能夠看到以下的頁面:圖3-6 tomcat登錄界面設置classpath環(huán)境變量由于servlets不是java se的一部分,所以您必須標示出servlet類的編譯器。假如您用的是windows機器,您需要在c:autoexec.bat文件中添加以下兩行: set catalina=c:apache-tomcat-5.5.29 set classpath=%catalina%commonlibjsp-api.jar;%classpath%或者,在windows nt/2000/xp下,您只要右擊我的電腦,選擇屬性,然后點擊高級,然后點擊環(huán)境變量,接下來便可以設置classpath變量并且確定退出即可。在linux/unix機器下,假如您使用的是c shell,那么您就需要在.cshrc文件中添加以下兩行: setenv catalina=/usr/local/apache-tomcat-5.5.29setenv classpath $catalina/common/lib/jsp-api.jar:$classpath注意:如果您的開發(fā)路徑是c:jspdev (windows)或者 /usr/jspdev (linux/unix),那么您就需要將這些路徑添加進classpath變量中。第4章 系統(tǒng)需求分析第4章 系統(tǒng)需求分析本章主要分析了系統(tǒng)要實現(xiàn)的功能和相關模塊,采用了一些用例圖,活動圖和流程圖來說明。系統(tǒng)分析中明確了要做什么,怎么去做。4.1 功能需求分析點餐系統(tǒng)的功能分析,先從用例分析入手,找出客戶和管理員,然后根據(jù)管理員和客戶出發(fā),分析系統(tǒng)的業(yè)務流程和系統(tǒng)模塊。4.1.1用例分析在本點餐系統(tǒng)中劃分了兩個角色,顧客和服務員,顧客操作客戶端部分服務員負責操作后臺管理端。顧客擁有客戶端功能模塊的相關權限,服務員有后臺管理端的相關權限,具體權限參照功能模塊分析。下面給出客戶端和管理端用例圖。1.客戶端圖4-1 客戶端用例圖2. 服務器端圖4-2 服務器端用例圖4.1.2點餐業(yè)務流程: 用戶要先安裝該app點餐軟件,沒有注冊的要先注冊,注冊成功后登錄,輸入賬號和密碼進入菜單列表,點擊菜品詳情進入選座位,然后下單,查看菜單。點餐活動圖如圖4-3所示,圖4-3 客戶端點餐活動圖4.1.3點餐系統(tǒng)模塊: (1)客戶端功能模塊:1. 會員注冊登錄模塊:用戶使用系統(tǒng)時需要先登錄,沒有賬號的話可以注冊,然后登錄使用。2. 點餐界面:點餐界面有菜品圖文列表。3.菜品搜索:用戶可以輸入關鍵字查詢想要的菜品。4.查看菜品詳情:用戶點擊菜單列表即可查看菜品詳情,并點菜。5.餐桌查詢:用戶可以查詢剩余餐桌,選擇餐桌6.菜單修改:修改購物車中的已選菜品,7.修改密碼8.退出(2)服務器端功能模塊介紹1.管理員登陸2.菜單界面展示及修改(增加,刪除修改)3.用戶信息管理4.訂單管理5.餐桌管理6.退出計算機信息工程學院畢業(yè)設計說明書第5章 系統(tǒng)概要設計第5章 系統(tǒng)概要設計本章將介紹android點餐系統(tǒng)客戶端和服務器端的模塊分析,先分析了系統(tǒng)的物理架構,接著分析系統(tǒng)的工作流程和功能模塊。5.1結構設計整個程序分為客戶端和服務端兩部分,客戶端基于android系統(tǒng),服務端采用servlet提供服務,后臺使用mysql數(shù)據(jù)庫。在整個系統(tǒng)中,客戶端負責采集數(shù)據(jù)和顯示的工作,對于客戶的輸入,輸入端會將信息發(fā)送至服務端的servlet上,servlet接收信息之后,會對數(shù)據(jù)庫進行相關的操作,并將結果發(fā)送回客戶端,客戶端再進行處理,從中得到結果。android在線點餐系統(tǒng),系統(tǒng)采用c/s模式,采用c/s架構,即客戶端/服務器模式。要選擇適當?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn),有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務器在線運行。系統(tǒng)的數(shù)據(jù)交換流程圖為:用戶客戶端服務器端數(shù)據(jù)庫操作 請求數(shù)據(jù) 提供數(shù)據(jù) 顯示界面返回數(shù)據(jù) 數(shù)據(jù)更新 json 圖5-1 數(shù)據(jù)交換圖5.1.1客戶端結構設計客戶端點餐流程圖,如圖5-2所示 圖5-2 客戶端業(yè)務流程圖客戶端一方面與用戶交互,提供良好的用戶界面,另一方面與服務器端進行數(shù)據(jù)交換。服務器端向客戶端提供數(shù)據(jù)下載、數(shù)據(jù)上傳接口以交換數(shù)據(jù)。管理員可對數(shù)據(jù)進行刪除、添加、控制等操作。客戶端與服務器端通過http協(xié)議進行json數(shù)據(jù)交換。android客戶端通過http協(xié)議網(wǎng)絡編程訪問數(shù)據(jù)庫,后臺通過jdbc訪問數(shù)據(jù)庫這里涉及android客戶端的數(shù)據(jù)和服務器端數(shù)據(jù)同步問題??蛻舳撕头掌鞫说臄?shù)據(jù)交換流圖如圖5-3所示圖5-3 客戶端和服務器端數(shù)據(jù)交換流圖客戶端包圖設計:左邊是客戶端界面activity,右邊為工具包 圖5-4 客戶端包圖客戶端類圖設計dishes類,圖5-5 dishes類圖訂單類orders圖5-6 orders類圖5.1.2 服務器端結構設計本系統(tǒng)服務端模塊包含兩個功能,第一個是為客戶端提供數(shù)據(jù)服務接口,客戶端調用服務端的接口來獲取數(shù)據(jù)庫當中的菜譜、訂單等各類信息,然后顯示在客戶端界面上。服務端還有另外一個功能就是實現(xiàn)數(shù)據(jù)的動態(tài)維護,包括菜譜信息維護、用戶信息維護、訂單信息維護和菜譜類型信息維護,例如管理員可在服務端根據(jù)實際情況添加一個菜式信息、修改一個菜式信息等操作.服務器端模塊有登錄模塊,菜單管理模塊(增、刪、改),用戶信息管理模塊(刪、改),訂單管理模塊,餐桌管理模塊,退出。服務器端包含的功能模塊如圖5-7所示:修改座位搜索座位修改分組刪除分組增加分組搜索分組增加菜品刪除菜品修改菜品修改信息刪除信息修改訂單刪除訂單搜索訂單搜索管理端菜單管理用戶信息管理訂單管理分組管理餐桌管理圖5-7服務器端功能模塊圖管理員數(shù)日用戶名和密碼,登陸后跳轉到系統(tǒng)管理界面,可以在菜單模塊對數(shù)據(jù)庫進行增、刪、改、查,用戶信息管理模塊是刪、改、查,訂單管理模塊刪、改、查,分組管理是增、刪、改、查,餐桌管理是改、查,各種操作都是對數(shù)據(jù)庫的操作。服務器端管理員的操作時序圖如下圖所示:圖5-8 管理員操作時序圖5.2服務端數(shù)據(jù)庫設計本系統(tǒng)需要一個服務端來為客戶端提供數(shù)據(jù)接口服務,服務端采用mysql數(shù)據(jù)庫來存放數(shù)據(jù), mysql是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內,這樣就增加了速度并提高了靈活性。 根據(jù)本點餐系統(tǒng)的模塊需求分析,本系統(tǒng)共用到6個數(shù)據(jù)庫表,管理員表admins,菜單表dishes,訂單表orders,座位表orders,菜品類型表types,用戶表users。每個表的詳細設計結構:1.管理員表由管理員id,管理員登陸賬號loginid,管理員密碼password組成,如表5-1所示。表5-1 admins表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1idint11是是否auto_increment2loginidvarchar255是3passwordsvarchar255是2.菜單列表dishes由菜品id,標題title,類型typeid,typename,菜品詳情intro,圖片路徑img_url,價格price,數(shù)量amount組成,如表5-2所示。表5-2 dishes表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1idint11是是否auto_increment2titletext是標題3typeidint11是類型id4typenametext是類型名稱5introtext是詳細介紹6img_urlvarchar255是圖片7pricedouble11是價格8amountdouble11是數(shù)量3. 訂單表用于保存用戶的訂單信息,有訂單id,用戶信息(userid、username),座位信息seat,完成狀態(tài)status,菜品id(dishesid),價格price,數(shù)量amount,訂單生成時間createtime組成,如表5-3所示。表5-3 orders表序號列名數(shù)據(jù)類型標識主鍵允許空說明1idint是是否auto_increment2useridint是3usernametext是4seattext是5statusint是6dishesidint是7pricedouble是8amountdouble是9createtimevarchar是4. 座位表由座位id,座位號no,座位狀態(tài)state(1表示無座,0表示有座位)組成,如表5-4所示。表5-4 seats表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1idint11是是否auto_increment2noint11是3stateint11是座位5. 菜品類型表由類型id,類型名稱typename組成,如表5-5所示。表5-5 types表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1idint11是是否auto_increment2typenametext是類型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論