基于Android平臺的酒店預訂管理系統軟體設計
摘要
隨著智能手機的快速普及,智能手機作業系統市場風生水起,為了讓智能手機用戶能夠隨時隨地查詢互聯網所提供的服務,一種高效的辦法就是將應用系統的功能拓展到手機終端上,讓手機能夠通過移動網以及互聯網訪問Web網站并處理各種各樣的業務,因此,智能手機的應用軟體及其需要的服務將有廣闊的發展前景,
在如今這個智能手機系統群雄紛爭的時候,2008年Google推出了一款名為Android的開源智能手機作業系統,它采用Linux內核,開放手機聯盟(OHA)成員可以任意使用和修改SDK包,系統的開源性使其具有良好的拓展性,這款軟體包括了作業系統、用戶界面和應用程式,即智能手機作業所需要的全部軟體,Android的最大特點是其開放性體系架構,不僅具有非常好的開發、除錯環境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以及強大的瀏覽器,因此,對于軟體從業人員來說,Android平臺具有無限的吸引力,
本文就在分析討論Android手機軟體開發技術原理的基礎上,開發出能為用戶提供更好的基于Android平臺的酒店預訂管理系統軟體,
關鍵字:android;酒店預訂管理系統;智能手機平臺
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; hotel rooms management system; smart phone platform
目 錄
摘要 I
Abstract II
第一章 緒論 1
1.1 研究內容 1
1.2 研究意義 1
1.3研究現狀和發展趨勢 1
第二章 系統分析 3
2.1 研究目標 3
2.2 需求分析 3
2.3業務流程分析 4
2.4資料流圖 4
2.5資料字典 5
2.6性能分析 6
第三章 系統開發環境及相關技術 7
3.1開發環境 7
3.2 Java SDK 7
3.3 Eclipse 8
3.4 ADT 9
3.5 Android SDK 9
3.6 Tomcat服務器 13
3.7 JSP技術 14
3.8 JSON 14
3.9 Android開發平臺搭建 17
第四章 程式設計 20
4.1 功能設計 20
4.2 資料庫設計 20
1.概念結構設計 21
2.資料庫表設計 23
第五章 程式開發 25
5.1 檔案結構與用途 25
5.2 系統實作 26
5.2.1登錄頁 26
5.2.2 注冊頁 26
5.2.3酒店客房資訊 27
5.2.4我的訂單 29
第六章 系統測驗 31
6.1 軟體測驗的重要性 31
6.2 測驗實體的研究與選擇 32
6.3 測驗環境與測驗條件 32
6.4 系統運行情況 33
6.5 系統評價 33
第七章 總結 33
參考文獻 35
致 謝 36
第一章 緒論
1.1 研究內容
隨著手機的普及以及手機應用的深入人心,近幾年“智能手機”成為了人們關注的話題,智能手機將成為人們獲取資訊的主要設備,在當今這個只能手機群雄爭鋒的時代,2008年Google推出了一款名為Android的開源智能手機作業系統,Android憑借其開放性和良好的人際界面,受到廣大手機生產商的重視,
當今社會的生活節奏越來越快,隨著硬體移動設備的越來越先進,人們對移動設備的要求也越來越高,從以前的追求技術到現在的追求視覺,因此,也逐步的提高了對系統的要求,本課題是基于Android系統的“酒店預訂管理系統”軟體的設計與實作,
1.2 研究意義
當今社會是一個資訊技術迅速發展的社會,人們的生活越來越離不開計算機和手機,作為一個計算機專業的學生,希望通過自己四年所學的知識編制一款基于Android平臺的酒店預訂管理系統軟體,方便你我方便他人,
現代社會的迅速發展使得人們的生活更加方便,人們也越來越會享受生活,催生了各種應用,好友之間通過拼車、拼房、拼游、拼購可以增進彼此的感情,同時,因為人們可以足不出戶便可進行購物,娛樂,游戲等各種活動,通過這款基于Android系統的酒店預訂管理系統完善公共服務體系、改善公共服務手段、增加公共服務產品、提高公共服務質量,更好地發揮對經濟社會發展的現實性作用,
1.3研究現狀和發展趨勢
據Gartner最新資料顯示,2011年第二、三季度全球智能手機銷售繼續大幅增長,其中第三季度Android 的市場份額突破了 50%,達到了 52.5%,超過了 iOS 和 BlackBerry 系統,成為全球第一大智能手機系統,2011第二、三季度與去年同期相比,增度分別是15.2%及22%,增勢迅猛,而塞班系統市場份額還是有 16.9%,但比起去年同期已經是跌去一半,形勢非常嚴峻,iOS 的份額則略微有所下滑,從去年同期的 16.6% 跌到了 15%,BlackBerry OS 系統則有所下滑,而 Bada 份額則到了 2.2%,
毫無疑問,智能手機即將變成整個社會的趨勢了,而Android平臺的智能機在手機市場中已明顯的占有越來越多的比重,很多人都會選擇Android手機,
第二章 系統分析
2.1 研究目標
(1) 了解Android應用程式的設計和開發程序;
(2) 使用多種組件進行基于Android 平臺的酒店預訂管理系統的軟體開發,
本軟體是基于Eclipse的開發環境,依托Tomcat服務器上的后臺資料,開發出了針對Android平臺的酒店預訂管理系統,
2.2 需求分析
經過對酒店預訂管理系統的了解、以及體驗了酒店預訂管理系統的流程,總結出本系統需要的功能如下
(1)用戶注冊登錄
用戶注冊:系統將驗證用戶是否存在,以及用戶資訊是否合法,
用戶登錄:系統將驗證用戶是否存在,輸入資訊是否正確,
(2)管理員功能
管理員可以對用戶進行管理,可以查看用戶資訊,管理預訂,
(3)個人預訂功能
用戶可以查找,預訂該酒店客房,
(4)預約管理功能,
管理員可以對用戶的預約進行管理,可以查看用戶的預約資訊,還可以調整、洗掉用戶的預約,
(5)個人資訊維護功能,
用戶可以對自己的資訊進行增加、修改,也可以修改密碼,
從上面的描述中可以基本了解軟體的功能需求:
本軟體是一個Android 客戶端+JSP Servlet服務端應用程式,啟動Android上的應用程式后可以查看酒店客房預訂、會議室資訊等,Android客戶端上的資訊資料是通過后臺JSP Servlet服務端應用程式獲取的,這個后臺服務可以根據客戶端發出的請求,回傳資訊, 圖片和文字這些資訊都保存在資料庫中,
2.3業務流程分析
在進行業務流程分析時,需要按照原有資訊流動程序,逐個地調查分析所有環節的處理業務、處理內容、處理順序和對處理時間的要求,弄清各個環節需要的資訊、資訊來源、流經去向、處理方法、計算方法、提供資訊的時間和資訊形態(報告、報單、螢屏顯示)等,
業務流程分析可以幫助開發者了解該業務處理程序,發現和處理系統調查作業中的錯誤和疏漏,業務流程分析是通過業務流程圖來進行,即用一些規定的符號及連線來表示某個具體業務處理程序,
具體業務流程如圖3.1所示,

圖3.1業務流程圖
2.4資料流圖
資料流程是指資料在系統中產生、傳輸、加工處理、使用、存盤的程序[6],資料流程分析是把資料在現行系統內部的流動抽象的獨立起來,舍去了具體組織機構、資訊載體、處理工具、物質、材料等,單從資料流動程序來考查實際業務的資料處理模式,
資料流程與資料流程分析是今后建立資料庫系統和設計功能模塊處理程序的基礎,描述資料流程的工具是資料流程圖以及其附帶的資料字典、處理邏輯等圖表,其中資料流程圖是描述系統邏輯模型的主要工具,它以少數幾種符號綜合地反映出資訊在系統中的流動、存盤和傳遞[7],
在業務流程分析的基礎上,對資料流進行了分析,從資料流動程序考察了實際業務的資料處理模式,該系統的資料流圖分為頂層、一層、二層,現行的頂層資料流圖如圖3.2所示,

圖3.2頂層資料流圖
由于論文的篇幅限制不能一一列舉資料流圖,只給出了部分資料流圖,其他的資料流圖基本一致,
2.5資料字典
通過對系統資料流的分析,接下來用資料字典描述資料流圖中一些主要的資料元素條目、資料流、處理程序、資料存盤和外部物體[8],
資料元素條目如表2.1所示,
表2.1資料元素
資料元素條目如表2.2所示,
表2.2資料元素
資料元素條目如表2.3所示,
表2.3資料元素
2.6性能分析
程式回應速度快、安全性高、資訊處理速度快,
第三章 系統開發環境及相關技術
3.1開發環境
Android的上層應用程式是用Java語言開發,同時還需要基于Dalvik虛擬機,所以,Google公司推薦使用主流的Java繼承開發環境Eclipse,只有Eclipse還不夠,因為是使用Java語言進行開發,還應該有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment),此外,Android的應用程式開發和Java開發有較大區別的,所以還需要有Google提供的Android SDK,同時,還需要在Eclipse安裝ADT,為Android開發提供開發工具的升級或者變更,是Eclipse下開發工具的升級下載的工具,
簡言之,需要以下軟體,才能搭建Android開發環境,從而進行Android應用程式的開發,
(1) Java SDK
(2) Eclipse
(3) ADT
(4) Android SDK
3.2 Java SDK
JDK是sun公司java應用程式和組件的開發環境,是編譯和測驗工具,也是提供java程式的java虛擬機平臺,是除錯和運行所不可缺少的工具,
首先在安裝前先要下載JDK,這可以從SUN公司的網站上下載,到http://java.sun.com/products/jdk/1.2這個頁面下載JDK1.2.2-001-win.exe或JDK 1.3-win.exe,由于筆者n.exe為例,下載后,雙擊JDK1.2.2-001-win.exe就可以開始安裝了,在安裝程序中有很多選項,按個人需求正確選擇,這里我們以第一次安裝為例,全部選擇默認配制即可,安裝的默認路徑為[windows所在的根目錄(以下設為c:)]\jdk1.2.2,安裝完畢后就可以重新啟動了,
啟動時要更新環境變數,在開機時要自動呼叫JDK系統,因此要設定一些環境變數,我們以windows2000 server版系統為例進行系統環境變數設定(在windows 9x系統中可在autoexe.txt中進行設定),設定方法如下:
在桌面上,用滑鼠右鍵單擊[我的電腦]圖示,選擇[屬性]按鈕,彈出[系統特性]對話匡,選擇[高級]選項卡,單擊[環境變數]按鈕,單擊[環境變數]對話匡,該對話匡有兩個選項組,分別為[Administrator的用戶變數]和[系統變數]兩個選項組,在[系統變數]選項組中找path變數,找到后單擊[編輯],彈出[編輯系統變數]對話匡,在其中[變數值]文本匡中輸入“(jdk所在根目錄以下設為C:)\jdk1.2.2\bin",然后按“確定”就ok了,這樣在運行jsp時系統就可以自動找到JDK路徑進行編譯了,與此同時,新建一個classpath變數,在[系統變數]選項組中,單擊[新建]按鈕,彈出[新建系統變數]對話匡,在[變數
名]文本匡中輸入“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添加到java_home環境變數中,如果在安裝時沒有將其安裝在默認目錄下,必須在此進行環境變數的設定,否則系統將無法完成編譯作業,以上作業完成后回到最處的[系統特性]對話匡中,單擊[應用]或按下[確定],JDK就安裝配制好了,
3.3 Eclipse
Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發平臺,就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境,幸運的是,Eclipse 附帶了一個標準的插件集,包括 Java 開發工具(Java Development Tools,JDT),
雖然大多數用戶很樂于將 Eclipse 當作 Java IDE 來使用,但 Eclipse 的目標不僅限于此,Eclipse 還包括插件開發環境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟體開發人員,因為它允許他們構建與 Eclipse 環境無縫集成的工具,由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所,
這種平等和一致性并不僅限于 Java 開發工具,盡管 Eclipse 是使用 Java 語言開發的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++、COBOL 和 Eiffel 等編程語言的插件已經可用,或預計會推出,Eclipse 框架還可用來作為與軟體開發無關的其他應用程式型別的基礎,比如內容管理系統,Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發平臺,就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境,
3.4 ADT
Eclipse ADT 是 Eclipse 平臺下用來開發 Android 應用程式的插件,在企業開發中,很多程式員使用Eclipse IDE作為應用的開發環境,為了使得Android應用的創建,運行和除錯更加方便快捷,Android的開發團隊專門針對Eclipse IDE定制了一個插件:Android Development Tools(ADT)
下載地址:https://dl-ssl.google.com/android/eclipse/
然后安裝Eclipse插件ADT
啟動 Eclipse,選擇 Help > Install New Software,在出現的對話框里,點擊Add按鈕,在對話框的name一欄輸入“ADT”, 然后點擊Archive…,瀏覽和選擇已經下載的ADT插件壓縮檔案,
點擊 OK.,回傳可用軟體的視圖,你會看到這個插件,然后選擇Developer Tools (會選中下面的“Android Developer Tools”和 “Android Editors“),點擊 Next,最后重啟 Eclipse,
3.5 Android SDK
SDK:(software development kit)軟體開發工具包,被軟體開發工程師用于為特定的軟體包、軟體框架、硬體平臺、作業系統等建立應用軟體的開發工具的集合,因此,Android SDK指的既是Android專屬的軟體開發工具包,
Android是谷歌(Google)公司推出的手機開發平臺,與iPhone相似,Android采用WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網功能,用戶能夠在手機上查看電子郵件、搜索網址和觀看視頻節目等,比iPhone等其他手機更強調搜索功能,界面更強大,可以說是一種融入全部Web應用的單一平臺,
Android SDK包含了開發Android應用所依賴的jar檔案、運行環境及相關工具,
下載地址: http://dl.google.com/android/android-sdk_r16-windows.zip
下載完SDK后,把.zip檔案解壓到你電腦上合適位置,啟動 Eclipse,選擇window->preferences,在打開的視圖左邊點擊android,在右邊的SDK Location中選擇Android SDK所在位置,
剛下載下來的SDK的platforms檔案夾是空的,可以通過雙擊SDK Setup.exe來獲取具體Android版本,如果連接不上,可以勾選settings下面的force https://…source to be fetched using http://…選項,使用http方式連接
安裝完成后,可以點擊Available Packages查看已安裝的Android版本
點擊下圖所示的工具列按鈕,打開虛擬設備管理器
點擊New新建一臺設備,然后設定好相應的值
Skin下Build-in的各個選項如下所示
點擊Create AVD完成創建
然后在設備管理器界面選擇一個設備,點擊Start…啟動設備,啟動完成后,界面如下所示:
3.6 Tomcat服務器
Tomcat是一個免費的開源的Servlet容器,與傳統的桌面應用程式不同,Tomcat中的應用程式是一個WAR(Web Archive)檔案,WAR是Sun提出的一種Web應用程式格式,與JAR類似,也是許多檔案的一個壓縮包,這個包中的檔案按一定目錄結構來組織:通常其根目錄下包含有Html和Jsp檔案或者包含這兩種檔案的目錄,另外還會有一個WEB-INF目錄,這個目錄很重要,通常在WEB-INF目錄下有一個web.xml檔案和一個classes目錄,web.xml是這個應用的組態檔,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean),通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當然也可以放到系統的CLASSPATH中,但那樣移植和管理起來不方便,
Tomcat不僅僅是一個Servlet容器,它也具有傳統的Web服務器的功能:處理Html頁面,但是與Apache相比,它的處理靜態Html的能力就不如Apache,我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態Html,而Tomcat處理Jsp和Servlet,這種集成只需要修改一下Apache和Tomcat的組態檔即可,
基于Tomcat的開發其實主要是Jsp和Servlet的開發,開發Jsp和Servlet非常簡單,可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可,
3.7 JSP技術
JSP是Java Server Pages的簡稱,它是由Sun Microsystem公司于1999年6月推出,是基于Java Servlet以及整個Java體系的Web開發技術,作為J2EE體系中的重要一環,JSP為創建高度動態的Web應用提供了一個獨特的開發環境,JSP能夠適應市場上包括Apache WebServer、IIS4.0在內的85%的服務器產品,這足以勝任絕大多數的商業事務處理,同時JSP代碼經過服務器的解釋執行后會直接嵌入到HTML語言中,這樣就簡化了頁面的輸出,也保留了腳本語言易于使用的優點,SUN公司開發出這個規范來整合和平衡已經存在的規范,對JAVA編程環境進行支持的技術和工具,其結果是產生了一種新的,開發基于WEB應用程式的方法,給予使用基于組件應用邏輯的頁面設計者以強大的功能支持,JSP設計目標是為了使動態頁面撰寫更容易,更簡單,JSP特點主要有以下幾點:到處可執行,JSP技術完全與平臺無關的設計,包含它的動態網頁和底層Server元件設計,加強元件功能,更容易建立動態網頁,
JDBC是Java Data Base Connectivity的簡稱,也就是java資料庫連接,它是一種用于執行SQL陳述句的Java API,可以為多種關系資料庫提供統一訪問,它由一組用Java語言撰寫的類和介面組成,JDBC提供了一種基準,據此可以構建更高級的工具和介面,使資料庫開發人員能夠撰寫資料庫應用程式,將Java語言和JDBC結合起來使程式員只須寫一遍程式就可以讓它在任何平臺上運行,這也是Java語言“撰寫一次,各處運行“的特點,同時JDBC 擴展了 Java 的功能,例如,用 Java 和 JDBC API 可以發布含有 applet 的網頁,而該 applet 使用的資訊可能來自遠程資料庫企業也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部資料庫中,
3.8 JSON
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式,它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集, JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等),這些特性使JSON成為理想的資料交換語言,易于人閱讀和撰寫,同時也易于機器決議和生成,
簡單地說,JSON 可以將 JavaScript 物件中表示的一組資料轉換為字串,然后就可以在函式之間輕松地傳遞這個字串,或者在異步應用程式中將字串從 Web 客戶機傳遞給服務器端程式,這個字串看起來有點兒古怪,但是 JavaScript 很容易解釋它,而且 JSON 可以表示比"名稱 / 值對"更復雜的結構,例如,可以表示陣列和復雜的物件,而不僅僅是鍵和值的簡單串列,
表示名稱 / 值對
按照最簡單的形式,可以用下面這樣的 JSON 表示"名稱 / 值對": { “firstName”: “Brett” } 這個示例非常基本,而且實際上比等效的純文本"名稱 / 值對"占用更多的空間: firstName=Brett 但是,當將多個"名稱 / 值對"串在一起時,JSON 就會體現出它的價值了,首先,可以創建包含多個"名稱 / 值對"的 記錄,比如: { “firstName”: “Brett”, “lastName”:“McLaughlin”, “email”: “aaaa” } 從語法方面來看,這與"名稱 / 值對"相比并沒有很大的優勢,但是在這種情況下 JSON 更容易使用,而且可讀性更好,例如,它明確地表示以上三個值都是同一記錄的一部分;花括號使這些值有了某種聯系,
表示陣列
當需要表示一組值時,JSON 不但能夠提高可讀性,而且可以減少復雜性,例如,假設您希望表示一個人名串列,在 XML 中,需要許多開始標記和結束標記;如果使用典型的名稱 / 值對(就像在本系列前面文章中看到的那種名稱 / 值對),那么必須建立一種專有的資料格式,或者將鍵名稱修改為 person1-firstName這樣的形式, 如果使用 JSON,就只需將多個帶花括號的記錄分組在一起: { “people”: [ { “firstName”: “Brett”, “lastName”:“McLaughlin”, “email”: “aaaa” }, { “firstName”: “Jason”, “lastName”:“Hunter”, “email”: “bbbb”}, { “firstName”: “Elliotte”, “lastName”:“Harold”, “email”: “cccc” } ]} 這不難理解,在這個示例中,只有一個名為 people的變數,值是包含三個條目的陣列,每個條目是一個人的記錄,其中包含名、姓和電子郵件地址,上面的示例演示如何用括號將記錄組合成一個值,當然,可以使用相同的語法表示多個值(每個值包含多個記錄): { “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” } ] } 這里最值得注意的是,能夠表示多個值,每個值進而包含多個值,但是還應該注意,在不同的主條目(programmers、authors 和 musicians)之間,記錄中實際的名稱 / 值對可以不一樣,JSON 是完全動態的,允許在 JSON 結構的中間改變表示資料的方式, 在處理 JSON 格式的資料時,沒有需要遵守的預定義的約束,所以,在同樣的資料結構中,可以改變表示資料的方式,甚至可以以不同方式表示同一事物,
JSON和XML的比較
◆可讀性
JSON和XML的可讀性可謂不相上下,一邊是簡易的語法,一邊是規范的標簽形式,很難分出勝負,
◆可擴展性 XML天生有很好的擴展性,JSON當然也有,沒有什么是XML不能擴展,而JSON卻不能,不過JSON在Javascript主場作戰,可以存盤Javascript復合物件,有著xml不可比擬的優勢,
◆編碼難度 XML有豐富的編碼工具,比如Dom4j、JDom等,JSON也有提供的工具,無工具的情況下,相信熟練的開發人員一樣能很快的寫出想要的xml檔案和JSON字串,不過,xml檔案要多很多結構上的字符,
◆解碼難度 XML的決議方式有兩種:一是通過檔案模型決議,也就是通過父標簽索引出一組標記,例如:xmlData.getElementsByTagName(“tagName”),但是這樣是要在預先知道檔案結構的情況下使用,無法進行通用的封裝,
另外一種方法是遍歷節點(document 以及 childNodes),這個可以通過遞回來實作,不過決議出來的資料仍舊是形式各異,往往也不能滿足預先的要求, 凡是這樣可擴展的結構資料決議起來一定都很困難,
JSON也同樣如此,如果預先知道JSON結構的情況下,使用JSON進行資料傳遞簡直是太美妙了,可以寫出很實用美觀可讀性強的代碼,如果你是純粹的前臺開發人員,一定會非常喜歡JSON,但是如果你是一個應用開發人員,就不是那么喜歡了,畢竟xml才是真正的結構化標記語言,用于進行資料傳遞, 而如果不知道JSON的結構而去決議JSON的話,那簡直是噩夢,費時費力不說,代碼也會變得冗余拖沓,得到的結果也不盡人意,但是這樣也不影響眾多前臺開發人員選擇JSON,因為json.js中的toJSONString()就可以看到JSON的字串結構,當然不是使用這個字串,這樣仍舊是噩夢,常用JSON的人看到這個字串之后,就對JSON的結構很明了了,就更容易的操作JSON,
編碼的可讀性,xml有明顯的優勢,畢竟人類的語言更貼近這樣的說明結構,json讀起來更像一個資料塊,讀起來就比較費解了,不過,我們讀起來費解的語言,恰恰是適合機器閱讀,所以通過json的索引.province[0].name就能夠讀取“黑龍江”這個值, 編碼的手寫難度來說,xml還是舒服一些,好讀當然就好寫,不過寫出來的字符JSON就明顯少很多,去掉空白制表以及換行的話,JSON就是密密麻麻的有用資料,而xml卻包含很多重復的標記字符,
3.9 Android開發平臺搭建
Android開發平臺搭建步驟:
①首先到http://www.eclipse.org/downloads/下載Eclipse集成開發環境并且解壓,這里推薦下載Java Classic 集成版本,可以為平臺的搭建省下不少作業,接著再去http://java.sun.com/javase/downloads/index.jsp 站點下載SDK后安裝,下載http://dl.google.com/android/android-sdk-windows-1.5_r1.zip,Android SDK1.5后解壓,第一步下載工序就結束了,
②雙擊Eclipse解壓后目錄中的eclipse.exe然后啟動,選擇Eclipse選單中的Help-> Install New Software-> 選項卡上的Available Software,點擊右側的“Add”輸入http://dl-ssl.google.com/android/eclipse/后確定,然后在“Work with”下拉選單中選擇剛才輸入的網址,過一會就會出現一個Developer Tools選項,勾上以后點擊Next以后Eclipse會自動網上查找Android 開發工具插件,然后找到Android DDMS和Android Development Tools,選中這兩個點擊Finish,Eclipse就會自動下載并安裝Android插件了,最后會提示重啟Eclipse,
③重啟后選擇Eclipse選單中的Windows-> Preferences 在左側的Android專案中SDK Location中填入Android SDK解壓后的目錄,然后點擊Apply,
④在WindowsXP的系統變數中的path變數中添加一個值,該值指向解壓后的Android SDK目錄下的tools檔案夾,
第四章 程式設計
4.1 功能設計
從系統設計是一個把軟體需求轉換成用軟體系統表示的程序,通過對目標系統的分析和研究,做出了二手商品資訊的總體規劃,這是全面開發系統的重要基礎,在對二手商品資訊全面分析調查的基礎上,制定出二手商品資訊的總體規劃,系統設計包括系統總體設計、系統詳細設計、系統資料庫設計、系統開發工具、開發技術和開發模式等,
從資料流圖出發,對資料流圖進行分析,得出的層次化的模塊結構圖.
酒店預訂管理系統功能模塊圖如圖4.1所示:

圖4.1 酒店預訂管理系統功能模塊圖
4.2 資料庫設計
資料庫是本系統的核心和基礎,它設計的好壞直接影響著整個系統的質量,資料是一切系統設計的基礎,通俗地說,資料庫設計就像高樓大廈的根基一樣,如果設計的不合理、不完善,將在系統開發程序中,甚至到后期的系統維護、功能變更和功能擴充時,引起較多問題,嚴重時甚至要重新設計,重做大量已完成作業,
1.概念結構設計
從資料需求分析中得出系統的物體屬性圖,
注冊用戶物體屬性圖如圖4.3所示:

圖4.3注冊用戶物體屬性圖
管理員物體屬性圖如圖4.4所示:

圖4.4管理物體屬性圖
客房物體屬性圖如圖4.5所示:

圖4.5客房物體屬性圖
E-R模型的組成元素有:物體、屬性、聯系,E-R模型用E-R圖表示,物體是用戶作業環境中所涉及的事務,屬性是對物體特征的描述,
(1)模型中的物體相當于物體集、一個表,而不是單個物體或表中的一行,物體用矩形框表示,物體名稱標注在矩形框內,用菱形表示物體間的聯系,菱形框內寫上聯系名,用無向邊把菱形分別與有關物體相連接,在無向邊旁標上聯系的型別,
(2)屬性是物體的性質,用橢圓框表示,與物體之間用一條線相連表的主碼是關鍵屬性,關鍵屬性項加下劃線,
(3)各子系統模塊中主鍵相同的欄位之間存在著相互關聯的關系,
(4)在程式中實作對他們的完整性和一致性控制,
從資料需求分析中得出系統的物體屬性圖,遵循三范式原則,對物體之間的依賴關系進行了整合,得出系統E-R圖,
2.資料庫表設計
本軟體中有資料需要存盤——商品的資料,因此選擇Mysql資料庫作為存盤資料的方法,建立資料庫b_jiudian,并且建立表,
表4-1 管理員的資料庫表admin的結構
屬性 資料型別 長度 說明
id int 11 主鍵id自增
Name varchar 20 登錄名
Password varchar 20 密碼
Screen_name varchar 20 昵稱
Type Varchar 1 管理員型別
表4-2 客房的資料庫表kefang_info的結構
屬性 資料型別 長度 說明
Kefang_id int 11 主鍵id自增
kefang_name varchar 32 客房名稱
kefang_pic varchar 255 客房圖片
kefang_description varchar 16 描述
kefang_price varchar 16 價格
kefang_discount_price varchar 16 折扣價
kefang_flag Int 11 標志
kefang_count varchar 20 銷售量
表4-3 用戶的資料庫表user_tb的結構
屬性 資料型別 長度 說明
uid int 11 主鍵id自增
user_userid varchar 32 登錄名
user_username varchar 16 密碼
user_password varchar 32 昵稱
user_phone varchar 32 電話
user_address varchar 255 地址
第五章 程式開發
5.1 檔案結構與用途
在程式開發階段,首先確定“基于Android平臺酒店預訂管理系統”的工程名為b_jiudian,據程式模塊設計的內容,建立b_jiudian工程,工程源代碼的結構如圖5.1所示,

圖5.1 b_jiudian工程的源代碼檔案
為了使源代碼檔案的結構更加清晰,b_jiudian工程設定了多個命名空間,分別用來保存用戶界面、資料庫、后臺服務和工具物體的源代碼檔案,源代碼檔案的名稱以及說明如表5.1所示,
表5.1 b_jiudian工程的檔案用途說明
包 名 稱 說 明 備 注
Com.bb 專案的Activity
Com.bb.pojo POJO物件封裝了資料庫表
Com.bb.util 專案公共服務類
Android的資源檔案保存在/res的子目錄中,其中、/res/anim目錄中保存的是產生影片效果的XML檔案,/res/drawable/目錄中保存的是影像檔案,/res/values目錄中保存的是用來自定義字串和顏色的檔案,/res/xml目錄中保存的是XML格式的資料檔案,所有在程式開發階段可以被呼叫的資源都保存在這些目錄中,具體每個資源檔案的用途可以參考表5.2:
表5.2 資源檔案名稱與用途
資源目錄 文 件 說 明
drawable *.png 這個檔案夾里是工程里所用的圖片,此處不贅述,
layout *.xml
頁面的布局檔案
values color.xml 保存顏色的XML檔案
strings.xml 保存字串的XML的檔案
5.2 系統實作

5.2.1登錄頁
打開應用后,即來到了酒店預訂管理系統的登錄頁面,如下圖所示:

5.2.2注冊頁
打開應用后,默認為登陸頁,點擊登陸頁左下角的注冊按鈕,即來到了酒店預訂管理系統的注冊界面,如下圖所示:
5.2.3酒店客房資訊
登陸后,即來到了酒店預訂管理系統首頁,
點擊“酒店客房”,進入所有客房資訊的顯示界面,如下圖所示:

點擊客房串列中的一條資訊,進入客房串列界面,如下圖所示:

點擊“下訂單“,填寫訂單資訊 ,如下圖所示:

5.2.4我的訂單
在首頁,點擊“我的訂單”,進入我的訂單,
點擊串列中的一條資料,進入詳細資訊界面,如下圖所示:

第六章 系統測驗
測驗是開發時期最后一個階段,是保證軟體質量的重要手段,軟體測驗就是在受控制的條件下對系統或應用程式進行操作并評價操作結果的程序,所謂控制條件應包括正常條件與非正常條件,軟體測驗程序中應該故意地去促使錯誤的發生,也就是事情在不該出現的時候出現或者在應該出現的時候沒有出現,從本質上說,軟體測驗是"探測",在“探測”中發現軟體的毛病,
6.1 軟體測驗的重要性
軟體測驗在軟體生命周期中占據重要的地位,在傳統的瀑布模型中,軟體測驗學僅處于運行維護階段之前,是軟體產品交付用戶使用之前保證軟體質量的重要手段,近來,軟體工程界趨向于一種新的觀點,即認為軟體生命周期每一階段中都應包含測驗,從而檢驗本階段的成果是否接近預期的目標,盡可能早的發現錯誤并加以修正,如果不在早期階段進行測驗,錯誤的延時擴散常常會導致最后成品測驗的巨大困難,
事實上,對于軟體來講,不論采用什么技術和什么方法,軟體中仍然會有錯,采用新的語言、先進的開發方式、完善的開發程序,可以減少錯誤的引入,但是不可能完全杜絕軟體中的錯誤,這些引入的錯誤需要測驗來找出,軟體中的錯誤密度也需要測驗來進行估計,測驗是所有工程學科的基本組成單元,是軟體開發的重要部分,自有程式設計的那天起測驗就一直伴隨著,統計表明,在典型的軟體開發專案中,軟體測驗作業量往往占軟體開發總作業量的40%以上,而在軟體開發的總成本中,用在測驗上的開銷要占30%到50%,如果把維護階段也考慮在內,討論整個軟體生存期時,測驗的成本比例也許會有所降低,但實際上維護作業相當于二次開發,乃至多次開發,其中必定還包含有許多測驗作業,
6.2 測驗實體的研究與選擇
程式測驗的主要方法分為兩大類,白盒測驗和黑盒測驗,
白盒測驗:一種是以程式的內部邏輯結構為依據而設計測驗用例的方法,因而又稱結構測驗或玻璃盒測驗,將軟體看成一個透明的白盒子,按照程式的內部結構和處理邏輯來選定測驗用例,對軟體的邏輯路徑及程序進行測驗,檢查它與設計是否相符[17],白盒測驗就是要選取足夠的測驗用例,對源代碼實行比較充分的覆寫,以便盡可能多地發現程式中的錯誤,主要有兩種方法:一種稱為邏輯覆寫法,另一種稱為路徑覆寫法,
黑盒測驗:也稱功能測驗,資料驅動測驗等,它將待測物件堪稱是一個黑盒子,在完全不考慮程式的內部結構和特性的情況下,只依據規格說明書檢查程式的功能是否能正常使用,
黑盒測驗主要是根據輸入條件和輸出條件的確定測驗資料,來檢查程式是否能產生正確的輸出,進行黑盒測驗主要有下面幾種方法:等價分類法、邊界值分析法、猜錯法、因果圖法,
本系統的測驗綜合了白盒測驗、黑盒測驗兩種方法,但主要使用的是黑盒測驗方法,在測驗當中遵循了“盡早地和不斷進行測驗”,“保證測驗用例的完整性和有效性”原則,通過測驗達到以下測驗目的:
1.功能檢查:檢查功能是否爭取,是否遺漏或實作不了應該實作的功能等,
2介面檢查:檢查能否正確地接受資訊或輸出資訊,
3資料檢查:檢查資料結構或外部資訊是否有(如資料檔案)訪問錯誤,
4性能檢查:檢查性能需求能否得到滿足,
5初始化、終止檢查:檢查是否能進行正確地初始化或終止,
6.3 測驗環境與測驗條件
處理器:Inter? Core ?2 Duo T5750
記憶體:2GB
硬碟:160G
作業系統:Windows XP
Android虛擬機版本:2.3
6.4 系統運行情況
通過對系統的全面測驗,所有測驗條目都已經通過,實作了基本要求,系統可以正常運行,
6.5 系統評價
系統評價是指系統在正式運行了一段時間之后,對它在功能上、技術上和經濟上所進行的審核評價,針對本系統的評價如下:
(1)系統功能評價
根據本系統開發前所訂的目標,在系統完成后經過測驗運行,該系統達到了預定的開發目標,在實際使用中的功能可以滿足用戶需求,
(2)系統技術評價
本系統設計合理,功能達到了預期目標,且系統運行后穩定可靠,安全性高,具有實用性,大大提高了辦公效率,
(3)系統經濟評價
在規定時間內,該系統完成了系統分析時所確定的系統開發目標,達到了設計要求,投入使用后為用戶節省了大量人力物力財力,提高了科學管理水平,
第七章總結
經過數個月的努力,Android平臺酒店預訂管理系統軟體終于完成了,由于對JAVA濃厚的興趣引發了我對Android的好奇心,從一開始什么都不懂一直摸索著運用了很多高級技術完成了這個軟體,
在這個程序中,我學會了很多知識,比如Android環境的搭建、Intent、Activity等,但我學會的最重要的一點是,利用現有的資源去解決問題,在圖書館、在網路上尋找答案,
雖然,這個軟體目前運行良好,但是我認為代碼的健壯行還很差,在整個工程的構思方面也不足,用戶操作界面還不夠靈活,這些問題還需要今后逐一解決,與此同時,這個軟體還可以進一步擴展,例如“新聞資訊”等,是功能更加強大,帶給用戶更好的體驗與生活的便捷,
參考文獻
[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應用開發揭秘[M] 第一版.北京:機械工業出版社. 2010年
[7]靳巖,姚尚朗. Android 入門開發與實踐[M] 第一版. .北京:人民郵件出版社. 2009.
[8] http://www.apkbus.com
[9]朱桂英. Android開發應用從入門到精通[M]. 第1版. 中國鐵道出版社, 2011.
[10] 扶松柏,于秀青. Android開發從入門到精通[M]. 第1版. 北京希望電子出版社, 2012.
[11]yizhi237. Android開發從入門到精通學習檔案[EB/OL]. [2013-3-8]. http://wenku.baidu.com/view/ef571e135f0e7cd18425364f.html.
[12] ShaneConder. Android移動應用開發從入門到精通[M]. 第1版. 人民郵電出版社, 2010.
[13] 埃克爾. Thinking in java[M]. 1. 機械工業出版社, 2007.
[14] Cadenhead R. Java入門經典[M]. 第1版. 人民郵電出版社, 2012
2
致 謝
本課題的設計和論文撰寫程序中,我的指導老師給予了極大的幫助,為我提供了大量的相關資料,在完成課題設計的程序中,老師在總體設計思想上給予了許多重要的實際指導,拓展了我的思路,使得我得以完成了任務,在此,我對老師的指導表示衷心的感謝,
同時,我也衷心的感謝大學四年來對我的精心栽培,良好的校園環境、精良的師資隊伍、濃厚的校園文化都讓我深深懷念,都為我進入社會提供了莫大的幫助,
資料下載地址
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/304976.html
標籤:其他
上一篇:Android高級UI--Material Design設計理念下的控制元件使用詳解與各種問題的解決方案
下一篇:SwiftUI完美彈出UIActivityViewController(通過微信、QQ或隔空投送分享)的應用分享視窗
