版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、鹽城師范學(xué)院畢業(yè)設(shè)計畢業(yè)設(shè)計 學(xué)生姓名 學(xué) 院 專 業(yè) 班 級 學(xué) 號 指導(dǎo)教師 2016年 5 月 16 日 基于Android平臺的教學(xué)督導(dǎo)系統(tǒng)的設(shè)計與開發(fā)摘 要隨著4G時代的逐步發(fā)展,移動智能手機已廣泛應(yīng)用,移動便攜概念幾乎成為各行業(yè)的關(guān)注點,隨之便有了各類手機軟件系統(tǒng)的產(chǎn)生。由于教學(xué)評課系統(tǒng)在移動端的需求,基于安卓平臺的教學(xué)督導(dǎo)系統(tǒng)應(yīng)運而生,主要分為.NET服務(wù)器端和安卓移動端兩部分。服務(wù)端采用ASP .NET實現(xiàn)WebService接口,用SQLServer建立數(shù)據(jù)源。移動端的主要功能:權(quán)限管理,教學(xué)評價,統(tǒng)計分析。移動端系統(tǒng)在Eclipse軟件中開發(fā),從服務(wù)端獲取XMl文件數(shù)據(jù)并解
2、析。使用Photoshop軟件進行Ui界面美化和軟件工程思想,使教學(xué)評價更系統(tǒng)、科學(xué)、直觀,經(jīng)測試在安卓4.0以上版本都可適應(yīng)?!娟P(guān)鍵詞】Android;WebServic;數(shù)據(jù)庫;XML解析Teaching supervision System design and development based on AndroidAbstractWith the gradual development of the 4G era , mobile terminal have been widely used, mobile and portable concept are becoming the
3、focus of attention of various industries, then all kinds of mobile phone software system has been produced.Because of the demand of the teaching evaluation system in the mobile terminal, The teaching supervision system based on the Android platform arises at the historic moment, mainly divided into
4、.NET server side and Android mobile terminal two parts.The server uses ASP.NET to achieve WebService interface, using SQLServer to establish the data source.Main functions of mobile terminal: privilege management, teaching evaluation, statistical comparison.The mobile terminal system developed by Ec
5、lipse software, XMl file access and resolution data from the .NET server.Using software engineering ideas and Photoshop software Ui interface landscaping, so that the teaching evaluation system more convenient and more intuitive, more than 4.0 versions of the test can be adapted to Android.Key words
6、 Android,WebServic,SQL Server , XML Analysis鹽城師范學(xué)院畢業(yè)設(shè)計目 錄TOC o 1-3 h u HYPERLINK l _Toc420134693 1引 言1 HYPERLINK l _Toc420134694 1.1課題的研究 PAGEREF _Toc420134694 h 1 HYPERLINK l _Toc420134695 1.1.1研究的背景與意義 PAGEREF _Toc420134695 h 1 HYPERLINK l _Toc420134696 1.1.2研究的思路與相關(guān)技術(shù) PAGEREF _Toc420134696 h 1 HY
7、PERLINK l _Toc420134697 1.2 系統(tǒng)的整體方案1 HYPERLINK l _Toc420134698 2 系統(tǒng)的開發(fā)環(huán)境及關(guān)鍵技術(shù)2 HYPERLINK l _Toc420134699 2.1 開發(fā)環(huán)境介紹2 HYPERLINK l _Toc420134700 2.1.1操作系統(tǒng)2 HYPERLINK l _Toc420134701 2.1.2開發(fā)工具2 HYPERLINK l _Toc420134702 2.2關(guān)鍵技術(shù)介紹3 HYPERLINK l _Toc420134703 2.2.1 服務(wù)器端關(guān)鍵技術(shù)3 HYPERLINK l _Toc420134704 2.2.
8、2系統(tǒng)客戶端關(guān)鍵技術(shù)4 HYPERLINK l _Toc420134706 3 系統(tǒng)分析4 HYPERLINK l _Toc420134707 3.1 需求分析4 HYPERLINK l _Toc420134710 3.1.1傳統(tǒng)評價系統(tǒng)的不足4 HYPERLINK l _Toc420134711 3.1.2系統(tǒng)的預(yù)期優(yōu)勢4 HYPERLINK l _Toc420134708 3.2 系統(tǒng)功能分析5 HYPERLINK l _Toc420134709 3.3 系統(tǒng)可行性分析5 HYPERLINK l _Toc420134710 3.3.1經(jīng)濟可行性5 HYPERLINK l _Toc42013
9、4711 3.3.2 技術(shù)可行性5 HYPERLINK l _Toc420134712 3.3.3法律可行性5 HYPERLINK l _Toc420134714 4 系統(tǒng)設(shè)計6 HYPERLINK l _Toc420134715 4.1 業(yè)務(wù)流程圖64.1.1 邏輯設(shè)計74.1.2 物理設(shè)計8 HYPERLINK l _Toc420134716 4.2 數(shù)據(jù)庫設(shè)計9 HYPERLINK l _Toc420134717 5 系統(tǒng)客戶端的實現(xiàn) PAGEREF _Toc420134717 h 10 HYPERLINK l _Toc420134718 5.1 Android客戶端文件結(jié)構(gòu)及功能 PA
10、GEREF _Toc420134718 h 10 HYPERLINK l _Toc420134719 5.2 Android客戶端登入模塊 PAGEREF _Toc420134719 h 10 HYPERLINK l _Toc420134720 5.3 Android客戶端主界面 PAGEREF _Toc420134720 h 12 HYPERLINK l _Toc420134722 5.4系統(tǒng)服務(wù)器端功能的實現(xiàn)22 HYPERLINK l _Toc420134725 6軟件測試22 HYPERLINK l _Toc420134727 6.1 測試環(huán)境 PAGEREF _Toc42013472
11、7 h 22 HYPERLINK l _Toc420134728 6.2 測試實例 PAGEREF _Toc420134728 h 23 HYPERLINK l _Toc420134729 6.3 測試分析 PAGEREF _Toc420134729 h 23 HYPERLINK l _Toc420134731 論文總結(jié) PAGEREF _Toc420134731 h 24 HYPERLINK l _Toc420134732 參考文獻25 HYPERLINK l _Toc420134733 致 謝26第26頁, 共 26 頁1引 言1.1課題的研究1.1.1研究的背景與意義置身于高速發(fā)展的移動
12、互聯(lián)網(wǎng)時代,安卓智能移動因其開源性、兼容性、跨平臺性,已經(jīng)壓倒Symbian系統(tǒng)成為了移動市場的霸主。生活、娛樂、辦公、教學(xué)處處都離不開移動終端。1現(xiàn)如今各大院校都很注重人才培養(yǎng),人才培養(yǎng)就必須要有好的教學(xué)質(zhì)量,教學(xué)督導(dǎo)評價是公認地提高教學(xué)方法與質(zhì)量的優(yōu)秀方法之一。教學(xué)質(zhì)量是評價授課教師與培養(yǎng)優(yōu)秀人才的重要指標(biāo),提高教育質(zhì)量是當(dāng)前我國高等教育內(nèi)涵發(fā)展與提升的重要方面。當(dāng)下,傳統(tǒng)的紙質(zhì)教學(xué)評價已經(jīng)過時,容易遺失且無系統(tǒng),不規(guī)范且重視度低,可更改性高且統(tǒng)計錯誤率高?;赼ndroid平臺的教學(xué)督導(dǎo)評價系統(tǒng)可以很好解決這些問題,以匿名方式評價的數(shù)據(jù)較客觀,用數(shù)據(jù)庫存儲數(shù)據(jù)可維護性高,不易遺失。借助于
13、動態(tài)化、連續(xù)性的教學(xué)督導(dǎo),有助于跟蹤、掌握教師教學(xué)質(zhì)量的變化情況,促使教師教學(xué)水平提供以及教學(xué)方式轉(zhuǎn)變。教學(xué)督導(dǎo)系統(tǒng)提供了檢驗教學(xué)質(zhì)量的有效平臺。各學(xué)??梢酝ㄟ^督導(dǎo)教師互相聽課、評課及對教學(xué)方式提建議來反映教師的教學(xué)水平及學(xué)校的教學(xué)質(zhì)量水平。設(shè)定與教學(xué)質(zhì)量緊密相關(guān)的指標(biāo)內(nèi)容來輔助教師們互相督導(dǎo)、評估從而共同進步。所以,創(chuàng)建基于Android的移動的教學(xué)督導(dǎo)平臺系統(tǒng)是具有很強的現(xiàn)實意義與實用價值。通過這個平臺,不僅全面而且科學(xué)地對教學(xué)質(zhì)量進行評價。從評價后統(tǒng)計的教學(xué)質(zhì)量數(shù)據(jù)分析出教師的教學(xué)水平以及某校的總體教學(xué)水平。1.1.2 研究的思路與相關(guān)技術(shù)基于Android平臺上的教學(xué)督導(dǎo)評價系統(tǒng)是為校
14、督導(dǎo)成員與一線教師量身定做的,整個系統(tǒng)主要分為幾大模塊,分別為權(quán)限管理,教學(xué)評價,統(tǒng)計比較。所有在校老師及督導(dǎo)可以通過自己的工號登錄,完善好個人信息,查看評價課程,就可以進行對所選老師的教學(xué)評價了。開發(fā)過程要考慮到不角色權(quán)的使用人群。為了使數(shù)據(jù)長久存儲并在此基礎(chǔ)上進行分析、匯總,所以數(shù)據(jù)庫使用了Sql Server,APP的開發(fā)使用了Android控件和XML解析技術(shù)。在服務(wù)端,用IIS來發(fā)布Web Service。2用戶在客戶端上登錄,進行一系列的數(shù)據(jù)操作,通過向服務(wù)端請求數(shù)據(jù),服務(wù)端向底層數(shù)據(jù)庫發(fā)送請求,數(shù)據(jù)庫返回XML類型的數(shù)據(jù)到客戶端,客戶端再對數(shù)據(jù)進行解析讀取,這樣來實現(xiàn)數(shù)據(jù)的交互與
15、傳輸。本系統(tǒng)還設(shè)置了對評價數(shù)據(jù)的有比較性地分析處理功能,讓系統(tǒng)管理員可以篩選各大學(xué)院下的優(yōu)秀教師信息,并發(fā)布公告以資鼓勵,讓其他教師了解自己的教學(xué)優(yōu)缺點,加強對教學(xué)的重視,并通過交流與備注獲取他人意見與建議。2 系統(tǒng)的開發(fā)環(huán)境及關(guān)鍵技術(shù)2.1 開發(fā)環(huán)境介紹2.1.1開發(fā)工具a) JDK 7Java是目前最流行的開發(fā)語言之一,也是目前提供職位最多的開發(fā)語言之一, JDK現(xiàn)在已經(jīng)有很多的版本,從第一個版本1.1.4,現(xiàn)在已經(jīng)更新到Java SE1.8。3b) EclipseEclipse是目前最流行的Java集成開發(fā)環(huán)境,使用其可以達到高效、高質(zhì)量開發(fā)Java代碼的目的。4c) ADT開發(fā)工具擴展
16、包Android Development Tools 是安裝配置安卓環(huán)境必不可少的工具,ADT提供設(shè)置SDK的物理路徑,并對應(yīng)不同的平臺版本,一旦版本不匹配,則會影響開發(fā)環(huán)境,導(dǎo)致程序崩潰。d) Visual Studio 2012 VS是由微軟推出的當(dāng)下流行的應(yīng)用程序開發(fā)環(huán)境,集成了C,C#,C+,ASP .net 等等語言環(huán)境可供不同層次團隊的開發(fā)人員集成開發(fā)。52.2關(guān)鍵技術(shù)介紹服務(wù)器端關(guān)鍵技術(shù)Web Service Web Service通過Web進行發(fā)布、查找和使用,是一個面向服務(wù)的編程架構(gòu),基礎(chǔ)的Web Service平臺是XML + HTTP(HTTP 協(xié)議是最常用的因特網(wǎng)協(xié)議,
17、XML 提供了一種可用于不同的平臺和編程語言之間的語言6。)WebService不依賴于語言,不依賴于平臺,因其良好的跨平臺性,簡單方便的部署方式,被廣泛使用。利用Web Service提供服務(wù)接口,主要用于接收客戶端HTTP請求,提交服務(wù)器相應(yīng),接受服務(wù)器返回信息,將檢索信息分發(fā)給客戶端。7b)SQL Server 數(shù)據(jù)庫SQL Server是Microsoft 公司推出的關(guān)系型 HYPERLINK /view/68446.htm t /view/_blank 數(shù)據(jù)庫管理系統(tǒng)。其伸縮性好,安全度高,集成度高,可靠性高,跨平臺性好,可滿足用戶絕大部分的需求。2.2.2 系統(tǒng)客戶端關(guān)鍵技術(shù)a)
18、HTTP請求HTTP協(xié)議是如今互聯(lián)網(wǎng)用戶使用最多的一種用于文本數(shù)據(jù)傳輸?shù)牡膮f(xié)議。它是銜接網(wǎng)站瀏覽器和萬維網(wǎng)的橋梁。并且通過Internet向用戶傳遞萬維網(wǎng)數(shù)據(jù)。8它不僅使得瀏覽器更加快速準(zhǔn)確地運轉(zhuǎn),也是計算機高效傳送文本數(shù)據(jù)的保障,并且能夠使得用戶準(zhǔn)確地獲得完整的文檔數(shù)據(jù)及清晰地指出文檔中每一部分的歸屬。此協(xié)議分為用戶和服務(wù)器兩端,每個計算機中的瀏覽器為一端,服務(wù)器則為最重要的部分-主機。大眾熟悉的TCP/IP請求響應(yīng)就是它的工作方式。HTTP協(xié)議是應(yīng)用層的網(wǎng)絡(luò)通信規(guī)則。完成一次完整的通信需要經(jīng)歷5個步驟:9(1)建立TCP連接 (本系統(tǒng)設(shè)定端口號為8015)(2)客戶端向服務(wù)器發(fā)送請求命令(
19、本客戶端通過HttpPost類接收URL并攜帶參數(shù)發(fā)送post請求)(3)Web服務(wù)器應(yīng)答(本服務(wù)端訪問Sql Server數(shù)據(jù)庫)(4)向客戶端返回數(shù)據(jù) (本服務(wù)端返回DATESET類型XML數(shù)據(jù))(5)Web服務(wù)器關(guān)閉TCP連接 b) JDOM解析XML XML被設(shè)計用來結(jié)構(gòu)化、存儲以及傳輸信息。10JDOM是一種解析XML的JAVA工具包。優(yōu)點:(1)是基于樹的處理XML的JAVA API,把樹加載在內(nèi)存中 (2)沒有向下兼容的限制,因此比DOM簡單(3)速度快,缺陷少(4)具有SAX的JAVA規(guī)則本系統(tǒng)具體使用類:通過InputSource類讀取服務(wù)端返回XML數(shù)據(jù),通過SAXBuli
20、der類將路徑中的XML文件解析為Document文檔對象,用Element接收Document的各節(jié)點或某一節(jié)點。3 系統(tǒng)分析3.1 需求分析 3.1.1傳統(tǒng)評價系統(tǒng)的不足根據(jù)市場調(diào)查的結(jié)果,發(fā)現(xiàn)目前許多數(shù)學(xué)校各學(xué)期對于教學(xué)評價的方式,基本都采用紙質(zhì)材料,期末各班分發(fā),對各任課老師整個學(xué)期的授課進行評價,缺乏實時性。各院級督導(dǎo)與校領(lǐng)導(dǎo)聽課后不能及時給予意見與建議,優(yōu)秀的教學(xué)方式與教學(xué)體系不能推廣,難以提高整體的辦學(xué)水平與教學(xué)質(zhì)量。3.1.2 系統(tǒng)的預(yù)期優(yōu)勢移動終端的使用普遍性,現(xiàn)如今智能手機流行,不僅僅局限于電話與短信,特別是安卓系統(tǒng)的出現(xiàn),全球掀起了開發(fā)安卓系統(tǒng)的一股浪潮,因其操作簡單方便
21、,移動辦公、實時交流、健康記錄已逐漸完善并融入人們的生活中11。為了培養(yǎng)更多的優(yōu)秀人才,學(xué)校必須提高教師的課堂教學(xué)質(zhì)量。通過安排教師聽課、實時評課來反映被評價教師的教學(xué)質(zhì)量。通過系統(tǒng)的統(tǒng)計與分析比較,提供了評選優(yōu)秀教師的重要指標(biāo)。選出較優(yōu)秀的模范教例,呼吁其他教師取其精華去其糟粕,完善教學(xué)體系,從而提高整體的教學(xué)水平。通過安排督導(dǎo)組聽課,可以規(guī)范教學(xué)制度,對老師提出建議,更好的提高授課方式與教學(xué)體驗。根據(jù)數(shù)據(jù)分析的結(jié)果來幫助教師改善教學(xué)模式,提高教學(xué)水平12。而以紙張的記錄與分析的方式難以實現(xiàn)有效地提高教師的課堂教學(xué)質(zhì)量。建立一個平臺,實時地查看、評價、比較,不僅有助于教師自身教學(xué)質(zhì)量提高,而
22、且能推動整體教學(xué)體系地進步與完善。3.2 系統(tǒng)功能分析a)客戶端功能包括:教師與督導(dǎo)組兩個權(quán)限。教師登錄:(1)從公告欄查看督導(dǎo)組評價信息、教師評價信息與各學(xué)院優(yōu)秀教師的課程。(2)查詢教師課程信息,篩選進入評價,查看評價指標(biāo),提出意見與建議。(3)個人具體被評價成績(匿名)。督導(dǎo)員登錄:(1) 基本設(shè)置(學(xué)期、學(xué)院、指標(biāo)庫、管理員身份、更多)(2)查詢教師課程信息,篩選進入評價,查看評價指標(biāo),提出意見與建議。(3)查看各學(xué)院總體評價成績。b)服務(wù)器系統(tǒng)功能包括:WebService接收客戶端post請求數(shù)據(jù),連接數(shù)據(jù)庫響應(yīng),客戶端接收返回的數(shù)據(jù)。3.3 系統(tǒng)可行性分析3.3.1經(jīng)濟可行性以紙
23、張記錄課堂教學(xué)質(zhì)量評價浪費資源,無法保存大量數(shù)據(jù),更無法有效、快速地分析處理數(shù)據(jù)。以安卓軟件方式來實現(xiàn),方便、科學(xué)、節(jié)約資源。 Eclipse,Visual studio等等開發(fā)工具因本人只是為了畢業(yè)設(shè)計需求,網(wǎng)上都有免費的綠色版,所以無多余消耗成本,也不產(chǎn)生其他經(jīng)濟問題。3.3.2 技術(shù)可行性開發(fā)教學(xué)督導(dǎo)系統(tǒng)Android客戶端與服務(wù)器端程序所需要的技術(shù)主要有安卓SDK,Web Service,數(shù)據(jù)庫,XML解析。因安卓開源的API與網(wǎng)上的技術(shù)教程系統(tǒng)比較完備,故此系統(tǒng)的開發(fā)并無過多的技術(shù)難點。3.3.3法律可行性數(shù)據(jù)庫是通過正規(guī)渠道購買的,應(yīng)用軟件是經(jīng)過調(diào)查后專門針對此類用戶開發(fā)的,且完全
24、由開發(fā)者獨立完成,對督導(dǎo)系統(tǒng)的系統(tǒng)的源代碼及運行代碼具有使用權(quán)。因此,法律上基于Android平臺上的教學(xué)督導(dǎo)系統(tǒng)是不存在問題的。4 系統(tǒng)概要設(shè)計4.1 系統(tǒng)業(yè)務(wù)流程流程圖是了解系統(tǒng)整體走向的快速方法,保證全面地體現(xiàn)業(yè)務(wù)流程,圖4-1顯示了教學(xué)督導(dǎo)系統(tǒng)的整體流程:圖 4-1系統(tǒng)登入業(yè)務(wù)流程圖4.2 數(shù)據(jù)庫設(shè)計 4.2.1 邏輯設(shè)計圖4-2為整體ER圖(只列出部分重要屬性):圖 4-2 系統(tǒng)ER圖4.2.2 物理設(shè)計教學(xué)督導(dǎo)系統(tǒng)是使用的Sql Server數(shù)據(jù)庫,命名為ClassSystem的數(shù)據(jù)庫不同的表插入了不同的對應(yīng)信息。以下為數(shù)據(jù)字典部分:13描述:用于身份登錄驗證選擇管理員或教師時,主
25、要字段有編號,密碼.Admin 管理員表字段描述數(shù)據(jù)類型是否為空備注UId管理員編號Nvarchar(10)N主鍵UName管理員姓名Nvarchar(20)NUPwd管理員密碼Nvarchar(20)NUSex管理員性別Char(2)N(男,女)Teacher 教師表字段描述數(shù)據(jù)類型是否為空備注TId教師編號Nvarchar(10)N主鍵TName教師名稱Nvarchar(20)NTPwd教師密碼Nvarchar(20)NDId院編號Nvarchar(10)NTSex教師性別Char(2)N(男,女)描述:以下四張表與上一張教師表用于查詢教室上課信息,生成排課信息。主要字段有:學(xué)期名稱、院系
26、名稱、課程名、教師名。Term學(xué)期表字段描述數(shù)據(jù)類型是否為空備注TId學(xué)年學(xué)期編號Nvarchar(10)N主鍵TName學(xué)年學(xué)期名稱Nvarchar(50)NDepartment院系表字段描述數(shù)據(jù)類型是否為空備注DId院編號Nvarchar(10)N主鍵DName院名稱Nvarchar(50)NDLeader院長Nvarchar(20)DInfo院信息Nvarchar(Max)Course課程表字段描述數(shù)據(jù)類型是否為空備注CourseID課程編號Nvarchar(10)N主鍵CourseName課程名稱Nvarchar(50)NCourseType課程分類IntNCourseInfo課程信息
27、Nvarchar(Max)DId教學(xué)單位編號Nvarchar(10)NCourseHours課程學(xué)時IntCourseCredit課程學(xué)分FloatArrangeCourse排課表字段描述數(shù)據(jù)類型是否為空備注Id編號IntN主鍵,自增TermId學(xué)期編號Nvarchar(10)NACourseDId開課單位編號Nvarchar(10)NClassId班級編號Nvarchar(Max)NCourseId課程編號Nvarchar(10)NCourseTypeId課程類型編號IntNPeopleCount修讀人數(shù)IntTearcherId教師編號Nvarchar(10)NBeginEndWeek上課
28、周Nvarchar(10)Week星期幾Char(2)Period節(jié)次段Nvarchar(10)RoomId教室編號Nvarchar(10)N描述:以下五張表為課程評價信息相關(guān)表,重要字段為:課程類型編號、一級指標(biāo)、具體指標(biāo)、指標(biāo)權(quán)重、等級說明。EvaluationGroup 體系管理表字段描述數(shù)據(jù)類型是否為空備注Id編號IntN主鍵,自增EName體系名稱nvarchar(50)NCourseTypeId課程類型編號IntNEIndex 一級指標(biāo)表字段描述數(shù)據(jù)類型是否為空備注IndexId指標(biāo)編號IntN主鍵,自增IndexName指標(biāo)名稱Nvarchar(50)NEvaluationDet
29、ail 指標(biāo)內(nèi)容表字段描述數(shù)據(jù)類型是否為空備注Id指標(biāo)編號IntN主鍵,自增DName指標(biāo)內(nèi)容Nvarchar(Max)NDValue指標(biāo)分值Nvarchar(Max)NIndexId一級指標(biāo)編號IntNEWeight 指標(biāo)權(quán)重表字段描述數(shù)據(jù)類型是否為空備注Id指標(biāo)權(quán)重編號IntN主鍵,自增Weight指標(biāo)權(quán)重FloatNEvaluationGrade 評價等級表字段描述數(shù)據(jù)類型是否為空備注Id編號IntN主鍵,自增LevelName等級名稱Nvarchar(10)N唯一鍵LevelContent等級說明Nvarchar(50)NMinLevelScore最低等級分數(shù)FloatN描述:評價記錄
30、表,記錄了所有被評價老師的信息,重要字段為:總分、評價建議、評價人角色。EvaluationValues 評價記錄表字段描述數(shù)據(jù)類型是否為空備注Id編號IntN主鍵,自增CourseTypeId課程類型編號IntNTearcherId 教師編號Nvarchar(10)NTermId學(xué)期編號Nvarchar(10)NCourseId課程編號Nvarchar(10)NClassId班級編號Nvarchar(Max)EIDSplit所得指標(biāo)編號Nvarchar(Max)NEValueSplit所得分值Nvarchar(Max)NEValue總分floatNEInfo評價建議Nvarchar(Max)
31、ERoleID評價人角色編號intNEUserID評價人編號Nvarchar(10)NCreateDate評價時間datetimeN5 系統(tǒng)詳細設(shè)計5.1Android客戶端文件結(jié)構(gòu)及功能項目開發(fā)前,首先設(shè)定“基于Android平臺的鹽城師范教學(xué)督導(dǎo)評價系統(tǒng)”的工程名為YCTC_TQAS,根據(jù)每一個模塊和功能點創(chuàng)建如下的工程結(jié)構(gòu): 圖 5-1功能包結(jié)構(gòu)5.2 Android客戶端用戶登入模塊:當(dāng)?shù)谝淮芜M入軟件時,是三幅引導(dǎo)畫面,展現(xiàn)了鹽城師范學(xué)院校園三處校園風(fēng)景,彰顯了校園風(fēng)貌,當(dāng)滑動到最后一幅畫面時,自動進入登錄頁面。(當(dāng)?shù)诙蔚卿洉r便不再出現(xiàn)引導(dǎo)頁面)登錄界面中的控件設(shè)置了非空驗證,必須填
32、寫好賬號密碼身份驗證,此時還需要輸入驗證碼提高安全性。(驗證碼的實現(xiàn):用0-9的數(shù)字及a-z的26個小寫字符,隨機組成一個4位的字符串,并且以圖片的形式顯示。)當(dāng)不符合條件時,將彈出相應(yīng)的提示框。如果選擇記住密碼的單選框, 則點擊登陸后,保存到SharedPreferences的“test”臨時文件中,下次進入則不需輸入賬號密碼。該系統(tǒng)分為兩大角色,教師為該系統(tǒng)的主要對象,權(quán)限較低,以該身份登陸后可以查看系統(tǒng)公告、自身信息與評價內(nèi)容,并對其他老師進行評價。管理員角色權(quán)限較高,以該身份登錄可以更改管理員用戶信息、設(shè)置學(xué)期學(xué)院以及評價指標(biāo)、查看各大小層級教師評價與被評價情況匯總,也可參與評價授課,
33、主要負責(zé)信息統(tǒng)計匯總。點擊登入按鈕,這時移動端通過HTTP協(xié)議攜帶用戶名、密碼發(fā)送給系統(tǒng)服務(wù)器端,經(jīng)WebService方法接收數(shù)據(jù)并與數(shù)據(jù)庫交互匹配數(shù)據(jù)后14,返回Boolean類型的“true”時才允許登錄。以下是登錄界面:圖5-2 登錄界面涉及到的重要代碼如下:/判斷各項是否為空if (roleName.equals() | rolePwd.equals()| mEditCode.getText().toString().equals()|tea2adminRB=null) /為空提示框Tools.MyToast(LoginActivity.this, 不能為空!); else if (
34、sb = null| /輸入的驗證碼是否匹配sb.toString().equals(mEditCode.getText().toString() = false) Tools.MyToast(LoginActivity.this, 驗證碼錯誤!);mTextView.setText(createCode(); else if (sb.toString().equals(mEditCode.getText().toString() = true) /網(wǎng)絡(luò)是否存在if (isNetworkAvailable(LoginActivity.this) /判斷如果是教師則發(fā)送異步線程請求查詢教師表,否
35、則查詢管理員表if (tea2admin.equals(教師) type = 2;/異步網(wǎng)絡(luò)訪問判斷是否允許教師角色登錄new GetTeacher().execute();else type = 1;/異步網(wǎng)絡(luò)訪問判斷是否允許管理員角色登錄new GetAdmin().execute(); else Tools.MyToast(LoginActivity.this, 當(dāng)前沒有可用網(wǎng)絡(luò)!);5.3 Android客戶端主界面:主頁面Activity繼承FragmentActivity實現(xiàn)三個Tab頁面的切換,減少了多余且無意義的頁面跳轉(zhuǎn)冗余。該界面底部有三個導(dǎo)航頁,分為系統(tǒng)公告、課程評價、個人
36、統(tǒng)計??梢酝ㄟ^點擊或者直接滑動屏幕切換Tab頁面。左上角為注銷登錄,通過setResult(requestResult)記錄登錄界面?zhèn)鬟f的返回參數(shù)方式跳轉(zhuǎn)回登錄界面。課程評價界面主要分為兩部分,第一部分為頭部的4個篩選條件與1個查詢按鈕,下半部分為根據(jù)查詢條件得到的排課信息。主要使用的控件有Spinner下拉列表、Button按鈕、EditText文本框、ListView列表視圖。主要用的技術(shù)為AsyncTask異步線程,設(shè)置訪問URL為http:/localhost:8012/ WebService.asmx/ ,用BasicNameValuePair輔助類攜帶條件參數(shù)與角色權(quán)限,發(fā)送Htt
37、p post請求,并接收從服務(wù)端返回的數(shù)據(jù)為DateSet類型的XML數(shù)據(jù),由jdom解析包解析數(shù)據(jù),放入List集合中,便于統(tǒng)計數(shù)據(jù)。以下為服務(wù)端返回XML的局部數(shù)據(jù): ./根節(jié)點 /一級子節(jié)點/二級子節(jié)點1110012016上學(xué)期01信息工程學(xué)院10000001數(shù)據(jù)結(jié)構(gòu)0001張一01011201,01011202計算機1201班,計算機1202班1-18星期一1-2節(jié)1017主樓A4121理論課程60查看評價 圖5-3為教師登錄評價圖、圖5-4為管理員登錄首頁圖: 圖 5-3教師登錄課程評價圖 圖 5-4管理員登錄設(shè)置圖涉及到的重要代碼如下:/異步線程類EvaluteCourseInfo
38、,安卓2.3以后網(wǎng)絡(luò)訪問必須在異步線程中完成public class EvaluteCourseInfo extends AsyncTask Override/網(wǎng)絡(luò)請求方法doInBackgroundprotected String doInBackground(String. params) String result = null;/網(wǎng)絡(luò)請求地址+端口號+方法 Tools為工具類其中放置動態(tài)地址String url = http:/ + Tools.URL+ :8012/WebService.asmx/EvaluteCourseInfo;/http請求類,post方式HttpPost re
39、quest = new HttpPost(url);List list = new ArrayList();/參數(shù)傳遞ACourseDId、CourseName、TeacherName、ERoleID、EUserIDlist.add(new BasicNameValuePair (TermId,termList.get(mSp_trem.getSelectedItemPosition().getTId();list.add(new BasicNameValuePair(ACourseDId, deptList.get(mSp_dept.getSelectedItemPosition( ).ge
40、tDId( );list.add(new BasicNameValuePair(CourseName, mSp_course.getText().toString( );list.add(new BasicNameValuePair(TeacherName, mSp_tea.getText().toString( );list.add(new BasicNameValuePair(ERoleID, ERoleID);list.add(new BasicNameValuePair(EUserID, EUserID);try /攜帶參數(shù),并設(shè)置編碼格式request.setEntity(new U
41、rlEncodedFormEntity(list, HTTP.UTF_8);/返回接收類HttpResponse httpResponse = new DefaultHttpClient( ) .execute(request);if (httpResponse.getStatusLine( ).getStatusCode( ) != 404) / 基于jdom.jar包的xml解析類XmlUtil xmlUtil = new XmlUtil( );result = EntityUtils.toString(httpResponse.getEntity( );/ 取到根節(jié)點Element da
42、teSetElement = xmlUtil.getroot(result);/取到diffgr節(jié)點Element diffgrElement = (Element) dateSetElement.getChildren( ).get(1);/取到NewDataSet節(jié)點Element newDateSetElement = diffgrElement.getChild(NewDataSet);List trList = newDateSetElement.getChildren( ); / 取到tr節(jié)點if (trList.size( ) 0) /聲明泛型類的集合,GetCourseInfo
43、Bean中存放得到的數(shù)據(jù)庫字段CourseInfoList = new ArrayList( );for (int i = 0; i trList.size(); i+) GetCourseInfoBean courseInfoBean = new GetCourseInfoBean();/最終節(jié)點Element lastElement = trList.get(i);/獲取節(jié)點屬性的值A(chǔ)c_id = Integer.parseInt(lastElement.getChild(Id).getText().toString();courseName = lastElement.getChild(
44、CourseName).getText().toString().trim();tearcherName = lastElement.getChild(TearcherName).getText().toString().trim();/ 放入listcourseInfoBean.setId(Ac_id);courseInfoBean.setCourseName(courseName);courseInfoBean.setTearcherName(tearcherName);CourseInfoList.add(courseInfoBean);/異常處理catch (Exception e)
45、e.printStackTrace();return ;/異步規(guī)定不可以在網(wǎng)絡(luò)訪問doInBackground中更新UIOverrideprotected void onPostExecute(String result) / 自定義Adapter,優(yōu)化UIcourseInfoAdapter = new GetCourseInfoAdapter(getActivity(), (ArrayList) CourseInfoList);/listView控件適配,顯示列表項mListView.setAdapter(courseInfoAdapter); XMLUtil輔助類:15 public El
46、ement GetElement(String XMLData) /創(chuàng)建一個新的字符串 StringReader rd = new StringReader( XMLData ); /創(chuàng)建新的輸入源SAX 解析器將使用InputSource對象來確定任何讀取XML輸入 InputSource mis= new InputSource(rd); SAXBuilder saxbuilder = new SAXBuilder(); Element element = null; try /通過輸入源,構(gòu)造一個新的Document Document doc = saxbuilder.build(mis
47、); /獲取根元素 element = doc.getRootElement(); catch (Exception e) System.out.println(解析xml出錯); e.printStackTrace(); return element; 進入評價界面,主要由教師基本信息,評價指標(biāo),與具體評價三個部分。(1)點擊右上角評價指標(biāo)則彈出Dialog顯示個分數(shù)對應(yīng)的等級。評價部分共10條指標(biāo),分數(shù)對應(yīng)分別為10分優(yōu)秀、8分良好、6分一般、4分不及格、2分極差。(2)當(dāng)進入該頁面時,使用Intent對象的getIntent()方法接收排課信息頁面?zhèn)鬟f的教師信息數(shù)據(jù),具體如下:Inten
48、t intent = getIntent();/排課信息IdAcId = intent.getExtras().getInt(ac_id);/教師名teaName = intent.getExtras().getString(tearcherName);(3)具體評價的指標(biāo)分配各自的權(quán)重,按照以下公式計算總得分:單項得分 = 頁面分數(shù) * 指標(biāo)權(quán)重 * 10;總分為單項得分之和,總分為100分。最后頁底部分有可以填寫備注信息,用戶可以對應(yīng)以上評價與對教師授課的個人想法提出建議等等。點擊“提交”按鈕,發(fā)送請求,返回數(shù)據(jù)如果為“true”則評價成功,否則提示重試。以下為授課評價界面: 圖5-3-2
49、 評價頁面進入查看統(tǒng)計頁面,主要由教師基本信息,具體評價信息組成。(1)當(dāng)進入該頁面時,上部四個TextVIew顯示了排課的教師基本信息。(2)詳細部分,為查詢到的評價該名老師的總等第與分數(shù),直觀的反映了該名教師的教學(xué)情況與好評度。以下為授課評價界面: 圖5-3-3 統(tǒng)計評價5.4服務(wù)器端詳細實現(xiàn)Web service是一個跨平臺性好,高內(nèi)聚低耦合,自包含的且基于可 HYPERLINK /view/3281.htm 編程的web應(yīng)用程序,可使用開放的 HYPERLINK /view/63.htm XML HYPERLINK /view/8079.htm 標(biāo)準(zhǔn)來 HYPERLINK /view/
50、491264.htm 描述、發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,用于開發(fā)分布式的互操作的 HYPERLINK /view/330120.htm 應(yīng)用程序,其為整個企業(yè)甚至多個組織之間的業(yè)務(wù)流程的集成提供了一個通用機制。 Webservice不僅自包含,自描述并可以執(zhí)行具體的業(yè)務(wù)功能,而且也容易部署,因為它本身已經(jīng)基于一些常規(guī)的通用的產(chǎn)業(yè)標(biāo)準(zhǔn)和技術(shù),諸如XML、HTTP等大眾熟識的標(biāo)準(zhǔn)通用標(biāo)記語言的子集。WebService因其減少應(yīng)用接口的花銷從而大大降低了開發(fā)成本。以客戶端獲取評價列表為例:客戶端使用HTTP POST方式攜帶學(xué)期(不為空)、學(xué)院(不為空)、教師名、課程名和登錄身份類型、登錄
51、用戶名六個參數(shù),被Web Service接口方法EvaluteCourseInfo接收:/評課列表 public DataSet EvaluteCourseInfo(string TermId, string ACourseDId, string CourseName, string TeacherName, int ERoleID, string EUserID) string Sql = string.Format(“此處省略較長SQL語句”);/ DBHelper連接數(shù)據(jù)庫輔助類,返回DateSet類型數(shù)據(jù) DataSet ds = DBHelper.GetDataSet(Sql, pa
52、ra); return ds; 待服務(wù)端發(fā)布后,變以接口方式暴露給客戶端,只要發(fā)送請求便返回對應(yīng)類型格式數(shù)據(jù)。相關(guān)圖2-1如下:圖2-1 數(shù)據(jù)交互方式以下列舉其他重要Web Service方法: /管理員登錄 WebMethod public DataSet Admin(string UId, string UPwd) /輔助類 放數(shù)據(jù)庫獲得字段 Loginmodel lm = new Loginmodel(); lm.UserId = UId; lm.UserPwd = UPwd;/底層sql語句方法 Logindal dal = new Logindal(); return dal.Adm
53、in(lm); /根據(jù)編號查詢排課信息 public DataSet EvaluteCourseById(int Id) Evaluatedal edal = new Evaluatedal(); return edal.EvaluteCourseById(Id); /課程指標(biāo)信息 WebMethod public DataSet EvaluateInfo(int Id) Evaluatedal edal = new Evaluatedal(); return edal.EvaluateInfo(Id); /查看已評價記錄 WebMethod public DataSet Evaluation
54、ValueInfo(string CourseId, string TearcherId, string TermId, string ClassId, int CourseTypeId, int ERoleId) EvaluationValuesmodel em = new EvaluationValuesmodel(); em.CourseId = CourseId; em.TearcherId = TearcherId; em.TermId = TermId; em.ClassId = ClassId; em.CourseTypeId = CourseTypeId; em.ERoleID
55、 = ERoleId; Evaluatedal edal = new Evaluatedal(); return edal.EvaluationValueInfo(em); /新增評價記錄 WebMethod public bool InsertEvaluationValue(int CourseTypeId, string TearcherId, string TermId, string CourseId, string ClassId, string EIDSplit, string EValueSplit, float EValue, string EInfo, int ERoleID
56、, string EUserID, string CreateDate) EvaluationValuesmodel em = new EvaluationValuesmodel(); em.CourseTypeId = CourseTypeId; em.TearcherId = TearcherId; em.TermId = TermId; em.CourseId = CourseId; em.ClassId = ClassId; em.EIDSplit = EIDSplit; em.EValueSplit = EValueSplit; em.EValue = EValue; em.EInf
57、o = EInfo; em.ERoleID = ERoleID; em.EUserID = EUserID; em.CreateDate = CreateDate; Evaluatedal edal = new Evaluatedal(); return edal.InsertEvaluationValue(em); /教師身份 教師的評價數(shù)據(jù) WebMethod public DataSet TEvaluateData(string TermId, string TId) string DId = string.Empty; DataAlaydal dal = new DataAlaydal
58、(); return dal.EvaluateData(TermId, TId, DId); 6軟件測試經(jīng)過兩個多月的不懈努力,從需求分析、UI設(shè)計到基本實現(xiàn)了評價-查看-統(tǒng)計的功能,本校督導(dǎo)評價系統(tǒng)的技術(shù)方面第五章已經(jīng)介紹,然而本就不完美的軟件如果不經(jīng)過大量測試的打磨,難以稱得上是完成,更如何談及完善。所以軟件測試是測試軟件是否合理,是否潛在重大漏洞等等問題的關(guān)鍵步驟。要想開發(fā)出穩(wěn)定的質(zhì)量比較高的軟件則需要進行多方式、多方位的測試,這樣可以全面地發(fā)現(xiàn)問題,使得嚴重問題盡早發(fā)現(xiàn)并修復(fù),早日投入使用。6.1 測試環(huán)境硬件環(huán)境:魅族 m2 note, 內(nèi)存2G,Android 5.1軟件環(huán)境:操作
59、系統(tǒng) Windows 7,數(shù)據(jù)庫 Sql Server ,開發(fā)環(huán)境Eclipse6.2 測試實例1)裝載apk運行測試過程:輸入存在的用戶名和密碼,點擊登入的時候系統(tǒng)控制臺報錯:Caused by: .SocketException: socket failed: EACCES (Permission denied)”,然后仔細閱讀第三服務(wù)的開發(fā)文檔,原因是系統(tǒng)AndroidManifest.xml中沒有加入android:name= android.permission.INTERNET網(wǎng)絡(luò)訪問權(quán)限。測試結(jié)果:可以與后臺服務(wù)器建立通信,并且可以登入主頁面,頁面正常顯示。2)使用Emmagee
60、軟件測試性能(生成Excel圖表) 測試過程:教師身份登錄、查看公告、查看信息列表、獲取指標(biāo)信息、查看評價。001020304050607080123456性能測試應(yīng)用占用內(nèi)存PSS(MB)應(yīng)用占用內(nèi)存比(%)流量(KB)圖6-1 運行性能測試測試結(jié)果: 如圖應(yīng)用運行時,分別列舉了占用內(nèi)存量折線、占用內(nèi)存比折線、流量使用折線。課直觀地觀察出系統(tǒng)運行時產(chǎn)生流量較少(26KB),內(nèi)存占用率較小且穩(wěn)定(25%),內(nèi)存消耗控制在4080KB的區(qū)間內(nèi)。6.3 測試分析整體功能的實現(xiàn)因完善的文檔機制與強大的網(wǎng)友團隊并在指導(dǎo)老師的幫助下基本能夠完成。但此系統(tǒng)還不完善,需要日積月累的經(jīng)驗與實施才會發(fā)現(xiàn)更過的問
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水果種植合作社財務(wù)制度
- 分支機構(gòu)財務(wù)制度
- 美國私立學(xué)校財務(wù)制度
- 公司喝酒制度
- 瀝青支路施工方案(3篇)
- 活動型新聞策劃方案(3篇)
- 施工現(xiàn)場施工防污染制度
- 教職工休息休假制度
- 罕見腫瘤的個體化治療長期生存數(shù)據(jù)分析與策略優(yōu)化-1-1
- 遼寧省重點協(xié)作校2026屆高三生物第一學(xué)期期末調(diào)研試題含解析
- 大廈無償劃轉(zhuǎn)協(xié)議書
- 復(fù)墾施工合同協(xié)議
- 2024年四川省考公務(wù)員考試結(jié)構(gòu)化面試鄉(xiāng)鎮(zhèn)崗真題試題試卷答案解析
- 貿(mào)易公司組織架構(gòu)與部門職責(zé)一覽表
- 《電梯基本結(jié)構(gòu)》課件
- 供水管道緊急搶修工程合同
- DL∕T 1993-2019 電氣設(shè)備用六氟化硫氣體回收、再生及再利用技術(shù)規(guī)范
- (正式版)HGT 20593-2024 鋼制化工設(shè)備焊接與檢驗工程技術(shù)規(guī)范
- 肘關(guān)節(jié)恐怖三聯(lián)征
- 刀模管理制度
- NB-T 47013.2-2015 承壓設(shè)備無損檢測 第2部分-射線檢測
評論
0/150
提交評論