![企業(yè)考勤信息管理系統(tǒng)設(shè)計_第1頁](http://file4.renrendoc.com/view/28f78077aaaf7b8a4c0e71c48412c79d/28f78077aaaf7b8a4c0e71c48412c79d1.gif)
![企業(yè)考勤信息管理系統(tǒng)設(shè)計_第2頁](http://file4.renrendoc.com/view/28f78077aaaf7b8a4c0e71c48412c79d/28f78077aaaf7b8a4c0e71c48412c79d2.gif)
![企業(yè)考勤信息管理系統(tǒng)設(shè)計_第3頁](http://file4.renrendoc.com/view/28f78077aaaf7b8a4c0e71c48412c79d/28f78077aaaf7b8a4c0e71c48412c79d3.gif)
![企業(yè)考勤信息管理系統(tǒng)設(shè)計_第4頁](http://file4.renrendoc.com/view/28f78077aaaf7b8a4c0e71c48412c79d/28f78077aaaf7b8a4c0e71c48412c79d4.gif)
![企業(yè)考勤信息管理系統(tǒng)設(shè)計_第5頁](http://file4.renrendoc.com/view/28f78077aaaf7b8a4c0e71c48412c79d/28f78077aaaf7b8a4c0e71c48412c79d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔傾情為你奉上精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)專心專注專業(yè)精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)課程設(shè)計(論文)論文題目 企業(yè)考勤信息管理系統(tǒng) 摘 要隨著計算機的普及和計算機科學(xué)技術(shù)的飛速發(fā)展,人們開始越來越多地利用計算機解決實際問題。員工考勤管理是企業(yè)信息管理的重要部分面對大量的人事工資信息,采用人力處理將浪費大量的時間、人力和物力,且數(shù)據(jù)的準確性低。因此,開發(fā)一個界面友好,易于操作的員工考勤管理軟件進行自動化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義。本項目開發(fā)過程中,主要進行的工作是需求分析、概要設(shè)計、詳細設(shè)計、項目應(yīng)用的前期準備包括培訓(xùn)、硬件配置等。軟件采用基本對話框界
2、面,能滿足中小型企業(yè)員工考勤管理的基本需要。本論文針對該軟件的各個方面, 開發(fā)過程中涉及到的技術(shù)和工具都分別進行了闡述。根據(jù)以上分析本系統(tǒng)主要模塊如下:1 登錄窗口模塊,2主窗口模塊, 3 添加出勤記錄模塊,4 加班記錄模塊,5請假記錄模塊,6出差記錄模塊,7月度出勤情況表模塊。總之,本次設(shè)計工作是一次理論聯(lián)系實際的過程。對我們來說不僅是一次難得的學(xué)習(xí)機會,而且通過實踐使我們深刻地了解了這些抽象概念的實質(zhì),為我們將來的工作奠定了扎實地基礎(chǔ)。 AbstractAlong with computer popularization and computer science technology ra
3、pid development, the people start to use the computer solution actual problem more and more many. The staff checks attendance the management is the enterprise information management important part facing the massive human affairs wages information, will use manpower processing to waste the massive t
4、ime, the manpower and the physical resource, also the data accuracy will be low. Therefore, develops a contact surface to be friendly, easy to operate the staff checks attendance the management software to carry on automated processing to become extremely important, this is precisely this system dev
5、elopment goal and the significance.In this project performance history, mainly carries on the work is the demand analysis, the outline design, the detailed design, the project application earlier period preparation including training, the hardware disposition and so on. The software uses the basic d
6、ialog box contact surface, can satisfy the small and medium-sized enterprise staffs to check attendance the management basic need. Present paper in view of this software each aspect, In the performance history involves the technology and the tool separately have all carried on the elaboration. Accor
7、ding to above analyzes this system main module to be as follows: 1 registers the window module, 2 main window modules, 3 increase going out on duty record module, 4 working overtime record module, 5 asks for leave the recording module, 6 business trip record module, in July going out on duty situati
8、on table module.In brief, this design work is a apply theory to reality process. Not only to me is a rare study opportunity, moreover made me through the practice to understand profoundly these abstract concept essence, future the work has laid solidly the foundation for me.Key word: Checking attend
9、ance, system, information 目錄 TOC * MERGEFORMAT 1論 緒 PAGEREF _Toc h 11.1應(yīng)用背景 PAGEREF _Toc h 11.2 開發(fā)工具的選擇 PAGEREF _Toc h 11.2.1 Visual C+ 6.0簡介 PAGEREF _Toc h 11.2.2使用Visual C+編程的理由 PAGEREF _Toc h 21.2.3 面向?qū)ο蟮膽?yīng)用服務(wù)層設(shè)計 PAGEREF _Toc h 21.3論文的工作介紹 PAGEREF _Toc h 32 系統(tǒng)總體設(shè)計 PAGEREF _Toc h 42.1系統(tǒng)需求分析 PAGEREF
10、 _Toc h 42.2系統(tǒng)概要設(shè)計 PAGEREF _Toc h 52.2.1 系統(tǒng)結(jié)構(gòu)設(shè)計 PAGEREF _Toc h 52.2.2 數(shù)據(jù)庫設(shè)計 PAGEREF _Toc h 72.3 系統(tǒng)詳細設(shè)計 PAGEREF _Toc h 143 系統(tǒng)應(yīng)用程序設(shè)計 PAGEREF _Toc h 163.1 系統(tǒng)程序框架的組成 PAGEREF _Toc h 163.2 登錄認證對話框的實現(xiàn) PAGEREF _Toc h 173.3 主對話框窗體功能的實現(xiàn) PAGEREF _Toc h 183.4上班時間設(shè)置窗體功能的實現(xiàn) PAGEREF _Toc h 193.5考勤修改窗體功能的實現(xiàn) PAGEREF
11、 _Toc h 203.6添假出勤記錄屬性頁的實現(xiàn) PAGEREF _Toc h 213.7加班記錄屬性頁功能的實現(xiàn) PAGEREF _Toc h 223.8請假和出差屬性頁功能的實現(xiàn) PAGEREF _Toc h 233.9考勤統(tǒng)計模塊功能的實現(xiàn) PAGEREF _Toc h 254 系統(tǒng)開發(fā)總結(jié) PAGEREF _Toc h 264.1結(jié)束語 PAGEREF _Toc h 264.2參考文獻 PAGEREF _Toc h 264.3致謝 PAGEREF _Toc h 265附錄 PAGEREF _Toc h 281 緒論1.1應(yīng)用背景隨著經(jīng)濟的發(fā)展,企業(yè)的規(guī)模不斷擴大,人員流動日趨頻繁,人
12、員出入考勤管理的工作量也隨之增加,以往的人工處理方式對于員工很多的企業(yè)來說就顯得力不從心,利用現(xiàn)代計算機技術(shù)可使考勤人員管理從繁重的勞動中解脫出來,特別是對于人員出勤檔案的查詢可做到更及時,更準確。方便員工的出勤統(tǒng)計情況等各方面的工作。考勤制度是每個企業(yè)單位所必需的,計算機的出現(xiàn)使員工出勤情況的記錄和統(tǒng)計工作變的十分簡單。通過開發(fā)一個企業(yè)企業(yè)員工管理系統(tǒng),可使企業(yè)員工的出勤管理工作系統(tǒng)化,規(guī)范化和自動化,從而達到全面提高企業(yè)員工考勤管理效率的目的。1.2 開發(fā)工具的選擇本系統(tǒng)是在VC6.0開發(fā)環(huán)境下,采用Dialog based的應(yīng)用程序框架。由一個主對話框和若干個功能對話框組成。系統(tǒng)采用mi
13、crosoft office中的Access 2000來設(shè)計數(shù)據(jù)庫,再連接數(shù)據(jù)源。1.2.1 Visual C+ 6.0簡介 Visual C+ 6.0是Microsoft公司開發(fā)的基于C/C+的集成開發(fā)工具,它是Visual Studio中功能最為強大、代碼效率最高的開發(fā)工具。 Visual C+ 6.0與以前的版本相比有了多方面的改進。它的編譯器、調(diào)試器、連接器、編輯器、資源編輯器都有所加強,在編輯器中還提供了自動語句生成功能,編輯器會像Visual Basic一樣自動提示函數(shù)的參數(shù)、對象的成員。另外,Visual C+ 6.0還提供了很多向?qū)?。MFC提供了一些新的類,提供了更強大的數(shù)據(jù)訪
14、問功能。 用戶可利用Visual C+ 6.0以兩種方式編寫Win32應(yīng)用程序,一種方式是基于Windows API的C編程方式,另一種是基于MFC的C+編程方式。C編程方式是傳統(tǒng)的、久經(jīng)考驗的編程方式,代碼的效率較高,但開發(fā)難度與開發(fā)的工作量大。C+編程方式代碼運行效率相對較低,但開發(fā)難度小、開發(fā)工作量小、源代碼效率高。C編程方式的用戶己經(jīng)很少,本書將以C+編程方式向用戶介紹利用Visual C+ 6.0的程序設(shè)計。1.2.2使用Visual C+編程的理由Visual C+ 的集成開發(fā)環(huán)境提供了一個快速的框架,很大地提高了編程效率,但是,要真正掌握Visual C+ 6.0,還必須對C/C
15、+語言編程有深入地了解,理解MFC庫和Windows下的編程方法.在Windows下編程,通常是調(diào)用Windows API得以實現(xiàn). Visual C+ 6.0將大量地Windows API 以C+格式進行封裝,通MPFC方式提供給開發(fā)人員,大大簡化了開發(fā)人員地編程工作,提供了工作效率.因而,要學(xué)好Visual C+ ,MFC地掌握是關(guān)鍵.Visual C+ 6.0中,我們可以使用MFC完成大多熟地工作,也可以直接調(diào)用Windows API完成一些底層地開發(fā).用Visual C+ 6.0開發(fā)的程序代碼簡練,運行速度快.Visual C+ 6.0中,提供了兩個功能強大的編程工具:AppWizar
16、d和ClassWizard.利用Visual C+ 6.0的AppWizard可以在很短的時間內(nèi)創(chuàng)建出Windows應(yīng)用程序的框架;二ClassWizard,則可以在應(yīng)用程序框架之上迅速增加新的類,成員變量與函數(shù),使Windows編程得以快速實現(xiàn),兩者結(jié)合,讓W(xué)indows下的編程變得非常簡單.1.2.3 面向?qū)ο蟮膽?yīng)用服務(wù)層設(shè)計N層的應(yīng)用軟件系統(tǒng),由于其眾多的優(yōu)點,已經(jīng)成為典型的軟件系統(tǒng)架構(gòu),也已經(jīng)為廣大開發(fā)人員所熟知。在一個典型的三層應(yīng)用軟件系統(tǒng)中,應(yīng)用系統(tǒng)通常被劃分成以下三個層次:數(shù)據(jù)庫層、應(yīng)用服務(wù)層和用戶界面層。如下圖所示: 本系統(tǒng)也是采用三層應(yīng)用服務(wù)設(shè)計,分別是數(shù)據(jù)庫層、應(yīng)用服務(wù)層和
17、用戶界面層,分三層逐步展開詳細的設(shè)計。1.3論文的工作介紹緒論部分介紹了本系統(tǒng)的應(yīng)用背景以及對數(shù)據(jù)庫開發(fā)工具的選擇。第二章是本文的主體,按照軟件工程的要求,從需求分析開始,經(jīng)過概要設(shè)計最后到詳細設(shè)計,完成對整個系統(tǒng)的設(shè)計。第三章根據(jù)第二章的設(shè)計結(jié)果利用Access 2000和Visual C+6.0進行了具體的窗體和應(yīng)用程序設(shè)計??偨Y(jié)部分介紹了設(shè)計體會和編程體會,并指出了系統(tǒng)設(shè)計中的不足和改進的方向3 系統(tǒng)總體設(shè)計軟件系統(tǒng)的總體設(shè)計大約要經(jīng)歷可行性分析和項目開發(fā)計劃,需求分析,概要設(shè)計,詳細設(shè)計,編碼,測試以及維護等七個階段??尚行苑治龊晚椖块_發(fā)計劃在前面已經(jīng)敘述,下面所要做的是進行軟件需求分
18、析,概要設(shè)計和詳細設(shè)計。編碼過程將在下一節(jié)論述,而測試和維護過程不在本文敘及.3.1系統(tǒng)需求分析在經(jīng)過前一階段的分析之后,我確定了我的開發(fā)課題為企業(yè)員工考勤管理系統(tǒng)?,F(xiàn)在所要做的是要準確定義系統(tǒng)必須做什么以及系統(tǒng)必須具備的功能。軟件需求分析中我采用結(jié)構(gòu)化分析方法(structured analysis,簡稱sa),sa是面向數(shù)據(jù)流進行需求分析的方法,像所有的軟件分析方法(如面向?qū)ο蠓治龇椒?、idef方法等等)一樣,sa也是一種建?;顒?,它使用簡單易讀的符號,根據(jù)軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,描繪滿足功能要求的軟件模型。在系統(tǒng)中我采用數(shù)據(jù)流圖(dfd)這種半形式化的描述方式表達
19、需求。它是一種功能模型,以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的邏輯功能。它有四種基本圖形符號: :箭頭,表示數(shù)據(jù)流; :圓或橢圓,表示加工; :雙杠,表示數(shù)據(jù)存儲; :方框,表示數(shù)據(jù)的源點或終點。,頂層流圖僅包含一個員工,它代表被開發(fā)系統(tǒng),它的輸入流是該系統(tǒng)的輸入數(shù)據(jù)了,輸出流是該系統(tǒng)的輸出數(shù)據(jù);底層流圖是指其加工不需要再做分解的數(shù)據(jù)流圖,中間層流圖表示對其上層父圖的細化,它的每一步操作可能繼續(xù)細化成子圖。出勤的原始記錄主要來源于考勤機,并且以固定格式保存在數(shù)據(jù)庫中??记诠芾硐到y(tǒng)的任務(wù)是如何處理這些數(shù)據(jù).系統(tǒng)的數(shù)據(jù)流程如下:通過以上的數(shù)據(jù)流圖之后,我們已大體地了解了
20、系統(tǒng)的功能和目標,接下來所要做的就是系統(tǒng)功能模塊的劃分和數(shù)據(jù)庫的設(shè)計,也就是系統(tǒng)的概要設(shè)計。3.2系統(tǒng)概要設(shè)計在軟件需求分析階段,搞清楚了軟件“做什么”的問題,形成了目標系統(tǒng)的邏輯模型?,F(xiàn)在我們所要做的就是要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,即著手實現(xiàn)軟件的需求。首先,我們需要描述的是系統(tǒng)的總的體系結(jié)構(gòu)。2.2.1 系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)的概要設(shè)計中最重要的就是系統(tǒng)的模塊化。模塊化是指解決一個復(fù)雜問題時自項向下逐層把軟件系統(tǒng)劃分成若干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。將系統(tǒng)劃分為多個模塊是為了降低軟件系
21、統(tǒng)的復(fù)雜性,提高可讀性、可維護性,但模塊的劃分不能是任意的,應(yīng)盡量保持其獨立性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單,即盡量做到高內(nèi)聚低耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)。在系統(tǒng)的概要設(shè)計中我采用結(jié)構(gòu)化設(shè)計(structure design,簡稱sd),sd以需求分析階段產(chǎn)生的數(shù)據(jù)流圖dfd為基礎(chǔ),按一定的步驟映射成軟件結(jié)構(gòu)。我首先將整個系統(tǒng)化分為幾個小問題,小模塊,在系統(tǒng)中,我設(shè)計了上下班時間設(shè)置、出勤記錄管理、和考勤統(tǒng)計管理3個小模塊。然后,進一步細分模塊,添加細節(jié)。比如,出勤記錄管理我又將其分為添加修改出勤管理、加班管理、
22、請假管理;出差管理(即是代理出勤管理)等等。以下就是系統(tǒng)的結(jié)構(gòu)圖:(在這里為了表達方便我將結(jié)構(gòu)圖分開來表達。)上下班時間設(shè)置出勤統(tǒng)計情況出勤情況記錄考勤管理系統(tǒng)在得到系統(tǒng)的第一層功能模塊圖后,經(jīng)過進一步地細化,得一系統(tǒng)的子功能模塊圖:出勤情況記錄出差情況記錄添加出勤情況請假情況記錄加班情況記錄2.2.2 數(shù)據(jù)庫設(shè)計1、er圖設(shè)計在系統(tǒng)設(shè)計的開始,我首先考慮的是如何用數(shù)據(jù)模型來數(shù)據(jù)庫的結(jié)構(gòu)與語義,以對現(xiàn)實世界進行抽象。目前廣泛使用的數(shù)據(jù)模型可分為兩種類型,一種是獨立于計算機系統(tǒng)的“概念數(shù)據(jù)模型”,如“實體聯(lián)系模型”;另一種是直接面向數(shù)據(jù)庫邏輯結(jié)構(gòu)的“結(jié)構(gòu)數(shù)據(jù)模型”。在本系統(tǒng)中我采用“實體聯(lián)系模型
23、”(er模型)來描述數(shù)據(jù)庫的結(jié)構(gòu)與語義,以對現(xiàn)實世界進行第一次抽象。er模型直接從現(xiàn)實世界抽象出實體類型及實體間聯(lián)系,然后用er圖來表示數(shù)據(jù)模型。它有兩個明顯的優(yōu)點:接近于人的思維,容易理解;與計算機無關(guān),用戶容易接受。但er模型只能說明實體間語義的聯(lián)系,不能進一步說明詳細的數(shù)據(jù)結(jié)構(gòu),它只是數(shù)據(jù)庫設(shè)計的第一步。er圖是直觀表示概念模型的工具,它有四個基本成分: 矩形框,表示實體類型(考慮問題的對象)。 菱形框,表示聯(lián)系類型(實體間的聯(lián)系)。 橢圓形框,表示實體類型和聯(lián)系類型的屬性。對于關(guān)鍵碼的屬性,在屬性名下劃一橫線。直線,聯(lián)系類型與其涉及的實體類型之間以直線連接。本系統(tǒng)為企業(yè)員工考勤管理,主
24、要管理員工的出勤、請假、出差和加班等事項。系統(tǒng)根據(jù)需要可以記錄出勤人員的信息,同時還需要了解員工的請假、出差和加班等的記錄情況。依據(jù)考勤管理的實際情況,考慮了多方面的因素以后,確定系統(tǒng)的er圖??记诠芾硐到y(tǒng)的E-R圖如圖所示在該數(shù)據(jù)庫中,我們設(shè)計了六個實體,分別是員工、出勤管理、加班管理、請假管理;出差管理,月度考勤統(tǒng)計管理。在本系統(tǒng)中員工是核心,也是基本,沒有了員工其它的也就沒有什么意義了。員工記錄的添加是考慮到出勤記錄問題,也就是說,在出勤管理的實際運用中,需要記錄每個員工的具體情況這樣才方便月度的統(tǒng)計,特別是由于員工的工資要按工作時的多少發(fā)放,所以在設(shè)計數(shù)據(jù)庫時,員工記錄這一實體非常重要
25、。通過這一個er圖我們可以比較清楚地了解員工工作時間的多少,及其具體的情況,從員工的出勤到請假,加班等情況的勤奮情況及其員工的素質(zhì),同時也可以為以后的查詢或核對提供一定有用的信息。下面就是各實體及聯(lián)系類型的屬性即數(shù)據(jù)庫的邏輯設(shè)計,所以考勤管理系統(tǒng)的E-R圖轉(zhuǎn)換為關(guān)系表為:員工(員工號,員工密碼,權(quán)限,姓名)出勤記錄(員工號,記錄編號,出入狀態(tài),出入時間)加班記錄(員工號,記錄編號,加班時間,日期)請假記錄(員工號,記錄編號,起始時間,結(jié)束時間,緣由)出差記錄(員工號,記錄編號,起始時間,結(jié)束時間,具體描述)因為每一個基本表關(guān)系都是完全依賴且沒有傳遞依賴,所以關(guān)系達到3NF范式2、數(shù)據(jù)庫表格設(shè)計
26、在完成系統(tǒng)的er圖之后,需要將er模型轉(zhuǎn)化為關(guān)系模型,也就是說,要設(shè)計出數(shù)據(jù)庫所需要的表格。在這里,我選用的是關(guān)系數(shù)據(jù)庫。因為關(guān)系數(shù)據(jù)庫中的二維表格可以很清楚地描述數(shù)據(jù)之間的聯(lián)系。我在系統(tǒng)中定義的表格都嚴格地按照范式的思想和要求去完成,數(shù)據(jù)庫中的所有表格都達到了三范式的要求。根據(jù)系統(tǒng)er圖,針對本系統(tǒng)的特點,在對所搜集的數(shù)據(jù)進行規(guī)范化之后,定義了如下六張表格,分別是ATTENDANCE 出勤記錄表,LEAVE請假記錄表,OVERTIME加班記錄表,ERRAND出差記錄表,員工及密碼信息表。通過對這六張表格的操作可以較好地完成系統(tǒng)設(shè)計的各項功能,六張表格之間有著不同程度的聯(lián)系。ATTENDANC
27、E 出勤記錄表字段名稱數(shù)據(jù)類型 說明person 文本 員工編號in_out 文本 出入情況io_time 日期/時間 出入時間圖1 ATTENDANCE 出勤記錄表出勤記錄表主要用于記錄員工出入情況和時間的詳細信息,包括記錄號、員工、出入情況和時間、各類信息,它即是該數(shù)據(jù)庫的主表,是系統(tǒng)主界面的主要內(nèi)容。在該表中員工編號是主鍵,出入情況和時間為其屬性成員。做為備注有一點說明,我的數(shù)據(jù)庫中備注的數(shù)據(jù)類型是文本,而不是備注類型,主要考慮到該字段的長度并不大,而且在Visual C+中文本數(shù)據(jù)類型的處理也比較方便一點。圖2 LEAVE請假記錄表字段名稱 數(shù)據(jù)類型 說明person 文本 員工編號s
28、tart_time 日期/時間 假期開始時間end_time 日期/時間 假期結(jié)束時間reason 文本 請假緣由LEAVE請假記錄表主要是記錄員工的請假情況,請假的開始時間和結(jié)束時間,以方便以后員工的統(tǒng)計情況。圖3 OVERTIME加班記錄表person 文本 員工編號work_hours 數(shù)字 加班時間work_date 日期/時間 加班日期OVERTIME加班記錄表主要是記錄員工的加班時間長度和日期如圖3所示。圖4 ERRAND出差記錄表person 文本 員工編號start_time 日期/時間 假期開始時間end_time 日期/時間 假期結(jié)束時間discription 文本 具體描
29、述 ERRAND出差記錄表主要是記錄員工的出差起始時間/結(jié)束時間和具體描述。圖5 PERSON 員工信息表字段名稱 數(shù)據(jù)類型 說明Person 文本 員工編號passwd 文本 密碼authority 文本 用戶權(quán)限name 文本 員工姓名sex 文本 性別birthday 日期/時間 生日job 文本 職務(wù)edu_level 文本 受教育程度specialty 文本 專業(yè)技能address 文本 家庭住址 tel 文本 聯(lián)系電話PERSON 員工信息表員工信息表主要用于記錄有關(guān)員工的各類信息,包括姓名、職稱、出生日期、聯(lián)系電話、聯(lián)系地址等。它主要用來為系統(tǒng)提供員工的有關(guān)信息,因為在系統(tǒng)中,出
30、勤管理、加班管理、請假管理;出差管理,月度考勤統(tǒng)計管理操作均與員工有著一定的聯(lián)系,需要查找有關(guān)此項記錄有關(guān)的員工信息等都要用到這個表。 圖6COUNTER信息表字段名稱 數(shù)據(jù)類型 說明Counter_value 數(shù)字 計數(shù)值Descrtption 文本 描述COUNTER信息表主要是記錄員工的統(tǒng)計工作。圖7 DEPARTMENT信息表字段名稱 數(shù)據(jù)類型 說明Name 文本 部門名稱Manager 文本 部門經(jīng)理Intro 備注 簡介DEPARTMENT信息表主要是記錄員工部門里面的各種信息。圖8 ATTENDANCESTAT信息表字段名稱 數(shù)據(jù)類型 說明Year_month 文本 統(tǒng)計月份Pe
31、rson 文本 員工號Work_hour 數(shù)字 累計工作時間Over_hour 數(shù)字 累計加班時間Leave_hour 數(shù)字 累計請假時間Errand_hday 數(shù)字 累計出差時間Late_times 數(shù)字 遲到次數(shù)Early_times 數(shù)字 早退次數(shù)Absent_times 數(shù)字 曠工次數(shù)ATTENDANCESTAT信息表主要用于記錄有關(guān)統(tǒng)計的詳細信息,主要是按月度來統(tǒng)計包括員工的工作時間、加班時間,累計請假時間,累計出差時間,遲到和早退的次數(shù)等信息。通過以上設(shè)計已經(jīng)完成了系統(tǒng)的概要設(shè)計,當(dāng)我們有了系統(tǒng)的功能模塊圖和數(shù)據(jù)庫之后,就需要著手去實現(xiàn)每一個模塊,為每一個功能設(shè)計程序流程圖,這也就
32、是系統(tǒng)的詳細設(shè)計。3.3 系統(tǒng)詳細設(shè)計在前面的概要設(shè)計中,已將系統(tǒng)劃分為多個模塊,并將它們按照一定的原則組裝起來,同時確定了每個功能及模塊之間的外部接口?,F(xiàn)在所要做的就是確定每個模塊具體執(zhí)行過程,也可以說是“過程設(shè)計”。 由前一階段產(chǎn)生的系統(tǒng)功能模塊圖,我為系統(tǒng)的主要部分設(shè)計了如下程序模塊圖:通過以上步驟,基本上完成了對整個系統(tǒng)的總體設(shè)計,接下來所要做的就是軟件的編碼工作。 3 系統(tǒng)應(yīng)用程序設(shè)計3.1 系統(tǒng)程序框架的組成本實例采用dialog based的應(yīng)用程序框架. 由一個主對話框和若干個功能對話框組成,其中功能對話框登陸對話框和上下班時間設(shè)置對話框都是非模態(tài)對話框用AppWizard生成
33、程序框架,加入數(shù)據(jù)庫支持.在MFC AppWizar-Step1 中選擇DialogBased選項,其余均采用缺省配置.本程序數(shù)據(jù)庫的操作是通過MFC的ODBC類實現(xiàn)的,為了使用ODBC類,需要在stdafx.h中加入#include “ afxdb.h”一行. 因本程序只需連接一個數(shù)據(jù)庫,所以定義了一個CDatadase型的全局變量db,一次性打開和關(guān)閉數(shù)據(jù)庫,方便程序的編寫. 數(shù)據(jù)庫的打開在登錄認證對話框中. 在主程序結(jié)束前關(guān)閉數(shù)據(jù)庫,因此在App類的ExitInstance()函數(shù)中加入以下代碼; if(db.Isopen() db.Close(); 使用全局數(shù)據(jù)庫變量db,需要在其他地
34、方使用他的文件中加入以下語句: Extern Database db;為了訪問數(shù)據(jù)庫中的表格,本程序從CRecordset中派生8個類,分別用于封裝所需訪問的表格,如下列圖表所示. 這些類通過RFX(Record Field Exchange)機制將成員變量也表格中的字段值聯(lián)系起來,通過訪問成員變量可以訪問當(dāng)前記錄中字段的值.CRecordset 派生類在Acess數(shù)據(jù)庫中對應(yīng)的表格:CRecordset 表格CAttendanceRS ATTENDANCE出勤記錄表CCounterRS COUNTER計數(shù)器表CdepattRS DEPARTMENT部門信息表CerrandRS ERRAND出
35、差記錄表CerrandRS CLeaveRS COvertimeRS OVERTIME加班記錄表CPersonRS PERSON員工個人信息表CStatRS ATTENDANCE_STAT月度考勤統(tǒng)計表3.2 登錄認證對話框的實現(xiàn)首先在控制面板中建立ODBC數(shù)據(jù)源,數(shù)據(jù)源名稱為MISDB,運行程序Attendance.exe,進入登陸界面(界面一)。用戶名為HONG,密碼為123。登陸窗口對話框,包括三個輸入框和兩個按鈕。主要控件類型,ID和對應(yīng)的成員變量及說明見見表。登陸窗口對話框的封裝類為CLoginDlg。界面一:登錄認對話框其中兩個Button采用了缺省ID,即IDOK和IDCANCE
36、L,其中對IDOK的點擊加了登錄代碼, CLoginDlg類需要用到加密類,為了保證統(tǒng)一,加密類使用了CCrypt類,需要在cpp文件開頭加入#include“CCrypt”一行。另外,為了使用全局變量數(shù)據(jù)庫變量db,需要在cpp文件開頭加入下面的語句:extern CDatabase db;改變登錄人事管理系統(tǒng)字體的類型為華文彩云和需要在OnInitDialog()添加下面的代碼。BOOL CLoginDlg:OnInitDialog() CDialog:OnInitDialog(); m_font.CreatePointFont(180,華文彩云,NULL); GetDlgItem(IDC
37、_STATIC_LOGINTEXT)-SetFont(&m_font,true); / 如數(shù)據(jù)庫為打開狀態(tài),則關(guān)閉if(db.IsOpen() db.Close();在用戶的“登陸”按鈕功能實現(xiàn)的代碼在void CLoginDlg:OnOK() 函數(shù)中見附錄最侯為了先運行登錄認證對話框,還需在App類的InitInstance()函數(shù)中加代碼:/ 顯示登錄對話框CLoginDlg LoginDlg;if(LoginDlg.DoModal()!=IDOK) return FALSE;3.3 主對話框窗體功能的實現(xiàn)用戶登錄后即顯示主對話框窗口,主對話框包括5個按鈕,分別實現(xiàn)5項功能,封裝主對話框的
38、類是CAttendanceDlg,主要界面及說明如下:界面二:主對話框在CAttendanceDlg中定義以下成員變量: CBrush m_brush;CStatDlg * m_pStatDlg; CAttDlg * m_pAttDlg;CFont m_font;/ 改變標題字體類型m_font.CreatePointFont(180,華文彩云,NULL);GetDlgItem(IDC_STATIC_HEAD)-SetFont(&m_font,true);/ 初始化對話框指針為空 m_pAttDlg=NULL;m_pStatDlg=NULL;對話框中的5個按鈕的功能主要就是顯示相應(yīng)的功能對話框
39、.。各按鈕的功能主要是顯示相應(yīng)的功能對話框。各按鈕的事件處理代碼見附錄。3.4上班時間設(shè)置窗體功能的實現(xiàn)點擊“設(shè)置”進入界面三設(shè)置上下班時間。在界面三中,你可以修改上下班時間,點擊“修改”,設(shè)置的時間會記錄到配置文件“workplan.ini”中。如果配置文件不存在,上下班時間就被設(shè)定為程序中的默認值。 界面三:上班時間設(shè)置窗體公司的上下班時間相當(dāng)固定,而且需要在統(tǒng)計時頻繁使用,所以不需要保存在數(shù)據(jù)庫中.本例采用標準的INI設(shè)置文件來保存這些數(shù)據(jù); “修改”按鈕的BN_CLICKEN事件處理程序用于保存當(dāng)前的設(shè)置. “恢復(fù)默認設(shè)置”按鈕的BN_CLICKED事件處理程序用于恢復(fù)原來的設(shè)置.這個
40、函數(shù)也同時被OnInitDialog()函數(shù)引用,以實現(xiàn)初始化操作. OnWorkplanReset()函數(shù)則存放恢復(fù)默認設(shè)置按鈕的碼3.5考勤修改窗體功能的實現(xiàn)考勤修改對話框主要用來人工輸入出勤情況. 如果考勤機出現(xiàn)問題,這個功能及時彌補數(shù)據(jù).同時加班,請假,出差的記錄都需要通過這個對話框來輸入.對話框的布局如下圖所示.為了區(qū)分不同的輸入,在對話框中嵌入了CPropertySheet和4個CPropertyPage,4個CPropertyPage分別放置出勤,加班,請假和出差記錄的修改界面.4個界面共用一個查詢條件設(shè)置,下圖中下方的空白界面即是用來放置CPropertySheet和CProp
41、ertyPage的,考勤修改對話框的封裝類是CAttDlg。對話框界面如下:界面四在對話框中嵌入了CPropertySheet和4個CPropertyPage,就需要定義類的變量CPage1 m_Page1(出勤頁),CPage2 m_Page2(加班頁),CPage3 m_Page3( 請假頁),CPage4 m_Page4( 出差頁),和CPropertySheet m_Sheet。然后修改它的初始化函數(shù)BOOL CAttDlg:OnInitDialog()的代碼,見附錄。在輸入員工號時,需要及時檢索員工姓名,以確定設(shè)置的條件有效.通過Class Wizard加入處理IDC_EDT_SEE
42、KPERSONID的EN_CHANGE消息處理的函數(shù)OnChangeEdtSeekpersonid()。3.6添假出勤記錄屬性頁的實現(xiàn)再加入一個對話框資源將其封裝類設(shè)為CPropertyPage他的繼承類為CPage1,對話框的界面如下界面五在界面五中,可以檢索或修改出勤記錄。 檢索考勤記錄:在“記錄檢索條件”中,選中“時間范圍”復(fù)選框,輸入時間范圍,或選中“員工”復(fù)選框,輸入員工號,在右邊的文本框中會自動顯示員工號對應(yīng)的員工名字,然后點擊“按條件檢索”,在“出勤記錄列表”中會顯示出選定時間范圍或員工的出勤記錄。:添加記錄: 在“添加記錄”中輸入出入時間,出入情況,部門縮寫(輸入后右邊會顯示部
43、門名稱),員工號(輸入后右邊會顯示員工名字)。點擊“全部員工”把全部員工每人一條出勤記錄添加到數(shù)據(jù)庫并在出勤列表中顯示,點擊“部門員工”為該部門的每位員工添加一條出勤記錄到數(shù)據(jù)庫并在出勤列表中顯示,點擊“單個員工”為該員工添加一條出勤記錄到數(shù)據(jù)庫并在出勤列表中顯示。下面的進度條會顯示添加記錄的進度。 刪除記錄:在“出勤記錄列表”中選定記錄編號,然后點擊“刪除所選記錄”,把記錄從列表和數(shù)據(jù)庫中刪除。他的屬性頁面的初始化函數(shù)為OnInitDialog() 。為了更新列表框內(nèi)容,編寫的UpdateList()函數(shù)調(diào)用此函數(shù)可使列表框顯示給定的數(shù)據(jù)表格, 當(dāng)輸入部門編號時,自動檢索部門名稱.他的實現(xiàn)函
44、數(shù)為OnChangeEdtDepartid()。在輸入員工號時,也需要及時檢索員工姓名,以確定設(shè)置的條件有效,在函數(shù)OnChangeEdtPersonid()中實現(xiàn)。添加部門和全體員工出勤記錄的過程最終客分解為添加單個員工記錄的過程. 通過添加出勤記錄函數(shù)IO_Add(CString strPersonID)實現(xiàn)。添加記錄的3個按鈕的處理程序分別調(diào)用以上的函數(shù)。:OnBtnAddall()為 添加所有員工出勤記錄,OnBtnAdddepart() 為追加部門員工考勤記錄,OnBtnAddperson() 為追加單個員工考勤記錄。3.7加班記錄屬性頁功能的實現(xiàn)這個屬性頁的創(chuàng)建以上面的添假出勤記錄屬性頁的創(chuàng)建類似,封裝類都為CPropertyPage類他的繼承類為CPage2,對話框的界面如下。同時也要對他的初始化函數(shù)OnInitDialog(),UpdateList()函數(shù),OnChangeEdtOvertimePersonid()略做修改。添加按鈕的實現(xiàn)如下函數(shù)為OnBtnOvertimeAdd(),下面的“刪除所以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華師大版數(shù)學(xué)八年級上冊12.5《因式分解》(第1課時)聽評課記錄
- 現(xiàn)場服務(wù)協(xié)議書(2篇)
- 生活小家電代理銷售合同(2篇)
- 粵人版地理七年級上冊《第三節(jié) 聚落的發(fā)展變化》聽課評課記錄7
- 蘇州市公開課蘇教版六年級數(shù)學(xué)下冊《確定位置》聽評課記錄+教學(xué)反思
- 人教版數(shù)學(xué)八年級上下冊聽評課記錄(全冊)
- 人教版部編歷史八年級上冊《第19課 七七事變與全民族抗戰(zhàn)》聽課評課記錄3
- 五年級上冊數(shù)學(xué)聽評課記錄《4.3 探索活動:平行四邊形的面積》(18)-北師大版
- 新版華東師大版八年級數(shù)學(xué)下冊《16分式復(fù)習(xí)》聽評課記錄15
- 人教版數(shù)學(xué)七年級下冊第16課時《6.1平方根(第1課時)》聽評課記錄
- 2024時事政治考試題庫(基礎(chǔ)題)
- 2024山西文旅投資集團招聘117人公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 小學(xué)校本課程教材《趣味數(shù)學(xué)》
- 干細胞療法推廣方案
- (2024年)電工安全培訓(xùn)(新編)課件
- mil-std-1916抽樣標準(中文版)
- 《社區(qū)康復(fù)》課件-第七章 腦癱患兒的社區(qū)康復(fù)實踐
- 城鄉(xiāng)環(huán)衛(wèi)一體化內(nèi)部管理制度
- 廣匯煤炭清潔煉化有限責(zé)任公司1000萬噸年煤炭分級提質(zhì)綜合利用項目變更環(huán)境影響報告書
- 小學(xué)數(shù)學(xué)六年級解方程練習(xí)300題及答案
- 大數(shù)據(jù)在化工行業(yè)中的應(yīng)用與創(chuàng)新
評論
0/150
提交評論