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