Java课程设计报告.docx
《Java课程设计报告.docx》由会员分享,可在线阅读,更多相关《Java课程设计报告.docx(25页珍藏版)》请在冰豆网上搜索。
Java课程设计报告
合肥学院
计算机科学与技术系
课程设计报告
2010~2011学年第二学期
课程
Java语言程序设计
课程设计名称
企业人事管理系统
专业班级
08网络工程
(1)班
姓名
陈涛
指导教师
金莹郭昌建
2011年9月
一、需求分析
系统需求分析:
考察中小企业企业,要求设计一套人事管理系统,其中应具有一定的人事档案管理功能。
企业人事管理系统是企业进行管理的不可缺少的一部分。
职工的个人信息,各部门的信息,以及职工和部门之间的联系。
职工的考勤,职务,部门等。
为了方便企业领导掌握本企业的人事信息,在系统中加入查询功能,包括职工的所有信息。
还加入了对人事变动(删除、添加、修改)的功能。
高效的人事管理系统是中小企业系统之所需。
本系统的具体要求为:
1能全面管理公司人事管理中的各类主体,如人员信息查询,人员信息更新,人员添加,部门分配等;
2通过计算机能方便的维护(包括插入,删除,修改更新等)各类信息表;
3能通过开发语言实现对数据库的操作,查询基于某个信息表的所须信
息;
4系统具有操作方便,简捷等特点。
功能需求分析:
①.在数据库服务器如SQLServer2000中,建立个关系模式对应的库表,并确定主键,索引,参照完整性,用户自定义完整性等。
②能对各库表进行输入,修改,删除,添加,查询等基本操作。
③能实现如下各类查询:
能统计职工的基本情况,如部门,姓名,年龄,性别等
能够统计职工在出勤方面的情况
④要求所设计系统界面友好,功能安排合理,操作使用方便,并能进一步考虑子系统在安全性,完整性,并发控制,备份恢复等方面的功能要求
二.设计
1.设计思想:
这个题目主要是通过在界面上进行操作从而对数据库里的内容进行添加、删除、修改等各项操作。
首先对数据库进行设计,新建一个数据库,在这个数据库里建7个表,按照题目需要对各表进行设计。
进行界面设计的时候,因为要在主程序界面上进行操作,所以需要在设计时需要设计一个主函数,在主函数上进行操作,根据需要调用不同的子程序进行不同的功能操作。
2.功能设计
根据本次课程设计的要求,将该程序的功能设计如下:
运行主程序,进入操作界面,通过链接数据库,对该程序进行各项操作。
进入主界面以后,管理员可以对数据库里各员工的信息进行插入、删除、更新、查询等各项操作,临时添加的用户只能对数据库里的信息进行查询。
进行各项操作后,会显示相应的信息,并以此对原本数据库信息进行更新。
3.数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库的结构设计的好坏直接影响了数据库的效率。
在充分需求分析的基础上,经过逐步的抽象,概括,分析,充分研讨,可画出如下反映人事管理系统的E-R图:
用户实体图:
用户名——用户——密码
员工基本信息实体及联系图:
姓名性别籍贯年龄生日学历专业
住址
邮编员工编号电话
起薪时间
参加工作时间进入公司时间原部门现部门
员工调入基本信息实体及联系图:
考试情况调入理由
单位意见员工姓名备注
员工调出基本信息实体及联系图
员工姓名调出理由
单位意见员工编号备注
员工考勤信息表:
姓名当前日期上班时间下班时间
病假员工编号事假
特殊加班天数正常加班天数出差目的地出差天数
上下班时间表:
上班时间————时间表————下班时间
员工考勤信息统计表:
姓名
员工编号迟到次数
早退次数
4.详细设计
数据库详细设计:
新建一个数据库,在其中建立7个不同的表格,分别记录为:
上下班时间表,员工信息表,员工考勤信息统计表,员工考勤表,员工调入信息表,员工调出信息表,用户表。
CREATETABLE[上下班时间表](
[上班时间][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[下班时间][char](10)COLLATEChinese_PRC_CI_ASNOTNULL
)ON[PRIMARY]
GO
CREATETABLE[员工信息表](
[员工编号][char](53)COLLATEChinese_PRC_CI_ASNOTNULL,
[员工姓名][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[性别][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[籍贯][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[年龄][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[生日][char](10)COLLATEChinese_PRC_CI_ASNULL,
[学历][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[专业][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[住址][char](60)COLLATEChinese_PRC_CI_ASNOTNULL,
[邮编][char](53)COLLATEChinese_PRC_CI_ASNOTNULL,
[电话][char](53)COLLATEChinese_PRC_CI_ASNOTNULL,
[参加工作时间][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[进入公司时间][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[原部门][char](10)COLLATEChinese_PRC_CI_ASNULL,
[现部门][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[起薪时间][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[职务][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[备注][char](60)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
CREATETABLE[员工考勤信息统计表](
[员工编号][char](53)COLLATEChinese_PRC_CI_ASNOTNULL,
[员工姓名][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[迟到次数][char](10)COLLATEChinese_PRC_CI_ASNULL,
[早退次数][char](10)COLLATEChinese_PRC_CI_ASNULL,
[病假天数][char](10)COLLATEChinese_PRC_CI_ASNULL,
[事假天数][char](10)COLLATEChinese_PRC_CI_ASNULL,
[总请假天数][char](10)COLLATEChinese_PRC_CI_ASNULL,
[总出差天数][char](10)COLLATEChinese_PRC_CI_ASNULL,
[总加班天数][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
CREATETABLE[员工考勤表](
[员工编号][char](53)COLLATEChinese_PRC_CI_ASNOTNULL,
[当前日期][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[上班时间][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[下班时间][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[病假][char](10)COLLATEChinese_PRC_CI_ASNULL,
[事假][char](10)COLLATEChinese_PRC_CI_ASNULL,
[特殊加班天数][char](10)COLLATEChinese_PRC_CI_ASNULL,
[正常加班天数][char](10)COLLATEChinese_PRC_CI_ASNULL,
[出差目的地][char](10)COLLATEChinese_PRC_CI_ASNULL,
[出差天数][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
CREATETABLE[员工调入信息表](
[员工姓名][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[考试成绩][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[调入理由][char](100)COLLATEChinese_PRC_CI_ASNULL,
[单位意见][char](100)COLLATEChinese_PRC_CI_ASNULL,
[备注][char](100)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
CREATETABLE[员工调出信息表](
[员工编号][char](53)COLLATEChinese_PRC_CI_ASNOTNULL,
[员工姓名][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[调出理由][char](100)COLLATEChinese_PRC_CI_ASNULL,
[单位意见][char](100)COLLATEChinese_PRC_CI_ASNULL,
[备注][char](100)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
CREATETABLE[用户表](
[用户名][char](53)COLLATEChinese_PRC_CI_ASNOTNULL,
[密码][float]NULL
)ON[PRIMARY]
GO
主要程序设计:
1Denglu.java:
登录界面的设计,设计3个标签分别记录地址、用户名、密码、设计两个明文文本框,分别输入地址和用户名,设计一个密文文本框,输入密码,保证输入的密码不可见,在登录后,就连接到数据库,并将连接保存到线程中,这样就保证了数据库操作的及时性和高效性。
2Caozuo.java:
主界面的设计,各个功能按钮、菜单的设计,在主程序中,利用线程技术,主程序界面能显示当前具体的日期时间,在