陳鐳 張凡龍
摘要: 高校傳統(tǒng)人才引進(jìn)工作性質(zhì)復(fù)雜、效率較低。針對該問題使用Python語言設(shè)計并實(shí)現(xiàn)了一套基于Django框架的Web系統(tǒng),使人才引進(jìn)流程可視化、透明化,顯著提高了辦公效率。該系統(tǒng)具有成本低、擴(kuò)展靈活、性能穩(wěn)定、數(shù)據(jù)安全等特點(diǎn),在高校人事管理系統(tǒng)及其他信息系統(tǒng)中具有很好的示范效應(yīng)。
關(guān)鍵詞: Python; Django框架; Web系統(tǒng); 人才引進(jìn)
中圖分類號:TP311? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ?文章編號:1006-8228(2019)07-40-03
Abstract: The traditional introduction of talents in colleges and universities is complex and inefficient. To solve this problem, a Django framework based web system is designed and implemented with Python language, which makes the process of talent introduction visualized and transparent, and significantly improves office efficiency. The system has the remarkable characteristics of low cost, flexible expansion, stable performance and data security. It has a good demonstration effect in personnel management system and other information systems in colleges and universities.
Key words: Python; Django framework; Web system; talent introduction
0 引言
高校人才引進(jìn)系統(tǒng),是為了滿足高校在人才引進(jìn)特別是高層次人才引進(jìn)工作上的具體業(yè)務(wù)需求而設(shè)計開發(fā)的信息系統(tǒng)。系統(tǒng)的主要目標(biāo)是人才引進(jìn)管理工作規(guī)范化、高效化和信息化。
在人才引進(jìn)系統(tǒng)出現(xiàn)之前,工作人員一般都是通過手工方式來完成這項(xiàng)工作,傳統(tǒng)管理方式費(fèi)時費(fèi)力、效率低下、對信息進(jìn)行查找、更新、維護(hù)都比較困難,信息保密性差,無法保證數(shù)據(jù)的一致性、統(tǒng)計查詢易出差錯、報表生成難度大等一系列問題。
隨著計算機(jī)技術(shù)的飛速發(fā)展,各種信息管理系統(tǒng)被開發(fā)出來,但傳統(tǒng)開發(fā)技術(shù)較為陳舊,體系混亂,系統(tǒng)的可維護(hù)性及可擴(kuò)展性較差。Django[1]是一款基于Python語言的開源Web應(yīng)用框架,因其具有操作簡易、成本低、擴(kuò)展靈活、安全等特點(diǎn)和優(yōu)勢,應(yīng)用范圍越來越廣。從簡單的、中小型應(yīng)用擴(kuò)展到復(fù)雜的、大型系統(tǒng)應(yīng)用中,逐漸成為一種發(fā)展趨勢,已經(jīng)與PHP、J2EE、ASP.NET等Web開發(fā)平臺并駕齊驅(qū)。無論是從質(zhì)量、性能,還是從價格考慮,Django框架平臺都將在高校信息化發(fā)展過程中得到人們的關(guān)注。
1 技術(shù)可行性
Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C(jī)程序設(shè)計語言,具有豐富和強(qiáng)大的庫。Python已經(jīng)成為繼Java、C++之后的第三大語言,相對于其他語言,它簡單易學(xué)、可移植、可擴(kuò)展、可嵌入、擁有豐富的庫、開放源碼等。因此 Python適用于Web系統(tǒng)開發(fā)、桌面應(yīng)用開發(fā),移動應(yīng)用開發(fā),自動化腳本開發(fā),科學(xué)計算等領(lǐng)域。Django是基于Python語言開發(fā)的開源網(wǎng)站框架,封裝后的功能簡單、易操作,深受廣大用戶喜愛。Django強(qiáng)調(diào)代碼復(fù)用,有很強(qiáng)的可擴(kuò)展性,有大量功能強(qiáng)大的第三方插件,多個組件很方便的以插件形式服務(wù)于整個框架。
Django基于MVC的設(shè)計十分優(yōu)美:Django 提供了開發(fā)網(wǎng)站經(jīng)常用到的模塊,減少了重復(fù)代碼?;贒jango的Web應(yīng)用開發(fā)活動主要集中在models.py、templates文件夾中的各模板文件及views.py文件內(nèi)??刂破鹘邮苡脩糨斎氲牟糠钟煽蚣芡ㄟ^urls.py文件中自定義的正則表達(dá)式進(jìn)行自行匹配,用戶只需關(guān)注模型(Model)、模板(Template)和視圖(Views),因此Django的開發(fā)模式通常也稱為MTV開發(fā)模式[2],如圖1所示。
2 系統(tǒng)分析與設(shè)計
2.1 需求分析
高校人事部門的工作是十分復(fù)雜的,其工作內(nèi)容涉及人才、人事、師資、勞資、檔案等方面。
整體的人事管理系統(tǒng)應(yīng)包含以下幾個子系統(tǒng):招聘管理系統(tǒng)、人事管理系統(tǒng)、職稱管理系統(tǒng)、培訓(xùn)管理系統(tǒng)、人事檔案系統(tǒng)等,圍繞著這些模塊,在具體業(yè)務(wù)實(shí)現(xiàn)上需要進(jìn)行細(xì)化和業(yè)務(wù)流程的優(yōu)化。
人事管理系統(tǒng)結(jié)構(gòu)復(fù)雜,通常需要添加新的功能模塊,所以系統(tǒng)的可維護(hù)性和擴(kuò)展性必須要好,而Django項(xiàng)目由負(fù)責(zé)不同業(yè)務(wù)邏輯的獨(dú)立App組成,使復(fù)雜系統(tǒng)變得邏輯清晰,提高系統(tǒng)的開發(fā)效率、降低維護(hù)成本、提升軟件的可維護(hù)性和擴(kuò)展性。
人才引進(jìn)工作,特別是高層次人才的引進(jìn),主要由各高校人才工作辦公室承擔(dān)。另外,人才辦的職責(zé)還包括國內(nèi)和海外高層次人才的服務(wù)、考核、續(xù)聘。人才引進(jìn)過程中的待遇測算、合同簽訂、科研測評、高層次人才信息庫建設(shè)與維護(hù)等。
2.2 系統(tǒng)模塊設(shè)計
本文在現(xiàn)有的高層次人才引進(jìn)工作流程的基礎(chǔ)上進(jìn)行了合理的優(yōu)化,進(jìn)行詳細(xì)的系統(tǒng)功能設(shè)計。高層次人才引進(jìn)的一般流程為:用人單位制定年度進(jìn)人計劃、學(xué)校審批、人事部門和用人單位發(fā)布招聘信息、應(yīng)聘者報名、用人單位審查、用人單位考核、人事部門測算待遇,最終由學(xué)校層面會議審定。
引進(jìn)流程按系統(tǒng)模塊可劃分為:用戶管理模塊、權(quán)限管理模塊、登錄/注冊模塊、用人計劃管理模塊、招聘發(fā)布管理模塊、報名及審核模塊、待遇測算模塊等,不同模塊由不同功能的頁面組成,如圖2所示。
用戶管理模塊:系統(tǒng)登錄時自動進(jìn)行身份判別,按照訪問者的身份進(jìn)入其相應(yīng)的操作界面,用戶等級一般分為三類,超級管理員用戶擁有最高權(quán)限,高級用戶(學(xué)校領(lǐng)導(dǎo)、人事部門、用人單位)其次,擁有部分管理權(quán)限,普通用戶(應(yīng)聘者)的權(quán)限最低。
權(quán)限管理模塊:采用基于角色的訪問控制,對于用戶來說,不同的用戶作為不同的角色,具有不同的操作權(quán)限。判斷當(dāng)前模塊的當(dāng)前操作是否需要認(rèn)證;如果需要認(rèn)證并且尚未登錄,跳到認(rèn)證網(wǎng)關(guān),如果已經(jīng)登錄,判斷當(dāng)前用戶是否具有訪問權(quán)限;通過委托認(rèn)證進(jìn)行用戶身份認(rèn)證;獲取用戶的決策訪問列表。
登錄/注冊模塊[3]:應(yīng)聘者在使用系統(tǒng)前必須先注冊??紤]到保密和安全的需要,人事部門、用人單位用戶不開放注冊,默認(rèn)為系統(tǒng)后臺超級管理員進(jìn)行添加、修改和刪除。
用人計劃管理模塊:用人單位提交計劃、學(xué)校審批等功能。
招聘發(fā)布管理模塊:用人單位、人事部門發(fā)布招聘崗位公告管理。
報名及審核模塊:注冊后的應(yīng)聘人員,選擇相應(yīng)崗位進(jìn)行報名,用人單位、人事部門對應(yīng)聘人員材料真實(shí)性、是否符合報考條件進(jìn)行審核。
待遇測算模塊:對考核通過的應(yīng)聘人員,根據(jù)學(xué)校人才評價算法自動進(jìn)行待遇測算,輸入為應(yīng)聘人員科研成果,如論文、項(xiàng)目、獲獎、榮譽(yù)和年齡等多因素綜合測算,輸出為應(yīng)聘人員待遇。
3 系統(tǒng)實(shí)現(xiàn)
3.1 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計為了對數(shù)據(jù)庫進(jìn)行四個基本操作(CURD):創(chuàng)建、更新、讀取和刪除。人事系統(tǒng)中各個子系統(tǒng),子系統(tǒng)每一個模塊都會涉及到CURD操作。在對CURD不斷變幻的操作中滿足業(yè)務(wù)邏輯,從而實(shí)現(xiàn)人事系統(tǒng)復(fù)雜的功能。
數(shù)據(jù)庫是整個系統(tǒng)的關(guān)鍵,數(shù)據(jù)庫設(shè)計的好壞起著決定性的作用,人事系統(tǒng)數(shù)據(jù)庫設(shè)計要遵循以下原則[4]。
⑴ 體現(xiàn)系統(tǒng)的需求,數(shù)據(jù)庫設(shè)計應(yīng)該優(yōu)先滿足系統(tǒng)的業(yè)務(wù)需求,準(zhǔn)確表達(dá)數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系。
⑵ 保證數(shù)據(jù)的一致性,通過主鍵、外鍵、非空、唯一索引等保證數(shù)據(jù)的健壯。
⑶ 提高數(shù)據(jù)查詢效率,通過合理創(chuàng)建表結(jié)構(gòu)、視圖、增加索引等方式,提高數(shù)據(jù)的查詢效率。
⑷ 良好的擴(kuò)展性,必要時能根據(jù)需求變化擴(kuò)展數(shù)據(jù)結(jié)構(gòu)。
3.2 系統(tǒng)開發(fā)
系統(tǒng)開發(fā)采用上文中提到的Django框架的MTV三層架構(gòu)。分別為模型層、模版層及視圖層。系統(tǒng)后臺采用Django自帶的Admin管理模塊,可以快速便捷地管理數(shù)據(jù)。
Web服務(wù)器采用Apache服務(wù)器,它是一款開放源碼的Web服務(wù)器,可在大多數(shù)操作系統(tǒng)上穩(wěn)定運(yùn)行,它快速、可靠,通過簡單的模塊進(jìn)行擴(kuò)展,也可做代理服務(wù)器使用,Apache是目前比較流行的Web服務(wù)器軟件。
數(shù)據(jù)庫服務(wù)器采用Mysql,關(guān)系數(shù)據(jù)管理系統(tǒng),使用標(biāo)準(zhǔn)化SQL查詢語言。Mysql體積小、速度快、靈活、成本低,開放源代碼,十分適合人事管理系統(tǒng)。
Django對Mysql數(shù)據(jù)庫進(jìn)行操作,需要設(shè)置數(shù)據(jù)庫連接[5],即在setting.py文件中設(shè)置如下:其中ENGINE設(shè)置數(shù)據(jù)引擎,NAME設(shè)置數(shù)據(jù)庫名稱,USER連接數(shù)據(jù)庫的用戶名,PASSWORD連接數(shù)據(jù)庫的密碼,HOST服務(wù)器的IP地址,PORT數(shù)據(jù)庫使用的端口號。
4 結(jié)束語
高校人才引進(jìn)工作以往多采用人工操作,效率低且容易出錯。人才引進(jìn)工作信息化迫在眉睫。本文設(shè)計實(shí)現(xiàn)了一套基于Django框架的Web系統(tǒng),使人才引進(jìn)流程可視化、透明化。從部署以后運(yùn)行的效果看,該系統(tǒng)穩(wěn)定、安全、適用性廣泛。下一步將考慮人事管理系統(tǒng)、職稱管理系統(tǒng)、培訓(xùn)管理系統(tǒng)、人事檔案等其他信息系統(tǒng)的實(shí)現(xiàn)與部署。
參考文獻(xiàn)(References):
[1] Django[EB/OL].
[2] 周君.基于Django框架的智能圖書推薦系統(tǒng).[J].電子科技,2018.31(12):78-81
[3] 何方園.基于Web的高校人事管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].吉林大學(xué),2015.
[4] 陳鐳.基于LNMPA架構(gòu)的Web系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].計算機(jī)時代,2014.8:22-26
[5] 肖均磊,王敏,任想河,王俊.基于Django的校園服務(wù)系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].信息通信,2018(9):138-139