工资管理系统毕业设计Word格式文档下载.docx
- 文档编号:20575067
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:31
- 大小:420.61KB
工资管理系统毕业设计Word格式文档下载.docx
《工资管理系统毕业设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《工资管理系统毕业设计Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
1系统需求分析
设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的差不多任务。
因此,应该把对用户需求的收集和分析作为数据库设计的第一步。
需求分析的要紧热舞是通过详细调查要处理的对象,包括某个组织、某个部门、某个企业的业务治理等,充分了解原手工或原运算机系统的工作概况及工作流程,明确用户的各种需求,产生数据流图和数据字典,然后在此基础上确定新系统的功能,并产生需求说明书。
值得注意的是,新系统必须充分考虑今后可能扩充和改变,不能仅仅按当前应用需求来设计数据库。
需求分析具体可按以下几步进行:
〔1〕用户需求的收集。
〔2〕用户需求的分析。
〔3〕撰写需求说明书。
需求分析的重点是调查、收集和分析用户数据治理中的信息需求、处理需求、安全性与完整性要求。
信息需求是指用户需要从数据库中获得的信息的内容和性质。
由用户的信息需求能够导出数据需求,即在数据库中应该储备哪些数据。
处理需求是指用户要求完成什么处理功能,对某种处理要求的响应时刻,处理方式指是联机处理依旧批处理等。
明确用户的处理需求,将有利于后期应用程序模块的设计。
调查、收集用户要求的具体做法是:
〔1〕了解组织机构的情形,调查那个组织由哪些部门组成,各部门的职责是什么,为分析信息流程做预备。
〔2〕了解各部门的业务活动情形,调查各部门输入和使用什么数据,如何加工处理这些数据。
输出什么信息,输出到什么部门,输出的格式等。
在调查活动的同时,要注意对各种资料的收集,如票证、单据、报表、档案、打算、合同等,要专门注意了解这些报表之间的关系,各数据项的含义等。
〔3〕确定新系统的边界。
确定哪些功能由运算机完成或今后预备让运算机完成,哪些活动由人工完成。
由运算机完成的功能确实是新系统应该实现的功能。
在调查过程中,依照不同的问题和条件,可采纳的调查方法专门多,如跟班作业、咨询业务权威、设计调查问卷、查阅历史纪录等。
但不管采纳哪种方法,都必须有用户的积极参与和配合。
强调用户的参与是数据库设计的一大特点。
收集用户需求的过程实质上是数据库设计者对各类治理活动进行调查研究的过程。
设计人员与各类治理人员通过相互交流,逐步取得对系统功能的一致的认识。
然而,由于用户还缺少软件设计方面的专业知识,而设计人员往往又不熟悉业务知识,要准确地确定需求专门困难,专门是某些专门难表达和描述的具体处理过程。
针对这种情形,设计人员在自身熟悉业务知识的同时,应该关心用户了解数据库设计的差不多概念。
关于那些因缺少现成的模式、专门难设想新的系统、不知应有哪些需求的用户,还可应用原型化方法来关心用户确定他们的需求。
确实是说,先给用户一个比较简单的、易调整的真实系统,让用户在熟悉使用它的过程中不断发觉自己的需求,而设计人员那么依照用户的反馈调整原型,反复验证最终协助用户发觉和确定他们的真实需求。
调查了解用户的需求后,还需要进一步分析和抽象用户的需求,使之转化后续各设计时期可用的形式。
在众多分析和表达用户需求的方法中,结构化分析〔StructuredAnalysis,SA〕是一个简单有用的方法。
SA方法采纳自顶向下,逐层分解的方式分析系统,用数据流图〔DataFlowDiagram,DFD〕、数据字典〔DataDictionary〕描述系统。
2总体设计
2.1项目规划
工资治理系统是由差不多信息治理、工资查询、工资治理、系统治理和关心等几个功能模块组成,规划系统功能模块如下:
⏹差不多信息治理模块
差不多信息治理模块要紧包括职员录入、职员删除2部分。
⏹工资查询模块
工资查询模块要紧包括差不多工资查询、浮动工资查询、加班/休假查询、总体查询4个部分。
⏹工资治理模块
工资治理模块要紧包括工资发放治理、差不多工资治理、浮动工资治理3个部分。
⏹系统治理模块
系统治理模块要紧包括用户治理、修改密码、退出系统3个部分。
⏹关心模块
关心模块要紧包括关于1个部分。
2.2系统功能结构
工资系统的功能结构如图1所示。
图1系统功能图
2.3设计目标
本系统是依照中小企业的实际需求而开发的,完全能够实现企业对客户的自动化治理,通过本系统能够达到以下目标:
⏹系统运行稳固,安全可靠。
⏹界面设计美观,人机交互界面友好。
⏹信息查询灵活、方便、快捷、准确,数据储备安全可靠。
⏹满足键盘和鼠标的双重操作,完全支持回车键。
⏹采纳多种方式查询数据。
⏹操作员能够随时修改自己的口令。
⏹对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
⏹数据保密性强,为每个用户设置相应的权限级别。
3系统设计
3.1开发及运行环境
1.硬件要求
CPU:
300MHz以上的处理器。
内存:
128MB,举荐256MB。
硬盘:
150MB以上剩余空间。
显示像素:
最低800*600,最正确成效1024*768。
2.软件要求
操作系统:
Windows2000/NT/XP/CE。
数据库:
SQLServer2000。
3.2数据库设计
1.数据库概要说明
数据库GZFFXT中包括职员基础信息表、职员差不多工资表、职员浮动工资表、职员加班/休假表、工资发放明细表、用户表6个数据表。
图2所示的即为本系统中数据库中的数据表结构图,该数据表结构图包含系统所有数据表。
能够清晰地反应数据库信息。
图2数据库概要说明
2.要紧数据表的结构
数据库中的数据表请参见附录B。
4要紧功能模块设计
4.1建立工程框架
在VisualC++中建立文档治理系统的差不多框架,步骤如下:
〔1〕单击菜单〝File-->
New〞命令,打开〝New〞对话框,单击〝Projects〞选项卡,选择〝MFCAppWizard(exe)〞,输入工程名,并设置路径,如图3所示。
图3〝New〞对话框
〔2〕单击〝OK〞按钮,〝MFCAppWizard-Step1”对话框差不多打开,如图4所示,选项〝Dialogbase〞,接着单击〝Next〞按钮。
图4〝MFCAppWizard-Step1”对话框
〔3〕在弹出的〝MFCAppWizard-Step2of4”对话框中,输入对话框标题,如图5所示。
图5〝MFCAppWizard-Step2of4”对话框
〔4〕在接下来的对话框中保持默认的选项。
设置好的属性如图6所示,单击〝OK〞按钮后,就完成了新建工程。
图6设计好的工程属性
4.2主窗口设计
1.菜单资源设计
主窗口菜单设置的要紧步骤如下:
〔1〕单击〝ResourceView〞选项卡,右键单击〝GZGLXTResources〞选项,选择〝Insert〞菜单项,打开〝InsertResource〞窗口,如图7所示。
图7〝InsertResource〞窗口
〔2〕选择〝Menu〞文件夹,单击〝New〞按钮,在GZGLXTResources名目下新增一个Menu名目项,菜单ID为IDR_MENU1。
双击此菜单,对此菜单项的属性进行设计。
如图8所示。
图8设计菜单属性图
2.客户区设计
〔1〕打开对话框IDD_GZGLXT_DIALOG属性窗口,在Menu组合框中选择IDR_MENU1,在对话框中添加1个Picture控件,用来存放图片。
如图9所示。
图9系统主界面
〔2〕预先在下边留出状态栏,声明CTime、CstatusBarCtrl类对象实体代码如下。
CTimet;
CStatusBarCtrlm_StatusBar;
引用的外部变量
externCCzyxxbffxxb;
〔3〕在OnInitDialog成员函数中添加状态栏。
//TODO:
Addextrainitializationhere
t=CTime:
:
GetCurrentTime();
m_StatusBar.EnableAutomation();
m_StatusBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,0);
//ID_STATUSBAR);
intwidth[]={200,370,500};
m_StatusBar.SetParts(4,&
width[0]);
m_StatusBar.SetText("
吉林省明日科技"
0,0);
CStringStatusText;
StatusText.Format("
当前用户:
%s"
ffxxb.GetCzyName());
m_StatusBar.SetText(StatusText,0,1);
CStringstrdate;
strdate.Format("
当前时刻:
t.Format("
%y-%m-%d"
));
m_StatusBar.SetText(strdate,0,2);
returnTRUE;
//returnTRUEunlessyousetthefocustoacontrol
〔4〕打开ClassWizard窗口,为菜单项ID_EXIT添加代码。
程序调用OnOK()函数关闭对话框,退出系统。
voidCGZGLXTDlg:
OnExit()
{
Addyourcommandhandlercodehere
OnOK();
}
4.3登录模块设计
1.实现目标
登录模块功能是完成用户登录本系统的操作,用户登录对话框的设计如图10所示
图10登录对话框
2.设计步骤
〔1〕向项目中添加一个新Dialog资源,资源ID为IDD_LOGIN。
在IDD_LOGIN对话框资源中单击鼠标右键,执行弹出快捷菜单的〝Properties〞菜单命令,打开〝DialogProperties〞对话框。
在〝DialogProperties〞对话框中选择General选项卡,更换其〝Caption〞文本框内容为〝用户登录〞。
〔2〕从Controls面板上向Dialog资源中添加2个Static、1个Picture、2个Edit,更换资源的属性,并为资源设置相对应的变量,如表1所示。
表1资源设置
ID
Properties
MemberVariables
Type
Member
IDC_EDIT1
默认
CString
m_name
IDC_EDIT2
PassWordTRUE
m_pwd
IDOK
Caption登录
IDCANCEL
Caption退出
IDC_STATIC
TypeBitmap
3.代码分析
〔1〕引用的外部变量。
〔2〕响应〝登录〞按钮的代码。
voidCLogin:
OnOK()
Addextravalidationhere
//将对话框中编辑框的数据读取到成员变量中
UpdateData(true);
if(m_name=="
"
)
{
MessageBox("
请输入用户名"
);
return;
}
//假如读取数据和用户输入不同,那么返回
if(ffxxb.HaveCzy(m_name,m_pwd)!
=1)
用户名或密码错误!
ffxxb.SetCzyName(m_name);
jb="
1"
;
//判定当前用户级别
if(ffxxb.HaveCzyjb(m_name,m_pwd,jb)==1)
ffxxb.SetCzyjb(jb);
CDialog:
OnOK();
下面在主对话框中添加代码,使对话框在启动时第一打开登录对话框。
在主窗口选择OnInitDialog函数,该函数将打开登录对话框,假如用户不是通过单击〝登录〞按钮关闭对话框,那么调用OnOK函数关闭主对话框,具体代码如下:
BOOLCWordGLXTDlg:
OnInitDialog()
OnInitDialog();
......
//TODO:
CLogingin;
if(gin.DoModal()!
=IDOK)
OnOK();
returnTRUE;
4.4职员录入模块设计
添加职员信息,职员录入对话框的设计如图11所示
图11职员录入对话框
〔1〕向项目中添加一个新Dialog资源,资源ID为IDD_YGTJK。
在IDD_YGTJK对话框资源中单击鼠标右键,执行弹出快捷菜单的〝Properties〞菜单命令,打开〝DialogProperties〞对话框。
在〝DialogProperties〞对话框中选择General选项卡,更换其〝Caption〞文本框内容为〝职员录入〞。
〔2〕从Controls面板上向Dialog资源中添加4个Static、2个Combo、2个Edit,更换资源的属性,并为资源设置相对应的变量,如表2所示。
表2资源设置
m_id
m_name
IDC_COMBO1
CComboBox
m_sex
IDC_COMBO2
M_whcd
Caption添加
〔1〕打开ClassWizard窗口,添加在OnInitDialog成员函数,向OnInitDialog添加代码如下。
BOOLCYgjctjdlg:
OnInitDialog()
//TODO:
SetIcon(m_hIcon,TRUE);
m_sex.AddString("
男"
女"
m_whcd.InsertString(0,"
专科"
m_whcd.InsertString(1,"
本科"
m_whcd.InsertString(2,"
研究生"
//EXCEPTION:
OCXPropertyPagesshouldreturnFALSE
〔2〕当用户单击〝添加〝按钮时,实现添加职员功能,其响应代码如下
voidCYgjctjdlg:
CYgjcxxbxxb;
if(m_id=="
编号不能为空"
姓名不能为空"
if(xxb.HaveId(m_id)==1)
职员编号已存在"
xxb.SetYGid(m_id);
xxb.SetYGxm(m_name);
CStringsex,whcd;
m_sex.GetWindowText(sex);
if(sex=="
性别不能为空"
//从组合框中读取文本
m_sex.GetLBText(m_sex.GetCurSel(),strsex);
xxb.SetSex(strsex);
m_whcd.GetWindowText(whcd);
if(whcd=="
文化程度不能为空"
m_whcd.GetLBText(m_whcd.GetCurSel(),strwhcd);
xxb.SetWHcd(strwhcd);
xxb.sql_insert();
//向浮动工资表添加编号、姓名
CYgfdgzxmbxmb;
xmb.SetYGid(m_id);
xmb.SetYGxm(m_name);
xmb.sql_insert();
//向差不多工资表添加编号、姓名
CYgjbgzbgzb;
gzb.SetYGid(m_id);
gzb.SetYGxm(m_name);
gzb.sql_insert();
//向加班休假表添加编号、姓名
CYgjbsjbsjb;
sjb.SetYGid(m_id);
sjb.SetYGxm(m_name);
sjb.sql_insert();
4.5职职员资添加模块设计
添加职员实际发放的工资情形,职职员资添加对话框设计如图12所示。
图12职职员资添加对话框
〔1〕向项目中添加一个新Dialog资源,资源ID为IDD_YGGONGZITJ。
在IDD_YGGONGZITJ对话框资源中单击鼠标右键,执行弹出快捷菜单的〝Properties〞菜单命令,打开〝DialogProperties〞对话框。
在〝DialogProperties〞对话框中选择General选项卡,更换其〝Caption〞文本框内容为〝职职员资添加〞。
〔2〕从Controls面板上向Dialog资源中添加19个Static、17个Edit、2个Button控件,更换资源的属性,并为资源设置相对应的变量,如表3所示。
表3资源设置
IDC_EDIT2
IDC_EDIT3
int
m_jbgz
IDC_EDIT4
m_zwgz
IDC_EDIT5
m_glgz
IDC_EDIT6
m_zfbz
IDC_EDIT7
m_shbz
IDC_EDIT8
m_bxf
IDC_EDIT9
m_jiabts
IDC_EDIT10
Read-onlyTRUE
CEdit
m_jiabgz
IDC_EDIT11
m_sjts
IDC_EDIT12
m_sjgz
IDC_EDIT13
m_ylbxj
IDC_EDIT14
m_grsds
IDC_EDIT15
m_sfgz
IDC_EDIT16
m_yfgz
IDC_EDIT17
m_syye
IDC_BUTTONsyye
Caption上月余额
IDC_BUTTONyfgz
Caption应发工资
〔1〕双击〝IDC_EDIT9”控件,自动生成OnChangeEdit9函数,实现用户添加加班天数时,加班工资自动运算并显示,具体代码如下:
voidCYggztjdlg:
OnChangeEdit9()
IfthisisaRICHEDITcontrol,thecontrolwillnot
//sendthisnotificationunlessyouoverridetheCDialog:
//functionandcallCRichEditCtrl().SetEventMask()
//withtheENM_CHANGEflagORedintothemask.
CStringstr;
str.Format("
%d"
m_jiabts*40);
m_jiabgz.SetWindowText(str);
UpdateDat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统 毕业设计
![提示](https://static.bdocx.com/images/bang_tan.gif)