目錄
摘要 I
Abstract II
目錄 Ill
第一章緒論 1
1.1研究背景和意義 1
1.2國內外研究現狀 2
1.3課題研究內容 3
1.4論文組織結構 3
第二章相關技術介紹 4
2.1智能手機 4
2.2手機終端開發技術 4
2.2.1系統開發平臺 4
2.2.2Android 技術 5
2.3服務器端開發蛛 5
2.4設計原則 5
2.5本章小結 6
第三章移動教務管理系統的分析與設計 7
3.1系統的需求分析 7
3.1.1系統的功能需求分析 7
3.1.2系統性能需求分析 8
3.1.3系統用戶用例分析 8
3.2系統總體設計 12
3.2.1系統總體架構設計 12
3.2.2系統總體功能結構設計 14
3.3功能模塊設計 15
3.3.1學生信息管理模塊 : 15
3.3.2教師信息管理模塊 16
3.3.3系統管理模塊 18
3.3.4課程信息管理模塊 19
3.3.5培養方案信息管理模塊 23
3.3.6成績信息管理模塊 24
3.3.7短信信息管理模塊 24
3.3.8畢業設計信息管理模塊 25
3.4系統數據庫設計 28
3.4.1數據庫的選擇 28
3.4.2數據庫的概念結構設計 29
3.4.3系統數據庫表的設計 31
3.5本章小結 33
第四章移動教務管理系統的實現與測試 34
4?1開發環境 34
4.2系統功能模塊實現 34
4.2.1系統管理模塊 35
4.2.2學生信息管理模塊 36
4.2.3教師信息管理模塊 38
4.2.4培養方案信息管理模塊 40
4.2.5課程信息管理模塊 41
4.2.6成績信息管理模塊 45
4.2.7短息信息管理模塊 46
4.2.8畢業設計信息管理模塊 47
4.3網絡通信處理 51
4.4系統擴展接口模塊實現 52
4.5系統的測試 52
4.5.1系統測試內容及測試方法 52
4.5.2系統的功能模塊測試 53
4.5.3系統的性能測試 57
4.5.4系統測試結果分析 59
4.6本章小結 59
第五章總結與展望 60
致謝 61
參考文獻 62
作者簡介 64
第一章緒論
本章主要闡述移動教務管理系統的研究背景和意義,并說明系統在國內外的現狀,從而提出論文的研 究內容重點及結構安排,為本文研究奠定基礎。
1.1研究背景和意義
我國的教育事業發展過快,從而使國內眾學校間在生源、資源、師資及資源等各個方面面臨著非常競 爭激烈,在教育改革發展關鍵時刻,很多的學校都在采取各種辦法從根本上提高教學質量,在加強管理水 平、教學質量的同時,必須還要加速學校的信息化建設來從根本上提高學校自身的核心競爭力。因此,在 學校的日常工作中建立教務信息的管理核心是非常有必要的。信息化的教務管理的實現能夠不斷增強教學 管理的效益及質量,這是學校向一流大學方向發展的重要環節,是學校信息化管理的一條必經之路。
眾所周知,教務管理是各大學校的教學工作的核心,目前各高校也都擁有自己的教務管理系統,但是 由于系統老化、基礎設施不健全,導致了系統問題較多。科學地使用高效率先進的管理方法指導、監督、 促進其他教務管理部門工作人員的工作,使學校的教務管理工作能達到事半功倍的效果,并且高效率的完 成國家倡導的教學教育計劃工作,為國家的教育事業奉獻一份力量[%
如今各大學校都不斷地進行擴招,教育規模也在不斷的擴大。學校的教務工作需要處理很多的數據, 并且還需要對這些數據進行統計分析等整理工作,很顯然,使用手工方法去處理對如今來說是不現實的。 人們在處理事情時更加追求自動化和高效率的處理方式,而且如今需要處理的大數據量也不是簡單的用手 工整理就可以解決掉的。大數據量的整理工作也伴隨著計算機時代的到來也變得簡單化。不管人類傳統的 教育思想或是教學模式還是教學內容和教學方法,都從根本上得到了改進。因此,各大學校為了教務管理 工作可以趕上時代發展并完善國家對教學管理工作的要求,采用先進的信息化技術對學校的教育工作進行 更為合理化的管理,這也是促進學校教務信息管理不斷完善的必經之路。
教務管理工作,顧名思義就是指教務管理人員按照國家發布的教育方針以及政策,采用合理的管理方 式及方法安排指導有關的教務教育工作,使得教育工作可以按照正常的方向飛速發展。與此同時,教務 管理工作還可以帶動學校其他的管理工作從而為學校的教育環境以及教學質量帶來保障,使得各大學校的 教育保持高質量和高水準,從而順利完成國家的教育任務。教務管理是學校教育工作的核心,通常被各大 學校的高層管理者至于管理工作的首位。教務信息管理工作是否能很好的完成是判斷一個學校教育水平好 壞的重要指標g] 0
面對我國國家教育部門對各大學校提出的更高的要求,學校管理人員必須放棄傳統的教務管理方法, 否則這將為學校的教務管理工作帶來重大的影響,甚至還會影響到學校正常的教學秩序。而如今通過移動 教務管理系統,學校高層管理人員可以使用科學的方法規范標準地管理學校的教務資源。這不僅使得學校 的管理人員可以從以往繁瑣的工作中解脫出來,同時也能夠更為準確有效的管理學校的各種教務資源,達 到事半功倍的效果。
在我們享受信息移動教務管理系統給我們帶來的便利的同時,也逐漸發現在學校的移動教務管理系統 的建設過程中出現的問題。比如說,由于需要調整教學內容以及課程計劃,導致對移動教務管理系統的需 求變化頻繁。還有隨著學校規模的不斷擴大,校區的不斷增多,要求移動教務管理系統要進行分層式的網 絡設計。而要進行分布式的網絡設計則要要求系統具有更高的安全性以及穩定性,這就會給學校帶來更大 的經濟負擔等等。這一系列問題都會不斷的在困擾著我們[切。
顯而易見我們可以明白,引進一個信息化的移動教務管理系統,可以幫助實現學校教務信息管理工作 的網絡化、計算機化以及辦公電子化,最大限度的實現充分共享學校的教學資源,讓學校教育工作能夠適 應當前迅速發展的教育事業,提高工作效率并保證學校教育秩序的穩定,已成為學校教育行業急需解決的 問題之一同。移動教務管理系統實現了教務管理的眾多環節,是服務學校大部分部門的管理信息系統,它
不但為學校教務管理制度化、現代化、科學化等加快了腳步,而且有力保障了學校學分制的順利進行。~ 如今,我國的教育相關的行業正處于飛速發展階段,學校規模在不斷地擴大、學校招生人數也在不斷 地增多,這使得學校的教務信息管理工作越來越繁重,難度也越來越大,這將嚴重影響學校教務管理部門 的工作質量以及相關的工作效率。與此同時,毫無疑問的是教務信息管理工作又是整個學校管理工作的核 心及基礎。因此,使用信息化技術科學合理的管理學校正常的教務管理工作是當務之急,是順應時代潮流, 是大勢所趨。將現代化技術運用到學校的教學工作中,對學校教務管理水平以及教學管理質量具有重大意 義的。
使用開發設計的移動教務管理系統,學校可以合理的分配管理教務資源,提高學校管理人員的辦事效 率,學校的教務管理人員的工作也會變得更加方便、輕松,但不可否認的是在使用的過程當中仍然也存在 著很多的問題。第一,由于各大學校的教務管理工作隨著各學校性質、學校教學管理方式的不同而都會存 在很大的差異,使得開發設計出來的同一個移動教務管理系統并不適用于所有的學校;第二,學校隨著辦 學規模以及教學計劃的變化對移動教務管理系統的需求變化也很快;第三,移動教務管理系統隨著學校的 業務數據量龐大而需要教務系統具有分析決策功能;最后,需要解決之前開發的系統與后續開發的系統進 行合并時涉及到的已有數據以及新數據的融合問題切。
1.2國內外研究現狀
(1)國外研究概況
眾所周知,國外信息化普及比國內的早得多,因此,他們在教務管理工作的信息化方面程度也要比國 內高。歐美的國家歷來對高校的教育非常的重視,西方的政府也大力的支持教育的發展,在上世紀九十年 代,歐美高校的學生出現了大量增加的現象,給高校的發展帶來了巨大的挑戰,手工管理教務信息的方式 已完全不能滿足實際的發展,在這個階段,計算機技術在各個領域正在飛速的發展,很多高校紛紛提出了 建立網絡化、數字化、信息化的校園。國外的學校整個的信息化建設相對比較完善。除此之外,國外各大 學校的移動教務管理系統基本上也都是全校信息化管理系統的重要組成部分。國外最具有代表性的一個移 動教務管理系統是由來自美國的一個知名的企業組織開發的一個系統,他們將之命名為:學校互操作平臺 (SIF)o與國內的全國統招不同的是,在國外的很多的學校實行的都是自主招生考核,學校在從新生的考核 錄取階段就開始對新生進行全程地信息化管理。
國外的信息化發展水平很高,使得學校的管理工作依靠的平臺穩定而且強大。而且學校的管理人員 以及信息化部門的人員幾乎都能掌握這些技術,可以與世界最前沿的科學技術溝通交流。這些不僅使得其 移動教務管理系統功能強大,而且與其他系統的兼容性也相當地高。
另一方面,美國等發達國家已經有十幾年的Web的遠程教務系統發展史,但是在中國還處于初級階段。 如果要想開展Web的遠程教學信息網絡就必須要有強有力的教學平臺的支撐,而且一個完整的基于Web的 遠程教學支撐平臺還必須包括三個部分:網上課程開發,網上教學支持和網上教務管理三方面系統。因此 可以看出,在國外發達的遠程教育體制下有著配套的教學教務管理系統為其服務。
(2)國內研究概述
與國外一些學校相比,國內學校的教務信息化管理就不容樂觀了。但隨著今年來網絡信息化技術的高 速發展,學校為了跟上時代的發展,積極響應國家教育部門的號召,不斷引入計算機技術。在加強信息管 理的同時,投資構建各種軟硬件平臺,并陸續引入了管理系統,使得各學校逐漸走向現代化信息管理的道 路冋。
我國學校的教育管理系統總的來說經歷了三個階段。第一階段:在計算機技術未普及的時代,學校使 用Excel等作為移動教務管理系統進行數據存儲和處理,由于這種管理方式是由教務管理人員手工操作的, 工作效率非常低,費時費力,這使得這種單機版的移動教務管理系統只能處理小數據。第二階段:隨著計 算機技術的發展,C/S的移動教務管理系統應運而生,但這種移動教務管理系統也僅限于在局域網中使用, 用戶群體太過固定,在面對系統升級、人機交互的問題時將出現很大的問題。第三階段:互聯網技術、移 動辦公技術等飛速發展的時代,移動教務管理系統從C/S模式過渡到了B/S模式。B/S移動教務管理系統的 學校只需要管理服務員,其客戶端都是瀏覽器,同時,B/S版本的移動教務管理系統能擴展到廣域網。因 此,無論學校的規模有多大,學校的學生和教師人數怎樣增加,都不會增加系統升級和維護的工作量。這 樣的系統也同樣適用于異地處理,只需要將服務器連接上互聯網,就可以實現系統的遠程維護、升級以及 資源的共享陽%
目前,我國代表性移動教務管理系統既有B/S架構的也有事C/S與B/S架構相結合的。清華大學的移動 教務管理系統使用的正是C/S和B/S架構相結合的移動教務管理系統⑴該移動教務管理系統提供使用者最 大限度地使用該系統的權利。與清華大學不同的是,其他大部分學校使用都是B/S架構的移動教務管理系 統。B/S架構的移動教務管理系統對學校的課程大多數采取學分制,使用班級化管理以及個人管理相結合 的方法,且大多數系統都集成了辦公文字表格處理組件,實現了報表打印和數據分析等功能111'13]«
我國學校教務管理信息化基礎比較薄弱,不僅僅是因為國家對學校的教務信息化建設投入的經費較 少,更多的原因是大部分學校管理人員對信息化管理的概念的認識不夠,缺乏長遠的目光以及接受新事物 的意識,更有些領導不主動參考如今社會的發展趨勢,只是根據自己的喜好決定信息化建設的方向。種種 原因導致我國學校的教務管理工作在進行信息化建設過程中還存在著很多問題[I4'15]o例如,移動教務管理 系統在開發過程的需求階段沒有完整的教育管理標準可以參考,使得移動教務管理系統在設計時不合理, 系統缺乏可擴展性“】。而且,國家的教育體制在不斷改革,但教育部門對教育管理信息化的工作缺乏指導 和管理,這給學校的教務管理信息化帶來了一定的困難"]。
因此,隨著國家教育體制的不斷改革,我國高校的教務管理要改變現階段出現的少靈活性、低適應性 等問題,朝著網絡化、智能化、高安全性、強靈活性以及擴展性方向發展[18"I9]o
1.3課題研究內容
本課題的主要研究內容包括:
(1)對移動教務管理系統進行需求分析,根據得出的業務功能、系統的總體設計原則以及實際的系 統需求選擇合適的開發方法以及技術。
(2)對移動教務管理系統進行總體設計,分析與系統有關系的數據以及這些數據之間的關系,通過 用例圖給出系統的功能設計。
(3)對系統進行詳細設計,實現系統各功能模塊,并進行系統測試。
1.4論文組織結構
本文按如下方式進行組織:
第一章為緒論,描述了論文的背景以及意義,通過國內外的研究情況簡述了系統的硏究現狀,并提出 了論文研究的主要內容以及結構安排。
第二章為論文關鍵技術介紹,說明安卓操作系統以及開發所用的服務器,概述系統采用的軟件開發模 型以及方法。
第三章為系統的需求分析以及系統的設計,系統功能模塊設計主要包括了培養方案信息管理模塊、教 師信息管理模塊、學生信息管理模塊、課程信息管理模塊等在內的八個功能模塊,并對系統的數據庫方案 進行設計。
第四章為系統各功能模塊的具體實現與測試過程,首先選擇系統的開發環境,然后詳細的介紹了系統 各個具體功能模塊的實現操作流程。測試部分包括系統的功能模塊測試以及性能測試,并對系統的測試結 果進行了簡單的介紹。
第五章為系統的總結與展望,對本論文進行了一個簡短的總結,并對今后工作進行了展望。
第二章相關技術介紹
前一章中概述了教務管理系統的背景和國內外現狀,在本章中將對論文涉及到的相關技術進行介紹, 主要包括終端和服務器端技術架構的介紹、及軟件開發方法等,為系統的分析設計及實現奠定理論基礎。
2.1智能手機
現實生活當中智能手機常伴在人們身邊,已經成為了人們生活當中的必需品,追溯歷史,最開始智能 手機的誕生可以追溯到掌上電腦(PocketPC)的演變歷史。最早的掌上電腦是不具備一般手機無線通話功 能的,隨著高新技術的不斷出現,廣大用戶對于市面上新推出的掌上電腦的各個方面功能的需求不斷增多, 所以相關開發設計人員很容易地將電腦的智能系統借鑒并移植到了手機終端,智能手機這個概念出現了。
智能手機無論是在外觀還是在操作本身的方式上同傳統手機都有不少相似之處。但是傳統手機都使用 的大部分都是一種完全封閉式的操作系統,這種系統由于用到的技術非常有限,直接會導致生產出來的手 機所能實現的各種功能比較簡單,從而也不具備智能手機所特有的擴展性。
智能手機的概念最早是從功能手機而來的,換一種說法,所謂的“智能手機”可以理解為就是一臺能 夠按照客戶需求任意安裝或者卸載各類軟件的手機,類似于掌上電腦。隨后JAVA技術的廣泛應用使后來開 發設計的手機能夠安裝各種JAVA應用程序。
歷史的發展過程中,世界上第一款智能手機是由巨頭公司IBM在上世紀90年代初推出的名叫Simon的 智能手機,它同時也是當時出現的上首款觸摸屏操作的智能手機,選用的是當時的Zaurus操作系統,這款 智能手機的出現為以后的智能手機的快速更新奠定了基礎,具有里程碑式的意義。
2.2手機終端開發技術
2.2.1系統開發平臺
開發本次系統使用Tomcat作為服務器進行項目服務器端的部署容器,并且使用Eclipse作為開發的集成 開發環境,下面進行具體介紹。
(1)Tomcat
Tomcat是一種輕量級的Web服務器,非常適合于應用服務器的一種開發工具。就其本質而言,Tomcat 相當于是Apache的一種擴展。Tomcat相較于Apache而言,具有一些自身的優勢,它獨立性更強,能夠獨立 于Apache單獨運行。主要是由于使用Tomcat搭建應用服務器時,配置方法相當簡單明了,而且使用Tomcat 搭建的應用服務器所占據的系統資源少。而且Tomcat具有非常優良的可擴展性,使用Tomcat搭建的服務器 相較于Apache而言升級更方便,系統擴展更容易,因此Tomcat工具也得到了很多程序員的喜愛。
(2)Eclipse
Eclipse是一個開放源代碼的使用Java進行系統開發時最常用的平臺開發工具,Eclipse本身只是提供了 一個平臺框架和服務,主要是通過各類插件組件來搭建開發環境。系統開發人員可以通過搭建好的平臺環 境對編寫的應用程序進行最基本的編輯、調試等操作,為Java語言的程序開發人員提供了一個統一的管理 平臺。Eclipse并不只是致力于支持Java語言的程序開發,而且具有很優良的兼容性,能夠將多個廠家的不 同組件都運用進來一起完成軟件平臺的開發工作。Eclipse附帶了一個標準的插件集,其中包括有常用的java 開發工具(JDK, Java Development Kit)。正式由于Eclipse給每個用戶的使用功能都是通過插件來提供的, 因此用戶可以根據自身的不同需求來安裝不同的插件,從而完成系統的開發工作,能夠兼容并集成多個公 司的不同開發工具,使得程序員使用Eclipse完成軟件開發工作變得方便快捷。
2.2.2 Android 技術
安卓操作系統(Android)是一種基于Linux操作系統的非常自由而且完全開放源代碼的手機終端操作 系統,主要是使用于移動終端設備。安卓操作系統最開始是由Google公司以及世界上的開放手機聯盟聯合 領導并設計開發的。安卓系統最開始由一個叫Andy Rubin的工程師主導并設計開發出來的,最開始主要的 作用就是支持手機終端的。隨后在2005年的時候就正式被Google整體收購并且注資。到2007年底的時候, Google與另外包括硬件制造商、軟件開發商及電信營運商在內的80多家公司一起聯合組建共同研發并且極 大的改良了先前的Android系統。緊接著Google公司又以Apache開源許可證這種授權方式,毫無保留的發布 了Android操作系統的源代碼。最終世界上第一部Android操作系統的智能手機在2008年10月成功發布。隨 后Android操作系統逐漸推廣到平板電腦以及其他的諸多領域上。在整個2011年第一個季度,Android操作 系統首次在全球的市場份額占有量超過了傳統的塞班系統,第一次排名全球首位。而時間來到2013年的第 四季度,也就是短短兩年多以后世界上Android平臺的手機份額己經達到了驚人的接近八成。同時也就在 2013年09月24日這一天谷歌開發設計的操作系統Android迎來了自己的5歲生日,據統計全世界各地采用這 種系統的各種設備數量加起來已經超過了驚人的10億臺之多。
2.3服務器端開發技術
(1)實時通信技術
為了使終端能夠快速訪問服務器端,服務器端也能夠快速響應終端的請求,實時通信技術利用HTTPS 和SOAP兩種協議承載數據,利用這兩種協議進行數據傳輸,既安全又可靠,還能夠為系統提供更好的擴 展屬性。通信技術還利用到了壓縮技術,通過在網絡中傳輸被壓縮的數據,在客戶端或者服務器端接收后 再進行解壓操作,減少網絡中傳輸的數據量,使得同樣的帶寬能夠傳輸更多的數據,以此可以提高實時通 信的質量,再配合終端緩存技術,進一步提高實時通信的體驗效果。
(2)斷點續傳技術
為了避免終端設備連接不上服務器端,對于已輸入的內容無法提交問題,系統提供了斷點續傳技術解 決文件或檢索數據重新傳輸的問題。斷點續傳技術可以利用HTTP協議或者FTP協議的方式進行。
1)HTTP方式的斷點續傳。對于下載來說,可以利用HTTP的get方式,在請求數據的頭部中指明需要 下載的數據或者文件位于網絡上何處即可,現在的技術方案中,一般采用的是HTTP1.1版本或以上的協議。 對于上傳來說,通過終端和服務器進行二次握手操作后,才能繼續上傳數據或者文件。
2)FTP方式的斷點續傳。FTP提供APPEND命令進行斷點上傳,通過REST支持斷點下載,同時也由于 該方式利用的是FTP協議的命令,所以這種方式的斷點續傳功能在開發過程中需要支持FTP的相關標準才 行。
2.4設計原則
在研發移動教務管理系統的過程中,要注意軟件開發的設計原則,作為開發人員必須要遵照系統的設 計要求,為了能更好的完善系統,必須要努力完成需求的各項標準。主要有以下設計原則:
(1)任務確定原則
作為開發人員,在移動教務管理系統開發之前,就要把移動教務管理系統開發作為一次任務,先把這 個任務確定下來,然后確定好開發任務的主次性,把一個完整的系統作為一個大任務,根據任務的各類, 進行細分,因為每一個任務模塊,并不都是完全獨立服務的,因此,如何確定好移動教務管理系統任務劃 分的關鍵在于軟件的成功開發。
因此,在設計學校教務人事管理系統的時候不僅要充分考慮學校的管理需求,還要考慮在設計系統中
擁有的權限管理,如教務管理人員、學校領導、教師及學生的工作流程,否則設計開發的系統無法正常應
(2)基本功能實現原則
在系統確定需求開發之后,就要和開發方面對面的交談一些開發的基本功能模塊,根據這個任務確定 原則,就可以確定開發的內容,此次開發任務的大小,在時間和空間上是否能按時完成,最基本也是最原 始的是要把整個系統的基本功能給實現出來。
(3)先進性原則
在如今這個信息化時代,軟件系統的更新換代都比較快,所以在開發的時候要保證系統的設計思想能 夠符合最高新技術的潮流,在滿足現有基本功能的前提下,使得系統可以在今后較長的一段時間內一直可 以保持技術方面的先進性。
(4)實用性原則
本系統提供非常友好美化的界面,操作起來簡便靈活、容易上手,同時也便于管理和后期維護。具有 教育行業風格界面和教育行業習慣操作的客戶端界面。能快速處理突發事件,具有時效性。
(5)可擴展性原則
移動教務管理系統必須具備良好的輸入輸出接口,能為以后各學院的開發提供接口,同時保證數據的 完整性。與此同時,系統應該還可以進行特定功能的定制開發,從根本上能夠實現與學校內部各系統進行 互聯互通各種類型的數據信息共享
2.5本章小結
本章主要分析了系統開發設計需要用到的相關技術,說明了安卓系統的發展進程,并分析了軟件開發 的設計方法,這些關鍵技術為論文后面的系統實現奠定了理論基礎。
第三章移動教務管理系統的分析與設計
第二章簡要的概述了移動教務管理系統的相關關鍵技術,為系統的開發和設計奠定了基礎。 本章的主要內容是對移動教務管理系統進行了分析以及設計,并提出了移動教務管理系統的需求 分析、總體設計以及詳細設計的過程。
3.1系統的需求分析
3.1.1系統的功能需求分析
移動教務管理系統是為了方便學生、教師和教務管理人員教學管理需要,移動教務管理系統 要求用戶在登錄系統前在登錄界面輸入用戶名以及密碼,通過系統的驗證登錄系統,方可操作符 合該用戶角色的功能。
學生登錄到系統可以進行修改個人基本信息、查看個人信息以及修改個人密碼。并且查看專 業培養計劃,做好個人學習生涯規劃,登錄到系統進行選課,查看每個學期的課表,可以查詢到 每個學期成績單,通過短信平臺還可以與教師和管理人員進行交流,通過畢業設計信息管理平臺 可以查看學校導師研究狀況和科研能力,可以在規定的時間內把論文題目、論文內容上傳到系統 送呈指導老師審閱。
教師登錄到系統可以進行修改自己的個人基本信息、查看個人信息并且修改個人密碼。并且 查看學校整個專業培養計劃,在課程管理平臺錄入自己所承排課程的大綱及該課程的介紹,可以 通過登錄系統的短信交流平臺及時和學生、教務管理人員進行教學交流,促使教學工作正常運行, 進行系統查看所承擔課程的選課人數及課程表,進行正常教學,學期末,將自己所承擔的課程成 績及時錄入系統,方便學生進行查看,指導老師使用畢業設計信息管理平臺錄入本人科研情況和 最近研究近況,通過此平臺可以把自己科研信息展現給對該研究方向感興趣的學生,以此達到盡 最大可能滿足學生畢業設計需求,確定好自己所帶學生的信息,在規定時間內及時審核學生的論 文題目和評閱學生的指導論文。
教務管理人員主要是要合理安排教學的正常運營,開學初就要設置好學生和老師的初始賬 號密碼,通過通知或公告的形式及時告訴學生和教師,在學生入校前就要錄入各個專業的培養計 劃,方便學生和教師進行查詢,在學生開課之前就要提前確定任課老師,根據學生的選課情況和 老師承擔課程情況,安排好課程表,并及時發布在移動教務管理系統,方便學生和選課老師進行 查看,以免耽誤教學的正常運營,在學生上課期間,為了保證教學正常運行,要及時通過短信平 臺將平時的一些教學通知發送給學生和老師,學期結束后要及時與任課老師取得聯系,督促任課 老師對學生成績進行錄入,及時審核老師錄入的成績,方便學生進行查詢。針對畢業班學生就要 提前把具有指導畢業資格的教師信息錄入到系統中去,方便學生到移動教務管理系統進行查詢導 師信息,并把畢業設計相關事項通過畢業設計信息管理平臺進行展示,方便學生和指導老師查詢, 收集學生選題報告和畢業論文。
系統管理員登錄系統之后主要可以對系統的用戶、角色、用戶角色、資源以及角色資源進行 管理。其中用戶管理的功能主要是能夠用戶基本信息進行增加、刪除、修改等基本操作,角色管 理是對系統的各個用戶的角色信息進行管理操作。資源管理是為對系統的各功能模塊的信息進行 增加、刪除、修改等管理操作。角色資源是為每個角色分配合理的功能。用戶角色主要是為每個 用戶分配合適的角色,使得不同用戶在進入系統后可以行使不同的功能。
3.1.2系統性能需求分析
(1) 采用常見的B/S架構模式,共享基本的數據庫信息,一般網絡流量下(6k/s)數據庫文 檔信息存取的響應時間不應該超過10秒。
(2) 在系統不運行其他系統應用程序而且網絡正常流量的情況下,系統服務器數據庫文檔 信息存取的時候系統的CPU占用率不應該超過80%。
(3) 本系統涉及到數據,對學生的成績編輯和查詢、成績單和學分的設置計算都要求有相 當的精度,保留小數點后2位。
(4) 本系統當中涉及的所有學生成績單以及學分匯總全部是建立在時間段的基礎之上的, 所以在系統數據庫的設計上必須充分展示出所有的時間段信息節點,這樣有利于相關人員以后的 管理和統計;除此之外還考慮到對事件發生時間的要求,我們把具體的時間精確到以天為單位。
(5) 本移動教務管理系統無論是在基本的數據信息錄入,還是在系統操作的可用性方面都 必須盡可能的滿足系統一般用戶的基本操作需求。
(6) 本系統采用的是面向對象的結構化的設計方法,程序設計是多線程的機制為主,數據 庫方面則主要選取數據連接池技術,數據庫的所有操作均釆用標準的SQL語句,這樣做的好處將 使系統的整體響應時間大大提高,應該至少是秒級的。
3.1.3系統用戶用例分析
(1)用戶登錄用例圖
根據總體的功能需求,該系統的使用者包括學生、教師、教務人員以及超級管理員四種角色。 每個用戶都將被賦予這四種角色中的一種,而每種角色擁有不同的功能模塊的操作權限,因此, 每個用戶在用戶名和密碼都正確的前提下,系統都將根據用戶所被賦予的角色給予不同的功能。
系統用戶登錄用例描述如圖3-1所示。
所有用戶
圖3-1用戶登錄的用例圖
(2)學生信息管理參與的用例圖
學生可以使用學號和密碼登錄到系統修改個人基本信息、查看個人信息以及修改個人密碼。 學生用戶用例描述如圖3-2所示。
圖3-2學生信息管理參與的用例圖
(3)教師信息管理參與的用例圖
教師和普通管理員可以登錄到系統去相關的界面修改教師基本信息、査看個人信息以及修改 密碼。用例描述如圖3-3所示。
圖3-3老師信息管理用例圖
(4)培養方案信息管理用例圖
學生可以到系統查看各專業的培養計劃和查看本人培養計劃,教師可以查看各專業的培養計 劃,教務人員和管理人員負責培養方案的制訂,并對培養方案進行增加、刪除和修改等操作,整 個培養方案的用例描述如圖3-4所示。
圖3-4培養方案信息管理用例圖
(5)課程信息管理用例圖
學生可以到登錄到系統進行選課,查看每個學期的課表,并可以對課程表進行打印。教師登 錄到系統了解學生選課的實際情況。教務人員和管理員主要負責收集所有上課班級的開課信息, 合理手動排課和自動排課。課程信息用例描述如圖3-5所示。
圖3-5課程信息管理用例圖
(6)成績信息管理用例圖
學生可以到系統查看自己個人成績,并擁有打印權限,打印出來的成績單必須到學校教務處 蓋章方可生效。教務人員和管理人員可以對已選課學生進行該課程的分數錄入,對需要修改的分 數進行編輯操作。成績信息管理功能的用例描述如圖3-6所示。
圖3-6成績信息管理用例圖
(7)短信信息管理用例圖
短信平臺開通目的是為了方便師生進行交流,用戶可以通過該平臺進行教學交流,可以查看 到未讀的信息、查看已讀信息和發送短信功能。短信信息管理用例描述如圖3-7所示。
圖3-7短信信息管理用例圖
(8)畢業設計信息管理用例圖
畢業設計信息管理主要是給學生和指導老師使用的,學生可以通過畢業設計信息管理來查看 老師信息、畢業設計選題、上傳論文等功能,教師主要是通過畢業設計信息管理來審批論文,畢 業設計信息管理用例描述如圖3-8所示。
3.2系統總體設計
3.2.1系統總體架構設計
1.系統架構選擇
對于移動教務管理系統來說,該系統軟件架構設計的目的主要是能夠根據系統架構階段設計 出的系統草圖,通過設計出來的草圖可以更好的縮短我們的開發周期。通過軟件架構設計階段我 們可以達到以下目的。
(1) 為后期的開發提供基準要求,并設計出可重用的組件,如用戶模塊,移動教務管理系 統總共有四類用戶,但是不管是哪一類用戶,他們都是有可重用的組件,在軟件系統的開發過程 中,我們要嚴格遵循系統設計的規范條款,即滿足了客戶的需求又符合了軟件工程本身的要求。 在系統架構設計的過程中可以把一部分移動教務管理系統中的公共部分抽象并且提取出來,進而 形成公共類以及工具類。
(2) 就移動教務管理系統來說,開發時間越短就越能滿足客戶的需要,利用軟件架構設計所 提供的系統框架以及重用組件,我們可以在一定程度上縮短開發系統的時間周期。
(3) 在移動教務管理系統開發過程提取大量的重用的抽象實體,可以從中主要提取出一些 開發人員不用關心的公共部分,通過提取出來的這些公共類的實現,就可以讓開發人員可以花更 多的時間去關注于移動教務管理系統業務邏輯的實現,縮短開發時間,提高工作效率。
(4) 使用架構設計出的草圖再進行開發的移動教務管理系統,在一定程度上提高了提高系統 的質量,減少了系統崩塌的風險,特別是滿足了客戶提出的非功能性需求。
2.系統的架構設計
該移動教務管理系統架構設計如圖3-9所示。
茅工運特紂
KIFI , 音頻 電量
薈動 驛動 管爰■
- J 一 一” .
圖3-9移動教務管理系統總體架構圖
從上圖中可以看出,移動教務管理系統的架構為安卓系統一般的四層結構體系,從上到下分 別是系統的應用程序層、系統應用程序的框架層、系統的運行庫層和系統Linux內核層,每一層 都有自己的分工,下面對各層分別介紹:
(1)應用程序層
系統的應用程序主要是用常用的Java語言程序來編寫的,而且這些應用程序有一個很大的特 點就是都可以被相關的開發人員所開發設計的其他應用程序進行相應的替換,這一點很明顯不同 于先前手機操作系統固化只能夠在系統內部的系統軟件,也就是說安卓系統更加靈活以及個性 化。
(2)應用程序框架層
應用程序框架層是我們進行一切Android手機軟件開發設計的根本,很多系統的核心程序也 是經過這一層來最終實現其功能的,應用程序框架層簡化了系統組件的重用,開發設計人員可以 直接使用系統提供的組件來進行盡可能快速的應用程序設計開發,同時也能夠實現應用的個性化 的拓展。
(3)系統運行庫層
從圖3-9中可以看出,系統運行庫層又能夠被分成兩個組成部分,它們分別是系統庫以及 Android運行時部分,系統庫是能夠對應用程序框架進行強大的支持,它是應用程序框架層和 Linux內核層中間連接的一個非常重要的紐帶。Android應用程序開發的過程中一般是采用Java語 言來編寫的,編寫的程序在Android運行時當中執行,其運行時又可以分為核心庫部分以及Dalvik 虛擬機兩部分,受篇幅限制在此不做過多闡述。
(4)Linux內核層
我們都知道安卓操作系統是基于Linux2.6內核之上進行開發的,它的核心系統服務諸如系統 內存管理、系統安全性、系統進程管理、網路協議還有驅動模型等等都是需要依賴于Linux的內 核。
除此之外系統的部分功能仍然離不開PC的web界面,必須要通過PC的WEB界面實現。比方 說學生提交畢業設計論文功能還有老師審閱學校提交的畢業論文等不可能只是在移動端來實現
這些操作,因此本系統在應用程序層上的一部分功能仍然需要在桌面端實現,對于這些功能的設 計系統選取常見的三層B/S架構。
B/S架構圖如圖3-10所示。
頁面請求 結果返回
數據操作請求 數據結果請求
數據層二)
數據庫管理系統
圖3-10 B/S架構圖
3.2.2系統總體功能結構設計
根據系統的詳細的需求分析,移動教務管理系統包括系統管理模塊、成績基本信息管理模塊、 學生信息管理模塊、課程基本信息管理模塊、教師信息管理模塊、培養方案基本信息管理模塊、 短信信息管理模塊以及畢業設計信息管理模塊等幾個主要的模塊組成。
系統總體功能結構圖3-11所示。
教務管理系統
圖3-11系統總體功能結構圖
3.3功能模塊設計
下面將會對各個功能模塊的設計過程進行詳細的描述。
3.3.1學生信息管理模塊
學生信息管理功能是由査看學生基本信息模塊、修改學生基本信息模塊和修改學生用戶密碼 三個子功能模塊組成。服務器端存儲了學生的各種信息,Android客戶端可以通過KS0AP2協議 訪問服務器端的學生數據,并將獲取到的學生信息通過一定的格式,例如XML和JSON返回到用 戶的移動終端上。移動終端用戶通過Web Service請求進行數據更新的交互式操作,通過指定的網 絡傳輸協議進行命令解析,最終將執行結果返回并顯示。
學生信息管理模塊可以進行學生信息查詢、記錄更新、記錄增加、記錄修改和班級管理等。 管理員可以根據不同的條件對學生的學籍信息等進行査詢、更新、增加和修改等操作,并可以進 行班級編制安排等操作。學生信息管理功能模塊圖如圖3-12所示。
圖3-12學生信息管理模塊圖
(1) 查看學生信息模塊是指學生用戶使用自己的用戶名和密碼合法登錄系統后,查看自己 的基本信息,并可以打印自己的基本信息。
(2) 修改學生信息模塊是學生用戶對自己的類似于個人聯系方式、家庭住址等基本信息不 滿意的時候,可以使用該模塊進行基本信息的修改。
(3) 修改密碼是指學生用戶想變更自己的登錄密碼的時候使用。
-~學生用戶一旦通過手機客戶端登錄系統界面時輸入的用戶名、密碼與系統的數據庫中的記錄 不符,系統將彈出錯誤對話框提示并仍然停留在登錄界面。系統后臺驗證各系統用戶的用戶名、 密碼以及驗證碼的合法性,驗證的結果具體有以下四種,分別是用戶名或者密碼為空,系統提示 用戶名或者密碼錯誤;用戶名或者密碼與系統數據庫不符,系統提示用戶名或者密碼輸入信息錯 誤;驗證碼錯誤,系統提示驗證碼輸入錯誤;用戶名、密碼以及驗證碼都正確,系統允許用戶進 入系統界面。
移動教務管理系統用戶登錄功能流程圖如圖3-13所示。
圖3-13學生用戶登錄功能流程圖
3.3.2教師信息管理模塊
教師信息管理功能模塊主要是由査看教師基本信息模塊、修改教師基本信息模塊以及修改用 戶密碼模塊三個子功能模塊組成,其中查看教師基本信息模塊還有修改教師基本信息模塊主要用 于教師個人基本信息維護管理模塊,而修改教師用戶密碼功能模塊主要用于教師用戶修改自己的 登錄密碼信息。
第三章移動教務管理系統的分析與設計 教師信息管理模塊功能如圖3-14所示。
教師信息管理
圖3-14教師信息管理功能圖
(1)査看教師信息模塊是指教師用戶使用自己的用戶名和密碼合法登錄系統后,查看自己 的基本信息,并可以打印自己的基本信息。
(2)修改教師信息模塊是教師用戶對自己的職位、個人聯系方式基本信息變更的時候,可 以使用該模塊進行個人基本信息的修改。
(3)修改密碼是指教師用戶想變更自己的登錄密碼的時候使用。
(4)教師可以進入系統在查看培養計劃,進而按照培養計劃制定自己相應的教學計劃。
(5)在每個學期的初期教師還需要錄入自己負責課程的詳細基本信息。
(6)在教學交流界面教務管理人員可以教學交流
教師用戶修改自己信息的流程圖如圖3-15所示。
圖3-15修改教師信息流程圖
3.3.3系統管理模塊
系統管理模塊可以進行數據備份、管理員管理、個人信息設置、修改密碼等。管理員可以對 系統數據進行備份處理,避免數據的丟失,并且可以添加或刪除管理員賬號、可以設置修改個人 信息、可以修改賬號密碼。系統管理模塊根據前面的需求分析是由六個子模塊組成,分別資源管 理模塊、角色管理模塊、角色資源管理模塊、用戶角色管理模塊、通知信息管理以及用戶管理模 塊。用戶管理是指對系統的用戶編號、用戶密碼、用戶姓名等方面的信息進行添加、刪除、修改 等操作。角色管理是對系統的角色編號、角色名稱、角色備注等方面的信息進行添加、刪除、修 改等操作。資源管理是指根據顯示在頁面上的資源的具體信息,比如資源編碼、資源排序、資源 名稱等,對其進行修改、刪除操作,并對新增的資源信息進行添加操作。角色資源管理是在頁面 顯示屬于某類角色的資源進行選擇或者不選擇的操作從而完成對該角色的資源進行添加或者刪 除的操作。用戶角色管理是在頁面顯示屬于某類角色的用戶進行勾選或者不勾選的操作從而完成 對該用戶進行賦予或者不賦予給角色的操作。系統管理模塊如圖3-16所示。
系統管理
圖3-16系統管理模塊圖
(1) 用戶管理是指對系統的用戶編號、用戶密碼、用戶姓名等方面的信息進行添加、刪除、 修改等操作。
(2) 角色管理是對系統的角色編號、角色名稱、角色備注等方面的信息進行添加、刪除、 修改等操作。
(3) 資源管理是指根據顯示在頁面上的資源的具體信息,比如資源編碼、資源排序、資源 名稱等,對其進行修改、刪除操作。并對新增的資源信息進行添加操作。
(4) 角色資源管理是在頁面顯示屬于某類角色的資源進行選擇或者不選擇的操作從而完成 對該角色的資源進行添加或者刪除的操作。
(5) 用戶角色管理是在頁面顯示屬于某類角色的用戶進行勾選或者不勾選的操作從而完成 對該用戶進行賦予或者不賦予給角色的操作。
(6) 通知管理模塊可以進行通知查看、站內通知、短信通知等。通過查看收件箱、發件箱, 查看已發的和收到的站內通知,可以自由選擇已有的聯系人或是加入聯系人發送站內通知和短信 通知。短信通知工作原理:客戶通過手機客戶端訪問服務器上的短信服務平臺;短信收發接口通 過服務器的串口與GSM Modem通信。向GSM Modem發送AT指令,達到發送接受短信的目的。
3.3.4課程信息管理模塊
課程信息管理功能主要是由在線選課模塊、選課統計、學期課程計劃管理、任課教師設置、 自動排課、手工排課、課表調整、課表打印模塊組成。其中學生可以在線選課、在線打印課表操 作。教師用戶統計選課情況和打印課表。教務人員以及超級管理員可以進行學期課程計劃管理、 任課教師設置、自動排課、手工排課、課表調整的操作。
課程信息管理模塊結構圖如圖3-17所示。
課程信息管理
圖3-17課程信息管理模塊圖
下面主要介紹在線選課、自動排課、手工排課功能的設計。
(1)、在線選課提供給學生在移動客戶端或PC端進行在線選課之用,學生可以在移動客戶 端查詢可選課程,選擇自己喜歡的教師和課程,并可以進行課程的退選和修改等操作。
新增課程
"""據入濛程計麹中
4
療示用戶,透課tr鶯已確認,不魁再修養
圖3-18在線選課模塊順序圖
移動在線選課模塊(學生使用)的功能中,基本操作流程如圖3-18所示:
1)學生通過系統所集成的統一身份驗證機制登陸到選課界面,先查看本人的選課狀態。
2) 査看自己可以選擇的課程列表,可以點擊列表中的某個課程査看其具體信息。
3) 選擇自己喜歡的課程,點擊添加到選課記錄中去
4) 如果未提交,學生可以對自己所選的課程進行修改,包括取消選擇,重選,新增等。
5) 在規定的時間內,學生可以刪除已選課程,重新選課。
6) 選課完成之后,可以查看自己的選課信息統計表,系統將學生個人選課信息以表格的形 式列出。
7) 學生確認選課計劃,確認之后的選課計劃將不能修改。
(2)、自動排課的功能是通過設置學期課程計劃、課程任課老師信息、教室信息達到程序自 動排課的目的。學期課程計劃安排了不同學期中,不同課程所要求的每周課節數量。教務人員以 及超級管理員才能進行學期課程計劃安排。課程任課老師中,管理不同的任課老師在某一個學期 里從事的課程教學任務,包括課程、老師、學期、每周課節數。自動排課是由學期、班級、課程、 老師、教室、星期、節次因素組成,在生成課表時,需要滿足一定的約束條件。
1) 排課需要滿足時間的問題,一周分7天,只需要安排5天的課程。學期課程計劃設置中又 設置了每周上幾節課的信息。
2) 排課的課程問題,由某一個課程老師所帶的課程只能安排在一個時間點上,如王老師在 周二上午第一節課被安排后,就不能再次安排°
3) 排課的教室問題,某一個教室在一個時間點上只能安排一個班級,如電子商務1班周二上 午第一節在教室1上課,就不能安排其它的課程或者班級。
4) 任課老師的安排,一個任課老師可以在多個教室上課,可以負責多個班級,但是同時間 只能安排一次。
O
管理員
n 1:打開系統
2:排課數據
3:排課操作
4:沖突檢測
5:更新沖突
6:無沖突排課完成
I
1
圖3-19自動排課模塊順序圖
自動排課模塊的功能中,基本操作流程如圖3-19所示,其中功能設計如下:
1)課程計劃信息包括信息的添加、修改、刪除和查詢。已經參與排課的計劃信息不能刪除
和修改,狀態為未使用的計劃才能編輯。課程計劃通過學期、課程名稱等査詢計劃信息,并把數 據庫中的記錄綁定到界面中。
2) 任課教師設置包括信息的添加、修改、刪除和查詢。點擊添加任課教師,錄入老師、課 程、學期、每周節數信息,每周節數需要在0到20之間,并把信息保存到數據庫中。
3) 在自動排課管理界面,加載學期信息,點擊自動排課信息,通過獲取學期信息,通過主 鍵查詢課程計劃信息數據。根據設置的約束條件,通過編碼生成課表。
4) 排課成功后,生成課表界面,并支持打印。
(3)、手動排課的功能是通過學期、班級、課程、老師、教室、星期、節次字段,進行的添 加、修改、刪除和查詢信息。教務人員以及超級管理員才能進行手動排課。手動排課和自動排課 所添加的信息都是一樣的,保存在排課信息表中,除了學期、班級、課程、老師、教室、星期、 節次外,由類型字段區分數據是手動還是自動排課。在自動排課生成的課表中,遇到不合適的課 程安排,可以通過課表調整進行修改。
1:打開系統n ;
* 2:添加排課廣
3:驗證重復 ;
? |
4:保存排課信息
5:更新信息
6:辦作成功
« +
7:打印課表
LJ
圖3-20手動排課模塊順序圖
手動排課模塊的功能中,基本操作流程如圖3-20所示,其中功能設計如下:
1) 輸入手動排課信息,添加手動排課信息,通過驗證方法后,把信息保存到數據庫中。如 果添加成功,返回成功信息到界面,添加失敗,返回錯誤信息到界面。
2) 在手動排課信息管理界面,加載手動排課信息,點擊修改,把排課信息加載到修改界面, 進行修改后,點擊保存,更新數據庫記錄。
3) 手動排課信息的刪除是通過獲取主鍵值,構造刪除語句,刪除成功后,返回是否成功的 信息,提示到界面中。
4) 手動排課信息通過學期、課程、班級查詢手動排課信息,獲取數據庫記錄信息,并綁定 到界面中。
5) 在課表調整功能中,首先通過條件查詢需要調整的課表,點擊修改,通過主鍵查詢課表 信息,返回到修改界面,綁定課表信息到控件中,可以進行信息的修改后保存。課表調整也可以
刪除不合適的排課記錄。
3.3.5培養方案信息管理模塊
培養方案信息管理功能由三個模塊組成,包括査看各專業培養方案模塊、査看個人培養方案 模塊以及編輯培養方案模塊。其中査看個人培養方案模塊可以打印自己的培養計劃內容。編輯培 養方案模塊包括修改以及刪除培養方案內容的操作。培養方案信息管理模塊如圖3-21所示。
圖3-21培養方案信息管理模塊圖
(1)查看各專業培養方案是指用戶使用學院、專業、學生年級等方面的參數查看符合自己需 求的培養方案的基本信息,主要信息包括培養目的、意義以及應修學分等。
(2)查看自己的培養計劃是指學生查看學校為自己制定的培養計劃內容,包括選修的各課程 信息以及畢業設計的信息。
(3)編輯培養方案是對培養方案的內容進行修改、刪除、增加等方面的編輯操作。
其中查看個人培養方案信息的流程圖如圖3-22所示。
調用斂據庫
圖3-22查看個人培養方案流程圖
3.3.6成績信息管理模塊
成績信息管理功能由查看個人成績信息模塊以及錄入學生成績信息模塊組成。其中,査看個 人成績是主要是學生用戶使用,而錄入學生成績模塊主要是授課教師以及教務人員使用。成績信 息管理模塊如圖3-23所示。‘
圖3-23成績信息管理模塊圖
(1) 査看個人成績是指學生查看自己所選的所有課程的考試成績單,并使用打印等功能得到 紙質成績單。
(2) 錄入學生成績是授課教師在課程考核結束后,為選擇了本門課程的學生進行分數的錄入 或者編輯,教務人員可以對學生的課程的分數進行修改、刪除等操作。
3.3.7短信信息管理模塊
短信信息管理功能是所有移動終端系統的一個基本也是非常重要的功能。主要由査看未讀短 信、查看已讀短信以及發送短信三個部分組成,其中查看未讀短信以及査看已讀短信是對短信的 查閱操作,而發送短信主要是用于用戶發送短信使用。短信信息管理模塊圖如圖3-24所示。
圖3-24短信信息管理模塊圖
(1) 查看未讀短信是指用戶査閱短信信箱中沒有讀過的短信內容,內容包括短信接收的時 間、發送信箱的人的姓名以及短信的內容。
(2) 查已讀短信是指用戶查閱短信信箱中已經被讀過的短信內容,內容包括短信接收的時 間、發送信箱的人的姓名以及短信的內容。
(3) 發送短信是指用戶在選擇了用戶的姓名,并編寫了短信內容后,即可完成發送短信給 指定的其他用戶。
其中發送短信的流程圖如圖3-25所示。
是
向服務器端發 送請求
結束
圖3-25發送短信流程圖
在短信的發送過程中,用戶將短信內容編輯完成之后可以選擇將短信發送出去也可以將短信 內容保存到草稿箱,在下一次進入短信應用是可以看到草稿箱的內容,并客選擇性地將草稿箱內 容發送出去。
3.3.8畢業設計信息管理模塊
畢業設計信息管理功能由畢業設計題目管理、畢業設計指導老師指定、查看老師信息、查看 畢業設計、畢業設計選題、上傳論文信息、畢業設計審核、下載畢業設計資料八個功能模塊組成, 其中畢業設計題目管理、畢業設計指導老師指定模塊主要是用于教務人員以及超級管理員在制定 題目的時候使用,而查看老師信息、查看畢業設計、畢業設計選題、上傳論文信息模塊是學生用 戶登錄后使用,畢業設計審核、下載畢業設計資料信息模塊是在教師指導學生進行畢業論文的撰 寫時使用。畢業設計信息管理模塊圖如圖3-26所示。
畢業設計管理
圖3-26畢業設計信息管理模塊圖
下面對各不同用戶角色的所使用的功能模塊進行說明,分別為教務人員以及超級管理員的畢 業設計管理模塊、學生用戶的選題和上傳模塊、老師用戶的審核和下載模塊。
(1)、教務人員以及超級管理員登錄后,對畢業設計題目管理,題目管理包括了信息添加、 修改、刪除和查詢功能,設置的字段為題目名稱、內容要求、附件、格式要求、時間要求、人數 要求等。如果畢業設計題目被學生選擇了,將不能修改和刪除。對應畢業設計的題目還可以指定 指導老師,一個畢業設計對應一個指導老師,一個指導老師可以輔導多個題目。題目管理的流程 圖如3-27示:
CUD
圖3-27畢業設計題目管理模塊流程圖
題目管理模塊的設計流程如下:
1) 在題目管理信息添加功能中,首先通過獲取題目名稱、內容要求、附件、格式要求、時 間要求、人數要求等基本信息后,點擊添加,把輸入的數據插入到數據庫,再返回插入成功信息。
2) 在題目管理信息列表中,點擊編輯按鈕,首先獲取了該行信息的編號,根據編號查詢題 目信息表的數據,并返回給界面層,用戶修改信息后,再次點擊保存,數據層把新修改的數據修 改到數據庫中,并刷新列表。
3) 在題目管理信息中也可以點擊刪除圖標,首先獲取了該行信息的編號,把數據從數據庫 中刪除,再返回刪除成功信息,并刷新題目管理信息列表。
4) 指導老師的指定功能中,也是通過畢業設計題目信息列表中的指定老師按鈕,首先獲取 了該行信息的編號,根據編號查詢題目信息表的數據,并返回給界面層,改界面還需要加載教師 列表,并選擇指導老師后,再次點擊保存,數據層把新修改的數據修改到數據庫中,并刷新列表。
(2)、學生用戶登錄后,查看老師信息、査看畢業設計、畢業設計選題、上傳論文信息。老 師信息主要是針對具有輔導畢業設計權限的教師,包括教師的聯系方式、職稱、研究方向等信息。 查看畢業設計是管理員添加的題目信息,包括基本的字段。學生用戶根據自己的學習能力和專業 方向選擇合適自己的題目,一般情況下,選題后不能更換題目。選擇題目后,在完成畢業設計各 階段都需要填寫完成情況表和上傳畢業設計相關的文檔。老師審核完成情況后,會給出指導意見, 學生用戶可以查看老師的指導意見并修改論文,直到審核通過。選題和上傳文檔的流程圖如3-28 示:
圖3-28選題和上傳文檔模塊流程圖
學生用戶畢業設計管理模塊的設計流程如下:
1) 在查看老師信息功能中,輸入老師姓名、職稱等信息,點擊查詢,根據條件查詢老師信 息表的數據,并返回給界面層。也可以不輸入條件,查詢所有的教師信息,在教師信息列表中, 點擊查看,可以看到教師所有的字段信息。
2) 在査看畢業設計信息功能中,輸入題目等信息,點擊查詢,根據條件查詢畢業設計信息 表的數據,并返回給界面層。也可以不輸入條件,查詢所有的畢業設計信息,在畢業設計信息列 表中,點擊查看,可以看到畢業設計所有的字段信息。
3) 在畢業設計信列表中點擊選題圖標,首先獲取該行信息的編號,把選題信息保存到數據 庫中,再返回選題成功信息。
4) 在畢業設計選題列表中點擊上傳論文圖標,在上傳文檔的界面中,填寫論文完成情況, 并上傳文檔。該界面還顯示了所有上傳的文檔信息,可以下載查看。
5) 在審核指導頁面,羅列了所有畢業設計指導情況,根據老師的意見,對畢業設計進行修 改完善。
(3)、教師用戶登錄后,進行畢業設計審核、下載畢業設計資料,畢業設計審核包括了査看 學生選題情況、查看畢業設計信息和查看學生畢業設計完成情況后,給予畢業設計的指導意見, 上傳文檔批準。下載畢業設計是在學生上傳的畢業設計列表中,下載文檔,查看完成情況。教師 用戶畢業設計管理的流程圖如3-29示:
查看畢業設計信息
(教師)——?!登錄系統| 姿k設計列表
學生完成情況列表牛
CW3
圖3-29教師用戶畢業設計管理模塊流程圖
教師用戶畢業設計管理模塊的設計流程如下:
(1)在畢業設計信息列表中,輸入題目等信息,點擊查詢,根據條件查詢畢業設計信息表 的數據,并返回給界面層。只顯示出當前登錄教師負責的畢業設計信息。選擇一個畢業設計題目 后,點擊查看,查看頁面顯示了所有選擇了該題目的學生信息。通過點擊學生,進入到學生上傳 的畢業設計資料界面。
(2)在學生提交的畢業設計資料界面,點擊審核,可以查看學生填寫的完成情況,教師用 戶可以給予指導意見,也可以上傳批注文件。
(3)畢業設計資料列表中,點擊下載,獲取行主鍵值后,查詢畢業設計資料信息表數據, 得到資料路徑,通過下載方法獲取服務器某路徑上的資料。
3.4系統數據庫設計
3.4.1數據庫的選擇
移動教務管理系統采用SQL Server 2008數據庫。其理由主要有以下幾點:
(1)在設計的系統中采用了服務器、客戶機架構。、
⑵用戶界面全部都是圖形,相關系統用戶可以更加直觀、簡單地對系統的數據信息進行管 理。
⑶接口工具比較豐富,最大程度地體現了系統的可拓展性。
(4)可跨越多種平臺使用。
(5)支持數據倉庫功能,通常在DBMS或Oracle中才具備這種功能。 與之前的幾個版本比較,SQL Server 2008的新特性有以下幾點:
(1)對擴展標記語言XML的支持
(2)基于Wdb的強大分析功能
(3)對OLE DB以及查詢功能的支持
(4)對基于分布式分區視圖的支持
342數據庫的概念結構設計
數據庫概念結構設計就是將需求分析得到的用戶需求抽象為信息結構。即整理概念模型的過 程就是概念結構設計。它是整個數據庫設計的中心。概念結構比數據模型更獨立、更抽象,它是 各種數據庫模型的共同基礎。描述概念模型的基本工具是E-R圖。它通過描述系統內的所有實體 及其屬性以及實體間的聯系建立起來的信息系統概念模型。E-R模型由實體、屬性、聯系三種元 素組成。實體是用戶實際工作中所涉及到的事務,屬性是對實體特征的描述。現將本系統部分 E-R圖模型分別表述如下:
圖3-30用戶E-R圖
圖3-31角色E-R圖
圖3?34數據庫類圖
3.4.3系統數據庫表的設計
移動教務管理系統部分數據庫表的設計有很多。
教務管理系統部分數據庫表的設計如表3-1到表3-7所示。
表3-1用戶表
字段名 數據類型 長度 說明
userid int 4 用戶編號(主鍵)
loginName varchar 50 登錄名稱
password varchar 50 口令
username varchar 50 用戶名稱
userlype int 4 用戶類型
表3-2角色表
字段名 數據類型 長度 說明
Roleld int 4 角色編號(主鍵)
RoleName varchar 32 角色名稱
RoIeDesc varchar 50 角色描述
表3-3教室信息表
字段名 數據類型 長度 說明
classRoomld int 4 教室Id (主鍵)
buildingid int 4 教學樓Id
classRoomNum varchar 50 教室號碼
classRoomSize int 4 教室大小
classRoomDesc varchar 1000 教室描述
表3-4課程信息表
字段名 數據類型 長度 說明
coursesld Wchar 10 課程Id (主鍵)
name nvarchar 1200 課程中文名稱
fbreignName varchar 1200 課程英文名稱
courselypeld int 4 課程類型Id
SelectTenn Varchar 8 學期
contentSumary varchar Max 課程提綱
useBooks varchar Max 教材
referenceBook varchar Max 相關書籍
teacherName varchar 10 授課教師
buildld int 4 教學樓編號
classRoomld int 4 教室編號
表3?5學生信息表
字段名 數據類型 長度 說明
studentld varchar 10 學生編號(主鍵)
cityld int 4 城市編號
teacherld Varchar 10 教師編號
studentName varchar 250 姓名
studentOldName varchar 250 曾用名
studentidentity varchar 120 身份證號
studentSex Wchar 2 性別
studentBirthday varchar 50 生日
studentEmail varchar 1500 郵箱
academyld int 4 年級
score float 分數
表3?6教師信息表
字段名 數據類型 長度 說明
teacherld Varchar 10 教師編碼(主鍵)
teacherName 伽char 10 姓名
teachers sex 伽char 2 性別
teacherld Grade Wchar 8 職稱
InstituteDD Varchar 10 所在學院
teacherCareer 伽char 12 學歷
teacherDegree Varchar 6 教師學位
teacherComeDate Date 入校年月
teacherGraduate 伽char 20 畢業院校
teacherBirthday Date 岀生年月
teacherCampus Wchar 20 校區
CETLevel Varchar 10 英語等級
teacherBankAccount 伽char 20 銀行賬號
teacherboth 伽char 2 雙師型
teacherForm 費char 20 教師籍貫
表3?7學生選課表
字段名 數據類型 長度 說明
ChooselD Varchar 20 選課編號(主鍵)
SelectYear 伽char 8 學年
SelectTerm X^rchar 8 學期
coursesld varchar 10 課程ID
studentld varchar 10 學號
Comfirm varchar 6 選課確認
Score int 考試成績
3.5本章小結
本章是對移動教務管理系統進行需求分析以及系統設計,首先通過用戶用例圖對系統 的用戶功能需求進行詳細分析,并對設計的各個功能模塊的過程進行了詳細的闡述,最后 并對移動教務管理系統的數據庫進行設計。
第四章移動教務管理系統的實現與測試
通過前章對移動教務管理系統進行的需求分析以及總體設計后,本章將對移動教務管理系統 進行具體的實現,先對移動教務管理系統進行技術結構的選擇,然后再具體實現移動教務管理系 統的具體模塊。本章最后還將會介紹移動教務管理系統的測試,具體的測試內容包括系統的功能 測試以及性能測試。最后還給出了解釋結果分析
4.1開發環境
移動教務管理系統的軟件開發工具及開發庫是釆用軟件開發工具java語言,數據庫選用的是 MS SQL Server2008»
JAVA環境釆用的是JDK1. 6,安卓平臺環境釆用的是安卓SDK 2.0,與此同時,也要開發 相關控件,需要選擇Eclipse針對Java開發的專用版本(Eclipsefbr Java)。
開發環境搭建步驟如下:
(1)http://5ava.sun.com/javase/downloads/index.jsp JDK 6 Update 20。下載并安裝JDK。
(2)Eclipse ADTPluginjg件是安卓Develop Tool Kit的插件,用戶需要安裝它才能在EcUpse 中建立和調試安卓程序,可以先從http://dl.google.com/安卓/ADF0.9.6.zip站點下載到本地"
(3)啟動eclipse,選擇:Help > install software...
(4)在下一個對話框的workwith后面有一個Add按鈕,單擊此按鈕,選擇Local,選擇剛剛下 載好的ADT目錄。安裝完成安卓ddms,安卓development tools
(5)配置已安裝的插件,制定安卓sdk位置,選擇:Window-> Preferences...左邊菜單中選 中安卓
(6)在右邊瀏覽選擇安卓sdk的解壓目錄作為sdk location創建安卓虛擬設備AVD
(7)首次運行提示創建AVD。菜單"Window"-〉"安卓AVDManager"中配置模擬器。
4.2系統功能模塊實現
本移動教務管理系統主要有八個功能模塊,它們分別是系統管理模塊、教師基本信息管理模 塊、課程基本信息管理模塊、成績基本信息管理模塊、學生基本信息管理模塊、學生培養方案基 本信息管理模塊、短信信息管理模塊以及畢業設計信息管理模塊。
系統主界面如圖4?1所示。
|||教務管理系銃
圖4-1系統主界面
本小節主要是對各個功能模塊最終的實現界面及其操作方法做一個簡單的展示說明。
4.2.1系統管理模塊
系統管理模塊主要包括角色信息管理、資源信息管理、系統用戶信息管理、系統用戶角色管 理、系統角色資源管理以及通知管理模塊六個子功能管理模塊。該模塊主要用于用戶使用用戶名 和密碼登錄系統操作自己業務范圍內的功能模塊。具體是通過賦予用戶特定角色,而這個角色被 賦予了特定的一個或者多個功能模塊,如教師可以進行錄入學生成績的操作,學生可以操作上傳 畢業設計論文以及選擇畢業設計老師的模塊。
而此模塊使用到了用戶表(users)、角色表(roles)、資源表(resources),角色資源表(role_resources) 以及用戶角色表(role_user)。
本系統中的用戶扁類主要有四種,它們分別是學生用戶、教師用戶、教務人員以及系統超級 管理員,其中學生擁有的合法資源模塊有查看學生信息模塊、修改學生信息模塊、修改密碼模塊、 查看個人培養方案模塊、查看各專業培養方案模塊、在線選課模塊、查看個人成績模塊、查看老 師信息模塊、上傳論文信息模塊以及選擇畢業設計指導老師模塊等,教師可操作的功能頁面主要 有查看教師個人信息模塊、修改教師個人信息模塊、查看選課學生名單模塊、查看各專業培養方 案模塊、錄入學生成績模塊以及審批畢業論文模塊等。教務人員可操作的資源模塊有查看未讀短 信模塊、查看已讀短信模塊、發送短信模塊、編輯培養方案信息模塊,手動排課模塊、修改學生 信息模塊以及修改教師信息模塊等,移動教務管理系統中的系統管理員可操作的功能頁面主要有 用戶信息管理、資源信息管理、角色信息管理,角色資源管理,用戶角色管理等。
系統信息管理中的用戶角色管理模塊的主要設計思想是從頁面左方選擇系統的角色,從而使 得頁面右方顯示被賦予了該角色的所有用戶的用戶姓名、身份證號碼等信息,系統可以通過設定 用戶姓名以及身份證號碼獲得特定的用戶信息,也可以通過對這些用戶信息進行增加、刪除的操 作來編輯用戶的角色信息。
用戶角色管理部分關鍵代碼如下:
Integer id = this.getParameterAsInt(ttidH);
userRoles = this.userRoleService.getUserRolesByUserId(id);
String str = JsonBuilder.build(userRoles, new StringQ { ”parent”,
Children'1});
系統信息管理中的角色資源管理模塊的主要設計思想是通過下拉框從系統的所有角色中選 擇某個角色,使得頁面可以顯示屬于該角色的所有資源功能頁面,然后通過選擇或者不選擇某個 資源頁面前的單選框來決定刪除或者不刪除屬于該角色的某個資源。
角色資源管理部分關鍵代碼如下:
roleResourcessPage.setPageNo(getPageNo()); roleResourcesService.search(roleResourcessPage/oleResources);
this.roleResourcesService.saveresources(role,roleResourcess); return message(”已經保存成功",”已經保存成功M,null);
系統管理模塊中的資源信息管理主要是對系統中所有的功能頁面的相關信息進行增加、刪 除、修改以及增加的操作。
資源信息管理部分關鍵代碼如下:
int id=getParameterAsInt("id");
resourcess = resourcesService.getAllRootResources();
}//獲得資源信息
else { resourcess=resourcesService.getAllChildrenById(id);
}
系統管理模塊中的系統用戶基本信息管理主要是對系統中的學生用戶、教師用戶、教務人員 以及系統超級管理員這四類用戶的基本信息進行査詢、刪除、修改、增加的操作,通過設定用戶 姓名,編號等參數從眾多的系統用戶中獲得需要的用戶信息。
用戶信息管理部分關鍵代碼如下:
usersPage.setPageNo(getPageNoO);
userService.search(usersPage, user);//得至!]系統用戶信息
系統管理模塊中的角色信息管理是對系統中的所有角色進行增加、刪除、查詢、修改操作, 在系統角色數量很多的情況下,可以通過設定角色的名稱來查詢需要的角色信息。
4.2.2學生信息管理模塊
根據前面對移動教務管理系統的需求分析以及總體設計,學生信息管理模塊主要包括以下三 個功能模塊,分別是查看學生信息模塊、修改學生信息模塊以及修改密碼模塊。
用戶進入系統之后,在個人信息管理欄下點擊個人信息查看,即可對本系統中的用戶信息進 行查看、刪除、編輯操作。在個人信息管理欄下點擊添加個人信息,填寫相應的個人信息資料后, 點擊提交新增的個人信息便會存入數據庫中。
用戶發出請求后,系統將請求提交到web.xml, web.xml通過調用Post的方式,對 MemberlnfoRequest的SearchMember方法調用MemberManager的query ()方法查詢個人信息, 學生信息管理模塊中的査看學生信息模塊主要是由學生使用查看自己的基本信息,對自己的 個人基本信息滿意并確定準確無誤的情況下,學生可以使用打印預覽或者直接打印等功能打印出 自己的個人基本信息表。該模塊涉及到的數據庫表由學生信息表(students)、城市信息表(city)等。 學生信息管理模塊中查看學生信息模塊界面如圖4-2所示。
學生基本信息管理模塊中查看學生信息模塊關鍵代碼如下:
int id = this.getParameterAsIntC^id1');
student = this.studentService.find(id);
enterlnfb = enterInfbService.getEnterInfoBystudentId(student .getStudentldO);//通過學生編號獲得學生詳細信息 查詢個人信息的系統時序圖如圖4?3所示。
圖4-3查詢個人信息時序圖
學生信息管理模塊中的修改學生基本信息模塊主要是由學生用戶在對自己的個人基本信息 需要修改的情況下,使用該功能對自己的家庭地址、生日、身份證號碼等基本信息進行添加、刪 除等操作。該模塊涉及到的數據庫表由學生信息表(students)、城市信息表(city)等。
學生信息管理模塊中修改學生信息模塊關鍵代碼如下:
int id = this.getParameterAsInt("id");
student = this .studentService. find(id);
enterlnfo = enterInfbService.getEnterInfoBystudentId(student .getStudentldO);
this.initData();
this.studentService.saveOrUpdate(student)^/W 改學生詳細信息并保存
學生信息管理模塊中的修改密碼模塊主要是由學生在登錄密碼登錄不成功或者泄露的情況 下,使用該資源頁面通過輸入舊密碼、新密碼以及確認新密碼來對自己的登錄密碼進行修改操作。 該模塊涉及到的數據庫表由學生信息表(students)、城市信息表(city)、用戶表(users)等。
學生信息管理模塊中修改密碼界面如圖4M所示。
#教務管理系銃
圖4-4修改密碼界面 學生信息管理模塊中修改密碼模塊關鍵代碼如下: int id = this.getParameterAsInt(Mid");
String pwd=getParametefpwd”);
TUser user = this.userService.fmd(id); user.setPassWord(pwd); 〃修改學生用戶密碼
4.2.3教師信息管理模塊
根據前面對移動教務管理系統的需求分析以及總體功能結構設計,教師信息管理模塊主要包 括以下三個子功能模塊,它們分別是查看教師基本信息模塊、修改教師基本信息模塊以及修改教 師用戶密碼模塊。
教師信息管理模塊中的査看教師信息模塊主要是由教師使用查看自己的基本信息,對自己的 個人基本信息滿意并確定準確無誤的情況下,教師可以使用打印預覽或者直接打印等功能打印出 自己的個人基本信息表。該模塊涉及到的數據庫表由教師信息表(teachers)、城市信息表(city)等。
教師信息管理模塊中查看教師信息模塊關鍵代碼如下:
TUser user = getNowUserQ;
teathers = this.teatherService.findTeachersByNum(user.getLoginNameOtrimO); if (teathers != null) {
teather = teathers.get(O); 〃通過編號獲得老師信息
}
type = 1; this.initDataO;
教師信息管理模塊中的修改教師基本信息模塊主要是在教師在對自己的個人基本信息需要 修改的情況下,使用該功能對自己的工作崗位、職稱、政治面貌等基本信息進行添加、刪除等操 作。該模塊涉及到的數據庫表由教師信息表(teachers)、城市信息表(city)等。
教師信息管理模塊中修改教師信息模塊關鍵代碼如下:
int id = this.getParameterAsInt("id");
teather = this.teatherService.find(id);〃 得到老師具體信息 this.initDataO;
this.teatherService.saveOrUpdate(teather)y/{^ 改老師信息
教師信息管理模塊中的修改密碼模塊主要是由教師在登錄密碼登錄不成功或者泄露的情況 下,使用該資源頁面通過輸入舊密碼、新密碼以及確認新密碼來對自己的登錄密碼進行修改操作。
該模塊涉及到的數據庫表由教師信息表(teachers)、城市信息表(city)、用戶表(users)等。
教師信息管理模塊中修改密碼界面如圖4-5所示。
零*
圖4-5修改密碼界面 教師信息管理模塊中修改密碼模塊關鍵代碼如下: int id = this.getParameterAsInt("idn);
String pwd=getParameter(,,pwdM);
TUser user = this.userService.find(id); user.setPassWord(pwd); 〃修改老師用戶密碼
4.2.4培養方案信息管理模塊
培養方案信息管理模塊主要是用來對培養學生的教育方案的相關內容進行管理的模塊,主要 分為三個模塊,分別是查看各專業培養方案、編輯培養方案以及查看個人培養方案。其中,查看 培養方案是系統中所有角色都能操作的功能模塊,主要是通過設定專業以及年級等方面的參數得 到需要的培養目的、意義,所修學分等方面的培養方案的詳細信息。編輯培養方案是教務人員或 者超級管理員才能操作的模塊,是指對各專業的培養方案進行添加、刪除、修改等方面的操作。 而查看個人培養方案是由學生操作的模塊,主要是查詢自己完成的培養方案,比如選修的課程、 開題、論文等方面的信息。培養方案信息管理模塊涉及到的數據庫表分別有培養方案信息表 (trainingPlan)、教師信息表(teachers)、個人培養方案信息表(traingScheme)、培養方案課程信息表 (training_courses)等。
培需方案信息管理模塊中查看各專業培養方案界面圖4-6所示。
圖4-6查看培養方案界面圖
培養方案信息管理模塊中查看各專業培養方案部分關鍵代碼如下:
〃獲取專業培養方案編號
int id = this.getParameterAsInt("id");
//通過編號查找指定的培養方案記錄
trainingScheme = this.trainingSchemeService.find(id);
trainingSchemeResearchWays =
this.trainingSchemeResearch'WayService.getTraniingSchemeResearchWayByTraiiiingScheine(training Scheme);
〃獲取培訓課程記錄
trainingSchemeCourses =
this.tramingSchemeCoursesService.getTrainingSchemeCoursesByTramingScheme(trainingScheme);
//查看各專業培養方案
培養方案信息管理模塊中編輯培養方案部分關鍵代碼如下:
第四章移動教務管理系統的實現與測試 this.traimngSchemeService.saveAs(trainingScheme, researchWaylds, courseslds)
this.trainingSchemeService.saveOrUpdate(trainingScheme,
researchWaylds, courseslds);
〃編輯修改培養方案
培養方案信息管理模塊中查看個人培養方案部分關鍵代碼如下: trainingScheme.setYear(studeiit.getYear());
trainingSchenie.setProfessionalId(student .getProfessionalId());//? ?
trainingSchemeService.search(trainmgSchemesPage? training Scheme); //學生查看個人培養方案
4.2.5課程信息管理模塊
課程信息管理功能主要是由在線選課模塊、選課統計、學期課程計劃管理、任課教師設置、 自動排課、手工排課、課表調整、課表打印模塊組成。其中學生可以在線選課、在線打印課表操 作。教師用戶統計選課情況和打印課表。教務人員以及超級管理員可以進行學期課程計劃管理、 任課教師設置、自動排課、手工排課、課表調整的操作。
下面主要對在線選課、自動排課和手動排課進行實現說明。
(1)在線選課模塊提供給學生在移動客戶端進行在線選課之用,學生可以在移動客戶端查 詢可選課程,選擇自己喜歡的教師和課程,并可以進行課程的退選和修改等操作。在線選課的界 面如4-7所示:
圖4-7在線選課界面圖
實現流程為:
在選課界面,加載課程基本信息,點擊選課,獲取學生用戶登錄的信息,如未登錄,提示錯 誤信息,通過驗證后。把學生信息和課程信息賦給選課Model實體,調用B11層的Add方法。通過
Model參數構造SQL語句,實現添加操作。在選課信息列表頁面,通過GetAll查詢記錄,返回List 集合,綁定List到顯示控件中。點擊編輯鏈接,跳轉到選課修改頁面。修改選課的基本信息,驗 證信息,并提示具體的錯誤信息。把控件的數據賦給選課Model實體,調用B11層的Update方法。 在Update方法中,處理修改信息的邏輯,調用DAL層的Update方法,通過Model參數構造SQL語 句,實現修改操作。
關鍵代碼為:
this. CourseSelectionSchemeService.saveAs(
CourseSelectionScheme, Courselds, Userids)
this. CourseSelectionSchemeService.saveOrUp(iate(CourseSelectionScheme, Courselds, Userids);
CourseSelectionScheme.setCourse (courseSelection.getCourse ());
CourseSelectionScheme.setUserlds (courseSelection.get Userids ());// CourseSeIectionSchemeService.search(courseSelection SchemesPage, courseSelection Scheme);
(2)自動排課模塊中,先設置學期課程計劃管理、任課教師信息,然后根據設置情況,進 行自動排課操作。自動排課的界面如4-8所示:
學期課程計劃:
自動排課
圖4-8自動排課界面圖
自動排課實現流程為:
1)課程計劃信息列表調用GetList方法,參數為學期、課程名稱,返回Lis喋合。生成Select 查詢語句,Where條件為Request請求到的名稱信息,返回DataSet集合,轉換為List<Model>集合, 綁定到顯示控件中。
2)任課教師設置信息添加中,先通過check方法驗證每周節數是否在0到20之間,接著驗證 其它信息是否輸入,最后調用Save方法,生成Insert插入語句,把信息保存到數據庫中。返回是 否成功類型變量。根據返回值,判斷提示是否成功的信息Response到界面。
3)在自動排課管理中,Click點擊事件獲取學期信息,通過主鍵查詢課程計劃信息數據。生 成每周5天,每天7節課的35個時間二維課表,解決同一時間點內教室、班級、課程的沖突,生成 自動安排的課程數據,生成插入到數據庫中的sql語句,執行插入操作。如果插入成功,返回Tn© 保存失敗,返回False。根據返回值,判斷提示是否成功的信息Response到界面。
自動排課部分關鍵代碼如下:
if QCount < 1)
{
msgErr+=惆課時數設置不當<1,跳過[H;
msgErr += rst.getString(MClassNanieM) + MI
["+ rst.getStringCCourseName”) + "]【"+ rst.getString(MTennNameM) + "】<br>M; isHulue=true;
continue ; 〃教室不夠,跳過當前未排課記錄;
}
while。勺 Count) {
//tryCount=0;
BianYiXqJc(ClassIdnew5rd);
XqId=byXq;
JcId=byJc;
isHulue=felse;
if(RoomlypeIdnew <=!){
RmId=0;
}else if(j=O || tiyCount>100){
BianYiRm(roomCount,rd);
RmId=byRm;
}
i^tryCount>=200) {
if(j>0){
objDb.delObjs(pTennIdStr,ClassIdnew,courseId);
}
msgErr+="嘗試次數太多,跳過";
break; 〃嘗試次數太多,跳過當前未排課記錄
}
〃檢查教師和教室的適應性
i^ThRmNoBusy(XqId,JcIdJRmId,Integer.parseInt(pTermIdStr),teacherId)){
//找到位置
i 埒 <4){
XqOld[j]=XqId;
}
j=j+l;
ttyCount=0;
ClassList[(JcId-1)*5 + Xqld -l]=ClassIdnew;
curobj= objDb.GetBean("", pTermldStr, String.valueO^CIassIdnew)
,String.valueOf(courseId), String. valueORteacherld),
String. valueOf(RmId), Xqld, Jcld,咱動”); objDb.addObj(curobj);
}
}的結束,待排課記錄完成
if(!isHulue){
String strsqll = "update CICo set CcStatus-已排, where Classld=" + Classldnew
+" and courseld =" + courseld+ " and Termld=" + pTermldStr;
per.executeProcedure(strsqll);
}
//i結束,所有課程完成
msgErr +=cName+"自動排課完成! <br></p>";
(3)手動排課模塊中,主要包括信息的添加、修改、刪除和查詢操作。并可以對自動排課 的課表信息進行課表調整,學生用戶和教師用戶登錄后,還可以對課表進行查詢打印。手動排課 的界面如4-9所示:
圖4-9手動排課界面圖
手動排課實現流程為:
1)輸入手動排課信息,通過Wlidate^證方法后,調用Save方法,生成Insert插入語句,把信 息保存到數據庫中。其中Save方法的返回值為Bool類型,如果保存成功,返回True,保存失敗, 返回False。根據返回值,判斷提示是否成功的信息Response到界面。
2)在手動排課信息管理界面,點擊修改,通過Click點擊事件獲取行Num對應的主鍵值,通 過主鍵查詢數據。在Getlnfb方法中,參數為主鍵,返回值為List,通過Select査詢手動排課信息。
返回到修改界面,綁定到控件中,可以進行信息的修改,點擊保存,調用Update方法,生成Update 的sql語句。如果修改成功,返回True,保存失敗,返回Falser根據返回值,判斷提示是否成功 的信息Response到界面«
3)手動排課信息獲取ID后,構造delete刪除語句,刪除成功后,返回是否成功的信息,提示 到界面中。
4)手動排課信息通過學期、課程、班級查詢手動排課信息,調用GetList方法,參數為名稱, 返回List集合。生成Select查詢語句,Where條件為Request請求到的名稱信息,返回DataSet集合, 轉換為List<Model>集合,綁定到顯示控件中。
手動排課部分關鍵代碼如下:
String sql =,'iq)date CourselnfoTb set courseid=”'+pObj.getCourseId04””; sql+=,'9classid-M+pOly.getClassIdO+n',ClassRoomId==',,+pObj.getClassRoomId()+',,n; sql+=n,teacherid=:,n+pObj.getTeacherId()+,",terniid='"+pObj.getIbrniId()4-,M,';
sql+=,', Weeks=,M4- pObj.getWeeks()+M,J LessonOrders='"4- pObj.getLessonOrders()+,M ”; sql+=^CInfoIype='%pOty.getCInfoIypeO+; sql+=” where CInfoId=H+ pObj .getCInfoldO;
String msg-'lH;
boolean flag=this.queryObjFlag(pObj.getTennId())pObj.getClassId0,pObj.getTeacherId0, pObj.getClassRoomId()5pObj.getWeeksO?pObj.getLessonOrdersO,tnie5pObj.getCInfoIdO);
我flag){
msg=M2,*;
}else{
String err=per.executelnsert(sql);
per.close();
i^err!=null&&err.length()>4) {
msg=,,On;
}
}
return m 夠
4.2.6成績信息管理模塊
成績信息管理模塊主要用戶是學生和老師,其中老師進行學生成績的錄入,而學生查看并打 印成績。成績管理模塊主要分為兩個模塊,分別是查看個人成績模塊以及錄入學生成績模塊。其 中査看個人成績模塊是學生查看自己進行考核后的課程成績,得到關于課程名稱、學分、開課時 間以及成績等方面的信息,并可以使用打印功能得到紙質成績單。而錄入學生成績信息模塊是教 師在得到自己某個課程的選課學生名單后,依次將學生的考試成績信息輸入系統的過程。
用戶在登錄系統后,用戶點課程信息管理欄下的查看成績信息,用戶就可以查看成績信息, 還可以通過編輯、刪除鏈接,對成績進行修改、刪除。若數據量大,系統會對數據進行分頁處理。
用戶發出請求后,系統將請求提交到web.xml, web.xml通過調用Post的方式,對 MarklnfbRequest的SearchMark方法調用MarkManager的query ()方法査詢課程信息,然后將查詢 的成績信息通過doget ()方法返回。
查看成績信息的系統時序圖如圖4-10所示。
圖4?10查看成績信息時序圖
成績信息管理模塊涉及到的數據庫表分別有分數信息表(score)、課程信息表(curses)等。 成績信息管理模塊中查看個人成績部分關鍵代碼如下:
int id = this.getParameterAsInt(Mid,');
scores = this.scoresService.find(id);
成績信息管理模塊中錄入學生成績部分關鍵代碼如下:
int id = getParameterAsInt(,'id,');
scoress = scoresService.initScoresByStartCouresId(id);
4.2.7短息信息管理模塊
短信信息管理模塊主要分為查看未讀短信模塊、查看已讀短信模塊以及發送短信模塊。這個 模塊是系統中所有角色都可以使用的資源頁面。其中,查看未讀短信模塊是指用戶査看別人發給 自己但是自己還沒有閱讀的短信信息,信息內容包括發送時間、發送人以及發送內容。査看已讀 短信模塊是指用戶查看別人發給自己但是自己已經閱讀完畢了的短信信息,信息內容包括發送時 間、發送人以及發送內容。而發送短信模塊是指用戶在編輯完短信內容后,選擇下拉框中存在的 用戶信息,進行發送操作。
短信信息管理模塊涉及到的數據庫表分別有短信信息表(sendMsg),用戶類型信息表 (userTypes)、用戶表(users)等。
短信信息模塊中査看未讀短信部分關鍵代碼如下:
TUser user = getNowUser();
this.messages = messageService. viewUnreadMessages(user); this.messagesPage.setAllResult(this.messages);
短信信息模塊中查看已讀短信部分關鍵代碼如下:
TUser user = getNowUserO;
this.messages = messageService. viewReadedMessages(user); this.messagesPage.setA.llResult(this.messages);
短信信息模塊中發送短信界面如圖4-11所示。
敎勢音理系統
圖4?11發送短信界面圖
短信信息模塊中發送短信部分關鍵代碼如下:
TUser user = getNowUserO”/獲取當前用戶
TUser sendTUser = userService.find(message.getTUserByReceiveUserId() .getUserId());〃查找發送用戶信息
message.setTUserByFromUserld(user);
message.setTUserByReceiveUserId(sendTUser);//^ 信息發送給指定用戶 mess^e.setRec &veDate(datetime);
this.save();//發送短信信息
return renderText(”發送成功”);
4.2.8畢業設計信息管理模塊
畢業設計信息管理模塊主要分為畢業設計題目管理、畢業設計指導老師指定、查看老師信息、 查看畢業設計、畢業設計選題、上傳論文信息、畢業設計審核、下載畢業設計資料八個模塊。其 中查看老師信息模塊是指學生在選擇畢業論文指導老師的過程中,需要獲得職稱、工作崗位、研 究方向等方面的教師基本信息,學生可以在該模塊中通過設定學院、專業、教師姓名等參數信息 從眾多的教師中獲得需要的教師信息。選擇論文指導老師是指學生在畢業論文撰寫前選擇指導老 師的過程,學生在系統中只要輸入教師姓名點擊“提交”按鈕即可完成選擇畢業論文指導老師的 操作。上傳論文信息模塊是指學生在完成開題報告或者畢業論文之后,在系統中編寫論文題目并 上傳論文的word文檔以供導師下載審批。論文信息審核是指教師下載學生的論文進行閱讀后,審 核該論文是否通過的操作。
畢業設計信息管理模塊涉及到的數據庫表分別有教師信息表(student)、學生信息表(student)、 論文信息表(student_research)等。
下面從不同用戶角色出發,對畢業設計信息管理模塊進行實現說明。
(1)管理員用戶登錄后,點擊畢業設計管理,彈出畢業設計題目管理、畢業設計指導老師 指定模塊,管理員對畢業設計題目進行添加、修改、刪除和查詢操作,并可以指定畢業設計題目 的指導老師。畢業設計題目管理界面如4-12所示:
圖4-12畢業設計題目管理界面圖
管理員用戶畢業設計管理實現流程為:
1)在題目管理信息添加功能中,輸入題目基本信息,通過ckeck方法驗證輸入的準確性,通 過驗證,調用業務邏輯層的AddAction方法,把輸入的數據通過數據層的sql語句插入到數據庫, 根據返回值true或者fklse,提示信息到界面。
2)在題目管理信息列表中,通過控件綁定信息,點擊edit,跳轉到用戶修改頁面,修改頁面 和添加頁面為同一頁,通過Edit和Add狀態區別。通過GetData方法獲取該ID條件下的客戶記錄, 輸入修改信息后,提交到Business Rules方法驗證信息,通過后,構造Sql修改語句,修改數據, 并返回是否修改成功信息。
3)在題目管理信息中也可以點擊刪除圖標,首先獲取了該行信息的編號,根據編號調用業 務邏輯層的DeleteAction方法,把數據通過數據層的sql語句從數據庫中刪除,再返回刪除成功信 息。
4)指導老師的指定功能中,在頁面加載pageload方法中,獲取老師信息的List集合,綁定 到下拉框中,選擇老師點擊確定后,在事件Add方法中,構造插入的Sql語句,把指定老師信息 插入到數據庫表中。
添加畢業設計題目關鍵代碼為:
TXuanti xuanti=xuantiDAO.findById(xuantiId);
xuanti.setXuantiDes(xuantiDes);
xuanti.setJindu(jindu);
xuanti.setF enshu(fenshu);
xuanti.setXuantiZt(xuantiZt); xuantiDAO.attachDirty(xuanti);
this.setMessage("添加應功”); this.setPath("stuSelect.action?timuId="+xuanti.getTimuIdO); return "succeed";
(2)學生用戶登錄后,點擊畢業設計管理,彈出查看老師信息、查看畢業設計、畢業設計 選題、上傳論文信息模塊,學生用戶査看信息,并在線選題和上傳畢業設計論文資料,查看老師 審核情況。其中畢業設計選題管理界面如4-13所示:
圖4-13學生選題界面圖
學生用戶畢業設計管理實現流程為:
1)查看畢業設計界面中,先通過GetSheJiAll方法獲取所有的畢業設計題目信息,返回 List<SheJi>集合,循環集合,顯示到界面。點擊列表查看按鈕,通過View方法,査看具體的畢業 設計信息,使用GetOneSheJiByld方法查詢記錄。
2)在畢業設計列表中,通過XuanTi方法,進行選題操作。首先判斷數據庫中是否存在登錄 用戶的選題信息,如果存在,提示不能再選,否則,插入一條選題信息到數據庫中。
3)上傳畢業設計完成文檔,再UploadFile方法中,先選擇手機內存中文件,然后判斷文件的 類型是否合法,通過驗證后,調用Save方法,先把文件上傳到服務器中,然后構造insert的插入sql 語句,保存成功后,根據返回的true或者頊se判斷是否上傳成功。
4)査看畢業設計審核情況,該頁面首先通過GetAllShenHe方法查詢所有的審核信息,通過 登錄用戶的ID為條件,返回List對象,循環顯示到頁面中。在頁面列表,使用view方法查看具 體的審核信息。
上傳畢業設計附件關鍵代碼為:
String newFujianName=
new Date().getTime()+fiMiaiiFileName.substring(対 ianFileName.indexOK”.”));
String dstPath = ServletActionContext.getServletContext0.getRealPath(nupload,')+
M\\M + newFujianName;
File dstFile = new File(dstPath);
copy(this.getFqjian(),dstFile);
Maprequest=(blap)ServletActioiiC(mtext.getCoiitext().getCTequest”); request.put(1,newFujianName,\ newFujianName);
request.put(noldFuj ianName", fujianFileName);
request.put(”甸ianPath”,7uploadH+"/" + newFujianName);
return ActionSupportSUCCESS;
(3)教師用戶登錄后,點擊畢業設計管理,彈出畢業設計審核、下載畢業設計資料模塊, 教師查看畢業設計信息,查看學生選題情況,下載學生上傳的資料,審核畢業設計,給予指導意 見和修改建議。畢業設計審核管理界面如4-14所示:
圖4-14畢業設計審核管理界面圖
教師用戶畢業設計管理實現流程為:
1)教師用戶后,保存登錄信息,在畢業設計查看界面,通過GetSheJiAll方法查詢信息,where 條件設置指導老師為當前登錄人,把返回的List數據顯示到界面中。
2)在畢業設計列表中,通過ViewStudent方法,查看選擇該題目的學生信息,獲取學生信息 后,使用ViewStudentUpLoad方法,查看學生上傳的畢業設計資料信息,把返回的List數據顯示到 審核畢業設計界面。附件列表中,提供了下載功能,在Down方法中,通過獲取附件地址下載附 件信息。
3)老師查看學生畢業設計完成信息后,給予指導意見。在GiveMessage方法中,插入意見信 息到審核信息表中,該方法包括輸入的審核意見信息,學生編號、當前登錄的教師編號,Check 方法驗證輸入信息的合法性,通過save保存信息。
學生選題查看關鍵代碼為:
for(int i=O;i<xuantiList.sizeO;i++)
{
TXuanti xuanti=(TXuanti)xuantiList.get(i);
int timuld=xuanti.get1nnuld();
int stuId=xuanti.getStuIdO;
TTimu timu=timuDAO.fiDdById(timuId);
xuanti.setXuantiOne 1 (timu.getTimuNameO); xuanti.setXuantiOne2(timu.getTimuBianhaoO); TStu stu=liuService.getStuById(stuId);
xuanti.setXuantiOne3(stu.getName 1 ()); xuanti.setXuantiOne4(stu.getXuehaoO);
Maprequest=(Map)ServletActionContext.getContext0.get(nrequestu);
request.put(nxuantiListM3 xuantiList);
return ActionSupport.SUCCESS;
4.3網絡通信處理
數據包括本地數據和網絡數據,本地數據主要是從手機的內存和存儲卡中獲取數據信息。網 絡數據管理主要是將網絡上的一些數據信息轉換成系統所需的數據格式。
在發送信息的過程中系統將安卓平臺的短信發送功能封裝成腳本函數,Mb應用開發過程中 直接調用JS函數發送短信,發送短信的過程如下:
(1)獲取發送地址,不成功則退出,否則執行下一步;
(2)創建地址列表;
(3)判斷地址列表是否創建成功,不成功則退出,否則執行下一步;
(4)發送短信;
(5)退出。
在安卓中,除了使用java.net包下的API訪問HTTP服務之外,還可以換一種途徑去完成工作。 安卓SDK附帶了Apache的HttpClient API。Apache HttpClient是一個完善的HTTP客戶端,它提供 了對HTTP協議的全面支持,可以使用HTTP GET和POST進行訪問。
網絡通信時序圖如圖4-15所示。
1-2:跟蹤管理鏈接。
3-5:通信連接。
6-7:與GAEA-S進行通訊。發出請求命令。
8:儲存數據信息。
9-11:更新信息,根據響應消息處理相關邏輯。
網絡請求接口就是應用通信過程中所調用的接口,用戶操作頁面會在系統中產生相應的邏輯 處理,當需要網絡上的資源時,必需通過網絡接口獲取網絡資源,通過上面的流程可以看出,用 戶的操作行為在系統中產生對用的event對象,通過內部通訊的方式將時間對象傳遞到不同的模 塊進行處理,當需要獲取網絡資源時,在數據管理模塊的封裝下,產生httpReqEvent時間對象, 傳遞到網絡通信模塊,網絡通信模塊將請求發送出去,最后獲取到網絡資源供應用功能使用。
匸二>3:査找對應控件;
[6:HgGet/PostBr求一; ! Get^ost^j^ I
圖4-15網絡通信處理時序圖
4.4系統擴展接口模塊實現
APIBPApplication Programming Interface 應用編程接口,能夠把不同的軟件系統、不同的 操作系統按照一定的約束條件整合在一起。隨著智能手機的普及,手機應用軟件的開發如火如 荼,如android, ios手機操作系統軟件,在現代軟件開發中,手機客戶端的開發也被加入了軟件 開發流程。本系統是中型應用系統,為了有效應用手機業務的優勢,本系統主要是android客戶端 的開發。眾所周知,客戶端要訪問服務器數據,就涉及到接口的開發。
系統采取應用程序接口的方法定義、程序及協議的集合,通過API接口實現計算機軟件之 間的相互通信。通過API的接口提供系統的通用功能集。系統開發人員通過使用API函數開發 應用程序,從而可以避免編寫無用程序,以減輕編程任務。
除此之外還采用API的中間件,為各種不同平臺提供數據共享。根據單個或分布式平臺上不 同軟件應用程序間的數據共享性能,
使用本系統手機客戶端查看信息時,界面顯示與WEB客戶端顯示的內容是一樣的,在開發 系統接口的過程中,要注重數據庫字段的對應,通過接口,將信息轉化為xml格式,手機客戶端 讀取這些xml文件,從而顯示信息。從代碼層面上講,如BusinessdataListServlet.java中,通過重 寫doPost方法,根據手機客戶端登錄人的電話號碼來獲取此人所接收到的信息,再將這些信息按 照xml文件格式裝配起來,返回給response對象,從而在手機客戶端正確讀取信息。
“系統接口模塊”為系統與多個業務平臺互聯互通整合,只有部分系統提供接口協議(且接 口協議各異),部分系統不提供接口協議。對面這兩種情況,如何實現平臺與業務平臺無縫對接, 平臺將提供系統接引擎功能,即系統所有與外部系統的通信由接口組件統一收發,起到統一管理 接口的功能,方便系統的開發,調試,運營,查錯。
接口組件可以方便業務系統開發接口功能,使用統一的通信接口,處理接口之間的數據傳輸, 并根據相關的接口配置自動的觸發后續接口數據的處理。
隨著時間的推移教務管理系統的功能需求還會不斷擴大,系統未來在功能方面還可以更加豐 富,比方說在數據統計分類方面可以繼續加強,引入數據挖掘的模型幫助相關的管理人員更好的 做出決策管理。系統接口模塊可以幫助系統的后期高效開發。
4.5系統的測試
4.5.1系統測試內容及測試方法
軟件系統的測試在于盡可能地查找、排除軟件系統中可能存在的BUG,另一方面來取證系 統開發質量高低的判定,最終將完善的、可靠的軟件系統交付給用戶。
本測試主要針對系統的功能完備性、系統性能、系統整體界面三大方面展開測試。對系統的 功能采用黑盒軟件測試法進行測試,具體可以分為模塊功能測試、頁面質量測試、頁面跳轉測試 等方面;對系統的性能采用模擬、峰值、突發負載等手段進行測試,具體分為系統負載測試以及 系統壓力測試兩方面的內容;系統整體界面測試主要是測試各個界面對于最終系統用戶的和善性 程度的測試。
黑盒測試(或功能測試),是指從用戶的角度岀發,對每個功能模塊進行數據輸入與數據輸 出;但不測試軟件的內部架構,也不測試軟件的內部特性,僅依賴于軟件的對外操作接口進行測 試;它的目的在于檢查軟件功能模塊,是否達到了預設的功能要求。
系統的測試通過最嚴格的軟件測試工具的MI系統的測試(Mercury Interactive)軟件 LoadRunnerS.l,該軟件將多個測試系統組件囊括其中,分別完成不同的功能。
測試中Mercury Analysis是用于分析場景的重要組件,該組件可以進行深入的性能分析并提 供相關信息的圖和報告。系統使用這些圖表報告信息,就可以確定系統的缺陷,從而對系統進行 修正,提高系統性能。
對于相關的上述組件,對系統的性能還需做以下的測試:
(1)反應的時間性能測試
反映時間測試是針對系統存在多個入口、處理點和系統事件的情況,對其相應時間進行多次 測試,得出平均響應時間。這一測試可以直觀的反映系統對各種處理流程的反應能力,體現系統 的處理效率和速度。
(2)性能測試(CPU、Memory)
CPU、Memory測試是系統性能的一項關鍵任務,是指對系統平臺運行過程中客戶端計算機、 服務器的性能參數的檢測,這一檢測過程對軟件系統在計算機硬件系統中的運行狀況進行測試, 可以檢測出造成系統響應緩慢、服務器系統的閃斷、數據庫的崩潰等高危險等級故障。
(3)性能測試(負載、壓力測試)
負載性能測試即壓力測試,是系統模擬多個用戶user,觀察系統在并行訪問時的響應能力, 反映系統并發處理能力。
(4)可靠性測試
可靠性測試的主要衡量指標是故障率,是指在設定的某個時間段內系統連續不間斷運行,觀 察其是否發生故障,將故障率作為重要參考,反映系統穩定性的測試過程。
(5)網絡性能測試
網絡性能測試可以檢測現有網絡環境對系統平臺的適應能力。主要檢測指標包括:網絡流量, 每秒的數據釆樣率,網絡延時。
4.5.2系統的功能模塊測試
在部署移動教務管理系統后,將對系統中的畢業設計信息管理模塊進行測試。從前四章的分 析可以看出,畢業設計信息模塊主要由系統的兩類角色操作,分別是學生以及教師。其中學生通 過查看老師信息模塊以及選擇畢業設計老師信息來選擇自己需要的論文指導老師,并通過上傳論 文信息模塊在網絡上完成與老師的論文溝通。而老師則通過系統中的論文信息審核模塊對學生完 成的開題報告或者論文進行審批并給出審核和意見。
配置測試環境為:
(1)硬件環境:客戶機1臺;IntelP41.7G, 2G內存,300G硬盤。
安卓手機 1部:Qualcomm MSM7225 528Mhz 512MB 內存
(2)軟件環境:客戶機操作系統采用WindowsXP
終端環境采用安卓OSv2.2操作系統
(3)網絡運行環境:移動GPRS網絡
測試用例主要包含四個方面:數據查詢、數據展現、數據編輯以及數據存儲。數據查詢主要 是對教務管理系統中各種信息的查詢,例如學生個人信息,教師個人信息,成績信息,課表信息 等等。數據展示主要是對查詢結果的展示,通過列表形式將結果呈現給用戶。數據編輯主要是對 數據進行數據庫中表的數據進行修改。數據存儲主要是對新增數據的錄入,例如新報道的學生信 息,考試后的成績信息錄入等。
定義畢業設計測試用例如下表4-1所示:
表4-1畢業設計信息管理系統測試用例表
測試用 例編號 畢業設計信息管理測試用例內容 實際返回的結果 用例類型
1 學生登錄系統,上傳論文信息,輸入 空的論文題目 錯誤提示“論文題目不能為 空,請重新輸入” 反例
2 學生登錄系統,上傳論文信息,輸入 空的論文摘要 錯誤提示“論文摘要不能為 空,請重新輸入” 反例
3 學生登錄系統,上傳論文信息,輸入 空的論文word文檔 錯誤提示"論文won!文檔不 能為空,請重新輸入” 反例
4 學生登錄系統,上傳論文信息,輸入 大小錯誤論文word文檔 錯誤提示“論文word文檔超 過30M,請重新輸入” 反例
5 學生登錄系統,選擇畢業設計老師信 息,輸入錯誤格式的學生學號 錯誤提示“錯誤格式學生學 號,請重新輸入” 反例
6 學生登錄系統,查詢老師信息,輸入 錯誤格式的老師編號 錯誤提示“錯誤格式老師編 號,請重新輸入” 反例
7 學生用戶使用正確的用戶名和密碼登 錄系統 提示登錄成功,進入系統管 理 正例
8 學生登錄系統,上傳論文信息,輸入 論文題目、上傳小于30M的文檔 提示上傳成功 正例
9 學生登錄系統,查詢老師信息,輸入 正確格式的老師編號 顯示了老師信息 正例
按照以上表格中描述的測試用例,使用用戶名:27620,密碼:13134登錄系統,點擊“上傳 論文信息”,不輸入論文題目,點擊"提交”,系統提示“論文題目不能為空",不輸入論文摘要, 點擊“提交”,系統提示“論文摘要不能為空”,不上傳論文word文檔,點擊“提交”,系統提示 "論文word文檔不能為空",上傳40M大小的論文word文檔,點擊"提交",系統提示"論文word 文檔大小超過了30M大小”。點擊“選擇畢業老師信息”,輸入錯誤的學生學號,系統提示“錯誤 格式的學生學號,請重新輸入”。點擊"查詢老師信息”,輸入錯誤格式的教師編號,系統提示“錯 誤格式教師編號,請重新輸入”。
學生用戶使用正確的用戶名和密碼登錄系統,點擊登錄,提示登錄成功,進入系統管理。學 生登錄系統,上傳論文信息,輸入論文題目、上傳小于30M的文檔,點擊上傳,提示上傳成功。 學生登錄系統,查詢老師信息,輸入正確格式的老師編號,點擊查詢,顯示了老師信息。
教務管理系統信息查詢與展現測試用例如下表4-2所示。
表4-2教務管理系統信息查詢與展現測試用例
測試用例編號 測試系統功能 輸入數據或操作 預期的結果 用例類型
1(a) 信息查詢 輸入查詢條件 能夠査到相關的 正例
1(b) 信息査詢 不輸入查詢條件 顯示所有信息 反例
1(c) 信息顯示 查看信息 信息顯示正常 正例
1(d) 報表打印 打印報表 打印成功 正例
1(e) 信息保存 數據修改后保存 數據成功存到數 據庫中 正例
1(f) 信息保存 清空修改的數據后保 存 提出錯誤信息 反例
1(g) 報表顯示 査看多個顯示列表 列表顯示正常 正例
1(h) 報表顯示 査看沒有數據的列表 報告不顯示 反例
1(0 輸出報表 點擊報表輸出 輸出報表打開顯 示正常 正例
高校教務管理系統信息修改測試用例如下表4-3所示。
表4-3高校教務管理系統信息修改測試用例
測試用例編號 測試系統功能 輸入數據或操作、 預期的結果 用例類型
2(a) 讀取數據 讀取系統數據庫中的數 據 成功讀取 正例
2(b) 錄入完整信息 在系統中錄入新數據 成功錄入 正例
2(c) 錄入空的信息 在系統中錄入空數據 提示消息 反例
2(d) 修改信息 修改系統中的數據 修改成功 正例
2(e) 修改信息 修改為系統存在數據 提示消息 反例
2(f) 刪除信息 刪除系統中某條數據 刪除成功 正例
2(g) 刪除信息 刪除系統中不存在數據 提示錯誤信息 反例
2(h) 保存信息 保存系統中的數據 成功保存到數 據庫中 正例
高校教務管理系統整體測試用例如下表44所示。
表4丄高校教務管理系統整體測試用例
測試用 例編號 測試系統功能 輸入數據或操作、 預期的結果 用例類型
3(a) 登錄系統 用戶名和密碼正確 成功登錄系統 正例
3(b) 登錄系統 用戶名正確,密碼錯誤 登錄系統失敗 反例
3(c) 登錄系統 不輸入用戶名和密碼 提示消息 反例
3(d) 頁面鏈接是否有 效 點擊頁面中的鏈接 打開新的頁面 正例
3(e) 文件命名 輸入已存在的文件名 提示用戶該文 件名已存在, 是否覆蓋 正例
高校教務管理系統信息查詢與展現測試結果如表4-5所示。
表4-5高校教務管理系統信息査詢與展現測試結果
編號 測試系統功能 輸入數據或操作、 預期的結果 實際結果 用例類型
1(a) 信息查詢 輸入查詢條件 能夠查到相關的 信息 能夠查到相關的 信息 正例
1(b) 信息查詢 不輸入査詢條件 顯示所有信息 顯示所有信息 反例
1(c) 信息顯示 查看信息 信息顯示正常 信息顯示正常 正例
1(d) 報表打印 打印報表 打印成功 打印成功 正例
1(e) 信息保存 數據修改后保存 數據成功存到數 據庫中 數據成功存到數 據庫中 正例
1(0 信息保存 清空修改的數據后保 存 提出錯誤信息 提出錯誤信息 反例
1(g) 報表顯示 查看多個顯示列表 列表顯示正常 列表顯示正常 正例
1(h) 報表顯示 查看沒有數據的列表 報告不顯示 報告不顯示 反例
Hi) 輸出報表 點擊報表輸出 輸出報表打開顯 示正常 輸出報表打開顯 示正常 正例
髙校教務管理系統信息修改測試結果如下表4-6所示。
表4-6高校教務管理系統信息修改測試結果
用例編 號 測試系統功能 輸入數據或操作 預期的結果 實際結果 用例類 型
2(a) 讀取數據 讀取系統數據庫中的 數據 成功讀取 成功讀取 正例
2(b) 錄入信息 在系統中錄入新數據 成功錄入 成功錄入 正例
2(c) 錄入空的信息 在系統中錄入空數據 提示消息 提示消息 反例
2(d) 修改信息 修改系統中的數據 修改成功 修改成功 正例
2(e) 修改信息 修改為系統存在數據 提示消息 提示消息 反例
2(0 刪除信息 刪除系統中某條數據 刪除成功 刪除成功 正例
2(g) 刪除信息 刪除系統中不存在數 據 提示錯誤信 息 提示錯誤信息 反例
2(0 保存信息 保存系統中的數據 成功保存到 數據庫中 成功保存到數據 庫中 正例
高校教務管理系統整體測試結果如下表4-7所示。
表4-7高校教務管理系統整體測試結果
用例編 號 測試系統功 能 輸入數據或操 作 預期的結果 實際結果 用例類型
3⑻ 登錄系統 用戶名和密碼 正確 成功登錄系統 成功登錄系統 正例
3(b) 登錄系統 用戶名正確,密 碼錯誤 登錄系統失敗 登錄系統失敗 正例
3(c) 頁面鏈接是 否有效 點擊頁面中的 鏈接 打開新的頁面 打開了新的頁面 正例
3(d) 登錄系統 不輸入用戶名 和密碼 提示消息 提示消息 反例
3(e) 文件命名 輸入已存在的 文件名 提示用戶該文件 名已存在,是否 覆蓋 提示該用戶該文 件名已存在,是 否覆蓋 正例
4.5.3系統的性能測試
對系統性能的測試從壓力測試以及并發測試的方面來進行測試,系統分別測試10個遞增最多 到100個線程,即在系統運行的過程中模擬這些數目的用戶并發;每個用戶循環發送請求50次, 測試結果如表4-8所示。
表4-8壓力測試結果表
樣本 平均響
應時間 85%樣本的
響應時間 min響應
時間 max響應
時間 錯誤率% 吞吐量 KB/sec
200 37s 15s 0 547 0.00% 162.8/sec 3775.3
500 163s 134s 0 2834 0.00% 156.5/sec 3629.9
1000 342s 243s 0 5958 0.00% 165.9/sec 3832.3
1500 723s 1343s 0 12922 7.31% 158.8/sec 3516.1
3000 1347s 6234s 0 16532 50.12% 203.8/sec 2463.5
系統的數據吞吐能力及響應時間可以反應出該系統的運行績效。下面以4、8、16、100個用 戶并發為例測試用戶登錄系統的運行情況,用戶并發測試用例表以及用戶并發測試結果表如下表 4-9所示。
表4-9系統用戶并發測試用例
編號 并發用戶數量 操作描述
場景A 4個 所有用戶同時登錄
場景B 8個 所有用戶同時登錄
場景c 16個 '所有用戶同時登錄
場景D 50個 所有用戶同時登錄
場景E 100個 所有用戶同時登錄
隨著并發用戶數量的增加,系統響應時間會逐漸增加,如4?16到4?18所示。
Elapsed scenario time mm:ss
圖4-16 4個并發用戶和響應時間
圖4-18 50個并發用戶和響應時間
由圖中可以看出,在查詢畢業設計選題信息時,事務在100個并發用戶時,系統的響應時間 會延長,并發用戶減少時,響應時間會縮短,這有可能與數據庫連接數有關,但是響應時間都在 可接受范圍內,表明系統運行正常。
4.5.4系統測試結果分析
通過以上的用例測試各個功能模塊進行多次的測試,移動教務管理系統可以對輸入空的、格 式錯誤的信息具有良好的糾錯和容錯的能力,這是滿足對相關教務信息的編輯以及管理操作要求 的。當網絡流量一般情況下(6k/s)數據庫文檔信息存取的響應時間不超過10秒,可以達到性能 設計的目標。
通過以上對系統的多次測試,發覺移動教務管理系統要比傳統的教務管理要方便得多,因為 它不僅在信息輸入的時候及時提示錯誤給工作人員警示,也給工作人員在對各種教務信息方面進 行編輯的過程中增加了便捷。
4.6本章小結
本章主要是對移動教務管理系統進行詳細具體的實現與測試。首先介紹了系統的開發環境, 隨后對各模塊功能的實現界面圖給出了基本操作介紹與展示。隨后對移動教務管理系統進行詳細 的測試。具體的測試了各個功能模塊的實現情況,除此之外還對系統的性能進行了詳細的測試, 測試結果良好。
第五章總結與展望
5.1總結
本文通過對教務系統信息化建設的相關途徑進行討論,對基于安卓平臺的教務管理系統的開 發設計與實現進行詳細的闡述。本文在對教務管理系統的詳細深入的需求調研之后,建立系統的 相關模型,選擇了系統采用的基本架構,并對系統的業務流程進行了詳細的設計,最后編碼實現。 論文首先概述了教務管理工作在整體學校教學的管理工作中的重要地位,并通過分析學校教務管 理工作的實際情況來說明目前傳統的教務管理工作存在著低效率、費時費力的問題,同時通過研 究移動教務管理系統在國內外的現狀說明信息化的教務管理方式對如今的教務管理工作的重要 地位。在此基礎上提出本文所涉及的移動教務管理系統,在選擇系統開發的框架以及平臺的同時, 對系統的各個模塊進行深入地分析研究。
本文的主要成果如下:
(1)對學校的各個部門做深入的需求分析,主要是對學生基本信息管理、教師基本信息管 理、論文基本信息管理以及成績信息管理這幾個方面進行需求分析。在結合我國基本國情以及學 校的實際情況,提出系統設計的整體思路。在此之后,對移動教務管理系統進行了總體設計以及 數據庫設計,對系統的各個模塊進行了詳細設計。
(2)成功搭建起了移動教務管理系統的信息化平臺,并對系統進行了平臺的部署以及系統 測試等工作。
5.2展望
由于本人時間以及精力水平有限,而移動教務管理系統是個十分龐大的項目,因此,本文只 完成了移動教務系統的部分功能,并沒有對系統的安全性做出更周全的考慮,因此,在系統實際 運行的過程當中還是會出現不少問題,這些都是作者以后的課題研究的重點方向。
后續的工作重點主要放在系統的改進以及更新維護上。具體的工作主要有:
(1)加強對系統安全性的考慮,把系統維護的重心轉移到增強系統安全性方面的設計上來。
(2)系統會重點引入GPS定位系統,將定位系統與教務管理系統相結合,可以實時查詢學 生、老師的基本位置信息等相關的功能。
致謝
本文研究生的學習生活即將告一段落,在這三年的學習過程當中,可以說我積累了比較豐富 的知識和學習經驗,收獲頗豐,這三年的經歷必將為我自己今后的生活學習奠定堅實的基礎。
這三年的學習生活,我學會了一些普通的研究學習方法,包括對相關課題的研究,相關技術 理論知識的學習掌握,通過查找國內外與課題相關的參考文獻來總結課題的發展現狀,并發現課 題現在存在的問題。而在課題遇到困難的時候,也學會了冷靜的分析問題査找原因,明確了只要 在自己持之以恒的前提下就沒有解決不了的問題,論文完成的過程中經常與同學和老師及時溝 通,查閱相關文獻以求最大限度的解決問題。
在獲得研究成果的時候,知道并不是依靠個人就能解決問題的,這離不開身邊的老師,親人 以及朋友的關懷和幫助。特別需要謝謝的是我的導師何潔月老師,她不僅擁有很深的學術造詣, 還教會了我如何端正學習態度以及研究的方法,在我遇到困難無法繼續向前邁步的時候,何潔月 老師對我的幫助是相當大。在此,我深深向何潔月老師鞠躬以表示感謝。
除此以外,論文的成功答辯對我自己也特別重要,因此,特別感謝評審的各位老師,你們辛 苦了,謝謝。
參考文獻
[1]揭安全,化志章,薛錦云基于RBAC的高校辦公自動化系統設計[JJ.計算機工程與設計,2013,30(11): 2800-2802
[2]格拉波內,庫辛.搜索引擎優化.第2版.趙利通譯[M].北京:清華太學出版社,2014:45-71
卩]夏定元,周曼麗.基于知識管理的OA系統開發與應用[JJ.計算機工程與應用,2012,38(9): 252-256
[4]Jim Howard. Content Management Systems Can ImjKOve Accessibility^]. American: O'Reilly Media, 2010:5-6
[5]Hood C. A public management for all seasons[J]? Public administration, 2011,69(1): 3-19
[6]張猛.內容管理系統實現的關鍵技術【幾電腦開發與應用,2012(8):31-32
[7]黃偉丸 企業網站CMS內容管理系統探討[J].鄉鎮企業研究,2014(6): 3-7
[8]辛明海,潘孝銘,王晉隆.軟件文檔編寫[M].北京:高等教育出版社,2013: 60S
[9]陳一文.高校教務管理信息化建設現狀及對策思考[耳當代數育論壇,2009(1):97-99
[10]仲煒.高校數字化校園網絡系統設計與規劃[幾中國海洋大學,2006:30.32
[11]黃軼曼.高校辦公自動化的建設與發展[J].文教資料,2014):11-12
[12]王改性.高校辦公自動化系統的建設策略探討[耳消費導刊,2008(8):178-179
[13]黃毅靜.試論高校辦公自動化建設[JJ.辦公自動{t, 2006(4): 54-55
[14]蔡海霞,鄭超美,張宇.高校管理信息系統的現狀與發展分析[J].理工高教研究,2010,23(2): 12-15
[15]Ye Qin, Xia Limin, Pan Ze qiang. The Design and Implementation of Teaching Material Managemet system Based on Web[J]. Journal of Jiangxi Normal University ^006,30(2): 134-136
[16]朱濤,張水平.基于B/S模式的教師宿息管理系統的實現[幾電腦知識與技術,2010,18(60):15?17
[17]文春生,羅勇.基于Web service技術的教務管理系統的設計與實現[JJ.計算機工程與學,2011,21(19): 78-79
[18]楊波.基于Intemet/hitianet的高校綜合教學管理系統[J].計算機與現代化,2002(11):65-6勺
[19]苗哲.基本WEB服務的高校教務管理系統的設計與實現[J].教育信息化,2010:23-25
[20]亞當斯,波頓,克拉克.Web設計創新思一用CSSsDOM腳本和XHTML進行Web設計.夏偉頻譯[M],北京:電子工業出版社,2013: 102-130
[21]吳澤欣.SEO教程/搜索引擎優化入門與進階阿.北京:人民郵電出版,2014:10-16
[22]李烽.別具光芒:DIV心S網頁布局與美化[MJ.北京:人民郵電出版,2012: 23-24
[23]韓萬江,姜立新.軟件項目管理案例教程.[M]北京:機械工業出版it, 2012:11-16
[24]Bill Scott, Theresa Nei. Designing Web Inter&ces[M], American: O'Reilly Media, 2012:21-31
[25]Jeni L Lediord. Search Engine Optimization American: Wiley, 2012:30-79
[26]David Flanagan. JavaScript; The Definitive Guide[M], 5th Edition. American: O'Reilly Media, 2013:32-52
[27]GatianAW. Is user satisfaction a valid measure of system effectiveness[J]. Information & Management, 2014,26(3): 119-131
[28]李建平.現代項目進度管理[M].北京:機械工業出版It,2011: 178-202
[2刃朱鴻.軟件質量保障與測試[MJ.北京:科學出版社,2011:201-202
[30]血agandula P, Dahlin M. A scalable distributed information management system[J]. ACM SIGCOMM Computer Communication Review 2014,34(4): 379-390
卩 1] Buyya R, Abramson D, Giddy J, et al. An architecture for a resource management and schedule system in a global computational grid[C]. Proceedings of the Fourth International Conference on High Perfonnance Computing in the Asia-Pacific Region, IEEE, 2010:283-289
[32]Teny L D. Administrative leado-ship, neo-managerialism, and the public management movement^]. Public Administration Review 2011,58(3): 194-200
[33]Hranekens S M, Schamin^e JH J. TURBOVE(^ a comprehensive data base management system for vegetation data[<D? Journal of vegetation science, 2011, 12(4): 589-591
[34]Mingan J. Public Participation and Administrative Law[J]. Chinese Legal Science, 2014,8(3):10-11
[35]Motwani R, Widom J, Arasu A, etal. Query processing, resource management, and approximation in a data stream man^ement systo[C]. Proceedings of the 2003 CIDR Conference, 2013:341-349
[36]Rumbaugh J, Jaeobson I, Booch G The unified modeling language reference manual[M]. New J»sey: Addison- Wesl^, Pearson Education Inc, 2011: 324-335
[37]Satzinger J W, Jackson R B, Burd S D. Systems analysis and design in a changing world. 3rd edition[M]. Florence, Kentueky: Course Technology, 2011: 112-119
[38]云倩.現代軟件項目管理[Ml天津:南開大學出版tt,2013; 200-213
[3刃 R. Max Wideman. I^ojeet Time ManagementfJ]. Hie McGraw-Hill Companies, 2011:34-35
[40]Paul S. Wang. Java wifli object-oriented programming[M]-北京:高等救育出版社,201237-39
[41]張劍平.學校管理信息系統[MJ.北京:中國鐵道出版社,2011: 4749
[42]王德棟,朱雅萍.移動教務管理系統建設模式的探討與實踐[J].浙江科技學院學報,2013,3(2): 12-12
[43]崔金寶.現代高等教育移動教務管理系統的研究開發及應用[D]:[碩士學位論文].長春:吉林大學圖書館,2012
[44] 潘海涵,周蘭君.成教學院移動教務管理系統的研制[)].中國成人教W, 2011,2(10): 24-26
[45] 戴東寶.山東科技大學教務綜合管理信息系統[D]:[碩士學位論文I.青島:山東科技大學圖書館,2014
[46] 姜銳,賈建中.移動教務管理系統信息化的實現[JJ.烏魯木齊職業大學學報,2013,1(4):92-96
[47] 陳少云基于Web的高職學院移動教務管理系統的設計與實現口:[碩士學位論文].成都:四川大學圖書館,2015: &9
[48] 陳利明.信恵化社會與網絡教育[JJ.大連理工大學學報(社會科學版),2011,22(4): 12
[4刃負曉晴.基于B/S架構的移動教務管理系統設計與實現[D]:[碩士學位論文].上海:華東師范大學圖書館,2011
[50] 丁振中.國內外高等教育信息化研究[JJ.職教探索與研究,2012,4(3): 6345