080512_課程設(shè)計(jì)_企業(yè)人事管理信息系統(tǒng)(全)_第1頁(yè)
080512_課程設(shè)計(jì)_企業(yè)人事管理信息系統(tǒng)(全)_第2頁(yè)
080512_課程設(shè)計(jì)_企業(yè)人事管理信息系統(tǒng)(全)_第3頁(yè)
080512_課程設(shè)計(jì)_企業(yè)人事管理信息系統(tǒng)(全)_第4頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程設(shè)計(jì)企業(yè)人事管理信息系統(tǒng)Visual Basic +SQL Server信息管理系統(tǒng)一、引言1.1 開(kāi)發(fā)背景1現(xiàn)行業(yè)務(wù)簡(jiǎn)介企業(yè)的人事管理業(yè)務(wù)大致經(jīng)過(guò)如下的管理流程:(1) 新職員入公司后,經(jīng)人事部門(mén)的專(zhuān)門(mén)人員將新職員的基本信息進(jìn)行記錄,包括職員的家庭信息和工作、教育經(jīng)歷信息,生成人事檔案。(2) 如果新職員尚未分配部門(mén),那么他每個(gè)工作日的工作表現(xiàn)由人事處統(tǒng)一管理,直到該職員分配部門(mén)為止,再歸屬該部門(mén)的部門(mén)領(lǐng)導(dǎo)管理。(3) 由專(zhuān)門(mén)的人員管理出勤信息,并按月進(jìn)行匯總(4) 每個(gè)月的月底或月初, 由該職員的直接領(lǐng)導(dǎo)對(duì)其進(jìn)行考核, 填寫(xiě)職員考核表, 包括職員的工作業(yè)績(jī)和獎(jiǎng)懲記錄。(5) 每個(gè)月的月

2、初, 職員考核表與考勤匯總信息上交給人事部門(mén)最高管理者,作為年終考核職員的依據(jù),同時(shí)根據(jù)這些信息和工資項(xiàng)目,填寫(xiě)工資表,并將工資表送到財(cái)務(wù)部門(mén)。2系統(tǒng)開(kāi)發(fā)背景隨著全球經(jīng)濟(jì)一體化的進(jìn)程,人事管理日趨復(fù)雜,人力資源成了現(xiàn)代企業(yè)生存和發(fā)展的重要因素。企業(yè)人事部門(mén)傳統(tǒng)的檔案手工管理繁瑣、效率低下而且容易出錯(cuò),已經(jīng)無(wú)法適應(yīng)現(xiàn)代企業(yè)日益龐大的人力資源隊(duì)伍的管理需求。同時(shí),隨著計(jì)算機(jī)技術(shù)的迅猛發(fā)展,辦公自動(dòng)化成為現(xiàn)實(shí),利用計(jì)算機(jī)實(shí)現(xiàn)企業(yè)人事管理勢(shì)在必行。企業(yè)人事管理信息系統(tǒng)綜合運(yùn)用人事管理相關(guān)領(lǐng)域的知識(shí),結(jié)合計(jì)算機(jī)技術(shù),科學(xué)地管理企業(yè)的人事檔案、績(jī)效考核等信息,具有檢索迅速、操作方便、存儲(chǔ)量大、保密性高、成

3、本低等特點(diǎn),可以大大地提高工作效率;同時(shí),可以引導(dǎo)企業(yè)按照科學(xué)的管理理念對(duì)人力資源進(jìn)行規(guī)范化的管理。1.2 目標(biāo)本系統(tǒng)以一個(gè)中小型企業(yè)的人事管理業(yè)務(wù)為依托,結(jié)合人力資源管理理論,設(shè)計(jì)并開(kāi)發(fā)一個(gè)企業(yè)人事管理信息系統(tǒng),提供一個(gè)以人為本、科學(xué)合理的人事管理解決方案。針對(duì)企業(yè)不同管理層的職員,在人事管理的各個(gè)方面,提供了一個(gè)互動(dòng)式的人事管理平臺(tái)。系統(tǒng)目標(biāo)如下:(1) 尊重傳統(tǒng)的企業(yè)人事管理制度和文化, 滿足企業(yè)不同管理層的職員和企業(yè)普通職員對(duì)人事管理內(nèi)容的不同需求。(2) 通過(guò)人事管理系統(tǒng)的實(shí)現(xiàn),使企業(yè)的人事管理更加科學(xué)化。(3) 提供靈活、方便的操作。(4) 節(jié)約人事管理的成本,提高企業(yè)人事管理的效

4、率。(5) 對(duì)系統(tǒng)提供必要的權(quán)限管理。(6) 為企業(yè)實(shí)現(xiàn)整體信息化的其他相關(guān)系統(tǒng)提供必要的數(shù)據(jù)支持。二、需求分析系統(tǒng)需求在中小型企業(yè), 人事部門(mén)傳統(tǒng)的手工管理主要包括人事檔案管理、職員的考勤記錄、 考勤數(shù)據(jù)統(tǒng)計(jì)、績(jī)效考評(píng)以及原始工資核算。其中,考勤管理對(duì)實(shí)時(shí)性要求較高,工資管理涉及到財(cái)務(wù)部門(mén),而且業(yè)務(wù)比較復(fù)雜,在人事管理信息化的過(guò)程中,一般作為兩個(gè)單獨(dú)的系統(tǒng) 考勤管理系統(tǒng)和工資管理系統(tǒng)來(lái)實(shí)現(xiàn)(目前一般的財(cái)務(wù)系統(tǒng)也包含了工資管理的功能) 。本系統(tǒng)不包含考勤管理和工資管理的詳細(xì)業(yè)務(wù),只提供考勤信息的查詢(xún),為工資管理系統(tǒng)提供必要的數(shù)據(jù)支持。綜上所述,企業(yè)人事管理信息系統(tǒng)應(yīng)該滿足以下需求:(1) 業(yè)務(wù)

5、上滿足企業(yè)人事管理職能的基本需求,能夠方便地進(jìn)行部門(mén)管理、職員管理和考評(píng)管理。1(2) 為考勤管理系統(tǒng)和工資管理系統(tǒng)提供數(shù)據(jù)支持。(3) 與傳統(tǒng)的手工管理相比,要添加基礎(chǔ)數(shù)據(jù)的管理和用戶權(quán)限的設(shè)置。(4) 所有的界面都要有信息的瀏覽功能,同時(shí)要保障數(shù)據(jù)的安全、可靠。(5) 完善的報(bào)表功能,可以打印需要的報(bào)表。功能需求根據(jù)系統(tǒng)的需求分析,本系統(tǒng)的功能要求如下:1系統(tǒng)管理系統(tǒng)管理的功能是管理登錄系繞的用戶。進(jìn)行用戶權(quán)限設(shè)置,在權(quán)限范圍內(nèi)可以進(jìn)行用戶的添加、刪除和修改,包括用戶密碼和用戶權(quán)限的更改。2基礎(chǔ)數(shù)據(jù)管理基礎(chǔ)數(shù)據(jù)管理的功能是設(shè)置和管理職務(wù)、民族和文化程度數(shù)據(jù),用來(lái)使系統(tǒng)的其它界面的一些操作更

6、加方便。在權(quán)限范圍內(nèi)可以進(jìn)行基礎(chǔ)數(shù)據(jù)的添加、刪除和修改。3部門(mén)信息管理部門(mén)信息管理的功能是設(shè)置和管理部門(mén)信息。在權(quán)限范圍內(nèi)可以進(jìn)行數(shù)據(jù)的添加、刪除和修改。4, 職員信息管理職員信息管理的功能是設(shè)置和管理職員檔案信息,包括職員基本信息管理、家庭成員信息管理、工作教育經(jīng)歷信息管理。業(yè)務(wù)流程源于手工管理階段的人事檔案,同時(shí)可以生成職員詹息清單供打印。用戶在權(quán)限范圍內(nèi)可以進(jìn)行數(shù)據(jù)的添加、刪除和修改。5考勤信息查詢(xún)考勤信息查詢(xún)的功能是提供給用戶考勤統(tǒng)計(jì)值。 所有系統(tǒng)用戶均可以按照時(shí)間和部門(mén)查詢(xún)?nèi)靠记谛畔?,這樣使管理更加透明化。6考評(píng)信息管理考評(píng)信息管理的功能是進(jìn)行職員的工作績(jī)效考評(píng),同時(shí)將數(shù)據(jù)作為工資

7、管理系統(tǒng)的某些工資項(xiàng)目的計(jì)算依據(jù)。系統(tǒng)用戶在權(quán)限范圍內(nèi)可以進(jìn)行數(shù)據(jù)的添加、刪除和修改。7 幫助顯示系統(tǒng)的開(kāi)發(fā)版本和系統(tǒng)說(shuō)明信息。2.3 性能需求系統(tǒng)的運(yùn)行對(duì)運(yùn)行環(huán)境的要求:1 硬件環(huán)境處理器: Intel Pentium 4 3.06G或更高內(nèi)存: 512 MB( 推薦 )硬盤(pán)空間: 40 GB顯卡: SVGA 顯示適配器2 軟件環(huán)境操作系統(tǒng): Windows 2000/XP數(shù)據(jù)庫(kù): Microsoft SQL Server 2000三、總體設(shè)計(jì)3.1 系統(tǒng)概述本系統(tǒng)采用客戶機(jī)服務(wù)器的運(yùn)行方式,針對(duì)中小型企業(yè)的人事管理業(yè)務(wù),同時(shí)考慮到開(kāi)發(fā)成本和安全性的問(wèn)題,本系統(tǒng)設(shè)計(jì)成為一個(gè)相對(duì)封閉的單用戶運(yùn)

8、行系統(tǒng)。采用Visual Basic6,0作為開(kāi)發(fā)工具,采用 Microsoft SQL Server 2000作為后臺(tái)數(shù)據(jù)庫(kù),一般可以滿足中小企業(yè)人事管理業(yè)務(wù)的需求。系統(tǒng)的基本流程是:用戶登錄一系統(tǒng)主控平臺(tái)一選擇各項(xiàng)子系統(tǒng)。3.2 系統(tǒng)模塊“企業(yè)人事管理信息系統(tǒng)”主要分為登錄、系統(tǒng)管理、基礎(chǔ)數(shù)據(jù)管理、部門(mén)信息管理、職員信息管理、考勤信息查詢(xún)、考評(píng)信息管理和幫助信息,共8 個(gè)模塊。系統(tǒng)主模塊層次圖如圖2-1 所示:2企業(yè)人事管理信息系統(tǒng)登系基理詢(xún)?cè)儾柯毧伎紟弯浗y(tǒng)礎(chǔ)門(mén)工勤評(píng)助管信信信信信理息息息息息管管理理管查查圖 1 系統(tǒng)功能圖3.3 模塊設(shè)計(jì)1登錄模塊輸入用戶名和密碼,如果用戶名和密碼正確,

9、進(jìn)入主控制平臺(tái);否則提示用戶明確的錯(cuò)誤信息。2系統(tǒng)管理模塊(1) 用戶管理子模塊: 系統(tǒng)管理員進(jìn)行用戶權(quán)限設(shè)置和用戶的瀏覽, 可以更改用戶密碼和用戶權(quán)限;同時(shí),為保障系統(tǒng)健壯,進(jìn)行輸入檢驗(yàn),給予必要的信息提示。(2) 修改密碼子模塊:任何用戶登錄后都可以修改自己的密碼。3基礎(chǔ)數(shù)據(jù)管理模塊系統(tǒng)管理員瀏覽職務(wù)、民族和文化程度的編號(hào)和名稱(chēng),可以對(duì)這些信息進(jìn)行添加、刪除和修改,普通用戶不可以使用該功能。4部門(mén)信息管理模塊系統(tǒng)管理員和人力資源的主管可以進(jìn)行數(shù)據(jù)的添加、刪除和修改。普通用戶只能瀏覽信息。5職員信息管理模塊(1) 職員信息管理子模塊:可以設(shè)置和查看某個(gè)職員的家庭成員、工作教育經(jīng)歷,可以進(jìn)行條

10、件查詢(xún)。系統(tǒng)管理員和人力資源主管可以進(jìn)行數(shù)據(jù)的添加、刪除和修改,普通用戶可以修改自己的家庭成員、工作教育經(jīng)歷信息。(2) 報(bào)表子模塊:可提供職員基本信息、職員就職信息和職員通訊錄報(bào)表。6考勤信息查詢(xún)模塊該模塊使用考勤管理信息系統(tǒng)的數(shù)據(jù),所有用戶可以進(jìn)行條件查詢(xún),但提供更新考勤信息的功能。7考評(píng)信息管理模塊人力資源主管根據(jù)職貫的工作表現(xiàn)對(duì)數(shù)據(jù)進(jìn)行更新,其他用戶只能按照時(shí)間和姓名進(jìn)行查詢(xún)。8幫助信息模塊顯示系統(tǒng)的開(kāi)發(fā)版本和系統(tǒng)說(shuō)明信息?;A(chǔ)數(shù)據(jù)錄入基礎(chǔ)數(shù)據(jù)管理基礎(chǔ)數(shù)據(jù)入庫(kù)部門(mén)數(shù)據(jù)錄入部門(mén)數(shù)據(jù)管理部門(mén)數(shù)據(jù)入庫(kù)數(shù)據(jù)庫(kù)職工數(shù)據(jù)錄入職工信息管理職工數(shù)據(jù)入庫(kù)數(shù)據(jù)查詢(xún)考勤管理系統(tǒng)導(dǎo)入考勤數(shù)據(jù)考勤數(shù)據(jù)入庫(kù)考評(píng)數(shù)

11、據(jù)錄入考證信息管理考證數(shù)據(jù)入庫(kù)報(bào)表輸出圖 2系統(tǒng) IPO 圖3四、數(shù)據(jù)庫(kù)設(shè)計(jì)4.1 關(guān)于應(yīng)用程序和數(shù)據(jù)庫(kù)的接口本系統(tǒng)采用ODBC+ ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)。ODBC(Open Database Connectivity)是用于數(shù)據(jù)庫(kù)訪問(wèn)的、應(yīng)用最為廣泛的應(yīng)用程序編程接口,它允許應(yīng)用程序使用相同的代碼訪問(wèn)不同的數(shù)據(jù)庫(kù)管理系統(tǒng);VB 6.0中, ADODB對(duì)象 (Active Data Object)是一種提供訪問(wèn)各種數(shù)據(jù)庫(kù)的連接機(jī)制,它使用OLEDB數(shù)據(jù)支持提供一個(gè)面向?qū)ο蟮脑L問(wèn)數(shù)據(jù)源的接口,內(nèi)置了連接類(lèi)、命令類(lèi)和數(shù)據(jù)集類(lèi)。在 Visual Basic 6.0的工程中,選擇菜單“工程/ 引用”命令

12、, 彈出“引用工程” 對(duì)話框, 在對(duì)話框的 “可用的引用”中選擇“ Microsoft Active Data Object 2.7 Library”選項(xiàng),單擊“確定” 按鈕,這樣就在程序中加入了對(duì) ADO 的引用,如圖 3 所示。4.2 數(shù)據(jù)庫(kù)根據(jù)系統(tǒng)分析和模塊設(shè)計(jì), 本系統(tǒng)數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)如下:1數(shù)據(jù)庫(kù)(1) 數(shù)據(jù)庫(kù)名稱(chēng):人事信息庫(kù)。(2) 標(biāo)識(shí)(數(shù)據(jù)庫(kù)名) : DBMan2數(shù)據(jù)庫(kù)表結(jié)構(gòu)關(guān)系型如下:用戶(用戶名,密碼,用戶類(lèi)型)職務(wù)編碼 (職務(wù) ID ,職務(wù)名)民族編碼 (民族 ID ,民族名稱(chēng))文化程度編碼 (文化程度ID ,文化程度名稱(chēng))部門(mén)(部門(mén) ID,部門(mén)名稱(chēng),描述)圖 3

13、 “引用工程 ”對(duì)話框職工(職工 ID ,姓名,性別,出生日期,民族,政治面貌,婚姻狀況,部門(mén)號(hào),入職時(shí)間,文化程度,籍貫,身份證號(hào),電子郵箱,辦公電話,家庭電話,手機(jī)號(hào),身份性別,居住地址,郵政編碼,檔案編號(hào),戶口地,信息錄入員號(hào))家庭成員 (成員 ID ,職工 ID ,姓名,性別,出生日期,與職工關(guān)系,所在單位,聯(lián)系電話)職工經(jīng)歷 ( ID ,職工號(hào),開(kāi)始日期,結(jié)束日期,工作或就讀單位,職務(wù),學(xué)歷,經(jīng)因與獎(jiǎng)懲)考勤(年份,月份,職工號(hào),部門(mén)號(hào),全勤日數(shù),請(qǐng)假天數(shù),曠工天數(shù),申請(qǐng)休假天數(shù),出差天數(shù),遲到次數(shù),早退次數(shù),加班天數(shù),周末加班天數(shù),節(jié)假日加班天數(shù))考評(píng)(年份,月份,職工號(hào),工作難度

14、系數(shù),工作量記錄,工作評(píng)價(jià))家庭部門(mén)經(jīng)歷擁有屬于具有職工成為獲得接受用戶考評(píng)考勤圖 4系統(tǒng) E-R 圖4表 1表名:用戶信息表(標(biāo)識(shí):tbUser )。數(shù)據(jù)來(lái)源:用戶管理模塊的錄入。字段名主鍵否類(lèi)型長(zhǎng)度可空否備注LTserld是nChar(10)否用戶名UserPassword否nChar(8)否用戶密碼uSerKind否nVarchar(20)否用戶類(lèi)型 : 普通用戶 , 人力資源管理者, 系統(tǒng)管理員表 2表名:職務(wù)編碼信息表(標(biāo)識(shí):tbDuty )數(shù)據(jù)來(lái)源:基礎(chǔ)數(shù)據(jù)管理模塊的錄入。字段名是否主鍵字段類(lèi)型字段長(zhǎng)度可空否備注Dutyld是nchar10否職務(wù)編碼DutyName否nvarcha

15、r20否職務(wù)名稱(chēng)職工表 3表名:民族編碼信息表(標(biāo)識(shí):tbNation )數(shù)據(jù)來(lái)源:基礎(chǔ)數(shù)據(jù)管理模塊的錄入。字段名是否主鍵字段類(lèi)型字段長(zhǎng)度可空否備注Nationld是nchar3否民族編碼NationName否nvarchar20否民族名稱(chēng)表 4表名:文化程度編碼信息表(標(biāo)識(shí): tbEdu)數(shù)據(jù)來(lái)源:基礎(chǔ)數(shù)據(jù)管理模塊的錄入。字段名是否主鍵字段類(lèi)型字段長(zhǎng)度可空否備注Eduld是nchar2否文化程度編碼EduName否nvarchar20杳文化程度名稱(chēng)表 5表名:部門(mén)信息表(標(biāo)識(shí):tbDep )。數(shù)據(jù)來(lái)源:部門(mén)信息管理模塊的錄入。字段名是否主鍵字段類(lèi)型字段長(zhǎng)度可空空備注Depld是nchar10

16、否部門(mén)編號(hào)DepName否nvarchar30否部門(mén)名稱(chēng)Describe否nvarchai100是部門(mén)職能描述說(shuō)明:部門(mén)編號(hào)前兩位代表一級(jí)部門(mén),3.4 ,位代表二級(jí)部門(mén),5.6 位代表三級(jí)部門(mén), 7.8 位備用表 6 表名:職員家庭信息表(標(biāo)識(shí):tbFamilyMember )。數(shù)據(jù)來(lái)源:職員家庭信息管理模塊的錄入。字段名是否主鍵字段類(lèi)型字段長(zhǎng)度可空否備注Id是nchar10否家庭成員編號(hào)Empld否nchar10否職員編號(hào)Name否nvarchar30否家庭成員姓名Gender否nchar2是家庭成員性別Age否int4是家庭成員年齡Relationship否nvarchar20是與本人關(guān)系

17、WorkingOrg否nvarchar50是所在單位Tel否nvarchar20是聯(lián)系電話5表 7表名:職員基本信息表(標(biāo)識(shí):tbEmployee )數(shù)據(jù)來(lái)源:職員基本信息管理模塊的錄入。字段名是否主鍵字段類(lèi)型字段長(zhǎng)度可空否備注Empld是nchar10否職員編號(hào)EmpName否nvarchar10否職員姓名Gender否nchar2是性別Age否int4是年齡Nationld否nchar3是民族編號(hào)Birthday否datetime8是生日PoliticalParty否nvarchar10是政治面貌MaritalCon否nvarchar6是婚姻狀況Depld否nchar10是所在部門(mén)編號(hào)Hi

18、reDate否datetime8是人職時(shí)間Eduld否nchar2是文化程度編號(hào)FarrulyPlace否nvarchar20是籍貫IdCard否nvarchar20否身份證號(hào)Email否nvarchar20是電子郵箱Officephone否nvarchar20是辦公電話Homephone否nvarchar20是家庭電話Mobile否 rnvarcha20是手機(jī)號(hào)碼State否nvarchar20否人員身份Residence否nvarchar50是居住地址Postcode否nvarchar10是郵政編碼Dutyld否nchar10是職務(wù)編號(hào)Recorld否nchar10是檔案編號(hào)PRLocat

19、ion否varchar50是戶口所在地EmpldRecord否nchar10是信息錄入員編號(hào)說(shuō)明:人員身份分在職人員;兼職人員;試用人員;離職人員;返聘人員表 8表名:職員工作教育經(jīng)歷表(標(biāo)識(shí):tbWorkExp )。數(shù)據(jù)來(lái)源:職員工作傲育經(jīng)歷信息管理模塊的錄入。字段名是否主鍵字段類(lèi)型長(zhǎng)度可空否備注Id是nchar10否編號(hào)Empld否nchar10否職員編號(hào)StartDate否datetime8是開(kāi)始日期EndDate否datetime8是終止日期WorkOrg否nvarchar50是工作單位僦讀單位Position否nchar10是職務(wù)Eduld否nchar2是學(xué)歷WorkDescri否n

20、varchar300是工作描述獎(jiǎng)懲經(jīng)歷表 9表名:職員考勤信息表(標(biāo)識(shí):tbWorkRecord )。數(shù)據(jù)來(lái)源:考勤信息管理系統(tǒng)中的數(shù)據(jù)導(dǎo)入本系統(tǒng)。6字段名是否主鍵字段類(lèi)型字段長(zhǎng)度可空否備注RecordYear是nchar4否考勤年份RecordMonth是nchar2否考勤月份Empld是nchar8否職員編號(hào)Depld否nchar10是部門(mén)編號(hào)DaysPresiMonth否int4是當(dāng)月勤天數(shù)LeavdDays否int4是請(qǐng)假天數(shù)AbsentDays否int4是曠工天數(shù)VacDays否int4是申請(qǐng)休假天ErrandDays否int4是出差天數(shù)LateDays否int4是遲到天數(shù)Leave

21、EarlyDays否int4是早退天數(shù)OtlDays否int4是工作日加班天數(shù)Ot2Days否int4是周末加班天數(shù)Ot3Days否int4是節(jié)假日加班天數(shù)(10) 表名:職員考評(píng)信息表(見(jiàn)表2-10 )。標(biāo)識(shí): tbEvaluation 。數(shù)據(jù)來(lái)源:職員考評(píng)信息管理模塊的錄入。字段名是否主鍵字段類(lèi)型字段長(zhǎng)度可空否備注EvaYear是nchar4否考評(píng)年份EvaMonth是nchar2否考評(píng)月份Empld是nchar10否職員編號(hào)WorkCoe否int4是工作難度系數(shù)WorkDes否nvarchar400是工作量記錄WorkEva否nvarchar300是工作評(píng)價(jià)3,數(shù)據(jù)庫(kù)的建立在 SQLSe

22、rver 里創(chuàng)建數(shù)據(jù)庫(kù)有裉多種方法,這里采用soL 語(yǔ)句來(lái)創(chuàng)建數(shù)據(jù)庫(kù)。打開(kāi)soL Server的查詢(xún)分析器,選擇本地服務(wù)器,連接到soL Server數(shù)據(jù)庫(kù),登錄名和密碼均為sa 。將 SQL 語(yǔ)句復(fù)制在查詢(xún)分析器里,然后執(zhí)行soL 語(yǔ)句。 SQL 語(yǔ)句由如下兩層結(jié)構(gòu)構(gòu)成:(1) 創(chuàng)建新數(shù)據(jù)庫(kù)。CREATE DATABASE人事管理-建立 “人事管理 ”數(shù)據(jù)庫(kù)ON PRIMARY/* 主文件組 */( NAME = 'DBRS_DATA1' ,FILENAME ='g:SQLRSDATARS_DATA1.mdf',SIZE =3, MAXSIZE=200,FIl

23、EGROWTH= 500KB ),FILEGROUPDATA2/* 輔文件組 */( NAME ='JXGL_DATA2',FILENAME ='G:SQLRSDATARS_DATA2.ndf',SIZE =1, MAXSIZE= 100 , FILEGROWTH= 500KB )LOG ON/* 日志文件不在文件組中*/( NAME = 'JXGL_Log1' ,FILENAME = 'G:SQLRSRS_Log1.Ldf',SIZE = 1MB ,MAXSIZE= 100MB ,FILEGROWTH= 500KB )GO7CR

24、EATE TABLE dbo .userA (-建立 “用戶 ”表的結(jié)構(gòu)userIDnchar (10) NOT NULL ,UserPasswordnchar (8) NOT NULL ,UserKindnchar (20 ) NOT NULLCONSTRAINTPK_UserPRIMARY KEY (UserID )GOCREATE TABLE dbo . DutyCod(-建立 “職工編碼 ”表的結(jié)構(gòu)DutyIDnchar (10) NOT NULL ,DutyNamenchar (20) NOT NULL ,CONSTRAINTPK_DutyCodPRIMARYKEY (DutyID

25、)GOCREATE TABLE dbo . NationCod(-建立 “民族編碼 ”表的結(jié)構(gòu)NationIDnchar (10 ) NOT NULL ,NationNamenchar (20) NOT NULL ,CONSTRAINTPK_NationCodPRIMARYKEY(NationID )GOCREATE TABLE dbo . EduCod (-建立 “民族編碼 ”表的結(jié)構(gòu)EduIDnchar (10) NOT NULL ,EduNamenchar (20 ) NOT NULL ,CONSTRAINTPK_EduCodPRIMARYKEY (EduID )GOCREATE TAB

26、LE dbo . DepInfo (-建立 “部門(mén)信息 ”表的結(jié)構(gòu)DepIDnchar (10) NOT NULL ,DepNamenchar (20) NOT NULL ,Describe nvarchar (100 )CONSTRAINTPK_DepInfoPRIMARY KEY (DepID )GOCREATE TABLE dbo .tbEmployee(-6. 建立 “職工信息 ”表的結(jié)構(gòu)EmpId nchar (10) NOT NULL ,EmpNamenvarchar (20 )NOT NULL ,Sexnchar (2),NationNamechar (3),Birthdayda

27、tetime ,PoliticalPartyvarchar (20 ),MaritalConnchar (6),8Depldnchar (8),HireDatedatetime ,Eduldnchar (10),FarrulyPlacenvarchar (20),IdCard nvarchar (20),Email nvarchar (30 ),Officephonenvarchar (20),Homephonenvarchar (20),Mobile nvarchar (20),Statenvarchar (20 ),Residencenvarchar (50),Postcode nvarc

28、har (10 ),Dutynchar (12 ),Recorldnchar (10 ),PRLocationnvarchar (10)CONSTRAINTPK_tbEmployeePRIMARY KEY (EmpID )GOCREATETABLE dbo . tbFamilyMember(-7. 建立 “職工家庭信息 ”表的結(jié)構(gòu)MemberIDnchar (10 )NOT NULL ,EmpIDnchar (10)NOT NULL,Namenvarchar (20 ) NOT NULL ,Sexnchar (2)NOT NULL ,Ageint ,Relationshipnvarchar (

29、20),WorkingOrgnvarchar (50 ),Tel nvarchar (20 )CONSTRAINTPK_tbFamilyMemberPRIMARY KEY (MemberID )GOCREATETABLE dbo . tbWorkExp(-8. 建立 “職工經(jīng)歷 ”表的結(jié)構(gòu)Id nchar (10 )NOT NULL,Empldnchar (10)NOT NULL ,StartDatedatetime ,EndDatedatetime ,WorkOrgnvarchar (50),Positionnchar (10),Eduld nchar (2),orkDescrinvarch

30、ar (300 )CONSTRAINTPK_tbWorkExpPRIMARYKEY (ID )GO9CREATE TABLE dbo . tbWorkRecord(-9. 建立 “職工考勤 ”表的結(jié)構(gòu)RecordYearnchar (4)NOT NULL ,RecordMonthnchar (2)NOT NULL ,EmpIdnchar (10 )NOT NULL ,DepIdnchar (10 )NOT NULL ,DaysPresiMonthint ,LeavdDaysint ,AbsentDaysint ,VacDaysint ,ErrandDaysint ,LateDaysint ,L

31、eaveEarlyDaysint ,OtlDaysint,Ot2Daysint,Ot3DaysintCONSTRAINTPK_tbWorkRecordPRIMARY KEY (RecordYear , RecordMonth ,EmpId )GOCREATE TABLE dbo . tbEvaluation(-10. 建立 “職工考評(píng) ”表的結(jié)構(gòu)EvaYear nchar (4),EvaMonthnchar (2)NOT NULL ,EmpIdnchar (10 )NOT NULL ,WorkCoe int ,WorkDesnvarchar (400 ),WorkEva nvarchar (3

32、00 )CONSTRAINTPK_bEvaluationPRIMARY KEY (EvaYear , EvaMonth ,EmpId )GO五、關(guān)于程序設(shè)計(jì)的簡(jiǎn)要說(shuō)明對(duì)于程序設(shè)計(jì),總體要求程序結(jié)構(gòu)清晰,簡(jiǎn)單易懂;不隨便定義全局變量,盡量使用局部變量;禁止出現(xiàn) GOTO 、ELSE GOTO 和 ELSE RETURN 語(yǔ)句;禁止出現(xiàn)兩條等價(jià)的支路等。1窗體界面設(shè)計(jì)(1) 窗體界面要清晰,控件的設(shè)計(jì)要便于用戶使用。例如,能夠確定輸入值范圍的地方盡量使用下拉列表框,讓用戶選擇輸入而不要使用文本框;同時(shí)注意保持所有的界面風(fēng)格一致:(2) 本系統(tǒng)選用 DataGrid 控件來(lái)顯示數(shù)據(jù), 為了保證系統(tǒng)根

33、據(jù)不同的用戶提供靈活的操作并保證系統(tǒng)的安全性,不直接使用 DataGrid 來(lái)更新數(shù)據(jù),而選用 TextBox 。(3) 各個(gè)窗體的 BorderStyle 屬性均設(shè)置為 1- Fixed Single (即確定大小) 。2Option Explicit在書(shū)寫(xiě)所有模塊和窗體的任何函數(shù)代碼之前都要添加Option Explicit語(yǔ)句,用來(lái)強(qiáng)制要求使用Dim 、Private 、 Public 或 ReDim 語(yǔ)句顯式聲明該腳本中所使用的所有變量,使程序設(shè)計(jì)更加規(guī)范。3可重用性要求(1) 盡量使用小規(guī)模函數(shù),將功能復(fù)雜的大規(guī)模函數(shù)進(jìn)行分解。(2) 重復(fù)使用且完成相對(duì)獨(dú)立功能的代碼寫(xiě)成公共函數(shù)。1

34、0(3) 創(chuàng)建一個(gè)系統(tǒng)模塊,用來(lái)定義公共變量和書(shū)寫(xiě)公共函數(shù)。(4) 盡量使用標(biāo)準(zhǔn)庫(kù)函數(shù)和公共函數(shù)。4命名規(guī)則(1) 循環(huán)變量、開(kāi)關(guān)變量名稱(chēng)要盡可能的簡(jiǎn)單。(2) 常量、變量和函數(shù)名一般采用其英文表意單詞或其縮寫(xiě)。(3) 常量一般用大寫(xiě)字母, 變量名稱(chēng)如果由多個(gè)單詞組成, 則每個(gè)單詞的首字母大寫(xiě); 全局變量要在變量名最前面如英文字母 g 。(4) 控件命名使用控件類(lèi)型縮寫(xiě) +控件用途的命名方式。程序中涉及到的控件類(lèi)型縮寫(xiě)如下:控件類(lèi)型縮寫(xiě)控件類(lèi)型名控件類(lèi)型縮寫(xiě)控件類(lèi)型名cbo/ComboCombol30xDataEnvirnDataEnviromentchkCheckboxtrvTreeView

35、cmdCommandbuttontxtTextboxfrmFormst/StatusBarStatusBarmsfMSHFlexGrid/FlexGridrptDataReportdgDataGridpicPicturelblLabeloptOptionbuttonModuleModulemenuMenu5書(shū)寫(xiě)格式(1) 定義的代碼塊應(yīng)該放在一起,盡量不要在中間定義變量。(2) 對(duì)象的定義應(yīng)該盡可能地帶上所屬的庫(kù)名稱(chēng),例如,string 類(lèi)型變量一般前綴為str。(3) 縮進(jìn)。1) 變量聲明塊不縮進(jìn)。2) 對(duì)于基本的控制結(jié)構(gòu)要有縮進(jìn)。3) 對(duì)于過(guò)長(zhǎng)的語(yǔ)句使用續(xù)行。例如:。 sql = sql

36、+ " from XXXXXX"6容錯(cuò)處理對(duì)于所有的更新操作,在更新數(shù)據(jù)庫(kù)前都要進(jìn)行輸入值的合法性檢驗(yàn),包括輸入數(shù)值類(lèi)型、長(zhǎng)度等的檢驗(yàn),以免更新數(shù)據(jù)庫(kù)時(shí)在業(yè)務(wù)上和數(shù)據(jù)庫(kù)處理上發(fā)生不必要的錯(cuò)誤;對(duì)于錯(cuò)誤的輸入,給予信息提示并改變背景色,用來(lái)明確地向用戶提示錯(cuò)誤輸入的位置;當(dāng)控件內(nèi)容改變時(shí),背景恢復(fù)原色。7添加注釋添加注釋是程序可讀性的一個(gè)基本要求,但不宜過(guò)多,但要針對(duì)程序,使別人能夠輕而易舉地讀懂程序。一般在典型和特殊算法前都要有注釋。注釋的作用范圍可以為:定義、引用、條件分支和一段代碼。對(duì)于顯而易見(jiàn)的參數(shù)或函數(shù)功能一般不加注釋。8程序設(shè)計(jì)部分書(shū)寫(xiě)說(shuō)明一些事件和函數(shù)的程序設(shè)計(jì)

37、同本系統(tǒng)其他模塊類(lèi)似, 且處理比較簡(jiǎn)單, 在程序設(shè)計(jì)部分的書(shū)寫(xiě)省略其實(shí)現(xiàn)代碼;模塊的窗體公共變量若無(wú)特殊要求,書(shū)寫(xiě)時(shí)均省略。六、詳細(xì)設(shè)計(jì)6.1 系統(tǒng)項(xiàng)目文件和公共文件系統(tǒng)模塊中定義一些公共變量和公共函數(shù),減少整個(gè)程序的代碼量并簡(jiǎn)化程序的修改工作。系統(tǒng)模塊中包括Main 函數(shù)。系統(tǒng)模塊的實(shí)現(xiàn)如下:1主體框架新建一個(gè)VB 的標(biāo)準(zhǔn) EXE 工程,建立系統(tǒng)的主體框架。2添加模塊添加模塊,并將其命名為ModulePeople-bas113系統(tǒng)公共變量定義:表 11 系統(tǒng)公共變量定義變量名稱(chēng)變量類(lèi)型說(shuō)明gUserNameString用戶名,用來(lái)顯示狀態(tài)信息gUserKindString用戶類(lèi)型,用來(lái)設(shè)定用

38、戶權(quán)限gEmployeeldString職員編號(hào)gLoginSucceededBoolean登錄成功的標(biāo)志BLUEConst (常量)值為: &HFFOOOOO,藍(lán)色WHITEConst (常量)值為: &H80000005,白色4Main 函數(shù)系統(tǒng)啟動(dòng)函數(shù)。處理流程:以對(duì)話框模式啟動(dòng)登錄窗體,如果啟動(dòng)失敗,給出提示信息。Sub Main()Dim fLogin As New frmLogin,啟動(dòng)登錄窗體fLogin. Show vbModal,裝入并顯示模式窗體If Not gLoginSucceeded ThenMsgBox”系統(tǒng)啟動(dòng)失敗,請(qǐng)重試!”, vbOKOnly+

39、vbExclamation,”警告 ”End IfUnload fLoginEnd Sub5ConnectString函數(shù)設(shè)置數(shù)據(jù)庫(kù)連接字符串函數(shù),本函數(shù)無(wú)參數(shù),返回值為數(shù)據(jù)庫(kù)連接字符串(本系統(tǒng)數(shù)據(jù)庫(kù)用戶名和密碼設(shè)置為sa) 。Public Function ConnectString() As StringConnectString=”FileDSN= DBMan_ODBC ; UID= sa; PWD=sa”End Function6ExecuteSQL函數(shù)設(shè)置 SQL 語(yǔ)句的執(zhí)行函數(shù),參數(shù)為將要執(zhí)行的SQL 語(yǔ)句, ADO 數(shù)據(jù)集 rst 和是否允許數(shù)據(jù)集更新的布爾型變量。處理流程:創(chuàng)建

40、到數(shù)據(jù)源的連接,根據(jù)布爾型變量的實(shí)參值,確定執(zhí)行SQL 語(yǔ)句的方式并執(zhí)行SQL 語(yǔ)句。如果SQL 語(yǔ)句成功執(zhí)行,返回值為true ,結(jié)果存儲(chǔ)于與形參數(shù)據(jù)集rst 相對(duì)應(yīng)的實(shí)參數(shù)據(jù)集內(nèi);否則,返回值為false 。Public Function ExecuteSQL(ByVal SQL As String,rst As ADODB.Recordset,_Optional enableWrite As Boolean=True) As Boolean,Dim con As ADODB.ConnectionOn Error GoTo Execute ErrorSet con=New ADODB.Co

41、nnectioncon.Open ConnectString打開(kāi)數(shù)據(jù)庫(kù)Set rst=New ADODB.Recordset?定義數(shù)據(jù)集If enableWrite Then?讀寫(xiě)方式rst.Open Trim$(SQL) ,con,adOpenStatic,adLockOptimistic連接,靜態(tài)游標(biāo),共享鎖Else?只讀方式rst.Open Trim$ csoL) ,con,adOpenStatic.adLockReadOnlv連接,靜態(tài)游標(biāo),獨(dú)占鎖End IfExecutesoL =Truecon. Close關(guān)閉數(shù)據(jù)庫(kù)Exit FunctionExecute Error:12Exec

42、uteSQL=FalseExit FunctionEnd Function7DBExist函數(shù)判斷數(shù)據(jù)庫(kù)中是否存在指定記錄,參數(shù)為將要執(zhí)行的SQL 語(yǔ)句。處理流程:創(chuàng)建到數(shù)據(jù)源的連接,執(zhí)行SQL 語(yǔ)句(不允許數(shù)據(jù)集更新),檢索記錄。如果存在指定記錄,返回記錄數(shù);否則,返回值為0 。Public Function DBExist(ByVal soL As String) As IntegerDim con As ADODB.ConnectionDim flag As StringDim rst As ADODB.RecordsetSet con=New ADODB.Connectioncon.(

43、)pen ConnectString打開(kāi)數(shù)據(jù)庫(kù)flag=ExecuteSQL(SQL,rst,False)?執(zhí)行 soL 語(yǔ)句If rst .RecordCount<>0 Then,?判斷該記錄是否存在DBExist=rst.RecordGountElseDBExist=0End Ifcon Close?關(guān)閉數(shù)據(jù)庫(kù)End Function8 txtlsNull 函數(shù)判斷輸入到TextBox 的內(nèi)容是否為空,參數(shù)為T(mén)extBox 實(shí)例。處理流程:如果TextBox 文本為空,返回值為T(mén)rue ,否則,返回值為false ,并設(shè)置該TextBox 獲得焦點(diǎn),背景色設(shè)置為深藍(lán)色。Publ

44、ic Function txtlsNull(txt As TextBox) As BooleanIf Trim(txt.Text)=” ThentxtIsNull=Truetxt.SetFocustxt.BackColor=BLUEElsetxtIsNull=FalseEnd IfEnd Function9 lsOverStringLen函數(shù)判斷輸入內(nèi)容是否超過(guò)給定值,參數(shù)為需要處理的字符串和給定長(zhǎng)度值。處理流程:判斷字符串長(zhǎng)度不超過(guò)給定值時(shí)返回值為 True ,否則,返回值為 false 。 Public Function IsOverStringLen(ByVal str As Strin

45、g,lenthText As Integer) As Boolean If Len (Trim(str)>lenthText ThenIsOverStringLen=TrueElseIsOverStringLen=FalseEnd IfEnd Function10. viewData函數(shù)在 Datagrid 中顯示數(shù)據(jù),參數(shù)為SQL 語(yǔ)句和將要顯示數(shù)據(jù)的Datagrid 。13處理流程:執(zhí)行SQL 語(yǔ)句,當(dāng)檢索到的記錄數(shù)不為0 時(shí),將相應(yīng)的數(shù)據(jù)集設(shè)置為Datagrid 的數(shù)據(jù)源,并返回記錄數(shù);否則給出提示信息“還沒(méi)有數(shù)據(jù)!”,返回 0 。Public Function viewData(

46、ByVal txtsoL As String,dgAll As DataGrid) As IntegerDim rst Data As ADODB.RecordsetDim result As Stringresult=ExecuteSQL(txtSQL,rstData,False)檢索需要的信息If rstData.RecordCount<>0 Then,設(shè)置 Datagrid的數(shù)據(jù)源Set dgAll.DataSource=rstDataviewData=rstData.RecordCountElseMsgBox”還沒(méi)有數(shù)據(jù) !” vbOKOnly+vbExclamation,

47、”警告 ”viewData=0End IfEnd Function11. ISEqueILen函數(shù)判斷輸入到TextBox 的內(nèi)容長(zhǎng)度是否為給定值,參數(shù)為T(mén)extBox 實(shí)例和給定長(zhǎng)度值。處理流程:如果TextBox 文本內(nèi)容長(zhǎng)度為給定值,返回值為T(mén)rue; 否則,返回值為false ,并設(shè)置該TextBox 獲得焦點(diǎn),背景色變?yōu)樯钏{(lán)色。Public Function ISEquelLen(ByVal txt As TextBox,intlen As Integer) As BooleanIf Len(txt.Text)<>intlen Thentxt, SetFocustxt.BackColor=BLUEISEquelLen=FalseElseISEquelLen=TrueEnd IfEnd

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論