当前位置:文档之家› 职工信息管理系统

职工信息管理系统

职工信息管理系统1、可行性分析在当今社会,互联网得发展,给人们得工作与生活带来了极大得便利与高效,信息化,电子化已经成为节约运营成本,提高工作效率得首选。

当前大量企业得员工管理尚处于手工作业阶段,不但效率低下,还常常因为管理得不慎而出现纰漏。

因此部分企业需求,设计企业员工信息管理系统,以帮助企业达到员工管理办公自动化、节约管理成本、提高企业工作效率得目得。

员工信息管理系统主要对企业员工得信息进行集中管理,方便企业建立一个完善得、强大得员工信息数据库,它就是以SQL2000数据库作为开发平台,使用java编写程序、完成数据输入、修改、存储、调用查询等功能。

并使用SQL 2000数据库形成数据,进行数据存储。

本项目开发计划旨在明确规范开发过程,保证项目质量,统一小组成员对项目得理解,并对其开发工作提供指导;同时还作为项目通过评审得依据。

并说明该软件开发项目得实现在技术上、经济上与社会因素上得可行性,评述为了合理地达到开发目标可供选择得各种可能实施方案,说明并论证所选定实施方案得理由。

1、1 技术可行性根据用户提出得系统功能、性能及实现系统得各项约束条件,根据新系统目标,来衡量所需技术就是否具备。

本系统主要采用数据库管理方法,服务器选用MySQL Server 数据库,她就是它就是目前能处理所有中小型系统最方便得流行数据库,它能够处理大量数据,同时保持数据得完整性并提供许多高级管理功能。

它得灵活性、安全性与易用性为数据库编程提供了良好得条件。

硬件方面,该系统短小精悍对赢家没有太大要求,只要能够运行windows操作系统就可以很好得运行该软件。

1、2操作可行性由系统分系可以瞧出本系统得开发在技术上具有可行性。

首先系统对于服务器端与客户端所要求得软、硬件得最低配置现在大多数得用户用机都能达到。

本系统对管理人员与用户没有任何得特殊要求,实际操作基本上以鼠标操作为主并辅以少量得键盘操作,操作方式很方便。

因此该项目具有良好得易用性。

用户只要具备简单得应用计算机得能力无论学历,无论背景,均可以使用本系统,用户界面上得按钮得功能明确,用户一瞧就可以了解怎么使用本系统,以及本系统能够完成得功能,因此本系统在操作上就是可行得。

1、3经济可行性估算新系统得成本效益分析,其中包括估计项目开发得成本,开发费用与今后得运行、维护费用,估计新系统将获得得效益,估算开发成本就是否回高于项目预期得全部经费。

并且,分析系统开发就是否会对其它产品或利润带来一定影响。

本系统作为一个课程设计,没有必要考虑维护费用,以及本系统可获得得效益等问题。

1、4法律及社会效益方面得可行性由于本系统只就是一个课程设计,在图书馆查询相关资料因此不存在侵权等法律与社会影响方面得问题,不存在侵权级相应得法律问题。

关于效益方面,本系统仅仅就是一个课程设计,只就是为了提高自己得分析,设计能力,而非为了社会效益而编写设计,因此社会效益方面也就是可行得。

2、需求分析通过对职工信息管理系统得研究分析,根据可行性分析得方案与项目成员得讨论,编制本需求说明书。

本报告用于财职工信息管理系统得需求规格明确系统得功能需求,业务流程与性能要求以及与有关系统得接口关系,它将就是系统最终实现与审评得根据之一,就是进一步设计、开发得基础。

本报告得阅读范围:项目组得项目管理、软件开发与系统测试人员、指导老师等。

2、1需求概述2、1、1目标作为课程设计,本项目开发得人员、技术等资源非常有限,本项目开发得职工信息管理系统不能算就是真正意义上得职工信息管理系统,只就是简单得对职工得个人资料、工资信息进行电子系统管理,其主要为用户提供查询个人工资信息功能,针对得用户就是某事业单位得职工信息管理,职工数量较少,系统功能简单,操作也要简单方便,要便于管理维护。

2、1、2用户特征最终得用户就是职工管理员与公司职工,管理员需要对用户资料进行增删改查与对自己密码修改等操作,要求管理员具备相应得计算机知识,如权限管理等。

公司职工就是普通用户,具备一定得计算机操作即可。

2、2功能性需求1、能够存储一定数量得用户信息,并方便有效得进行相应得用户资料操作与管理,这主要包括以下内容。

(1)管理员对用户资料得录入、删除及修改;(2)管理员对用户资料得查询;(3)用户对用户资料得查询;(4)员工基本工资表,反应员工得月基本工资;(5)员工津贴表,反映员工津贴;2、能够存储员工信息,并方便有效得进行员工信息与密码修改,保证员工信息得及时更新以及信息得安全性保证。

2、3非功能性需求2、3、1性能需求职工信息管理系统得使用者就是公司职工,对于系统管理员得管理工作与职工得查询、注册等功能,性能要求都不就是很高,本系统就是简单小型得个人信息管理系统,只适用于小规模企业单位,使用得人员数量不大,并发数小,所以性能要求不就是很严格。

2、3、2安全性需求对于职工得信息管理关系到个人利益及公司得整体利益,所以安全性得要求比较高。

主要就是要保证数据得完整性、一致性,控制权限,防止某人恶意攻击系统,修改原始记录。

同时对数据库中得数据需要定时备份,防止系统数据丢失。

2、3、3界面图形需求要求系统操作界面美观大方,各功能操作具体步骤与方法显示清晰,人机交互页面友好。

2、4职工信息管理得大致过程数据流图图2、4又根据工资管理要求及用户需求调查分析,得到以下第一层数据流图,见图2、5;图2、52、5系统设计工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线得字段表示为该数据表得主码,即主关键字。

在上面得实体以及实体之间关系得基础上,形成数据库中得表格以及各个表格之间得关系。

工资信息管理系统数据库中各个表格得设计结果如下面得几个表格所示。

每个表格表示在数据库中得一个表。

表一:员工信息表:4.详细设计4、1程序中得数据结构本系统中主要得数据结构就就是职工得信息与职工得工资,包含职工号、姓名、工资等,在处理过程中各项可以作为一个职工得不同属性来进行处理。

4、2各模块实现得算法4、2、1职工信息管理模块功能为:财务部门相关人员录入、修改、删除、查询员工个人信息部分基本算法实现:public class YGGL extends JFrame implements 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(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪","登陆密码"};Object[][] row = new Object[50][6];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = 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、cyan);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(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);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 = DriverManager、getConnection("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()+"','"+tf2、getText()+"','"+tf4、getText()+"');";sql、executeUpdate(insertStr1);String insertStr2 = "INSERT INTO workerinfo (no,name,mi)VALUES('"+tf1、getText()+"','"+tf2、getText()+"','"+tf5、getText()+"');";sql、executeUpdate(insertStr2);JOptionPane、showMessageDialog(this, "添加成功!");con、close();} catch (SQLException e1) {JOptionPane、showMessageDialog(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 management","root","jxb");sql = con、createStatement();con = DriverManager、getConnection("jdbc:mysql://localhost:3306/wage management","root","jxb");sql = con、createStatement();String updateStr = "UPDATE welfare SET jt='"+tf3、getText()+"',name='"+tf2、getText()+"'where no='"+tf1、getText()+"';";sql、executeUpdate(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+tf4、getText()+"',name='"+tf2、getText()+"'where no='"+tf1、getText()+"';";sql、executeUpdate(updateStr1);sql、executeUpdate(updateStr1);String updateStr2 = "UPDATE workerinfo SET name='"+tf2、getText()+"',mi='"+tf5、getText()+"'where no='"+tf1、getText()+"';";sql、executeUpdate(updateStr2);JOptionPane、showMessageDialog(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, "连接数据库失败!");}try {con = DriverManager、getConnection("jdbc:mysql://localhost:3306/wage management","root","jxb");sql = con、createStatement(ResultSet、TYPE_SCROLL_SENSITIVE,ResultSet、CONCUR_READ_ONLY);sql、executeUpdate("DELETE FROM wageinfo where no='"+tf6、getText()+"';");sql、executeUpdate("DELETE FROM welfare where no='"+tf6、getText()+"';");sql、executeUpdate("DELETE FROM workerinfo where no='"+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、mm、mysql、Driver");} catch (ClassNotFoundException e1) {JOptionPane、showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager、getConnection("jdbc:mysql://localhost:3306/wage management","root","jxb");sql = con、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 * from wageinfo ,welfare,workerinfo where wageinfo、no=welfare、no and wageinfo、no=workerinfo、no ;");int k = -1;while (rs、next()) {++k;String no = rs、getString(1);String name = rs、getString(2);String jb = rs、getString(3);String jt = rs、getString(6);int sum= 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 (SQLException 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 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(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = 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、cyan);p2、add(scrollpane);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(new JLabel(" 在此处输入职工号点击查询删除"));p、add(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, 600);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、getConnection("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()+"','"+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");} catch (ClassNotFoundException e1) {System、out、println("" + e1);}try {con = DriverManager、getConnection("jdbc:mysql://localhost:3306/wage management","root","jxb");sql = con、createStatement();String updateStr = "UPDATE welfare SET jt='"+tf3、getText()+"',name='"+tf2、getText()+"'where no='"+tf1、getText()+"';";sql、executeUpdate(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+tf4、getText()+"',name='"+tf2、getText()+"'where no='"+tf1、getText()+"';";sql、executeUpdate(updateStr1);JOptionPane、showMessageDialog(this, "修改成功!");con、close();} catch (SQLException e1) {JOptionPane、showMessageDialog(this, "信息不存在!");}}if (b3、equals(e、getSource())) {// 删除Connection 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/wage management","root","jxb");sql = con、createStatement(ResultSet、TYPE_SCROLL_SENSITIVE,ResultSet、CONCUR_READ_ONLY);sql、executeUpdate("DELETE FROM wageinfo whereno='"+tf6、getText()+"';");sql、executeUpdate("DELETE FROM welfare where no='"+tf6、getText()+"';");JOptionPane、showMessageDialog(this, "删除成功!");con、close();} catch (SQLException e1) {JOptionPane、showMessageDialog(this, "删除失败!");}}if (b4、equals(e、getSource())) {// 查询全部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/wage management","root","jxb");sql = con、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 * from wageinfo ,welfare where wageinfo、name=welfare、name");int k = -1;while (rs、next()) {++k;String no = rs、getString(1);String name = rs、getString(2);String jb = rs、getString(3);String jt = rs、getString(6);int sum= 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 (SQLException 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 JButton("职工登录");JButton cancelButton = new JButton("退出");JTextField username = new JTextField(9);JPasswordField password = new JPasswordField(9);static String t1;static String t2;void create(){JPanel p = (JPanel) frame、getContentPane();JPanel p1 = new JPanel();p、setLayout(new FlowLayout());p、add(a2);p、add(label1);p、setSize(5, 5);p、setLocation(4, 8);p、add(username);p、setSize(100, 200);p、setLocation(800, 800);p、add(label2);p、setSize(50, 20);p、setLocation(40, 80);p、add(password);p、setSize(100, 20);p、setLocation(80, 120);p、add(logonButton1);p、add(logonButton2);p、add(cancelButton);p、setBackground(Color、cyan);p、setVisible(true);logonButton1、addActionListener(this);logonButton2、addActionListener(this);cancelButton、addActionListener(this);frame、setDefaultCloseOperation(JFrame、EXIT_ON_CLOSE);frame、pack();frame、setBounds(200, 100, 500, 220);frame、setVisible(true);}public void actionPerformed(ActionEvent e){t1 = username、getText();t2 = password、getText();if(e、getSource()==logonButton1){if( username、getText()、equals("admin") == true&& (password、getText()、equals("admin") == true)){JOptionPane、showMessageDialog(this, "登录成功!");GZGLZJM gz = new GZGLZJM();gz、create();frame、dispose();}else {JOptionPane、showMessageDialog(null, "输入用户名或密码错误!");}if (e、getSource()==logonButton2){try {Connection con;Statement ps;ResultSet rs;String sql = null;Class、forName("org、gjt、mm、mysql、Driver");Class、forName("org、gjt、mm、mysql、Driver")、newInstance();con = DriverManager、getConnection("jdbc:mysql://localhost:3306/wage management","root","jxb");sql="select * from workerinfo where name='"+t1+"' and mi='"+t2+"'";ps = (PreparedStatement) con、prepareStatement(sql);rs = ps、executeQuery(sql);if(rs、next()){if(rs、getString("name")、equals(t1) && rs、getString("mi")、equals(t2)){YGDLJM yg = new YGDLJM();yg、create();frame、dispose();JOptionPane、showMessageDialog(this, "登录成功!");this、dispose();}}else {JOptionPane、showMessageDialog(this, "输入用户名或密码错误!");}}catch (Exception e1) {// TODO Auto-generated catch blocke1、printStackTrace();}}if (cancelButton、equals(e、getSource())) // 退出{System、exit(0);} }分工情况及系数耿沈阳(22%):各个报告得审批,概要设计,程序编写汪平阳(22%):需求分析,概要设计,详细设计彭立洋(22%):PPT得制作,PPT得演讲,需求分析肖玲(17%):画图,概要设计朱翔翔(17%):画图,详细设计。

相关主题