工资管理系统设计Word格式.docx
《工资管理系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《工资管理系统设计Word格式.docx(34页珍藏版)》请在冰豆网上搜索。
本系统就采用Powerbuilder6.5开发,服务器端的操作系统为WindowsNT4.0,客户端操作系统为Windows98。
2.1组织目标和战略
系统的目标是开发一个基于网络的工资管理系统,能在网络环境下实现数据的录入、插入、删除、查询、统计、更新、打印等功能。
2.2存在的主要问题
工资管理是公司企业内部很重要的一个管理事项,但目前大多公司内部劳资人事的管理,基本上是手工操作或是基于dos下的应用,这样对信息的管理者有诸多不便,有的虽然是用foxpro、visualfoxpro开发,但由于开发工具本身的限制,对网络功能的支持程度不是很强,为以后软件升级带来了麻烦。
3.1系统功能分析
公司内部的工资管理,从大的方面分主要集中在公司职员的个人情况、工资细目、调入调出与用车等。
所以该系统主要是实现对数据的录入、插入、删除,网上查询.统计.更新.打印等功能。
其次,为了信息的保密与安全,系统还要提供一定的安全机制。
3.2系统功能的规划
根据以上系统功能的分析,本系统决定采用MDI风格,它主要分为以下几个模块,其工资管理系统的父窗口的功能结构图。
文件模块:
此模块实现本系统对数据的打开、保存、打印预览、打印与用户管理等功能,并可由此退出系统。
信息管理模块:
此模块实现系统的信息管理,包括对职工情况一览表、职工调入调出情况表、职工工资表与其它各表的信息数据的插入、删除、修改、保存等功能。
查询模块:
此模块实现本系统的查询功能,能将个人的基本情况、调入调出情况、工资情况等检索出来,并可实现多条件查询和模糊查询。
统计模块:
此模块用于对数据库中的信息数据按照一定的规则进行统计。
系统服务模块:
此模块用来系统管理人员设密码和对系统的功能和开发信息进行介绍等
3.3初步建设计划
项目计划于2009年5月开工建设。
开发期6个月,试运行期3个月,系统计划于2009年8月1日正式投入运行。
3.4根据用户要求设计数据表
数据表的建立是应用程序开发过程中的非常重要的一个环节,必须清楚每一模块要操纵的数据是那些,以与数据间的相互关系,然后建立数据表。
工资管理系统要求能对职工的个人情况、调入调出情况、工资情况等进行管理,在职工个人情况表下面,还有象维护职务表,维护学历表等等。
同时还要对系统设置安全机制,为实现以上要求,下面仅以人事、工资、密码表为例介绍一下各表的结构:
职工情况一览表
它包括职工标号、姓名、性别、政治面貌等信息。
其结构如下:
codechar(4)notnull,//职工编码
namechar(8)null,//姓名
sexchar
(2)null,//性别
politicschar(8)null,//政治面貌
birthdaydatanull,//出生日期
work_timedatanull,//参加工作时间
post_zhwchar(10)null,//职务
addresschar(30)null,//家庭住址
该表主键为职工编号(code)。
职工工资表
其结构主要包括职工所得的各种工资福利等。
Codechar(4)notnull,//职工编号
Namechar(8)null,//姓名
g_payintegernull,//岗位工资
j_payintegernull,//技能工资
w_payintegernull,//物价补
s_payintegernull,//书报费
ws_payintegernull,//卫生费
xh_payintegernull,//小孩补贴
a_payintegernull,//工龄工资
ht_paynumeric(6,2)null,//合同补贴
jj_paynumeric(8,2)null,//奖金
total_paynumeric(8,2)null,//工资总额
该表主键为职工编号code。
系统密码表
user_namechar(10)notnull,//用户名称
user_wordchar(10)notnull,//用户密码
user_qxchar
(2)notnull,//用户权限
4.技术可行性分析
由于Powerbuilder具有完整的web应用开发功能,由它编制的软件可以方便的同服务器端的数据库协同工作,构成Client/Server工作方式,它使用的是业界熟悉的Web标准(HTML和Java),通过端对端的设计、调试和提交,可以控制Web应用的整个生命周期。
本系统客户应用和服务器应用都采用Powerbuilder开发。
其中服务器端的程序是实现中的重点部分,其内容主要是生成SQL语句对数据库操作与对所得的数据进行处理。
它主要分为监听客户连接、处理客户请求、避免死锁、向客户推送消息等。
4.1安全机制分析
在进入系统之前,要进行身份确认,只有用户名和用户密码都相符的用户方可进入本系统。
为了防止不合法用户对数据的察看和修改,本系统把用户分为三个级别:
超级、可修改和只读用户,即一二三级用户。
超级(一级)用户不仅拥有对数据的查询、修改权限,还对用户的使用权限进行控制,可以设定用户名、密码和其权限,还可以对纪录进行增加、删除、修改等操作。
可修改(二级)用户对数据可以查询、打印,还可以对纪录进行增加、删除、修改等操作。
只读(三级)用户只拥有对纪录的浏览、查询和打印权限。
当用户要进入系统是必须先输入用户名和密码,按“确认”按钮后,系统辨别用户身份,对合法用户根据用户的权限级别赋予相应的使用功能。
4.2对任一数据列进行排序的问题。
熟悉Windows的用户一定对资源管理器不陌生,当目录或文件很多时,当然会想到使用排序来尽快定位目标,你只要用鼠标在资源管理器上端的name、size、type或modified中的任意一项点击,它就会将此项按升序或降序排列。
同样地,在PowerBuilder中,如果数据比较多,我们也可以采用这种办法来排序以尽快查找记录。
本系统以窗口w_rsh为例,要实现这样的排序功能,首先定义两个实例变量Stringpre_col=“”和Intclick_time=0,它们分别记录上次点击的列和点击同一列的奇偶数。
然后在dw_1的Clicked事件中添加如下脚本:
Stringclicked_pos,col,format
Longil_pos
clicked_pos=dwo.Name//取点击的对象
il_pos=Pos(clicked_pos,'
_t'
)//对于列标题,
//取得的对象是列名+”_t”
Ifil_pos>
0Then
col=Left(clicked_pos,il_pos-1)
Ifcol=pre_colThen
Ifclick_time=0Then
click_time=1
format=col+"
A"
Else
click_time=0
D"
EndIf
click_time=0
pre_col=col
dw_1.SetSort(format)
dw_1.Sort()
EndIf采用上面的方法可实现象Windows中资源管理器灵活排序的功能,从而使所要浏览的数据更加一目了然。
本系统对日期型、需渐变量等数据的输入采用了编辑掩码控件editmask,这样就可以大大方便用户的操作。
对于象性别这样只有男、女两个值的,则采用单选钮radiobutton形式,用户在录入时只需要鼠标点击选钮即可。
在设置条件时的值段名和有固定职供用户选择的数据使用了下拉列表框(droplistbox),用户只需选择所要输入的值即可
5社会可行性分析
随着计算机的发展与普与,以与互联网技术的扩展,日常劳资人事管理必将实现无纸化办公,并且加入到公司内部的Intranet或者是Internet上去,实现数据的共享,这样有利于劳资人事信息在单位内部的查询,提高了数据资源的利用,并且能与时的得到更新,不需要象过去那样浪费大量的人力物力去进行抄写,提高了工作的效率
6.经济可行性分析
6.1支出/收益分析
在10年期内,系统投资和收益表1:
系统总投入:
180万,系统总收入:
92万,2年可以收回开发投资。
从经济上考虑,本系统完全有必要开发。
7.可行性研究结论
通过经济,技术和社会等方面的可行性研究,可以确定本系统的开发完全有必要,而且是可行,可以立项开发。
2.工资管理系统需求分析报告
1.概述
1.1项目名称与背景
1.1.1项目名称
工资管理系统
1.1.2开发背景
随着公司业务的扩展,人员的增多,传统的手工作业已经不再适合公司发展的需要
1.2文档说明
1.2.1员工:
每个员工有个用户名和密码,能够方便的按照某种关键字对自己的工资进行查询。
1.2.2系统管理员:
有唯一用户名和密码,完成对员工资料的增加,删除,修改和查询。
对系统的维护,数据备份,数据恢复,数据导入,数据导出
1.2.3上级主管部门:
员工信息的查询,增加,修改,删除,汇总与打印,打印员工信息,工资发放报表,工资历史报表,奖惩报表
设定工资年龄,岗位工资,奖金与违纪扣罚款,个人所得税
1.3功能概述
在现代企业的生产和动作过程中,往往需要对企业员工的工资进行管理,企业的工资管理活动中都包含了以下几项功能:
1.3.1员工信息管理:
实现对员工基本信息的管理操作,包括员工基本数据信息的添加、修改、删除和查询等功能;
1.3.2工资管理:
完成对基础数据设定(如工龄工资、岗位工资、所得税率等),工资统计、发放,打印工资条,与员工奖励和惩罚;
1.3.3工资查询:
可根据条件查询员工历史工资数据(如按月份查询、按姓名查询、按部门查询等);
1.3.4汇总打印:
提供报表打印输出功能,可以报表的形式打印员工信息、工资发放报表、工资历史报表、员工奖励和员工惩罚报表;
1.3.5系统维护:
可对数据进行备份和恢复,并可实现数据导入导出功能。
1.3.6管理员设置:
实现系统用户与密码的设置操作,可以增加和删除系统用户(仅系统管理员才有权限),对系统当前用户修改密码。
1.4用户环境
操作系统:
WindowsXP
平台:
VisualStudio2005
数据库:
SQLServer2000
1.5其他要求
绘制UML所需要的RationalROSE或officeVISIO
2.用例描述
通过对企业员工工资管理业务的分析,可知,员工工资系统主要涉与的参与者包括:
员工、上级主管部门、系统管理员。
系统总用例图如下:
2.1参与者:
员工
以下主要描述参与者为在线消费者时,与系统的交互情况.
2.1.1Use-Case1:
员工登陆
用例名称:
用例ID:
No.1
说明:
用户登陆时验证密码正确性(登陆后员工可以通过工资管理系统进行工资查询);
输入:
用户名,密码;
加工:
将用户名与密码与储存在系统内的信息比较(通过用户认证实现),一致则通过;
输出:
工资管理系统主界面;
前提条件:
员工已注册并录入系统
基本事件流:
1.用户输入用户名和密码
2.系统对用户认证
3.结束
后置条件:
员工的的状态转换为已登陆
2.1.2Use-Case2:
员工查询个人工资信息
员工个人工资查询
No.2
员工可以通过工资管理系统进行个人工资信息的查询;
查询信息;
根据用户输入信息,从数据库中查询到个人基本情况与工资条;
工资条;
基本事件流:
1.用户打开工资管理系统.
2.键入查询信息.
3.界面将查询信息传送到系统数据库.
4.系统服务器根据查询信息从数据库中查找
5.返回查找的具体信息
2.1.3Use-Case3:
员工退出登陆
No3
员工退出系统界面,结束交互
用户关闭工资管理系统
2.2参与者:
系统管理员
以下主要描述参与者为系统管理员时,与系统的交互情况。
2.2.1Use-Case4:
系统管理员登陆
No.4
用户登陆时验证密码正确性(登陆后管理员可以通过工资管理系统进行管理操作);
管理员已注册并录入系统
管理员的的状态转换为已登陆
2.2.2Use-Case5:
管理员对系统用户的管理
No.5
管理员可以通过工资管理系统进行系统用户的增删改操作;
系统用户数据;
根据管理员输入信息,从而更新数据库中系统用户信息情况;
修改成功提示并显示更新后的工资管理系统主界面;
前提条件:
管理员已登陆,有相应权限;
1.系统接受修改请求,弹出修改页面,管理员输入新信息并提交;
2.系统接受新信息,并更新数据库;
3.显示成功修改信息;
后置条件:
用户信息修改成功。
2.2.3Use-Case6:
管理员对系统的维护
No.6
管理员可以通过工资管理系统对数据进行相关操作;
系统相关数据;
根据管理员输入信息,从而更新数据库中系统信息情况;
维护成功后的系统主界面;
1..系统接受维护请求,弹出维护页面,管理员进行相关维护操作,数据备份,数据恢复,数据导入等.;
2..系统接受维护操作,并更新数据库;
3..显示更新后系统主界面
系统已成功维护。
2.2.4Use-Case7:
管理员退出登陆
No.7
管理员退出系统界面,结束交互
管理员关闭工资管理系统
2.3参与者:
上级主管部门
以下主要描述参与者为上级主管部门时,与系统的交互情况。
2.3.1Use-Case8:
上级管理部门登陆
Case8:
No.8
上级管理部门通过输入账号和密码进入工资管理系统;
上级管理部门账号,密码;
将上级管理部门帐号与密码与储存在系统内的信息比较(通过系统管理员认证实现),一致则通过;
上级管理界面;
1.上级管理部门输入其账号和密码
2.系统管理员认证上级管理部门账号和密码有效
3.结束.
2.3.2Use-Case9:
上级管理部门对员工信息的管理
Case9:
No.9
上级管理部门可以通过工资管理系统对员工信息进行管理;
根据输入信息,从数据库中查询员工信息;
返回相关员工信息;
上级管理部门已登陆,有相应权限
1.管理部门进入工资管理系统并键入查询信息..
2.界面将查询信息传送到系统数据库.
3.系统服务器根据查询信息从数据库中查找
4.返回查找的具体员工信息
2.3.3Use-Case10:
上级管理部门对工资的设定
Case10:
No.10
管理部门进入工资管理系统并对工资进行调整设定;
要调整的项目与调整方案;
对要调整的项目根据要求重新设定;
调整后的工资计算方案;
1.上级管理部门进入工资管理系统.
2.键入调整信息.
3.系统服务器根据调整信息对工资计算方案进行重新设定
4.返回调整后的工资计算方案
2.3.4Use-Case11:
上级管理部门汇总打印
Case11:
No.11
管理部门根据需要对员工的信息汇总并打印;
需汇总的员工;
根据输入信息,从数据库中查询到各个人基本情况与工资信息;
基本情况与工资信息;
1上级管理部门进入工资管理系统.
2.键入查询信息并提交
3.系统接受查询信息,系统服务器根据查询信息从数据库中查找
4.返回查找的具体信息,汇总并打印
根据需要打印出员工信息
2.3.5Use-Case12:
上级管理部门退出登陆
上级主管部门退出登陆
No.12
上级主管部门退出系统界面,结束交互
上级主管部门关闭工资管理系统
3.系统交互顺序图描述
3.1员工实例顺序图:
3.2系统管理员实例顺序图:
3.3上级主管部门实例顺序图:
3.工资管理系统设计报告
一.设计思想
本系统开发设计思想:
尽量利用企业现有的软硬件环境,采用先进的管理系统开发方案,从而达到充分利用企业现有的资源,提高系统开发水平和应用效果的目的。
系统应符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程中的直观、方便、实用、安全等要求。
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的设计维护人员进行补充、维护。
系统应具备数据库维护功能,与时根据用户需求进行数据的添加、删除、修改、备份等操作。
二.开发和运行环境选择
开发工具:
VisualC#.Net
运行环境:
WindowsNT,Windows2000以与Windowsxp
三.系统功能分析
系统功能分析是在系统开发的总体任务的基础上完成的.该系统需要完成的功能主要有:
①系统数据初始化;
②员工基本信息数据的输入;
③员工基本信息数据的修改、删除;
④企业工资的基本设定;
⑤员工工资的浏览;
⑥员工个人工资表的查询;
⑦员工工资的计算;
⑧工资报表打印;
四.系统功能模块设计
在系统功能分析的基础上,根据C#程序的特点,得到如图所示的系统功能模块图.
系统功能模块图
功能需求描述
1、员工基本信息模块
员工基本信息模块具有员工信息输入、员工增删、员工信息查询三个功能,员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在岗位、工龄和工资等级等信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工可以通过员工号或员工姓名对员工信息进行查询。
2、工资结构设置模块
根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资、工龄工资三部分。
该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
3、工资汇总模块
用户在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇总模块会自动对员工工资进行汇总。
根据以上系统功能模块图与功能需求描述,可作出系统设计类图如下:
五数据库设计
在数据库应用系统的开发过程中,数据库的结构设计是其中非常重要的一个环节。
数据库结构的好坏将直接对应用系统的效率以与实现的效果产生影响。
好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,能简化基于此数据库的应用程序的实现等。
1.数据库需求分析
数据库需求分析是数据库结构设计的第一阶段,是非常重要的一个阶段。
这个阶段主要是确定基本数据,数据结构以与数据处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础。
在仔细调查企业工资管理过程的基础上,我们得到本系统的数据流程图如下:
通过对企业工资管理的内容和数据流程分析,针对企业工资管理系统,我们设计的数据项和数据结构如下:
①员工基本状况包括的数据项有员工号、员工姓名、性别、所在部门、所在岗位、工资级别等。
②工资级别的工资金额包括的数据项有工资级别、工资额。
③企业部门以与工资岗位信息包括的数据项有部门名称、工作岗位名称、工作岗位工资等。
④工龄的工资金额包括的数据项有工龄与对应的工资额。
⑤公司福利表包括的数据项有福利名称、福利值。
⑥工资信息包括的数据项有员工号、员工姓名、员工基础工资、员工工龄工资、员工岗位工资、员工实得工资
2.数据库概念结构设计
这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以与它们之间的关系,为后面的逻辑结构设计打下基础。
该系统设计规划出的实体有:
员工实体、员工工资实