Java+sqlsever人事管理系统 报告Word格式文档下载.docx
- 文档编号:4099938
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:23
- 大小:393.40KB
Java+sqlsever人事管理系统 报告Word格式文档下载.docx
《Java+sqlsever人事管理系统 报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Java+sqlsever人事管理系统 报告Word格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。
最终,在SQLSEVER2000完成的人事管理系统,可以实现:
对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。
二、需求分析
1、系统功能的基本要求
(1)登录管理
(2)人员管理:
包括添加,浏览,修改,删除,查询等
(3)部门管理:
部门管理包括添加、修改,删除
(4)报表打印
2、系统功能模块图
3、数据流程图
图1第一层数据流
图2员工信息管理数据流
图3部门信息管理数据流
三、系统设计
1、概念结构设计
画出系统E-R图
图4员工实体图
图5部门实体图
图6管理员实体图
图7各实体之间联系图(总体E-R图)
2、数据库结构的详细设计
经过检查,此数据库的详细逻辑设计满足第3X式的要求。
人事管理系统中各表的属性设计逻辑结构如下:
用户表(编号,用户名,密码)
员工表(编号,XX,性别,出生日期,民族,学历,部门名,照片,联系,联系地址,XX号)
部门表(部门号,部门名)
四、物理设计
1、数据库物理设计
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
(1)建立索引:
①对表部门在属性列部门号上建立非聚集索引,
②对表员工在属性列出生日期上建立非聚集索引,在属性列学历上建立非聚集索引
(2)存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。
所以,系统应将日志文件和数据文件存放在不同磁盘上。
2、数据库的建立
具体SQL代码如下:
createdatabase人事管理系统
onprimary
(
name=人事管理系统,
filename='
F:
\朱赟\人事管理系统Data\人事管理系统.mdf'
size=5MB,
maxsize=20MB,
filegrowth=10%
)
logon
name=人事管理系统_日志,
\人事管理系统Data\人事管理系统_日志.ldf'
size=5MB,
maxsize=10MB,
filegrowth=10%
go
--创建用户表
createtable用户表
UserIDintprimarykey,
UserNamevarchar(20)notnull,
UserPasswordchar(10)notnull
--创建职工信息表
createtable员工表
编号intprimarykey,
XXchar(10)notnull,
性别char
(2)check(性别in('
男'
'
女'
)),
出生日期datetime,
民族varchar(16)notnull,
学历varchar(32)notnull,
部门名char(20)notnull,
照片image,
联系char(20),
联系地址char(50),
XX号varchar(32)notnull,
--创建部门表
createtable部门表
部门号intprimarykey,
部门名char(20)
五、系统实现与测试
1、开发工具和平台选择
NetBeansIDE是一个屡获殊荣的集成开发环境,可以方便的在Windows,Mac,Linux和Solaris中运行。
NetBeans包括开源的开发环境和应用平台,NetBeansIDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeansIDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C/C++等开发语言
NetBeans平台是一种可重复使用的框架用于简化其他桌面应用程式的开发。
当基于NetBeans平台的应用被执行,平台主要类别的main方法便会被执行。
可用的模组会被放置在存储器中,并且开始执行任务。
通常模组会只在被需要时,其代码才会被装进记忆。
2、系统实现
具体JAVA代码如下:
(1)、连接数据库的类和相关方法
packagea;
importjava.sql.*;
importjavax.swing.JOptionPane;
publicclassdbcon{
privateConnectionconn;
privateResultSetrs;
privateStatementstmt;
privatePreparedStatementpstmt=null;
//定义预处理对象
publicbooleanlogin(Stringname,Stringpwd){
booleanflag=false;
try{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
);
conn=riverManager.getConnection("
jdbc:
odbc:
zhuyun"
stmt=conn.createStatement();
rs=stmt.executeQuery("
selectUserIDfrom用户表whereUserName='
"
+name+"
'
andUserPassword='
+pwd+"
if(rs.next()){
flag=true;
}else{
JOptionPane.showMessageDialog(null,"
用户名不存在!
"
提示"
1);
flag=false;
}
}catch(Exceptione){
JOptionPane.showMessageDialog(null,e.toString(),"
错误"
returnflag;
//将部门名的信息放到node中
publicResultSetnode(){
select部门名from部门表"
returnrs;
//将员工的信息放到tab表中
publicResultSettab(Stringname){
Class.forName("
selecta.*from员工表a,部门表bwherea.部门名=b.部门名andb.部门名='
//添加员工信息的方法
publicbooleaninsert(Stringid,Stringname,Stringsex,Stringbirth,Stringminzu,Stringxueli,Stringbumenhao,Stringcellphone,Stringaddress,Stringidcard){
inteid=Integer.parseInt(id);
//intdid=Integer.parseInt(bumenhao);
//stmt=conn.createStatement();
pstmt=conn.prepareStatement("
insertinto员工表(编号,XX,性别,出生日期,民族,学历,部门名,联系,联系地址,XX号)values("
+eid+"
+sex+"
+birth+"
+minzu+"
+xueli+"
+bumenhao+"
"
"
+cellphone+"
+address+"
+idcard+"
)"
pstmt.executeUpdate();
添加成功!
//删除的方法
publicbooleanDel(intk){
conn=DriverManager.getConnection("
pstmt=conn.prepareStatement("
deletefrom员工表where编号=?
pstmt.setInt(1,k);
//赋值
intn=pstmt.executeUpdate();
if(n>
0){
删除成功!
删除失败!
stmt.executeUpdate("
deletefrom员工表where编号='
//获取编号的的方法
publicvoidgetNum(intk){
conn=DriverManager.getConnection("
stmt=conn.createStatement();
select编号from员工表where编号='
//查询出员工信息并放到指定的位置
publicvoidinfo(intk){
intid,hao=0;
Stringname,sex,brith,minzu,xueli,bumenhao=””,cellphone,address,idcard;
rs=stmt.executeQuery("
select*from员工表where编号="
+k+"
while(rs.next()){
id=rs.getInt
(1);
name=rs.getString
(2);
sex=rs.getString(3);
birth=rs.getString(4);
minzu=rs.getString(5);
xueli=rs.getString(6);
bumenhao=rs.getString(7);
cellphone=rs.getString(9);
address=rs.getString(10);
idcard=rs.getString(11);
newModify(String.valueOf(id),name,sex,birth,minzu,xueli,bumenhao,cellphone,address,idcard,k).setVisible(true);
//修改员工信息的方法
publicbooleanchange(Stringname,Stringsex,Stringbirth,Stringminzu,Stringxueli,
Stringbumenhao,Stringcellphone,Stringaddress,Stringidcard,intk){
stmt.executeUpdate("
update员工表setXX='
性别='
出生日期='
民族='
学历='
部门名='
联系='
联系地址='
XX号='
where编号="
+k+"
修改成功!
//查询员工详细信息
publicResultSettab1(intid){
//intidd=Integer.parseInt(id);
select*from员工表where编号='
+id+"
}
3、系统测试
当输入用户名和密码(admin和123),点击“登录”按钮,就自动连接到相应的数据库
登录进去后进入主界面,鼠标点击部门名称,会自动弹出数据库表中的部门名,当单击部门名时,在右边界面会自动弹出该部门下的所有员工并输出基本信息。
当点击主界面上的“添加员工”按钮,会自动弹出添加信息的界面,填写完相应的信息后点击“保存”按钮,系统将会把相应的信息写入数据库中保存。
当要删除某个员工信息时,选中该员工,点击主界面上的“删除员工”按钮,就可以从数据库中删除该员工的信息。
当要修改某个员工信息时,选中该员工,点击主界面上的“修改信息”按钮,就可以从数据修改员工信息,并重新保存在数据库中。
当要查看某个员工的详细信息时,可以在主界面“快速查找”前的文本框中输入员工编号,就可以查看到该员工的详细信息
六、设计日志
2011-12-28星期三
今天是实训的第一天,没想到这一学期还是数据库的实习课程,这次我们实训只有两个周了,时间很紧急,我也有了一些紧迫感。
2011-12-29星期四
已经分好了组,可以九人一组,也可以八人一组,因为时间的原因,我选择了六人一组,并且确定了要做的内容———人事管理系统。
2011-12-30星期五
今天,我们还是得乖乖呆在教室做实习,我们想,既然定好了目标,我们就该分工合作,查找资料。
2011-12-31星期六
今天,我们继续昨天的工作,并开始了数据库的相关设计,每个人都各行其是,认真做自己的工作。
2012-1-4星期三
又是一个星期的开始,今天的实习很轻松,因为已经有了一些头绪,所以做起来比较得心应手,只想着要这样一直发展下去就好了。
2012-1-5星期四
我们已经开始调试程序了,在数据库中建表,实现了数据库与JAVA程序的连接,只要能顺利调试成功,我们就算是得到一半的收获了。
2012-1-6星期五
昨天的程序在今天终于可以运行了,数据库中的数据可以传到JAVA程序中去了,只是好久没有接触JAVA了,现在对它好像又有种似曾相识的感觉。
2012-1-9星期一
今天,在程序可以运行的时候,我们就考虑到了怎么来美化界面了,这方面也只是在JAVA中去实现,然后传给数据库,这样一来,我们都轻松了一半了。
到今天为此,好多人都已经做完了自己的任务,就等着老师的检查了,想想这两个星期也过得真快啊,现在只想有个完整的结束。
2012-1-10星期二:
今天老师检查所有的作业,大家都如释重任。
七、设计总结
经过两个星期的学习,数据库实训已经结束。
回想这两个周的学习。
我们获益匪浅。
这门学科是让我们知道怎样设计程序,还要就是写出来的程序要与数据库相连。
我们要考虑很多的因素在里面,不仅要安照别人的要求来做而且还要符合要求,同时写出来的程序要能够运行,给人不同的感觉。
在这门学科中,我们学习了怎样编写JAVA程序来连接数据库,怎么才能快速、怎样才能让去浏览你的程序。
重要的是我们写出来的程序要有人来去试你的程序,不管怎样的程序,要有人去看才算是最好的程序。
这次实习,使得我们能够更多的学习程序的编写,让我们有独立思考问题的思维。
同时也让我们展现了同学们之间的互相帮助的这种友谊。
体现了团队精神。
这一次的学习,我们是以组进行的。
首先,在实习之前,每个组给自己确立一个程序名即确立要设计怎样的一个程序。
我们这次设计的是《人事管理系统》数据题目。
根据每个同学掌握的JAVA知识点的差异,我们选择的程序是不同的,也是不一样的。
我们是六个人一组的,通过这次实训,我们合作的很好。
这次学习的过程中,最难的就是写程序了并且要把写出来的JAVA程序和数据库相连,在写程序是时候,我们会遇到很多的问题,不知道怎样去写,怎么让写的程序能达到运行的效果,在很多时候,我们写出来的程序会有很多的问题,不符合要求,但这样也让我们学会了在网上查别人做好的程序来解决问题,独立思考的好习惯。
虽然如此,我们还是坚持下
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java+sqlsever人事管理系统 报告 Java sqlsever 人事管理系统