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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

考勤管理系统报告书.docx

1、考勤管理系统报告书数据库原理及应用课程设计报告题目:考勤管理系统 -课程设计报告所在学院:信息工程学院班 级:计科1001学 号:101304127姓 名: 徐军指导教师:陈才扣2012年1月4日一、 概述二、需求分析三、概念设计四、逻辑设计五、系统实现六、小结一、概述1.1系统开发的背景与意义1.1.1系统开发背景现在不论哪个企业,都要进行考勤,考勤管理系统利用计算机管理考勤工作, 提高工作效率,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。所以人工考勤已经很难再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进行,

2、使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。对于员工们的出勤率有个明显的记录,对于公司的职员也有基本了解根据出勤情况可以计算员工的实际工资。本文系统的阐述了企业考勤管理设计开发的全过程。包括系统需求调查分析,概念结构设计,逻辑结构设计等部分。1.1.2系统开发意义开发本系统的目的,就是要解决目前企业中关于员工出勤管理中所面临的一系列问题。 考勤系统进行企业管理越来越适应企业的需要,集信息的输入,显示,修改,删除等各种处理,信息维护方便,给公司可以带来很大的便利。开发出企业考勤管理系统能有效地提高企业办事效率,解决目前员工出勤管理问

3、题,实现员工请出勤信息和缺勤信息对企业领导透明,使管理人员及时把握员工的情况,及时与员工沟通,提高生产质量。二、需求分析作为一个考勤系统最重要的功能当数考勤了也就是能够将员工上班签到的日期与时间记录下来。当然记录下签到信息后,应该具有其他的辅助功能比II1查询员工某天的签到情况”、”修改签到情况”、”员工的维护”、”公司上班时间的设置”等下面就本系统完成的功能做一个简单的需求分析。2.1系统功能要求2.1.1功能划分(1)记录每个员工每天所有进入公司的时刻和离开公司的时刻。(2)每天结束时自动统计当天的工作时间(3)每天结束时自动统计当天迟到或早退的次数。(4)对于弹性工作制,每天结束时自动统

4、计当月的工时,并自动算出当月欠缺或富余的时间(5)每个月末统计该月的工作时间判断是否足够(6)每个月末统计该月的工作天数并判断是否足够(7)管理人员查询并修改工作时间(特殊情况下修改)(8)管理人员账户管理(如设置密码等)(9)管理人员设定早退及迟到的条件,每个月的工作时间(10)管理人员设定每个月的工作日期及放假日期1.1.2 功能描述实际的管理和记录工作非常需要快速获知各个部门员工的每日出勤情况,以便于及时向高层管理者反映员工的出勤,缺勤情况。目前,由于负责考勤的员工,工作任务比较多,而且还都是重复数据,让工作者没有办法及时的向上报告。工作问题不能及时处理。针对以上的情况,我们提出企业考勤

5、管理系统,实现网上考勤任务,以减轻考勤人员的工作量。我公司准备开发员工考勤管理系统,完成员工基本信息维护、企业的部门信息维护、企业基本考勤类型的维护、员工考勤的管理、员工考勤的查询与分析。实现人事考勤的需要,包括员工迟到、早退的情况的记录,在每个月底计算工资对员工和对员工进行绩效评估的时候,对员工整个月的考勤记录进行查询和统计。2.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处

6、理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。考勤系统管理考勤系统管理系统整合系统记录时刻统计工作时间统计迟到早退次数统计工时判断工作时间足够判断工作天数足够设置密码设定迟到早退条件设定工作放假日期查询修改工作时间2.3系统层次划分2.4数据流图顶层数据流图考勤管理系统员工登陆管理员帐号和 核对密码 查询考勤统计考勤统计密码 录入进出情况录入迟到情况录入早退情况录入工作时间情况刷卡员工进出时间信息 数据统计考勤管理分析数据进出记录 迟到记录早退记录 时间记录统计所有记录

7、的信息月度考勤统计管理员 工作日期及放假日期2.5数据字典(1),数据项描述数据项别名类型长度取值范围 员工工号Snochar90000000至9999999员工姓名Snamechar10员工性别Ssexchar1“男”或“女”入职时间enter_timechar2000至2050员工年龄Sagesmallint20至70职位positionChar10数据项描述表(2)数据结构描述数据结构说明组成员工信息是考勤管理子系统的主体数据结构,定义了一个员工的有关信息员工编号,员工姓名,员工性别,出生日期,职位,密码部门信息是考勤管理子系统的主体数据结构,定义了一个部门的有关信息部门编号,部门名称数

8、据结构描述(3)数据流描述数据流说明数据流来源数据流去向组成核对密码根据不同人员相应的权限登录时的信息考勤管理系统管理员的帐号密码与普通员工的帐号密码完整的考勤数据员工的考勤数据月度考勤统计工资评估月度考勤编号、员工编号、日期、累计正常工作时间迟到次数、早退次数、旷工次数数据流描述(4)数据存储数据存储说明流入数据流流出数据流组成存取方式月度考勤统计记录员工每月的考勤情况一个月的信息统计统计好的考勤数据月度考勤编号、员工编号、日期、正常工作时间、迟到次数、早退次数、旷工次数更新,顺序检索数据存储三、概念设计员 工员工号员工姓名员工性别员工年龄职 位密 码入职时间3.1概念模型员工属性图管理员属

9、性图 m n n四、逻辑设计4.1关系模式员工信息(工号,姓名,性别,年龄,职位,密码,入职时间)记录数据(工号,上班的小时,下班的小时,上班的分钟,下班的分钟,每天工作时间)统计数据(工号,剩余的时间,迟到的次数,早退的次数,工作天数)管理员(管理员号,姓名,性别,年龄)每天统计信息表(工号,姓名,小时,分钟,动作,时间) 其中动作指的时入或离开公司员工表(employee)列名别名类型长度备注工号Snochar9primary key员工姓名Snamechar10员工性别Ssexchar1年龄Sageint3职位Positionchar10密码Passwordchar6入职时间Enter_

10、timechar10员工表记录数据表(data_record):列名别名类型长度备注员工号Snochar9primary key上班的小时arrive_hourchar2上班的分钟arrive_minutechar4上班的小时leave_hourchar4下班的分钟leave_minutechar4每天工作时间Everyday_timechar4记录数据表每天统计信息表everyday_statistics列名别名类型长度备注员工号SnoChar9primary key员工姓名SnameChar10时间HourChar2分钟MinuteChar2动作Actionchar8时间Timechar4

11、统计信息表月统计数据表(everymonth_statistics):列名别名类型长度备注员工号Snochar9primary key员工姓名SnameChar10剩余的时间remain_timechar4迟到的次数Late_timessmallint2早退的次数Early_timessmallint2工作天数Work_daysmallint2统计数据表管理员表(Administrator)列名别名类型长度备注管理员号anobigint6primary key姓名anamechar20性别asexchar2年龄aageint3管理员表五、系统实现一、登陆界面package kaoqin;imp

12、ort 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

13、;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);

14、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.get

15、ActionCommand()=普通用户) 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

16、(len=in.read()!=-1) flag=1; /已创建了数据库,置1 in.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(

17、1); out.close(); catch (IOException e) e.printStackTrace(); Main_login frame1=new Main_login(); frame1.setVisible(true); 二、管理员登陆界面classloginextends JFrame /管理员登陆界面public login() this.setTitle(管理员登陆界面);this.setSize(300,300);this.setContentPane(new JPanel();this.setVisible(true); init(); JTextField jT

18、extField1; JPasswordField jPasswordField1;privatevoid init() JLabel jLabel1=new JLabel(管理员登陆); JLabel jLabel2=new JLabel(用户名); JLabel jLabel3=new JLabel(密码);jTextField1=new JTextField(10);jPasswordField1=new JPasswordField(10); JButton button1=new JButton(确定); JButton button2=new JButton(取消); JButto

19、n button3=new JButton(修改密码); 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();

20、box3.add(jLabel3); box3.add(Box.createHorizontalStrut(20); box3.add(jPasswordField1); box4=Box.createHorizontalBox(); box4.add(button1); box4.add(Box.createHorizontalStrut(20); box4.add(button2); box5=Box.createHorizontalBox(); box5.add(button3); box=Box.createVerticalBox(); box.add(box1); box.add(B

21、ox.createVerticalStrut(20); box.add(box2); box.add(Box.createVerticalStrut(20); box.add(box3); box.add(Box.createVerticalStrut(20); box.add(box4); box.add(Box.createVerticalStrut(20); box.add(box5);this.add(box); button1.addActionListener(new ActionListener() Overridepublicvoid actionPerformed(Actio

22、nEvent e) / TODO 自动生成的方法存根/ login im=new login(); String name=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

23、ActionListener() Overridepublicvoid actionPerformed(ActionEvent e) / TODO 自动生成的方法存根 Main_login frame=new Main_login(); dispose(); ); button3.addActionListener(new ActionListener() Overridepublicvoid actionPerformed(ActionEvent e) / TODO 自动生成的方法存根 MPwd f1=new MPwd(); dispose(); ); 三、主功能界面classMFramee

24、xtends JFrame /主功能界面public MFrame() this.setTitle(主要功能);this.setContentPane(new JPanel();this.setSize(350,200);this.setVisible(true); init(); privatevoid init() JButton button1=new JButton(员工信息管理); JButton button2=new JButton(员工出勤信息); JButton button3=new JButton(配置信息); JButton button4=new JButton(退出

25、登陆);Box box1=Box.createHorizontalBox();Box box2=Box.createHorizontalBox();Box box3=Box.createVerticalBox(); box1.add(button1); 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.createV

26、erticalStrut(30); box3.add(box2);this.add(box3); button1.addActionListener(new ActionListener() / Overridepublicvoid actionPerformed(ActionEvent e) / TODO 自动生成的方法存根 Worker_Frame frame=new Worker_Frame(); dispose(); ); button2.addActionListener(new ActionListener() / Overridepublicvoid actionPerforme

27、d(ActionEvent e) / TODO 自动生成的方法存根 AttendFrame frame=new AttendFrame(); dispose(); ); button3.addActionListener(new ActionListener() / Overridepublicvoid actionPerformed(ActionEvent e) / TODO 自动生成的方法存根 Equ_Frame frame=new Equ_Frame(); dispose(); ); button4.addActionListener(new ActionListener() / Overridepublicvoid actionPerformed(ActionEvent e) / TODO 自动生成的方法存根 Main_login frame=new Main_login()

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

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