版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 移動校園—日程管理</b></p><p> 摘 要:如今隨著信息技術(shù)的高速發(fā)展,越來越多的學(xué)校將虛擬校園和現(xiàn)實(shí)校園相結(jié)合,探索出開展移動學(xué)習(xí)的新途徑、新方法,使得學(xué)生們能隨時(shí)、隨地、任意設(shè)備的進(jìn)行學(xué)習(xí)。學(xué)生對移動學(xué)習(xí)內(nèi)容和設(shè)備的需求催生了移動學(xué)習(xí)內(nèi)容服務(wù)和軟硬件服務(wù)平臺的市場。</p><p> 智能移動終端已經(jīng)成為現(xiàn)代人們生活所
2、必不可少的物品,將其作為“移動校園”的日程管理系統(tǒng)是一個(gè)很好的選擇。這樣不僅可以實(shí)現(xiàn)學(xué)生隨時(shí)隨地的學(xué)習(xí),還能大大提高學(xué)校和培訓(xùn)機(jī)構(gòu)的管理效率和服務(wù)水平。</p><p> 本系統(tǒng)在智能移動終端Android操作系統(tǒng)上利用校園移動通信網(wǎng)進(jìn)行數(shù)據(jù)傳輸,滿足了校園用戶在學(xué)習(xí)區(qū)域內(nèi)的任何地點(diǎn)對自己的日程數(shù)據(jù)進(jìn)行管理和操作。</p><p> 本系統(tǒng)的客戶端是基于安卓手機(jī)平臺的日程管理系統(tǒng),具有
3、基本的日程活動的增、刪、改、查功能,在日歷瀏覽中可突出顯示有安排的日期。用戶可根據(jù)不同的活動設(shè)置任務(wù),便于對日程的管理。本系統(tǒng)還具備提醒功能,可以幫助用戶管理重要的活動,并且實(shí)現(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ù)交換。</p><p> 關(guān)鍵字:移動校園;Android;WebService&l
4、t;/p><p><b> 一、引言</b></p><p> 在這個(gè)移動互聯(lián)網(wǎng)越來越普及的時(shí)代,智能移動終端已經(jīng)成為我們?nèi)粘I钪胁豢扇鄙俚墨@得信息的重要渠道。無所不在的智能移動終端將打破傳統(tǒng)意義上的計(jì)算機(jī)概念:使用更方便、移動更容易、功能更加多樣化的各種具有計(jì)算機(jī)功能的設(shè)備大量出現(xiàn),并且在需要時(shí),可以隨時(shí)通過無線方式連接到移動通信網(wǎng)絡(luò)中,以便高效地交換信息和獲得各
5、種服務(wù)。這種設(shè)備人們稱之為移動設(shè)備(Mobile Device)。移動設(shè)備最根本的特征是移動性,即能夠利用無線電波、微波或者紅外線等傳輸介質(zhì)允許通信中的設(shè)備在一定范圍內(nèi)自由移動,其位置不受束縛,從而實(shí)現(xiàn)通信雙方至少有一方在移動中進(jìn)行信息傳輸和交換的目的。移動設(shè)備從產(chǎn)生到現(xiàn)在的歷史并不長,然而其發(fā)展速度卻遠(yuǎn)遠(yuǎn)超出人們的預(yù)料。</p><p> 目前,隨著移動設(shè)備越來越普及以及移動硬件性能的提升,移動校園服務(wù)平臺在
6、各大校園紛紛孕育出現(xiàn),并且受到廣大用戶的好評。移動校園是一種基于傳統(tǒng)互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)技術(shù),以移動通信設(shè)備為信息載體,為學(xué)生營造情景交互式的學(xué)習(xí)氛圍,實(shí)現(xiàn)在學(xué)習(xí)環(huán)境、學(xué)習(xí)資源和學(xué)習(xí)活動上均以學(xué)生為中心的虛擬校園。</p><p> 而目前國內(nèi)最常見的移動開發(fā)平臺有Symbian,iPhone,Windows Phone以及Android。但是如今國內(nèi)國外有著非常多的Android系統(tǒng)的用戶。自從2011年第一季
7、度,Android在全球份額首次超過Symbian,躍居全球第一。根據(jù)IDC(Internet Data Center互聯(lián)網(wǎng)數(shù)據(jù)中心)最新的報(bào)告顯示,截止到2013年Android設(shè)備占據(jù)了全球智能手機(jī)市場的78.6%,而且這一趨勢仍在上升。</p><p> Android是Google在2005年收購的一款基于Linux內(nèi)核為觸摸屏設(shè)計(jì)的半開源智能手機(jī)操作系統(tǒng),主要應(yīng)用與移動設(shè)備,Goo
8、gle成立了Open Handset Alliance(OHA,開放手機(jī)設(shè)備聯(lián)盟)。Android系統(tǒng)最初由Andy Rubin開發(fā)制作,成立的OHA用來共同研發(fā)改良Android系統(tǒng),隨后,Google以Apache免費(fèi)開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。如今Android操作系統(tǒng)被擴(kuò)展到了平板電腦以及其他領(lǐng)域。從2009年4月30號官方發(fā)布1.5 Cupcake版本后Android更新的速度飛快,到了2010年12月
9、7號發(fā)布了Android 2.3 Gingerbread,其用戶量已經(jīng)爆發(fā)式的增長,每年的激活設(shè)備量不斷的增加,而且當(dāng)時(shí)的Android Market中的應(yīng)用數(shù)量也在飛快增長,給開發(fā)者帶來了一個(gè)潛力很大的平臺。再到2011年10月19號,Android 4.0 Ice Cream Sandwich發(fā)布,Google帶來了全新的UI界面,相對于2.3是個(gè)很大的跨越。 Android 4.0后Google同樣是以很快的速度發(fā)布了</p
10、><p> 考慮到如今的移動校園服務(wù)平臺發(fā)展現(xiàn)狀,以及Android平臺系統(tǒng)自身所擁有的優(yōu)勢。因此,基于Android平臺開發(fā)一款手機(jī)應(yīng)用軟件具有較大的意義和可行性。</p><p><b> 二、需求分析</b></p><p><b> ?。ㄒ唬┫到y(tǒng)總體描述</b></p><p> 本系統(tǒng)是
11、一個(gè)基于Axis2開發(fā)的WebService和基于安卓平臺的智能移動終端日程管理軟件。系統(tǒng)的體系結(jié)構(gòu)是傳統(tǒng)的C/S結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。</p><p> 智能移動客戶端為用戶提供日程管理方面的服務(wù),包括日歷的查看、日歷上日期對應(yīng)日程的查看、日程的增加、日程的刪除、日程的修改、對本地客戶端的設(shè)置修改以及對用戶自己的相關(guān)信息的注冊修改等。</p><p> 數(shù)據(jù)庫服務(wù)器發(fā)
12、布在移動校園局域網(wǎng)上,在遠(yuǎn)端提供數(shù)據(jù)存儲、數(shù)據(jù)分析等功能,各種基于安卓的智能移動終端可以通過WiFi接入移動校園局域網(wǎng)中。數(shù)據(jù)庫服務(wù)器承擔(dān)較大的數(shù)據(jù)負(fù)荷,并隨時(shí)等待響應(yīng)客戶程序發(fā)來的請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果。 </p><p> 圖2-1 系統(tǒng)示意圖</p><p> 本系統(tǒng)有助于用戶記住重要的日程并及時(shí)給予提醒,也有助于用戶更好的調(diào)節(jié)自己的時(shí)間來合理地規(guī)劃學(xué)習(xí)
13、和生活,同時(shí)也滿足了校園用戶在學(xué)習(xí)區(qū)域內(nèi)的任何地點(diǎn)對自己的日程數(shù)據(jù)進(jìn)行管理和操作,極大地提高了便利性和實(shí)用性。</p><p><b> ?。ǘ┫到y(tǒng)需求目標(biāo)</b></p><p> 1、客戶端的需求分析</p><p> ?。?)日程信息的基本管理</p><p> 作為一款日程管理類Android App,日程
14、信息的基本管理即增、刪、改、查,其中“增”的方式是手動添加日程的相關(guān)信息;“刪”是刪除錄入的信息;“改”提供了對錄入信息的修改;“查”在系統(tǒng)的各處都有體現(xiàn),從數(shù)據(jù)庫拉取數(shù)據(jù),提供各種信息的顯示。</p><p> ?。?)定時(shí)提醒以及設(shè)置提醒模式</p><p> 可以讓用戶根據(jù)日程時(shí)間,手動設(shè)置系統(tǒng)的提醒時(shí)間,當(dāng)系統(tǒng)到預(yù)設(shè)時(shí)間,將會通過響鈴以及震動提醒用戶日程即將到來;在一些特殊場合下
15、,如課堂、會議室等地方,不便于使用響鈴來提醒用戶,這種情況下用戶可以手動設(shè)置提醒模式為只有震動沒有響鈴。</p><p><b> ?。?)日歷顯示</b></p><p> 本系統(tǒng)可以生成1900年至2100年這201年的公歷和農(nóng)歷之間的對應(yīng)日期并且以日歷的形式顯示出來,當(dāng)用戶添加的日程信息后可以在日歷界面上清晰的標(biāo)注出來,讓用戶對日程信息一目了然給,同時(shí)也方便用
16、戶的查詢和修改。</p><p><b> (4)用戶管理</b></p><p> 每個(gè)用戶都擁有自己的賬號,用以向數(shù)據(jù)庫服務(wù)器進(jìn)行身份驗(yàn)證,并方便數(shù)據(jù)庫服務(wù)器分類管理每個(gè)用戶的日程信息,并提供信息機(jī)密性的保證。</p><p> 用戶使用賬號和密碼登錄客戶端,并從數(shù)據(jù)庫服務(wù)器獲取自己的日程信息;用戶登錄客戶端后可以修改自己的密碼以及其
17、他用戶信息;當(dāng)用戶登錄后,若該賬號在其他地方登錄,則用戶進(jìn)行下一次操作時(shí),系統(tǒng)在本地會自動登出該賬號,用以提醒用戶該賬號的相關(guān)信息存在泄露的可能性,這樣做從一定程度上也保證了用戶信息的機(jī)密性。</p><p> 2、服務(wù)器的需求分析</p><p> 個(gè)人電腦連接上移動校園網(wǎng)通過WiFi等無線信道為各個(gè)智能移動終端上的客戶端提供數(shù)據(jù)的存儲管理功能,數(shù)據(jù)庫服務(wù)程序長期運(yùn)行,隨時(shí)等待客戶程
18、序發(fā)來的請求,一旦收到相關(guān)請求,服務(wù)器程序根據(jù)預(yù)定編寫好的程序規(guī)則作出應(yīng)答,并把處理結(jié)果送回相應(yīng)的客戶程序。</p><p><b> ?。ǘ┫到y(tǒng)運(yùn)行環(huán)境</b></p><p> 1、“日程管理系統(tǒng)”的客戶端</p><p> “日程管理系統(tǒng)”的客戶端是基于移動平臺,如今的移動領(lǐng)域有Apple的iOS,Google的Android,以及
19、Microsoft的Windows Phone三大平臺,其中Android的市場份額在三大平臺中是最大的,另外Android的框架結(jié)構(gòu)中處于頂層的是應(yīng)用開發(fā)層,而且是基于Java語言的開發(fā)。所以該“日程管理系統(tǒng)”采用Android平臺為廣大的在校用戶提供一個(gè)日程管理的解決方案。</p><p> 為了設(shè)計(jì)更好的用戶體驗(yàn),適應(yīng)智能移動終端的快速更新?lián)Q代,該“日程管理系統(tǒng)”的客戶端采用Android 4.4.2的S
20、DK開發(fā),這不可避免地導(dǎo)致低于此版本的Android無法完全的使用本客戶端,因?yàn)樵摽蛻舳擞玫搅?.0版本的新特性。</p><p> 系統(tǒng)運(yùn)行環(huán)境:平臺Android,SDK版本4.0+。</p><p> 2、“日程管理系統(tǒng)”的數(shù)據(jù)庫服務(wù)器</p><p> “日程管理系統(tǒng)”的數(shù)據(jù)庫服務(wù)器是基于Apache Axis開發(fā)的WebService,利用Apach
21、e Tomcat 6.0在個(gè)人電腦上發(fā)布該WebService。同時(shí)個(gè)人電腦連接WiFi發(fā)射熱點(diǎn),通過無線信道為各個(gè)智能移動終端提供數(shù)據(jù)服務(wù)。</p><p> 同時(shí),因?yàn)镸ySQL在Web應(yīng)用方面是最好的關(guān)系數(shù)據(jù)庫管理系統(tǒng),與其他數(shù)據(jù)庫管理系統(tǒng)相比具有體積小、速度快、總體擁有成本低以及開發(fā)源碼等特點(diǎn),所以數(shù)據(jù)庫服務(wù)器選擇使用MySQL Workbench 6.0 CE來存儲和管理數(shù)據(jù)。</p>
22、<p> 系統(tǒng)運(yùn)行環(huán)境:Windows 7,安裝有Apache Tomcat 6.0和MySQL Workbench 6.0 CE,個(gè)人電腦連接有WiFi發(fā)射熱點(diǎn)。</p><p> ?。ㄈ?shí)現(xiàn)思路和方法</p><p> 系統(tǒng)的實(shí)現(xiàn)思路:首先,進(jìn)行“日程管理系統(tǒng)”的數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì),日程的信息包括日程名稱、時(shí)間、地點(diǎn)等,將這些基本信息存儲到數(shù)據(jù)庫后,用關(guān)系表來存儲每一條記
23、錄,并且設(shè)定表與表這間的關(guān)聯(lián)關(guān)系;</p><p> 其次,客戶端的實(shí)現(xiàn),在Android平臺上開發(fā)“日程管理系統(tǒng)”的客戶端,讓后臺數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)可視化顯示出來,并讓用戶方便對相關(guān)數(shù)據(jù)進(jìn)行操作,包括對日程信息的增、刪、改、查等基本數(shù)據(jù)操作;客戶端則負(fù)責(zé)與用戶交互,并控制手機(jī)響鈴震動提醒用戶日程時(shí)間等功能。</p><p> 然后,后臺數(shù)據(jù)庫服務(wù)器的實(shí)現(xiàn),基于Apache Axis
24、2插件編寫數(shù)據(jù)庫服務(wù)器響應(yīng)客戶端程序的規(guī)則,讓用戶對后臺數(shù)據(jù)庫的操作“透明化”,即隱藏?cái)?shù)據(jù)在無線移動網(wǎng)絡(luò)中復(fù)雜的傳輸交互過程。后臺數(shù)據(jù)庫服務(wù)器程序開發(fā)完成后,使用Apache Tomcat 6.0作為WebService發(fā)布在校園局域網(wǎng)中,供校園用戶接入使用。</p><p> 最后,客戶端接入移動校園網(wǎng)調(diào)用WebService,實(shí)現(xiàn)對后臺數(shù)據(jù)庫的基本操作。</p><p><b&
25、gt; (四)系統(tǒng)開發(fā)環(huán)境</b></p><p> 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版本,但是考慮到新平臺需要長時(shí)間的磨合適應(yīng)以及自己開發(fā)時(shí)間緊迫
26、的緣故,故繼續(xù)使用MyEclipse 2013,Android的SDK使用的版本是4.4.2,另外使用的JDK版本是1.7.0_15。</p><p><b> 1、數(shù)據(jù)庫的使用</b></p><p> 本“日程管理系統(tǒng)”使用了兩個(gè)數(shù)據(jù)庫管理系統(tǒng),分別是在客戶端上使用Android平臺自身提供的SQLite,在數(shù)據(jù)庫服務(wù)器上使用的是MySQL Workbench
27、 6.0 CE。</p><p> SQLite簡介:SQLite是一個(gè)開源的嵌入式關(guān)系數(shù)據(jù)庫,它在2000年由D. Richard Hipp發(fā)布,它的減少應(yīng)用程序管理數(shù)據(jù)的開銷,SQLite可移植性好,很容易使用,很小,高效而且可靠。SQLite嵌入到使用它的應(yīng)用程序中,它們共用相同的進(jìn)程空間,而不是單獨(dú)的一個(gè)進(jìn)程。SQLite 的數(shù)據(jù)庫權(quán)限只依賴于文件系統(tǒng),沒有用戶帳戶的概念。SQLite 有數(shù)據(jù)庫級鎖定,
28、沒有網(wǎng)絡(luò)服務(wù)器。它需要的內(nèi)存,其它開銷很小,適合用于嵌入式設(shè)備。需要做的僅僅是把它正確的編譯到你的程序。SQLite具有零配置、可移植、Compactness、簡單、靈活、可靠的特點(diǎn)。</p><p> 圖2-2 SQLite數(shù)據(jù)庫結(jié)構(gòu)圖</p><p> SQLite架構(gòu):SQLite采用了模塊的設(shè)計(jì),它有三個(gè)子系統(tǒng),包括八個(gè)獨(dú)立的模塊構(gòu)成。因此移動平臺的數(shù)據(jù)庫解決方案大多是采用SQ
29、Lite,能夠滿足開發(fā)者的一般數(shù)據(jù)的存儲需求。</p><p> MySQL Workbench 6.0 CE簡介:MySQL Workbench是一款專為MySQL設(shè)計(jì)的ER/數(shù)據(jù)庫建模工具。它是著名的數(shù)據(jù)庫設(shè)計(jì)工具DBDesigner4的繼任者。可以使用MySQL Workbench設(shè)計(jì)和創(chuàng)建新的數(shù)據(jù)庫圖示,建立數(shù)據(jù)庫文檔,以及進(jìn)行復(fù)雜的MySQL 遷移。</p><p> MyS
30、QL Workbench是下一代的可視化數(shù)據(jù)庫設(shè)計(jì)、管理的工具,它同時(shí)有開源和商業(yè)化的兩個(gè)版本。該軟件支持Windows和Linux系統(tǒng)。</p><p> MySQL Workbench 為數(shù)據(jù)庫管理員、程序開發(fā)者和系統(tǒng)規(guī)劃師提供可視化設(shè)計(jì)、模型建立、以及數(shù)據(jù)庫管理功能。它包含了用于創(chuàng)建復(fù)雜的數(shù)據(jù)建模ER模型,正向和逆向數(shù)據(jù)庫工程,也可以用于執(zhí)行通常需要花費(fèi)大量時(shí)間和需要的難以變更和管理的文檔任務(wù)。MySQL
31、工作臺可在Windows,Linux和Mac上使用。</p><p><b> 2、開發(fā)平臺</b></p><p> 開發(fā)平臺:Android</p><p><b> 3、系統(tǒng)開發(fā)環(huán)境</b></p><p> 開發(fā)環(huán)境:Windows 7+MyEclipse 2013+Android
32、SDK+ADT+ Apache Tomcat 6.0+ Apache Axis 2+MySQL Workbench 6.0 CE</p><p><b> (五)數(shù)據(jù)流程圖</b></p><p> 數(shù)據(jù)流程圖是結(jié)構(gòu)化系統(tǒng)分析的工具。數(shù)據(jù)流程有四種基本符號:外部項(xiàng)、數(shù)據(jù)流、處理邏輯(加工)、數(shù)據(jù)元素和數(shù)據(jù)存儲。本系統(tǒng)數(shù)據(jù)流總體,表示了系統(tǒng)基本的數(shù)據(jù)流程。為表達(dá)稍微
33、復(fù)雜的時(shí)間問題需要按照問題的層次結(jié)構(gòu)進(jìn)行自頂向下逐步分解,并以分層的數(shù)據(jù)流圖反映這種結(jié)構(gòu)關(guān)系。先把整個(gè)數(shù)據(jù)處理過程看成一個(gè)加工過程,它的輸入數(shù)據(jù)和輸出數(shù)據(jù)實(shí)際上反映了系統(tǒng)與外界環(huán)境的接口。這就是分層數(shù)據(jù)圖的頂層,也成作總體圖。本系統(tǒng)中網(wǎng)絡(luò)數(shù)據(jù)庫的讀寫接口作為一個(gè)重點(diǎn),連接著數(shù)據(jù)庫、輸入和輸出,如圖2-3所示。</p><p> 圖2-3 系統(tǒng)總體圖</p><p> 下面對數(shù)據(jù)的加工做
34、進(jìn)一步的細(xì)化和完善。本“日程管理系統(tǒng)”的數(shù)據(jù)處理,根據(jù)功能上包括4個(gè)子系統(tǒng),分別為數(shù)據(jù)輸入子系統(tǒng)、數(shù)據(jù)查詢子系統(tǒng)、數(shù)據(jù)刪除子系統(tǒng)、數(shù)據(jù)更新子系統(tǒng)。根據(jù)進(jìn)一步的細(xì)化分析,我們可以畫出表示這幾個(gè)子系統(tǒng)的數(shù)據(jù)流圖,即“日程管理系統(tǒng)”各個(gè)功能的數(shù)據(jù)流圖,如圖2-4和2-5所示。</p><p> 圖2-4 用戶登錄系統(tǒng)的數(shù)據(jù)流圖</p><p> 圖2-5 用戶添加日程信息的數(shù)據(jù)流圖</
35、p><p><b> 三、總體設(shè)計(jì)</b></p><p> ?。ㄒ唬┫到y(tǒng)總體設(shè)計(jì)描述</p><p> 系統(tǒng)的設(shè)計(jì)階段所需要解決的問題是構(gòu)建整個(gè)項(xiàng)目的總體框架,因?yàn)槿绻约簺]有一個(gè)明確的框架,那么代碼編寫到后面一旦出現(xiàn)錯(cuò)誤,就會變得越來越亂,不得不重新開始以前工作。所以說系統(tǒng)總體設(shè)計(jì)階段很重要。軟件工程同時(shí)也是一門工程性的學(xué)科,所以需要對本系
36、統(tǒng)提前搭建一個(gè)總體的框架。</p><p> 總體設(shè)計(jì)是軟件開發(fā)人員根據(jù)軟件需求說明書的要求,運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)思想,將軟件自上而下逐步求精分解成多個(gè)軟件模塊,知道分解成每一個(gè)模塊只具有單一的功能,能用一個(gè)或者幾個(gè)程序?qū)崿F(xiàn)的樹形結(jié)構(gòu)為止??傮w設(shè)計(jì)階段還要定義各個(gè)模塊之間的數(shù)據(jù)傳遞關(guān)系,數(shù)據(jù)存儲關(guān)系,輸入輸出格式,以及對于運(yùn)行環(huán)境的各自要求。</p><p> 經(jīng)過需求分析階段的工作,本
37、“日程管理系統(tǒng)”所需要完成的功能,即需要做什么已經(jīng)形成書面文字需求規(guī)格說明書,現(xiàn)在所要做的工作是設(shè)計(jì)整個(gè)系統(tǒng)的工作原理。</p><p> 總體設(shè)計(jì)過程可分為兩個(gè)主要階段:功能設(shè)計(jì),根據(jù)在校用戶對“日程管理系統(tǒng)”的需求做出相應(yīng)的功能上的決策,結(jié)合網(wǎng)上相關(guān)資料以及線下的調(diào)查決定設(shè)計(jì)本“日程管理系統(tǒng)”的相應(yīng)功能;</p><p> 結(jié)構(gòu)設(shè)計(jì),確定整個(gè)軟件的結(jié)構(gòu),有哪些子類所組成。其中功能設(shè)
38、計(jì)是在需求分析的基礎(chǔ)上進(jìn)行的,這里的“功能”是泛指的概念,例如軟件所要實(shí)現(xiàn)的功能,還包括系統(tǒng)設(shè)計(jì)時(shí)的數(shù)據(jù)處理,實(shí)現(xiàn)功能的算法。而結(jié)構(gòu)設(shè)計(jì),是將整個(gè)系統(tǒng)按照不同的功能和層次劃分為一個(gè)一個(gè)相對簡單而獨(dú)立的模塊,每個(gè)模塊實(shí)現(xiàn)系統(tǒng)的某一項(xiàng)具體的功能,自頂向下,初步求精,這樣增加了軟件的可復(fù)用性,而且對于代碼的結(jié)構(gòu)則更加清晰明了,閱讀起來也更加有條理,維護(hù)起來的也更加方便省時(shí)。</p><p><b> ?。ǘ?/p>
39、系統(tǒng)模塊圖</b></p><p><b> 1、系統(tǒng)總體結(jié)構(gòu)</b></p><p> 模塊層次圖,是描述軟件層次特性的工具,描述某個(gè)模塊負(fù)責(zé)管理控制哪些模塊以及上下級模塊或者是統(tǒng)計(jì)模塊之間的數(shù)據(jù)傳遞關(guān)系,能夠清楚的表明系統(tǒng)的結(jié)構(gòu),并可用來粗略的估計(jì)系統(tǒng)的規(guī)模。優(yōu)點(diǎn)也是顯而易見的,能夠很清楚地表達(dá)系統(tǒng)結(jié)構(gòu),保證思路清晰,缺點(diǎn)是只能夠粗略地表達(dá)而不能表
40、達(dá)整個(gè)系統(tǒng)的邏輯。</p><p> 根據(jù)需求分析得到的數(shù)據(jù)流圖,由用戶的需求以及完善系統(tǒng)所添加的一些功能得到系統(tǒng)的模塊層次圖。系統(tǒng)只要實(shí)現(xiàn)數(shù)據(jù);錄入(添加用戶、添加日程信息)、數(shù)據(jù)查詢(顯示日程的相關(guān)信息)、數(shù)據(jù)統(tǒng)計(jì)(日程記錄統(tǒng)計(jì)等)以及數(shù)據(jù)更新刪除等。如圖3-1所示。</p><p> 圖3-1 總體模塊圖</p><p> 其中數(shù)據(jù)顯示是一個(gè)稍微復(fù)雜的模
41、塊,數(shù)據(jù)顯示視圖模塊包括日程日歷顯示模塊、日程列表顯示模塊、日程添加顯示模塊以及日程修改或刪除顯示模塊?,F(xiàn)在將把數(shù)據(jù)顯示模塊進(jìn)一步細(xì)化得到圖3-2.</p><p> 圖3-2 數(shù)據(jù)顯示模塊細(xì)化</p><p><b> 2、系統(tǒng)模塊描述</b></p><p><b> 系統(tǒng)的概要設(shè)計(jì)</b></p>
42、<p> 客戶端的功能模塊說明:</p><p> ?。?)用戶管理模塊:在本模塊中包括用戶信息注冊模塊、用戶登錄模塊和用戶信息修改模塊。用戶信息注冊模塊是當(dāng)用戶首次使用本系統(tǒng)時(shí),用戶向數(shù)據(jù)庫服務(wù)器提交合法的用戶名、密碼以及聯(lián)系方式等用戶個(gè)人信息;用戶登錄模塊是用戶登錄時(shí)向數(shù)據(jù)庫服務(wù)器憑借用戶名和密碼以驗(yàn)證用戶身份的合法性,同時(shí)這樣可以保護(hù)用戶的日程信息的機(jī)密性和完整性;用戶信息修改模塊提供給用戶修
43、改用戶密碼以及聯(lián)系方式的功能。</p><p> ?。?)日歷查看模塊:本模塊擁有一個(gè)完整的日歷界面,包括頭部的年月日、閏年的顯示,還有每個(gè)日期都分別有陽歷和陰歷的日期顯示,并且日歷中包含了各個(gè)重要的節(jié)日、節(jié)氣或紀(jì)念日等。在日歷界面上每個(gè)日期都會跳轉(zhuǎn)到當(dāng)前日期的日程添加界面或者是日程顯示界面。日歷界面上還有對存在日立的標(biāo)記,有利于用戶更好的管理日程信息。</p><p> ?。?)日程管理
44、模塊:在本模塊中包括最近的日程顯示界面和日歷頁面所跳轉(zhuǎn)到的日程顯示界面或者是日程添加界面。最近的日程顯示界面提示用戶距離當(dāng)前日期最近的日程名稱、時(shí)間以及倒計(jì)時(shí)的天數(shù),方便用戶快速地查詢重要的信息。日歷日期所對應(yīng)的日程顯示界面也是相應(yīng)的顯示。而在日程添加界面中包含了顯示界面所對應(yīng)的各項(xiàng)數(shù)據(jù),包括日程名稱、時(shí)間、提醒時(shí)間、地點(diǎn)、重復(fù)類型,添加日程成功后會有對應(yīng)日歷日期的標(biāo)記。另外也有對日程信息的一系列管理操作的功能,包括查詢、刪除和修改等。
45、</p><p> ?。?)設(shè)置界面模塊:在設(shè)置中包括了對日程的提醒類型和重復(fù)類型的默認(rèn)設(shè)置。</p><p> ?。?)關(guān)于界面模塊:關(guān)于界面中包含了本軟件的設(shè)計(jì)信息以及一些基本信息。</p><p> 數(shù)據(jù)庫服務(wù)器的功能模塊說明:</p><p> ?。?)用戶操作模塊:在數(shù)據(jù)庫服務(wù)器程序中,客戶端會發(fā)出不同的申請,而本模塊負(fù)責(zé)為這些不
46、同的申請做出相應(yīng)規(guī)則的響應(yīng),并把這些方法封裝成遠(yuǎn)程可調(diào)用的服務(wù)方法??蛻舳税l(fā)出增加、刪除、修改日程信息或者用戶信息的申請,以及客戶端檢查該賬號是否在異地登錄等。</p><p> ?。?)數(shù)據(jù)傳輸模塊:在用戶登錄“日程管理系統(tǒng)”后,由客戶端向數(shù)據(jù)庫服務(wù)器請求傳輸該用戶的相關(guān)日程信息,服務(wù)程序負(fù)責(zé)把日程信息轉(zhuǎn)化為可串行的對象,并通過無線移動網(wǎng)絡(luò)傳輸給客戶端。</p><p> 客戶端與服務(wù)
47、器交互的相關(guān)協(xié)議,如表3-1所示。</p><p> 表3-1 客戶端與服務(wù)器網(wǎng)絡(luò)連接結(jié)果</p><p> ?。ㄈ?shù)據(jù)庫總體設(shè)計(jì)</p><p><b> 1、數(shù)據(jù)庫設(shè)計(jì)介紹</b></p><p> 數(shù)據(jù)庫是指自描述的完整記錄的集合。數(shù)據(jù)庫除了包含用戶的源數(shù)據(jù)之外,還包含關(guān)于它本身結(jié)構(gòu)的描述。另外,數(shù)據(jù)庫還包
48、含用來表示數(shù)據(jù)之間的關(guān)系和提高數(shù)據(jù)庫應(yīng)用的性能的索引。最后,數(shù)據(jù)庫還包含關(guān)于使用數(shù)據(jù)庫的應(yīng)用程序的數(shù)據(jù)。</p><p> 本“日程管理系統(tǒng)”是管理用戶添加的日程信息。正如我們所知道的,一個(gè)日程信息包括日程的名稱、日期時(shí)間、提醒日期時(shí)間、活動地點(diǎn)、提醒類型等這些基本屬性。而這些基本屬性中日程名稱</p><p><b> 2、 E-R圖</b></p>
49、<p> 概念模型是對信息世界建模,所以概念模型能夠方便、準(zhǔn)確地表示出信息世界中的常用概念。概念模型的表示方法有很多,其中最為著名最為常用的是P.P.S.Chen于1976年提出的實(shí)體-聯(lián)系方法(Entity-Relationship Approach)。該方法用E-R圖來描述現(xiàn)實(shí)世界的概念模型,E-R方法也稱為E-R模型。E-R圖由實(shí)體、實(shí)體的屬性以及實(shí)體之間的關(guān)系三部分組成,實(shí)體是具有相同的性質(zhì)并且彼此之間可以相互區(qū)
50、分的現(xiàn)實(shí)世界對象的集合;屬性是實(shí)體所具有的特征,它是描述實(shí)體或者關(guān)系的性質(zhì)的數(shù)據(jù)項(xiàng),實(shí)體之間的關(guān)系通過直線連接。</p><p> 本“日程管理系統(tǒng)”中,主要有以下實(shí)體:用戶信息,日程信息,活動信息。用戶的屬性有ID,用戶名,密碼,聯(lián)系方式和最后一次登錄時(shí)間等,其中ID是自增長的而且是唯一編號的;日程信息的屬性包括ID,日程名稱,提醒時(shí)間和提醒周期等;活動信息的屬性有ID,活動地點(diǎn),活動參加人員等。設(shè)計(jì)的E-R
51、圖如圖3-3所示:</p><p> 圖3-3 數(shù)據(jù)庫E-R圖</p><p> 如圖3-3所示,圖中實(shí)體的屬性只選取重要的屬性展示。每一個(gè)日程信息與用戶信息存在一定的隸屬關(guān)系,則需要在日程信息添加用戶的ID作為外鍵進(jìn)行標(biāo)識。這樣設(shè)計(jì)的有點(diǎn)有利于擴(kuò)展系統(tǒng)的功能,例如用戶成功登陸后,服務(wù)器程序可以依據(jù)用戶的ID進(jìn)行查找該用戶相關(guān)的日程記錄的信息。同時(shí)給查詢數(shù)據(jù)庫也帶來了諸多方便,只需要在
52、查詢的時(shí)候增加新增的屬性即可。</p><p><b> 3、數(shù)據(jù)庫表設(shè)計(jì)</b></p><p> 一共設(shè)計(jì)了4張表,分別是:</p><p> ?。?)用戶信息表(用戶的ID, 用戶名, 密碼, 用戶最近一次的登錄時(shí)間, 用戶的聯(lián)系方式);</p><p> 表3-1 用戶信息表(user_info)</
53、p><p> ?。?)活動信息表(活動的ID, 活動名稱, 活動時(shí)間, 活動地點(diǎn));</p><p> 表3-2 活動信息表(activity_info)</p><p> ?。?)日程信息表(日程的ID, 日程名稱, 日程時(shí)間, 日程循環(huán)周期, 提醒類型,用戶的ID);</p><p> 表3-3 日程信息表(calendar_info)&
54、lt;/p><p> ?。?)活動參加聯(lián)系表(記錄的ID,活動的ID,用戶的ID);</p><p> 表3-4活動參加聯(lián)系表(participator_info)</p><p> 四、詳細(xì)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)</p><p> (一)詳細(xì)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)</p><p> 詳細(xì)設(shè)計(jì)階段的目標(biāo):確定應(yīng)該怎么樣實(shí)現(xiàn)系統(tǒng),給
55、出軟件模塊結(jié)構(gòu)中各個(gè)模塊內(nèi)部過程描述。該階段是用程序設(shè)計(jì)語言來描述所要完成系統(tǒng)的功能,即代碼實(shí)現(xiàn)的一個(gè)設(shè)計(jì)過程。詳細(xì)設(shè)計(jì)階段要確定模塊的算法以及數(shù)據(jù)結(jié)構(gòu),其任務(wù)是設(shè)計(jì)出系統(tǒng)的藍(lán)圖,這樣就可以在后期系統(tǒng)的實(shí)現(xiàn)中根據(jù)詳細(xì)設(shè)計(jì)中的藍(lán)圖很合理的設(shè)計(jì)各個(gè)模塊。其中需要遵循的幾個(gè)原則:模塊的邏輯描述要清晰易懂,正確可靠;設(shè)計(jì)出的處理過程應(yīng)該盡可能的簡單易讀;選擇恰當(dāng)?shù)拿枋龉ぞ邅砻枋雒恳粋€(gè)模塊的算法。</p><p> 系統(tǒng)
56、實(shí)現(xiàn)也就是編碼階段。編碼就是指將軟件詳細(xì)設(shè)計(jì)的說明書用程序設(shè)計(jì)語言翻譯出來的代碼。軟件的設(shè)計(jì)開發(fā)過程,最后就是通過編碼對功能的實(shí)現(xiàn)。運(yùn)用軟件功能方法設(shè)計(jì)軟計(jì),主要是為了提高軟件質(zhì)量,軟件質(zhì)量在很大程度上取決于設(shè)計(jì)的質(zhì)量,同時(shí)編碼的好壞也是影響軟件質(zhì)量的十分重要的因素。另外,編碼質(zhì)量的好壞,也直接影響了軟件測試和軟件維護(hù)工作的進(jìn)行。但是系統(tǒng)實(shí)現(xiàn)是在系統(tǒng)設(shè)計(jì)的基礎(chǔ)上的,系統(tǒng)設(shè)計(jì)確定下來了,就基本上定下了系統(tǒng)的實(shí)現(xiàn)。</p>&
57、lt;p> (二)功能模塊的設(shè)計(jì)和實(shí)現(xiàn)</p><p> 本章介紹本“日程管理系統(tǒng)”的各模塊的設(shè)計(jì)和實(shí)現(xiàn)。</p><p> 首先在MyEclipse中配置好ADT和Android SDK等開發(fā)環(huán)境然后新建一個(gè)Android項(xiàng)目,項(xiàng)目名稱為mycalendar,然后在Android項(xiàng)目中的AndroidManifest.xml文件中配置本客戶端軟件需要使用的權(quán)限,像網(wǎng)絡(luò)連接權(quán)限
58、,震動權(quán)限等。在Android中權(quán)限是通過配置文件中聲明來向系統(tǒng)請求權(quán)限,安裝時(shí)會將軟件所請求的權(quán)限顯示并要求用戶授權(quán)。</p><p> 本“日程管理系統(tǒng)”中,所需要的權(quán)限有:VIBRATE, SYSTEM_ALERT_WINDOW, GET_TASKS, 以及INTERNET四項(xiàng)權(quán)限。</p><p> Android開發(fā)中用戶界面和控制代碼是分開的,所以可以在Layout布局中布
59、局好界面,然后再來寫代碼,幾個(gè)重要的布局以及本設(shè)計(jì)所涉及到的布局如LinearLayout、RelativeLayout等。</p><p> 關(guān)于數(shù)據(jù)庫服務(wù)器的搭建,首先需要在MySQL Workbench 6.0 CE創(chuàng)建好四張表,然后在MyEclipse中配置好Apache Tomcat 6.0、 Apache Axis 2等服務(wù)端的開發(fā)環(huán)境并且建立一個(gè)Web Project項(xiàng)目,項(xiàng)目名稱為myservi
60、ce,然后在Web Project項(xiàng)目中添加mysql-connector的jar文件,保證項(xiàng)目可以與本機(jī)上的MySQL Workbench 6.0 CE建立連接。接下來,在項(xiàng)目中編寫數(shù)據(jù)庫讀寫接口,并且把對數(shù)據(jù)庫的各種操作封裝為WebService的接口方法,之后通過Axis2 Service Archiver生成WebService并且利用Apache Tomcat 6.0發(fā)布服務(wù)。</p><p><
61、b> 1、用戶管理模塊</b></p><p> 運(yùn)行本“日程管理系統(tǒng)”進(jìn)入“登錄歡迎界面”停留3秒鐘后自動進(jìn)入“用戶登錄界面”,在本界面上有兩個(gè)功能按鈕,分別是登錄日程管理系統(tǒng)和切換至“注冊賬號界面”;還有兩個(gè)TextView負(fù)責(zé)用戶輸入自己的賬號和密碼提交給數(shù)據(jù)庫服務(wù)器進(jìn)行身份驗(yàn)證用的;還有一個(gè)CheckBox,用來記錄已經(jīng)登錄過的賬號和密碼,方便用戶下一次直接登錄系統(tǒng)而不必反復(fù)輸入賬號
62、和密碼。</p><p> 圖4-1 系統(tǒng)歡迎界面 圖4-2 系統(tǒng)登錄界面</p><p> 當(dāng)用戶首次使用本“日程管理系統(tǒng)”時(shí),可以選擇注冊新賬號,點(diǎn)擊“登錄界面”右下方的“注冊賬號”的按鈕,進(jìn)入“注冊賬號界面”。其中“注冊賬號界面”包括兩個(gè)功能按鈕,分別是返回“登錄界面”和確認(rèn)注冊信息的功能;還有四個(gè)TextView,
63、分別讓用戶輸入注冊的新用戶名、密碼、確認(rèn)密碼和聯(lián)系方式,其中用戶名作為本“日程管理系統(tǒng)”唯一識別用戶的數(shù)據(jù)字段,不允許出現(xiàn)兩個(gè)重復(fù)的用戶名,所以當(dāng)用戶申請的新用戶名已經(jīng)存在的話,客戶端程序會提醒用戶本次注冊因用戶名已存在而失敗。</p><p> 當(dāng)用戶在兩個(gè)TextView輸入賬號和密碼,點(diǎn)擊“登錄”按鈕,客戶端會做一定的預(yù)處理,保證向后臺數(shù)據(jù)庫服務(wù)器的信息的合法性,即提前檢查TextView的內(nèi)容是否為空以
64、及賬號和密碼中是否隱含有SQL注入攻擊的危險(xiǎn)等等。之后客戶端等待后代數(shù)據(jù)庫返回的數(shù)據(jù),并根據(jù)返回的數(shù)據(jù)進(jìn)行判斷該賬號和密碼的合法性以及是否跳轉(zhuǎn)進(jìn)入“日程管理系統(tǒng)”的“主界面”。在輸入賬號的TextView左邊有一個(gè)下拉按鈕,點(diǎn)擊會出現(xiàn)過去在客戶端上登錄過的賬號,這樣做也是為了避免用戶重復(fù)操作。</p><p> 在后臺數(shù)據(jù)庫服務(wù)器中為了保證用戶的信息安全不被攻擊者竊取,因此用戶提交的注冊信息,特別是用戶密碼,使
65、用Hash函數(shù)進(jìn)行加密,采取非明文的存儲方式。而當(dāng)用戶登錄時(shí),用戶的驗(yàn)證信息在傳輸過程中同樣采用加密的形式,這樣極大地保證了系統(tǒng)的安全性。</p><p> 2、日程數(shù)據(jù)增、刪、改模塊</p><p> 進(jìn)入“日程管理系統(tǒng)”之后,系統(tǒng)自動切換到“日歷顯示界面”,在該界面中大部分是一份本月日歷,用戶可以任意選擇其中某一天,選中后該日期的底色會透明變成淡藍(lán)色,選中后再一次點(diǎn)擊時(shí),系統(tǒng)會判斷
66、這一天是否包含其他的日程信息,如果沒有,則進(jìn)入“添加日程信息界面”,該界面由上到下分別是兩個(gè)控制按鈕,實(shí)現(xiàn)返回和確認(rèn)的功能;之后是六個(gè)有關(guān)日程信息的采集選項(xiàng)。如圖4-3所示。</p><p> 圖4-3 添加日程信息界面</p><p> 如果選中的日期存在日程信息,則進(jìn)入到“列表顯示界面”,在該界面中用ListView組建把該日期中所有的日程信息分條目列舉出來。如圖4-4所示。<
67、;/p><p> 圖4-4 列表顯示界面</p><p> 在“列表顯示界面”中,用戶點(diǎn)擊某一列日程信息,則進(jìn)入到“修改日程信息界面”,該界面與“添加日程信息界面”大致一樣,但多出來“刪除”功能按鈕,當(dāng)用戶單擊該功能按鈕時(shí),客戶端向數(shù)據(jù)庫服務(wù)器發(fā)送刪除該用戶此條日程信息記錄,客戶端內(nèi)部則釋放相關(guān)的震鈴提醒程序。</p><p><b> 3、數(shù)據(jù)庫讀寫模
68、塊</b></p><p> 在Web Project中建立數(shù)據(jù)庫ConnectionFactory類、數(shù)據(jù)庫操作接口IOperationCore類、數(shù)據(jù)庫操作接口實(shí)現(xiàn)OperationCoreImpl類以及數(shù)據(jù)庫操作BOperationAdapter類,使得程序?qū)?shù)據(jù)庫的操作對用戶“透明”。</p><p> 根據(jù)上面建立的數(shù)據(jù)庫接口,實(shí)現(xiàn)服務(wù)器程序的業(yè)務(wù)模塊,包括:&l
69、t;/p><p> ?。?)addRecordInfo</p><p> (2)getLoadActivityInfo</p><p> ?。?)getHello</p><p> ?。?)getName</p><p> ?。?)queryUsers</p><p> ?。?)userLoad&
70、lt;/p><p> ?。?)userRegister</p><p> ?。?)getLoadPInfo</p><p> ?。?)getLoadCalendarInfo</p><p> ?。?0)getGreeting</p><p> ?。?1)checkUserLoading</p><p&g
71、t; (12)isUserExist</p><p> ?。?3)delUserInfo</p><p> (14)getLoadUserInfo</p><p> ?。?5)userExit</p><p> (16)delRecordInfo</p><p> ?。?7)updateRecordInfo<
72、;/p><p> (18)editPassword</p><p> 其中(3)、(4)、(10)是留待以后的擴(kuò)展使用的。</p><p> 圖4-5 WebService發(fā)布</p><p> 4、系統(tǒng)中其他功能的實(shí)現(xiàn)</p><p> (1)提醒以及響鈴模式切換的實(shí)現(xiàn)</p><p>
73、 使用Android系統(tǒng)的AlarmManager來進(jìn)行定時(shí)提醒,系統(tǒng)中運(yùn)行著廣播接收進(jìn)程MyReceive和服務(wù)進(jìn)程FloatWindowService,它們的作用是檢查一天中需要提醒的日程,如需要提醒使用AlarmManager來設(shè)置一個(gè)定時(shí)的Intent,該Intent用戶啟動PlayMusic活動,活動啟動時(shí)會根據(jù)Intent傳遞的信息,決定采取同時(shí)震動并響鈴,或者是只采取震動的形式進(jìn)行提醒用戶。</p><
74、;p> (2)服務(wù)懸浮窗以及日程小助手的實(shí)現(xiàn)</p><p> 本“日程管理系統(tǒng)”的懸浮窗模塊分為小窗口和大窗口,分別有FloatWindowSmallView和FloatWindowBigView定義其屬性與內(nèi)容,小懸浮窗在“日程管理系統(tǒng)”退出時(shí)啟動,并一直在手機(jī)屏幕的側(cè)邊顯示;而大懸浮窗就是日程小助手,用來及時(shí)提醒用戶即將發(fā)生的日程。這兩個(gè)窗口之間的轉(zhuǎn)化由MyWindowManager類和系統(tǒng)運(yùn)行的
75、服務(wù)進(jìn)程FloatWindowService控制決定。</p><p> 圖4-6 懸浮窗提示界面 圖4-7 懸浮窗小窗口</p><p><b> 五、測試與評估</b></p><p><b> ?。ㄒ唬y試環(huán)境</b></p><p&
76、gt; 為了獲得更好的體驗(yàn),測試在Android 4.0+系統(tǒng)上進(jìn)行。</p><p> 手機(jī)型號:小米M1;</p><p> 系統(tǒng)版本:Android4.0.3;</p><p><b> (二)測試計(jì)劃</b></p><p><b> 1、交互測試</b></p>&
77、lt;p> ?。?)“日歷顯示”交互</p><p> 用戶登錄進(jìn)入“日程管理系統(tǒng)”的主界面后,選擇當(dāng)前日期,雙擊日期方格后,進(jìn)入添加日程信息的界面。用戶點(diǎn)擊日程時(shí)間,系統(tǒng)自動彈出選擇日期和時(shí)間Dialog,可以在日期時(shí)間的數(shù)字上下滑動來設(shè)置定義。點(diǎn)擊設(shè)置后,選擇的日期和時(shí)間顯示在相應(yīng)的TextView上。</p><p> 圖5-1 設(shè)置日程日期</p><
78、p> 圖5-2 設(shè)置提醒時(shí)間</p><p> 圖5-3 選擇提醒周期</p><p> 用戶點(diǎn)擊周期一欄的按鈕,系統(tǒng)系統(tǒng)彈出單選Dialog,點(diǎn)擊某一選項(xiàng)后,相關(guān)的TextView即顯示選擇的結(jié)果。用戶填寫完日程信息并單擊保存按鈕后,系統(tǒng)彈出Toast提示用戶成功添加日程信息并返回“日歷顯示界面”,并且界面更新,將剛剛添加的日程信息所在的日期方格的左上角顯示標(biāo)記。</p
79、><p> 測試結(jié)果:符合一般交互設(shè)計(jì)理念。</p><p> (2)“列表顯示”交互</p><p> 用戶登錄進(jìn)入“日程管理系統(tǒng)”的主界面后,選擇有日程信息標(biāo)記的日期,雙擊日期方格后,進(jìn)入“列表顯示界面”,界面中顯示本日期所包含的的日程信息總數(shù),以及在下面分條目列出每一個(gè)日程信息的最基本的信息,包括日程名稱,時(shí)間,提示類型等。</p><p
80、> 測試結(jié)果:符合一般交互設(shè)計(jì)理念。</p><p><b> 3、功能測試</b></p><p> “日程管理系統(tǒng)”的功能在2.1節(jié)中已經(jīng)概述過。在功能測試章節(jié)中,我們對在2.1中列出的每一項(xiàng)功能做系統(tǒng)的測試,看功能是否已經(jīng)實(shí)現(xiàn)。</p><p> ?。?)日程信息添加功能測試(當(dāng)前時(shí)間是6月2日)</p><
81、;p> 測試用例目的:測試系統(tǒng)的添加日程信息功能;</p><p> 測試用例執(zhí)行步驟:在“添加日程信息界面”添加某個(gè)日程信息(畢業(yè)設(shè)計(jì), 2014年6月2日, 南樓106,不重復(fù)提醒,鬧鈴震動提醒)。點(diǎn)擊“保存”按鈕會淡出一個(gè)Toast提示用戶成功添加日程信息,返回“日歷顯示界面”。繼續(xù)選擇可以繼續(xù)添加一個(gè)日程信息(論文答辯, 2014年6月2日, 教學(xué)樓, 不重復(fù)提醒, 震動提醒)。</p&g
82、t;<p> 圖5-4 日歷顯示界面</p><p> 預(yù)期結(jié)果:在“日歷顯示界面”2014年6月2日的日期格子的左上角的出現(xiàn)標(biāo)記;再一次雙擊這一日期的格子,進(jìn)入到“列表顯示界面”,顯示的日程信息與剛剛添加的信息相符。</p><p> 實(shí)際結(jié)果:符合預(yù)期。</p><p> (2)日程信息刪除功能測試</p><p>
83、 測試用例目的:測試系統(tǒng)的刪除日程信息功能;</p><p> 測試用例執(zhí)行步驟:在“修改日程信息界面”,點(diǎn)擊右上角“刪除”按鈕,然后再點(diǎn)擊彈出Dialog的“確定”鍵,再觀察結(jié)果。</p><p> 預(yù)期結(jié)果:點(diǎn)擊“確定”鍵后,退回“列表顯示界面”,被選中的日程信息在其中消失。</p><p> 實(shí)際結(jié)果:符合預(yù)期。</p><p>
84、; ?。?)日程信息修改功能測試</p><p> 測試用例目的:測試系統(tǒng)的修改日程信息功能;</p><p> 測試用例執(zhí)行步驟:在“修改日程信息界面”,重新調(diào)整日程信息。調(diào)整后的日程信息(畢業(yè)視頻, 2014年6月3日, 宿舍樓,不重復(fù)提醒,鬧鈴震動提醒),點(diǎn)擊“保存”按鈕</p><p> 預(yù)期結(jié)果:點(diǎn)擊“保存”鍵后,退回“列表顯示界面”,被選中的日程信
85、息與修改后的日程信息相一致。</p><p> 實(shí)際結(jié)果:符合預(yù)期。</p><p> (4)定時(shí)提醒功能測試</p><p> 測試用例目的:測試系統(tǒng)的定時(shí)提醒功能;</p><p> 測試用例執(zhí)行步驟:在“添加日程信息界面”,新增一個(gè)日程信息并且提醒時(shí)間據(jù)當(dāng)前時(shí)間2分鐘后,提醒方式設(shè)置為鬧鈴震動。添加成功后,退出本“日程管理系統(tǒng)”
86、,等待大約兩分鐘,觀察結(jié)果。 </p><p><b> 圖5-5 定時(shí)提醒</b></p><p> 預(yù)期結(jié)果:2分鐘后,關(guān)于日程提示的Activity啟動,播放預(yù)先設(shè)定好的鈴聲并震動。</p><p> 實(shí)際結(jié)果:符合預(yù)期。</p><p> ?。?)日歷顯示功能測試</p><p>
87、 測試用例目的:測試系統(tǒng)的日歷顯示功能;</p><p> 測試用例執(zhí)行步驟:進(jìn)入系統(tǒng)“日歷顯示界面”,單擊“月份顯示”TextView左右兩側(cè)的ImageView,或者手動按下手機(jī)側(cè)邊的控制音量加減的按鍵;也可以單擊“菜單”圖標(biāo)的ImageView,彈出下拉框后,選擇日期“跳轉(zhuǎn)到…”,之后彈出DatePickerDialog選擇任意一天的日期。之后單擊“今天”圖標(biāo)的ImageView。</p>
88、<p> 預(yù)期結(jié)果:當(dāng)單擊“下一月”(“上一月”)的ImageView或者按下音量“-”(音量“+”)時(shí),日歷顯示界面會自動跟新界面進(jìn)入下一個(gè)月(上一個(gè)月)的日歷界面;當(dāng)使用“跳轉(zhuǎn)到…”選擇某一天日期,日歷顯示界面會更新至那一天日期所在月份的日歷界面;當(dāng)單擊“今天”圖標(biāo)的ImageView時(shí),日歷顯示界面會更新會當(dāng)前月份的日歷界面。</p><p> 實(shí)際結(jié)果:符合預(yù)期。</p>&l
89、t;p> ?。?)用戶注冊功能測試</p><p> 測試用例目的:測試系統(tǒng)的注冊功能;</p><p> 測試用例執(zhí)行步驟:在“用戶注冊界面”,在所有EditView都空白時(shí),點(diǎn)擊“確定“按鈕;添加一個(gè)新用戶信息(tonghua, dksdks, 15150671515),但兩次輸入的密碼不相符;添加一個(gè)已經(jīng)存在的用戶名;根據(jù)系統(tǒng)提示修改完善后,單擊“確定”按鈕。 </p
90、><p> 預(yù)期結(jié)果:當(dāng)所有EditView都是空白并點(diǎn)擊“確定”按鈕時(shí),系統(tǒng)會彈出Toast提示用戶名和密碼一欄不能為空;當(dāng)在重復(fù)輸入密碼的EditView里輸入的與密碼的EditView的輸入不一致時(shí),一旦界面的焦點(diǎn)離開重復(fù)輸入密碼的EditView之后,系統(tǒng)會立刻提示用戶兩次輸入的密碼不一致;當(dāng)添加的用戶名已經(jīng)存在時(shí),一旦界面焦點(diǎn)離開用戶名的EditView之后,系統(tǒng)會立即提示用戶該用戶名已經(jīng)存在,建議重新填
91、寫;當(dāng)所有輸入都正確合法時(shí),點(diǎn)擊“確定”按鈕之后,系統(tǒng)彈出Toast提示注冊成功,并自動返回到“用戶登錄界面”。</p><p> 圖5-6 用戶注冊界面</p><p> 實(shí)際結(jié)果:符合預(yù)期。</p><p> (7)用戶登錄功能測試</p><p> 測試用例目的:測試系統(tǒng)的登錄功能;</p><p>
92、測試用例執(zhí)行步驟:進(jìn)入系統(tǒng)“用戶登錄界面”,輸入剛剛注冊過的用戶登錄信息(tonghua, dksdks),直接點(diǎn)擊“登錄”按鈕;輸入錯(cuò)誤的用戶名或者密碼,直接點(diǎn)擊“登錄”按鈕;再點(diǎn)擊“登錄”按鈕勾選“記住密碼”的CheckBox,登錄系統(tǒng)之后退出后,再一次啟動“日程管理系統(tǒng)”。</p><p> 圖5-7 用戶登錄界面</p><p> 預(yù)期結(jié)果:當(dāng)輸入正確合法的用戶信息時(shí),界面切換
93、進(jìn)入到系統(tǒng)的主界面;當(dāng)輸入的是錯(cuò)誤的用戶名或者密碼時(shí),系統(tǒng)會彈出Toast提醒用戶賬號或者密碼不正確;當(dāng)勾選“記住密碼”CheckBox后登錄后,再一次啟動本“日程管理系統(tǒng)”進(jìn)入到“用戶登錄界面”時(shí),用戶名和密碼自動填寫好,用戶只需點(diǎn)擊“登錄”按鈕即可登錄系統(tǒng)。</p><p> 實(shí)際結(jié)果:符合預(yù)期。</p><p> (8)數(shù)據(jù)庫服務(wù)器功能測試</p><p>
94、; 測試用例目的:測試系統(tǒng)的數(shù)據(jù)庫服務(wù)器功能;</p><p> 測試用例執(zhí)行步驟:在客戶端對日程信息進(jìn)行隨機(jī)地添加、刪除、修改等操作。</p><p> 預(yù)期結(jié)果:后臺數(shù)據(jù)庫服務(wù)器正確地相應(yīng)這些請求,并在數(shù)據(jù)庫中記錄下這些數(shù)據(jù)操作的結(jié)果。</p><p> 實(shí)際結(jié)果:客戶端與數(shù)據(jù)庫服務(wù)器的連接出現(xiàn)異常。</p><p> 圖5-8
95、 數(shù)據(jù)庫服務(wù)器出現(xiàn)錯(cuò)誤</p><p> 解決方法:在MyEclipse中重新改寫myservice項(xiàng)目的配置文件mysql.properties。將MySQL Workbench 6.0 CE的連接用戶名以及密碼加入其中。如圖5-9所示。</p><p> 圖5-9 Web Project的配置文件mysql.properties</p><p> 更改完成
96、后,重新發(fā)布WebService服務(wù),同時(shí)重新啟動MySQL Workbench 6.0 CE數(shù)據(jù)庫服務(wù)器。</p><p> 再一次測試客戶端與數(shù)據(jù)庫服務(wù)器的連接時(shí),則符合預(yù)期。</p><p> ?。ㄈy試結(jié)果與評價(jià)</p><p> 經(jīng)過了一系列系統(tǒng)測試,對于本系統(tǒng)有了全方位的評價(jià)。首先,所期望的功能都應(yīng)經(jīng)得到了實(shí)現(xiàn);其他方面,系統(tǒng)運(yùn)行很流暢,沒有出現(xiàn)卡
97、頓或是異常關(guān)閉的情況;其次,系統(tǒng)的交互設(shè)計(jì)也很實(shí)用,人機(jī)交互良好;最后,本系統(tǒng)的資源占用也很小,Service也不會惡意在后臺運(yùn)行。綜上所述,本“日程管理系統(tǒng)”的設(shè)計(jì)是成功的。</p><p><b> 六、結(jié)束語</b></p><p> 在整個(gè)畢業(yè)設(shè)計(jì)的過程中,我深刻體會到要做好一件完整的事情,需要有系統(tǒng)的思維的方式和方法,對待要解決的問題時(shí),要有耐心、要善于
98、運(yùn)用已有的資源來充實(shí)自己。同時(shí)我也深刻的認(rèn)識到,在對待一個(gè)新事物、新的開發(fā)平臺以及新的編程語言時(shí),一定要從整體考慮,完成一步之后再做下一步,這樣才能更加有效。</p><p> 在畢設(shè)開始的項(xiàng)目需求分析階段,自己很慶幸曾經(jīng)學(xué)過《需求分析》這一門專業(yè)課,上面的很多理論對于項(xiàng)目的開發(fā)很有幫助,而且這個(gè)過程是一個(gè)需要反復(fù)迭代反復(fù)驗(yàn)證的過程,每一個(gè)新需求的出現(xiàn)都要與指導(dǎo)教員和其他用戶多次商討來決定。要知道,“軟件危機(jī)”
99、的出現(xiàn)有很大程度是因?yàn)樾枨蟛幻鞔_或者需求變化而引起的。另外,用戶的需求很重要,而不能完全憑自己的想象,這樣做出來的應(yīng)用程序可能并不適用。</p><p> 確定下系統(tǒng)的設(shè)計(jì)后,編碼實(shí)現(xiàn)工作開始,通過幾個(gè)月的編碼、調(diào)試、修改以及更新維護(hù),終于,基本功能完全實(shí)現(xiàn),可能由于時(shí)間關(guān)系,在細(xì)節(jié)上的處理方面還有值得商榷的地方,但如何把用戶交互設(shè)計(jì)的更加自然,更加讓用戶容易上手一直都是我的目標(biāo)。</p><
100、;p> 當(dāng)然,在這個(gè)漫長的過程中充滿了許多困擾和莫名其妙的程序報(bào)錯(cuò),有時(shí)候幾天都毫無進(jìn)展,但是當(dāng)在指導(dǎo)教員的幫助下或者在網(wǎng)絡(luò)上得到解決bug的方法后,自己所體會的喜悅也是無法言表的。其中值得一提的是**這個(gè)網(wǎng)站,這是一個(gè)程序員開發(fā)人員集聚的網(wǎng)站,眾多高手或者將多年來的學(xué)習(xí)經(jīng)驗(yàn)在這上面分享,或者將新手容易犯錯(cuò)的地方加以指點(diǎn),學(xué)習(xí)資料也是異常的豐富。在我的編碼過程中遇到的問題基本上可以在這上面找到理想的解答。</p>
101、<p> 最后,Android是一個(gè)很有潛力的開發(fā)平臺,并且其還在不斷地完善發(fā)展當(dāng)中,值得學(xué)習(xí)的地方也非常多,這次畢設(shè)只用到了其中很少的一部分,希望自己在以后能更加進(jìn)一步的實(shí)踐和學(xué)習(xí)Android平臺。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]李寧.Extjs+Android+SSH整合開發(fā)Web與移動SNS[M].電子工業(yè)
102、出版社.2010.</p><p> [2]Lauren Darcey,Shane Conder.Android移動開發(fā)一本就夠[M].人民郵電出版社.2011.</p><p> [3]李剛.瘋狂Android講義[M].電子工業(yè)出版社.2011.</p><p> [4]Reto Meier.Android高級編程[M].清華大學(xué)出版社.2010.<
103、/p><p> [5]劉中兵.開發(fā)者突擊:Java Web主流框架整合開發(fā)[M].電子工業(yè)出版社.2008.</p><p> [6] Android開發(fā)文檔.Android Developers[EB/OL].https://developer.android.com.2013.</p><p> [7]張海藩. 軟件工程導(dǎo)論[M]. 清華大學(xué)出版社, 1998
104、.</p><p> [8] 高亮.基于Android的日歷提醒軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].中原工學(xué)院學(xué)報(bào),2011(6):63-66.</p><p> [9] 薩師煊, 王珊.?dāng)?shù)據(jù)庫系統(tǒng)概論(第3版) [M].北京: 高等教育出版社, 2000.</p><p> [10] 鄧凡平.深入理解Android:卷Ⅰ[M].北京:機(jī)械工業(yè)出版社,2011.</
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于android日程管理系統(tǒng)的分析與設(shè)計(jì)
- 基于Android日程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的日程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于android平臺的日程管理系統(tǒng)論文
- 畢業(yè)設(shè)計(jì)論文-基于android的個(gè)人健康管理系統(tǒng)
- 基于android的esl管理系統(tǒng)的設(shè)計(jì)與開發(fā)【畢業(yè)設(shè)計(jì)】
- 基于Android日程管理系統(tǒng)的分析與設(shè)計(jì)(最終版) .doc
- 基于Android的日程社交系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)---基于android的移動選課系統(tǒng)的設(shè)計(jì)
- 71695.基于android的畢業(yè)設(shè)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì) 基于android圖書管理系統(tǒng)開發(fā)(最終)
- 畢業(yè)設(shè)計(jì)(論文)-基于android的高考寶典系統(tǒng)
- 基于android的日歷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文 基于android平臺的圖書管理系統(tǒng)手機(jī)客戶
- 【zs精品】【畢業(yè)論文】基于android日程管理工具的設(shè)計(jì)與開發(fā)(全套)
- 企業(yè)人員日程管理系統(tǒng)的設(shè)計(jì)與開發(fā)軟件畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于android的仿美團(tuán)系統(tǒng)
- 基于android平臺的設(shè)備查詢系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于android的短信備份
- android畢業(yè)設(shè)計(jì)--基于android的音樂播放的設(shè)計(jì)與實(shí)現(xiàn)
評論
0/150
提交評論