徐遠棋 曾海
隨著高校的信息化、網絡化建設的不斷深入,要求教務教學管理部門的工作更加科學、規范,學生規模的日益擴大加大了教務管理工作的難度[1]。《網上畢業論文管理系統》借助網絡平臺,結合高校畢業論文管理的實際需求,針對高校的畢業論文環節進行管理,不但使學生能與老師進行有效的溝通,可以及時地了解有關畢業論文的相關事情,而且使論文的上傳查看、網上評閱、成績的管理、信息的管理?用戶的管理及數據庫的管理等工作更加容易,既提高了工作效率,也降低了成本。
目前,網絡應用系統主要有客戶機/服務器(Client/Server C/S)模式和瀏覽器/服務器(Browse/Service B/S)模式[2][3]。與傳統的C/S體系結構相比,B/S體系結構大大簡化了客戶端,只要裝上操作系統、網絡協議軟件以及瀏覽器即可,服務器則集中了所有的應用邏輯。開發、維護等幾乎所有工作也都集中在服務器端。當需要對該系統進行升級時,只需更新服務器端的軟件,而不必更換客戶端軟件,減輕了系統維護與升級的成本與工作量,方便普通用戶使用,為此,系統采用了B/S結構。
以Web為基礎的三層架構的B/S模式客戶服務體系,系統分為客戶層、應用層和數據層。客戶層是用戶與系統的接口,使用 Web瀏覽器軟件訪問系統。應用層是系統核心部分,負責主要的應用處理服務,封裝了主要的業務邏輯,位于應用服務器上,在接收了用戶提交的HTTP請求后,通過ADO.NET訪問數據庫,并將操作結果以HTML頁面的形式返回給前端瀏覽器。數據層主要是對原始數據(數據庫或者文本文件等存放數據的形式)的操作層,而不是指原始數據,也就是說,是對數據的操作,而不是數據庫,具體為業務邏輯層或表示層提供數據服務。
系統設計的目標是在充分發揮校園網絡優勢的基礎上,實現畢業論文相關信息的存儲與共享,建立一個可以通過互聯網隨時訪問,可以促進畢業指導老師與學生互動的管理系統[4],運用網絡電子化的手段實現畢業論文環節中的課題的申報、課題的審批、學生選題、網上答疑、論文上傳和查看、網上評閱、成績管理等流程,具備輔助管理與輔助決策系統,能夠實現畢業論文環節中所需數據的導出。畢業論文管理系統向學院教學各級管理工作人員、教師及學生用戶開放,不同用戶對數據擁有不同的訪問權限,返回不同的操作界面,管理系統的功能模塊,如圖1所示:

圖1 系統功能模塊圖
1) 用戶管理
用戶分為學生、教師、教學系管理員、教務管理員等。該模塊實現了對各類不同權限用戶的管理,包括輸入用戶基本資料、修改用戶信息和登錄密碼等功能。
2) 畢業課題管理
教師畢業課題管理主要包括教師畢業課題的申報及課題的審批管理。該模塊實現了教師用戶輸入和修改畢業論文課題、申報畢業課題、課題審批等功能。
3) 選題管理
選題管理主要實現查看畢業課題、學生選題、查詢選題,更改選題、二次選題等功能。當學生選題人數超過畢業課題指定的最大人數時,要求由指導教師進行篩選,學生進行二次選題。
4) 網上答疑管理
該模塊主要實現學生提問、老師答疑、討論問題、信息交流等師生互動功能。
5) 學生論文上傳和查看
該模塊主要實現學生查看歷屆優秀論文、學生上傳論文及作品,查看論文提交等功能。
6) 網上評閱
該模塊主要實現老師用戶查詢學生論文和作品上傳、閱讀論文、下載作品、網上評分等功能。
7) 成績管理
該模塊主要實現老師用戶對學生論文和作品評分,修改學生成績、自動按班匯總論文成績等功能。
8) 數據庫管理
該模塊主要實現刪除臨時數據表,恢復數據表原始狀態、數據庫備份等功能。
9) 論文管理
畢業論文分為不合格論文、合格論文及優秀論文3類。該模塊主要實現各類論文的歸檔、入庫、匯總等功能。
10) 系統維護
由系統管理員對系統進行設置、維護和管理及數據備份,對系統的基礎數據、基本信息、賬號及用戶的權限進行管理。基礎數據包括畢業論文的級別、評分標準、工作量量化指標體系和學校各部門信息等。
該系統在數據庫設計階段,設計了學生資料表(StudentData)、學生選題表(StudentSelect)、 學生提問表(Question)、 答疑表(Answer)、文件上傳表(Files)、調整學生選課表(PlanStudent)、調整論文選題表(paperselect)論文成績評定表(ThesisScore)、論壇帖子表(ForumThreads)等數據庫表,各表間的E-R圖,如圖2所示:

圖2 E-R關系圖
ASP.NET是創建動態Web頁的一種強大的服務器端技術,可以用任何與.NET兼容的語言(Visual Basic.NET、Visual C#、JScript.NET 和 J#)創作Web應用程序。ASP.NET應用程序采用的數據訪問模型是 ADO.NET,它是功能強大的數據庫訪問接口,采用了面向對象結構、XML交換格式,提供了對Microsoft SQL Server等數據源及OLE和XML數據源的訪問。ADO.NET在服務器端運行,應用程序使用ADO.NET連接數據源,并進行數據操作[5][6]。


基于系統實現上的分析,系統數據庫采用 SQL Server 2000服務器程序編寫基于.NET平臺,采用 ASP.NET、ADO.NET技術和C#構造應用程序。
系統要求學生必須在管理員規定時間內選題。超過時間學生無法打開該網頁,被教師篩選出的學生在第二次規定時間內可再次進行選題。選題功能的實現是使用ADO.NET的對象打開時間管理表中規定的時間,要求在規定時間內才能打開選課網頁,否則提示學生超出規定時間;使用ADO.NET的ExecuteReader對象檢查學生選題表中是否已經存在該用戶的數據,若存在不允許重復寫入選擇題目;使用 SQL Server 2000的存儲過程將學生的選題結果寫入到學生選題表中。該難點的關鍵算法如下:

用戶密碼是判斷用戶合法性的重要元素,因此用戶密碼的保存與保護尤為重要,由于設計數據庫時用戶賬號、密碼、權限及個人信息均存儲在用戶表中,所以用戶密碼不宜用明文的方式保存,否則一旦有非法侵入者獲取到用戶數據庫,將會給系統帶來無法估計的損失,因此采用ASP.NET對用戶密碼進行加密后再存儲到數據庫中,驗證時再用同樣的方法后與數據庫中的密碼字段進行比較,如果相同通過驗證。
對密碼字段采取“SHA1”和“MD5”加密算法,使用ASP.NET的名字空間System.Web.Security 中包含的類方法formsAuthentiation中的HashPasswordforStoringInConfig來實現。
為了方便程序的移植,將與數據庫的連接寫在文件web.config配置文件里面更方便,且易于修改。由于Webconfig是底層的東西,可有效地保證程序的安全,可通過以下代碼來實現:

使用ASP.NET技術開發的基于B/S模式的畢業論文管理系統,充分利用了校園網資源,幫助教務教學管理人員快速方便的對學生的畢業選題進行管理,使散亂的多班級選題具體化、直觀化、規范化;使學生選題過程公開化、合理化,解決了人工比較難人為調控的難點問題;使論文指導教師及時了解學生選題情況,指導學生論文寫作過程,促進畢業指導老師與學生互動。該系統采用三層結構的方法將各層功能分離、分別進行設計、其中一層發生了變化只需修改該層代碼,使得設計更加方便快捷。隨著更多管理功能及輔助決策功能的開發,畢業論文管理的效率及決策水平將得到更進一步的提高。
[1]肖欣欣,閔姚娥.主動數據庫技術在高校智能選課系統中的應用.[J]科技創新導報,2011.4
[2]盧波,張璐璐.基于ASP的煤炭高校體育網上選課系統設計與實現,[J]煤炭技術.2012.7
[3]黃瑞雪,李翠華,蔡炳.基于完全學分制的選課系統的性能優化,[J]廈門大學學報(自然科學版),2011.3
[4]黎衛東.ASP.NET網絡開發入門與實踐.第一版.[M]北京: 人民郵電出版社,2006
[5]申亞寧.網上項目申報系統的設計與實現[J].長沙電力學院學報,自然科學版,2005(1):68-69
[6]鄭誠勇,許曉霞.基于.NET技術的科技項目網上申報系統的構建與應用[J].東北圖書情報學刊,2007(2):7-9