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