1.1概述
管理信息系統(MIS)是由管理人員和計算機組成的用於信息收集、傳輸、處理、存儲、維護和使用的系統。它是壹門集管理科學、系統論和計算機科學於壹體的系統邊緣科學。
管理信息系統的物理組成:
(1)計算機硬件系統:包括主機、外部存儲器、輸入輸出設備等。
(2)計算機軟件系統:包括系統軟件和應用軟件。
(3)通信系統:包括與計算機網絡和數據通信有關的線路、軟件等通信設施。
(4)工作人員:包括系統分析師、程序員、維護員、管理員、操作員。
1.2管理信息系統開發
管理信息系統通過處理企業當前的運行數據獲得相關信息,以控制企業的行為;利用過去和現在的數據以及相應的模型來預測未來的發展;能從總體目標出發,輔助企業的管理決策活動。
1.3中國人事管理現狀
計算機在中國企業管理中的應用是在20世紀70年代後期才逐漸發展起來的。目前,計算機輔助管理已廣泛應用於我國各行各業,但總的來說,計算機在我國管理中的應用還處於初級階段。雖然這兩年發展很快,但還需要不斷的探索和研究。特別是計算機輔助人事管理在我國是近幾年才得到普及和發展的,但在許多發達國家已經非常普及,因此有必要對這方面進行研究,這將促進我國企業的發展和人事管理信息處理的現代化。
1.4人事管理信息系統建設的效益
科學技術是第壹生產力。沒有科學技術,企業就不會長遠發展。科技的載體是人,誰也不能說科技無關緊要。因此,人力資源的開發和管理非常重要。隨著時代的發展,人才在我國各行各業發揮著越來越重要的作用,各類人才肩負著企業發展的重任。因此,人事管理的好壞決定了壹個企業的成敗。因此,人事管理信息系統的開發對企業的管理和人才素質的提高具有重要的社會意義。對於壹個具體的企業來說,可以提高企業管理的現代化水平,提高人事管理的效率。
1,改變了工作模式,提高了工作效率。
2、提高了經濟效益。
3.加強企業的科學管理。
1.5開發管理信息系統的建議
開發系統不需要貪完美,力求簡單實用。要以大局為重,從小事做起,循序漸進,逐步完善。開發過程中應註意各種文件的保存。
2.開發方法
2.1系統開發方法概述
建立管理信息系統是壹個復雜軟件項目的實施。近30年來,軟件工程已經發展成為壹門新興的科學,並成為IT產業的重要支柱。起初,人們往往采用手工作坊式的軟件開發方式,靠自己的力量編寫各種小程序;然而,隨著計算機硬件技術的飛速發展,計算機軟件在各個領域的作用日益突出。人們沿用多年的手工作坊式開發方法,在軟件產品的質量、成本、開發時間等方面已經無法滿足需求。
2.2結構化生命周期方法簡介
結構化生命周期方法是壹種傳統的管理信息系統開發方法。其基本思想是將整個系統開發過程分為若幹階段,每個階段進行若幹活動,每個活動應用壹系列標準、規範、方法和技術來完成壹項或多項任務,形成滿足給定規範的產品。
2.3快速原型法簡介
快速原型法是20世紀80年代發展起來的,旨在縮短開發周期,提高開發效率和用戶對系統的滿意度。其基本思想是在系統開發的初始階段盡快構建系統的原型,讓用戶盡快運行原型,通過使用、熟悉得到啟發、獲得經驗,進而對系統的目標和功能提出更加精確、具體的要求,讓開發人員逐步修改和完善原型,滿足用戶的需求,最終完成系統開發。這種方法大大提高了系統開發的效率,彌補了結構化生命周期法開發時間長的缺點。
2.4本系統開發方法的選擇
基於上述開發方法的優缺點和系統的實際情況,系統壹般采用結構化生命周期法進行系統規則、系統分析和系統設計,但在系統實現階段采用原型法。
3.開發平臺和工具
3.1開發平臺選擇
考慮到本系統的性能要求和現有條件,我們選擇中文版WINDOWSXP作為開發、測試和運行的平臺。由於WINDOWS操作系統是目前應用最廣泛的操作系統,它以全新的圖形界面、簡單快捷的操作方式和對多媒體功能的支持,成為軟件發展的流行趨勢。選擇它作為開發平臺,便於功能擴展和軟件升級。
3.2開發工具的選擇
鑒於目前國際上流行的大量軟件和開發工具,在仔細分析了它們的優缺點後,結合計量器具管理系統的需求和當前的硬件環境,我們選擇了Microsoft WINDOWS平臺下的Visual FoxPro 6.0(簡稱VF6.0)作為軟件開發工具。
3.2.1開發語言介紹
現在市面上可以購買的應用開發產品很多,熱門的有幾十種。目前中國市場上最流行、最常用、最先進的可以作為人工企業級開發工具的產品有:
微軟公司的
4.系統規劃和分析
系統規劃應根據組織的目標和發展戰略以及管理信息系統建設的客觀規律,並考慮組織面臨的內外部環境,科學制定管理信息系統的發展戰略和總體規劃,合理安排系統建設的進程;它是管理信息系統生命周期的第壹階段,是管理信息系統概念形成的時期。這壹階段的主要目標是制定管理信息系統的長期發展規劃,確定管理信息系統在整個生命周期中的發展方向、規模和進程。其主要任務是:制定MIS的發展戰略,確定組織的主要信息需求,形成MIS的總體規劃,制定系統建設的資源配置計劃。
4.1系統可行性分析
可行性分析是系統分析階段的第二項活動,可以使新系統以最小的開發成本取得最佳的經濟效益。可行性分析的目的是通過前期調研,根據開發管理信息系統的要求,從技術、經濟、資源、管理等方面研究分析擬開發的管理信息系統的可行性。這是保證合理利用資源,避免錯誤和浪費的壹項重要工作。
1,經濟可行性。
2.技術可行性。
3.資源的可行性。
4.管理的可行性。
4.2系統的詳細調查
系統詳細調查目標是在可行性分析的基礎上,進壹步對原系統進行全面、深入的調查分析,摸清原管理信息系統的運行狀況,找出其薄弱環節,找出待解決問題的實質,確保新系統比原系統更加有效、可靠。具體內容包括:管理業務狀態和數據流的調查分析。
經過詳細調查,畫出人事管理子系統的業務流程圖,如下圖所示:
查詢要求
查詢結果
用戶設置統計要求
表單維護統計結果
4.3系統邏輯模型的提出
為了實現管理信息系統的計算機化,用業務流程圖形象地描述信息的流動和存儲是遠遠不夠的。需要進壹步調查分析物質流,抽象信息流,繪制數據流圖,詳細分析各種數據的屬性和處理功能。系統分析的主要成果是系統的邏輯模型。本系統主要以數據流圖和數據字典為主要描述工具,勾勒出系統的概貌。
5.3.1數據流圖(DFD)
數據流圖是描述系統邏輯模型的主要工具之壹。它在分析系統業務流程圖的基礎上,用少量的符號綜合反映信息在系統中的流動、存儲和處理,並能自上而下地分解信息處理功能和它們之間的關系,邏輯地描述系統應該具有的數據處理功能、數據輸入輸出、數據存儲、數據源和目的地。
1.計量器具管理子系統的關聯圖如下:
每個單元F1 F2
人事管理部F3
員工F4
註:F1基本信息表;F2信息管理;招聘人員和員工的F3人事檔案;F4人事信息管理
數據字典
數據字典是對數據流圖(DFD)上所有組件的定義和解釋的單詞集合。它是系統分析階段的重要文檔,其作用是描述所有數據流及其組件、數據元素、數據存儲、數據處理外部項等。在數據流程圖中清晰地通過數據字典,以便於以後的系統設計。
5.系統設計
管理信息系統設計階段的主要目的是將系統分析階段提出的反映用戶信息需求的系統邏輯方案轉化為基於計算機和通信系統的可實施的物理(技術)方案。
5.1系統設計基礎
1,系統分析的結果
2.當前技術
3、現行的信息管理和信息技術標準、規範及相關法律制度。
4.用戶需求
5、系統運行環境
5.2系統的總體結構設計
總體流程圖如下:
根據結構化系統設計方法,企業人事管理系統的總體流程圖如下:
5.3系統的詳細設計
5.3.1代碼設計
代碼是壹個或壹組易於被計算機識別和處理的特定符號或標誌,用於表示客觀事物的實體類別和屬性。它的作用是描述對象的狀態,便於對象的統計和檢索。
代碼設計原則:適合計算機處理、簡單明了、可擴展、系統化、易識別、易記憶等。
該系統使用“漢字名稱”作為所有數據庫表中的主碼和外碼的代碼。
數據庫設計
數據庫設計是通過合理的邏輯設計和有效的物理設計,在給定的應用環境(DBMS)中構造壹個較好的數據庫模式和子模式,建立數據庫和設計應用程序,以滿足用戶的各種信息需求。
基於以上設計原則,本系統中的相關數據庫(人事管理)包括以下性能。以表格結構設計為例:
Jbxx表
Jyjl表
Grjl表
Gwbd表
Jc表
Ltdj表
Ypxx表
Lqqk表
Pxap表格
Pxqk表
數據庫的安全性、完整性、並發控制和恢復
信息數據是企業非常重要的資源,因此保證數據庫的安全性、可靠性、正確性和有效性非常重要。通用數據庫管理系統(DBMS)提供了壹些數據保護功能。數據庫保護又稱數據控制,主要包括數據安全性、完整性、並發控制和數據庫恢復。
(1)數據庫的安全性
數據庫的安全性是指對數據庫的保護,防止非法使用造成的數據泄露、更改或破壞。由於大量的數據存儲在數據庫系統中,被許多用戶享用,所以首先必須解決安全問題。壹般計算機系統中的安全措施是按照用戶識別和認證、DBMS訪問控制、OS級安全控制和DB密碼存儲來逐級設置的。
現在流行的數據庫系統壹般提供以下兩種控制:用戶識別和認證,以及數據訪問控制。
(2)數據完整性
為了確保數據庫數據的正確性和兼容性,數據庫管理系統(DBMS)提供了壹種機制來檢查數據庫中的數據是否符合語義要求。DBMS將這種機制稱為“數據完整性檢查”。在壹般的DBMS中,這種機制是通過完整性約束和數據庫觸發器來實現的。
(3)並發控制
在多用戶數據庫環境中,多個用戶程序可以並行訪問數據庫中的數據。為了正確調度並發操作,避免出現“修改丟失”、“無法重讀”、“讀取臟數據”等不壹致的情況,DBMS引入了“並發控制”機制。
並發控制的主要方法是采用阻塞機制,壹般通過兩種阻塞機制來實現:* *共享機制和獨占機制。
(4)數據庫備份和恢復
主要使用轉儲、日誌等方法恢復數據庫。
用戶界面設計
用戶界面是指軟件系統與用戶之間的界面,通常包括輸出、輸入、人機對話界面和模式。由於本系統的最終用戶是對計算機技術不是很精通的管理人員,所以本系統采用了基於菜單選擇、用戶名和密碼填寫和登錄、頁面框、按鈕和彈出表單的友好用戶界面交互方式。
系統安全性驗證的用戶界面設計
用戶登錄窗口界面是用戶看到的第壹張圖片,也是進入系統前必須經過的“關口”。所以簡單、實用、友好、美觀、安全是設計時應該考慮的風格。
用戶登錄本系統,登錄界面為:
系統主屏的屏幕區域設計
在設計系統的主屏幕區域時,整個屏幕分為三個區域,如下圖所示:
主菜單區
工作區
形態信息區
屏幕頂部是主菜單區,顯示本系統的功能主菜單。用戶可以用鼠標左鍵選擇相應的菜單,或者用快捷鍵操作,然後用同樣的方法拉出相應菜單下該項目的二級菜單(如果有)。如果有三級菜單,用戶可以從二級菜單中選擇相應的功能項,系統會自動彈出三級菜單。
當通過菜單選擇要做的工作時,系統進入相應的業務處理功能,然後在屏幕的中間區域即工作區進行業務處理活動。在業務處理的整個過程中,主菜單區始終存在,以使用戶清楚當前的處理。當用戶完成業務處理後,系統返回主菜單。
5.3.4處理工藝設計
根據模塊劃分和結構設計的基本原則,設計每個程序處理模塊中的詳細處理過程。常見的設計工具包括程序流程圖、程序設計語言、決策表、決策樹等。
6.系統的操作
管理信息系統實施並投入正常運行後,進入系統運維階段。
6.1系統的配置
1,硬件配置要求:
Cpu: pii 200以上。
內存:32MB以上。
硬盤:2.1GB以上(可用空間最好是160MB以上)。
打印機:推薦愛普生LQ-1600KII。
2.軟件配置要求:
WINDOWS95/98/2000/XP中文操作系統。
6.2系統的操作
本系統的操作:首先啟動WindowsXP,將本系統復制到硬盤上相應的目錄下,運行“企業人事管理。EXE”。
該系統的主要菜單功能簡述如下:
(1)系統管理:用戶名輸入、密碼修改、系統退出等。
(2)人員信息管理:包括員工基本信息、員工教育經歷、員工簡歷、員工崗位變動、員工獎懲登記、員工退休登記。
(3)招聘信息管理:包括招聘人員的基本信息和應聘人員的錄取情況。
(4)培訓信息管理:各部門培訓安排及員工培訓信息。
下面簡單介紹壹下各種功能的源代碼實現:
用戶登錄:
進入系統:command2_click()
i=i+1
如果this form . text 2 . value = 123456
keyb“{ CTRL+F4 }”
莫迪擋風玻璃titl '人力資源管理系統'
do表單rsgl \石人
其他
如果我& lt三
Messagebox(密碼錯誤,請重新輸入!)
thisform.text2.value=
thisform.text2.setfocus
其他
Messagebox(密碼錯誤,無法進入系統!)
此表單.釋放
endif
endif
do表單rsgl \石人
退出系統:
command1_click()
YN =消息框(確定退出系統,4+32,用戶登錄)
如果YN==6
清除事件
放棄
ENDIF
進入人事管理系統界面:
人員信息管理:page1:
員工基本信息:command1_click()
do表單rsgl \ jibenxinxi
員工教育體驗:command2_click()
do表單rsgl\jiaoyujingli
員工簡歷:command3_click()
do表單rsgl\zhiyuangerenjianli
員工職位變動:command4_click()
do表單rsgl \ zhiyuangangweibiandong
員工獎懲登記:command5_click()
do form rsgl \ zhiyuanjiangchengdengji
員工退休登記:command6_click()
do form rsgl \誌遠退休所
招聘信息管理:第2頁:
招聘人員基本信息:command1_click()
do表單rsgl \招聘人員原信息
考生入場:command2_click()
做表格rsgl \熒屏人員路去輕況
培訓信息管理:第3頁:
各部門培訓安排:command1_click()
do表單rsgl \ gebumenpeixunanpai
員工培訓信息:command2_click()
do表單rsgl \原工作培訓信息
退出:
此表單.釋放
點擊按鈕分別彈出表格:
添加新記錄:command1_click()
this form . command group 1 . enabled = . f。
thisform.command2.enabled=.F。
thisform.command3.enabled=.F。
thisform.command4.enabled=.T。
如果這個表格。命令1。caption = '添加新記錄'
Thisform.txt員工號。已啟用=。t.
Thisform.txt名稱。已啟用=。t.
Thisform.txt性別。已啟用=。t.
Thisform.txt出生日期。已啟用=。t.
Thisform.txt民族。已啟用=。t.
Thisform.txt教育程度。已啟用=。t.
Thisform.txt畢業學校。啟用= .t。
Thisform.txt政治觀點。已啟用=。t.
Thisform.txt家庭住址。已啟用=。t.
Thisform.txt家庭電話。已啟用=。t.
追加空白
這種形式。命令1。caption = '添加確認'
此表單.刷新
Thisform.txt員工號。setfocus
其他
Get員工編號=alltrim(thisform.txt員工編號.值)
get value = all trim(this form . txt name . value)
get gender = all trim(this form . txt gender . value)
Get出生日期=alltrim(thisform.txt出生日期.值)
get nation = all trim(this form . txt nation . value)
get education level = all trim(this form . txt education level . value)
Get畢業學校=alltrim(thisform.txt畢業學校.值)
get political outlook = all trim(this form . txt political outlook . value)
獲取家庭地址=alltrim(thisform.txt家庭地址.值)
獲取家庭電話=alltrim(thisform.txt家庭電話.值)
如果空(獲取員工編號)或空(獲取姓名)或空(獲取性別)或空(獲取出生日期)或空(獲取國籍)或空(獲取教育程度)或空(獲取畢業學校)或空(獲取政治面貌)或空(獲取家庭住址)或空(獲取家庭電話)。
Messagebox(數據不足,48,錯誤)
其他
這種形式。命令1。caption = '添加新記錄'
表格更新(. t)
Thisform.txt員工號。已啟用=。f.
Thisform.txt名稱。已啟用=。f.
Thisform.txt性別。已啟用=。f.
Thisform.txt出生日期。已啟用=。f.
Thisform.txt民族。已啟用=。f.
Thisform.txt教育程度。已啟用=。f.
Thisform.txt畢業學校。已啟用=。f.
Thisform.txt政治觀點。已啟用=。f.
Thisform.txt家庭住址。啟用= .f。
Thisform.txt家庭電話。啟用= .f。
this form . command group 1 . enabled = . t。
thisform.command2.enabled=.T。
thisform.command3.enabled=.T。
thisform.command4.enabled=.F。
endif
endif
修改記錄:command2_click()
this form . command 1 . enabled = . f。
thisform.command3.enabled=.F。
thisform.command4.enabled=.T。
this form . command group 1 . enabled = . f。
If thisform.command2.caption= '修改記錄'
Thisform.txt員工號。已啟用=。t.
Thisform.txt名稱。已啟用=。t.
Thisform.txt性別。已啟用=。t.
Thisform.txt出生日期。已啟用=。t.
Thisform.txt民族。已啟用=。t.
Thisform.txt教育程度。已啟用=。t.
Thisform.txt畢業學校。啟用= .t。
Thisform.txt政治觀點。已啟用=。t.
Thisform.txt家庭住址。已啟用=。t.
Thisform.txt家庭電話。已啟用=。t.
Thisform.command2.caption= '修改確認'
此表單.刷新
Thisform.txt員工號。setfocus
其他
Thisform.command2.caption= '修改記錄'
表格更新(. t)
Thisform.txt員工號。已啟用=。f.
Thisform.txt名稱。已啟用=。f.
Thisform.txt性別。已啟用=。f.
Thisform.txt出生日期。已啟用=。f.
Thisform.txt民族。已啟用=。f.
Thisform.txt教育程度。已啟用=。f.
Thisform.txt畢業學校。已啟用=。f.
Thisform.txt政治觀點。已啟用=。f.
Thisform.txt家庭住址。啟用= .f。
Thisform.txt家庭電話。啟用= .f。
this form . command 1 . enabled = . t。
thisform.command3.enabled=.T。
thisform.command4.enabled=.F。
this form . command group 1 . enabled = . t。
endif
刪除記錄:command3_click()
Get員工編號=alltrim(thisform.txt員工編號.值)
Thisform.txt員工號。控件來源=“”
Thisform.txt名稱。控件來源=“”
Thisform.txt性別。控件來源=“”
Thisform.txt出生日期。控件來源=“”
Thisform.txt民族。控件來源=“”
Thisform.txt教育程度。控件來源=“”
Thisform.txt畢業學校。控件來源=“”
Thisform.txt政治觀點。控件來源=“”
Thisform.txt家庭住址。控件來源=“”
Thisform.txt家庭電話。控件來源=“”
使用jbxx獨占
將訂單設置為員工編號
尋求獲取員工編號
刪除
包裝
Thisform.txt員工號。controlsource='jbxx。'員工編號'
Thisform.txt名稱。controlsource='jbxx。'名稱'
Thisform.txt性別。controlsource='jbxx。'性別'
Thisform.txt出生日期。controlsource='jbxx。“出生日期”
Thisform.txt民族。controlsource='jbxx。國家
Thisform.txt教育程度。controlsource='jbxx。'教育水平'
Thisform.txt畢業學校。controlsource='jbxx。'畢業學校'
Thisform.txt政治觀點。controlsource='jbxx。“政治觀點”
Thisform.txt家庭住址。controlsource='jbxx。'家庭住址'
Thisform.txt家庭電話。controlsource='jbxx。家庭電話
此表單.刷新
Thisform.txt員工號。已啟用=。f.
Thisform.txt名稱。已啟用=。f.
Thisform.txt性別。已啟用=。f.
Thisform.txt出生日期。已啟用=。f.
Thisform.txt民族。已啟用=。f.
Thisform.txt教育程度。已啟用=。f.
Thisform.txt畢業學校。已啟用=。f.
Thisform.txt政治觀點。已啟用=。f.
Thisform.txt家庭住址。啟用= .f。
Thisform.txt家庭電話。啟用= .f。
取消操作:command4_click()
如果這個表格。命令1。caption = '添加確認'
這種形式。命令1。caption = '添加新記錄'
thisform.command2.enabled=.T。
thisform.command3.enabled=.T。
this form . command group 1 . enabled = . t。
tablerevert(.f)
endif
If thisform.command2.caption= '修改確認'
Thisform.command2.caption= '修改記錄'
this form . command 1 . enabled = . t。
thisform.command3.enabled=.T。
tablerevert(.f)
endif
Thisform.txt員工號。已啟用=。f.
Thisform.txt名稱。已啟用=。f.
Thisform.txt性別。已啟用=。f.
Thisform.txt出生日期。已啟用=。f.
Thisform.txt民族。已啟用=。f.
Thisform.txt教育程度。已啟用=。f.
Thisform.txt畢業學校。已啟用=。f.
Thisform.txt政治觀點。已啟用=。f.
Thisform.txt家庭住址。啟用= .f。
Thisform.txt家庭電話。啟用= .f。
this form . command group 1 . enabled = . t。
thisform.command4.enabled=.F。
此表單.刷新
退出:command5_click()
此表單.釋放
命令按鈕組commandgroup1:
上壹頁:command1_click()
跳過-1
如果bof()
Messagebox(已經是第壹條記錄,48,信息窗口)
this . parent . command 1 . enabled = . f。
this . parent . command 3 . enabled = . f。
跳躍
其他
this . parent . command 1 . enabled = . t。
this . parent . command 3 . enabled = . t。
endif
this . parent . command 2 . enabled = . t。
this . parent . command 4 . enabled = . t。
此表單.刷新
下壹頁:command2_click()
跳躍
if eof()
Messagebox(最後壹條記錄,48,信息窗口)
跳過-1
this . parent . command 2 . enabled = . f。
this . parent . command 4 . enabled = . f。
其他
this . parent . command 2 . enabled = . t。
this . parent . command 4 . enabled = . t。
endif
this . parent . command 1 . enabled = . t。
this . parent . command 3 . enabled = . t。
此表單.刷新
第1頁:command3_click()
轉到頂部
this . parent . command 1 . enabled = . f。
this . parent . command 2 . enabled = . t。
this . parent . command 4 . enabled = . t。
此表單.刷新
最後壹頁:command4_click()
轉到底部
this . parent . command 2 . enabled = . f。
this . parent . command 1 . enabled = . t。
this . parent . command 3 . enabled = . t。
此表單.刷新
其他幾種形式的流程也以此方式依次列出,不再贅述。