張?jiān)坪疲澈闈?/p>
(通化師范學(xué)院 網(wǎng)絡(luò)中心,吉林 通化 134002)
在高等院校中,一個(gè)學(xué)校的科研能力和水平,科研人員的素質(zhì)和科技成果,對(duì)學(xué)校的學(xué)科建設(shè)和師資隊(duì)伍建設(shè)將產(chǎn)生重大的影響,也對(duì)學(xué)校知名度,學(xué)校的地位和聲譽(yù)有重要意義[1].
通化師范學(xué)院是省屬重點(diǎn)高校,學(xué)校歷屆領(lǐng)導(dǎo)都十分重視科研工作,每年都投入大量的人力、物力和財(cái)力進(jìn)行科研開發(fā).因此,管理好科技隊(duì)伍,搞好科技開發(fā),對(duì)科研成果進(jìn)行信息化管理是擺在科研管理部門面前的重要課題.
目前,通化師范學(xué)院科研管理工作的流程主要是以紙件或電子文檔為依據(jù),大多數(shù)科研管理工作很大程度上還要依賴人工來進(jìn)行,利用Excel、word等辦公軟件處理大量的數(shù)據(jù),這種方式不但難以及時(shí)有效的掌握最新的科研情況,而且又增加了科研管理的工作量,不能為領(lǐng)導(dǎo)進(jìn)行科學(xué)決策提供參考.同時(shí)科技處和廣大科研人員以及各院系部門科技秘書之間無(wú)法實(shí)現(xiàn)快捷高效的溝通方式;普通科研人員也難以了解其他同事的科研狀況.因此,筆者設(shè)計(jì)的科研信息管理系統(tǒng),實(shí)現(xiàn)對(duì)學(xué)院科研信息進(jìn)行規(guī)范化、科學(xué)化的管理,減少不必要的重復(fù)勞動(dòng),提高科研管理的辦公效率,加強(qiáng)學(xué)院的科研管理水平,進(jìn)而加速學(xué)校辦公信息化的步伐.
圖1 基于Web的三層B/S模型
本系統(tǒng)采用基于Web的三層Brower/Server結(jié)構(gòu)(簡(jiǎn)稱B/S),如圖1所示[2,3].
表示層:是前端用戶接口,在本系統(tǒng)中為Web瀏覽器,負(fù)責(zé)HTML文檔和向服務(wù)器發(fā)送HTML請(qǐng)求,在目前的Intranet中,本系統(tǒng)支持各種網(wǎng)絡(luò)的瀏覽器.
應(yīng)用層:主要是Web服務(wù)器和各種服務(wù)器端應(yīng)用程序(如ASP應(yīng)用程序,CGI程序等).Web服務(wù)器的主要工作包括管理、發(fā)送HTML文檔,接收用戶的HTML請(qǐng)求并進(jìn)行處理,Web服務(wù)器基于HTTP協(xié)議.系統(tǒng)的Web服務(wù)器基于Windows NT的IIS6.0(Internet Information Server).本文在服務(wù)器端的應(yīng)用程序由.net程序構(gòu)成,它負(fù)責(zé)處理用戶的請(qǐng)求,提供數(shù)據(jù)庫(kù)訪問等功能.
數(shù)據(jù)層:即數(shù)據(jù)庫(kù)服務(wù)器.數(shù)據(jù)庫(kù)只能由應(yīng)用層的程序訪問,表示層不能對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作,從而保證了數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性和安全性.本系統(tǒng)的數(shù)據(jù)庫(kù)是基于Windows的SQL Server.
經(jīng)過對(duì)通化師范學(xué)院科研管理的需求調(diào)查分析,對(duì)取得的信息進(jìn)行仔細(xì)整理,科研管理系統(tǒng)的主要功能可以劃分為科研人員管理和科研成果管理這兩個(gè)主要部分,功能結(jié)構(gòu)如圖2所示:
所設(shè)計(jì)系統(tǒng)實(shí)現(xiàn)其具體的功能有[4]:(1)科研人員管理.本部分功能模塊主要對(duì)科研人員進(jìn)行管理維護(hù).可以通過科研人員管理完成以下功能:①科研成員通過登陸網(wǎng)站進(jìn)行賬號(hào)注冊(cè);②用得到的帳號(hào)和密碼登陸該系統(tǒng),以享受該科研管理系統(tǒng)提供的服務(wù);③得到確認(rèn)的科研成員還可以進(jìn)行科研成果查詢.
(2)科研成果管理.科研成果管理是科研管理的一個(gè)非常重要的環(huán)節(jié),也是核心,該部分模塊主要完成以下功能:①對(duì)所提交的成果進(jìn)行確認(rèn)并收錄到成果庫(kù);②對(duì)科研成果進(jìn)行查詢、統(tǒng)計(jì)、打??;③對(duì)科研成果進(jìn)行分析,為科研管理提供決策依據(jù).
圖2 系統(tǒng)功能結(jié)構(gòu)模型
設(shè)計(jì)的科研管理系統(tǒng)采用三級(jí)模式進(jìn)行開發(fā),所有的功能在實(shí)現(xiàn)的時(shí)候都要受到權(quán)限的限定,最高權(quán)限擁有者為超級(jí)管理員(科研處管理人員),其次是各個(gè)部門負(fù)責(zé)人,負(fù)責(zé)對(duì)本部門所有科研成果進(jìn)行初步審核確認(rèn),最后是科研人員.科研人員可以實(shí)現(xiàn)自己登錄,查看自己的科研成果以及科研工作量,確認(rèn)自己的信息.
本科研管理系統(tǒng)主要采用技術(shù)為AJAX+ASP.NET+Microsoft SQL Server 2000.客戶端采用AJAX技術(shù)實(shí)現(xiàn),減少了客戶端與服務(wù)器之間不必要的數(shù)據(jù)重復(fù)傳輸,加快客戶端的顯示速度,同時(shí)也減輕了服務(wù)器端的負(fù)載.服務(wù)器端采用ASP.NET技術(shù),它與其它服務(wù)器端語(yǔ)言相比,在性能上有了很大的增強(qiáng),ASP.NET是在服務(wù)器上運(yùn)行的編譯好的公共語(yǔ)言運(yùn)行庫(kù)代碼,與被解釋的其它服務(wù)器端語(yǔ)言不同,ASP.NET可利用早期綁定、實(shí)時(shí)編譯、本機(jī)優(yōu)化和盒外緩存服務(wù),這相當(dāng)于在編寫代碼行之前便已顯著的提高了性能.數(shù)據(jù)庫(kù)采用的是Microsoft SQL Server 2000,它能提供超大型系統(tǒng)所需的數(shù)據(jù)庫(kù)服務(wù),并且與ASP.NET同為微軟公司的產(chǎn)品,兩者之間的相互的連通性、兼容性要好于不同公司產(chǎn)品之間的連通性、兼容性.
本科研管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)遵循原則有:①根據(jù)數(shù)據(jù)的不同用途使用要求、安全保密性來決定數(shù)據(jù)的組織形式及結(jié)構(gòu);②嚴(yán)格按規(guī)范化設(shè)計(jì)數(shù)據(jù)庫(kù),減少數(shù)據(jù)間的依賴和數(shù)據(jù)冗余;③盡量多使用存儲(chǔ)過程和觸發(fā)器,使數(shù)據(jù)庫(kù)服務(wù)器端功能增大,提高效率,增加了安全性;④盡量采用事務(wù)對(duì)操作進(jìn)行控制,增加操作的獨(dú)立性、一致性、不可否認(rèn)性、原子性,必要時(shí)實(shí)現(xiàn)回滾操作.主要采用SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)庫(kù)管理.
本科研管理系統(tǒng)采用了三層結(jié)構(gòu)的框架,將訪問數(shù)據(jù)庫(kù)的一些底層方法封裝在DBUtility這個(gè)類庫(kù)中,其中DbHelperSQL類和DbHelperSQLP類是連接數(shù)據(jù)庫(kù)字符串和一些公用的方法,如簡(jiǎn)單的SQL語(yǔ)句,帶參數(shù)的SQL語(yǔ)句,存儲(chǔ)過程的操作等.DESEncrypt類是數(shù)據(jù)庫(kù)的安全性,加密解密等操作.PubConstant類是動(dòng)態(tài)的配置數(shù)據(jù)庫(kù)的連接字符串.
本科研管理系統(tǒng)在檢索期刊上實(shí)現(xiàn)查詢自動(dòng)提示功能,以實(shí)現(xiàn)期刊名稱快速準(zhǔn)確的錄入,具體實(shí)現(xiàn)代碼如下:
ASP.NET部分核心代碼:
protected void InitData_Periodicals(int index,int pageSize)
{
string strName=(Request.Params["query"]==null):
Request.Params["query"].ToString();
WriteLogFile(strName);
ResearchDBDataContext db=new ResearchDBDataContext();
var query=from q in db.Periodicals
where q.Name.StartsWith(strName)
select new
{
ID = q.ID,
Name = q.Name
};
string json = string.Format("{0}totalProperty:{1},root:[", "{", query.Count());
foreach (var tb in query.Skip(index).Take(pageSize))
{
json += "{" + string.Format("ID:{0},Name:'{1}'", tb.ID, tb.Name) + "},";
}
json = json.Substring(0, json.Length - 1);
json += "]}";
Response.Write(json);
}
本科研管理系統(tǒng)在對(duì)各項(xiàng)數(shù)據(jù)進(jìn)行查詢時(shí),有時(shí)需將查詢結(jié)果保存下來,這里所用方法是將查詢結(jié)果保存到Excel表中并自動(dòng)下載,具體實(shí)現(xiàn)代碼如下:
JS部分核心代碼:
new Ext.Button({
text: '導(dǎo)出到Excel',
handle: function() {
var vExportContent = grid.getExcelXml();
if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) {
if (! Ext.fly('frmDummy')) {
var frm = document.createElement('form');
frm.id = 'frmDummy';
frm.name = id;
frm.className = 'x-hidden';
document.body.appendChild(frm);
}
Ext.Ajax.request({
url: 'exportexcel.aspx',
method: 'POST',
form: Ext.fly('frmDummy'),
callback: function(o, s, r) {},
isUpload: true,
params: {exportContent: vExportContent}
})
} else {
document.location = 'data:application/vnd.ms-excel;base64,' + Base64.encode(vExportContent);
}
});
本文給出了一個(gè)基于Web的科研管理系統(tǒng)的設(shè)計(jì),并簡(jiǎn)要說明了其中主要部分的設(shè)計(jì)方法和技術(shù).對(duì)該系統(tǒng)的功能完善還有許多后續(xù)工作,初期主要解決數(shù)據(jù)庫(kù)建立、科研人員和科研成果的基本管理功能,接下來將對(duì)本系統(tǒng)的統(tǒng)計(jì)分析、打印報(bào)表等功能進(jìn)行完善,并在應(yīng)用中實(shí)現(xiàn)三層式分級(jí)管理,讓本系統(tǒng)可以更好為學(xué)院的科研信息管理服務(wù).
參考文獻(xiàn):
[1]楊柳堤,譚曉寧.基于校園網(wǎng)的科研管理系統(tǒng)框架[EB/OL].http://www.docin.com/p-85565433.html.
[2]林藝文,江海,付曄.淺談高??萍冀y(tǒng)計(jì)與科技管理信息化建設(shè)[EB/OL].http://www.docin.com/p-85566581.html.
[3]葉忠文.基于WEB的科研管理信息系統(tǒng)的研究與實(shí)現(xiàn)[D].廣州:華南師大學(xué),2005.
[4]郭堅(jiān).校級(jí)科研管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2006.