基于Android平臺的“去哪兒旅行記錄與分享”畢業(yè)設計論文.docx_第1頁
基于Android平臺的“去哪兒旅行記錄與分享”畢業(yè)設計論文.docx_第2頁
基于Android平臺的“去哪兒旅行記錄與分享”畢業(yè)設計論文.docx_第3頁
基于Android平臺的“去哪兒旅行記錄與分享”畢業(yè)設計論文.docx_第4頁
基于Android平臺的“去哪兒旅行記錄與分享”畢業(yè)設計論文.docx_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

天津市大學軟件學院畢業(yè)設計基于android系統(tǒng)的“去哪兒”旅行記錄與分享app姓 名常栓紅專 業(yè) 軟件工程學 號1350410909學 籍 校天津理工大學學校指導教師王占剛 (副教授)企業(yè)指導教師朱鳳山 (高級工程師)摘要在如今社會中,旅游作為一個新的服務業(yè)態(tài)成型,隨后各種在線旅游網站相繼出現(xiàn),如去哪兒、驢媽媽、途牛旅行網等,在線旅游業(yè)迅猛發(fā)展起來。在如今這個智能手機系統(tǒng)群雄紛爭的時候,2008年google推出了一款名為android的開源智能手機操作系統(tǒng),它采用linux內核,開放手機聯(lián)盟(oha)成員可以任意使用和修改sdk包,系統(tǒng)的開源性使其具有良好的拓展性。這款軟件包括了操作系統(tǒng)、用戶界面和應用程序,即智能手機工作所需要的全部軟件。android的最大特點是其開放性體系架構,不僅具有非常好的開發(fā)、調試環(huán)境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以及強大的瀏覽器。因此,對于軟件從業(yè)人員來說,android平臺具有無限的吸引力。 本文就在分析討論android手機軟件開發(fā)技術原理的基礎上,開發(fā)出能為用戶提供更好的基于android平臺的“去哪兒”旅行記錄與分享軟件。關鍵詞:旅行記錄;記錄分享;安卓平臺;旅游abstractin todays society, tourism as a new service formats molding, followed by a variety of online travel sites have emerged, such as where to go, donkey mother, the way cattle travel network, the rapid development of online travel industry.in the system of intelligent mobile phone warlords dispute when in 2008, google launched a product called the android open source smart mobile phone operating system, which uses linux kernel, open mobile phone alliance (oha) members can be free to use and modify the sdk package, open source system which has good expansion. the software includes the operating system, user interface and applications that need intelligent mobile phone, all the software. its open architecture is the biggest characteristic of android, not only has a very good development, debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support and powerful browser. therefore, for software professionals, android platform has unlimited attraction.in this paper, based on analyzing and discussing the android mobile phone software development technology on android platform, developed the where to go to travel records and sharing based on the software to provide users with better.key words: travel record, share, android platform, tourism目 錄第一章引言11.1課題背景11.2國內外發(fā)展現(xiàn)狀1第二章相關技術概述32.1主要開發(fā)內容32.2主要開發(fā)思路和方法32.3軟件開發(fā)技術42.4體系結構42.4.1操作系統(tǒng)層(os)52.4.2各種庫(libraries)和android 運行環(huán)境52.4.3應用程序框架(application framework)6第三章項目可行性及需求分析73.1可行性分析73.1.1經濟可行性73.1.2技術可行性73.1.3操作可行性73.2軟件需求分析73.2.1對軟件的需求73.2.2基本功能83.3本軟件的預期成果8第四章系統(tǒng)實現(xiàn)94.1軟件的主要設計框圖94.2軟件數據模型設計94.3代碼介紹104.3.1背景圖片選擇實現(xiàn)104.3.2開機動畫114.3.3寫記錄核心代碼124.3.4記錄加密核心代碼14第五章軟件測試185.1測試的重要性及目的185.2測試流程18結束語21參考文獻22附錄文獻翻譯23i 英文原文23ii 中文譯文24致謝25天津市大學軟件學院軟件工程專業(yè)2013屆本科生畢業(yè)設計24第一章 引言1.1 課題背景美麗的旅游勝地吸引了無數的游客前往觀賞,但是有好多游客不能對旅游具體情況做準備。為了讓游客能更清晰的認識到“去哪兒”旅行記錄與分享app,游玩舒暢,開發(fā)“去哪兒”旅行記錄與分享app的旅游網站很有必要?!叭ツ膬骸甭眯杏涗浥c分享app旅游(mis)是一個具有交互功能的旅游記錄軟件,本軟件的開發(fā)主要包括后臺數據庫的建立和維護以及前臺程序的開發(fā)兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于app設計則要求應用程序功能完備,易使用等特點。該軟件符合安卓app開發(fā)的要求,本人也對界面設計、安卓本體數據庫設計等進行了較深入的學習和應用,主要完成了旅程的記錄、記錄的查看、記錄的搜索以及記錄分享功能。1.2 國內外發(fā)展現(xiàn)狀電子商務可以將信息流、商流、資金流進行有效的管理,提高產業(yè)鏈的工作效率并降低成本。旅游業(yè)是最適合開展電子商務的行業(yè)之一,通過先進的網絡技術手段提高企業(yè)內部、企業(yè)之間、企業(yè)與消費者之間的信息交流與溝通,改進旅游業(yè)的業(yè)務工作流程,所以電子商務對旅游業(yè)的發(fā)展具有深遠的意義。發(fā)達國家和地區(qū)在這方面已經取得了巨大的成效。歐美發(fā)達國家,旅游電子商務已經成為整個電子商務領域最大、最突出的部分。資料顯示,全球旅游電子商務連續(xù)5年以35%以上的速度增長,一度占到全球電子商務總額20%以上。與國外相比,我國旅游電子商務起步稍晚,在1996年才開始出現(xiàn)專業(yè)的旅游網站其后旅游電子商務快速發(fā)展,到2000年進入第一個高潮期,但在2001年由于受世界旅游業(yè)整體負增長形勢的影響,中國的旅游業(yè)在這一年經歷了一定的困境,增長速度有所下降;2002年中國旅游業(yè)又開始整體回升,在2005年年底又掀起了新的一輪旅游電子商務熱,自此又進入了一個新的“加速發(fā)展期”。目前,我國具有一定旅游資訊能力的網站已有五千多家。其中專業(yè)旅游網站300余家,主要包括地區(qū)性網站、專業(yè)網站和門戶網站的旅游頻道3大類。但是,旅游電子商務還處在初級階段,與發(fā)達國家相比還存在較大差距。(1)國內登錄過旅游網站的網民占網民總數的比例較小,而進行過網上旅游預訂的網民比例更小。(2)我國旅游業(yè)應用電子商務軟件的總體發(fā)展水平很低,信息服務能力有限,網絡營銷僅僅是一種時尚,消費者的培育,旅游電子商務軟、硬件環(huán)境的成熟和政府政策法規(guī)的建設等等都是急待解決的問題。作為一個擁有豐富旅游資源的大國,我國有望借助先進的信息化手段幫助旅游業(yè)實現(xiàn)迅猛增長,迎來更大的飛躍。第二章相關技術概述2.1主要開發(fā)內容“去哪兒”旅行記錄與分享app是一種具有集記錄和分享功能一體的實用軟件,是在安卓實體機上通過安卓自帶數據庫儲存信息。因此這必將是廣泛應用的網絡應用軟件,本文會讓開發(fā)人員更好的開發(fā)以及管理本項目,讓使用本app的用戶大致了解軟件的功能和流程。(1) 深入了解企業(yè)、社會在“去哪兒”旅行記錄與分享app旅游的業(yè)務流程以及一些基本的需求和功能,在此基礎上繪制用例圖,完成基于android軟件的“去哪兒”旅行記錄與分享app的設計與開發(fā)的需求說明書;(2) 借鑒一些書籍,學習和研究開發(fā)該軟件的相關技術,如jsp項目開發(fā)、mysql數據庫、web編程等等;(3) 具體實現(xiàn)基于android軟件的“去哪兒”旅行記錄與分享app的設計與開發(fā),包括分析和使用數據庫,軟件的詳細設計。經過以上分析,本人決定將該軟件分為以下幾個模塊:主要功能:主要包括旅行記錄、查看記錄、搜索記錄、記錄加密以及記錄分享。其他設計:背景切換、用戶反饋、提醒設置、幫助。2.2主要開發(fā)思路和方法一個功能完整的基于android軟件的“去哪兒”旅行記錄與分享app的設計與開發(fā),本app未設置用戶注冊和登陸,進入軟件后,可以對軟件進行加密上鎖,安全性相對提高。軟件內日期自動更新,當日天氣可進行選擇,每日可無限制增加旅游記錄,提供查找功能,根據關鍵字搜索可快速查找到相關記錄,對此記錄可以通過第三方分享到qq、新浪微博等社交網站。硬件環(huán)境:本軟件運行的硬件環(huán)境如下:android:1g以上;內存:512m以上;軟件開發(fā)方法:根據用戶的實際情況和需要,最終決定采用在android 下使用jsp+sql開發(fā),利用spring框架,采用b/s結構。2.3軟件開發(fā)技術以android為開發(fā)平臺,android以java為編程語言,使接口到功能,都有層出不窮的變化,其中activity等同于j2me的midlet,一個 activity 類(class)負責創(chuàng)建視窗(window),一個活動中的activity就是在 foreground(前景)模式,背景運行的程序叫做service。兩者之間通過由serviceconnection和aidl連結,達到復數程序同時運行的效果。如果運行中的 activity 全部畫面被其他 activity 取代時,該 activity 便被停止(stopped),甚至被系統(tǒng)清除(kill)。view等同于j2me的displayable,程序人員可以通過 view 類與“xml layout”檔將ui放置在視窗上,android 1.5的版本可以利用 view 打造出所謂的 widgets,其實widget只是view的一種,所以可以使用xml來設計layout,htc的android hero手機即含有大量的widget。至于viewgroup 是各種layout 的基礎抽象類(abstract class),viewgroup之內還可以有viewgroup。view的構造函數不需要再activity中調用,但是displayable的是必須的,在activity 中,要通過findviewbyid()來從xml 中取得view,android的view類的顯示很大程度上是從xml中讀取的。view 與事件(event)息息相關,兩者之間通過listener 結合在一起,每一個view都可以注冊一個event listener,例如:當view要處理用戶觸碰(touch)的事件時,就要向android框架注冊view.onclicklistener。另外還有image等同于j2me的bitmap。(1)一次編寫,到處運行。在這一點上java比php更出色,在不同的軟件平臺上運行,代碼不用做任何更改。(2)軟件的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行軟件不是和運行。相比asp/php的局限性是顯而易見的。 (3)強大的可伸縮性。從只有一個小的jar文件就可以運行servlet/jsp,到由多臺服務器進行集群和負載均衡,到多臺application進行事務處理,消息處理,一臺服務器到無數臺服務器,java顯示了一個巨大的生命力。(4)多樣化和功能強大的開發(fā)工具支持。這一點與asp很像,java已經有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經可以順利的運行于多種平臺之下。2.4體系結構2.4.1操作系統(tǒng)層(os)android使用linux2.6作為操作系統(tǒng),linux2.6是一種標準的技術,linux也是一個開放的操作系統(tǒng)。android對操作系統(tǒng)的使用包括核心和驅動程序兩部分,android的linux核心為標準的linux2.6內核,android更多的是需要一些與移動設備相關的驅動程序。主要的驅動如下所示: 顯示驅動(display driver):常用基于linux的幀緩沖(frame buffer)驅動。flash內存驅動(flash memory driver)。照相機驅動(camera driver):常用基于linux的v4l(video for )驅動。音頻驅動(audio driver):常用基于alsa(advanced linux sound architecture,高級linux聲音體系)驅動。wifi驅動(camera driver):基于ieee 802.11標準的驅動程序。鍵盤驅動(keyboard driver)。藍牙驅動(bluetooth driver)。binder ipc驅動: android一個特殊的驅動程序,具有單獨的設備節(jié)點,提供進程間通訊的功能。power management(能源管理)2.2.2 c/s模式與b/s模式的分析比較2.4.2各種庫(libraries)和android 運行環(huán)境(runtime)本層次對應一般嵌入式系統(tǒng),相當于中間件層次。android的本層次分成兩個部分一個是各種庫,另一個是android 運行環(huán)境。本層的內容大多是使用c+實現(xiàn)的。在其中,各種庫包括:c庫:c語言的標準庫,這也是系統(tǒng)中一個最為底層的庫,c庫是通過linux的系統(tǒng)調用來實現(xiàn)。 多媒體框架(mediaframeword):這部分內容是android多媒體的核心部分,基于packetvideo(即pv)的opencore,從功能上本庫一共分為兩大部分,一個部分是音頻、視頻的回放(playback),另一部分是則是音視頻的紀錄(recorder)。sgl:2d圖像引擎。ssl:即secure socket layer位于tcp/ip協(xié)議與各種應用層協(xié)議之間,為數據通訊提供安全支持。opengl es 1.0 :本部分提供了對3d的支持。界面管理工具(surface management):本部分提供了對管理顯示子系統(tǒng)等功能。sqlite:一個通用的嵌入式數據庫webkit:網絡瀏覽器的核心freetype:位圖和矢量字體的功能。android 的各種庫一般是以系統(tǒng)中間件的形式提供的,它們均有的一個顯著特點就是與移動設備的平臺的應用密切相關。android 運行環(huán)境主要指的虛擬機技術dalvik。dalvik虛擬機和一般java虛擬機(java vm)不同,它執(zhí)行的不是java標準的字節(jié)碼(bytecode )而是dalvik可執(zhí)行格式(.dex)中執(zhí)行文件。在執(zhí)行的過程中,每一個應用程序即一個進程(linux的一個process)。 二者最大的區(qū)別在于java vm是以基于棧的虛擬機(stack-based),而dalvik是基于寄存器的虛擬機(register-based)。顯然,后者最大的好處在于可以根據硬件實現(xiàn)更大的優(yōu)化,這更適合移動設備的特點。3.3軟件可行性分析為了給軟件開發(fā)者提供是否進行項目實施的參考依據,現(xiàn)分析項目的風險、項目需要的投資以及效益。2.4.3應用程序框架(application framework)android的應用程序框架為應用程序層的開發(fā)者提供apis,它實際上是一個應用程序的框架。由于上層的應用程序是以java構建的,因此本層次提供的首先包含了ui程序中所需要的各種控件:例如: views (視圖組件)包括 lists(列表), grids(柵格), text boxes(文本框), buttons(按鈕)等。甚至一個嵌入式的web瀏覽器。 一個andoid的應用程序可以利用應用程序框架中的以下幾個部分: activity (活動) broadcast intent receiver (廣播意圖接收者) service (服務) content provider (內容提供者)第三章項目可行性及需求分析3.1可行性分析3.1.1經濟可行性基于android軟件的“去哪兒”旅行記錄與分享app的設計與開發(fā)是一個小型的實用型軟件, 在開發(fā)時需要軟件開發(fā)人員花費一定的時間和精力,因此需要一定的資金。開發(fā)、運行和維護費用主要包括:購買和安裝設備的費用:計算機硬件、軟件、 機房、電源等; 但它給企業(yè)帶來的利潤是不可估量的,節(jié)省了許多人力,物力上的開支,使資產管理工作變繁為簡,使其更加合理化、規(guī)范化。工作效率的提高就意為著整體水平的提高,是非常值得投資的。3.1.2技術可行性技術可行性要考慮現(xiàn)有的技術條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本app管理軟件用的是java開發(fā)語言,調試相對簡單,當前的手機硬件配置也完全能滿足開發(fā)的需求,因此在技術上是絕對可行的。軟件方面:由于目前單機模式相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足軟件的需求。3.1.3操作可行性軟件是在jdk 環(huán)境下開發(fā)的,易于操作。而且軟件還采用了可視化面向對象的工具開發(fā),其窗口、界面簡潔易懂,所以軟件在操作上是可行的。3.2軟件需求分析3.2.1對軟件的需求 本類型的軟件的種類很多,而每一個分類下又有很多子類。還應該提供用戶管理,并對其設置權限管理。軟件還應該做到對數據的快速查詢。經實際調查,要求本軟件具有以下功能:(1)界面設計美觀大方,方便、快捷、操作靈活。(2)如果軟件的使用對象較多,有備份功能防止數據丟失。(3)對記錄要有一個類別管理。(4)提供對記錄的天氣、心情、記錄操作。(5)方便信息的查詢。(6)在相應的權限下,可方便的刪除、添加、修改數據。3.2.2基本功能1. 寫記錄:可以新增旅游記錄,輸入地點,選擇天氣2. 記錄查詢:可以通過記錄內容的關鍵字或者地點查詢曾經寫過的記錄。3. 記錄加密:可以通過圖形或者數字加密,保證記錄的安全性。4. 記錄分享:通過分享功能,將自己旅行所見所想分享給朋友,一同分享旅行中的快樂。3.3本軟件的預期成果設計和實現(xiàn)基于android軟件的“去哪兒”旅行記錄與分享app的設計與開發(fā),使旅行記錄簡單化、快速化。從而達到提高記錄效率、降低成本的目的,本軟件應達到如下目標: (1) 靈活的人機交互界面,操作簡單方便,界面簡潔美觀 ;(2) 可以通過菜單、工具欄等靈活操作;(3) 對客戶和操作員的信息互通提供相應的管理功能:(4) 查詢方便,無論是按地點、內容其中任一項都可以進行有效查詢 ;(5) 軟件可以加密(6) 軟件運行穩(wěn)定,安全可靠。第四章系統(tǒng)實現(xiàn)4.1軟件的主要設計框圖本軟件的主要設計框圖,如圖3-1所示,主要描述了此軟件應該具有的功能模塊以及實現(xiàn)的功能模塊。加密操作備份操作直接操作軟件相關按鈕圖4-1軟件框圖4.2軟件數據模型設計計算機信息軟件以數據庫為核心,在數據庫管理軟件的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。對于數據庫應用開發(fā)人員來說,為使現(xiàn)實世界的信息流計算機化,并對計算機化的信息進行各種操作,就是如何利用數據庫管理軟件、軟件軟件和相關硬件軟件,將用戶的要求轉化成有效的數據結構,并使數據庫結構易于實現(xiàn)用戶新的要求的過程。 確切的說,數據庫設計是指對于一個給定的應用環(huán)境,提供一個確定最優(yōu)數據模型與處理模式的邏輯設計,以及一個確定數據庫存儲結構與存取方法的物理設計,建立起既能反映現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數據要求和加工要求,又能被某個數據庫管理軟件所接受,同時能實現(xiàn)軟件目標,并有效存取數據的數據庫。4.3代碼介紹4.3.1背景圖片選擇實現(xiàn)軟件內置四種圖片,可供選擇成為背景圖片。如圖4-2圖4-2 背景圖片具體代碼實現(xiàn)如下:/軟件背景圖片選擇privatevoidsetbackground() / 得到當前布局linearlayout layout = (linearlayout) this.findviewbyid(r.id.about_layout);/ 得到id,此處id是在設置背景里面產生的,此處暫不解釋int id = preferences.getint(id, 0);if (id = 0) / id=0說明是初始化時的背景/ 設置背景方法layout.setbackgroundresource(r.drawable.diary_view_bg); elseif (id = 1) / id=1說明用戶選擇了第一幅圖片layout.setbackgroundresource(r.drawable.diary_view_bg); elseif (id = 2) / id=2說明用戶選擇了第二幅圖片layout.setbackgroundresource(r.drawable.spring); elseif (id = 3) / id=3說明用戶選擇了第三幅圖片layout.setbackgroundresource(r.drawable.summer); elseif (id = 4) / id=4說明用戶選擇了第四幅圖片layout.setbackgroundresource(r.drawable.autumn); elseif (id = 5) / id=4說明用戶選擇了第四幅圖片layout.setbackgroundresource(r.drawable.winter);4.3.2開機動畫為了增強用戶體驗感,本軟件新添開機歡迎界面,如圖4-3圖4-3 開機動畫圖片/軟件加載animation leftoutanimation = animationutils.loadanimation(getapplicationcontext(), r.anim.translate_left);animation rightoutanimation = animationutils.loadanimation(getapplicationcontext(), r.anim.translate_right);/ 左布局向左移動leftlayout.setanimation(leftoutanimation);/ 右布局向右移動rightlayout.setanimation(rightoutanimation);/ 設置動畫監(jiān)聽器leftoutanimation.setanimationlistener(newanimationlistener() overridepublicvoidonanimationstart(animation animation) / todo auto-generated method stuboverridepublicvoidonanimationrepeat(animation animation) / todo auto-generated method stub4.3.3寫記錄核心代碼本軟件使用單純文本記錄旅程,占用內存少,字數不限。圖4-4 寫記錄publicclassaccessactivityextends activity private button access;privatesharedpreferencessp=null;suppresslint(newapi)overrideprotectedvoidoncreate(bundle savedinstancestate) / todo auto-generated method stubsuper.oncreate(savedinstancestate);requestwindowfeature(window.feature_no_title);setcontentview(r.layout.access);access = (button)this.findviewbyid(r.id.access);access.setonclicklistener(newonclicklistener() overridepublicvoidonclick(view v) / todo auto-generated method stubsp=getsharedpreferences(pass, context.mode_private);string passway=sp.getstring(passway, null);intent intent = null;if (passway!=null) if (passway.equals(graphicpass) intent =new intent(accessactivity.this,checkpassactivity.class);startactivity(intent);overridependingtransition(android.r.anim.fade_in, android.r.anim.fade_out);accessactivity.this.finish();else intent = new intent(accessactivity.this, mainactivity.class); startactivity(intent);overridependingtransition(android.r.anim.fade_in,android.r.anim.fade_out);accessactivity.this.finish(); else intent = new intent(accessactivity.this, mainactivity.class); startactivity(intent);overridependingtransition(android.r.anim.fade_in,android.r.anim.fade_out);accessactivity.this.finish(););4.4.4 記錄加密核心代碼“去哪兒”旅行記錄與分享實現(xiàn)了軟件加密功能,共有兩種加密方式,圖形加密和數字加密,只有正確輸入密碼才可以進入系統(tǒng),查看旅行記錄。圖4-5 記錄加密圖片/記錄加密實現(xiàn)privatevoiddrawcircle(canvas canvas, intleftx, inttopy, booleanpartofpattern) bitmap outercircle; bitmap innercircle;if (!partofpattern | (minstealthmode&mpatterndisplaymode != displaymode.wrong) / unselected circleoutercircle = mbitmapcircledefault;innercircle = mbitmapbtndefault; elseif (mpatterninprogress) / user is in middle of drawing a patternoutercircle = mbitmapcirclegreen;innercircle = mbitmapbtntouched; elseif (mpatterndisplaymode = displaymode.wrong) / the pattern is wrongoutercircle = mbitmapcirclered;innercircle = mbitmapbtndefault; elseif (mpatterndisplaymode = displaymode.correct |mpatterndisplaymode = displaymode.animate) / the pattern is correctoutercircle = mbitmapcirclegreen;innercircle = mbitmapbtndefault; else thrownewillegalstateexception(unknown display mode + mpatterndisplaymode); finalint width = mbitmapwidth;finalint height = mbitmapheight;finalfloatsquarewidth = msquarewidth;finalfloatsquareheight = msquareheight;intoffsetx = (int) (squarewidth - width) / 2f);intoffsety = (int) (squareheight - height) / 2f);/ allow circles to shrink if the view is too small to hold them.floatsx = math.min(msquarewidth / mbitmapwidth, 1.0f);floatsy = math.min(msquareheight / mbitmapheight, 1.0f);mcirclematrix.settranslate(leftx + offsetx, topy + offsety);mcirclematrix.pretranslate(mbitmapwidth/2, mbitmapheight/2);mcirclematrix.prescale(sx, sy);mcirclematrix.pretranslate(-mbitmapwidth/2, -mbitmapheight/2);canvas.drawbitmap(outercircle, mcirclematrix, mpaint);canvas.drawbitmap(innercircle, mcirclematrix, mpaint);第五章軟件測試5.1測試的重要性及目的(1)測試的重要性:軟件測試是保證軟件質量的重要活動,它貫穿于整個軟件開發(fā)生命周期,是軟件項目實施的不可缺少的環(huán)節(jié)。軟件測試的直接目的是發(fā)現(xiàn)軟件中存在的缺陷,進而改正軟件中的錯誤、彌補缺陷、完善功能,從而保證開發(fā)軟件的質量、性能。 測試的目的:(2)測試的目的如果測試的目的是為了盡可能多地找出錯誤,那么測試就應該直接針對軟件比較復雜的部分或是以前出錯比較多的位置。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程; 測試是為了證明程序有錯,而不是證明程序無錯誤; 一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。5.2測試流程(1)單元測試集中在檢查軟件設計的最小單位模塊上,通過測試發(fā)現(xiàn)實現(xiàn)該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。 下面是以用戶管理模塊為例的部分功能測試用例,如下圖5-1所示:序號輸入預期輸出是否正常備注1點擊“新增”按鈕顯示新增對話框,對話框中無數據是2點擊“修改”按鈕顯示修改對話框,對話框中顯示原始數據是3點擊“刪除”對話框彈出刪除確認對話框是圖5-1 功能測試用例(2)集成測試 集成測試是將模塊按照設計要求組裝起來同時進行測試,主要目標是發(fā)現(xiàn)與接口有關的問題。如一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產生預期的主功能;個別看起來是可以接受的誤差可能積累到不能接受的程度;全程數據結構可能有錯誤等。 在單元測試的基礎上,需要將模塊按照設計要求組裝成為軟件。這時需要考慮的問題是:把各個模塊連接起來的時,穿越模塊接口的數據是否會丟失;一個模塊的功能是否會對另一個模塊的功能產生不利的影響;各個子功能組合起來,能否達到預期要求的父功能;全局數據結構是否有問題;單個模塊的誤差累積起來,是否會放大,從而達到不能接受的程度。 在單元測試的同時可進行集成測試,發(fā)現(xiàn)并排除在模塊連接中可能出現(xiàn)的問題,最終構成要求的軟件軟件。子軟件的集成測試特別稱為部件測試,它所做的工作是要找出集成后的子軟件與軟件需求規(guī)格說明之間的不一致。下面是會員管理模塊的集成測試用例,如下圖5-2所示:序號輸入預期輸出是否正常備注1在新增對話框中點擊“新增”按鈕成功提交新增信息,將數據錄入數據庫。新增記錄顯示在頁面上是2在修改對話框中點擊“修改”按鈕成功修改,將數據錄入數據庫,并將更新后的記錄更新到頁面上是3在修改對話框中點擊“修改”按鈕成功修改,將數據錄入數據庫。更新后的記錄更新到頁面上是圖5-2功能測試用例(3)確認測試 確認測試的目的是向未來的用戶表明軟件能夠像預定要求那樣工作。經集成測試后,已經按照設計把所有的模塊組裝成一個完整的軟件軟件,接口錯誤也已經基本排除了,接著就應該進一步驗證軟件的有效性,這就是確認測試的任務,即軟件的功能和性能如同用戶所合理期待的那樣。 (4)軟件測試 軟件開發(fā)完成以后,最終還要與軟件中其他部分配套運行,進行軟件測試。包括恢復測試、安全測試、強度測試和性能測試等。單獨對軟件的測試主要從以下幾方面入手:1.功能測試:測試是否滿足開發(fā)要求,是否提供設計所描述的功能,是否用戶的需求都得到滿足。功能測試是軟件測試最常用和必須的測試,通常還會以正式的軟件說明書為測試標準。2.強度測試及性能測試:測試軟件能力最高實際限度,即軟件在一些超負荷情況下功能實現(xiàn)的情況。3.安全測試:驗證安裝在軟件內的保護機構確實能夠對軟件進行保護,使之不受各種非常的干擾。針對本軟件主要是對權限軟件的測試和對無效數據、錯數據、和非法數據干擾的能力的測試。經過上述的測試過程對軟件進行測試后,軟件基本滿足開發(fā)的要求,測試宣告結束。 結論在開發(fā)軟件之前,本人首先對國內旅游事業(yè)以及各地旅游景點做了一些調查,進而了解了開發(fā)該軟件的一些基本需求和功能,這對本人開發(fā)提供了很大的幫助。軟件的開發(fā)是嚴格按照軟件工程的思想,從需求分析、可行性分析、總體設計、最后到詳細設計。軟件的開發(fā)在開發(fā)的過程中由于對jsp技術不夠熟練,遇到了很多難題,但是在老師的解答和一些資料中都得到了解答。軟件初步完成后老師提了很多建議,比如軟件中未涉及到的數據備份,還有報表的打印等,所以在后期做了一些改進,是軟件更加完善。 軟件工程是一門融管理科學、信息科學、軟件科學、計算機科學與現(xiàn)代通信技術為一體的一門綜合性邊緣學科。在軟件開發(fā)之前,必須了解該軟件的特點、適用范圍以及使用者需要一個什么樣的軟件,以此作為基礎為開發(fā)軟件準確定位,然后對使用者所需實現(xiàn)的功能進行分析總結,根據使用者的實際要求來給軟件設計一個初步方案。軟件的開發(fā)不僅是要實現(xiàn)對數據處理的及時與正確,而且要考慮軟件是否具有控制功能,及時將數據反饋給操作者,以進行監(jiān)測和協(xié)調,保證軟件的正常運行;也要考慮是否具有預測功能,運用一定的數學方法利用歷史的數據對未來進行預測的工作。 在程序設計過程中,遇到了很多技術上的問題,才意識到好多問題都是一知半解,比如數據庫的鏈接,以前也實踐過,理論上也掌握了,但是在開發(fā)的過程中還是遇到了問題,這讓我充分的體會到了“實踐出真知”這一點。在設計的過程中,我掌握了很多android的編程知識,并對這種成熟并廣泛應用的技術進行了深入的學習。設計的過程也是一個再學習的過程,在遇到問題的時候我盡量自己想辦法解決,這在很大程度上激發(fā)了我們的自學能力。通過這次的畢業(yè)設計,真正的實踐過了學過的專業(yè)基本理論、專業(yè)知識和基本技術,對自己的別業(yè)設計也有了更深入的了解和體會,真正達到了學以致用。 參考文獻1 android a programmers guide . jerome (j.f.) dimarzio doi:10.1036、 00715998862 林城. android 2.3 應用開發(fā)實戰(zhàn)j . 機械工業(yè)出版社,2011:17-321. 3 韓超. android經典應用程序開發(fā)j . 人力資源出版社,2011:5-18. 4 (美)cay s. horstmann,gary cornell. java核心技術j. 機械工業(yè)出版社, 2008:15-17. 5 劉衛(wèi)國,姚昱禹. android與j2me平臺間即時通信的研究與實現(xiàn)j. 中南大 學 信息科學與工程學院. 2008年12期:118-120.6 劉平. android手機訪問服務器的一種數據交互方法j . 西安財經學院 網絡 與現(xiàn)在教育技術中心,2010-09:96-102. 7 劉玉平. java輸入輸出流及在網站開發(fā)中的應用探討j. 郴州市科技局, 2009,(18):35-49. 8 趙亮,張維. 基于android技術的界面設計與研究d . 徐州:徐州建筑職業(yè) 技術學院, 2001. 9 陳璟,陳平華,李文亮. android內核分析j . 廣東工業(yè)大學計算機學院 實踐 與經驗,2009:112-115. 10 劉衛(wèi)國,姚昱禹. android的架構與應用開發(fā)研究j . 中南大學:信息科學 與工程學院 計算機系統(tǒng)應用 2008-11:110-112. 11 張海藩. 軟件工程導論(第4版)j. 北京:清華大學出版社,2006:34-38. 12 鄺孔無,王曉敏. 信息系統(tǒng)分析與設計(第三版)m. 清華大學出版社, 2006:23-26. 13 亢勇,陳自力,李鵬,路平. 面向對象的軟件測試j. 測試技術學報, 1999,(02):15-23. 14 何玉潔. 數據庫原理與應用教程m. 機械工業(yè)出版社,2005.12 15 ken arnold,james gosling,david holmes: java programming language m,posts & telecom press,2006:231附錄文獻翻譯i 英文原文filtering the reference documentation by api levelreference documentation pages on the android developers site offer a filter by api level control in the top-right area of each page. you can use the control to show documentation only for parts of the api that are actually accessible to your application, based on the api level that it specifies in the android:mi

溫馨提示

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

評論

0/150

提交評論