徐遠(yuǎn)棋 曾海
隨著高校的信息化、網(wǎng)絡(luò)化建設(shè)的不斷深入,要求教務(wù)教學(xué)管理部門的工作更加科學(xué)、規(guī)范,學(xué)生規(guī)模的日益擴(kuò)大加大了教務(wù)管理工作的難度[1]。《網(wǎng)上畢業(yè)論文管理系統(tǒng)》借助網(wǎng)絡(luò)平臺(tái),結(jié)合高校畢業(yè)論文管理的實(shí)際需求,針對(duì)高校的畢業(yè)論文環(huán)節(jié)進(jìn)行管理,不但使學(xué)生能與老師進(jìn)行有效的溝通,可以及時(shí)地了解有關(guān)畢業(yè)論文的相關(guān)事情,而且使論文的上傳查看、網(wǎng)上評(píng)閱、成績(jī)的管理、信息的管理?用戶的管理及數(shù)據(jù)庫(kù)的管理等工作更加容易,既提高了工作效率,也降低了成本。
目前,網(wǎng)絡(luò)應(yīng)用系統(tǒng)主要有客戶機(jī)/服務(wù)器(Client/Server C/S)模式和瀏覽器/服務(wù)器(Browse/Service B/S)模式[2][3]。與傳統(tǒng)的C/S體系結(jié)構(gòu)相比,B/S體系結(jié)構(gòu)大大簡(jiǎn)化了客戶端,只要裝上操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議軟件以及瀏覽器即可,服務(wù)器則集中了所有的應(yīng)用邏輯。開發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端。當(dāng)需要對(duì)該系統(tǒng)進(jìn)行升級(jí)時(shí),只需更新服務(wù)器端的軟件,而不必更換客戶端軟件,減輕了系統(tǒng)維護(hù)與升級(jí)的成本與工作量,方便普通用戶使用,為此,系統(tǒng)采用了B/S結(jié)構(gòu)。
以Web為基礎(chǔ)的三層架構(gòu)的B/S模式客戶服務(wù)體系,系統(tǒng)分為客戶層、應(yīng)用層和數(shù)據(jù)層??蛻魧邮怯脩襞c系統(tǒng)的接口,使用 Web瀏覽器軟件訪問系統(tǒng)。應(yīng)用層是系統(tǒng)核心部分,負(fù)責(zé)主要的應(yīng)用處理服務(wù),封裝了主要的業(yè)務(wù)邏輯,位于應(yīng)用服務(wù)器上,在接收了用戶提交的HTTP請(qǐng)求后,通過ADO.NET訪問數(shù)據(jù)庫(kù),并將操作結(jié)果以HTML頁面的形式返回給前端瀏覽器。數(shù)據(jù)層主要是對(duì)原始數(shù)據(jù)(數(shù)據(jù)庫(kù)或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說,是對(duì)數(shù)據(jù)的操作,而不是數(shù)據(jù)庫(kù),具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù)。
系統(tǒng)設(shè)計(jì)的目標(biāo)是在充分發(fā)揮校園網(wǎng)絡(luò)優(yōu)勢(shì)的基礎(chǔ)上,實(shí)現(xiàn)畢業(yè)論文相關(guān)信息的存儲(chǔ)與共享,建立一個(gè)可以通過互聯(lián)網(wǎng)隨時(shí)訪問,可以促進(jìn)畢業(yè)指導(dǎo)老師與學(xué)生互動(dòng)的管理系統(tǒng)[4],運(yùn)用網(wǎng)絡(luò)電子化的手段實(shí)現(xiàn)畢業(yè)論文環(huán)節(jié)中的課題的申報(bào)、課題的審批、學(xué)生選題、網(wǎng)上答疑、論文上傳和查看、網(wǎng)上評(píng)閱、成績(jī)管理等流程,具備輔助管理與輔助決策系統(tǒng),能夠?qū)崿F(xiàn)畢業(yè)論文環(huán)節(jié)中所需數(shù)據(jù)的導(dǎo)出。畢業(yè)論文管理系統(tǒng)向?qū)W院教學(xué)各級(jí)管理工作人員、教師及學(xué)生用戶開放,不同用戶對(duì)數(shù)據(jù)擁有不同的訪問權(quán)限,返回不同的操作界面,管理系統(tǒng)的功能模塊,如圖1所示:
圖1 系統(tǒng)功能模塊圖
1) 用戶管理
用戶分為學(xué)生、教師、教學(xué)系管理員、教務(wù)管理員等。該模塊實(shí)現(xiàn)了對(duì)各類不同權(quán)限用戶的管理,包括輸入用戶基本資料、修改用戶信息和登錄密碼等功能。
2) 畢業(yè)課題管理
教師畢業(yè)課題管理主要包括教師畢業(yè)課題的申報(bào)及課題的審批管理。該模塊實(shí)現(xiàn)了教師用戶輸入和修改畢業(yè)論文課題、申報(bào)畢業(yè)課題、課題審批等功能。
3) 選題管理
選題管理主要實(shí)現(xiàn)查看畢業(yè)課題、學(xué)生選題、查詢選題,更改選題、二次選題等功能。當(dāng)學(xué)生選題人數(shù)超過畢業(yè)課題指定的最大人數(shù)時(shí),要求由指導(dǎo)教師進(jìn)行篩選,學(xué)生進(jìn)行二次選題。
4) 網(wǎng)上答疑管理
該模塊主要實(shí)現(xiàn)學(xué)生提問、老師答疑、討論問題、信息交流等師生互動(dòng)功能。
5) 學(xué)生論文上傳和查看
該模塊主要實(shí)現(xiàn)學(xué)生查看歷屆優(yōu)秀論文、學(xué)生上傳論文及作品,查看論文提交等功能。
6) 網(wǎng)上評(píng)閱
該模塊主要實(shí)現(xiàn)老師用戶查詢學(xué)生論文和作品上傳、閱讀論文、下載作品、網(wǎng)上評(píng)分等功能。
7) 成績(jī)管理
該模塊主要實(shí)現(xiàn)老師用戶對(duì)學(xué)生論文和作品評(píng)分,修改學(xué)生成績(jī)、自動(dòng)按班匯總論文成績(jī)等功能。
8) 數(shù)據(jù)庫(kù)管理
該模塊主要實(shí)現(xiàn)刪除臨時(shí)數(shù)據(jù)表,恢復(fù)數(shù)據(jù)表原始狀態(tài)、數(shù)據(jù)庫(kù)備份等功能。
9) 論文管理
畢業(yè)論文分為不合格論文、合格論文及優(yōu)秀論文3類。該模塊主要實(shí)現(xiàn)各類論文的歸檔、入庫(kù)、匯總等功能。
10) 系統(tǒng)維護(hù)
由系統(tǒng)管理員對(duì)系統(tǒng)進(jìn)行設(shè)置、維護(hù)和管理及數(shù)據(jù)備份,對(duì)系統(tǒng)的基礎(chǔ)數(shù)據(jù)、基本信息、賬號(hào)及用戶的權(quán)限進(jìn)行管理?;A(chǔ)數(shù)據(jù)包括畢業(yè)論文的級(jí)別、評(píng)分標(biāo)準(zhǔn)、工作量量化指標(biāo)體系和學(xué)校各部門信息等。
該系統(tǒng)在數(shù)據(jù)庫(kù)設(shè)計(jì)階段,設(shè)計(jì)了學(xué)生資料表(StudentData)、學(xué)生選題表(StudentSelect)、 學(xué)生提問表(Question)、 答疑表(Answer)、文件上傳表(Files)、調(diào)整學(xué)生選課表(PlanStudent)、調(diào)整論文選題表(paperselect)論文成績(jī)?cè)u(píng)定表(ThesisScore)、論壇帖子表(ForumThreads)等數(shù)據(jù)庫(kù)表,各表間的E-R圖,如圖2所示:
圖2 E-R關(guān)系圖
ASP.NET是創(chuàng)建動(dòng)態(tài)Web頁的一種強(qiáng)大的服務(wù)器端技術(shù),可以用任何與.NET兼容的語言(Visual Basic.NET、Visual C#、JScript.NET 和 J#)創(chuàng)作Web應(yīng)用程序。ASP.NET應(yīng)用程序采用的數(shù)據(jù)訪問模型是 ADO.NET,它是功能強(qiáng)大的數(shù)據(jù)庫(kù)訪問接口,采用了面向?qū)ο蠼Y(jié)構(gòu)、XML交換格式,提供了對(duì)Microsoft SQL Server等數(shù)據(jù)源及OLE和XML數(shù)據(jù)源的訪問。ADO.NET在服務(wù)器端運(yùn)行,應(yīng)用程序使用ADO.NET連接數(shù)據(jù)源,并進(jìn)行數(shù)據(jù)操作[5][6]。
基于系統(tǒng)實(shí)現(xiàn)上的分析,系統(tǒng)數(shù)據(jù)庫(kù)采用 SQL Server 2000服務(wù)器程序編寫基于.NET平臺(tái),采用 ASP.NET、ADO.NET技術(shù)和C#構(gòu)造應(yīng)用程序。
系統(tǒng)要求學(xué)生必須在管理員規(guī)定時(shí)間內(nèi)選題。超過時(shí)間學(xué)生無法打開該網(wǎng)頁,被教師篩選出的學(xué)生在第二次規(guī)定時(shí)間內(nèi)可再次進(jìn)行選題。選題功能的實(shí)現(xiàn)是使用ADO.NET的對(duì)象打開時(shí)間管理表中規(guī)定的時(shí)間,要求在規(guī)定時(shí)間內(nèi)才能打開選課網(wǎng)頁,否則提示學(xué)生超出規(guī)定時(shí)間;使用ADO.NET的ExecuteReader對(duì)象檢查學(xué)生選題表中是否已經(jīng)存在該用戶的數(shù)據(jù),若存在不允許重復(fù)寫入選擇題目;使用 SQL Server 2000的存儲(chǔ)過程將學(xué)生的選題結(jié)果寫入到學(xué)生選題表中。該難點(diǎn)的關(guān)鍵算法如下:
用戶密碼是判斷用戶合法性的重要元素,因此用戶密碼的保存與保護(hù)尤為重要,由于設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)用戶賬號(hào)、密碼、權(quán)限及個(gè)人信息均存儲(chǔ)在用戶表中,所以用戶密碼不宜用明文的方式保存,否則一旦有非法侵入者獲取到用戶數(shù)據(jù)庫(kù),將會(huì)給系統(tǒng)帶來無法估計(jì)的損失,因此采用ASP.NET對(duì)用戶密碼進(jìn)行加密后再存儲(chǔ)到數(shù)據(jù)庫(kù)中,驗(yàn)證時(shí)再用同樣的方法后與數(shù)據(jù)庫(kù)中的密碼字段進(jìn)行比較,如果相同通過驗(yàn)證。
對(duì)密碼字段采取“SHA1”和“MD5”加密算法,使用ASP.NET的名字空間System.Web.Security 中包含的類方法formsAuthentiation中的HashPasswordforStoringInConfig來實(shí)現(xiàn)。
為了方便程序的移植,將與數(shù)據(jù)庫(kù)的連接寫在文件web.config配置文件里面更方便,且易于修改。由于Webconfig是底層的東西,可有效地保證程序的安全,可通過以下代碼來實(shí)現(xiàn):
使用ASP.NET技術(shù)開發(fā)的基于B/S模式的畢業(yè)論文管理系統(tǒng),充分利用了校園網(wǎng)資源,幫助教務(wù)教學(xué)管理人員快速方便的對(duì)學(xué)生的畢業(yè)選題進(jìn)行管理,使散亂的多班級(jí)選題具體化、直觀化、規(guī)范化;使學(xué)生選題過程公開化、合理化,解決了人工比較難人為調(diào)控的難點(diǎn)問題;使論文指導(dǎo)教師及時(shí)了解學(xué)生選題情況,指導(dǎo)學(xué)生論文寫作過程,促進(jìn)畢業(yè)指導(dǎo)老師與學(xué)生互動(dòng)。該系統(tǒng)采用三層結(jié)構(gòu)的方法將各層功能分離、分別進(jìn)行設(shè)計(jì)、其中一層發(fā)生了變化只需修改該層代碼,使得設(shè)計(jì)更加方便快捷。隨著更多管理功能及輔助決策功能的開發(fā),畢業(yè)論文管理的效率及決策水平將得到更進(jìn)一步的提高。
[1]肖欣欣,閔姚娥.主動(dòng)數(shù)據(jù)庫(kù)技術(shù)在高校智能選課系統(tǒng)中的應(yīng)用.[J]科技創(chuàng)新導(dǎo)報(bào),2011.4
[2]盧波,張璐璐.基于ASP的煤炭高校體育網(wǎng)上選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),[J]煤炭技術(shù).2012.7
[3]黃瑞雪,李翠華,蔡炳.基于完全學(xué)分制的選課系統(tǒng)的性能優(yōu)化,[J]廈門大學(xué)學(xué)報(bào)(自然科學(xué)版),2011.3
[4]黎衛(wèi)東.ASP.NET網(wǎng)絡(luò)開發(fā)入門與實(shí)踐.第一版.[M]北京: 人民郵電出版社,2006
[5]申亞寧.網(wǎng)上項(xiàng)目申報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].長(zhǎng)沙電力學(xué)院學(xué)報(bào),自然科學(xué)版,2005(1):68-69
[6]鄭誠(chéng)勇,許曉霞.基于.NET技術(shù)的科技項(xiàng)目網(wǎng)上申報(bào)系統(tǒng)的構(gòu)建與應(yīng)用[J].東北圖書情報(bào)學(xué)刊,2007(2):7-9