欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    (考勤管理)课程设计考勤管理系统报告书.docx

    • 资源ID:12270537       资源大小:413.30KB        全文页数:33页
    • 资源格式: DOCX        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (考勤管理)课程设计考勤管理系统报告书.docx

    数据库原理及应用 课程设计报告 题目:考勤管理系统-课程设计报告所在学院:信学工程学院班 级: 计科1001学号:101304127姓名:徐军指导教师:陈才扣2012年1月4日目录一、概述二、需求分析三、概念设计四、逻辑设计五、系统实现 六、小结一、概述1.1 系统开发的背景与意义1.1.1 系统开发背景现在不论哪个企业,都要进行考勤,考勤管理系统利用计算机管理考勤工作, 提高工作效率,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和 可信度如何,其效率很低,而且容易出错,不利于管理。所以人工考勤已经很难 再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进 行,使用计算机管理考勤成为一种主流趋势, 它不仅为企业减少了人力财力的付 出,而且也大大减轻了考勤工作人员的工作量。 对于员工们的出勤率有个明显的 记录,对于公司的职员也有基本了解根据出勤情况可以计算员工的实际工资。本文系统的阐述了企业考勤管理设计开发的全过程。包括系统需求调查分析,概念结构设计,逻辑结构设计等部分。1.1.2 系统开发意义开发本系统的目的,就是要解决目前企业中关于员工出勤管理中所面临的一系列问题。考勤系统进行企业管理越来越适应企业的需要,集信息的输入,显示,修改,删除等各种处理,信息维护方便,给公司可以带来很大的便利。开发 出企业考勤管理系统能有效地提高企业办事效率,解决目前员工出勤管理问题, 实现员工请出勤信息和缺勤信息对企业领导透明,使管理人员及时把握员工的情 况,及时与员工沟通,提高生产质量。二、需求分析作为一个考勤系统.最重要的功能当数考勤了.也就是能够将员工上班签到的日 期与时间记录下来。当然.记录下签到信息后,应该具有其他的辅助功能.比111" 查询员工某天的签到情况"、"修改签到情况"、”员工的维护“、”公司上班 时间的设置”等.下面就本系统完成的功能做一个简单的需求分析。2.1 系统功能要求2.1.1 功能划分(1)记录每个员工每天所有进入公司的时刻和离开公司的时刻。(2)每天结束时自动统计当天的工作时间(3)每天结束时自动统计当天迟到或早退的次数。(4)对于弹性工作制,每天结束时自动统计当月的工时,并自动算出当月欠缺或富余的时间(5)每个月末统计该月的工作时间判断是否足够(6)每个月末统计该月的工作天数并判断是否足够(7)管理人员查询并修改工作时间(特殊情况下修改)(8)管理人员账户管理(如设置密码等)(9)管理人员设定早退及迟到的条件,每个月的工作时间(10)管理人员设定每个月的工作日期及放假日期1.1 .2 功能描述实际的管理和记录工作非常需要快速获知各个部门员工的每日出勤情况,以便于及时向高层管理者反映员工的出勤,缺勤情况。目前, 由于负责考勤的员工,工作任务比较多,而且还都是重复数据,让工作者没有办法及时的向上报告。工作问题不能及时处理。针对以上的情况,我们提出企业考勤管理系统,实现网上考勤任务,以减轻考勤人员的工作量。我公司准备开发员工考勤管理系统,完成员工基本信息维护、企业的部门信息维护、企业基本考勤类型的维护、员工考勤的管理、员工考勤的查询与分析。实现人事考勤的需要,包括员工迟到、早退的情况的记录,在每个月底计算工资对员工和对员工进行绩效评估的时候,对员工整个月的考勤记录进行查询和统计。1.2 性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后1.2 位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后 5位的精度。在时间特性上, 当用户发出命令请求时的服务器的响应时间、 对数据更新处理、工资数据的查询 检索等上,同样要求系统响应时间不会超过 0.5秒时间。系统支持多种操作系统 的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互 通,及共享。1.3 系统层次划分记 录 时 刻考 勤 系 统设 定 工 作 放 假 日 期管理系统1.4 数据流图顶层数据流图1.5 数据字典(1),数据项描述数据项别名长度取值范围员工工号Snochar90000000 至 9999999员工姓名Snamechar10员工性别Ssexchar1“男”或“女”入职时间enter_timechar2000 至 2050员工年龄Sagesmallint20 至 70职位positionChar10数据项描述表(2)数据结构描述数据结构说明组成员工信息是考勤管理子系统的主体 数据结构,定义了一个员工 的有关信息员工编号,员工姓名,员工性别,出生日期, 职位,密码部门信息是考勤管理子系统的主体 数据结构,定义了一个部门 的有关信息部门编号,部门名称数据结构描述(3)数据流描述数据流说明数据流来 源数据流去 向组成核对密码根据不同人 员相应的权 限登录时的 信息考勤管理 系统管理员的帐号密码与普通员工的帐 号密码完整的考 勤数据员工的考勤 数据月度考勤 统计工资评估月度考勤编号、员工编号、日期、 累计正常工作时间迟到次数、早退 次数、旷工次数数据流描述(4)数据存储数据 存储说明流入数 据流流出数据 流组成存取方式月度记录员工一个月统计好的月度考勤编号、员工更新,顺序检索考勤每月的考的信息考勤数据编号、日期、正常工统计勤情况统计作时间、迟到次数、早退次数、旷工次数数据存储三、概念设计入职时间3.1概念模型员工属性图四、逻辑设计4.1关系模式员工信息(工号,姓名,性别,年龄,职位,密码,入职时间 )记录数据(工号,上班的小时,下班的小时,上班的分钟,下班的分钟,每天工作时间)统计数据(工殳剩余的时间,迟到的次数,早退的次数,工作天数)管理员(管理员号,姓名,性别,年龄)每天统计信息表(工号,姓名,小时,分钟,动作,时间)其中动作指的时入或离开公司员工表(employee)列名别名长度备注工号Snochar9primary key员工姓名Snamechar10员工性别Ssexchar1年龄Sageint3职位Positionchar10密码Passwordchar6入职时间Enter_timechar10员工表记录数据表(data_record)列名别名NS长度备注员工号Snochar9primary key上班的小时arrive_hourchar2上班的分钟arrive_minutechar41上班的小时leave_hourchar4下班的分钟leave_minutechar4每天工作时间Everyday_timechar4记录数据表每天统计信息表everyday_statistics列名别名长度备注员工号SnoChar9primary key员工姓名SnameChar10时间HourChar2分钟MinuteChar2动作Actionchar8时间Timechar4统计信息表月统计数据表(everymonth_statistics):列名别名长度备注员工号Snochar9primary key员工姓名SnameChar10剩余的时间remain_timechar4迟到的次数Late_timessmallint2早退的次数Early_timessmallint2工作天数Work_daysmallint2统计数据表管理员表(Administrator )列名别名长度备注管理员号anobigint6primary key姓名anamechar20性别asexchar2年龄aageint3管理员表五、系统实现一、登陆界面package kaoqin;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.sql.*;public class Main_login extends JFrame implements ActionListener public Main_login() super("选择用户类型");this.setSize(300,300);this.setContentPane(new JPanel(); create();private void create()JButton b1,b2,b3;Box box1,box2,box3,box;b1=new JButton(" 系统管理员");b2=new JButton(" 普通用户");b3=new JButton(" 退出登陆");b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);box1=Box.createHorizontalBox();box2=Box.createHorizontalBox();box3=Box.createHorizontalBox();box1.add(b1);box2.add(b2);box3.add(b3);box=Box.createVerticalBox();box.add(box1);box.add(Box.createVerticalStrut(20);box.add(box2);box.add(Box.createVerticalStrut(40);box.add(box3);this.add(box);public void actionPerformed(ActionEvent e)if(e.getActionCommand()=" 系统管理员")login frame=new login();dispose();else if(e.getActionCommand()=" 普通用户")login1 frame=new login1();dispose();else if(e.getActionCommand()=" 退出登陆")System.exit(0);public static void main(String args) /ConnectionDB myDB=new ConnectionDB();int flag=0; / 判断是否创建过数据库的标志File file=new File("SQL.txt");try /读入标志FileReader in=new FileReader(file);int len;if(len=in.read()!=-1)flag=1; /已创建了数据库,置1in.close(); catch (FileNotFoundException e) e.printStackTrace(); catch (IOException e) e.printStackTrace();/没有创建过数据库if(flag=0)ConnectionDB myDB=new ConnectionDB(); myDB.createTable();myDB.breakDB();try /写入标志FileWriter out=new FileWriter(file);out.write("1");out.close(); catch (IOException e) e.printStackTrace();Main_login frame1=new Main_login();frame1.setVisible(true);二、管理员登陆界面class login extends JFrame / 管理员登陆界面 public login() this .setTitle( "管理员登陆界面"); t his .setSize(300,300);this .setContentPane( new JPanel();t his .setVisible( true );init();JTextFieldjTextField1 ;JPasswordFieldjPasswordField1 ;private void init() JLabel jLabel1=newJLabel("管理员登陆");JLabel jLabel2=newJLabel("用户名");JLabel jLabel3=newJLabel("密码");jTextField1 =new JTextField(10);jPasswordField1 =new JPasswordField(10);JButton button1 =newJButton("确定");JButton button2=newJButton("取消");JButton button3=newJButton("修改密码"Box box,box1,box2,box3,box4,box5;box1=Box. createHorizontalBox ();box1.add(jLabel1);box1.add(Box. createHorizontalStrut(10);box2=Box. createHorizontalBox ();box2.add(jLabel2);box2.add(Box. createHorizontalStrut(20);box2.add( jTextField1 );box3=Box. createHorizontalBox ();box3.add(jLabel3);box3.add(Box.createHorizontalStrutbox3.add( jPasswordField1);box4=Box. createHorizontalBox();(20);box4.add(button1);box4.add(Box.createHorizontalStrutbox4.add(button2);box5=Box. createHorizontalBoxbox5.add(button3);box=Box. createVerticalBox();box.add(box1);();(20);box.add(Box. createVerticalStrut box.add(box2);(20);box.add(Box. createVerticalStrut(20);box.add(box3);box.add(Box. createVerticalStrutbox.add(box4);(20);box.add(Box. createVerticalStrut box.add(box5); t his .add(box);(20);button1.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根 /login im=new login();Stringname= jTextField1 .getText(),password=jPasswordField1 .getText();一if (name.equals( "admin" )&&password.equals( "123456") MFrame mi= new MFrame(); dispose。; else JOptionPane. showMessageDialog ( new JFrame( "WARNING"), 用户名或密码错误”); );button2.addActionListener( new ActionListener()Override public void actionPerformed(ActionEvent e) / TODO自动生成的方法存根Main_login frame=new Main_login();dispose。; ); button3.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根MPwd f1= new MPwd();dispose。;);三、主功能界面class MFrame extends JFrame / 主功能界面 public MFrame() this .setTitle( "主要功能");this .setContentPane( new JPanel();this .setSize(350,200);this .setVisible( true ); init();private void init()AttendFrame frame= new AttendFrame(););dispose。;/JButton button1 =newJButton(”员工信息管理”JButton button2=newJButton(”员工出勤信息”JButton button3=newJButton("配置信息");JButton button4=newJButton("退出登陆");Box box1=Box.createHorizontalBox();Box box2=Box. createHorizontalBox ();Box box3=Box. createVerticalBox ();boxl.add(buttonl);box1.add(Box.createHorizontalStrut(10);box1.add(button2);box1.add(Box.createHorizontalStrut(10);box1.add(button3);box2.add(button4);box3.add(box1);box3.add(Box. createVerticalStrut(30);box3.add(box2);this .add(box3);button1.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根Worker_Frame frame= new Worker_Frame(); dispose。;);button2.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e)/ TODO自动生成的方法存根button3.addActionListener(new ActionListener()Override public void actionPerformed(ActionEvent e) / TODO自动生成的方法存根Equ_Frame frame= new Equ_Frame(); dispose。; );button4.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根/Main_login frame= new Main_login(); dispose。;);四、员工信息管理class Worker Frameextends JFrame / 员工信息管理public Worker_Frame() this .setTitle( "员工信息管理”); this .setVisible( true );this .setSize(400,400); init(); JButton buttonl , button2 , button3 , button4 , button5 private void init() buttonl=newJButton("员工信息添加");button2=newJButton("员工信息修改");button3=newJButton("员工信息删除");button4=newJButton("员工信息查询");button5=newJButton("返回");Box box1=Box.createHorizontalBox();Box box2=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box3=Box.createVerticalBox();box1.add(button1);box1.add(Box.createHorizontalStrut(20);box1.add(button2);box2.add(button3);box2.add(Box.createHorizontalStrut(20);box2.add(button4);box4.add(button5);box3.add(box1);box3.add(box2);box3.add(Box. createVerticalStrut(30);box3.add(box4);this .add(box3);button1 .addActionListener(new ActionListener()/ 添力口员工信息Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根WoAddFrame frame= new WoAddFrame(); dispose。;);Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根WoAltFrame frame= new WoAltFrame(); dispose。; );button3 .addActionListener(new ActionListener()/ 删除员工信息Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根WoDelFrame frame= new WoDelFrame(); dispose。; );button4 .addActionListener(new ActionListener()/ 查询员工信息Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根WoSerFrame frame= new WoSerFrame(); dispose。; );button5 .addActionListener(new ActionListener()/ 返回Overridepublic void actionPerformed(ActionEvent e) / TODO自动生成的方法存根 MFrame frame= new MFrame(); dispose。;);五、添加员工class WoAddFrame extends JFrame / 添加员工 private ConnectionDB myCon =new ConnectionDB();privateJButtonYesBtn, NoBtn ;privatestaticJTextFieldwoName, woNo , woAge , woYear , woPosition , woSex , woPassword ;privateJLabel,woSexLabwoNameLabel , woNoLabel , woAgeLabel , woYearLabel , woPositionLabel el , woPasswordLabel ; / 提示区private static Font font =new Font("楷体",Font.BOLD,14);public WoAddFrame() this .setTitle( "添加员工"); this.setBounds(200,200,400, 300);this.setLayout(null);this.setResizable(false);this .setVisible( true ); this.addCompnents();this.add(getwoName ();this.add(getwoNo ();this.add(getwoAge ();this.add(getwoYear ();this.add(getwoPosition();this.add(getwoSex ();this.add(getwoPassword(); privatevoidaddCompnents()woNameLabel =new JLabel( " 员工姓名:" );woNameLabel .setFont( font );woNameLabel .setBounds(70, 10, 70, 20);this .add( woNameLabel );woNoLabel =new JLabel( " 员工编号:" );woNoLabel .setFont( font );woNoLabel .setBounds(70, 30, 70, 20);this .add( woNoLabel );woAgeLabel =new JLabel( " 员工年龄:" );woAgeLabel .setFont( font );woAgeLabel .setBounds(70, 50, 70, 20);this .add( woAgeLabel );woYearLabel =new JLabel( " 入职时间:" );woYearLabel .setFont( font );woYearLabel .setBounds(70, 70, 70, 20);this .add( woYearLabel );woPositionLabel =new JLabel( " 员工职位:" );woPositionLabel .setFont( font );woPositionLabel .setBounds(70, 90, 70, 20);this .add( woPositionLabel );woSexLabel =new JLabel( " 员工性别:" );woSexLabel .setFont(font );woSexLabel .setBounds(70,110,70, 20);this .add( woSexLabel);woPasswordLabel =new JLabel( " 员工密码:" );woPasswordLabel .setFont(font );woPasswordLabel .setBounds(70, 130, 70, 20);this .add( woPasswordLabel);YesBtn = new JButton( " 确定 " );YesBtn .setFont( font );YesBtn .setBounds(100,180,70, 20);this .add( YesBtn );NoBtn = new JButton( " 取消 " );NoBtn .setFont( font );NoBtn .setBounds(180,180,70, 20);Override public void actionPerformed(ActionEvent e) / TODO自动生成的方法存根 Worker_Frame frame=new Worker_Frame();dispose。; ); this .add( NoBtn );YesBtn .addActionListener(new ActionListener()/ 添加确认按钮响应Override public void actionPerformed(ActionEvent e) / TODO自动生成的方法存根 String sql= "insert into staff_info(Sno,Sname,Sage,enter_time,position,sex,password)values("'+woNo .getText()+ "','" + woName .getText()+ "','" +woAge .getText()+ "','" +woYear .getText()+ "','"+woPosition .getText()+"','" +woSex .getText()+ "','" +woPassword .getText()+ "');"try myCon .getStatement().executeUpdate(sql);myCon .breakDB(); catch (SQLException e1) e1.printStackTrace(); OperatSFrame frame= new OperatSFrame(); ); public static JTextField getwoName() if ( woName = null )woName =new JTextField();woName .setBounds(150,10,150,20);woName .setFont( font );woName .setForeground(Color.blue );returnwoName;public static JTextField getwoNo()if ( woNo = null )woNo =new JTextField();woNo .setBounds(150,30,150,20);woNo .setFont( font );woNo .setForeground(Color.blue );return woNo ;public static JTextField getwoAge()if ( woAge = null )woAge =new JTextField();woAge .setBounds(150,50,150,20);woAge .setFont( font );woAge .setForeground(Color.blue );return woAge ;public static JTextField getwoYear()if ( woYear = null )woYear =new JTextField();woYear .setBounds(150,70,150,20);woYear .setFont( font );woYear .setForeground(Color.blue );return woYear ;public static JTextField getwoPosition()if ( woPosit

    注意事项

    本文((考勤管理)课程设计考勤管理系统报告书.docx)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开