




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高校工资管理系统设计报告高校工资管理系统数据库原理课程设计组 员: 张 智 20091602310117 (a) 黎海靖 20091602310100 (b) 张洪荣 20091602310116 (a)学 院: 信 息 学 院 专 业: 计算机科学与技术 指导老师: 杨 雄、陈 静 完成日期: 2011年6月16日 目 录1.概述31.1项目背景31.2编写目的31.3软件定义31.4开发环境32.需求分析42.1需求分析说明42.2数据库需求分析42.2.1 系统功能基本要求42.2.2 数据库要求42.3数据流图52.3.1顶层数据流图52.3.21 层数据流图52.3.32层数据流图_1验证账号6 2.3.42层数据流图_2系统用户管理62.3.52层数据流图_3员工信息管理72.3.62层数据流图_4工资设立标准72.3.72层数据流图_5工资信息管理83.数据库概念结构设计93.1 e-r模型图93.2 关系模型103.2.1由e-r图转换的关系模型103.2.2工资部分实体属性图103.2.3教职工部分实体属性图113.2.4出勤状况实体属性图113.2.5用户实体属性图114.数据库逻辑结构设计124.1数据表关系图124.2教职工信息表124.3工资信息表124.4工资结算方表134.5工作情况信息表144.6用户信息表145.程序结构图155.1系统架构图155.2程序功能图156.程序源代码及其说明166.1登陆界面实现代码和截图166.1.1核心代码166.1.2登陆界面166.2工资查询实现代码及截图176.2.1核心代码 176.2.2查询界面206.3出勤功能实现代码及截图216.3.1核心代码216.3.2考勤情况界面236.4教职工基本信息添加实现代码及截236.4.1核心代码236.4.2 教职工信息查询界面256.5系统设置实现代码和截图266.5.1确定修改系统设置实现代码266.5.1删除教职工信息功能实现代码27总结29参考文献291. 概 述1.1项目背景随着高等学校的快速发展,高校规模越来越大,教职工的数量也越来越多,高校工资管理更加的复杂,而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。这就对高校工资管理提出了新的要求,用计算机管理系统来管理高校工资已经成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范数据管理行为,从而提高了管理效率和水平。高校工资管理系统便是以计算机为工具,通过对工资管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化,智能化,也提高了透明度和互动性。1.2编写目的为了分析人工管理高校工资的流程,把人工模式抽象为可在计算机上处理的自动模式,对高校工资的科学管理进行分析与总结,便于开发小组成员对系统整体功能的认识,通过该文档,确定了系统的目的和功能,以及管理的流程和方法,同时也为使用者提供参考。1.3软件定义 (1)员工基本信息的录入,修改,删除。 (2)工资标准设定功能。具体包括职务工资,职称工资以及其他工资标准的设定。 (3)工资信息查询。 (4)员工工资表创建。 (5)工资调整管理。 (6)工资统计。为完善系统管理功能,增加工资系统用户管理功能,包括系统用户数据的添加,修改和删除。教职员工为系统普通用户,只能运行系统个人工资查询功能;系统管理员则能运行系统所有功能,从而有效保证系统数据的安全性。1.4开发环境windows7 + visual c+6.0 + sql server 20052. 需求分析2.1 需求分析说明2.2.1 系统功能的基本要求:l 教职工各个职位和职称所确定的基本工资的设定l 加班津贴管理,根据加班时间和类型给予不同的加班津贴;l 按照不同职位和职称的基本工资情况、教职工的考勤情况产生教职工的每月的月工资;l 教职工年终奖金的生成,教职工的年终奖金计算公式(教职工本年度的工资总和津贴的总和)/12;l 教职工工资报表。能够查询单个教职工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印;2.2.2 数据库要求:在数据库中至少应该包含下列数据表:l 教职工考勤情况表;l 教职工情况表,反映教职工的职位、职称,基本工资等信息;l 教职工津贴信息表,反映教职工的加班时间,科研贡献以及其他津贴情况等;l 教职工基本信息表;l 教职工月工资表。2.2 数据流图2.2.1 顶层数据流图控制面板高校工资管理系统显示器数据库存取数据用户命令显示信息 2.2.2 1层数据流图2.2.3 2层数据流图_1验证帐号2.2.4 2层数据流图_2系统用户管理2.2.5 2层数据流图_3员工信息管理2.2.6 2层数据流图_4工资标准设立2.2.7 2层数据流图_5工资信息管理3. 数据库概念结构设计3.1 er模型图3.2 关系模型3.2.1由e-r图转换的关系模型(1) 员工信息表(教职工号,姓名,院系,职位,职称,电话号码)此为联系“员工信息管理”对应的关系模式(2) 工资表(教职工号,姓名,基本工资,奖金,津贴,扣除工资,年份,月份)此为联系“工资信息管理”对应的关系模式(3) 工资结算方案表(方案号,基本工资设置,奖金设置,津贴设置,缺勤减分设置,迟到早退减分设置,请假减分设置,课时不足减分设置,工作完成量减分设置)此为工资实体对应的关系模式,该关系模式已包含了联系“工资信息管理”所对应的关系模式。(4) 工作情况表(教职工号,月份,缺勤次数,迟到早退次数,请假次数,缺少课时,工作完成量)此为考勤信息对应的关系模式。(5) 用户信息(帐号,密码)此为用户实体对应的关系模式。3.2.2 工资部分实体属性图3.2.3 教职工部分实体属性图3.2.4 出勤状况实体属性图3.2.5 用户实体属性图4. 数据库逻辑结构设计4.1数据表关系图4.2教职工信息表字段名称字段描述类型主键备注id教职工号varchar(10)是非空name姓名varchar(10)否非空dept院系varchar(30)否非空position职位varchar(10)否非空title职称varchar(6)否非空phone电话号码varchar(11)否4.3工资信息表字段名称字段描述类型主键备注id教职工号varchar(10)是非空name姓名varchar(10)否非空bsalary基本工资float(6)否非空reward奖金float(6)否非空allowance津贴float(6)否deduction扣除工资float(6)否year年份smallint否非空month月份smallint否非空4.4工资结算方案表字段名称字段描述类型主键备注pid方案号smallint(4)是非空basic_salary基本工资设置smallint(6)否非空reward奖金设置smallint否非空allowance津贴设置smallint否absenteeism缺勤减分设置smallint(4)否eary_later迟到早退减分设置smallint(4)否ask_for_leaver请假减分设置smallint(4)否amount_of_class课时不足减分设置smallint(4)否work_finished工作完成量减分设置smallint(4)否4.5工作情况信息表字段名称字段描述类型主键备注id教职工号varchar(10)是非空date月份varchar(4)否非空absenteeism缺勤次数smallint(4)否early_late迟到早退次数smallint(4)否ask_for_leave请假次数smallint(4)否amount_of_class缺少课时smallint(4)否work_finished工作完成量smallint(4)否非空4.6 用户信息表字段名称字段描述类型主键备注pid帐号varchar(20 )是非空password密码varchar( 20)否非空5. 程序结构图5.1 系统架构图数据或命令处理高校工资管理系统操作界面(数据或命令请求)发送数据或命令请求客户端返回命令执行得到的结果集数据库服务器端5.2 程序功能图工资信息管理工资结算工资修改工资创建工资统计工资标准设立其他工资标准设立职称工资标准设立职务工资标准设立员工信息管理员工信息删除员工信息修改员工信息添加系统用户管理用户数据添加用户数据修改修改用户口令高校工资管理系统 高校工资管理系统功能模块结构图6. 程序源代码及其说明6.1 登陆界面实现代码及截图 6.1.1核心代码void clogindlg:onok() / todo: add extra validation hereupdatedata(true);if(m_usrname = )afxmessagebox(用户账号不能为空!);return;if(m_usrpasswd = )afxmessagebox(用户密码不能为空!);return;cdatabase db;cstring sql;db.open(null,false,false,odbc;dsn=salarydb;uid=zhang,pwd=null);cloginset* pset = new cloginset(&db);sql.format(select * from login where id=%s and passwd=%s,m_usrname,m_usrpasswd);pset-open(afx_db_use_default_type,sql);if(m_usrname != pset-m_id | m_usrpasswd != pset-m_passwd)afxmessagebox(用户账号或密码错误!);return;cdialog:onok();6.1.2 登陆界面6.2 工资查询实现代码及截图 6.2.1 核心代码void cpaysearch:onquery() / todo: add your control notification handler code herecdatabase db;cstring sql;db.open(null,false,false,odbc;dsn=salarydb;uid=zhang,pwd=null);csalaryset* pset = new csalaryset(&db);int i=0;cstring str;cstring ty,tm,td;m_years.getwindowtext(ty);m_months.getwindowtext(tm);m_departments.getwindowtext(td);/str.format(%d,m_years.getcursel();/afxmessagebox(str);if(radiosel = 0)if(m_years.getcursel() = 0)if(m_months.getcursel() = 0 & m_departments.getcursel() != 0)sql.format(select * from searchsalary where dept=%s,td);elseif(m_months.getcursel() != 0 & m_departments.getcursel() = 0)sql.format(select * from searchsalary where month=%s,tm);elseif(m_months.getcursel() != 0 & m_departments.getcursel() != 0)sql.format(select * from searchsalary where dept=%s and month=%s,td,tm);elsesql.format(select * from searchsalary);else/if(m_years.getcursel() != 0)if(m_months.getcursel() = 0 & m_departments.getcursel() != 0)sql.format(select * from searchsalary where dept=%s and year=%s,td,ty);elseif(m_months.getcursel() != 0 & m_departments.getcursel() = 0)sql.format(select * from searchsalary where month=%s and year=%s,tm,ty);elseif(m_months.getcursel() != 0 & m_departments.getcursel() != 0)sql.format( select * from searchsalary where year=%s and month=%s and dept=%s, ty,tm,td );elsesql.format(select * from searchsalary where year=%s,ty);elseupdatedata(true);if(m_years.getcursel() = 0)if(m_months.getcursel() = 0 & m_departments.getcursel() != 0)sql.format(select * from searchsalary where id=%s and dept=%s,m_id,td);elseif(m_months.getcursel() != 0 & m_departments.getcursel() = 0)sql.format(select * from searchsalary where id=%s and month=%s,m_id,tm);elseif(m_months.getcursel() != 0 & m_departments.getcursel() != 0)sql.format(select * from searchsalary where id=%s and dept=%s and month=%s,m_id,td,tm);elsesql.format(select * from searchsalary where id=%s,m_id);else/if(m_years.getcursel() != 0)if(m_months.getcursel() = 0 & m_departments.getcursel() != 0)sql.format(select * from searchsalary where id=%s and dept=%s and year=%s,m_id,td,ty);elseif(m_months.getcursel() != 0 & m_departments.getcursel() = 0)sql.format(select * from searchsalary where id=%s and month=%s and year=%s,m_id,tm,ty);elseif(m_months.getcursel() != 0 & m_departments.getcursel() != 0)sql.format( select * from searchsalary where id=%s and year=%s and month=%s and dept=%s, m_id,ty,tm,td );elsesql.format(select * from searchsalary where id=%s and year=%s,m_id,ty);updatedata(false);/sql.format(select * from searchsalary);afxmessagebox(sql);m_printlist.deleteallitems();pset-open(afx_db_use_default_type,sql);if(pset-getrecordcount() = 0)delete pset;return;while(!pset-iseof()str.format(%s,pset-m_id);m_printlist.insertitem(i,str);str.format(%s,pset-m_name);m_printlist.setitemtext(i,name,str);str.format(%s,pset-m_dept);m_printlist.setitemtext(i,department,str);str.format(%s,pset-m_position);m_printlist.setitemtext(i,position,str);str.format(%.2f,pset-m_allowance);m_printlist.setitemtext(i,allowance,str);str.format(%.2f,pset-m_salary);m_printlist.setitemtext(i,salary,str);str.format(%.2f,pset-m_reward);m_printlist.setitemtext(i,reward,str);str.format(%d,pset-m_year);m_printlist.setitemtext(i,year,str);str.format(%d,pset-m_month);m_printlist.setitemtext(i,month,str);i+;pset-movenext();db.close();delete pset;6.2.2 查询界面6.3出勤功能实现代码及截图 6.3.1核心代码void ccheckon:onrefresh() / todo: add your control notification handler code hereupdatedata(true);cdatabase db;cstring sql,str;db.open(null,false,false,odbc;dsn=salarydb;uid=zhang,pwd=null);ccheckonset *pset = new ccheckonset(&db);if(m_isattend.getcursel() = 0)sql.format(update attend set attendedtime=attendedtime+1 where id=%s,m_number);if(m_addedtimes !=0)sql.format(update attend set attendedtime=attendedtime+1,extrahours=extrahours+%.1f where id=%s,m_addedtimes,m_number);afxmessagebox(sql);db.executesql(sql);sql.format(select * from attend where id=%s,m_number);/int count = m_list.getitemcount();pset-open(afx_db_use_default_type,sql);/*if(pset-getrecordcount() = 0)delete pset;return;int flag=0;int i=0;if(count != 0)for(i;im_id);m_list.insertitem(0,str);str.format(%s,pset-m_name);m_list.setitemtext(0,name,str);str.format(%d,pset-m_attendedtime);m_list.setitemtext(0,attend,str);str.format(%d,pset-m_extrahours);m_list.setitemtext(0,atime,str);6.3.2 考勤情况界面6.4教职工基本信息添加实现代码及截图 6.4.1核心代码void cworkersinfo:onmodify() / todo: add your control notification handler code hereint count = m_wkrsinfo.getitemcount();trycdatabase db;cstring sql;db.open(null,false,false,odbc;dsn=salarydb;uid=zhang,pwd=null);csysset *sset = new csysset(&db);double al = 0;double sal = 0;/ccheckonset *cset = new ccheckonset(&db);ctime times = ctime:getcurrenttime();int year=times.getyear();int month=times.getmonth();/*sql.format(%d,count);afxmessagebox(sql);sql.format(%d-%d,year,month);afxmessagebox(sql);*/cstring id,name,pos,title,dept,phone;for(int i = 0;i open(afx_db_use_default_type,sql);sal = sset-m_salary;al = sset-m_pallowance;sql.format(%.2f,sal);/*afxmessagebox(sql); / print the sql statement for check.*/sset-close();/close is needed.sql.format(insert into searchsalary (id,name,dept,position,allowance,salary,reward,year,month) values (%s,%s,%s,%s,%.2f,%.2f,0,%d,%d),id,name,dept,pos,al,sal,year,month);db.executesql(sql);db.close();catch(cdbexception e)cstring err;err.format(数据库操作错误!);afxmessagebox(err);6.4.2 教职工信息查询界面6.5 系统设置实现代码和截图6.5.1确定修改系统设置实现代码void csystemsetting:onconfirm() / todo: add your control notification handler code herecdatabase db;cstring sql,sql1,sql2,sql3,sql4,sql5;sql.format(select * from sysset);db.open(null,false,false,odbc;dsn=salarydb;uid=zhang,pwd=null);csysset *pset = new csysset(&db);pset-open(afx_db_use_default_type,sql);m_1_1 = pset-m_salary;m_1_2 = pset-m_aallowance;m_1_3 = pset-m_pallowance;m_1_4 = pset-m_tallowance;pset-movenext();m_2_1 = pset-m_salary;m_2_2 = pset-m_aallowance;m_2_3 = pset-m_pallowance;m_2_4 = pset-m_tallowance;pset-movenext();m_3_1 = pset-m_salary;m_3_2 = pset-m_aallowance;m_3_3 = pset-m_pallowance;m_3_4 = pset-m_tallowance;pset-movenext();m_4_1 = pset-m_salary;m_4_2 = pset-m_aallowance;m_4_3 = pset-m_pallowance;m_4_4 = pset-m_tallowance;pset-movenext();m_5_1 = pset-m_salary;m_5_2 = pset-m_aallowance;m_5_3 = pset-m_pallowance;m_5_4 = pset-m_tallowance;pset-movefirst();updatedata(true);sql1.format(update sysset set salary=%.1f,aallowance=%.1f,pallowance=%.1f,tallowance=%.1f where sid=0001,m_1_1,m_1_2,m_1_3,m_1_4);sql2.format(update sysset set salary=%.1f,aallowance=%.1f,pallowance=%.1f,tallowance=%.1f where sid=0002,m_2_1,m_2_2,m_2_3,m_2_4);sql3.format(update sysset set salary=%.1f,aallowance=%.1f,pallowance=%.1f,tallowance=%.1f where sid=0003,m_3_1,m_3_2,m_3_3,m_3_4);sql4.format(update sysset set salary=%.1f,aallowance=%.1f,pallowance=%.1f,tallowance=%.1f where sid=0004,m_4_1,m_4_2,m_4_3,m_4_4);sql5.format(update sysset set salary=%.1f,aallowance=%.1f,pallowance=%.1f,tallowance=%.1f where sid=0005,m_5_1,m_5_2,m_5_3,m_5_4);db.executesql
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 执业兽医通关题库及参考答案详解(培优B卷)
- 2025年教师资格能力提升B卷题库附参考答案详解(培优B卷)
- 2025年广东省交易控股集团有限公司人员招聘笔试备考试题附答案详解(突破训练)
- 2025年云南曲靖市事业单位委托招聘1220人(含委托招聘计划)笔试高频难、易错点备考题库及参考答案详解1套
- 2025年山东省淡水渔业研究院(山东省淡水渔业监测中心)招聘笔试高频难、易错点备考题库带答案详解
- 连锁餐饮企业2025年数字化顾客体验管理与效率提升报告
- 2025年根河市“归雁计划”模拟试卷完整答案详解
- Module 2 Unit 4 Problems and advice 核心语法之情态动词-2025年沪教牛津版九年级英语上册精讲精练(含答案解析)
- 2025自考专业(汉语言文学)真题带答案详解(B卷)
- 2025年黑色金属冶炼及压延产品合作协议书
- 《立在地球边上放号》《峨日朵雪峰之侧》比较阅读教案2024-2025学年高中语文必修上册
- 《视觉基础》课件
- TSG+81-2022+场(厂)内专用机动车辆安全技术规程
- 柴油发电机系统维修保养记录表
- 《MEDDIC销售培训》课件
- 计算机网络-第5版-严伟-潘爱民-课后答案
- 《无人机培训教材》课件
- 废旧物资处理及处置招标公告
- 中医药膳学考试复习题及答案
- CJ/T 158-2002 城市污水处理厂管道和设备色标
- 热稳定校验(YJV铜缆)-李良胜
评论
0/150
提交评论