工资管理系统.docx
《工资管理系统.docx》由会员分享,可在线阅读,更多相关《工资管理系统.docx(22页珍藏版)》请在冰点文库上搜索。
工资管理系统
软件工程作业
人事工资管理系统
学 院:
班 级:
学 号:
姓 名:
指导老师:
一、需求分析
1、功能定义
工资管理系统应完成以下功能:
员工信息管理:
包括员工基本信息,如工龄情况,学历情况,工作岗位,部门信息。
实现对员工信息的输入、查询和修改,对于转出、辞职、辞退、退休员工信息的删除。
人事调动管理:
包括对员工岗位和部门的查询与修改。
工资管理:
员工工资分为两部分:
一部分是基本工资,根据员工的工龄和岗位设置;另一部分是动态工资,根据员工的考勤情况和工作评价情况计算,在计算出总工资后,还应扣除一些费用,如税款、公积金、养老金等。
包括对工资的查询和修改。
考勤管理:
包括正常出勤、异常出勤(如请假、迟到、早退)、加班。
工作评价管理:
员工评价信息分为两部分,一部分是主管经理对员工的评价信息,包括工作分工、完成情况、工作态度等;另一部分是同组员工的评价信息,包括工作态度、合作情况等。
根据工作评价发放奖金。
系统管理模块:
对人事工资管理系统的维护、升级和对用户的管理:
用户信息添加、用户信息修改、用户信息删除和用户权限分配。
2、参与者列表
人事部门:
对员工信息的管理,包括对员工信息的输入、查询、修改。
对于转出、辞职、辞退、退休员工信息的删除。
对人事调动的管理,包括对员工岗位和部门的查询与修改。
财务部门:
根据员工的考勤和工作评价,完成工资的核算并发放工资。
系统管理员:
对人事工资管理系统的维护、升级和对用户的管理:
用户信息添加、用户信息修改、用户信息删除和用户权限分配。
员工:
系统的主要使用者,登陆系统后,对自己的基本信息的查询和对自己工资的查询。
考勤部门:
对员工的出勤情况进行记录,对员工的工作进行评价。
3、用例图
图1财务部门用例
图2人事部门用例
图6人事工资管理系统用例图
一、分析
1、类图
2、状态图
图1系统状态图
3、活动图
图1用户注册活动图
图2登录活动图
图3员工信息查询活动图
图4对员工信息删除、添加、修改的活动图
图5考勤管理活动图
4、顺序图
图1用户注册顺序图
图2登录顺序图
图3添加员工信息顺序图
图4人事调动顺序图
图5考勤管理顺序图
5、协作图
图1用户注册协作图
图2登录协作图
图3添加员工信息协作图
图4考勤管理协作图
三、设计
1、流程图
2、实体E-R图
3、数据字典
(1)、员工档案信息表:
字段
字段名
类型
宽度
说明
1
员工号
字符型
3
数字
2
员工姓名
字符型
10
小于等于5个汉字
3
员工性别
字符型
2
“男”或“女”
4
员工学历
字符型
10
小于等于5个汉字
5
婚姻状况
字符型
4
“已婚”或“未婚”
6
工龄
数值型
2
1~99之间
7
岗位编号
数值型
2
1~99之间
8
部门编号
数值型
2
1~99之间
(2)、工资设置表:
字段
字段名
类型
宽度
说明
1
员工号
数值型
3
数字
2
工资年月
字符型
20
_年_月_日
3
应发工资
数值型
5
1-99999之间
4
奖励金额
数值型
4
1-9999之间
5
扣除工资
数值型
4
1~9999之间
6
实发工资
数值型
5
1-99999之间
(3)、岗位设置表:
字段
字段名
类型
宽度
说明
1
岗位编号
数值型
2
1~99之间
2
岗位名称
字符型
14
小于等于7个汉字
3
部门编号
数值型
2
1~99之间
(4)、部门设置表:
字段
字段名
类型
宽度
说明
1
部门编号
数值型
2
1-99之间
2
部门名称
字符型
14
小于等于7个汉字
3
部门负责人
字符型
10
小于等于5个汉字
4
部门人数
数值型
4
1~9999之间
(5)、考勤设置表:
字段
字段名
类型
宽度
说明
1
员工号
数值型
3
数字
2
正常出勤天数
数值型
3
1~999之间
3
异常出勤天数
数值型
3
1~999之间
4
加班天数
数值型
3
1~999之间
5
评价情况
字符型
4
优秀、良好、中等、差
4、数据库E-R图
四、实现
1、源代码
(1)登录界面代码设计
本代码实现Form1,作用是对登录用户审核,将登录用户信息与数据库中用户表相比对,存在此用户且信息正确则进入,否则登录失败。
usingSystem;
using;
using;
using;
using;
using;
using工资管理系统
{
publicpartialclassForm1:
Form
{
publicstaticstringpassword;
publicstaticstringusername;
publicForm1()
{
InitializeComponent();
}
publicintCheckUsers()alue+"'";
OleDbConnectionconnection=newOleDbConnection(connectionString);
();
OleDbCommandcommand=newOleDbCommand(SQLString,connection);
if()==1)
("删除成功!
");
if(connection!
=null)
();
loadUsers();
}
privatevoidAddbutton_Click(objectsender,EventArgse)
{ells[].();
ells["Sno"].();
stringcolName=[].Name;工工种=工资.员工工种andMessage.工资等级=工资.工资等级",AconnStr);
OleDbDataReaderodr=null;
();
try
{
odr=();
}
catch(Exceptionex)
{
if(ex!
=null)returnnull;
}
if(odr!
=null)
{
while())
{returnodr[0].ToString();}
();
}
();
returnnull;
}
publicstringFindday()
{
stringAfile="Provider=Source=C:
\\Users\\lenovo\\Desktop\\C#\\;PersistSecurityInfo=True";oString();}
();
}
();
returnnull;
}
publicstringFindstring2()
{
stringAfile="Provider=Source=C:
\\Users\\lenovo\\Desktop\\C#\\;PersistSecurityInfo=True";工工种=工资.员工工种andMessage.工资等级=工资.工资等级",AconnStr);
OleDbDataReaderodr=null;
();
try
{
odr=();
}
catch(Exceptionex)
{
if(ex!
=null)returnnull;
}
if(odr!
=null)
{
while())
{returnodr[0].ToString();}
();
}
();
returnnull;
}
publicstringFindstring3()
{
stringAfile="Provider=Source=C:
\\Users\\lenovo\\Desktop\\C#\\;PersistSecurityInfo=True";工工种=工资.员工工种andMessage.工资等级=工资.工资等级",AconnStr);
OleDbDataReaderodr=null;
();
try
{
odr=();
}
catch(Exceptionex)
{
if(ex!
=null)returnnull;
}
if(odr!
=null)
{
while())
{returnodr[0].ToString();}
();
}
();
returnnull;
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
if==""||=="")
("请输入要查找的信息!
","提示信息");
else
{
string1=(Findstring1().ToString());
string2=(Findstring2().ToString());
day=(Findday().ToString());
string3=(Findstring3().ToString());
intsalary;
salary=string1+string2*day+string3;
("本月工资为:
"+salary+"元","月工资信息");
}
}
privatevoidbutton6_Click(objectsender,EventArgse)
{
();
Form6form6=newForm6();
();
}
}
}
(3)工资更新界面
本代码实现Form4,主要是实现工资信息的更新,对工资信息进行查找、添加、修改、删除等操作。
usingSystem;
using;
using;
using;
using;
using;
using工资管理系统
{
publicpartialclassForm6:
Form
{
publicForm6()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
();
Form2form2=newForm2();
();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
();
Form3form3=newForm3();
();
}
privatevoidForm6_FormClosing(objectsender,FormClosingEventArgse)
{
();
}
privatevoidForm6_Load(objectsender,EventArgse)
{
=;
}
}
}
3、界面
(1)登录界面
登录界面主要有用户名和密码组成,还有一些标题设置,登录和重置按钮组成。
(2)员工信息更新界面
实现对员工信息的删除、更新、添加、查找等操作,并能查看工资信息和月工资。
(3)工资信息更新界面
此界面实现对工资信息的更新,可以实现对工资的查找、删除、更新和添加等操作。
五、总结与心得
通过这次案例的练习,巩固与扩充了我课堂上学到的知识,使我掌握了建模设计的方法和步骤,同时,独立思考的能力也有了提高。
在这次案例的练习中,我学会画用例图、类图、顺序图等,最主要的收获是我学会了一种快速有效的学习方法。
以往的学习都是老师讲学生记,不懂得地方就靠解答大量习题帮助记忆,而这次案例的练习让我把被动接受转变为主动学习,不再是用学到的知识解题,而是在实际运用时遇到什么学什么,重在把知识应用于实际。
在做这次案例的过程中我遇到了许多困难,在同学的帮助下和自己上网查了许多资料后,终于将这些困难解决,但案例仍然存在不足,主要是缺乏新颖点和功能不完善。
案例没有不同于其他人事工资管理系统的特色,即没有闪光点。
而且案例的功能不全,还可以增加一些功能,比如与银行有关的功能:
工资代发,贷款等等。
所以案例还存在改进的地方。
总之,通过这次案例的练习,让我认识到了uml的重要性以及自己的知识还有限,以后还要更加努力的学习。
六、参考文献
1、软件工程-面向对象和传统的方法(第8版)StephenR.Schach着机械工业出版社
2、类图——XX百科
3、uml类图几种关系的总结——open开发经验库
4、uml类图关系大全——riky——博客园