
工资管理系统.doc
15页软件工程作业人事工资管理系统学 院:班 级:学 号:姓 名:指导教师:目录一、需求分析……………………………………………………….31、功能定义………………………………………………………..32、参与者列表……………………………………………………...33、用例图……………………………………………………………3二、分析……………………………………………………………..61、类图……………………………………………………………….62、状态图……………………………………………………………73、活动图……………………………………………………………74、顺序图……………………………………………………………105、协作图……………………………………………………………12三、设计………………………………………………………………141、流程图……………………………………………………………142、实体E-R图…………………………………………………………153、数据字典…………………………………………………………….164、数据库E-R图………………………………………………………17四、实现……………………………………………………………………171、源程序…………………………………………………………………..172、界面……………………………………………………………………..3五、总结与心得……………………………………………………………3六、参考文献……………………………………………………………..3一、需求分析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〕、员工档案信息表:PERSONNEL.DBF字段 字段名类型 宽度说明 1 员工号字符型3数字 2员工**字符型10小于等于5个汉字 3员工性别 字符型2“男〞或“女〞 4 员工学历字符型10小于等于5个汉字 5 婚姻状况字符型4“已婚〞或“未婚〞 6 工 龄数值型21~99之间7 岗位编号数值型21~99之间 8 部门编号数值型21~99之间〔2〕、工资设置表:COURSE.DBF字段字段名类型宽度说明1员工号数值型3数字2工资年月字符型20_年_月_日3应发工资数值型51-99999之间4奖励金额数值型4 1-9999之间5扣除工资数值型4 1~9999之间6实发工资数值型51-99999之间〔3〕、岗位设置表:RANK.DBF字段字段名类型宽度说明1岗位编号数值型21~99之间2岗位名称字符型14小于等于7个汉字3部门编号数值型21~99之间〔4〕、部门设置表:APARTMENT.DBF字段字段名类型宽度说明1部门编号数值型21-99之间2部门名称字符型14小于等于7个汉字3 部门负责人字符型10小于等于5个汉字4部门人数数值型41~9999之间〔5〕、考勤设置表:KAOQIN.DBF字段字段名类型宽度说明1员工号数值型3数字2正常出勤天数数值型31~999之间3异常出勤天数数值型31~999之间4加班天数数值型31~999之间5评价情况字符型4优秀、良好、中等、差4、数据库E-R图四、实现1、源代码(1)登录界面代码设计本代码实现Form1,作用是对登录用户审核,将登录用户信息与数据库中用户表相比对,存在此用户且信息正确则进入,否则登录失败。
using System;using System.Collections.Generic;using System.ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Te*t;using System.Windows.Forms;using System.Data.OleDb;namespace工资管理系统{publicpartialclassForm1 : Form {publicstaticstring password;publicstaticstring username;public Form1() { Initializeponent(); }publicint CheckUsers()//连接数据库进展查询 { username = te*tBo*1.Te*t.ToString();ng(); string Afile = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\lenovo\\Desktop\\C#\\db.mdb;Persist Security Info=True"; //access文件 OleDbConnection AconnStr = new OleDbConnection(Afile); OleDbmand Acmd=new OleDbmand("select * from [user] where userName='"+username+"' and password='"+password+"'",AconnStr); OleDbDataReader odr=null; AconnStr.Open(); try { odr=Acmd.E*ecuteReader(); } catch (E*ception e*) { if (e* != null) return 0; } while (odr.Read()) { return 1; } odr.Close(); AconnStr.Close(); return 0; } private void button1_Click(object sender, EventArgs e) {//对登录信息进展审核,正确则进入,否则登录失败 if(te*tBo*1.Te*t==""||te*tBo*2.Te*t=="") MessageBo*.Show("请输入信息","信息提示"); else if (CheckUsers()==1) { this.Hide(); Form6 form6 = new Form6(); form6.Show(); } else { MessageBo*.Show("你输入的用户名或口令不正确!","信息提示"); } } private void button2_Click(object sender, EventArgs e) { te*tBo*1.Te*t = ""; te*tBo*2.Te*t = ""; } }}(2)员工信息更新界面本代码实现Form3,作用是对员工信息进展更新,可以员工信息作查找,添加,删除,修改。












