




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于安卓技術的點餐系統(tǒng)的設計與實現(xiàn)基于安卓技術的點餐系統(tǒng)的設計與實現(xiàn)摘摘 要要隨著科學技術和社會經(jīng)濟的不斷提高,人們對服務的快捷、便利性要求也越來越高,從而對智能手機上的應用軟件提出了更高的要求。一個基于安卓技術的點餐系統(tǒng)能夠為用戶提供一個方便日常操作的便捷點餐功能,它能夠滿足廣大手機用戶的訂餐需要,為需求雙方提供了一個共贏的平臺。本系統(tǒng)正是為了實現(xiàn)手機網(wǎng)上訂餐而設計,所包含到的有關技術有:Android 平臺、MySQL 技術、Java 語言等技術。能夠實現(xiàn)訂餐、選擇座位、我的訂餐、人工服務、菜單管理、用戶管理等作用。用戶注冊后,登陸客戶端即可完成訂餐、瀏覽菜譜等功能。運行測試表明:該系統(tǒng)功
2、能完善、運行順暢穩(wěn)定,具有一定的商業(yè)實用價值。設計開發(fā)過程中,分析并解決了若干技術問題,鞏固并深化了本科階段所學的知識。關鍵詞關鍵詞: Android;MySQL;Java;測試The Design and Implementation of Meal Ordering System Based on Android TechnologyAbstractWith the constant improvement of science and technology and social economy, people also have increasingly high requirement
3、s for the efficiency and convenience of service, thus proposing a higher requirement for the application software on smartphone. A meal ordering system based on Android technology, which can provide a fast and easy ordering function convenient for daily operation, can meet numerous cellphone users d
4、emand for food ordering and provide a win-win platform for both demand sides.This system is exactly designed for achieving online meal ordering on cellphone, and involves the following relevant technologies: Android platform, MySQL technology, Java language. It mainly achieves functions of food orde
5、ring, seat selection, my order, manual service, menu management, and user management. After registration, the users can fulfill the functions of food ordering and menu browsing by logging in the client. The operational test indicates that: this system is complete in function and smooth and steady in
6、 operation, and has certain value of commercial utility. In the process of design and development, several technological problems are analyzed and solved, which consolidates and deepens the knowledge learned during undergraduate study. Key words: Android; MySQL; Java; test目目 錄錄論文總頁數(shù):34 頁1 緒論.11.1 課題
7、研究背景和意義.11.2 課題可行性分析 .12 系統(tǒng)分析.22.1 概述 .22.1.1 系統(tǒng)分析的原則.22.1.2 系統(tǒng)分析的方法.22.2 系統(tǒng)需求分析 .22.3 系統(tǒng)流程分析.42.4 系統(tǒng)用例圖 .52.5 開發(fā)環(huán)境平臺的選擇.63 總體設計.73.1 系統(tǒng)設計原則.73.2 系統(tǒng)設計目標.73.3 系統(tǒng)總體結構設計.84 數(shù)據(jù)庫設計 .84.1 服務端數(shù)據(jù)庫設計.84.2 數(shù)據(jù)庫 ER 圖.105 系統(tǒng)詳細設計與實現(xiàn).115.1 登錄模塊的實現(xiàn) .115.2 菜譜模塊的實現(xiàn) .155.3 在線下單模塊的實現(xiàn) .185.4 用戶訂單模塊的實現(xiàn) .215.5 服務端模塊的實現(xiàn) .2
8、45.5.1 人工服務模塊的實現(xiàn).255.5.2 菜譜管理模塊的實現(xiàn).265.5.3 用戶管理模塊的實現(xiàn).265.5.4 訂單管理模塊的實現(xiàn).285 系統(tǒng)測試.295.1 測試方法.295.2 測試內容.295.3 測試結果 .30總 結.31參考文獻.32致 謝.33聲 明.34第 1 頁 共 35 頁1 1 緒論緒論1.11.1 課題研究背景和意義課題研究背景和意義由于智能手機和手機軟件愈加廣泛的發(fā)展和運用,目前“手機 app”已經(jīng)成為廣受社會關注的焦點,手機應用逐漸變成人們進行信息交流的主要工具。在目前各種品牌手機爭相斗艷的時期,谷歌與 2008 年開始開發(fā)出一款廣受大家關注的移動操作系
9、統(tǒng)-Android。這一移動操作系統(tǒng)借助其極高的開放性與較好的優(yōu)化程度,獲得了手機生產(chǎn)廠家與適用人群越來越多的重視。如今科技突飛猛進、人們的生活節(jié)奏也逐漸加快,由于移動終端技術的日趨成熟,社會對于手機設備的功能需求變得愈來愈大,已逐漸從以往的技術需求轉變?yōu)楣δ苄枨螅?,移動軟件系統(tǒng)的需求也提高了很多。本設計是以Android 操作系統(tǒng)為基礎的“基于 android 技術的點餐系統(tǒng)”軟件的設計與實現(xiàn)。 為了方便用戶可以隨時隨地查看點餐信息,一種高效的辦法就是將點餐做成應用程序拓展到用戶的終端設備上,并且提供一些輔助功能。所以這次畢設的目標就致力于開發(fā)出一款基于 Android 手機平臺的點餐系
10、統(tǒng),來滿足用戶的需求?,F(xiàn)在社會上的的工作壓力很大并有增加的趨勢,人們已經(jīng)離不開有網(wǎng)絡的生活,網(wǎng)絡逐漸變成大家人生的重要組成。網(wǎng)上訂餐是專門為工作較忙以及經(jīng)常不出門的“宅人”設計的,不需要離家、不需要誑街就可以便捷購買到想要的食物的專業(yè)手機程序。此款系統(tǒng)可以不妨礙使用者的生活軌跡,又可以增添使用者生活樂趣、簡化購物程序,同時為許多商家提供了更多契機。1.21.2 課題可行性分析課題可行性分析智能手機的出現(xiàn)減少了很多方面的限制,具有很多優(yōu)勢,人們可以隨時隨地的傳遞信息,訂購商品,不論時間不論地點,正是這個優(yōu)點使得智能手機能夠受到越來越多人是喜愛,比如,用戶智能手機點餐速度迅速比傳統(tǒng)的點餐要快的多,
11、大大提高了效率。1.經(jīng)濟可行性由于世界經(jīng)濟水平的突飛猛進,科技水平得到了前所未有的巨大發(fā)展,社會正步入一個嶄新的網(wǎng)路信息時期。因為社會持續(xù)發(fā)展的生活與工作水平,人們的非物質需求正在逐漸增加,伴隨出現(xiàn)的就是網(wǎng)絡技術的持續(xù)進步,當代社會網(wǎng)絡應用變得愈加廣泛,人們之間的相互溝通日趨廣泛、交流也愈加簡便,所有這些,使得人們的生產(chǎn)生活方式發(fā)生了巨大轉變。是故,由于網(wǎng)絡技術的進步,電商領域逐漸發(fā)展,極大程度上改變了人們的購物方式。在如今這個年代,幾乎所有計算機使用者都能夠進行網(wǎng)上購物的操作,而且往往樂此不疲。第 2 頁 共 35 頁從長久的角度來想,安卓點餐系統(tǒng)的開發(fā)與應用還是存在很大的經(jīng)濟前景。2.技術
12、可行性技術可行性一般是因為現(xiàn)在已經(jīng)存在的的技術因素而控制的,比如,是否可以進行平穩(wěn)的功能開發(fā),軟、硬件功能會不會達到系統(tǒng)所規(guī)定的條件。如今這個時代,是網(wǎng)絡資源化的時代,網(wǎng)絡資源爆發(fā)式增長,這引起了所有其他相關技術的進步,所以對于技術條件來說是能夠實現(xiàn)的。本系統(tǒng)單個用 java 語言,使用 ssh 技術與 MySQL 數(shù)據(jù)庫進行開發(fā),上述技術在現(xiàn)在已經(jīng)很廣泛且很成熟,已經(jīng)無數(shù)次被應用于軟件與系統(tǒng)研究中,所有,這個系統(tǒng)對科學水平來說是能夠實現(xiàn)的。2 2 系統(tǒng)分析系統(tǒng)分析重點介紹了基于 Android 技術的點餐系統(tǒng)的可行性分析,這屬于本系統(tǒng)開發(fā)工作中的關鍵構成。簡單的介紹系統(tǒng)分析的重要性和方法,針
13、對本系統(tǒng),詳細介紹系統(tǒng)的需求和系統(tǒng)流程。2.12.1 概述概述系統(tǒng)分析簡單的就是分析系統(tǒng)的需求和功能,確認系統(tǒng)的功能的業(yè)務邏輯,將系統(tǒng)分成不同的模塊仔細的研究。包括系統(tǒng)流程,于總體設計的引導下,確定新系統(tǒng)邏輯功能。本著為用戶負責的規(guī)定,分析系統(tǒng)的過程。.1 系統(tǒng)分析的原則系統(tǒng)分析的原則做好系統(tǒng)分析工作很重要,系統(tǒng)分析能為軟件開發(fā)除去很多困難,減輕很多麻煩,當然系統(tǒng)分析不是簡單的分析系統(tǒng)的完成功能,系統(tǒng)分析要遵循一定的原則,這樣才能保證分析工作能夠順利進行,系統(tǒng)分析的原則有:1.設計規(guī)范原則2.面向用戶的原則3.結構化分析的原則在系統(tǒng)研究之前,分析以 Android 技術為基礎的
14、點餐結構應該達到的作用和實現(xiàn)的目標。首先從大的方面來講,它應該能夠完成點餐功能,從小的方面來說系統(tǒng)應該具有用戶退訂的功能。除了功能之外,同時系統(tǒng)也要包含一定擴展能力。 .2 系統(tǒng)分析的方法系統(tǒng)分析的方法結構化的系統(tǒng)分析方法經(jīng)典不變,它的精髓也可以用“自頂向下的逐層分解,逐步細分,逐步求精“幾個字來概括。因此,本系統(tǒng)也做到由抽象到具體,由大到小的措施實現(xiàn)結構化分析。在完成整個系統(tǒng)的開發(fā)的始終的過程中,人們往往將大量的精力放在編碼上,以為在規(guī)定的時間內完成編碼,實現(xiàn)功能就算是完成軟件的開發(fā)了,而忽略了編碼之前的系統(tǒng)設計。其實系統(tǒng)設計和系統(tǒng)第 3 頁 共 35 頁編碼是一個統(tǒng)一的整體
15、,每一部分都不可缺少。在系統(tǒng)設計中制定良好的編碼規(guī)范和開發(fā)流程,能夠確保無二義性,使得開發(fā)順利進行,這也能提高開發(fā)這的開發(fā)效率。2.22.2 系統(tǒng)需求分析系統(tǒng)需求分析客戶端功能需求分析:登錄、注冊:使用者想要運行系統(tǒng)必須登錄,如果未申請賬號能夠通過注冊模塊申請;菜譜查詢:查詢目前餐廳店菜單列表數(shù)據(jù);詳情查詢:可以查詢一個菜的全部數(shù)據(jù),有價格、介紹和數(shù)量;在線點餐:支持用戶在線下單點餐;選擇座位:支持使用者在 Android 手機上選座位;我的訂單:支持使能夠查看自己已經(jīng)下單的數(shù)據(jù),能夠刪掉自己的訂單;人工服務:客戶端可以呼叫服務員;服務端功能分析:登錄模塊:管理員登錄使用系統(tǒng);菜譜管理:管理員
16、能夠查看當前界面的數(shù)據(jù),能夠添加、修改或者刪除一個菜譜數(shù)據(jù);用戶管理:管理員能夠查看到當前系統(tǒng)已經(jīng)存在的用戶信息,能夠刪掉一個用戶信息;原材料管理:管理員可以查看當前系統(tǒng)的原材料信息,可以添加、修改或者刪除一個原材料信息,原材料庫存較低時會警報;訂單管理:管理員可以查看到當前的所有訂單信息,可以修改訂單狀態(tài),例如把一個進行中的訂單修改為已經(jīng)完成;具體的系統(tǒng)全部作用如圖 1:點餐系統(tǒng)后臺部分前臺部分點餐個人信息我的訂單人工服務登錄注冊人工服務管理菜譜管理訂單管理用戶信息管理原材料管理登錄退出第 4 頁 共 35 頁圖 1 系統(tǒng)功能框架圖2.32.3 系統(tǒng)流程分析系統(tǒng)流程分析為了使得完成的軟件能夠
17、平穩(wěn)運行,完善了系統(tǒng)流程的所有環(huán)節(jié)。對每個流程要用到的關鍵技術也做了充分準備。 首先本系統(tǒng)用戶在使用系統(tǒng)前都必須經(jīng)過用戶登錄驗證,只有驗證通過的用戶才能進入系統(tǒng), 用戶流程圖和管理員流程圖如圖 2 和圖 3 所示。圖 2 用戶流程圖第 5 頁 共 35 頁圖 3 管理員流程圖2.42.4 系統(tǒng)用例圖系統(tǒng)用例圖用戶用例圖:用戶登錄注冊瀏覽菜譜點餐我的訂單人工服務個人信息圖 4 用戶用例圖第 6 頁 共 35 頁本系統(tǒng)包含兩個構成部分即使用者與管理員。圖 4 為用戶用例圖。普通用戶有登錄、注冊、瀏覽菜譜、點餐、我的訂單、人工服務、個人信息七個一級用例。管理員用例圖:圖 5 管理員用例圖圖 5 為管
18、理員用例圖。管理員有后臺登錄管理、人工服務、菜譜管理、用戶管理、訂單管理、原材料管理 6 個一級用例。2.52.5 開發(fā)環(huán)境平臺的選擇開發(fā)環(huán)境平臺的選擇以 Eclipse 為開發(fā)工具,Tomcat 為 Web 應用服務器,采用 MySql 數(shù)據(jù)庫存儲數(shù)據(jù)。Eclipse 是一個企業(yè)級工作平臺,利用它可以在數(shù)據(jù)庫和 JavaEE 的開發(fā)、發(fā)布以及服務器的整合等方面極大的提高工作效率。Tomcat 是一個小型的輕量級應用服務器,它技術先進、性能穩(wěn)定、占用資源小、擴展性好、使用簡便而且開源。MySql 是一個開放源碼的小型關聯(lián)式數(shù)據(jù)庫管理系統(tǒng),被廣泛的應用在中小型網(wǎng)站中。它具有體積小、速度快、總體成
19、本低、開放源碼等特點。任何事物要運行,都要有它的環(huán)境,Android 也要有它的環(huán)境才能夠運行,下面介紹 Android 的開發(fā)環(huán)境配置。搭建開發(fā)環(huán)境需要的軟件:操作系統(tǒng):window XP 或 linux第 7 頁 共 35 頁軟件包:Android SDK(Software Development kit Java Development kit) 、ADT(Android Develoopment Tool)IDE 環(huán)境:Eclipse IDE+ADT Eclipse3.3 以上JDK:Java Runtime Environment 虛擬機 、(JDK)Java Development
20、 kit3 3 總體設計總體設計3.13.1 系統(tǒng)設計原則系統(tǒng)設計原則系統(tǒng)設計和系統(tǒng)編碼是一個統(tǒng)一的整體,每一部分都不可缺少。在系統(tǒng)設計中制定良好的編碼規(guī)范和開發(fā)流程,能夠確保無二義性,使得開發(fā)順利進行,這也能提高開發(fā)這的開發(fā)效率。此外,在進行系統(tǒng)設計過程中,還應該遵循的主要原則如下。1、適用性原則好的系統(tǒng)開發(fā)出來首先要能夠完成基本的功能,即滿足用戶的要求,這是軟件開發(fā)的首要目的。如果開發(fā)出來的軟件不能滿足用戶的需求,那么此軟件注定是失敗的開發(fā)。在此基礎上還要考慮軟件的的操作性,要能保證軟件在運行環(huán)境下沒有 bug,能讓用戶操作起來簡單,明了,還要功能全面易用化。不應該只考慮軟件的收益,否則必
21、將面臨很大的問題。2、可靠性安全性原則隨著計算機網(wǎng)絡的發(fā)展,網(wǎng)絡除了帶人人們便利之外也帶開了很多安全隱患,如,隱私安全、個人財產(chǎn)安全等等,雖然此次開發(fā)的系統(tǒng)簡單,但是安全問題是每個系統(tǒng)都必須考慮的問題。網(wǎng)上訂餐系統(tǒng)中既要保護用戶個人信息的安全,保證不被泄露,還要保證他們的財產(chǎn)安全。只有具備安全措施的系統(tǒng)才能夠讓用戶放心。3、可擴展性原則現(xiàn)在的科技發(fā)展速度之快,不僅是研發(fā)的快,更新?lián)Q代的速度也令人驚訝,科技技術不斷退陳舊新,因此,為了適應時代的發(fā)展速度,系統(tǒng)的可擴展能力也是開發(fā)過程中要考慮的事情。那么如何提高系統(tǒng)的可擴展性呢?這里就充分體現(xiàn)了設計在開發(fā)中的重要作用。在軟件設計的過程中,將網(wǎng)上訂餐
22、系統(tǒng)劃分成不同的功能模塊,并降低模塊之間的耦合度來提高系統(tǒng)的擴展性。3.23.2 系統(tǒng)設計目標系統(tǒng)設計目標在系統(tǒng)開發(fā)之前要對系統(tǒng)進行需求分析,功能概括,難點解析等等的工作,之后對于系統(tǒng)大概要完成什么目標,系統(tǒng)的界面和設計等問題的思考來滿足用戶的要求。系統(tǒng)設計過程中將系統(tǒng)分解為很多不同的小的系統(tǒng),然后對分成的小的系統(tǒng)的功能、技術進行分析討論,制定規(guī)定,在之后的開發(fā)中,先開發(fā)小的第 8 頁 共 35 頁系統(tǒng)之后進行整合,逐步完成開發(fā)。本系統(tǒng)是設計目標是建立一個基于 Android 技術的點餐系統(tǒng),可以滿足用戶對手機訂餐的需求。根據(jù)需求分析還有自己的生活體會,在線點餐系統(tǒng)一定要有以下基本的要求。(1
23、)界面看著新穎活力、大方美觀,吸引用戶。(2)具有易調試性和沒有 bug 性。(3)用戶能夠方便的查看所有的食品信息和單個用戶的詳細信息內容。 (4)具有操作方便、功能完善的管理功能。3.33.3 系統(tǒng)總體結構設計系統(tǒng)總體結構設計系統(tǒng)的總體結構設計是在軟件開發(fā)之前必須要做好的一件基本工作,作為一個優(yōu)秀的程序員不僅要有很強的編碼能力,對于系統(tǒng)的總體結構的設計也要很精通。做好系統(tǒng)的總體結構設計會讓系統(tǒng)開發(fā)順利進行,做到事半功倍。在此次系統(tǒng)的總體結構設計過程中,系統(tǒng)分為客戶端和服務端,客戶端是可以在安卓智能手機上使用的,服務端采用 Servlet 提供服務,持久化層采用MySQL,因為 MySQL
24、的安裝和配置都適合小型的系統(tǒng)。在進行系統(tǒng)的總體設計之后緊接著就是數(shù)據(jù)庫的需求設計。系統(tǒng)整體框架采用 C/S 模式,即客戶端/服務器模式,其中客戶端一方面與用戶交互,提供良好的用戶界面,另一方面與服務器端進行數(shù)據(jù)交換。服務器端向客戶端提供數(shù)據(jù)。管理員可以對數(shù)據(jù)進行增,刪,改,查等操作。圖 6 系統(tǒng) C/S 圖4 4 數(shù)據(jù)庫設計數(shù)據(jù)庫設計4.14.1 服務端數(shù)據(jù)庫設計服務端數(shù)據(jù)庫設計E-R 圖屬于一類概念模型,其本質是由真實社會過渡至虛擬世界的過度點。概念模型表示虛擬世界的部分,它表示真實社會過渡至虛擬世界的第一層抽象,極大的促進了數(shù)據(jù)庫設計者參與數(shù)據(jù)庫設計的進程,存在完善的語義表述功能,可以便捷
25、完善的描述用眾的所有語義概念,此外,其還應當合理、清晰和方便使用者理解。在開發(fā)系統(tǒng)的時候,要考慮數(shù)據(jù)庫的設計,第一要考慮的就是數(shù)據(jù)持久層要用的工具,由于本系統(tǒng)要包好的數(shù)據(jù)庫表并不多,一個小型的數(shù)據(jù)庫工具就第 9 頁 共 35 頁足以符合本系統(tǒng)的需求,所以本系統(tǒng)的數(shù)據(jù)庫采用了 MySQL。本設計一共使用了 5 個數(shù)據(jù)庫表,每個表的詳細設計結構:管理員表(admins)管理員表中包含這管理員的相關數(shù)據(jù),其表結構詳見表 1:表 1 管理員表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1idint11是是否auto_increment2loginidvarchar255是3passwordsvarchar2
26、55是菜譜表(dishes)菜譜表中存儲著菜譜相關信息,其表結構詳見表 2:表 2 菜譜表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1idint11是是否auto_increment2titletext是標題3shopidint11是類型 ID4typenametext是類型名稱5introtext是詳細介紹6img_urlvarchar255是圖片7pricedouble11是價格8amountdouble11是數(shù)量9burdennamesvarchar原材料10burdensvarchar原材料 ID訂單表(orders)訂單表中存儲著訂單的所有數(shù)據(jù),其表結構詳見表 3:表 3 訂單表序號列名
27、數(shù)據(jù)類型標識主鍵允許空說明1idint是是否auto_increment2useridint是3usernametext是下單人5statusint是6dishesidint是7pricedouble是8amountdouble是9createtimevarchar是下單時間食物分類表(shops)食物分類表中存儲著食物分類的相關信息,其表結構如表 4 所示:表 4 食物分類表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1idint11是是否auto_increment2nametext是類型名稱第 10 頁 共 35 頁用戶表(users)用戶表中存儲著用戶的相關數(shù)據(jù),其表結構詳見表 5:表 5
28、用戶表序號列名數(shù)據(jù)類型長度標識主鍵允許空說明1idint11是是否auto_increment2loginidvarchar255是登錄賬號3nametext是姓名4passwordsvarchar255是密碼4.24.2 數(shù)據(jù)庫數(shù)據(jù)庫 ERER 圖圖E-R 圖是 DOA(Data Orienteer Approach)的一種主要的設計方法,它的作用是處理對象的業(yè)務領域和系統(tǒng)的理想化樣式,從概念數(shù)據(jù)模型到 E-R Approach,根據(jù)實際的報表做出 E-R 圖。E-R 圖有實體及其間的對應關系組成。E-R 圖亦稱為實體-聯(lián)系圖(Entity Relationship Diagram),提供了
29、表示實體型、屬性和聯(lián)系的方法,能夠表示現(xiàn)實世界的概念模型。安卓點餐系統(tǒng)的 E-R 圖詳見 7:圖 7 系統(tǒng) E-R 圖安卓點餐系統(tǒng)的物理數(shù)據(jù)詳見圖 8:第 11 頁 共 35 頁圖 8 物理數(shù)據(jù)模型圖5 5 系統(tǒng)詳細設計與實現(xiàn)系統(tǒng)詳細設計與實現(xiàn)5.15.1 登錄模塊的實現(xiàn)登錄模塊的實現(xiàn)本系統(tǒng)使用前用戶需要登錄驗證,在登錄界面中,通過繼承一個 Activity來實現(xiàn),界面上的控件用到了 EditText、Button 和 CheckBox 等等組件, EditText 主要用來實現(xiàn)用戶帳號和密碼的輸入。登錄過程中用戶需要輸入賬號與密碼,并且經(jīng)由登錄按鈕來表達登錄意圖,意圖表達完成,系統(tǒng)會經(jīng)由 H
30、TTP 的過程將帳號與密碼發(fā)送到服務器端驗證,并返回服務端的驗證結果,如果驗證正確那么提示使用者登錄完成,然后自行轉入主界面;如果錯誤,那么提示使用者登錄失敗。該界面具有保存密碼成功,假如使用者在登錄時勾選了“保存密碼”復選框,則下次再進入到本界面用戶將不需要再次輸入密碼,而只需要點擊登錄按鈕即可實現(xiàn)登錄操作,記住密碼的過程是通過 Android 平臺提供的SharedPreferences 來實現(xiàn)的。當然如果用戶還沒有登錄賬號,則能夠通過“注冊”選項鏈接到用戶注冊界面,從而注冊一個新號碼;使用者登錄過程圖詳見圖 9,展示了使用者登錄功能的操作過程和系統(tǒng)處第 12 頁 共 35 頁理過程。圖
31、9 登錄界面流程圖具體的實現(xiàn)效果如圖 9 所示:圖 9 登錄界面第 13 頁 共 35 頁實現(xiàn)的核心代碼如下:loginActivity 的 doInBackground 的方法發(fā)起 url 請求,發(fā)送用戶名,密碼protected String doInBackground(String. params) String urlString = AppConstant.getUrl(getApplicationContext() + ServletService?Action=login; urlString += &loginid= + etLoginID.getText() + &
32、amp;passwords= + etPassword.getText();String json = httpHelper.HttpRequest(urlString);return json;loginActivity 的 onPostExecute 的方法 獲取服務器返回 json,驗證密碼是否正確loginActivity 的 dealLogin 是當密碼驗證成功后 跳轉到DishesListActivityOnLineUser model = new OnLineUser();/設置登陸成功的用戶屬性model.setId(jsonObject.getInt(id);model.se
33、tLoginid(etLoginID.getText().toString();model.setName(jsonObject.getString(name);application.setLoginUser(model);/彈出提示框toastUtil.show(model.getName() + ,登錄成功);/跳轉到登陸成功頁面intent = new Intent(LoginActivity.this, DishesListActivity.class);startActivity(intent);5.25.2 菜譜模塊的實現(xiàn)菜譜模塊的實現(xiàn)用戶成功登陸進入系統(tǒng)之后可以查看到當前系統(tǒng)所
34、有菜譜信息,包括菜譜的圖片、名稱、單價和詳細介紹信息,系統(tǒng)用了一個 ListView 組件來顯示系統(tǒng)的菜譜信息,同時用戶也可以通過界面左上角的搜索按鈕來搜索菜譜信息,用戶點擊一條信息之后可以查看一個菜譜的詳細介紹。菜譜模塊作用流程圖詳見圖 10,展示了訂餐模塊的用戶操作過程和系統(tǒng)處理過程。第 14 頁 共 35 頁圖 10 菜譜功能流程圖具體的實現(xiàn)效果如圖 11 和 12 所示:圖 11 菜譜大全界面第 15 頁 共 35 頁圖 12 菜譜分類界面實現(xiàn)的核心代碼如下:/請求獲取列表數(shù)據(jù)的代碼Overrideprotected String doInBackground(String. para
35、ms) String json = null;serverUrl = AppConstant.getUrl(getApplicationContext() + ServletService?Action=getdisheslist&shopid=+ shopid;BaseUtil.LogII(serverUrl);json = httpHelper.HttpRequest(serverUrl);return json;/解析列表數(shù)據(jù),并設置適配器的代碼list = new ArrayList();if (!TextUtils.isEmpty(result.trim() list = g
36、son.fromJson(result, new TypeTokenList() .getType(); else toastUtil.show(沒有數(shù)據(jù));第 16 頁 共 35 頁adapter = new DishesAdapter(DishesListActivity.this, list);listview1.setAdapter(adapter);點擊 listview 中的一項,會跳轉到詳情頁面,這其中會根據(jù) id 去調用webservice 查詢數(shù)據(jù)庫獲取到詳情數(shù)據(jù)/界面點擊跳轉的代碼listview1.setOnItemClickListener(new OnItemClic
37、kListener() Overridepublic void onItemClick(AdapterView parent, View view, int position, long id) intent = new Intent(DishesListActivity.this, GoodDetailActivity.class);intent.putExtra(id, list.get(position).getId();startActivity(intent););menu 的實現(xiàn),設置 menu 按鍵的彈出事件public boolean onCreateOptionsMenu(M
38、enu menu) super.onCreateOptionsMenu(menu);menu.add(0, 99, 0, 人工服務).setIcon(R.drawable.icon_application);menu.add(0, 100, 0, 注銷登錄).setIcon(R.drawable.icon_application);menu.add(0, 101, 0, 個人信息).setIcon(R.drawable.icon_application);menu.add(0, 106, 0, 我的訂單).setIcon(R.drawable.icon_application);menu.ad
39、d(0, 102, 0, 退出).setIcon(R.drawable.icon_application);return true;menu 選中觸發(fā)的事件參考 onOptionsItemSelected 方法選中 人工服務 按鈕后,會執(zhí)行 humanServices 方法private void humanServices() final String arg = new String6;for (int i = 0; i 0) try jsonArray = new JSONArray(result);jsonObject = jsonArray.getJSONObject(0);(Tex
40、tView) findViewById(R.id.tvTopTitleCenter).setText(jsonObject.getString(title);第 20 頁 共 35 頁(TextView) findViewById(R.id.tvTopTitleCenter).setTextSize(16);if (!TextUtils.isEmpty(jsonObject.getString(img_url) asyncImageLoader.loadBitmap(serverUrl + UploadFile/ + jsonObject.getString(img_url),imageVie
41、w1);String intro = 單價:¥ + jsonObject.getString(price) + n;intro += 數(shù)量: + jsonObject.getString(amount) + n;intro += 簡介: + jsonObject.getString(intro) + n 配料: + jsonObject.getString(burdennames);tvIntro.setText(intro); catch (JSONException e) e.printStackTrace();下單操作 使用 post 請求,提交數(shù)據(jù),實現(xiàn)代碼如下/提交訂單的代碼prot
42、ected String doInBackground(String. params) String urlString = AppConstant.getUrl(getApplicationContext() + ServletService;Map map = new HashMap();map.put(Action, createorder);map.put(dishesid, id);map.put(userid, user.getId();map.put(username, user.getName();map.put(amount, etAmount.getText();Strin
43、g result = httpHelper.HttpPost(urlString, map);return result;/判斷訂單提交后,webservice 的返回值,提示訂單是否提交成功protected void onPostExecute(String result) super.onPostExecute(result);dialog.dismiss();if (result != null & result.trim().equals(1) toastUtil.show(下單成功);第 21 頁 共 35 頁 else if (result.trim().equals(-
44、1) toastUtil.show(原料不足,下單失敗); else toastUtil.show(下單失敗);5.45.4 用戶訂單模塊的實現(xiàn)用戶訂單模塊的實現(xiàn)用戶的下單信息將會被記錄到服務端中,用戶可以隨時通過智能手機菜單鍵來打開查看自己已經(jīng)下過的訂單信息,包括菜式信息、下單數(shù)量、選擇的座位、下單時間和當前的訂單狀態(tài),同時用戶也可以長按一條訂單信息來彈出刪除菜單,用戶可以刪除一條訂單信息。我的訂單模塊作用流程圖詳見圖 15,展示了我的訂單模塊用戶的操作過程和系統(tǒng)處理過程。圖 15 我的訂單流程圖第 22 頁 共 35 頁具體的實現(xiàn)效果如圖 16 所示:圖 16 我的訂單界面實現(xiàn)的核心代碼如
45、下:/通過 url 請求獲取我的訂單數(shù)據(jù)protected String doInBackground(String. params) String json = null;serverUrl = AppConstant.getUrl(getApplicationContext() + ServletService?Action=getmyorderslist&userid=+ user.getId();json = httpHelper.HttpRequest(serverUrl);return json;/解析返回的 json 字符串,把數(shù)據(jù)展示到界面上jsonArray = ne
46、w JSONArray(result);for (int i = 0; i 0) 第 24 頁 共 35 頁toastUtil.show(取消成功);new loadAsyncTask().execute(); else toastUtil.show(取消失敗);5.55.5 服務端模塊的實現(xiàn)服務端模塊的實現(xiàn)服務端模塊具有兩方面作用,其一是給客戶端提供數(shù)據(jù)服務接口,客戶端調用服務端的接口來得到數(shù)據(jù)庫里面的菜譜、訂單等所有數(shù)據(jù),然后顯示在客戶端界面上。服務端存在另外一個作用:保證信息的動態(tài)維護,比如菜譜信息維護、用戶信息維護、訂單信息維護以及菜譜類型信息維護。比如管理員能夠于服務端依據(jù)真實狀況增
47、加一個菜式數(shù)據(jù)、刪除一個菜式數(shù)據(jù)等操作。圖 17 服務端模塊.1 人工服務模塊的實現(xiàn)人工服務模塊的實現(xiàn)使用者在前臺呼叫人工服務的操作不可以馬上執(zhí)行,需要管理員于后臺進行信息管理審核以確認它的操作性,管理員單擊后臺界面中的“人工服務”進入用戶人工服務處理頁面,該頁面會顯示近期所以的用戶呼叫的人工服務。人工服務處理頁面顯示的是呼叫人,呼叫時間等信息。人工服務主要通過從humanservices 表中查詢對應的用戶信息并顯示在頁面中,管理員審核后再對服務狀態(tài)進行修改,系統(tǒng)會根據(jù)提交的操作更新數(shù)據(jù)表。第 25 頁 共 35 頁流程圖如圖 18 所示。 圖 18 人工服務模塊流程圖人工服
48、務信息頁面如圖 19 所示。圖 19 人工服務信息圖.2 菜譜管理模塊的實現(xiàn)菜譜管理模塊的實現(xiàn)菜譜管理模塊用來完成對菜譜信息的添加,修改,刪除等功能,菜譜管理模塊流程如圖 20 所示,展示了管理員對菜譜的操作過程和系統(tǒng)處理過程。第 26 頁 共 35 頁圖 20 菜譜管理流程圖運行情況如圖 21 所示:圖 21 菜譜管理信息圖第 27 頁 共 35 頁.3 用戶管理模塊的實現(xiàn)用戶管理模塊的實現(xiàn)用戶管理模塊用來完成對用戶信息的修改,刪除等功能,用戶管理模塊流程如圖 22 所示,展示了管理員對用戶信息的操作過程和系統(tǒng)處理過程。圖 22 用戶管理流程圖運行情況如圖 2
49、3 所示:圖 23 用戶管理信息圖第 28 頁 共 35 頁.4 訂單管理模塊的實現(xiàn)訂單管理模塊的實現(xiàn)訂單管理模塊主要完成對訂單狀態(tài)的修改和刪除,訂單管理模塊作用流程詳見圖 24。圖 24 訂單管理流程圖運行情況如圖 25 所示:第 29 頁 共 35 頁圖 25 訂單管理信息圖5 5 系統(tǒng)測試系統(tǒng)測試5.15.1 測試方法測試方法測試是采用測試用例來檢測出程序可能存在錯誤,缺陷,失效和事故等影響程序正常工作的問題的一項軟件活動,測試包括靜態(tài)與動態(tài)兩種,其中的靜態(tài)測試包括靜態(tài)分析器分析,代碼評審等方式,動態(tài)測試包括黑盒與白盒兩種,灰盒測試與白盒、黑盒兩種類型均有一定區(qū)別與聯(lián)系,它不僅注重輸入輸出的合理性,而且注重內部表現(xiàn),可以發(fā)現(xiàn)黑盒與白盒測試所未重視的現(xiàn)象,尤其如端對端的數(shù)據(jù)流問題、分布式硬軟件組合問題和兼容性問題。5.25.2 測試內容測試內容“登錄測試”用例與結果如表 6:表 6 “登錄測試”測試系統(tǒng)安卓點餐系統(tǒng)版本功能模塊名登錄模塊對應開發(fā)人員劉子杰用例編號Test1用例設計者劉子杰測試人員劉子杰測試日期2015.5.13功能特性驗證登錄密碼測試目的驗證登陸用戶的密碼的是否正確前置條件運行程序測試步驟1、輸入正確密碼2、輸入錯誤密碼3、不輸入密碼期望結果1、登陸成功。2、登錄失敗3、登陸失敗實際結果與期望結果一致結論登錄模塊功能正確“
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 婚禮發(fā)言稿男方代表
- 家長會學生發(fā)言稿紀律
- 部門發(fā)言稿范文
- 山東省2024年高考化學一輪復習專題8.3實驗方案設計與評價考點掃描含解析
- 關于媒體發(fā)言稿
- 藝術教育創(chuàng)新報告
- 生物分類與環(huán)境適應
- 小學地理講解
- 七夕情感營銷應用
- 第六章 物質的物理屬性專題復習 2021-2022學年蘇科版物理八年級下冊
- (2025)輔警招聘公安基礎知識必刷題庫及參考答案
- 農(nóng)業(yè)機械設備維護與質量保障措施
- 基于圖像處理的CAD圖紙比對算法
- 人教版六年級下冊數(shù)學第二單元百分數(shù)(二)綜合練習卷-(附答案)
- 2025年大模型應用落地白皮書:企業(yè)AI轉型行動指南
- 《習近平法治思想概論(第二版)》 課件 2. 第二章 習近平法治思想的理論意義
- 2025年中國文玩電商行業(yè)發(fā)展現(xiàn)狀調查、競爭格局分析及未來前景預測報告
- 人教版高中英語挖掘文本深度學習-選修四-UNIT-4(答案版)
- 2024 大模型典型示范應用案例集-1
- 太陽能微動力農(nóng)村污水處理系統(tǒng)建設項目可行性研究報告
- JTG5120-2021公路橋涵養(yǎng)護規(guī)范
評論
0/150
提交評論