已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于ANDROID的瀏覽器的軟件的設(shè)計與開發(fā)摘要隨著智能手機的快速普及,智能手機操作系統(tǒng)市場風(fēng)生水起。為了讓智能手機能夠隨時隨地地查詢互聯(lián)網(wǎng)所提供的服務(wù),一種高效的方法就是將應(yīng)用系統(tǒng)的功能拓展到手機終端上,讓手機能夠通過移動網(wǎng)絡(luò)以及互聯(lián)網(wǎng)訪問相關(guān)資源信息。因此,智能手機應(yīng)用軟件及其需要的服務(wù)將有廣闊的發(fā)展前景。瀏覽器作為PC端和移動端的流量重要入口,已經(jīng)成為國內(nèi)各互聯(lián)網(wǎng)公司必爭領(lǐng)域,本課題為其設(shè)計一個基于ANDROID平臺的網(wǎng)頁瀏覽器軟件,為用戶提供方便快捷的頁面瀏覽體驗,本論文首先介紹系統(tǒng)的開發(fā)背景和意義,接著詳細介紹系統(tǒng)設(shè)計以及實現(xiàn)的過程,最后介紹了系統(tǒng)測試和本軟件的測試用例以及總結(jié)了本次畢業(yè)設(shè)計整個過程。關(guān)鍵詞ANDROID手機SQLITE瀏覽器RESEARCHANDDESIGNBASEDONANDROIDWEBBROWSERABSTRACTWITHTHERAPIDPROLIFERATIONOFSMARTPHONES,SMARTPHONEOPERATINGSYSTEMMARKETBURGEONEDINORDERTOMAKESMARTPHONESCANCHECKTHEINTERNETANYTIME,ANYWHERESERVICEPROVIDED,ANEFFICIENTMETHODISTOEXPANDTHEAPPLICATIONSYSTEMFUNCTIONSTOTHEMOBILETERMINAL,ALLOWINGTHEPHONETOACCESSINFORMATIONVIATHEMOBILENETWORKRESOURCESANDTHEINTERNETTHEREFORE,SMARTPHONEAPPLICATIONSANDSERVICESTHEYNEEDTOHAVEBROADPROSPECTSFORDEVELOPMENTPCANDBROWSERASANIMPORTANTTRAFFICMOVINGSIDEENTRANCE,HASBECOMETHEDOMESTICINTERNETCOMPANIESWILLCOMPETEINTHEFIELD,THESUBJECTOFANANDROIDBASEDPLATFORMFORTHEDESIGNOFWEBBROWSERSOFTWARE,TOPROVIDEUSERSWITHCONVENIENTPAGEBROWSINGEXPERIENCETHISPAPERINTRODUCESTHEBACKGROUNDANDSIGNIFICANCEOFTHEDEVELOPMENTOFTHESYSTEM,FOLLOWEDBYDETAILEDSYSTEMDESIGNANDIMPLEMENTATIONPROCESS,ANDFINALLYINTRODUCEDTHESYSTEMTESTINGANDTESTTHISSOFTWAREANDSUMMARIZESTHEWHOLEPROCESSOFTHISGRADUATIONPROJECTKEYWORDSANDROIDPHONESQLITEBROWSER目錄摘要IRESEARCHANDDESIGNBASEDONANDROIDWEBBROWSERIIABSTRACTII前言11緒論211本課題研究背景和意義212課題研究現(xiàn)狀213本論文的組織結(jié)構(gòu)32關(guān)鍵技術(shù)介紹521什么是ANDROID522ANDROID系統(tǒng)架構(gòu)簡介5211應(yīng)用程序APPLICATIONS6222應(yīng)用程序框架APPLICATIONFRAMEWORK6233ANDROID運行時RUNTIME6234系統(tǒng)庫LIBRARIES6235LINUX723SQLITE數(shù)據(jù)庫73網(wǎng)頁瀏覽器分析831軟件分析概述832網(wǎng)頁瀏覽器分析833系統(tǒng)需求分析94網(wǎng)頁瀏覽器詳細設(shè)計1141系統(tǒng)設(shè)計原則1142系統(tǒng)流程設(shè)計1143文件結(jié)構(gòu)設(shè)計135網(wǎng)頁瀏覽器實現(xiàn)1551開發(fā)環(huán)境搭建1552歡迎界面實現(xiàn)1753瀏覽器主界面實現(xiàn)1954瀏覽界面模塊實現(xiàn)2155下載模塊實現(xiàn)2356瀏覽歷史記錄286網(wǎng)頁瀏覽器測試3161軟件測試3162軟件測試的目的3263測試用例與總結(jié)3264程序調(diào)試3465程序的測試34651測試的重要性及目的34652測試的步驟35653測試的主要內(nèi)容3566系統(tǒng)的特點和優(yōu)點3767系統(tǒng)存在的不足和改進方案377總結(jié)及展望3971總結(jié)3972展望40參考文獻41致謝42英文翻譯43原文43譯文51前言隨著移動平臺的崛起,越來越多的傳統(tǒng)PC軟件被移植到移動平臺,比如IPAD,IPHONE,ANDROID等智能終端設(shè)備,在這些平臺中,ANDROID占領(lǐng)著最大的市場份額,所以為ANDROID用戶開發(fā)滿足日常使用的軟件成為了現(xiàn)在的一大熱門。在現(xiàn)在移動平臺爆發(fā)的時代,傳統(tǒng)的PC軟件沒有辦法滿足用戶了,如果說PC的軟件只能在固定的地點使用,那么現(xiàn)在的移動平臺軟件就是能夠無時無刻地使用,想使用它,只需要掏出自己的手機就可以立即使用,隨時隨地得到最新的資訊,不再被傳統(tǒng)PC禁錮在辦公室或家中,那些必須有電源的地方了。本設(shè)計與傳統(tǒng)的PC軟件有很大的優(yōu)勢,與現(xiàn)在的ANDROID中其他軟件相比,也具有一定的優(yōu)勢?,F(xiàn)在ANDROID軟件使用風(fēng)格可謂是千變?nèi)f化,有很多工具軟件無法滿足用戶的日常需要,還有很多軟件由于使用風(fēng)格不一,使得很多用戶無法適應(yīng),把一些使用率很高的日常軟件的風(fēng)格統(tǒng)一,并且把它們的功能集中在一個軟件平臺中,就能使上述問題得以解決,不僅使使用風(fēng)格得到了統(tǒng)一,也使得用戶得到一站式的日常工具使用體驗,并且可以使這些軟件中的功能得到互補,相互共享資源,為本來硬件條件就不是很好的手機提供一個能夠輕松運行的軟件。本軟件的優(yōu)勢體現(xiàn)1隨時隨地記錄使用,不受地點、移動網(wǎng)絡(luò)限制;2統(tǒng)一ANDROID平臺軟件的設(shè)計和使用風(fēng)格;3操作方便快捷、系統(tǒng)相應(yīng)速度快;4數(shù)據(jù)永久性保存,隨時可以翻閱查看。1緒論11本課題研究背景和意義智能手機SMARTPHONE是指“像個人電腦一樣具有獨立的操作系統(tǒng)可以由用戶自行安裝軟件、游戲等第三方服務(wù)商提供的程序通過此類程序來不斷對手機的功能進行擴充,并可以通過移動通訊網(wǎng)絡(luò)來實現(xiàn)無線網(wǎng)絡(luò)接入的這樣一類手機的總稱”。目前,全球多數(shù)手機廠商都有智能手機產(chǎn)品,而韓國三星、芬蘭諾基亞、美國蘋果、加拿大RIM、黑莓、美國摩托羅拉、中國臺灣宏達HTC都是智能機中的佼佼者1。智能手機具有五大特點1、具備了無線接入互聯(lián)網(wǎng)的能力,即要有GSM的支持網(wǎng)絡(luò)下的GPRS或者是CDMA網(wǎng)絡(luò)支持下的CDMA1X或3G網(wǎng)絡(luò)。2人性化,可以根據(jù)個人需要擴展機器的功能。3、它是具有開放性的操作系統(tǒng),還可以安裝非常多的應(yīng)用程序使得智能手機的功能可以得到無限的擴展。4、具有PDA功能,其中包括個人信息管理、日程記事、任務(wù)安排、多媒體應(yīng)用、瀏覽網(wǎng)頁等。5擴展性能強,第三方軟件支持多2。ANDROID是一種以LINUX為基礎(chǔ)的開放源碼操作系統(tǒng)主要使用于便攜設(shè)備。目前尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。ANDROID操作系統(tǒng)最初由ANDYRUBIN開發(fā),最初主要支持手機。2005年由GOOGLE收購注資并組建開放手機聯(lián)盟開發(fā)改良,逐漸擴展到平板電腦及其他領(lǐng)域上。ANDROID的主要競爭對手是蘋果公司的IOS以及RIM的BLACKBERRYOS。2011年第一季度,ANDROID在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2014年2月數(shù)據(jù),ANDROID占據(jù)全球智能手機操作系統(tǒng)市場785的份額,中國市場占有率為9043。12課題研究現(xiàn)狀A(yù)NDROID是GOOGLE開發(fā)的基于LINUX平臺的開源手機操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。GOOGLE與開放手機聯(lián)盟合作開發(fā)了ANDROID,這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達電和TMOBILE在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。GOOGLE通過與運營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望借助建立標準化、開放式的移動電話軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。作為谷歌企業(yè)戰(zhàn)略的重要組成部分,ANDROID將進一步推進“隨時隨地為每個人提供信息”這一企業(yè)目標的實現(xiàn)。全球為數(shù)眾多的移動電話用戶正在使用各種基于ANDROID的電話。谷歌的目標是讓(移動通訊)不依賴于設(shè)備甚至平臺。出于這個目的,ANDROID將補充,而不會替代谷歌長期以來奉行的移動發(fā)展戰(zhàn)略通過與全球各地的手機制造商和移動運營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動服務(wù),并推廣這些產(chǎn)品。近兩年來由于ANDROID操作系統(tǒng)具有良好的開放性和平臺開的便捷性等特點,采用ANDROID操作系統(tǒng)的手機越來越受到人們的青睞。同時ANDROID操作系統(tǒng)在智能手機領(lǐng)域中所扮演的角色也越來越重要??紤]到ANDROID廣闊的市場前景,本文將ANDROID操作系統(tǒng)作為課題的研究對象。13本論文的組織結(jié)構(gòu)本論文共分七章第1章緒論,這一章主要是對本次畢業(yè)設(shè)計所開發(fā)的系統(tǒng)進行問題的定義,通過問題的定義明白需要做些什么,并且對開發(fā)內(nèi)容簡單的介紹了一下;同時本章還對課題的研究背景與研究意義進行分析,對開發(fā)本系統(tǒng)的可行性分析還有對論文各章內(nèi)容的簡要介紹。第2章系統(tǒng)理論知識,對涉及到的理論知識和用到的開發(fā)工具做相關(guān)闡述。第3章系統(tǒng)分析,主要介紹了本系統(tǒng)需要實現(xiàn)的功能模塊和本系統(tǒng)的數(shù)據(jù)庫設(shè)計、頁面的詳細設(shè)計等。第4章系統(tǒng)設(shè)計,主要介紹了本系統(tǒng)的整個設(shè)計過程、設(shè)計思路以及設(shè)計中應(yīng)該注意的問題。第5章系統(tǒng)實現(xiàn),主要介紹了本設(shè)計的實現(xiàn)環(huán)境和實現(xiàn),詳細分析了系統(tǒng)各個核心模塊的實現(xiàn)過程、實現(xiàn)方法和實現(xiàn)結(jié)果。第6章系統(tǒng)測試與分析,詳細介紹了軟件測試在整個軟件開發(fā)環(huán)節(jié)的重要性和必要性,也分析了軟件測試的各種目的,周給出了本系統(tǒng)的測試過程與結(jié)論最后總結(jié)、致謝、參考文獻。2關(guān)鍵技術(shù)介紹21什么是ANDROIDANDROID是首個基于LINUX平臺的開源手機操作系統(tǒng),該平臺由操作系統(tǒng)中間件,用戶界面和應(yīng)用軟件組成號稱是首個為移動終端打造的真正開放和完整的軟件。ANDROID一詞的本義指“機器人”,2003年美國有一家以ANDROID為名的小公司成立,開發(fā)手機平臺。GOOGLE收購ANDROID之后,于07年11月5日發(fā)布了開源的ANDROID平臺一款包括操作系統(tǒng)(基于LINUX內(nèi)核)、中間件和關(guān)鍵應(yīng)用的手機平臺,并組建了開放手機聯(lián)盟OPENHANDSETALLIANCE,包括GOOGLE、中國移動、TMOBILE、宏達、高通、摩托羅拉等領(lǐng)軍企業(yè)。2008年9月22日,美國運營商TMOBILEUSA在紐約正式發(fā)布第一款GOOGLE手機TMOBILEG1。該款手機為宏達電制造,是世界上第一部使用ANDROID操作系統(tǒng)的手機。22ANDROID系統(tǒng)架構(gòu)簡介從軟件分層的角度來看,ANDROID平臺由應(yīng)用程序,應(yīng)用程序框架,ANDROID運行時,庫以及LINUX內(nèi)核共5部分構(gòu)成。如圖21所示。圖21整體結(jié)構(gòu)211應(yīng)用程序APPLICATIONSANDROID平臺默認包含了一系列核心應(yīng)用程序,包括電子郵件、短信、日歷、地圖、瀏覽器、聯(lián)系人管理程序等,這些程序都以JAVA程序語言編寫,你也可以用自己便攜的應(yīng)用程序來替換ANDROID提供的應(yīng)用程序,這個替換的機制實際是由應(yīng)用程序框架來保證的。如圖22所示。圖22應(yīng)用層222應(yīng)用程序框架APPLICATIONFRAMEWORK應(yīng)用程序框架是我們進行ANDROID開發(fā)的基礎(chǔ)應(yīng)用程序框架層包含了視圖系統(tǒng),內(nèi)容提供器,窗口管理器,活動管理器,通知管理器,位置管理器,資源管理器,電話管理器和包管理器9大部分。如圖23所示。圖23中間件層233ANDROID運行時RUNTIMEANDROID雖然采取JAVA程序語言來編寫應(yīng)用程序,但不使用J2ME執(zhí)行JAVA程序,而是用ANDROID自有的ANDROID運行時(RUNTIME)ANDROID運行時包括核心庫和DALVIK虛擬機兩部分。如圖24所示。圖24核心庫,虛擬機234系統(tǒng)庫LIBRARIES應(yīng)用程序框架是貼近于應(yīng)用程序的軟件組件服務(wù),而更底層則是ANDROID的函數(shù)庫,這一部分是應(yīng)用程序框架的支撐,其架構(gòu)如圖25所示。圖25系統(tǒng)庫235LINUXANDROID平臺是開放,采用LINUX內(nèi)核則是ANDROID平臺開放性的基礎(chǔ)。ANDROID平臺中的操作系統(tǒng)采用了LINUX26版的內(nèi)核,它包括了顯示驅(qū)動、攝像頭驅(qū)動、FLASH內(nèi)存驅(qū)動、BINDER(IPC)驅(qū)動、鍵盤驅(qū)動、WIFI驅(qū)動、AUDIO驅(qū)動以及電源管理部分。LINUX內(nèi)核層為我們在軟件層和硬件層建立了一個抽象層,使得應(yīng)用程序開發(fā)人員無需關(guān)心硬件細節(jié)。對于手機的開發(fā)商而言,如果想要ANDROID平臺運行到自己的硬件平臺上就必須通過對LINUX層進行修改,通常要做的工作就是為自己的硬件便攜驅(qū)動程序。23SQLITE數(shù)據(jù)庫ANDROID采用SQLITE這個輕量級數(shù)據(jù)庫工具來管理數(shù)據(jù)SQLITE,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計目標是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持WINDOWS/LINUX/UNIX等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如TCL、C、PHP、JAVA等,還有ODBC接口,同樣比起MYSQL、POSTGRESQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。SQLITE第一個ALPHA版本誕生于2000年5月。至今已經(jīng)有12個年頭,SQLITE也迎來了一個版本SQLITE3已經(jīng)發(fā)布。SQLITE實現(xiàn)了多數(shù)的SQL92標準,包括事務(wù),就是代表原子性、一致性、隔離性和持久性的(ACID),觸發(fā)器和多數(shù)的復(fù)雜查詢。不進行類型檢查。你可以把字符串插入到整數(shù)列中。例如,某些用戶發(fā)現(xiàn)這是使數(shù)據(jù)庫更加有用的創(chuàng)新,特別是與無類型的腳本語言一起使用的時候。其他用戶認為這是主要的缺點。多個進程或線程可以同時訪問同一個數(shù)據(jù)而沒有問題??梢酝瑫r平行讀取同一個數(shù)據(jù)庫。但同一時間只能有一個進程或線程進行數(shù)據(jù)寫入;否則會寫入失敗并得到一個錯誤信息(或者會自動重試一段時間,而這重試時間的長短是可以設(shè)置的)。程序設(shè)計者還提供了一個叫做SQLITE3的獨立程序用來查詢和管理SQLITE數(shù)據(jù)庫文件。SQLITE的用戶可以把這個程序當(dāng)作如何寫SQLITE應(yīng)用程序的示例。3網(wǎng)頁瀏覽器分析本章首先介紹了基于ANDROID的網(wǎng)頁瀏覽器的可行性,確立了開發(fā)基礎(chǔ),直接詳細闡述了系統(tǒng)各個模塊的詳細需求分析,接著分析了系統(tǒng)的研究路線和系統(tǒng)的流程設(shè)計。31軟件分析概述系統(tǒng)分析是在總體規(guī)劃的指導(dǎo)下,對某個或若干個子系統(tǒng)進行深入仔細地調(diào)查研究,確定新系統(tǒng)邏輯功能的過程。這一階段的主要任務(wù)是由系統(tǒng)分析員了解每個業(yè)務(wù)流程,工作流程,廣大用戶的需求,運用系統(tǒng)開發(fā)理論、開發(fā)方法和開發(fā)技術(shù)設(shè)計出一個計算機化的信息系統(tǒng)。例如本軟件網(wǎng)頁瀏覽器,首先我們把系統(tǒng)分成主界面、頁面瀏覽模塊、歷史記錄模塊和下載模塊四大模塊。在系統(tǒng)分析中存在很多困難,為了克服困難,做好分析工作,在進行系統(tǒng)分析時應(yīng)遵循系統(tǒng)分析的原則,這樣才能保證分析工作能夠順利進行,系統(tǒng)分析的原則包括邏輯設(shè)計與物理設(shè)計分開的原則、面向用戶的原則和結(jié)構(gòu)化分析的原則。通過實際調(diào)查并與相關(guān)用戶交流后,分析基于ANDROID網(wǎng)頁瀏覽器系統(tǒng)的具體的要求,確定本系統(tǒng)的邏輯功能,以滿足用戶的各項要求,完成相應(yīng)的各項功能,提高瀏覽器的實用水平。在近期目標完成后,該系統(tǒng)應(yīng)該有很強的擴充性,便于在此基礎(chǔ)上進行擴充式開發(fā),為以后的發(fā)展及擴充打好基礎(chǔ)。該系統(tǒng)采用以抽象和分解為手段,并且采用結(jié)構(gòu)化分析方法進行系統(tǒng)分析,根據(jù)實際調(diào)查研究,對系統(tǒng)進行自頂向下的逐層分解,逐步細分,逐步求精,建立新系統(tǒng)的邏輯模型,這個邏輯模型將盡可能避免使用計算機術(shù)語,讓其盡可能的簡單化、通俗化,便于設(shè)計者和瀏覽者的溝通與交流經(jīng)驗。結(jié)構(gòu)化分析方法的基本思想是該系統(tǒng)采用結(jié)構(gòu)化分析方法,以抽象和分解為手段,對系統(tǒng)進行自頂向下的逐層分解,逐步細分,逐步求精,從而達到易于理解的目的。32網(wǎng)頁瀏覽器分析瀏覽器是指可以顯示網(wǎng)頁服務(wù)器或者文件系統(tǒng)的HTML文件內(nèi)容,并讓用戶與這些文件交互的一種軟件。網(wǎng)頁瀏覽器主要通過HTTP協(xié)議與網(wǎng)頁服務(wù)器交互并獲取網(wǎng)頁,這些網(wǎng)頁由URL指定,文件格式通常為HTML,并由MIME在HTTP協(xié)議中指明。隨著移動終端和3G智能手機的普及,移動瀏覽器的發(fā)展也變得突飛猛進。未來手機瀏覽器的藍圖將是具有高速上網(wǎng)性能的強勁內(nèi)核,保證手機上網(wǎng)的速度和體驗;應(yīng)用開發(fā)者們在手機瀏覽器所搭建的開放平臺之上開發(fā)豐富應(yīng)用,用戶可以從應(yīng)用中心中隨意的安裝和卸載,實現(xiàn)手機瀏覽器個性化,在不犧牲手機瀏覽器性能的同時,增強手機瀏覽器的功能,讓手機瀏覽器成為真正的上網(wǎng)入口和應(yīng)用承載平臺。由此本設(shè)計完成一個基于ANDROID平臺的移動端網(wǎng)頁瀏覽器也就具有非常大的實際意義和實用價值。33系統(tǒng)需求分析本系統(tǒng)提供了數(shù)據(jù)瀏覽器、瀏覽器數(shù)據(jù)發(fā)送等等功能,通過調(diào)查并分析,確認系統(tǒng)要完成以下功能1網(wǎng)址智能補全瀏覽器地址欄支持網(wǎng)址自動補全功能,減少用戶輸入,提高用戶操作體驗。2瀏覽器瀏覽模塊作為系統(tǒng)核心模塊,瀏覽器瀏覽模塊支持各種網(wǎng)頁地址瀏覽,支持后退、前進以及刷新操作3歷史記錄與導(dǎo)航瀏覽器記錄用戶瀏覽歷史,支持用戶瀏覽歷史的查詢與刪除操作,同時主界提供采用網(wǎng)站入口例如百度、騰訊網(wǎng)等入口4下載模塊本瀏覽器支持文件下載,獨立下載模塊界面整個系統(tǒng)的整體功能框架如圖31所示。圖31系統(tǒng)功能框架圖4網(wǎng)頁瀏覽器詳細設(shè)計41系統(tǒng)設(shè)計原則瀏覽器軟件設(shè)計是確定系統(tǒng)如何建立的過程。良好的軟件系統(tǒng)來源于良好的系統(tǒng)設(shè)計。系統(tǒng)設(shè)計應(yīng)該提供完整、準確、規(guī)范的系統(tǒng)設(shè)計文檔。在系統(tǒng)設(shè)計中,首先應(yīng)該注意的是設(shè)計的統(tǒng)一和準確。設(shè)計統(tǒng)一即將系統(tǒng)視為一個有機整體,要求設(shè)計具有統(tǒng)一的設(shè)計規(guī)范和標準。設(shè)計準確即設(shè)計描述應(yīng)該力求避免模糊或二義性。此外,在進行系統(tǒng)設(shè)計過程中,還應(yīng)該遵循的主要原則如下。1、適用性原則系統(tǒng)總的目的是保證系統(tǒng)功能目標的實現(xiàn),即滿足客戶的需求,是所有應(yīng)用軟件最基本的原則。在滿足系統(tǒng)需求的前提下,應(yīng)該從系統(tǒng)用戶角度考慮,使設(shè)計的系統(tǒng)操作簡單化,易用化。應(yīng)該以降低系統(tǒng)的成本為目標,避免一味追求技術(shù)上的先進而不考察應(yīng)用效益。沒有市場和應(yīng)用前景的軟件項目開發(fā)是失敗的。而瀏覽器作為移動端重要入口,其市場價格是非??捎^的2、可靠性安全性原則可靠性和安全性是系統(tǒng)重要的需求之一,也是系統(tǒng)設(shè)計質(zhì)量的重要指標。網(wǎng)絡(luò)科研管理系統(tǒng)工作在網(wǎng)絡(luò)環(huán)境中,對于現(xiàn)在大量存在于網(wǎng)絡(luò)的病毒、黑客攻擊等安全威脅,應(yīng)該具有一定的防御能力,對于網(wǎng)絡(luò)帶寬和訪問量等外界運行環(huán)境的變化,應(yīng)該具有較強的適應(yīng)能力。只有安全可靠的系統(tǒng)才能發(fā)揮其應(yīng)有的功能。3、可擴展性原則系統(tǒng)的設(shè)計應(yīng)該提供可擴展能力,以滿足未來科研工作需求的發(fā)展和變化。主要可以采用分布式設(shè)計、系統(tǒng)結(jié)構(gòu)模塊化設(shè)計等技術(shù)手段,把系統(tǒng)設(shè)計為多個功能相對獨立的模塊,降低系統(tǒng)的禍合度,提高系統(tǒng)的可擴展性。希望通過ANDROID和地圖技術(shù)的支持,設(shè)計出一個基于ANDROID的網(wǎng)頁瀏覽器系統(tǒng),設(shè)計過程中希望能夠從效能、邏輯和穩(wěn)定性等多方面進行綜合考慮,力求最后產(chǎn)品界面能夠一目了然,讓用戶容易上手并且不容易出錯。42系統(tǒng)流程設(shè)計在設(shè)計和開發(fā)系統(tǒng)過程中,采用了一些相對比較成熟、安全性較高、運行比較穩(wěn)定的技術(shù)。這些技術(shù)貫穿了整個系統(tǒng)的設(shè)計與開發(fā)過程,是設(shè)計和實現(xiàn)各個模塊的基礎(chǔ)技術(shù),只有運用先進的設(shè)計模式和開發(fā)技術(shù),才能保證開發(fā)工作順利地進行,才能保證系統(tǒng)設(shè)計的合理性和靈活性,才能保證各個功能模塊的穩(wěn)定性。本系統(tǒng)的設(shè)計初衷是用戶進入系統(tǒng)后,可以看到各種常用的網(wǎng)站導(dǎo)航模塊,整個系統(tǒng)的流程圖如圖41所示。圖41系統(tǒng)流程圖43文件結(jié)構(gòu)設(shè)計在程序開發(fā)階段,首先確定“即ANDROID的網(wǎng)頁瀏覽器”的工程名稱為BROWSERAPP,根據(jù)程序模塊設(shè)計的內(nèi)容,建立BROWSERAPP項目,BROWSERAPP項目,的文件結(jié)構(gòu)如圖42所示圖42工程結(jié)構(gòu)圖為了使代碼文件結(jié)構(gòu)更加清晰,BROWSERAPP工程設(shè)置了多個命名空間,分別保存了用戶界面、數(shù)據(jù)適配器、常用類庫和實體多個包,源代碼的名稱以及說明如表33所示表41系統(tǒng)代碼結(jié)構(gòu)包名稱文件名說明COMMMBROWSERAPPACTIVITYSPLASHACTIVITYJAVA閃屏界面視圖COMMMBROWSERAPPACTIVITYHOMEACTIVITYJAVA系統(tǒng)主界面視圖COMMMBROWSERAPPACTIVITYWEBSITEACTIVITYJAVA網(wǎng)頁瀏覽界面視圖COMMMBROWSERAPPACTIVITYHISTORYLISTACTIVITYJAVA瀏覽歷史界面ANDROID的資源文件保存在/RES的子目錄中。其中、/RES/ANIM目錄中保存的是產(chǎn)生動畫效果的XML文件,/RES/DRAWABLE/目錄中保存的是圖像文件,/RES/VALUES目錄中保存的是用來自定義字符串和顏色的文件,/RES/XML目錄中保存的是XML格式的數(shù)據(jù)文件。所有在程序開發(fā)階段可以被調(diào)用的資源都保存在這些目錄中,具體每個資源文件的用途可以參考表34表42資源文件名稱及用途資源目錄文件名說明BTN_BLUE_SELECTORXMLDRAWABLEBTN_WHITE_SELECTORXML按鈕資源文件ACTIVITY_HOMEXML主界面布局文件ACTIVITY_WEBSITEXML頁面瀏覽界面布局文件LAYOUTSTYLESXML樣式資源文件COLORSXML顏色資源文件VALUESSTRINGSXML字符串資源文件5網(wǎng)頁瀏覽器實現(xiàn)本章介紹本系統(tǒng)的各個模塊的設(shè)計和實現(xiàn)。首先在ECLIPSE中配置好ADT和ANDROIDSDK等開發(fā)環(huán)境,然后新建一個ANDROID項目,項目名為HAIRSTYLE,然后在ANDROID項目中的ANDROIDMANIFESTXML文件中配置本軟件需要使用的權(quán)限。51開發(fā)環(huán)境搭建任何事物要運行,都要有它的環(huán)境,ANDROID也有它的環(huán)境才能夠運行,下面介紹ANDROID的開發(fā)環(huán)境配置。搭建開發(fā)環(huán)境需要的軟件1操作系統(tǒng)WINDOWXP或LINUX2軟件包ANDROIDSDKSOFTWAREDEVELOPMENTKITJAVADEVELOPMENTKIT、ADTANDROIDDEVELOOPMENTTOOL)3IDE環(huán)境ECLIPSEIDEADTECLIPSE33以上4JDKJAVARUNTIMEENVIRONMENT虛擬機、JDKJAVADEVELOPMENTKIT安裝步驟如下第一步安裝JAVA虛擬機SUNJAVA6JDK版本。第二步安裝ECLIPSE35工具,到官網(wǎng)HTTP/WWWECLIPSEORG/DOWNLOADS/,選擇版本下載后進行安裝。(如圖51)ECLIPSE工具的版本如圖51所示圖51ECLIPSE工具的版本圖第三步安裝ANDROIDSDK首先要下載SDK,可以在這個網(wǎng)址下載HTTP/DEVELOPERANDROIDCOM/SDK,選擇相應(yīng)的系統(tǒng)進行安裝。SDK下載的地址圖如圖52所示圖52SDK下載的地址圖第四步安裝ANDROIDADT插件。運行ECLIPSE,選擇HELPINSTALLNEWSOFTWARE選擇ADD,將會彈出一個【ADDSITE】對話框。【ADDSITE】對話框如圖53圖53【ADDSITE】對話框圖點擊OK,選擇要安裝的軟件,占NEXT,然后選擇接受協(xié)議,直到安裝成功,重啟ECLIPSE軟件,設(shè)置ANDROIDSDKHOME,WINDOWREFRENCE。設(shè)置ANDROIDSDKHOME界面如圖54所示圖54設(shè)置ANDROIDSDKHOME界面圖在SDKLOCATION中輸入SDKTOOLS路DANDROIDSOFTWAREANDROIDSDKWINDOWS點擊OK,這樣ANDROID環(huán)境就已經(jīng)搭建成功了。52歡迎界面實現(xiàn)一般的手機客戶端軟件啟動時都會通過加載一個歡迎界面,該界面主要用來描述本軟件的一些相關(guān)信息,例如軟件名稱等。本網(wǎng)頁瀏覽器啟動時也通過一個ACTIVITY來加載一個歡迎界面,用戶進入該界面后停留一秒鐘軟件即會自動跳轉(zhuǎn)進入到新聞客戶端的主界面里。實現(xiàn)核心代碼PUBLICCLASSSPLASHACTIVITYEXTENDSBASEACTIVITYPRIVATEFINALLONGM_DWSPLASHTIME2000PRIVATEBOOLEANM_BPAUSEDFALSEPRIVATEBOOLEANM_BSPLASHACTIVETRUEOVERRIDEPUBLICVOIDONCREATEBUNDLESAVEDINSTANCESTATESUPERONCREATESAVEDINSTANCESTATEIMAGEVIEWIMAGEVIEWNEWIMAGEVIEWTHISIMAGEVIEWSETSCALETYPESCALETYPECENTER_CROPIMAGEVIEWSETIMAGERESOURCERDRAWABLESPLASHSETCONTENTVIEWIMAGEVIEWTHREADTHREADNEWTHREADNEWRUNNABLEOVERRIDEPUBLICVOIDRUNTRYLONGMS0WHILEM_BSPLASHACTIVEFORINTI0IMAPNEWHASHMAPMAPPUT“ITEMIMAGE“,ITEMIMAGESIMAPPUT“ITEMTEXT“,MENUTEXTILSTIMAGEITEMADDMAPSIMPLEADAPTERSAIMAGEITEMSNEWSIMPLEADAPTERTHIS,LSTIMAGEITEM,RLAYOUTGRIDVIEW_ITEM_DETAILMENU,NEWSTRING“ITEMIMAGE“,“ITEMTEXT“,NEWINTRIDITEMIMAGE,RIDITEMTEXTGRDSETADAPTERSAIMAGEITEMSGRDSETSELECTORNEWCOLORDRAWABLECOLORTRANSPARENTGRDSETONITEMCLICKLISTENERNEWITEMCLICKLISTENERLISTVIEW1LISTVIEWFINDVIEWBYIDRIDLISTVIEW1LISTVIEW1SETONITEMCLICKLISTENERNEWONITEMCLICKLISTENEROVERRIDEPUBLICVOIDONITEMCLICKADAPTERVIEWPARENT,VIEWVIEW,INTPOSITION,LONGIDINTENTNEWINTENTHOMEACTIVITYTHIS,WEBSITEACTIVITYCLASSINTENTPUTEXTRA“URL“,LISTGETPOSITIONGETURLSTARTACTIVITYINTENTLISTVIEW1SETONITEMLONGCLICKLISTENERNEWONITEMLONGCLICKLISTENEROVERRIDEPUBLICBOOLEANONITEMLONGCLICKADAPTERVIEWPARENT,VIEWVIEW,INTPOSITION,LONGIDSHOWCONTACTDIALOGPOSITIONRETURNTRUE,具體的實現(xiàn)效果如圖56所示圖56瀏覽器模塊界面54瀏覽界面模塊實現(xiàn)用戶可以在瀏覽器軟件界面輸入網(wǎng)頁地址后點擊“進入”按鈕進入到瀏覽器瀏覽界面。進入后軟件會根據(jù)用戶輸入的網(wǎng)站來請求相關(guān)的網(wǎng)頁數(shù)據(jù),然后顯示在界面上。同時本瀏覽器也支持搜索功能,當(dāng)系統(tǒng)檢測到用戶輸入的不是一個網(wǎng)網(wǎng)址而是關(guān)鍵字時,系統(tǒng)會自動調(diào)用百度搜索引擎搜索相關(guān)結(jié)果并顯示在界面上,非常智能使用。同時瀏覽界面的下方包括了后退、前進和刷新等功能按鈕,用戶可以點擊后退按鈕后退一個頁面,也可以點擊刷新按鈕重新加載一個頁面。同時也可以回到主界面。實現(xiàn)核心代碼PRIVATEVOIDFINDVIEWBTNGOBUTTONFINDVIEWBYIDRIDBTNGOBTNGOSETTEXT“瀏覽“BTNGOSETONCLICKLISTENERTHISETADDRESSAUTOCOMPLETETEXTVIEWFINDVIEWBYIDRIDETADDRESSWEBVIEW1WEBVIEWFINDVIEWBYIDRIDWEBVIEW1WEBSETTINGSWEBSETTINGSWEBVIEW1GETSETTINGSWEBSETTINGSSETJAVASCRIPTENABLEDTRUEWEBSETTINGSSETDEFAULTFONTSIZE18WEBSETTINGSSETLOADWITHOVERVIEWMODETRUEWEBVIEW1SETWEBVIEWCLIENTNEWTHEWEBVIEWCLIENTWEBVIEW1SETWEBCHROMECLIENTNEWTHEWEBCHROMECLIENTWEBVIEW1SETDOWNLOADLISTENERNEWMYWEBVIEWDOWNLOADLISTENERETADDRESSSETTEXTURLIVLEFTIMAGEVIEWFINDVIEWBYIDRIDIVLEFTIVRIGHTIMAGEVIEWFINDVIEWBYIDRIDIVRIGHTIVHOMEIMAGEVIEWFINDVIEWBYIDRIDIVHOMEIVREFRESHIMAGEVIEWFINDVIEWBYIDRIDIVREFRESHIVLEFTSETONCLICKLISTENERTHISIVRIGHTSETONCLICKLISTENERTHISIVHOMESETONCLICKLISTENERTHISIVREFRESHSETONCLICKLISTENERTHISIVRIGHTSETIMAGERESOURCERDRAWABLERIGHT2具體的實現(xiàn)效果如圖57所示圖57瀏覽界面55下載模塊實現(xiàn)本瀏覽器內(nèi)置了文件下載功能,用戶在頁面上點擊一個下載地址的時候瀏覽器會自動啟動下載界面,并通過HTTP協(xié)議下載用于請求的文件地址。WEBVIEW已經(jīng)內(nèi)置了下載,我們只需要實現(xiàn)其DOWNLOADLISTENER接口即可,通過實現(xiàn)該接口監(jiān)聽系統(tǒng)的下載行為,然后在事件觸發(fā)后跳轉(zhuǎn)進入到我們自己設(shè)計的界面完成下載操作。實現(xiàn)核心代碼PACKAGECOMMMBROWSERAPPACTIVITYIMPORTJAVAIOFILEOUTPUTSTREAMIMPORTJAVAIOINPUTSTREAMIMPORTJAVAMATHBIGDECIMALIMPORTJAVANETURLIMPORTJAVANETURLCONNECTIONIMPORTANDROIDOSBUNDLEIMPORTANDROIDOSHANDLERIMPORTANDROIDOSMESSAGEIMPORTANDROIDVIEWVIEWIMPORTANDROIDVIEWVIEWONCLICKLISTENERIMPORTANDROIDWIDGETBUTTONIMPORTANDROIDWIDGETLINEARLAYOUTIMPORTANDROIDWIDGETPROGRESSBARIMPORTANDROIDWIDGETTEXTVIEWIMPORTCOMMIEBOUTILSBASEACTIVITYIMPORTCOMMIEBOUTILSFILEUTILSIMPORTCOMMIEBOUTILSHARDWAREHELPERPUBLICCLASSDOWNLOADACTIVITYEXTENDSBASEACTIVITYPRIVATESTRINGFILEPATHPRIVATESTATICFINALINTDOWNLOAD_PREPARE0PRIVATESTATICFINALINTDOWNLOAD_WORK1PRIVATESTATICFINALINTDOWNLOAD_OK2PRIVATESTATICFINALINTDOWNLOAD_ERROR3PRIVATESTATICFINALINTDOWNLOAD_CANCEL4PRIVATEBOOLEANISDOWNLOADINGFALSEPRIVATEINTAPKFILESIZE0PRIVATEINTALREADYDOWNLOADSIZE0PRIVATESTRINGURLPRIVATESTRINGFILENAMEPRIVATEPROGRESSBARPROGRESSBAR1PRIVATEBIGDECIMALBIGDECIMALPRIVATEBUTTONBTNCANCELPRIVATETEXTVIEWTVAPKTOTALSIZEPRIVATETEXTVIEWTVALREADYDOWNLOADSIZEPRIVATELINEARLAYOUTLLOVERRIDEPUBLICVOIDONCREATEBUNDLESAVEDINSTANCESTATESUPERONCREATESAVEDINSTANCESTATETHISSETCONTENTVIEWRLAYOUTACTIVITY_DOWNLOADURLGETINTENTGETSTRINGEXTRA“URL“THISFINDVIEWTHISSETLISTENERTHISINITPRIVATEVOIDFINDVIEWTEXTVIEWTVTOPTITLECENTERTEXTVIEWFINDVIEWBYIDRIDTVTOPTITLECENTERTVTOPTITLECENTERSETTEXT“文件下載“PROGRESSBAR1PROGRESSBARFINDVIEWBYIDRIDPROGRESSBAR1TVAPKTOTALSIZETEXTVIEWFINDVIEWBYIDRIDTVAPKTOTALSIZETVALREADYDOWNLOADSIZETEXTVIEWFINDVIEWBYIDRIDTVALREADYDOWNLOADSIZEBTNCANCELBUTTONFINDVIEWBYIDRIDBTNCANCELLLLINEARLAYOUTFINDVIEWBYIDRIDLLLINEARLAYOUTLAYOUTPARAMSLPARAMSLINEARLAYOUTLAYOUTPARAMSLLGETLAYOUTPARAMSLPARAMSWIDTHHARDWAREHELPERGETDISPLAYSIZETHIS040LLSETLAYOUTPARAMSLPARAMSPRIVATEVOIDSETLISTENERBTNCANCELSETONCLICKLISTENERNEWONCLICKLISTENEROVERRIDEPUBLICVOIDONCLICKVIEWVISDOWNLOADINGFALSEFINISHPRIVATEVOIDINITFILEPATHFILEUTILSGETSDCARDROOTPATHFILENAMEURLSUBSTRINGURLLASTINDEXOF“/“1FILEPATHFILEPATHFILENAMETHREADTHREADNEWTHREADNEWRUNNABLEOVERRIDEPUBLICVOIDRUNDOWNLOADFILEURL,FILEPATHTHREADSTARTPRIVATEFINALHANDLERHANDLERNEWHANDLEROVERRIDEPUBLICVOIDHANDLEMESSAGEMESSAGEMSGSWITCHMSGWHATCASEDOWNLOAD_PREPAREALREADYDOWNLOADSIZE0TOASTUTILSHOW“開始下載“BIGDECIMALNEWBIGDECIMALAPKFILESIZE10/1024/1024TVAPKTOTALSIZESETTEXT“/“BIGDECIMALSETSCALE2,BIGDECIMALROUND_HALF_UPTOSTRING“M“PROGRESSBAR1SETMAXAPKFILESIZE/1024BREAKCASEDOWNLOAD_WORKPROGRESSBAR1SETPROGRESSALREADYDOWNLOADSIZE/1024BIGDECIMALNEWBIGDECIMALALREADYDOWNLOADSIZE10/1024/1024TVALREADYDOWNLOADSIZESETTEXTBIGDECIMALSETSCALE2,BIGDECIMALROUND_HALF_UPTOSTRINGBREAKCASEDOWNLOAD_OKISDOWNLOADINGFALSEPROGRESSBAR1SETPROGRESS0TVALREADYDOWNLOADSIZESETTEXT“0“TOASTUTILSHOW“已成功下載到SD卡“FINISHBREAKCASEDOWNLOAD_CANCELTOASTUTILSHOW“下載被取消“PROGRESSBAR1SETPROGRESS0TVALREADYDOWNLOADSIZESETTEXT“0“BREAK/PARAMWHAT/PRIVATEVOIDSENDMESSAGEINTWHATMESSAGEMNEWMESSAGEMWHATWHATHANDLERSENDMESSAGEM/PARAM文件網(wǎng)絡(luò)地址PARAMSD卡存放位置/PRIVATEVOIDDOWNLOADFILESTRINGURL,STRINGFILEPATHSTRYURLUNEWURLURLURLCONNECTIONCONNUOPENCONNECTIONINPUTSTREAMISCONNGETINPUTSTREAMAPKFILESIZECONNGETCONTENTLENGTH/文件總大小IFAPKFILESIZELISTNULLPRIVATEFINALCONTEXTCONTEXTPRIVATELAYOUTINFLATERINFATERNULLPUBLICHISTORYADAPTERCONTEXTCONTEXT,LISTLISTTHISINFATERLAYOUTINFLATERFROMCONTEXTTHISLISTLISTTHISCONTEXTCONTEXTOVERRIDEPUBLICINTGETCOUNTRETURNLISTSIZEOVERRIDEPUBLICOBJECTGETITEMINTPOSITIONRETURNNULLOVERRIDEPUBLICLONGGETITEMIDINTPOSITIONRETURN0OVERRIDEPUBLICVIEWGETVIEWFINALINTPOSITION,VIEWCONVERTVIEW,VIEWGROUPPARENTVIEWHOLDERHOLDERNULLIFCONVERTVIEWNULLHOLDERNEWVIEWHOLDERCONVERTVIEWINFATERINFLATERLAYOUTLISTVIEW_ITEM_COMMON,NULLHOLDERTEXTVIEW1TEXTVIEWCONVERTVIEWFINDVIEWBYIDRIDTEXTVIEW1HOLDERTEXTVIEW2TEXTVIEWCONVERTVIEWFINDVIEWBYIDRIDTEXTVIEW2HOLDERTEXTVIEW1SETTEXTSIZE16HOLDERTEXTVIEW2SETTEXTSIZE14CONVERTVIEWSETTAGHOLDERELSEHOLDERVIEWHOLDERCONVERTVIEWGETTAGIFLISTGETPOSITIONGETURLLENGTH30HOLDERTEXTVIEW1SETTEXTLISTGETPOSITIONGETURLSUBSTRING0,29“ELSEHOLDERTEXTVIEW1SETTEXTLISTGETPOSITIONGETURLIFLISTGETPOSITIONGETTITLENULLIFLISTGETPOSITIONGETTITLELENGTH30HOLDERTEXTVIEW2SETTEXTLISTGETPOSITIONGETTITLESUBSTRING0,29“ELSEHOLDERTEXTVIEW2SETTEXTLISTGETPOSITIONGETTITLEHOLDERTEXTVIEW2SETVISIBILITYVIEWVISIBLEELSEHOLDERTEXTVIEW2SETVISIBILITYVIEWGONERETURNCONVERTVIEWCLASSVIEWHOLDERPRIVATETEXTVIEWTEXTVIEW1PRIVATETEXTVIEWTEXTVIEW26網(wǎng)頁瀏覽器測試61軟件測試軟件的測試在軟件生命周期中占據(jù)重要的地位,在傳統(tǒng)的瀑布模型中,軟件測試學(xué)僅處于運行維護階段之前,是軟件產(chǎn)品交付用戶使用之前保證軟件質(zhì)量的重要手段。近來,軟件工程界趨向于一種新的觀點,即認為軟件生命周期每一階段中都應(yīng)包含測試,從而檢驗本階段的成果是否接近預(yù)期的目標,盡可能早的發(fā)現(xiàn)錯誤并加以修正,如果不在早期階段進行測試,錯誤的延時擴散常常會導(dǎo)致最后成品測試的巨大困難。事實上,對于軟件來講,不論采用什么技術(shù)和什么方法,軟件中仍然會有錯。采用新的語言、先進的開發(fā)方式、完善的開發(fā)過程,可以減少錯誤的引入,但是不可能完全杜絕軟件中的錯誤,這些引入的錯誤需要測試來找出,軟件中的錯誤密度也需要測試來進行估計。測試是所有工程學(xué)科的基本組成單元,是軟件開發(fā)的重要部分。自有程序設(shè)計的那天起測試就一直伴隨著。統(tǒng)計表明,在典型的軟件開發(fā)項目中,軟件測試工作量往往占軟件開發(fā)總工作量的40以上。而在軟件開發(fā)的總成本中,用在測試上的開銷要占30到50。如果把維護階段也考慮在內(nèi),討論整個軟件生存期時,測試的成本比例也許會有所降低,但實際上維護工作相當(dāng)于二次開發(fā),乃至多次開發(fā),其中必定還包含有許多測試工作。在實踐中,軟件測試的困難常常使人望而卻步或敷衍了事,這是由于對測試仍然存在一些不正確的看法和錯誤的態(tài)度,這包括1認為測試工作不如設(shè)計和編碼那樣容易取得進展難以給測試人員某種成就感2以發(fā)現(xiàn)軟件錯誤為目標的測試是非建設(shè)性的,甚至是破壞性的,測試中發(fā)現(xiàn)錯位是對責(zé)任者工作的一種否定3測試工作枯燥無味,不能引起人們的興趣4測試工作是艱苦而細致的工作5對自己編寫的程序盲目自信,在發(fā)現(xiàn)錯誤后,顧慮別人對自己的開發(fā)能力的看法。這些觀點對軟件測試工作是極為不利的,必須澄清認識、端正態(tài)度,才可能提高軟件產(chǎn)品的質(zhì)量。62軟件測試的目的如果測試的目的是為了盡可能多地找出錯誤,那么測試就應(yīng)該直接針對軟件比較復(fù)雜的部分或是以前出錯比較多的位置。如果測試目的是為了給最終用戶提供具有一定可信度的質(zhì)量評價,那么測試就應(yīng)該直接針對在實際應(yīng)用中會經(jīng)常用到的商業(yè)假設(shè)。在談到軟件測試時,許多人都引用GRENFORDJMYERS在THEARTOFSOFTWARETESTING一書中的觀點1軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程2測試是為了證明程序有錯,而不是證明程序無錯誤3一個好的測試用例是在于它能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤4一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試。這種觀點可以提醒人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。但是僅憑字面意思理解這一觀點可能會產(chǎn)生誤導(dǎo),認為發(fā)現(xiàn)錯
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療廢物處理的法律責(zé)任與監(jiān)管
- 醫(yī)療廢物處理中的區(qū)域協(xié)同治理機制
- 醫(yī)療應(yīng)急物資的智能調(diào)配與應(yīng)急響應(yīng)優(yōu)化方案實現(xiàn)方法
- 醫(yī)療器械采購法規(guī)核心條款深度解析
- 醫(yī)療健康服務(wù)的質(zhì)量監(jiān)管體系
- 醫(yī)療AI算法可解釋性在知情同意中的實踐
- GB/T 46543-2025油氣輸送用非金屬管道完整性管理
- 動土作業(yè)安全管理
- 2025年慶元縣面向“三支一扶”志愿者公開招聘事業(yè)單位工作人員1人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年廣西來賓象州縣發(fā)展和改革局商調(diào)事業(yè)單位人員1人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年查對制度考核考試題庫(答案+解析)
- 云南省2025年普通高中學(xué)業(yè)水平合格性考試歷史試題
- 骨關(guān)節(jié)疾病危害課件
- 四川省2025年高職單招職業(yè)技能綜合測試(中職類)汽車類試卷(含答案解析)
- plc電機正反轉(zhuǎn)-教案
- 燃機三菱控制系統(tǒng)簡述課件
- 2022年醫(yī)務(wù)科年度工作總結(jié)范文
- 稽核管理培訓(xùn)課件
- 貨幣銀行學(xué)課件(完整版)
- 臨時電箱日常巡查記錄表
- 公民戶口遷移審批表
評論
0/150
提交評論