數(shù)據庫原理課程設計工資管理系統(tǒng)_第1頁
數(shù)據庫原理課程設計工資管理系統(tǒng)_第2頁
數(shù)據庫原理課程設計工資管理系統(tǒng)_第3頁
數(shù)據庫原理課程設計工資管理系統(tǒng)_第4頁
數(shù)據庫原理課程設計工資管理系統(tǒng)_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、南昌工程學院數(shù)據庫原理課程設計任務書學院:信息工程學院 專業(yè):09計算機應用技術 姓名: xxx 學號: xxxxxxxx 姓名: xxx 學號: xxxxxxxx 姓名: xxx 學號: xxxxxxxx 計算機工程教研室譚德坤 編2011年 12月摘 要對企業(yè)而言,人力資源是企業(yè)最寶貴的資源,也是企業(yè)的“生命線”。而工資管理又是人力資源管理的重中之重。實行電子化的工資管理,可以讓人力資源管理人員從繁重瑣碎的案頭工作解脫出來,去完成更重要的工作。本文介紹畢業(yè)設計課題的選題背景和意義,相關的研究和開發(fā)的比較和綜述,研究開發(fā)的過程,以及設計思路和實現(xiàn)細節(jié)的考慮,最后給出了作者在畢業(yè)設計過程的體會

2、。工資管理系統(tǒng)是為了提高企業(yè)工資管理、簡化工資核算流程的一個系統(tǒng)。其囊括了企業(yè)對員工的資料管理的基本操作功能。如:員工入庫保存、查詢、修改、刪除、考勤、工資核算及打印等功能。該系統(tǒng)能記錄和管理員工從入廠以來的所有的工資信息及個人基本信息,能大大減輕會計部門的管理工作,方便、快捷、安全的完成企業(yè)員工工資管理工作。在方便企業(yè)管理的同時,為了保證管理信息的準確性、實時性、決策性,鑒于該系統(tǒng)是服務于管理工作的,因此本系統(tǒng)在使用權限上作了特別的限制及規(guī)定,使用權主要由超級管理員指定執(zhí)行?;谙到y(tǒng)開發(fā)的過程是根據實際工作需要而結合軟件工程的基本開發(fā)步驟設計開發(fā)的。論文在論述時嚴格按照開發(fā)流程,以有詳有略,

3、層次分明、重點突出的原則,從問題定義、需求分析、總體設計、詳細設計到編碼、測試的順序進行分析論述的,給系統(tǒng)一個清晰、全面地說明。有利于系統(tǒng)將來的擴充及完善。關鍵詞:工資管理、數(shù)據流圖、數(shù)據字典、e-r圖、功能圖、程序流程圖目 錄1、 引言32、 系統(tǒng)分析42.1可行性分析42.2需求分析42.3結構化分析83、 總體設計13 3.1概念結構設計133.2邏輯結構設計14 3.3概要設計15四、數(shù)據庫邏輯設計17五、功能模塊的創(chuàng)建205.1登陸窗口類-clogindlg205.2主窗口類- csalarydlg225.3查看工資窗口類-cpreviewdlg255.4薪資計算公式窗口類-cfor

4、muladlg27六、 用戶使用說明29七、 程序編碼35 八、 軟件測試567.1軟件測試的作用和意義567.2測試方法56 7.3測試內容567.4測試結果58 九、 課程總結58參考文獻59 一、引言隨著計算機技術的飛速發(fā)展,計算機在企業(yè)管理中的應用越來越普及,利用計算機實現(xiàn)企業(yè)工資的管理顯得越來越重要。對于大中型企業(yè)來說,利用計算機支持企業(yè)高效率完成勞動人事管理的日常事務,是適應現(xiàn)代企業(yè)制度要求、推動企業(yè)勞動人事管理走向科學化、規(guī)范化的必要條件;而工資管理是一項瑣碎、復雜而又十分細致的工作,工資計算、發(fā)放、核算的工作量很大,一般不允許出錯,如果實行手工操作,每月發(fā)放工資須手工填制大量的

5、表格,這就會耗費工作人員大量的時間和精力,計算機進行工資發(fā)放工作,不僅能夠保證工資核算準確無誤、快速輸出,而且還可以利用計算機對有關工資的各種信息進行統(tǒng)計,服務于財務部門其他方面的核算和財務處理,同時計算機具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高人事工資管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。企業(yè)的工資管理是公司管理的一個重要內容。隨著當今企業(yè)人員數(shù)量增加,企業(yè)的工資計算也變得越來越復雜。如果能夠實現(xiàn)工資管理的自動化,無疑是給企業(yè)管理部門帶來很大的方便。資金是企業(yè)生存的主要元素。資金的

6、流動影響到企業(yè)的整體運作,企業(yè)員工的工資是企業(yè)資金管理的一個重要的組成部分,因為企業(yè)每個月都要涉及發(fā)放企業(yè)員工工資的問題。企業(yè)員工的人數(shù)越多,工資的統(tǒng)計工作就越多,工資的發(fā)放困難就越大。最初的工資統(tǒng)計和發(fā)放都是使用人工方式處理,工作的時候,出現(xiàn)錯誤的機率也隨之升高。工資管理系統(tǒng)就是使用電腦代替大量的人工統(tǒng)計和計算,完成眾多工資信息的處理,同時使用電腦還可以安全地保存大量的工資記錄。企業(yè)工資管理系統(tǒng),為個人提供工資查詢服務,為企業(yè)提供工資計算,工資統(tǒng)計等服務。傳統(tǒng)的紙張材料的數(shù)據信息管理已經不適合現(xiàn)代企業(yè)公司的發(fā)展了,實現(xiàn)工資管理的系統(tǒng)化、規(guī)范化、自動化,將成為現(xiàn)在公司管理工資的首選。本系統(tǒng)實現(xiàn)

7、的工資管理系統(tǒng)基本上能夠滿足現(xiàn)代化企業(yè)工資管理的需求。工資管理系統(tǒng)有著許多手工管理所無法比擬的優(yōu)點:檢索迅速、查找方便、可靠性高、存儲量高、保密性好、壽命長、成本低等.這些優(yōu)點能夠極大的提高工資管理的效率。二、系統(tǒng)分析 2.1 可行性分析2.1.1目標方案可行性1) 計算機設備處理繁雜的工資增減問題,大幅度減少人力、物力,極大地提高企業(yè)的管理水平和管理效率。2) 管理水平和管理效率的提高能直接產生經濟效益。3) 高效率的管理形成了良好的經營氛圍,為企業(yè)打造優(yōu)良形象,提高企業(yè)競爭力。4) 本系統(tǒng)安全保密性可靠,實施獨立的局域網絡,人員進入系統(tǒng)需要登錄,需輸入賬戶和密碼。5) 本系統(tǒng)的管理,可以根

8、據市場需要進行調整,實用性強2.1.2技術可行性(1) 工作人員一般都要求掌握計算機技術,會使用各種管理軟件。(2) 在新系統(tǒng)投入使用時,需對員工進行少量的培訓,熟悉系統(tǒng)的功能和使 用方法使系統(tǒng)能夠順利運行。 2.1.3經濟可行性 (1) 企業(yè)有能力承擔系統(tǒng)開發(fā)費用。 (2) 新系統(tǒng)將為企業(yè)帶來經濟效益。管理系統(tǒng)是一個信息化、智能化和先進理理念的集合體。而管理是一個動態(tài)過程,在其運行過程中要采取多項措施。其最主要的表現(xiàn)就是減少了企業(yè)管理費用和人力開支。 2.1.4操作可行性 (1) 本系統(tǒng)采用基于windows的圖形用戶界面,而該系統(tǒng)是大家熟悉的操作系統(tǒng),對于那有一般的計算機知識的人員就可以輕

9、松上手。(2) 整個工資管理系統(tǒng)采用較友好的交互界面,簡單明了,操作方便,不需要 對數(shù)據庫進行深入的了解。2.2需求分析 通過在各業(yè)務領域內每個重要方面的調查,我們對人事工資管理系統(tǒng)進行了以下需求分析。a.企業(yè)工資系統(tǒng)目標采用企業(yè)現(xiàn)有的軟硬件及科學的管理系統(tǒng)開發(fā)方案,建立企業(yè)人事工資管理系統(tǒng),實現(xiàn)企業(yè)人事工資管理的計算機自動化。企業(yè)工資管理系統(tǒng)的主要任務是用計算機對各種工資信息進行日常的管理,如查詢、修改、增加、刪除以及存儲等,迅速準確地完成各種工資信息的統(tǒng)計計算和匯總工作,快速打印出工資報表,針對系統(tǒng)服務對象的具體要求,設計了企業(yè)工資管理系統(tǒng)。企業(yè)工資管理系統(tǒng)主要有以下幾大功能:(1)對單位

10、人員的變動進行處理。一個單位的職工不會是一成不變的,總是在不斷的變化,有調出、有調入、也有職工在本單位內部調動。因此,設計系統(tǒng)考慮到了這些情況。(2)對職工的工資進行計算、修改。對各職工的工資進行計算,即計算應發(fā)金額、應扣金額及實發(fā)金額等。(3)查詢統(tǒng)計功能。單項查詢,比如查看某個職工的工資情況,查看某各職工的基本信息等;多項查詢,比如年度歷史發(fā)放工資記錄表,月工資總額表等。(4)報表打印功能。每月發(fā)放工資時,要求能夠打印本月的工資表以及工資統(tǒng)計表。(5)系統(tǒng)維護功能。進行數(shù)據庫的備份,恢復以及定期對特定的存儲文件進行刷新。(6)企業(yè)考勤管理。通過輸入每名職工的考勤信息提供出工資決算的依據,并

11、且可打印出職工考勤記錄表。b.應用現(xiàn)狀調查目前,企業(yè)內部人事基本信息管理、考勤管理及工資管理基本處于純手工處理階段,工作效率很低,并且不能及時滿足要求。另外,手工管理還存在著許多弊端,由于不可避免的人為因素,極易造成數(shù)據的遺漏、誤報。c.總體業(yè)務流程調查維護員工基本信息維護員工工資信息數(shù)據統(tǒng)計處理數(shù)據,制作報表結束開始 管理者業(yè)務:普通員工業(yè)務:查詢本人基本情況進行權限范圍內的修改領取工資獲得工資單,本人信息等報表結束開始d.信息系統(tǒng)業(yè)務流程分析:招收新員工:新員工人事部報到employmee-code員工人事變動人事部管理部提供員工信息employmee-code獎懲決策過程制定獎懲標準工作

12、表現(xiàn)管理部管理者員工決定獎懲金額salary-rp獎懲報表員工考勤過程考勤評定員工業(yè)務部kaoqin日常工作考勤報表工資統(tǒng)計過程制定管理者salary-rpkaoqin工資報表(工資單)salary-overtimesalarysalary-history統(tǒng)計工資財務部管理者 下面以工資處理業(yè)務流程為例進行業(yè)務具體說明:管理部收集員工在日常工作中的表現(xiàn),根據管理者制定的企業(yè)獎懲標準計算出每名員工應該獎發(fā)或扣罰的工資數(shù)額,制定出獎罰報表并將獎罰信息寫入獎罰數(shù)據庫以供財務部查詢;業(yè)務部通過日??记谑占瘑T工的工作時間、加班時間、曠工及遲到天數(shù),一方面將考勤信息寫入考勤數(shù)據庫供財務部查詢,另一方面將的

13、到的員工加班時間和管理者提供的員工技術等級結合得出員工加班工資數(shù)據庫;財務部在綜合上述各方面的信息后,依據管理者提供的工資計算標準對員工的工資進行計算并得到員工工資單,將所得信息寫入員工歷史工資記錄表。2. 3 結構化分析 結構化分析方法簡稱sa方法,是一種面向數(shù)據流的需求分析方法,它的基本思想是自頂向下逐層分解,分解和抽象是人們控制問題復雜性的兩種基本手段。結構化分析方法的基本結果由以下幾個部分組成,一套分層的數(shù)據流圖,一本數(shù)據字典,一組加工邏輯說明,補充材料。 結構化體現(xiàn)在將軟件系統(tǒng)抽象為一系列的邏輯加工單元,各單元之間以數(shù)據流發(fā)生關聯(lián)。2.3.1數(shù)據流圖 數(shù)據流圖(data functi

14、on diagram),又名數(shù)據功能圖表,簡稱dfd,就是采用圖形方式來表達系統(tǒng)的邏輯功能、數(shù)據在系統(tǒng)內部的邏輯流向和邏輯變換過程,是結構化系統(tǒng)分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。 由于用戶群體中的各個用戶往往會從不同的角度、在不同的抽象級別上闡述他們對問題的理解和對目標軟件的需求,因此我們以數(shù)據流程圖的方式來進行滿足用戶需求的系統(tǒng)建模。具體數(shù)據流圖如下:系統(tǒng)頂層圖人事管理子系統(tǒng)職員考勤子系統(tǒng)業(yè)績考評子系統(tǒng)工資處理子系統(tǒng)2.3.2數(shù)據字典數(shù)據項的設計詳見數(shù)據庫物理結構。數(shù)據流的設計:編號數(shù)據流名稱簡述數(shù)據流來源數(shù)據流去向數(shù)據流組成流通量高峰流量f01人員花名冊部門的員工花名

15、 冊負責人事的管理人員負責工資統(tǒng)計的系統(tǒng)管理人員部門號+員工id+姓名+職務+技術級別1份/月1份/月編號數(shù)據流名稱簡述數(shù)據流來源數(shù)據流去向數(shù)據流組成流通量高峰流量f02員工月工資員工月工資負責工資統(tǒng)計的管理人員負責人事的管理人員部門號+員工id+姓名+月份+總工資1份/月1份/月編號數(shù)據流名稱簡述數(shù)據流來源數(shù)據流去向數(shù)據流組成流通量高峰流量f03決策企業(yè)管理者制定的決策企業(yè)管理者業(yè)務部獎懲金額+獎懲原因1份/月1份/月編號數(shù)據流名稱簡述數(shù)據流來源數(shù)據流去向數(shù)據流組成流通量高峰流量f04獎懲信息對員工的業(yè)務部各單位負責工資統(tǒng)計的系統(tǒng)管理人員獎懲金額+獎懲原因不確定不確定編號數(shù)據流名稱簡述數(shù)據流

16、來源數(shù)據流去向數(shù)據流組成流通量高峰流量f05考勤表員工考勤信息表管理部負責工資處理的系統(tǒng)管理員id+姓名+工作狀態(tài)+加班時間1份/天2份/天編號數(shù)據流名稱簡述數(shù)據流來源數(shù)據流去向數(shù)據流組成流通量高峰流量f06全局工資單企業(yè)全部員工工資單負責工資統(tǒng)計的管理人員企業(yè)管理者部門號+id+月份+員工總工資3份/月6份/月數(shù)據存儲的設計:數(shù)據存儲編號數(shù)據存儲名稱簡述數(shù)據存儲組成關鍵字相關聯(lián)的處理ds01雇員信息企業(yè)員工基本信息職員編號+ 性別+職員姓名職務+部門+出生年月+政治面貌+文化程度+畢業(yè)學校+畢業(yè)時間+籍貫 家庭住址+工作時間 技術等級+簽訂合同時間+合同期限+備注+月份+月工資記錄職員編號更

17、新雇員記錄數(shù)據存儲編號數(shù)據存儲名稱簡述數(shù)據存儲組成關鍵字相關聯(lián)的處理ds02考勤文件員工考勤信息記錄員工編號+加班時間+每天工作狀況員工編號每日考勤,統(tǒng)計考勤信息數(shù)據存儲編號數(shù)據存儲名稱簡述數(shù)據存儲組成關鍵字相關聯(lián)的處理ds03獎懲記錄員工業(yè)績獎懲記錄員工編號+月份+獎懲金額+獎懲原因員工編號記錄獎懲信息,提取獎懲信息數(shù)據存儲編號數(shù)據存儲名稱簡述數(shù)據存儲組成關鍵字相關聯(lián)的處理ds04工資單各部門員工工資單部門號+員工編號+月份+工資部門號+員工編號計算工資,匯總統(tǒng)計數(shù)據存儲編號數(shù)據存儲名稱簡述數(shù)據存儲組成關鍵字相關聯(lián)的處理ds05統(tǒng)計序列各部門統(tǒng)計工資員工序列部門號+員工編號各部門編組,計算工

18、資3、 總體設計這一階段的的任務是設計出組成工資管理系統(tǒng)的所有程序結構和數(shù)據庫文件(軟件系統(tǒng)結構設計)。并采用面向數(shù)據流的設計方法將系統(tǒng)按功能劃分模塊、確定每個模塊的功能、模塊間的調用關系、模塊間的接口以及評價模塊結構質量。在設計數(shù)據結構和數(shù)據庫時主要采用逐步細化的方法,根據需求分析階段對系統(tǒng)數(shù)據的組成、操作約束和數(shù)據間的關系描述、確定數(shù)據結構特性。 總體設計階段步驟及要求:(1)系統(tǒng)模塊設計:系統(tǒng)的模塊化形式在前面的內容中已經有了較詳細的描述,根據以管理員為核心的使用模式。(2)系統(tǒng)控制結構:對系統(tǒng)的控制主要體現(xiàn)在對信息流的把握上,即對參與處理各種信息流模塊進行分析、解耦和協(xié)調,從中找出相互

19、之間的邏輯關系,以便采取不同的控制對策。3.1 概念結構設計 在需求分析階段所得到的應用需求應該首先抽象為信息世界的結構,才能更好地、更準確地用某一dbms實現(xiàn)這些需求。在概念結構設計階段,首先需要了解概念結構設計的方法和步驟。(1)概念結構設計的方法:本系統(tǒng)采用自底向上的概念結構設計方法。即首先定義各局部應用的概念結構,然后將它們集成起來得到全局概念模式。(2)概念結構設計的步驟: a、抽象數(shù)據并設計局部視圖。就是對需求分析階段收集到的數(shù)據按照e-r模型的要求進行分類、組織,標識實體的鍵,確定實體之間的聯(lián)系類型,設計出e-r圖的框架。 b、豐富e-r,為其添上屬性,得到全局的概念結構。3.1

20、.1 e-r圖:e-r圖也即實體-聯(lián)系圖(entity relationship diagram),提供了表示實體型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。e-r方法是“實體-聯(lián)系方法”(entity-relationship approach)的簡稱,它是描述現(xiàn)實世界概念結構模型的有效方法,構成e-r圖的基本要素是實體型、屬性和聯(lián)系。下面是該系統(tǒng)的e-r圖:iimmmm員工職工編號籍貫婚否性別民族職位員工信息設置用戶查詢報表部門實發(fā)工資職務職工姓名職工編號出勤表缺勤滿勤工資設置部門設置工資實發(fā)工資技能工資職務基本工資 3.2 邏輯結構設計 邏輯結構設計階段的任務是將概念結構設計階段所

21、得到的概念模型轉換為具體dbms所能支持的數(shù)據模型(即邏輯結構),并對其進行優(yōu)化。邏輯結構設計一般分為三步進行: 1. 從e-r圖向關系模式轉化,數(shù)據庫的邏輯設計主要是將概念模型轉換成一般的關系模式,也就是將e-r圖中的實體、實體的屬性和實體之間的聯(lián)系轉化為關系模式。2. 數(shù)據模型的優(yōu)化,進一步提高數(shù)據庫應用系統(tǒng)的性能,適當修改數(shù)據模型的結構,提高查詢的速度。 3. 關系視圖設計,是用戶可直接訪問的數(shù)據模式。同一系統(tǒng)中,不同用戶可有不同的關系視圖。將數(shù)據庫的概念模型轉換為關系模型,實體轉換成的關系模式有:員工:(工號,姓名,性別,年齡,籍貫,身份證號,婚姻狀況,學歷,部 門名稱,工種,工齡,職

22、務等級) 部門:(部門編號,部門名稱,部門負責人,部門人數(shù))獲得:(工號,姓名)工資:(工號,工資年月,崗位工資,崗位補貼,出勤天數(shù),加班工時,加 班工資,加班天數(shù),加班類別,病假扣除,事假扣除,其它扣除,應 發(fā)工資,實發(fā)工資) 因為,員工與工資是1:n的關系,所以各關系模式為:員工:(工號,姓名,性別,年齡,籍貫,身份證號,婚姻狀況,學歷,部 門名稱,工種,工齡,職務等級) 部門:(部門名稱,部門負責人,部門人數(shù))工資:(工號,工資年月,崗位工資,崗位補貼,出勤天數(shù),加班工時,加 班工資,加班天數(shù),加班類別,病假扣除,事假扣除,其它扣除,應 發(fā)工資,實發(fā)工資)關系規(guī)范式:工資管理系統(tǒng)1nf

23、每個屬性均不可再分3. 3 概要設計 概要設計的主要任務是把需求分析得到的dfd轉換為軟件結構和數(shù)據結構。設計軟件結構的具體任務是:將一個復雜系統(tǒng)按功能進行模塊劃分、建立模塊的層次結構及調用關系、確定模塊間的接口及人機界面等。數(shù)據結構設計包括數(shù)據特征的描述、確定數(shù)據的結構特性、以及數(shù)據庫的設計。 經過對相關單位進行系統(tǒng)初步調查,確定各單位主要信息需求,形成系統(tǒng)總體結構方案,了解到以下信息:a.企業(yè)的組織結構調查:由于調查所限,我們擬對具備下面這樣一個組織結構圖的企業(yè)進行系統(tǒng)分析。b.企業(yè)的業(yè)務初步調查: 不同層次的單位或組織使用這個系統(tǒng)平臺的目的不一樣,如希望得到管理信息或業(yè)務信息或決策信息等

24、 各類單位需要系統(tǒng)依據權限提供各種不同的報表 新增、刪除、修改、查詢雇員記錄人事基本管理模塊 c.對所有信息需求進行分析,得到如下的系統(tǒng)總體結構方案,即功能圖:制定花名冊雇員統(tǒng)計,打印報表計算雇員應得工資工資處理模塊打印雇員工資單公司總工資統(tǒng)計新增歷史工資記錄設置管理權限系統(tǒng)維護模塊公司人事管理系統(tǒng)數(shù)據庫的備份,恢復數(shù)據庫數(shù)據的定期更新,刪除數(shù)據庫操作日志雇員考勤模塊記錄雇員工作時記錄雇員加班時記錄雇員請假時記錄雇員違規(guī)情況和相應罰款金額雇員登錄經過一系列的分析和設計,可以得到工資管理模型的程序流程圖,具體如下: 用戶管理者判斷用戶用戶登錄管理平臺發(fā)放工資發(fā)布消息修改密碼添加員工注銷登錄查看消

25、息查詢工資修改密碼用戶平臺四、數(shù)據庫邏輯設計4.1數(shù)據庫設計本系統(tǒng)采用sql 2000作為數(shù)據庫。根據上面的分析,本系統(tǒng)主要需要6張表,如表2.1所示,各表的設置如表2.2-2.7所示。 表2.1 系統(tǒng)中所用到表及用途表名用途personinfo員工信息表department部門信息表attendancestate員工出勤信息表salary基本工資表salary_other其他工資表-津貼獎金等couter計算輔助表1. 員工信息表(personinfo)表2.2 personinfo表名稱數(shù)據結構作用idint員工id號namechar(10)姓名passwardchar(10)登陸密碼au

26、thoritychar(10)權限(管理員為2,普通員工為1)departmentidint所在部門idstatechar(10)狀態(tài)2. 部門信息表(department)表2.3 department表名稱數(shù)據結構作用idint部門號namechar(10)部門名稱3. 員工出勤信息表(attendancestate)表2.4 attendancestate表名稱數(shù)據類型作用personidint員工idworkhourint本月工作小時數(shù)overhourint加班小時數(shù)yearmouthchar月日期evectiondaysint出差天數(shù)latetimesint遲到天數(shù)earlytime

27、sint早退天數(shù)absenttimesint請假天數(shù)4. 基本工資信息表(salary)表2.5 salary表名稱數(shù)據類型作用idintid號personidint員工id號salaryvaluefloat基本工資數(shù)yearmonthchar年月basicfloat津貼基數(shù)bonusfloat獎金adddetailchar增加工資詳細信息addtotalfloat增加工資額subdetailchar扣除工資詳細信息subtotalfloat扣除工資額totalfloat實際發(fā)放工資5. 津貼獎金(salary_other)表2.6 salary_other表名稱數(shù)據類型作用idintid號n

28、amechar項目名稱typeint類型:固定津貼,月度獎金,月度津貼,月度扣發(fā)personidint員工id號moneyfloat金額remarkchar備注yearmonthlchar年月6. 計算輔助表(counter)表2.7 counter表名稱數(shù)據類型作用idcharid號counterintcounter值五、 功能模塊的創(chuàng)建 首先需要建立一個mfc項目,命名為salary. 項目建立以后,根據需求可以知道,系統(tǒng)需要創(chuàng)建4個主要窗口,因此也就至少需要4個窗口繼承類,分別為登陸窗口類-clogindlg、主窗口類-csalarydlg、查看工資窗口類-cpreviewdlg和薪資計

29、算公式窗口類-cformuladlg。由于密碼存放到數(shù)據庫中,為了保護管理員密碼在數(shù)據庫中不是明碼顯示可以用密碼類ccrypt做一下處理,存入數(shù)據庫。5.1登陸窗口類-clogindlg 登陸窗口主要負責連接后臺數(shù)據庫,以及登陸系統(tǒng)。此類的定義如下: #if !defined(afx_logindlg_h_386ddc27_afdf_11d6_8649_0088cc174723_included_)#define afx_logindlg_h_386ddc27_afdf_11d6_8649_0088cc174723_included_#if _msc_ver 1000#pragma once#

30、endif / _msc_ver 1000/ logindlg.h : header file/ clogindlg dialogclass clogindlg : public cdialogprivate:cfont m_font;/ constructionpublic:clogindlg(cwnd* pparent = null); / standard constructor/ dialog data/afx_data(clogindlg)enum idd = idd_dlg_login ;cstringm_sdsn;cstringm_susername;cstringm_spass

31、ward;/afx_data/ overrides/ classwizard generated virtual function overrides/afx_virtual(clogindlg)protected:virtual void dodataexchange(cdataexchange* pdx); / ddx/ddv support/afx_virtual/ implementationprotected:/ generated message map functions/afx_msg(clogindlg)virtual bool oninitdialog();virtual

32、void onok();afx_msg void onchangeedtuser();/afx_msgdeclare_message_map();/afx_insert_location/ microsoft visual c+ will insert additional declarations immediately before the previous line.#endif / !defined(afx_logindlg_h_386ddc27_afdf_11d6_8649_0088cc174723_included_)5.2主窗口類- csalarydlg 主窗口類主要是負責對員工

33、基本工資、本月津貼福利等輸入與管理,以及提供和主菜單連接功能的設置,例如登陸連接、幫助窗口等。其類的定義如下: / salarydlg.h : header file/afx_includes()#include datagrid.h/afx_includes#if !defined(afx_salarydlg_h_393241c7_afd8_11d6_8649_0088cc174723_included_)#define afx_salarydlg_h_393241c7_afd8_11d6_8649_0088cc174723_included_#if _msc_ver 1000#pragma

34、 once#endif / _msc_ver 1000/ csalarydlg dialogclass csalarydlg : public cdialog/ constructionpublic:void onaboutdlg();_recordsetptr m_pcurdgrs; / 指向右鍵彈出菜單時的dg相關的recordset對象void rightclick(cdatagrid& dg, _recordsetptr pdgrs, short button, long x, long y);haccel m_hacctable;void updatedg(_recordsetptr

35、 pdgrs, cdatagrid& cdg, int index);void addrecord(cstring strpersonid);/ 與幾個datagrid相關的recordset對象_recordsetptr m_pdg1rs,m_pdg2rs,m_pdg3rs,m_pdg4rs,m_pdg5rs;cstatusbar m_wndstatusbar;csalarydlg(cwnd* pparent = null);/ standard constructor/ dialog data/afx_data(csalarydlg)enum idd = idd_salary_dialog

36、 ;cstringm_strdepartid;cdatagridm_cdg1;cstringm_strdepartname;cstringm_strpersonid;cstringm_strpersonname;floatm_fbasicsalary;cstringm_stryearmonth;cdatagridm_cdg2;cdatagridm_cdg3;cdatagridm_cdg4;cdatagridm_cdg5;boolm_bfixed;cstringm_stritemname;floatm_fmoney;cstringm_strdesription;/afx_data/ classw

37、izard generated virtual function overrides/afx_virtual(csalarydlg)public:virtual bool pretranslatemessage(msg* pmsg);protected:virtual void dodataexchange(cdataexchange* pdx);/ ddx/ddv support/afx_virtual/ implementationprotected:hicon m_hicon;/ generated message map functions/afx_msg(csalarydlg)vir

38、tual bool oninitdialog();afx_msg void onsyscommand(uint nid, lparam lparam);afx_msg void onpaint();afx_msg hcursor onquerydragicon();afx_msg void onsystemconnect();afx_msg void onsystemdisconnect();afx_msg void onchangeedtdepartid();afx_msg void ondestroy();afx_msg void ondblclickdatagrid1();afx_msg

39、 void onchangeedtpersonid();afx_msg void onbtnchangesalary();afx_msg void onbtnaddperson();afx_msg void onbtnaddlist();afx_msg void onconfigformula();afx_msg void onsystemexit();afx_msg void oncalculatestat();afx_msg void onmenuselect(uint nitemid, uint nflags, hmenu hsysmenu);afx_msg void onmousedo

40、wndatagrid2(short button, short shift, long x, long y);afx_msg void onmousedowndatagrid3(short button, short shift, long x, long y);afx_msg void onmousedowndatagrid4(short button, short shift, long x, long y);afx_msg void onmousedowndatagrid5(short button, short shift, long x, long y);afx_msg void o

41、ndeleterecord();afx_msg void onpreviewview();declare_eventsink_map()/afx_msgdeclare_message_map();/afx_insert_location/ microsoft visual c+ will insert additional declarations immediately before the previous line.#endif / !defined(afx_salarydlg_h_393241c7_afd8_11d6_8649_0088cc174723_included_)5.3查看工

42、資窗口類-cpreviewdlg cpreviewdlg類主要是負責查看所有員工本月實際發(fā)放工資的金額。cpreviewdlg代碼及其解釋如下:/afx_includes()#include datagrid.h/afx_includes#if !defined(afx_previewdlg_h_79f367a2_b642_11d6_8649_0088cc174723_included_)#define afx_previewdlg_h_79f367a2_b642_11d6_8649_0088cc174723_included_#if _msc_ver 1000#pragma once#end

43、if / _msc_ver 1000/ previewdlg.h : header file/ cpreviewdlg dialogclass cpreviewdlg : public cdialog/ constructionpublic:cstring m_stryearmonth;cpreviewdlg(cwnd* pparent = null); / standard constructor/ dialog data/afx_data(cpreviewdlg)enum idd = idd_dlg_preview ;cdatagridm_cdg;/afx_data/ overrides/

44、 classwizard generated virtual function overrides/afx_virtual(cpreviewdlg)protected:virtual void dodataexchange(cdataexchange* pdx); / ddx/ddv support/afx_virtual/ implementationprotected:/ generated message map functions/afx_msg(cpreviewdlg)virtual bool oninitdialog();/afx_msgdeclare_message_map();

45、/afx_insert_location/ microsoft visual c+ will insert additional declarations immediately before the previous line.#endif / !defined(afx_previewdlg_h_79f367a2_b642_11d6_8649_0088cc174723_included_)5.4薪資計算公式窗口類-cformuladlg cformuladlg類主要負責薪資計算公式的調整、保存、以及恢復這3個功能,以便計算員工本月工資使用,詳細定義代碼如下: #if !defined(afx

46、_formuladlg_h_780ccf87_b16f_11d6_8649_0088cc174723_included_)#define afx_formuladlg_h_780ccf87_b16f_11d6_8649_0088cc174723_included_#if _msc_ver 1000#pragma once#endif / _msc_ver 1000/ formuladlg.h : header file/ cformuladlg dialogclass cformuladlg : public cdialog/ constructionpublic:cformuladlg(cwnd* pparent = null); / standard constructor/ dialog data/afx_data(cformuladlg)enum idd = idd_dlg_formula ;intm_novertime;intm_nerrand;intm_nlate;intm_nabsent;/afx_data/ overrides/ classwizard generated virtual function overrides/afx_virtual(cformuladlg)protected:virtual void dod

溫馨提示

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

評論

0/150

提交評論