熊 巍
(江西省計算技術(shù)研究所,330002,南昌)
當(dāng)前各企事業(yè)單位越來越多地采用信息化技術(shù)進行管理。每年對員工進行績效考核是單位管理的一項重要內(nèi)容。以往的員工考核采用紙質(zhì)材料,由被考核人、考核人和各級領(lǐng)導(dǎo)填寫、打分,這種方式存在著浪費紙張、傳遞效率低、存檔占用空間大等缺點,難以適應(yīng)單位管理需求。現(xiàn)在采用計算機和網(wǎng)絡(luò)技術(shù)對員工進行網(wǎng)上考核,能夠克服以上不足,提升單位的管理效率[1]。本文介紹了一種基于ASP.NET的員工考核系統(tǒng)的設(shè)計與實現(xiàn),它采用ASP.NET技術(shù)開發(fā),具有易于部署、方便擴展、系統(tǒng)安全性高等特點,適合各類企事業(yè)單位使用。
本系統(tǒng)用戶分為被考核人、考核人、系統(tǒng)管理員3類,系統(tǒng)主要功能如下。
1)被考核人:新建考核,填寫工作內(nèi)容和自我評價,提交給考核人。
2)考核人:分為直接考核人和上級考核人,直接考核人是被考核人的直接主管,上級考核人有一個或多個,是被考核人所在部門的分管領(lǐng)導(dǎo)和單位負(fù)責(zé)人,考核人負(fù)責(zé)對被考核人的工作業(yè)績進行審核、評價、打分,上級考核人對下一級考核人的意見進行修改、補充,最終形成考核結(jié)果。
3)系統(tǒng)管理員:負(fù)責(zé)創(chuàng)建考核任務(wù),創(chuàng)建和管理用戶,分配角色和權(quán)限,考核結(jié)果查詢、生成統(tǒng)計報表、系統(tǒng)字典維護等。
基于ASP.NET的員工考核系統(tǒng)使用Visual Studio 2019 集成開發(fā)環(huán)境開發(fā),前臺頁面使用ASP.NET Core 3.0編寫,后臺程序使用C# 7.3語言編寫,數(shù)據(jù)庫使用SQL Server 2017,系統(tǒng)運行環(huán)境使用.NET Framework 4.7.2[2]。
員工考核系統(tǒng)按功能分為以下模塊(圖1)。
圖1 員工考核系統(tǒng)功能模塊圖
2.2.1 用戶登錄登出 對系統(tǒng)中的每個合法用戶,輸入賬號和密碼,系統(tǒng)驗證無誤后,準(zhǔn)許進入系統(tǒng),顯示其相應(yīng)的功能菜單,用戶操作結(jié)束后,登出系統(tǒng)。
2.2.2 被考核人功能
1)參加考核:被考核人填寫工作內(nèi)容和自我評價,可保存供以后修改,確認(rèn)填寫完成后,提交至考核人。
2)修改考核信息:被考核人可修改尚未提交的考核信息。
3)查看考核結(jié)果:對于上級已經(jīng)完成的考核,可查看考核結(jié)果。
2.2.3 考核人功能
1)評價打分:直接考核人針對被考核人填寫的工作內(nèi)容進行審核,給出初步考核分?jǐn)?shù)和建議考核結(jié)果,提交給上級考核人。
2)修改考核結(jié)果:上級考核人根據(jù)直接考核人的建議考核結(jié)果,進行修改和補充,最后由單位負(fù)責(zé)人給出最終考核結(jié)果。
3)查詢考核信息:考核人可以按照考核時間、部門、姓名等查詢員工考核信息。
2.2.4 系統(tǒng)管理員功能
1)考核任務(wù)管理:創(chuàng)建和維護新的考核任務(wù)。
2)用戶管理:創(chuàng)建和維護系統(tǒng)中的各用戶信息。
3)考核任務(wù)分配:對于新創(chuàng)建的考核任務(wù),為每個考核人,分配他的被考核人。
4)考核信息查詢:對于系統(tǒng)中的考核信息,可以按照時間、部門、姓名、分?jǐn)?shù)等條件進行查詢。
5)生成統(tǒng)計報表:對于考核結(jié)果信息,可以按照人員、部門、時間、考核結(jié)果分值段等標(biāo)準(zhǔn)生成統(tǒng)計圖表和報表等。
6)系統(tǒng)字典維護:系統(tǒng)中字典信息的維護,包括考核項目(工作態(tài)度、業(yè)績完成情況、創(chuàng)新性、工作積極性等)、考核結(jié)果(優(yōu)秀、良好、正常、不稱職)、考核時間段(月度考核、季度考核、年度考核)等表。
系統(tǒng)主要數(shù)據(jù)表和字段如下。
2.3.1 考核任務(wù)表Appr_Task 存儲考評任務(wù)信息,主要字段:考核任務(wù)編號(主鍵)、考核任務(wù)名稱、考核任務(wù)描述、考核指標(biāo)集(包括多個考核指標(biāo)及分?jǐn)?shù)上下限)。
2.3.2 用戶信息表Appr_Users 存儲用戶信息,主要字段:用戶編號(主鍵)、用戶名、密碼、用戶姓名、工號碼、所屬部門、手機號碼、用戶類型(被考評人、考評人、系統(tǒng)管理員)。
2.3.3 考評分配表Appr_Dist 存儲考評分配信息,主要字段:考評分配編號(主鍵)、考評人編號(外鍵)、被考評人編號(外鍵)、被考評人部門。
2.3.4 考評表Appraise 存儲每個員工的考評結(jié)果信息,主要字段:考評分配編號(主鍵)、員工工作內(nèi)容、員工自我評價、上級評價、考評結(jié)果(優(yōu)秀、良好、正常、不稱職)。
2.3.5 考評指標(biāo)集表Appr_Index 存儲考評指標(biāo)集信息,主要字段:考評指標(biāo)集編號(主鍵)、考評指標(biāo)、分值上限、分值下限。
3.1.1 .NET技術(shù) .NET Framework是微軟提供的跨平臺應(yīng)用軟件開發(fā)和運行框架。它將應(yīng)用程序編譯成MSIL(Microsoft Intermediate Language,一種中間語言,類似于Java字節(jié)碼)解釋執(zhí)行,從而實現(xiàn)程序的安全執(zhí)行環(huán)境,如類型安全檢查、自動垃圾回收等[3]。
3.1.2 ASP.NET技術(shù) ASP.NET是基于.NET Framework的Web開發(fā)技術(shù)。它將服務(wù)器端功能封裝為控件。用戶可以用面向?qū)ο蟮姆绞介_發(fā)Web應(yīng)用[4]。
本系統(tǒng)處理流程如圖2所示[5-10]。
圖2 員工考核系統(tǒng)處理流程圖
3.2.1 用戶登錄 用戶輸入用戶名和密碼后,系統(tǒng)在用戶數(shù)據(jù)表中查詢,如果用戶名和密碼一致,則用戶身份確認(rèn),進入系統(tǒng),在服務(wù)器端記錄相應(yīng)的Session對象,包括用戶名、用戶權(quán)限等信息,在用戶登錄系統(tǒng)進行操作期間,這些信息將一直保留在服務(wù)器端,供系統(tǒng)運行時讀取用戶信息。為防止惡意用戶猜測密碼,系統(tǒng)只允許每個用戶登錄時輸入3次密碼,如果用戶連續(xù)輸錯3次密碼,則系統(tǒng)將鎖定。
3.2.2 被考核人流程 普通員工登錄后,將作為被考核人角色。被考核人點擊“參加考核”,則系統(tǒng)將在考核分配表中根據(jù)用戶編號查詢該用戶可以參加的考核任務(wù),用戶填寫完工作內(nèi)容和自我評價后,系統(tǒng)將在考核表中生成一條新記錄。用戶下次登錄系統(tǒng)后,如果上次輸入的考核任務(wù)還沒有提交,則還可以修改上次輸入的考核內(nèi)容,直至用戶確定已填寫完整無誤,則點擊“提交”,考核任務(wù)將被提交至用戶的上級主管也就是考核人處。在考評表中設(shè)置一個字段,記錄該條記錄的狀態(tài),剛剛創(chuàng)建這條記錄時的狀態(tài)為“未提交”,當(dāng)用戶提交后則狀態(tài)改為“已提交”。
3.2.3 考核人流程 員工的直接主管也就是直接考核人登錄系統(tǒng)后,如果有下屬提交考核內(nèi)容,則可以對下屬的各項考核指標(biāo)進行打分,填寫工作評價,并給出初步考核等級。如果主管覺得下屬填寫的工作內(nèi)容不準(zhǔn)確或不完整,則可以將考核內(nèi)容退回給下屬修改。主管評價完成后,將提交給上級領(lǐng)導(dǎo)審核。
上級領(lǐng)導(dǎo)也是考核人角色,領(lǐng)導(dǎo)登錄系統(tǒng)后,如果有直接主管提交考核內(nèi)容,領(lǐng)導(dǎo)審核員工的工作內(nèi)容和主管的初步考核結(jié)果,可以填寫修改或補充意見,然后提交給單位負(fù)責(zé)人。領(lǐng)導(dǎo)也可以將考核內(nèi)容退回給直接主管修改。
同樣,單位負(fù)責(zé)人登錄系統(tǒng)后,將對下級提交的考核內(nèi)容進行審核,并給出最終評定結(jié)果。也可以將考核內(nèi)容退回給下級修改。
3.2.4 系統(tǒng)管理員流程 系統(tǒng)管理員創(chuàng)建新的考核任務(wù),之后對這個考核任務(wù),分配考核人和被考核人。同時負(fù)責(zé)維護系統(tǒng)數(shù)據(jù)和字典。并生成統(tǒng)計報表。
3.3.1 預(yù)防XSS腳本攻擊 反射型XSS漏洞(Cross Site Scripting,跨站腳本攻擊)指在瀏覽器地址欄輸入帶有惡意代碼的URL來實現(xiàn)攻擊。例如:url:http://192.15.1.117/main.aspx?username=admin”onmouseover=alert(1)bad="&limit=010203040506,參數(shù)username存在反射型XSS,未對雙引號進行html轉(zhuǎn)義,訪問上述url,將執(zhí)行攻擊者注入的惡意代碼。解決辦法:使用Server.HtmlEncode方法對URL中的字符串進行編碼,使得諸如雙引號之類的字符變成“"”的形式[11-14]。
3.3.2 登錄驗證 存在未授權(quán)訪問漏洞,有些aspx文件在未登錄情況下能夠通過直接在瀏覽器地址欄輸入文件名訪問。解決辦法:通過在服務(wù)器端代碼中加入檢查是否登錄Session來限制訪問:
if(Session["username"]== null)
{
Response.Write("");
return;
}
基于ASP.NET的員工考核系統(tǒng)已經(jīng)開發(fā)完成并在單位管理中獲得實際應(yīng)用。實踐證明,它可以較好地滿足企事業(yè)單位的員工績效考核需求,下一步要適應(yīng)ERP(Enterprise Resource Plan,企業(yè)資源計劃)的需要,與單位其他管理系統(tǒng)實現(xiàn)數(shù)據(jù)聯(lián)通和共享,進一步推進單位信息化建設(shè)。