企业员工考勤管理信息系统课程设计指导书).doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 员工 考勤 管理信息系统 课程设计 指导书
- 资源描述:
-
《数据库系统原理课程设计报告》 考勤管理系统 学生姓名: 系 别: 班 级: 专 业: 指导教师: 职工考勤管理信息系统的设计与实现 一、绪论 随着科学技术的不断发展,计算机科学日渐进步,其强大的功能耳闻目睹,它已进入人类社会的各个领域并发挥着越来越重要的作用。由于在之前学习课程像c++等的课程设计中遇到过要求实现功能与此实验相似的情况,所以选择此课题作为课程设计作业。此职工考勤管理信息系统的实现利用了计算机的相关技术,满足了单位日常考勤管理的需求,使单位考勤过程更加快速,安全,高效的信息管理系统。本系统基于C/S模式,采用java语言与SQL SERVER 2000数据库开发完成,实现了职工出差信息管理,职工请假信息管理功能。其中职工出差信息管理主要包括出差起始时间、结束时间、统计总共天数等,职工请假信息管理主要包括请假开始时间,结束时间,统计请假天数等。本系统能基本满足用户在考勤管理方面的需求,界面较简洁,符合用户使用习惯能实际地提高单位的考勤管理的效率。 二、系统分析 随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。。 本实验实现的职工信息管理系统主要包括以下功能: (1)提供简单、方便的操作; (2)根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能; (3)通过考勤管理无纸化的实现,使企业的考勤管理更加科学规范; (4)节省考勤管理的成本; (5)对系统提供必要的权限管理,具备一定的安全性管理功能。包括输入登录用户名和密码; (6)为企业实现整体信息化的其他相关系统提供必要的数据支持; (7) 完成数据的录入和修改,并提交数据库保存。其中的数据包括:出差信息、请假信息; (8)系统功能基本要求:出差信息,包括出差起始时间、结束时间、统计总共天数等;请假信息,包括请假开始时间,结束时间,统计请假天数等; 三、系统设计 3.1功能模块设计 本系统采用C/S体系结构,客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,采用PowerBuilder9作为开发工具;服务器端则用于提供数据服务,采用SQL Server2000作为数据库管理系统。 本系统按照功能划分为以下四个模块:职工请假信息管理(包括请假开始时间,结束时间,统计请假天数等),职工出差信息管理(包括出差起始时间、结束时间、统计总共天数等)系统的功能模块图如图1所示: 职工考勤管理信息系统 请假信息管理 出差信息管理 图1 系统的功能模块图 3.2数据库设计 3.2.1数据库概念结构设计 本系统主要有职工信息、出差信息、请假信息、加班信息、出勤信息和职工考勤信息六个实体集。一个职工考勤信息包含有一个职工信息、一个出差信息、一个请假信息、一个出勤信息和一个加班信息。每个信息中又由多个属性组成。 (1)每个本系统的E-R图如图2.1所示: 用户 口令 用户名 图2.1 系统的E-R图 (2)图2.2为出差E-R图 出差记录 职工编号 出差编号 缺勤记录 开始时间 结束时间 图2.2 系统的职工出差E-R图 (3)图2.3为请假E-R图 请假记录 请假编号 编号 请假统计 开始时间 结束时间 图2.3 系统中职工请假E-R图 3.2.2数据库逻辑结构设计 在物理结构中,数据的基本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。 根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型: evection(Wnum,Wname,Wleave,Wreturn,Wdays) 其中各项含义分别为:出差信息(职工编号,职工姓名,出差开始时间,出差结束时间,出差天数) vacation(Wnum,Wname,Wstart,Wend,Wvadays) 其中各项含义分别为:请假信息(职工编号,职工姓名,请假开始时间,请假结束时间,请假天数) load(User,psw) 其中各项含义分别为:登录(用户名,口令) 根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下: 表1 出差信息表evecion的表结构 主码 列 名 数据类型 宽度 小数位 空否 备 注 Pk Wnum Char 20 N 职工编号 Pk Wname Char 20 Y 姓名 Wleave Datetime Y 出差开始时间 Wreturn Datetime Y 出差结束时间 Wdays Smallint Y 出差天数 创建表1的SQL语句如下: create table evection ( Wnum char(20), Wname char(10), primary key(Wnum,Wname), foreign key (Wnum,Wname) references zhigongxinxi4(Wnum,Wname) on delete cascade on update cascade, Wleave datetime, Wreturn datetime, Wdays smallint, ) 表2 请假信息表vacation的表结构 主码 列 名 数据类型 宽度 小数位 空否 备 注 Pk Wnum Char 20 N 职工编号 Wname Char 20 N 姓名 Wstart Datetime Y 请假开始时间 Wend Datetime Y 请假结束时间 Wvadays Smallint Y 请假天数 创建表3的SQL语句如下: create table qingjia ( Wnum char(20), Wname char(10), primary key (Wnum,Wname), foreign key (Wnum,Wname) references zhigongxinxi4(Wnum,Wname) on delete cascade on update cascade, Wstart datetime, Wend datetime, Wvadays smallint, ) 表3 登录表load的表结构 主码 列 名 数据类型 宽度 小数位 空否 备 注 Pk User Char 20 N 用户名 psw Char 20 Y 口令 创建表3的SQL语句如下: create table load ( User char(20) primary key, psw char(20), ) 四、系统实现 结合Eclipse进行数据库应用开发的特点,设计过程可按如下步骤进行: l 创建主函数,设计一个Frame框架,用来调用相关类的实例,实现操作功能; l 创建职工请假类和出差类; l 创建类的事件监听,用来响应添加,查询,浏览,删除等功能; l 创建数据窗口和数据源,将数据库与应用程序相连接; l 创建各个类的窗口中放置所需控件和可视化用户图形界面。 4.1 创建主函数,设计一个Frame框架,用来调用相关类的实例,实现操作功能; 利用Eclipse创建工程WorkManage,进一步创建包workManageg,在创建主类名为WorkManage,注释为“职工考勤信息管理系统”。按照下面的方法,编写相应代码: ⑴点击“新建类”新建一个类,名为“WorkManage”。 ⑵创建主函数,并创建一个Frame容器用来添加各种组件,程序代码如下: package workManae; /* 职工考勤信息管理管理系统。程序名:WorkManage.java * */ 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.util.*; import java.applet.*; class WorkManage4 { public static void main(String args[]) throws ParseException{ dbframe db = new dbframe("职工考勤信息管理系统"); } } // 职工考勤信息管理系统主界面 class dbframe extends Frame implements ActionListener { //成员变量 //登录 boolean canLogin; Label labelLogIn = new Label("系统登录"); Label labelUser=new Label("用户名:"); Label labelPassword=new Label("口令:"); TextField textFieldUser=new TextField(); TextField textFieldPassword=new TextField(); JButton jButtonConfirm=new JButton("确定"); JButton jButtonExit=new JButton("退出"); String user = new String(); String tuser = new String(); String tpassword = new String(); // //登录 MenuBar navigation = new MenuBar(); // 建立菜单栏 // 建立“功能”菜单组 Menu menuWorkerInformation=new Menu("职工信息"); Menu menuWentOnErrands=new Menu("出差管理"); Menu menuGoToWork=new Menu("出勤管理"); Menu menuLeave=new Menu("请假管理"); Menu menuWorkOverTime=new Menu("加班管理"); Menu menuSystemManage=new Menu("系统管理"); // 建立“帮助”菜单组 } 4.2创建请假类和出差类; 1.出差类 MenuItem menuItemWentOnErrandsQuery = new MenuItem("查询出差记录"); MenuItem menumItemWentOnErrandsAddtion= new MenuItem("添加出差记录"); MenuItem menuItemWentOnErrandsDelete= new MenuItem("删除出差记录"); MenuItem menuItemWentOnErrandsModify= new MenuItem("修改出差记录"); MenuItem menuItemchuchailiulan = new MenuItem("浏览出差记录"); //出差查询 class Panelchuchaichaxun extends Panel implements ActionListener { Choice cchaxun; TextField tchaxun; Button btnchaxun; TextArea tachaxun; Panelchuchaichaxun() { setLayout(null); cchaxun = new Choice(); // 创建下拉菜单 cchaxun.add("职工编号"); cchaxun.add("职工姓名"); tchaxun = new TextField(); btnchaxun = new Button("查询"); // 创建按钮 tachaxun = new TextArea(); // 创建多行文本框 add(cchaxun); add(tchaxun); add(btnchaxun); add(tachaxun); tchaxun.setText(""); cchaxun.setBounds(10, 60, 70, 20); tchaxun.setBounds(85, 60, 180, 20); btnchaxun.setBounds(275, 60, 40, 20); tachaxun.setBounds(10, 90, 305, 145); cchaxun.select(0); // 下拉菜单的初始选项 setSize(340, 250); // 设置窗口大小 setBackground(Color.white); setVisible(true); btnchaxun.addActionListener(this); validate(); } //出差修改 class Panelchuchaixiugai extends Panel implements ActionListener { TextField textFieldWorkerName, textFieldWorkerNumber, textFieldchuchaiqishiriqi, textFieldchuchaijieshuriqi, textFieldchuchaitianshu; Label labelWorkerName, labelWorkerNumber, labelchuchaiqishiriqi, labelchuchaijieshuriqi, labelchuchaitianshu; Button btn; Panelchuchaixiugai() { setLayout(null); btn = new Button("添加"); // 创建“添加”按钮 textFieldWorkerName = new TextField(); textFieldWorkerNumber = new TextField(); textFieldchuchaiqishiriqi = new TextField(); textFieldchuchaijieshuriqi = new TextField(); textFieldchuchaitianshu = new TextField(); labelWorkerName = new Label("职工姓名:"); labelWorkerNumber = new Label("职工编号:"); labelchuchaiqishiriqi = new Label("出差开始日期:"); labelchuchaijieshuriqi = new Label("出差结束日期:"); labelchuchaitianshu = new Label("出差天数:"); add(labelWorkerName); add(textFieldWorkerName); add(labelWorkerNumber); add(textFieldWorkerNumber); add(labelchuchaiqishiriqi); add(textFieldchuchaiqishiriqi); add(labelchuchaijieshuriqi); add(textFieldchuchaijieshuriqi); add(labelchuchaitianshu); add(textFieldchuchaitianshu); add(btn); // 添加“按钮”到窗口面板上 labelWorkerName.setBounds(10, 60, 70, 25); textFieldWorkerName.setBounds(90, 60, 220, 25); labelWorkerNumber.setBounds(10, 90, 70, 25); textFieldWorkerNumber.setBounds(90, 90, 220, 25); labelchuchaiqishiriqi.setBounds(10, 120, 80, 25); textFieldchuchaiqishiriqi.setBounds(90, 120, 220, 25); labelchuchaijieshuriqi.setBounds(10, 150, 80, 25); textFieldchuchaijieshuriqi.setBounds(90, 150, 220, 25); labelchuchaitianshu.setBounds(10, 180, 70, 25); textFieldchuchaitianshu.setBounds(90, 180, 220, 25); btn.setBounds(130, 250, 70, 25); // 设置按钮位置 btn.addActionListener(this); // 设置按钮监听 setSize(340, 300); // 设置窗口大小 setBackground(Color.white); // 设置窗口背景颜色 setVisible(true); validate(); } //出差浏览 class Panelchuchailiulan extends Panel implements ActionListener { Button btnliulan; TextArea tachaxun; Panelchuchailiulan() { setLayout(null); btnliulan = new Button("浏览职工出差记录"); // 创建按钮 tachaxun = new TextArea(); // 创建多行文本框 add(btnliulan); add(tachaxun); //tchaxun.setText(""); //cchaxun.setBounds(10, 60, 70, 20); //tchaxun.setBounds(85, 60, 180, 20); btnliulan.setBounds(75, 60, 100, 20); tachaxun.setBounds(10, 90, 400, 200); setSize(500, 400); // 设置窗口大小 setBackground(Color.white); setVisible(true); btnliulan.addActionListener(this); validate(); } //职工出差添加 class Panelchuchaitianjia extends Panel implements ActionListener { TextField textFieldWorkerName, textFieldWorkerNumber, textFieldchuchaiqishiriqi, textFieldchuchaijieshuriqi; Label labeltongjitianshu; Label labelWorkerName, labelWorkerNumber, labelchuchaiqishiriqi, labelchuchaijieshuriqi, labelchuchaitianshu; Button btnchuchaitianshu; Button btn; Panelchuchaitianjia() { setLayout(null); btn = new Button("添加"); // 创建“添加”按钮 btnchuchaitianshu = new Button("统计出差天数"); textFieldWorkerName = new TextField(); textFieldWorkerNumber = new TextField(); textFieldchuchaiqishiriqi = new TextField(); textFieldchuchaijieshuriqi = new TextField(); labeltongjitianshu = new Label(); labelWorkerName = new Label("职工姓名:"); labelWorkerNumber = new Label("职工编号:"); labelchuchaiqishiriqi = new Label("出差开始日期:"); labelchuchaijieshuriqi = new Label("出差结束日期:"); labelchuchaitianshu = new Label("出差天数:"); add(labelWorkerName); add(textFieldWorkerName); add(labelWorkerNumber); add(textFieldWorkerNumber); add(labelchuchaiqishiriqi); add(textFieldchuchaiqishiriqi); add(labelchuchaijieshuriqi); add(textFieldchuchaijieshuriqi); add(labelchuchaitianshu); add(labeltongjitianshu); add(btnchuchaitianshu); add(btn); // 添加“按钮”到窗口面板上 labelWorkerName.setBounds(10, 60, 70, 25); textFieldWorkerName.setBounds(90, 60, 220, 25); labelWorkerNumber.setBounds(10, 90, 70, 25); textFieldWorkerNumber.setBounds(90, 90, 220, 25); labelchuchaiqishiriqi.setBounds(10, 120, 80, 25); textFieldchuchaiqishiriqi.setBounds(90, 120, 220, 25); labelchuchaijieshuriqi.setBounds(10, 150, 80, 25); textFieldchuchaijieshuriqi.setBounds(90, 150, 220, 25); labelchuchaitianshu.setBounds(10, 180, 70, 25); labeltongjitianshu.setBounds(90, 180, 220, 25); labeltongjitianshu.setBackground(Color.cyan); btnchuchaitianshu.setBounds(100,220,80,25); btn.setBounds(220, 220, 70, 25); // 设置按钮位置 btn.addActionListener(this); // 设置按钮监听 btnchuchaitianshu.addActionListener(this); setSize(340, 300); // 设置窗口大小 setBackground(Color.white); // 设置窗口背景颜色 setVisible(true); validate(); } 图3 出差类的图形界面 2.请假类 MenuItem menuItemLeaveQuery = new MenuItem("查询请假记录"); MenuItem menumItemLeaveAddtion= new MenuItem("添加请假记录"); MenuItem menuItemLeaveDelete= new MenuItem("删除请假记录"); MenuItem menuItemLeaveModify= new MenuItem("修改请假记录"); MenuItem menuItemqingjialiulan= new MenuItem("浏览请假记录"); //请假查询 class Panelqingjiachaxun extends Panel implements ActionListener { Choice cchaxun; TextField tchaxun; Button btnchaxun; TextArea tachaxun; Panelqingjiachaxun() { setLayout(null); cchaxun = new Choice(); // 创建下拉菜单 cchaxun.add("职工编号"); cchaxun.add("职工姓名"); tchaxun = new TextField(); btnchaxun = new Button("查询"); // 创建按钮 tachaxun = new TextArea(); // 创建多行文本框 add(cchaxun); add(tchaxun); add(btnchaxun); add(tachaxun); tchaxun.setText(""); cchaxun.setBounds(10, 60, 70, 20); tchaxun.setBounds(85, 60, 180, 20); btnchaxun.setBounds(275, 60, 40, 20); tachaxun.setBounds(10, 90, 305, 145); cchaxun.select(0); // 下拉菜单的初始选项 setSize(340, 250); // 设置窗口大小 setBackground(Color.white); setVisible(true); btnchaxun.addActionListener(this); validate(); } //请假浏览 class Panelqingjialiulan extends Panel implements ActionListener {// 请假类 Button btnliulan; TextArea tachaxun; Panelqingjialiulan() { setLayout(null); btnliulan = new Button("浏览职工请假记录"); // 创建按钮 tachaxun = new TextArea(); // 创建多行文本框 tachaxun.setEditable(false); add(btnliulan); add(tachaxun); btnliulan.setBounds(75, 60, 100, 20); tachaxun.setBounds(10, 90, 400, 200); setSize(500, 400); // 设置窗口大小 setBackground(Color.white); setVisible(true); btnliulan.addActionListener(this); validate(); } //请假修改 class Panelqingjiaxiugai extends Panel implements ActionListener { TextField textFieldWorkerName, textFieldWorkerNumber, textFieldqingjiakaishi, textFieldqingjiajieshu, textFieldqingjiatianshu; Label labelWorkerName, labelWorkerNumber, labelqingjiakaishi, labelqingjiajieshu, labelqingjiatianshu; Button btn; Panelqingjiaxiugai() { setLayout(null); btn = new Button("添加"); // 创建“添加”按钮 textFieldWorkerName = new TextField(); textFieldWorkerNumber = new TextField(); textFieldqingjiakaishi = new TextField(); textFieldqingjiajieshu = new TextField(); textFieldqingjiatianshu = new TextField(); labelWorkerName = new Label("职工姓名:"); labelWorkerNumber = new Label("职工编号:"); labelqingjiakaishi = new Label("请假开始日期:"); labelqingjiajieshu = new Label("请假结束日期:"); labelqingjiatianshu = new Label("请假天数:"); add(labelWorkerName); add(textFieldWorkerName); add(labelWorkerNumber); add(textFieldWorkerNumber); add(labelqingjiakaishi); add(textFieldqingjiakaishi); add(labelqingjiajieshu); add(textFieldqingjiajieshu); add(labelqingjiatianshu); add(textFieldqingjiatianshu); add(btn); // 添加“按钮”到窗口面板上 labelWorkerName.setBounds(10, 60, 70, 25); textFieldWorkerName.setBounds(90, 60, 220, 25); labelWorkerNumber.setBounds(10, 90, 70, 25); textFieldWorkerNumber.setBounds(90, 90, 220, 25); labelqingjiakaishi.setBounds(10, 120, 80, 25); textFieldqingjiakaishi.setBounds(90, 120, 220, 25); labelqingjiajieshu.setBounds(10, 150, 80, 25); textFieldqingjiajieshu.setBounds(90, 150, 220, 25); labelqingjiatianshu.setBounds(10, 180, 80, 25); textFieldqingjiatianshu.setBounds(90, 180, 220, 25); btn.setBounds(130, 250, 70, 25); // 设置按钮位置 btn.addActionListener(this); // 设置按钮监听 setSize(340, 300); // 设置窗口大小 setBackground(Color.white); // 设置窗口背景颜色 setVisible(true); validate(); } //请假添加 class Panelqingjiatianjia extends Panel implements ActionListener { TextField textFieldWorkerName, textFieldWorkerNumber, textFieldqingjiakaishi, textFieldqingjiajieshu;展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




企业员工考勤管理信息系统课程设计指导书).doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/9770352.html