java版员工管理系统设计报告1.docx
《java版员工管理系统设计报告1.docx》由会员分享,可在线阅读,更多相关《java版员工管理系统设计报告1.docx(27页珍藏版)》请在冰豆网上搜索。
java版员工管理系统设计报告1
java版员工管理系统设计报告1
一、课程设计目的和要求
1.目的:
1〕复习、巩固Java语言的基础知识,进一步加深对Java语言的明白得和把握;
2〕课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锤炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;
3〕培养学生在项目开发中团队合作精神、创新意识及能力。
2.要求:
1〕对系统进行功能模块分析、操纵模块分析正确,符合课题要求,实现相应功能;能够加以其他功能或修饰,使程序更加完善、合理;
2〕系统设计要有用,编程简练,可用,功能全面
3〕说明书、流程图要清晰
4〕记录设计情形〔备查,也为编写设计说明书作好预备〕;
5〕要求采纳模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。
6〕设计上交内容:
设计报告一份〔按格式书写〕;源程序文件。
二、设计项目:
1、项目名称:
公司职员治理系统
2、项目概述:
在人才过剩的今天,企业关于有用人才的需求逐步加大,企业内部的人事变动和部门规划也开始加速,传统的人事档案差不多不能满足各个企业的人员流淌速度,迫使人们起用新的治理方法来治理职员的相关信息。
科学技术日新月异的进步,让人类生活发生了庞大的变化,运算机技术的飞速进展,使各行各业在运算机技术应用方面得到了广泛的普及和使用。
信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。
因此,职员治理系统也以方便、快捷、费用低、绿色环保的优点正慢慢地进入各个行业和领域,将传统的职员治理方式完全的解脱出来,提高效率,减轻工人人员以往繁忙的工作,加速信息的更新速度,使企业治理层第一时刻了解到职员的信息,从而进一步的进行对职员的调配。
3、项目功能简介:
—增加—
增加用户、职员的差不多信息〔差不多信息和工资信息〕、部门信息、薪资信息
—删除—
可依照职员的编号及姓名等资料的删除
—修改—
用户能够对职员的姓名和编号、进行修改。
—查询—
用户能够依照姓名、编号,准确的查到要找的职员,也能够选择部门,查看选中的部门的所有职员。
—辅助—
能够调用单独制作的运算器进行数字运算,节约操作时刻
—关于—
能够了解本系统的运行环境,开发理念、开发人员等信息
三、设计时刻及内容
序号
时刻
内容
1
1月4日
班级分组,选定课题,查阅相关资料
2
1月5日
划分模块、小组成员分工,编制源程序
3
1月6日
编制源程序
4
1月7日
编制源程序
5
1月8日
编制源程序
6
1月11日
上机调试,修改、完善系统
7
1月12日
上机调试,修改、完善系统
8
1月13日
撰写课程设计报告,上机调试,修改、完善系统
9
1月14日
撰写课程设计报告,作品答辩
10
1月15日
实习成绩的评定
四、设计方式和安排
1、项目承接:
筑梦小组
2、小组成员:
王英〔组长〕、涂云跃、孙胜胜、夏春碧、刘玮、周玉琳、华云平、王英良
3、项目选题:
依照小组成员的深入讨论后,结合当今市场需求,决定以职员治理为设计方向,以人性化治理操作为设计理念,依照课题工作量大小,合理分配人数〔后台数据库开发:
夏春碧、孙胜胜、王英良、周玉琳,前台开发:
王英、涂云跃、刘玮、华云平,全组成员参加总体调试改进,组长负责本组设计工作的和谐、分工等。
4、设计过程:
1〕分析设计预备时期〔按组讨论、对系统功能进行分析,确定算法,并进行明确分工〕;
2〕编程调试时期〔绘制流程图,编制源程序;上机调试,修改程序〕
五、考核内容和方式
1、在设计期间,小组成员要按时上机,设计终止依照记录的设计材料整理成设计说明书。
设计说明书中应写下设计中的要紧收成,要求对问题有一定的分析,文字简短明确流畅。
2、通过设计答辩方式,并结合小组成员的动手能力,独立分析解决问题的能力和创新精神,设计成绩由指导教师依照考勤、设计说明书质量、答辩表现以及学习态度按五级分制综合评定。
成绩分优、良、中、及格和不及格五等。
第二章、项目总体设计
一、总体设计思路:
本系统治理的是大量的职员信息,涉及到职员各方面的信息安全,从系统的设计理念动身,我们必须保证系统内信息的安全,因此我们采取了通过密码验证的方式进入系统。
设计流程介绍如下:
二、后台数据库设计
1、数据库名称:
yggl〔职员治理缩写〕
2、数据字典:
库名〔yggl〕
用户信息表〔UserInformation〕
字段
类型
说明
大小
是否为空
User_ID
Int
职员编号
NOTNULL
User_Name
varchar
职员姓名
20
NOTNULL
Password
varchar
密码
20
NOTNULL
Popedom
varchar
权限
20
NOTNULL
部门信息治理〔DepartmentInformation〕
字段
类型
说明
大小
是否为空
D_Number
int
部门编号
NOTNULL
D_Name
varchar
部门名称
20
NOTNULL
D_Count
varchar
部门人数
20
NOTNULL
职员差不多信息表〔EmployeeInformation〕
字段
类型
说明
大小
是否为空
E_Number
int
--职员编号
NOTNULL
E_Name
varchar
--姓名
20
NOTNULL
E_Sex
varchar
--性别
2
NOTNULL
E_BornDate
varchar
--出生日期
30
NOTNULL
E_Marriage
varchar
--婚姻状态
4
NOTNULL
E_PoliticsVisage
varchar
政治面貌
20
NOTNULL
E_SchoolAge
varchar
学历
20
NOTNULL
E_EnterDate
varchar
进入公司时刻
30
NOTNULL
E_InDueFormDate
varchar
转正时刻
30
NOTNULL
E_Department
varchar
部门
20
NOTNULL
E_Headship
varchar
职务
20
NOTNULL
E_Estate
varchar
状态
20
NOTNULL
E_Remark
varchar
备注
500
NOTNULL
薪资信息表〔WageInformation〕
字段
类型
说明
大小
是否为空
W_Number
int
职员编号
NOTNULL
W_Name
varchar
职员姓名
30
NOTNULL
W_BasicWage
int
差不多工资
NOTNULL
W_Boon
int
福利
NOTNULL
W_Bonus
int
奖金
NOTNULL
W_CountMethod
varchar
运算方法
50
NOTNULL
W_FactWage
int
实发工资
NOTNULL
3、问题与难点:
表与表之间的相互级联与更新
三、前台成效图公布与设计过程
〔一〕、登录窗口设计
1、设计思路:
本窗口是整个系统的入口,关系到系统内部各个职员的信息安全,在整个设计中有着重要的作用。
具体能够分为用户名密码是否为空的判定和用户名密码是否正确判定。
2、介绍与图解:
当用户密码为空时,给出相应提示信息,当用户密码输入同时正确时才能成功进入系统主窗体。
3、关键代码:
1〕登录按钮的监听(为空判定)
buttonEnter.addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEventme){
if(textName.getText().equals("")){
newJOptionPane().showMessageDialog(null,"用户名不能为空!
");}
elseif(textage.getText().equals("")){
newJOptionPane().showMessageDialog(null,"密码不能为空!
");}
else{
Stringsql="select*fromUserInformationwhereUser_Name='"+textName.getText()+"'andPassword='"+textage.getText()+"'";
System.out.println(sql);
Judge(sql);}}});
2〕登录按钮的监听(为空判定)
privatevoidJudge(StringsqlString){
if(database.joinDB()){
if(database.query(sqlString))
try{
if(database.rs.isBeforeFirst()){
System.out.println("密码正确");
jf.setVisible(false);
System.out.println("main");
//关闭数据库连接
.close();
newmain();}
else{
System.out.println("错误");
newJOptionPane().showMessageDialog(null,"用户名或密码错误!
","",JOptionPane.ERROR_MESSAGE);
}
}catch(Exceptionex){
System.out.println(ex.getMessage());}}
else{
System.out.println("连接数据库不成功!
!
!
");
newJOptionPane().showMessageDialog(null,"连接数据库失败!
!
!
","",JOptionPane.ERROR_MESSAGE);}}
〔二〕系统主窗体设计
1、设计思路:
本界面是整个系统操作主界面,是各个模块的操作的入口。
具体分析如下:
2、图解与介绍:
〔1〕主窗体
1〕成效图
2〕关键代码:
//主函数类
importjava.awt.*;//倒包
importjava.awt.event.*;//倒包
importjavax.swing.*;//倒包
importjava.sql.*;//倒包
publicclassmainextendsJFrameimplementsRunnable{
Threadt=newThread(this);//在窗体里创建线程并实例化
JDesktopPanedeskpane=newJDesktopPane();//在窗体里建立虚拟桌面并实例化
JPanelp=newJPanel();//创建一个面板并实例化
Labellp1=newLabel("欢迎进入员工管理系统!
如有不明白之处请询问开发人员!
");
//菜单上的图标创建并实例化----------------------------------------------------------------------------
ImageIconicon1=newImageIcon("image//tjsc.gif");
ImageIconicon2=newImageIcon("image//cxdl.gif");
ImageIconicon3=newImageIcon("image//xgmm.gif");
ImageIconicon4=newImageIcon("image//tcxt.gif");
ImageIconicon5=newImageIcon("image//jj.gif");
ImageIconicon6=newImageIcon("image//help.gif");
ImageIconicon7=newImageIcon("image//cx.gif");
ImageIconicon8=newImageIcon("image//gl.gif");
ImageIconicon9=newImageIcon("image//xt.gif");
ImageIconicon10=newImageIcon("image//xxgl.gif");
ImageIconicon11=newImageIcon("image//xxcx.gif");
ImageIconicon12=newImageIcon("image//bz.gif");
ImageIconicon13=newImageIcon("image//gy.gif");
ImageIconicon14=newImageIcon("image//glxx.gif");
ImageIconicon15=newImageIcon("image//cxxx.gif");
publicmain(){//构造函数
setTitle("职员治理系统");//设置窗体标题
Containercon=getContentPane();
con.setLayout(newBorderLayout());//创建一个布局
con.add(deskpane,BorderLayout.CENTER);//实例虚拟桌面的布局
Fontf=newFont("新宋体",Font.PLAIN,12);//设置一个字体,以后设置字体全部调用这种字体,懒得弄那么花花哨哨的
JMenuBarmb=newJMenuBar();//实例化菜单栏
//实例化菜单开始
JMenusystemM=newJMenu("系统治理");
systemM.setFont(f);
JMenumanageM=newJMenu("信息治理");
manageM.setFont(f);
JMenuemployeeMM=newJMenu("职员信息治理");//那个是信息治理的二级菜单
employeeMM.setFont(f);
JMenuselectM=newJMenu("信息查询");
selectM.setFont(f);
JMenuemployeeSM=newJMenu("职员信息查询");//那个是信息查询的二级菜单
employeeSM.setFont(f);
JMenuaboutM=newJMenu("关于");
aboutM.setFont(f);
//实例化菜单终止
//实例化系统治理菜单的菜单项
JMenuItempassword=newJMenuItem("密码修改");
password.setFont(f);
JMenuItemlogin=newJMenuItem("重新登陆");
login.setFont(f);
JMenuItemaddDelete=newJMenuItem("添加/删除用户");
addDelete.setFont(f);
JMenuItemexit=newJMenuItem("退出系统");
exit.setFont(f);
systemM.add(password);
systemM.add(login);
systemM.add(addDelete);
systemM.add(exit);
//实例化系统治理菜单的菜单项终止
//为系统治理菜单加事件-----------------------------------------------------------------------------
password.addActionListener(newActionListener(){//密码修改监听
publicvoidactionPerformed(ActionEvente){
System.out.println("xiugaiPassword");
deskpane.add(newxiugaiPassword());}});
login.addActionListener(newActionListener(){//重新登陆监听
publicvoidactionPerformed(ActionEvente){
System.out.println("denglu");
setVisible(false);
newdenglu();}});
addDelete.addActionListener(newActionListener(){//添加/删除用户监听
publicvoidactionPerformed(ActionEvente){
deskpane.add(newAddDeleteUser());}});
exit.addActionListener(newActionListener(){//退出系统监听
publicvoidactionPerformed(ActionEvente){
//newJOptionPane().showMessageDialog(
setVisible(false);}});
//实例化信息治理的菜单项
JMenuItemdepartmentM=newJMenuItem("部门信息治理");
departmentM.setFont(f);
JMenuItememployeeM=newJMenuItem("差不多信息治理");
employeeM.setFont(f);
JMenuItemwageM=newJMenuItem("薪资信息治理");
wageM.setFont(f);
employeeMM.add(employeeM);
employeeMM.add(wageM);
manageM.add(employeeMM);
manageM.add(departmentM);
//实例化信息治理的菜单项终止
//为治理菜单加事件------------------------------------------------------------------------------
departmentM.addActionListener(newActionListener(){//部门信息治理监听
publicvoidactionPerformed(ActionEvente){
System.out.println("Departmentmanage");
deskpane.add(newbumenmanage());}});
employeeM.addActionListener(newActionListener(){//差不多信息治理监听
publicvoidactionPerformed(ActionEvente){
System.out.println("Employeemanage");
deskpane.add(newEmployeemanage());}});
wageM.addActionListener(newActionListener(){//薪资信息治理监听
publicvoidactionPerformed(ActionEvente){
System.out.println("gongziManage");
deskpane.add(newgongziManage());}});
//实例化信息查询的菜单项
JMenuItemdepartmentS=newJMenuItem("部门信息查询");
departmentS.setFont(f);
JMenuItememployeeS=newJMenuItem("差不多信息查询");
employeeS.setFont(f);
JMenuItemwageS=newJMenuItem("薪资信息查询");
wageS.setFont(f);
employeeSM.add(employeeS);
employeeSM.add(wageS);
selectM.add(employeeSM);
selectM.add(departmentS);
//实例化信息查询的菜单项终止
//为查询菜单加事件---------------------------------------------------------
departmentS.addActionListener(newActionListener(){//部门信息查询监听
publicvoidactionPerformed(ActionEvente){
System.out.println("bumenchaxun");
deskpane.add(newbumenchaxun());}});
employeeS.addActionListener(newActionListener(){//差不多信息查询监听
publicvoidactionPerformed(ActionEvente){
System.out.println("yuangongxxchaxun");
deskpane.add(newyuangongxxchaxun());}});
wageS.addActionListener(newActionListener(){//薪资信息查询监听
publicvoidactionPerformed(ActionEvente){
System.out.println("gongzichaxun");
deskpane.add(newgongzichaxun());}});
JMenuItemabout=newJMenuItem("关于");
about.setFont(f);
aboutM.add(about);
//为关心菜单加事件-------------------------------------------------------------------------
about.a