




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第頁,共28頁軌道交通智能移動查詢系統(tǒng)的設(shè)計與實(shí)現(xiàn)摘要經(jīng)過對市場上現(xiàn)有的開發(fā)技術(shù)進(jìn)行分析,結(jié)合本次開發(fā)的軌道交通智能移動查詢系統(tǒng)需要實(shí)現(xiàn)的功能分析后,通過Android平臺結(jié)合Java技術(shù)進(jìn)行開發(fā),這種開發(fā)方式可以最大維護(hù)數(shù)據(jù)的完整,從而使得各個功能正常使用??萍寂c社會是緊緊相關(guān)的,本系統(tǒng)的開發(fā)對于軌道交通智能移動查詢包括:用戶注冊、用戶登錄、軌道路線查詢、軌道信息查詢等功能。經(jīng)過多次測試,得出本系統(tǒng)支持預(yù)期所有功能的實(shí)現(xiàn),并滿足用戶的簡單操作性需求。通過軌道交通智能移動查詢系統(tǒng)的功能模塊,管理人員更好的管理車輛信息,這不僅對管理員的管理工作帶來更輕松的方式,更是為廣大用戶提供了方便。關(guān)鍵詞:Android,Java技術(shù),軌道查詢系統(tǒng)目錄摘要 I目錄 III1緒論 11.1研究背景和現(xiàn)狀 11.2研究目的和意義 11.3主要工作 21.4論文組織 22開發(fā)相關(guān)技術(shù) 32.1Java簡介 32.2Android簡介 32.3SQLite 33需求分析 43.1系統(tǒng)UML用例分析 43.2軌道運(yùn)行信息管理系統(tǒng)性能分析 53.2.1時間可行性 53.2.2技術(shù)可行性 53.2.3經(jīng)濟(jì)可行性 53.2.4操作可行性 53.3用戶使用需求分析 63.4軌道運(yùn)行信息管理系統(tǒng)流程分析 63.4.1登錄業(yè)務(wù)流程 63.4.2注冊業(yè)務(wù)流程 74系統(tǒng)功能模塊設(shè)計 74.1系統(tǒng)體系結(jié)構(gòu)設(shè)計 74.2總體設(shè)計 84.3定位坐標(biāo)設(shè)計 84.4數(shù)據(jù)庫設(shè)計 94.4.1系統(tǒng)實(shí)體設(shè)計 94.4.2系統(tǒng)E-R圖設(shè)計 125系統(tǒng)詳細(xì)設(shè)計 135.1注冊頁面信息 135.2用戶功能模塊的實(shí)現(xiàn) 135.2.1首頁界面 135.2.2線路信息界面 145.2.3我的界面 145.2.4線路使用分析 155.3管理員功能實(shí)現(xiàn) 175.3.1登錄首頁 175.3.2后臺管理主界面 195.3.3車輛添加管理 195.3.4添加站點(diǎn) 205.3.5線路信息界面 226系統(tǒng)測試 236.1測試的方法與意義 236.2功能測試 247總結(jié)與展望 257.1總結(jié) 257.2展望 26參考文獻(xiàn) 271緒論1.1研究背景和現(xiàn)狀隨著時間的推移,科技一直在不停地進(jìn)步著,現(xiàn)在是一個信息化的時代,所有的信息在互聯(lián)網(wǎng)的操作下,電腦辦公已經(jīng)成為常態(tài),在電腦上進(jìn)行處理與維護(hù),是最便捷的方式。使用手機(jī)APP對軌道運(yùn)營的管理也是迫在眉睫。在這個時代,每個人都過著快節(jié)奏的生活,時間是非常緊張的,所以能過提高效率的系統(tǒng)也是必要的,同時也為軌道交通管理人員提供了便捷。管理用戶可以了解軌道公司內(nèi)的各個站點(diǎn)的具體信息,查看線路、站點(diǎn)、車輛等的管理信息,能夠?yàn)檐壍拦局贫ê线m的規(guī)劃,在有突發(fā)的情況下,合理安排。用戶可以使用系統(tǒng),便捷查詢車輛以及站點(diǎn)、線路等的信息,合理安排出行。軌道交通智能移動查詢系統(tǒng)使軌道的管理更便捷,為軌道的管理的長遠(yuǎn)發(fā)展提供有利的條件,同時為員工帶來便利。結(jié)合了基于軌道交通智能移動查詢系統(tǒng)的使用需求,分析了基于軌道交通智能移動查詢系統(tǒng)的開發(fā)需要,研究并設(shè)計出系統(tǒng)的各個功能結(jié)構(gòu),并使用Android等能夠完全滿足這些需要的并且非常成熟的技術(shù)實(shí)現(xiàn)軌道交通智能移動查詢系統(tǒng)的開發(fā)和設(shè)計,力求為人們帶來更好的使用效果。1.2研究目的和意義在日常生活中,APP如果可以最大化利用,不僅僅能夠使公司信息有序化、實(shí)時化,為管理也提供了最大的方便以及工作效率。如今,隨著我們的技術(shù)的快速發(fā)展,我們的各行各業(yè)管理也是進(jìn)程化了許多。如今,我國的管理水平也是在不斷提升,各行各業(yè)的管理方式也在隨著更新,所以利用學(xué)習(xí)的知識來設(shè)計開發(fā)基于Android的軌道交通智能移動查詢系統(tǒng),從而實(shí)現(xiàn)對軌道管理信息的高效管理。提高基于Android軌道運(yùn)行信息管理透明化管理,軌道線路以及軌道站點(diǎn)的及時記錄和發(fā)布,有利于使用者對軌道站點(diǎn)的實(shí)時信息,為使用者的出行更加簡便、快捷。軌道交通智能移動查詢系統(tǒng)的開發(fā)不僅能夠加強(qiáng)對信息的管理,還能夠節(jié)省人力物力,降低運(yùn)營成本。所以說,基于Android軌道運(yùn)行信息管理的設(shè)計開發(fā)是非常有必要的。1.3主要工作制作出軌道交通智能移動查詢系統(tǒng),需要對系統(tǒng)對功能進(jìn)行深入對分析,還需要對計算機(jī)對基本技術(shù)深入了解。(1)針對需要制作的軌道交通智能移動查詢系統(tǒng)進(jìn)行一次整體分析,要做到盡可能完整,細(xì)致。其中必須包含系統(tǒng)的一般功能和對于框架技術(shù)的分析。為了更好的了解系統(tǒng),在確定系統(tǒng)使用的相關(guān)技術(shù)后,需要通過一些手段對這些技術(shù)加深了解,例如查閱國內(nèi)外的文獻(xiàn)資料,或者到圖書館查找資料,或者請教有經(jīng)驗(yàn)的程序員,詢問相關(guān)的意見,進(jìn)一步為自己在開發(fā)的過程中避免很多困難。同時,也需要對數(shù)據(jù)庫進(jìn)行一次簡單的分析,以此作為基礎(chǔ)。之后對于系統(tǒng)內(nèi)功能的劃分和子功能之間的聯(lián)系,從而設(shè)計出E-R圖,為系統(tǒng)的開發(fā)奠定了基礎(chǔ)。(2)針對軌道交通智能移動查詢系統(tǒng)的具體工作內(nèi)容進(jìn)行一次完整的分析并且設(shè)計,使得工作流程盡可能簡潔高效。由于參考到系統(tǒng)在儲存和數(shù)據(jù)處理上需要提供更有利的條件,采用安卓技術(shù)方式來開發(fā),將兩者進(jìn)行相互的結(jié)合,在技術(shù)上更好的為系統(tǒng)提供了可行性,為數(shù)據(jù)的存儲提供了更好的平臺,這種方法對性能上的提升一定是不可否認(rèn)的。1.4論文組織對于軌道交通智能移動查詢系統(tǒng)這篇論文的撰寫分成了七個部分。一、緒論,對于基于Android的軌道交通智能移動查詢系統(tǒng)研究的背景、意義、現(xiàn)狀、主要工作以及論文組成。二、相關(guān)開發(fā)技術(shù)的介紹,其中最主要的是對Java技術(shù)以及安卓技術(shù)的介紹。三、系統(tǒng)進(jìn)行分析,有系統(tǒng)的可行性分析、性能需求以及系統(tǒng)處理流程等。四、功能模塊的設(shè)計分析,根據(jù)系統(tǒng)功能用層次圖來進(jìn)行描述,介紹了各個功能。五、不同用戶模塊的界面以及功能。六、調(diào)試,測試了系統(tǒng)的登錄功能。七、總結(jié)感悟,并對未來以及自身有所期望。
2開發(fā)相關(guān)技術(shù)2.1Java簡介Java是一種面向?qū)ο蟪绦蛟O(shè)計語言和Java平臺的總稱,它是Web應(yīng)用程序開發(fā)的首選語言之一。Java語言的發(fā)展符合程序設(shè)計,是一門性能和規(guī)范都很好的語言,它的特點(diǎn)是多線程,跨平臺等。Java編程語言是最簡單的,與C和C++相接近,是大多數(shù)初學(xué)者的選擇;Java語言是面向?qū)ο蟮?,支持接口之間的多繼承,是一個純的面向?qū)ο蟪绦蛟O(shè)計語言;Java語言是分布式的,它提供網(wǎng)絡(luò)應(yīng)用的編程類庫,是分布式應(yīng)用的重要手段;Java語言是安全的,為安全機(jī)制提供了安全防范機(jī)制。2.2Android簡介Android是基于Linux內(nèi)核的自由開放源代碼的操作系統(tǒng)。主要永遠(yuǎn)手機(jī)和平板電腦。其主要編程語言是Java,但是還支持其他語言,如C/C++。Android開放平臺為程序的開發(fā)提供了優(yōu)秀的應(yīng)用程序開發(fā)解決方案,我們可以在這個平臺上開發(fā)不同的應(yīng)用程序。2.3SQLiteSQLite是一個軟件庫,實(shí)現(xiàn)SQL數(shù)據(jù)庫引擎,是世界上最廣泛的SQL數(shù)據(jù)庫引擎。它是一個進(jìn)程內(nèi)的庫,不需要配置,可以按應(yīng)用程序需求進(jìn)行靜態(tài)或動態(tài)連接,SQLite直接訪問其存儲文件。與常見的客戶-服務(wù)器模式的不同,SQLite不是個程序與之通信的獨(dú)立進(jìn)程,而是連接到程序中成為它的一個主要部分。所以主要的通信協(xié)議是在編程語言內(nèi)的直接API調(diào)用。它的簡單的設(shè)計是通過在開始一個事務(wù)的時候鎖定整個數(shù)據(jù)文件而完成的。3需求分析3.1系統(tǒng)UML用例分析UML是一種語言,統(tǒng)一建模信息,是一種支持模型化和系統(tǒng)開發(fā)的圖形化語言,為開發(fā)者提供可視化的支持。軌道運(yùn)行信息管理主要設(shè)置了管理員跟用戶模塊,能夠?qū)ο到y(tǒng)進(jìn)行站點(diǎn)信息、線路分類、車輛信息、運(yùn)行情況進(jìn)行很好的記錄和管理等。管理員用例是用于展示管理員的系統(tǒng)功能操作介紹,相當(dāng)于操作演示,讓更直觀的對系統(tǒng)進(jìn)行的管理操作,對于系統(tǒng)的了解有很大的幫助。(1)管理員用例是用于管理員的功能介紹,更直觀的可以查看管理員的具體工作,具體的管理員用例圖如下:圖3-1管理員用例圖(2)用戶用例是用于用戶的功能介紹,更直觀的可以查看用戶所能進(jìn)行的工作,具體的用戶用例圖如下:圖3-2用戶用例圖3.2軌道運(yùn)行信息管理系統(tǒng)性能分析3.2.1時間可行性從確定選題到進(jìn)行實(shí)際開發(fā),整個周期擁有一個學(xué)期得時間,對于系統(tǒng)開發(fā)需要完成的背景調(diào)研,技術(shù)介紹,需求分析,功能設(shè)計,系統(tǒng)實(shí)現(xiàn)以及功能測試六大過程是完全足夠的,因此,在時間上,開發(fā)本系統(tǒng)是沒有問題的。3.2.2技術(shù)可行性開發(fā)該軌道交通智能移動查詢系統(tǒng),使用到的主要技術(shù)有Java技術(shù),Android技術(shù)以及SQLite。其中,Java是軟件開發(fā)的最優(yōu)選擇,是當(dāng)前軟件開發(fā)應(yīng)用最為普遍的,其入手快準(zhǔn)狠,性能良好,容易掌握,操作簡單,開發(fā)靈活,運(yùn)行自如,程序員能夠使用該語言對系統(tǒng)的功能進(jìn)行迅速開發(fā)。在數(shù)據(jù)庫方面,SQLite也是目前使用率最高的,數(shù)據(jù)存儲不容易出錯,十分穩(wěn)定,因此我選擇使用Java技術(shù)和SQLite數(shù)據(jù)庫技術(shù)結(jié)合開發(fā)。因此,在技術(shù)上開發(fā)該系統(tǒng)是沒有什么問題的,能夠得到有效支持的。3.2.3經(jīng)濟(jì)可行性該系統(tǒng)主要是以電腦客戶端進(jìn)行展現(xiàn),而目前針對我們學(xué)生開發(fā)的Web應(yīng)用程序不需要進(jìn)行服務(wù)器購買,通過手機(jī)操作顯示即可,是屬于免費(fèi)的,不需要其他費(fèi)用,同時,開發(fā)該軟件所運(yùn)用的技術(shù)有Java,SQLite都屬于免費(fèi)的,因此,唯一投入的經(jīng)濟(jì)只有硬件,比如一部智能手機(jī),以及相關(guān)的開發(fā)電費(fèi)等等,但這些成本可以忽略不計,并且該系統(tǒng)的開發(fā)規(guī)模并不大,對于處于學(xué)生階段來說,是完全可以承擔(dān)的,即經(jīng)濟(jì)上也是沒有問題的。3.2.4操作可行性該系統(tǒng)的主要操作平臺是手機(jī),目前來說,Web應(yīng)用程序的開發(fā)技術(shù)已經(jīng)非常成熟,所以投入到實(shí)際操作沒有問題,與此同時,該系統(tǒng)的面向?qū)ο鬄楣芾韱T,普通用戶,用戶體量足夠,所以操作的用戶也沒有問題,根據(jù)上述介紹,該系統(tǒng)主要是對軌道智能交通相關(guān)業(yè)務(wù)進(jìn)行線上管理,包括了站點(diǎn)管理,地圖管理等,皆屬于正常的管理功能,對于操作用戶來說,操作都很簡單,因此,該系統(tǒng)的操作可行性是不用擔(dān)心的。3.3用戶使用需求分析系統(tǒng)的需求分析是非常重要的,也是開發(fā)一款軟件系統(tǒng)必須要經(jīng)歷的步驟,因?yàn)橹挥辛私獾皆撓到y(tǒng)的功能需求或者是顧客需求才能清楚該系統(tǒng)研究的是什么內(nèi)容,目的是什么,系統(tǒng)的需求分析好比系統(tǒng)的“地基”,清楚了系統(tǒng)的需求,在后續(xù)的實(shí)戰(zhàn)開發(fā)中邏輯就會更加清晰,開發(fā)過程不會冗雜混亂,能夠保證系統(tǒng)開發(fā)過程有序進(jìn)行,唯有做好系統(tǒng)需求分析,才能做出一個符合軟件開發(fā)要求的完整系統(tǒng)。因此,這一步尤為重要。根據(jù)系統(tǒng)的設(shè)計,該系統(tǒng)的用戶角色分為管理員和普通用戶,其中,管理員的功能有站點(diǎn)信息管理,地圖管理,線路管理,車輛信息管理,用于管理該系統(tǒng)的后臺數(shù)據(jù)信息,供用戶查詢;普通用戶的功能有賬號注冊登錄,線路搜索,站點(diǎn)選擇,線路選擇。3.4軌道運(yùn)行信息管理系統(tǒng)流程分析3.4.1登錄業(yè)務(wù)流程首先,用戶在登錄時,需要在登錄界面輸入正確的用戶名和密碼完成操作,系統(tǒng)數(shù)據(jù)庫會相繼判斷該用戶名和密碼是否為空,如果為空則提示“用戶名、密碼不能為空!”,其次,會判斷用戶名和密碼是否與數(shù)據(jù)庫字符串匹配,如果匹配成功,則用戶名和密碼輸入成功,登陸成功進(jìn)入客戶端界面,否則系統(tǒng)會提示“用戶名或密碼錯誤!請重新輸入!”。如圖3-3所示:圖3-3注冊流程圖3.4.2注冊業(yè)務(wù)流程若用戶點(diǎn)擊注冊,即進(jìn)入注冊界面,依次按界面提示內(nèi)容輸入用戶名和密碼,密碼需要輸入二次,如果在數(shù)據(jù)庫有與該用戶名匹配的字符串,那么系統(tǒng)會提示“該用戶名已存在!請重新輸入!”,如果兩次輸入密碼不一致,系統(tǒng)會提示“兩次密碼輸入不一致,請重新輸入!”,如果輸入的用戶名不存在數(shù)據(jù)庫,則只需要輸入密碼,即注冊成功。其流程設(shè)計如圖3-4所示:圖3-4登錄流程圖4系統(tǒng)功能模塊設(shè)計4.1系統(tǒng)體系結(jié)構(gòu)設(shè)計在結(jié)構(gòu)設(shè)計過程中,首先對系統(tǒng)進(jìn)行需求方面的分析,然后進(jìn)行系統(tǒng)設(shè)計中初步的設(shè)計,將系統(tǒng)功能模塊細(xì)化,具體分析每一個功能模塊具體應(yīng)該首先哪些功能,最后將各個模塊進(jìn)行整合,實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)的最終設(shè)計?;贏ndroid的軌道交通智能移動查詢系統(tǒng)采用安卓技術(shù),可以方便快捷的實(shí)現(xiàn)這個系統(tǒng)的各個功能?;贏ndroid設(shè)計的基于Android的軌道交通智能移動查詢系統(tǒng)的時序圖如下圖所示。圖4-1系統(tǒng)時序圖4.2總體設(shè)計對一個系統(tǒng)進(jìn)行劃分功能是,一般采用層次圖來進(jìn)行展示,因?yàn)閷哟螆D可以讓一個系統(tǒng)的劃分非常的清晰明確,首先將整個系統(tǒng)分成了不同的模塊,通常來說一個系統(tǒng)都會有兩個模塊,分別是普通用戶和管理員。層次圖擁有樹形結(jié)構(gòu)的特點(diǎn),由層次圖可以再將每個模塊的功能更加細(xì)化清楚。根據(jù)系統(tǒng)不同模塊所能夠進(jìn)行的不同操作,做出了系統(tǒng)功能結(jié)構(gòu)圖。基于Android的軌道交通智能移動查詢系統(tǒng)如圖4-2所示.圖4-2基于Android的軌道交通智能移動查詢系統(tǒng)功能圖4.3定位坐標(biāo)設(shè)計調(diào)用百度地圖API的接口,實(shí)現(xiàn)初始化位置點(diǎn)和路線以及自己添加位置點(diǎn)和路線的功能,在地圖上添加位置點(diǎn),并添加位置點(diǎn)的名稱備注,當(dāng)點(diǎn)擊地圖中的點(diǎn)時,地圖會將實(shí)時導(dǎo)航,并在點(diǎn)上顯示標(biāo)簽為該位置點(diǎn)的名稱備注。在地圖上可以添加一條路線,完成路線后,然后點(diǎn)擊保存路線會彈出該線上所有折點(diǎn)的位置點(diǎn),點(diǎn)擊編輯路線,路線就開啟編輯功能,可以修改路線。百度地圖的植入:1.注冊獲取密鑰,注冊百度賬戶,創(chuàng)建應(yīng)用SDK,獲取密鑰,如圖4-3所示。圖4-3獲取密鑰圖4-4獲取AK2.Studio配置(獲取AK),植入程序中,如圖4-4所示3.Studio配置(代碼改寫)4.Studio配置(權(quán)限設(shè)置)4.4數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的設(shè)計在我們的準(zhǔn)備階段必不可少的步驟,一個不合格的數(shù)據(jù)設(shè)計輕則會導(dǎo)致字段的增減,重則導(dǎo)致成果無法運(yùn)行,設(shè)計一個與需求相符、性能良好、數(shù)據(jù)完整性、可擴(kuò)展性良好、非必要數(shù)據(jù)冗余量不大、利用計算或統(tǒng)計、有詳盡的數(shù)據(jù)記錄信息、表之間的耦合性不大、字段設(shè)計等方面的要求的設(shè)計是非常必要的。4.4.1系統(tǒng)實(shí)體設(shè)計用戶實(shí)體圖如圖4-5所示圖4-5用戶實(shí)體圖用戶數(shù)據(jù)表如表4-1所示表4-1用戶數(shù)據(jù)表字段名數(shù)據(jù)類型說明IDINTEGERSIDNAMETEXT名字PASSWORDTEXT密碼REMARKTEXT確認(rèn)密碼TYPEINTEGER類站點(diǎn)實(shí)體圖如圖4-6所示圖4-6站點(diǎn)實(shí)體圖站點(diǎn)數(shù)據(jù)表如表4-2所示表4-2站點(diǎn)數(shù)據(jù)表字段名數(shù)據(jù)類型說明IDINTEGER名稱IMGTEXT圖片INFOTEXT信息LATFLOAT經(jīng)度LINEIDINTEGER線路IDLINENAMETEXT線路名稱LONFLOAT緯度NAMETEXT名稱PRICEFLOAT價格PEMARKTEXT確認(rèn)TAG_NUMINTEGER標(biāo)記數(shù)TIMEINTEGER時間USERINTEGER用戶軌道車輛實(shí)體圖如圖4-7所示。圖4-7軌道車輛實(shí)體圖軌道車輛數(shù)據(jù)表如表4-3所示。表4-3軌道車輛數(shù)據(jù)表字段名數(shù)據(jù)類型說明IDINTEGERSIDIMGTEXT圖片INFOTEXT信息LATFLOAT經(jīng)度LINEINTEGER線路LONFLOAT緯度NAMETEXT名稱PRICEFLOAT價格REMARKTEXT確認(rèn)TIMEINTEGER時間USERINTEGER用戶線路實(shí)體圖如圖4-8所示。圖4-8線路實(shí)體圖線路數(shù)據(jù)表如表4-4所示。表4-4線路數(shù)據(jù)表字段名數(shù)據(jù)類型說明IDINTEGERSIDINFOTEXT信息NAMETEXT名稱OPENTEXT運(yùn)營時間REMARKTEXT確認(rèn)STEPSTEXT備注4.4.2系統(tǒng)E-R圖設(shè)計根據(jù)之前的設(shè)計,可以繪制出各個實(shí)體之間的總體關(guān)系,展示各個實(shí)體之間的關(guān)系,系統(tǒng)E-R圖如圖4-9所示。圖4-9系統(tǒng)E-R圖5系統(tǒng)詳細(xì)設(shè)計5.1注冊頁面信息無論是管理員還是用戶,在想進(jìn)行不同權(quán)限操作時,登錄就必須用戶注冊,注冊頁面主要需要填寫用戶名,判斷用戶名是否存在,填寫密碼,確認(rèn)密碼,防止密碼錯誤。采用表單的形式,將需要的信息進(jìn)行錄入,選中的行下滑線進(jìn)行明確的顯示。用戶與管理員的注冊選擇選用單選按鈕進(jìn)行操作。用戶與管理員的注冊區(qū)別僅僅入口不同,如圖所示。表5-1用戶注冊頁面表5-2管理員注冊頁面5.2用戶功能模塊的實(shí)現(xiàn)5.2.1首頁界面用戶想要進(jìn)行不同權(quán)限的操作,就必須進(jìn)行登錄,當(dāng)用戶登錄成功后就能夠進(jìn)行系統(tǒng)功能的操作了。登陸成功后,就能夠查首頁的相關(guān)信息。首頁界面如圖5-8所示。圖5-3首頁界面圖5-4線路信息界面5.2.2線路信息界面用戶在線路信息界面,能夠?qū)€路的信息進(jìn)行查詢,包括線路上的每個站點(diǎn)的信息。線路信息界面如圖5-9所示。5.2.3我的界面每個賬戶的注冊時會錄入信息,信息收入數(shù)據(jù)庫存儲,但是總有需要修改信息的時候,軟件設(shè)計了修改密碼以及切換賬戶的端口,如圖所示。5-5我的界面管理15-6我的界面管理2相關(guān)代碼:privatevoidShowPassChange(){AlertDialog.Builderdialog=newAlertDialog.Builder(MainActivity.this).setTitle("修改密碼");LinearLayoutlinearLayout=newLinearLayout(MainActivity.this);linearLayout.setOrientation(LinearLayout.VERTICAL);EditTextet1=newEditText(MainActivity.this);et1.setHint("輸入原始密碼");et1.setTypeface(Typeface.DEFAULT);et1.setTransformationMethod(newPasswordTransformationMethod());et1.setTransformationMethod(PasswordTransformationMethod.getInstance());EditTextet2=newEditText(MainActivity.this);et2.setHint("輸入新密碼");et2.setTypeface(Typeface.DEFAULT);et2.setTransformationMethod(newPasswordTransformationMethod());et2.setTransformationMethod(PasswordTransformationMethod.getInstance());linearLayout.addView(et1);linearLayout.addView(et2);dialog.setView(linearLayout);dialog.setPositiveButton("修改",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){Stringpass1=et1.getText().toString();Stringpass2=et2.getText().toString();if(!TextUtils.isEmpty(pass1)&&!TextUtils.isEmpty(pass2)&&pass1.equals(GlobalParam.getInstance().getMe().getPassword())){Usersusers=GlobalParam.getInstance().getMe();users.setPassword(pass2);users.save();GlobalParam.getInstance().setMe(users);Toast.makeText(MainActivity.this,"修改成功!",Toast.LENGTH_SHORT).show();}else{Toast.makeText(MainActivity.this,"修改失?。?,Toast.LENGTH_SHORT).show();}}}).setNegativeButton("取消",null);dialog.show();}5.2.4線路使用分析通過地圖定位確定用戶位置,搜索目的地,推薦站點(diǎn),查看線路詳情,以及推薦,導(dǎo)航至站點(diǎn),用戶確定線路,如圖所示。圖5-7站點(diǎn)搜索1圖5-8站點(diǎn)搜索2通過地圖定位確定用戶位置,搜索線路,查看線路詳細(xì)情況、途徑、路況等,實(shí)時定位區(qū)域,用戶確定線路,如圖所示。圖5-9線路搜索1圖5-10線路搜索2相關(guān)代碼://躲避限行消息BundleinfoBundle=(Bundle)msg.obj;if(infoBundle!=null){Stringinfo=infoBundle.getString(BNaviCommonParams.BNRouteInfoKey.TRAFFIC_LIMIT_INFO);Log.d("OnSdkDemo","info="+info);}break;caseIBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_FAILED:Toast.makeText(MainActivity.this.getApplicationContext(),"算路失敗",Toast.LENGTH_SHORT).show();break;caseIBNRoutePlanManager.MSG_NAVI_ROUTE_PLAN_TO_NAVI://Toast.makeText(MainActivity.this.getApplicationContext(),//"算路成功準(zhǔn)備進(jìn)入導(dǎo)航",Toast.LENGTH_SHORT).show();Intentintent=newIntent(MainActivity.this,DemoGuideActivity.class);startActivity(intent);break;default://nothingbreak;}});}5.3管理員功能實(shí)現(xiàn)5.3.1登錄首頁管理員想要進(jìn)行不同權(quán)限的操作,就必須進(jìn)行登錄,當(dāng)管理員登錄成功后就能夠進(jìn)行系統(tǒng)功能的操作了。登錄信息需要已經(jīng)注冊過存在數(shù)據(jù)庫中的,如果核實(shí)不對,無法進(jìn)入。登錄首頁界面如圖所示。圖5-11登錄首頁界面圖5-12后臺管理主界面相關(guān)代碼:privatevoidsubmit(){//validateStringNameni=tename.getText().toString().trim();if(TextUtils.isEmpty(Nameni)){Toast.makeText(this,"請輸入名稱",Toast.LENGTH_SHORT).show();return;}Stringpass1=etpass.getText().toString().trim();if(TextUtils.isEmpty(pass1)){Toast.makeText(this,"請輸入密碼",Toast.LENGTH_SHORT).show();return;}Stringpass2=etpass2.getText().toString().trim();if(type==1&&TextUtils.isEmpty(pass2)){Toast.makeText(this,"請?jiān)俅屋斎朊艽a",Toast.LENGTH_SHORT).show();return;}if(type==1&&!pass1.equals(pass2)){Toast.makeText(this,"兩次密碼不同",Toast.LENGTH_SHORT).show();return;}//TODOvalidatesuccess,dosomethingif(type==0){List<Users>users=Users.find(Users.class,"name=?ANDpassword=?",Nameni,pass1);if(!users.isEmpty()){GlobalParam.getInstance().setMe(users.get(0));Toast.makeText(this,"登錄成功",Toast.LENGTH_SHORT).show();startActivity(newIntent(LoginActivity.this,MainActivity.class));finish();}}}5.3.2后臺管理主界面管理員想要進(jìn)行不同權(quán)限的操作,就必須進(jìn)行登錄,當(dāng)管理員登錄成功后就能夠進(jìn)行系統(tǒng)功能的操作了,包括對地圖、站點(diǎn)、車輛、線路等信息的管理。后臺管理主界面如圖5-9所示。5.3.3車輛添加管理當(dāng)管理用戶登錄之后就可以對頁面的功能做操作,點(diǎn)擊車輛添加按鈕,就能夠添加車輛信息。通過選擇已經(jīng)建好的線路確定通過的車輛,添加車輛的詳細(xì)信息,輸入信息。車輛添加界面如圖所示。圖5-13車輛添加界面圖5-14車輛添加界面相關(guān)代碼:privatevoidsubmit(){//validateStringNameni=tename.getText().toString().trim();if(TextUtils.isEmpty(Nameni)){Toast.makeText(this,"請輸入站點(diǎn)名",Toast.LENGTH_SHORT).show();return;}StringetInfoString=etInfo.getText().toString().trim();if(TextUtils.isEmpty(etInfoString)){Toast.makeText(this,"請輸入信息",Toast.LENGTH_SHORT).show();return;}5.3.4添加站點(diǎn)當(dāng)管理用戶登錄之后就可以對頁面的功能做操作,點(diǎn)擊添加站點(diǎn),就能夠添加站點(diǎn)信息,設(shè)置經(jīng)緯度,選擇站點(diǎn)信息。添加站點(diǎn)界面如圖所示。圖5-15添加站點(diǎn)界面1圖5-16添加站點(diǎn)界面2相關(guān)代碼:privatevoidsubmit(){//validateStringNameni=tename.getText().toString().trim();if(TextUtils.isEmpty(Nameni)){Toast.makeText(this,"請輸入名稱",Toast.LENGTH_SHORT).show();return;}StringetInfoString=etInfo.getText().toString().trim();if(TextUtils.isEmpty(etInfoString)){Toast.makeText(this,"請輸入信息",Toast.LENGTH_SHORT).show();return;}StringetremarkString=etremark.getText().toString().trim();StringetLatString=etLat.getText().toString().trim();//經(jīng)緯度的錄入if(TextUtils.isEmpty(etLatString)){Toast.makeText(this,"請輸入緯度",Toast.LENGTH_SHORT).show();return;}StringetLonString=etLon.getText().toString().trim();if(TextUtils.isEmpty(etLonString)){Toast.makeText(this,"請輸入經(jīng)度",Toast.LENGTH_SHORT).show();return;}//TODOvalidatesuccess,dosomethingthisSub.stename(Nameni);thisSub.setInfo(etInfoString);thisSub.setRemark(etremarkString);thisSub.setUser(GlobalParam.getInstance().getMe().getId());thisSub.setLat(Double.valueOf(etLatString));thisSub.setLon(Double.valueOf(etLonString));if(images!=null&&images.size()>0){Stringimgs="";for(inti=0;i<images.size();i++){imgs+=images.get(i).getPath()+";;";}if(imgs.endsWith(";;")){imgs=imgs.substring(0,imgs.length()-2);}thisSub.setImg(imgs);}else{thisSub.setImg("");}thisSub.setTime(System.currentTimeMillis());thisSub.save();finish();}5.3.5線路信息界面當(dāng)管理員登錄之后就可以對頁面的功能做操作,點(diǎn)擊線路信息,就能夠查看線路列表,管理員能對這些信息做出添加、修改或刪除的操作。在添加時,如果無站點(diǎn),跳出彈框提示無站點(diǎn)可添加。線路信息界面如圖所示。圖5-17線路信息界面1圖5-18線路信息界面2相關(guān)代碼:privatevoidAddSub(){AlertDialog.Builderdialog=newAlertDialog.Builder(EditLineActivity.this);dialog.setTitle("添加站點(diǎn)");List<SubBean>subBeans=SubBean.listAll(SubBean.class);for(inti=0;i<subDatas.size();i++){for(intj=0;j<subBeans.size();j++){if(subDatas.get(i).getId().longValue()==subBeans.get(j).getId().longValue()){subBeans.remove(j--);}}}String[]str=newString[subBeans.size()];for(inti=0;i<subBeans.size();i++){str[i]=subBeans.get(i).gtename()+""+subBeans.get(i).getInfo();}if(str.length>0){dialog.setSingleChoiceItems(str,0,newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){SubBeans=subBeans.get(which);subDatas.add(s);RefreshList();dialog.dismiss();}});dialog.show();}else{Toast.makeText(this,"無可添加站點(diǎn)",Toast.LENGTH_SHORT).show();}}6系統(tǒng)測試6.1測試的方法與意義目前,比較常用的測試方法是黑盒測試方法,也將其成為功能測試,主要是用于測試某個系統(tǒng)的功能是否能夠正常運(yùn)行。通俗可以解釋成將該程序軟件看作成一個黑色的盒子,并且不能隨意打開,測試時,測試人員不需要考慮其黑色盒子的內(nèi)部邏輯結(jié)構(gòu),只需要通過程序的接口進(jìn)行直接測試即可,也是軟件測試最為簡單的方法,是從考慮到使用用戶的角度,通過開機(jī)關(guān)機(jī),數(shù)據(jù)的輸入輸出來具體實(shí)現(xiàn)的。與之相對應(yīng)的是白盒測試,相信通過以上對黑盒測試的解釋,白盒測試的測試原理也迎刃而解,即可以看到所測試程序的內(nèi)部邏輯結(jié)構(gòu),對系統(tǒng)的代碼進(jìn)行物理測試。系統(tǒng)的測試是一款軟件開發(fā)的最后一步,也是證明該系統(tǒng)是否有效的關(guān)鍵一步。按習(xí)慣來講,程序開發(fā)者每設(shè)計開發(fā)代碼編程,就必須進(jìn)行測試,即邊開發(fā)邊測試,只有測試數(shù)據(jù)正常,功能運(yùn)行流暢,該軟件才是完整的,否則該系統(tǒng)就是半成品,不能真正投入使用。而我們的畢業(yè)設(shè)計也如此,最終呈現(xiàn)的是一款完整的軟件,只有經(jīng)過設(shè)計開發(fā)過程中無數(shù)次的測試直至穩(wěn)定,才能通過檢閱。當(dāng)測試過程中存在bug時,程序開發(fā)者需要及時更改直至無誤為止。6.2功能測試該節(jié)為該系統(tǒng)的測試記錄表展示,通過校園內(nèi)網(wǎng)進(jìn)行系統(tǒng)登錄,完成系統(tǒng)運(yùn)行的環(huán)境搭建與配置,以保證系統(tǒng)的運(yùn)行環(huán)境穩(wěn)定,其次再進(jìn)行一步一步數(shù)據(jù)的輸入輸出測試。由于該系統(tǒng)的測試功能較多,此處就不一一展示測試記錄,只展示主要測試內(nèi)容。本系統(tǒng)的主要測試記錄表如下:表6-1用戶登錄測試測試用例編號001測試內(nèi)容系統(tǒng)用戶登錄功能測試測試步驟1.在登錄頁面點(diǎn)擊登錄2.輸入用戶名、密碼3.點(diǎn)擊登錄按鈕輸入數(shù)據(jù)用戶名、密碼預(yù)期輸出登陸成功,進(jìn)入系統(tǒng)界面實(shí)際輸出登陸成功,進(jìn)入系統(tǒng)界面存在問題無修改方案無表6-2用戶注冊測試測試用例編號002測試內(nèi)容系統(tǒng)用戶注冊功能測試測試步驟1.在登錄頁面點(diǎn)擊注冊2.輸入用戶名、密碼等注冊信息3.點(diǎn)擊注冊按鈕輸入數(shù)據(jù)用戶名、密碼等注冊信息預(yù)期輸出注冊成功,進(jìn)入系統(tǒng)登錄界面進(jìn)行賬號登錄實(shí)際輸出注冊成功,進(jìn)入系統(tǒng)登錄界面進(jìn)行賬號登錄存在問題無修改方案無表6-3站點(diǎn)信息管理測試測試用例編號003測試內(nèi)容系統(tǒng)站點(diǎn)信息管理功能測試測試步驟1.管理員輸入賬號登錄系統(tǒng)2.點(diǎn)擊站點(diǎn)信息管理3.進(jìn)行對站點(diǎn)信息的添加,刪除,修改和查詢操作4.用戶可以搜索站點(diǎn)信息輸入數(shù)據(jù)站點(diǎn)信息預(yù)期輸出站點(diǎn)添加成功,管理員可以對其進(jìn)行刪除,修改和查詢操作,用戶可以搜索選擇站點(diǎn)實(shí)際輸出站點(diǎn)添加成功,管理員可以對其進(jìn)行刪除,修改和查詢操作,用戶可以搜索選擇站點(diǎn)存在問題無修改方案無表6-4線路管理測試測試用例編號004測試內(nèi)容系統(tǒng)線路管理功能測試測試步驟1.管理員輸入賬號登錄系統(tǒng)2.點(diǎn)擊線路管理3.進(jìn)行對線路的添加,刪除,修改和查詢操作4.用戶可以搜索線路信息輸入數(shù)據(jù)線路信息預(yù)期輸出線路添加成功,管理員可以對其進(jìn)行刪除,修改和查詢操作,用戶可以搜索選擇線路實(shí)際輸出線路添加成功,管理員可以對其進(jìn)行刪除,修改和查詢操作,用戶可以搜索選擇線路存在問題無修改方案無7總結(jié)與展望7.1總結(jié)通過四個月的努力,終于完成了畢業(yè)設(shè)計的最初目標(biāo)。一個可運(yùn)行的、無BUG的軌道運(yùn)行信息管理系統(tǒng)信息系統(tǒng),系統(tǒng)能夠穩(wěn)定運(yùn)行,并且完成了預(yù)期計劃的所有功能。在這段學(xué)習(xí)過程中,我學(xué)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖南益陽市資陽區(qū)教育系統(tǒng)下屬學(xué)校公益性崗位招聘10人模擬試卷有完整答案詳解
- 2025年馬鞍山和縣安徽和州城市建設(shè)集團(tuán)有限公司二季度招聘5人考前自測高頻考點(diǎn)模擬試題及一套參考答案詳解
- 2025河北省地理集團(tuán)有限公司實(shí)習(xí)崗招聘30人模擬試卷及參考答案詳解1套
- 2025甘肅省公開招募高校銀齡教師考前自測高頻考點(diǎn)模擬試題附答案詳解(典型題)
- 2025江西南昌市都市城際公交有限公司招聘2名勞務(wù)派遣人員模擬試卷及答案詳解一套
- 2025年4月四川成都紡織高等??茖W(xué)校招聘事業(yè)編制人員7人考前自測高頻考點(diǎn)模擬試題及答案詳解(奪冠)
- 2025江蘇南京大數(shù)據(jù)集團(tuán)有限公司招聘考前自測高頻考點(diǎn)模擬試題及答案詳解(全優(yōu))
- 2025廣東佛山市三水海江昇平建設(shè)工程有限公司第一批招聘企業(yè)工作人員擬聘用人員(第一批)考前自測高頻考點(diǎn)模擬試題附答案詳解(考試直接用)
- 2025年中國化妝品苯氧乙醇成分行業(yè)市場分析及投資價值評估前景預(yù)測報告
- 2025廣東韶關(guān)市始興縣太平鎮(zhèn)人民政府青年就業(yè)見習(xí)基地招募見習(xí)人員15人模擬試卷附答案詳解
- JT-T-848-2013公路用復(fù)合隔離柵立柱
- 早期工業(yè)時期英國工藝美術(shù)運(yùn)動設(shè)計課件
- 綜合實(shí)踐《中華傳統(tǒng)節(jié)日》課件
- 《江蘇住宅物業(yè)管理服務(wù)標(biāo)準(zhǔn)》(DB32T538-2002)
- 裝飾裝修質(zhì)量通病防治質(zhì)量通病防治措施
- 物理課件電源和電流
- 《無人機(jī)載荷與行業(yè)應(yīng)用》教學(xué)課件合集
- 《西安交通大學(xué)》課件
- 搜索引擎營銷案例分析
- 華信惠悅GGS全球職等系統(tǒng)
- 肝血管瘤患者的護(hù)理查房
評論
0/150
提交評論