【文章內(nèi)容簡介】
都放棄用這些軟件了,改為每次輸入數(shù)據(jù)后,用手工更改數(shù)據(jù)庫,隨著企業(yè)的發(fā)展,員工數(shù)據(jù)量越來越大,用手工操作就很麻煩了,所以,迫切希望有一套完全適合企業(yè)員工信息管理應(yīng)用的軟件,以減輕公司員工的工作負(fù)擔(dān)。 另一方面由于這類軟件大多數(shù)是單機(jī)版的,現(xiàn)在也有不少是網(wǎng)絡(luò)版的,但大部份都是在本地網(wǎng)絡(luò)上運行的。而管理業(yè)務(wù)人員是在外面跑業(yè)務(wù),想知道某員工的最新情況,都要打電話回公司問,這就造成很大的不便。 系統(tǒng)的安全性分析 安全系統(tǒng)的需求定義: 1) 系統(tǒng)提供用戶登錄功能(進(jìn)行用戶身份驗證),并且用戶名和用戶編號是唯一的。用戶在登錄界面上填寫任意的用戶名和用戶密碼(中文或英文);系統(tǒng)提供登錄過程中的出錯處理機(jī)制和操作成功處理機(jī)制。 2) 系統(tǒng)對非法用戶具有警告功能,例:一用戶表中不存在的用戶企圖登錄系統(tǒng),系統(tǒng)應(yīng)該要求用戶輸入合法用戶名和用戶密碼,并警告用戶的操作。 系統(tǒng)的詳細(xì)調(diào)查 我選擇做《員工信息管理系統(tǒng)》的目標(biāo)是:應(yīng)用于某企業(yè)進(jìn)行員工信息管理,使其擁有一個可操作的業(yè)務(wù)平臺,提高員工管理水平,挖掘潛在資源(如客戶資源,降低費用,節(jié)約成本等)。當(dāng)然,如果稍加改動,也許還會適合其他行業(yè)使用。 具體為: 要用戶界面要友好,使用方便,容錯能力強(qiáng),適應(yīng)各種水平的用戶。 系統(tǒng)安全性要高,需要有密碼保護(hù) 能大量減少不必要的資源,善用現(xiàn)有資源來開發(fā)。為了實現(xiàn)管理信息系統(tǒng)的計算機(jī)化,僅僅用文字來描述信息的流動和存儲還遠(yuǎn)遠(yuǎn)不夠,還要進(jìn)一步調(diào)查分析舍去物質(zhì)流,抽象出信息流,繪制出數(shù)據(jù)流程圖,并對各種數(shù)據(jù)的屬性和各項處理功能進(jìn)行詳細(xì)分析。系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型。本系統(tǒng)主要是以數(shù)據(jù)流圖、數(shù)據(jù)字典和ER圖為主要描述工具來勾畫系統(tǒng)的概貌。 數(shù)據(jù)流圖(DFD,data flow diagram)是描述數(shù)據(jù)處理過程的有力工具。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。 為了使數(shù)據(jù)流圖便于在計算機(jī)上輸入和輸出,免去畫曲線、斜線和圓的因難,現(xiàn)在將會用另一種比較合理及更清晰的方法進(jìn)行分析。 數(shù)據(jù)詞典(Data Dictionary ,DD)是結(jié)構(gòu)化分析方法的另一個工具,它與數(shù)據(jù)流圖配合,能清楚地表達(dá)數(shù)據(jù)處理的要求。數(shù)據(jù)流圖給出系統(tǒng)組成及其內(nèi)部各元素相互間的關(guān)系,但未說明數(shù)據(jù)元素的具體含意。數(shù)據(jù)詞典的任務(wù)是對于數(shù)據(jù)流圖中出現(xiàn)的所有命名元素,包括數(shù)據(jù)流、加工、數(shù)據(jù)文件,以及數(shù)據(jù)的源、匯點等,在數(shù)據(jù)詞典中作為一個詞條加以定義,使得每一個圖形元素的名字都有一個確切的解釋。 首先說明各符號的代表的意義: ⊿ = 被定義為; ⊿ + 與 ; (如,x = a + b ,表示x 由 a 和 b 組成) ⊿ [...|...] 或 ; (如, x = [a , b],x = [a | b],表示x由a或由b組成) ⊿ {...} 重復(fù);(如,x = {a},表示x由0個或多個a組成) 如列舉用戶登錄模塊的定義如下: 用戶登錄模塊 ◎ 用戶登錄的定義格式: 用戶名 = [{字母},{數(shù)字}] 用戶 = 管理員 密 碼 = [{字母},{數(shù)字}] 用戶驗證表 =用戶名+密碼 另一種方式是以ER圖來描述數(shù)據(jù)之間的關(guān)聯(lián). 如系統(tǒng)用戶表的ER圖如下: 系統(tǒng)用戶表ER圖 第五章 系統(tǒng)的設(shè)計 系統(tǒng)流程圖 通過對該系統(tǒng)的研究,Edulevel,Employees,JobList,LeavelList,LeavelStatus,LeavelType,MarrageStatus,OperatorList,Plitics,: DepartList表 Edulevel表: Employees表: JobList表: LeavelList表: LeavelStatus表 LeavelType表: MarrageStatus表: OperatorList表 Plitics表 TitalList表其系統(tǒng)主界面設(shè)計運行效果圖如下: 登錄窗體的設(shè)計 其運行效果圖如下:: ,一個TextBox控件,一個Combo1控件,如下: Private Sub cmdOK_Click() Dim strSql As String strSql = Oper_ID = amp。 39。 amp。 amp。 39。 If Not ( And ) Then (strSql) If Not ( Or ) Then If Trim((Oper_Pass)) = Trim() Then OperaterName = Trim() 39。記錄當(dāng)前用戶 39。顯示主窗體 Unload Me Exit Sub Else logintestCount = logintestCount + 1 If logintestCount = 3 Then MsgBox 您已經(jīng)登錄三次都失敗,系統(tǒng)關(guān)閉, vbInformation + vbOKOnly, 非法用戶 Unload Me Exit Sub Else End If End If Else logintestCount = logintestCount + 1 If logintestCount = 3 Then MsgBox 您已經(jīng)登錄三次都失敗,系統(tǒng)關(guān)閉, vbInformation + vbOKOnly, 非法用戶 Unload Me Exit Sub Else End If End If Else MsgBox 數(shù)據(jù)庫中沒有操作用戶數(shù)據(jù), vbCritical + vbOKOnly, 系統(tǒng)錯誤 Unload Me Exit Sub End If End Sub 基礎(chǔ)設(shè)置模塊的設(shè)計 其窗體的命令按鈕源碼實現(xiàn)如下: 增加按鈕的源碼: Private Sub tblTitel_ButtonClick(ByVal Button As ) Select Case Case add = 1 39。移到最后一行 = 0 39。稱到最后一行的第一列 = 1 39。選定一行 = 1 39。選定所有列 If 7 Then = 7 End If (delete).Enabled = False (add).Enabled = False = False 保存按鈕的源碼如下: Private Sub IniGrid(ByVal flexGrid As MSHFlexGrid) With flexGrid .Cols = 3 .Rows = 2 .FixedCols = 0 .FixedRows = 1 .SelectionMode = flexSelectionByRow .TextMatrix(0, 1) = 編號 Select Case .Name Case flexDepart .TextMatrix(0, 2) = 部門名稱 Case flexEdu .TextMatrix(0, 2) = 學(xué)歷名稱 Case flexJob .TextMatrix(0, 2) = 職務(wù)名稱 Case flexTitel .TextMatrix(0, 2) = 職稱名稱 Case flexPli .TextMatrix(0, 2) = 政治面貌 Case flexLt .TextMatrix(0, 2) = 請假類型 Case flexLs .TextMatrix(0, 2) = 銷假標(biāo)志 Case flexMs .TextMatrix(0, 2) = 婚姻狀況 End Select .ScrollBars = flexScrollBarVertical .GridLines = flexGridNone .GridLinesFixed = flexGridNone 39。.AllowBigSelection = True .AllowUserResizing = flexResizeNone .ColWidth(0) = 1 .ColWidth(1) = 1000 .ColWidth(2) = 5410 .ColAlignment(1) = 3 .ColAlignment(2) = 0 .ColAlignmentFixed(1) = 3 .FillStyle = flexFillSingle .ScrollTrack = True .Row = 1 .Col = 0 .RowSel = 1 .ColSel = .Cols 1 End With End Sub Private Sub showdata(ByVal Recordset As , ByVal flexGrid As MSHFlexGrid) Dim i As Integer Dim j As Integer If 0 Then With = 1 While Not .Rows = .Rows + 1 For i = 1 To .Col = i If (.Row Mod 2) = 0 Then .CellBackColor = amp。HF4D3A6 Else .CellBackColor = vbWhite End If .Text = (i 1) Next i .Row = .Row + 1 We