[摘要]通過對營口市人事檔案管理部的實地調查,以規范化進行計算機信息管理為目的,開發出“人事檔案管理系統”,論述了管理信息系統的概念、結構及系統開發的基本原理和方法,詳細闡述了系統分析,系統設計,系統實施的技術及其應用。該系統主要使用FoxPro數據庫系統,利用計算機信息管理的相關知識,進行了詳細的需求分析及可行性分析,有針對性的做出適合本單位的數據庫系統。本系統操作簡單,界面友好,實用性強。適合專業計算機人員和非專業人員使用。
[關鍵詞]數據庫系統;系統分析;系統設計;系統實施
1.新系統的設計思想和目標
系統采用模塊化程序設計方法,既便于系統功能的組合和修改,又便于未參與開發的技術維護人員補充、維護,能及時根據用戶需求進行數據的添加、刪除、修改、備份等操作。新系統開發的設計思想是采用現有軟件和硬件環境,及先進的管理系統開發方法,使學校現有資源能夠得到充分利用;盡量符合學校人事管理的規定,滿足學校日常員工管理的工作需要,使系統的操作直觀、方便、使用、和安全;
帶動公司管理基礎工作的加強;促進公司人員素質的提高;真正做到精簡機構,合理使用人力資源。新系統的設計目標為:提高管理效率,減少業務差錯,保證工作質量;形成良好的整體配合協作環境;
2.系統的可行性研究
首先必須結合學校實際,建立適應新形式需要的綜合人事檔案管理系統。現在從以下三個方面進行分析:
⑴ 經濟可行性:從管理和維護來看,我學校有專門的計算機維護人員,不會花太大的費用就可使本套系統進入良好的運轉。人員的培訓方面,由于事先做了不少培訓工作,而且本套管理系統采用了交互式界面,界面友好,簡單易學,所有界面幾乎與原來手工輸入相同,因此花在員工的培訓上的費用也不會很多。本套系統的設計與開發公司領導非常重視。開發工作全部由學校內部同事來完成,所以免去了購置軟件和請專門人士開發所需的大量費用,另外從期望的經濟效益來看,此套管理軟件如能達到預期的目的,所節省的經濟效益及給我學校所帶來的無形效益是無法估量的。
⑵ 技術可行性:從開發水平來看,開發人員是本學校自己的人員,有相當水平的計算機知識,而且對本學校的具體工作情況十分了解,所以開發出能滿足我學校現狀使用的軟件從技術上看也是可能的。我學校去年已經為科室配備了電腦及打印機,其配置為硬件:IBM 兼容機;CPU:奔騰Ⅲ處理器;硬盤:20G;內存:128M;顯視器:VGA及普通打印機。本套系統對機器的硬件要求不高,這樣的硬件資源遠遠能滿足要求,只要在Visual FoxPro 6.0 for Windows版本的環境下運行即可。此技術可自行開發,技術要求不高,實現容易。
⑶ 管理可行性:從管理上,我學校為此管理系統的即將實施定制了很多管理制度。新系統開發完以后,可以使學校的管理程序化,管理業務標準化,報表文件統一化和數據資料的完整化。由于在學校當中,所有的人員都接觸最新的信息技術,如要實現簡單操作不成問題,學校整體上實現計算機管理已不是困難,可以實現校園的計算機管理。學校的主管領導對此事相當重視,而且以各種形式不只一次開了專題會議,使全體教師在思想上有了準備,因而不會在推行此項工作時遇到太大的阻力。
3.系統分析
3.1業務流程分析
人事管理業務情況是協助管理人員了解掌握我校的人員情況,做好員工錄用及離職手續辦理,建立員工檔案,員工登記表,對所得數據信息進行登記處理。
1).若有員工在我校各個部門調換,則提供員工的姓名,由何部門調往何部門工作。
2).若有人調到其他部門,則應提供其人的姓名、編號、什么工作,以及有關人才數據,據此,人事檔案管理員建立人才的員工檔案。
3).若有離職的員工,則應提供離職員工的姓名,工作時間,員工編號,當收到各部門送來的人才登記表和其他有關員工變動單后,人事檔案管理員可以依據具體情況作員工檔案。
人事檔案管理業務處理中的幾項補充說明:
*人才調換需到管理員報到。
*員工變動表需上報管理員。
過程說明:
1、新員工到人事管理員處報道并填寫職工登記表;
2、人事管理員接到登記表后登錄職工臺帳并交給檔案管理員存檔;
3、管理員將表送到統計員那進行分析和統計;
4、最后將人事帳提交給主管部門;
5、每年的員工考核結果經主管領導批準后交給檔案員登記員工檔案。
3.2 數據流程分析
系統的數據流程圖如圖3-2:
對圖3-2中的數據流說明如下:
“1”:員工登記表
“2”:部門名稱表
“3”:離職人員登記表
“4”:員工登記表上的數據
“5”:員工變動表上的數據
“6”:離職人員登記表上的數據
“7”:獲得的“4,5”數據
“8”:離職臺帳的需要統計的數據
“9”:獲得的“7,8”數據
4.系統設計
4.1新系統的功能結構
本系統主要劃分為五個模塊:
1)在職員工管理模塊
本模塊包括四個子模塊。主要完成職工人事管理功能。對職工的基本情況進行輸入、修改、查詢和統計等處理,職工的基本信息主要包括:職工號、姓名、性別、出生日期、民族、政治面貌、家庭住址、聯系電話、所在部門、籍貫、畢業學校、所學專業等。
職工信息錄入子模塊:當有新的職工轉入時,將職工的基本信息輸入到在職人員表中。也可以對輸入的錯誤信息進行修改,還可以進行職工信息的查詢和瀏覽。
職工信息修改子模塊:本模塊主要實現職工基本信息的修改功能,可以按職工的職工號或姓名兩種方式查詢到要修改內容的職工,顯示職工的信息,進行信息的修改。
查詢職工情況子模塊:本模塊主要實現職工基本信息查詢的功能,包括三個子模塊。按職工號查詢模塊可以輸入職工的職工號查詢到該職工。按姓名查詢模塊可通過輸入職工的姓名查詢到該職工。按部門查詢模塊可以通過選擇部門,瀏覽到該部門的所有職工。
統計職工情況子模塊:本模塊主要完成職工人數統計功能。包括按部門統計職工人數、按性別統計職工人數、按學歷統計職工人數。
2)人員變動管理模塊
本模塊包括五個子模塊。主要完成職工人員變動的處理。
人員調出:當有職工調出本單位時進行人員的調出處理,通過輸入員工的編號或者是姓名查找到該職工,將該職工的信息由在職工人員轉入到離職人員庫中,完成人員的調出處理。
人員調入:當有新的人員調入時,通過該模塊將新的員工的信息輸入到在職人員表中完成人員調入的處理。
職工退休:當有職工退休時,通過輸入要退休職工的員工號或者姓名找到該職工,將該職工的基本情況由在職人員表中轉入到離職人員表中。完成退休處理。
內部調轉:當有職工進行校內部門調轉時,通過該模塊輸入員工的新的部門完成員工內部的調轉。
人員變動查詢:可查詢人員變動的情況,主要是人員的離職去向,離職的日期。可通過多種方式進行查詢,輸入員工的編號、姓名查詢某職工的變動情況,通過選擇部門查詢到某部門員工變動的情況,通過輸入時間段查詢到某個時間范圍內員工變動的情況。
3)員工退休管理模塊
本模塊包括二個子模塊。由于離職中最重要的是職工的退休管理,因此本模塊主要是對退休的員工進行管理。
員工退休查詢子模塊。通過輸入退休人員的編號或者是姓名查詢到該員工的退休情況。
員工退休瀏覽子模塊:可查詢到全校的退休員工的詳細情況。
4)打印模塊
本模塊共有二個子模塊。主要是完成各種報表的打印。
打印職工明細子模塊:按部門打印全體員工的明細表。
打印職工統計表子模塊:將統計的結果以報表的形式打印出來。
5)系統維護模塊
本模塊包括三個子模塊,主要是進行系統數據的維護。
數據備份:對系統中重要的數據文件進行及時的軟盤備份處理,以防止數據丟失。
恢復系統數據:一旦系統中的數據丟失或被破壞,能夠將備份軟盤上的數據文件及時地恢復到系統中。
退出系統:結束該系統的運行返回到Windows狀態。
4.2代碼設計
(1)部門代碼設計
部門代碼用2個字符來表示。
(2)人員編碼采用四位整數表示,設計方案如圖4.2所示:
下面以“人員調出”代碼為例。
public rybh,ryxm
text1_interactivate
select 在職人員
rybh=alltrim(thisform.text1.value)
ryxm=alltrim(thisform.text2.value)
s=''
if len(rybh)>0
s=s+'.And.'+'職工號=rybh'
endif
if len(ryxm)>0
s=s+'.And.'+'姓名=ryxm'
endif
do while left(s,5)='.And.' .or. left(s,5)= '.AND.'
s=substr(s,6)
enddo
if len(alltrim(s))=0
set filter to
else
set filter to s
endif
go top
thisform.refresh
text2_interactivate
rybh=alltrim(thisform.text1.value)
ryxm=alltrim(thisform.text2.value)
s=''
if len(rybh)>0
s=s+'.And.'+'職工號=rybh'
endif
if len(ryxm)>0
s=s+'.And.'+'姓名=ryxm'
endif
do while left(s,5)='.And.' .or. left(s,5)= '.AND.'
s=substr(s,6)
enddo
if len(alltrim(s))=0
set filter to
else
set filter to s
*thisform.text1.value=職工號
endif
go top
thisform.refresh
i=messagebox(\"確定此人員要調出嗎?\",4,\"提示信息\")
if i=6
select 在職人員
num=recno()
select 離職人員
append from data\在職人員 for recno()=num
thisform.text3.setfocus
endif
select 在職人員
szbm=所在部門
zw=職務
delete
pack
select 離職人員
replace 編號 with thisform.text3.value
replace 離職日期 with thisform.text4.value
replace 離職去向 with \"調出\"
replace 曾在部門 with szbm
replace 曾任職務 with zw
thisform.refresh
thisform.text1.value=\"\"
thisform.text2.value=\"\"
thisform.text3.value=\"\"
thisform.text1.setfocus
5.系統實施
5.1表單設計
5.1.1登陸表單
本系統程序的執行從主程序文件main.prg開始執行,在main.prg文件中調用系統的登陸表單位,選擇用戶名輸入密碼,判斷正確后,顯示營口市第二十七中學人事管理系統。單擊該表單后調用系統菜單主菜單.mpr,則顯示系統主菜單,系統的所有功能的實現通過菜單操作即可實現。
command1_click()
public Z
Z=thisform.combo1.value
use data\密碼
if thisform.text1.value=密碼.密碼.and.密碼.姓名=Z
thisform.release
do form form\封面
else
=messagebox(\"對不起,你無權使用本系統!\",\"信息窗口\")
endif
5.1.2員工信息錄入表單
以員工錄入表單為例,表單文件名為在職人員錄入.scx,該表單主要功能是當有新的員工轉入我校時通過該表單,將員工的基本情況輸入到在職人員表中。為了簡化系統的輸入,性別和文化程度采用選擇性輸入。也可通過此表單進行刪除和、修改操作,進行簡單的查詢。見圖5.1
5.2系統菜單之間的調用關系
這里只顯示在職員工管理如下:
5.2.1系統主菜單
5.2.2在職員工管理子菜單
6.系統測試
系統程序編寫完畢,并不是開發工作的結束。在系統投入運行的轉換工作之前,還需對系統進行一系列的調試。系統調試的任務是根據系統說明書和系統實施方案,對程序設計的結果進行全面的檢查,找出并糾正其錯誤,使可能發生的問題和錯誤,消滅在系統正式運行之前。主要解決系統的語法錯誤和邏輯錯誤。
系統在調完正常運行后,為了檢驗系統的正確性,輸入數據進行檢驗,采用新舊系統并行工作的方法,以實現對新系統的檢驗。
7.結束語
通過這次系統化的設計,使學生能更深刻的理解和進一步靈活掌握Visual FoxPro編程及數據庫知識,對VFP有一個更全新的認識和更深入的了解,同時也學會了軟件開發的理論,真正地把課本的知識和實際結合起來。
參考文獻
[1]李春葆.數據庫基礎與應用.北京:科學出版社,2001.4
[2]黃梯云.管理信息系統.北京:經濟科學出版社,2001.9
[3]楊文龍 姚淑珍 吳蕓.軟件工程.北京:電子工業出版社,1997.7
[4]王萍.面向對象程序設計.北京:清華大學出版社,2000.6
[5]李雁翎.Visual FoxPro 6.0使用開發技術.北京:清華大學出版社,2001.9
[6]李淑華.Visual FoxPro 6.0程序設計.北京:清華大學出版社,2002.8
作者簡介
周連波(1980—),女,遼寧營口人,學士,講師,從事計算機教育研究。