基于Android的網(wǎng)上訂餐系統(tǒng)方案_第1頁
基于Android的網(wǎng)上訂餐系統(tǒng)方案_第2頁
基于Android的網(wǎng)上訂餐系統(tǒng)方案_第3頁
基于Android的網(wǎng)上訂餐系統(tǒng)方案_第4頁
基于Android的網(wǎng)上訂餐系統(tǒng)方案_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Il eurasiaUNIVERSITY信息工程學(xué)院專業(yè)綜合課程設(shè)計(jì)報(bào)告項(xiàng)目題目:基于安卓的網(wǎng)上訂餐系統(tǒng)專業(yè)班級: 統(tǒng)本電信1301班學(xué)號: 馬麗 192指導(dǎo)教師:宏宇 有強(qiáng)完成時間: 2016 年12月30日設(shè)計(jì)報(bào)告成績評定表評分容成績系統(tǒng)方案思路合理性(10%報(bào)告容的完整性(10%)硬件原理圖及說明(20%)程序流程圖(20%)程序清單(10%)調(diào)試及結(jié)果分析(10%)系統(tǒng)改進(jìn)建議或者方案(10%)格式規(guī)(10%)總分備注:以上總分為該組的平均分,根據(jù)成員分工具體分?jǐn)?shù)如下。小組成員分工分?jǐn)?shù)馬麗軟件調(diào)試摘要隨著科技的發(fā)展,二十一世紀(jì)成為了以網(wǎng)絡(luò)化,信息化為核心的社會。網(wǎng)絡(luò)商業(yè)化也成為了時下最

2、熱門的詞匯。隨著信息技術(shù)的不斷更新,特別是07 年谷歌公司推出了Android 開放源碼,讓Android 操作系統(tǒng)成為了移動平臺的寵兒,本系統(tǒng)主要分析了中小型餐飲店管理與發(fā)展的現(xiàn)狀所面臨的問題,發(fā)現(xiàn)傳統(tǒng)的服務(wù)模式已經(jīng)不能適應(yīng)市場發(fā)展的需求,方便、快捷、個性化的網(wǎng)上訂餐服務(wù)正在進(jìn)入人們的生活。針對這類問題,結(jié)合當(dāng)代科技發(fā)展的新成果,本文構(gòu)思規(guī)劃了一套最貼切的服務(wù)模式,為中小型餐飲店外送服務(wù)提供了一套系統(tǒng)。本設(shè)計(jì)是一個基于Android手機(jī)的網(wǎng)上訂餐系統(tǒng),采用C/S模式,能為客戶提供網(wǎng) 上選擇瀏覽菜品介紹,點(diǎn)菜訂餐服務(wù),并為管理員提供一個服務(wù)平臺實(shí)現(xiàn)用戶信息與顧客訂單的管理,從而提高了服務(wù)的質(zhì)量

3、,本文從系統(tǒng)需求、系統(tǒng)實(shí)際、代碼實(shí)現(xiàn)幾個方面介紹了整個軟件的開發(fā)過程,這個系統(tǒng)采用JAVA、 SQL Server 數(shù)據(jù)庫 , 并利用MyEclipse、TOMCATAndroid SDK、ADT AVD DDM圖開發(fā)環(huán)境或者開發(fā)工具。關(guān)鍵詞 : Android ; Java; MyEclipse ; SQLite; SQL Server 2005ABSTRACTWith the development of science and technology,the 21st century has become a society centred on information and netwo

4、rk.Hence commercialization of network has become one of the hottest topics in recent years. Android operating system is gradually going to be the darling of the mobile platform, which results from the constantly updating of information technology, especially the appearance of Android open source car

5、ried out by Google company in 2007. The system mentioned in this article mainly focus on the problems faced by the middle and small reataurants in their management and development, and finds that the traditional service mode can not adapt to the needs of the development of the market any more.A more

6、 convenient, quicker,and personalized service enters people ' s lifeonline reservations. In view of the existing problems andcombining the latest achievements of the development of modern technology, I have conceived a set of the most appropriate pattern of dilivery service for the restaurant in

7、dustry.This design is a online reservations system based on the Android mobile phones, which adopts C/S mode. It can provide services for clients to choose dishes introduction freely ,and to order meal actively.Besides, it can also offer a service platform for manager to regulate the user informatio

8、ns and customer orders, so as to improve the quality of their services.In this article, I' dlike to introduce the whole development process of this software in details from the system requirements, system realization,code implementation and someother aspects.This system uses JAVA,SQL Server data

9、base,in addition, MyEclipse、TOMCAT Android SDK、ADT. AVD DDMS and other development environments or development tools are also used in it.Keywords: Android ; Java; MyEclipse; SQLite; SQL Server 2005第一章引 言11.1 項(xiàng)目背景 11.2 項(xiàng)目目的 11.3 主要容 2第二章系統(tǒng)理論與技術(shù)32.1 Android 32.1.1 Android簡介 32.1.2 Android Features 特性

10、32.1.3 Android基本框架(Android Architecture ) 42.1.4 Android系統(tǒng)的四大組件 42.2 Java 52.3 SQL Server2005和SQLite數(shù)據(jù)庫 52.4 C/S 模式 6第三章系統(tǒng)分析與設(shè)計(jì)83.1 功能需求 83.2 模塊結(jié)構(gòu)與流程 93.2.1 客戶端 93.2.2 服務(wù)端 103.3 數(shù)據(jù)庫設(shè)計(jì) 113.3.1 數(shù)據(jù)庫表及其結(jié)構(gòu) 113.3.2 數(shù)據(jù) 123.3.3 客戶端數(shù)據(jù)庫的連接 133.3.4 服務(wù)器數(shù)據(jù)庫的連接 143.4 系統(tǒng)結(jié)構(gòu) 153.4.1 部署圖 153.4.2 類圖 153.5 執(zhí)行概念 16第四章系統(tǒng)

11、實(shí)現(xiàn)184.1 Android 環(huán)境搭建 184.2 客戶端 194.2.1 系統(tǒng)登錄 194.2.2 系統(tǒng)注冊 214.2.3 瀏覽菜品 234.2.4 搜索菜品 254.2.5 訂餐 264.2.6 結(jié)賬 284.3 服務(wù)端 294.3.1 系統(tǒng)登錄 294.3.2 訂單管理 304.3.3 菜品管理 324.3.4 會員管理 35第五章 結(jié)束語38參考文獻(xiàn)40致詞巾41第一章引i=r1.1 項(xiàng)目背景伴隨著我國市場經(jīng)濟(jì)的高度發(fā)展,企業(yè)越來越依賴于市場和客戶,這種依賴關(guān)系已 經(jīng)開始逐步提升到關(guān)乎企業(yè)生存的高度。如何獲得更多客流量,如何通過小的代價而使 商家獲得更大的知名度,這是使企業(yè)得以生存

12、、發(fā)展、壯大的關(guān)鍵。年銷售過億的眾多 電子商務(wù)案例讓人們看到了更多的商機(jī)。與應(yīng)用場景相當(dāng)有限的PC (個人電腦)相比,生而具備便攜屬性的手機(jī)給了電商們更大的想象空間。移動電子商務(wù)由此產(chǎn)生了。移動 電子商務(wù)就是利用手機(jī)、PDAR掌上電腦等無線終端進(jìn)行的 B2B B2c或C2c的電子商務(wù)。 它將因特網(wǎng)、移動通信技術(shù)、短距離通信技術(shù)及其它信息處理技術(shù)完美的結(jié)合,使人們 可以在任何時間、任何地點(diǎn)進(jìn)行各種商貿(mào)活動,實(shí)現(xiàn)隨時隨地、線上線下的購物與交易、 在線電子支付以及各種交易活動、商務(wù)活動、金融活動和相關(guān)的綜合服務(wù)活動等。而Android操作系統(tǒng)憑借著自己開放的平臺允許任何移動終端廠商加入到Androi

13、d聯(lián)盟中,從而使得越來越多的用戶傾向于選擇操作系統(tǒng)為Android的手機(jī)品牌。選擇設(shè)計(jì)基于Android平臺的軟件,毫無疑問能覆蓋更多的群眾,餐飲業(yè)在電子商務(wù)中還處于形成的初期,傳統(tǒng)的餐飲業(yè)中,大都是以實(shí)際門面形式來進(jìn)行宣傳和交流。作為網(wǎng)絡(luò) 普及化的社會,這還缺少了一些更為現(xiàn)代化的元素。餐飲業(yè)是一個個性化、多樣化的服 務(wù)業(yè),而電子商務(wù)則最能體現(xiàn)個性化、多樣化服務(wù)的方式。而且現(xiàn)在大部分電子商務(wù)都 體現(xiàn)為向大企業(yè)服務(wù),結(jié)合餐飲這個行業(yè)的特點(diǎn),最終還發(fā)展為同小區(qū)小店服務(wù)的模式。 以最貼切的方式,最靈便的服務(wù)進(jìn)入個個網(wǎng)絡(luò)社區(qū),進(jìn)入人們的生活。1.2 項(xiàng)目目的如今宅男宅女日益增加,很多餐飲店都提供外賣服

14、務(wù),傳統(tǒng)的外賣服務(wù)需要客戶給 商家打并報(bào)出地址,商家那邊也需要記錄下客戶的信息,才能將外賣準(zhǔn)確的送達(dá),但在 這之間都是人在操作,難免會出現(xiàn)偏差和遺漏為客戶或者商家?guī)頁p失。如今 3G網(wǎng)絡(luò) 覆蓋圍越來越廣,Android手機(jī)也占領(lǐng)了手機(jī)行業(yè)的大頭,那么我們可以考慮做一個 Android的應(yīng)用來方便商家和客戶,讓出錯率達(dá)到最低。用戶要點(diǎn)餐的時候只需手機(jī)上 網(wǎng)點(diǎn)一下菜單就能吃到自己喜歡吃的菜品,這里面蘊(yùn)含了很大的商機(jī),完全能夠有效的 提高商家的營業(yè)額,基于以上因素,所以提出了這樣一個基于 Android的網(wǎng)上訂餐系統(tǒng)。本項(xiàng)目的目的是開發(fā)一個可以讓用戶在手機(jī)上操作的客戶端,然后與服務(wù)器連接進(jìn)行數(shù)據(jù)交互

15、,來實(shí)現(xiàn)網(wǎng)上訂餐的流程??蛻舳诵枰獙?shí)現(xiàn)瀏覽菜品,點(diǎn)菜,下訂單,搜索 等功能。服務(wù)器端需實(shí)現(xiàn)添加、刪除、修改菜品、對訂單的處理,以及對會員的管理等 功能。本項(xiàng)目是一款基于Android手機(jī)平臺的訂餐系統(tǒng),使擁有Android手機(jī)的用戶生活 更加方便快捷,使得手機(jī)顯得更生動靈活化,與人們更為接近,讓手機(jī)主人隨時隨地都能吃到自己喜歡的菜品。使人們的生活更加多樣化。也使設(shè)計(jì)者更加熟練Android的技術(shù)和其他在市場上的特點(diǎn)。1.3 主要容通過對實(shí)際情況的調(diào)研,本系統(tǒng)大致可分為三個部分,即手機(jī)客戶端、電腦服務(wù)器 端和圖形化界面工具。系統(tǒng)采用 HTTP議來進(jìn)行數(shù)據(jù)傳輸。采用 C/S結(jié)構(gòu),客戶端為 基于An

16、droid操作系統(tǒng)平臺的智能手機(jī),主要的業(yè)務(wù)邏輯則服務(wù)器端來實(shí)現(xiàn),數(shù)據(jù)存儲 在數(shù)據(jù)庫服務(wù)器??蛻舳酥饕獙?shí)現(xiàn)位置服務(wù),商品展示,會員注冊及登錄,購物車,商 品搜索和個人信息等功能,服務(wù)器端主要是完成數(shù)據(jù)交互和數(shù)據(jù)邏輯處理,而圖形界面 化工具則是負(fù)責(zé)商品、訂單等的增刪改查。為了一步步實(shí)現(xiàn)確定的功能,本論文主要容安排如下:第一章:引言(介紹課題研究的背景和目的)第二章:系統(tǒng)理論與技術(shù)(在本項(xiàng)目中設(shè)計(jì)到的技術(shù)簡介)第三章:系統(tǒng)分析與設(shè)計(jì)(需求分析,數(shù)據(jù)庫的分析與設(shè)計(jì)以及系統(tǒng)結(jié)構(gòu)的設(shè)計(jì))第四章:系統(tǒng)實(shí)現(xiàn)(根據(jù)需求分析來實(shí)現(xiàn)系統(tǒng)的各個模塊功能, 使客戶端與服務(wù)器, 服務(wù)器與數(shù)據(jù)庫能正常數(shù)據(jù)交互。這部分主要

17、搭建開發(fā)環(huán)境,編寫代碼,測試,運(yùn)行)第五章:結(jié)束語(對本項(xiàng)目做一個項(xiàng)目總結(jié))第二章系統(tǒng)理論與技術(shù)2.1 Android2.1.1 Android 簡介Android 一詞的本義指“機(jī)器人”,同時也是Google于2007年11月5日宣布的基 于Linux平臺的開源手機(jī)操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng) 用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。Android是基于Linux核的軟件平臺和操作系統(tǒng),早期由Google開發(fā)(在華注冊商 標(biāo)名為“安致”),后由開放手機(jī)聯(lián)盟(Open Handset Alliance )開發(fā)。它采用了軟件 堆層(softwar

18、e stack ,又名以軟件疊層)的架構(gòu),主要分為三部分。低層以 Linux核 工作為基礎(chǔ),只提供基本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以 Java作為編 寫程序的一部分。另外,為了推廣此技術(shù),Google和其它幾十個手機(jī)公司建立了開放手 機(jī)聯(lián)盟。Android在未公開之前常被傳聞為 Google或gPhone大多傳聞?wù)J為Google開 發(fā)的是自己的手機(jī)產(chǎn)品,而不是一套軟件平臺。到了 2010年1月,Google開始發(fā)表自 家品牌手機(jī)的Nexus One,目前最新SDK®本為Android 4.0.3 。2.1.2 Android Features 特性Android系統(tǒng)有如下

19、的幾大特性1 : 應(yīng)用程序框架支持組件的重用與替換 Dalvik虛擬機(jī)專門為移動設(shè)備做了優(yōu)化 部集成瀏覽器該瀏覽器基于開源的WebKit引擎 優(yōu)化的圖形庫 包括2D和3D圖形庫,3D圖形庫基于OpenGL ES SQLite用作結(jié)構(gòu)化的數(shù)據(jù)存儲 多媒體支持 包括常見的音頻、視頻和靜態(tài)印象文件格式(如MPEG4MP3,AAC, AMR, JPG, PNG GSM(依賴于硬件) 藍(lán)牙 Bluetooth, EDGE, 3G, and WiFi(依賴于硬件) 照相機(jī),GPS指南針,和加速度計(jì)(依賴于硬件) 豐富的開發(fā)環(huán)境 包括設(shè)備模擬器,調(diào)試工具,存及性能分析圖表,和Eclipse集成開發(fā)環(huán)境插件2

20、.1.3 Android 基本框架(Android ArchitectureHot*PhoneApplicATroN FrameworkvVrndo*w M刖叫wCentenePrierfViewSyitemSurface?!鞍豅|ESSGITelephonyManaEQ-Rt 圖urxx MarjerLot; j taon MlarBg;ErKs/tificationMandfcrILl SR ARIESHRFrameworkFrtcTypcARMDR口 I 口 RUMTIME1SQLmVbKitGere LttnmsAEMachineLINUX KERNELCairMsn DriverRa

21、sh MemeryDriver&Mor |R.;DriverKerpfd DrwWiF DriverAudieDrivenRawerMana*ernent圖 2.1 Android Architecture2.1.4 Android 系統(tǒng)的四大組件在Android系統(tǒng)中,為我們提供了四大基本組件,每個組件是一個視圖,但是有些 是可見的,有些是不可見的視圖,像Activity , ContentProvider是可見的視圖,Service 和BroadcastReceiver是不可見的,它們只在系統(tǒng)的后臺運(yùn)行。下面分別介紹四大組件 3:(1) Activity 簡介在Android系統(tǒng)中

22、Activity提供可視化的用戶界面,一個 Android應(yīng)用通常由多個 Activity 組成。多個 Activity 組成了 Activity 棧(Stack),當(dāng)前活動的 Activity 處于棧頂。Activity 有自己的生命周期,由 Android系統(tǒng)來控制。(2) Service 簡介顧名思義Service就是運(yùn)行在后臺的一種服務(wù)程序,一般很少和用戶交互,因此沒 有可視化界面定義一個Service類比較簡單,只要繼承Service類,實(shí)現(xiàn)其生命周期中 的方法就可以了。一個定義好的 Service必須在AndroidManifest.xml配置文件注冊,通過service元素聲明才

23、能使用.Service 有自己的生命周期,我們可以調(diào)用 startService()啟動一個 Service 或者 bindService()方法來綁定一個存在的 Service(3) Broadcast Receiver 簡介Broadcast Receiver 顧名思義廣播接收器,它和事件處理機(jī)制類似,只不過事件 處理機(jī)制是程序組件級別的(例如,某個按鈕的單擊事件),而廣播事件處理機(jī)制是系統(tǒng)級別的。到目前為止我們可以使用Intent來啟動一個程序組件,我們還可以通過使用sendBroadcast()方法來發(fā)起一個系統(tǒng)級別的事件廣播來傳遞消息。我們可以在你的 應(yīng)用程序中實(shí)現(xiàn)Broadcast

24、 Receiver 來監(jiān)聽和響應(yīng)這些廣播的Intent(4) ContentProvider 簡介Content Provider用來保存和檢索數(shù)據(jù),并且使應(yīng)用程序之間相互訪問數(shù)據(jù)成為可能。它是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法。Android為常用的數(shù)據(jù)類型(如:音視頻、圖片和聯(lián)系方式等)提供了大量的Content Provider 。它們被定義在 vider 包下面。通過這樣定義好的 ContentProvider 我們可以方便的進(jìn)行數(shù)據(jù)操作。當(dāng)然我們必須擁有適當(dāng)?shù)臋?quán)限。我們 也可以自己來定ContentProvider共享我們的數(shù)據(jù),方便用戶的訪問。2.2 JavaJav

25、a是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,是由SunMicrosystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和 Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全 性,廣泛應(yīng)用于個人PG數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計(jì)算機(jī)、移動和互聯(lián)網(wǎng),同 時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計(jì)算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。Eclipse是一個開放源代碼的、基于 Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它 只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,E

26、clipse附帶了一個標(biāo)準(zhǔn)的插件集,包括 Java開發(fā)工具(Java Development Kit , JDK)。雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作Java集成開發(fā)環(huán)境(IDE)來使用,但 Eclipse 的目標(biāo)卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-in Development Environment , PDE,這個組件主要針對希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗?許他們構(gòu)建與Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件, 對于給Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工 具開發(fā)

27、人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于 Java開發(fā)工具。盡管Eclipse 是使用Java語言 開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C+和COBOL等編程語 言的插件已經(jīng)可用,或預(yù)計(jì)將會推出。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其 他應(yīng)用程序類型的基礎(chǔ),比如容管理系統(tǒng)?;贓clipse 的應(yīng)用程序的一個突出例子是 舊M Rational Software Architect,它構(gòu)成了舊M Java開發(fā)工具系列的基礎(chǔ)7。2.3 SQL Server 2005 和 SQLite 數(shù)據(jù)庫SQL Server是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由 Mic

28、rosoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個 OS/2版本。在 WindowsNT 推出后,Microsoft 與Sybase在SQL Server的開發(fā)上就分道揚(yáng)鑲了, Microsoft 將 SQLServer移植至U WindowsNT系統(tǒng)上,專注于開發(fā)推廣 SQLServer的WindowsNT版 本。Sybase則較專注于SQL Server在UNIX操作系統(tǒng)上的應(yīng) SQL Server安裝界面用。SQLite,是一款輕型的數(shù)據(jù)庫,是遵守 ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計(jì) 目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了

29、它,它占用資源非常的低, 在嵌入式設(shè)備中,可能只需要幾百 K的存就夠了。它能夠支持 Windows/Linux/Unix等 等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如Tcl、C供PHP Java等,還有ODBCS口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng) 來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生于2000年5月.至今 已經(jīng)有10個年頭,SQLite也迎來了一個版本SQLite 3已經(jīng)發(fā)布。2.4 C/S模式在網(wǎng)絡(luò)連接模式中,除對等網(wǎng)外,還有另一種形式的網(wǎng)絡(luò),即客戶機(jī)/服務(wù)器網(wǎng), Client/Server 。在客戶機(jī)/服務(wù)

30、器網(wǎng)絡(luò)中,服務(wù)器是網(wǎng)絡(luò)的核心,而客戶機(jī)是網(wǎng)絡(luò)的基 礎(chǔ),客戶機(jī)依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶機(jī)提供網(wǎng)絡(luò)必須的資源。這里客戶和服務(wù)器都是指通信中所涉及的兩個應(yīng)用進(jìn)程(軟件)。使用計(jì)算機(jī)的人是計(jì)算機(jī)的“用戶” (user)而不是“客戶” (client )。但在許多國外文獻(xiàn)中,也經(jīng)常 把運(yùn)行客戶程序的機(jī)器稱為 client (這種情況下也可把client譯為“客戶機(jī)”),把運(yùn) 行服務(wù)器程序的機(jī)器稱為server。所以有時要根據(jù)上下文判斷client與server是指軟 件還是硬件。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分 配到Client端和Serve

31、r端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng) 都是Client/Server 形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的 WetS 用發(fā)展,Webffi Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享 邏輯組件;因此,部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用 系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。C/S架構(gòu)軟件的優(yōu)勢和劣勢9 :應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成, 即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運(yùn)行數(shù)據(jù) 庫服務(wù)器程序

32、的機(jī)器,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客 戶程序發(fā)來的請求;客戶應(yīng)用程序運(yùn)行在用戶自己的電腦上,對應(yīng)于數(shù)據(jù)庫服務(wù)器,可 稱為客戶電腦,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù) 器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù) 器運(yùn)行數(shù)據(jù)負(fù)荷較輕。數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù) 器程序和客戶應(yīng)用程序分別獨(dú)立進(jìn)行的,前臺應(yīng)用可以違反的規(guī)則,并且通常把那些不 同的(不管是已知還是未知的)運(yùn)行數(shù)據(jù),在服務(wù)器程序中不集中實(shí)現(xiàn),例如訪問者的 權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)

33、則。所有這些,對于工作在前 臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程, 就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非常“瘦小” : 麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在 C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè) 化的倉庫,它受到獨(dú)立的專門管理。C/S架構(gòu)的劣勢是高昂的維護(hù)成本且投資大。首先,采用 C/S架構(gòu),要選擇適當(dāng)?shù)?數(shù)據(jù)庫平臺來實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù) 庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實(shí)現(xiàn),有這樣 一些問題,如果需要建立“實(shí)時”的數(shù)據(jù)同步,就必須在兩地間建立實(shí)

34、時的通訊連接, 保持兩地的數(shù)據(jù)庫服務(wù)器在線運(yùn)行,網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護(hù)管理,又要對 客戶端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很高,維護(hù)任務(wù)量 大。(4)傳統(tǒng)的C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,由于產(chǎn)品的更新?lián)Q代十分快,代價高和低效率已經(jīng)不適應(yīng)工作需要。在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)更是猛烈沖擊C/S,并對其形成威脅和挑戰(zhàn)。第三章系統(tǒng)分析與設(shè)計(jì)3.1 功能需求隨著3G時代的到來,手機(jī)應(yīng)用越來越普遍,加之國民手機(jī)持有量更是爆炸式增長。 為了方便Android手機(jī)用戶能隨時隨地點(diǎn)到自己喜歡的菜品,提出一種操作簡便,功能 齊全,

35、占用資源少,能為用戶節(jié)約流量的的網(wǎng)上訂餐應(yīng)用,于是提出本系統(tǒng)的主要功能。需求界面如下:客戶端:1、登陸、注冊界面2、顯小菜品界面3、搜索菜品界面(按菜品名稱、種類、店鋪名稱進(jìn)行搜索)4、購物車界面5、個人信息界面6、菜品詳情界面服務(wù)器端:1、登陸界面2、訂單管理、菜品管理、會員管理界面需求實(shí)現(xiàn)功能如下:客戶端:1、實(shí)現(xiàn)客戶端與服務(wù)器之間的連接2、實(shí)現(xiàn)登陸、注冊功能3、實(shí)現(xiàn)登陸后能瀏覽到服務(wù)器數(shù)據(jù),并對數(shù)據(jù)進(jìn)行一系列的操作4、能把菜品加入到購物車,并結(jié)算生成訂單5、把生成的訂單信息傳回服務(wù)器端服務(wù)器端:1、實(shí)現(xiàn)管理員登陸2、實(shí)現(xiàn)添加、刪除、修改菜品信息3、實(shí)現(xiàn)對客戶端傳過來的訂單進(jìn)行處理4、實(shí)現(xiàn)

36、添加、刪除會員列表功能模塊圖如3.1所示:基Android的網(wǎng)上訂較系統(tǒng)名產(chǎn)端數(shù)據(jù)交立和邏輯處理圖3.1系統(tǒng)功能模塊圖3.2模塊結(jié)構(gòu)與流程3.2.1 客戶端表3.1客戶端概要設(shè)計(jì)表客戶端模塊簡要說明登陸模塊注冊模塊瀏覽菜品模塊菜品詳情模塊搜索模塊購物車模塊個人信息模塊在連接上服務(wù)器的前提下登陸成功在連接上服務(wù)器的前提下注冊成功從服務(wù)器中讀取數(shù)據(jù),并把數(shù)據(jù)封裝顯示在菜品列表中點(diǎn)擊菜品進(jìn)入到菜品的詳細(xì)介紹和訂餐服務(wù)頁面按照用戶選擇的條件從手機(jī)數(shù)據(jù)庫中搜索菜品當(dāng)用戶定了菜品之后,所有訂單信息都顯示在這個模塊中,并且點(diǎn)擊結(jié)算按鈕生成訂單傳送回服務(wù)器顯示用戶的個人信息表3.2服務(wù)器端概要設(shè)計(jì)表服務(wù)器端模

37、塊簡要說明登陸模塊提供管理員登陸訂單信息模塊顯示現(xiàn)有的訂單信息并給與處理按鈕菜品添加刪除修改模塊對要顯示在客戶端的菜品進(jìn)行添加刪除修改操作會員管理模塊對會員進(jìn)行添加和刪除以及查看信息圖3.3服務(wù)器流程圖3.3 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)組織和數(shù)據(jù)庫文件設(shè)計(jì)要根據(jù)不同用途,使用要求等,來決定數(shù)據(jù)庫的 整體組織形式等一系列問題。數(shù)據(jù)庫,顧名思義,是存放數(shù)據(jù)的倉庫,只不過這個倉庫是在計(jì)算機(jī)存儲設(shè)備上的, 而且數(shù)據(jù)是按一定格式存放。數(shù)據(jù)庫中的數(shù)據(jù)按一定模型組織描述和存儲。具有較小的 重復(fù)度,較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)性,并且可以被一定圍的各種用戶共享。在涉及數(shù)據(jù) 庫的軟件開發(fā)中,需要根據(jù)有待解決的問題性質(zhì),規(guī)模

38、,以及所采用的前端程序創(chuàng)建工 具等。做出合適的數(shù)據(jù)庫類型選擇。在該項(xiàng)目中建立了兩個數(shù)據(jù)庫,客戶端和服務(wù)器各一個,用這種設(shè)計(jì)方式主要是為 用戶減少許多不必要的流量浪費(fèi),如果只創(chuàng)建一個服務(wù)器數(shù)據(jù)庫的話,用戶每次連接上 服務(wù)器時都會將服務(wù)器的所有資源全部接受一遍,但是事實(shí)上該項(xiàng)目并不需要實(shí)時的更新數(shù)據(jù),因?yàn)橛行┎似返男畔⒖赡芎芫枚疾粫凶儎樱钥紤]在客戶端也創(chuàng)建一個數(shù) 據(jù)庫把服務(wù)器端發(fā)送過來的數(shù)據(jù)存儲在本地?cái)?shù)據(jù)庫中,當(dāng)服務(wù)器有更新時只需要傳遞改變的數(shù)據(jù)就可以實(shí)現(xiàn)更新。3.3.1 數(shù)據(jù)庫表及其結(jié)構(gòu)服務(wù)器數(shù)據(jù)庫(SQL Server 2005 )Admin表:管理員編號,用戶名,密碼,權(quán)限。BaseP

39、roducts表:菜品編號,菜品名字,菜品種類,菜品價格,菜品圖片。DetailOrders表:訂單編號,詳細(xì)編號,菜品編號,數(shù)量。DetailProducts 表:編號,菜品編號,菜品價格,菜品狀態(tài),折扣,菜品描述。Member:會員編號,會員名字,會員密碼,會員性別,會員,會員地址,會員積分,會員金錢。Orders表:訂單編號,訂單生成時問,會員編號,訂單狀態(tài)。客戶端數(shù)據(jù)庫(SQLite)Shoppingrecord表:訂單編號,詳細(xì)編號,菜品編號,數(shù)量。Showedgoodsft:菜品編號,菜品名字,菜品種類,菜品價格,菜品圖片。3.3.2 數(shù)據(jù)系統(tǒng)E-R (實(shí)體-聯(lián)系)圖用來描述數(shù)據(jù)關(guān)

40、系模型,可以用來建立數(shù)據(jù)模型。本系統(tǒng) 共有8個實(shí)體,具關(guān)系如圖3.4所示。rroi Jdo i d bid 1±O FlUTi宣hrrw 且 a eq adshi-ihcu-r 匚Tb sty 1 ,t> pi cl lire口- i WF入 口式U at 壬nfcxaFJS2tonanebwt = 1 a bpu-cc hpi r* It tjj 后口 t a.11 rrodxuc t 耳ndidFK1bi a加 nis « ilwta t e ddi £ CDU1L IAdmi riO.X <1,aTLELHiea co4l1 iTftlO H t

41、 e jr sPTna J,FK1TTf2o 11 meo s E ai: «=! ai an 1 d.Meirilbe! i-1rman 餐m codem wce m nijn b er maaaif 工三 in三口qm修圖3.4全局E-R圖下面列舉主要實(shí)體:管理員實(shí)體(Admin)包括管理員編號、管理員(登錄)、登錄密碼、管理員等級等 屬性,如圖3.5所示。圖3.5管理員實(shí)體屬性圖會員實(shí)體(Member包括會員編號、會員(登錄帳號)、登錄密碼、管理員性別,聯(lián) 系,聯(lián)系地址,會員積分等屬性。如圖 3.6所示。圖3.6會員實(shí)體屬性圖3.3.3 客戶端數(shù)據(jù)庫的連接Andorid 數(shù)據(jù)庫

42、存儲的位置在data/data/< 項(xiàng)目文件夾 ,databases/目錄下,Android是利用ContentProvider 作為容提供商,SQLiteOpenHelper數(shù)據(jù)庫幫助類來進(jìn) 行對數(shù)據(jù)庫的創(chuàng)建和操作。程序中數(shù)據(jù)庫類為MyopenHelper extends SQLiteOpenHelper (繼承關(guān)系),在此列出連接數(shù)據(jù)庫的代碼:public class MyopenHelper extends SQLiteOpenHelper /生成表shoppingrecod ,用以記錄購買過的商品private static final String RECORD_TABLEcr

43、eate table shoppingrecord (oid integer primary key ,doid integer,bid integer,donum integer)"/生成表showedgoods,用以存儲上次購買過的商品private static final String GOODS_TABLE = "create table showedgoods (bid integer primary key ,bname varchar,bstyle varchar,bprice float,bpicture varchar)"/創(chuàng)建表public

44、void onCreate(SQLiteDatabase db) db.execSQL(RECORD_TABLE);db.execSQL(GOODS_TABLE);/更新表public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) db.execSQL("drop table if exists shoppingrecord");db.execSQL("drop table if exists showedgoods");db.execSQL(RECORD_TABLE)

45、;db.execSQL(GOODS_TABLE);3.3.4 服務(wù)器數(shù)據(jù)庫的連接服務(wù)器端采用SQLServer 2005來創(chuàng)建數(shù)據(jù)庫,首先得導(dǎo)入 sql2000_2005jdbc.jar 庫文件,然后在數(shù)據(jù)庫的配置工具中開啟SQLServer服務(wù),接下來就要在java代碼中實(shí)現(xiàn)連接數(shù)據(jù)庫的功能了,代碼如下:public static Connection getCon() Connection con = null;if (!isInitialized) return con;try Class.forName(prop.getProperty("className");連

46、接數(shù)據(jù)庫語句,url user pwd都在配置文件sql.ini中con = DriverManager.getConnection(prop.getProperty("url"), prop .getProperty("user"), prop.getProperty("pwd"); catch (Exception e) e.printStackTrace();return con;Sql.ini配置文件容:className=.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sq

47、lserver:/localhost:1433;databaseName=Dinneruser=sapwd=1233.4 系統(tǒng)結(jié)構(gòu)本系統(tǒng)采用HTTP*議來進(jìn)行數(shù)據(jù)傳輸。采用 C/S結(jié)構(gòu),客戶端為基于Android操 作系統(tǒng)平臺的智能手機(jī),主要的業(yè)務(wù)邏輯則服務(wù)器端來實(shí)現(xiàn),數(shù)據(jù)存儲在數(shù)據(jù)庫服務(wù)器。3.4.1 部署圖系統(tǒng)部署如圖3.7所示,客戶端采用基于Android操作系統(tǒng)平臺的智能手機(jī),服務(wù) 器端包括服務(wù)器、圖形界面化工具和數(shù)據(jù)庫服務(wù)器,主要處理業(yè)務(wù)邏輯和對數(shù)據(jù)的增刪 改查。圖3.7系統(tǒng)部署圖3.4.2 類圖根據(jù)已建立的用例圖確定要建立的對象類并確定屬性和操作。通過檢查類的定義, 分析問題的需求

48、和運(yùn)用該領(lǐng)域知識來確定類的屬性。根據(jù)系統(tǒng)功能需求和系統(tǒng)設(shè)計(jì)需要 確定類的操作,本系統(tǒng)有6個實(shí)體類,分別為管理員實(shí)體類(Admin)、會員實(shí)體類(Member、訂單實(shí)體類(Orders)、訂單詳情實(shí)體類(DetailOrders )、商品實(shí)體類 (Products)、商品詳情實(shí)體類(DetailProducts ),如圖3.8所示。Amin-aid : int-aname : string -acode : string +getAid() : int +setAid()+getAname() : string +setAname() +getAcode() : string +setAcode

49、()Member-mid : int -mname : string -mcode : string -msex : string -mnumber : string -maddress : string -mscore : int -mmoney : float +getMid(): int +setMid() +getMname() : string +setMname() +getMcode() : string +setMcode() +getMsex() : string +setMsex() +getMnumber() : string +setMnumber() +getMadd

50、ress() : string +setMaddress() +getMscore() : int +setMscore() +getMmoney() : float +setMmoney()DetailOrder-oid : int-doid : int -bid : int -donum : int+getOid() : int +setOid() +getDoid() : int +setDoid() +getBid(): int +setBid() +getDonum() : int +setDonum()BaseProducts-bid : int-bname : string -b

51、style : string -bprice : float -bpicture : string+getBid() : int +setBid() +getBname() : string +setBname() +getBstyle() : string +setBstyle() +getBprice() : float +setBprice() +getBpicture() : string +setBpicture()DetailProducts-did : int-bid : int-dappraise : float-dstate : int-ddiscount : int-dco

52、mment : string +getDid() : int +setDid() +getBid() : int +setBid() +getDappraise() : float +setDappraise() +getDstate() : int +setDstate() +getDdiscount() : int +setDdiscount() +getDcomment() : string +setDcomment()Orders-oid : int -otime : string -mid : int-ostate : int+getOid() : int +setOid()+get

53、Otime() : string +setOtime() +getMid() : int +setMid() +getOstate() : int +setOstate()圖3.8實(shí)體類3.5 執(zhí)行概念本系統(tǒng)時序圖如圖3.9所示圖3.9系統(tǒng)時序圖1、客戶端發(fā)送請求給服務(wù)器,服務(wù)器的后臺Servlet負(fù)責(zé)處理數(shù)據(jù)2、服務(wù)器業(yè)務(wù)邏輯處理會調(diào)用 DAO進(jìn)行數(shù)據(jù)處理。3、調(diào)用實(shí)體類,把數(shù)據(jù)保存到數(shù)據(jù)庫 DB中。4、DAOJ!回結(jié)果給 Servlet。5、Servlet把結(jié)果返回給客戶端。第四章系統(tǒng)實(shí)現(xiàn)4.1 Android 環(huán)境搭建任何事物要運(yùn)行,都要有它的環(huán)境,Android也有它的環(huán)境才能夠運(yùn)行,

54、下面介紹Android的開發(fā)環(huán)境配置.搭建開發(fā)環(huán)境需要的軟件:1、操作系統(tǒng): Windows 7 或 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 虛擬機(jī)、(JDK)Java Development kit安裝步驟如下:第一步:安裝Java虛擬機(jī)sun-java6-jdk 版本第二步: 安裝 Eclipse

55、3.5 工具 官網(wǎng)./downloads/選擇版本(圖4.1 ):進(jìn)行安裝WiTdcwsMac CartonMac Cocca 32bi: 64btLinux J2DI b44ltEciip5e for R3PrFlug-in DtveJose-s 080 ,-1B|ctmpleb d tools Tor le/e mtrn wno create Edipie f lug-ns or Rich Cbeit It inckjde: a complete ODk. d:vc eper :«ok- ord source and% plus Mjljn anHJML c

56、ditB 0日日 tte Eclipae Cammunrca icn-l>rc>0¥口帆1<3;?9/50圖4.1 eclipse 下載第三步:安裝 AndroidHttp:developer.android./sdkSDK:首先要下載 SDK,可以在這個網(wǎng)址下載,如圖4.2 ,選擇相應(yīng)的系統(tǒng)進(jìn)行安裝Z將推碎機(jī)ii*-力曰帶r_SPlfllWIU$iwMC4Wriduu33m期峋瓜jJM MM37W5L * : 21M初小1* mnr.«F¥'= 1 "|fr' "rffL,1|£F1* ?打" :皆:kllT西L" 口工一/鼻 卜cwr-toKl1311H 尹 m&i=rw= 2 j K 卜.«d F .HE jje -.'.4F -d LUK t-rk -* ? = uji , n:b : -r 聲»<1» mi atirrt 4出+-4工*+d Mil itvKuhj at-e hf

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論