最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

基于Android的外賣App系統(tǒng)設(shè)計(jì)

2022-12-12 00:31 作者:ChatGPT云炬學(xué)長  | 我要投稿





基于Android的外賣App系統(tǒng)設(shè)計(jì)


摘要


隨著智能手機(jī)的快速普及,智能手機(jī)操作系統(tǒng)市場風(fēng)生水起。為了讓智能手機(jī)用戶能夠隨時(shí)隨地查詢互聯(lián)網(wǎng)所提供的服務(wù),一種高效的辦法就是將應(yīng)用系統(tǒng)的功能拓展到手機(jī)終端上,讓手機(jī)能夠通過移動(dòng)網(wǎng)以及互聯(lián)網(wǎng)訪問Web網(wǎng)站并處理各種各樣的業(yè)務(wù)。因此,智能手機(jī)的應(yīng)用軟件及其需要的服務(wù)將有廣闊的發(fā)展前景。


在如今這個(gè)智能手機(jī)系統(tǒng)群雄紛爭的時(shí)候,2008年Google推出了一款名為Android的開源智能手機(jī)操作系統(tǒng),它采用Linux內(nèi)核,開放手機(jī)聯(lián)盟(OHA)成員可以任意使用和修改SDK包,系統(tǒng)的開源性使其具有良好的拓展性。這款軟件包括了操作系統(tǒng)、用戶界面和應(yīng)用程序,即智能手機(jī)工作所需要的全部軟件。Android的最大特點(diǎn)是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn),包括豐富的圖形組件、多媒體支持功能以及強(qiáng)大的瀏覽器。因此,對(duì)于軟件從業(yè)人員來說,Android平臺(tái)具有無限的吸引力。


本文就在分析討論Android手機(jī)軟件開發(fā)技術(shù)原理的基礎(chǔ)上,開發(fā)出能為用戶提供更好的基于Android平臺(tái)的外賣App系統(tǒng)軟件。


關(guān)鍵字:android;外賣App系統(tǒng);智能手機(jī)平臺(tái)


Abstract


With the rapid proliferation of smart phones, smart phone operating system market, wind and water. In order for smart phone users to check the Internet anytime, anywhere services provided an efficient way to expand the function of the system will be applied to the mobile phone terminal, the mobile phone to Internet access via mobile networks, and variety of Web sites and process business. Therefore, the smart phone applications and the need for the service will have broad prospects for development.


In today's smart phone system when disputes warlords, 2008, Google introduced a smart phone called the Android open source operating system, which uses Linux kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, the system It has a good open-source nature of the expansion of. The software includes the operating system, user interface and applications that need to work smart phones all the software. Android's biggest feature is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support, and powerful browser. Therefore, for software professionals is, Android platform has unlimited appeal.


On the basis of analysis and discussion of the Android mobile phone software development technical principles, developed to provide users with better catering system software based on the Android platform.


Keywords:android; food systems; smart phone platform


目 錄


摘要II


AbstractII


第一章緒論11


1.1 研究內(nèi)容11


1.2 研究意義11


1.3研究現(xiàn)狀和發(fā)展趨勢11


第二章 系統(tǒng)分析33


2.1 研究目標(biāo)33


2.2 需求分析33


2.3業(yè)務(wù)流程分析33


2.4數(shù)據(jù)流圖44


2.5數(shù)據(jù)字典55


2.6性能分析66


第三章 系統(tǒng)開發(fā)環(huán)境及相關(guān)技術(shù)77


3.1開發(fā)環(huán)境77


3.2 Java SDK7


3.3 Eclipse8


3.4 ADT9


3.5 Android SDK9


3.6 Tomcat服務(wù)器1313


3.7 JSP技術(shù)1414


3.8 JSON14


3.9 Android開發(fā)平臺(tái)搭建1717


第四章 程序設(shè)計(jì)1919


4.1 功能設(shè)計(jì)1919


4.2 數(shù)據(jù)庫設(shè)計(jì)1919


1.概念結(jié)構(gòu)設(shè)計(jì)1919


2.?dāng)?shù)據(jù)庫表設(shè)計(jì)2121


第五章程序開發(fā)2323


5.1 文件結(jié)構(gòu)與用途2323


5.2 系統(tǒng)實(shí)現(xiàn)2424


5.4.1登錄頁2424


5.4.2 后臺(tái)頁2424


5.4.3點(diǎn)菜2525


第六章 系統(tǒng)測試2828


6.1 軟件測試的重要性2828


6.2 測試實(shí)例的研究與選擇2828


6.3 測試環(huán)境與測試條件2929


6.4 系統(tǒng)運(yùn)行情況2929


6.5 系統(tǒng)評(píng)價(jià)2929


第七章總結(jié)3030


參考文獻(xiàn)3131


致 謝3232


第一章緒論


1.1 研究內(nèi)容


隨著手機(jī)的普及以及手機(jī)應(yīng)用的深入人心,近幾年“智能手機(jī)”成為了人們關(guān)注的話題,智能手機(jī)將成為人們獲取信息的主要設(shè)備。在當(dāng)今這個(gè)只能手機(jī)群雄爭鋒的時(shí)代,2008年Google推出了一款名為Android的開源智能手機(jī)操作系統(tǒng)。Android憑借其開放性和良好的人際界面,受到廣大手機(jī)生產(chǎn)商的重視。


當(dāng)今社會(huì)的生活節(jié)奏越來越快,隨著硬件移動(dòng)設(shè)備的越來越先進(jìn),人們對(duì)移動(dòng)設(shè)備的要求也越來越高,從以前的追求技術(shù)到現(xiàn)在的追求視覺,因此,也逐步的提高了對(duì)系統(tǒng)的要求,本課題是基于Android系統(tǒng)的“外賣App系統(tǒng)”軟件的設(shè)計(jì)與實(shí)現(xiàn)。


1.2 研究意義


當(dāng)今社會(huì)是一個(gè)信息技術(shù)迅速發(fā)展的社會(huì),人們的生活越來越離不開計(jì)算機(jī)和手機(jī)。作為一個(gè)計(jì)算機(jī)專業(yè)的學(xué)生,希望通過自己四年所學(xué)的知識(shí)編制一款基于Android平臺(tái)的外賣App系統(tǒng)軟件,方便你我方便他人。


現(xiàn)代社會(huì)的迅速發(fā)展使得人們的生活更加方便,人們也越來越會(huì)享受生活,催生了各種應(yīng)用,好友之間通過拼車、拼房、拼游、拼購可以增進(jìn)彼此的感情。同時(shí),因?yàn)槿藗兛梢宰悴怀鰬舯憧蛇M(jìn)行購物,娛樂,游戲等各種活動(dòng),通過這款基于Android系統(tǒng)的外賣App系統(tǒng)完善公共服務(wù)體系、改善公共服務(wù)手段、增加公共服務(wù)產(chǎn)品、提高公共服務(wù)質(zhì)量,更好地發(fā)揮對(duì)經(jīng)濟(jì)社會(huì)發(fā)展的現(xiàn)實(shí)性作用。


1.3研究現(xiàn)狀和發(fā)展趨勢


據(jù)Gartner最新數(shù)據(jù)顯示,2011年第二、三季度全球智能手機(jī)銷售繼續(xù)大幅增長,其中第三季度Android 的市場份額突破了 50%,達(dá)到了 52.5%,超過了 iOS 和 BlackBerry 系統(tǒng),成為全球第一大智能手機(jī)系統(tǒng)。2011第二、三季度與去年同期相比,增度分別是15.4%及22%,增勢迅猛。而塞班系統(tǒng)市場份額還是有 16.9%,但比起去年同期已經(jīng)是跌去一半,形勢非常嚴(yán)峻。iOS 的份額則略微有所下滑,從去年同期的 16.6% 跌到了 15%。BlackBerry OS 系統(tǒng)則有所下滑,而 Bada 份額則到了 2.2%。


毫無疑問,智能手機(jī)即將變成整個(gè)社會(huì)的趨勢了。而Android平臺(tái)的智能機(jī)在手機(jī)市場中已明顯的占有越來越多的比重。很多人都會(huì)選擇Android手機(jī)。


第二章 系統(tǒng)分析


2.1 研究目標(biāo)


了解Android應(yīng)用程序的設(shè)計(jì)和開發(fā)過程;


使用多種組件進(jìn)行基于Android 平臺(tái)的外賣App系統(tǒng)的軟件開發(fā)。 本軟件是基于Eclipse的開發(fā)環(huán)境,依托Tomcat服務(wù)器上的后臺(tái)數(shù)據(jù),開發(fā)出了針對(duì)Android平臺(tái)的外賣App系統(tǒng)。 2.2 需求分析 經(jīng)過對(duì)外賣App系統(tǒng)的了解、以及體驗(yàn)了點(diǎn)餐的流程,總結(jié)出本系統(tǒng)需要的功能如下: 登錄功能。使用系統(tǒng)之前必須登錄系統(tǒng),登錄過程通過無線網(wǎng)絡(luò),在后臺(tái)數(shù)據(jù)庫通過用戶名稱和密碼進(jìn)行查詢,注冊用戶方才可以使用該系統(tǒng)。 系統(tǒng)主菜單。系統(tǒng)登錄成功后進(jìn)入系統(tǒng)主菜單,主菜單通過圖形菜單的方式來展現(xiàn)系統(tǒng)的功能,單擊某個(gè)選項(xiàng)便進(jìn)入該功能的操作界面。 點(diǎn)菜功能。此功能可以根據(jù)用戶需要對(duì)菜單信息進(jìn)行添加、修改、查詢、刪除。并且在添加菜單信息時(shí)可為每個(gè)菜自動(dòng)生成菜編號(hào)。 菜單的查詢,包括:常規(guī)菜單,餐廳特色菜式,餐廳特價(jià)菜式等。 就餐結(jié)算功能。此功能可以根據(jù)用戶的需要進(jìn)行點(diǎn)菜,并能計(jì)算出顧客的點(diǎn)菜數(shù)及總金額。 從上面的描述中可以基本了解軟件的功能需求: 本軟件是一個(gè)Android 客戶端+JSP Servlet服務(wù)端應(yīng)用程序,啟動(dòng)Android上的應(yīng)用程序后可以登錄、查看菜譜等。Android客戶端上的信息數(shù)據(jù)是通過后臺(tái)JSP Servlet服務(wù)端應(yīng)用程序獲取的,這個(gè)后臺(tái)服務(wù)可以根據(jù)客戶端發(fā)出的請求,返回信息。 圖片和文字這些信息都保存在數(shù)據(jù)庫中。 2.3業(yè)務(wù)流程分析 在進(jìn)行業(yè)務(wù)流程分析時(shí),需要按照原有信息流動(dòng)過程,逐個(gè)地調(diào)查分析所有環(huán)節(jié)的處理業(yè)務(wù)、處理內(nèi)容、處理順序和對(duì)處理時(shí)間的要求,弄清各個(gè)環(huán)節(jié)需要的信息、信息來源、流經(jīng)去向、處理方法、計(jì)算方法、提供信息的時(shí)間和信息形態(tài)(報(bào)告、報(bào)單、屏幕顯示)等。 業(yè)務(wù)流程分析可以幫助開發(fā)者了解該業(yè)務(wù)處理過程,發(fā)現(xiàn)和處理系統(tǒng)調(diào)查工作中的錯(cuò)誤和疏漏。業(yè)務(wù)流程分析是通過業(yè)務(wù)流程圖來進(jìn)行,即用一些規(guī)定的符號(hào)及連線來表示某個(gè)具體業(yè)務(wù)處理過程。 具體業(yè)務(wù)流程如圖3.1所示。

數(shù)據(jù)流程是指數(shù)據(jù)在系統(tǒng)中產(chǎn)生、傳輸、加工處理、使用、存儲(chǔ)的過程[6]。數(shù)據(jù)流程分析是把數(shù)據(jù)在現(xiàn)行系統(tǒng)內(nèi)部的流動(dòng)抽象的獨(dú)立起來,舍去了具體組織機(jī)構(gòu)、信息載體、處理工具、物質(zhì)、材料等,單從數(shù)據(jù)流動(dòng)過程來考查實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式。 數(shù)據(jù)流程與數(shù)據(jù)流程分析是今后建立數(shù)據(jù)庫系統(tǒng)和設(shè)計(jì)功能模塊處理過程的基礎(chǔ)。描述數(shù)據(jù)流程的工具是數(shù)據(jù)流程圖以及其附帶的數(shù)據(jù)字典、處理邏輯等圖表。其中數(shù)據(jù)流程圖是描述系統(tǒng)邏輯模型的主要工具,它以少數(shù)幾種符號(hào)綜合地反映出信息在系統(tǒng)中的流動(dòng)、存儲(chǔ)和傳遞[7]。 在業(yè)務(wù)流程分析的基礎(chǔ)上,對(duì)數(shù)據(jù)流進(jìn)行了分析,從數(shù)據(jù)流動(dòng)過程考察了實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式。該系統(tǒng)的數(shù)據(jù)流圖分為頂層、一層、二層?,F(xiàn)行的頂層數(shù)據(jù)流圖如圖3.2所示。


圖3.2頂層數(shù)據(jù)流圖 由于論文的篇幅限制不能一一列舉數(shù)據(jù)流圖,只給出了部分?jǐn)?shù)據(jù)流圖,其他的數(shù)據(jù)流圖基本一致。 2.5數(shù)據(jù)字典 通過對(duì)系統(tǒng)數(shù)據(jù)流的分析,接下來用數(shù)據(jù)字典描述數(shù)據(jù)流圖中一些主要的數(shù)據(jù)元素條目、數(shù)據(jù)流、處理過程、數(shù)據(jù)存儲(chǔ)和外部實(shí)體[8]。 數(shù)據(jù)元素條目如表2.1所示。 表2.1數(shù)據(jù)元素 菜品信息編號(hào) 調(diào)入年份 數(shù)據(jù)元素條目 總編號(hào):1-101 編號(hào):101 名稱:菜品信息編號(hào) XXX 說明:菜品信息的編號(hào) 數(shù)據(jù)值類型:離散 長度:50 有關(guān)數(shù)據(jù)結(jié)構(gòu):菜品信息表如:123 數(shù)據(jù)元素條目如表2.2所示。 表2.2數(shù)據(jù)元素 注冊用戶信息編號(hào) 調(diào)入年份 數(shù)據(jù)元素條目 總編號(hào):1-101 編號(hào):101 名稱:注冊用戶信息編號(hào) XXX 說明:注冊用戶信息的編號(hào) 數(shù)據(jù)值類型:離散 長度:50 有關(guān)數(shù)據(jù)結(jié)構(gòu):注冊用戶信息表如:123 數(shù)據(jù)元素條目如表2.3所示。 表2.3數(shù)據(jù)元素 訂單信息編號(hào) 調(diào)入年份 數(shù)據(jù)元素條目 總編號(hào):1-101 編號(hào):101 名稱:訂單信息編號(hào) XXX 說明:訂單信息的編號(hào) 數(shù)據(jù)值類型:離散 長度:50 有關(guān)數(shù)據(jù)結(jié)構(gòu):訂單信息表如:123 數(shù)據(jù)元素條目如表2.4所示。 表2.4數(shù)據(jù)元素 管理員信息編號(hào) 調(diào)入年份 數(shù)據(jù)元素條目 總編號(hào):1-101 編號(hào):101 名稱:管理員信息編號(hào) XXX 說明:管理員信息的編號(hào) 數(shù)據(jù)值類型:離散 長度:50 有關(guān)數(shù)據(jù)結(jié)構(gòu):管理員信息表如:123 2.6性能分析 程序響應(yīng)速度快、安全性高、信息處理速度快。 第三章 系統(tǒng)開發(fā)環(huán)境及相關(guān)技術(shù) 3.1開發(fā)環(huán)境 Android的上層應(yīng)用程序是用Java語言開發(fā),同時(shí)還需要基于Dalvik虛擬機(jī),所以,Google公司推薦使用主流的Java繼承開發(fā)環(huán)境Eclipse。只有Eclipse還不夠,因?yàn)槭鞘褂肑ava語言進(jìn)行開發(fā),還應(yīng)該有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的應(yīng)用程序開發(fā)和Java開發(fā)有較大區(qū)別的,所以還需要有Google提供的Android SDK。同時(shí),還需要在Eclipse安裝ADT,為Android開發(fā)提供開發(fā)工具的升級(jí)或者變更,是Eclipse下開發(fā)工具的升級(jí)下載的工具。 簡言之,需要以下軟件,才能搭建Android開發(fā)環(huán)境,從而進(jìn)行Android應(yīng)用程序的開發(fā)。 (1) Java SDK (2) Eclipse (3) ADT (4) Android SDK 3.2 Java SDK JDK是sun公司java應(yīng)用程序和組件的開發(fā)環(huán)境,是編譯和測試工具,也是提供java程序的java虛擬機(jī)平臺(tái),是調(diào)試和運(yùn)行所不可缺少的工具。 首先在安裝前先要下載JDK,這可以從SUN公司的網(wǎng)站上下載,到http://java.sun.com/products/jdk/1.2這個(gè)頁面下載JDK1.2.2-001-win.exe或JDK 1.3-win.exe,由于筆者n.exe為例。下載后,雙擊JDK1.2.2-001-win.exe就可以開始安裝了,在安裝過程中有很多選項(xiàng),按個(gè)人需求正確選擇,這里我們以第一次安裝為例,全部選擇默認(rèn)配制即可,安裝的默認(rèn)路徑為[windows所在的根目錄(以下設(shè)為c:)]\jdk1.2.2,安裝完畢后就可以重新啟動(dòng)了。 啟動(dòng)時(shí)要更新環(huán)境變量,在開機(jī)時(shí)要自動(dòng)調(diào)用JDK系統(tǒng),因此要設(shè)置一些環(huán)境變量,我們以windows2000 server版系統(tǒng)為例進(jìn)行系統(tǒng)環(huán)境變量設(shè)置(在windows 9x系統(tǒng)中可在autoexe.txt中進(jìn)行設(shè)置)。設(shè)置方法如下: 在桌面上,用鼠標(biāo)右鍵單擊[我的電腦]圖標(biāo),選擇[屬性]按鈕,彈出[系統(tǒng)特性]對(duì)話匡,選擇[高級(jí)]選項(xiàng)卡,單擊[環(huán)境變量]按鈕,單擊[環(huán)境變量]對(duì)話匡,該對(duì)話匡有兩個(gè)選項(xiàng)組,分別為[Administrator的用戶變量]和[系統(tǒng)變量]兩個(gè)選項(xiàng)組。在[系統(tǒng)變量]選項(xiàng)組中找path變量,找到后單擊[編輯],彈出[編輯系統(tǒng)變量]對(duì)話匡,在其中[變量值]文本匡中輸入“(jdk所在根目錄以下設(shè)為C:)\jdk1.2.2\bin",然后按“確定”就ok了,這樣在運(yùn)行jsp時(shí)系統(tǒng)就可以自動(dòng)找到JDK路徑進(jìn)行編譯了。與此同時(shí),新建一個(gè)classpath變量,在[系統(tǒng)變量]選項(xiàng)組中,單擊[新建]按鈕,彈出[新建系統(tǒng)變量]對(duì)話匡,在[變量 名]文本匡中輸入“classpath",在[變]文本框中輸入:"c:\jdk1.2.2\lib\tools.jar;c:\jdk1.2.2\lib\dt.jar;c:\jsdk2.0\lib\jsdk.jar;", 然后單擊[確定]扭,然后再用此方法將c:\jdk1.2.2添加到j(luò)ava_home環(huán)境變量中,如果在安裝時(shí)沒有將其安裝在默認(rèn)目錄下,必須在此進(jìn)行環(huán)境變量的設(shè)置,否則系統(tǒng)將無法完成編譯工作。以上工作完成后回到最處的[系統(tǒng)特性]對(duì)話匡中,單擊[應(yīng)用]或按下[確定],JDK就安裝配制好了。 3.3 Eclipse Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。 雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java IDE 來使用,但 Eclipse 的目標(biāo)不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。 這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++、COBOL 和 Eiffel 等編程語言的插件已經(jīng)可用,或預(yù)計(jì)會(huì)推出。Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。 3.4 ADT Eclipse ADT 是 Eclipse 平臺(tái)下用來開發(fā) Android 應(yīng)用程序的插件。在企業(yè)開發(fā)中,很多程序員使用Eclipse IDE作為應(yīng)用的開發(fā)環(huán)境。為了使得Android應(yīng)用的創(chuàng)建,運(yùn)行和調(diào)試更加方便快捷。Android的開發(fā)團(tuán)隊(duì)專門針對(duì)Eclipse IDE定制了一個(gè)插件:Android Development Tools(ADT) 下載地址:https://dl-ssl.google.com/android/eclipse/ 然后安裝Eclipse插件ADT 啟動(dòng) Eclipse,選擇 Help > Install New Software,在出現(xiàn)的對(duì)話框里,點(diǎn)擊Add按鈕,在對(duì)話框的name一欄輸入“ADT”, 然后點(diǎn)擊Archive...,瀏覽和選擇已經(jīng)下載的ADT插件壓縮文件。 點(diǎn)擊 OK.。返回可用軟件的視圖,你會(huì)看到這個(gè)插件,然后選擇Developer Tools (會(huì)選中下面的“Android Developer Tools”和 “Android Editors“),點(diǎn)擊 Next,最后重啟 Eclipse。 3.5 Android SDK SDK:(software development kit)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Android SDK指的既是Android專屬的軟件開發(fā)工具包。 Android是谷歌(Google)公司推出的手機(jī)開發(fā)平臺(tái)。與iPhone相似,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級(jí)圖形顯示和上網(wǎng)功能,用戶能夠在手機(jī)上查看電子郵件、搜索網(wǎng)址和觀看視頻節(jié)目等,比iPhone等其他手機(jī)更強(qiáng)調(diào)搜索功能,界面更強(qiáng)大,可以說是一種融入全部Web應(yīng)用的單一平臺(tái)。 Android SDK包含了開發(fā)Android應(yīng)用所依賴的jar文件、運(yùn)行環(huán)境及相關(guān)工具。 下載地址: http://dl.google.com/android/android-sdk_r16-windows.zip 下載完SDK后,把.zip文件解壓到你電腦上合適位置。啟動(dòng) Eclipse,選擇window->preferences,在打開的視圖左邊點(diǎn)擊android,在右邊的SDK Location中選擇Android SDK所在位置。 剛下載下來的SDK的platforms文件夾是空的,可以通過雙擊SDK Setup.exe來獲取具體Android版本,如果連接不上,可以勾選settings下面的force https://....source to be fetched using http://...選項(xiàng),使用http方式連接


安裝完成后,可以點(diǎn)擊Available Packages查看已安裝的Android版本

點(diǎn)擊下圖所示的工具欄按鈕,打開虛擬設(shè)備管理器


點(diǎn)擊New新建一臺(tái)設(shè)備,然后設(shè)置好相應(yīng)的值

Skin下Build-in的各個(gè)選項(xiàng)如下所示


點(diǎn)擊Create AVD完成創(chuàng)建 然后在設(shè)備管理器界面選擇一個(gè)設(shè)備,點(diǎn)擊Start...啟動(dòng)設(shè)備,啟動(dòng)完成后,界面如下所示:

3.6 Tomcat服務(wù)器 Tomcat是一個(gè)免費(fèi)的開源的Servlet容器。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來不方便。 Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。 基于Tomcat的開發(fā)其實(shí)主要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡單,可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。 3.7 JSP技術(shù) JSP是Java Server Pages的簡稱,它是由Sun Microsystem公司于1999年6月推出,是基于Java Servlet以及整個(gè)Java體系的Web開發(fā)技術(shù)。作為J2EE體系中的重要一環(huán),JSP為創(chuàng)建高度動(dòng)態(tài)的Web應(yīng)用提供了一個(gè)獨(dú)特的開發(fā)環(huán)境。JSP能夠適應(yīng)市場上包括Apache WebServer、IIS4.0在內(nèi)的85%的服務(wù)器產(chǎn)品,這足以勝任絕大多數(shù)的商業(yè)事務(wù)處理。同時(shí)JSP代碼經(jīng)過服務(wù)器的解釋執(zhí)行后會(huì)直接嵌入到HTML語言中,這樣就簡化了頁面的輸出,也保留了腳本語言易于使用的優(yōu)點(diǎn)。SUN公司開發(fā)出這個(gè)規(guī)范來整合和平衡已經(jīng)存在的規(guī)范,對(duì)JAVA編程環(huán)境進(jìn)行支持的技術(shù)和工具。其結(jié)果是產(chǎn)生了一種新的,開發(fā)基于WEB應(yīng)用程序的方法,給予使用基于組件應(yīng)用邏輯的頁面設(shè)計(jì)者以強(qiáng)大的功能支持。JSP設(shè)計(jì)目標(biāo)是為了使動(dòng)態(tài)頁面編寫更容易,更簡單。JSP特點(diǎn)主要有以下幾點(diǎn):到處可執(zhí)行,JSP技術(shù)完全與平臺(tái)無關(guān)的設(shè)計(jì),包含它的動(dòng)態(tài)網(wǎng)頁和底層Server元件設(shè)計(jì),加強(qiáng)元件功能,更容易建立動(dòng)態(tài)網(wǎng)頁。 JDBC是Java Data Base Connectivity的簡稱,也就是java數(shù)據(jù)庫連接。它是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠編寫數(shù)據(jù)庫應(yīng)用程序。將Java語言和JDBC結(jié)合起來使程序員只須寫一遍程序就可以讓它在任何平臺(tái)上運(yùn)行,這也是Java語言“編寫一次,各處運(yùn)行“的特點(diǎn)。同時(shí)JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫企業(yè)也可以用 JDBC 通過 Intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫中。 3.8 JSON JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個(gè)子集。 JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成。 簡單地說,JSON 可以將 JavaScript 對(duì)象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個(gè)字符串,或者在異步應(yīng)用程序中將字符串從 Web 客戶機(jī)傳遞給服務(wù)器端程序。這個(gè)字符串看起來有點(diǎn)兒古怪,但是 JavaScript 很容易解釋它,而且 JSON 可以表示比"名稱 / 值對(duì)"更復(fù)雜的結(jié)構(gòu)。例如,可以表示數(shù)組和復(fù)雜的對(duì)象,而不僅僅是鍵和值的簡單列表。 表示名稱 / 值對(duì)   按照最簡單的形式,可以用下面這樣的 JSON 表示"名稱 / 值對(duì)":   { "firstName": "Brett" }   這個(gè)示例非常基本,而且實(shí)際上比等效的純文本"名稱 / 值對(duì)"占用更多的空間:   firstName=Brett   但是,當(dāng)將多個(gè)"名稱 / 值對(duì)"串在一起時(shí),JSON 就會(huì)體現(xiàn)出它的價(jià)值了。首先,可以創(chuàng)建包含多個(gè)"名稱 / 值對(duì)"的 記錄,比如:   { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }   從語法方面來看,這與"名稱 / 值對(duì)"相比并沒有很大的優(yōu)勢,但是在這種情況下 JSON 更容易使用,而且可讀性更好。例如,它明確地表示以上三個(gè)值都是同一記錄的一部分;花括號(hào)使這些值有了某種聯(lián)系。 表示數(shù)組   當(dāng)需要表示一組值時(shí),JSON 不但能夠提高可讀性,而且可以減少復(fù)雜性。例如,假設(shè)您希望表示一個(gè)人名列表。在 XML 中,需要許多開始標(biāo)記和結(jié)束標(biāo)記;如果使用典型的名稱 / 值對(duì)(就像在本系列前面文章中看到的那種名稱 / 值對(duì)),那么必須建立一種專有的數(shù)據(jù)格式,或者將鍵名稱修改為 person1-firstName這樣的形式。   如果使用 JSON,就只需將多個(gè)帶花括號(hào)的記錄分組在一起:   { "people": [   { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },   { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},   { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }   ]}   這不難理解。在這個(gè)示例中,只有一個(gè)名為 people的變量,值是包含三個(gè)條目的數(shù)組,每個(gè)條目是一個(gè)人的記錄,其中包含名、姓和電子郵件地址。上面的示例演示如何用括號(hào)將記錄組合成一個(gè)值。當(dāng)然,可以使用相同的語法表示多個(gè)值(每個(gè)值包含多個(gè)記錄):   { "programmers": [   { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },   { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },   { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }   ],   "authors": [   { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },   { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },   { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }   ],   "musicians": [   { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },   { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }   ] }   這里最值得注意的是,能夠表示多個(gè)值,每個(gè)值進(jìn)而包含多個(gè)值。但是還應(yīng)該注意,在不同的主條目(programmers、authors 和 musicians)之間,記錄中實(shí)際的名稱 / 值對(duì)可以不一樣。JSON 是完全動(dòng)態(tài)的,允許在 JSON 結(jié)構(gòu)的中間改變表示數(shù)據(jù)的方式。   在處理 JSON 格式的數(shù)據(jù)時(shí),沒有需要遵守的預(yù)定義的約束。所以,在同樣的數(shù)據(jù)結(jié)構(gòu)中,可以改變表示數(shù)據(jù)的方式,甚至可以以不同方式表示同一事物。 JSON和XML的比較    ◆可讀性    JSON和XML的可讀性可謂不相上下,一邊是簡易的語法,一邊是規(guī)范的標(biāo)簽形式,很難分出勝負(fù)。    ◆可擴(kuò)展性   XML天生有很好的擴(kuò)展性,JSON當(dāng)然也有,沒有什么是XML不能擴(kuò)展,而JSON卻不能。不過JSON在Javascript主場作戰(zhàn),可以存儲(chǔ)Javascript復(fù)合對(duì)象,有著xml不可比擬的優(yōu)勢。    ◆編碼難度   XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有提供的工具。無工具的情況下,相信熟練的開發(fā)人員一樣能很快的寫出想要的xml文檔和JSON字符串,不過,xml文檔要多很多結(jié)構(gòu)上的字符。   ◆解碼難度   XML的解析方式有兩種:一是通過文檔模型解析,也就是通過父標(biāo)簽索引出一組標(biāo)記。例如:xmlData.getElementsByTagName("tagName"),但是這樣是要在預(yù)先知道文檔結(jié)構(gòu)的情況下使用,無法進(jìn)行通用的封裝。    另外一種方法是遍歷節(jié)點(diǎn)(document 以及 childNodes)。這個(gè)可以通過遞歸來實(shí)現(xiàn),不過解析出來的數(shù)據(jù)仍舊是形式各異,往往也不能滿足預(yù)先的要求。   凡是這樣可擴(kuò)展的結(jié)構(gòu)數(shù)據(jù)解析起來一定都很困難。    JSON也同樣如此。如果預(yù)先知道JSON結(jié)構(gòu)的情況下,使用JSON進(jìn)行數(shù)據(jù)傳遞簡直是太美妙了,可以寫出很實(shí)用美觀可讀性強(qiáng)的代碼。如果你是純粹的前臺(tái)開發(fā)人員,一定會(huì)非常喜歡JSON。但是如果你是一個(gè)應(yīng)用開發(fā)人員,就不是那么喜歡了,畢竟xml才是真正的結(jié)構(gòu)化標(biāo)記語言,用于進(jìn)行數(shù)據(jù)傳遞。   而如果不知道JSON的結(jié)構(gòu)而去解析JSON的話,那簡直是噩夢。費(fèi)時(shí)費(fèi)力不說,代碼也會(huì)變得冗余拖沓,得到的結(jié)果也不盡人意。但是這樣也不影響眾多前臺(tái)開發(fā)人員選擇JSON。因?yàn)閖son.js中的toJSONString()就可以看到JSON的字符串結(jié)構(gòu)。當(dāng)然不是使用這個(gè)字符串,這樣仍舊是噩夢。常用JSON的人看到這個(gè)字符串之后,就對(duì)JSON的結(jié)構(gòu)很明了了,就更容易的操作JSON。 編碼的可讀性,xml有明顯的優(yōu)勢,畢竟人類的語言更貼近這樣的說明結(jié)構(gòu)。json讀起來更像一個(gè)數(shù)據(jù)塊,讀起來就比較費(fèi)解了。不過,我們讀起來費(fèi)解的語言,恰恰是適合機(jī)器閱讀,所以通過json的索引.province[0].name就能夠讀取“黑龍江”這個(gè)值。   編碼的手寫難度來說,xml還是舒服一些,好讀當(dāng)然就好寫。不過寫出來的字符JSON就明顯少很多。去掉空白制表以及換行的話,JSON就是密密麻麻的有用數(shù)據(jù),而xml卻包含很多重復(fù)的標(biāo)記字符。 3.9 Android開發(fā)平臺(tái)搭建 Android開發(fā)平臺(tái)搭建步驟: ①首先到http://www.eclipse.org/downloads/下載Eclipse集成開發(fā)環(huán)境并且解壓,這里推薦下載Java Classic 集成版本,可以為平臺(tái)的搭建省下不少工作。接著再去http://java.sun.com/javase/downloads/index.jsp 站點(diǎn)下載SDK后安裝,下載http://dl.google.com/android/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解壓。第一步下載工序就結(jié)束了。 ②雙擊Eclipse解壓后目錄中的eclipse.exe然后啟動(dòng),選擇Eclipse菜單中的Help-> Install New Software-> 選項(xiàng)卡上的Available Software,點(diǎn)擊右側(cè)的“Add”輸入http://dl-ssl.google.com/android/eclipse/后確定,然后在“Work with”下拉菜單中選擇剛才輸入的網(wǎng)址。過一會(huì)就會(huì)出現(xiàn)一個(gè)Developer Tools選項(xiàng),勾上以后點(diǎn)擊Next以后Eclipse會(huì)自動(dòng)網(wǎng)上查找Android 開發(fā)工具插件,然后找到Android DDMS和Android Development Tools,選中這兩個(gè)點(diǎn)擊Finish,Eclipse就會(huì)自動(dòng)下載并安裝Android插件了,最后會(huì)提示重啟Eclipse。 ③重啟后選擇Eclipse菜單中的Windows-> Preferences 在左側(cè)的Android項(xiàng)目中SDK Location中填入Android SDK解壓后的目錄,然后點(diǎn)擊Apply。 ④在WindowsXP的系統(tǒng)變量中的path變量中添加一個(gè)值,該值指向解壓后的Android SDK目錄下的tools文件夾。 第四章 程序設(shè)計(jì) 4.1 功能設(shè)計(jì) 從系統(tǒng)設(shè)計(jì)是一個(gè)把軟件需求轉(zhuǎn)換成用軟件系統(tǒng)表示的過程。通過對(duì)目標(biāo)系統(tǒng)的分析和研究,做出了外賣App系統(tǒng)的總體規(guī)劃,這是全面開發(fā)系統(tǒng)的重要基礎(chǔ)。在對(duì)外賣App系統(tǒng)全面分析調(diào)查的基礎(chǔ)上,制定出外賣App系統(tǒng)的總體規(guī)劃。系統(tǒng)設(shè)計(jì)包括系統(tǒng)總體設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)、系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)開發(fā)工具、開發(fā)技術(shù)和開發(fā)模式等。 從數(shù)據(jù)流圖出發(fā),對(duì)數(shù)據(jù)流圖進(jìn)行分析,得出的層次化的模塊結(jié)構(gòu)圖. 外賣App系統(tǒng)功能模塊圖如圖4.1所示:




圖4.1 外賣App系統(tǒng)功能模塊圖 4.2 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫是本系統(tǒng)的核心和基礎(chǔ)。它設(shè)計(jì)的好壞直接影響著整個(gè)系統(tǒng)的質(zhì)量。數(shù)據(jù)是一切系統(tǒng)設(shè)計(jì)的基礎(chǔ),通俗地說,數(shù)據(jù)庫設(shè)計(jì)就像高樓大廈的根基一樣,如果設(shè)計(jì)的不合理、不完善,將在系統(tǒng)開發(fā)過程中,甚至到后期的系統(tǒng)維護(hù)、功能變更和功能擴(kuò)充時(shí),引起較多問題,嚴(yán)重時(shí)甚至要重新設(shè)計(jì),重做大量已完成工作。 1.概念結(jié)構(gòu)設(shè)計(jì) 從數(shù)據(jù)需求分析中得出系統(tǒng)的實(shí)體屬性圖。 管理員實(shí)體屬性圖如圖4.3所示:

訂單信息實(shí)體屬性圖 E-R模型的組成元素有:實(shí)體、屬性、聯(lián)系。E-R模型用E-R圖表示。實(shí)體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對(duì)實(shí)體特征的描述。


模型中的實(shí)體相當(dāng)于實(shí)體集、一個(gè)表,而不是單個(gè)實(shí)體或表中的一行。實(shí)體用矩形框表示,實(shí)體名稱標(biāo)注在矩形框內(nèi)。用菱形表示實(shí)體間的聯(lián)系,菱形框內(nèi)寫上聯(lián)系名,用無向邊把菱形分別與有關(guān)實(shí)體相連接,在無向邊旁標(biāo)上聯(lián)系的類型。


屬性是實(shí)體的性質(zhì)。用橢圓框表示,與實(shí)體之間用一條線相連表的主碼是關(guān)鍵屬性,關(guān)鍵屬性項(xiàng)加下劃線。


各子系統(tǒng)模塊中主鍵相同的字段之間存在著相互關(guān)聯(lián)的關(guān)系。


在程序中實(shí)現(xiàn)對(duì)他們的完整性和一致性控制。


從數(shù)據(jù)需求分析中得出系統(tǒng)的實(shí)體屬性圖,遵循三范式原則,對(duì)實(shí)體之間的依賴關(guān)系進(jìn)行了整合,得出系統(tǒng)E-R圖。


2.?dāng)?shù)據(jù)庫表設(shè)計(jì)


本軟件中有數(shù)據(jù)需要存儲(chǔ)數(shù)據(jù)。因此選擇Mysql數(shù)據(jù)庫作為存儲(chǔ)數(shù)據(jù)的方法,建立數(shù)據(jù)庫b_food,并且建立表。


表4-1 管理員的數(shù)據(jù)庫表admin的結(jié)構(gòu)


表4-2 菜品的數(shù)據(jù)庫表food_info的結(jié)構(gòu)

表4-3訂單信息的數(shù)據(jù)庫表orders的結(jié)構(gòu)

表4-4商家信息的數(shù)據(jù)庫表shangjia的結(jié)構(gòu)


第五章程序開發(fā)

5.1 文件結(jié)構(gòu)與用途

在程序開發(fā)階段,首先確定“基于Android平臺(tái)外賣App系統(tǒng)”的工程名為b_food,據(jù)程序模塊設(shè)計(jì)的內(nèi)容,建立b_food工程。工程源代碼的結(jié)構(gòu)如圖5.1所示。

為了使源代碼文件的結(jié)構(gòu)更加清晰,b_food工程設(shè)置了多個(gè)命名空間,分別用來保存用戶界面、數(shù)據(jù)庫、后臺(tái)服務(wù)和工具實(shí)體的源代碼文件,源代碼文件的名稱以及說明如表5.1所示。

表5.1 b_food工程的文件用途說明

Android的資源文件保存在/res的子目錄中。其中、/res/anim目錄中保存的是產(chǎn)生動(dòng)畫效果的XML文件,/res/drawable/目錄中保存的是圖像文件,/res/values目錄中保存的是用來自定義字符串和顏色的文件,/res/xml目錄中保存的是XML格式的數(shù)據(jù)文件。所有在程序開發(fā)階段可以被調(diào)用的資源都保存在這些目錄中,具體每個(gè)資源文件的用途可以參考表5.2:


表5.2 資源文件名稱與用途

5.2 系統(tǒng)實(shí)現(xiàn)

5.4.1登錄頁

打開應(yīng)用后,即來到了外賣App系統(tǒng)的登錄頁面。如下圖所示:


5.4.2 首頁

點(diǎn)擊登陸頁右下角的登陸按鈕,即來到了外賣App系統(tǒng)的首頁界面。如下圖所示:

5.4.3點(diǎn)菜

登陸后,即來到了外賣App系統(tǒng)菜品信息的顯示界面。如下圖所示:


點(diǎn)擊列表中的一條信息,進(jìn)入詳細(xì)列表界面。如下圖所示:

點(diǎn)擊“添加到購物車”后,在菜品界面點(diǎn)擊menu,點(diǎn)擊“購物車”,進(jìn)入下訂單界面。如下圖所示:

第六章 系統(tǒng)測試


測試是開發(fā)時(shí)期最后一個(gè)階段,是保證軟件質(zhì)量的重要手段。軟件測試就是在受控制的條件下對(duì)系統(tǒng)或應(yīng)用程序進(jìn)行操作并評(píng)價(jià)操作結(jié)果的過程,所謂控制條件應(yīng)包括正常條件與非正常條件。軟件測試過程中應(yīng)該故意地去促使錯(cuò)誤的發(fā)生,也就是事情在不該出現(xiàn)的時(shí)候出現(xiàn)或者在應(yīng)該出現(xiàn)的時(shí)候沒有出現(xiàn)。從本質(zhì)上說,軟件測試是"探測",在“探測”中發(fā)現(xiàn)軟件的毛病。


6.1 軟件測試的重要性


軟件測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運(yùn)行維護(hù)階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點(diǎn),即認(rèn)為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗(yàn)本階段的成果是否接近預(yù)期的目標(biāo),盡可能早的發(fā)現(xiàn)錯(cuò)誤并加以修正,如果不在早期階段進(jìn)行測試,錯(cuò)誤的延時(shí)擴(kuò)散常常會(huì)導(dǎo)致最后成品測試的巨大困難。


事實(shí)上,對(duì)于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會(huì)有錯(cuò)。采用新的語言、先進(jìn)的開發(fā)方式、完善的開發(fā)過程,可以減少錯(cuò)誤的引入,但是不可能完全杜絕軟件中的錯(cuò)誤,這些引入的錯(cuò)誤需要測試來找出,軟件中的錯(cuò)誤密度也需要測試來進(jìn)行估計(jì)。測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計(jì)的那天起測試就一直伴隨著。統(tǒng)計(jì)表明,在典型的軟件開發(fā)項(xiàng)目中,軟件測試工作量往往占軟件開發(fā)總工作量的40%以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30%到50%。如果把維護(hù)階段也考慮在內(nèi),討論整個(gè)軟件生存期時(shí),測試的成本比例也許會(huì)有所降低,但實(shí)際上維護(hù)工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。


6.2 測試實(shí)例的研究與選擇


程序測試的主要方法分為兩大類,白盒測試和黑盒測試。


白盒測試:一種是以程序的內(nèi)部邏輯結(jié)構(gòu)為依據(jù)而設(shè)計(jì)測試用例的方法,因而又稱結(jié)構(gòu)測試或玻璃盒測試,將軟件看成一個(gè)透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測試用例,對(duì)軟件的邏輯路徑及過程進(jìn)行測試,檢查它與設(shè)計(jì)是否相符[17]。白盒測試就是要選取足夠的測試用例,對(duì)源代碼實(shí)行比較充分的覆蓋,以便盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。主要有兩種方法:一種稱為邏輯覆蓋法,另一種稱為路徑覆蓋法。


黑盒測試:也稱功能測試,數(shù)據(jù)驅(qū)動(dòng)測試等,它將待測對(duì)象堪稱是一個(gè)黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,只依據(jù)規(guī)格說明書檢查程序的功能是否能正常使用。


黑盒測試主要是根據(jù)輸入條件和輸出條件的確定測試數(shù)據(jù),來檢查程序是否能產(chǎn)生正確的輸出。進(jìn)行黑盒測試主要有下面幾種方法:等價(jià)分類法、邊界值分析法、猜錯(cuò)法、因果圖法。


本系統(tǒng)的測試綜合了白盒測試、黑盒測試兩種方法,但主要使用的是黑盒測試方法。在測試當(dāng)中遵循了“盡早地和不斷進(jìn)行測試”,“保證測試用例的完整性和有效性”原則。通過測試達(dá)到以下測試目的:


1.功能檢查:檢查功能是否爭取,是否遺漏或?qū)崿F(xiàn)不了應(yīng)該實(shí)現(xiàn)的功能等。


2接口檢查:檢查能否正確地接受信息或輸出信息。


3數(shù)據(jù)檢查:檢查數(shù)據(jù)結(jié)構(gòu)或外部信息是否有(如數(shù)據(jù)文件)訪問錯(cuò)誤。


4性能檢查:檢查性能需求能否得到滿足。


5初始化、終止檢查:檢查是否能進(jìn)行正確地初始化或終止。


6.3 測試環(huán)境與測試條件


處理器:Inter(R) Core (TM)2 Duo T5750


內(nèi)存:2GB


硬盤:160G


操作系統(tǒng):Windows XP


Android虛擬機(jī)版本:2.3


6.4 系統(tǒng)運(yùn)行情況


通過對(duì)系統(tǒng)的全面測試,所有測試條目都已經(jīng)通過,實(shí)現(xiàn)了基本要求,系統(tǒng)可以正常運(yùn)行。


6.5 系統(tǒng)評(píng)價(jià)


系統(tǒng)評(píng)價(jià)是指系統(tǒng)在正式運(yùn)行了一段時(shí)間之后,對(duì)它在功能上、技術(shù)上和經(jīng)濟(jì)上所進(jìn)行的審核評(píng)價(jià)。針對(duì)本系統(tǒng)的評(píng)價(jià)如下:


(1)系統(tǒng)功能評(píng)價(jià)


根據(jù)本系統(tǒng)開發(fā)前所訂的目標(biāo),在系統(tǒng)完成后經(jīng)過測試運(yùn)行,該系統(tǒng)達(dá)到了預(yù)定的開發(fā)目標(biāo),在實(shí)際使用中的功能可以滿足用戶需求。


(2)系統(tǒng)技術(shù)評(píng)價(jià)


本系統(tǒng)設(shè)計(jì)合理,功能達(dá)到了預(yù)期目標(biāo),且系統(tǒng)運(yùn)行后穩(wěn)定可靠,安全性高,具有實(shí)用性,大大提高了辦公效率。


(3)系統(tǒng)經(jīng)濟(jì)評(píng)價(jià)


在規(guī)定時(shí)間內(nèi),該系統(tǒng)完成了系統(tǒng)分析時(shí)所確定的系統(tǒng)開發(fā)目標(biāo),達(dá)到了設(shè)計(jì)要求,投入使用后為用戶節(jié)省了大量人力物力財(cái)力,提高了科學(xué)管理水平。


總結(jié)


經(jīng)過數(shù)個(gè)月的努力,Android平臺(tái)外賣App系統(tǒng)軟件終于完成了。由于對(duì)JAVA濃厚的興趣引發(fā)了我對(duì)Android的好奇心,從一開始什么都不懂一直摸索著運(yùn)用了很多高級(jí)技術(shù)完成了這個(gè)軟件。


在這個(gè)過程中,我學(xué)會(huì)了很多知識(shí),比如Android環(huán)境的搭建、Intent、Activity等,但我學(xué)會(huì)的最重要的一點(diǎn)是,利用現(xiàn)有的資源去解決問題,在圖書館、在網(wǎng)絡(luò)上尋找答案。


雖然,這個(gè)軟件目前運(yùn)行良好,但是我認(rèn)為代碼的健壯行還很差,在整個(gè)工程的構(gòu)思方面也不足,用戶操作界面還不夠靈活,這些問題還需要今后逐一解決。與此同時(shí),這個(gè)軟件還可以進(jìn)一步擴(kuò)展,例如“新聞資訊”等,是功能更加強(qiáng)大,帶給用戶更好的體驗(yàn)與生活的便捷。


參考文獻(xiàn)


[1] http://developer.android. com


[2]Google Buys Android for Its Mobile Arsenal.Businessweek.com.2005.08


[3]Lynnette Luna. Android now dominates mobile OS market and it may lean in malware too.fiercemobileit.com. 2011.03


[4] Day 74 Sales: Apple iPhone vs. Google Nexus One vs. Motorola Droid.


[5]Barra, Hugo (10 May 2011). "Android: momentum, mobile and more at Google I/O". The Official Google Blog. Retrieved 10 May 2011


[6]楊豐盛. Android應(yīng)用開發(fā)揭秘[M] 第一版.北京:機(jī)械工業(yè)出版社. 2010年


[7]靳巖,姚尚朗. Android 入門開發(fā)與實(shí)踐[M] 第一版. .北京:人民郵件出版社. 2009.


[8] http://www.apkbus.com


[9]朱桂英. Android開發(fā)應(yīng)用從入門到精通[M]. 第1版. 中國鐵道出版社, 2011.


[10] 扶松柏,于秀青. Android開發(fā)從入門到精通[M]. 第1版. 北京希望電子出版社, 2012.


[11]yizhi237. Android開發(fā)從入門到精通學(xué)習(xí)文檔[EB/OL]. [2013-3-8]. http://wenku.baidu.com/view/ef571e135f0e7cd18425364f.html.


[12] ShaneConder. Android移動(dòng)應(yīng)用開發(fā)從入門到精通[M]. 第1版. 人民郵電出版社, 2010.


[13] ??藸? Thinking in java[M]. 1. 機(jī)械工業(yè)出版社, 2007.


[14] Cadenhead R. Java入門經(jīng)典[M]. 第1版. 人民郵電出版社, 2012


2


致 謝


本課題的設(shè)計(jì)和論文撰寫過程中,我的指導(dǎo)老師給予了極大的幫助,為我提供了大量的相關(guān)資料。在完成課題設(shè)計(jì)的過程中,老師在總體設(shè)計(jì)思想上給予了許多重要的實(shí)際指導(dǎo),拓展了我的思路,使得我得以完成了任務(wù)。在此,我對(duì)老師的指導(dǎo)表示衷心的感謝。


同時(shí),我也衷心的感謝大學(xué)四年來對(duì)我的精心栽培,良好的校園環(huán)境、精良的師資隊(duì)伍、濃厚的校園文化都讓我深深懷念,都為我進(jìn)入社會(huì)提供了莫大的幫助。



基于Android的外賣App系統(tǒng)設(shè)計(jì)的評(píng)論 (共 條)

分享到微博請遵守國家法律
巴南区| 沂南县| 高阳县| 衡南县| 峡江县| 滦南县| 永平县| 南康市| 大渡口区| 平昌县| 石河子市| 工布江达县| 云阳县| 宾阳县| 东乌珠穆沁旗| 宜黄县| 锡林浩特市| 永川市| 新乡市| 牡丹江市| 河曲县| 滨海县| 霞浦县| 响水县| 西华县| 明星| 同仁县| 宁海县| 三都| 黔南| 万州区| 响水县| 柯坪县| 丹凤县| 富川| 开鲁县| 三亚市| 延安市| 石屏县| 泌阳县| 襄汾县|