职工考勤管理系统课程设计.doc_第1页
职工考勤管理系统课程设计.doc_第2页
职工考勤管理系统课程设计.doc_第3页
职工考勤管理系统课程设计.doc_第4页
职工考勤管理系统课程设计.doc_第5页
免费预览已结束,剩余30页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东交通学院 课程设计 题 目 职工考勤管理系统 课程设计 系 信息科学与电气工程学院 专 业 计算机科学与技术 班 级 计算 111 姓 名 学 号 3 月月 18 日至日至 3 月月 31 日日 共共 2 周周 指导教师 签字 系 主 任 签字 2013 年年 3 月月 31 日日 课程设计任务书 职工考勤管理信息系统 1 系统功能基本要求 职工信息 包括职工编号 职工姓名 性别 年龄 职称 等 出勤记录信息 包括上班打卡时间 下班打开时间 缺勤记录等 出差信息 包括出差起始时间 结束时间 统计总共天数等 请假信息 包括请假开始时间 结束时 间 统计请假天数等 加班信息 包括加班开始时间 结 束时间 统计加班总时间 2 课程设计报告 3000 5000 字 纸质打印稿及电子版 1 需求分析 功能模块层次图 2 系统设计 包括详细设计和界面设计 3 代码设计 主要功能函数 4 测试记录 测试各项功能的正确性 容错性 5 课程设计总结 目目 录录 1 1 系统分析系统分析 1 1 系统需求分析 1 2 系统功能结构分析 1 3 开发及运行环境分析 2 2 数据库系统设计 数据库系统设计 2 1 数据表的设计 3 3 应用程序设计应用程序设计 3 1 界面设置 3 2 关键函数代码 4 4 系统测试系统测试 4 1 系统连接 SQL2005 方法 5 5 设计体会设计体会 参考文献参考文献 1 系统分析系统分析 1 1需求分析 90 年代中期 由于 Internet 的迅速普及 使 Intranet 成为 Internet 技 术在企业管理信息系统中的应用和延伸 形成了集计算机 计算机网络 数据 库 分布式计算等于一体的信息技术综合体 它打破了时间和地域的界限 使 信息交流变得快捷 准确 为建立现代企业管理信息系统提供了充足的条件 企业信息管理系统在此基础上延伸 扩展 使之上下 内外全面贯通 酒店考 勤管理系统是在适应市场需求的客观前提下 为了满足中小型公司或事业单位 管理自己的职员考勤问题而开发的 该系统的是终目的是要将各位职员的考勤 情况放到网络上 以方便员工及时查证 系统采用模块化程序设计方法 既便于系统功能的各种组合和修改 又便 于未参与开发的技术维护人员补充 维护 员工考勤管理系统能够和考勤机相 连接 从而完成自动 高效 科学的考勤信息输入 该系统具备数据库维护功 能 及时根据用户需求进行数据的添加 删除 修改 备份等操作 考虑到适应性 构建一个考勤系统 所有的员工都通过打卡来进行登录和 注销 同时考勤系统需要用户密码才能进入 在这里假定打卡信息已经转化成 数据信息 每次打卡将激活的一个模块 这些模块可以用手工输入 以备不时 之需 根据分析 该考勤系统必须具备如下几个功能 1 数据管理 功能是设置和管理基础数据 包括加班 请假类别的定义和班次的定义 在全县范围内可以进行基础数据的添加 删除和修改 2 考勤管理 包括出勤动作 出勤信息的查询 上级对下级员工的出勤信息的确认 生 成考勤统计信息并可以根据指定的条件进行查询 实现从每日出勤到统计全部 考勤信息的无纸化操作 为方便数据传递和查阅 要根据需求提供不同时间短 的考勤统计信息表 3 加班管理 对员工的加班时间进行统计 记录开始时间和结束时间 对加班信息实现 添加 删除等操作 4 请假管理 可以提出请假申请 并完善请假信息 如请假开始时间 请假结束时间 请假的进行管理 5 出差管理 管理者安排员工出差 对出差时间 的管理 1 2系统功能结构分析 目前 对数据库各种模型的研究以及理论上的探讨都还在蓬勃发展 其应 用也从一般管理扩大到计算机辅助设计 人工智能以及科技计算等领域 随着我国国民经济建设的蓬勃发展和具有中国特色的社会主义市场经济体 制的迅速完善 各个行业都在积极使用现代化的手段 不断改善服务质量 提 高工作效率 这些都在很大程度上给企业提出越来越严峻的挑战 对企业体系 无论是在行政职能 企业管理水平以及优质服务上都提出更高的要求 建设一 个科学高效的信息管理系统是解决这一问题的必由之路 考勤管理作为企业内 部的一种管理也是如此 由于企业职工人数较多 每一位职工的具体实际情况 也不尽相同 日常的考勤工作 如果没有一个完整的管理 后果将不堪设想 现实世界的事物反映到人的头脑中 人的大脑对它有个认识过程 经过分 析 选择 命名 分类等 进入信息世界 这些信息再进一步加工 编码 然 后进数据世界 而软件系统的开发工作需要考虑这两个方面的问题 也就是要 考虑系统开发所需要的数据 以及如何对这些数据进行操作 这两个问题贯穿 了整个软件系统的开发过程 这也就是数据库的设计问题 软件设计的一个核 心 我国中小企业信息化水平一直处在比较初级的阶段 有关统计表明 真正 具备计算机信息化比较高应用水平的企业在全国 1000 多万中小企业中所占的比 例还不足 10 然而 随着我国市场经济的不断成熟 企业的竞争也在不断的 加剧 同时企业组织管理观念的变革以及业务流程标准化也在不断完善 中小 企业信息化建设的热情近几年来有了显著的提高 因此开发一个高质量的考勤 工资系统进行企业管理尤为重要 登录考勤系统 职 工 信 息 管 理 出 勤 信 息 管 理 请 假 信 息 管 理 出 差 信 息 管 理 加 班 信 息 管 理 登 陆 信 息 管 理 设计的 E R 图如下所示 职工 正常 上班 加班 请假 出差 考勤 表 加班 表 请假表 出差 表 姓名 密 码 进 入 公 司 时 间 上班时间 下班时间 加班时间 类型 性别 请假时 间 请假类 型 出差时 间 出差类 型 上班时间 管理员 记录日期密码 姓名 上班日期 1 31 3 硬件要求 CPU 1G 以上的处理器 内存 1G 硬盘 1G 以上剩余空间 显示像素 最低 800 600 最佳效果 1024 768 2 软件要求 操作系统 Windows7 数据库 SQL Server2005 2 2 数据库系统设计数据库系统设计 2 1 登陆信息表 职工信息表 出差信息表 出勤信息表 加班信息表 请假信息表 2 2 check 约束 年龄的约束 check 约束 性别的约束 2 3 触发器 查询的 触发器 删除的 2 4 存储工程 查询的 存储过程 删除的 3 应用程序设计应用程序设计 3 1 界面设置 登陆界面 主界面 功能表的 3 2 关键函数代码 3 2 1 连接数据库代码 ackage worker 连接数据库的语句 import java sql public class DBConn Public static String driverName com microsoft sqlserver jdbc SQLServerDriver 连接数据库的驱动名 protected static String dbURL jdbc sqlserver localhost 1433 DatabaseName 职工考勤管理 数据 库映射路径 protected static String dbuser sa 数据库的登录名 protected static String dbPwd 123 数据库的登录密码 Connection conn 申明一个数据库连接 Statement stmt 接口 可以写SQL PreparedStatement prepare public DBConn String username String userpassword 装载时建立数据库链接 try Class forName driverName Conn DriverManager getConnection dbURL username userpassword System out println 成功 catch Exception e e printStackTrace 3 2 2 登陆界面代码 package worker 系统登录界面的显示 import java awt import java awt event import java sql import java util import java util Date import javax swing import java text ParseException import java text SimpleDateFormat import java applet import java io class dbframe extends JFrame implements ActionListener DBConn c new DBConn sa 123 JLabel L2 new JLabel new ImageIcon D 1 jpg JPanel p new JPanel ImageIcon icon new ImageIcon C Users admin Desktop worker guanli 1 jpg JPanel p new JPanel protected void paintComponent Graphics g g drawImage icon getImage 0 0 null super paintComponent g JLabel jluser new JLabel 用户名 JTextField jtuser new JTextField JLabel jlpass new JLabel 密码 TextField jtpass new TextField JButton jblogin new JButton 登录 JButton jbreset new JButton 退出 String user new String String pass new String public dbframe String s super s p setLayout null jluser setBounds new Rectangle 20 30 50 30 jtuser setBounds new Rectangle 80 30 180 30 jlpass setBounds new Rectangle 20 80 50 30 jtpass setBounds new Rectangle 80 80 180 30 jtpass setEchoChar jblogin setBounds new Rectangle 80 120 80 30 jbreset setBounds new Rectangle 170 120 80 30 p setBounds 0 0 380 250 p setOpaque false p setPreferredSize new Dimension 400 600 this setLocationRelativeTo null p add jluser p add jtuser p add jlpass p add jtpass p add jblogin p add jbreset p add L2 p setOpaque false this setContentPane p this getLayeredPane add L2 1 this getLayeredPane add p 0 this setBounds 300 100 340 250 this setResizable false this setVisible true jblogin addActionListener this 实现调用 jbreset addActionListener this public void actionPerformed ActionEvent e if e getSource jblogin String u jtuser getText String p jtpass getText String name null String pass null String ss select from userr try c stmt c conn createStatement ResultSet rset c stmt executeQuery ss while rset next name rset getString 1 pass rset getString 2 rset close c stmt close catch Exception a System out println 查询用户出错 if u equals name else JOptionPane showMessageDialog null 用户名或密码不正确 请 重新输入 else System exit 0 3 2 3 主表代码 package worker import java awt import java awt event import javax swing public class menue extends JFrame implements ActionListener 主菜单 JPanel cp new JPanel 添加容器JPanel windos JButton b1 new JButton 职工信息 JButton b2 new JButton 出勤信息 JButton b3 new JButton 出差信息 JButton b4 new JButton 请假信息 JButton b5 new JButton 加班信息 JButton b6 new JButton 退出系统 ImageIcon icon new ImageIcon C Users admin Desktop worker guanli 2 jpg JPanel p new JPanel protected void paintComponent Graphics g g drawImage icon getImage 0 0 null super paintComponent g public menue String s super s p setLayout null b1 setBounds new Rectangle 20 30 130 60 设置按钮的向右 向下 长 宽 b2 setBounds new Rectangle 20 130 130 60 b3 setBounds new Rectangle 20 230 130 60 b4 setBounds new Rectangle 20 330 130 60 b5 setBounds new Rectangle 20 430 130 60 b6 setBounds new Rectangle 20 530 130 60 p add b1 添加按钮 p add b2 p add b3 p add b4 p add b5 p add b6 this setVisible true 根据 的值来显示或隐藏 this setContentPane p this setDefaultCloseOperation JFrame EXIT ON CLOSE this setBounds 280 50 980 650 调整容器大小 this setResizable false 可以调整界面大小 p setOpaque false p setPreferredSize new Dimension 400 600 b1 addActionListener this b2 addActionListener this b3 addActionListener this b4 addActionListener this b5 addActionListener this b6 addActionListener this public void actionPerformed ActionEvent e if e getSource b1 display d new display d di if e getSource b2 chuqin chu new chuqin chu chu if e getSource b3 chuchai chu new chuchai chu chu if e getSource b4 qingjia qing new qingjia qing chu if e getSource b5 jiaban qing new jiaban qing chu if e getSource b6 System exit 0 以职工信息为例 其余功能类似 3 3 4职工信息代码 package worker import java awt import java awt event import java sql import java util import java util Date import javax swing import java text ParseException import java text SimpleDateFormat import java applet import java io class display 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 返回 JButton b6 new JButton 查询单人信息 JTextField tf1 new JTextField 9 JTextField tf2 new JTextField 9 JTextField tf3 new JTextField 9 JTextField tf4 new JTextField 9 JTextField tf5 new JTextField 9 JTextField tf6 new JTextField 9 JTextField tf7 new JTextField 9 String a 男 女 JComboBox box new JComboBox a 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 JSplitPane splitpane1 new JSplitPane JSplitPane VERTICAL SPLIT void di JPanel p JPanel f getContentPane p setLayout new FlowLayout p setLayout new BorderLayout p add scrollpane p add splitpane p add splitpane1 JPanel p1 new JPanel p1 add b1 p1 add b2 p1 add b3 p1 add b4 p1 add b5 p1 add b6 JPanel p2 new JPanel p2 setBackground Color RED p2 add scrollpane JPanel p3 new JPanel JPanel p4 new JPanel p3 setLayout new GridLayout 7 2 p3 add new JLabel p3 add new JLabel 编号 p3 add tf1 p3 add new JLabel 姓名 p3 add tf2 p3 add new JLabel 性别 p3 add tf3 p3 add new JLabel 年龄 p3 add tf4 p3 add new JLabel 职称 p3 add tf5 p3 add new JLabel 手机号 p3 add tf6 p3 add new JLabel 在此处输入职工号点击查询删除 p3 add tf7 splitpane setDividerSize 10 f setLayout new BorderLayout p add p3 BorderLayout SOUTH splitpane add p1 splitpane TOP splitpane add p2 splitpane BOTTOM splitpane1 add splitpane splitpane1 TOP splitpane1 add p3 splitpane1 BOTTOM splitpane setDividerLocation 50 splitpane1 setDividerLocation 450 f setBounds 300 50 600 660 f setResizable false 可以调整界面大小 f setVisible true box addActionListener this b1 addActionListener this b2 addActionListener this b3 addActionListener this b4 addActionListener this b5 addActionListener this b6 addActionListener this public void actionPerformed ActionEvent e DBConn d new DBConn sa 123 String s1 tf1 getText String s2 tf2 getText String s3 tf3 getText String s4 tf4 getText String s5 tf5 getText String s6 tf6 getText String s3 if e getSource b1 String s s1 s2 s3 s4 s5 String ss insert into 职工信息 values try d prepare d conn prepareStatement ss for int i 0 i s length i d prepare setString i 1 s i d prepare execute d prepare close JOptionPane showMessageDialog null 信息添加 成功 tf1 setText null tf2 setText null tf3 setText null tf4 setText null tf5 setText null tf7 setText null catch Exception q System out println 添加信息错误 JOptionPane showMessageDialog null 信息添 加错误 可能由于数据格式不正确 if e getSource b2 System out println name s2 String s11 UPDATE 职工信息 SET 姓名 tf2 getText WHERE 编号 tf1 getText String s22 UPDATE 职工信息 SET 性别 box getSelectedItem toString WHERE 编号 tf1 getText String s33 UPDATE 职工信息 SET 年龄 tf4 getText WHERE 编号 tf1 getText String s44 UPDATE 职工信息 SET 职称 tf5 getText WHERE 编号 tf1 getText String s55 UPDATE 职工信息 SET staff phone tf6 getText WHERE staff id tf1 getText try d stmt d conn createStatement d stmt executeUpdate s11 d stmt executeUpdate s22 d stmt executeUpdate s33 d stmt executeUpdate s44 d stmt executeUpdate s55 d stmt close JOptionPane showMessageDialog null 修改成功功 catch Exception w System out println w JOptionPane showMessageDialog null 修改 错误 工号不存在 if e getSource b3 try d stmt d conn createStatement d stmt execute DELETE FROM 职工信息 WHERE 编号 tf7 getText d stmt close JOptionPane showMessageDialog null 信息删除 成功 tf1 setText null tf2 setText null tf4 setText null tf5 setText null tf7 setText null catch SQLException e1 System out println e1 JOptionPane showMessageDialog null 删除错误 工号 不存在 if e getSource b4 try d stmt d conn createStatement ResultSet rs if b4 equals e getSource for int i 0 i 50 i for int j 0 j 5 j table setValueAt i j CallableStatement c d conn prepareCall call staff 1 存储过程的调用 rs c executeQuery rs d stmt executeQuery SELECT FROM 职 工信息 ORDER BY 编号 ASC int k 1 while rs next k String id rs getString 1 String name rs getString 2 String sex rs getString 3 String age rs getString 4 String p rs getString 5 String phone rs getString 6 table setValueAt id k 0 table setValueAt name k 1 table setValueAt sex k 2 table setValueAt age k 3 table setValueAt p k 4 table setValueAt phone k 5 catch Exception w System out println w JOptionPane showMessageDialog null 查询 错误 表中无数据 if e getSource b5 f dispose if e getSource b6 try ResultSet rs d stmt d conn createStatement ResultSet TYPE SCROLL SENSITIVE ResultSet CONCUR READ ONLY if b6 equals e getSource for int i 0 i 50 i for int j 0 j 所有程序 Microsoft SQL Server 2005 配置工 具 SQL Server Configuration Manager 在 SQL Server 2005 网络配置下找 到 SQLEXPRESS 的协议 选项 b 右键启动其下的 TCP IP 协议 c 双击 TCP IP 协议打开属性 把 IP 地址中的 IP ALL 中的 TCP 端口设置为 1433 暂时不要关闭 SQL Server Configuration Manager 窗口 3 设置 设置 SQL Server 2005 数据库数据库 sa 身份登录身份登录 a 运行 SQL Server2005 在安全性下的登录名中找到 sa 用户 右键属性 b 设置 sa 用户密码 如 123456 在状态选项中将登陆设为启用 c 在 SQL Server Configuration Manager 窗口中重新启动 SQL Server 2005 服 务的 SQLEXPRESS 服务器 4 4 使用 使用 EclipseEclipse 创建工程创建工程 a 新建工程 java java project 起名为 Test 新建类 Test b 右键单击目录窗口中的 Test 选择 Build Path Configure Build Path 添加扩展 jar 文件 即把 sqljdbc jar 添加到其中 5 编写代码测试连接数据库 编写代码测试连接数据库 程序代码 import java sql public class Test public static void main String args String url jdbc sqlserver localhost 1433 databaseName customer 连接服务器和数据库 customer为所连接的数据库 String userName sa String password 123456 String sqlStr select from 商店 try Class forName com microsoft sqlserver jdbc SQLServerDriver 加载JDBC驱动 System out println 类实例化成功 Connection con DriverManag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论