ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:169.54KB ,
资源ID:8894977      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8894977.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于java的职工考勤管理信息系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于java的职工考勤管理信息系统.docx

1、基于java的职工考勤管理信息系统小型应用系统学年设计任务书 学 院计算机与信息工程学院专 业网络工程课程名称小型应用系统设计题 目职工考勤管理信息系统完成期限自2016年7月26日至2016年8月26日共四周内容及任务一、项目的目的采用Java和MySQL数据库技术,设计一个小型应用系统实现职工考勤管理信息。锻炼在软件设计过程中的业务逻辑和业务流程设计能力、以及图形化的用户界面设计和数据库的使用能力。二、项目任务的主要内容和要求采用Java和MySQL数据库技术,设计一个小型的应用系统实现职工考勤信息的管理,有图形化的用户界面。内容及要求如下:(1)职工信息,包括职工编号、职工姓名、性别、年

2、龄、职称等;(2)出勤记录信息,包括上班打卡时间,下班打开时间,缺勤记录等;(3)出差信息,包括出差起始时间、结束时间、统计总共天数等;(4)请假信息,包括请假开始时间,结束时间,统计请假天数等;(5)加班信息,包括加班开始时间、结束时间、统计加班总时间。三、项目设计(研究)思路先期设计数据库,画出数据库的E-R图,设计员工表,出差表,出勤表,加班表,请假表。然后设计和制作分别完成各个小项的功能,如员工表的增加、删除、查询、修改以及其他表格的查询。在各个小功能都完善后,接入数据库,再考虑设计一个主界面,将软件的各项功能集成在一起。小系统达成后,进行调试与界面编辑设计,最终完成设计。四、具体成果

3、形式和要求(1)设计完成一个职工考勤管理信息系统。要求能对 MySQL 数据库进行增、删、改、查操作,并且具备图形化的用户界面。(2)完成和提交一份职工考勤管理信息设计报告文档。进度安排起止日期工作内容2016.7.258.10根据软件设计要求,查询相关Java、数据库知识。2016.8.118.23构建数据库结构,编写程序应用界面。2016.8.248.26调试程序,完善功能,完成学年设计报告。主要参考资料1.王诚.JAVA 实用编程技术M.北京:人民邮电出版社,2012.2.王雨竹.MySQL入门经典M.北京:机械工业出版社,2013.3.张逸.软件设计精要与模式M.北京:电子工业出版社,

4、2007.4.王德永.数据库原理与应用M.北京:人民邮电出版社,2011.5.美Bruce Eckel.Java编程思想M.北京:机械工业出版社,2007.6.美Herbert Schildt著.马海军,景丽等译.Java实用教程(第三版).北京:清华大学出版社.2005.指导教师意见(签字): 年 月 日系(教研室)主任意见(签字): 年 月 日职工考勤管理信息系统设计说明书(封面)学院名称: 计算机与信息工程学院 班级名称: 网络工程14级2班 学生姓名: 朱赛赛 学 号: 2014211585 题 目: 职工考勤管理信息系统 指导教师姓 名: 任倩 起止日期: 2016.7.26 201

5、6.8.26 目录第一部分:正文部分 1一、选题背景 1二、方案论证(或设计理念) 1三、过程论述 13.1相关知识介绍 13.2系统功能模块图 23.3系统流程图 23.4数据库设计 33.5系统的各部分功能模块设计 43.5.1系统管理部分设计 43.5.2职工信息管理部分设计 103.5.3出勤信息查询 153.5.4出差信息查询 173.5.5请假信息查询 183.5.6加班信息查询 193.5.7系统主界面集成设计 21四、结果分析 254.1登录系统测试 254.2员工管理测试 264.3出勤信息查询测试 264.4出差信息查询测试 264.5请假信息查询测试 274.6加班信息查

6、询测试 27五、结论(或总结) 28第二部分:参考文献 28第三部分:指导教师评语 30第四部分:成绩评定 30第一部分:正文部分一、选题背景计算机网络技术的发展,给信息时代的人们带来了很大的便利。如今在互联网上,随处可见各种类型的信息管理系统。随着信息技术的发展已经深入到社会的各个角落,各个大小企业都充分认识到传统的手工管理模式已经不能顺应时代的发展,为了企业更好的发展,纷纷开发适合自己的管理系统。相对于手工管理模式的效率低,易出错,手续繁琐,耗费大量的人力,物力,财力来说,职工考勤管理信息系统能够通过电脑化管理实现职工信息增加,删除,修改,以及出勤信息,出差信息,请假信息,加班信息的查询。

7、二、方案论证(或设计理念)由于该系统所要满足的硬件是计算机,软件方面是采用JDK1.8 开发环境、Eclipse 开发工具和MySQL 数据库,这些设备和软件易于实现和满足。采用的语言是Java 语言,具有可移植性,功能易于实现,界面比较美观,操作简单,能够移植到其他计算机上运行,与平台无关,能够满足更多的用户,使得该系统能被很多家庭所接受和使用。因此采用该Java+MySQL 方案来设计职工考勤管理信息系统。三、过程论述3.1 相关知识介绍MySQL是一个关系型数据库管理系统,MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational

8、 Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,其体积小、速度快、总体拥有成本低,致使其被广泛应用。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java

9、Development Kit,JDK)。3.2 系统功能模块图在该小型应用系统中,用户可以直接执行管理员权限,对员工信息进行增删,修改,保存,实现出勤信息,出差信息,加班信息,请假信息的查询。系统功能如图3-1所示。图3-1系统功能模块图3.3 系统流程图在该系统中,用户可以通过可以运行程序进入主界面,在主界面中可以管理各个功能模块,进而通过各个功能模块对后台数据库进行数据操作和管理。系统流程图如图3-2所示。图3-2 系统流程图3.4数据库设计根据实体类型、属性和联系的方法,绘制职工,出勤,出差,加班,请假实体集间的实体-联系图。如图3-3所示。图3-3 E-R图本系统的基本功能是设计职工

10、考勤管理信息,因此设置了5张表,分别是表Yuangong、表Chuqin、表Chuchai、表Qingjia、表Jiaban。对数据的增、删、改、查,主要在这四个表上进行。(1)员工表用来记录员工的基本信息,表结构如表3-1所示。表3-1 员工表属性名类型长度字段约束含义Idint5not null编号Namechar4not null姓名Sexchar2check性别Ageint2not null年龄Zhichenchar4null职称(2)出勤表用来记录出勤的基本信息,表结构如表3-2所示。表3-2 出勤表属性名类型长度字段约束含义Idint5not null编号Am0date0null上

11、午开始打卡Pm0date0null下午开始打卡Am1date0null上午结束打卡Pm1date0null下午结束打卡Judgeint5null缺勤记录(3)出差表用来记录出差的基本信息,表结构如表3-3所示。表3-3 出差表属性名类型长度字段约束含义Idint5not null编号Begindaydate0null开始时间Enddaydate0null结束时间Daysint5null总时间(4)请假表用来记录请假的基本信息,表结构如表3-4所示。表3-4请假表属性名类型长度字段约束含义Idint5not null编号Begindaydate0null开始时间Enddaydate0null结束

12、时间Daysint5null总时间(5)加班表用来记录加班的基本信息,表结构如表3-5所示。表3-5 加班表属性名类型长度字段约束含义Idint5not null编号BeginTimedate0null开始时间EndTimedate0null结束时间SumTimedouble6null总时间3.5 系统的各部分功能模块设计3.5.1系统管理部分设计系统管理模块的主要功能有:用户登录、退出。该模块可以实现用户的登录,在程序中主要涉及的类为CheckPassword,在系统核对用户名和密码时需对数据库test中的user1表进行查询对比。登录界面如图3-4所示。图3-4 用户登录界面具体代码如下:

13、public static void main(String args) try UIManager.setLookAndFeel(com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel); catch (Throwable e) e.printStackTrace(); EventQueue.invokeLater(new Runnable() public void run() try ExpandFrame frame = new ExpandFrame(); frame.setVisible(true); catch (Exception e)

14、 e.printStackTrace(); ); public ExpandFrame() this.setTitle(登录窗体); addWindowListener(new WindowAdapter() Override public void windowOpened(WindowEvent e) do_this_windowOpened(e); ); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 0, 221); contentPane = new JPanel(); contentPane.s

15、etBackground(new Color(135, 206, 250); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5); setContentPane(contentPane); contentPane.setLayout(null); JLabel label = new JLabel(登录模块); label.setOpaque(true); label.setBackground(new Color(245, 222, 179); label.setHorizontalAlignment(SwingConstants.CENTER

16、); label.setFont(new Font(SansSerif, Font.PLAIN, 30); label.setBounds(6, 6, 422, 72); contentPane.add(label); JLabel label_1 = new JLabel(用户名:); label_1.setBounds(31, 90, 55, 18); contentPane.add(label_1); JLabel label_2 = new JLabel(密码:); label_2.setBounds(31, 134, 55, 18); contentPane.add(label_2)

17、; textField = new JTextField(); textField.setBounds(83, 84, 184, 30); contentPane.add(textField); textField.setColumns(10); textField_1 = new JTextField(); textField_1.setBounds(83, 128, 184, 30); contentPane.add(textField_1); textField_1.setColumns(10); JButton button = new JButton(登录); button.setB

18、ounds(304, 84, 90, 30); contentPane.add(button); button.addActionListener(new Enter(); JButton button_1 = new JButton(关闭); button_1.setBounds(304, 128, 90, 30); contentPane.add(button_1); setLocationRelativeTo(null); button_1.addActionListener(new Close();class Enter implements ActionListener public

19、 void actionPerformed(ActionEvent e) setVisible(false); try Class.forName(com.mysql.jdbc.Driver); catch(ClassNotFoundException e1)System.out.println(加载驱动程序失败!); tryConnection con=DriverManager.getConnection(jdbc:mysql:/localhost:3306/test,root,root); Statement sql=con.createStatement(); String uname

20、=textField.getText().trim(); String Mima=textField_1.getText().trim();String queryMima=select * from user1 where 用户名=+uname+ and 密码=+Mima+; ResultSet rs=sql.executeQuery(queryMima); if(rs.next() JOptionPane.showMessageDialog(null,登录成功!,JOptionPane.YES_NO_OPTION); MainFrame sf=new MainFrame(); sf.set

21、DefaultCloseOperation(JFrame.EXIT_ON_CLOSE); sf.show(); elseJOptionPane.showMessageDialog(null,该用户不存在,提示!,JOptionPane.YES_NO_OPTION); textField.setText(); textField_1.setText(); catch(SQLException g) System.out.println(E Code+g.getErrorCode(); System.out.println(E M+g.getMessage(); class Close imple

22、ments ActionListenerOverride public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub System.exit(0); class winClose extends WindowAdapter public void windowClosing(WindowEvent e) (e.getWindow().dispose(); System.exit(0); protected void do_this_windowOpened(WindowEvent e) final i

23、nt height = getHeight();/ 记录窗体高度 new Thread() / 创建新线程 public void run() Rectangle rec = getBounds(); for (int i = 0; i frameWidth; i += 10) / 循环拉伸窗体 setBounds(rec.x - i / 2, rec.y, i, height);/ 不断 try Thread.sleep(10);/ 线程休眠10毫秒 catch (InterruptedException e1) e1.printStackTrace(); .start();/ 启动线程 p

24、ublic static void DISPOSE_ON_CLOSE() / TODO Auto-generated method stub3.5.2职工信息管理部分设计职工信息管理部分有员工信息增添、查询、职工出差信息查询、职工请假信息查询、职工加班信息查询四个主模块。如图3-5所示。图3-5 职工信息查询选项员工资料管理部分有查看所有员工信息,添加员工信息,修改员工信息,删除员工信息五个模块。主要通过类来对数据库进行操作,如添加员工信息。如图3-6所示。图3-6 添加员工信息具体代码如下:public static int InsertYuangongInfo(Yuangong yuang

25、ong) Connection conn = getConn(); int i = 0;String sql = Insert into Yuangong (ID,Name,Sex,Age,Zhichen) values(?,?,?,?,?); PreparedStatement pstmt; try pstmt = (PreparedStatement) conn.prepareStatement(sql); pstmt.setInt(1, yuangong.getId(); pstmt.setString(2, yuangong.getName(); pstmt.setString(3,

26、yuangong.getSex(); pstmt.setInt(4, yuangong.getAge(); pstmt.setString(5, yuangong.getZhichen(); i = pstmt.executeUpdate(); pstmt.close(); conn.close(); catch (SQLException e) e.printStackTrace(); return i;查询员工信息。如图3-7所示。图3-7 查询员工信息具体代码如下:public static Yuangong getYuangongInfo(int id) Connection conn

27、 = getConn(); String sql = Select * from Yuangong where id = + id + ; PreparedStatement pstmt; try pstmt = (PreparedStatement)conn.prepareStatement(sql); ResultSet rs = pstmt.executeQuery(); Yuangong yuangong = new Yuangong(); while (rs.next() yuangong.setId(rs.getInt(ID); yuangong.setName(rs.getStr

28、ing(Name); yuangong.setSex(rs.getString(Sex); yuangong.setAge(rs.getInt(Age); yuangong.setZhichen(rs.getString(Zhichen); return yuangong; catch (SQLException e) e.printStackTrace(); return null;删除员工信息。如图3-8所示。图3-8 删除员工信息具体代码如下:public static int DeleteYuangongInfo(int id) Connection conn = getConn(); int i = 0; String sql = Delete from Yuangong where ID= + id + ; PreparedStatement pstmt; try pstmt = (PreparedStatement) conn.prepareStatement(sql); i = pstmt.executeUpdate(); System.out.println(resutl: + i);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1