版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于Android的移動(dòng)選課系統(tǒng)的設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 隨著互聯(lián)網(wǎng)的不斷發(fā)展以及高等教育與教學(xué)的改革,高校的選課方式已經(jīng)從傳統(tǒng)的紙質(zhì)方式轉(zhuǎn)向了網(wǎng)上選課方式。近年來(lái),隨著智能手機(jī)等移動(dòng)設(shè)備的不斷普及,移動(dòng)選課將是繼互聯(lián)網(wǎng)選課之后的又一種選課模式。網(wǎng)上選課系統(tǒng)的軟件較多,但具體的移動(dòng)選課軟件相對(duì)較少。針
2、對(duì)這個(gè)情況,本文討論在廣泛應(yīng)用的Android平臺(tái)上設(shè)計(jì)與開(kāi)發(fā)移動(dòng)選課系統(tǒng)。</p><p> 本設(shè)計(jì)作為現(xiàn)有基于Web的網(wǎng)上選課系統(tǒng)的輔助手段和重要補(bǔ)充,旨在為廣大學(xué)生提供隨時(shí)隨地方便快捷的選課方式。通過(guò)初步對(duì)Android軟件開(kāi)發(fā)技術(shù)和Java Servlet編程技術(shù)的學(xué)習(xí)以及對(duì)現(xiàn)有選課系統(tǒng)的分析和研究,結(jié)合移動(dòng)互聯(lián)網(wǎng)的特點(diǎn),總結(jié)出移動(dòng)選課系統(tǒng)所應(yīng)具備的主要功能。運(yùn)用信息系統(tǒng)開(kāi)發(fā)方法等技術(shù)手段對(duì)該系統(tǒng)進(jìn)行了
3、整體的規(guī)劃、設(shè)計(jì)與實(shí)現(xiàn)。該系統(tǒng)具有用戶登錄、選課、退選、查看選課信息等基本的功能。該系統(tǒng)分為系統(tǒng)登錄、選課信息、選課、退選、已選課查詢等模塊。在移動(dòng)選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程中,采用了C/S架構(gòu)、Http通信協(xié)議;服務(wù)器通過(guò)JDBC與數(shù)據(jù)庫(kù)進(jìn)行交互,手機(jī)通過(guò)流的形式接收從Web服務(wù)器傳來(lái)的數(shù)據(jù)。</p><p> 關(guān)鍵詞:移動(dòng)選課,Android,Java Servlet,C/S架構(gòu)</p><
4、;p> Design Of Mobile Elective Course System Based On Android</p><p><b> ABSTRACT</b></p><p> With the development of the internet and the college education’s revolution, univer
5、sities’ course electing form has changed to internet course electing form from traditional one which uses paper materials. Nowadays, PDA phone and other mobile instruments have explored a very broad way in this society.
6、Mobil elective course system is one another system which uses the internet to choose course. There are a few of soft wares appearing on the internet about course electing. However, there are little</p><p>
7、This essay as the supplementary ways based on some existing internet course electing systems is mainly to provide convenient and efficient ways for students’ course electing needs. After the basic study about the Android
8、 system exploration and the Java Servlet programming technology, this system combined the Mobil internet’s characters to get a summary which is about Mobil elective course system main functions. Through some system explo
9、itation this system made a project about it. This system has</p><p> KEY WORDS: Mobile Elective Course,Android,Java Servlet,C/S</p><p><b> 目 錄</b></p><p><b> 前
10、言1</b></p><p><b> 第1章 緒論2</b></p><p> 1.1選課系統(tǒng)的現(xiàn)狀2</p><p> 1.2 Android系統(tǒng)特點(diǎn)2</p><p> 1.3基于Android的移動(dòng)選課系統(tǒng)概述3</p><p> 1.3.1 基于Andro
11、id的移動(dòng)選課系統(tǒng)描述3</p><p> 1.3.2 基于Android的移動(dòng)選課系統(tǒng)意義3</p><p> 第2章 環(huán)境配置4</p><p> 2.1 軟件環(huán)境4</p><p> 2.1.1 Android開(kāi)發(fā)環(huán)境的搭建4</p><p> 2.1.2 SQL Server數(shù)據(jù)庫(kù)配置6&
12、lt;/p><p> 2.2 硬件環(huán)境7</p><p> 第3章 系統(tǒng)分析9</p><p> 3.1系統(tǒng)設(shè)計(jì)的原則和目的9</p><p> 3.2 需求分析9</p><p> 3.2.1 系統(tǒng)模塊9</p><p> 3.2.2 客戶端與服務(wù)器的連接方式10</
13、p><p> 3.2.3 系統(tǒng)結(jié)構(gòu)10</p><p> 第4章 系統(tǒng)設(shè)計(jì)11</p><p> 4.1 該系統(tǒng)的整體結(jié)構(gòu)11</p><p> 4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)11</p><p> 4.2.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)11</p><p> 4.2.2 數(shù)據(jù)庫(kù)各表的設(shè)計(jì)12<
14、;/p><p> 4.3 服務(wù)器設(shè)計(jì)14</p><p> 4.3.1 Java Servlet程序14</p><p> 4.3.2與數(shù)據(jù)庫(kù)交互的程序15</p><p> 4.4 Android客戶端設(shè)計(jì)15</p><p> 4.4.1 Android客戶端的頁(yè)面設(shè)計(jì)15</p>&
15、lt;p> 4.4.2 Android客戶端各頁(yè)面之間的關(guān)系16</p><p> 第5章 系統(tǒng)的實(shí)現(xiàn)17</p><p> 5.1 客戶端的實(shí)現(xiàn)17</p><p> 5.1.1 系統(tǒng)主界面的實(shí)現(xiàn)17</p><p> 5.1.2 系統(tǒng)登錄模塊的實(shí)現(xiàn)17</p><p> 5.1.3 已選
16、課程查詢模塊的實(shí)現(xiàn)20</p><p> 5.1.4 退選模塊的實(shí)現(xiàn)21</p><p> 5.1.5 可選課程信息模塊的實(shí)現(xiàn)21</p><p> 5.1.6 選課模塊的實(shí)現(xiàn)22</p><p> 5.2 服務(wù)器端的實(shí)現(xiàn)23</p><p> 5.3 客戶端與服務(wù)器端的通訊25</p>
17、;<p><b> 第6章 測(cè)試27</b></p><p> 6.1 測(cè)試的作用和意義27</p><p> 6.2 測(cè)試方法27</p><p> 6.3 測(cè)試內(nèi)容28</p><p> 6.4 測(cè)試結(jié)果29</p><p> 6.5 測(cè)試結(jié)論29<
18、/p><p><b> 結(jié) 論31</b></p><p><b> 謝 辭32</b></p><p><b> 參考文獻(xiàn)33</b></p><p><b> 前 言</b></p><p> 近年來(lái),隨著我國(guó)高等教
19、育與教學(xué)的改革,數(shù)字信息化的教學(xué)管理系統(tǒng)在高校日趨廣泛,伴隨著學(xué)年制管理體制向?qū)W分制管理體制的發(fā)展,使得網(wǎng)上選課系統(tǒng)在高校中得到廣泛的應(yīng)用。傳統(tǒng)的選課系統(tǒng)是以固定的形式訪問(wèn)互聯(lián)網(wǎng)。這樣,雖然能夠滿足大部分學(xué)生的選課需要。但是在選課高峰時(shí)期,學(xué)校的Web服務(wù)器因訪問(wèn)量過(guò)大而暫時(shí)癱瘓,學(xué)校機(jī)房的電腦數(shù)量有限難滿足學(xué)生們的選課需求。有時(shí)為了選擇到自己喜歡的課程,往往要提前半小時(shí)到一個(gè)小時(shí)在計(jì)算機(jī)上登錄選課系統(tǒng),守候在計(jì)算機(jī)旁邊,而不能做到隨時(shí)
20、隨地的選課。</p><p> 同時(shí),隨著科技的發(fā)展,搭載Android操作系統(tǒng)的智能手機(jī)依靠其龐大的應(yīng)用程序和越來(lái)越低廉的價(jià)格吸引了廣大的用戶。在如此龐大的用戶基數(shù)影響下,移動(dòng)互聯(lián)網(wǎng)技術(shù)得到了飛速的發(fā)展,我國(guó)的網(wǎng)民也正在從傳統(tǒng)的互聯(lián)網(wǎng)向移動(dòng)互聯(lián)網(wǎng)轉(zhuǎn)移。在大學(xué)生中,智能手機(jī)用戶也占有相當(dāng)大的比例。因此,學(xué)生需要另一種的選課系統(tǒng)來(lái)解決當(dāng)前選課系統(tǒng)存在的問(wèn)題,來(lái)分流由于傳統(tǒng)網(wǎng)絡(luò)訪問(wèn)給服務(wù)器帶來(lái)的壓力?;贏ndro
21、id的移動(dòng)選課系統(tǒng)應(yīng)運(yùn)而生。</p><p> 如今,高校的網(wǎng)上選課系統(tǒng)都是比較成熟完善的。移動(dòng)選課系統(tǒng)只是現(xiàn)有網(wǎng)上選課系統(tǒng)的補(bǔ)充?;谏鲜隹紤],客戶端與服務(wù)器之間的通信采用Http通信協(xié)議。用C/S模式來(lái)建立移動(dòng)選課系統(tǒng)比較合適。服務(wù)器端采用SQL 數(shù)據(jù)庫(kù)服務(wù)器,Tomcat Web服務(wù)器以及Java Servlet的Web服務(wù)器編程技術(shù)構(gòu)建移動(dòng)選課的應(yīng)用服務(wù)系統(tǒng);客戶端采用Android平臺(tái)的客戶端軟件用來(lái)
22、登錄服務(wù)器。</p><p> 開(kāi)發(fā)基于Android的移動(dòng)選課系統(tǒng)的意義在于:對(duì)當(dāng)今流行的Android軟件有深入的了解,發(fā)現(xiàn)在開(kāi)發(fā)過(guò)程中所面臨的問(wèn)題,簡(jiǎn)化選課程序,方便同學(xué)們的選課。同時(shí),為今后開(kāi)發(fā)出適合我校情況的移動(dòng)選課系統(tǒng)打下基礎(chǔ)。</p><p><b> 第1章 緒論</b></p><p> 1.1選課系統(tǒng)的現(xiàn)狀</p
23、><p> 現(xiàn)在大多數(shù)的高校的選課系統(tǒng)都是采用的瀏覽器/服務(wù)器(B/S)模式,這種模式相對(duì)最初的人工課程管理方便了許多,不在需要大量的人力,學(xué)生選課也不在排隊(duì)擁擠,更不會(huì)因?yàn)檫x課而耽誤正常的教學(xué)任務(wù)。B/S模式的選課系統(tǒng)只需要一臺(tái)能訪問(wèn)網(wǎng)絡(luò)的瀏覽器即可。只要選課服務(wù)器端提供選課、學(xué)籍管理、考試成績(jī)、畢業(yè)設(shè)計(jì)等業(yè)務(wù)模塊,在客戶端的瀏覽器視窗中就能進(jìn)行相應(yīng)模塊的功能管理。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展這種B/S模式的選課系統(tǒng)也存
24、在很多不足,比如要進(jìn)行選課操作時(shí),就必須坐在接入網(wǎng)絡(luò)的電腦前:而且課程開(kāi)設(shè)的通知等等也是要通過(guò)上網(wǎng)才知道,對(duì)于一些不常上網(wǎng)的同學(xué)可能就會(huì)錯(cuò)過(guò)很多有用的消息,比如說(shuō)課程調(diào)整通知、考試安排等等。而這些缺陷都可以通過(guò)移動(dòng)終端來(lái)解決。</p><p> 1.2 Android系統(tǒng)特點(diǎn)</p><p> 近幾年,3G的全球覆蓋使世界快速步入移動(dòng)互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)的應(yīng)用范圍變得更加廣泛,移動(dòng)智能終端
25、在市場(chǎng)上迅速滲透,成為移動(dòng)互聯(lián)網(wǎng)發(fā)展的強(qiáng)大動(dòng)力。根據(jù)市場(chǎng)調(diào)研機(jī)構(gòu)Gartner發(fā)布的最新統(tǒng)計(jì)報(bào)告顯示,2011年一季度全球手機(jī)銷售量共4.278億部,其中智能手機(jī)銷量超過(guò)1億部,現(xiàn)在高校師生的智能移動(dòng)通訊設(shè)備擁有率已經(jīng)和PC擁有率相近。而智能手機(jī)操作系統(tǒng)中,Android系統(tǒng)的市場(chǎng)份額又遠(yuǎn)遠(yuǎn)大于其他的手機(jī)操作系統(tǒng)。Android是Google于2007年11月5日發(fā)布的基于Linux內(nèi)核的移動(dòng)平臺(tái),該平臺(tái)由操作系統(tǒng)、中間件、用戶界面、應(yīng)
26、用軟件組成;從軟件分層的角度來(lái)說(shuō),Android平臺(tái)由應(yīng)用程序、應(yīng)用程序框架、Android運(yùn)行時(shí)庫(kù)層以及Linux內(nèi)核共4部分構(gòu)成,是一個(gè)真正開(kāi)放的移動(dòng)平臺(tái)。</p><p> 1.3基于Android的移動(dòng)選課系統(tǒng)概述</p><p> 1.3.1 基于Android的移動(dòng)選課系統(tǒng)描述</p><p> 基于Android的移動(dòng)選課系統(tǒng)是學(xué)校網(wǎng)上選課系統(tǒng)的
27、補(bǔ)充,該系統(tǒng)的客戶端運(yùn)行于當(dāng)下最流行的智能手機(jī)操作系統(tǒng)——Android智能手機(jī)操作系統(tǒng)之上。通過(guò)GPRS(通用無(wú)線分組業(yè)務(wù))或WLAN(無(wú)線局域網(wǎng))等無(wú)線數(shù)據(jù)傳輸平臺(tái),在我校集中的選課時(shí)間為我校的在校學(xué)生建立使用移動(dòng)終端隨時(shí)隨地訪問(wèn)我校的選課系統(tǒng)的平臺(tái),了解選課信息,查詢選課結(jié)果,及時(shí)、快速、準(zhǔn)確的選擇喜歡的課程。</p><p> 1.3.2 基于Android的移動(dòng)選課系統(tǒng)意義</p>&l
28、t;p> 基于Android的移動(dòng)選課系統(tǒng)的用戶無(wú)論是在公交車,在商場(chǎng),還是在沒(méi)用電腦的宿舍。只要通過(guò)搭載有該客戶端的Android手機(jī)就能隨時(shí)隨地的登陸系統(tǒng)進(jìn)行選課。從而使用戶遠(yuǎn)離的電腦的束縛,在學(xué)校集中選課的時(shí)間可以不用去機(jī)房排隊(duì)等候選課,大大地提高了學(xué)生選課的效率。</p><p><b> 第2章 環(huán)境配置</b></p><p><b>
29、 2.1 軟件環(huán)境</b></p><p> 2.1.1 Android開(kāi)發(fā)環(huán)境的搭建</p><p><b> 1. 安裝JDK</b></p><p> Sun公司為所有的java程序員提供了一套免費(fèi)的java開(kāi)發(fā)和運(yùn)行環(huán)境??梢酝ㄟ^(guò)訪問(wèn)Http://java.sun.com/j2se,根據(jù)提示下載支持Windows操作
30、系統(tǒng)的JDK到本地硬盤。</p><p> 安裝的時(shí)候可以選擇安裝到任意的硬盤驅(qū)動(dòng)器上。正確安裝之后,在JDK目錄下有bin、demo、lib、jre等子目錄。然后是設(shè)置JDK的環(huán)境變量,其設(shè)置方法如下:</p><p> 在Windows操作系統(tǒng)下,用鼠標(biāo)右鍵單擊【我的電腦】,彈出菜單選擇【屬性】,彈出【系統(tǒng)特性】對(duì)話框,再單擊該對(duì)話框中的【高級(jí)選項(xiàng)】,然后單擊【環(huán)境變量】按鈕,添加
31、如下的系統(tǒng)環(huán)境變量。</p><p><b> 變量名:PATH</b></p><p> 變量值:D:\java\bin;%PATH%(其內(nèi)容根據(jù)JDK安裝的目錄變化)設(shè)置完成點(diǎn)擊【確定】即可。</p><p> 2. Eclipse的安裝</p><p> 訪問(wèn)http://www.eclipse.org/d
32、ownloads/,下載Eclipse IDE for Java Developers(92M)的win 32bit版,解壓后即可使用。</p><p> 3. Android SDK安裝</p><p> 在Android Developers下載android-sdk_r05-windows.zip,下載完成后解壓到任意路徑。</p><p> 運(yùn)行SDK
33、 Setup.exe,點(diǎn)擊Available Packages。如果沒(méi)有出現(xiàn)可安裝的包,請(qǐng)點(diǎn)擊Settings,選中Misc中的"Force https://..."這項(xiàng),再點(diǎn)擊Available Packages 。</p><p> 選擇希望安裝的SDK及其文檔或者其它包,點(diǎn)擊Installation Selected、Accept All、Install Accepted,開(kāi)始下載安裝
34、所選包</p><p> 下載完成后,添加如下環(huán)境變量:</p><p><b> 變量名:PATH</b></p><p> 變量值:D:\Android_SDK\android-sdk\tools(其內(nèi)容根據(jù)JDK安裝的目錄變化)然后單擊確定即可。</p><p><b> 4. ADT的安裝<
35、;/b></p><p> 打開(kāi) Eclipse,進(jìn)入菜單中的 "Help" -> "Install New Software"</p><p> 在Work with中輸入網(wǎng)址http://dl-ssl.google.com/android/eclipse/,如圖2-1所示。</p><p> 圖2-1 A
36、DT的安裝</p><p> 然后選中Devrloper Tools單擊“下一步”完成即可。完成之后選擇Window > Preferences...,在左邊的面板選擇Android,然后在右側(cè)點(diǎn)擊Browse...并選中SDK路徑,點(diǎn)擊Apply、OK,配置完成。</p><p><b> 5. 創(chuàng)建AVD</b></p><p>
37、 為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD。</p><p> ?。?)在Eclipse中。選擇Windows > AVD Manager</p><p> ?。?)點(diǎn)擊左側(cè)面板的Virtual Devices,再右側(cè)點(diǎn)擊New</p><p> ?。?)填入Name,選擇Target的API,SD Card:512MB(保證模擬器運(yùn)行流
38、暢),Skin隨便選,Hardware目前保持默認(rèn)值。</p><p> 2.1.2 SQL Server數(shù)據(jù)庫(kù)配置</p><p> 在連接數(shù)據(jù)庫(kù)之前必須保證SQL Server 2005是采用SQL Server身份驗(yàn)證方式而不是windows身份驗(yàn)證方式。如果在安裝時(shí)選用了后者,則重新設(shè)置如下:</p><p> 1. 打開(kāi)SQL Server 2005
39、,右擊最上面的服務(wù)器,選擇屬性——>安全性,在右邊框中選擇SQL Server和Windows身份驗(yàn)證模式,如圖2-2所示,最后點(diǎn)確定。</p><p> 圖2-2 服務(wù)器屬性</p><p> 選擇“安全性”中的登錄名中的sa,右擊選擇“屬性”, 選擇常規(guī),在右邊輸入登錄名sa,輸入密碼與確認(rèn)密碼123456(登錄名和密碼可以根據(jù)需要自行設(shè)置),再在左邊選擇狀態(tài),在登錄中設(shè)“啟
40、用”。</p><p> 2. 安裝好SQL Server 2005后,運(yùn)行 開(kāi)始 → 所有程序 → Microsoft SQL Server 2005 → 配置工具 → SQL Server Configuration Manager,在打開(kāi)的窗口的左邊找到 MSSQLSERVER的協(xié)議,在右邊右單擊 TCP/IP,選擇 已啟用。如果Named Pipes 未啟用也設(shè)為啟用。雙擊右邊的 TCP/IP,在彈出的
41、窗口中選擇 IP地址 標(biāo)簽,把 IpAll 中的 TCP端口 設(shè)成 1433,并將上方所有的“已啟用”選項(xiàng)設(shè)置成“是”。如圖2-3所示。</p><p> 圖2-3 TCP/IP屬性</p><p> 3. 運(yùn)行 開(kāi)始 → 所有程序 → Microsoft SQL Server 2005 → 配置工具 → SQL Server 外圍應(yīng)用配置器,在打開(kāi)的窗口中選擇 服務(wù)和連接的外圍應(yīng)用配
42、置器,在打開(kāi)的窗口左邊選擇 遠(yuǎn)程連接,在右邊選擇 同時(shí)使用TCP/IP和named pipes(B),然后點(diǎn)擊“應(yīng)用”。如圖2-4所示。</p><p> 圖2-4 服務(wù)和連接的外圍應(yīng)用配置器</p><p><b> 2.2 硬件環(huán)境</b></p><p> 開(kāi)發(fā)Android應(yīng)用程序要同時(shí)運(yùn)行Java虛擬機(jī)、Android虛擬機(jī)以及
43、Android模擬器,對(duì)計(jì)算機(jī)硬件的要求比較高。其硬件的最低配置如下:</p><p> CPU:主頻要在2.0GHZ以上。</p><p> 內(nèi)存:要在2G以上。</p><p> 屏幕最佳分辨率:1024×768像素。</p><p> 對(duì)硬盤的大小不做要求只要有足夠的空間能夠保證程序正常運(yùn)行就可以。</p>
44、<p><b> 第3章 系統(tǒng)分析</b></p><p> 3.1系統(tǒng)設(shè)計(jì)的原則和目的</p><p> 移動(dòng)選課系統(tǒng)基于我校現(xiàn)有的網(wǎng)上選課系統(tǒng)的數(shù)據(jù)庫(kù),設(shè)計(jì)目的就是作為現(xiàn)有的基于Web的網(wǎng)上選課系統(tǒng)的輔助手段和重要的補(bǔ)充,為廣大的學(xué)生提供隨時(shí)隨地方便快捷的選課、退課和課程查詢等功能。以原有的選課系統(tǒng)為基礎(chǔ),在不影響原有系統(tǒng)正常運(yùn)行和使用的情況下
45、增加通過(guò)手機(jī)選課的功能以擴(kuò)充原有的選課系統(tǒng),使選課的方式更加的靈活方便,且選課不受地域場(chǎng)所的限制,在學(xué)校集中選課的時(shí)間使用手機(jī)隨時(shí)隨地就可以選課。同時(shí)也分流了B/S模式下服務(wù)器超負(fù)荷的壓力。</p><p> 根據(jù)我校選課的實(shí)際情況采用C/S模式開(kāi)發(fā)適合手持設(shè)備使用的客戶端軟件以及在WEB服務(wù)器上部署的服務(wù)器軟件。</p><p> 該系統(tǒng)充分按照簡(jiǎn)單使用性原則設(shè)計(jì),客戶端軟件簡(jiǎn)單易用
46、,同時(shí)充分考慮到無(wú)線網(wǎng)絡(luò)和手持設(shè)備的特殊性,最大化的利用網(wǎng)絡(luò)資源。在設(shè)計(jì)功能的同時(shí),考慮到系統(tǒng)的可伸縮性;在設(shè)計(jì)和代碼的實(shí)現(xiàn)上,給程序預(yù)留了可擴(kuò)展的接口,以便需要時(shí)可以快速的增加上相應(yīng)的功能。</p><p><b> 3.2 需求分析</b></p><p> 3.2.1 系統(tǒng)模塊</p><p> 移動(dòng)選課系統(tǒng)總共包含五個(gè)功能模塊:系
47、統(tǒng)登錄、選課信息、選課、退選和已選課程查詢</p><p> 系統(tǒng)登錄:通過(guò)輸入用戶名和密碼驗(yàn)證合法的學(xué)生身份,避免了惡意登錄系統(tǒng)的情況。同時(shí)根據(jù)用戶名提取滿足其要求的信息</p><p> 選課信息:顯示登錄的學(xué)生可以選擇的所有課程的信息和教師信息以供學(xué)生選擇。</p><p> 選課:學(xué)生輸入相應(yīng)的課程號(hào)選擇課程。</p><p>
48、 退選:當(dāng)用戶點(diǎn)擊了退選按鈕后,退選已經(jīng)選擇的課程。</p><p> 已選課程查詢:列出該學(xué)生已選的課程信息,以供參考。</p><p> 3.2.2 客戶端與服務(wù)器的連接方式</p><p> 手機(jī)客戶端使用Http方式同Web服務(wù)器通信,服務(wù)器端通過(guò)JDBC與數(shù)據(jù)庫(kù)交互。手機(jī)通過(guò)Http以流的形式接收從Web服務(wù)器傳來(lái)的數(shù)據(jù)流。手機(jī)終端與Web服務(wù)器之
49、間通信的數(shù)據(jù)格式采用一個(gè)特殊的標(biāo)記,從而使客戶端和服務(wù)器完成特定的功能。</p><p> 3.2.3 系統(tǒng)結(jié)構(gòu)</p><p> 客戶機(jī)/服務(wù)器 (C/S)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),將任務(wù)合理分配到客戶端和服務(wù)器端。其中,服務(wù)器端主要提供數(shù)據(jù)管理、數(shù)據(jù)共享、數(shù)據(jù)及系統(tǒng)維護(hù)和并發(fā)控制等,客戶端程序主要完成用戶的具體的業(yè)務(wù),省去了中間的其他環(huán)節(jié)。從而,提高了系統(tǒng)的響應(yīng)速度,降低
50、了系統(tǒng)的通訊開(kāi)銷,但是需要安裝客戶端才可進(jìn)行相應(yīng)的管理操作。 </p><p> 同時(shí),在C/S架構(gòu)中客戶端與服務(wù)器之間相互分離,可以對(duì)客戶端進(jìn)行單獨(dú)的設(shè)計(jì)。使客戶端的操作界面漂亮、形式多樣,可以充分滿足客戶自身的個(gè)性要求。且此結(jié)構(gòu)還具有較強(qiáng)的事務(wù)處理能力,能實(shí)現(xiàn)負(fù)載的業(yè)務(wù)流程等優(yōu)點(diǎn)。</p><p> 因此,鑒于C/S架構(gòu)的優(yōu)點(diǎn)、手機(jī)操作系統(tǒng)、網(wǎng)絡(luò)速度以及當(dāng)前大多數(shù)Android手機(jī)
51、應(yīng)用都采用C/S架構(gòu)的考慮?;贏ndroid的移動(dòng)選課系統(tǒng)采用客戶端/服務(wù)器(C/S)結(jié)構(gòu)。</p><p><b> 第4章 系統(tǒng)設(shè)計(jì)</b></p><p> 4.1 該系統(tǒng)的整體結(jié)構(gòu)</p><p> 系統(tǒng)的整體結(jié)構(gòu):Android客戶端手機(jī)通過(guò)無(wú)線網(wǎng)絡(luò)訪問(wèn)后臺(tái)服務(wù)器,如果需要數(shù)據(jù)訪問(wèn),則訪問(wèn)后臺(tái)數(shù)據(jù)庫(kù)。如圖4-1所示。</
52、p><p><b> 圖4-1 系統(tǒng)結(jié)構(gòu)</b></p><p><b> 4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 4.2.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)</p><p> (1) 用戶表,包含的字段有:登錄名、密碼。</p><p> (2) 學(xué)生表,包含的字段有:學(xué)號(hào)、姓
53、名、性別、出生日期、政治面貌、入學(xué)日期、聯(lián)系電話、班級(jí)。</p><p> (3) 選課表,包含的字段有:學(xué)號(hào)、課程號(hào)。</p><p> (4) 課程表,包含的字段有:課程號(hào)、課程名、學(xué)時(shí)、學(xué)分、課程性質(zhì)、考核方式、上課學(xué)期。</p><p> (5) 教師信息表,包含的字段有:姓名、課程號(hào)、所屬系部、聯(lián)系方式、上課地點(diǎn)。</p><p&
54、gt; 其E-R模型如圖4-2所示。</p><p> 圖4-2 系統(tǒng)E-R圖</p><p> 4.2.2 數(shù)據(jù)庫(kù)各表的設(shè)計(jì)</p><p> 根據(jù)上述設(shè)計(jì)的數(shù)據(jù)庫(kù)的結(jié)構(gòu),設(shè)計(jì)了名稱為“移動(dòng)選課系統(tǒng)”的數(shù)據(jù)庫(kù)。</p><p> “移動(dòng)選課系統(tǒng)”數(shù)據(jù)庫(kù)有下面多個(gè)表組成,各表的命名及字段命名都是以漢字的形式來(lái)命名,各表的設(shè)計(jì)結(jié)果如下
55、:</p><p><b> 表4-1 用戶表</b></p><p><b> 表4-2 學(xué)生表</b></p><p><b> 表4-3 選課表</b></p><p><b> 表4-4 課程表</b></p><p&g
56、t; 表4-5 教師信息表</p><p><b> 4.3 服務(wù)器設(shè)計(jì)</b></p><p> 該移動(dòng)選課系統(tǒng)的手機(jī)客戶端采用了Http方式同Web服務(wù)器通信?;谶@個(gè)要求,在服務(wù)器端編寫了Java Servlet程序放置在名稱為“servlet”包中用以實(shí)現(xiàn)手機(jī)客戶端采用Http的方式同服務(wù)器進(jìn)行通信。同時(shí)還編寫了一個(gè)通過(guò) JDBC與數(shù)據(jù)庫(kù)交互的程序放在名
57、稱為“shujuku”的包中以實(shí)現(xiàn)Servlet程序與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交換。</p><p> 4.3.1 Java Servlet程序</p><p> Servlet是一種采用Java來(lái)實(shí)現(xiàn)CGI功能的技術(shù)。Servlet本身與協(xié)議無(wú)關(guān),與平臺(tái)與無(wú)關(guān)。對(duì)應(yīng)的軟件包有兩個(gè)javax.servlet.http和javax.servlet.jsp,通常所說(shuō)的Servlet編程主要就是指針
58、對(duì)HTTP的Servlet編程。</p><p> Servlet運(yùn)行于Servlet引擎管理的Java虛擬機(jī)中,被來(lái)自客戶端的請(qǐng)求所喚醒,在虛擬機(jī)中只要裝載一個(gè)Servlet及能夠處理新的請(qǐng)求。</p><p> Tomcat服務(wù)器是運(yùn)行Servlet程序的載體,在運(yùn)行Servlet程序之前要在機(jī)器上安裝好tomcat服務(wù)器。這是Servlet運(yùn)行時(shí)所需要的環(huán)境。</p>
59、<p> 移動(dòng)選課系統(tǒng)的Servlet程序包含LoginServlet、CX、SC、XS和XK五個(gè)類,這五個(gè)類同時(shí)繼承HttpServlet類。這五個(gè)類的功能描述如下:</p><p> LoginServlet類:接收和返回用戶的登陸信息。</p><p> CX類:接收用戶對(duì)已選課程查詢的請(qǐng)求,給用戶返回相應(yīng)的數(shù)據(jù)信息。</p><p>
60、SC類:接收用戶對(duì)刪除已選課程的請(qǐng)求,給用戶返回是否刪除成功的相應(yīng)信息。</p><p> XS類:接收用戶對(duì)顯示所有可選課程的請(qǐng)求,并給用戶返回相應(yīng)的信息。</p><p> XK類:接收用戶的選課請(qǐng)求,給用戶返回是否選課成功的相關(guān)信息。</p><p> 4.3.2與數(shù)據(jù)庫(kù)交互的程序</p><p> 與數(shù)據(jù)庫(kù)的交互程序是服務(wù)器的
61、核心程序,共包含lianjie、LogIn、ChaXun、XianShi、XuanKe和shanchu六個(gè)方法。功能描述如下:</p><p> Lianjie方法:通過(guò)JDBC與數(shù)據(jù)庫(kù)進(jìn)行連接連接。</p><p> LogIn方法:通過(guò)與數(shù)據(jù)庫(kù)的交互驗(yàn)證登陸者的身份是否合法。</p><p> ChaXun方法:通過(guò)與數(shù)據(jù)可的交互查詢出登陸的用戶已經(jīng)選擇的
62、課程。</p><p> XianShi方法:通過(guò)與數(shù)據(jù)庫(kù)的交互給登陸的用戶提供可以選擇的所有課程信息。</p><p> XuanKe方法:通過(guò)與數(shù)據(jù)庫(kù)的交互為登陸的用戶保存他的選課信息。</p><p> Shanchu方法:通過(guò)與數(shù)據(jù)庫(kù)的交互刪除登陸的用戶已經(jīng)選擇的課程信息。</p><p> 4.4 Android客戶端設(shè)計(jì)&
63、lt;/p><p> 4.4.1 Android客戶端的頁(yè)面設(shè)計(jì)</p><p> Android客戶端主要包括四個(gè)頁(yè)面,登錄頁(yè)面、主頁(yè)面、已選課程頁(yè)面以及可選課程頁(yè)面。每個(gè)頁(yè)面的主要功能描述如下:</p><p> 登錄頁(yè)面:供用戶登錄系統(tǒng)只用。同時(shí),檢測(cè)用戶輸入的用戶名和密碼是否為空,是否合法。</p><p> 主頁(yè)面:該頁(yè)面上列出
64、了若干項(xiàng)菜單。以供用戶選擇自己要完成的事項(xiàng)。</p><p> 已選課程頁(yè)面:該頁(yè)面上顯示用戶已經(jīng)選擇在的課程。</p><p> 可選課程頁(yè)面:該頁(yè)面羅列出所有可以選擇的課程,以供用戶選擇自己喜歡的課程。</p><p> 其中,“課程退選”功能在已選課程頁(yè)面添加一個(gè)“退選”按鈕實(shí)現(xiàn)?!斑x課”功能在可選課程頁(yè)面中添加一個(gè)“選課”按鈕實(shí)現(xiàn)。</p>
65、<p> 4.4.2 Android客戶端各頁(yè)面之間的關(guān)系</p><p> Android客戶端個(gè)頁(yè)面之間的關(guān)系即客戶端的結(jié)構(gòu)如下圖4-3所示:</p><p><b> 圖4-3客戶端結(jié)構(gòu)</b></p><p><b> 第5章 系統(tǒng)的實(shí)現(xiàn)</b></p><p> 5
66、.1 客戶端的實(shí)現(xiàn) </p><p> 5.1.1 系統(tǒng)主界面的實(shí)現(xiàn)</p><p> 系統(tǒng)主界面很簡(jiǎn)介,只包含一個(gè)菜單選項(xiàng),通過(guò)這個(gè)菜單導(dǎo)航到各個(gè)功能模塊,主界面如圖5-1所示:</p><p><b> 圖5-1系統(tǒng)主界面</b></p><p> 主界面對(duì)應(yīng)的類是MainActivity,繼承了ListAc
67、tivity類實(shí)現(xiàn)一個(gè)ListView,對(duì)應(yīng)的就是界面上的菜單。在MainActivity中的onCreate方法中初始化數(shù)據(jù)。</p><p> 5.1.2 系統(tǒng)登錄模塊的實(shí)現(xiàn)</p><p> 系統(tǒng)登錄模塊的流程圖如圖5-2所示:</p><p> 圖5-2登錄模塊流程圖</p><p> 當(dāng)用戶點(diǎn)擊登錄,若登錄成功則進(jìn)入如圖5-
68、1所示的系統(tǒng)主界面。若用戶名或密碼為空則在頁(yè)面上彈出相應(yīng)的提示,如圖5-3所示;若密碼錯(cuò)誤同樣出現(xiàn)相應(yīng)的提示。如圖5-4所示。</p><p><b> 圖5-3密碼為空</b></p><p> 圖5-4密碼密碼不正確</p><p> 其中判斷用戶名和密碼是否為空的代碼如下:</p><p> private
69、 boolean validate(){</p><p> String username = userEditText.getText().toString();</p><p> if(username.equals("")){</p><p> showDialog("用戶名稱是必填項(xiàng)!");</p>
70、<p> return false;</p><p><b> }</b></p><p> String pwd = pwdEditText.getText().toString();</p><p> if(pwd.equals("")){</p><p> showDial
71、og("用戶密碼是必填項(xiàng)!");</p><p> return false;</p><p><b> }</b></p><p> return true;</p><p><b> }</b></p><p> 判斷密碼是否錯(cuò)誤的代碼如下:
72、</p><p><b> try {</b></p><p> Connection con = DriverManager.getConnection(dbURL, userName,</p><p><b> userPwd);</b></p><p> Statement login
73、 = con.createStatement();</p><p> ResultSet yhb = login.executeQuery("select 學(xué)號(hào),密碼 from 用戶表 ");</p><p> while (yhb.next()) {</p><p> if (username.equals(yhb.getString(&
74、quot;學(xué)號(hào)"))</p><p> && userpwdmima.equals(yhb.getString("密碼"))) {</p><p> ifdenglu = true;</p><p> ifdenglu1 = "t";</p><p><b>
75、 break;</b></p><p><b> }</b></p><p><b> } else {</b></p><p> System.out.println("用戶名或密碼錯(cuò)誤,請(qǐng)重試!!");</p><p> ifdenglu1 = "
76、;f";</p><p><b> }</b></p><p> 5.1.3 已選課程查詢模塊的實(shí)現(xiàn)</p><p> 已選課程查詢模塊的流程圖如圖5-5所示:</p><p> 圖5-5已選課程流程圖</p><p> 當(dāng)用戶點(diǎn)擊如5-1的選課信息查詢菜單后,用戶進(jìn)入已選課程
77、頁(yè)面如圖5-6所示。</p><p><b> 圖5-6已選課程</b></p><p> 當(dāng)該用戶沒(méi)有選課是頁(yè)面會(huì)出現(xiàn)您還沒(méi)有選課的提示,如圖5-7所示:</p><p> 圖5-7 未選課提示</p><p> 5.1.4 退選模塊的實(shí)現(xiàn)</p><p> 當(dāng)用戶點(diǎn)擊圖5-6的退選按
78、鈕時(shí)頁(yè)面會(huì)給用戶以響應(yīng)的提示,提示用戶是否退選成功。如圖5-8所示:</p><p><b> 圖5-8退選</b></p><p> 說(shuō)明:退選模塊的流程去前兩個(gè)模塊的相似,故在這里就不給出詳細(xì)的流程圖和核心代碼,流程圖可參考圖5-2 。</p><p> 5.1.5 可選課程信息模塊的實(shí)現(xiàn)</p><p>
79、當(dāng)用戶點(diǎn)擊圖5-1的可選課程查詢菜單后,用戶進(jìn)入可選課程頁(yè)面,如圖5-9所示,在這里用戶可以瀏覽所有可以選擇的課程信息。</p><p><b> 圖5-9可選課程</b></p><p> 說(shuō)明:退選模塊的流程去前兩個(gè)模塊的相似,故在這里就不給出詳細(xì)的流程圖和核心代碼。流程圖可參考圖5-2 。</p><p> 5.1.6 選課模塊的實(shí)
80、現(xiàn)</p><p> 在如圖5-9所示的用戶頁(yè)面中,輸入要選擇的課程號(hào),點(diǎn)擊選課按鈕之后。頁(yè)面上會(huì)給出選課是否成功的相應(yīng)提示,以便用戶有相應(yīng)的了解。如圖5-10和圖5-11所示。</p><p> 圖5-10提示選課成功</p><p> 圖5-11 提示已經(jīng)選課</p><p> 說(shuō)明:退選模塊的流程去前兩個(gè)模塊的相似,故在這里就不
81、給出詳細(xì)的流程圖和核心代碼。流程圖可參考圖5-2 。</p><p> 5.2 服務(wù)器端的實(shí)現(xiàn)</p><p> 在服務(wù)器的Servlet編程中使用LogIn、ChaXun、ShanChu、XianShi和XuanKe五個(gè)類,與數(shù)據(jù)庫(kù)進(jìn)行交互,對(duì)數(shù)據(jù)庫(kù)接收到的數(shù)據(jù)進(jìn)行處理。將處理后的結(jié)果返回給客戶端,并在服務(wù)器端打印出用戶所請(qǐng)求的相關(guān)信息。如圖5-12所示。</p>&l
82、t;p> 圖5-12 服務(wù)器端顯示相關(guān)信息</p><p> 其中ChaXun(顯示選課信息)類的相關(guān)代碼如下:</p><p><b> try {</b></p><p> Connection con = DriverManager.getConnection(dbURL, userName,</p><
83、p><b> userPwd);</b></p><p> Statement s = con.createStatement();</p><p> ResultSet ifyixuanke = s.executeQuery(sql);</p><p> while (ifyixuanke.next()) {</p>
84、<p> ifhas = ifyixuanke.getString("是否選課");</p><p><b> }</b></p><p> s.close();</p><p> if (ifhas.equals("t")) {</p><p> Prep
85、aredStatement chaxun = con</p><p> .prepareStatement("select 課程名,學(xué)時(shí),學(xué)分,課程性質(zhì),考核方式,學(xué)期 from 課程表 where 課程號(hào)=(select 課程號(hào) from 選課表 where 學(xué)號(hào)= ? ) ");</p><p> chaxun.setString(1, username);&l
86、t;/p><p> ResultSet kch = chaxun.executeQuery();</p><p> while (kch.next()) {</p><p> re = "t" + " " + kch.getString("課程名") + " "+ kch.getStr
87、ing("學(xué)時(shí)") + " " + kch.getString("學(xué)分")</p><p> + " " + kch.getString("課程性質(zhì)") + " "</p><p> + kch.getString("考核方式") + "
88、 " + </p><p> kch.getString("學(xué)期");</p><p><b> }</b></p><p> ifkx = "f";</p><p> chaxun.close();</p><p><b>
89、} else {</b></p><p> System.out.println("您還沒(méi)有選課!!");</p><p> ifkx = "t";</p><p><b> re = "f";</b></p><p><b> }
90、</b></p><p> con.close();</p><p> } catch (Exception e) {</p><p> System.out.println("連接數(shù)據(jù)庫(kù)失敗!" + e + "false");</p><p><b> re = &quo
91、t;f";</b></p><p><b> }</b></p><p> return re;</p><p><b> }</b></p><p> 其他幾個(gè)類的相關(guān)代碼與CX類的類似,只是相關(guān)的Select語(yǔ)句有所不同,下面只給出與類相關(guān)的Select語(yǔ)句。<
92、;/p><p> LogIn類相關(guān)的Select語(yǔ)句如下:</p><p> ResultSet yhb = login.executeQuery("select 學(xué)號(hào),密碼 from 用戶表 ");</p><p> ShanChu類相關(guān)的Select語(yǔ)句如下:</p><p> PreparedStatement
93、sc = con.prepareStatement("delete from 選課表 where 學(xué)號(hào)= ? ");</p><p> XianShi類相關(guān)的Select語(yǔ)句如下:</p><p> ResultSet rs = xs</p><p> .executeQuery("select 課程表.課程號(hào),課程名,學(xué)時(shí),學(xué)分
94、,課程性質(zhì),考核方式,學(xué)期,教師姓名,所屬系部 from 課程表,教師信息表 where 課程表.課程號(hào)=教師信息表.課程號(hào) ");</p><p> Xuanke類相關(guān)的Select語(yǔ)句如下:</p><p> PreparedStatement tianjia = con</p><p> .prepareStatement("inse
95、rt into 選課表 values(?,?)");</p><p> 5.3 客戶端與服務(wù)器端的通訊</p><p> Android集成了Apache HTTP客戶端,在服務(wù)器Servlet編程中使用HttpServletRequest和HttpServletResponse來(lái)表示請(qǐng)求和響應(yīng)。Apache HTTP客戶端也已經(jīng)對(duì)請(qǐng)求和響應(yīng)進(jìn)行封裝,只需根據(jù)請(qǐng)求方法的不同,
96、用到HttpGet和HttpPost兩個(gè)對(duì)象。其中,響應(yīng)對(duì)象是HttpResponse,使用DefaultHttpClient執(zhí)行請(qǐng)求獲得響應(yīng)。</p><p> 實(shí)現(xiàn)該模塊的核心代碼如下:</p><p> public class HttpUtil {</p><p> //生命Base URL常量</p><p> public
97、 static final String BASE_URL="http://192.168.1.111:8080/xiaoge/";</p><p> //通過(guò)URL獲得HttpGet對(duì)象</p><p> public static HttpGet getHttpGet(String url){</p><p> HttpGet requ
98、est = new HttpGet(url);</p><p> return request;</p><p><b> }</b></p><p> public static String queryStringForGet(String url){</p><p> HttpGet request =
99、HttpUtil.getHttpGet(url);</p><p> String result = null;</p><p><b> try {</b></p><p> HttpResponse response = HttpUtil.getHttpResponse(request);</p><p>
100、if(response.getStatusLine().getStatusCode()==200){</p><p> result = EntityUtils.toString(response.getEntity());</p><p> byte[] b=result.getBytes("8859-1");</p><p> Stri
101、ng a=new String(b,"UTF-8");</p><p> return result;</p><p><b> }</b></p><p> } catch (ClientProtocolException e) {</p><p> e.printStackTrace();
102、</p><p> result = "網(wǎng)絡(luò)異常!";</p><p> return result;</p><p> } catch (IOException e) {</p><p> e.printStackTrace();</p><p> result = "網(wǎng)絡(luò)異常
103、!";</p><p> return result;</p><p><b> }</b></p><p> return null;</p><p><b> }</b></p><p> public static HttpResponse getH
104、ttpResponse(HttpGet request) throws ClientProtocolException, IOException{</p><p> HttpResponse response = new DefaultHttpClient().execute(request);</p><p> return response;</p><p>
105、;<b> }}</b></p><p><b> 第6章 測(cè)試</b></p><p> 本章內(nèi)容主要是針對(duì)于整個(gè)系統(tǒng)功能的檢測(cè),分析系統(tǒng)的可行性以及弊端,以及運(yùn)行的結(jié)果及發(fā)現(xiàn)的問(wèn)題。</p><p> 6.1 測(cè)試的作用和意義</p><p> 系統(tǒng)測(cè)試是系統(tǒng)的開(kāi)發(fā)周期中的一個(gè)十分重要
106、的環(huán)節(jié)。盡管在系統(tǒng)開(kāi)發(fā)周期的各個(gè)階段均采取了嚴(yán)格的技術(shù)審查,但依然難免會(huì)留下錯(cuò)誤,如果沒(méi)有在投入運(yùn)行前的系統(tǒng)測(cè)試階段被發(fā)現(xiàn)并糾正,問(wèn)題遲早會(huì)在運(yùn)行中暴露出來(lái),到那時(shí)要糾正錯(cuò)誤將會(huì)付出更大的代價(jià)。系統(tǒng)測(cè)試占用的時(shí)間、花費(fèi)的人力和成本占軟件開(kāi)發(fā)的很大比例。統(tǒng)計(jì)表明,開(kāi)發(fā)較大規(guī)模的系統(tǒng),系統(tǒng)測(cè)試的工作量大約占整個(gè)軟件開(kāi)發(fā)工作量的40%-50%。而對(duì)于一些特別重要的大系統(tǒng),測(cè)試的工作量和成本更大,甚至超過(guò)系統(tǒng)開(kāi)發(fā)其他各階段的總和的若干倍。<
107、;/p><p><b> 6.2 測(cè)試方法</b></p><p> 對(duì)軟件進(jìn)行測(cè)試的主要方法有人工測(cè)試與機(jī)器測(cè)試。一般源程序通過(guò)編譯后,要先經(jīng)過(guò)人工測(cè)試,然后再進(jìn)行機(jī)器測(cè)試。人工測(cè)試是采用人工方式進(jìn)行,目的在于檢查程序的靜態(tài)結(jié)構(gòu),找出編譯不能發(fā)現(xiàn)的錯(cuò)誤。機(jī)器測(cè)試是運(yùn)用事先設(shè)計(jì)好的測(cè)試用例,執(zhí)行被測(cè)程序,對(duì)比運(yùn)行結(jié)果與預(yù)期結(jié)果的差別以發(fā)現(xiàn)錯(cuò)誤。</p>
108、<p> 另外人工測(cè)試又分為個(gè)人復(fù)查、走查與會(huì)審。</p><p> 機(jī)器測(cè)試又可分為黑盒測(cè)試與白盒測(cè)試,黑盒測(cè)試也稱功能測(cè)試,將軟件看作黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,測(cè)試軟件的外部特性。根據(jù)軟件的需求規(guī)格說(shuō)明書設(shè)計(jì)測(cè)試用例,從程序的輸入和輸出特性上測(cè)試是否滿足設(shè)定的功能。白盒測(cè)試也稱結(jié)構(gòu)測(cè)試,將軟件看作一個(gè)透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來(lái)選定測(cè)試用例,對(duì)軟件的邏輯路
109、徑及過(guò)程進(jìn)行測(cè)試,檢查它與設(shè)計(jì)是否相符。</p><p> 對(duì)于這個(gè)基于Android的移動(dòng)選課系統(tǒng)來(lái)說(shuō),我在每寫完一個(gè)功能模塊時(shí)就要對(duì)這個(gè)模塊進(jìn)行測(cè)試,或者每寫好一段相對(duì)獨(dú)立的程序時(shí)也對(duì)它進(jìn)行相應(yīng)的功能測(cè)試或模塊測(cè)試。而當(dāng)我完成整個(gè)系統(tǒng)時(shí)我采用上面所說(shuō)的人工測(cè)試方法,把整個(gè)軟件的邏輯關(guān)系理一下,避免發(fā)生邏輯錯(cuò)誤,然后是檢查軟件的功能是否實(shí)現(xiàn),與需求里面的功能要求作對(duì)比,檢查功能實(shí)現(xiàn)是否完善,合理等。</
110、p><p><b> 6.3 測(cè)試內(nèi)容</b></p><p><b> (1)登錄模塊測(cè)試</b></p><p> 表6-1 登錄模塊測(cè)試</p><p> ?。?)已選課程模塊測(cè)試</p><p> 表6-2 已選課程模塊測(cè)試</p><p>
111、;<b> ?。?)退選模塊測(cè)試</b></p><p> 表6-3 退選模塊測(cè)試</p><p> (4)可選課程信息模塊</p><p> 表6-4 可選課程信息模塊測(cè)試</p><p><b> ?。?)選課模塊測(cè)試</b></p><p> 表6-5 選課模塊
112、測(cè)試</p><p><b> 6.4 測(cè)試結(jié)果</b></p><p> (1) 服務(wù)器正常啟動(dòng)后,用戶能夠成功的登錄到選課系統(tǒng),當(dāng)用戶名、密碼出錯(cuò)或?yàn)榭諘r(shí)能夠給出相應(yīng)的提示。當(dāng)服務(wù)器沒(méi)有啟動(dòng)時(shí)會(huì)給出“網(wǎng)絡(luò)異?!钡奶崾?。</p><p> (2) 用戶在選課時(shí),系統(tǒng)會(huì)給用戶相應(yīng)的提示。當(dāng)用戶選擇了兩個(gè)以上的課程時(shí),不能夠完全顯示用戶所選
113、擇的課程。</p><p> (3) 系統(tǒng)在顯示所有可以選擇的課程時(shí),顯示良好,可以拖動(dòng)屏幕顯示出所有的課程。</p><p> (4) 系統(tǒng)在刪除課程時(shí),沒(méi)有給出相關(guān)的提示就直接刪除,會(huì)給用戶的誤操作帶來(lái)不便。</p><p> (5) 系統(tǒng)界面良好,在可操作性方面良好。</p><p><b> 6.5 測(cè)試結(jié)論<
114、/b></p><p> 系統(tǒng)經(jīng)過(guò)反復(fù)測(cè)試,發(fā)現(xiàn)存在上述測(cè)試結(jié)果中的一些問(wèn)題,但是經(jīng)過(guò)后來(lái)反復(fù)的修改和測(cè)試,本系統(tǒng)最終完成,測(cè)試結(jié)果中的大部分問(wèn)題都得到完美解決。但是,由于本人能力有限,此系統(tǒng)仍存在一些潛在的問(wèn)題沒(méi)有解決。經(jīng)過(guò)后期對(duì)軟件的測(cè)試,懂得了測(cè)試的重要性,以及給本系統(tǒng)帶來(lái)的巨大改善,讓系統(tǒng)變的更強(qiáng)壯。</p><p><b> 結(jié) 論</b><
115、/p><p> 在老師、同學(xué)的知道幫助下,在繁忙的工作之余經(jīng)過(guò)兩個(gè)月的時(shí)間,畢業(yè)設(shè)計(jì)基本完成。本課題主要工作包括:</p><p> (1) 學(xué)習(xí)研究了無(wú)線通信技術(shù)、Android移動(dòng)平臺(tái)、以及Java Servlet相關(guān)技術(shù),并對(duì)Android移動(dòng)平臺(tái)和Java Servlet進(jìn)行了歸納總結(jié)。</p><p> (2) 采用面向?qū)ο蟮姆治黾夹g(shù)來(lái)設(shè)計(jì)系統(tǒng),考慮到選
116、課系統(tǒng)的分布性和差異性,系統(tǒng)采用了分層的的架構(gòu)設(shè)計(jì)。這樣也使系統(tǒng)有了更好的可擴(kuò)容性。</p><p> (3) 在充分的掌握了上述知識(shí)后,順利完成了系統(tǒng)后臺(tái)和客戶端的設(shè)計(jì)和實(shí)現(xiàn)。</p><p> 因時(shí)間倉(cāng)促再加上本人知識(shí)水平有限,使得本系統(tǒng)還有很多不足的地方,比如:界面不夠人性化,只進(jìn)行了粗略設(shè)計(jì)。沒(méi)有對(duì)客戶端的界面進(jìn)行美化;沒(méi)有對(duì)權(quán)限做過(guò)多的設(shè)置,對(duì)數(shù)據(jù)的安全性也沒(méi)有做過(guò)多的要求;
117、一個(gè)學(xué)生一個(gè)學(xué)期只能選擇一門課(我校選課時(shí)一學(xué)期只選擇一門選修課),沒(méi)有考慮到多門同時(shí)選擇的情況。</p><p> 隨著無(wú)線通信設(shè)備的不斷完善,移動(dòng)選課系統(tǒng)也將是高校未來(lái)信息化的重要主城部分。同時(shí)Android目前是相當(dāng)成熟的一門技術(shù),因此開(kāi)發(fā)基于Android的移動(dòng)選課系統(tǒng),有著極大的創(chuàng)新型,也給廣大的學(xué)生實(shí)際使用提供了方便。</p><p><b> 謝 辭</b
118、></p><p> 經(jīng)過(guò)幾個(gè)月的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,多虧導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,這個(gè)畢業(yè)設(shè)計(jì)才得以順利完成。</p><p> 本課題在選題及研究過(guò)程中得到盧老師的悉心指導(dǎo)。盧老師多次詢問(wèn)研究進(jìn)程,并為我指點(diǎn)迷津,幫助我開(kāi)拓研究思路,精心點(diǎn)撥、熱忱鼓勵(lì)。盧老師一絲不茍的作風(fēng),嚴(yán)謹(jǐn)求實(shí)的態(tài)度,踏踏實(shí)實(shí)的精神,一直是我學(xué)習(xí)中的榜樣。更可貴的是盧
119、老師不僅授我于魚,而且授我于漁。對(duì)盧老師的感激之情是無(wú)法用言語(yǔ)表達(dá)的。</p><p> 同時(shí),論文的順利完成,離不開(kāi)其它各位老師、同學(xué)和朋友的關(guān)心和幫助。在整個(gè)程序設(shè)計(jì)和論文寫作過(guò)程中,各位老師、同學(xué)和朋友積極的幫助我查資料和提供有利于程序論文的建議和意見(jiàn),在他們的幫助下,程序設(shè)計(jì)和論文得以不斷的完善,最終幫助我完整的做完了整個(gè)程序設(shè)計(jì)和畢業(yè)論文。</p><p> 在論文的寫作過(guò)程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于android的移動(dòng)選課系統(tǒng)的設(shè)計(jì)
- 基于jsp的學(xué)生選課系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于web的選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于jsp的學(xué)生選課排課系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于java的學(xué)生選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 基于ajax的學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于android的日程管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于bs模式選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于android的日歷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)設(shè)計(jì)
- 學(xué)生選課系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---在線選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)(論文)-基于android的高考寶典系統(tǒng)
- 畢業(yè)設(shè)計(jì)----網(wǎng)上選課系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----學(xué)生選課管理系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--學(xué)生選課系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)
- 畢業(yè)設(shè)計(jì)(論文)-學(xué)生選課系統(tǒng)設(shè)計(jì)
- 基于Android的移動(dòng)學(xué)習(xí)系統(tǒng)設(shè)計(jì).pdf
- 基于android的esl管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)【畢業(yè)設(shè)計(jì)】
- 教務(wù)畢業(yè)設(shè)計(jì)選題與選課系統(tǒng)畢業(yè)設(shè)計(jì)
- android畢業(yè)設(shè)計(jì)--基于android的音樂(lè)播放的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論