




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_ 精品资料 软件工程作业 人事工资管理系统 学 院: 班 级: 学 号: 姓 名: 指导老师: _ 精品资料 目目录录 一、需求分析一、需求分析.3 1、功能定义.3 2、参与者列表.3 3、用例图.3 二、分析二、分析.6 1、类图.6 2、状态图.7 3、活动图.7 4、顺序图.10 5、协作图.12 三、三、设计设计.14 1、流程图.14 2、实体 E-R 图.15 3、数据字典.16 4、数据库 E-R 图.17 四、四、实现实现.17 1、源程序.17 2、界面.3 五、五、总结总结与心得与心得.3 六、参考文献六、参考文献.3 _ 精品资料 一、需求分析一、需求分析 1、 功能定功能定义义 工资管理系统应完成以下功能: 员工信息管理:包括员工基本信息,如工龄情况,学历情况,工作岗位,部门信息。实现 对员工信息的输入、查询和修改,对于转出、辞职、辞退、退休员工信息的 删除。 人事调动管理:包括对员工岗位和部门的查询与修改。 工资管理:员工工资分为两部分:一部分是基本工资,根据员工的工龄和岗位设置;另 一部分是动态工资,根据员工的考勤情况和工作评价情况计算,在计算出 总工资后,还应扣除一些费用,如税款、公积金、养老金等。包括对工资的 查询和修改。 考勤管理:包括正常出勤、异常出勤(如请假、迟到、早退)、加班。 工作评价管理:员工评价信息分为两部分,一部分是主管经理对员工的评价信息,包括 工作分工、完成情况、工作态度等;另一部分是同组员工的评价信息,包括 工作态度、合作情况等。根据工作评价发放奖金。 系统管理模块:对人事工资管理系统的维护、升级和对用户的管理:用户信息添加、用 户信息修改、用户信息删除和用户权限分配。 2 参与者列表参与者列表 人事部门:对员工信息的管理,包括对员工信息的输入、查询、修改。对于转出、辞 职、辞退、退休员工信息的删除。 对人事调动的管理,包括对员工岗位和部门的查询与修改。 财务部门:根据员工的考勤和工作评价,完成工资的核算并发放工资。 系统管理员:对人事工资管理系统的维护、升级和对用户的管理:用户信息添加、用户 信息修改、用户信息删除和用户权限分配。 员工: 系统的主要使用者,登陆系统后,对自己的基本信息的查询和对自己工资 的查询。 考勤部门:对员工的出勤情况进行记录,对员工的工作进行评价。 3、用例、用例图图 _ 精品资料 图 1 财务部门用例 图 2 人事部门用例 _ 精品资料 _ 精品资料 图 6 人事工资管理系统用例图 、分析分析 _ 精品资料 1、 类图类图 2、 状状态图态图 图 1 系统状态图 3、活、活动图动图 _ 精品资料 图 1 用户注册活动图 图 2 登录活动图 _ 精品资料 图 3 员工信息查询活动图 进入系统 员工信息提示不能操作 无此权限 有此权限 添加员工信息 删除员工信息 添加 删除 确定 修改员工信息 修改 图 4 对员工信息删除、添加、修改的活动图 _ 精品资料 图 5 考勤管理活动图 4、 、顺顺序序图图 _ 精品资料 图 1 用户注册顺序图 图 2 登录顺序图 _ 精品资料 图 3 添加员工信息顺序图 : 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 业 1: 业 业 业 业 业 业 4: 业 业 业 业 业 业 业 业 7: 业 业 业 业 业 业 业 业 2: 业 业 业 业 业 业 业 业 3: 业 业 业 业 5: 业 业 业 业 业 业 业 6: 业 业 业 业 业 业 业 8: 业 业 业 业 业 业 业 业 9: 业 业 业 业 业 业 业 10: 业 业 业 业 13: 业 业 业 业 业 业 11: 业 业 业 业 业 12: 业 业 图 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 工 龄数值型2199 之间 7 岗位编号数值型2199 之间 8 部门编号数值型2199 之间 (2)、工资设置表:COURSE.DBF 字段字段名类型宽度说明 1员工号数值型3数字 2工资年月字符型20_年_月_日 3应发工资数值型51-99999 之间 4奖励金额数值型4 1-9999 之间 5扣除工资数值型4 19999 之间 6实发工资数值型51-99999 之间 (3)、岗位设置表:RANK.DBF 字段字段名类型宽度说明 1岗位编号数值型2199 之间 2岗位名称字符型14小于等于 7 个汉字 3部门编号数值型2199 之间 (4)、部门设置表:APARTMENT.DBF 字段字段名类型宽度说明 1部门编号数值型21-99 之间 2部门名称字符型14小于等于 7 个汉字 3 部门负责人字符型10小于等于 5 个汉字 4部门人数数值型419999 之间 (5)、考勤设置表:KAOQIN.DBF 字段字段名类型宽度说明 1员工号数值型3数字 2正常出勤天数数值型31999 之间 3异常出勤天数数值型31999 之间 4加班天数数值型31999 之间 5评价情况字符型4优秀、良好、中等、差 _ 精品资料 4、数据、数据库库 E-R 图图 业 业 业 = 业 业 业 业 业 业 业 业 = 业 业 业 业 业 业 业 = 业 业 业 业 业 业 = 业 业 业 业 业 业 = 业 业 业 业 业 业 = 业 业 业 业 业 业 业 业 业 业 业 业 业CHAR(3) 业 业 业 业CHAR(10) 业 业 业 业CHAR(2) 业 业 业 业CHAR(10) 业 业 业 业CHAR(4) 业 业SMALLINT 业 业 业 业SMALLINT 业 业 业 业SMALLINT 业 业 业 业 业 业 业 业SMALLINT 业 业 业 业CHAR(20) 业 业 业 业SMALLINT 业 业 业 业SMALLINT 业 业 业 业SMALLINT 业 业 业 业SMALLINT 业 业 业 业 业 业 业 业smallint 业 业 业 业smallint 业 业 业 业smallint 业 业 业 业smallint 业 业 业 业 业 业 业 业 业SMALLINT 业 业 业CHAR(3) 业 业 业 业CHAR(14) 业 业 业 业 业CHAR(10) 业 业 业 业SMALLINT 业 业 业 业 业 业 业 业 业SMALLINT 业 业 业CHAR(3) 业 业 业 业CHAR(14) 业 业 业 业SMALLINT 四、四、实现实现 1、源代、源代码码 (1)登登录录界面代界面代码设计码设计 本代码实现Form1,作用是对登录用户审核,将登录用户信息与数据库中用户表相比对,存在 此用户且信息正确则进入,否则登录失败。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace 工工资资管理系管理系统统 public partial class Form1 : Form _ 精品资料 public static string password; public static string username; public Form1() InitializeComponent(); public int CheckUsers()/连连接数据接数据库进库进行行查询查询 username = textBox1.Text.ToString(); password = textBox2.Text.ToString(); string Afile = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; /access文文 件件 OleDbConnection AconnStr = new OleDbConnection(Afile); OleDbCommand Acmd=new OleDbCommand(select * from user where userName=+username+ and password=+password+,AconnStr); OleDbDataReader odr=null; AconnStr.Open(); try odr=Acmd.ExecuteReader(); catch (Exception ex) if (ex != null) return 0; while (odr.Read() return 1; odr.Close(); AconnStr.Close(); return 0; private void button1_Click(object sender, EventArgs e) /对对登登录录信息信息进进行行审审核,正确核,正确则进则进入,否入,否则则登登录录失失败败 if(textBox1.Text=|textBox2.Text=) MessageBox.Show(请输请输入信息入信息,信息提示信息提示); else if (CheckUsers()=1) this.Hide(); Form6 form6 = new Form6(); _ 精品资料 form6.Show(); else MessageBox.Show(你你输输入的用入的用户户名或口令不正确!名或口令不正确!,信息提示信息提示); private void button2_Click(object sender, EventArgs e) textBox1.Text = ; textBox2.Text = ; (2)员员工信息更新界面工信息更新界面 本代码实现Form3,作用是对员工信息进行更新,可以员工信息作查找,添加,删除,修改等 操作,还可以查询工资信息,并能计算总工资。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace 工工资资管理系管理系统统 public partial class Form3 : Form public static int string1, string2, string3, day; public Form3() InitializeComponent(); private void Form3_Load(object sender, EventArgs e) loadUsers(); _ 精品资料 private void loadUsers() /连连接数据接数据库库 string connectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; /access文文 件件连连接接 string OleDbString = select * from Message; OleDbConnection connection = new OleDbConnection(connectionString); DataSet ds = new DataSet(); try connection.Open(); OleDbDataAdapter command = new OleDbDataAdapter(OleDbString, connection); command.Fill(ds, Message); catch (OleDbException ex) throw new Exception(ex.Message); /将表将表绑绑定到定到dataGridView1控件控件 this.dataGridView1.DataSource = ds.Tables0; this.dataGridView1.Columns0.ReadOnly = true;/先先0列,即用列,即用户户名列名列为为关关键键 定不定不许许修改修改 connection.Close(); private void pictureBox1_Click(object sender, EventArgs e) private void btnDelete_Click(object sender, EventArgs e) string connectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; string SQLString = delete from Message where sno= + this.dataGridView1.CurrentRow.CellsSno.Value+ ; OleDbConnection connection = new OleDbConnection(connectionString); connection.Open(); OleDbCommand command = new OleDbCommand(SQLString, connection); if (command.ExecuteNonQuery()=1) MessageBox.Show(删删除成功!除成功!); if (connection != null) connection.Close(); loadUsers(); _ 精品资料 private void Addbutton_Click(object sender, EventArgs e) /连连接数据接数据库实现库实现添加操作。添加操作。 if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(请输请输入要添加的信息!入要添加的信息!, 提示信息提示信息); else string connectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; string SQLString = insert into Message(Sno,员员工姓名工姓名) values( + this.textBox2.Text + , + this.textBox1.Text + ); OleDbConnection connection = new OleDbConnection(connectionString); connection.Open(); OleDbCommand command = new OleDbCommand(SQLString, connection); if (command.ExecuteNonQuery() = 1) MessageBox.Show(添加成功!添加成功!); if (connection != null) connection.Close(); loadUsers(); private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) /当前修改当前修改过过的的值值 string updateValue = dataGridView1.Rowse.RowIndex.Cellse.ColumnIndex.Value.ToString(); /当前修改行的用当前修改行的用户户名(关名(关键键字)字) string username = dataGridView1.Rowse.RowIndex.CellsSno.Value.ToString(); string colName = dataGridView1.Columnse.ColumnIndex.Name;/修改修改值对值对 应应的列名的列名 string OleDbString = update Message set + colName + = + updateValue + where Sno= + username + ; string connectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; OleDbConnection connection = new OleDbConnection(connectionString); connection.Open(); OleDbCommand command = new OleDbCommand(OleDbString, connection); if (command.ExecuteNonQuery() = 1) if (connection != null) connection.Close(); _ 精品资料 private void button4_Click(object sender, EventArgs e) /实现实现操作信息操作信息 if (MessageBox.Show(确定退出?确定退出?, 确确认认信息信息, MessageBoxButtons.YesNo) = DialogResult.Yes) Application.Exit(); private void button5_Click(object sender, EventArgs e) this.Hide(); Form4 form4 = new Form4(); form4.Show(); private void button2_Click(object sender, EventArgs e) loadUsers(); MessageBox.Show(更新成功更新成功); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(请输请输入要入要查查找的信息!找的信息!, 提示信息提示信息); else string connectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; /access文文 件件 string OleDbString = select * from Message where Sno= + this.textBox2.Text + ; OleDbConnection connection = new OleDbConnection(connectionString); DataSet ds = new DataSet(); try connection.Open(); OleDbDataAdapter command = new OleDbDataAdapter(OleDbString, connection); command.Fill(ds, Message); catch (OleDbException ex) throw new Exception(ex.Message); /将表将表绑绑定到定到dataGridView1控件控件 _ 精品资料 this.dataGridView1.DataSource = ds.Tables0; this.dataGridView1.Columns0.ReadOnly = true;/先先0列,即用列,即用户户名列名列为为 关关键键定不定不许许修改修改 connection.Close(); private void Form3_FormClosing(object sender, FormClosingEventArgs e) Application.Exit(); public string Findstring1() string Afile = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; /access文文 件件 OleDbConnection AconnStr = new OleDbConnection(Afile); OleDbCommand Acmd = new OleDbCommand(select 基本工基本工资资 from Message,工工资资 where Sno=+ textBox2.Text + and Message.员员工工种工工种=工工资资.员员工工种工工种 and Message.工工资资等等级级=工工资资.工工资资等等级级, AconnStr); OleDbDataReader odr = null; AconnStr.Open(); try odr = Acmd.ExecuteReader(); catch (Exception ex) if (ex != null) return null; if (odr != null) while (odr.Read() return odr0.ToString(); odr.Close(); AconnStr.Close(); return null; public string Findday() string Afile = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; /access文文 件件 _ 精品资料 OleDbConnection AconnStr = new OleDbConnection(Afile); OleDbCommand Acmd = new OleDbCommand(select 考勤天数考勤天数 from Message where Sno= + textBox2.Text + , AconnStr); OleDbDataReader odr = null; AconnStr.Open(); try odr = Acmd.ExecuteReader(); catch (Exception ex) if (ex != null) return null; if (odr != null) while (odr.Read() return odr0.ToString(); odr.Close(); AconnStr.Close(); return null; public string Findstring2() string Afile = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; /access文文 件件 OleDbConnection AconnStr = new OleDbConnection(Afile); OleDbCommand Acmd = new OleDbCommand(select 日工日工资资 from Message,工工资资 where Sno= + textBox2.Text + and Message.员员工工种工工种=工工资资.员员工工种工工种 and Message.工工资资等等级级=工工资资.工工资资等等级级, AconnStr); OleDbDataReader odr = null; AconnStr.Open(); try odr = Acmd.ExecuteReader(); catch (Exception ex) if (ex != null) return null; if (odr != null) while (odr.Read() _ 精品资料 return odr0.ToString(); odr.Close(); AconnStr.Close(); return null; public string Findstring3() string Afile = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UserslenovoDesktopC#db.mdb;Persist Security Info=True; /access文文 件件 OleDbConnection AconnStr = new OleDbConnection(Afile); OleDbCommand Acmd = new OleDbCommand(select 员员工津工津贴贴 from Message,工工资资where Sno= + textBox2.Text + and Message.员员工工种工工种=工工资资.员员工工种工工种 and Message.工工资资等等级级=工工资资.工工资资等等级级, AconnStr); OleDbDataReader odr = null; AconnStr.Open(); try odr = Acmd.ExecuteReader(); catch (Exception ex) if (ex != null) return null; if (odr != null) while (odr.Read() return odr0.ToString(); odr.Close(); AconnStr.Close(); return null; private void button3_Click(object sender, EventArgs e) if (textBox
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年阜阳界首市“政录企用”人才引进8人模拟试卷及答案详解(夺冠)
- 什么是保险合同的宽限期、中止期、终止期5篇
- 高校教师资格证考试历年真题汇编
- 2025安徽黄山市黄山区消防救援大队政府专职消防员招聘2人考前自测高频考点模拟试题及答案详解(易错题)
- 建筑工程安全施工管理
- 农业机械化节能技术研究-洞察及研究
- 社交媒体营销对摄影工作室盈利的影响-洞察及研究
- 2025湖南娄底市冷水江市城发实业有限公司招聘实验室试验员3人考前自测高频考点模拟试题附答案详解(考试直接用)
- 人工智能辅助禽类疾病精准治疗-洞察及研究
- 数字化转型与行业生态-洞察及研究
- 2025影视演出经纪居间合同正规范本
- 对外投资管理知识培训
- 《早读是需要激情的!》主题班会课件
- 道闸操作安全培训课件
- 普惠金融赋能乡村振兴的实践探索和政策建议-福建省安溪县为例
- 2025年质量月知识竞赛题库(附答案)
- 酒店电气使用安全培训课件
- 生猪订购合同书范本3篇
- 2025年妇产科学科宫颈癌筛查常见问题考试答案及解析
- 耕地占用税培训课件
- 110kV变电站及110kV输电线路运维投标技术方案
评论
0/150
提交评论