工资管理毕业课程设计报告.docx
- 文档编号:5660563
- 上传时间:2022-12-30
- 格式:DOCX
- 页数:19
- 大小:304.96KB
工资管理毕业课程设计报告.docx
《工资管理毕业课程设计报告.docx》由会员分享,可在线阅读,更多相关《工资管理毕业课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
工资管理毕业课程设计报告
(此文档为word格式,下载后您可任意编辑修改!
)
淮阴工学院
面向对象程序设计
课程设计报告
选题名称:
工资管理系统
系(院):
计算机工程系
专业:
计算机科学与技术
班级:
姓名:
学号:
指导教师:
于长辉
学年学期:
2008~2009学年第1学期
2008年12月31日
设计任务书
课题
名称
工资管理系统
设计
目的
1.调研并熟悉工资管理系统的基本功能、数据流程与工作规程;
2.学习数据库创建、基于VC++集成环境的数据库编程技术;
3.通过实际编程加深对基本原理的理解,提高实践能力;
4.学习开发资料的收集与整理,学会撰写课程设计报告。
实验
环境
1.微型电子计算机(PC);
2.安装Windows2000以上操作系统,VisualC++6.0开发工具。
任务
要求
1.利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;
2.在第17周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;
3.本课题主要实现增加记录功能、修改记录功能、删除记录功能、刷新记录功能以及统计计算功能等。
4.结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字。
工作进度计划
序号
起止日期
工作内容
1
2008.12.27~2008.12.27
在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。
2
2008.12.28~2008.12.29
设计总体方案,构建绘制流程框图,编写代码,上机调试。
3
2008.12.30~2008.12.31
测试程序,优化代码,增强功能,撰写设计报告。
4
2008.12.31~2008.12.31
提交软件代码、设计报告,参加答辩,根据教师反馈意见,修改、完善设计报告。
指导教师(签章):
年月日
摘要:
这次的课程设计是针对企业的工资管理业务进行计算机处理而开发的应用软件。
该系统由系统维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通企业的工资管理业务范围。
企业应用本系统后,可以有效的提高工资管理水平。
本文从市场调查、需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统的设计过程。
为便于说明,文中绘制了程序结构框图、数据流程图和部分界面图。
最后附有主要的源程序代码清单。
采用的开发工具是MicroSoftVisualC++6.0。
使用的技术有:
数据库的访问;菜单控制。
系统能够提供对工资发放各明细项目的数据编辑,自动计算出工资发放各项合计数据及代扣项目数据;可自主设定条件从而达到对工资数据的多角度查询功能;方便导入、导出数据及输出报表;控制本系统的工资数据编辑、数据导入及用户增加、删除功能可以人为操作。
实现了对本单位工资发放系统的集中管理,保证了系统的安全性。
支持运行的环境:
MicrosoftWindowXP
数据库的接口:
MicrosoftAccessDriver
关键词:
工资管理; 系统维护; 数据汇总; 管理系统; 软件开发
目录
1课题综述1
1.2预期目标1
1.3面对的问题1
1.4关键技术1
2需求分析2
2.1功能需求2
2.2功能需求描述2
3流程图及概要设计4
4详细设计4
4.1数据库设计4
4.2创建工资管理系统基本框架5
4.3开发工资处理界面9
5调试与操作说明18
5.1进入主运行界面18
5.2进入操作界面18
6程序调试发现的问题22
总结23
致谢24
参考文献25
1课题综述
1.1选题背景与意义
随着社会的进步和计算机技术的发展,特别是微型计算机的大范围普及,现在应用在大中型企业的信息管理系统中,几乎都包括了工资管理模块。
有些环境中是有大型ERP软件中的一个模块引进的,有些作为企业的财务系统的一部分。
计算机处理的数据量不断增加。
文件管理系统采用的一次最多存取一个记录的访问方式,以及在不同文件之间缺乏相互联系的结构,越来越不能适应管理大量数据的需要,于是数据库管理系统便应运而生。
有了数据库我们便能方便快捷的对数据进行读取、存取,并维护数据库的数据。
但,西方管理制度设计的工资管理软件,在很多时候还不能完成解决中国特色中小企业的问题,本文介绍的毕业设计的研究工作就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。
今天,数据库管理已成为计算机信息管理的主要方式。
数据库的应用非常广泛,可应用于各行各业,只要是稍复杂的数据,都可制作成数据库,交由电脑来管理。
用电脑管理数据,运算速度快,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低且不易出错等,这些优点能够极大地提高工资管理的效率,也是科学化、正规化管理的重要条件,尤其是现在的中小型企业正需要这种对口的工资管理系统,并且是现行的财务管理系统所代替不了的。
1.2预期目标
我计划设计:
对于企、事业单位的工资发放来说,不需要太大型的数据库系统,只需要一个操作方便,功能实用,能满足财务部门对工资及时的发放。
我的目标就是实现如下的一些功能:
增加记录功能、修改记录功能、删除记录功能、刷新记录功能、最后实现统计计算功能。
1.3面对的问题
实现在VC++环境中建立的工程,能在其中添加、修改、统计工资、更新数据,并能够在已创建好的数据表中反映出来。
1.4关键技术
关系数据库、数据库开发工具Access、MFCODBC、VC++开发环境。
2需求分析
2.1功能需求
工资管理是任何企事业单位都需要进行的一项工作,因此,开发制作工资管理系统具有较大的社会现实意义,同时工资管理系统的最大特征是数据处理,它是数据库应用系统的典范,具有一切数据库应用系统的特征,如数据录入,数据统计和数据报表等,其系统结构与现实生活紧密结合,具体直观。
工资管理系统也是数据库应用开发中经常进行例证的好例子,它的开发应用简单而又不失一般性。
2.2功能需求描述
2.2.1员工基本信息描述
员工基本信息包括员工信息输入、员工增删、员工信息查询三个功能,员工基本信息包括员工编号、员工姓名、员工部门信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工可以通过员工号或员工姓名对员工信息进行查询。
2.2.2工资管理信息描述
根据课程设计的实际情况,可以将工资管理系统结构分为基本工资、业绩工资、奖金、津贴、各种补助、水电费、房租、储蓄、会费、保险十个部分,而且可以对这些工资类型执行统计,并计算出应发工资、扣除工资、实发工资。
2.2.3工资预览描述
用户可以打印出工资汇总表,打印之前可以通过打印预览功能进行打预览。
以下便是这次课程设计的基本思路:
图2-1基本思路及设计流程
3流程图及概要设计
图3-1流程图样板
4详细设计
4.1数据库设计
定义一个“职工工资数据表”的结构,如下表所示。
表4-1“职工工资数据表”结构
字段名称
字段类型
字段大小
小数位数
必须填写
年份
数字
整型
是
月份
数字
整型
是
职工编号
数字
整型
是
姓名
文本
16
是
所在部门
文本
20
是
基本工资
数字
长整型
自动
是
业绩工资
数字
长整型
自动
是
奖金
数字
长整型
自动
是
津贴
数字
长整型
自动
是
各种补助
数字
长整型
自动
是
应发数
数字
长整型
自动
是
水电费
数字
长整型
自动
是
房租
数字
长整型
自动
是
储蓄
数字
长整型
自动
是
会费
数字
长整型
自动
是
保险
数字
长整型
自动
是
扣除总计
数字
长整型
自动
是
实发工资
数字
长整型
自动
是
将创建好的数据表保存在“D:
VC++写作案例CH4工资管理数据库”中,将创建的数据表命名为“职工工资数据表”。
4.2创建工资管理系统基本框架
1.启动VC++,单击“文件|新建…”菜单项,选择MFCAppWizard(EXE)工程类型,输入工程名称为“工资管理系统”,选择Win32平台类型,单击“确定”按钮,进入文档类型设置并且选择单文档类型,如下图所示。
图4-1选择创建的应用程序类型
单击“下一步”按钮。
2.选择“查看数据库不使用文件支持”,引入应用系统数据环境。
图4-2程序框架设置
3.此时,DataSource按钮处于可用状态(或激活状态),单击“DataSource”按钮,如下图,选择数据源类型的对话框。
图4-3数据源创建类型
4.单击OK按钮,出现数据源中的数据表,即“表1”。
选择“表1”,如下图。
图4-4选择职工工资数据表
5.单击OK按钮,选定该数据表,完成数据源的创建工作,返回图4—2。
6.在图4—2所示对话框中单击“完成”按钮,即完成应用程序框架的生成工作,确认创建信息之后,出现如下图所示的界面。
图4-5应用程序框架界面
4.3开发工资处理界面
4.3.1主对话框IDD_MY_FORM中控件的加入与布局
图4-6主对话框IDD_MY_FORM控件布局
控件的属性设置如下表所示。
表4-2标签对象和编辑框的基本属性
内容
标签对象ID
编辑框ID
职工工资管理系统
IDC_STATICCAPTION
年份
IDC_STATICNF
IDC_EDITNF
月份
IDC_STATICYF
IDC_EDITYF
职工编号
IDC_STATICBH
IDC_EDITZGBH
职工姓名
IDC_STATICXM
IDC_EDITZGXM
部门
IDC_STATICZGBM
IDC_EDITZGBM
基本工资
IDC_STATICJBGZ
IDC_EDITJBGZ
奖金
IDC_STATICJJ
IDC_EDITJJ
业绩工资
IDC_STATICYJGZ
IDC_EDITYJGZ
津贴
IDC_STATICJT
IDC_EDITJT
各种补助
IDC_STATICGZBZ
IDC_EDITGZBZ
水电费
IDC_STATICRDF
IDC_EDITRDF
房租
IDC_STATICFZOU
IDC_EDITFZOU
储蓄
IDC_STATICCX
IDC_EDITCX
会费
IDC_STATICHF
IDC_EDITHF
保险
IDC_STATICBX
IDC_EDITBX
内容
标签对象ID
编辑框ID
应发合计
IDC_STATICYFHJ
IDC_EDITYFHJ
扣除合计
IDC_STATICKCHJ
IDC_EDITKCHJ
实发工资
IDC_STATICSFGZ
IDC_EDITSFGZ
表4-3命令按钮对象的基本属性
ID
标题内容
IDC_BUTTONFIRST
|《-第一条
IDC_BUTTONNEXT
-》下一条
IDC_BUTTONPREV
《-前一条
IDC_BUTTONLAST
-》|最后一条
IDC_BUTTONSUM
执行统计
IDC_RECORDADD
增加记录
IDC_RECORDDELETE
删除记录
IDC_RECORDUPDATE
更新记录
表4-4分组控件对象的基本属性
ID
标题
IDC_STATICDATA
工资数据管理
IDC_STATICBROWSE
工资数据浏览
IDC_STATICADDDELETUPD
增加与删除
IDC_STATICCOUNT
个人工资统计
4.3.2为编辑框控件建立数据字段映射
在主对话框IDD_MY_FORM中选取“年份”编辑框控件,说明编辑框与数据集中的字段建立映射关系的方法。
1.用鼠标右键单击“年份”该编辑框,出现一个快捷菜单。
2.在快捷菜单中单击“建立类向导”,出现类向导对话框。
3.在类向导对话框中将页面切换至MemberVariables页面并设置类名为CMySet,重新定义字段变量名称,重新定义后的字段变量名称如下图所示。
图4-7重新定义的字段变量名称
图4-8重新定义的字段变量名称
5.在Classname列表中选择CMyView,出现为编辑框控件与字段成员变量建立消息映射的页面,如下图所示。
图4-9编辑框控件与字段变量映射页面
图4-10编辑框控件与字段变量映射页面
6.选中IDC_EDITNF(年份编辑)控件资源索引,在单击AddVariable按钮,出现变量选择列表框。
在字段选择列表框中选择“年份”成员变量,如图所示。
图4-11字段成员变量列表
7.单击OK按钮,即完成“年份”编辑框与“年份”字段成员变量的映射。
采用相同的方法为全部编辑框控件建立消息映射,然后编译对话框,则发现可以在编辑框中修改数据表中的记录。
4.3.3为命令按钮添加函数并编制过程代码
1.“第一条记录”命令按钮的过程代码
(1)在对话框中选取“第一条记录”命令按钮。
(2)用鼠标右键单击该命令按钮,出现一个快捷菜单。
(3)在快捷菜单中单击“建立类向导”菜单项,出现一个消息映射的对话框。
(4)在消息映射的对话框中选择MessageMaps页面,选择消息类型为“ON_CLICKED”并单击AddFunction按钮,出现一个函数命令对话框,建议接受系统命名的函数名即可。
(5)确认函数名后单击EditCode按钮,出现代码编辑框,在其中编辑命令按钮的代码,如下所示:
voidCMyView:
:
OnButtonfirst()
{
TODO:
Addyourcontrolnotification;
}
UpdateData(false);
}
2.“下一条记录”命令按钮的过程代码
voidCMyView:
:
OnButtonnext()
{
TODO:
Addyourcontrolnotification;
}
UpdateData(false);
}
3.“前一条记录”命令按钮的过程代码
voidCMyView:
:
OnButtonprev()
{
TODO:
Addyourcontrolnotification;
}
UpdateData(false);
}
4.“最后一条记录”命令按钮的过程代码
voidCMyView:
:
OnButtonlast()
{
TODO:
Addyourcontrolnotification;
}
UpdateData(false);
}
5.“增加记录”选项按钮的过程代码
voidCMyView:
:
OnRecordAdd()
{
m_radioadd=0;
m_pSet->AddNew();
UpdateData(FALSE);
}
6.“删除记录”选项按钮的过程代码
voidCMyView:
:
OnRecordDelete()
{
m_pSet->Delete();
m_pSet->MoveNext();
if(m_pSet->IsEOF())
m_pSet->MoveLast();
if(m_pSet->IsBOF())
m_pSet->SetFieldNull(NULL);
UpdateData(FALSE);
}
7.“刷新记录”选项按钮的过程代码
voidCMyView:
:
OnRecordUpdate()
{
m_radioadd=-1;
UpdateData(FALSE);
UpdateData(TRUE);
m_pSet->Update();
m_pSet->Requery();
m_pSet->CancelUpdate();
}
8.“执行统计”命令按钮的过程代码
voidCMyView:
:
OnButtonsum()
{
TODO:
AddyourcontrolnotificationName”下的“输入日期”一行。
总结
一个星期过去了,课程设计也渐渐的接近了尾声,相比较上一学期的课程设计,明显感觉到了困难,虽然是第二次,但还是难勉有很多困难。
自己不勉产生了一些心得,这里我总结一下,在这次的课程设计中涉及到了数据库,虽然课上也提过,但总不能够理解数据库的用处与方便;尽管在课程设计的书上有代码,但还是会出现一些错误,在这期间,发现,不擅于查找错误,纵使是一个小小的错误,我也很难找到错误的根源,这应该是对该程序没能好好理解的缘故;在运行的时候,增加记录、删除记录、等操作的时候时常会出现错误,例如:
“更新或删除的企图失败”对话框,类似的困难很多;
通过这次面向对象课程设计,我认识到了自己的很多不足之处,不知道查错时的一些代码表示,这说明自己在这一学期的面向对象这门课程的知识还是比较欠缺的,虽然困难重重,但还是从中学到了很多,而且也了解到了数据库的用处与使用的方便。
明白了一些管理系统的模块,因此,希望自己以后在面向对象课程学习中能够有所进步。
致谢
首先感谢计算机工程系给了我这次课程设计的机会,让我有机会自己动手,在实践中验证所学知识和更一步的加深对所学知识的理解;其次,感谢我的辅导老师于永辉老师,在课程设计过程当中,她给我的工资管理系统设计提供了许多宝贵的意见,是他在我遇到调试问题时,给了我讲解,让我明白代码的意思,当然,我还要感谢我们的面向对象教学老师戴峻峰老师,正是他平时孜孜不倦的教导,正是他平时上课的生动、易懂,正是他老是提醒我们多写写代码,才让我按时完成这次课程设计,再而,我还要感谢那些发布免费资料的网站,让我能快速找到相关的资料与信息,给我们的课程设计带来也资源,当然,图书馆也是查找资源的好地方,我也感谢那些在冬日里坐在那里的图书馆管理人员,是他们及时的借到相着图书,让我们的信息查找更为方便快捷。
最后,我再一次感谢我的老师们,谢谢你们的谆谆教诲,没有你们的言传身教,就没有我课程设计的顺利完成,谢谢您们!
参考文献
1.陈清华等,VisualC++课程设计案例精选与编程指导.东南大学出版社.2004.
2.(美)SteveDonoven.张俊等译.用实例学c++.北京.电子工业出版社.2002.7.
3.揣锦华.编著.面向对象程序设计与VC++实践.西安.电子科技大学出版社.2005.2.
4.谭浩强.编著c++面向对象程序设计教程.北京.清华大学出版社.2006.5.
5.段清玲.陈雪.cc++程序设计教程.北京.清华大学出版社.2003.2.
指导教师评语
学号
姓名
班级
选题
名称
工资管理系统
序号
评价内容
权重(%)
得分
1
考勤记录、学习态度、工作作风与表现。
5
2
自学情况:
上网检索机时数、文献阅读情况(笔记)。
10
3
论文选题是否先进,是否具有前沿性或前瞻性。
5
4
成果验收:
是否完成设计任务;能否运行、可操作性如何等。
20
5
报告的格式规范程度、是否图文并茂、语言规范及流畅程度;主题是否鲜明、重心是否突出、论述是否充分、结论是否正确;是否提出了自己的独到见解。
30
6
文献引用是否合理、充分、真实。
5
7
答辩情况:
自我陈述、回答问题的正确性、用语准确性、逻辑思维、是否具有独到见解等。
25
合计
指导教师(签章):
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 毕业 课程设计 报告