朱偉華 劉志寶
摘 要:為了實(shí)現(xiàn)高職院校新生報(bào)到數(shù)據(jù)的信息化管理,為輔導(dǎo)員方便、準(zhǔn)確、快捷的掌握新生報(bào)到數(shù)據(jù)提供服務(wù),特別是高職院校各個(gè)職能部門及時(shí)、方便地了解學(xué)校新生報(bào)到情況,提出構(gòu)建基于C#的高職新生報(bào)到信息管理系統(tǒng)?;赪eb Service技術(shù),采用C#.NET 2008+SQL Server 2000等網(wǎng)站開發(fā)技術(shù),設(shè)計(jì)系統(tǒng)總體架構(gòu)、功能模塊和后臺(tái)數(shù)據(jù)庫,給出了數(shù)據(jù)庫連接、安全訪問控制、典型問題解決方案;實(shí)現(xiàn)各部門對(duì)錄取新生信息、新生報(bào)到流程、報(bào)到新生信息等為一體的有效管理網(wǎng)絡(luò)應(yīng)用平臺(tái)。
關(guān)鍵詞:C#.NET2008;SQL數(shù)據(jù)庫;管理系統(tǒng)
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
隨著高等職業(yè)教育的快速發(fā)展及學(xué)生數(shù)量連年劇增,新生錄取信息、報(bào)道信息管理工作需要規(guī)范化、科學(xué)化。因此本文采用C#.NET 2008+SQL Server 2000技術(shù),開發(fā)出高職新生報(bào)到信息管理系統(tǒng)。
2 設(shè)計(jì)思想及設(shè)計(jì)目標(biāo)(Design thinking and design
goals)
2.1 系統(tǒng)設(shè)計(jì)的思想
新生入學(xué)報(bào)到流程管理工作是學(xué)校一項(xiàng)重要的工作,需要學(xué)校的很多部門協(xié)調(diào)進(jìn)行。使用新生報(bào)到信息管理系統(tǒng)可以減輕迎新生工作人員的工作量,而且可以減少很多人為不小心造成的錯(cuò)誤。
設(shè)計(jì)和開發(fā)新生報(bào)到信息管理系統(tǒng)時(shí),應(yīng)該注重以下幾點(diǎn):
(1)該系統(tǒng)的高性能,使之響應(yīng)速度快,這樣不會(huì)在某時(shí)刻有很多報(bào)到新生積壓。
(2)注重系統(tǒng)的實(shí)用性,能夠滿足新生報(bào)到的所有功能需求。
(3)系統(tǒng)的穩(wěn)定性,這樣更能保證招生數(shù)據(jù)的安全性和完整性。
(4)系統(tǒng)界面美觀,交互性強(qiáng),用戶操作流暢簡(jiǎn)單。
(5)系統(tǒng)數(shù)據(jù)的維護(hù)性強(qiáng),提供數(shù)據(jù)字典的定義的功能。
(6)嚴(yán)格控制用戶權(quán)限,以保證數(shù)據(jù)保密性。
2.2 系統(tǒng)設(shè)計(jì)的目標(biāo)
數(shù)字化校園建設(shè)是每個(gè)學(xué)校發(fā)展并不斷完善的目標(biāo),隨著學(xué)校規(guī)模的擴(kuò)大,招生人數(shù)的增加,學(xué)生信息數(shù)據(jù)的多樣性、煩瑣性,使用新生報(bào)到信息管理系統(tǒng)必將大大提高新生報(bào)到管理工作的效率。該系統(tǒng)設(shè)計(jì)應(yīng)該實(shí)現(xiàn)以下幾點(diǎn)目標(biāo):
(1)該系統(tǒng)應(yīng)該具有良好的系統(tǒng)架構(gòu),為系統(tǒng)的開發(fā)可拓展、實(shí)施具有分布性奠定良好基礎(chǔ)。
(2)本系統(tǒng)應(yīng)該在學(xué)?,F(xiàn)有設(shè)備上能夠?qū)崿F(xiàn)安裝簡(jiǎn)單、運(yùn)行可靠、性能良好的特點(diǎn)。
(3)同時(shí)還要界面友好,操作簡(jiǎn)單,功能全面,能夠滿足學(xué)校新生報(bào)到的所有管理工作。
(4)我們還要注意今后新生報(bào)到存在一定的變化性,這樣在開發(fā)本系統(tǒng)時(shí),要做到系統(tǒng)內(nèi)部結(jié)構(gòu)劃分合理,模塊要做到高內(nèi)聚低耦合,為該系統(tǒng)以后的模塊功能變化、增加新功能預(yù)留良好拓展空間。
(5)數(shù)字化校園的一項(xiàng)重要基礎(chǔ)就是信息共享,所以要考慮本系統(tǒng)數(shù)據(jù)的關(guān)聯(lián)性。
2.3 開發(fā)和運(yùn)行環(huán)境選擇
本系統(tǒng)采用微軟的Visual Studio C#.NET 2008語言開發(fā),數(shù)據(jù)庫采用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)SQL Server 2000。
2.4 功能設(shè)計(jì)
本系統(tǒng)分為系統(tǒng)管理員和系統(tǒng)操作員兩個(gè)用戶權(quán)限,其中系統(tǒng)管理員具有系統(tǒng)所有模塊的操作權(quán)限,系統(tǒng)操作員具有系統(tǒng)部分模塊的操作權(quán)限。主要功能模塊如圖1所示。
圖1 主要功能模塊
Fig.1 The main functional blocks
2.5 系統(tǒng)總體功能描述
主要采用DOTNET編程技術(shù)開發(fā)本信息管理系統(tǒng)。數(shù)據(jù)庫使用的是SQL Server 2000,使平臺(tái)擁有高效的速度,安全性能以及穩(wěn)定性。采用了Web Service技術(shù),支持異構(gòu)平臺(tái)間的互通,方便系統(tǒng)的組件集成,以及系統(tǒng)的分布式實(shí)施。功能如下:
(1)本系統(tǒng)可以設(shè)置招生省份、招生專業(yè)、招生方式、報(bào)考分類等信息,能夠?qū)崿F(xiàn)添加、刪除、修改、查詢、預(yù)覽、打印等功能。
(2)本系統(tǒng)可以針對(duì)各個(gè)省份的統(tǒng)一招生專業(yè)信息設(shè)置專業(yè)編碼。
(3)本系統(tǒng)可以針對(duì)本省份的對(duì)口招生專業(yè)信息設(shè)置專業(yè)編碼。
(4)可以設(shè)置本院校各個(gè)系部信息,并且給各系部分配專業(yè),能夠?qū)崿F(xiàn)信息的添加、刪除、修改、查詢、預(yù)覽、打印等功能。
(5)可以在學(xué)校內(nèi)部設(shè)置各個(gè)專業(yè)的編碼。
(6)可以實(shí)現(xiàn)各個(gè)專業(yè)的班級(jí)管理。
(7)可以查詢新生錄取信息、進(jìn)行各省份錄取成績(jī)分析、按照要求生成生源統(tǒng)計(jì)表。
(8)打印新生報(bào)到單,指導(dǎo)新生報(bào)到流程,辦理報(bào)到手續(xù)。
(9)可以輸出新生報(bào)到明細(xì)表、生成新生報(bào)到率匯總表。
(10)可以按照省份、院系、專業(yè)輸出報(bào)到新生Excel表。
(11)新生專業(yè)變更等信息管理。
3 關(guān)鍵技術(shù)(Key technology)
3.1 數(shù)據(jù)庫的連接
本系統(tǒng)的數(shù)據(jù)庫交互操作完全是通過調(diào)用Web Service實(shí)現(xiàn)的,Web Service的數(shù)據(jù)庫連接是通過讀取配置文件參數(shù),動(dòng)態(tài)決定數(shù)據(jù)庫連接的。
應(yīng)用程序與SQL Server 2000連接時(shí),通常是要四個(gè)參數(shù),即:數(shù)據(jù)庫服務(wù)器地址、數(shù)據(jù)庫名稱、登錄用戶名、登錄密碼。所以我們會(huì)把上述四個(gè)參數(shù)取值寫到配置文件中,Web Service在首次啟動(dòng)運(yùn)行時(shí),首先讀取配置文件參數(shù),然后才能決定索要操作的目標(biāo)數(shù)據(jù)庫。這樣也為我們應(yīng)用程序的維護(hù)、安裝實(shí)施帶來很大方便,避免了反復(fù)修改程序代碼的工作。
3.2 主要數(shù)據(jù)庫操作類建立方法
本系統(tǒng)利用Web Service組件訪問數(shù)據(jù)庫,在Web Service組件中定義了系統(tǒng)與有關(guān)數(shù)據(jù)庫操作的函數(shù)集合,這樣使系統(tǒng)在數(shù)據(jù)交換、數(shù)據(jù)封裝、應(yīng)用程序集成等方面帶來很多好處。典型函數(shù)代碼列舉如下:
(1)執(zhí)行select SQL語句的函數(shù)代碼如下:
[WebMethod(Description="讀取數(shù)據(jù)表中的數(shù)據(jù),主要對(duì)應(yīng)select SQL語句")]
public DataSet Load_dict(string Select_str,string TabName)
{
string ErrString;
try
{
comStr=Select_str;
dsDict=new DataSet();
conn=new SqlConnection(cconStr);
conn.Open();
SqlDataAdapter1=new SqlDataAdapter(comStr, conn);
SqlDataAdapter1.Fill(dsDict,TabName);
}
catch (Exception ex)
{
dsDict=new DataSet();
ErrString=ex.Message.ToString();
}
conn.Close();
return dsDict;
}
(2)執(zhí)行insert、delete、update SQL語句的函數(shù)代碼如下:
[WebMethod(Description="執(zhí)行insert、delete、update Sql語法命令")]
public int ExcSql( string SqlStyStr )
{
SqlCommand Sqlcom;
int RetRow;
RetRow=0;
try
{
conn=new SqlConnection(cconStr);
Sqlcom=new SqlCommand(SqlStyStr,conn);
Sqlcom.Connection.Open();
RetRow=(int) Sqlcom.ExecuteNonQuery(); }
catch (Exception ex)
{ Session["errMess"]=ex.Message.ToString(); }
finally
{
conn.Close();
}
return RetRow;
}
3.3 安全訪問控制方法
(1)本系統(tǒng)采用了基于角色權(quán)限的控制方法
本系統(tǒng)可以有多個(gè)用戶,在添加用戶時(shí)指定其屬于哪類角色,進(jìn)而決定了該用戶所擁有的系統(tǒng)操作權(quán)限。
本系統(tǒng)定義了兩個(gè)角色:系統(tǒng)管理員和系統(tǒng)操作員,系統(tǒng)管理員擁有本系統(tǒng)所有的操作權(quán)限;系統(tǒng)管理員只具有本系統(tǒng)部分模塊的操作權(quán)限。
(2)數(shù)據(jù)訪問標(biāo)識(shí)控制技術(shù)
為了避免多用戶同時(shí)操作同一條數(shù)據(jù)記錄所帶來的問題,系統(tǒng)在訪問特定數(shù)據(jù)記錄時(shí),更改該記錄的訪問標(biāo)識(shí)以鎖定記錄,在為操作完畢之前,不允許其他用戶訪問。
(3)事物回滾管理技術(shù)
本系統(tǒng)的某些模塊功能允許對(duì)數(shù)據(jù)表中的數(shù)據(jù)同時(shí)進(jìn)行增加、刪除、修改等操作,一次性與數(shù)據(jù)庫做同步更新。在此類功能實(shí)現(xiàn)時(shí),應(yīng)用程序使用了異常處理結(jié)構(gòu),并在發(fā)生異常的處理程序中使用了事物回滾技術(shù),以保證數(shù)據(jù)的同步有效。
4 典型問題解決方案(Typical solutions to problems)
4.1 創(chuàng)建典型基礎(chǔ)類庫
本系統(tǒng)有很多模塊結(jié)構(gòu)類似,所以在設(shè)計(jì)開發(fā)時(shí),首先創(chuàng)建了典型的基礎(chǔ)類庫,這樣在創(chuàng)建應(yīng)用模塊時(shí),采用面向?qū)ο蟮睦^承技術(shù)就可以快速實(shí)現(xiàn)模塊窗體的開發(fā)工作,并且功能代碼只需要在指定結(jié)構(gòu)下重寫函數(shù)即可,大大提高了系統(tǒng)結(jié)構(gòu)清晰度,方便我們?nèi)蘸蟮木S護(hù)工作。
4.2 圖像存儲(chǔ)技術(shù)
圖像的存儲(chǔ)采用了數(shù)據(jù)庫存儲(chǔ)方式,這樣方便了數(shù)據(jù)的移植工作;還為其他系統(tǒng)提供數(shù)據(jù)來源提供方便。
4.3 水晶報(bào)表打印技術(shù)
本系統(tǒng)具有圖像的報(bào)表打印功能,并且在開發(fā)此功能時(shí),發(fā)現(xiàn)了VS開發(fā)環(huán)境的不足之處,并提供了修正方法。圖像數(shù)據(jù)在應(yīng)用程序中的存儲(chǔ)、傳輸格式實(shí)際上是字節(jié)數(shù)組,但在使用VS環(huán)境時(shí),并沒有應(yīng)用程序向水晶報(bào)表傳送時(shí)所需要的字節(jié)數(shù)組類型。修正方法是我們首先選擇VS提供的數(shù)據(jù)類型中的“byte”,然后人為在其添加“[]”才能實(shí)現(xiàn)圖像數(shù)據(jù)向水晶報(bào)表傳送字節(jié)數(shù)組數(shù)據(jù)的功能。
5 結(jié)論(Conclusion)
加強(qiáng)高職院校新生信息管理的最終目的就是要提高新生錄取信息、報(bào)道信息管理工作規(guī)范化、科學(xué)化。利用C#.NET 2008+SQL Server 2000技術(shù),能夠極大地提高新生報(bào)到管理工作的效率。
參考文獻(xiàn)(References)
[1] 王旭仁,宋蓓.高校圖書館研究室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2010,27(11):91-94.
[2] 伍孝金,鄭江波.基于ASP的招生就業(yè)網(wǎng)站信息管理系統(tǒng)的設(shè) 計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(4):2066-2069.
[3] 徐照興,劉武.基于B/S模式的高職畢業(yè)生就業(yè)數(shù)據(jù)管理系統(tǒng) 的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(9):44-48.
[4] 戴彬,楊穎.高校學(xué)生欠費(fèi)信息語音系統(tǒng)的研究與設(shè)計(jì)[J].計(jì) 算機(jī)應(yīng)用與軟件,2014,8(8):35-38.
[5] 金旭亮..NET2.0面向?qū)ο缶庉嫿颐兀ǖ?版)[M].北京:電子工 業(yè)出版社,2008.
[6] 朱偉華.高職《VB程序設(shè)計(jì)》課程改革探索與實(shí)踐[J].無線 互聯(lián)科技,2014,11:191.
作者簡(jiǎn)介:
朱偉華(1976-),男,碩士,副教授.研究領(lǐng)域:嵌入式技術(shù).
劉志寶(1980-),男,碩士,講師.研究領(lǐng)域:軟件開發(fā).