畢業(yè)設(shè)計---基于Android的日程管理系統(tǒng).docx_第1頁
畢業(yè)設(shè)計---基于Android的日程管理系統(tǒng).docx_第2頁
畢業(yè)設(shè)計---基于Android的日程管理系統(tǒng).docx_第3頁
畢業(yè)設(shè)計---基于Android的日程管理系統(tǒng).docx_第4頁
畢業(yè)設(shè)計---基于Android的日程管理系統(tǒng).docx_第5頁
免費預(yù)覽已結(jié)束,剩余42頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

目錄一、引言1二、需求分析3(一)系統(tǒng)總體描述3(二)系統(tǒng)需求目標(biāo)51、客戶端的需求分析52、服務(wù)器的需求分析6(二)系統(tǒng)運行環(huán)境61、“日程管理系統(tǒng)”的客戶端62、“日程管理系統(tǒng)”的數(shù)據(jù)庫服務(wù)器7(三)實現(xiàn)思路和方法7(四)系統(tǒng)開發(fā)環(huán)境81、數(shù)據(jù)庫的使用82、開發(fā)平臺103、系統(tǒng)開發(fā)環(huán)境10(五)數(shù)據(jù)流程圖10三、總體設(shè)計13(一)系統(tǒng)總體設(shè)計描述13(二)系統(tǒng)模塊圖141、系統(tǒng)總體結(jié)構(gòu)142、系統(tǒng)模塊描述16(三)數(shù)據(jù)庫總體設(shè)計181、數(shù)據(jù)庫設(shè)計介紹182、 E-R圖183、數(shù)據(jù)庫表設(shè)計20四、詳細(xì)設(shè)計和系統(tǒng)實現(xiàn)23(一)詳細(xì)設(shè)計和系統(tǒng)實現(xiàn)23(二)功能模塊的設(shè)計和實現(xiàn)231、用戶管理模塊242、日程數(shù)據(jù)增、刪、改模塊263、數(shù)據(jù)庫讀寫模塊284、系統(tǒng)中其他功能的實現(xiàn)30五、測試與評估31(一)測試環(huán)境31(二)測試計劃311、交互測試313、功能測試34(三)測試結(jié)果與評價40六、結(jié)束語42參考文獻(xiàn)4445移動校園日程管理摘 要:如今隨著信息技術(shù)的高速發(fā)展,越來越多的學(xué)校將虛擬校園和現(xiàn)實校園相結(jié)合,探索出開展移動學(xué)習(xí)的新途徑、新方法,使得學(xué)生們能隨時、隨地、任意設(shè)備的進(jìn)行學(xué)習(xí)。學(xué)生對移動學(xué)習(xí)內(nèi)容和設(shè)備的需求催生了移動學(xué)習(xí)內(nèi)容服務(wù)和軟硬件服務(wù)平臺的市場。智能移動終端已經(jīng)成為現(xiàn)代人們生活所必不可少的物品,將其作為“移動校園”的日程管理系統(tǒng)是一個很好的選擇。這樣不僅可以實現(xiàn)學(xué)生隨時隨地的學(xué)習(xí),還能大大提高學(xué)校和培訓(xùn)機構(gòu)的管理效率和服務(wù)水平。本系統(tǒng)在智能移動終端Android操作系統(tǒng)上利用校園移動通信網(wǎng)進(jìn)行數(shù)據(jù)傳輸,滿足了校園用戶在學(xué)習(xí)區(qū)域內(nèi)的任何地點對自己的日程數(shù)據(jù)進(jìn)行管理和操作。本系統(tǒng)的客戶端是基于安卓手機平臺的日程管理系統(tǒng),具有基本的日程活動的增、刪、改、查功能,在日歷瀏覽中可突出顯示有安排的日期。用戶可根據(jù)不同的活動設(shè)置任務(wù),便于對日程的管理。本系統(tǒng)還具備提醒功能,可以幫助用戶管理重要的活動,并且實現(xiàn)與網(wǎng)絡(luò)數(shù)據(jù)同步的功能;網(wǎng)絡(luò)服務(wù)端是利用Tomcat發(fā)布的WebService,使用MySQL作為服務(wù)數(shù)據(jù)庫??蛻舳伺c服務(wù)器之間使用XML數(shù)據(jù)格式進(jìn)行數(shù)據(jù)交換。關(guān)鍵字:移動校園;Android;WebService一、引言在這個移動互聯(lián)網(wǎng)越來越普及的時代,智能移動終端已經(jīng)成為我們?nèi)粘I钪胁豢扇鄙俚墨@得信息的重要渠道。無所不在的智能移動終端將打破傳統(tǒng)意義上的計算機概念:使用更方便、移動更容易、功能更加多樣化的各種具有計算機功能的設(shè)備大量出現(xiàn),并且在需要時,可以隨時通過無線方式連接到移動通信網(wǎng)絡(luò)中,以便高效地交換信息和獲得各種服務(wù)。這種設(shè)備人們稱之為移動設(shè)備(Mobile Device)。移動設(shè)備最根本的特征是移動性,即能夠利用無線電波、微波或者紅外線等傳輸介質(zhì)允許通信中的設(shè)備在一定范圍內(nèi)自由移動,其位置不受束縛,從而實現(xiàn)通信雙方至少有一方在移動中進(jìn)行信息傳輸和交換的目的。移動設(shè)備從產(chǎn)生到現(xiàn)在的歷史并不長,然而其發(fā)展速度卻遠(yuǎn)遠(yuǎn)超出人們的預(yù)料。目前,隨著移動設(shè)備越來越普及以及移動硬件性能的提升,移動校園服務(wù)平臺在各大校園紛紛孕育出現(xiàn),并且受到廣大用戶的好評。移動校園是一種基于傳統(tǒng)互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)技術(shù),以移動通信設(shè)備為信息載體,為學(xué)生營造情景交互式的學(xué)習(xí)氛圍,實現(xiàn)在學(xué)習(xí)環(huán)境、學(xué)習(xí)資源和學(xué)習(xí)活動上均以學(xué)生為中心的虛擬校園。而目前國內(nèi)最常見的移動開發(fā)平臺有Symbian,iPhone,Windows Phone以及Android。但是如今國內(nèi)國外有著非常多的Android系統(tǒng)的用戶。自從2011年第一季度,Android在全球份額首次超過Symbian,躍居全球第一。根據(jù)IDC(InternetDataCenter互聯(lián)網(wǎng)數(shù)據(jù)中心)最新的報告顯示,截止到2013年Android設(shè)備占據(jù)了全球智能手機市場的78.6%,而且這一趨勢仍在上升。Android是Google在2005年收購的一款基于Linux內(nèi)核為觸摸屏設(shè)計的半開源智能手機操作系統(tǒng),主要應(yīng)用與移動設(shè)備,Google成立了Open Handset Alliance(OHA,開放手機設(shè)備聯(lián)盟)。Android系統(tǒng)最初由Andy Rubin開發(fā)制作,成立的OHA用來共同研發(fā)改良Android系統(tǒng),隨后,Google以Apache免費開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。如今Android操作系統(tǒng)被擴展到了平板電腦以及其他領(lǐng)域。從2009年4月30號官方發(fā)布1.5 Cupcake版本后Android更新的速度飛快,到了2010年12月7號發(fā)布了Android 2.3 Gingerbread,其用戶量已經(jīng)爆發(fā)式的增長,每年的激活設(shè)備量不斷的增加,而且當(dāng)時的Android Market中的應(yīng)用數(shù)量也在飛快增長,給開發(fā)者帶來了一個潛力很大的平臺。再到2011年10月19號,Android 4.0 Ice Cream Sandwich發(fā)布,Google帶來了全新的UI界面,相對于2.3是個很大的跨越。 Android 4.0后Google同樣是以很快的速度發(fā)布了Android 4.1 Jelly Bean 和Android 4.2,截至本文撰寫時,Android最新版是Android 4.4.3。如今的Android相對于2009年第一版本已經(jīng)是很成熟的平臺了,本系統(tǒng)之所以選擇了Android一方面是由于上述原因另一方面則是考慮到Android的普及化,Android設(shè)備在價格上較蘋果的iOS設(shè)備低廉??紤]到如今的移動校園服務(wù)平臺發(fā)展現(xiàn)狀,以及Android平臺系統(tǒng)自身所擁有的優(yōu)勢。因此,基于Android平臺開發(fā)一款手機應(yīng)用軟件具有較大的意義和可行性。二、需求分析(一)系統(tǒng)總體描述本系統(tǒng)是一個基于Axis2開發(fā)的WebService和基于安卓平臺的智能移動終端日程管理軟件。系統(tǒng)的體系結(jié)構(gòu)是傳統(tǒng)的C/S結(jié)構(gòu),即大家熟知的客戶機和服務(wù)器結(jié)構(gòu)。智能移動客戶端為用戶提供日程管理方面的服務(wù),包括日歷的查看、日歷上日期對應(yīng)日程的查看、日程的增加、日程的刪除、日程的修改、對本地客戶端的設(shè)置修改以及對用戶自己的相關(guān)信息的注冊修改等。數(shù)據(jù)庫服務(wù)器發(fā)布在移動校園局域網(wǎng)上,在遠(yuǎn)端提供數(shù)據(jù)存儲、數(shù)據(jù)分析等功能,各種基于安卓的智能移動終端可以通過WiFi接入移動校園局域網(wǎng)中。數(shù)據(jù)庫服務(wù)器承擔(dān)較大的數(shù)據(jù)負(fù)荷,并隨時等待響應(yīng)客戶程序發(fā)來的請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果。 圖2-1 系統(tǒng)示意圖本系統(tǒng)有助于用戶記住重要的日程并及時給予提醒,也有助于用戶更好的調(diào)節(jié)自己的時間來合理地規(guī)劃學(xué)習(xí)和生活,同時也滿足了校園用戶在學(xué)習(xí)區(qū)域內(nèi)的任何地點對自己的日程數(shù)據(jù)進(jìn)行管理和操作,極大地提高了便利性和實用性。(二)系統(tǒng)需求目標(biāo)1、客戶端的需求分析(1)日程信息的基本管理作為一款日程管理類Android App,日程信息的基本管理即增、刪、改、查,其中“增”的方式是手動添加日程的相關(guān)信息;“刪”是刪除錄入的信息;“改”提供了對錄入信息的修改;“查”在系統(tǒng)的各處都有體現(xiàn),從數(shù)據(jù)庫拉取數(shù)據(jù),提供各種信息的顯示。(2)定時提醒以及設(shè)置提醒模式可以讓用戶根據(jù)日程時間,手動設(shè)置系統(tǒng)的提醒時間,當(dāng)系統(tǒng)到預(yù)設(shè)時間,將會通過響鈴以及震動提醒用戶日程即將到來;在一些特殊場合下,如課堂、會議室等地方,不便于使用響鈴來提醒用戶,這種情況下用戶可以手動設(shè)置提醒模式為只有震動沒有響鈴。(3)日歷顯示本系統(tǒng)可以生成1900年至2100年這201年的公歷和農(nóng)歷之間的對應(yīng)日期并且以日歷的形式顯示出來,當(dāng)用戶添加的日程信息后可以在日歷界面上清晰的標(biāo)注出來,讓用戶對日程信息一目了然給,同時也方便用戶的查詢和修改。(4)用戶管理每個用戶都擁有自己的賬號,用以向數(shù)據(jù)庫服務(wù)器進(jìn)行身份驗證,并方便數(shù)據(jù)庫服務(wù)器分類管理每個用戶的日程信息,并提供信息機密性的保證。用戶使用賬號和密碼登錄客戶端,并從數(shù)據(jù)庫服務(wù)器獲取自己的日程信息;用戶登錄客戶端后可以修改自己的密碼以及其他用戶信息;當(dāng)用戶登錄后,若該賬號在其他地方登錄,則用戶進(jìn)行下一次操作時,系統(tǒng)在本地會自動登出該賬號,用以提醒用戶該賬號的相關(guān)信息存在泄露的可能性,這樣做從一定程度上也保證了用戶信息的機密性。2、服務(wù)器的需求分析個人電腦連接上移動校園網(wǎng)通過WiFi等無線信道為各個智能移動終端上的客戶端提供數(shù)據(jù)的存儲管理功能,數(shù)據(jù)庫服務(wù)程序長期運行,隨時等待客戶程序發(fā)來的請求,一旦收到相關(guān)請求,服務(wù)器程序根據(jù)預(yù)定編寫好的程序規(guī)則作出應(yīng)答,并把處理結(jié)果送回相應(yīng)的客戶程序。(二)系統(tǒng)運行環(huán)境1、“日程管理系統(tǒng)”的客戶端“日程管理系統(tǒng)”的客戶端是基于移動平臺,如今的移動領(lǐng)域有Apple的iOS,Google的Android,以及Microsoft的Windows Phone三大平臺,其中Android的市場份額在三大平臺中是最大的,另外Android的框架結(jié)構(gòu)中處于頂層的是應(yīng)用開發(fā)層,而且是基于Java語言的開發(fā)。所以該“日程管理系統(tǒng)”采用Android平臺為廣大的在校用戶提供一個日程管理的解決方案。為了設(shè)計更好的用戶體驗,適應(yīng)智能移動終端的快速更新?lián)Q代,該“日程管理系統(tǒng)”的客戶端采用Android 4.4.2的SDK開發(fā),這不可避免地導(dǎo)致低于此版本的Android無法完全的使用本客戶端,因為該客戶端用到了4.0版本的新特性。系統(tǒng)運行環(huán)境:平臺Android,SDK版本4.0+。2、“日程管理系統(tǒng)”的數(shù)據(jù)庫服務(wù)器“日程管理系統(tǒng)”的數(shù)據(jù)庫服務(wù)器是基于Apache Axis開發(fā)的WebService,利用Apache Tomcat 6.0在個人電腦上發(fā)布該WebService。同時個人電腦連接WiFi發(fā)射熱點,通過無線信道為各個智能移動終端提供數(shù)據(jù)服務(wù)。同時,因為MySQL在Web應(yīng)用方面是最好的關(guān)系數(shù)據(jù)庫管理系統(tǒng),與其他數(shù)據(jù)庫管理系統(tǒng)相比具有體積小、速度快、總體擁有成本低以及開發(fā)源碼等特點,所以數(shù)據(jù)庫服務(wù)器選擇使用MySQL Workbench 6.0 CE來存儲和管理數(shù)據(jù)。系統(tǒng)運行環(huán)境:Windows 7,安裝有Apache Tomcat 6.0和MySQL Workbench 6.0 CE,個人電腦連接有WiFi發(fā)射熱點。(三)實現(xiàn)思路和方法系統(tǒng)的實現(xiàn)思路:首先,進(jìn)行“日程管理系統(tǒng)”的數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計,日程的信息包括日程名稱、時間、地點等,將這些基本信息存儲到數(shù)據(jù)庫后,用關(guān)系表來存儲每一條記錄,并且設(shè)定表與表這間的關(guān)聯(lián)關(guān)系;其次,客戶端的實現(xiàn),在Android平臺上開發(fā)“日程管理系統(tǒng)”的客戶端,讓后臺數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)可視化顯示出來,并讓用戶方便對相關(guān)數(shù)據(jù)進(jìn)行操作,包括對日程信息的增、刪、改、查等基本數(shù)據(jù)操作;客戶端則負(fù)責(zé)與用戶交互,并控制手機響鈴震動提醒用戶日程時間等功能。然后,后臺數(shù)據(jù)庫服務(wù)器的實現(xiàn),基于Apache Axis 2插件編寫數(shù)據(jù)庫服務(wù)器響應(yīng)客戶端程序的規(guī)則,讓用戶對后臺數(shù)據(jù)庫的操作“透明化”,即隱藏數(shù)據(jù)在無線移動網(wǎng)絡(luò)中復(fù)雜的傳輸交互過程。后臺數(shù)據(jù)庫服務(wù)器程序開發(fā)完成后,使用Apache Tomcat 6.0作為WebService發(fā)布在校園局域網(wǎng)中,供校園用戶接入使用。最后,客戶端接入移動校園網(wǎng)調(diào)用WebService,實現(xiàn)對后臺數(shù)據(jù)庫的基本操作。(四)系統(tǒng)開發(fā)環(huán)境Android的應(yīng)用層軟件的開發(fā)是基于Java的,所以開發(fā)環(huán)境選擇的是MyEclipse 2013,開發(fā)Android需要安裝Google提供的ADT插件,雖然Google在2013年的I/O大會上發(fā)布了自己的基于idea的開發(fā)工具Android Studio 0.1 Preview版本,但是考慮到新平臺需要長時間的磨合適應(yīng)以及自己開發(fā)時間緊迫的緣故,故繼續(xù)使用MyEclipse 2013,Android的SDK使用的版本是4.4.2,另外使用的JDK版本是1.7.0_15。1、數(shù)據(jù)庫的使用本“日程管理系統(tǒng)”使用了兩個數(shù)據(jù)庫管理系統(tǒng),分別是在客戶端上使用Android平臺自身提供的SQLite,在數(shù)據(jù)庫服務(wù)器上使用的是MySQL Workbench 6.0 CE。SQLite簡介:SQLite是一個開源的嵌入式關(guān)系數(shù)據(jù)庫,它在2000年由D. Richard Hipp發(fā)布,它的減少應(yīng)用程序管理數(shù)據(jù)的開銷,SQLite可移植性好,很容易使用,很小,高效而且可靠。SQLite嵌入到使用它的應(yīng)用程序中,它們共用相同的進(jìn)程空間,而不是單獨的一個進(jìn)程。SQLite 的數(shù)據(jù)庫權(quán)限只依賴于文件系統(tǒng),沒有用戶帳戶的概念。SQLite 有數(shù)據(jù)庫級鎖定,沒有網(wǎng)絡(luò)服務(wù)器。它需要的內(nèi)存,其它開銷很小,適合用于嵌入式設(shè)備。需要做的僅僅是把它正確的編譯到你的程序。SQLite具有零配置、可移植、Compactness、簡單、靈活、可靠的特點。圖2-2 SQLite數(shù)據(jù)庫結(jié)構(gòu)圖SQLite架構(gòu):SQLite采用了模塊的設(shè)計,它有三個子系統(tǒng),包括八個獨立的模塊構(gòu)成。因此移動平臺的數(shù)據(jù)庫解決方案大多是采用SQLite,能夠滿足開發(fā)者的一般數(shù)據(jù)的存儲需求。MySQL Workbench 6.0 CE簡介:MySQL Workbench是一款專為MySQL設(shè)計的ER/數(shù)據(jù)庫建模工具。它是著名的數(shù)據(jù)庫設(shè)計工具DBDesigner4的繼任者。可以使用MySQL Workbench設(shè)計和創(chuàng)建新的數(shù)據(jù)庫圖示,建立數(shù)據(jù)庫文檔,以及進(jìn)行復(fù)雜的MySQL 遷移。MySQL Workbench是下一代的可視化數(shù)據(jù)庫設(shè)計、管理的工具,它同時有開源和商業(yè)化的兩個版本。該軟件支持Windows和Linux系統(tǒng)。MySQL Workbench 為數(shù)據(jù)庫管理員、程序開發(fā)者和系統(tǒng)規(guī)劃師提供可視化設(shè)計、模型建立、以及數(shù)據(jù)庫管理功能。它包含了用于創(chuàng)建復(fù)雜的數(shù)據(jù)建模ER模型,正向和逆向數(shù)據(jù)庫工程,也可以用于執(zhí)行通常需要花費大量時間和需要的難以變更和管理的文檔任務(wù)。MySQL工作臺可在Windows,Linux和Mac上使用。2、開發(fā)平臺開發(fā)平臺:Android3、系統(tǒng)開發(fā)環(huán)境開發(fā)環(huán)境:Windows 7+MyEclipse 2013+Android SDK+ADT+ Apache Tomcat 6.0+ Apache Axis 2+MySQL Workbench 6.0 CE(五)數(shù)據(jù)流程圖數(shù)據(jù)流程圖是結(jié)構(gòu)化系統(tǒng)分析的工具。數(shù)據(jù)流程有四種基本符號:外部項、數(shù)據(jù)流、處理邏輯(加工)、數(shù)據(jù)元素和數(shù)據(jù)存儲。本系統(tǒng)數(shù)據(jù)流總體,表示了系統(tǒng)基本的數(shù)據(jù)流程。為表達(dá)稍微復(fù)雜的時間問題需要按照問題的層次結(jié)構(gòu)進(jìn)行自頂向下逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。先把整個數(shù)據(jù)處理過程看成一個加工過程,它的輸入數(shù)據(jù)和輸出數(shù)據(jù)實際上反映了系統(tǒng)與外界環(huán)境的接口。這就是分層數(shù)據(jù)圖的頂層,也成作總體圖。本系統(tǒng)中網(wǎng)絡(luò)數(shù)據(jù)庫的讀寫接口作為一個重點,連接著數(shù)據(jù)庫、輸入和輸出,如圖2-3所示。圖2-3 系統(tǒng)總體圖下面對數(shù)據(jù)的加工做進(jìn)一步的細(xì)化和完善。本“日程管理系統(tǒng)”的數(shù)據(jù)處理,根據(jù)功能上包括4個子系統(tǒng),分別為數(shù)據(jù)輸入子系統(tǒng)、數(shù)據(jù)查詢子系統(tǒng)、數(shù)據(jù)刪除子系統(tǒng)、數(shù)據(jù)更新子系統(tǒng)。根據(jù)進(jìn)一步的細(xì)化分析,我們可以畫出表示這幾個子系統(tǒng)的數(shù)據(jù)流圖,即“日程管理系統(tǒng)”各個功能的數(shù)據(jù)流圖,如圖2-4和2-5所示。圖2-4 用戶登錄系統(tǒng)的數(shù)據(jù)流圖圖2-5 用戶添加日程信息的數(shù)據(jù)流圖三、總體設(shè)計(一)系統(tǒng)總體設(shè)計描述系統(tǒng)的設(shè)計階段所需要解決的問題是構(gòu)建整個項目的總體框架,因為如果自己沒有一個明確的框架,那么代碼編寫到后面一旦出現(xiàn)錯誤,就會變得越來越亂,不得不重新開始以前工作。所以說系統(tǒng)總體設(shè)計階段很重要。軟件工程同時也是一門工程性的學(xué)科,所以需要對本系統(tǒng)提前搭建一個總體的框架??傮w設(shè)計是軟件開發(fā)人員根據(jù)軟件需求說明書的要求,運用結(jié)構(gòu)化程序設(shè)計思想,將軟件自上而下逐步求精分解成多個軟件模塊,知道分解成每一個模塊只具有單一的功能,能用一個或者幾個程序?qū)崿F(xiàn)的樹形結(jié)構(gòu)為止??傮w設(shè)計階段還要定義各個模塊之間的數(shù)據(jù)傳遞關(guān)系,數(shù)據(jù)存儲關(guān)系,輸入輸出格式,以及對于運行環(huán)境的各自要求。經(jīng)過需求分析階段的工作,本“日程管理系統(tǒng)”所需要完成的功能,即需要做什么已經(jīng)形成書面文字需求規(guī)格說明書,現(xiàn)在所要做的工作是設(shè)計整個系統(tǒng)的工作原理。總體設(shè)計過程可分為兩個主要階段:功能設(shè)計,根據(jù)在校用戶對“日程管理系統(tǒng)”的需求做出相應(yīng)的功能上的決策,結(jié)合網(wǎng)上相關(guān)資料以及線下的調(diào)查決定設(shè)計本“日程管理系統(tǒng)”的相應(yīng)功能;結(jié)構(gòu)設(shè)計,確定整個軟件的結(jié)構(gòu),有哪些子類所組成。其中功能設(shè)計是在需求分析的基礎(chǔ)上進(jìn)行的,這里的“功能”是泛指的概念,例如軟件所要實現(xiàn)的功能,還包括系統(tǒng)設(shè)計時的數(shù)據(jù)處理,實現(xiàn)功能的算法。而結(jié)構(gòu)設(shè)計,是將整個系統(tǒng)按照不同的功能和層次劃分為一個一個相對簡單而獨立的模塊,每個模塊實現(xiàn)系統(tǒng)的某一項具體的功能,自頂向下,初步求精,這樣增加了軟件的可復(fù)用性,而且對于代碼的結(jié)構(gòu)則更加清晰明了,閱讀起來也更加有條理,維護(hù)起來的也更加方便省時。(二)系統(tǒng)模塊圖1、系統(tǒng)總體結(jié)構(gòu)模塊層次圖,是描述軟件層次特性的工具,描述某個模塊負(fù)責(zé)管理控制哪些模塊以及上下級模塊或者是統(tǒng)計模塊之間的數(shù)據(jù)傳遞關(guān)系,能夠清楚的表明系統(tǒng)的結(jié)構(gòu),并可用來粗略的估計系統(tǒng)的規(guī)模。優(yōu)點也是顯而易見的,能夠很清楚地表達(dá)系統(tǒng)結(jié)構(gòu),保證思路清晰,缺點是只能夠粗略地表達(dá)而不能表達(dá)整個系統(tǒng)的邏輯。根據(jù)需求分析得到的數(shù)據(jù)流圖,由用戶的需求以及完善系統(tǒng)所添加的一些功能得到系統(tǒng)的模塊層次圖。系統(tǒng)只要實現(xiàn)數(shù)據(jù);錄入(添加用戶、添加日程信息)、數(shù)據(jù)查詢(顯示日程的相關(guān)信息)、數(shù)據(jù)統(tǒng)計(日程記錄統(tǒng)計等)以及數(shù)據(jù)更新刪除等。如圖3-1所示。圖3-1 總體模塊圖其中數(shù)據(jù)顯示是一個稍微復(fù)雜的模塊,數(shù)據(jù)顯示視圖模塊包括日程日歷顯示模塊、日程列表顯示模塊、日程添加顯示模塊以及日程修改或刪除顯示模塊?,F(xiàn)在將把數(shù)據(jù)顯示模塊進(jìn)一步細(xì)化得到圖3-2.圖3-2 數(shù)據(jù)顯示模塊細(xì)化2、系統(tǒng)模塊描述系統(tǒng)的概要設(shè)計客戶端的功能模塊說明:(1)用戶管理模塊:在本模塊中包括用戶信息注冊模塊、用戶登錄模塊和用戶信息修改模塊。用戶信息注冊模塊是當(dāng)用戶首次使用本系統(tǒng)時,用戶向數(shù)據(jù)庫服務(wù)器提交合法的用戶名、密碼以及聯(lián)系方式等用戶個人信息;用戶登錄模塊是用戶登錄時向數(shù)據(jù)庫服務(wù)器憑借用戶名和密碼以驗證用戶身份的合法性,同時這樣可以保護(hù)用戶的日程信息的機密性和完整性;用戶信息修改模塊提供給用戶修改用戶密碼以及聯(lián)系方式的功能。(2)日歷查看模塊:本模塊擁有一個完整的日歷界面,包括頭部的年月日、閏年的顯示,還有每個日期都分別有陽歷和陰歷的日期顯示,并且日歷中包含了各個重要的節(jié)日、節(jié)氣或紀(jì)念日等。在日歷界面上每個日期都會跳轉(zhuǎn)到當(dāng)前日期的日程添加界面或者是日程顯示界面。日歷界面上還有對存在日立的標(biāo)記,有利于用戶更好的管理日程信息。(3)日程管理模塊:在本模塊中包括最近的日程顯示界面和日歷頁面所跳轉(zhuǎn)到的日程顯示界面或者是日程添加界面。最近的日程顯示界面提示用戶距離當(dāng)前日期最近的日程名稱、時間以及倒計時的天數(shù),方便用戶快速地查詢重要的信息。日歷日期所對應(yīng)的日程顯示界面也是相應(yīng)的顯示。而在日程添加界面中包含了顯示界面所對應(yīng)的各項數(shù)據(jù),包括日程名稱、時間、提醒時間、地點、重復(fù)類型,添加日程成功后會有對應(yīng)日歷日期的標(biāo)記。另外也有對日程信息的一系列管理操作的功能,包括查詢、刪除和修改等。(4)設(shè)置界面模塊:在設(shè)置中包括了對日程的提醒類型和重復(fù)類型的默認(rèn)設(shè)置。(5)關(guān)于界面模塊:關(guān)于界面中包含了本軟件的設(shè)計信息以及一些基本信息。數(shù)據(jù)庫服務(wù)器的功能模塊說明:(1)用戶操作模塊:在數(shù)據(jù)庫服務(wù)器程序中,客戶端會發(fā)出不同的申請,而本模塊負(fù)責(zé)為這些不同的申請做出相應(yīng)規(guī)則的響應(yīng),并把這些方法封裝成遠(yuǎn)程可調(diào)用的服務(wù)方法??蛻舳税l(fā)出增加、刪除、修改日程信息或者用戶信息的申請,以及客戶端檢查該賬號是否在異地登錄等。(2)數(shù)據(jù)傳輸模塊:在用戶登錄“日程管理系統(tǒng)”后,由客戶端向數(shù)據(jù)庫服務(wù)器請求傳輸該用戶的相關(guān)日程信息,服務(wù)程序負(fù)責(zé)把日程信息轉(zhuǎn)化為可串行的對象,并通過無線移動網(wǎng)絡(luò)傳輸給客戶端。客戶端與服務(wù)器交互的相關(guān)協(xié)議,如表3-1所示。表3-1 客戶端與服務(wù)器網(wǎng)絡(luò)連接結(jié)果網(wǎng)絡(luò)層次相關(guān)協(xié)議應(yīng)用層HTTP協(xié)議運輸層TCP和UDP協(xié)議網(wǎng)絡(luò)層IP協(xié)議數(shù)據(jù)鏈路層IEEE 802.11物理層無線WiFi(三)數(shù)據(jù)庫總體設(shè)計1、數(shù)據(jù)庫設(shè)計介紹數(shù)據(jù)庫是指自描述的完整記錄的集合。數(shù)據(jù)庫除了包含用戶的源數(shù)據(jù)之外,還包含關(guān)于它本身結(jié)構(gòu)的描述。另外,數(shù)據(jù)庫還包含用來表示數(shù)據(jù)之間的關(guān)系和提高數(shù)據(jù)庫應(yīng)用的性能的索引。最后,數(shù)據(jù)庫還包含關(guān)于使用數(shù)據(jù)庫的應(yīng)用程序的數(shù)據(jù)。本“日程管理系統(tǒng)”是管理用戶添加的日程信息。正如我們所知道的,一個日程信息包括日程的名稱、日期時間、提醒日期時間、活動地點、提醒類型等這些基本屬性。而這些基本屬性中日程名稱2、 E-R圖概念模型是對信息世界建模,所以概念模型能夠方便、準(zhǔn)確地表示出信息世界中的常用概念。概念模型的表示方法有很多,其中最為著名最為常用的是P.P.S.Chen于1976年提出的實體-聯(lián)系方法(Entity-Relationship Approach)。該方法用E-R圖來描述現(xiàn)實世界的概念模型,E-R方法也稱為E-R模型。E-R圖由實體、實體的屬性以及實體之間的關(guān)系三部分組成,實體是具有相同的性質(zhì)并且彼此之間可以相互區(qū)分的現(xiàn)實世界對象的集合;屬性是實體所具有的特征,它是描述實體或者關(guān)系的性質(zhì)的數(shù)據(jù)項,實體之間的關(guān)系通過直線連接。本“日程管理系統(tǒng)”中,主要有以下實體:用戶信息,日程信息,活動信息。用戶的屬性有ID,用戶名,密碼,聯(lián)系方式和最后一次登錄時間等,其中ID是自增長的而且是唯一編號的;日程信息的屬性包括ID,日程名稱,提醒時間和提醒周期等;活動信息的屬性有ID,活動地點,活動參加人員等。設(shè)計的E-R圖如圖3-3所示:圖3-3 數(shù)據(jù)庫E-R圖如圖3-3所示,圖中實體的屬性只選取重要的屬性展示。每一個日程信息與用戶信息存在一定的隸屬關(guān)系,則需要在日程信息添加用戶的ID作為外鍵進(jìn)行標(biāo)識。這樣設(shè)計的有點有利于擴展系統(tǒng)的功能,例如用戶成功登陸后,服務(wù)器程序可以依據(jù)用戶的ID進(jìn)行查找該用戶相關(guān)的日程記錄的信息。同時給查詢數(shù)據(jù)庫也帶來了諸多方便,只需要在查詢的時候增加新增的屬性即可。3、數(shù)據(jù)庫表設(shè)計一共設(shè)計了4張表,分別是:(1)用戶信息表(用戶的ID, 用戶名, 密碼, 用戶最近一次的登錄時間, 用戶的聯(lián)系方式);表3-1 用戶信息表(user_info)字段數(shù)據(jù)類型是否主鍵說明UserIDINT是用戶的IDUerNameVARCHAR(45)否用戶名UserPasswordVARCHAR(45)否用戶密碼UserLasttimeVARCHAR(45)否最近一次的登錄時間UserConnectionVARCHAR(45)否聯(lián)系方式(2)活動信息表(活動的ID, 活動名稱, 活動時間, 活動地點);表3-2 活動信息表(activity_info)字段數(shù)據(jù)類型是否主鍵說明ActivityIDINT是活動的IDNameVARCHAR否活動名稱ActivityTimeVARCHAR否活動時間ActivityPlaceVARCHAR否活動地點(3)日程信息表(日程的ID, 日程名稱, 日程時間, 日程循環(huán)周期, 提醒類型,用戶的ID);表3-3 日程信息表(calendar_info)字段數(shù)據(jù)類型是否主鍵說明CalendarIDINT是日程的IDNameVARCHAR否日程名稱AlarmTimeVARCHAR否日程時間CalendarCycleVARCHAR否日程循環(huán)周期AlarmTypeVARCHAR否提醒類型ParticipatorIDINT否用戶的ID(4)活動參加聯(lián)系表(記錄的ID,活動的ID,用戶的ID);表3-4活動參加聯(lián)系表(participator_info)字段數(shù)據(jù)類型是否主鍵說明RecordIDINT是記錄的IDActivityIDINT否活動的IDUserIDINT否用戶的ID四、詳細(xì)設(shè)計和系統(tǒng)實現(xiàn)(一)詳細(xì)設(shè)計和系統(tǒng)實現(xiàn)詳細(xì)設(shè)計階段的目標(biāo):確定應(yīng)該怎么樣實現(xiàn)系統(tǒng),給出軟件模塊結(jié)構(gòu)中各個模塊內(nèi)部過程描述。該階段是用程序設(shè)計語言來描述所要完成系統(tǒng)的功能,即代碼實現(xiàn)的一個設(shè)計過程。詳細(xì)設(shè)計階段要確定模塊的算法以及數(shù)據(jù)結(jié)構(gòu),其任務(wù)是設(shè)計出系統(tǒng)的藍(lán)圖,這樣就可以在后期系統(tǒng)的實現(xiàn)中根據(jù)詳細(xì)設(shè)計中的藍(lán)圖很合理的設(shè)計各個模塊。其中需要遵循的幾個原則:模塊的邏輯描述要清晰易懂,正確可靠;設(shè)計出的處理過程應(yīng)該盡可能的簡單易讀;選擇恰當(dāng)?shù)拿枋龉ぞ邅砻枋雒恳粋€模塊的算法。系統(tǒng)實現(xiàn)也就是編碼階段。編碼就是指將軟件詳細(xì)設(shè)計的說明書用程序設(shè)計語言翻譯出來的代碼。軟件的設(shè)計開發(fā)過程,最后就是通過編碼對功能的實現(xiàn)。運用軟件功能方法設(shè)計軟計,主要是為了提高軟件質(zhì)量,軟件質(zhì)量在很大程度上取決于設(shè)計的質(zhì)量,同時編碼的好壞也是影響軟件質(zhì)量的十分重要的因素。另外,編碼質(zhì)量的好壞,也直接影響了軟件測試和軟件維護(hù)工作的進(jìn)行。但是系統(tǒng)實現(xiàn)是在系統(tǒng)設(shè)計的基礎(chǔ)上的,系統(tǒng)設(shè)計確定下來了,就基本上定下了系統(tǒng)的實現(xiàn)。(二)功能模塊的設(shè)計和實現(xiàn)本章介紹本“日程管理系統(tǒng)”的各模塊的設(shè)計和實現(xiàn)。首先在MyEclipse中配置好ADT和Android SDK等開發(fā)環(huán)境然后新建一個Android項目,項目名稱為mycalendar,然后在Android項目中的AndroidManifest.xml文件中配置本客戶端軟件需要使用的權(quán)限,像網(wǎng)絡(luò)連接權(quán)限,震動權(quán)限等。在Android中權(quán)限是通過配置文件中聲明來向系統(tǒng)請求權(quán)限,安裝時會將軟件所請求的權(quán)限顯示并要求用戶授權(quán)。本“日程管理系統(tǒng)”中,所需要的權(quán)限有:VIBRATE, SYSTEM_ALERT_WINDOW, GET_TASKS, 以及INTERNET四項權(quán)限。Android開發(fā)中用戶界面和控制代碼是分開的,所以可以在Layout布局中布局好界面,然后再來寫代碼,幾個重要的布局以及本設(shè)計所涉及到的布局如LinearLayout、RelativeLayout等。關(guān)于數(shù)據(jù)庫服務(wù)器的搭建,首先需要在MySQL Workbench 6.0 CE創(chuàng)建好四張表,然后在MyEclipse中配置好Apache Tomcat 6.0、 Apache Axis 2等服務(wù)端的開發(fā)環(huán)境并且建立一個Web Project項目,項目名稱為myservice,然后在Web Project項目中添加mysql-connector的jar文件,保證項目可以與本機上的MySQL Workbench 6.0 CE建立連接。接下來,在項目中編寫數(shù)據(jù)庫讀寫接口,并且把對數(shù)據(jù)庫的各種操作封裝為WebService的接口方法,之后通過Axis2 Service Archiver生成WebService并且利用Apache Tomcat 6.0發(fā)布服務(wù)。1、用戶管理模塊運行本“日程管理系統(tǒng)”進(jìn)入“登錄歡迎界面”停留3秒鐘后自動進(jìn)入“用戶登錄界面”,在本界面上有兩個功能按鈕,分別是登錄日程管理系統(tǒng)和切換至“注冊賬號界面”;還有兩個TextView負(fù)責(zé)用戶輸入自己的賬號和密碼提交給數(shù)據(jù)庫服務(wù)器進(jìn)行身份驗證用的;還有一個CheckBox,用來記錄已經(jīng)登錄過的賬號和密碼,方便用戶下一次直接登錄系統(tǒng)而不必反復(fù)輸入賬號和密碼。 圖4-1 系統(tǒng)歡迎界面 圖4-2 系統(tǒng)登錄界面當(dāng)用戶首次使用本“日程管理系統(tǒng)”時,可以選擇注冊新賬號,點擊“登錄界面”右下方的“注冊賬號”的按鈕,進(jìn)入“注冊賬號界面”。其中“注冊賬號界面”包括兩個功能按鈕,分別是返回“登錄界面”和確認(rèn)注冊信息的功能;還有四個TextView,分別讓用戶輸入注冊的新用戶名、密碼、確認(rèn)密碼和聯(lián)系方式,其中用戶名作為本“日程管理系統(tǒng)”唯一識別用戶的數(shù)據(jù)字段,不允許出現(xiàn)兩個重復(fù)的用戶名,所以當(dāng)用戶申請的新用戶名已經(jīng)存在的話,客戶端程序會提醒用戶本次注冊因用戶名已存在而失敗。當(dāng)用戶在兩個TextView輸入賬號和密碼,點擊“登錄”按鈕,客戶端會做一定的預(yù)處理,保證向后臺數(shù)據(jù)庫服務(wù)器的信息的合法性,即提前檢查TextView的內(nèi)容是否為空以及賬號和密碼中是否隱含有SQL注入攻擊的危險等等。之后客戶端等待后代數(shù)據(jù)庫返回的數(shù)據(jù),并根據(jù)返回的數(shù)據(jù)進(jìn)行判斷該賬號和密碼的合法性以及是否跳轉(zhuǎn)進(jìn)入“日程管理系統(tǒng)”的“主界面”。在輸入賬號的TextView左邊有一個下拉按鈕,點擊會出現(xiàn)過去在客戶端上登錄過的賬號,這樣做也是為了避免用戶重復(fù)操作。在后臺數(shù)據(jù)庫服務(wù)器中為了保證用戶的信息安全不被攻擊者竊取,因此用戶提交的注冊信息,特別是用戶密碼,使用Hash函數(shù)進(jìn)行加密,采取非明文的存儲方式。而當(dāng)用戶登錄時,用戶的驗證信息在傳輸過程中同樣采用加密的形式,這樣極大地保證了系統(tǒng)的安全性。2、日程數(shù)據(jù)增、刪、改模塊進(jìn)入“日程管理系統(tǒng)”之后,系統(tǒng)自動切換到“日歷顯示界面”,在該界面中大部分是一份本月日歷,用戶可以任意選擇其中某一天,選中后該日期的底色會透明變成淡藍(lán)色,選中后再一次點擊時,系統(tǒng)會判斷這一天是否包含其他的日程信息,如果沒有,則進(jìn)入“添加日程信息界面”,該界面由上到下分別是兩個控制按鈕,實現(xiàn)返回和確認(rèn)的功能;之后是六個有關(guān)日程信息的采集選項。如圖4-3所示。圖4-3 添加日程信息界面如果選中的日期存在日程信息,則進(jìn)入到“列表顯示界面”,在該界面中用ListView組建把該日期中所有的日程信息分條目列舉出來。如圖4-4所示。圖4-4 列表顯示界面在“列表顯示界面”中,用戶點擊某一列日程信息,則進(jìn)入到“修改日程信息界面”,該界面與“添加日程信息界面”大致一樣,但多出來“刪除”功能按鈕,當(dāng)用戶單擊該功能按鈕時,客戶端向數(shù)據(jù)庫服務(wù)器發(fā)送刪除該用戶此條日程信息記錄,客戶端內(nèi)部則釋放相關(guān)的震鈴提醒程序。3、數(shù)據(jù)庫讀寫模塊在Web Project中建立數(shù)據(jù)庫ConnectionFactory類、數(shù)據(jù)庫操作接口IOperationCore類、數(shù)據(jù)庫操作接口實現(xiàn)OperationCoreImpl類以及數(shù)據(jù)庫操作BOperationAdapter類,使得程序?qū)?shù)據(jù)庫的操作對用戶“透明”。根據(jù)上面建立的數(shù)據(jù)庫接口,實現(xiàn)服務(wù)器程序的業(yè)務(wù)模塊,包括:(1)addRecordInfo(2)getLoadActivityInfo(3)getHello(4)getName(5)queryUsers(6)userLoad(7)userRegister(8)getLoadPInfo(9)getLoadCalendarInfo(10)getGreeting(11)checkUserLoading(12)isUserExist(13)delUserInfo(14)getLoadUserInfo(15)userExit(16)delRecordInfo(17)updateRecordInfo(18)editPassword其中(3)、(4)、(10)是留待以后的擴展使用的。圖4-5 WebService發(fā)布4、系統(tǒng)中其他功能的實現(xiàn)(1)提醒以及響鈴模式切換的實現(xiàn)使用Android系統(tǒng)的AlarmManager來進(jìn)行定時提醒,系統(tǒng)中運行著廣播接收進(jìn)程MyReceive和服務(wù)進(jìn)程FloatWindowService,它們的作用是檢查一天中需要提醒的日程,如需要提醒使用AlarmManager來設(shè)置一個定時的Intent,該Intent用戶啟動PlayMusic活動,活動啟動時會根據(jù)Intent傳遞的信息,決定采取同時震動并響鈴,或者是只采取震動的形式進(jìn)行提醒用戶。(2)服務(wù)懸浮窗以及日程小助手的實現(xiàn)本“日程管理系統(tǒng)”的懸浮窗模塊分為小窗口和大窗口,分別有FloatWindowSmallView和FloatWindowBigView定義其屬性與內(nèi)容,小懸浮窗在“日程管理系統(tǒng)”退出時啟動,并一直在手機屏幕的側(cè)邊顯示;而大懸浮窗就是日程小助手,用來及時提醒用戶即將發(fā)生的日程。這兩個窗口之間的轉(zhuǎn)化由MyWindowManager類和系統(tǒng)運行的服務(wù)進(jìn)程FloatWindowService控制決定。 圖4-6 懸浮窗提示界面 圖4-7 懸浮窗小窗口五、測試與評估(一)測試環(huán)境為了獲得更好的體驗,測試在Android 4.0+系統(tǒng)上進(jìn)行。手機型號:小米M1;系統(tǒng)版本:Android4.0.3;(二)測試計劃1、交互測試(1)“日歷顯示”交互用戶登錄進(jìn)入“日程管理系統(tǒng)”的主界面后,選擇當(dāng)前日期,雙擊日期方格后,進(jìn)入添加日程信息的界面。用戶點擊日程時間,系統(tǒng)自動彈出選擇日期和時間Dialog,可以在日期時間的數(shù)字上下滑動來設(shè)置定義。點擊設(shè)置后,選擇的日期和時間顯示在相應(yīng)的TextView上。圖5-1 設(shè)置日程日期圖5-2 設(shè)置提醒時間圖5-3 選擇提醒周期用戶點擊周期一欄的按鈕,系統(tǒng)系統(tǒng)彈出單選Dialog,點擊某一選項后,相關(guān)的TextView即顯示選擇的結(jié)果。用戶填寫完日程信息并單擊保存按鈕后,系統(tǒng)彈出Toast提示用戶成功添加日程信息并返回“日歷顯示界面”,并且界面更新,將剛剛添加的日程信息所在的日期方格的左上角顯示標(biāo)記。測試結(jié)果:符合一般交互設(shè)計理念。(2)“列表顯示”交互用戶登錄進(jìn)入“日程管理系統(tǒng)”的主界面后,選擇有日程信息標(biāo)記的日期,雙擊日期方格后,進(jìn)入“列表顯示界面”,界面中顯示本日期所包含的的日程信息總數(shù),以及在下面分條目列出每一個日程信息的最基本的信息,包括日程名稱,時間,提示類型等。測試結(jié)果:符合一般交互設(shè)計理念。3、功能測試“日程管理系統(tǒng)”的功能在2.1節(jié)中已經(jīng)概述過。在功能測試章節(jié)中,我們對在2.1中列出的每一項功能做系統(tǒng)的測試,看功能是否已經(jīng)實現(xiàn)。(1)日程信息添加功能測試(當(dāng)前時間是6月2日)測試用例目的:測試系統(tǒng)的添加日程信息功能;測試用例執(zhí)行步驟:在“添加日程信息界面”添加某個日程信息(畢業(yè)設(shè)計, 2014年6月2日, 南樓106,不重復(fù)提醒,鬧鈴震動提醒)。點擊“保存”按鈕會淡出一個Toast提示用戶成功添加日程信息,返回“日歷顯示界面”。繼續(xù)選擇可以繼續(xù)添加一個日程信息(論文答辯, 2014年6月2日, 教學(xué)樓, 不重復(fù)提醒, 震動提醒)。圖5-4 日歷顯示界面預(yù)期結(jié)果:在“日歷顯示界面”2014年6月2日的日期格子的左上角的出現(xiàn)標(biāo)記;再一次雙擊這一日期的格子,進(jìn)入到“列表顯示界面”,顯示的日程信息與剛剛添加的信息相符。實際結(jié)果:符合預(yù)期。(2)日程信息刪除功能測試測試用例目的:測試系統(tǒng)的刪除日程信息功能;測試用例執(zhí)行步驟:在“修改日程信息界面”,點擊右上角“刪除”按鈕,然后再點擊彈出Dialog的“確定”鍵,再觀察結(jié)果。預(yù)期結(jié)果:點擊“確定”鍵后,退回“列表顯示界面”,被選中的日程信息在其中消失。實際結(jié)果:符合預(yù)期。(3)日程信息修改功能測試測試用例目的:測試系統(tǒng)的修改日程信息功能;測試用例執(zhí)行步驟:在“修改日程信息界面”,重新調(diào)整日程信息。調(diào)整后的日程信息(畢業(yè)視頻, 2014年6月3日, 宿舍樓,不重復(fù)提醒,鬧鈴震動提醒),點擊“保存”按鈕預(yù)期結(jié)果:點擊“保存”鍵后,退回“列表顯示界面”,被選中的日程信息與修改后的日程信息相一致。實際結(jié)果:符合預(yù)期。(4)定時提醒功能測試測試用例目的:測試系統(tǒng)的定時提醒功能;測試用例執(zhí)行步驟:在“添加日程信息界面”,新增一個日程信息并且提醒時間據(jù)當(dāng)前時間2分鐘后,提醒方式設(shè)置為鬧鈴震動。添加成功后,退出本“日程管理系統(tǒng)”,等待大約兩分鐘,觀察結(jié)果。 圖5-5 定時提醒預(yù)期結(jié)果:2分鐘后,關(guān)于日程提示的Activity啟動,播放預(yù)先設(shè)定好的鈴聲并震動。實際結(jié)果:符合預(yù)期。(5)日歷顯示功能測試測試用例目的:測試系統(tǒng)的日歷顯示功能;測試用例執(zhí)行步驟:進(jìn)入系統(tǒng)“日歷顯示界面”,單擊“月份顯示”TextView左右兩側(cè)的ImageView,或者手動按下手機側(cè)邊的控制音量加減的按鍵;也可以單擊“菜單”圖標(biāo)的ImageView,彈出下拉框后,選擇日期“跳轉(zhuǎn)到”,之后彈出DatePickerDialog選擇任意一天的日期。之后單擊“今天”圖標(biāo)的ImageView。預(yù)期結(jié)果:當(dāng)單擊“下一月”(“上一月”)的ImageView或者按下音量“-”(音量“+”)時,日歷顯示界面會自動跟新界面進(jìn)入下一個月(上一個月)的日歷界面;當(dāng)使用“跳轉(zhuǎn)到”選擇某一天日期,日歷顯示界面會更新至那一天日期所在月份的日歷界面;當(dāng)單擊“今天”圖標(biāo)的ImageView時,日歷顯示界面會更新會當(dāng)前月份的日歷界面。實際結(jié)果:符合預(yù)期。(6)用戶注冊功能測試測試用例目的:測試系統(tǒng)的注冊功能;測試用例執(zhí)行步驟:在“用戶注冊界面”,在所有EditView都空白時,點擊“確定“按鈕;添加一個新用戶信息(tonghua, dksdks,,但兩次輸入的密碼不相符;添加一個已經(jīng)存在的用戶名;根據(jù)系統(tǒng)提示修改完善后,單擊“確定”按鈕。 預(yù)期結(jié)果:當(dāng)所有EditView都是空白并點擊“確定”按鈕時,系統(tǒng)會彈出Toast提示用戶名和密碼一欄不能為空;當(dāng)在重復(fù)輸入密碼的EditView里輸入的與密碼的EditView的輸入不一致時,一旦界面的焦點離開重復(fù)輸入密碼的EditView之后,系統(tǒng)會立刻提示用戶兩次輸入的密碼不一致;當(dāng)添加的用戶名已經(jīng)存在時,一旦界面焦點離開用戶名的EditView之后,系統(tǒng)會立即提示用戶該用戶名已經(jīng)存在,建議重新填寫;當(dāng)所有輸入都正確合法時,點擊“確定”按鈕之后,系統(tǒng)彈出Toast提示注冊成功,并自動返回到“用戶登錄界面”。圖5-6 用戶注冊界面實際結(jié)果:符合預(yù)期。(7)用戶登錄功能測試測試用例目的:測試系統(tǒng)的登錄功能;測試用例執(zhí)行步驟:進(jìn)入系統(tǒng)“用戶登錄界面”,輸入剛剛注冊過的用戶登錄信息(tonghua, dksdks),直接點擊“登錄”按鈕;輸入錯誤的用戶名或者密碼,直接點擊“登錄”按鈕;再點擊“登錄”按鈕勾選“記住密碼”的CheckBox,登錄系統(tǒng)之后退出后,再一次啟動“日程管理系統(tǒng)”。圖5-7 用戶登錄界面預(yù)期結(jié)果:當(dāng)輸入正確合法的用戶信息時,界面切換進(jìn)入到系統(tǒng)的主界面;當(dāng)輸入的是錯誤的用戶名或者密碼時,系統(tǒng)會彈出Toast提醒用戶賬號或者密碼不正確;當(dāng)勾選“記住密碼”CheckBox后登錄后,再一次啟動本“日程管理系統(tǒng)”進(jìn)入到“用戶登錄界面”時,用戶名和密碼自動填寫好,用戶只需點擊“登錄”按鈕即可登錄系統(tǒng)。實際結(jié)果:符合預(yù)期。(8)數(shù)據(jù)庫服務(wù)器功能測試測試用例目的:測試系統(tǒng)的數(shù)據(jù)庫服務(wù)器功能;測試用例執(zhí)行步驟:在

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論