人事管理系統的設計與實現.doc
《人事管理系統的設計與實現.doc》由會員分享,可在線閱讀,更多相關《人事管理系統的設計與實現.doc(39頁珍藏版)》請在裝配圖網上搜索。
1、 人事管理系統的設計與實現摘要:隨著企業(yè)(單位)自身人力資源的日益龐大、復雜程度逐漸增強,人機作坊再也無法適應如今企業(yè)的人事管理了,取代的是運用各種領域的知識,結合計算機科學而開發(fā)的人事管理系統。人事管理系統是典型的信息管理系統(MIS),本系統的開發(fā)主要包括后臺數據庫的建立和維護以及前端應用程序的開發(fā)兩個方面。一個好的系統,要能夠向用戶提供優(yōu)質、安全、快捷的服務。本系統操作簡便,界面友好,安全,實用,靈活,在功能上對新進員工加入時人事檔案的建立,老員工轉出時檔案的刪除,在職員工職位變動的檔案修改以及員工工資管理、員工信息查詢等都能很好的實現。本系統采用功能強大的Visual C+ 6.0 作
2、為界面和功能的開發(fā)工具和SQL Sever 2000作為后臺數據庫,利用其提供的各種面向對象開發(fā)工具進行界面和數據庫的開發(fā),最終實現本人事管理信息系統。 關鍵詞:人事管理系統 SQL Sever2000 信息查詢 The designing and implement of the TANGBU Middle School human resource management system Abstract:Along with their own human resources increasing, complexity growing, the man-machine workshop a
3、lso is unable adapt the present enterprises personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology. Personnel management system is a typical management information system (MIS), including the establishment an
4、d maintenance of the background-database and front-end application development. A good system, it could provide high quality, safety, quick service. This system has an easily operation, a friendly interface, safety, practicality, flexibility, it can well implemented on the function in establishment
5、of personnel records when new employees join in and deletion of the file when old employees transferred out and modification of the file when personnel change their position and employee salary management and staff information query.This system uses the powerful Visual C+ 6.0 as the interface and fu
6、nctions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools and finish the human resource management system.Key words: human resource management system SQL Sever2000 information inquir
7、y 一、前言(一)系統概述1. 人事管理系統介紹HRMS(人事管理系統Human Recource Manage System)系統,是一個用計算機對各種各類人事檔案信息進行日常的管理,迅速準確地完成各種信息的統計計算和匯總工作。隨著計算機和網絡技術的廣泛應用,人案管理系統成為現代企業(yè)(單位)管理中不可缺少的一部分,為適應現代化制度要求,實現企業(yè)(單位)勞動人事檔案管理的科學化和規(guī)范化。作為計算機應用的一部分,使用計算機對人事信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事管理的效率。其主要功能一
8、般包含:人員添加功能、查詢功能、修改功能、刪除功能以及數據存儲,而且系統要符合操作簡便、界面友好、靈活、實用、安全的要求出發(fā)。換句話說,HRMS系統的最終目的是使管理員根據此系統提供的功能能夠快速、準確地管理好企業(yè)(單位)的人力資源。2.項目背景在80年代初發(fā)展起來的國內的酒店管理系統,充分吸收了國外管理系統的精華,再結合國內的實際情況,逐步發(fā)展成熟,到90年代初期已形成了幾個較成熟的軟件系統,同時,產生了幾家專職從事賓館業(yè)計算機管理系統的公司。到了90年代中后期,隨著計算機的普及應用,計算機技術的不斷發(fā)展,人事管理系統的發(fā)展到了一個新的時期,新的系統平臺、新的系統特點及發(fā)展方向不斷涌現,主要
9、體現在系統基本轉到客戶機/服務器模式下的Windows版,功能更加細致完善,系統更加穩(wěn)定可靠。2000年以后,我國企業(yè)信息化走向了以ERP為主的道路,許多外國ERP廠商如SAP、BAAN、ORACLE、FOUTH SHIFT等紛紛進入中國,國內目前也已有數十家ERP軟件供應商,不少已經形成商品化且有幾百家用戶。根據對學校的訪談,了解到學校內并沒有一款專門的軟件用來對人事的管理,基本上是用手工記錄的方法對檔案信息進行處理,效率低,安全低,查詢極不方便,由于是用紙質記錄,會因為天氣等原因導致數據丟失。本系統再加上數據庫,就可以很好地解決上面所發(fā)現的問題。在系統設計過程中,盡量采用易懂易讀的人機界面
10、,使用戶可以在短期內完全掌握。始終把系統的正確性放在首位,力求數據的完整和處理的正確性。在此基礎上優(yōu)化程序代碼,加速系統運行和減少對系統資源的占用。(二)開發(fā)工具介紹1.開發(fā)工具:Microsoft Visual C+ 6.0 微軟公司的VC+6.0是Windows應用程序開發(fā)工具,是目前最為廣泛的、易學易用的面向對象的開發(fā)工具。它提供了大量的控件,通過這些控件來進行界面的設計和實現各種功能,大大減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性,也將可視化界面與面向對象技術完善、緊密地結合起來,友好的集成開發(fā)界面,可視化的雙向開發(fā)模式,良好的數據庫應用支
11、持,高效的程序開發(fā)和程序運行等等,這些簡單、高效的特點使它成為編程者的最愛。2.數據庫:Microsoft SQL SERVER 2000SQL SERVER2000 是微軟公司推出的基于Windows的客戶機/服務器關系型數據庫管理系統 RDBMS。它引入了大量先進的數據庫技術,代表了未來數據庫技術的發(fā)展趨勢,可以為各種用戶提供完整的數據庫應用解決方案。除了其關系型系統的內核之外,它的分布式查詢處理、強大的觸發(fā)器功能、方便的數據發(fā)布等特點,使它充滿著未來數據庫技術的氣息。SQL SERVER2000具有如下特點:(1)客戶機/服務器關系型客戶機/服務器體系結構把整個任務劃分為在客戶機上完成的
12、任務和在服務器上運行的任務,客戶機負責組織與用戶的交互和顯示數據;服務器負責數據的存儲和管理; 客戶機向服務器發(fā)出操作請求,服務器根據用戶的請求處理數據,并把結果返回客戶。(2)支持分布式數據庫結構在一個或多個網絡中可有多個 SQL Server,用戶可以將在邏輯上作為一個整體的數據庫的 數據分別存放在各個不同的 SQL Server 服務器上,成為分布式數據庫結構??蛻舳丝煞謩e 或同時向多個 SQL Server 服務器存取數據,這樣可以降低單個 SQL Server 的處理負擔,提 高系統執(zhí)行效率。(3)易用性、可伸縮性、集成性SQL SERVER2000它擁有微軟產品的一貫特性,符合用戶
13、的操作習慣,簡單易用;它使用的是動態(tài)數據庫,當用戶的數據超過原先申請的大小時,數據庫文件可自動擴大,直到占滿整個磁盤空間;它已經與Windows 2000 以上的操作系統緊密結合,能夠提供更加有效的安全性。 二、 系統可行性研究可行性,是指在當前情況下,設計開發(fā)這個系統是否有必要,是否具備必要的條件,它不僅包括必要性,還包括合理性。系統的可行性分析,是針對設計一個系統,它的設計是否存在內外部的必要條件,包括技術上、資金上、經濟上、人力資源以及組織管理上的必要條件,同時還要分析在目前條件下是否有必要設計這樣一個系統。在改革深入和市場經濟高速發(fā)展的今天,人事管理的信息量和信息類型越來越大,工作流程
14、越來越清晰,社會分工越來越細,原來傳統上的人工處理方式和單機管理系統越來越來不能適應人事管理的需要,不能滿足新形勢下企業(yè)人事管理的需要。因此,必須有一套應用于網絡時代的適應于新需求上的人事管理系統。而且每一個企業(yè)的人事管理又是錯綜復雜的。(一)技術可行性研究本系統所采用的軟硬件平臺最低要求:1.硬件要求:客戶端:CPU:1GHz以上的處理器。內存:256MB,推薦512MB。硬盤:150MB以上剩余空間。聲卡、網卡、顯卡:一般集成的即可。顯示像素:最低800*600,最佳效果1024*768。服務器:CPU:Intel E52002.5GHz2M緩存。內存:1GB,推薦2GB。硬盤:80G以上
15、剩余空間。聲卡、顯卡:一般集成的即可。網卡:速率要達到1Gbps;顯示像素:最低800*600,最佳效果1024*768。2.軟件要求:Microsoft SQL server 2000Microsoft Visual C+ 6.0Microsoft Windows XP professional目前計算機硬件技術發(fā)展迅猛,在硬件上完全符合本系統的要求。3.技術方面:Visual C+是一種可視化的、面對對象和條用事件驅動方式的結構化高級程序設計,可用于開發(fā)Windows環(huán)境下的種類應用程序。它簡單易學、效率高,且功能強大,可以與Windows的專業(yè)開發(fā)工具SDK相媲美,而且程序開發(fā)人員不必具
16、有C/C+編程基礎。在Visual C+環(huán)境下,利用事件驅動的編程機制、新穎易用的可視化設計工具,使用Windows內部的應用程序接口(API)函數,以及動態(tài)鏈接庫(DLL)、動態(tài)數據交換(DDE)、對象的鏈接與嵌入(OLE)、動態(tài)數據訪問(ADO)等技術,可以高效、快速地開發(fā)出Windows環(huán)境下功能強大、圖形界面豐富的應用軟件系統。面向對象的程序設計:4.0版以后的Visual C+支持面向對象的程序設計,但它與一般的面向對象的程序設計語言(C+)不完全相同。在一般的面向對象程序設計語言中,對象由程序代碼和數據組成,是抽象的概念;而Visual C+則是應用面向對象的程序設計方法(OOP)
17、,把程序和數據封裝起來作為一個對象,并為每個對象賦予應有的屬性,使對象成為實在的東西。在設計對象時,不必編寫建立和描述每個對象的程序代碼,而是用工具畫在界面上,Visual C+自動生成對象的程序代碼并封裝起來。每個對象以圖形方式顯示在界面上,都是可視的。結構化程序設計語言:Visual C+是在C+語言的基礎上發(fā)展起來的,具有高級程序設計語言的語句結構,接近于自然語言和人類的邏輯思維方式。Visual C+語句簡單易懂,其編輯器支持彩色代碼,可自動進行語法錯誤檢查,同時具有功能強大且使用靈活的調試器和編譯器。6Visual C+是解釋型語言,在輸入代碼的同時,解釋系統將高級語言分解翻譯成計算
18、機可以識別的機器指令,并判斷每個語句的語法錯誤。在設計Visual C+程序的過程中,隨時可以運行程序,而在整個程序設計好之后,可以編譯生成可執(zhí)行文件(.EXE),脫離Visual C+環(huán)境,直接在Windows環(huán)境下運行。訪問數據庫:Visual C+具有強大的數據庫管理功能,利用數據控件和數據庫管理窗口,可以直接建立或處理Microsoft Access格式的數據庫,并提供了強大的數據存儲和檢索功能。同時,Visual Basic還能直接編輯和訪問其他外部數據庫,如dBASE,FoxPro,Paradox等,這些數據庫格式都可以用Visual Basic編輯和處理。Visual C+提供開
19、放式數據連接,即ODBC功能,可通過直接訪問或建立連接的方式使用并操作后臺大型網絡數據庫,如SQL Server,Oracle等。在應用程序中,可以使用結構化查詢語言SQL數據標準,直接訪問服務器上的數據庫,并提供了簡單的面向對象的庫操作指令和多用戶數據庫訪問的加鎖機制和網絡數據庫的SQL的編程技術,為單機上運行的數據庫提供了SQL網絡接口,以便在分布式環(huán)境中快速而有效地實現客戶/服務器(client/server)方案。(二)操作可行性研究系統的易用性和易維護性要求系統設計的過程中更加的人性化操作。本系統的設計采用人性化的設計,界面友好、靈活,可以使得每個使用系統的人都可以很快地上手,短時間
20、內熟練使用,也可以使得進行維護的人很快的了解系統。(三)經濟可行性研究資金可得性:由于系統開發(fā)并不復雜,操作起來也比較簡單,只需一些基本的編輯軟件,另外具備網絡中心的一些資源優(yōu)勢,因此開發(fā)費用較低。經濟合理性:由于該系統用于企業(yè)工作的大部分信息發(fā)布和傳遞工作,不僅能夠節(jié)省大量的人工信息傳遞任務,提高了工作效率,更加有利于整個企業(yè)各部門之間的無紙化辦公的推廣。(四)社會可行性研究網絡安全技術的不斷提升,網絡管理人事在實際運用中越來越被企業(yè)或個人所接受(這些都可以在實際生活中找到材料和數據。),并且在不斷的提升和表現它在實際企業(yè)活動中的經濟價值,這個經濟價值也是當前的企業(yè)所期望看到的。人事管理工作
21、覆蓋面廣,涉及到機構設置、人員調配、員工培訓、考核、獎懲、工資福利待遇等多個方面。人事管理活動中產生的大量數據和信息,如:各級機構的層次構建,職工的自然狀況,職稱、職務變動情況,考核培訓結果,專業(yè)技術工作及主要業(yè)績以及針對這些數據進行的各類統計報表的制作和綜合分析等。對如此多的數據、信息的管理、開發(fā)及運用,都必須在規(guī)范化和標準化的基礎上實現,借助于網絡化管理手段能夠滿足這些要求。 三、 需求分析需求分析是軟件定義時期的最后一個階段,也是設計數據庫的一個起點,它確定了系統必須完成哪些工作,提出完整、準確、清晰和具體的要求,直接影響到后面各個階段的設計,及設計結果是否合理和實用。需求分析的任務是通
22、過詳細調查現實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(手工系統/計算機系統)工作概況,明確用戶的各種需求,然后在此基礎上確定新系統的功能。新系統必須充分考慮今后可能的擴充和改變,不能僅僅按當前應用需求來設計系統。需求分析的結果是系統開發(fā)的基礎,關系到工程的成敗和軟件產品的質量。因此必須用行之有效的方法對軟件需求進行嚴格的審查驗證。事實上,需求分析是數據庫開發(fā)中最難的任務之一。因為,第一,系統本身是可變的,用戶的需求必須不斷調整,使之與這種變化相適應。第二,用戶很難說清某部分工作的功能處理過程。所以,設計人員必須認識到:在整個需求分析以及系統設計過程中,用戶參與的重要性,通過各種
23、方法展開調查分析。(一)功能需求該系統分為六個模塊:系統管理、人事管理、工資管理、考勤管理、合同管理、權限管理。系統管理:該模塊主要是學校信息查詢,用戶密碼修改和系統的安全退出。人事管理:該模塊是關于單位的人事信息維護,首先是對入職員工的基本信息的錄入、修改、瀏覽等操作;其次是職工人事檔案基本信息的管理;最后,并對單位的人事信息從工種,專業(yè),學歷等屬性進行統計分析。工資管理:該模塊主要是關于單位的薪資信息維護,系統管理員能進入該模塊給員工進行工資管理,職工的工資主要是工資方案計算得出,工資方案是由工資項目進行組合而成。另外還能對員工的工資信息能進行調整??记诠芾恚涸撃K主要涉及到單位職工的考勤
24、統計??记谥饕侨粘?记?,請假考勤、上課考勤幾大內容。合同管理:合同是當事人或當事雙方之間設立、變更、終止民事關系的協議,受法律保護。該模塊主要是單位的合同信息維護,對合同的錄入要有嚴格要求,一絲不茍;對合同的查詢要快速,準確。權限管理:該功能模塊要實現管理員可以添加職工,對所有職工的信息進行查詢,修改,刪除,普通職工只能查詢個人信息。系統管理員擁有修改權限的權限。本系統的權限劃分為兩部分:(1)普通職工:只能查詢個人信息,無修改權限。(2)管理員:即超級管理員,可以完成對檔案信息的錄入、查詢、修改。刪除,管理權限。后臺數據庫:數據庫主要記錄以下信息:l 學校概況信息l 職工個人檔案信息。l
25、職工工資信息。l 職工合同信息。l 職工考勤記錄信息。l 職工請假記錄信息。(二)系統操作流程分析管理員用戶進入系統時要進行安全性檢查,防止非法用戶進行系統破壞數據及威脅系統安全,避免不必要的損失。只有合法的用戶在輸入正確的密碼后方可進入系統。用戶登錄通過權限判斷,普通用戶只能查詢信息,管理員用戶可以進行信息錄入、修改和刪除等操作,其主要操作流程(如圖31所示):圖31為系統主要操作流程圖(三)系統數據流分析數據流圖是系統的邏輯模型,然而任何計算機系統實質上都是信息處理系統。也就是計算機系統本質上都是把輸入數據變換成輸出數據。因此,任何系統的基本模型(如圖32所示)都有如干個數據源點/終點以及
26、一個處理組成,這個處理就代表了系統對數據加工變換的基本功能。圖32人事管理系統基本模型1、 頂層數據流圖基本的系統模型比較太抽象了,對人事管理系統所能了解到的信息非常有限,下一步頂層流程圖(如圖33所示)應該把基本系統模型細化,描繪系統的主要功能。圖33為人事管理系統數據流圖2.人事管理數據流圖人事管理數據流圖(如圖34所示):圖34為人事管理層數據流圖(四)數據庫的需求分析數據庫系統應充分熟悉用戶各方面的需求,對于本系統用戶的需求具體體現在各種信息的提供、保存、更新和查詢,這要求數據庫的結構能充分滿足各種信息的輸入和輸出,收集基本數據、數據結構及數據處理的流程,為后面的具體設計打下數據基礎。
27、1數據錄入和處理的準確性和實時性:數據的準確輸入是數據處理的前提,錯誤的輸入會導致系統輸出的異常和不正確,從而使系統的工作失去意義。數據的輸入來源是手工輸入。手工輸入數據要考慮數據的長度和數據的屬性。在系統中,數據的輸入往往是大量的,因此系統要有一定的處理能力,以保證迅速的處理數據。2數據的一致性與完整性:由于系統的數據是共享的,在不同的部門中,信息是共享數據,所以如何保證這些數據的一致性,是系統必須解決的問題。要解決這一問題,要有一定的人員維護數據的一致性,在數據錄入處控制數據的去向,并且要求對數據庫的數據完整性進行嚴格的約束。對于輸入的數據,要為其定義完整性規(guī)則,如果不能符合完整性約束,系
28、統應該拒絕該數據。 四、 概要設計 (一)系統目標設計人事管理系統可以用于支持單位完成勞動人事管理工作,有如下3個方面的目標。 使得單位的管理更加規(guī)范化。 高效率完成勞動人事管理的日常業(yè)務,包括新員工加入時人事檔案的建立,員工請假、員工的工資管理等。 支持單位進行勞動人事管理及其相關方面的科學決策,如領導根據現有的員工數目決定招聘的人數等。(二)開發(fā)設計思想本系統開發(fā)設計思想有以下幾點。盡量采用公司現有軟硬件環(huán)境,及先進的管理系統開發(fā)方案,從而達到充分利用公司現有資源,提高系統開發(fā)水平和應用效果的目的。系統應符合公司人事管理的規(guī)定,滿足公司日常人事管理工作需要,并達到操作過程中的直觀、方便、實
29、用、安全等要求。系統采用C/S體系結構,Client(客戶端)負責提供表達邏輯、顯示用戶界面信息、訪問數據庫服務器;Server(服務器端)則用于提供數據服務。系統分析等前期工作應盡量詳細完善,以便公司以后體系結構的改變,對于一些安全性要求不高的信息可以方便的采用Brower/Server的方式進行訪問。系統采用模塊化程序設計方法,即便于系統功能的各種組合和修改,又便于未參與開發(fā)的技術維護人員補充、維護。系統應具備數據庫維護功能,及時根據用戶需求進行數據的添加、刪除、修改等操作。(三)系統功能分析在系統開發(fā)總體任務的基礎上完成系統功能分析。系統開發(fā)的總體任務一般由領導、包括人事處領導提出。本例
30、中的人事管理系統需要完成如下功能。 人力資源管理:包括用戶列表、添加職工、職工查詢、職工信息修改 考勤管理:包括考勤規(guī)則、假別管理、請假記錄、考勤記錄 系統管理:學校信息、職工密碼修改、安全退出系統 工資管理:包括添加員工工資信息、修改員工工資信息、工資信息搜索(四)系統功能模塊設計根據需求分析,把客戶關系管理系統劃分為以下功能模塊(如圖41):圖4-1為系統主要功能模塊系統總體結構如圖4-2所示:圖4-2為系統總體結構圖 五、 系統詳細設計 (一)VC+利用ADO操作數據庫1.ADO概述ADO是Microsoft為最新和最強大的數據訪問范例 OLE DB 而設計的,是一個便于使用的應用程序層
31、接口。ADO 編寫應用程序以通過 OLE. DB 提供者訪問和操作數據庫服務器中的數據。ADO 最主要的優(yōu)點是易于使用、速度快、內存支出少和磁盤遺跡小。ADO 在關鍵的應用方案中使用最少的網絡流量,并且在前端和數據源之間使用最少的層數,所有這些都是為了提供輕量、高性能的接口。OLE DB是一組”組件對象模型”(COM) 接口,是新的數據庫低層接口,它封裝了ODBC的功能,并以統一的方式訪問存儲在不同信息源中的數據。OLE DB是Microsoft UDA(Universal Data Access)策略的技術基礎。OLE DB 為任何數據源提供了高性能的訪問,這些數據源包括關系和非關系數據庫、
32、電子郵件和文件系統、文本和圖形、自定義業(yè)務對象等等。也就是說,OLE DB 并不局限于 ISAM、Jet 甚至關系數據源,它能夠處理任何類型的數據,而不考慮它們的格式和存儲方法。在實際應用中,這種多樣性意味著可以訪問駐留在 Excel電子數據表、文本文件、電子郵件/目錄服務甚至郵件服務器,諸如 Microsoft Exchange 中的數據。但是,OLE DB 應用程序編程接口的目的是為各種應用程序提供最佳的功能,它并不符合簡單化的要求。您需要的API 應該是一座連接應用程序和OLE DB 的橋梁,這就是 ActiveX Data Objects (ADO)。2.ADO接口簡介ADO庫包含三個
33、基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。_ConnectionPtr接口返回一個記錄集或一個空指針。通常使用它來創(chuàng)建一個數據連接或執(zhí)行一條不返回任何結果的SQL語句,如一個存儲過程。使用_ConnectionPtr接口返回一個記錄集不是一個好的使用方法。對于要返回記錄的操作通常用_RecordserPtr來實現。而用_ConnectionPtr操作時要想得到記錄條數得遍歷所有記錄,而用_RecordserPtr時不需要。_CommandPtr接口返回一個記錄集。它提供了一種簡單的方法來執(zhí)行返回記錄集的存儲過程和SQL語句。_Rec
34、ordsetPtr是一個記錄集對象。與以上兩種對象相比,它對記錄集提供了更多的控制功能,如記錄鎖定,游標控制等。同_CommandPtr接口一樣,它不一定要使用一個已經創(chuàng)建的數據連接,可以用一個連接串代替連接指針賦給_RecordsetPtr的connection成員變量,讓它自己創(chuàng)建數據連接。如果你要使用多個記錄集,最好的方法是同Command對象一樣使用已經創(chuàng)建了數據連接的全局_ConnectionPtr接口,然后使用_RecordsetPtr執(zhí)行存儲過程和SQL語句。3.ADO連接數據庫實現利用_ConnectionPtr智能指針產生一個連接接口,取得與數據庫的連接。主要代碼實現:boo
35、l ADOConn:OnInitADOConn():CoInitialize(NULL);/ 初始化OLE/COM庫環(huán)境try m_pConnection.CreateInstance(ADODB.Connection); CString strConnect; strConnect=Driver=SQL Server;Server=+sqlip+;Database=TBYZ;UID=sa;PWD=; m_pConnection-Open(_bstr_t)strConnect,adModeUnknown); return true;catch(_com_error e)AfxMessageBo
36、x(連接數據庫服務器出錯!請檢查網絡連通性或配置好服務器IP或域名!);return FALSE;4.數據庫操作函數。數據庫命令語句執(zhí)行函數:BOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL)_variant_t RecordsAffected;try if(m_pConnection=NULL) OnInitADOConn(); m_pConnection-Execute(bstrSQL,NULL,adCmdText);return true;catch(_com_error e)e.Description();return false;數據庫查詢語句執(zhí)行函數:
37、_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL) tryif(m_pConnection=NULL) OnInitADOConn();m_pRecordset.CreateInstance(_uuidof(Recordset);m_pRecordset-CursorType=adOpenStatic; m_pRecordset-CursorLocation=adUseClient;m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOp
38、timistic,adCmdText); catch(_com_error e)e.Description();return m_pRecordset;數據庫斷開連接函數:void ADOConn:ExitConnect() if(m_pRecordset!=NULL)m_pRecordset-Close();m_pConnection-Close();:CoUninitialize();(二)文件架構設計本系統是基于MFC構建的,根據系統的概要設計,系統一共有如下5個部分,CPP文件,H頭文件,database文件,INI文件,ICO文件,其中CPP文件H頭文件主要負責系統功能的實現,dat
39、abase文件主要包括系統的數據庫, INI文件負責保存服務器的IP地址或計算機名,以保證數據庫訪問時網絡的連通性,ICO文件主要是系統用到的圖片。下面簡單介紹一些主要文件的功能:主要的CPP文檔列表如表5-1所示:表51 系統主要CPP文件LOGIN.cpp系統登錄功能TBYZDlg.cpp系統主界面CHPSW.cpp密碼修改功能MD5d.cpp合同錄入功能ConMan.cpp合同管理功能ConDetail.cpp密碼MD5加密CheckRecord.cpp考勤錄入功能CheckinQurey.cpp考勤查詢功能Ipconfig.cpp保存數據庫服務器IP信息Leave.cpp請假錄入功能p
40、erson_record.cpp職工錄入功能ModPRecord.cpp職工信息修改person_man.cpp職工管理頁面SalRecord.cpp工資錄入功能ModPRecord.cpp工資修改功能SalMan.cpp工資管理頁面CurPersonInfo.cpp個人信息查詢CurSalInfo.cpp個人工資查詢CurConInfo.cpp個人合同信息查詢CurCheckinInfo.cpp個人考勤信息查詢(三)系統數據庫設計1、 E-R模型人事管理系統的主要數據庫E-R模型,如圖5-2所示:(1)實體關系ER圖圖5-2主要數據庫E-R模型圖(2)職工屬性圖,如圖53所示:圖5-3職工屬
41、性圖(3)工資屬性圖,如圖54所示:圖5-4工資屬性圖(4)合同屬性圖,如圖55所示:圖5-5合同屬性圖(5)考勤屬性圖,如圖56所示:圖5-6合同屬性圖2、數據庫設計由數據模型利用SQL SERVER 2000進行數據庫的詳細設計,一些主要表的設計如下:(1)person_info(職工信息)表的結構如表52所示:表5-2 person_info(職工信息)表的結構主鍵列名數據類型長度允許空user_idvarchar20pswvarchar50permissionchar1usernamevarchar10genderchar2nativevarchar10nationchar8birth
42、datetime8addressvarchar30tech_titlevarchar10t_coursevarchar6senioritychar2edu_schoolvarchar20majorvarchar20educationchar4dutyvarchar20politicalvarchar8identity_cardchar18bank_cardchar19mob_phonevarchar20(2)salary(工資信息)表的結構如表53所示:表5-3 salary(職工信息)表的結構主鍵列名數據類型長度允許空user_idvarchar10usernamevarchar10sal_
43、idvarchar10sal_datedatetime8sal_postdecimal9pay_scaledecimal9perf_saldecimal9totaldecimal9cutpaydecimal9med_insreancedecimal9housing_funddecimal9unem_insdecimal9koufadecimal9SFGZdecimal9(3)checkin(考勤信息)表的結構如表54所示:表5-4 checkin (考勤信息)表的結構主鍵列名數據類型長度允許空idint4user_idvarchar10usernamevarchar10ch_datedatet
44、ime8reasonvarchar6meetingdecimal9flagdecimal9classdecimal9check_pointvarchar8(4)contract(合同信息)表的結構如表55所示:表5-5 contract (合同信息)表的結構主鍵列名數據類型長度允許空idint4con_idvarchar10con_namevarchar30kindvarchar10partyavarchar10partybvarchar10legal_repvarchar20ct_st_timedatetime8ct_end_timedatetime8ct_detailntext16(5)l
45、eave(請假信息)表的結構如表56所示:表5-6 leave (請假信息)表的結構主鍵列名數據類型長度允許空user_idvarchar10usernamevarchar10kindvarchar6l_datedatetime8daysvarchar3s_datevarchar12e_datevarchar12allowancevarchar10l_reasonntext16(6)school_info(學校概況信息)表的結構如表57所示:表5-7 school_info (學校概況信息)表的結構主鍵列名數據類型長度允許空sch_namevarchar30sch_addresschar35p
46、ostchar6principalchar8office_phonechar12sch_areachar16(四)模塊功能設計1.公共模塊 在設計的過程中,數據庫的連接函數經常要用到,如連接數據庫初始化函數OnInitADOConn()、數據庫語句執(zhí)行函數ExecuteSQL()、獲得結果集函數GetRecordSet()、數據類型轉換函數VariantToString ()等。其中本系統經常要用到數據類型轉換函數VariantToString (),它是實現數據庫類型轉換成VC+中的CString類型,使得代碼在數據類型轉換編碼中更加快捷。 以下是VariantToString()函數的關鍵
47、代碼:CString ADOConn:VariantToString(VARIANT var) CString strValue; _variant_t var_t; _bstr_t bstr_t; DATE dt; CTime time_value; COleCurrency var_currency; COleDateTime odt; switch(var.vt) case VT_EMPTY: case VT_NULL:strValue=_T();break; case VT_UI1:strValue.Format(%d,var.bVal);break; case VT_I2:strVa
48、lue.Format(%d,var.iVal);break; case VT_I4:strValue.Format(%d,var.lVal);break; case VT_R4:strValue.Format(%f,var.fltVal);break; case VT_R8:strValue.Format(%f,var.dblVal);break;case VT_DECIMAL: var_t=var;var_t.ChangeType(VT_R4,NULL);strValue.Format(%.2f,var_t.fltVal);break; case VT_CY: var_currency=va
49、r; strValue=var_currency.Format(0);break; case VT_BSTR: var_t =var; bstr_t=var_t; strValue.Format(%s,(const char *)bstr_t);break; case VT_DATE: dt=var.date; odt = COleDateTime(dt); strValue=odt.Format(%Y-%m-%d);break; case VT_BOOL:strValue.Format(%d,var.boolVal);break; default:strValue=_T();break; r
50、eturn strValue; 2.系統各個模塊 (1)系統登錄模塊 (a)功能:本模塊的主要功能是對用戶身份進行驗證,只有系統的合法用戶才能進入系統;用戶身份分為系統管理員和普通職工兩種類型,系統管理員擁有全部權限,可以對系統進行相應的操作。 (b)登錄界面其登錄窗口如圖5-7所示:圖5-7系統登錄模塊(c)輸入項、輸出項:輸入項為職工編號、密碼,系統連接到數據庫對用戶和密碼進行驗證,輸出為成功或失敗的提示。(d)代碼設計用戶名、密碼驗證:/*驗證輸入信息的完整性和正確性*/GetDlgItemText(IDC_USER,user);/從編輯框得到用戶名GetDlgItemText(IDC_
51、PSW,psw);/從編輯框得到密碼md5psw=MD5(psw);/md5加密sql.Format(select * from person_info where user_id=%s and psw=%s,user,md5psw);/格式化數據庫語句m_rs.GetRecordSet(_bstr_t)sql);/執(zhí)行語句if(m_rs.m_pRecordset-adoEOF)/判斷用戶名密碼是否正確chk_log=0;MessageBox(用戶名或密碼錯誤);/用戶名或密碼出錯時彈出提示m_duser=;m_dpsw=;UpdateData(false);判斷登錄權限:pms=m_rs.m
52、_pRecordset-GetCollect(permission);/從數據庫中得到權限值glb_permission=m_rs.VariantToString(pms);if (glb_permission=0) /判斷權限,如果為0,即普通職工MessageBox(權限不足!);EndDialog(0);(2)系統主界面模塊該模塊的主要界面如圖5-8所示:圖5-8為系統主界面模塊該模塊為人事檔案管理的主界面,提供對人員的瀏覽及其它具體操作功能的入口(3)人事檔案管理模塊該模塊的主要界面如圖5-9所示:圖5-9為職工管理模塊在職工管理模塊中,可以完成以下功能:l 新增職工個人信息l 修改職
53、工個人信息l 刪除職工個人信息l 查詢職工個人信息功能說明:新增職工個人信息,該功能界面如圖510所示:圖5-10為新增職工個人信息模塊在該功能模塊中,職工編號由系統自動生成并且唯一,密碼長度不能少于8位且經過MD5加密后錄入數據庫,用戶權限分為普通職工和系統管理員,系統管理員在進行新增職工信息時確定該職工登錄系統時的權限。修改職工個人信息,該功能界面如圖511所示:圖5-11為職工個人信息修改模塊刪除職工個人信息,先在職工列表中選擇要刪除的職工,點擊“刪除記錄” 按鈕,彈出刪除提示對話框(如圖512),點擊“是”按鈕即可完成該職工信息的刪除,點擊“否”按鈕取消刪除,該功能將刪除職工在校的所有
54、個人信息。圖5-12為刪除職工個人信息對話框(4)職工工資管理模塊該模塊的主要界面如圖5-14所示:圖5-14為職工工資管理模塊在職工管理模塊中,可以完成以下功能:l 新增職工工資信息l 修改職工工資信息l 查詢職工工資信息功能說明:新增職工工資信息,該功能界面如圖515所示:圖5-15為職工工資錄入模塊在該功能模塊中,職工編號必需對應系統中已存在的職工且工資序號在系統中不存在,并且保持唯一。工資錄入必需是規(guī)范的數字格式,每一項的錄入系統會自動計算應發(fā)項,扣發(fā)項,實發(fā)工資。修改職工工資信息,該功能界面如圖516所示:圖5-16為職工工資修改模塊在該功能模塊中,系統管理員只能修改職工的崗位工資、
55、薪級工資、績效工資、失業(yè)保險、住房公積金、醫(yī)療保險,修改工資必需是規(guī)范的數字格式??记诳劭罱痤~由職工的考勤情況決定,無法進行修改。(5)考勤信息管理模塊該模塊的主要界面如圖5-18所示:圖5-18為職工工資信息錄入模塊在職工管理模塊中,可以完成以下功能:l 考勤錄入l 考勤信息l 請假記錄l 請假信息l 返回l 事假查詢l 病假查詢l 開會缺勤查詢l 升旗缺勤查詢l 上課缺勤查詢功能說明:考勤錄入,該功能是將職工的考勤信息記錄到數據庫中??记谛畔ⅲ摴δ苁菍崿F對所選職工查看當月的考勤詳細內容。請假記錄,該功能主要是實現查詢所選職工當月請假記錄。請假信息,該功能主要是實現查看職工的請假條詳細內容
56、。返回,返回當月考勤面版并刷新記錄。事假查詢,在當月考勤面版中查看所有請事假的職工。病假查詢,在當月考勤面版中查看所有請病假的職工。開會缺勤查詢,在當月考勤面版中查看所有開會缺勤的職工。升旗缺勤查詢,在當月考勤面版中查看所有升旗缺勤的職工。上課缺勤查詢,在當月考勤面版中查看所有上課缺勤的職工。(6)其他一些模塊(a)密碼修改模塊該模塊的主要界面如圖521所示:圖5-21為用戶密碼修改模塊功能:更改當前所登錄用戶的密碼。(b)請假錄入模塊該模塊的主要界面如圖522所示:圖5-22為職工請假條錄入模塊(c)權限訪問控制該模塊主要是實現用戶在登錄系統時系統自動判斷用戶的登錄權限,如普通職工想進入工資
57、管理模塊時將彈出如圖523的提示,以阻止職工訪問該模塊。 圖5-23為權限不足提示 六、系統測試(一)概述研究成果無論怎樣強調軟件測試的重要性和它對軟件的可靠性的影響都不過分。在開發(fā)大型的軟件過程中,面對著極其錯綜復雜的問題,人的通訊和配合也不可能完美無缺。因此,在軟件生命周期的每個階段都不可避免地會出現差錯。我們力求在每個階段借助通過嚴格的技術審查,盡可能地發(fā)現并糾正錯誤。但是,經驗表明審查并不能發(fā)現所有差錯,此外,在編碼過程中還不可避免地會引入新的錯誤。如果在軟件投入運行之前,沒有發(fā)現并糾正軟件中的大部分差錯,則這些差錯會遲早在生產過程中暴露出來,那時不僅改正這些錯誤的代價更高,而且會造成
58、更惡劣的后果。測試的目的就是在軟件投入生產性運行之前,盡可能地發(fā)現軟件中的錯誤。目前軟件測試仍然是保證質量的關鍵步驟,它是對軟件的規(guī)格說明、設計和編碼的最后復審。軟件測試在軟件生命周期中橫跨兩個階段。通常在編寫出每個模塊之后就對它作必要的測試(稱為單元測試),模塊的編寫者和測試者是同一個人,編碼和單元測試屬于軟件生命周期的同一階段。在這個階段之后還應該對軟件進行綜合測試,這是軟件生命周期中的另一個獨立階段,通常由專門的測試人員來承擔這項工作。大量統計資料表明,軟件測試的工作量往往占軟件開發(fā)工作量的40%以上,在極端情況時,測試那種關系人的生命安全的軟件所花費的成本,可能相當于軟件工程其它步驟總成本的三到五倍。因此,必須高度重視軟件測試工作,決不要以為寫出程序以后軟件開發(fā)工作就接近完成了。實際上,大約還有同樣多的工作量需要完成。僅就測試而言,它的目標是為了發(fā)現軟件中的錯誤。但是,發(fā)現錯誤并不是我們的最終目的。軟件工程的目的是開發(fā)出高質量的完全符合用戶需要的軟件。因此,通過測試軟件發(fā)現的錯誤必須診斷并改正錯誤,這就是調試的目的。調試是測試階段最困難的工作。對軟件測試的結果也是分析軟件的重要依據。(二)軟件測試方法簡介測試任何產品都有兩種方法:如果已經知道了產品的內部工作
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險源安全管理制度
- 安全培訓資料:典型建筑火災的防治基本原則與救援技術
- 企業(yè)雙重預防體系應知應會知識問答
- 8 各種煤礦安全考試試題
- 9 危險化學品經營單位安全生產管理人員模擬考試題庫試卷附答案
- 加壓過濾機司機技術操作規(guī)程
- 樹脂砂混砂工藝知識總結
- XXXXX現場安全應急處置預案
- 某公司消防安全檢查制度總結
- 1 煤礦安全檢查工(中級)職業(yè)技能理論知識考核試題含答案
- 4.燃氣安全生產企業(yè)主要負責人模擬考試題庫試卷含答案
- 工段(班組)級安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫試卷含答案-4
- 建筑起重司索信號工安全操作要點
- 實驗室計量常見的30個問問答題含解析