王艷娥 周立
[摘要] 本文闡述了利用ASP.NET和SQL Server 2005數(shù)據(jù)庫技術(shù),構(gòu)建企業(yè)職工培訓(xùn)管理系統(tǒng)的解決方案?;诒痉桨傅呐嘤?xùn)管理系統(tǒng)可以為企業(yè)進(jìn)一步做好職工培訓(xùn)管理工作提供一個(gè)功能強(qiáng)大、高效的平臺(tái)。
[關(guān)鍵詞] 職工培訓(xùn)管理; 驗(yàn)證碼; 在線報(bào)名; 在線考試
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 06. 027
[中圖分類號(hào)]F272.7[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1673 - 0194(2012)06- 0057- 02
1開發(fā)系統(tǒng)的目的和意義
很多大中型企業(yè)都會(huì)為員工組織各種培訓(xùn)課程,有的甚至有具體的課時(shí)要求。傳統(tǒng)的培訓(xùn)流程一般先由人事部門下發(fā)培訓(xùn)通知到各部門,員工填寫報(bào)名表,人事部門匯總并安排課程和考試。這樣的形式往往是一級(jí)一級(jí)地下發(fā)通知,再一級(jí)一級(jí)地上交報(bào)名表,以及組織一場(chǎng)又一場(chǎng)的考試。工作效率非常低,而且不便于匯總和分析員工培訓(xùn)情況和考試成績(jī)。為此,我們開發(fā)了企業(yè)網(wǎng)上培訓(xùn)系統(tǒng),為企業(yè)提供一個(gè)靈活方便的內(nèi)部培訓(xùn)、學(xué)習(xí)交流和培訓(xùn)管理的平臺(tái)。人事部門可以利用此系統(tǒng)發(fā)布培訓(xùn)通知、培訓(xùn)課程信息、管理職工培訓(xùn)檔案,企業(yè)員工可以瀏覽培訓(xùn)通知和培訓(xùn)課程情況,并根據(jù)要求報(bào)名參加指定課程的培訓(xùn)。培訓(xùn)課程結(jié)束后,職工可以參加課程的考試,還可以對(duì)課程情況發(fā)表自己的看法。
2系統(tǒng)設(shè)計(jì)
2.1系統(tǒng)開發(fā)平臺(tái)的選擇
為了便于企業(yè)職工能靈活方便地使用本系統(tǒng),不受時(shí)間和地域的限制,企業(yè)職工培訓(xùn)管理系統(tǒng)采用了目前流行的以Internet為基礎(chǔ)的瀏覽器/服務(wù)器(Browser/Server)模式。該模式操作簡(jiǎn)單、方便,并且系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,容易維護(hù)。
本系統(tǒng)在主流的操作系統(tǒng)平臺(tái)下,采用ASP.NET開發(fā)技術(shù),在Visual Studio 2008開發(fā)環(huán)境下,使用C#語言和SQL Server 2005數(shù)據(jù)庫進(jìn)行開發(fā)。系統(tǒng)通過Web服務(wù)器發(fā)布,職工、人事部門員工都可以通過瀏覽器完成各自的工作。該系統(tǒng)主要實(shí)現(xiàn)了信息發(fā)布、在線報(bào)名、信息審核、在線培訓(xùn)、在線考試、人事部門以及職工個(gè)人的培訓(xùn)總結(jié),以及相應(yīng)的信息管理與維護(hù)。
2.2系統(tǒng)功能模塊設(shè)計(jì)
根據(jù)對(duì)企業(yè)培訓(xùn)管理的一般業(yè)務(wù)流程的考察和了解,企業(yè)網(wǎng)上培訓(xùn)的流程設(shè)計(jì)如下:
首先由人事部門的員工進(jìn)行培訓(xùn)課程的組織和管理、培訓(xùn)教師的組織和管理、員工基本信息的管理、網(wǎng)上發(fā)布培訓(xùn)通知和培訓(xùn)課程的信息;然后企業(yè)員工在網(wǎng)上瀏覽培訓(xùn)課程的信息,并根據(jù)要求進(jìn)行網(wǎng)上報(bào)名;人事部門的員工在進(jìn)行課程報(bào)名的審核和匯總工作并發(fā)布一些相關(guān)的上課通知、進(jìn)行課程題庫的編輯和整理等工作,最后進(jìn)行諸如培訓(xùn)考試、總結(jié)等。根據(jù)流程,系統(tǒng)的功能模塊結(jié)構(gòu)圖如圖1所示。
企業(yè)培訓(xùn)系統(tǒng)分為前臺(tái)操作和后臺(tái)管理兩大部分。后臺(tái)管理模塊主要供人事部門使用,包括課程管理、教師管理、員工管理、試題管理、報(bào)名管理、通知管理、培訓(xùn)檔案管理等。課程管理是人事部門員工增加培訓(xùn)課程信息、修改培訓(xùn)課程信息等。教師管理是增加教師信息、修改教師信息等。員工管理是增加和修改員工信息。試題管理是增加和維護(hù)培訓(xùn)課程的題庫。報(bào)名管理是人事部門匯總和審核員工的報(bào)名信息。通知管理是增加和修改通知信息。檔案管理是查詢和匯總員工培訓(xùn)課程的考試信息以及已經(jīng)通過的培訓(xùn)內(nèi)容的信息。
前臺(tái)操作模塊主要供企業(yè)員工使用,包括查看通知、查看課程、在線報(bào)名、在線考試、過往檢索和填寫反饋意見等。查看通知是企業(yè)員工可以瀏覽和搜索人事部門發(fā)布的通知。查看課程是可以瀏覽和搜索培訓(xùn)課程的信息。在線報(bào)名是員工可以報(bào)名參加某培訓(xùn)課程。過往檢索是員工可以搜素和瀏覽已經(jīng)通過的培訓(xùn)內(nèi)容和培訓(xùn)成績(jī)信息。在線考試是員工在結(jié)束培訓(xùn)課程以后,進(jìn)行該課程的考核。
2.3數(shù)據(jù)庫設(shè)計(jì)
根據(jù)系統(tǒng)的功能模塊設(shè)計(jì),系統(tǒng)創(chuàng)建8張數(shù)據(jù)表,分別為管理員表、教師表、培訓(xùn)課程表、課程詳情表、員工信息表、報(bào)名表、試題表、通知表。每張表的具體字段和功能如下。
(1) 管理員表:用來存儲(chǔ)人事部門的員工信息,包括職工號(hào)、密碼、姓名、性別、職務(wù)、電話、職稱、任職地、工齡、身份證號(hào)等字段。
(2) 教師表:用來存儲(chǔ)培訓(xùn)教師的信息,包括臨時(shí)工號(hào)、姓名、性別、密碼、職稱、電話、身份證號(hào)、專長(zhǎng)、專業(yè)等字段。
(3) 培訓(xùn)課程表:用來存儲(chǔ)培訓(xùn)課程的信息,包括課程編號(hào)、課程名稱、培訓(xùn)日期、培訓(xùn)人員、培訓(xùn)要求、培訓(xùn)內(nèi)容、培訓(xùn)教師、培訓(xùn)教材、輔助材料等字段。
(4) 課程詳情表:用來存儲(chǔ)課程的上課時(shí)間地點(diǎn)等信息。包括課程編號(hào)、課程名稱、授課地點(diǎn)、授課時(shí)間等。
(5) 員工信息表:用來存儲(chǔ)員工的信息,包括工號(hào)、性別、密碼、工齡、任職地、部門、電話、職務(wù)、職稱等。
(6) 報(bào)名表:用來存儲(chǔ)員工報(bào)名的情況,包括工號(hào)、課程編號(hào)、報(bào)名時(shí)間、是否通過、審核日期、培訓(xùn)成績(jī)、考試時(shí)間等。
(7) 試題表:用來存儲(chǔ)課程的考題,包括題目編號(hào)、課程編號(hào)、課程名稱、考題類型、考題內(nèi)容、參考答案、分值等。
(8) 通知表:用來存儲(chǔ)有關(guān)培訓(xùn)課程的通知和新聞。包括編號(hào)、主標(biāo)題、副標(biāo)題、發(fā)表時(shí)間、摘要、內(nèi)容等。
3主要功能的實(shí)現(xiàn)
3.1用戶權(quán)限的設(shè)置
對(duì)于沒有登錄的用戶,可以瀏覽培訓(xùn)的課程信息和培訓(xùn)通知信息。要想報(bào)名參加課程就必須利用職工號(hào)和系統(tǒng)預(yù)設(shè)的密碼進(jìn)行登錄。登錄以后,用戶可以修改個(gè)人的相關(guān)信息和密碼,可以報(bào)名參加培訓(xùn)課程和參加考試,維護(hù)報(bào)名信息等。人事部門負(fù)責(zé)相關(guān)培訓(xùn)的系統(tǒng)管理人員采用專門的頁面登錄系統(tǒng),進(jìn)行員工管理、課程管理、通知管理、報(bào)名管理等工作。由于系統(tǒng)的用戶都是企業(yè)內(nèi)部職工,所以系統(tǒng)直接將用戶的用戶名設(shè)置為職工號(hào)或者臨時(shí)職工號(hào),而不需要注冊(cè)。
系統(tǒng)在每一個(gè)只有登錄后才能使用的頁面中都增加了驗(yàn)證,代碼為:
if (Session["userName"] == "" || Session["userName"] == null)
Response.Write("<script>alert('請(qǐng)先登錄,再報(bào)名');window.close();</script>");
為了防止有人惡意進(jìn)行登錄,系統(tǒng)在所有的登錄頁面都采用了驗(yàn)證碼技術(shù)。系統(tǒng)中的驗(yàn)證碼是隨機(jī)產(chǎn)生的4位數(shù)字組成的一副圖片,圖片里加上了一些干擾像素。用戶在登錄時(shí),必須輸入與圖片中數(shù)字相同的驗(yàn)證碼才能進(jìn)行登錄,然后連接數(shù)據(jù)庫檢查用戶輸入的職工號(hào)和密碼是否正確。
3.2前臺(tái)操作部分
前臺(tái)操作部分主要有查看課程、查看通知、查看已通過的培訓(xùn)、報(bào)名培訓(xùn)某課程、參加考試、發(fā)表留言等模塊。其中報(bào)名培訓(xùn)某課程和參加考試模塊有一定難度,在此進(jìn)行介紹。
在線報(bào)名模塊中,只有員工用職工號(hào)和密碼成功登錄以后,才能報(bào)名。只要是沒有獲得批準(zhǔn)的課程,員工還可以選擇退報(bào)。在員工進(jìn)行培訓(xùn)報(bào)名時(shí),注意不能重復(fù)報(bào)名,也就是同一名員工對(duì)于同一個(gè)課程只能報(bào)名一次。實(shí)現(xiàn)上主要是通過連接數(shù)據(jù)庫,并用員工的職工號(hào)和所有選擇的課程進(jìn)行報(bào)名數(shù)據(jù)表的查詢,如果查詢結(jié)果不為空則表示已經(jīng)報(bào)過此課程了,否則表示沒有報(bào)過此課程。防止重復(fù)報(bào)名的代碼如下:
OleDbConnection myCon = new OleDbConnection(conn);
myCon.Open();
string sql="select * from 報(bào)名 where 用戶姓名='"+Session["userName"].ToString()+"' and 課程名稱='"+Request.QueryString["km"].ToString()+"'";
OleDbCommand myCmd = new OleDbCommand(sql,myCon);
OleDbDataReader dr = myCmd.ExecuteReader();
if (dr.Read())
{ myCon.Close();
Response.Write("<script>alert('您已經(jīng)報(bào)過此課程了!');window.close();</script>");
}
在確認(rèn)了員工沒有參加過此課程的培訓(xùn)以后,就可以報(bào)名了。報(bào)名培訓(xùn)某課程的實(shí)現(xiàn)就是向報(bào)名表中插入一行新數(shù)據(jù),職工號(hào)字段為登錄時(shí)放入Session的值,課程號(hào)為用戶選擇的課程編號(hào),報(bào)名時(shí)間為系統(tǒng)當(dāng)前時(shí)間,是否審核字段為“未審核”。員工可以在“查看報(bào)名”的模塊中,查看已經(jīng)報(bào)名的課程,也可以進(jìn)一步了解課程的具體情況,如課程上課時(shí)間、地點(diǎn)等。
員工只能參加已經(jīng)報(bào)名并且允許考試的課程的考試。進(jìn)入考試后,系統(tǒng)會(huì)自動(dòng)從題庫中抽取該課程的試題并形成試卷。員工答完題,點(diǎn)擊交卷按鈕之后,系統(tǒng)能夠根據(jù)標(biāo)準(zhǔn)答案自動(dòng)進(jìn)行成績(jī)判定,并將成績(jī)顯示給用戶。
3.3后臺(tái)管理
后臺(tái)管理部分包括員工管理、教師管理、課程管理、報(bào)名管理、通知管理、試題管理、檔案管理等。其中員工管理、教師管理、課程管理、通知管理、試題管理分別對(duì)員工的基本信息、教師的基本信息、課程的信息、通知信息、試題信息進(jìn)行增加和修改等維護(hù)工作,在程序?qū)崿F(xiàn)上較為簡(jiǎn)單,主要是應(yīng)用了對(duì)數(shù)據(jù)庫的增加、修改和刪除、查詢等操作。
報(bào)名管理模塊主要是對(duì)報(bào)名的信息進(jìn)行審核和批準(zhǔn)報(bào)名,并進(jìn)行報(bào)名匯總。人事部門員工根據(jù)課程的具體要求,對(duì)報(bào)名的員工信息進(jìn)行審核,符合要求的批準(zhǔn)報(bào)名。在程序的實(shí)現(xiàn)上,主要是通過Update語句修改報(bào)名表中相應(yīng)行的“是否”審核字段,如果批準(zhǔn),則該字段設(shè)為“批準(zhǔn)”,否則設(shè)為“未批準(zhǔn)”。另外,為了方便生成課程的名冊(cè),系統(tǒng)能自動(dòng)將當(dāng)前已經(jīng)被批準(zhǔn)的人員進(jìn)行匯總,并可以轉(zhuǎn)換到Excel表中,方便進(jìn)行排版和打印。檔案管理模塊是對(duì)員工參加的培訓(xùn)情況進(jìn)行查詢和匯總,系統(tǒng)設(shè)定多種查詢方式,可以根據(jù)查詢結(jié)果進(jìn)行多種類型的匯總和打印。
4總結(jié)
基于Web的職工培訓(xùn)管理系統(tǒng)可以使得職工報(bào)名、培訓(xùn)和考試更方便,而且可以使得人事部門非常便捷地管理職工的培訓(xùn)檔案,從而簡(jiǎn)化了培訓(xùn)流程,提高了培訓(xùn)數(shù)據(jù)采集與統(tǒng)計(jì)的效率。
主要參考文獻(xiàn)
[1] 周立. 信息系統(tǒng)集成實(shí)用技術(shù)——ASP.NET C??梢暬幊蹋郏停荩?北京:清華大學(xué)出版社,2010.
[2] 董爽,于麗娟.基于B/S模式的物業(yè)管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 中國(guó)管理信息化,2010(6):83-84.
[3] 張穩(wěn). 基于B/S模式的質(zhì)監(jiān)系統(tǒng)培訓(xùn)報(bào)名系統(tǒng)[J]. 現(xiàn)代計(jì)算機(jī):下半月版,2009(4):170-171.
[4] 韓偉娜,吳小紅,李運(yùn)松. 基于ASP.NET的人事培訓(xùn)報(bào)名繳費(fèi)系統(tǒng)設(shè)計(jì)[J]. 現(xiàn)代計(jì)算機(jī):下半月版,2009(8):129-131.