工资管理系统的设计与实现毕业论文.doc_第1页
工资管理系统的设计与实现毕业论文.doc_第2页
工资管理系统的设计与实现毕业论文.doc_第3页
工资管理系统的设计与实现毕业论文.doc_第4页
工资管理系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工资管理系统的设计与实现摘要随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的管理工具,不断改善企业的服务质量,提高工作效率。无论是行政职能,还是生产运作的管理要求的不断提高,在很大程度上使企业不得不改变传统的经营管理方式以适应快速发展的社会主义市场经济,改变企业管理方式、方法已经成为企业发展的先决条件。建设一个科学高效的信息管理系统是解决这一问题的必由之路。 对企业内部的财务运用现代化技术进行管理,是提高工作效率的有效手段。工资管理作为企业内部财务管理的一个重要方面,也逐步被企业管理者所重视,由于企业的规模的不断扩,大企业职工人数的不断增多,使工资发放成为企业管理中的一个重课题;再加上每一位职工的具体实际情况相同,规章章制度的不断完善,增大了个人工资发放难度;每个人每月的工资都要通过工资制度的审核,这大大增加了管理人员的工作量,通过计算机管理系统对员工工资进行全面的统计与管理,全面解决了工资管理过程中所遇到的各种问题,并且克服了传统管理方式中的易出错等问题。工资管理系统成为企业现代化管理中的首选管理工具。 关键字:工资管理系统;基本信息;基本工资; SalarymanagementsystemdesignandimplementationABSTRACTWithChinasnationaleconomicconstructionboomandhastheChinesecharacteristicsocialismmarketeconomysystem,therapidimprovementinallsectorsactivelyusemodernmanagementtool,andconstantlyimproveenterpriseservicequality,improveworkefficiency.Whetheritsadministrativefunctions,orproductionoperationmanagementdemandsunceasingenhancement,toagreatextent,makeenterprisehadtochangethetraditionalmanagementmethodtoadapttotherapiddevelopmentofthesocialistmarketeconomy,changeenterprisemanagementmode,themethodhasbecomeaprerequisiteforthedevelopmentoftheenterprise.Buildascientificandeffectiveinformationmanagementsystemisawaytosolvetheproblem. Forthe enterprise internal financial using modern technology management, is to improve work efficiency effective means. Salary management as the enterprise internal financial management, also an important aspect of enterprise administrators had gradually attention, because the size of the enterprises constantly expanding the number of staff and workers, large enterprises increase, make salaries to become the enterprise management of a heavy subject; Plus every worker is same, the specific actual situation the perfection of the rules and chapter system, increasing the individual salaries difficulty; Everyones monthly salary is the salary system audit, which greatly increased the management personnels workload, through the computer management system for employee wages to conduct a comprehensive statistics and management, fully solved salary management process kinds of problems faced, and overcome traditional management mode problems such as the error-prone. Salary management system will become the first modern management enterprise management tools. Keywords :Salarymanagementsystem;base information;base salary;目录第1章 引言51.1本课题的研究意义51.2本论文的目的、内容及作者的主要贡献5第2章 系统简介62.1项目规划62.2系统功能结构6第3章 相关知识介绍73.1面向对象编程73.2 Visual C+ 6.0介绍83.3 SQL 2000介绍9第4章 系统需求104.1 系统需求104.2 出错处理需求104.3 将来可能提出的要求11第5章 系统框架设计125.1 系统设计思想125.2 数据库设计125.3 数据库模型ER图145.4 系统界面设计15第6章 系统功能设计216.1 系统模块介绍216.2 主要类介绍216.3 关键方法介绍246.4 程序详细设计246.5 MFC关键方法介绍28第7章 系统测试317.1 功能测试317.2 测试总结33第8章 系统评价358.1 系统优缺点358.2 系统可行性358.3 改进方向36结束语37致谢38参考文献39附录 部分代码40第1章 引言1.1本课题的研究意义目前市面上流行的工资发放软件不少。但是,对于企、事业单位的工资发放来说,不需要太大型的数据库系统。只需要一个操作方便,功能实用,能同时满足财务部门、单位其他相关部门及代发单位三方对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用,用户(财务部、其他相关部门、银行)操作方便,简单明了的工资发放软件。1.2本论文的目的、内容及作者的主要贡献 1内容 实现本单位财务部门对工资发放的集中管理。可供财务人员对本单位的人员 工资进行增加、删除、修改、查询、导入、导出文件、输出报表,并对系统的可登录人员进行管理;同时通过菜单关闭功能使本单位其他相关部门的人员对工资的数据编辑无法操作,只能通过查询或导出文件来了解本单位的工资发放情况; 对工资发放中的应发工资合计、代扣个人所得税及个人实发工资等项目由系统自 动进行计算;同时本系统还可对工资发放情况进行多角度查询,并转换成可与银 行UNIX平台接口的数据形式以便于委托银行办理代发工资业务。 在登录管理方面,财务人员以工资发放系统的管理人员身份登录,并对本系统的可登录人员进行管理,有权增加及删除本系统的登录人员,进行自身密码的修改;而本单位其他相关部门的可登录人员在登录本系统后,则只能进行自身密码的修改,而无权增加及删除用户。 2作者的贡献全程参与了此课题的研究与开发,包括分析,设计,编码,测试,文档等等。 第2章 系统简介2.1项目规划工资管理系统是由基本信息管理、工资查询、工资管理、系统管理和帮助等几个功能模块组成,规划系统功能模块如下:1 基本信息管理模块基本信息管理模块主要包括员工录入、员工删除2部分。2 工资查询模块工资查询模块主要包括基本工资查询、浮动工资查询、加班/休假查询、总体查询4个部分。3 工资管理模块工资管理模块主要包括工资发放管理、基本工资管理、浮动工资管理、加班/休假管理4个部分。4 系统管理模块系统管理模块主要包括用户管理、修改密码、退出系统3个部分。5 帮助模块帮助模块主要包括关于1个部分。.2.2系统功能结构以下是系统功能图如图2.1所示。工资管理系统系统管理基本信息管理工资管理工资查询帮助用户管理修改密码退出系统员工添加员工删除基本工资查理浮动工资查理加班休假查理工资发放管理基本工资查询浮动工资查询休假查询总体查询关于 图2.1 系统功能图第3章 相关知识介绍3.1面向对象编程面向对象的设计方法 (OOP, Objected Programming) 从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。Visual C+ 作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual C+ 自动生成对象的程序代码并封装起来。Visual C+ 应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。为什么要使用面向对象编程? 1相比过程化编程,使用面向对象编程方法写出来的程序更具有重用性和扩展性,而且可以大大提高开发效率。比如一个公司可以建立自己的程序框架(Application Framework)和函数库,然后可以在多个项目中使用。 2.面向对象编程方法的思维模式与人们的思维模式相同,所以更容易分析、表现和解决现实世界中的具体问题。 3.可以使用与面向对象相关的工具,比如建模工具(Rational Rose)、开发工具(Visual Studio.NET、J Builder)、形象管理工具(Rational Clear Case)。 4.面向对象编程方法的特性更适合多人合作开发(Team Development)。黑匣子(Black Box)-是面向对象编程重要特性之一。你可以使用UML建模,然后按类或组件为一个单位交给程序员。因为这些任务单位(类或组件)之间依赖性很小,所以程序员写代码时不用考虑其他问题。 5.面向对象编程方法更适合目前流行的开发工具和技术。目前流行的开发工具和技术都是以面向对象编程方法为基础的,所以你不知道面向对象编程,学习和应用它们就比较困难了。OOP 主要有以下的概念和组件: 1组件 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。 2抽象性 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。 3封装 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。4多态性 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。5继承性 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。 Visual C+ 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。3.2 Visual C+ 6.0介绍Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+是基于C/C+的集成开发工具,它利用两种方式来编写Win32应用程序,一为基于Windows API的C编程方式,另一种是基于MFC的C+编程方式。Visual C+ 6.0编程语言是目前极为广泛的可视化开发工具,利用Visual C+ 6.0可以开发基于Windnows平台的32位应用程序,依靠强大的编译器以及网络与数据库的开发能力,用Visual C+ 6.0可以开发出功能强大的应用程序。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Visual C+它大概可以分成三个主要的部分:1Developer Studio,这是一个集成开发环境,我们日常工作的99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C+”,所以很多人理所当然的认为,那就是Visual C+了。其实不然,虽然Developer Studio提供了一个很好的编辑器和很多Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio并不是专门用于VC的,它也同样用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio当成Visual C+, 它充其量只是Visual C+的一个壳子而已。2MFC。从理论上来讲,MFC也不是专用于Visual C+,Borland C+,C+Builder和Symantec C+同样可以处理MFC。同时,用Visual C+编写代码也并不意味着一定要用MFC,只要愿意,用Visual C+来编写SDK程序,或者使用STL,ATL,一样没有限制。不过,Visual C+本来就是为MFC打造的,Visual C+中的许多特征和语言扩展也是为MFC而设计的,所以用Visual C+而不用MFC就等于抛弃了Visual C+中很大的一部分功能。但是,Visual C+也不等于MFC。3 Platform SDK。这才是Visual C+和整个Visual Studio的精华和灵魂,虽然我们很少能直接接触到它。大致说来,Platform SDK是以Microsoft C/C+编译器为核心(不是Visual C+,看清楚了),配合MASM,辅以其他一些工具和文档资料。上面说到Developer Studio没有编译程序的功能,那么这项工作是由谁来完成的呢?是CL,是NMAKE,和其他许许多多命令行程序,这些我们看不到的程序才是构成Visual Studio的基石。3.3 SQL 2000介绍SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000 的特性: 1Internet 集成SQL Server 2000 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。 2可伸缩性和可用性同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 3企业级数据库功能SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。 4易于安装、部署和使用SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。数据仓库。 SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。第4章 系统需求4.1 系统需求随着经济的发展,企业正向着大型化、规模化发展,而对于大中型企业,员工、职称等跟工资管理有关的信息随之急剧增加。在这种情况下单靠人工来处理员工的工资不但显得力不从心,而且极容易出错。如何设计一个小型企业工资的数据库管理系统,由计算机代替人工执行一系列诸如增加新员工,删除旧员工,工资查询,统计等操作。这样就使办公人员可以轻松快捷地完成工资管理的任务。1功能需求:工资管理系统是一款专业的管理软件,软件界面设计简洁,美观,其人性化的软件流程,使普通用户不需培训也能很快掌握软件操作使用方法,上手极易。强大报表与集成查询功能是本软件的最大特色,所有功能在用户需要的使用地方自然体现,不用打开多个窗口重复查询。工资管理系统广泛适用于小型企业,超市,门店等用于工资管理, 是企业进行信息化管理的强大工具。 基于系统需求分析,该系统需要实现以下基本功能:(1)登陆系统:此部分分为普通用户和高级用户,他们有着不同的功能和权限。(2)系统管理:包括用户管理、修改密码和退出系统。该功能主要用于对用户的管理。(3) 员工添加:包括员工添加和删除功能。主要用于对员工的添加和删除。(4)工资管理:包括基本工资管理,浮动工资管理,加班休假管理,工资发放管理。主要用于对员工个人的工资进行管理。(5)工资查询功能:基本工资管理,浮动工资管理 、加班休假查询,总体工资查询。2硬件要求:CPU:2GHz以上的处理器。内存:512MB,推荐1GB。硬盘:2G以上剩余空间。显示像素:最低1024*768,最佳效果1680*1053软件需求:操作系统:Windows 2000/2003/NT/XP/CE。开发平台:Microsoft Visual C+ 6.0数据库:SQL Server2000。 4.2 出错处理需求不可能存在不会出错的程序,所以当程序运行出错时,系统很有可能面临崩溃和数据的丢失,因此,所有良好的系统都应该有一套比较完善的处理出错的机制。本系统也要考虑到当出现运行错误时的处理办法 ,当系统出现问题时,我们将会保留你当前的数据,尽可能的减少您的损失,也因此因此而带来的不便表示遗憾!4.3 将来可能提出的要求在以后的日子里,我们将不断完善系统功能,在保持功能不便的基础上添加更多方便与用户使用的新功能,我们将不一遍,一遍又一遍的测试我们的程序,一旦出现错误,我们将第一时间通知你们,避免不必要的事情发生。相信我们将给你们带来更好的工资管理系统。第5章 系统框架设计5.1 系统设计思想概要设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与DBMS无关的、面向现实世界的、易如理解的数据模型,其独立于计算机的数据模型,独立于计算机的软硬件系统,与用户进行交流十分方便。概念性数据模型关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的直观的数据库结构模式。同时也是一种相对稳定统一的数据模式,一般情况下很少变动。概念性数据在用户和设计者之间建立了桥梁。是设计数据库结构的基础。概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称E-R模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。用实体间联系反映现实世界事物间的内在联系。E-R模型是建立概念性数据模型的有力工具。5.2 数据库设计通过对企业工资管理内容和过程的分析,运用SQL2000开发工具建立数据库表。本系统一共用到了6个表。本系统应设计的实体和属性如下:1UserInformation 表,包括用户名(Uname),密码(Upassword)和用户级别(Ulevel)字段。此表可以不设计主键。如表5.1所示 表5.1 UserInformation2BasicSalaryOfStaff表,包括编号(Sno),姓名(Sname),基本工(Sbasicsalary),职务工资(Spostsalary),工龄工资(Sagesalary),养老保险字段(Sendowment),字段。设Sno为主键。如表5.2 表5.2 BasicSalaryOfStaff3BasicInfOfStaff表,包括员工编号(Sno),员工姓名(Sname),员工性别(Ssex),文化程度(Sedu)字段。设计Sno为主键。如表5.3所示 表5.3 BasicSalaryOfStaff 4DynamicSalaryOfStaff 表,包括编号(Sno),姓名(Sname),个人所得税(Stax),住房补贴(Shouseallow),保险费(Sinsurance),生活补贴(Slifeallow)字段。将Sno设计为主键。如表5.4所示 表5.4 DynamicSalaryOfStaff5ExtraVacationOfStaff表,包括员工编号(Sno),员工姓名(Sname),加班天数(Sextradays),加班工资(Sextrasalary),休假天数(Svacdays),休假扣款(Slowersalary)字段。将Sno设为主键。如表5.5所示 表5.5 ExtraVacationOfStaff6GrantSalaryOfStaff 表,包括员工编号(Sno),员工姓名(Sname),基本工资(Sbasicsalary),职务工资(Spostsalary),工龄工资(Sagesalary),养老保险(Sendowment),个人所得税(Stax)字段。将Sno设为主键。如表5.6所示 表5.6 GrantSalaryOfStaff5.3 数据库模型ER图 根据数据库理论基本知识和上节的数据库表,我们不难得到下面的实体-联系(E-R)图,具体如下图5.1,5.2,5.3,5.4,5.5,5.6所示:员工员工编号员工姓名员工性别文化程度图5.1 实体及其属性基本工资基本工资职务工资工龄工资养老保险 图5.2 实体及其属性浮动工资个人所得税住房补贴保险费生活补贴图5.3实体及其属性加班休假加班天数加班工资休假天数休假扣款 图5.4实体及其属性图5.5实体及其联系图图5.6 实体及其属性5.4 系统界面设计1登陆框设计登录模块功能是完成用户登录本系统的操作,用户登录对话框的设计如图5.7所示:设计步骤:(1)向项目中添加一个新Dialog资源,资源ID为IDD_LOGIN。在IDD_LOGIN对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“Dialog Properties”对话框。在“Dialog Properties”对话框中选择General选项卡,更改其“Caption”文本框内容为“用户登录”。(2)从Controls面板上向Dialog资源中添加2个Static、1个Picture、2个Edit,更改资源的属性,并为资源设置相对应的变量。图5.7登录对话框2菜单界面设计主窗口菜单设置的主要步骤如下:(1)在ResourceView添加一个菜单项包括系统管理、基本信息管理、工资管理、工资查询四子菜单。(2)在系统管理子菜单中加入用户管理,修改密码,和退出系统三个菜单项。在基本信息管理子菜单中加入员工添加和员工删除菜单项。在工资管理子菜单中加入基本工资管理、浮动工资管理、加班休假管理和工资发放管理菜单项。在工资查询子菜单中加入基本工资查询、浮动工资查询、加班休假查询和总体查询菜单项。3.客户区设计(1)插入一张系统主界面的位图,然后重载视类的OnPaint函数将其绘在系统主客户区,加载了skinplusplus链接库,然后导入XPCON.SSK。再把SkinPlusPlus.h文件包含进来。接着将SkinPlusPlusDLL.lib、SkinPlusPlusDLL.dll、XPCorona.sskSkinPlusPlus.h四个文件拷贝到工程目录。最后在CsalaryManSysApp类中的InitInstance()方法中加入InitializeSkin(_T(XPCorona.ssk)让其具有XP风格的皮肤,完成后如图5.8所示。图5.8 系统主界面4员工入录界面设计 (1)向项目中添加一个新Dialog资源,资源ID为IDD_ADDEMPLOYEE。在IDD_ADDEMPLOYEE对话框资源中单击鼠标右键,执行弹出快捷菜单的“Properties”菜单命令,打开“Dialog Properties”对话框。在“Dialog Properties”对话框中选择General选项卡,更改其“Caption”文本框内容为“员工录入”。(2)从Controls面板上向Dialog资源中添加4个Static、2个Combo、2个Edit,更改资源的属性,并为资源设置相对应的变量后编写代码。图5.9员工录入对话框5员工删除界面设计向项目中添加一个新Dialog资源,资源ID为IDD_DELETEEMPLOYEE。在对话框上添加上相应的控件。如图5.10所示:图5.10员工删除对话框6工资管理界面设计添加员工基本工资、浮动工资,加班休假和实际发放的工资情况,其中工资发放管理对话框设计如图5.11所示,其它对话框类似于下图,由于篇幅有限,已略去。设计步骤:(1)向项目中添加一个新Dialog资源,资源ID为IDD_MANGRANT。在IDD_MANGRANT对话框资源中单击鼠标右键,执行弹出快捷菜单的 “Properties”菜单命令,打开“Dialog Properties”对话框。在“Dialog Properties”对话框中选择General选项卡,更改其“Caption”文本框内容为“工资发放管理”。(2)从Controls面板上向Dialog资源中添加14个Static、14个Edit、3个Button控件,更改资源的属性,并为资源设置相对应的变量后编写代码。图5.11工资发放管理对话框7工资查询界面设计添加员工基本工资查询、浮动工资查询,加班休假查询和总体查询对话框,具体过程不再赘述,添加完毕后分别为其编写代码,详见程序文件,图5.12是总体查询对话框。图5.12 总体查询8用户管理界面设计实现新建、删除用户及用户密码修改功能,用户管理对话框设计如图5.13所示。 图5.13 用户管理对话框第6章 系统功能设计6.1 系统模块介绍该系统主要包括登录界面和主界面模块。(1)登录模块部分比较简单,用一个对话框和一个UserInformation表来管理用户的登录状态。在该模块中Uname和Upassword用来表示用户名和密码,Ulevel是用来判断用户的优先级。(2)主界面模块主要包括系统管理模块、基本信息管理模块、工资管理模块、工资查询模块。管理模块:该模块主要由用户管理、修改密码和退出系统三个功能。用户管理用来添加或删除用户。同时设置其级别。修改密码主要对用户的密码进行修改。退出系统既用户离开系统。基本信息模块:该模块主要包括员工的添加和删除,用来对新的员工的添加或对退休的员工进行记录清楚。工资管理模块:该模块主要包括基本工资管理、浮动工资管理、加班休假管理和工资发放管理四个功能。基本工资管理用来对员工的基本工资进行管理,浮动工资管理使用户更加清晰了解用户的基本信息。加班休假功能用于对员工加班休假信息进行管理。工资发放用于员工的工资发放进行管理。工资查询模块:该模块包括基本工资查询、浮动工资查询、加班休假查询和总体查询。主要是给普通用户级别的人员对员工相关信息进行管理。6.2 主要类介绍1CADOConnect用于数据库的连接与断开。class CADOConnect public:CADOConnect();virtual CADOConnect();_ConnectionPtr m_pConnection; /指向Connection对象的指针_RecordsetPtr m_pRecordset; /指向Recordset对象的指针void OnInitADOConnect(); /初始化,连接数据库_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);/执行查询BOOL ExecuteSQL(_bstr_t bstrSQL);/执行SQL语句void ExitConnect(); /断开数据库连接;2CUserInformation .该类用于保存用户名,密码,和用户等级,将所有对于登陆表的数据封装在其中。class CUserInformation private:CString Uname; /用户名CString Upassword; /密码CString Ulevel; /级别public:CUserInformation();virtual CUserInformation();CString GetUname();/获取用户名void SetUname(CString nUname);/设置用户名CString GetUpassword();/获取密码void SetUpassword(CString nUpassword);/设置密码CString GetUlevel();/获取级别void SetUlevel(CString nUlevel);/设置级别void InsertSQL();/插入SQL语句void UpdateStaffBySQL(CString nUname);/用SQL语句更新用户void DeleteStaffBySQL(CString nUname);/用SQL语句删除用户BOOL DistinguishUname(CString nUname);/判断是否存在此用户名 BOOL DistinguishUnameUpassword(CString nUname,CString nUpassword); BOOL DistinguishUser(CString nUname,CString nUpassword,CString nUlevel);/判断是否存在此用户;3CgrantSalaryOfStaff 该类用于对员工的所有信息进行管理,封装。并且与数据库连接,所有对员工的操作即转化为对该类对象的操作。class CGrantSalaryOfStaff private:CString Sno;/员工编号CString Sname;/员工姓名int Sbasicsalary;/基本工资int Spostsalary;/职务工资int Sagesalary;/工龄工资int Sendowment;/养老保险int Stax;/个人所得税int Shouseallow;/住房补贴int Sinsurance;/保险费int Slifeallow;/生活补贴int Sextradays;/加班天数int Sextrasalary;/加班工资int Svacdays;/休假天数int Slowersalary;/休假扣款int Sshould;/应发工资public:CGrantSalaryOfStaff();virtual CGrantSalaryOfStaff();CString GetSno();/获取员工编号void SetSno(CString nSno);/设置员工编号CString GetSname();/获取员工姓名void SetSname(CString nSname);/设置员工姓名int GetSbasicsalary(); / /获取基本工资void SetSbasicsalary(int nSbasicsalary); /设置基本工资int GetSpostsalary(); /获取职务工资void SetSpostsalary(int nSpostsalary); /设置职务工资int GetSagesalary(); /获取工龄工资void SetSagesalary(int nSagesalary); /设置工龄工资int GetSendowment();/获取养老保险void SetSendowment(int nSendowment);/设置养老保险int GetStax();/获取个人所得税void SetStax(int nStax); /设置个人所得税int GetShouseallow();/获取住房补贴void SetShouseallow(int nShouseallow);/设置住房补贴int GetSinsurance(); / /获取保险费void SetSinsurance(int nSinsurance); /设置保险费int GetSlifeallow();/获取生活补贴void SetSlifeallow(int nSlifeallow);/设置生活补贴int GetSextradays();/获取加班天数void SetSextradays(int nSextradays);/设置加班天数int GetSextrasalary();/获取加班工资void SetSextrasalary(int nSextrasalary);/设置加班工资int GetSvacdays();/获取休假天数void SetSvacdays(int nSvacdays);/设置休假天数int GetSlowersalary();/获取休假扣款void SetSlowersalary(int nSlowersalary);/设置休假扣款int GetSshould();/获取应发工资void SetSshould(int nSshould);/设置应发工资void InsertSQL();/插入SQL语句void UpdateStaffBySQL(CString nSno);/用SQL语句更新员工void DeleteStaffBySQL(CString nSno);/用SQL语句删除员工;4CextraVacationOfStaff 该类用于对员工的加班、休假等一些活动的管理。class CExtraVacationOfStaff private:CString Sno;/员工编号CString Sname;/员工姓名int Sextradays;/加班天数int Sextrasalary;/加班工资int Svacdays;/休假天数int Slowersalary;/休假扣款public:CExtraVacationOfStaff();virtual CExtraVacationOfStaff();CString GetSno();/获取员工编号void SetSno(CString nSno);/设置员工编号CString GetSname();/获取员工姓名void SetSname(CString nSname);/设置员工姓名int GetSextradays();/获取加班天数void SetSextradays(int nSextradays);/设置加班天数int GetSextrasalary();/获取加班工资void SetSextrasalary(int nSextrasalary);/设置加班工资int GetSvacdays();/获取休假天数void SetSvacdays(int nSvacdays);/设置休假天数int GetSlowersalary();/获取休假扣款void SetSlowersalary(int nSlowersalary);/设置休假扣款void InsertSQL();/插入SQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论