苏州科技大学电子信息与智能化实验中心面向对象技术课程设计A 报告——人事工资管理系统专业年级计算机科学与技术(嵌入式培养)15级班级嵌入式1511学号姓名张梓轩戚春阳徐敏杰袁祺林王雨欣成绩指导教师丁俊2016年12月24日注:如果按小组进行,需要此表,否则删除。
人事工资系统设计报告1 课程设计任务概述人事工资管理系统是非常通用的管理信息系统,一个公司必须要有健全的人事工资管理系统来管理员工的信息,才能实现它的日常运转。
因此,为了支持企业规范化的管理,高效率地完成人事的业务,需要实现包括员工的姓名、年龄、编号、电话号码等基本信息的建立,授予员工所能获取的权限,例如管理员权限,就可以对普通员工进行信息管理,其中包括新员工个人的基本信息资料的增加、修改,退休员工的信息的删除,员工奖惩信息的增加、删除和修改;此外还支持管理员对部门整体进行调薪,扩大了管理员的管理范围;同时为了支持人事管理及其相关方面的科学决策,增加了员工的个人基本信息查询、薪资查询、奖惩情况查询和部门的总体情况查询等,大大提高了公司内部员工管理的效率,减少了不必要的精力的投入,使得企业的正常维护得以实现。
2 系统需求分析系统功能分析本系统主要是实现企业人事管理的系统化、规范化和自动化,实现数据的录入、插入、删除、查询、统计、更新等功能。
具有员工注册以及登录的功能,且登录后管理员可修改自己用户权限;大体分为以下四个主功能:1.人事管理系统:主要用来实现对员工的基本信息的增加、信息的删除、信息的修改以及模糊查询,还包括对员工的奖惩信息的增加,信息的删除,信息的修改以及信息的查询;2.工资管理系统:主要包括模糊查询部门信息、员工的总体以及个人工资信息,以及对部门的薪资进行整体调整的功能;3.统计管理系统:主要指用来显示部门的整体情况以及员工人数;4.系统设置系统:主要是用来对数据进行恢复和备份。
用例图及用例说明用户注册用例1.用例名称:注册2.用例描述:注册成为本管理系统的用户3.角色:用户4.前置条件:格式输入正确5.后置条件:保存此用户的信息6.基本路径: A.填写用户名和密码 B.保存用户信息7.扩展点: A.未填写完整或者格式错误 a1.错误提示B.用户已经存在b1.错误提示3 系统设计系统类图系统活动图用户登陆活动图:人事管理系统活动图:统计管理系统活动图:工资管理系统活动图:系统设置管理活动图:系统时序图用户登陆时序图:人事管理系统时序图:工资管理系统时序图:统计管理系统时序图:系统设置管理时序图:4 系统实现登录模块设计与实现登录模块是用户登录进去进行相关操作的,如员工信息的增删改查等等。
(1)View层代码loginTitle = new= new= new= new= new= new= new= new= new= new"Microsoft YaHei UI", 1, 44));"\u4eba\u4e8b\u5de5\u8d44\u7ba1\u7406\u7cfb\u7edf"); ("\u7528\u6237\u540d");("\u5bc6 \u7801\uff1a");quals(limit)) {type = 1;usertype="管理员";} else {type = 2;usertype="普通员工";}User user = new User(name, pwd, type);User flag = (user);if (flag != null) {wusername = name;wtype = limit;ok o = new ok();(true);setVisible(false);} else {fail f = new fail();(true);dispose();}}Dao数据交互层@Overridepublic User login(User user) {etText("\u8bf7\u8f93\u5165\u59d3\u540d\uff0c\u652f\u6301\u6a21\u7cca\u67e5\u627e");(null);("\u9000\u51fa\u6a21\u7cca\u67e5\u627e");(new{public void actionPerformed evt) {jButton2ActionPerformed(evt);}});("\u5237\u65b0");(new{public void actionPerformed evt) {jButton3ActionPerformed(evt);}});("\u5237\u65b0\u540e\u53ef\u7ee7\u7eed\u67e5\u627e");("\u5220\u9664\u6b64\u5458\u5de5");(new{public void actionPerformed evt) {jButton4ActionPerformed(evt);}});jLabel3.setText("\u7a7a\u503c\u53ef\u67e5\u627e\u6240\u6709\u5458\u5de5");jLabel4.setText("\u9700\u8981\u8f93\u5165\u5168\u540d\u53ef\u4ee5\u5220\u9664\u5458\u5 de5");public void findStaffName(JTable jTable, String name) {DefaultTableModel model = (DefaultTableModel) ();(0);Vector v = (name);for (int i = 0; i < (); i++) {((Vector) (i));}}action层private void jButton1ActionPerformed evt) {String name = ();if (name != null) {(jTable1, name);} else {pleaseInput p = new pleaseInput();(true);}}dao层public Vector findStaffInfo(String staffname) {Vector list = new Vector();String sql = "select *" + "from t_staff_info "+ "where staff_name like'%" + staffname + "%'";conn = ();try {stmt = ();rs = (sql);while ()) {Vector listObject = new Vector();etText("\u8bf7\u8f93\u5165\u90e8\u95e8\u540d\u53ef\u8fdb\u884c\u6a21\u7cca\u67e5\u62 7e");("\u786e\u5b9a");(new{public void actionPerformed evt) {jButton2ActionPerformed(evt);}});jLabel2.setText("\u7ed9\u6307\u5b9a\u90e8\u95e8\u7684\u6240\u6709\u5458\u5de5\u8c03\u 85aa");(new new Object[][] {}, new String[] { "部门编号", "部门名称" }));(jTable1);("\u8f93\u5165\u5168\u540d\u9009\u5b9a\u90e8\u95e8");("\u786e\u5b9a");(new{public void actionPerformed evt) {sureActionPerformed(evt);}});("\u8f93\u5165\u8c03\u6574\u529b\u5ea6");(new{public void actionPerformed evt) {moneyActionPerformed(evt);}});jLabel5.setText("\u6e29\u99a8\u63d0\u793a:\u63d0\u85aa\u5219\u8f93\u5165\u6b63\u6570,\u 964d\u85aa\u5219\u8f93\u5165\u8d1f\u6570");("\u5143");action层private void sureActionPerformed evt) {String jdept = ();Double money2 = ());StaffInfo s=new StaffInfo();(jdept,money2));}private void jButton1ActionPerformed evt) {dispose();}private void jButton2ActionPerformed evt) {String department = ();if (department != null) {(jTable1, department);} else {pleaseInput p = new pleaseInput();(true);}}dao层public Vector findDepart(String name) {Vector list = new Vector();String sql = "select *" + "from t_department "+ "where dept_name like'%" + name + "%'";conn = ();try {stmt = ();rs = (sql);while ()) {Vector listObject = new Vector();etText("\u8bf7\u8f93\u5165\u90e8\u95e8\u540d\u8fdb\u884c\u6a21\u7cca\u67e5\u627e");(new{public void actionPerformed evt) {jdepartActionPerformed(evt);}});("\u8fd4\u56de\u4e3b\u754c\u9762");(new{public void actionPerformed evt) {jButton2ActionPerformed(evt);}});(new new Object[][] {}, new String[] { "部门编号", "部门名称" }));(jTable2);jLabel2.setText("\u8f93\u5165\u7a7a\u503c\u53ef\u67e5\u627e\u5168\u90e8\u5458\u5de5\u6 240\u5728\u90e8\u95e8\u7684\u4fe1\u606f");public void findDepart(JTable jTable, String name) {DefaultTableModel model = (DefaultTableModel) ();(0);Vector v = (name);for (int i = 0; i < (); i++) {((Vector) (i));}}@Overridepublic void showDepartNumber(JTable jTable, String name) {DefaultTableModel model = (DefaultTableModel) ();(0);Vector v = (name);for (int i = 0; i < (); i++) {((Vector) (i));}}action层private void jButton1ActionPerformed evt) {String depart2 = ();if (depart2 != null) {(jTable1, depart2);(jTable2, depart2);} else {pleaseInput p = new pleaseInput();(true);}}dao层public Vector findDepart(String name) {Vector list = new Vector();String sql = "select *" + "from t_department "+ "where dept_name like'%" + name + "%'";conn = ();try {stmt = ();rs = (sql);while ()) {Vector listObject = new Vector();etRow();其中数据备份和数据恢复的代码是public void backUp(User user) {基于企业需求的人事管理系统的设计与实现[J]. 江西广播电视大学学报,2013,04:72-75.[2] 张莹莹. 企业人事管理系统的设计与实现[D].吉林大学,2014.[3] 范雯芩. 人事工资管理系统的分析与设计[D].云南大学,2013.[4] 李港港. 一个中小企业人力资源管理系统的设计与实现[D].华中科技大学,2012.[5] 常涛. 人事数据库管理系统研发背景和现状分析[J]. 电脑知识与技术,2014,07:1364-1365+1386.[6] 萨维奇,施平安,李牧译. Java完美编程(第3版). 清华大学出版社,2008.[7] 陶永明. 企业人事管理系统设计[J]. 计算机与信息技术,2008,Z1:96-100.[8] Connolly,.著,何玉洁译. 数据库设计教程(第二版),2005.[9] 赵静. 人事档案管理系统分析[J]. 经营管理者,2013,30:285.。