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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

Java课程设计报告.docx

1、Java课程设计报告合肥学院计算机科学与技术系课程设计报告20102011学年第二学期课程Java语言程序设计课程设计名称企业人事管理系统专业班级08网络工程(1)班姓名陈涛指导教师金莹 郭昌建2011年9月一、需求分析 系统需求分析:考察中小企业企业,要求设计一套人事管理系统,其中应具有一定的人事档案管理功能。企业人事管理系统是企业进行管理的不可缺少的一部分。职工的个人信息,各部门的信息,以及职工和部门之间的联系。职工的考勤,职务,部门等。为了方便企业领导掌握本企业的人事信息,在系统中加入查询功能,包括职工的所有信息。还加入了对人事变动(删除、添加、修改)的功能。高效的人事管理系统是中小企业

2、系统之所需。本系统的具体要求为:1 能全面管理公司人事管理中的各类主体,如人员信息查询,人员信息更新,人员添加,部门分配等;2 通过计算机能方便的维护(包括插入,删除,修改更新等)各类信息表;3 能通过开发语言实现对数据库的操作,查询基于某个信息表的所须信息;4 系统具有操作方便,简捷等特点。 功能需求分析:. 在数据库服务器如SQL Server 2000中,建立个关系模式对应的库表,并确定主键,索引,参照完整性,用户自定义完整性等。 能对各库表进行输入,修改,删除,添加,查询等基本操作。 能实现如下各类查询: 能统计职工的基本情况,如部门,姓名,年龄,性别等 能够统计职工在出勤方面的情况

3、要求所设计系统界面友好,功能安排合理,操作使用方便,并能进一步考虑子系统在安全性,完整性,并发控制,备份恢复等方面的功能要求二. 设计1设计思想: 这个题目主要是通过在界面上进行操作从而对数据库里的内容进行添加、删除、修改等各项操作。首先对数据库进行设计,新建一个数据库,在这个数据库里建7个表,按照题目需要对各表进行设计。进行界面设计的时候,因为要在主程序界面上进行操作,所以需要在设计时需要设计一个主函数,在主函数上进行操作,根据需要调用不同的子程序进行不同的功能操作。2功能设计 根据本次课程设计的要求,将该程序的功能设计如下:运行主程序,进入操作界面,通过链接数据库,对该程序进行各项操作。进

4、入主界面以后,管理员可以对数据库里各员工的信息进行插入、删除、更新、查询等各项操作,临时添加的用户只能对数据库里的信息进行查询。进行各项操作后,会显示相应的信息,并以此对原本数据库信息进行更新。3. 数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库的结构设计的好坏直接影响了数据库的效率。 在充分需求分析的基础上,经过逐步的抽象,概括,分析,充分研讨,可画出如下反映人事管理系统的E-R图:用户实体图: 用户名用户密码员工基本信息实体及联系图: 姓名 性别 籍贯 年龄 生日 学历 专业 住址邮编 员工编号 电话起薪时间 参加工作时间 进入公司时间 原部门 现部门 员工调入基本信息实体

5、及联系图: 考试情况 调入理由单位意见 员工姓名 备注 员工调出基本信息实体及联系图 员工姓名 调出理由单位意见 员工编号 备注员工考勤信息表:姓名 当前日期 上班时间 下班时间 病假 员工编号 事假 特殊加班天数 正常加班天数 出差目的地 出差天数上下班时间表: 上班时间时间表下班时间员工考勤信息统计表: 姓名 员工编号 迟到次数 早退次数4详细设计 数据库详细设计:新建一个数据库,在其中建立7个不同的表格,分别记录为:上下班时间表,员工信息表,员工考勤信息统计表,员工考勤表,员工调入信息表,员工调出信息表,用户表。CREATE TABLE 上下班时间表 ( 上班时间 char (10) C

6、OLLATE Chinese_PRC_CI_AS NOT NULL , 下班时间 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON PRIMARYGOCREATE TABLE 员工信息表 ( 员工编号 char (53) COLLATE Chinese_PRC_CI_AS NOT NULL , 员工姓名 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 性别 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 籍贯 char (10) COLLATE Chin

7、ese_PRC_CI_AS NOT NULL , 年龄 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 生日 char (10) COLLATE Chinese_PRC_CI_AS NULL , 学历 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 专业 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 住址 char (60) COLLATE Chinese_PRC_CI_AS NOT NULL , 邮编 char (53) COLLATE Chinese_

8、PRC_CI_AS NOT NULL , 电话 char (53) COLLATE Chinese_PRC_CI_AS NOT NULL , 参加工作时间 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 进入公司时间 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 原部门 char (10) COLLATE Chinese_PRC_CI_AS NULL , 现部门 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 起薪时间 char (10) COLLATE

9、Chinese_PRC_CI_AS NOT NULL , 职务 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 备注 char (60) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOCREATE TABLE 员工考勤信息统计表 ( 员工编号 char (53) COLLATE Chinese_PRC_CI_AS NOT NULL , 员工姓名 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 迟到次数 char (10) COLLATE Chinese_PRC

10、_CI_AS NULL , 早退次数 char (10) COLLATE Chinese_PRC_CI_AS NULL , 病假天数 char (10) COLLATE Chinese_PRC_CI_AS NULL , 事假天数 char (10) COLLATE Chinese_PRC_CI_AS NULL , 总请假天数 char (10) COLLATE Chinese_PRC_CI_AS NULL , 总出差天数 char (10) COLLATE Chinese_PRC_CI_AS NULL , 总加班天数 char (10) COLLATE Chinese_PRC_CI_AS NU

11、LL ) ON PRIMARYGOCREATE TABLE 员工考勤表 ( 员工编号 char (53) COLLATE Chinese_PRC_CI_AS NOT NULL , 当前日期 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 上班时间 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 下班时间 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 病假 char (10) COLLATE Chinese_PRC_CI_AS NULL , 事假 char

12、(10) COLLATE Chinese_PRC_CI_AS NULL , 特殊加班天数 char (10) COLLATE Chinese_PRC_CI_AS NULL , 正常加班天数 char (10) COLLATE Chinese_PRC_CI_AS NULL , 出差目的地 char (10) COLLATE Chinese_PRC_CI_AS NULL , 出差天数 char (10) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOCREATE TABLE 员工调入信息表 ( 员工姓名 char (10) COLLATE Chinese

13、_PRC_CI_AS NOT NULL , 考试成绩 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 调入理由 char (100) COLLATE Chinese_PRC_CI_AS NULL , 单位意见 char (100) COLLATE Chinese_PRC_CI_AS NULL , 备注 char (100) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOCREATE TABLE 员工调出信息表 ( 员工编号 char (53) COLLATE Chinese_PRC_CI_AS NOT N

14、ULL , 员工姓名 char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , 调出理由 char (100) COLLATE Chinese_PRC_CI_AS NULL , 单位意见 char (100) COLLATE Chinese_PRC_CI_AS NULL , 备注 char (100) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYGOCREATE TABLE 用户表 ( 用户名 char (53) COLLATE Chinese_PRC_CI_AS NOT NULL , 密码 float NULL )

15、 ON PRIMARYGO主要程序设计:1 Denglu.java:登录界面的设计,设计3个标签分别记录地址、用户名、密码、设计两个明文文本框,分别输入地址和用户名,设计一个密文文本框,输入密码,保证输入的密码不可见,在登录后,就连接到数据库,并将连接保存到线程中,这样就保证了数据库操作的及时性和高效性。2 Caozuo.java:主界面的设计,各个功能按钮、菜单的设计,在主程序中,利用线程技术,主程序界面能显示当前具体的日期时间,在未登录前,主程序的关键按钮和菜单项不可用,当判断到用户登录后关键按钮设为可用,保证了程序使用过程中的安全性。3 JDBC.java:sqlserver2000数据

16、库驱动,完成加载驱动、建立数据库连接、关闭数据库连接等功能,建立的数据库连接保存到线程中。4 BaseDao.java:主要执行数据库语言插入、修改、删除等操作,发送数据库语言到数据库执行,执行成功后返回true,否则返回false。5 Dao.java:继承BaseDao.java类,实现具体的每个表的数据库操作,包括查询、查询、修改、添加等功能,其中的删除、修改、添加继承BaseDao.Java类的方法。6 Permessage.java:实现员工基本信息的管理界面以及功能的设计,在此要对登录用户进行判断,若是普通用户,只能使用查询按钮,只有管理员账户,才能进行各项操作。7 Work.ja

17、va:实现员工考勤信息的管理界面以及功能模块的设计,在此要对登录用户判断,若是普通用户,只能使用查询按钮,只有管理员账户,才能进行各项操作。 三. 调试及测试1、调试过程中遇到的主要问题及解决方法 在进行程序运行的时候,因为使用的数据库版本不一致,所以必须在机器上安装新的数据库驱动,并且对环境变量进行设置。在数据库驱动加载成功以后,会出现操作界面,但是单击登录,程序停滞,并且会显示加载数据库失败,经检查发现,这是因为在数据库进行设置的时候没有对数据库登录用户的属性进行设置,需要对数据库访问和数据库角色进行设置,才能进行具体操作。2、对设计和编码的回顾讨论和分析; 程序连接到本地或者远程数据库,

18、这种机制对数据库的安全性起到了有效的保证,在程序中用户分为普通用户和管理员用户,权限分配合理,这样又保证了程序运行的安全性和数据库操作的安全性。程序中的密码存在缺点,本次设计只使用float类型的密码,密码存在不健壮性。在程序中对两次线程的使用,恰到好处,保证操作的及时性以及准确性。在程序输出查询结果后放到二维表中,在将二维表放到对话框中。3、程序运行的时空效率分析数据库登录连接后就一直保存在线程中,占用系统资源;时间显示中使用线程,占用系统资源数据库一直连接中,占用网络通信资源4、测试数据集四、经验和体会。 在这次课程设计中,对JAVA开发语言有了进一步的了解和掌握确立好的实体模型是最基本的

19、,一个好的实体模型会使数据库查询更加方便,数据冗余也会很小。在建立数据库过程中,一些数据库语言掌握不是很熟练,只有通过不断的学习和练习,熟悉掌握宿主语言,充实自己的经验,才能逐渐独立建立好的数据库。 这次实验安排两个人一组,相互之间有所讨论,并在一些有分歧的地方交换了意见,最终达到一致。通过这次课程设计,不仅仅对自己所学的Java知识和数据库有了更深一步的认识,并且还很好的培养了我们相互协作的能力,这对我们以后学习工作有所帮助。附录:主要源程序操作主程序:import java.awt.*;import java.awt.event.*;import javax.swing.*;import

20、javax.swing.event.*;import java.io.*;import .*;import java.util.*;import java.util.Date;import java.sql.*;import java.applet.Applet;import java.*;public class caozuo extends JFrame implements ActionListener public static Image icon,pic;/程序图标 public static JLabel status; public static JButton b1,b2,b

21、3,b4,b5,b6,b7; JLabel time0,time1,time2,time3;/建立菜单 JMenuBar jmenubar=new JMenuBar();/建立菜单组 JMenu startmenu=new JMenu(开始(V));/建立菜单项 public static JMenuItem b7item=new JMenuItem(登录(P); public static JMenuItem b1item=new JMenuItem(系统人员信息管理(S)); public static JMenuItem b2item=new JMenuItem(员工基本信息管理(T))

22、; public static JMenuItem b3item=new JMenuItem(员工考勤信息管理(X)); public static JMenuItem b4item=new JMenuItem(员工调动信息管理(G); public static JMenuItem b5item=new JMenuItem(注销(C); public static JMenuItem b6item=new JMenuItem(退出(Z); JMenu helpmenu=new JMenu(帮助(H)); JMenuItem helpitem=new JMenuItem(帮助(H)); Gra

23、phics g; /框架的大小 Dimension facesize=new Dimension(1000,600); JPanel downpanel,timepanel; GridBagLayout gridbag; GridBagConstraints gridbagcon; public caozuo() Container contentpane=getContentPane();/一般的 Abstract Window Toolkit(AWT) /容器对象是一个可包含其他 AWT 组件的组件。 contentpane.setLayout(new BorderLayout(); /添

24、加菜单栏 startmenu.add(b7item); startmenu.add(b1item); startmenu.add(b2item); startmenu.add(b3item); startmenu.add(b4item); startmenu.add(b5item); startmenu.add(b6item); jmenubar.add(startmenu); helpmenu.add(helpitem); jmenubar.add(helpmenu); setJMenuBar(jmenubar); /初始化时令停止服务按钮不可用 b1item.setEnabled(fals

25、e); b2item.setEnabled(false); b3item.setEnabled(false); b4item.setEnabled(false); b5item.setEnabled(false); /为菜单栏添加事件监听 b7item.addActionListener(this); b1item.addActionListener(this); b2item.addActionListener(this); b3item.addActionListener(this); b4item.addActionListener(this); b5item.addActionList

26、ener(this); b6item.addActionListener(this); helpitem.addActionListener(this); status=new JLabel(您好:); status.setFont(new Font(宋体, Font.BOLD, 14);/ 设置标签中的文字为宋体、粗体、14号 status.setForeground(new Color(0, 0, 255);/ 设置标签中的文字为红色 status.setHorizontalAlignment(SwingConstants.CENTER);/ 设置标签中的文字居中显示 b1=new JBu

27、tton(系统人员信息管理); b1.setEnabled(false); b2=new JButton(员工基本信息管理); b2.setEnabled(false); b3=new JButton(员工考勤信息管理); b3.setEnabled(false); b4=new JButton(员工调动信息管理); b4.setEnabled(false); b7=new JButton(登录); b5=new JButton(注销); b5.setEnabled(false); b6=new JButton(退出); time0=new JLabel(); time0.setFont(ne

28、w Font(, Font.BOLD, 12); time0.setText( 今天是:); time1=new JLabel(); time1.setFont(new Font(, Font.BOLD, 12); time1.setForeground(new Color(120, 1, 120);/ 设置标签中的文字为红色 time1.setHorizontalAlignment(SwingConstants.CENTER);/ 设置标签中的文字居中显示 time1.setText(Today.getDateOfShow(); time2=new JLabel(); time2.setFo

29、nt(new Font(, Font.BOLD, 12); time2.setForeground(new Color(120, 1, 120);/ 设置标签中的文字为红色 time2.setHorizontalAlignment(SwingConstants.CENTER);/ 设置标签中的文字居中显示 time2.setText(Today.getDayOfWeek(); time3=new JLabel(); time3.setFont(new Font(宋体, Font.BOLD, 14);/ 设置标签中的文字为宋体、粗体、14号 time3.setForeground(new Color(255, 0, 0);/ 设置标签中的文字为红色 time3.setHorizontalAlignment(SwingConstants.CENTER);/ 设置标签中的文字居中显示 new Time().start();/ 开启线程 Calendar now; int hour; int minute; int second; now = Calendar.getInstance(); hour = now.get(Calendar.HOUR_OF_DAY); minute = now.get(Calendar.MINUTE); second = now.g

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

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