职工工资管理系统Word文档下载推荐.docx
《职工工资管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《职工工资管理系统Word文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,
关键词:
职工工资管理系统、设计、开发工具
摘要………………………………………………………………………………………………2
目录………………………………………………………………………………………………3
1、系统需求分析…………………………………………………………………………………4
1.1系统的用户管理…………………………………………………………………………4
1.2职工的信息管理…………………………………………………………………………4
1.3职工的工资管理…………………………………………………………………………4
1.4部门的信息管理………………………………………………………………………………4
1.5职工的奖惩管理…………………………………………………………………………4
1.6职工的培训管理…………………………………………………………………………4
2、功能需求分析…………………………………………………………………………………4
2.1系统管理…………………………………………………………………………………5
2.2信息管理…………………………………………………………………………………5
2.3信息查询…………………………………………………………………………………6
3、系统设计…………………………………………………………………………………………8
3.1数据库逻辑结构设计………………………………………………………………………8
3.1.1系统E-R图…………………………………………………………………………………8
3.2数据库物理结构设计…………………………………………………………………………9
3.2.1表之间的E-R图…………………………………………………………………………11
3.3数概念结构设计……………………………………………………………………………12
3.3.1数据流程图………………………………………………………………………………12
4、职工工资管理系统应用设计…………………………………………………………………14
4.1职工工资管理系统模块设计………………………………………………………………14
4.1.1“登陆模块”详细设计……………………………………………………………………14
4.1.2主界面”的详细设计………………………………………………………………16
4.2管理员界面子模块的设计………………………………………………………………17
4.2.1薪资信息………………………………………………………………………………….17
4.2.2培训信息…………………………………………………………………………………22
4.2.3奖惩信息…………………………………………………………………………………25
4.2.4部门信息…………………………………………………………………………………28
5、总结……………………………………………………………………………………………31
6、参考文献………………………………………………………………………………………32
1、系统需求分析
企业工资管理系统的主要任务是用计算机对各种工资信息和职工基本信息进行日常的管理,如查询、修改、添加、删除等,迅速准确地完成各种工资信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了企业工资管理系统。
企业工资管理系统主要有以下几大功能:
1.1系统的用户管理
本模块主要功能包括用户的添加、删除、密码修改,重新登入,退出系统等。
1.2职工的信息管理
本模块主要功能包括职工信息的添加,查询,修改,删除等。
员工基本信息:
工龄、员工编号、员工姓名、员工性别、出生日期、单位、籍贯、学历、职业、部门、部门编号、婚姻、是否在职
1.3职工的工资管理
本模块主要功能包括职工工资的查询,添加,删除,修改,计算,统计等。
1.4部门的信息管理
本模块主要功能包括部门查询,添加,修改,删除等。
1.5职工的奖惩管理
本模块主要功能包括对职工奖惩信息的查询,添加,修改,删除等。
1.6职工的培训管理
本模块主要功能包括职工培训计划的查询、添加、删除、修改等。
2功能需求分析
员工工资管理系统功能分析总图2
2.1.系统管理:
功能分析图
2.2信息管理:
职工信息管理:
基本信息管理:
奖惩信息管理:
培训信息管理:
薪资信息管理:
2.3信息查询:
员工信息查询:
3、系统设计
3.1数据库逻辑结构设计
3.1.1系统E-R图
3.2数据库物理结构设计
需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。
理解就是对现实问题的理解,要弄清楚究竟需要解决什么问题。
抽象就是除去问题的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设计实现。
需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是确定用户对软件系统的需求。
所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。
此次课程设计的使用者是企业的员工,主要是针对系统的管理员。
其进行的操作就是对公司员工、部门等一些方面改动的改善。
由此对员工需求分析如下。
用户的需求就是对员工工资和使用用户的添加、删除、修改和查询。
这就要求各种信息中存在实体完整性、参照完整性和用户自定义完整性。
搜集了各项要求,故数据项要求设计如下:
表2.1登入信息表
列名
数据类型
长度
允许空
username
Char
30
不可以
userpassword
20
competence
10
表2.2职工信息表
工龄
Int
4
职工编号(主键)
性别
Varchar
姓名
籍贯
出生日期
Datatime
8
单位
varchar
部门
职业
学历
婚姻
部门编号
在职否
表2.3部门信息表
部门名称
部门编号(主键)
部门人数
表2.4薪资信息表
顺序号
薪资编号
基本工资
decimal
9
福利补贴
Decimal
奖金
住房公积金
失业保险
总薪资
可以
部门名称(外键)
表2.5奖惩信息表
奖罚
奖惩编号
奖惩时间
奖惩地点
50
奖惩原因
200
备注
500
表2.6培训信息表
培训编号
培训内容
100
培训天数
培训费用
培训时间
datatime
3.2.1表之间的E-R图
3.3数概念结构设计
3.3.1数据流程图
0层流程图
1层流程图
2层流程图
4、职工工资管理系统应用设计
4.1职工工资管理系统模块设计
系统实现,胡庆敏完成了系统管理,胡君完成了信息查询和普通用户界面
我完成了信息管理
4.1.1“登陆模块”详细设计
“登录模块”的设计主要是针对用户登录界面的设计,判断用户是管理员还是普通用户,从而进入不同主界面。
登陆界面主要由用户名和密码还有权限的信息,还有标题的设置,登录和取消按钮的设置。
用户只有选择用户名后填入相应的密码后点击“登录”才能进入主界面,点击“取消”会退出系统。
由此,登陆界面设计如图4.1所示
图4.1
若用户密码、用户名或权限其中有一个没有匹配成功的话,则点击“登入”时会提示以下消息框
代码段:
StringdriverName="
com.microsoft.jdbc.sqlserver.SQLServerDriver"
;
StringdbURL="
jdbc:
microsoft:
sqlserver:
//localhost:
1433;
DatabaseName=login"
StringuserName="
sa"
StringuserPwd="
123456"
ConnectiondbConn=null;
try
{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
Statementstmt=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Stringusername=jTextField.getText();
Stringuserpassword=newString(jPasswordField.getPassword());
Stringcompetence=jRadioButton.getText();
Stringcompetence1=jRadioButton1.getText();
Stringsql;
if(grp.getSelection()==jRadioButton1.getModel())
{sql="
select*fromlogwhereusername='
"
+username+"
'
anduserpassword='
+userpassword+"
andcompetence='
+competence1+"
ResultSetrs1=stmt.executeQuery(sql);
if(rs1.next()){
setVisible(false);
functionx=newfunction();
x.setVisible(true);
}
elseJOptionPane.showMessageDialog(null,"
登入失败!
);
}
if(grp.getSelection()==jRadioButton.getModel()){
sql="
+competence+"
ResultSetrs=stmt.executeQuery(sql);
if(rs.next()){
function1y=newfunction1();
y.setVisible(true);
elseJOptionPane.showMessageDialog(null,"
}
}
catch(Exceptioneo)
eo.printStackTrace();
}
4.1.2“主界面”的详细设计
主界面有两个,其中管理员主界面的设计是由菜单编辑器生成,主要由系统管理、信息管理、信息查询、三个模块组成。
其作用是使程序更加有条有理,有利于管理。
另外一个为普通用户操作,主要有基本信息查询,基本工资查询两个模块组成,两个主界面设计如图4.2所示:
管理员主界面
职工主界面
4.2管理员界面子模块的设计
4.2.1选择“信息管理”→“薪资信息管理→“删除”、“”修改”、“添加”菜单,分别实现删除职工,修改职工,添加职工薪资信息。
删除薪资信息
StringdbURL="
StringuserName="
StringuserPwd="
ConnectiondbConn=null;
Stringnum=JOptionPane
.showInputDialog("
请输入要删除的职工编号"
Stringdelete="
deletefrom薪资信息表where职工编号='
+num+"
if(num==null){
return;
}
if(JOptionPane.showConfirmDialog(null,"
确认要删除吗?
)==JOptionPane.YES_OPTION)
try{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,
userName,userPwd);
Statementstmt=dbConn.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
if(stmt.executeUpdate(delete)!
=0)
JOptionPane.showMessageDialog(null,
"
职工薪资信息删除操作,执行成功!
else
没有该职工,执行失败!
}
catch(Exceptione2){
e2.printStackTrace();
}
修改薪资信息
ll=JOptionPane.showInputDialog("
请输入需要修改薪资的职工编号"
StringdriverName="
DatabaseName=txl"
try{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,
userName,userPwd);
java.sql.Statementstmt=dbConn
.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
Stringsql1="
select职工编号from薪资信息表where职工编号='
+ll+"
ResultSetrs1=stmt.executeQuery(sql1);
if(rs1.next()){
薪资修改x1=new薪资修改();
x1.setVisible(true);
}else{
JOptionPane.showMessageDialog(null,
"
没有该职工,请重新输入!
catch(Exceptione1){
e1.printStackTrace();
String顺序号=jTextField1.getText();
String薪资编号=jTextField2.getText();
String基本工资=jTextField3.getText();
String福利补贴=jTextField4.getText();
String奖金=jTextField5.getText();
String住房公积金=jTextField6.getText();
String部门名称=jTextField7.getText();
String失业保险=jTextField61.getText();
inta1=Integer.parseInt(基本工资);
intb1=Integer.parseInt(福利补贴);
intc1=Integer.parseInt(奖金);
intd1=Integer.parseInt(住房公积金);
intf1=Integer.parseInt(失业保险);
intx=a1+b1+c1-d1-f1;
Strings=Integer.toString(x);
jTextField62.setText(s);
dbConn=DriverManager.getConne