人事管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)_第1頁(yè)
人事管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)_第2頁(yè)
人事管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)_第3頁(yè)
人事管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)_第4頁(yè)
人事管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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)介

PAGE人事管理系統(tǒng)畢業(yè)設(shè)計(jì)(論文)分院:學(xué)生姓名:專業(yè):班級(jí):學(xué)號(hào):指導(dǎo)教師:摘要人力資源管理系統(tǒng)、考勤考評(píng)管理系統(tǒng)和工資管理系統(tǒng)彼此分離,但是這個(gè)三個(gè)系統(tǒng)又彼此相互聯(lián)系,彼此有很多數(shù)據(jù)交換,由于重復(fù),數(shù)據(jù)又有很多冗余。在辦理人事變動(dòng),薪資結(jié)算等事物的時(shí)候往往需要重復(fù)輸入數(shù)據(jù),有時(shí)甚至必須通過(guò)報(bào)表的轉(zhuǎn)移數(shù)據(jù)。而且彼此分離的系統(tǒng)很難保證各類數(shù)據(jù)的一致性,常常出現(xiàn)彼此沖突的現(xiàn)象。于是迫切要求一個(gè)同時(shí)包含人事管理、考勤考評(píng)和薪資結(jié)算完整統(tǒng)一的綜合性管理系統(tǒng)?!娟P(guān)鍵字】:人事信息管理、考勤管理、工資管理目錄TOC\o"1-3"\u1引言 11.2管理信息系統(tǒng)概述 11.2.1管理信息系統(tǒng)的概念 11.2.2管理信息系統(tǒng)的內(nèi)容與作用 21.2.3管理信息系統(tǒng)的國(guó)內(nèi)外現(xiàn)狀 31.3本課題預(yù)期效果和意義 42系統(tǒng)分析 52.1問(wèn)題的定義 52.2可行性分析 52.2.1系統(tǒng)問(wèn)題可行性分析 52.2.2經(jīng)濟(jì)可行性分析 92.2.3技術(shù)可行性分析 92.2.4社會(huì)可行性 92.3需求分析 102.3.1功能要求 102.3.2性能要求 112.3.3運(yùn)行環(huán)境要求 113系統(tǒng)設(shè)計(jì) 113.1總體設(shè)計(jì) 113.2詳細(xì)設(shè)計(jì) 123.2.1數(shù)據(jù)庫(kù)設(shè)計(jì) 123.2.2系統(tǒng)操作流程圖 134系統(tǒng)實(shí)現(xiàn) 144.1相關(guān)技術(shù)介紹 144.1.1VisualC++訪問(wèn)數(shù)據(jù)庫(kù)技術(shù) 144.2系統(tǒng)實(shí)現(xiàn) 144.2.1創(chuàng)建工程和主界面設(shè)計(jì) 164.2.2創(chuàng)建ADO類及實(shí)現(xiàn)函數(shù) 154.2.3為數(shù)據(jù)表建立相關(guān)類 165維護(hù) 28結(jié)論 29致謝 29參考文獻(xiàn) 30-PAGE1-人事管理系統(tǒng)1引言 基于對(duì)現(xiàn)代社會(huì)市場(chǎng)經(jīng)濟(jì)的需求,為了提高公司的辦事效率,利用計(jì)算機(jī)支持企業(yè)高效率完成勞動(dòng)人事管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動(dòng)企業(yè)勞動(dòng)人事管理走向科學(xué)化、規(guī)范化的必要條件;計(jì)算機(jī)管理所無(wú)法比擬的優(yōu)點(diǎn)檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。不同的企業(yè)具有不同的人事管理制度,這就決定了不同的企業(yè)需要不同的人事管理系統(tǒng)[13]。公司原有的人力資源管理系統(tǒng)、考勤考評(píng)管理系統(tǒng)和工資管理系統(tǒng)彼此分離,但是這個(gè)三個(gè)系統(tǒng)又彼此相互聯(lián)系,彼此有很多數(shù)據(jù)交換,由于重復(fù),數(shù)據(jù)又有很多冗余。我認(rèn)為一個(gè)好的人事管理系統(tǒng),可以大大縮短人們的辦事時(shí)間,是提高辦事效率的途徑,人事管理系統(tǒng)是管理人事質(zhì)量,通過(guò)統(tǒng)一的規(guī)劃,統(tǒng)一的標(biāo)準(zhǔn),統(tǒng)一的流程,將原有的縱向信息系統(tǒng)整合成平臺(tái)系統(tǒng),保證公司的產(chǎn)業(yè)保障數(shù)據(jù)分析。并且,減少重復(fù)投資,減少成本建設(shè),減少服務(wù)成本。2.1問(wèn)題的定義

設(shè)計(jì)一個(gè)企業(yè)人事信息管理系統(tǒng),此系統(tǒng)要以人為中心,為企業(yè)提供全面的人事管理解決方案。具體目標(biāo):1.覆蓋所有需要計(jì)算機(jī)處理的業(yè)務(wù);2.功能齊全;3.數(shù)據(jù)共享;4.信息傳遞方便、快捷;5.確保規(guī)范化、實(shí)時(shí)互動(dòng)化人事管理機(jī)制;

6.提高企業(yè)人事管理的效率、節(jié)約相關(guān)的管理成本,增強(qiáng)人事管理的安全性;

7.滿足企業(yè)管理層,人事業(yè)務(wù)操作層和全體員工的不同層次和不同方面的需要;

8.對(duì)企業(yè)將來(lái)的整體信息化建設(shè)提供必要的支持。2.2可行性分析可行性分析是在進(jìn)行初步調(diào)查后所進(jìn)行的對(duì)系統(tǒng)開發(fā)必要性和可能性的研究,所以也稱為可行性研究。信息系統(tǒng)也應(yīng)從系統(tǒng)問(wèn)題可行性,技術(shù)可行性,經(jīng)濟(jì)可行性和社會(huì)可行性三方面來(lái)論證。通過(guò)長(zhǎng)時(shí)間的觀察與實(shí)踐,對(duì)人事管理系統(tǒng)的可行性分析如下:2.2.1系統(tǒng)問(wèn)題可行性分析人事管理系統(tǒng)的設(shè)計(jì)是公司改進(jìn)原有管理軟件,是公司管理規(guī)范化,信息化,與世界先進(jìn)管理方式接軌的要求。是減輕管理人員的工作量,提高管理人員的工作效率,從而降低生產(chǎn)成本,提高公司效益的必要措施。同時(shí)一個(gè)安全穩(wěn)定的管理系統(tǒng)可以避免很多的數(shù)據(jù)錯(cuò)誤,減少很多的重復(fù)勞動(dòng)以及其他的更為嚴(yán)重的后果。建立一個(gè)功能強(qiáng)大的人力資源管理、工資管理和考勤考評(píng)管理一體化的管理系統(tǒng)的是公司的客觀要求。本系統(tǒng)在開發(fā)前,與公司的領(lǐng)導(dǎo)和有關(guān)的操作人員密切溝通,認(rèn)真聽取他們的意見,并吸收他們的積極觀點(diǎn),使本系統(tǒng)的開發(fā)在相當(dāng)大的程度上具有一定的先進(jìn)性和合理性。2.2.2經(jīng)濟(jì)可行性分析費(fèi)用主要考慮兩個(gè)方面的費(fèi)用,一方面是支出的費(fèi)用,其中包括設(shè)備購(gòu)置費(fèi),軟件開發(fā)費(fèi),管理和維護(hù)費(fèi),人員工資和培訓(xùn)費(fèi)等。另一方面是取得的收益中可以用錢來(lái)衡量的那部分(收益的另一部分難以用錢來(lái)表示)。原有設(shè)備已經(jīng)可以滿足新系統(tǒng)的硬件要求,不必購(gòu)買新的設(shè)備?;谄髽I(yè)的現(xiàn)有計(jì)算機(jī)及配套設(shè)備,建設(shè)MIS系統(tǒng),但能大大減少重復(fù)性的書面報(bào)告,降低辦公費(fèi)用,提高辦公室效率,且能提高檢測(cè)數(shù)據(jù)效用,為企業(yè)提供很方便。由于企業(yè)人事管理系統(tǒng)是一個(gè)較小型的系統(tǒng),所以從人力、物力、財(cái)力方面來(lái)說(shuō)都是可行的,經(jīng)濟(jì)可行性是顯然的。2.2.3技術(shù)可行性分析技術(shù)上的可行性分析主要分析現(xiàn)有技術(shù)條件能否順利完成開發(fā)工作,硬件、軟件配置能否滿足開發(fā)者的需要,各類技術(shù)人員的數(shù)量,水平,來(lái)源等。本系統(tǒng)的功能主要是完成公司的人事管理,考勤考評(píng)管理和工資管理。這一特點(diǎn)非常適合計(jì)算機(jī)特點(diǎn),通過(guò)現(xiàn)代數(shù)據(jù)庫(kù)技術(shù),發(fā)揮計(jì)算機(jī)的信息傳輸速度快、準(zhǔn)確度高的優(yōu)勢(shì)。計(jì)算機(jī)硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建設(shè)提供了技術(shù)條件。依據(jù)現(xiàn)有的技術(shù)和以往的經(jīng)驗(yàn),完全可以實(shí)現(xiàn)系統(tǒng)的要求,滿足技術(shù)可行性要求。2.3需求分析數(shù)據(jù)流圖圖2.1數(shù)據(jù)流圖第一層人事管理人人事管理人員1.1錄入信息分類1.4員工基本、家庭、經(jīng)歷信息更新3員工信息查詢與修改4.1工資結(jié)算,生成工資表4.2打印工資清單1.3考勤信息錄入2考評(píng)信息錄入1.2工資參數(shù)設(shè)置考勤考評(píng)信息工資參數(shù)信息考勤信息工資參數(shù)信息事務(wù)考勤信息工資參數(shù)員工個(gè)人信息工資參數(shù)考勤考評(píng)信息工資數(shù)據(jù)員工個(gè)人信息員工信息上級(jí)部門事務(wù)員工工資單據(jù)事務(wù)1234工資清單財(cái)務(wù)處工資數(shù)據(jù)工資數(shù)據(jù)個(gè)人信息為了描述以上數(shù)據(jù)流圖,給出以下數(shù)據(jù)字典: 1、數(shù)據(jù)流表2.1員工信息數(shù)據(jù)流數(shù)據(jù)流名:?jiǎn)T工信息別名:?jiǎn)T工各項(xiàng)屬性組成:?jiǎn)T工編號(hào)+姓名+籍貫+民族+出生日期+畢業(yè)院校+教育程度+身份證號(hào)+政治面貌+健康狀況+婚姻狀況+聯(lián)系方式+工作經(jīng)歷(數(shù)據(jù)流)+家庭信息(數(shù)據(jù)流)+考評(píng)信息(數(shù)據(jù)流)+獎(jiǎng)罰信息(數(shù)據(jù)流)+考勤信息(數(shù)據(jù)流)薪水信息(數(shù)據(jù)流)備注:組成元素中有其他數(shù)據(jù)流存在,在下面說(shuō)明表2.2考勤信息數(shù)據(jù)流數(shù)據(jù)流名:考勤信息別名:?jiǎn)T工考勤記錄組成:?jiǎn)T工編號(hào)+姓名+所屬部門+加班天數(shù)+曠工天數(shù)+出差天數(shù)+遲到天數(shù)+早退天數(shù)+年月日備注:此為進(jìn)行工資計(jì)算的基本數(shù)據(jù)流表2.3員工個(gè)人信息數(shù)據(jù)流數(shù)據(jù)流名:?jiǎn)T工個(gè)人信息別名:為統(tǒng)計(jì)而需要得到的員工各項(xiàng)信息組成:?jiǎn)T工編號(hào)+姓名+籍貫+民族+出生日期+畢業(yè)院校+教育程度+身份證號(hào)+政治面貌+健康狀況+婚姻狀況+聯(lián)系方式+工作經(jīng)歷(數(shù)據(jù)流)+家庭信息(數(shù)據(jù)流)備注:此為人事部門統(tǒng)計(jì)所需要的數(shù)據(jù)流表2.4工資參數(shù)數(shù)據(jù)流數(shù)據(jù)流名:工資參數(shù)別名:計(jì)算工資需要的各項(xiàng)參數(shù)信息組成:工資稅率+工資項(xiàng)目+考勤獎(jiǎng)懲金設(shè)置備注:此為工資結(jié)算必需的數(shù)據(jù)流表2.5工資單據(jù)數(shù)據(jù)流數(shù)據(jù)流名:工資結(jié)算結(jié)果別名:根據(jù)計(jì)算公式計(jì)算出的員工薪水組成:?jiǎn)T工編號(hào)+姓名+所屬部門+加班獎(jiǎng)勵(lì)+缺席扣除+出差補(bǔ)貼+基本工資+實(shí)際工資+年月備注:此數(shù)據(jù)流為財(cái)務(wù)部門提供員工薪水發(fā)放信息表2.6考評(píng)信息數(shù)據(jù)流數(shù)據(jù)流名:考評(píng)信息別名:?jiǎn)T工業(yè)績(jī)?cè)u(píng)價(jià)和受到的獎(jiǎng)勵(lì)及處分信息組成:?jiǎn)T工編號(hào)+姓名+{獎(jiǎng)罰內(nèi)容+獎(jiǎng)罰金額}+年月備注:讓公司更了解員工的工作態(tài)度及表現(xiàn)2、數(shù)據(jù)文件表2.7員工數(shù)據(jù)表數(shù)據(jù)文件文件名:?jiǎn)T工數(shù)據(jù)表別名:?jiǎn)T工各項(xiàng)數(shù)據(jù)的合集組成:?jiǎn)T工編號(hào)+姓名+籍貫+民族+出生日期+畢業(yè)院校+教育程度+身份證號(hào)+政治面貌+健康狀況+婚姻狀況+聯(lián)系方式+工作經(jīng)歷(表)+家庭信息(表)組織:按員工編號(hào)自小到大排序備注:?jiǎn)T工各項(xiàng)信息包括多個(gè)相關(guān)聯(lián)的表表2.8考勤表數(shù)據(jù)文件文件名:考勤表別名:?jiǎn)T工考勤信息表組成:?jiǎn)T工編號(hào)+姓名+所屬部門+加班天數(shù)+放假天數(shù)+出差天數(shù)+早退天數(shù)+遲到天數(shù)+曠工天數(shù)+年月日組織:按年月日,部門,員工編號(hào)從小到大排列備注:為工資計(jì)算和綜合信息統(tǒng)計(jì)提供數(shù)據(jù)3、數(shù)據(jù)項(xiàng)表2.9員工編號(hào)數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)名:?jiǎn)T工編號(hào)別名:?jiǎn)T工在公司的編號(hào)取值:正整數(shù)備注:此數(shù)據(jù)項(xiàng)作為很多表之間連接的主鍵。表2.10所屬部門數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)名:所屬部門別名:?jiǎn)T工所在部門取值:字符串備注:取值根據(jù)公司具體部門決定2.3.1功能要求1.系統(tǒng)管理。用戶分為管理人員用戶和普通員工用戶。不同用戶的權(quán)限管理,以及用戶信息修改等。2.員工信息管理。包括實(shí)現(xiàn)人員的瀏覽,人員的添加,人員的調(diào)離,員工的家庭信息管理,員工的教育及工作經(jīng)歷管理。3.員工薪資結(jié)算。工資參數(shù)設(shè)定,工資項(xiàng)目的設(shè)定與刪除,工資調(diào)整,稅率設(shè)定,設(shè)定工資計(jì)算公式,根據(jù)考勤統(tǒng)計(jì)和考評(píng)統(tǒng)計(jì)計(jì)算工資并生成工資單表格。4.員工考勤管理。包括日出勤情況統(tǒng)計(jì)和月出勤情況統(tǒng)計(jì)。5.員工考評(píng)管理。由上級(jí)部門對(duì)員工當(dāng)月情況進(jìn)行評(píng)定,并設(shè)置相對(duì)應(yīng)的獎(jiǎng)金與罰金與獎(jiǎng)懲的原因。6.部門管理。包括部門的瀏覽,部門的添加,刪除。2.3.2性能要求1.整體結(jié)構(gòu)合理,統(tǒng)一,風(fēng)格一致,模塊化結(jié)構(gòu),界面清晰,接口靈活。2.開發(fā)方法,文檔規(guī)范化,便于管理,易于可擴(kuò)充。3.完善的數(shù)據(jù)輸入,輸出,維護(hù)。4.自檢性能高,用戶誤輸、錯(cuò)輸均有提示。5.容錯(cuò)性能高,穩(wěn)定性好,安全性強(qiáng),某個(gè)用戶的操作錯(cuò)誤不會(huì)引起整個(gè)系統(tǒng)的癱瘓,每一功能的操作都有信息提示以免重復(fù)操作,錯(cuò)誤操作有警告,以便用戶及時(shí)改正。 6.系統(tǒng)操作簡(jiǎn)便、靈活,管理和維護(hù)效率高。2.3.3運(yùn)行環(huán)境要求硬件要求:處理器:IntelPentinm166MX或更高內(nèi)存:32M硬盤空間:30GB顯卡:SVGA顯示適配器軟件環(huán)境:操作系統(tǒng):Windows98或更高數(shù)據(jù)庫(kù):SQLserver20003.1總體設(shè)計(jì)設(shè)定方案:管理人員對(duì)新招聘來(lái)的員工進(jìn)行基本資料的錄入,對(duì)離廠的人員進(jìn)行刪除,對(duì)在職員工可以進(jìn)行各個(gè)方面信息進(jìn)行綜合管理,并對(duì)某些數(shù)據(jù)信息進(jìn)行數(shù)據(jù)分析,并形成相關(guān)信息報(bào)表。系統(tǒng)實(shí)現(xiàn)了模塊化,把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集總起來(lái)組成一個(gè)整體,可以完成指定的功能滿足用戶的要求。采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計(jì)也容易閱讀和理解。因?yàn)槌绦蝈e(cuò)誤通常局限在有關(guān)的模塊及它們之間的接口中,所以模塊化使軟件容易測(cè)試和調(diào)試,因而有助于提高軟件的可靠性。因?yàn)樽儎?dòng)往往只涉及少數(shù)幾個(gè)模塊,所以模塊化能夠提高軟件的可修改性。信息隱蔽使得一個(gè)模塊內(nèi)包含的信息(過(guò)程和數(shù)據(jù))對(duì)于不需要這些信息的模塊來(lái)說(shuō),是不能訪問(wèn)的。通過(guò)實(shí)際的需求分析,本系統(tǒng)管理員分為高級(jí)管理員和一般操作員兩個(gè)權(quán)限。管理員對(duì)員工的操作信息存于數(shù)據(jù)庫(kù)中。系統(tǒng)主要分為七大功能模塊:系統(tǒng)管理模塊完成系統(tǒng)的用戶管理和密碼修改功能;員工信息管理模塊完成員工基本信息、員工學(xué)習(xí)及工作經(jīng)歷、員工家庭信息的添加、刪除、修改、查詢等;部門管理模塊實(shí)現(xiàn)部門添加、刪除、修改、查詢等;工資管理模塊實(shí)現(xiàn)修改工資項(xiàng)目、稅率、創(chuàng)建工資表、工資結(jié)算等功能;考勤統(tǒng)計(jì)管理模塊完成員工出勤的日統(tǒng)計(jì)功能和月統(tǒng)計(jì)功能;考評(píng)管理模塊完成對(duì)員工一個(gè)月工作業(yè)績(jī)的評(píng)定功能;系統(tǒng)介紹模塊用一個(gè)powerpoint完成系統(tǒng)功能的詳細(xì)介紹。3.2.1數(shù)據(jù)庫(kù)設(shè)計(jì)經(jīng)過(guò)對(duì)數(shù)據(jù)流圖的認(rèn)真研究,結(jié)合公司的最實(shí)際的情況,以及與管理人員的溝通與交流,深入分析各實(shí)體之間的關(guān)系:表3.1部門表列名數(shù)據(jù)類型長(zhǎng)度是否允許空Dep_Idint4否(主鍵)Dep_Namevarchar40否Describevarchar400是UpperIdint4否表3.2員工教育及工作經(jīng)歷記錄表列名數(shù)據(jù)類型長(zhǎng)度是否允許空Idtinyint1否(主鍵)Emp_Idint4否Start_Datechar10是End_Datechar10是School\Orgvarchar50是Titlevarchar20是表3.3員工家庭信息表列名數(shù)據(jù)類型長(zhǎng)度是否允許空Idint1否(主鍵)Emp_Idint4否Namevarchar400否Sexchar2是Agetinyint1是Relationshipvarchar20是WorkingOrgvarchar40是表3.4員工基本信息表列名數(shù)據(jù)類型長(zhǎng)度是否允許空Emp_Idint4否(主鍵)Emp_Namevarchar40否Sexchar2是Ntionalityvarchar40是Birthvarchar20是Political_Partyvarchar40是Culture_Levelvarchar40是Martial_Conditionvarchar20是Id_Cardvarchar20是BadgeIdvarchar40是Office_Phonevarchar30是Mobilevarchar20是Family_Placevarchar100是HuKouvarchar100是HireDatevarchar20是Dep_Idint4是PositionVarchar40是Titlevarchar20是Statetinyint1是UpperIdint4是Contract_Durationvarchar20是Memovarchar200是Fillin_Personvarchar30是Fillin_Timevarchar20是表3.5員工考評(píng)表列名數(shù)據(jù)類型長(zhǎng)度是否允許空EvaMonthchar10否Emp_Idint4否ztEvavarchar200是jlReasonvarchar200是jlAmountsmallint2是cfReasonvarchar200是cfAmountsmallint2是Memovarchar200是表3.6員工考勤表列名數(shù)據(jù)類型長(zhǎng)度是否允許空CheckDatechar10否Emp_Idint4否qqDaysdecimal5是ccDaysdecimal5是bjDaysdecimal5是sjDaysdecimal5是kgDaysdecimal5是fdxjDaysdecimal5是nxjDaysdecimal5是dxjDaysdecimal5是cdMinutestinyint1是ztMinutestinyint1是Ot1Daysdecimal5是Ot2Daysdecimal5是Ot3Daysdecimal5是Memovarchar200是表3.7用戶信息表列名數(shù)據(jù)類型長(zhǎng)度是否允許空UserNamevarchar40否(主鍵)Pwdvarchar40否User_Typetinyint1否表3.8基本工資表列名數(shù)據(jù)類型長(zhǎng)度是否允許空Idint4否(主鍵)EmpIdint4否CreateDatevarchar20是OldSalaryint4是NesSalaryint4是Reasonvarchar200是表3.9工資項(xiàng)目表列名數(shù)據(jù)類型長(zhǎng)度是否允許空ItemIdint4否(主鍵)ItemNamevarchar20是ItemTypetinyint1是ItemSumdecimal9是Formulavarchar200是IsVisabletinyint1是Operationtinyint1是3.2.2系統(tǒng)操作流程圖通過(guò)前面的幾個(gè)環(huán)節(jié),確定了該軟件的具體功能。根據(jù)軟件工程的思想,對(duì)模型進(jìn)行逐步求精。為了幫助進(jìn)行模塊功能的設(shè)計(jì),人機(jī)界面設(shè)計(jì),畫出了以下系統(tǒng)的操作流程圖:圖3.11系統(tǒng)操作流程圖登陸模塊登陸模塊用戶信息正確?開始N進(jìn)入主界面選擇菜單當(dāng)前用戶系統(tǒng)管理員?返回進(jìn)入功能模塊功能管理功能可用Y查詢功能可用N退出結(jié)束修改回修改個(gè)人信息查詢刪除新增查詢4.1相關(guān)技術(shù)介紹設(shè)計(jì)這樣的一個(gè)人事管理系統(tǒng)需要用到很多技術(shù)內(nèi)容。需要用到時(shí)下最主流的計(jì)算機(jī)軟件技術(shù)和計(jì)算機(jī)數(shù)據(jù)庫(kù)技術(shù)。而且通過(guò)現(xiàn)有的這些技術(shù)已經(jīng)完全有可能來(lái)實(shí)現(xiàn)這個(gè)軟件的開發(fā),也就是說(shuō)在計(jì)算機(jī)技術(shù)發(fā)展到現(xiàn)今階段要完成這套軟件的設(shè)計(jì),以及實(shí)現(xiàn)這套軟件的各種功能是絕對(duì)可行的。設(shè)計(jì)這套軟件用到了以下這些計(jì)算機(jī)技術(shù):4.2.1創(chuàng)建工程和主界面設(shè)計(jì)由粗略到詳細(xì),逐步求精,對(duì)系統(tǒng)的具體功能有了一個(gè)清楚的把握。系統(tǒng)設(shè)計(jì)考慮到了功能完整,界面友好,便于與用戶交互,完善的數(shù)據(jù)輸入與輸出,系統(tǒng)操作簡(jiǎn)便、靈活,管理和維護(hù)效率高輸入錯(cuò)誤提示,系統(tǒng)介紹等問(wèn)題。具體的實(shí)現(xiàn)過(guò)程如下: 首先打開VisualC++6.0創(chuàng)建基于對(duì)話框的應(yīng)用程序工程(MFCAppWizard(exe)),命名為:HrSys,設(shè)置對(duì)話框的標(biāo)題為:人事管理系統(tǒng)。然后設(shè)計(jì)主對(duì)話框界面。4.2.2創(chuàng)建ADO類及實(shí)現(xiàn)函數(shù)采用ADO來(lái)連接SQLserver數(shù)據(jù)源,所以必須添加一個(gè)用來(lái)連接ADO的類。在系統(tǒng)菜單中選擇“Insert->NewClass”打開“NewClass”窗口,選擇“GenericClass”,然后輸入類名,即完成了類的添加。新的類的定義如下: classADOConn{//定義變量public: //添加一個(gè)指向Connection對(duì)象的指針: _ConnectionPtrm_pConnection; //添加一個(gè)指向Recordset對(duì)象的指針: _RecordsetPtrm_pRecordset;//定義方法public: ADOConn(); virtual~ADOConn();//初始化—連接數(shù)據(jù)庫(kù) voidOnInitADOConn(); //執(zhí)行查詢 _RecordsetPtr&GetRecordSet(_bstr_tbstrSQL); //執(zhí)行SQL語(yǔ)句,InsertUpdate_variant_t BOOLExecuteSQL(_bstr_tbstrSQL); voidExitConnect();}; 類實(shí)現(xiàn)函數(shù)代碼省略,詳細(xì)見系統(tǒng)實(shí)現(xiàn)代碼4.2.2創(chuàng)建ADO類及實(shí)現(xiàn)函數(shù)采用ADO來(lái)連接SQLserver數(shù)據(jù)源,所以必須添加一個(gè)用來(lái)連接ADO的類。在系統(tǒng)菜單中選擇“Insert->NewClass”打開“NewClass”窗口,選擇“GenericClass”,然后輸入類名,即完成了類的添加。新的類的定義如下: classADOConn{//定義變量public: //添加一個(gè)指向Connection對(duì)象的指針: _ConnectionPtrm_pConnection; //添加一個(gè)指向Recordset對(duì)象的指針: _RecordsetPtrm_pRecordset;//定義方法public: ADOConn(); virtual~ADOConn();//初始化—連接數(shù)據(jù)庫(kù) voidOnInitADOConn(); //執(zhí)行查詢 _RecordsetPtr&GetRecordSet(_bstr_tbstrSQL); //執(zhí)行SQL語(yǔ)句,InsertUpdate_variant_t BOOLExecuteSQL(_bstr_tbstrSQL); voidExitConnect();}; 類實(shí)現(xiàn)函數(shù)代碼省略,詳細(xì)見系統(tǒng)實(shí)現(xiàn)代碼。4.2.3為數(shù)據(jù)表建立相關(guān)類 利用ADO訪問(wèn)數(shù)據(jù)庫(kù),最好為每一個(gè)表創(chuàng)建一個(gè)類,來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的讀取、修改。類的成員變量對(duì)應(yīng)表的列,類的成員函數(shù)就是對(duì)表的成員變量和表的操作。[6]僅舉部門表對(duì)應(yīng)的類極其部分函數(shù)實(shí)現(xiàn)為例,來(lái)闡述這個(gè)過(guò)程。 類的定義: classCUsers{private: CStringUserName; CStringPwd; intUser_type;public: CUsers(); virtual~CUsers(); CStringGetUserName(); voidSetUserName(CStringcUserName); CStringGetPwd(); voidSetPwd(CStringcPwd); intGetUser_type(); voidSetUser_type(intiUser_type); //數(shù)據(jù)庫(kù)操作 intHaveName(CStringcUserName);//判斷指定用戶名是否存在 voidsql_insert(); voidsql_updatePwd(CStringcUserName); voidsql_delete(CStringcUserName); //讀取所有字段值 voidGetData(CStringcUserName);};4.2.4用戶登陸模塊的實(shí)現(xiàn)因?yàn)槿耸沦Y料管理牽涉到個(gè)人隱私及公司密秘等多方面因素,所以一定要保密,并有專人管理,圖4.2登陸對(duì)話框 當(dāng)前用戶的數(shù)據(jù)應(yīng)該是全局有效的,在工程的任何一個(gè)位置都可以訪問(wèn)它。所以添加一個(gè)全局類用來(lái)保存全局變量。該類的具體代碼為: classCGlobal{public: CUserscurUser; CGlobal(); virtual~CGlobal();}; 因?yàn)镾tdAfx.h默認(rèn)包含在很多程序中,所以在StdAfx.h中添加包含該全局類的頭文件,在程序中就可以直接訪問(wèn)curUser對(duì)象了。但在訪問(wèn)之前還需要添加如下命令引入外部變量。 externCUserscurUser;登陸對(duì)話框如上一章中的登陸對(duì)話框所示。在該對(duì)話框中打開ClassWizard窗口,為該對(duì)話框創(chuàng)建一個(gè)類。并為對(duì)話框設(shè)置響應(yīng)的變量,其中密碼文本屬性應(yīng)該設(shè)置為“Password”。雙擊“確定”按鈕為控件添加映射函數(shù)如下: voidCLoginDlg::OnOK(){ //將對(duì)話框中編輯框的數(shù)據(jù)讀取到成員變量中 UpdateData(TRUE); //檢查數(shù)據(jù)有效性 if(m_UserName=="") { MessageBox("請(qǐng)輸入用戶名"); return; } if(m_Pwd=="") { MessageBox("請(qǐng)輸入密碼"); return; } //定義CUsers對(duì)象,用于從表Users中讀取數(shù)據(jù) CUsersuser; user.GetData(m_UserName); //如果讀取的數(shù)據(jù)與用戶輸入數(shù)據(jù)不同,則返回 if(user.UserPwd!=m_Pwd) { MessageBox("用戶信息不正確,無(wú)法登錄!"); return; } } //關(guān)閉對(duì)話框 CDialog::OnOK();}4.2.5密碼修改模塊實(shí)現(xiàn) 修改密碼是信息安全的一個(gè)重要環(huán)節(jié),所以修改密碼的環(huán)節(jié)必不可少。用戶可以隨時(shí)更改自己的密碼,以確保自己的密碼安全和數(shù)據(jù)庫(kù)數(shù)據(jù)安全。密碼字符是隱藏的。如下為修改密碼的界面:圖4.3修改密碼對(duì)話框首先給對(duì)話框建立相應(yīng)的對(duì)話框類,然后編寫對(duì)話框?qū)崿F(xiàn)代碼。對(duì)話框?qū)崿F(xiàn)代碼如下:voidCChangePwdDlg::OnOK(){ //將對(duì)話框中編輯框的數(shù)據(jù)讀取到成員變量中 UpdateData(TRUE); //檢查數(shù)據(jù)有效性 if(m_OldPwd=="") { MessageBox("請(qǐng)輸入舊密碼"); return; } if(m_NewPwd1=="") { MessageBox("請(qǐng)輸入新密碼"); return; } if(m_NewPwd1!=m_NewPwd2) { MessageBox("兩次輸入的新密碼不同"); return; } //定義CUsers對(duì)象,用于從表Users中讀取數(shù)據(jù) CUsersuser; user.GetData(m_UserName); //如果讀取的數(shù)據(jù)與用戶輸入數(shù)據(jù)不同,則返回 if(user.GetPwd()!=m_OldPwd) { MessageBox("用戶密碼不正確!"); return; } user.SetPwd(m_NewPwd1); user.sql_updatePwd(m_UserName); MessageBox("密碼修改成功,下次登錄請(qǐng)使用新密碼"); CDialog::OnOK();}4.2.6員工信息編輯模塊實(shí)現(xiàn) 員工信息是此系統(tǒng)最重要的信息之一。確保員工的信息的完整和正確性對(duì)于整個(gè)系統(tǒng)都有很重要的意義。此界面力求達(dá)到最強(qiáng)的實(shí)用性。為了保證信息安全,必須為各模塊設(shè)置權(quán)限,即系統(tǒng)管理員或人事專員具有管理功能,而普通用戶只有查詢的功能。權(quán)限的設(shè)置采用將當(dāng)前用戶不具有的功能按鈕置灰的辦法。 員工信息編輯界面如下:圖4.3編輯員工信息對(duì)話框圖4.4員工基本信息編輯對(duì)話框 同樣也為對(duì)話框建立一個(gè)相對(duì)應(yīng)的對(duì)話框類。其中上級(jí)員工的選擇用一個(gè)彈出對(duì)話框來(lái)選擇。填表人和填表時(shí)間為當(dāng)前用戶用戶名和當(dāng)前時(shí)間,由系統(tǒng)自動(dòng)讀入。員工相片只能選用BMP圖片,可以選擇在當(dāng)前主機(jī)上任何位置的圖片。 相關(guān)的實(shí)現(xiàn)代碼在這里就省略不寫,具體可見如下代碼:voidCEmpEditDlg::OnOK(){ //TODO:Addextravalidationhere UpdateData(TRUE); CEmployeesemp; //將用戶輸入的數(shù)據(jù)賦值到對(duì)象dep中,為更新數(shù)據(jù)庫(kù)做準(zhǔn)備 emp.SetEmp_Name(m_EmpName); intindex; index=m_Sex.GetCurSel(); if(index==0) emp.SetSex("男"); else emp.SetSex("女"); emp.SetNationality(m_Nation); emp.SetBirth(m_Birth.Format("%Y-%m-%d")); emp.SetPolitical_Party(m_Political); emp.SetCulture_Level(m_Culture); emp.SetMarital_Condition(m_Marital); emp.SetFamily_Place(m_Family); emp.SetId_Card(m_Idcard); emp.SetBadgeId(m_Badge); emp.SetOffice_phone(m_Office); emp.SetMobile(m_Mobile); emp.SetFiles_Keep_Org(m_File); emp.SetHukou(m_Hukou); emp.SetHireDate(m_HireDate.Format("%Y-%m-%d")); emp.SetDep_Id(DepId); emp.SetPosition(m_Position); emp.SetTitle(m_Title); emp.SetState(m_State.GetCurSel()+1); emp.SetUpperId(UpperId); emp.SetContract_Duration(m_Contract); emp.SetMemo(m_Memo); //自動(dòng)保存填表人和填表時(shí)間 m_Fillperson=curUser.GetUserName(); CTimet=CTime::GetCurrentTime(); m_Filltime=t.Format("%Y-%m-%d"); emp.SetFillin_Person(m_Fillperson); emp.SetFillin_Time(m_Filltime); if(EmpId==0)//表示插入數(shù)據(jù) //判斷部門名稱是否存在 if(emp.HaveName(m_EmpName)==1) { MessageBox("員工姓名已經(jīng)存在,請(qǐng)重新輸入!"); return; } else //返回插入記錄的編號(hào) emp.sql_insert(); else { //如果用戶修改了部門名稱,則判斷新部門名稱是否存在 if(m_EmpName!=EmpName) { if(emp.HaveName(m_EmpName)==1) { MessageBox("員工姓名已經(jīng)存在,請(qǐng)重新輸入!"); return; } } //根據(jù)DepId的值更新記錄 CStringcEmpId; cEmpId.Format("%d",EmpId); emp.sql_update(cEmpId)} CDialog::OnOK();}4.2.7考勤管理模塊的實(shí)現(xiàn) 考勤管理模塊的實(shí)現(xiàn)分為日考勤信息管理和月考勤信息統(tǒng)計(jì)。在日考勤信息管理中必須先選擇部門在表中出現(xiàn)相應(yīng)的員工的考勤記錄。選擇記錄,點(diǎn)擊“設(shè)置”可以設(shè)置和修改考勤信息,點(diǎn)擊“月度考勤”可以統(tǒng)計(jì)每月的考勤信息。權(quán)限的設(shè)置與4.2.6類似。 考勤管理對(duì)話框界面如下所示:圖4.5考勤信息管理對(duì)話框相關(guān)的實(shí)現(xiàn)代碼如下所示:BOOLCCheckManDlg::OnInitDialog(){ CDialog::OnInitDialog(); //TODO:Addextrainitializationhere //權(quán)限控制,如果不是系統(tǒng)管理員則設(shè)置和月度考勤按鈕置灰 if(curUser.GetUser_type()!=1) { GetDlgItem(IDC_SET_BUTTON)->EnableWindow(FALSE); GetDlgItem(IDC_SUM_BUTTON)->EnableWindow(FALSE); } CTimet=CTime::GetCurrentTime();//讀取當(dāng)前系統(tǒng)日期 m_date=t; iDepId=0; m_DepName=""; UpdateData(FALSE); Refresh_Data(); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //EXCEPTION:OCXPropertyPagesshouldreturnFALSE}Refrsh_Data()函數(shù)的功能是設(shè)置ADOData控件的記錄源,從而更新DataGrid控件中顯示的內(nèi)容。相關(guān)的實(shí)現(xiàn)代碼如下所示:BOOLCEvaManDlg::OnInitDialog(){ CDialog::OnInitDialog(); //TODO:Addextrainitializationhere //權(quán)限控制,如果不是系統(tǒng)管理員則設(shè)置置灰 if(curUser.GetUser_type()!="系統(tǒng)管理員") GetDlgItem(IDC_SET_BUTTON)->EnableWindow(FALSE); CTimet=CTime::GetCurrentTime();//讀取當(dāng)前系統(tǒng)日期 intiYear,iMonth; iYear=t.GetYear(); iMonth=t.GetMonth(); m_year.SetCurSel(iYear-2000); m_month.SetCurSel(iMonth-1); UpdateData(FALSE); Refresh_Data(); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //EXCEPTION:OCXPropertyPagesshouldreturnFALSE} 詳細(xì)的實(shí)現(xiàn)代碼如下所示:BOOLCSalaryManDlg::OnInitDialog(){ CDialog::OnInitDialog(); //讀取當(dāng)前系統(tǒng)日期 CTimet=CTime::GetCurrentTime(); //從系統(tǒng)時(shí)間中獲取年和月的信息 intiYear,iMonth; iYear=t.GetYear(); iMonth=t.GetMonth(); //設(shè)置年和月控件值 m_year.SetCurSel(iYear-2000); m_month.SetCurSel(iMonth-1); UpdateData(FALSE); //根據(jù)條件查詢調(diào)薪記錄 Refresh_Data(); returnTRUE;//returnTRUEunlessyousetthefocustoacontrol //EXCEPTION:OCXPropertyPagesshouldreturnFALSE}4.2.10部門管理模塊的實(shí)現(xiàn)部門管理模塊設(shè)計(jì)中,用“部門信息”作為樹控件的根結(jié)點(diǎn)。采用遞歸算法實(shí)現(xiàn)部門信息樹的顯示。添加代碼之前需要先導(dǎo)入需要的“Icon”文件。為了保存所選部門信息,必須先在對(duì)話框的類中添加公共變量DepId,DepName。當(dāng)用戶單擊“確定”時(shí),將執(zhí)行OnOk()函數(shù),該函數(shù)從Tree控件中讀取選擇的部門的信息,然后將其賦值到公共變量DepId,DepName,其他模塊可以通過(guò)訪問(wèn)此公共變量來(lái)獲得所選擇的部門信息。部門管理模塊的權(quán)限設(shè)置與4.2.6類似。圖4.8部門管理對(duì)話框 相關(guān)的實(shí)現(xiàn)代碼如下所示:voidCDepManDlg::AddtoTree(HTREEITEMm_node,intUpperId){ //使用遞歸方法將部門添加到TreeView控件中 inti; HTREEITEMm_child; //依次訪問(wèn)dep對(duì)象中的部門數(shù)組,查找滿足條件的記錄添加到Tree控件中 for(i=0;i<dep.a_UpperId.GetSize();i++) { //打開a_UpperId數(shù)組中等于UpperId的元素 //表明此元素為當(dāng)前根節(jié)點(diǎn)的子節(jié)點(diǎn),因此將其添加到Tree控件中,新節(jié)點(diǎn)為m_child //使用SetItemData()函數(shù)將部門編號(hào)值也保存在新節(jié)點(diǎn)中 //以新節(jié)點(diǎn)為根節(jié)點(diǎn),再次遞歸調(diào)用AddtoTree()函數(shù),將其子節(jié)點(diǎn)添加到Tree控件中 if(UpperId==atoi(dep.a_UpperId.GetAt(i))) { m_child=m_tree.InsertItem(dep.a_DepName.GetAt(i),m_node); m_tree.SetItemData(m_child,atol(dep.a_DepId.GetAt(i))); AddtoTree(m_child,atoi(dep.a_DepId.GetAt(i))); }4.2.3為數(shù)據(jù)表建立相關(guān)類 利用ADO訪問(wèn)數(shù)據(jù)庫(kù),最好為每一個(gè)表創(chuàng)建一個(gè)類,來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的讀取、修改。類的成員變量對(duì)應(yīng)表的列,類的成員函數(shù)就是對(duì)表的成員變量和表的操作。[6]僅

溫馨提示

  • 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)論