工资管理系统综合课程设计_第1页
工资管理系统综合课程设计_第2页
工资管理系统综合课程设计_第3页
工资管理系统综合课程设计_第4页
工资管理系统综合课程设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、综合课程设计报告题目名称: 企业工资信息管理系统 学 院: 信息工程学院 专 业: 计算机科学与技术 班 级: 姓 名: 学 号: 指导教师: 完成日期: 一、绪论11 引言11.1设计目的11.2 题目背景12 任务描述12.1 目标12.2 运行环境13 功能要求1二、需求分析31 需求调查31.1 组织机构调查31.2 业务需求调查32 功能需求42.1 功能划分和功能描述42.2数据流程图53 数据描述53.1 数据描述53.3 数据字典104 运行需求134.1 用户界面134.2 基本要求13三、总体设计141 总体结构和模块设计141.1 功能结构141.2 模块设计141.3

2、总体结构设计142 数据库设计152.1设计二维表及表间关系。152.2 物理设计193 外部接口设计193.1 用户界面193.2 软件接口194 出错处理设计194.1 出错输出信息194.2 出错处理对策20四、详细设计211 代码设计211.1三层体系架构211.2 具体区分211.3 总结212 程序设计212.1 模块设计21五、系统实现23六、系统测试321 测试方案321.1 测试目的321.2 测试原则321.3 测试方法322 测试项目说明323 评价363.1 功能性363.2 易用性363.3 可靠性363.4 兼容性36七、设计总结38八、参考文献39一、绪论1 引言

3、1.1设计目的加深对软件工程这门课程的理解,锻炼逻辑思维,训练学生的创新思维,培养分析问题、解决问题能力。通过调试程序积累高度经验。根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容。1.2 题目背景借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。而工资管理又是人力资源管理的重中之重。实行电子化的

4、工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。现在应用在大中型企业的管理信息系统中,几乎都包括了工资管理模块。有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。这些根据规范的西方的管理制度设计的工资管理软件,在很多时候还不能完全解决中国特色的中小企业的问题,本文介绍的课程设计的研究工作就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。2 任务描述2.1 目标目标系统应该达到以下要求: 1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。2

5、、可靠性。能连续准确的处理业务,有较强的容错能力。3、可理解性。用户容易理解和使用该系统。4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。5、可用性。目标系统功能齐全,能够完全满足业务需求。6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。2.2 运行环境win7操作系统,40M内存,visualstudio2010,SQLServer2005,.net framework 4.03 功能要求(1)、完成对员工表的维护,包括删除、增添、修改员工信息。(2)、可以对对员工信息按部门进行浏览。(3

6、)、完成对部门表的维护,包括增添、修改、停止部门。(4)、可以对部门信息进行浏览。(5)、可以完成对员工工资的发放。(6)、可以完成对税率和起征金的管理。(7)、设计超级管理员和部门管理员两种角色,超级管理员具有最高权限,负责发放工资。部门管理员只能完成对自己本部门员工的管理和工资的查看。(8)、只可以对上一个月工资进行发放,其余月份工资禁止修改。(9)、记录操作员的操作记录二、需求分析1 需求调查1.1 组织机构调查工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,

7、比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。由于本软件主要是为一家刚刚成立的公司定制开发的,总体人员比较少,有正式员工20人,人员结构比较简单,学历比较高,基本上都拥有大专以上学历,部门划分也很清晰,而且人员的流动性不高,所以该公司目前对工资管理的要求并不高。能够完成基本的员工信息管理,部门信息管理和工资管理即可。1.2 业务需求调查图1 工资管理系统业务流程图业务需求总体包括:部门管理、工资管理和员工信息管理。总体业务流程图如下图1所示:1、 部门管理图2 部门管理业务流程图部门管理是部门基本信息的录入,包括各部门的添加、已有部门信息的修改、和是否停用。业务

8、流程图如下图2所示:2、 员工信息管理员工信息管理是员工基本信息的录入,包括新员工信息的增加、详细信息的查询、员工信息的修改、员工的删除。业务流程图如下图3所示:图3 员工管理业务流程图3、工资管理工资管理是员工工资的发放,包括对各部门员工工资的发放,查找各月份各部门工资、对税率和起征点的管理。业务流程图如下图4所示:图4 工资管理业务流程图2 功能需求2.1 功能划分和功能描述工资管理系统由员工信息查询,员工人事变更,员工工资管理,部门信息管理组成。系统的主要功能描述如下:(1)员工信息管理对公司里的员工进行统一编号;将每一位员工的信息保存在员工档案记录中。对新聘用的员工,将其信息加入到员工

9、档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。当员工信息发生变动时,修改员工档案记录中相应的属性。(2)部门管理对公司里的部门进行统一编号;将每一个部门信息保存在部门档案记录中。对新设立的部门,将其信息加入到部门档案记录中;当部门信息发生变动时,修改部门记录中相应的属性。(3)工资管理对每一位员工的工资进行发放;将每一个员工的已发工资存储在工资档案记录中。查询已经发放的员工工资;对于税率和起征金进行管理。2.2数据流程图系统主要数据流程图如下图5:图5 系统数据流程图3 数据描述3.1 数据描述1、员工情况定义:员工情况=员工编号+性别id+出生日期+入职时间+婚姻状况id+政治面

10、貌id+民族+籍贯+学历id+专业+毕业院校+联系地址+电话号码+部门id+职位+合同签订日+合同到期日+备注信息+是否锁定数据流量:根据公司的员工具体录用情况来确定。说明:要对每一位被聘用的员工进行唯一的编号。2、部门情况定义:部门情况=部门编号+部门名称+是否停用数据流量:根据公司的部门具体情况来确定。说明:部门编号是主码。3、用户身份定义:用户身份=非法用户|超级管理员|部门管理员数据流量:根据公司的具体情况来确定。说明:不同的用户身份对应不同的操作权限,对应着不同的安全级别。4、 管理员情况定义: 管理员情况=自增Id+账号+密码+用户角色id+部门id+是否删除+真实姓名+是否锁定数

11、据流量:根据公司的具体情况来确定。说明:要对每一位管理员建立唯一的账号。5、管理员日志情况定义:管理员日志情况=日志编号+管理员id+创建日期+动作描述。数据流量:对操作员的每一次修改和创建动作进行记录,以便以后查询。说明:日志编号是主码。6、工资查询定义:工资查询=工资表主表编号+工资年份+工资月份+部门id+工资表从表id+员工id+基本工资+资金+罚款+其他数据流量:根据公司的具体情况来确定。说明:根据员工号和发薪日期可以唯一确定一个工资记录。3.2 数据库描述将工资管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:(1)员工档案(自增id+员工编号+性别id+出生日期+入职时

12、间+婚姻状况id+政治面貌id+民族+籍贯+学历id+专业+毕业院校+联系地址+电话号码+部门id+职位+合同签订日+合同到期日+备注信息+是否锁定),其中自增id为主码,性别id、婚姻状况id、政治面貌id、学历id、部门id为外键。(2)管理员记录(自增Id+账号+密码+用户角色id+部门id+是否删除+真实姓名+是否锁定),其中自增id为主码,用户角色id、部门id为外键。(3)管理员日志记录(日志编号+管理员id+创建日期+动作描述),其中日志编号为主码,管理员id为外键。(4)部门记录(部门编号+部门名称+是否停用),其中部门编号为主码。(5)工资表主表(工资表主表编号+工资年份+工

13、资月份+部门id),其中工资表主表编号为主码,部门id为外键。(6)工资表从表(工资表从表id+工资表主表id+员工id+基本工资+资金+罚款+其他),其中工资表从表id是主键,工资表主表id、员工id是外键。各部分的E-R图,如下图所示:员工实体图如下图6:图6 员工实体图部门实体图如下图7:图8 管理员实体图图7 部门实体图管理员实体图如图8所示:管理员日志实体图如图9所示:图9 管理员日志实体图工资表主表实体图如图10所示:图10 工资表主表实体图工资表从表实体图如图11所示:图11 工资表从表实体图图12 工资税率实体图工资税率信息实体图如图12所示:工资管理系统涉及的实体包括:部门实

14、体、员工实体、管理员实体、工资表实体等。所以工资管理系统的全局E-R图如图13所示:图13 全局E-R图3.3 数据字典3.3.1 数据结构描述名称:职工(Employee)含义说明:职工信息组成结构:自增id+员工编号+性别id+出生日期+入职时间+婚姻状况id+政治面貌id+民族+籍贯+学历id+专业+毕业院校+联系地址+电话号码+部门id+职位+合同签订日+合同到期日+备注信息+是否锁定名称:部门(Department)含义说明:部门信息组成结构:部门编号+部门名称+是否停用名称:管理员(Manager)含义说明:管理员信息组成结构:自增Id+账号+密码+用户角色id+部门id+是否删除

15、+真实姓名+是否锁定名称:管理员日志(ManagerLog)含义说明:管理员日志信息组成结构:日志编号+管理员id+创建日期+动作描述名称:工资主表(SalarySheet)含义说明:工资主表信息组成结构:工资表主表编号+工资年份+工资月份+部门id名称:工资从表(SalarySheetItem)含义说明:工资从表信息组成结构:工资表从表id+工资表主表id+员工id+基本工资+资金+罚款+其他名称:税率表(SalaryTax)含义说明:税率表信息组成结构:税率表id+最小工资+最大工资+税率+速算扣除数3.3.2 数据流的描述数据流名称:员工信息添加 数据流来源:公司管理者数据流去向:员工信

16、息数据流组成:自增id+员工编号+性别id+出生日期+入职时间+婚姻状况id+政治面貌id+民族+籍贯+学历id+专业+毕业院校+联系地址+电话号码+部门id+职位+合同签订日+合同到期日+备注信息+是否锁定数据流名称:员工信息修改 数据流来源:员工信息数据流来源:员工信息数据流组成:自增id+员工编号+性别id+出生日期+入职时间+婚姻状况id+政治面貌id+民族+籍贯+学历id+专业+毕业院校+联系地址+电话号码+部门id+职位+合同签订日+合同到期日+备注信息+是否锁定数据流名称:员工信息删除 简述:员工离职数据流来源:员工信息数据流去向:员工信息数据流组成:自增id+员工编号+性别id

17、+出生日期+入职时间+婚姻状况id+政治面貌id+民族+籍贯+学历id+专业+毕业院校+联系地址+电话号码+部门id+职位+合同签订日+合同到期日+备注信息+是否锁定数据流名称:部门信息添加 简述:新增一个部门数据流来源:管理者数据流去向:部门信息表数据流组成:部门编号+部门名称+是否停用数据流名称:部门信息修改数据流来源:部门信息表数据流去向:部门信息表数据流组成:部门编号+部门名称+是否停用数据流名称:部门删除简述:部门被停用数据流来源:部门信息表数据流去向:部门信息表数据流组成:部门编号+部门名称+是否停用数据流名称:工资发放数据流来源:会计人员数据流去向:工资表数据流组成:工资表主表+

18、工资表从表数据流名称:工资查看数据流来源:工资表数据流去向:工资表数据流组成:工资表主表+工资表从表数据流名称:税率调整和起征金调整数据流来源:政府数据流去向:税率表数据流组成:税率表id+最小工资+最大工资+税率+速算扣除数4 运行需求4.1 用户界面屏幕格式:采用B/S模式,界面由visualstudio设计实现,完全基于windows兼容的桌面的平台;菜单格式:工具栏与菜单并用方式,简洁、明了。4.2 基本要求1)体系结构:B/S2)操作系统:Windows系列3)数据库管理系统:SQL Server20054)开发工具:VisualStudio20105)硬件环境:最低配置:CPU:P

19、entium3 800以上或其它兼容规格,内存:256M以上,硬盘:100MB以上空间推荐配置:CPU:Pentium 2G,内存:2G以上,硬盘:100MB以上空间。6)软件环境:windows 7、SQL Server 2005、.NET Framework 4.0三、总体设计1 总体结构和模块设计1.1 功能结构图13 总体功能结构图本系统分为职工管理子系统,部门管理子系统,工资管理子系统,控制面板子系统。总体功能结构图如图13所示:1.2 模块设计1、职工管理子系统包括新职工的添加,职工详细信息的查看,职工信息的修改,职工离职后对职工进行删除,批量删除,按部门查看部门员工。2、部门管理

20、子系统包括新部门的添加,部门信息的修改,部门的停止运行。3、工资管理子系统包括对上个月员工工资的发放,对以往员工工资的查询,按条件查询员工的工资,和对税率和起征金的调整。4、控制面板子系统包括对管理员添加,管理员信息的修改,管理员权限的调整,管理员的删除以及对管理员操作日志的查看。1.3 总体结构设计模块间调用关系的层次结构图如下图14所示:图14 层次结构图2 数据库设计2.1设计二维表及表间关系。(1)部门信息表,部门信息表主要有部门id、部门名称、是否停用等字段。部门信息表如表1所示:表1 部门信息表列名数据类型长度允许空功能描述Idint主键部门编号Namenvarchar50否部门名

21、称IsDeletedtinyint是是否停用(2)员工信息表,员工信息表主要有员工Id、员工编号、员工姓名、性别Id、生日、入职日期、婚姻状况Id、政治面貌Id、民族等字段。员工信息表如表2所示:表2 员工信息表列名数据类型长度允许空功能描述Idint主键自增IdNumbernvarchar50否员工编号GenderIdint否性别IdBirthDaydatetime是出生日期InDatadatetime否入职时间MarriageIdint否婚姻状况IdPolicitalStatusIdint否政治面貌IdNationalitynvarchar50否民族NativeAddrnvarchar25

22、0否籍贯DegreeIdint否学历IdMajornvarchar50是专业Schoolnvarchar50否毕业院校Addressnvarchar250否联系地址TelNumnvarchar50否电话号码DepartmentIdint否部门IdPositionnvarchar50否职位ContractStartDaydatetime否合同签订日ContractEndDaydatetime否合同到期日Remarksnvarchar50是备注信息IsLocktinyint否是否锁定(3)管理员信息表,管理员信息表主要有管理员Id、账号、密码、管理员角色、部门Id等字段。管理员信息表如表3所示:表

23、3 管理员信息表列名数据类型长度允许空功能描述Idint主键自增IdUserNamenvarchar50否账号PassWordnvarchar50否密码UserRoleIdint是用户角色IdDepartmentIdint是部门IdIsDeletedtinyint是是否删除RealNamenvarchar50是真实姓名IsLockedtinyint是是否锁定(4)管理员日志信息表,管理员日志信息表主要有日志Id、管理员Id、创建日期、动作描述等字段。管理员日志信息表如表4所示:表4 管理员日志表列名数据类型长度允许空功能描述Idint主键日志编号ManagerIdint50否管理员IdMake

24、Datedatetime否创建日期ActionDescnvarcharMAX否动作描述(5)工资表主表,工资表主表主要有工资表主表Id、年、月、部门Id等字段。工资表主表信息表如表5所示:表5 工资表主表信息表列名数据类型长度允许空功能描述Idint主键工资表主表编号Yearint否工资年份Monthint否工资月份DepartmentIdint否部门Id(6)工资表从表,工资表从表主要有工资表从表Id、工资表主表Id、员工Id、基本工资、资金、罚款等字段。工资表从表信息表如表6所示:表6 工资表从表信息表列名数据类型长度允许空功能描述Idint主键工资表从表编号SheetIdint否工资表主

25、表IdEmployeeIdint否员工IdBaseSalarymoney是基本工资Bonusmoney是资金Finemoney是罚款Othermoney是其他(7)工资税率信息表,工资税率信息表主要有税率Id、最小应纳税额、最大应纳税额等字段。工资税率信息表如表7所示:表7 工资税率信息表列名数据类型长度允许空功能描述Idint主键税率编号MinSalarymoney否最小应纳税额MaxSalarymoney是最大应纳税额TaxRatfloat否税率QuickDeductionmoney否速算扣除数(8)IdName表,IdName信息表主要有Id编号、名称、类别等字段。主要用来存放有多个选择

26、值的字段。IdName信息表如表8所示:表8 IdName信息表列名数据类型长度允许空功能描述Idint主键自增编号Namenvarchar50否名称Categorynvarchar50否类别2.2 物理设计对应逻辑设计的数据库名ESMSDB,设计数据库的物理文件及相关属性如下:主数据文件:SALSYSDB.mdf。初始空间:1MB,若超出空间按10%自动增长。存放路径:C:UserswangsidaDesktopESMSDataBase。最大文件大小:不受限。隶属文件组:PRIMARY。日志文件:SALSYSDB_log.ldf。初始空间:1MB,若超出空间按10%自动增长。存放路径:C:U

27、serswangsidaDesktopESMSDataBase。最大文件大小:不受限。3 外部接口设计3.1 用户界面采用图形用户界面(GUI),包含用户名、密码。3.2 软件接口软件运行于windows7平台上。与数据库接口,传递员工信息,工资信息,部门信息,日志信息。4 出错处理设计4.1 出错输出信息1、用户登录验证用户名和密码出错输出信息:用户名或密码有误2、增添员工信息时验证员工编号出错输出信息:员工编号不允许重复3、增添管理员时验证账号和密码出错输出信息:账号不能为空,两次输入密码必须一致4、长期不操作验证登陆时间出错输出信息:登陆时间超时4.2 出错处理对策1、联机事务处理(OL

28、AP)是建立在TCT/IP协议上,有多阶段事务处理响应控制,保证事务处理前后台一致。3、重要数据的校验检查。4、各个子系统的操作监控,异常情况报告并提供日志等跟踪记录。5、提供友好的用户界面和帮助信息及配合严格的检查,减少用户出错机会。四、详细设计1 代码设计1.1三层体系架构1、表示层(USL):主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。2、业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。3、数据访问层(D

29、AL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.1.2 具体区分1、表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。2、业务逻辑层:主要负责对数据层的操作,也就是说把一些数据层的操作进行组合。3、数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作,而不必管其他操作。1.3 总结三层结构是一种严格分层方法,即数据访问层(DAL)只能被业务逻辑层(BLL)访问,业务逻辑层只能被表示层(USL)访问,用户通过

30、表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。有的三层结构还加了Factory、Model等其他层,实际都是在这三层基础上的一种扩展和应用.一个简单的三层结构程序一般包括DAL BLL WEB Model几个项目,它们的相互引用关系如下1) WEB引用 BLL,Model2)BLL引用 DAL,Model3)DAL引用Model4)Model无引用2 程序设计2.1 模块设计1、主登录界面模块功能:提供登录工资管理系统的登录界面输入项目:用户名和密码输出项目:工资管理系统主界面2、职工信息查询模

31、块功能:提供职工信息的界面输入项目:部门名称输出项目:职工信息3、添加新职工模块功能:将新进入的员工信息录入到数据库中输入项目:员工信息输出项目:员工信息表4、职工删除模块功能:职工离职后将职工信息从数据库中清除输出项目:员工信息表5、部门信息查询模块功能:查询已有的部门的状态输出项目:部门信息表6、部门添加模块功能:将新增的部门添加到数据库中输入项目:将增添部门的信息输出项目:部门信息表7、发放工资模块功能:发放员工上个月的工资输入项目:各员工应发工资输出项目:工资表新增条目8、工资查找模块功能:可以按年月或部门或员工来查看员工的工资发放情况输入项目:年、月、部门和其他条件输出项目:员工的工

32、资发放情况9、税率添加模块功能:对税率计算公式中的最小值、最大值、税率和速算扣除数进行调整输入项目:现行公布的税率计算值输出项目:最小值、最大值、税率、速算扣除数10、管理员查询模块功能:查看现在已有的管理员输出项目:各管理员信息11、添加管理员模块功能:增添新的管理员输入项目:新管理员信息输出项目:管理员表12、操作日志模块功能:记录各管理员的操作记录输出:各管理员的操作记录五、系统实现1、登录模块主要代码如下:1)前台代码 登录账号 登录密码 2)后台代码BLLManager bLLManager = new BLLManager(); protected void Page_Load(o

33、bject sender, EventArgs e) if (!Page.IsPostBack) txtUserName.Text = Utils.GetCookie(ESRememberName); / /登录按钮点击事件 / / / protected void btnSubmit_Click(object sender, EventArgs e) string userName = txtUserName.Text.Trim(); string userPwd = txtUserPwd.Text.Trim(); if (userName.Equals() | userPwd.Equals() lblTip.Visible = true; lblTip.Text = 请输入用户名或密码; return; /通过用户名和密码查找数据库,获得该用户 BoManager model = bLLManager.GetModelByUsmAndPwd(userName, userPwd); if (model = null) lblTip.Visible = true; lblTip.Text = 用户名或密码有误; return;

温馨提示

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

评论

0/150

提交评论