摘 要: 提出了構(gòu)建本科畢業(yè)設(shè)計網(wǎng)絡(luò)化管理系統(tǒng)的解決方案,并提出了應(yīng)對并發(fā)訪問、提升系統(tǒng)安全性的方法。采用ASP.Net技術(shù)在SQL Server上實現(xiàn)了一個本科畢業(yè)設(shè)計管理系統(tǒng)。系統(tǒng)分為管理員、教師和學(xué)生三個主要模塊,每類用戶擁有不同的權(quán)限和功能。實驗結(jié)果表明系統(tǒng)可規(guī)范畢業(yè)設(shè)計選題和管理過程,還可綜合提升教師、學(xué)生、管理者的工作效率。
關(guān)鍵詞: 畢業(yè)設(shè)計管理系統(tǒng);信息管理系統(tǒng);ASP.Net;SQL Server
隨著校園信息化建設(shè)的推進,各項工作的網(wǎng)絡(luò)化將逐漸取代傳統(tǒng)辦公方式。畢業(yè)設(shè)計作為本科階段的關(guān)鍵環(huán)節(jié),非常有必要對其施行網(wǎng)絡(luò)化管理。當(dāng)前國內(nèi)已有很多高校建立了畢業(yè)設(shè)計管理系統(tǒng)[1-4],提升了管理的效率,方便了教師和學(xué)生。然而,部分畢業(yè)設(shè)計管理系統(tǒng)在設(shè)計時存在一些問題,主要表現(xiàn)在:(1)功能存在缺陷,部分系統(tǒng)只關(guān)注選題管理,對畢業(yè)設(shè)計過程沒有管理措施[5];(2)采用的技術(shù)較為落后,有很多系統(tǒng)采用ASP技術(shù)結(jié)合Access數(shù)據(jù)庫設(shè)計而成,在執(zhí)行效率、可維護性、安全性等方面已不能滿足新的要求[5-6];(3)缺少針對多用戶并發(fā)訪問和系統(tǒng)安全問題的解決方案[7-8]。因此,采用新技術(shù)和更完善的解決方案來設(shè)計畢業(yè)管理系統(tǒng)顯得很有必要。
1 系統(tǒng)設(shè)計
本系統(tǒng)涵蓋了畢業(yè)設(shè)計工作的全過程,實現(xiàn)了課題申報、雙向選擇、畢業(yè)設(shè)計相關(guān)文檔提交與管理等功能。下面介紹系統(tǒng)的需求分析、功能劃分及數(shù)據(jù)庫設(shè)計方法。
1.1 系統(tǒng)需求分析
學(xué)生進入系統(tǒng)后可查看畢業(yè)設(shè)計相關(guān)公告和導(dǎo)師指導(dǎo)意見,向?qū)煱l(fā)送咨詢信息;修改個人密碼,完善個人信息;查看課題,選擇課題,查看選題情況,提交畢業(yè)設(shè)計相關(guān)文檔,完成操作后退出系統(tǒng)。教師進入系統(tǒng)后也可查看畢業(yè)設(shè)計相關(guān)公告,發(fā)送指導(dǎo)意見并答復(fù)學(xué)生咨詢;修改個人密碼,完善個人信息;同時對課題進行添加、修改、刪除等操作,查看選題情況,調(diào)整選題情況,確定選題;審核管理學(xué)生所提交畢業(yè)設(shè)計相關(guān)文檔,完成操作后退出系統(tǒng)。管理者進入系統(tǒng)后可以進行畢業(yè)設(shè)計相關(guān)公告管理(包括對公告的添加、修改與刪除)、用戶個人信息管理(包括對學(xué)生、老師用戶個人信息的添加、修改與刪除)、課題信息管理(包括對課題的審核、修改與刪除;查看選題的總體情況,調(diào)整選題情況)、畢業(yè)設(shè)計相關(guān)文檔管理和系統(tǒng)關(guān)鍵參數(shù)設(shè)置管理等操作,結(jié)束后退出系統(tǒng)。
1.2 系統(tǒng)功能結(jié)構(gòu)
本系統(tǒng)可分為管理員、教師、學(xué)生三大模塊,且模塊之間互相關(guān)聯(lián):管理員的公告信息可傳遞給所有教師和學(xué)生;教師申報的課題需管理員審核,且課題的類型、針對的專業(yè)等參數(shù)均由管理員設(shè)置;教師和學(xué)生的個人信息既可由本人提交也可由管理員統(tǒng)一管理;教師可選擇學(xué)生,反過來,學(xué)生也可選擇教師。
1.3 數(shù)據(jù)庫設(shè)計
本系統(tǒng)一共需要15張數(shù)據(jù)表,分別是:教師信息表(Teacher)、學(xué)生信息表(Student)、管理員信息表(Admin)、等待審核通過的課題信息表(WaitForPass)、已經(jīng)通過審核的課題信息表(Subject)、課題選擇狀態(tài)表(SelectState)、課題類型表(Type,算法設(shè)計或系統(tǒng)開發(fā)等)、畢業(yè)設(shè)計相關(guān)文檔表(GraduateFile)、專業(yè)信息表(Speciality,記錄各種本科專業(yè)的信息)、用戶角色信息表(Role,記錄用戶類型信息)、課題所用編程語言表(Language,針對信息專業(yè)的課題)、系別信息表(Department)、班級信息表(Class)、畢業(yè)設(shè)計公告信息表(Affiche)及教師附件信息表(Accessory)。數(shù)據(jù)庫E-R關(guān)系如圖1所示。
2 系統(tǒng)實現(xiàn)
本系統(tǒng)采用C#作為開發(fā)語言,SQL Server作為后臺數(shù)據(jù)庫,I2S作為Web服務(wù)器,采用B/S方案構(gòu)建服務(wù)器體系結(jié)構(gòu)。系統(tǒng)可分為管理員、教師、學(xué)生三大模塊。下面介紹實現(xiàn)系統(tǒng)的若干關(guān)鍵技術(shù)。
2.1 抽取公共功能和全局變量
公共功能模塊主要用于處理數(shù)據(jù)庫操作,包括建立數(shù)據(jù)庫連接,執(zhí)行數(shù)據(jù)庫的查詢、增、刪、改操作,還包括數(shù)據(jù)庫的批量處理等。在實現(xiàn)時,建立了公共功能類,使用標(biāo)準(zhǔn)SQL語句處理數(shù)據(jù)庫操作。此外,還將系統(tǒng)中各模塊的公共變量抽取出來構(gòu)成一個類。
2.2 用戶管理功能
本系統(tǒng)中所有用戶的信息都由管理員添加。本模塊實現(xiàn)管理員、教師、學(xué)生的信息添加、搜索、修改及刪除功能。其功能如下:
(1)添加用戶信息:管理員添加用戶相關(guān)消息;
(2)修改消息:管理員對用戶信息進行修改;
(3)刪除消息:管理員對用戶信息進行刪除。
2.3 課題申報與管理功能
只有審核通過的課題,學(xué)生才可選擇。其功能如下:
(1)添加課題:教師申報新課題;
(2)修改課題:教師對課題信息進行修改;
(3)刪除消息:教師對課題信息進行刪除;
(4)審核狀態(tài)查詢:教師查看課題是否被管理員審核通過。
2.4 畢業(yè)設(shè)計相關(guān)文檔提交與管理功能
本模塊實現(xiàn)畢業(yè)設(shè)計相關(guān)文檔(包括開題報告、文獻綜述、外文翻譯和畢業(yè)論文)的提交與管理功能。學(xué)生按進度安排及時提交文檔,并等待指導(dǎo)老師審核,若審核未獲通過需要進一步修改后再次提交。教師或管理員對所帶學(xué)生上傳的文檔進行審核和管理。文檔通過審核表明學(xué)生的相關(guān)工作獲得認(rèn)可,內(nèi)容不達標(biāo)的文檔將審核失敗。
對于學(xué)生,其功能如下:
(1)文檔提交:提交文檔給指導(dǎo)老師;
(2)文檔審核狀態(tài)顯示。
對于教師或管理員,其功能如下:
(1)文檔審核:審核文檔;
(2)修改文檔:對文檔信息進行修改;
(3)刪除文檔:對文檔信息進行刪除。
2.5 系統(tǒng)實現(xiàn)中的兩個關(guān)鍵問題
2.5.1 并發(fā)訪問問題
大量的訪問會導(dǎo)致記錄鎖死,當(dāng)網(wǎng)站面對成千上萬的用戶訪問以及高并發(fā)請求時,解決這些問題的方法集中在幾個環(huán)節(jié):使用高性能的服務(wù)器、高性能的數(shù)據(jù)庫和高效率的編程語言[4-6]。但是上述解決方法在某些程度上需要更大的投入,而且這樣的解決方法會遇到瓶頸問題且可擴展性差。
在本系統(tǒng)開發(fā)過程中,主要使用了HTML靜態(tài)化以及附件與服務(wù)器分離兩種方案來解決并發(fā)訪問問題。
(1)HTML靜態(tài)化:在系統(tǒng)中,有些更新內(nèi)容小、使用率高的數(shù)據(jù)查詢可用靜態(tài)化的HTML來實現(xiàn)。對于某些大量被前臺程序調(diào)用但是更新小的信息,可以在后臺更新時使其靜態(tài)化,從而減少數(shù)據(jù)庫的訪問請求。
(2)附件服務(wù)器分離
對于I2S的Web服務(wù)器來說,附件是非常消耗資源的。所以將附件和頁面進行分離,甚至采用獨立的附件服務(wù)器,在頁面訪問時可減少服務(wù)器的壓力、防止因附件問題導(dǎo)致系統(tǒng)崩潰。
2.5.2 安全性問題
本系統(tǒng)在處理網(wǎng)站安全性問題方面采用了以下兩個方法:
(1)采用隨機登錄驗證碼機制防止黑客利用軟件自動登錄測試。
(2)使用32位MD5加密保護用戶密碼:MD5是一種散列函數(shù)被廣泛用于計算機安全領(lǐng)域,主要實現(xiàn)對消息完整性的保護[7-8]。用戶密碼是不可見的,即便是管理員也看不到。管理員可以為用戶設(shè)定新密碼,但無法得知老密碼,主要是因為老密碼是用MD5加密過的,從而可以保證用戶密碼的安全性。
論文介紹了基于ASP.Net技術(shù)和SQL Server的本科畢業(yè)設(shè)計管理系統(tǒng)的構(gòu)建方案,還介紹了應(yīng)對并發(fā)訪問問題和提升系統(tǒng)安全性的方法。采用ASP.Net技術(shù)相比ASP技術(shù)提升了系統(tǒng)的運行效率,并因界面和代碼分離使得系統(tǒng)維護更加簡單。本系統(tǒng)將有助于綜合提高教師、學(xué)生、教務(wù)人員的工作效率,還有助于提高本科畢業(yè)設(shè)計的管理水平,甚至提高畢業(yè)設(shè)計質(zhì)量。所提出的系統(tǒng)構(gòu)建方法對于設(shè)計其他基于Web的信息系統(tǒng)具有良好的借鑒作用。
參考文獻
[1] 戴芊.畢業(yè)設(shè)計管理信息系統(tǒng)中存在的缺陷及解決路徑[J].南京航空航天大學(xué)學(xué)報(社會科學(xué)版),2009,11(1):98-100.
[2] 郭秀娟,王春光.基于B/S模式的畢業(yè)設(shè)計管理系統(tǒng)開發(fā)與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2010,20(3):240-349.
[3] 鄧志宏,榮秋生,張智,等.基于Web的畢業(yè)論文管理系統(tǒng)的設(shè)計[J].福建電腦,2010(6):9-14.
[4] 王建林,汪雪琴,王雅英,等.本科畢業(yè)設(shè)計管理信息系統(tǒng)[J].電氣電子教學(xué)學(xué)報,2008,30(6):103-104.
[5] 湯穎.畢業(yè)設(shè)計立項與選題管理及其支持系統(tǒng)[J].合肥工業(yè)大學(xué)學(xué)報,2006,29(5):613-616.
[6] 覃發(fā)兵,葛玉輝.基于Java Web組件技術(shù)的畢業(yè)設(shè)計管理系統(tǒng)[J].計算機應(yīng)用,2010,30(6):322-323.
[7] YI X S,WANG Y, LIU J H,et al.Enterprise information system architecture based on Web 2.0[J].Wuhan University Journal of Natural Sciences,2006,11(5):1398-1402.
[8] LI Z B,LIU J X,ZHAO Y J,et al.Design and implementation of a total quality management system for Graduation Project[C].Proc.of ICEIT 2010,Chongqing,China,2010,3:499-503.