2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于安卓系統(tǒng)的教學(xué)管理系統(tǒng)</p><p>  —學(xué)生客戶端的設(shè)計與實現(xiàn)</p><p><b>  摘  要</b></p><p>  高校中由于教學(xué)模式的原因,師生之間交流的時間極為短暫,而考勤,作業(yè)以及學(xué)生反饋等問題占用了很多寶貴的教學(xué)時間,往往會影響正常的教學(xué)計劃和教學(xué)質(zhì)量,同樣也會給學(xué)生的學(xué)習(xí)生活帶來不必要的麻

2、煩。簡化教學(xué)工作,提高學(xué)生學(xué)習(xí)效率已經(jīng)成為高校中亟待解決的問題。</p><p>  近些年移動互聯(lián)網(wǎng)的不斷壯大和移動平臺的飛速發(fā)展為教學(xué)模式的改善提供了新的渠道和手段。利用移動平臺中應(yīng)用最廣泛的安卓系統(tǒng),在手機和平板電腦上搭建的便捷高效教學(xué)管理系統(tǒng)學(xué)生客戶端,為學(xué)生提供查詢各課程簽到,作業(yè)情況以及對教師教學(xué)內(nèi)容進行反饋等功能,優(yōu)化了教學(xué)模式,增加了教學(xué)時間,也提高了學(xué)生的學(xué)習(xí)效率,并通過搭建ASP網(wǎng)頁學(xué)生客戶端

3、擴大了系統(tǒng)應(yīng)用范圍,緩解了學(xué)生的經(jīng)濟壓力,極大改善了教學(xué)質(zhì)量,幫助學(xué)生更好地去完成學(xué)習(xí)任務(wù)。</p><p>  關(guān)鍵詞:安卓;教學(xué)管理系統(tǒng);學(xué)生客戶端;ASP.NET</p><p>  Teaching Management System Based on Android system</p><p>  -Students Client Design and

4、Implementation</p><p><b>  ABSTRACT</b></p><p>  Due to the teaching model,the interaction time between teachers and students in universities is extremely short,attendance,assignment

5、s and feedback from students and other issues take up a lot of valuable teaching time,which tends to affect the normal teaching plans and quality,and also causes unnecessary trouble to the study lives of students.</p&

6、gt;<p>  In recent years,the growing mobile Internet and the rapid development of mobile platforms carry the new channels and means for the improvement of the teaching model.Using Android system which is Equipped

7、in mobile platform the most widely,it’s a convenient and efficient attendance system client for student in mobile phones and tablet PCs that is built.The client provides students thefuctions of querying the situatio

8、ns of attendance and homework and feedbacking on teaching contents to their teach</p><p>  Key word:Android;teaching management system;Students'client;ASP.NET</p><p><b>  目  錄</b>

9、;</p><p><b>  1 引言1</b></p><p>  2 課題背景與可行性分析2</p><p>  2.1 課題背景2</p><p>  2.2 可行性分析2</p><p>  2.3 結(jié)論意見3</p><p>  2.4 開發(fā)工具簡介

10、3</p><p><b>  3 需求分析6</b></p><p>  3.1 特性需求分析6</p><p>  3.2 功能需求分析6</p><p><b>  4 總體設(shè)計11</b></p><p>  4.1 硬件配置設(shè)計11</p>

11、<p>  4.2 系統(tǒng)模塊結(jié)構(gòu)設(shè)計11</p><p>  4.3 數(shù)據(jù)庫設(shè)計12</p><p>  4.4 代碼設(shè)計19</p><p><b>  5 詳細設(shè)計20</b></p><p>  5.1 手機客戶端20</p><p>  5.2 服務(wù)器端模塊20<

12、;/p><p>  5.3 網(wǎng)頁客戶端28</p><p><b>  6 總結(jié)34</b></p><p><b>  參考文獻35</b></p><p><b>  致謝36</b></p><p><b>  1  引言</b

13、></p><p>  隨著科技的發(fā)展,移動通訊平臺在不斷地發(fā)展中愈來愈加成熟,預(yù)計2012年中國手機市場銷量將達到3億部,全球銷量更是會超過10億部,其中,安卓系統(tǒng)在手機中的發(fā)展最為迅速。2012年1月20日,谷歌報告顯示,通過谷歌服務(wù)器激活的Android設(shè)備用戶總數(shù)已經(jīng)超過2.5億,而Android在中國大陸的智能手機操作系統(tǒng)市場占有率達到了68.4%。安卓系統(tǒng)以其開放的平臺,眾多、免費的應(yīng)用,華麗、

14、新鮮的運行界面,簡單、親切的用戶體驗而備受消費者的喜愛。</p><p>  在高校中,由于教師與學(xué)生之間往往只是在上課的時候才能見面,師生之間的交流并不是十分活躍,教師對于簽到,布置作業(yè),學(xué)生們對上課效果的反饋等等很多時候都不能及時解決和處理,而學(xué)生對于自己的簽到記錄,各個科目布置的作業(yè)題目和以及分數(shù)也往往不能明了,自己在學(xué)習(xí)上的問題也不能及時地反映給老師,影響正常的學(xué)習(xí)生活?;贏ndroid系統(tǒng)的教學(xué)管理系

15、統(tǒng)則是一款建立在安卓平臺的軟件,致力于為廣大師生工作與學(xué)習(xí)提供便利,系統(tǒng)突破傳統(tǒng)交流的時空限制,實現(xiàn)師生之間的方便有效地交流。</p><p>  基于Android系統(tǒng)的教學(xué)管理系統(tǒng)分為兩個部分,一部分為教師客戶端,為教師在對學(xué)生的簽到,作業(yè)的布置評分等處理以及查看學(xué)生的反饋提供方面上便利。另一部分為學(xué)生客戶端,學(xué)生可以通過此客戶端查看自己簽到狀況,查看作業(yè)題目評分,以及進行反饋。由于考慮到學(xué)生可能不能每人都擁

16、有一部安卓設(shè)備,此系統(tǒng)將會提供網(wǎng)頁客戶端,學(xué)生可以通過網(wǎng)頁實現(xiàn)客戶端內(nèi)容。</p><p>  本論文將對學(xué)生客戶端,包括安卓客戶端與網(wǎng)頁客戶端的實現(xiàn)進行詳細的闡述,實現(xiàn)系統(tǒng)的C/S與B/S兩個模式。</p><p>  2  課題背景與可行性分析</p><p><b>  2.1 課題背景</b></p><p> 

17、 隨著移動平臺的成熟以及互聯(lián)網(wǎng)的不斷發(fā)展,手機等移動設(shè)備已經(jīng)極大地普及,人們可以在隨時隨地用指尖去完成各種以往繁瑣的事情。由于在高校中師生交流的不順暢,嚴重影響著教師的教學(xué)工作和學(xué)生的學(xué)習(xí)生活,因此亟需一款軟件去簡化教師的工作,實現(xiàn)教師與學(xué)生簡單方便地交流??紤]到安卓系統(tǒng)的迅速發(fā)展和極高的普遍率,以及其平臺的開放性和友好的界面,這款基于Android系統(tǒng)的教學(xué)管理系統(tǒng)便應(yīng)運而生了。該系統(tǒng)可以很輕松的實現(xiàn)師生間良好的互動,幫助教師完成簽到

18、,布置作業(yè),打分以及查看學(xué)生反饋信息等功能,提高工作效率簡化工作內(nèi)容的同時更好的完成教學(xué)任務(wù),幫助學(xué)生實現(xiàn)查看自己簽到情況,查看布置的作業(yè)和打分情況以及對教師進行反饋,方便高效的完成學(xué)習(xí)任務(wù)。網(wǎng)頁客戶端可以彌補手機客戶端的缺陷,更好的實現(xiàn)系統(tǒng)功能,幫助師生完成教學(xué)任務(wù)和學(xué)習(xí)任務(wù)。</p><p><b>  2.2 可行性分析</b></p><p>  近些年,移動

19、設(shè)備的高速發(fā)展,使得手機等移動設(shè)備高速智能化,移動網(wǎng)絡(luò)通信正在以前所未有的驚人速度走入人們的生活、工作和學(xué)習(xí)中,提高了工作學(xué)習(xí)的效率,增加了獲取信息的渠道,突破了相互交流的時空界限。教學(xué)管理系統(tǒng)可以基于移動平臺安卓系統(tǒng)進行開發(fā),幫助師生輕松解決教學(xué)中工作學(xué)習(xí)等問題。</p><p>  可行性分析既不能以偏蓋全,也不能過于追求細節(jié),必須為決策提供有價值的證據(jù)。軟件領(lǐng)域的可行性分析主要考慮四個因素:技術(shù)可行性分析,

20、經(jīng)濟、社會效益分析,法律可行性分析,開發(fā)人員與進程可行性分析。</p><p>  技術(shù)可行性分析:安卓系統(tǒng)是基于Java編寫的,因此手機客戶端采用Eclipse配上AndroidSDK,完全可以實現(xiàn)系統(tǒng)功能,開發(fā)人員都具有一定Java功底,加之安卓平臺開放性,網(wǎng)上很輕松的可以查看到各種實現(xiàn)代碼,手機客戶端在技術(shù)上是可行的。網(wǎng)頁客戶端用ASP.NET (C#)編寫,在Visual Studio 2005環(huán)境下實現(xiàn)

21、,ASP.NET運用面向?qū)ο蟮木幊趟枷脒M行Web開發(fā),并且是以編譯方式執(zhí)行,具有較高的開發(fā)效率和運行性能。后臺數(shù)據(jù)庫軟件選用微軟公司的大型數(shù)據(jù)庫服務(wù)器SQL Server 2000。因此在技術(shù)上是可行的。</p><p>  經(jīng)濟、社會效益分析:主要進行成本-效益分析。從成本方面看,本系統(tǒng)的實現(xiàn),計算機和網(wǎng)絡(luò)硬件已經(jīng)擁有,由于安卓是個開放的平臺,Eclipse與AndroidSDK都是免費提供的,網(wǎng)絡(luò)客戶端所用軟

22、件也都已經(jīng)配備,因此成本很低;從效益方面看,本客戶端主要是為廣大師生提供便利,暫時還不會帶來任何經(jīng)濟收益,不過經(jīng)過完善后可以考慮作為產(chǎn)品在社會上推廣,加上安卓系統(tǒng)的廣泛應(yīng)用,相信產(chǎn)品的盈利空間是很大的。</p><p>  法律可行性分析:從法律角度看,Android是個開放的平臺,代碼是開放的,加上基于Android的教學(xué)管理系統(tǒng)主要為師生提供便利,作為畢業(yè)設(shè)計,并不以盈利為目的,且是自主開發(fā)設(shè)計,因此不會在社

23、會上引起侵權(quán)或其它責任問題,在法律上是可行的。</p><p>  開發(fā)人員與進程可行性分析:開發(fā)人員都有一定的Java開發(fā)功底,并且學(xué)習(xí)能力較強以及指導(dǎo)老師的悉心教導(dǎo)完全可以勝任此次開發(fā)。由于此系統(tǒng)開發(fā)并不是以盈利為目的,開發(fā)周期可以相對較長,因此開發(fā)進程方面是可行的。</p><p><b>  2.3 結(jié)論意見</b></p><p> 

24、 經(jīng)過幾個不同角度的可行性分析,可以確定該系統(tǒng)能夠開發(fā)。</p><p>  2.4 開發(fā)工具簡介</p><p>  2.4.1 Android及SDK介紹</p><p>  SDK指是軟件開發(fā)包,被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Android SDk指的既是Android專屬的軟件開發(fā)工具包

25、。</p><p>  Android是Google公司推出的手機開發(fā)平臺,和iPhone相似,Android使用了WebKit瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網(wǎng)功能,在手機上可以實現(xiàn)查看電子郵件、搜索網(wǎng)址和觀看視頻節(jié)目等功能,較iPhone等其他手機更強調(diào)搜索功能,界面更強大,可以說是一種融入全部Web應(yīng)用的單一平臺。</p><p>  Android手機系統(tǒng)最震撼人心之處在于

26、其開放性和服務(wù)免費。Android是一個對第三方軟件完全開放的平臺,開發(fā)者在為其開發(fā)程序時 擁有更大的自由度,突破了iPhone等只能添加為數(shù)不多的固定軟件的枷鎖,使得應(yīng)用的安裝更加方便;同時與Windows Mobile、Symbian等廠商不同,Android操作系統(tǒng)免費向開發(fā)人員提供,這樣可節(jié)省近三成成本。</p><p>  2.4.2 Eclipse簡介</p><p>  Ec

27、lipse是一個著名的跨平臺的自由集成開發(fā)環(huán)境軟件。最初主要用來Java語言開發(fā),現(xiàn)在人們可以通過安裝插件使其作為C++、Python、PHP等其他語言的開發(fā)工具。Eclipse的本身只是一個框架平臺,但是隨著眾多插件的產(chǎn)生,使得Eclipse擁有很好的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。</p><p>  雖然大多數(shù)用戶更加樂于將Eclipse當作Java集成開發(fā)環(huán)境來使用,但Ecl

28、ipse的作用已經(jīng)不僅限于此。Eclipse還是含有插件開發(fā)環(huán)境,這個組件主允許希望擴展Eclipse的軟件開發(fā)人員構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。</p><p>  這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用 Java 語言開

29、發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++ 和 COBOL 等編程語言的插件已經(jīng)可用,或預(yù)計將會推出。Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。</p><p>  本系統(tǒng)即通過Eclipse,添加Android做插件,匹配上AndroidSDK進行軟件的開發(fā)。</p><p>  2.4.3 ASP.NET簡介&l

30、t;/p><p>  ASP.NET是.NET框架的一部分,是一種建立動態(tài)Web應(yīng)用程序的技術(shù)。.NET框架(即.NET Framework)是支持生成、運行下一代應(yīng)用程序和XML Web服務(wù)的內(nèi)部Windows組件,是Visual Studio.NET應(yīng)用程序開發(fā)環(huán)境的核心。它定義了語言之間互操作的規(guī)則,以及如何把應(yīng)用程序編輯為可執(zhí)行代碼,還負責管理任何Visual Studio.NET語言創(chuàng)建的應(yīng)用程序的執(zhí)行。.

31、NET是Microsoft面向XML Web服務(wù)的平臺,它使用一種統(tǒng)一的、個性化的方式將信息、設(shè)備和人員緊密地聯(lián)系在一起。</p><p>  ASP.NET可以使用任何兼容.net平臺的語言進行開發(fā),具有較強的兼容性。由于ASP.NET是編譯執(zhí)行,因而比解釋執(zhí)行的ASP等開發(fā)方式具有更高的效率,而且在面向?qū)ο笮?、?shù)據(jù)庫連接、大型站點應(yīng)用等方面都體現(xiàn)出較好的性能。此外,ASP.NET還可以利用.NET平臺架構(gòu)的諸

32、多優(yōu)越性能,如類型安全以及對XML、SOAP、WSDL等Internent標準的強大支持。</p><p>  在ASP.NET頁面中,可以使用ASP.NET服務(wù)器端控件來建立常用的用戶接口元素,并對其進行編程;可以使用內(nèi)建可重用組件和自定義組件快速建立Web Form,從而使代碼大大簡化。相對原有的Web技術(shù)而言,ASP.NET提供的編程模型和結(jié)構(gòu)有助于快速、高效地建立靈活、安全和穩(wěn)定的應(yīng)用程序。</p&

33、gt;<p>  ASP.NET提供了一個統(tǒng)一的Web開發(fā)模型,其中包括開發(fā)人員生成企業(yè)級Web應(yīng)用程序所需的各種服務(wù)。ASP.NET也提供了一種新的編程模型和結(jié)構(gòu),可以生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護。當前,ASP.NET 2.0已逐漸被廣泛使用。</p><p>  本系統(tǒng)采用C#作為開發(fā)語言,C#是.NET平臺的通用開發(fā)工具,它能夠建造所有的.NET應(yīng)用。其固有的特性決定

34、了它是一種高效、安全、靈活的現(xiàn)代程序設(shè)計語言。C#與.NET平臺的結(jié)合足以為畢業(yè)設(shè)計綜合管理系統(tǒng)提供完整的解決方案。</p><p>  2.4.4 SQL Server 2000簡介</p><p>  隨著社會信息化的不斷發(fā)展,人們面對的各種類型的數(shù)據(jù)信息正在呈現(xiàn)出爆炸式增長的態(tài)勢,因而對數(shù)據(jù)的安全存儲和高效管理具有越發(fā)明顯的重要性。存儲和管理數(shù)據(jù)需要使用數(shù)據(jù)庫管理系統(tǒng),不但需要后臺數(shù)

35、據(jù)庫對數(shù)據(jù)的安全存儲,而且需要前臺應(yīng)用程序?qū)?shù)的方便高效管理。當前的數(shù)據(jù)庫產(chǎn)品主要有Acess,MySql等小型數(shù)據(jù)庫,以及 SQL Server,Oracle等大型數(shù)據(jù)庫。鑒于畢業(yè)設(shè)計管理系統(tǒng)的數(shù)據(jù)量,可以選擇SQL Server數(shù)據(jù)庫。</p><p>  畢業(yè)設(shè)計管理系統(tǒng)不但要存儲教師和學(xué)生的基本信息,而且要實現(xiàn)一些重要流程和必要操作,如課題的申請、審批和選擇,畢業(yè)設(shè)計時間表的安排、論文的評閱答辯以及在線答

36、疑等。這些除了需要對基本數(shù)據(jù)進行存儲外,還需要開發(fā)專門的數(shù)據(jù)庫系統(tǒng)來幫助對其進行管理。畢業(yè)設(shè)計綜合管理系統(tǒng)需要實現(xiàn)數(shù)據(jù)庫的建立和連接、系統(tǒng)界面的設(shè)計以及各個功能模塊的設(shè)計和開發(fā)。該系統(tǒng)的開發(fā)過程主要包括需求分析、系統(tǒng)設(shè)計、數(shù)據(jù)庫設(shè)計、編碼設(shè)計、軟件測試等。系統(tǒng)采用模塊化開發(fā)方法,每個模塊各自實現(xiàn)相應(yīng)的子功能,最后進行集成,共同實現(xiàn)系統(tǒng)的功能。</p><p>  2.4.5 Visual Studio.NET 2

37、005簡介</p><p>  ASP.NET的開發(fā)環(huán)境有多種選擇,該系統(tǒng)的開發(fā)選擇Visual Studio.NET 2005。</p><p>  Visual Studio.NET 2005是一套完整的開發(fā)工具,用于生成ASP.NET Web應(yīng)用程序、XML Web Services、桌面應(yīng)用程序和移動應(yīng)用程序。該環(huán)境提供了常用控件,直接拖動的開發(fā)方式提高了開發(fā)效率。而且可以創(chuàng)建自定

38、義控件,使程序具有更好的擴展性、可維護性以及重用性。此外,Visual Basic.NET、Visual C++.NET、Visual C#.NET和Visual J#.NET使用統(tǒng)一的集成開發(fā)環(huán)境,該環(huán)境允許它們共享并創(chuàng)建混合語言解決方案;這些語言都利用.NET Framework的功能,它提供了對簡化ASP.NET Web應(yīng)用程序和XML Web Services開發(fā)關(guān)鍵技術(shù)的訪問。因此,使用Visual Studio.NET 20

39、05作為開發(fā)環(huán)境進行高效開發(fā)乃是最佳選擇。</p><p><b>  3  需求分析</b></p><p>  3.1 特性需求分析</p><p>  一個好的教學(xué)管理系統(tǒng)應(yīng)該具有一下特性:</p><p>  (1)易操作和功能簡單明確不令人誤解。一個良好的教學(xué)管理系統(tǒng)應(yīng)該功能明確,沒有二義性,用戶可以很明了的通

40、過界面明白各項功能的實現(xiàn)方法,而不是看到界面不知道各按鈕的具體用途,即操作簡單,界面友好。學(xué)生可以根據(jù)手機界面或網(wǎng)頁界面很明白的進行對簽到記錄,作業(yè)情況的查詢,并能夠?qū)⒆约旱姆答伡皶r提交給老師。</p><p>  (2)軟件功能流暢,不拖沓。軟件登陸,連接網(wǎng)絡(luò)不能讓用戶等待時間過長,引起用戶的煩躁。軟件在運行不能發(fā)生崩潰,卡頓等問題,整個界面操作起來很流暢。</p><p>  (3)系

41、統(tǒng)應(yīng)該容易維護以及更新。系統(tǒng)各個模塊設(shè)計應(yīng)該很明確,核心代碼處應(yīng)有必要的注釋,使得今后的軟件維護,軟件更新等操作應(yīng)該能夠順利的進行。 </p><p>  3.2 功能需求分析</p><p>  學(xué)生客戶端教學(xué)管理系統(tǒng)應(yīng)該能完成四種功能包括登錄功能,簽到情況查詢功能,作業(yè)情況以及評分情況查詢功能和向教師進行反饋功能,并且能手機客戶端形式與網(wǎng)頁客戶端兩種形式實現(xiàn)上述功能,保證系統(tǒng)的正常運行

42、。系統(tǒng)用例圖如圖3-1。</p><p>  圖3-1  教學(xué)信息管理系統(tǒng)用例圖</p><p>  (1)登錄功能進行學(xué)生身份的驗證。手機客戶端把學(xué)生學(xué)號密碼通過網(wǎng)路傳遞給服務(wù)器,有服務(wù)器進行數(shù)據(jù)庫查詢,如若學(xué)號和密碼匹配,則將學(xué)生信息和數(shù)據(jù)庫內(nèi)容傳遞到手機端,不匹配則返回錯誤信息提示錯誤。網(wǎng)頁客戶端相似,若學(xué)號密碼匹配,則進入系統(tǒng),不匹配則拒絕登錄。系統(tǒng)用例圖如圖3-2。</p&

43、gt;<p>  圖3-2  登錄功能用例圖</p><p>  (2)簽到情況查詢功能可以提供給學(xué)生查詢自己相應(yīng)課程的簽到情況,學(xué)生可以選擇查詢的課程名稱,查看各個課程的考勤時間,和相應(yīng)自己的簽到記錄。用例圖如3-3。</p><p>  圖3-3  簽到功能用例圖</p><p>  (3)作業(yè)內(nèi)容評分情況查詢功能提供給學(xué)生查詢每個課程作業(yè)的情況,

44、學(xué)生通過選擇需要查詢的課程,查看此課程教師留下的作業(yè)的作業(yè)號,日期和作業(yè)題目等內(nèi)容,并可以查詢自己在此項作業(yè)中得到的分數(shù)。用例圖如圖3-4所示。</p><p>  圖3-4  作業(yè)功能用例圖</p><p>  (4)反饋功能則是學(xué)生向教師提出意見和建議的平臺,學(xué)生可以通過此平臺,選擇想進行反饋的課程,給課程老師留言,查詢修改和刪除以往的反饋內(nèi)容,課程老師可以通過教師客戶端查看學(xué)生留言。

45、用例圖如圖3-5所示。</p><p>  圖3-5  反饋功能用例圖</p><p><b>  3.3 數(shù)據(jù)流圖</b></p><p>  數(shù)據(jù)流圖描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換,它反映系統(tǒng)必須完成的邏輯功能。從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。教學(xué)管理系統(tǒng)的運行同樣離不開信息流

46、和數(shù)據(jù)流移動變換,數(shù)據(jù)流圖的描繪可以幫助開發(fā)者更好地理清整個程序的運行過程和參數(shù)傳遞。</p><p>  (1)學(xué)生登錄功能主要是在服務(wù)器端進行的。學(xué)生用戶在登錄界面輸入學(xué)號和密碼,手機客戶端會通過網(wǎng)絡(luò)將學(xué)號和密碼傳送給服務(wù)器,服務(wù)器查詢數(shù)據(jù)庫,驗證學(xué)號和密碼是否與學(xué)生表中記錄相同,如若兩者和數(shù)據(jù)庫中信息正確,則將客戶端需要的數(shù)據(jù)庫文件和信息傳遞過去。登陸功能數(shù)據(jù)流圖如圖3-6。</p><

47、p>  圖3-6  登陸功能數(shù)據(jù)流圖</p><p>  (2)手機客戶端中學(xué)生簽到功能通過查詢下載的數(shù)據(jù)庫文件實現(xiàn)。學(xué)生登陸成功后,學(xué)號信息會記錄在手機中,查詢數(shù)據(jù)庫是可以被引用,進入簽到功能界面,選擇需要查看的課程,選擇完成后,系統(tǒng)會將課程名稱記錄下來,根據(jù)學(xué)號和課程名稱信息查詢此課程學(xué)生用戶的簽到情況。簽到功能數(shù)據(jù)流圖如圖3-7。</p><p>  圖圖3-7  簽到功能數(shù)據(jù)

48、流圖</p><p>  (3)在進入作業(yè)功能界面時,學(xué)號信息會被記錄下來,學(xué)生選擇查詢的課程,記錄下課程名稱,根據(jù)學(xué)號與課程名稱查詢數(shù)據(jù)庫,顯示出查詢到的作業(yè)信息,學(xué)生選擇某一個作業(yè),通過學(xué)號信息查詢自己的得分情況。作業(yè)功能數(shù)據(jù)流程如圖3-8。</p><p>  圖3-8  作業(yè)功能數(shù)據(jù)流圖</p><p>  (4)同簽到功能和作業(yè)功能相同,進入反饋界面時,學(xué)

49、號,姓名信息被記錄,學(xué)生選擇反饋的課程,記錄下課程名稱,根據(jù)學(xué)號和課程名稱查詢數(shù)據(jù)庫,進入反饋界面后,學(xué)生可以選擇直接對課程進行添加反饋,也可以修改和刪除反饋信息,完成相關(guān)操作后,數(shù)據(jù)會上傳數(shù)據(jù)庫,教師端通過查詢數(shù)據(jù)庫查看反饋信息。反饋功能數(shù)據(jù)流圖如圖3-9。</p><p>  圖3-9  作業(yè)功能數(shù)據(jù)流圖</p><p><b>  4  總體設(shè)計</b><

50、/p><p>  總體設(shè)計即對有關(guān)系統(tǒng)全局問題的設(shè)計,也就是設(shè)計系統(tǒng)總的處理方案,又稱系統(tǒng)概要設(shè)計。它包括:硬件配置設(shè)計、系統(tǒng)模塊結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、代碼設(shè)計等內(nèi)容。軟件功能分解屬于下列軟件開發(fā)中的總體設(shè)計階段。</p><p>  4.1 硬件配置設(shè)計</p><p><b>  (1)手機客戶端:</b></p><p&g

51、t;  Android系統(tǒng)要求:Android 2.3.3及其以上。</p><p>  手機配置:內(nèi)存 256M及其以上。</p><p>  主頻 600HZ及其以上。</p><p><b>  (2)網(wǎng)頁客戶端:</b></p><p>  系統(tǒng)要求:window xp,vista以及win7,Linux等<

52、;/p><p>  硬件配置:處理器:奔騰4處理器及以上;</p><p>  內(nèi)存:1G及其以上。</p><p>  硬盤:20G及其以上。</p><p>  4.2 系統(tǒng)模塊結(jié)構(gòu)設(shè)計</p><p>  教學(xué)管理系統(tǒng)學(xué)生客戶端主要提供學(xué)生登陸,查詢簽到情況,查詢作業(yè)情況,反饋信息四項功能,因此可以將系統(tǒng)分為四個模塊

53、:登陸模塊,簽到模塊,作業(yè)模塊,反饋模塊。</p><p>  圖4-1  考勤系統(tǒng)結(jié)構(gòu)圖</p><p>  系統(tǒng)的主要功能概述:</p><p>  (1)登錄模塊包括驗證信息功能和網(wǎng)絡(luò)傳遞功能,學(xué)生可以通過此模塊輸入學(xué)號密碼,通過網(wǎng)絡(luò)將輸入的學(xué)號和密碼傳遞給服務(wù)器,服務(wù)器通過搜索數(shù)據(jù)庫驗證密碼和學(xué)號是否匹配,若不匹配則傳遞提示錯誤信息給相應(yīng)客戶端,若匹配則傳遞

54、給手機客戶端需要的數(shù)據(jù)庫文件和學(xué)生信息,網(wǎng)頁客戶端則直接進入功能界面。</p><p>  (2)簽到模塊包括選擇課程功能和查看簽到信息功能。學(xué)生進入界面后可以選擇需要查詢的課程,然后通過課程名稱和學(xué)號查詢數(shù)據(jù)庫,搜索出登陸學(xué)生和對應(yīng)課程的簽到信息,顯示在簽到信息界面。</p><p>  (3)作業(yè)模塊包括查看作業(yè)內(nèi)容功能和查看作業(yè)評分內(nèi)容。學(xué)生進入作業(yè)查詢界面后,可以選擇需要查詢的課程

55、,在數(shù)據(jù)庫中搜索對應(yīng)課程的作業(yè)信息,顯示在作業(yè)情況界面,點擊單個作業(yè)情況,可以查看作業(yè)題目的具體內(nèi)容,并查詢數(shù)據(jù)庫,顯示該作業(yè)的登錄學(xué)生的個人得分情況。</p><p>  (4)反饋模塊包括添加反饋信息功能,刪除反饋信息功能和修改反饋信息功能。學(xué)生先選擇需要反饋的課程,然后進入反饋信息界面。在反饋信息可以進行添加,修改和刪除反饋信息功能,添加修改刪除完成后,對數(shù)據(jù)庫進行更改,然后由網(wǎng)絡(luò)發(fā)送信息使服務(wù)器也進行相應(yīng)

56、更改,使客戶端和數(shù)據(jù)庫端信息實現(xiàn)同步。</p><p><b>  4.3 數(shù)據(jù)庫設(shè)計</b></p><p>  4.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p>  實體-聯(lián)系圖,即E-R圖,提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型,在數(shù)據(jù)庫系統(tǒng)概論中屬于概念設(shè)計階段。E-R圖的設(shè)計與建立,可以幫助開發(fā)者更加合理的去制定

57、數(shù)據(jù)庫內(nèi)容,使得在開發(fā)過程中對數(shù)據(jù)庫的各種操作(添加,查詢,修改或刪除)變得簡單易行。</p><p>  教學(xué)管理系統(tǒng)學(xué)生客戶端的實體聯(lián)系圖的實體主要包括學(xué)生,班級,課程,簽到記錄,作業(yè),留言板和教師實體。其中,班級和學(xué)生之間是一對多的關(guān)系;簽到記錄和學(xué)生之間是一對多的關(guān)系;教師與簽到記錄之間是一對多的關(guān)系;課程與教師之間是一對多的關(guān)系;教師與作業(yè)之間是一對多的關(guān)系;課程與作業(yè)之間是一對多的關(guān)系;學(xué)生與留言記錄

58、之間是一對多的關(guān)系;教師與留言記錄之間是一對多的關(guān)系。由于每個課程都可以有很多學(xué)生選,而每個學(xué)生可以選很多課程,所以兩者之間是多對多的關(guān)系;由于每個學(xué)生都要有評分,因此作業(yè)與學(xué)生之間有對應(yīng)關(guān)系,而每個作業(yè)對應(yīng)的是一個班級所有學(xué)生的,而每個學(xué)生可以有很多作業(yè),因此作業(yè)和學(xué)生之間是多對多的關(guān)系。教學(xué)管理系統(tǒng)的實體聯(lián)系圖如圖4-2所示。</p><p>  圖4-2  教學(xué)管理系統(tǒng)E-R圖</p><

59、;p><b>  部分實體圖如下:</b></p><p>  (1)學(xué)生實體圖包括四個屬性,其中包括學(xué)號,姓名,密碼以及班級號,學(xué)號密碼兩個屬性可以用來作為身份驗證,供登錄模塊使用,班級號作為與班級實體對應(yīng),學(xué)號與姓名實現(xiàn)與其他實體連接。學(xué)生實體圖如圖4-3。</p><p>  圖4-3  學(xué)生實體圖</p><p>  (2)課程實

60、體圖包括兩個屬性,分別為課程名稱與課程號。兩個屬性可以連接學(xué)生實體,教師實體以及作業(yè)實體。課程實體如圖4-4所示。</p><p>  圖4-4  課程實體圖</p><p>  (3)班級實體圖包括兩個屬性,分別為班級名稱與班級號。兩個屬性可以連接學(xué)生實體。班級實體如圖4-5所示。</p><p>  圖4-5  班級實體圖</p><p>

61、;  (4)作業(yè)實體圖包括作業(yè)號,課程號,日期,班級號以及作業(yè)題目五項屬性。作業(yè)題目記錄著作業(yè)的詳細內(nèi)容,日期記錄者作業(yè)的日期,課程號和班級對應(yīng)著哪個班哪個課程留的作業(yè),作業(yè)號聯(lián)系著學(xué)生,教師以及課程實體。作業(yè)實體圖如圖4-6。</p><p>  圖4-6  作業(yè)實體圖</p><p>  (5)留言記錄實體圖包括內(nèi)容編號,學(xué)生編號,班級號,日期,課程號,反饋內(nèi)容六個屬性。學(xué)生號,班級號

62、和課程號記錄著哪個班級的哪個課程的哪個學(xué)生留下的反饋信息,日期對應(yīng)著反饋信息時間,通過內(nèi)容號找出某個留言信息。實體圖如圖4-7。</p><p>  圖4-7  留言記錄實體圖</p><p>  (6)簽到記錄實體圖包括學(xué)生編號,班級名,日期,課程名,到否五個屬性。學(xué)生號,班級名和課程名記錄著哪個班級的哪個課程的哪個學(xué)生的簽到信息,日期對應(yīng)著學(xué)生簽到的時間,到否記錄該學(xué)生此次考勤是否簽到

63、。實體圖如圖4-8。</p><p>  圖4-8  簽到記錄實體圖</p><p>  (7)教師實體圖包括教師號,密碼,以及教師姓名三項屬性。教師實體主要應(yīng)用于教師客戶端,學(xué)生客戶端不涉及到教師實體。實體圖如圖4-9。</p><p>  圖4-9  教師實體圖</p><p>  4.3.2 數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計</p>

64、<p>  根據(jù)以上的實體屬性集可以建立相應(yīng)的數(shù)據(jù)庫表結(jié)構(gòu),其中教學(xué)管理系統(tǒng)學(xué)生客戶端主要用到的數(shù)據(jù)庫表結(jié)構(gòu)如下所示。</p><p>  (1)學(xué)生表(student)包括學(xué)號,姓名,密碼,與班級號四個字段。教學(xué)管理系統(tǒng)學(xué)生客戶端需要通過查詢學(xué)生表驗證學(xué)生信息,查詢登陸者是否屬于學(xué)校人員,并將學(xué)生信息的部分內(nèi)容反饋給客戶端。學(xué)生表如表4-1。</p><p><b>

65、  表4-1  學(xué)生表</b></p><p>  (2)班級表(class)包括班級號與班級名兩個字段。教學(xué)管理系統(tǒng)無論學(xué)生端還是教師端都需要查詢班級內(nèi)容,將班級內(nèi)容從學(xué)生表和教師表中提取出來可以簡化數(shù)據(jù)庫的相關(guān)操作。班級表如表4-2所示。</p><p><b>  表4-2  班級表</b></p><p>  (3)課程表(

66、course)包括課程編號與課程名兩個字段。學(xué)生無論是查詢簽到情況,作業(yè)情況還是反饋信息,都需要選擇課程,因此課程表是必須的。課程表如表4-3。</p><p><b>  表4-3  課程表</b></p><p>  (4)選課表(cs)包括學(xué)生編號和課程信息兩個字段。由于學(xué)生與課程之間是多對多的關(guān)系,因此需要在兩個表之間添加一張選課表聯(lián)系兩張表。選課表如表4-4

67、:</p><p><b>  表4-4  選課表</b></p><p>  (5)作業(yè)表(hw)是用來記錄每個班級作業(yè)的具體情況,學(xué)生查看作業(yè)內(nèi)容需要查詢此表。作業(yè)表包括作業(yè)編號,課程編號,班級號,日期和題目五個字段其中問題內(nèi)容可以為空,hwid要求每次自增1。 作業(yè)表如表4-5。</p><p><b>  表4-5  作業(yè)表&

68、lt;/b></p><p>  (6)作業(yè)表(hwdata)包括作業(yè)編號,學(xué)生編號,分數(shù)三個字段,其中分數(shù)采用5分制。由于作業(yè)與學(xué)生之間是多對多的關(guān)系,因此需要創(chuàng)建一個作業(yè)記錄表來關(guān)聯(lián)兩個表,學(xué)生可以通過查詢此表來查詢自己的成績。作業(yè)記錄表如表4-6。</p><p>  表4-6  作業(yè)記錄表</p><p>  (7)簽到記錄表(signdata)包括五

69、個字段,分別為學(xué)生編號,課程名稱,日期,班級名稱和到否。學(xué)生可以通過這個表來查詢自己每個課程的簽到情況。簽到記錄表如表4-7。</p><p>  表4-7  簽到記錄表</p><p>  (8)留言記錄(feedback)包括內(nèi)容編號,學(xué)生編號,課程名稱,日期以及反饋內(nèi)容五個字段,其中反饋內(nèi)容允許為空,內(nèi)容編號每次自增1。學(xué)生可以通過增加,修改刪除此表內(nèi)容對教師進行反饋。留言板表如表4

70、-8。</p><p><b>  表4-8  留言表</b></p><p>  以上將教務(wù)處子系統(tǒng)中數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計的E-R圖轉(zhuǎn)換成SQLITE與Microsoft SQL Server2000 所支持的數(shù)據(jù)模型相符合的結(jié)構(gòu),只需使用數(shù)據(jù)定義語言將數(shù)據(jù)庫邏輯設(shè)計和物理設(shè)計的結(jié)果嚴格描述出來,再經(jīng)過調(diào)試產(chǎn)生目標模式就可以組織數(shù)據(jù)入庫,進行數(shù)據(jù)庫實施。</p&

71、gt;<p><b>  4.4 代碼設(shè)計</b></p><p>  在代碼設(shè)計這部分,將具體設(shè)計整個系統(tǒng)所用的大概邏輯框架,為詳細設(shè)計提供必要的參考,以及各模塊編程的規(guī)范,參數(shù)的傳遞以及函數(shù)的接口。</p><p>  (1)首先,全局變量的傳遞。學(xué)生登陸后要記錄該學(xué)生用戶個人信息,以便完成后續(xù)的功能查詢,因此學(xué)生的學(xué)號信息要傳遞到studentid

72、這個全局變量中,其他功能查詢時,接受此變量的值即可使用學(xué)號查詢,學(xué)生姓名傳遞到studentname這個全局變量中,學(xué)生所在班級號傳遞到classid中。同樣,在每個功能選擇查詢課程的時候,可將課程名稱傳遞到coursename這個變量中,其他函數(shù)調(diào)用時,即可接受此變量的值。</p><p>  (2)所有的Activity類學(xué)要寫在一個activity的package內(nèi),所有的數(shù)據(jù)庫操作函數(shù)都要寫在一個DAO的

73、package,所有的結(jié)構(gòu)類都要寫在一個model的package中,每個類的名字和函數(shù)的名字都要用易讀的名稱,以便系統(tǒng)的修改,更行等操作。</p><p>  (3)在重要的函數(shù)和類成員旁邊加上注釋,增加可讀性。</p><p>  (4)學(xué)生表儲存在“check.db”的數(shù)據(jù)庫文件,供登陸時查詢。</p><p>  (5)數(shù)據(jù)庫的其他表統(tǒng)一儲存在數(shù)據(jù)庫文件“m

74、ydata.db”中,以便調(diào)用。</p><p>  (6)每個函數(shù)的代碼應(yīng)控制在50行以內(nèi),參數(shù)傳遞控制在三個以內(nèi),以便增加系統(tǒng)可讀性。</p><p>  (7)服務(wù)器端接收客戶端請求端號為4567,向客戶端發(fā)送信息端號為4568</p><p>  通過總體設(shè)計對軟件的結(jié)構(gòu)框架有了整體的認識,對系統(tǒng)的每個模塊的功能都有了清晰的了解。下面便可以通過詳細設(shè)計來實現(xiàn)

75、整個系統(tǒng)。</p><p><b>  5  詳細設(shè)計</b></p><p><b>  5.1 手機客戶端</b></p><p>  5.1.1 學(xué)生登陸模塊</p><p>  手機客戶端首先下載或更新“mydata.db”更新本地數(shù)據(jù)庫。然后客戶端通過查詢本地數(shù)據(jù)庫檢驗用戶輸入的登錄信息是

76、否正確,如若信息不正確則傳遞提示錯誤信息,由客戶端Toast出錯誤提示(如圖5-2),若信息正確,提示登陸成功(如圖5-3),將學(xué)號傳遞給studentid,學(xué)生姓名傳遞給studentname,班級號傳遞給classid,,并進入下一功能界面。</p><p>  網(wǎng)絡(luò)功能使用Socket來傳遞客戶端和服務(wù)器端的信息??蛻舳诵枰猄ocket這個類的對象,而服務(wù)器端同樣需要一個叫ServerSocket的類對象,

77、由客戶端發(fā)送一個Socket請求,服務(wù)器端的ServerSocket監(jiān)聽計算機的某一個端口號(4567),監(jiān)聽到客戶端發(fā)送的請求之后,那么服務(wù)器端和客戶端通訊通道就建立起來了,此時客戶端和服務(wù)器端可同時向?qū)Ψ桨l(fā)送數(shù)據(jù)及相應(yīng)信息??蛻舳税l(fā)送數(shù)據(jù)需要用到IO流里面的OutputStream,通過OutputStream將數(shù)據(jù)發(fā)送給服務(wù)器端,服務(wù)器端用InputStream來讀取客戶端當中用OutputStream所寫入的數(shù)據(jù),同樣,服務(wù)器端

78、想將數(shù)據(jù)庫文件發(fā)送給客戶端時,那么就使用OutputStream寫出數(shù)據(jù),在客戶端通過InputStream把服務(wù)器端當中通過OutputStream所寫入的數(shù)據(jù)給它讀取出來。</p><p>  圖5-1  登錄界面</p><p>  圖5-2  登錄失敗提示</p><p>  圖5-3  登錄成功提示</p><p>  查詢登錄信息

79、的SQL語句為:(例如:服務(wù)器端接收的學(xué)號為sid,密碼為pword)</p><p>  Select studentname,password</p><p>  From student </p><p>  Where studentid = sid</p><p>  若數(shù)據(jù)庫中無sid對應(yīng)信息,則返回錯誤信息,若有,服務(wù)器端驗證p

80、assword=pword,匹配則返回成功信息,傳遞“mydata.db”,不匹配則返回錯誤信息。</p><p>  5.1.2 簽到模塊</p><p>  簽到模塊主要功能是查看登錄學(xué)生的各門課程課程的簽到情況。</p><p>  首先,先搜索該學(xué)生都學(xué)習(xí)了哪些課程,查詢課程名稱的SQL語句如下:</p><p>  (例如:stud

81、entid=’001’)</p><p>  Select coursename as _id </p><p>  From course,cs </p><p>  Where studentid=’001’ and course.courseid=cs.courseid</p><p>  查找到的課程名通過listview顯示在界面中

82、。</p><p>  圖5-4  簽到模塊選擇班級界面</p><p>  點擊課程名稱,將執(zhí)行操作:</p><p>  將點擊的listview中的課程名傳遞到coursename,即</p><p>  String coursename=((TextView)view).getText().toString();</p>

83、<p>  然后執(zhí)行如下SQL語句查詢簽到信息:</p><p>  (例如:點擊為數(shù)據(jù)結(jié)構(gòu))</p><p>  Select datetime as _id,sign </p><p>  From signdata </p><p>  Where coursename=’數(shù)據(jù)結(jié)構(gòu)’ and studentid=’001’

84、</p><p>  便搜索到如圖5-5:</p><p>  圖5-5  個人簽到情況界面</p><p>  5.1.3 作業(yè)模塊</p><p>  作業(yè)模塊主要功能是查看登錄學(xué)生的各個科目的作業(yè)情況情況,學(xué)生可以選擇科目,查看對應(yīng)科目所留作業(yè)的時間內(nèi)容和自己得到的分數(shù)。</p><p>  首先通過數(shù)據(jù)庫搜索到

85、學(xué)生所學(xué)課程。點擊圖5-6界面中的課程:</p><p>  圖5-6  作業(yè)模塊選擇班級界面</p><p>  同簽到模塊一樣,將課程名傳到coursename中,然后由課程名稱coursename找到課程編號:(例如:coursename=’08信計’)</p><p>  Select courseid </p><p>  From

86、 course </p><p>  Where coursename=’08信計’</p><p>  由courseid以及classid查詢班級中留下的作業(yè):</p><p>  (例如:courseid=’08信計’,classid=’001’)</p><p>  select hwid as _id,datetime,questi

87、on </p><p><b>  from hw </b></p><p>  where classid=’001’ and courseid=’08信計’</p><p>  將轉(zhuǎn)到作業(yè)歷史界面:</p><p>  圖5-7  作業(yè)信息界面</p><p>  點擊單個作業(yè)記錄,執(zhí)行如下S

88、QL語句:(例如:hwid=’0001’,studentid=’001’)</p><p>  Select score </p><p>  From hwdata </p><p>  Where hwid=’0001’ and studentid=’001’</p><p>  找到學(xué)生得分后顯示question和score的內(nèi)容,如圖

89、5-8所示:</p><p>  圖5-8  作業(yè)題目和得分</p><p>  5.1.4 反饋模塊</p><p>  反饋模塊主要功能是進行學(xué)生對教師上課內(nèi)容或作業(yè)內(nèi)容進行反饋,將自己的疑問好的意見和建議提交給老師,供老師查看。這個模塊可以完成學(xué)生進行反饋信息的增加,刪除和修改功能。</p><p>  同簽到模塊和作業(yè)模塊相同,一開始

90、用數(shù)據(jù)庫選出學(xué)生所學(xué)科目。</p><p>  圖5-8  反饋功能選擇班級界面</p><p>  課程選擇完成后,將科目名稱傳遞到coursename中,例如coursename=離散數(shù)學(xué)。</p><p>  在數(shù)據(jù)庫中搜索登錄學(xué)生先前發(fā)表的反饋SQL語句如下:</p><p>  Select context</p>&

91、lt;p>  From feedback</p><p>  Where studentid=’001’ and coursename=’離散數(shù)學(xué)’</p><p>  然后進入反饋界面,如下圖5-9:</p><p>  圖5-9  反饋功能界面</p><p>  在文本框中輸入需要進行的反饋,點擊反饋按鈕,將輸入信息寫入數(shù)據(jù)庫,判

92、斷數(shù)據(jù)庫是否為空,為空則插入fdid=1,不為空則不用插入fdid。</p><p>  添加反饋信息的SQL語句如下:</p><p>  Insert into feedback </p><p>  (fdid,studentid,coursename,datetime,context)</p><p>  Values (’1’,’0

93、01’,’離散數(shù)學(xué)’,’2012-4-28’,’第一個問題不會’)</p><p>  點擊手機menu鍵,屏幕底端會出現(xiàn)修改和刪除按鈕,選中所要刪除和修改的內(nèi)容,可以進行對反饋內(nèi)容的修改和刪除。</p><p>  刪除反饋信息的SQL語句:</p><p>  Delete from feedback </p><p>  Where f

94、did =_id</p><p>  修改反饋信息的SQL語句:</p><p>  Udpate feedback </p><p>  Set context=’第二個問題不會’</p><p>  where sortid=_id; </p><p>  每次更新數(shù)據(jù)庫,則發(fā)送完畢后通過socket將數(shù)據(jù)庫語句

95、發(fā)送給服務(wù)器端,并使服務(wù)器端進行數(shù)據(jù)庫更新,使手機客戶端的信息與服務(wù)器端信息實現(xiàn)同步。</p><p>  至此,手機客戶端的主要功能已經(jīng)實現(xiàn),軟件的代碼編寫思路,數(shù)據(jù)庫查詢語句和界面設(shè)計都已經(jīng)很清晰得以闡述,需求中的要求都得以了實現(xiàn)。</p><p>  5.2 服務(wù)器端模塊</p><p>  5.2.1 通訊數(shù)據(jù)格式定義</p><p>

96、;  服務(wù)器端主要用來接收客戶端發(fā)來的信息,進行相應(yīng)的操作,并將數(shù)據(jù)返回給客戶端,同時對服務(wù)器端數(shù)據(jù)庫進行管理。</p><p>  本系統(tǒng)利用Socket機制實現(xiàn)服務(wù)器端與客戶端之間數(shù)據(jù)的傳送,并且要對數(shù)據(jù)格式進行規(guī)范。服務(wù)器端向客戶端發(fā)送數(shù)據(jù)的格式定義為表5-1的形式。</p><p>  表5-1  客戶端向服務(wù)器端發(fā)送數(shù)據(jù)的格式</p><p>  頭信息定

97、義為:0該信息為請求下載數(shù)據(jù)庫文件和傳遞用戶參數(shù),1該信息為請求添加數(shù)據(jù),2該信息為請求刪除數(shù)據(jù),3該信息為請求刪除數(shù)據(jù)。</p><p>  服務(wù)器端向客戶端發(fā)送數(shù)據(jù)的格式定義為表5-2的形式。</p><p>  表5-2  服務(wù)器端向客戶端發(fā)送數(shù)據(jù)的格式</p><p>  頭信息定義為:1該信息為數(shù)據(jù)庫文件,2該信息為操作返回信息。</p>&

98、lt;p>  5.2.2 接收客戶端發(fā)來的請求信息功能模塊</p><p>  服務(wù)器端接收客戶端的請求信息,通過建立一個一直運行的線程保持監(jiān)聽客戶端發(fā)來的請求信息。部分代碼如下:</p><p>  n private class ServerThread extends Thread    {//接收信息線程</p><p>

99、;  public void run()</p><p>  { //聲明一個ServerSocket對象</p><p>  ServerSocket server= null;</p><p>  while(true){//無線循環(huán)</p><p><b>  try{</b></p>&l

100、t;p>  server = new ServerSocket(4567);//定義接受端口</p><p>  client = server.accept();//</p><p>  in = new BufferedReader(new InputStreamReader(</p><p>  client.getInputStream()));//定

101、義輸入流</p><p>  this.request = in.readLine();//獲取信息</p><p>  this.head = this.request.substring(0,1);//剝離頭信息</p><p>  if(this.head.equals(“0”)){//判斷頭信息</p><p><b>  

102、…</b></p><p><b>  }</b></p><p><b>  …</b></p><p><b>  }</b></p><p>  數(shù)據(jù)庫參數(shù)請求格式如下:(以添加為例)</p><p>  Insert into tab

103、le1,table2,table3</p><p>  (context1,context2,context3,context4,context5,context6,</p><p>  context7,context8,context9,context10)</p><p>  Values (?,?,?,?,?)</p><p>  在

104、本系統(tǒng)所用添加刪除修改最多不超過三個表,添加內(nèi)容不會超過10個內(nèi)容,傳遞數(shù)據(jù)時參數(shù)形式為:</p><p>  data[]=new byte[1024],</p><p>  data[]={“table1”, “table2” , “table3”,“context1” ,“context2” ,</p><p>  “context3” ,“context4”

105、 ,“context5” ,“context6” ,“context7” ,</p><p>  “context8” ,“context9” ,“context10”}</p><p>  其中若table或context為空,我們統(tǒng)一設(shè)定其為-1。</p><p>  同樣,修改,刪除形式如上</p><p>  5.2.3 發(fā)送返回數(shù)據(jù)

106、模塊</p><p>  在服務(wù)器端接收到客戶端發(fā)來的請求時,服務(wù)器端將從數(shù)據(jù)庫中查詢相關(guān)內(nèi)容返回給客戶端。</p><p>  將模擬器的4567端口綁定到4568端口,代碼如下:</p><p>  Runtime.getRun().exec(this.ADB_PATH+”forward tcp:4568 tcp:4567”);</p><p

107、>  Qizhong ADB_PATH為adb即為Android Debug Bridge所在路徑。綁定端口后,想模擬器4567端口發(fā)送的信息其實是通過4568端口發(fā)送的。</p><p>  服務(wù)器端發(fā)送返回數(shù)據(jù)的代碼如下:</p><p>  Socket client=new Socket(“l(fā)ocalhost”,4567);</p><p>  Obj

108、ectOutputStream out=new ObjectOutputStream(client.getOutputSrtream());</p><p>  Out.writeObject(data);//data為數(shù)據(jù)內(nèi)容</p><p><b>  5.3 網(wǎng)頁客戶端</b></p><p>  由于考慮到學(xué)生經(jīng)濟條件的不平均,不能保證

109、每個學(xué)生都能擁有一部Android手機,以至于部分學(xué)生不能使用此軟件,導(dǎo)致學(xué)生不能正常查看自己作業(yè)簽到情況,不能將好的建議意見提交給老師,影響正常的學(xué)習(xí)生活,網(wǎng)頁學(xué)生客戶端是必要的。</p><p>  網(wǎng)頁客戶端的主要功能同手機客戶端的功能大體相似,分為五個模塊:登陸模塊,功能選擇模塊,簽到模塊,作業(yè)模塊以及反饋模塊。</p><p>  5.3.1 登錄模塊</p>&l

110、t;p>  登錄模塊同樣用于學(xué)生身份的驗證,在服務(wù)器端驗證用戶名與密碼正確與否。SQL語句較手機客戶端稍有不同。</p><p>  例:學(xué)號:001,密碼:1234的學(xué)生信息查詢SQL語句為:</p><p><b>  Select *</b></p><p>  From student</p><p>  

111、Where studentid=’001’ and password=’1234’</p><p>  若查找到學(xué)生信息則登陸成功,否則,登錄失敗。</p><p>  網(wǎng)頁客戶端登陸界面如圖5-10。</p><p>  圖5-10  網(wǎng)頁端登陸界面</p><p>  5.3.2 功能選擇模塊</p><p>  

112、此模塊是較手機客戶端多出的一個小模塊,由于手機客戶端可用TabHost分頁顯示出三個模塊,網(wǎng)頁客戶端受到網(wǎng)頁制作的限制,只得添加一個功能選擇模塊實現(xiàn)各功能頁面的跳轉(zhuǎn)。這里使用RadioButton選擇頁面的跳轉(zhuǎn)。</p><p>  功能選擇界面如圖5-11。</p><p>  圖5-11  選擇功能頁面</p><p>  5.3.3 簽到模塊</p>

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論