




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计说明书(论文)课程名称 数据库课程设计 题 目 工资管理系统 专 业 计算机科学与技术 班 级 算机0901 学 号 17 姓 名 起止日期 2011-12-192011-12-31 指导教师 成 绩_【摘 要】随着当今企业人员数量增加, 摘要 企业的工资管理是公司管理的一个重要内容。 企业管理工作也越来越复杂。如果能够实现工资管理的自动化,无疑将给企业管 理部门带来很大的方便。 本企业工资管理系统主要由系统信息、员工基本信息、考勤信息、工资信息 设置和工资信息管理五个部分组成,为企业提供工资计算、工资统计、工资查询 等服务,帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统 化、规范化和自动化。 应用本系统可以在计算机上灵活、方便地管理员工工资,从而大大的提高了 处理效率,使管理更加现代化。本系统是根据实际情况和具体内容,按一定的要 求、科学、合理进行系统分析设计的,因此基本能够满足现代企业工资管理的需求。【关键字】管理系统 系统分析 工资管理。【abstract】system of wage administrationabstract the business pay administration is the corporation administrationsignificant substance. at present, in the wake of business personnel staffs amount increased, and business administration work is also more and more complex. if the pay administration can achieve automation, undoubtedly it shall bring very great convenient to business administration department. the system of business pay administration is make up of five sections, system information, personnel fundamental message, check on work attendance message and pay message installation and pay information management. it supplies pay calculation, pay statistics and pay inquiry services for corporation. it helps competent department improve their work efficiency and business pay information management achieve systemize, standardization and automation. use this system to manage the wage flexibly and conveniently on the computer, thus big improvement process efficiency, make management to be further more modernized. this system is on the basis of actual situation and concrete substance, according to specified demand, scientific knowledge and reasonably carries on system analysis design. it can satisfy the contemporary business pay administrations demand essentially.【keywords】 administration system system analysis wage administraition目录1. 概述51.1项目背景51.2编写目的51.3软件定义51.3.1软件名称51.3.2 系统的主要功能52 需求分析62.1数据库需求分析62.2功能陈述62.3功能模块图63 数据库逻辑设计83.1全局e-r模型83.2数据字典93.2.1员工表93.2.2部门表93.2.3职位表93.2.4加班表93.2.5工资配置表103.2.6工资表103.2.7用户表103.3数据库功能实现113.3.1 计算工资触发器113.3.2 出勤触发器114系统模块的具体实现124.1系统的注册登陆界面124.2系统主窗体界面124.3员工基本信息模块154.4员工考勤模块174.5员工工资模块184.6部门职位模块204.7其他功能模块215结束语225.1系统运行与测试225.2心得体会22参考文献231. 概述1.1项目背景随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体制的迅速完善,各个行业都在积极使用现代化的手段,不断改善服务质量,提高工作效率,这些都在很大程度上给企业提出越来越严峻的挑战,对企业体系无论是在行政职能、企业管理水平以及优质服务上都提出更高的要求。建设一个科学高效的信息管理系统是解决这一问题的必由之路。企业内部财务管理是该企业运用现代化技术创造更多更高的经济效益的主要因素之一。工资管理作为企业内部的一种财务管理也是如此,由于企业职工人数较多,每一位职工的具体实际情况也不尽相同,各项工资条款的发放,如果没有一个完整的工资管理系统对员工工资等进行系统的管理,很难实现企业高效运转。1.2编写目的巩固课堂知识,加深对数据库系统的了解领会数据库理论与软件开发实践的关系培养良好的编程习惯,熟悉软件开发的基本流程1.3软件定义1.3.1软件名称 工资管理系统1.3.2 系统的主要功能此工资管理系统的主要任务是用计算机对各种工资信息进行日常的管理,如查询、修改、增加、删除以及存储等,迅速准确地完成各种工资信息的统计计算和汇总工作,快速查询出工资,针对系统服务对象的具体要求,设计了企业工资管理系统。企业工资管理系统主要有以下几大功能:对职工的工资进行计算。可以对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算应发金额、应扣金额及实发金额等。查询统计功能。要求即可以单项查询,每个员工只能查询自己的工资情况,自己的出勤和个人的信息。报表打印功能。员工信息和员工出勤情况可打印成报表生成。2 需求分析2.1数据库需求分析数据库的设计是指对于一个给定的应用环境,构造最有效的数据库模式,建立数据及应用系统,实质能够有效地存储数据,满足用户的需求,数据库设计是在数据库管理系统支持下进行的。根据数据流程图,可以列出以下数据项和数据结构:员工信息:员工号,员工姓名,员工性别,出生日期,联系地址,联系电话,所属部门,所在职位号,登录号,学位,个人简历。考勤管理:考勤号,员工号,员工姓名,加班工时,迟到次数,旷工次数,日期。 工资设置:工资设置号,职位号,基础工资,加班薪水,迟到扣费,旷工扣费,奖金。工资管理:工资号,员工号,员工姓名,基础工资,加班工薪,迟到扣费,旷工扣费,奖金,应发工资,实发工资,日期。职位管理:职位号,职位名称,所属部门,备注。部门管理:部门号,部门名称,备注。用户管理:登录号,员工号,登陆名,口令,角色。2.2功能陈述要求具备如下基本功能:基本工种、基本工资的管理;公司部门、部门津贴、员工的管理;公司员工的考勤信息管理;公司员工月工资管理月工资基本工资部门津贴加班津贴被扣工资查询统计上述信息,进行企业工资报表。2.3功能模块图根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图2-1所示:工资管理系统部门管理员工管理职位管理添加部门修改删除添加职位修改删除员工档案员工考勤工资管理档案添加档案查询修改删除考勤查询工资查询工资计算工资配置按部门按姓名按部门按姓名按部门按姓名用户管理用户添加用户修改图2-1 系统功能模块图3 数据库逻辑设计3.1全局e-r模型员工部门职位考勤属于属于员工姓名学历所属部门联系电话登录号员工号性别职位号出生日期个人简历联系地址部门名简介部门号备注所属部门职位名职位号查看考勤号员工号员工姓名职位号迟到次数旷工次数加班时间日期工资登录号登录号登录号登录号登录号登录号登录号拥有图3-1 全局e-r模型图3.2数据字典3.2.1员工表表2-1 emp 字段名 数据类型 含义说明空值情况 empid varchar(10)职工编号主关键字 empname varchar(10)职工姓名 sex varchar(5)性别 birthday datetime年龄 address varchar(50)地址 phone varchar(15)联系电话 deptname varchar(10)所属部门 dutyidint职位编号education varchar(10)学历useridint登录号remarkntext备注3.2.2部门表表2-2 dept 字段名 数据类型 含义说明空值情况deptidint部门编号deptnamevarchar(10)部门名称主键remarkntext部门简介3.2.3职位表:表2-3 duty 字段名 数据类型 含义说明空值情况dutyidint职位编号主键dutynamevarchar(10)职位名称不为空deptnamevarchar(10)部门名称不为空remarkntext职位简介3.2.4加班表表2-4 attend 字段名 数据类型 含义说明空值情况attendidint考勤号主键empidvarchar(10)员工号不为空dutyidint职位号不为空empnamevarchar(10)员工姓名不为空overtimesfloat加班工时latetimesint迟到次数absenttimesint矿工次数datedatetime日期3.2.5工资配置表表2-5 salaryconfig 字段名 数据类型 含义说明空值情况configidint配置号不为空dutyidint职位号不为空basicsalarymoney基础工资不为空overtimemoney加班费/小时不为空absentmoney旷工扣费不为空latemoney迟到扣费不为空bonusmoney奖金3.2.6工资表表2-6 salary字段名数据类型含义说明空值情况salaryidint工资号主键empidvarchar(10)职工编号empnamevarchar(10)员工姓名basicsalarymoney基础工资overtimemoneymoney加班费latemoneymoney迟到扣费absentmoneymoney旷工扣费bounsmoney奖金spmoney应发工资rpmoney实发工资datedatetime日期3.2.7用户表表2-7 users 字段名 数据类型含义说明空值情况useridint用户号主键empidvarchar(9)员工编号usernamevarchar(10)用户名passwordvarchar(15)密码rolenamevarchar(10)用户角色3.3数据库功能实现3.3.1 计算工资触发器create trigger t_ins_attend on attendafter insertas begindeclare em varchar(10)declare en varchar(10)declare bs moneydeclare ot moneydeclare at moneydeclare lt moneydeclare bn moneydeclare sp money declare rp moneydeclare date datetimeselect bs=s.basicsalary,ot=s.overtime*a.overtimes,at=s.absent*a.absenttimes,lt=s.late*a.latetimes,bn=s.bonus, sp=bs+ot+bn,rp=sp-at-lt,em=a.empid,en=e.empname,date=a.datefrom salaryconfig s,attend a,emp ewhere s.dutyid=a.dutyid and a.empid=e.empidif exists( select * from salary s,inserted i where s.empid=i.empid and s.date=i.date )print已存在的工资else insert into salary values(em,en,bs,ot,lt,at,bn,sp,rp,date)end3.3.2 出勤触发器create trigger t_ins_attend2 on attend instead of insertas begin if not exists(select * from attend,inserted where inserted.empid=attend.empid and inserted.date=attend.date) insert attend select empid,dutyid,empname,overtimes,latetimes,absenttimes,date from insertedend4系统模块的具体实现4.1系统的注册登陆界面企业人事管理系统的登陆界面采用两个panel的3d风格制作成中间的间隔条.让登陆与注册放在一个界面更方便,在登陆主界面之前,首先登记用户登陆,注册窗体如图4-1:图4-1系统注册登陆窗体4.2系统主窗体界面 系统管理员给员工一个员工号 员工通过员工号注册他得用户名和密码 来注册本系统并选择用户的身份是总经理 部门经理还是员工。然后再在右侧登陆进入主窗体,主窗体分为两个部分一个是管理员的窗体 一个是职工的窗体和经理的窗体分别如图4-2,图4-3,图4-4:图4-2管理员主窗体图4-3经理主窗体图4-4职工主窗体在主窗体登陆之前先判断是什么角色名称 如果是员工则进入职工的主窗体 如果是总经理和经理那么进入经理的窗体 如果是系统管理员则进入系统管理的主窗体,具体代码如下: db.conn.open(); string sql = select rolename,userid from users where username= + textbox5.text.trim() + and password= + textbox6.text.trim() + ; sqldataadapter adp = new sqldataadapter(sql, db.conn); dataset dt = new dataset(); adp.fill(dt); if (dt.tables0.rows.count = 0) messagebox.show(用户名或密码错误); db.conn.close(); else if (dt.tables0.rows0rolename.tostring() = 员工) frmmainyg frmmainyg = new frmmainyg(); frmmainyg.label1.text = dt.tables0.rows0userid.tostring(); this.visible = false; frmmainyg.ygcqtoolstripbutton4.visible = false; frmmainyg.ygxxtoolstripbutton3.visible = false; frmmainyg.show(); if (dt.tables0.rows0rolename.tostring() = 经理 | dt.tables0.rows0rolename.tostring() = 总经理) frmmainyg frmmainyg = new frmmainyg(); frmmainyg.label1.text = dt.tables0.rows0userid.tostring(); this.visible = false; frmmainyg.show(); if (dt.tables0.rows0rolename.tostring() = 系统管理员) this.visible = false; frmmaingl frmmaingl = new frmmaingl(); frmmaingl.show(); db.conn.close(); 4.3员工基本信息模块 由于本系统设计是单独权限即每个员工只能看自己的信息以及出勤情况,而部门经理只能看到自己部门的员工情况以及出勤情况并能生成报表,而总经理则可以看各个员工的信息以及出勤情况。该模块主要完成员工基本信息的、查询与修改,它定义了三个主要窗口:信息修改窗口、复合查询窗口、员工信息窗口。 员工信息添加窗口用来修改员工个人信息,可供用户浏览查询及以记录为单该模块首先显示个人信息是以报表形式显示 上方有修改按钮,如果员工刚刚到公司那么自己去修改自己的信息。如果个人信息需要修改那么也可以进行修改。该窗体为通用窗体员工个人信息的浏览和修改窗口如图4-5,图4-6:图4-5个人信息浏览窗体图4-6个人信息修改窗体其中如图4-5所示,个人信息的浏览利用水晶报表生成,方便打印,导出等功能。如图4-6所示员工信息的修改,在载入窗体时程序将自动在两个下拉式文本框中添加内容,这样可以规范化输入内容,其中加入了”男” 、”女”。用户可以直接从下拉表中选择需要的输入条件。在个人修改信息中利用员工的登录号找到员工的个人信息并显示在修改窗体的对应控件上并在出生日期上用了一个datetimepicker的控件让其更方便的输入其出生日期,输入的出生日期按照yyyy-mm-dd的统一格式来录入。在个人简介文本编辑框中可以对窗体中没有提及到的一些员工信息进行编辑,让档案的录入更加完备、全面。当用户输写完信息后单击保存按扭,就将员工信息存储到后台的sql server数据库中。相应的实现浏览和修改的代码如下:(1)实现水晶报表显示信息 empreport1.recordselectionformula = emp.empid= + textbox1.text.trim() + ; this.crystalreportviewer1.reportsource = empreport1;(2)实现个人信息的修改 db.conn.open(); string sql = update emp set empname= + textbox1.text.trim() + ,sex= + combobox1.selecteditem.tostring().trim() + ,address= +textbox2.text.trim() + ,birthday= + datetimepicker1.value.tostring() + ,phone= + textbox3.text.trim() + ,deptname= +combobox2.text.trim() + ,dutyid= + combobox3.selectedvalue.tostring() + ,education= + combobox4.selecteditem.tostring() + ; sqlcommand cmd = new sqlcommand(sql, db.conn); if (richtextbox1.text.trim() != ) sql = sql + ,remark= + richtextbox1.text.trim() + ; sql = sql + where empid= + label11.text.trim() + ; cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(修改信息成功, 操作提示); db.conn.close(); cmd.dispose();该系统中还设置了更高权限的浏览员工信息 总经理可以浏览所有部门员工的信息,部门经理可以浏览自己部门的员工信息。并可生成报表一边企业高层的管理。并且加了一个textbox控件,方便企业高层利用员工姓名进行查询。如图4-7所示位总经理对员工的信息浏览以及查询图4-7员工信息浏览窗体4.4员工考勤模块员工考勤模块主要实现的是企业上层对公司员工考勤的查询以及员工个人对自己的考勤信息的查询,因为员工上班都是打卡记考勤所以数据库应该会再月底自动更新,所以本模块只能查询考勤信息不能进行增删改。本模块中依然设置两种权限,公司高层和员工的查询和浏览。让公司的高层可以更方便的对员工进行管理以及更好的对员工的考评。如图4-8所示位员工个人查询自己的考勤信息,在本窗体中利用了datagridview控件来实现信息的现实,使系统更加简洁,更省内存。并且还用了一个conmbobox控件方便员工对某一时间段来查询信息,大大提高了使用效率。图4-8个人出勤浏览窗体图4-9所示为公司高层对员工出勤的查询窗体,该窗体依然使用了一个datagridview控件。加了一个textbox控件以便于可以更快的查找到员工的出勤信息。图4-8员工出勤浏览窗体4.5员工工资模块工资管理是企业管理中不可缺少的一项工作。员工工资管理模块用于每个月员工实发工资的计算,计算的项目包括基本工资、奖金、福利待遇、津贴等。主要包括以下几项功能:.员工工资的查询.员工基本工资的设定.奖金以及福利补贴的设置.实发工资计算工资管理的输出结果是对员工工作的一个评价。计算工资的基本依据是考勤管理模块的统计结果。同时,在统计和查询时需要用到员工的出勤和员工所在职位的工资配置。首先我们会用管理员身份去对员工所在的职位进行工资的配置。并可以对员工的工资进行配置,在这里可以设置其基本工资,奖金,出勤各种工资的配置情况。并可以进行增删改查询等操作,本模块利用了一个tabpage控件可以大大的节省控件以及使操作性更加灵活。在查询的时候可以看到有一个combobox控件可以更快的进行查找并且利用datagridview显示,节省了内存。并且在录入工资配置时写了代码让其不会在重复的职位输入工资配置,如果想修改需要删除,降低了操作的错误性。如图4-9,4-10,4-11所示。图4-9工资配置添加窗体图4-10查找删除工资配置窗体图4-11修改工资配置窗体此模块通过工资管理的创建,着重描述了工资计算和数据报表的使用。计算主要是通过对所输入的数据进行相加和相减的运算,最后显示结果数据。数据报表为我们提供了一个更加方便快捷地实现报表打印的方法。通过使用报表中的各种控件,可以很简单地实现复杂报表的设计,避免了繁杂的编程过程。以上便是人事管理的基本功能与实现。4.6部门职位模块部门管理对于企业的管理层人员来讲非常重要,可以通过此功能来了解所有部门的大概情况。并且可以查询对职位进行增删改,并且通过代码实现不能删除有职位的部门,有员工的职位也不能删除。窗体如下图4-12和4-13图4-12部门调整窗体图4-13职位调整窗体通过此窗体可以对该企业的部门进行大至浏览,同样也可以进行添加、修改、删除和查询等编辑工作。4.7其他功能模块在开发的过程中还实现了一些其它的功能,使系统有了进一步的完善。在登录系统的时候登录系统者可以对自己的密码用户名进行修改 并且该系统带了注销功能。如图4-14图4-14密码修改窗体具体实现代码如下:if (textbox2.text != ds.tables0.rows0password.tostring() messagebox.show(与原密码不符 请重新输入!nn 请检查是否大小写错误); else if (textbox3.text.trim() = textbox4.text.trim() string sql1 = update users set password= + textbox3.text.trim() + where username= + textbox1.text.trim() + ; sqlcommand cmd = new sqlcommand(sql1, db.conn); cmd.commandtext = sql1; cmd.executenonquery(); messagebox.show(修改密码成功!); db.conn.close(); this.close();5结束语5.1系统运行与测试软件测试是保证软件质量的关键,它是对需求分析设计和编码的最后复审。在软件生命周期的每个阶段,都不可避免地会产生错误,通常在编写出每个原程序后,就要对它进行必要的测试,这步工作自己来完成。此后由专门的测试人员进行各种综合测试。软件产品可用黑盒法和白盒法进行测试,通常两种方法结合使用。我在测试系统时先进行黑盒法测试,即检查程序是否输出正确的结果,而后进行白盒测试,即了解程序的内部结构和处理过程,对程序中重要的逻辑路线进行测试,在不同点检查程序状态,确定实际状态与时期的状态是否一致2。完成了企业人事管理系统的编译和调试工作,最后一步就是系统的编译和发行,在系统的编译和发行以前,需要设置工程项目的属性。选择”toolstrip”控件来做菜单,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药物不良反应及处理流程
- 应用文的语言培训
- 2024福建福州文体产业开发运营有限公司社会招聘2人笔试参考题库附带答案详解
- 安全员个人述职报告范文3篇
- 八年级班主任学科整合教学计划
- 人教部编版小学四年级科学教学计划
- 青年教师多元文化教育发展计划
- 2024重庆市铁路集团产业发展有限公司招聘160人笔试参考题库附带答案详解
- 初一数学活动与实践计划
- 2025年工厂职工安全培训考试试题达标题
- 2025年深入贯彻中央八项规定精神学习教育知识竞赛试题及答案
- 2025年中国计量器具市场调查研究报告
- 2025年吉林铁道职业技术学院单招职业倾向性考试题库必考题
- 《正定矩阵的应用分析》1400字
- 挂网喷播植草施工方案
- CNAS-CC190-2021 能源管理体系认证机构要求
- 牧运通备案办理流程
- 中职高教版(2023)语文职业模块-第三单元3.2简单相信傻傻坚持【课件】
- 《企业安全生产培训课件:个人防护装备及使用》
- 新人教版八年级下册初中生物第七单元检测试卷
- 2025年社会治安综合治理工作计划范文
评论
0/150
提交评论