




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.职 工 信 息 管 理 系 统1. 可行性分析在当今社会,互联网的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。当前大量企业的员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率的目的。员工信息管理系统主要对企业员工的信息进行集中管理,方便企业建立一个完善的、强大的员工信息数据库,它是以 sql2000数据库作为开发平台,使用 java 编写程序、完成数据输入、修改、存储、调用查询等功能。并使用 sql20
2、00数据库形成数据,进行数据存储。本项目开发计划旨在明确规范开发过程,保证项目质量,统一小组成员对项目的理解,并对其开发工作提供指导;同时还作为项目通过评审的依据。并说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。1.1 技术可行性根据用户提出的系统功能、性能及实现系统的各项约束条件,根据新系统目标,来衡量所需技术是否具备。本系统主要采用数据库管理方法,服务器选用 mysqlserver 数据库,他是它是目前能处理所有中小型系统最方便的流行数据库,它能够处理大量数据,同时保持数据的完整性并提供许
3、多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行 windows操作系统就可以很好的运行该软件。1.2 操作可行性由系统分系可以看出本系统的开发在技术上具有可行性。首先系统对于服务器端和客户端所要求的软、硬件的最低配置现在大多数的用户用机都能达到。本系统对管理人员和用户没有任何的特殊要求,实际操作基本上以鼠标操作为主并辅以少量的键盘操作,操作方式很方便。因此该项目具有良好的易用性。用户只要具备简单的应用计算机的能力无论学历,无论背景,均可以使用本系统,用户界面上的按钮的功能明确,用户一看就可以了解怎么使用本系统,以
4、及本系统能够完成的功能,因此本系统在操作上是可行的。1.3 经济可行性估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得的效益等问题。1.4 法律及社会效益方面的可行性;.由于本系统只是一个课程设计,在图书馆查询相关资料因此不存在侵权等法律与社会影响方面的问题,不存在侵权级相应的法律问题。关于效益方面,本系统仅仅是一个课程设计,只是为了提高自己的分析,设计能力,而非为了社会效益而
5、编写设计,因此社会效益方面也是可行的。2. 需求分析通过对职工信息管理系统的研究分析, 根据可行性分析的方案和项目成员的讨论,编制本需求说明书。本 报 告用 于财 职 工信 息管 理系 统的 需求 规 格明确 系统 的功 能 需求 ,业务 流程和性能要求以及与有关系统的接口关系,它将是系统最终实现和审评的根据之一, 是进一步设计、 开发的基础。 本报告的阅读范围:项目组的项目管理、软件开发和系统测试人员、指导老师等。2.1 需求概述2.1.1 目标作 为 课 程设 计, 本 项目 开发 的 人 员、 技 术 等 资源 非常 有 限 ,本 项目 开发 的职工信息管理系统不能算是真正意义上的职工信
6、息管理系统, 只是简单的对职工的个人资料、 工资信息进行电子系统管理, 其主要为用户提供查询个人工资信息功能, 针对的用户是某事业单位的职工信息管理, 职工数量较少, 系统功能简单,操作也要简单方便,要便于管理维护。2.1.2 用户特征最终的用户是职工管理员和公司职工, 管理员需要对用户资料进行增删改查和对自己密码修改等操作, 要求管理员具备相应的计算机知识, 如权限管理等。 公司职工是普通用户,具备一定的计算机操作即可。2.2 功能性需求1、能够存储一定数量的用户信息,并方便有效的进行相应的用户资料操作和管理,这主要包括以下内容。( 1)管理员对用户资料的录入、删除及修改;( 2)管理员对用
7、户资料的查询;( 3)用户对用户资料的查询;(4) 员工基本工资表,反应员工的月基本工资;( 5)员工津贴表,反映员工津贴;2、能够存储员工信息,并方便有效的进行员工信息和密码修改,保证员工信息的及时更新以及信息的安全性保证。2.3 非功能性需求;.2.3.1 性能需求职工信息管理系统的使用者是公司职工, 对于系统管理员的管理工作和职工的查询、注册等功能, 性能要求都不是很高, 本系统是简单小型的个人信息管理系统,只适用于小规模企业单位,使用的人员数量不大,并发数小,所以性能要求不是很严格。2.3.2 安全性需求对于职工的信息管理关系到个人利益及公司的整体利益, 所以安全性的要求比较高。主要是
8、要保证数据的完整性、 一致性,控制权限,防止某人恶意攻击系统,修改原始记录。同时对数据库中的数据需要定时备份,防止系统数据丢失。2.3.3 界面图形需求要求系统操作界面美观大方, 各功能操作具体步骤和方法显示清晰, 人机交互页面友好。2.4 职工信息管理的大致过程数据流图根据上述的功能要求,我们已经了解到这个系统必须做什么,从而设计了下面的数据流图以更好的去设计整个系统,见图 2.4 ;事务职工信息事务管理员处理事务信息的处理管理员职工信息职工图 2.4又根据工资管理要求及用户需求调查分析,得到以下第一层数据流图, 见图 2.5 ;;.添加操作用户修改操作信息表删除操作查询操作图 2.52.5
9、 系统设计职工信息管理系统管理员职工管 理增、分 配信查和 维删、职 工注登息询护 职修改系 统册录及个工 个职工权限系密人人 信信息统码信息操息作图 2.6;.3. 概要设计3.1 系统模块划分在需求分析中,我们已经完整而清晰地给出了关于职工信息管理系统所必须完成的功能,并用文档的形式记录了下来。随着组内成员的讨论和相关资料的不断收集,我们进入了关于系统实现的阶段,也即概要设计。首先,我们根据之前的系统设计,决定将系统进行了模块化,使得我们在设计程序时更加清晰明了。也即对职工信息进行详细的分化,分为系统模块、工资管理模块、职工登陆模块、信息管理模块四大主模块;具体见下图3.1 ;工资管理系统
10、工职信系资工息统管登管模理陆理块模模模块块块图 3.13.2 模块间的关系3.2.1 e-r图来说明工资信息管理系统的数据库概念模式根据系统功能实现和所划分的模块,分析系统的实体以及实体间的关系,用e-r 图来说明工资信息管理系统的数据库概念模式可得如下的关系图,见图 3.2 ;;.姓名基本工资职工号1n领取工资m影职工号响姓名津贴员工领取津贴姓名密码职工号图 3.2 实体之间关系 e-r 图3.2.2 关系模式将以上 e-r 转换成如下关系模式:员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线的字段表示为该数据表的主码, 即主关键字。 在上
11、面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。 每个表格表示在数据库中的一个表。表一:员工信息表:列名数据类型可否取空备注说明nochar ( 8 )not null职工号(主键)namechar( 10)not null职工姓名mismallintnot null登录密码;.表二 : 基本工资表:列名数据类型可否取空备注说明nochar ( 8 )not null职工号(主键)namechar( 10)not null职工姓名jbmoneynot null基本工资表三:津贴信息表列名数据类型可否为空
12、备注说明nochar ( 8 )not null职工号(主键)namechar( 10)not null职工姓名jtmoneynot null津贴4. 详细设计4.1 程序中的数据结构本系统中主要的数据结构就是职工的信息和职工的工资,包含职工号、姓名、工资等,在处理过程中各项可以作为一个职工的不同属性来进行处理。4.2 各模块实现的算法4.2.1 职工信息管理模块功能为:财务部门相关人员录入、修改、删除、查询员工个人信息部分基本算法实现:public class yggl extends jframe implements actionlistener jframe f = new jfram
13、e(员 工信 息 管 理 );jbutton b1 = new jbutton(添加 新员 工信 息 );jbutton b2 = new jbutton(修改 员工 信息 );jbutton b3 = new jbutton(删除 员工 信息 );jbutton b4 = new jbutton(查询 所有 员工 信 息 );jbutton b5 = new jbutton(返回 );jtextfield tf1 = new jtextfield(4);jtextfield tf2 = new jtextfield(4);jtextfield tf3 = new jtextfield(4);
14、jtextfield tf4 = new jtextfield(4);jtextfield tf5 = new jtextfield(6);jtextfield tf6 = new jtextfield(7);string cloum = 职工 号 , 姓名 , 津 贴 , 月基 本 工资,月 薪 ,登 陆 密 码 ;object row = new object506;.可以 调 整 界面 大 小.jtable table = new jtable(row, cloum);jscrollpane scrollpane = new jscrollpane(table);jsplitpane s
15、plitpane = new jsplitpane(jsplitpane.vertical_split);void create() jpanel p = (jpanel) f.getcontentpane();p.setlayout(new flowlayout();p.add(scrollpane);p.add(splitpane);jpanel p1 = new jpanel();p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);jpanel p2 = new jpanel();p2.setbackground(color.cy
16、an);p2.add(scrollpane);p.setlayout(new flowlayout();p.add(new jlabel();p.add(new jlabel(职 工 号 );p.add(tf1);p.add(new jlabel(姓 名 );p.add(tf2);p.add(new jlabel(津 贴 );p.add(tf3);p.add(new jlabel(月基 本工 资 );p.add(tf4);p.add(new jlabel(登陆 密码 );p.add(tf5);p.add(new jlabel(在 此 处 输 入 职 工 号 点 击 查询 删除 );p.add(
17、tf6);splitpane.add(p1, splitpane.top);splitpane.add(p2, splitpane.bottom);splitpane.setdividerlocation(50);p.setbackground(color.cyan);b1.addactionlistener(this);b2.addactionlistener(this);b3.addactionlistener(this);b4.addactionlistener(this);b5.addactionlistener(this);f.setbounds(200, 100, 600, 600
18、);f.setresizable(true);/;.f.setvisible(true);public void actionperformed(actionevent e) if (b1.equals(e.getsource() / 添 加新 员工 信 息 connection con;statement sql;try class.forname(org.gjt.mm.mysql.driver); catch (classnotfoundexception e1) joptionpane.showmessagedialog(this, 连接 数 据库失 败! );try con=drive
19、rmanager.getconnection(jdbc:mysql:/localhost:3306/wage management,root,jxb);sql = con.createstatement();stringinsertstr=insertintowelfare(no,name,jt)values(+tf1.gettext()+,+tf2.gettext()+ ,+tf3.gettext()+);sql.executeupdate(insertstr);stringinsertstr1=insertintowageinfo(no,name,jb)values(+tf1.gettex
20、t()+,+tf2.gettext()+,+tf4.gettext()+);sql.executeupdate(insertstr1);stringinsertstr2=insertintoworkerinfo(no,name,mi)values(+tf1.gettext()+,+tf2.gettext()+,+tf5.gettext()+);sql.executeupdate(insertstr2);joptionpane.showmessagedialog(this, 添 加成 功 !);con.close(); catch (sqlexception e1) joptionpane.sh
21、owmessagedialog(this, 添 加失 败 !);if (b2.equals(e.getsource() / 修 改员 工 信 息 connection con;statement sql;try class.forname(org.gjt.mm.mysql.driver); catch (classnotfoundexception e1) ;.joptionpane.showmessagedialog(this, 连接 数 据库失 败! );try con=drivermanager.getconnection(jdbc:mysql:/localhost:3306/wage
22、management,root,jxb);sql = con.createstatement();con=drivermanager.getconnection(jdbc:mysql:/localhost:3306/wage management,root,jxb);sql = con.createstatement();stringupdatestr=updatewelfaresetjt=+tf3.gettext()+,name=+tf2.gettext()+whereno=+tf1.gettext()+;sql.executeupdate(updatestr);stringupdatest
23、r1=updatewageinfosetjb=+tf4.gettext()+,name=+tf2.gettext()+whereno=+tf1.gettext()+;sql.executeupdate(updatestr1);sql.executeupdate(updatestr1);stringupdatestr2=updateworkerinfosetname=+tf2.gettext()+,mi=+tf5.gettext()+whereno=+tf1.gettext()+;sql.executeupdate(updatestr2);joptionpane.showmessagedialo
24、g(this, 修 改成 功 !);con.close(); catch (sqlexception e1) joptionpane.showmessagedialog(this, 修 改失 败 !);if (b3.equals(e.getsource() /删 除员 工 信 息connection con;statement sql;try class.forname(org.gjt.mm.mysql.driver); catch (classnotfoundexception e1) joptionpane.showmessagedialog(this, 连接 数 据库失 败! );.tr
25、y con=drivermanager.getconnection(jdbc:mysql:/localhost:3306/w age management,root,jxb);sql=con.createstatement(resultset.type_scroll_sensitive, resultset.concur_read_only);sql.executeupdate(deletefrom wageinfowhereno=+tf6.gettext()+;);sql.executeupdate(deletefrom welfarewhereno=+tf6.gettext()+;);sq
26、l.executeupdate(deletefromworkerinfowhereno=+tf6.gettext()+;);joptionpane.showmessagedialog(this, 删 除成 功 !);con.close(); catch (sqlexception e1) joptionpane.showmessagedialog(this, 删 除失 败 !);if (b4.equals(e.getsource() /查 询全 部 员 工 信息connection con;statement sql;resultset rs;try class.forname(org.gjt
27、.mm.mysql.driver); catch (classnotfoundexception e1) joptionpane.showmessagedialog(this, 连接 数 据库失 败! );try con=drivermanager.getconnection(jdbc:mysql:/localhost:3306/w age management,root,jxb);sql=con.createstatement(resultset.type_scroll_sensitive,resultset.concur_read_only);if (b4.equals(e.getsour
28、ce() for (int i = 0; i 50; i+)for (int j = 0; j 4; j+);.table.setvalueat(, i, j);rs = sql.executequery(select distinct * fromwageinfo,welfare,workerinfowherewageinfo.no=welfare.no and wageinfo.no=workerinfo.no ;); int k = -1;while (rs.next() +k;string no = rs.getstring(1);string name = rs.getstring(
29、2);string jb = rs.getstring(3);string jt = rs.getstring(6);intsum=rs.getint(3)+rs.getint(6);string mi = rs.getstring(9);table.setvalueat(no, k, 0);table.setvalueat(name, k, 1);table.setvalueat(jb, k, 3);table.setvalueat(jt, k, 2);table.setvalueat(sum,k,4);table.setvalueat(mi,k,5); catch (sqlexceptio
30、n e1) joptionpane.showmessagedialog(this, 查 询失 败 !);if (b5.equals(e.getsource() /返 回gzglzjm gl=new gzglzjm();gl.create();f.dispose();4.2.2 职工工资管理模块功能为:根据工资生成公式, 按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;;.部分基本算法实现:public class gzgl extends jframe implements
31、actionlistener jframe f = new jframe(工 资管 理 );jbutton b1 = new jbutton(录入 );jbutton b2 = new jbutton(修改 );jbutton b3 = new jbutton(删除 );jbutton b4 = new jbutton(查询 所有 );jbutton b5 = new jbutton(返回 );jtextfield tf1 = new jtextfield(4);jtextfield tf2 = new jtextfield(4);jtextfield tf3 = new jtextfield
32、(4);jtextfield tf4 = new jtextfield(4);jtextfield tf5 = new jtextfield(6);jtextfield tf6 = new jtextfield(7);string cloum = 职工 号 , 姓名 , 津 贴 , 月基 本 工资, 月 薪 ;object row = new object505;jtable table = new jtable(row, cloum);jscrollpane scrollpane = new jscrollpane(table);jsplitpanesplitpane=newjsplitpa
33、ne(jsplitpane.vertical_split);void create() jpanel p = (jpanel) f.getcontentpane();p.setlayout(new flowlayout();p.add(scrollpane);p.add(splitpane);jpanel p1 = new jpanel();p1.add(b1);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);jpanel p2 = new jpanel();p2.setbackground(color.cyan);p2.add(scrollpane);
34、jpanel p3 = new jpanel();p.setlayout(new flowlayout();p.add(new jlabel();p.add(new jlabel(职 工 号 );p.add(tf1);p.add(new jlabel(姓 名 );p.add(tf2);p.add(new jlabel(津 贴 );.p.add(tf3);p.add(new jlabel(月基 本工 资 );p.add(tf4);p.add(new jlabel(月 薪 );p.add(tf5);p.add(newjlabel(在 此 处 输 入 职 工 号 点 击 查 询删 除 );p.add
35、(tf6);splitpane.add(p1, splitpane.top);splitpane.add(p2, splitpane.bottom);splitpane.setdividerlocation(50);p.setbackground(color.cyan);b1.addactionlistener(this);b2.addactionlistener(this);b3.addactionlistener(this);b4.addactionlistener(this);b5.addactionlistener(this);f.setbounds(200, 100, 500, 60
36、0);f.setresizable(true);/ 可以 调 整 界面 大小 f.setvisible(true);public void actionperformed(actionevent e) if (b1.equals(e.getsource() / 录 入 connection con;statement sql;try class.forname(org.gjt.mm.mysql.driver); catch (classnotfoundexception e1) system.out.println( + e1);try con = drivermanager.getconne
37、ction(jdbc:mysql:/localhost:3306/wage management,root,jxb);sql = con.createstatement();string insertstr = insert into welfare (no,name,jt)values(+tf1.gettext()+,+tf2.gettext()+ ,+tf3.gettext()+);sql.executeupdate(insertstr);string insertstr1 = insert into wageinfo (no,name,jb)values(+tf1.gettext()+,
38、+tf2.gettext()+ ,+tf4.gettext()+);sql.executeupdate(insertstr1);.con.close();joptionpane.showmessagedialog(this, 入 录成 功 !); catch (sqlexception e1) joptionpane.showmessagedialog(this, 入 录失 败 !);if (b2.equals(e.getsource() /修 改connection con;statement sql;try class.forname(org.gjt.mm.mysql.driver); c
39、atch (classnotfoundexception e1) system.out.println( + e1);try con=drivermanager.getconnection(jdbc:mysql:/localhost:3306/wage management,root,jxb);sql = con.createstatement();stringupdatestr=updatewelfaresetjt=+tf3.gettext()+,name=+tf2.gettext()+whereno=+tf1.gettext()+;sql.executeupdate(updatestr);
40、stringupdatestr1=updatewageinfosetjb=+tf4.gettext()+,name=+tf2.gettext()+whereno=+tf1.gettext()+;sql.executeupdate(updatestr1);joptionpane.showmessagedialog(this, 修 改成 功 !);con.close(); catch (sqlexception e1) joptionpane.showmessagedialog(this, 信 息 不 存在 ! );if (b3.equals(e.getsource() /删 除connectio
41、n con;statement sql;resultset rs;try class.forname(org.gjt.mm.mysql.driver);. catch (classnotfoundexception e1) system.out.println( + e1);try con=drivermanager.getconnection(jdbc:mysql:/localhost:3306/w age management,root,jxb);sql=con.createstatement(resultset.type_scroll_sensitive, resultset.concu
42、r_read_only);sql.executeupdate(deletefrom wageinfowhereno=+tf6.gettext()+;);sql.executeupdate(deletefrom welfarewhereno=+tf6.gettext()+;);joptionpane.showmessagedialog(this, 删 除成 功 !);con.close(); catch (sqlexception e1) joptionpane.showmessagedialog(this, 删 除失 败 !);if (b4.equals(e.getsource() /查 询全
43、 部connection con;statement sql;resultset rs;/vector vector = new vector();try class.forname(org.gjt.mm.mysql.driver); catch (classnotfoundexception e1) joptionpane.showmessagedialog(this, 连接 数 据库失 败! );try con=drivermanager.getconnection(jdbc:mysql:/localhost:3306/w age management,root,jxb);sql=con.
44、createstatement(resultset.type_scroll_sensitive,resultset.concur_read_only);if (b4.equals(e.getsource() ;.for (int i = 0; i 50; i+)for (int j = 0; j 4; j+)table.setvalueat(, i, j);rs = sql.executequery(select distinct * fromwageinfo ,welfarewhere =); int k = -1;while (rs.nex
45、t() +k;string no = rs.getstring(1);string name = rs.getstring(2);string jb = rs.getstring(3);string jt = rs.getstring(6);intsum=rs.getint(3)+rs.getint(6);table.setvalueat(no, k, 0);table.setvalueat(name, k, 1);table.setvalueat(jb, k, 3);table.setvalueat(jt, k, 2);table.setvalueat(sum,k,4); catch (sq
46、lexception e1) joptionpane.showmessagedialog(this, 查 询失 败 !);if (b5.equals(e.getsource() /返 回gzglzjm gl=new gzglzjm();gl.create();f.dispose();4.2.3 职工登陆查询模块功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;部分基本算法实现:;.class dl extends jframe implements actionlistener imageicon im = new imageicon(2.jpg);jlabel a2 = new jlabel(im);jframe frame = new jframe(职工 / 管 理员 登 陆 );jlabel label1 = new jlabel(用 户名 );jlabel label2 = new jlabel(密 码 );jbutton logonbutton1 = new jbutton(管理 员登 录 );jbutton logonbutton2 = new
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024桂林山水职业学院辅导员招聘笔试真题
- 绵阳江油市总医院招聘员额工作人员笔试真题2024
- 智慧乡村导视系统的设计原则与应用实践
- 湘教版劳动实践六年级下册专题4 项目2 任务3《打磨抛光、上油保护》教案
- 2024年青海省乡村振兴局下属事业单位真题
- 2025年事业单位考试公共基础知识考试练习题库100题【答案】
- 项目风险管理合同
- 2025年木材加工、处理机械项目建议书
- 创新教育设计启迪未来思维
- 智能教室中的教育机器人-未来教育的探索
- 脑卒中溶栓护理课件
- 2025年城建技师考试题库及答案
- 2025年中国LTCC技术行业市场现状、前景分析研究报告(智研咨询发布)
- 租赁住房培训课件下载
- 房管员试题资料
- 2025至2030中国扭蛋机行业市场发展现状及商业模式与投融资战略报告
- 2024年苏州昆山国创投资集团有限公司招聘笔试真题
- 商场吸烟区管理制度
- 2025年四川省成都市中考地理真题(原卷版)
- 糖尿病足截肢术后护理
- 广东省东莞市2022-2023学年高二下学期期末物理试题(含答案)
评论
0/150
提交评论