人事管理系統(tǒng)畢業(yè)論文2
《人事管理系統(tǒng)畢業(yè)論文2》由會(huì)員分享,可在線閱讀,更多相關(guān)《人事管理系統(tǒng)畢業(yè)論文2(98頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 人事管理系統(tǒng) 摘 要 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用的普及,利用計(jì)算機(jī)實(shí)現(xiàn)企業(yè)人事管理勢(shì)在必行。對(duì)于大中型企業(yè)來說,利用計(jì)算機(jī)支持企業(yè)高效率完成勞動(dòng)人事管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動(dòng)企業(yè)勞動(dòng)人事管理走向科學(xué)化、規(guī)范化的必要條件:計(jì)算機(jī)管理所無法比擬的優(yōu)點(diǎn)檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 本系統(tǒng)結(jié)合公司實(shí)際的人事管理制度,經(jīng)過實(shí)際的需求分析,采用功能強(qiáng)大的Visual C++ 6.0做為開發(fā)工具而開發(fā)出來的單機(jī)版人事檔案
2、管理系統(tǒng)。通過企業(yè)人事管理系統(tǒng)使得管理者快速高效地完成企業(yè)日常事務(wù)中的人事工作,降低了人力資源管理成本,使管理者能集中精力在企業(yè)戰(zhàn)略目標(biāo):另一方面,通過軟件及時(shí)收集與整理分析大量的人力資源管理數(shù)據(jù),為企業(yè)戰(zhàn)略決策的生成與實(shí)施控制提供強(qiáng)有力的支持,以提高組織目標(biāo)實(shí)現(xiàn)的可能性。 關(guān)鍵詞:人事管理系統(tǒng);Visual C++6.0 ;Access IV Personnel management system Abstract With the rapid
3、development of computer technology, the computer in the business management the application popularization, realizes the enterprise personnel management be imperative using the computer. For large and medium-sized enterprises, enterprises and efficient use of computer support to complete the daily a
4、ffairs of personnel management, is to adapt to the requirements of modern enterprise system, promote the necessary condition of enterprise labor personnel management to scientific, standardized: the computer management of the incomparable advantages of quick search, find convenient, high reliability
5、, large storage capacity, confidentiality a good, long life, low cost. These advantages can greatly improve the efficiency of personnel management, standardization but also the scientific enterprise, management, and an important condition for the world. This system union company actual personnel ma
6、nagement system, after the actual needs analysis, using powerful Visual C++6.0 unit edition personnel file management system is developed. Through the enterprise personnel management system enables managers to quickly and efficiently complete the business day-to-day affairs of the personnel work, re
7、duce the cost of human resources management, so that the managers can focus on strategic objectives: on the other hand, through the timely collection and analysis of human resource management software for a large amount of data, business strategy and decision-making control to provide strong support
8、, in order to enhance the possibility of achieving organizational goals. Keywords: personnel management system ;Visual C++6.0;Access 目 錄 摘 要 I Abstract II 第一章 引 言 1 1.1 基于VC++平臺(tái)的人事管理系統(tǒng)開發(fā)背景 1 1.2 系統(tǒng)概述及解決的主要問題 1 1.3 系統(tǒng)的指導(dǎo)思想、采用的相關(guān)理論及方法 1 1.4
9、 人事管理系統(tǒng)發(fā)展現(xiàn)狀及存在的問題 2 1.5 研發(fā)目的及意義 2 1.6 論文結(jié)構(gòu) 3 第二章 系統(tǒng)軟件計(jì)劃 4 2.1 Visual C++簡(jiǎn)介 4 2.2 ODBC簡(jiǎn)介 4 2.3 創(chuàng)建ODBC數(shù)據(jù)源 4 2.4 ODBC在VC++中的應(yīng)用 9 第三章 系統(tǒng)需求分析與方案論證 13 3.1 需求分析 13 3.2 設(shè)計(jì)方案 13 3.2.1 系統(tǒng)方案論證 13 3.2.2 系統(tǒng)設(shè)計(jì)步驟 14 第四章 系統(tǒng)總體設(shè)計(jì) 15 4.1 概要設(shè)計(jì) 15 4.2 數(shù)據(jù)庫設(shè)計(jì) 16 第五
10、章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 20 5.1 主界面的設(shè)計(jì)與實(shí)現(xiàn) 20 5.2 員工管理模塊設(shè)計(jì)與實(shí)現(xiàn) 27 5.2.1 員工管理主窗體的設(shè)計(jì)與實(shí)現(xiàn) 28 5.2.2 員工信息管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 30 5.2.3 入職管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 36 5.2.4 轉(zhuǎn)正管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 38 5.2.5 離職管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 40 5.2.6 借調(diào)管理及調(diào)動(dòng)管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 42 5.2.7 月末統(tǒng)計(jì)管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 44 5.3 社保管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 50 5.4 合同管理模塊的設(shè)計(jì)
11、與實(shí)現(xiàn) 60 5.5 部門管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 64 第六章 系統(tǒng)的運(yùn)行結(jié)果 65 6.1 主界面的運(yùn)行結(jié)果 65 6.2 員工管理模塊的運(yùn)行結(jié)果 65 6.3 社保管理模塊的運(yùn)行結(jié)果 71 6.4 合同管理模塊的運(yùn)行結(jié)果 72 6.5 部門管理模塊的運(yùn)行結(jié)果 73 第七章 結(jié)束語 75 致 謝 76 參考文獻(xiàn)(References) 77 附 錄 78 第一章 引 言 1.1 基于VC++平臺(tái)的人事管理系統(tǒng)開發(fā)背景 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用的普及,利用計(jì)算機(jī)實(shí)現(xiàn)企業(yè)人事
12、管理勢(shì)在必行,范文之開題報(bào)告:開題報(bào)告---人事管理系統(tǒng)。對(duì)于大中型企業(yè)來說,利用計(jì)算機(jī)支持企業(yè)高效率完成勞動(dòng)人事管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動(dòng)企業(yè)勞動(dòng)人事管理走向科學(xué)化、規(guī)范化的必要條件;計(jì)算機(jī)管理所無法比擬的優(yōu)點(diǎn)檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。不同的企業(yè)具有不同的人事管理制度,這就決定了不同的企業(yè)需要不同的人事管理系統(tǒng)。 目前市面上流行的人事管理系統(tǒng)不少。但是,對(duì)于企、事業(yè)單位的人事管理系統(tǒng)來說,不需要大型的數(shù)據(jù)庫系統(tǒng)。只需要一個(gè)操作方便,功能實(shí)用,
13、能滿足本中心對(duì)數(shù)據(jù)的管理及需求的系統(tǒng)。我們的目標(biāo)就是在于開發(fā)一個(gè)功能實(shí)用、操作方便,簡(jiǎn)單明了的人事管理系統(tǒng).能夠錄入人事的基本資料,在操作上能夠完成諸如添加、修改、刪除、按各種條件進(jìn)行查詢、新用戶的設(shè)置及密碼修改等方面的工作,基本滿足人事日常業(yè)務(wù)的需要。本人獨(dú)立完成了此課題的研究與開發(fā),包括調(diào)研、分析、設(shè)計(jì)、編碼、測(cè)試、文檔編寫等內(nèi)容。[1] 1.2 系統(tǒng)概述及解決的主要問題 根據(jù)學(xué)習(xí)研究,本系統(tǒng)的開發(fā)基于VC++ MFC的對(duì)話框,利用SQL Server保存數(shù)據(jù),通過ODBC(Open Database Connectivity,開放數(shù)據(jù)互連)技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫的操作,利用Tab控件實(shí)現(xiàn)功
14、能模塊的切換。 首先確定要解決的問題是弄清楚MCI函數(shù)與命令消息的名稱類型和功能;其次是通過分析人事管理系統(tǒng)的具體過程,在打開系統(tǒng)的過程中應(yīng)用程序需要做哪些事情,以便在應(yīng)用程序中加入對(duì)這些過程支持的代碼;在對(duì)應(yīng)用程序的流程有了大致的輪廓以后(最好畫出流程圖),再開始考慮程序框架的設(shè)計(jì),應(yīng)用程序外觀的設(shè)計(jì);最后也是最關(guān)鍵的就是編寫實(shí)現(xiàn)系統(tǒng)的代碼將人事管理系統(tǒng)的基本功能實(shí)現(xiàn),緊接著就是程序的調(diào)試和完善。 最后,本系統(tǒng)的功能及解決的主要問題為實(shí)現(xiàn)員工管理、部門管理、合同管理及保險(xiǎn)管理4個(gè)模塊。為了系統(tǒng)的安全系性,在進(jìn)入主控窗體前需要先進(jìn)行登錄。登錄后進(jìn)入系統(tǒng)的主界面,在主界面可以進(jìn)入4個(gè)子界面。
15、[2] 1.3 系統(tǒng)的指導(dǎo)思想、采用的相關(guān)理論及方法 本課題是采用Microsoft Visual C++6.0的MFC[框架構(gòu)建的,MFC框架是微軟公司推出的面向?qū)ο蟮目梢暬晒ぞ?,在多媒體的設(shè)計(jì),分為以下幾個(gè)步驟進(jìn)行。 首先確定要解決的問題是弄清楚MCI函數(shù)與命令消息的名稱類型和功能;其次是通過分析系統(tǒng)的具體過程,在打開系統(tǒng)的過程中應(yīng)用程序需要做哪些事情,以便在應(yīng)用程序中加入對(duì)這些過程支持的代碼;在對(duì)應(yīng)用程序的流程有了大致的輪廓以后,再開始考慮程序框架和應(yīng)用程序的外觀設(shè)計(jì);最后,也是最關(guān)鍵的就是編寫實(shí)現(xiàn)系統(tǒng)的代碼將人事管理系統(tǒng)的基本功能實(shí)現(xiàn),緊接著就是程序的調(diào)試和完善。 面向?qū)?/p>
16、象思想的基本特征:(1) 對(duì)象唯一性。每個(gè)對(duì)象都有自身唯一的標(biāo)識(shí),通過這種標(biāo)識(shí),可找到相應(yīng)的對(duì)象。在對(duì)象的整個(gè)生命期中,它的標(biāo)識(shí)都不改變,不同的對(duì)象不能有相同的標(biāo)識(shí)。(2)抽象性。抽象性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類。一個(gè)類就是這樣一種抽象,它反映了與應(yīng)用有關(guān)的重要性質(zhì),而忽略其他一些無關(guān)內(nèi)容。任何類的劃分都是主觀的,但必須與具體的應(yīng)用有關(guān)。(3)繼承性。繼承性是子類自動(dòng)共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。在定義和實(shí)現(xiàn)一個(gè)類的時(shí)候,可以在一個(gè)已經(jīng)存在的類的基礎(chǔ)之上來進(jìn)行,把這個(gè)已經(jīng)存在的類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。(4)多態(tài)性
17、。多態(tài)性是指相同的操作或函數(shù)、過程可作用于多種類型的對(duì)象上并獲得不同的結(jié)果。不同的對(duì)象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。多態(tài)性允許每個(gè)對(duì)象以適合自身的方式去響應(yīng)共同的消息。多態(tài)性增強(qiáng)了軟件的靈活性和重用性。[3] 采用的相關(guān)理論及方法:類是一種復(fù)雜的數(shù)據(jù)類型,它是將不同類型的數(shù)據(jù)和與這些數(shù)據(jù)相關(guān)的操作封裝在一起的集合體。這有點(diǎn)像C語言中的結(jié)構(gòu),唯一不同的就是結(jié)構(gòu)沒有定義所說的“數(shù)據(jù)相關(guān)的操作”,“數(shù)據(jù)相關(guān)的操作”就是我們平常經(jīng)常看到的“方法”,因此,類具有更高的抽象性,類中的數(shù)據(jù)具有隱藏性,類還具有封裝性。 封裝性是面向?qū)ο蟪绦蛟O(shè)計(jì)中最重要的機(jī)制。這種機(jī)
18、制改變了傳統(tǒng)的非面向?qū)ο蟪绦蛟O(shè)計(jì)中那種對(duì)不再適合要求的用戶定義數(shù)據(jù)類型進(jìn)行改寫甚至重寫的方法,克服了傳統(tǒng)程序設(shè)計(jì)方法對(duì)編寫出來的程序無法重復(fù)使用而造成資源浪費(fèi)的缺點(diǎn)。面向?qū)ο蟪绦蛟O(shè)計(jì)的繼承機(jī)制提供了無限重復(fù)利用程序資源的一種途徑。通過C++語言中的繼承機(jī)制,可以擴(kuò)充和完善舊的程序設(shè)計(jì)以適應(yīng)新的需求,這樣不僅可以節(jié)省程序開發(fā)的時(shí)間和資源,并且為未來程序設(shè)計(jì)增添了新的資源。[4] 1.4 人事管理系統(tǒng)發(fā)展現(xiàn)狀及存在的問題 人事管理系統(tǒng)的發(fā)展歷史可以追溯到 20 世紀(jì) 60 年代末期。由于當(dāng)時(shí)計(jì)算機(jī)技術(shù)已經(jīng)進(jìn)入實(shí) 用階段,同時(shí)大型企業(yè)用手工來計(jì)算和發(fā)放薪資既費(fèi)時(shí)費(fèi)力又非常容易出差錯(cuò),為了解決
19、這個(gè) 矛盾,第一代的人事管理系統(tǒng)應(yīng)運(yùn)而生。當(dāng)時(shí)由于技術(shù)條件和需求的限制,用戶非常少,而且 那種系統(tǒng)充其量也只不過是一種自動(dòng)計(jì)算薪資的工具,既不包含非財(cái)務(wù)的信息,也不包含薪資 的歷史信息,幾乎沒有報(bào)表生成功能和薪資數(shù)據(jù)分析功能。但是,它的出現(xiàn)為人事的管理展示 了美好的前景,即用計(jì)算機(jī)的高速度和自動(dòng)化來替代手工的巨大工量,用計(jì)算機(jī)的高準(zhǔn)確性來 避免手工的錯(cuò)誤和誤差,使大規(guī)模集中處理大型企業(yè)的薪資成為可能。 第二代的人事管理系統(tǒng)出現(xiàn)于 20 世紀(jì) 70 年代末。由于計(jì)算機(jī)技術(shù)的飛速發(fā)展,無論是計(jì)算 機(jī)的普及性,還是計(jì)算機(jī)系統(tǒng)工具和數(shù)據(jù)庫技術(shù)的發(fā)展,都為人事管理系統(tǒng)的階段性發(fā)展提供 了可能。第二代
20、人事管理系統(tǒng)基本上解決了第一代系統(tǒng)的主要缺陷,對(duì)非財(cái)務(wù)的人事信息和薪 資的歷史信息都給予了考慮,其報(bào)表生成和薪資數(shù)據(jù)分析功能也都有了較大的改善。但這一代 的系統(tǒng)主要是由計(jì)算機(jī)專業(yè)人員開發(fā)研制的,未能系統(tǒng)地考慮人事的需求和理念,而且其非財(cái) 務(wù)的人事信息也不夠系統(tǒng)和全面。 人事管理系統(tǒng)的革命性變革出現(xiàn)在 20 世紀(jì) 90 年代末。由于市場(chǎng)競(jìng)爭(zhēng)的需要,如何吸引和留 住人才,激發(fā)人事的創(chuàng)造性、工作責(zé)任感和工作熱情已成為關(guān)系企業(yè)興衰的重要因素,人才已 經(jīng)成為企業(yè)最重要的資產(chǎn)之一。"公正、公平、合理"的企業(yè)管理理念和企業(yè)管理水平的提高, 使社會(huì)對(duì)人事管理系統(tǒng)有了更高的需求;同時(shí)由于個(gè)人電腦的普及,數(shù)據(jù)庫
21、技術(shù)、客戶/服務(wù)器 技術(shù),特別是 Internet/Intranet 技術(shù)的發(fā)展,使得第三代人事管理系統(tǒng)的出現(xiàn)成為必然。第 三代人事管理系統(tǒng)的特點(diǎn)是從人事管理的角度出發(fā),用集中的數(shù)據(jù)庫將幾乎所有與人事相關(guān)的 數(shù)據(jù)(如薪資福利、招聘、個(gè)人職業(yè)生涯的設(shè)計(jì)、培訓(xùn)、職位管理、績(jī)效管理、崗位描述、個(gè) 人信息和歷史資料)統(tǒng)一管理起來,形成了集成的信息源。友好的用戶界面,強(qiáng)有力的報(bào)表生 成工具、分析工具和信息的共享使得人事管理人員得以擺脫繁重的日常工作,集中精力從戰(zhàn)略 的角度來考慮企業(yè)人事規(guī)劃和政策。[5] 人事管理存在問題總的有:宏觀管理薄弱,部門職能重疊,協(xié)調(diào)難度大,工作效率低;選入視野不夠?qū)?,用人機(jī)
22、制不夠活,優(yōu)秀人才脫穎而出的環(huán)境還沒有普遍形成;對(duì)企業(yè)領(lǐng)導(dǎo)人員的監(jiān)督機(jī)制和激勵(lì)機(jī)制還不健全、不配套。 1.5 研發(fā)目的及意義 現(xiàn)代的社會(huì)中, 辦公自動(dòng)化進(jìn)入社會(huì)的每一個(gè)角落已經(jīng)勢(shì)不可擋, 而人事管理系統(tǒng)是辦公自 動(dòng)化的一個(gè)小小體現(xiàn), 它為人事管理大量又繁雜的員工數(shù)據(jù)工作提供了方便, 提高了人事管 理工作的效率, 為辦公自動(dòng)化的普及奠定了基礎(chǔ)。 人事管理系統(tǒng)是任何一個(gè)現(xiàn)代化企事業(yè)單 位不可或缺的部份,它的內(nèi)容對(duì)于企事業(yè)的管理者來說至關(guān)重要。人事管理系統(tǒng)應(yīng)該能夠?yàn)?管理者提供充足的信息和快捷的查詢手段。 但在我所處的城市, 很多單位并沒有對(duì)人事工作 進(jìn)行電子化管理,還是那種管理人員多,管理
23、效率低,決策依據(jù)少的尷尬局面。隨著科學(xué)技 術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的 各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)人事信息進(jìn) 行管理,具有著傳統(tǒng)管理所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ) 量大、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高了人事管理的效率。因此,開發(fā)這樣一 套管理軟件,對(duì)單位人事管理工作進(jìn)行有效電子化管理,化簡(jiǎn)繁瑣的手工操作,提高工作效率都是很有意義的事情。 隨著信息技術(shù)的發(fā)展, 人們對(duì)于運(yùn)用計(jì)算機(jī)來輔助, 協(xié)調(diào)和管理自身工作的需要正在逐步提 高。 而面向?qū)ο蟮某绦蛟O(shè)計(jì)在當(dāng)今應(yīng)用程
24、序的開發(fā)過程中具有重要的地位, 它的最大的優(yōu)點(diǎn) 就是能夠提高程序開發(fā)的質(zhì)量和開發(fā)。經(jīng)過分析,我使用 Visual C++開發(fā)工具,利用其提供 的各種面向?qū)ο蟮拈_發(fā)工具, 首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型, 然后對(duì)初始原型系統(tǒng)進(jìn)行 需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。[6] 1.6 論文結(jié)構(gòu) 論文主要由六部分組成,具體章節(jié)如下: 第1章 是引言,主要是對(duì)基于VC平臺(tái)的人事管理系統(tǒng)的課題背景、系統(tǒng)的概述及解決的問題、課題的研究方法和相關(guān)理論、國(guó)內(nèi)外發(fā)展現(xiàn)狀及存在的問題、課題研究的目的和意義作簡(jiǎn)單介紹。 第2章 是軟件計(jì)劃,主要是介紹系統(tǒng)所用平臺(tái)VC++以及簡(jiǎn)略介紹ODBC
25、技術(shù)及ODBC技術(shù)在VC++中的實(shí)際應(yīng)用。 第3章 詳細(xì)介紹系統(tǒng)需求分析。 第4章 介紹系統(tǒng)總體設(shè)計(jì)。 第5章 介紹系統(tǒng)詳細(xì)設(shè)計(jì):?jiǎn)T工管理主窗體的設(shè)計(jì)、員工信息模塊的設(shè)計(jì)、入職管理模塊的設(shè)計(jì)、轉(zhuǎn)正管理模塊的設(shè)計(jì),以及離職管理模塊的設(shè)計(jì)、借調(diào)管理及調(diào)動(dòng)管理模塊的設(shè)計(jì)、月末統(tǒng)計(jì)管理模塊的設(shè)計(jì)、社保管理模塊的設(shè)計(jì)、合同管理模塊的設(shè)計(jì)、部門管理模塊的設(shè)計(jì)。 第6章 系統(tǒng)調(diào)試與實(shí)現(xiàn):主界面實(shí)現(xiàn)、主界面功能實(shí)現(xiàn)、員工管理主窗體的實(shí)現(xiàn)、員工信息模塊的實(shí)現(xiàn)、入職管理模塊的實(shí)現(xiàn)、轉(zhuǎn)正管理模塊的實(shí)現(xiàn),以及離職管理模塊的實(shí)現(xiàn)、借調(diào)管理及調(diào)動(dòng)管理模塊的實(shí)現(xiàn)、月末統(tǒng)計(jì)管理模塊的實(shí)現(xiàn)、社保管理模塊的實(shí)現(xiàn)、合同管理
26、模塊的實(shí)現(xiàn)、部門管理模塊的實(shí)現(xiàn)。 第7章 對(duì)該設(shè)計(jì)的總結(jié),還有對(duì)遇到問題的描述,以及對(duì)人事管理系統(tǒng)研究的展望。 第二章 系統(tǒng)軟件計(jì)劃 2.1 Visual C++簡(jiǎn)介 Microsoft公司1998年推出了Visual C++6.0,它是支持Win32平臺(tái)應(yīng)用程序(application)、服務(wù)(service)和控件(control)開發(fā)的可視化編程的集成環(huán)境。與VC++5.0的最大不同之處是它的幫助功能更強(qiáng)大,MSDN(Microsoft Developer Networking)為包括VC++6.0在內(nèi)的
27、所有微軟的程序產(chǎn)品提供在線幫助;另外,類的對(duì)象的可用成員函數(shù)、成員變量及函數(shù)的參數(shù)類型與個(gè)數(shù)都能動(dòng)態(tài)顯示在屏幕上,用戶無須記住那些復(fù)雜而又枯燥乏味的函數(shù)名及復(fù)雜的參數(shù),這無疑使得用VC++編程更加容易。所以VC++6.0可謂是Microsoft公司的王牌產(chǎn)品,編程功能強(qiáng)大而贏得廣大程序的偏愛。 它以擁有“語法高亮”,自動(dòng)編譯功能、以及高級(jí)除錯(cuò)功能而著稱。比如,它允許用戶進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動(dòng)正在調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)的時(shí)間花費(fèi),在大型軟件計(jì)劃上尤
28、其顯著。 VC作為一個(gè)主流的開發(fā)平臺(tái)一直深受編程愛好者的喜愛,但是很多人卻對(duì)它的入門感到難于上青天,究其原因主要是大家對(duì)他錯(cuò)誤的認(rèn)識(shí)造成的,嚴(yán)格的來說VC++不是門語言,雖然它和C++之間有密切的關(guān)系,如果形象點(diǎn)比喻的話,可以把C++看作為一種“工業(yè)標(biāo)準(zhǔn)”,而VC++則是某種操作系統(tǒng)平臺(tái)下的“廠商標(biāo)準(zhǔn)”,而“廠商標(biāo)準(zhǔn)”是在遵循“工業(yè)標(biāo)準(zhǔn)”的前提下擴(kuò)展而來的。 VC++應(yīng)用程序的開發(fā)主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統(tǒng)的WIN API開發(fā)方式比較繁瑣,而MFC則是對(duì)WIN API再次封裝,所以MFC相對(duì)于WIN API開發(fā)更具備效率優(yōu)勢(shì),但為了對(duì)WINDOWS
29、開發(fā)有一個(gè)較為全面細(xì)致的認(rèn)識(shí),在這里還是以講解WIN API的相關(guān)內(nèi)容為主線。[7] 2.2 ODBC簡(jiǎn)介 ODBC是Microsoft提出的數(shù)據(jù)庫訪問接口標(biāo)準(zhǔn)。開放數(shù)據(jù)庫互連定義了訪問數(shù)據(jù)庫的API一個(gè)規(guī)范,這些API獨(dú)立于不同廠商的DBMS,也獨(dú)立于具體的編程語言(雖然Microsoft的ODBC文檔是用C語言描述的,許多實(shí)際的ODBC驅(qū)動(dòng)程序也是用C語言寫的)。ODBC規(guī)范后來被X/OPEN和ISO/IEC采納,作為SQL標(biāo)準(zhǔn)的一部分。 一個(gè)基于ODBC的應(yīng)用程序?qū)?shù)據(jù)庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的數(shù)據(jù)庫操作由對(duì)應(yīng)的DBMS的ODBC驅(qū)動(dòng)程序
30、完成。也就是說,不論是FoxPro、Access,還是Oracle數(shù)據(jù)庫,均可用ODBCAPI進(jìn)行訪問。因此可以說,ODBC的最大優(yōu)點(diǎn)是能以統(tǒng)一的方式處理所有的數(shù)據(jù)庫。[8] 2.3 創(chuàng)建ODBC數(shù)據(jù)源 在使用ODBC編程之前需要配置ODBC數(shù)據(jù)源。該數(shù)據(jù)源實(shí)現(xiàn)ODBC與數(shù)據(jù)庫的關(guān)聯(lián)。因此在創(chuàng)建數(shù)據(jù)源之前需要?jiǎng)?chuàng)建數(shù)據(jù)庫。本實(shí)例使用的是SQL Server 2000創(chuàng)建的數(shù)據(jù)庫,數(shù)據(jù)庫名稱為HRM。本節(jié)將詳細(xì)講解如何配置與數(shù)據(jù)庫HRM關(guān)聯(lián)的ODBC。[9] 打開控制面板,在控制面板上有個(gè)“管理工具”選項(xiàng)。打開后可以看到“數(shù)據(jù)源(ODBC)”選項(xiàng)。雙擊它便可開始配置ODBC數(shù)據(jù)源,如圖2.1
31、所示。 注意:有些系統(tǒng)“管理工具”選項(xiàng)不在于控制面板下,而是在“性能和維護(hù)”選項(xiàng)下。因此讀者需要根據(jù)自己的系統(tǒng)進(jìn)行相應(yīng)的選擇。 單擊“添加”按鈕,會(huì)看到“創(chuàng)建新數(shù)據(jù)源”對(duì)話框。在選擇數(shù)據(jù)源驅(qū)動(dòng)程序列表框中選擇最后一項(xiàng),如圖2.2所示。 說明:檢查ODBC數(shù)據(jù)源管理器對(duì)話框的“About”選項(xiàng)卡,可以確定正在使用的ODBC驅(qū)動(dòng)程序的最新版本。該選項(xiàng)卡包含了各種ODBC DLL的版本號(hào)、生產(chǎn)廠商的名稱及出現(xiàn)在SYSTEM文件夾中的文件名。大多數(shù)情況下,通過查看版本號(hào)可以驗(yàn)證ODBC驅(qū)動(dòng)程序是否最新的版本。筆者的ODBC版本信息如圖2.3所示。 在上一步單擊“完成”按鈕后,彈出“Micros
32、oft ODBC SQL Server DSN配置”對(duì)話框。在其中需要填寫數(shù)據(jù)源名稱、數(shù)據(jù)源描述及數(shù)據(jù)源服務(wù)器。本實(shí)例的數(shù)據(jù)源名稱與數(shù)據(jù)庫名稱相同也是HRM,如圖2.4所示。 圖2.1 開始配置ODBC 圖2.2 選擇數(shù)據(jù)源驅(qū)動(dòng)程序 圖2.3 ODBC版本信息 圖2.4 配置數(shù)據(jù)源 配置完數(shù)據(jù)源名稱及服務(wù)器后,單擊“下一步”按鈕,進(jìn)入SQL Server的登錄驗(yàn)證界面。在本實(shí)例中選擇的是Window NT 驗(yàn)證,如圖2.5所示。 登錄配置完成后,單擊“下一步”按鈕進(jìn)入數(shù)據(jù)庫選擇界面,如圖2.6所示。 圖2.5 配置SQL Server登
33、錄方式 圖2.6 選擇數(shù)據(jù)庫 這一步是配置過程中最重要的一步,將ODBC與數(shù)據(jù)庫進(jìn)行關(guān)聯(lián)。在這一步中只選擇所需的數(shù)據(jù)庫,其他選項(xiàng)用默認(rèn)配置即可。 選擇完數(shù)據(jù)庫后,單擊“下一步”按鈕進(jìn)入數(shù)據(jù)庫數(shù)據(jù)約束配置界面。這一步接受默認(rèn)配置不進(jìn)行修改,如圖2.7所示。 完成數(shù)據(jù)庫的配置工作后,單擊“完成”按鈕,進(jìn)入創(chuàng)建ODBC對(duì)話框。在這個(gè)對(duì)話框中顯示了剛剛配置的數(shù)據(jù)源的所有信息,本實(shí)例配置的數(shù)據(jù)源信息如圖2.8所示。 圖2.7 數(shù)據(jù)庫約束 圖2.8 創(chuàng)建ODBC數(shù)據(jù)源 如果對(duì)當(dāng)前信息沒有異議,便可單擊“確定”按鈕開始創(chuàng)建數(shù)據(jù)源。如果創(chuàng)建成功,可以看到用戶數(shù)據(jù)源中多了剛剛配置的
34、HRM數(shù)據(jù)源,如圖2.9所示。 說明:在最后一步,單擊“確定”按鈕創(chuàng)建數(shù)據(jù)源之前,可以單擊“測(cè)試數(shù)據(jù)源”按鈕對(duì)剛剛配置的數(shù)據(jù)源進(jìn)行測(cè)試,如圖2.10所示。 圖2.9 新創(chuàng)建的HRM數(shù)據(jù)源 圖2.10 測(cè)試數(shù)據(jù)源是否配置成功 2.4 ODBC在VC++中的應(yīng)用 VC++的MFC基類庫定義了幾個(gè)數(shù)據(jù)庫類。在利用ODBC編程時(shí),經(jīng)常要使用到CDatabase(數(shù)據(jù)庫類)、CRecordSet(記錄集類)和CRecordView(可視記錄集類)。本節(jié)將對(duì)這3個(gè)類進(jìn)行簡(jiǎn)單的介紹。[10] 1. CDatabase類對(duì)象 CD
35、atabase類對(duì)象提供了對(duì)數(shù)據(jù)源的連接,通過它可以對(duì)數(shù)據(jù)源進(jìn)行操作。
在使用CDatabase之前需要引入頭文件:
#include
36、anUpdate() 如果CDatabase可更新(不是只讀的),則返回非零 CanTransact() 如果數(shù)據(jù)源支持事務(wù),則返回非零 SetLoginTimeout() 設(shè)置數(shù)據(jù)源連接試圖超時(shí)的秒數(shù) SetQueryTimeout() 設(shè)置數(shù)據(jù)庫查詢操作超時(shí)的秒數(shù)。影響以后所有記錄集操作函數(shù)的調(diào)用,如Open()、AddNew()、Edit()及Delete() GetBookmarkPersistence() 標(biāo)識(shí)記錄集對(duì)象上書簽持久化操作 GetCursorCommitBehavior() 標(biāo)識(shí)在打開的記錄集對(duì)象上提交事務(wù)的效果 GetCursorRollbac
37、kBehavior() 標(biāo)識(shí)在打開的記錄集對(duì)象上回滾事務(wù)的效果 數(shù)據(jù)源函數(shù):主要用于連接及關(guān)閉連接數(shù)據(jù)源操作,常用函數(shù)有以下3個(gè)。 Open()建立到數(shù)據(jù)源的一個(gè)連接(通過ODBC驅(qū)動(dòng)程序)。 函數(shù)原型如下: Virtual BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = “ODBC; ” , BOOL bUseCursorLib = TRUE ) ; Open()函
38、數(shù)有以下5個(gè)參數(shù)說明如下。 ① lpszDSN:指定數(shù)據(jù)源名。在lpszConnect參數(shù)中也可包括數(shù)據(jù)源名,此時(shí)lpszDSN必須為 NULL。若在函數(shù)中未提供數(shù)據(jù)源名且使lpszDSN為NULL,則會(huì)顯示一個(gè)數(shù)據(jù)源對(duì)話框,用戶可以在該對(duì)話框中選擇一個(gè)數(shù)據(jù)源。 ② bExclusive:說明是否獨(dú)占數(shù)據(jù)源,由于目前版本的類庫還不支持獨(dú)占方式,故該參數(shù)的值應(yīng)該是false,這說明數(shù)據(jù)源是被共享的。 ③ bReadOnly: 若為true則對(duì)數(shù)據(jù)源的連接是只讀的。 ④ lpszConnect:指定一個(gè)連接字符串,連接字符串中可以包括數(shù)據(jù)源名、用戶賬號(hào)(ID)和口令等
39、信息,字符串中的ODBC表示要連接到一個(gè)ODBC數(shù)據(jù)源上。 ⑤ bUseCursorLib:若為true,若為true,則會(huì)裝載光標(biāo)庫,否則不裝載,快照需要光標(biāo)庫,動(dòng)態(tài)集不需要光標(biāo)庫。 若連接成功,函數(shù)返回true,若返回false,則說明用戶在數(shù)據(jù)源對(duì)話框中按了Cancel按鈕。若函數(shù)內(nèi)部出現(xiàn)錯(cuò)誤,則框架會(huì)產(chǎn)生一個(gè)異常。 OpenEx()函數(shù)建立到數(shù)據(jù)源的一個(gè)連接(通過ODBC驅(qū)動(dòng)程序),實(shí)現(xiàn)與Open()函數(shù)基本相同。 Close()函數(shù)關(guān)閉數(shù)據(jù)源連接。 數(shù)據(jù)庫操作函數(shù)。這些函數(shù)主要實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的各種操作,主要有6個(gè)常見函數(shù),如表2.2所示。 表2.2 CDatabase數(shù)
40、據(jù)庫操作函數(shù) 函 數(shù) 說 明 BeginTrans() 在連接的數(shù)據(jù)源上開始“事務(wù)”。類CRecordset的一系列可回滾的AddNew、Edit、Delete和Update成員函數(shù)調(diào)用。數(shù)據(jù)源必須支持事務(wù)才能使BeginTrans有效 CommitTrans() 完成由從BeginTrans開始的事務(wù)。執(zhí)行這個(gè)事務(wù)會(huì)改變數(shù)據(jù)源的命令 Rollback() 回滾當(dāng)前事務(wù)期間所做的變化,數(shù)據(jù)源返回到BeginTrans調(diào)用時(shí)定義的未改變前的狀況 Cancel() 取消第二個(gè)線程的異步操作或處理 ExecuteSQL() 執(zhí)行一條SQL語句。不返回?cái)?shù)據(jù)記錄 Bin
41、dparameters() 允許在調(diào)用CDatabase::ExecuteSQL()函數(shù)前綁定參數(shù) 2. CRecordSet類對(duì)象 CRecordSet類對(duì)象提供從數(shù)據(jù)源中提取出的記錄集。該對(duì)象通常用于兩種形式:動(dòng)態(tài)行集(dynasets)和快照集(snapshots)。動(dòng)態(tài)行集能與其他用戶所做的更改保持同步??煺占瘎t是數(shù)據(jù)的一個(gè)靜態(tài)視圖。每一種形式在記錄集被打開時(shí)都提供一組記錄,所不同的是,當(dāng)你在一個(gè)動(dòng)態(tài)行集里滾動(dòng)到一條記錄時(shí),由其他用戶或是你的應(yīng)用程序中的其他記錄集對(duì)該記錄所做的更改會(huì)相應(yīng)地顯示出來。 CRecordset類的成員函數(shù)比較多,在這里僅對(duì)常用的幾個(gè)函數(shù)進(jìn)行介
42、紹。 記錄集構(gòu)造函數(shù):利用一個(gè)連接的CDatabase對(duì)象構(gòu)建一個(gè)記錄集對(duì)象。 CRecordset ( CDatabase* pDatabase = NULL); 打開記錄集函數(shù):根據(jù)一個(gè)SQL語句與CDatabase連接,打開一個(gè)記錄集。 Virtual BOOL Open( UINT nOpenType = AFX-DB-USE-DEFAULT-TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none ); 該函數(shù)有以下3個(gè)參數(shù),說明如下。 ① nOpenType: 說明記錄集的類型。如果要求的
43、類型驅(qū)動(dòng)程序不支持,則函數(shù)將產(chǎn)生一個(gè)異常。 ② lpszSQL:一個(gè)SQL的SELECT語句,或是一個(gè)表格。函數(shù)用lpszSQL來進(jìn)行查詢,如果該 參數(shù)為NULL,則函數(shù)會(huì)調(diào)用GetDefaultSQL()獲取默認(rèn)的SQL語句。 ③ dwOptions可以是一些記錄集屬性的集合。 記錄集光標(biāo)移動(dòng)函數(shù):這些函數(shù)實(shí)現(xiàn)在記錄集中根據(jù)實(shí)際情況移動(dòng)光標(biāo)尋找記錄的功能。主要有以下幾個(gè)常見函數(shù): void MoveNext( ); //前進(jìn)一個(gè)記錄 void MovePrev( ); //后退一個(gè)記錄 void MoveFirst( ); //滾動(dòng)到記錄集
44、中的第一個(gè)記錄 void MoveLast( ); //滾動(dòng)到記錄集中的最后一個(gè)記錄 void SetAbsolutePosition( long nRows ); 其中,SetAbsolutePosition()函數(shù)用于滾動(dòng)到由參數(shù)nRows指定的絕對(duì)位置處。若nRows為負(fù)數(shù),則從后往前滾動(dòng)。例如,當(dāng)nRows為-1時(shí),函數(shù)就滾動(dòng)到記錄集的末尾。 注意:該函數(shù)不會(huì)跳過被刪除的記錄。 另外還有一個(gè)Move()函數(shù): virtual void Move ( long nRows, WORD wFetchType = SQL-FETCH-RELATIVE); 通過將wFe
45、tch Type 參數(shù)指定為SQL-FETCH-NEXT、SQL-FETCH-PRIOR、SQL-FETCH-FIRST、SQL-FETCH-LAST和SQL-FETCH-ABSOLUTE,可以完成上面5個(gè)函數(shù)的功能。若wFetchType為SQL-FETCH-RELATIVE,那么將相對(duì)當(dāng)前記錄移動(dòng),若nRows為正數(shù),則向前移動(dòng),若nRows為負(fù)數(shù),則向后移動(dòng)。 在移動(dòng)記錄光標(biāo)時(shí),還有3個(gè)重要的函數(shù)作為參照: BOOL IsEOF( ) const; 如果記錄集為空或滾動(dòng)過了最后一個(gè)記錄,那么函數(shù)返回true,否則返回false。 BOOL IsBOF( ) const;
46、 如果記錄集為空或滾動(dòng)過了第一個(gè)記錄,那么函數(shù)返回true,否則返回false。CRecordView類對(duì)象能以控制的形式顯示數(shù)據(jù)庫記錄。這個(gè)視圖是直接連到一個(gè)CRecordSet對(duì)象的表視圖。 調(diào)用GetRecordCound()函數(shù)可獲得記錄集中的記錄總數(shù),該函數(shù)的原型如下: Long GetRecordCount( ) const; CRecordView類對(duì)象 CRecordView(記錄視圖)是CFormView的派生類,它提供了一個(gè)表單視圖來顯示當(dāng)前記錄,可以通過表單視圖顯示、修改、添加和刪除數(shù)據(jù)。用戶一般需要?jiǎng)?chuàng)建一個(gè)CRecordView的派生類,并在其對(duì)應(yīng)的對(duì)話框模
47、板中加入控件。 記錄視圖使用DDX數(shù)據(jù)交換機(jī)制,在表單中的控件和記錄集之間交換數(shù)據(jù)。一般的DDX都是在控件和控件父窗口的數(shù)據(jù)成員之間交換數(shù)據(jù),而記錄視圖則是在控件和一個(gè)外部對(duì)象(CRecordset的派生類對(duì)象)之間交換數(shù)據(jù),交換數(shù)據(jù)的代碼是ClassWizard自動(dòng)加入的。 此外,CRecordView提供了OnMove()成員函數(shù),處理ID-RECORD-FIRST(滾動(dòng)到記錄集的第一個(gè)記錄)、ID-RECORD-LAST(滾動(dòng)到記錄集的最后一個(gè)記錄)、ID-RECORD-NEXT(前進(jìn)一個(gè)記錄)和ID-RECORD-PREV(后退一個(gè)記錄)這4個(gè)命令消息。由于在本例中沒有用到這個(gè)類對(duì)
48、象,所以在此不再詳述。 第三章 系統(tǒng)需求分析與方案論證 數(shù)據(jù)庫中保存了本實(shí)例所需的所有數(shù)據(jù)信息。員工、保險(xiǎn)、合同及部門的各種信息都保存在數(shù)據(jù)庫中,而且添加、刪除及修改操作也都是針對(duì)數(shù)據(jù)庫進(jìn)行的操作。因此數(shù)據(jù)的設(shè)計(jì)關(guān)系著整個(gè)軟件的實(shí)現(xiàn)流程,在進(jìn)行程序設(shè)計(jì)前需要先行設(shè)計(jì)好數(shù)據(jù)庫。本節(jié)將詳細(xì)介紹本實(shí)例中所用數(shù)據(jù)的設(shè)計(jì)方法。 3.1 需求分析 在對(duì)數(shù)據(jù)庫進(jìn)行設(shè)計(jì)之前,需要進(jìn)行需求分析。無論是什么樣的軟件,都是為了一定的用戶而設(shè)計(jì),因此在進(jìn)行軟件設(shè)計(jì)之前,需要先了解用戶對(duì)軟件的需求。如本實(shí)例實(shí)現(xiàn)的是人事管理,因此在設(shè)計(jì)軟件之前,需要先與人事管理部門進(jìn)行聯(lián)系,獲取他們的需求,
49、然后根據(jù)需求對(duì)軟件進(jìn)行設(shè)計(jì)。 1、編寫目的 為了達(dá)到更高的效益,現(xiàn)在企業(yè)對(duì)員工的管理效率越來越重視。在一個(gè)企業(yè)中,人事管理是很重的一個(gè)環(huán)節(jié),但是人事管理所涉及的信息繁多復(fù)雜,特別是對(duì)于大型企業(yè),所以就需要一款電腦軟件來協(xié)助人事管理者處理這些繁雜的信息。如從幾千甚至是幾萬個(gè)員工中查找一個(gè)員工的信息,手動(dòng)從資料庫中實(shí)現(xiàn)非常的困難,而軟件則僅需要單擊一下鼠標(biāo)即可,可節(jié)省大量的時(shí)間及精力。如果進(jìn)行統(tǒng)計(jì)時(shí),電腦軟件則有更高的效率。 2、背景 隨著經(jīng)濟(jì)的發(fā)展,企業(yè)競(jìng)爭(zhēng)也越來越激烈。如何提高員工效率,成了企業(yè)面臨的一個(gè)重要問題。提高員工效率的前提就是提高員工的管理效率,由于員工信息繁雜且企業(yè)員工數(shù)量
50、龐大,因此有必要設(shè)計(jì)一款軟件來解決這個(gè)問題。 3、任務(wù)概述 根據(jù)企業(yè)人事管理的特點(diǎn),需要實(shí)現(xiàn)以下功能: ⑴ 登錄功能 ⑵ 實(shí)現(xiàn)員工信息查詢、修改功能。 ⑶ 實(shí)現(xiàn)員工的入、離職管理功能。 ⑷ 實(shí)現(xiàn)員工的轉(zhuǎn)正及轉(zhuǎn)正查詢的功能。 ⑸ 實(shí)現(xiàn)員工借調(diào)信息查詢及管理的功能。 ⑹ 實(shí)現(xiàn)員工調(diào)動(dòng)信息查詢及管理的功能。 ⑺ 實(shí)現(xiàn)月末員工信息統(tǒng)計(jì)的功能。 ⑻ 實(shí)現(xiàn)員工勞動(dòng)合同信息查詢及管理的功能。 ⑼ 實(shí)現(xiàn)員工保險(xiǎn)信息查詢及管理的功能。 ⑽ 實(shí)現(xiàn)企業(yè)部門信息查詢及管理的功能。 3.2 設(shè)計(jì)方案 3.2.1 系統(tǒng)方案論證 本項(xiàng)目在初始設(shè)計(jì)時(shí)曾經(jīng)考慮過三套設(shè)計(jì)方案,
51、方案內(nèi)容大致如下: 第一套:系統(tǒng)功能分為四個(gè)模塊,分別為文件操作,數(shù)據(jù)庫操作,系統(tǒng)設(shè)置和幫助文件。 調(diào)動(dòng)模塊,數(shù)據(jù)管理模塊。在這三套方案中,我選擇了第三套方案為開發(fā)方案,原因如下:系統(tǒng)需求分析中要求的文件組成比較簡(jiǎn)單;本系統(tǒng)所需要的系統(tǒng)設(shè)置也比較少;而又由于需求分析中對(duì)查詢功能的要求較多,所以需要著重于查詢功能的設(shè)計(jì);由于對(duì)錄入的需要,本系統(tǒng)著眼于對(duì)單條記錄的編輯。 3.2.2 系統(tǒng)設(shè)計(jì)步驟 第一步:根據(jù)設(shè)計(jì)指標(biāo)要求進(jìn)行系統(tǒng)需求分析,并進(jìn)行系統(tǒng)調(diào)研。 Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C++1.0后,隨
52、著其新版本的不斷問世,Visual C++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。雖然微軟公司推出了 Visual C++.NET(Visual C++7.0),但它的應(yīng)用有很大的局限性,只適用于Windows 2000、Windows XP和Windows NT4.0。所以實(shí)際中,更多的是以Visual C++6.0為平臺(tái)。[11] 它是支持 Win32 平臺(tái)應(yīng)用程序(application)、服務(wù)(service)和控件(control)開發(fā)的可視化編程的集成環(huán)境。與VC++5.0 的最大不同之處是它的幫助功能更強(qiáng)大,MSDN(Microsoft Developer Networking
53、)為包括 VC++6.0 在內(nèi)的所有微軟的程序產(chǎn)品提供在線幫助;另外,類的對(duì)象的可用成員函數(shù)、成員變量及函數(shù)的參數(shù)類型與個(gè)數(shù)都能動(dòng)態(tài)顯示在屏幕上,用戶無須記住那些復(fù)雜而又枯燥乏味的函數(shù)名及復(fù)雜的參數(shù),這無疑使得用 VC++編程更加容易。所以 VC++6.0 可謂是 Microsoft 公司的王牌產(chǎn)品,編程功能強(qiáng)大而贏得廣大程序的偏愛。 第二步:明確系統(tǒng)實(shí)現(xiàn)功能。 第三步:構(gòu)建整體框架,進(jìn)行系統(tǒng)各個(gè)模塊設(shè)計(jì): 該課題的研究總體分七大模塊: 1.登錄界面:設(shè)置使用人事管理系統(tǒng)的用戶及其使用權(quán)限 2.主界面:該模塊提供管理系統(tǒng)的主界面,是主系統(tǒng)的唯一入口和出口,該界面提供用戶選 擇并
54、調(diào)用各子模塊 3.瀏覽模塊:該模塊提供全部人事檔案的界面 4.查詢模塊:對(duì)檔案卡片的查詢功能,包括精確條件查詢和模糊條件查詢。 5.統(tǒng)計(jì)模塊:按規(guī)定的要求進(jìn)行的統(tǒng)計(jì),它可以較詳細(xì)直觀的統(tǒng)計(jì)出要求的結(jié)果。統(tǒng)計(jì)可以 詳細(xì)的按職務(wù)、按職稱、按部門、按學(xué)歷以數(shù)字的形式或者以表的形式顯示出來。 6.編輯模塊:有管理員才擁有數(shù)據(jù)修改及刪除的權(quán)利。在這些功能里詳細(xì)的記錄了所有單位 員工的資料。 7.報(bào)表模塊:報(bào)表就是用戶使用打印機(jī)輸出數(shù)據(jù)庫數(shù)據(jù)和文檔的一種常用的方式。該模塊按 一定格式和要求以報(bào)表形式輸出。 該課題的技術(shù)關(guān)鍵: 1.訪問的安全性,主要是設(shè)置登錄界面。 2.人事檔案的錄入、修
55、改和刪除等的處理。 3.人事檔案管理的精確查詢和模糊查詢。 4.人事檔案管理的打印。 第四步:進(jìn)行軟件編程,編寫源代碼實(shí)現(xiàn)各模塊功能,并對(duì)各模塊進(jìn)行測(cè)試,使各模塊能正常運(yùn)行,為下一步的系統(tǒng)整體成功運(yùn)行做好準(zhǔn)備工作。 第五步:完善系統(tǒng)設(shè)置,并對(duì)系統(tǒng)進(jìn)行測(cè)試,運(yùn)行系統(tǒng)軟件,發(fā)現(xiàn)問題、修正系統(tǒng),反復(fù)測(cè)試,使系統(tǒng)趨于穩(wěn)定、準(zhǔn)確。 第四章 系統(tǒng)總體設(shè)計(jì) 4.1 概要設(shè)計(jì) 通過需求分析對(duì)項(xiàng)目有了簡(jiǎn)略的思路后,需要進(jìn)行概要設(shè)計(jì)。這個(gè)階段即是對(duì)需求分析的具體化(也稱最初的需求集合
56、),又是下一步設(shè)計(jì)數(shù)據(jù)庫必經(jīng)的步驟。根據(jù)需求分析的結(jié)果,系統(tǒng)可分為5個(gè)模塊,即主界面模塊、員工管理模塊、保險(xiǎn)管理模塊、合同管理模塊及部門管理模塊。概要設(shè)計(jì)如圖4.1所示。[12] 圖4.1 系統(tǒng)概要設(shè)計(jì) 主界面模塊實(shí)現(xiàn)功能導(dǎo)航,合同管理模塊實(shí)現(xiàn)員工勞動(dòng)合同的查詢、修改、新增及刪除的功能。保險(xiǎn)及部門管理模塊也都實(shí)現(xiàn)了各自的查詢、修改、新增及刪除的功能。員工管理模塊實(shí)現(xiàn)了員工的信息查詢、編輯的功能,還實(shí)現(xiàn)了離、入職管理、轉(zhuǎn)正管理、借調(diào)管理、調(diào)動(dòng)管理的功能,最后實(shí)現(xiàn)了員工的月末統(tǒng)計(jì)功能。 4.2 數(shù)據(jù)庫設(shè)計(jì) 通過前面的分析與功能的簡(jiǎn)單設(shè)計(jì),可以設(shè)計(jì)8個(gè)表實(shí)現(xiàn)人事管理系統(tǒng)。這8個(gè)表分別為員
57、工信息表、離職員工信息表、轉(zhuǎn)正表、借調(diào)表、調(diào)動(dòng)表、部門表、合同表及保險(xiǎn)表。下面將簡(jiǎn)單介紹這些表的設(shè)計(jì)。 (1) 員工信息表(hrworker)。在這個(gè)表中主要保存了員工的一些基本信息,包括員工編號(hào)、姓名、性別、身份證號(hào)、學(xué)歷、家庭住址、聯(lián)系方式、緊急聯(lián)系人等。員工信息表的設(shè)計(jì)如表4.1所示。 表4.1 員工信息表 值 類 型 說 明 wCID 字符 員工編號(hào) wName 字符 員工姓名 w1Department 字符 1級(jí)部門 w2Department 字符 2級(jí)部門 wSex 字符 性別 wPosition 字符 職位 wMail 字符
58、 電子郵件 wID 字符 身份證號(hào) wBorn 時(shí)間 出生日期 wNational 字符 民族 wHouseholdAddr 字符 戶籍所在地 wBMarriaged 字符 婚姻情況 wGraduate 字符 畢業(yè)院校 wMajor 字符 專業(yè) wDegree 字符 學(xué)歷 wGraduateTime 時(shí)間 畢業(yè)時(shí)間 wEntrantTime 時(shí)間 入職時(shí)間 wPhone 字符 聯(lián)系電話 wAddress 字符 家庭住址 wEmergencyMan 字符 緊急聯(lián)系人 wEmergencyCall 字符 緊急聯(lián)系電
59、話 (2) 離職員工表(hrlworker)。在該表中記錄了所有離職員工的信息,與員工信息表不同之處是, 該表保存了離職員工的離職時(shí)間、離職類型及離職成本這3條信息。離職員工表的設(shè)計(jì)如表4.2所示。 表4.2 離職員工表 值 類 型 說 明 wCID 字符 員工編號(hào) wName 字符 員工姓名 w1Department 字符 1級(jí)部門 w2Department 字符 2級(jí)部門 wSex 字符 性別 wPosition 字符 職位 wMail 字符 電子郵件 wID 字符 身份證號(hào) wBorn 時(shí)間 出生日期 w
60、National 字符 民族 wHouseholdAddr 字符 戶籍所在地 wBMarriaged 字符 婚姻情況 wGraduate 字符 畢業(yè)院校 wMajor 字符 專業(yè) wDegree 字符 學(xué)歷 wGraduateTime 時(shí)間 畢業(yè)時(shí)間 wEntrantTime 時(shí)間 入職時(shí)間 wLeaveTime 時(shí)間 離職時(shí)間 wLeaveValue 整型 離職成本 wLeaveType 字符 離職類型 wPhone 字符 聯(lián)系電話 wAddress 字符 家庭住址 wEmergencyMan 字符 緊急聯(lián)系人
61、 wEmergencyCall 字符 緊急聯(lián)系電話 (3) 員工轉(zhuǎn)正信息表(hrrenew)。轉(zhuǎn)正信息表主要保存企業(yè)中所有員工的轉(zhuǎn)正信息,包括轉(zhuǎn)正編號(hào)、轉(zhuǎn)正員工的編號(hào)、轉(zhuǎn)正員工姓名、轉(zhuǎn)正時(shí)間、原定轉(zhuǎn)正時(shí)間、試用期工資及轉(zhuǎn)正后工資這7條信息。職工信息表的設(shè)計(jì)如表4.3所示。[13] 表4.3 員工轉(zhuǎn)正信息表 值 類 型 說 明 rID 字符 轉(zhuǎn)正編號(hào) wID 字符 轉(zhuǎn)正員工的編號(hào) wName 字符 轉(zhuǎn)正員工姓名 rTime 時(shí)間 轉(zhuǎn)正時(shí)間 rScheduledTime 時(shí)間 原定轉(zhuǎn)正時(shí)間 rProbationWage
62、s 字符 試用期工資 rRenewWages 字符 轉(zhuǎn)正后工資 (4) 員工借調(diào)信息管理表(hrborrow)。在該表中保存了企業(yè)中所有借調(diào)員工的信息。包括借調(diào)員工的編號(hào)、原部門編號(hào)、原部門主管編號(hào)、現(xiàn)部門編號(hào)、現(xiàn)部門主管編號(hào)、借調(diào)開始時(shí)間、擬定借調(diào)終止時(shí)間和實(shí)際借調(diào)終止時(shí)間等信息。員工借調(diào)信息管理表的設(shè)計(jì)如表4.4所示。 表4.4 員工借調(diào)信息管理表 值 類型 說明 bID 字符 借調(diào)編號(hào) wID 字符 借調(diào)員工的編號(hào) bOrigDID 字符 原部門編號(hào) bOrigMID 字符 原部門主管編號(hào) bOrigPosition 字符 原崗位 bN
63、owDID 字符 現(xiàn)部門編號(hào) bNowMID 字符 現(xiàn)部門主管編號(hào) bNowPosition 字符 現(xiàn)崗位 bStartTime 時(shí)間 借調(diào)開始時(shí)間 bPEndTime 時(shí)間 擬定借調(diào)終止時(shí)間 bEndTime 時(shí)間 實(shí)際借調(diào)終止時(shí)間 (5) 員工調(diào)動(dòng)信息表(hrmobilize)。在該表中記錄了所有調(diào)動(dòng)員工的信息。包括調(diào)動(dòng)員工的編號(hào)、原部門編號(hào)、原部門主管編號(hào)、原崗位、現(xiàn)部門編號(hào)、現(xiàn)部門主管編號(hào)、現(xiàn)崗位及調(diào)動(dòng)開始時(shí)間等信息。員工調(diào)動(dòng)信息表的設(shè)計(jì)如表4.5所示。 表4.5 員工調(diào)動(dòng)信息表 值 類型 說明 mID 字
64、符 調(diào)動(dòng)編號(hào) wID 字符 調(diào)動(dòng)員工的編號(hào) mOrigDID 字符 原部門編號(hào) mOrigMID 字符 原部門主管編號(hào) bOrigPosition 字符 原崗位 mNowDID 字符 現(xiàn)部門編號(hào) mNowMID 字符 現(xiàn)部門主管編號(hào) bNowPosition 字符 現(xiàn)崗位 mTime 時(shí)間 調(diào)動(dòng)開始時(shí)間 (6) 部門信息表(hrdepartment)。部門信息表中主要保存了現(xiàn)企業(yè)的所有部門信息,包括部門名稱、部門地址、部門主管、部門級(jí)別、上級(jí)部門及部門開業(yè)時(shí)間等信息。部門信息表的設(shè)計(jì)如表4.6所示。 表4.6 部門信息表 值 類型 說
65、明 dID 字符 部門編號(hào) dName 字符 部門名稱 dManagerID 字符 部門主管 dPID 字符 上級(jí)部門 dLevel 字符 部門級(jí)別 dAddres 字符 部門地址 dPhone 字符 部門電話 dStartTime 時(shí)間 部門開業(yè)時(shí)間 (7) 保險(xiǎn)信息表(hrinsurance)。該表中記錄了企業(yè)員工的保險(xiǎn)情況,如保險(xiǎn)編號(hào)、保險(xiǎn)起始時(shí)間、公積金賬號(hào)、公積金開始時(shí)間等。保險(xiǎn)信息表的設(shè)計(jì)如表4.7所示。 表4.7保險(xiǎn)信息表 值 類型 說明 iID 字符 保險(xiǎn)編號(hào) wID 字符 員工編號(hào) wName 字符
66、員工姓名 iStartTime 時(shí)間 保險(xiǎn)起始時(shí)間 iType 字符 保險(xiǎn)類型 accuFundCount 字符 公積金賬號(hào) accuFundSTime 時(shí)間 公積金開始時(shí)間 (8) 合同信息表(hrcontract)。合同信息表保存企業(yè)中所有員工的勞動(dòng)合同信息,包括合同編號(hào)、員工編號(hào)、員工姓名、合同生效日期、合同終止日期及續(xù)簽日期等信息。合同信息表的設(shè)計(jì)如表4.8所示。 表4.8 合同信息表 值 類 型 說 明 cID 字符 合同編號(hào) wID 字符 員工編號(hào) wName 字符 員工姓名 wRegWTime 時(shí)間 入職時(shí)間 cStartTime 時(shí)間 合同生效日期 wCStopTime 時(shí)間 合同終止日期 cReStartTime 時(shí)間 續(xù)簽日期 cReStopTime 時(shí)間 續(xù)簽終止日期 第五章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 5.1 主界面的設(shè)計(jì)與實(shí)現(xiàn) 為了界面的美觀,在圖像編輯軟件中為主界面窗體設(shè)計(jì)一個(gè)背景圖像,如圖5.1所示。圖像上“員工管理”、“社保管理”
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案