小型工资管理系统 java 报告书Word文件下载.docx
《小型工资管理系统 java 报告书Word文件下载.docx》由会员分享,可在线阅读,更多相关《小型工资管理系统 java 报告书Word文件下载.docx(64页珍藏版)》请在冰豆网上搜索。
在Oracle官网下载的jdk-7u2版本。
安装:
解压下载的JDK后,进入安装状态,下载好的JDK是一个可执行安装程序,执行安装即可。
安装完成在安装目录下会有jdk1.7.0和jre1.7.0两个文件夹。
设置环境变量:
打开“我的电脑->
属性->
高级->
环境变量->
系统变量”,设置以下三个变量:
JAVA_HOME=<
JDK安装目录>
如:
D:
/Java/jdk1.7.0;
CLASSPATH=.<
JDK的lib目录>
如:
/Java/jdk1.70/lib;
Path=<
原Path>
;
<
bin安装目录>
/Java/jdk1.7.0/bin;
请注意:
CLASSPATH变量的值是“.”(不包括引号).
打开“windows”的“命令提示符”窗口,在提示符下输入javac,如果出现编译器的选项,说明编译器正常。
输入java,如果出现解释器的选项,说明解释器正常。
这样就可以使用JDK编译和运行JAVA程序了。
(2)eclipse下载、安装
在相应的官网上下载即可。
直接解压,在eclipse目录里面找到eclipse.exe
(3)SQLServer20004in1的下载、安装及配置
在微软官网上下载即可。
解压后选择个人版进行安装,选择windows用户混合验证模式。
再安装补丁包,最后添加ODBC数据源。
3、系统功能
(1)进行系统的需求分析:
随着科学技术的发展和整个社会的进步,计算机技术也得到了很大的提高,特别是微型计算机的大范围普及,是计算机的应用逐渐有科学计算、实时控制等方面向非数值处理的各个领域渗透并发挥着越来越重要的作用。
尤其是以微型计算机为处理核心,以数据库管理系统为开发环境的管理系统在办公室自动化以及商业信息管理等方面的应用,日益受到人们的关注。
对一个企业而言,人力资源是企业最宝贵的资源,也势必企业的“生命线”。
而工资管理是企业管理的一个重要环节,其管理方式和工具对企业的决策者和管理者来说至关重要。
但一直以来大多企业内部人事和工资的管理基本上都是传统的手工操作,这种人管理的方式效率低,保密性差,而且很难满足及时记录、随时查询的需要,为信息的管理者带来诸多不便。
利用计算机进行信息控制和数据处理,不仅从整体上大大提高了工作效率和安全性,而且具有存储量大,寿命长,成本低等优点,这些更是手工管理所无法比拟的。
用计算机支持完成人事管理的日常事务,能够使人事管理自动化和科学化,提高了信息处理得速度和准确性;
工资管理更是一项琐碎、复杂而又十分细致的工作,如果实行手工操作,会浪费工作人员很多时间和精力,且失误在所难免,而使用计算机进行工资计算和发放,不仅能够保证工资核算准确无误,而且能对相关信息进行统计,使工资与考勤、奖惩等事项合理挂钩,是企业内部管理体制更加科学有效。
总之,为了很好的实现数据的录入、插入、查询、统计、更新等功能,已达到使企业人事工资信息管理科学化、系统化、规范化和自动化的目的,建立人事工资管理的需求。
系统的设计目标
1.设计出一套简单、方便的小型工资管理系统,方便公司对员工的管理。
2.在设计该人事管理系统的过程中,深化对JAVA的学习,以便掌握JAVA中的各种知识。
系统的可行性分析
技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求。
此外,还要考虑开发人员的水平,经过学习,在编程方面有一定的基础。
经济的可行性分析分为两个方面,一方面是支出的费用,另一方面是取得的收益。
这是一个小型的工资管理系统,从投入的人力、财力与物力来讲是非常小的,只要有电脑就可以了。
从节省人力方面,可以让管理人员从繁冗复杂的工作中解脱出来,做更多的工作,可以给工资管理提高一个层次。
(2)系统的总体设计
建立系统的功能模型(各个模块的调用关系)
帮助
图1小型工资管理系统结构图
建立系统的概念模型(E-R图:
总体和局部)
工资信息
职工信息
图2
总系统E-R图
籍贯
图3
职工信息E-R图
建立系统的数据模型(以文件的形式处理)
删除后的信息单
图4小型工资管理系统数据模型图
(3)系统的详细设计
该小型工资管理系统共分为13个小模块,分别为:
系统登录程序、主函数、界面框架、数据库的链接、职工信息添加、职工信息修改、职工信息删除、工资信息添加、工资信息修改、工资信息查询、按工号查询职工、按姓名查找职工以及帮助。
关于各个模块的功能的说明,使用说明:
主函数:
程序的入口,运行程序应该在主函数上进行。
界面框架:
该项目的整体框架,包含各种界面、按钮。
与以下各个模块相连接,单机按钮,可以进入到不同的子模块。
以便于使用者进行操作。
数据库的链接:
保存已经输入的职工信息与工资信息,需要时可以从数据库直接调用并进行运用。
系统登录程序:
输入用户名与密码,登陆人事管理系统。
职工信息添加:
进入该程序后,需要输入职工的信息,包括职工的姓名、工号、性别、年龄、家庭住址与联系电话。
选择保存键可以保存该职工的信息。
职工信息修改:
进入该程序后,输入要修改的职工的工号,选择查找键进行查找,包括职工的姓名、性别、年龄、家庭住址与联系电话。
选择修改键可以保存修改后职工的信息。
职工信息删除:
进入该程序后,输入要删除的职工的工号,找出要删除的职工,选择删除键完全删除该职工的所有信息。
工资信息添加:
进入该程序后,输入职工的工号,然后输入其工资,添加工资。
工资信息修改:
进入该程序后,输入职工的工号,选择查找键进行查找,修改相应的工资信息,选择修改键可以保存修改后工资的信息。
工资信息查询:
进入该程序后,输入要查询的职工的工号,选择工资查询,即可显示出该职工的工资。
按工号查询职工:
进入该程序后,输入要查询的职工的工号,然后选择查找,即可显示该职工信息。
按姓名查找职工:
进入该程序后,输入要查找的职工的姓名,然后选择查找,即可显示该职工信息。
帮助:
该程序主要为使用者在使用该系统时遇到的问题进行解答。
帮助系统
图5小型工资管理系统详细设计
给出程序要达到的具体的要求。
明确规定:
该小型工资管理系统属于一个小型系统,受编程者水平及人数的限制,因此只能设计一个比较简单的系统。
不过,我们将尽自己最大的努力,不断完善该系统,使之成为一个简洁大方、完整而极具应用性的小系统。
具体要求如下:
(1)界面漂亮大方,简洁易懂,操作性强;
(2)每个模块分工明确,内容简明扼要,提示性强。
(3)代码准确无误,不含任何语法及逻辑错误,注释标注明确,使人一目了然。
(4)系统具有很高的实用性,可真正投入实际使用。
(5)程序将由小组每位成员分工合作完成,在自己的努力与相互帮助下,深化对JAVA的学习。
4、任务模块分配表:
成员
负责的功能模块说明
钱海燕
界面设计与数据库的连接
付爽
系统主函数、登录、退出与帮助
胡晓康
职工信息的添加、修改、删除
史丞玉
工资信息的添加、修改、查询
刘文婷
员工信息的查询(按工号查询与按姓名查询)
5、测试数据
登陆系统:
输入用户名admin,密码1234,成功进入主界面;
若用户名或密码错误,则跳出对话框,显示登录失败,无法进入主界面。
数据库登陆:
输入用户名sa,密码1234,成功进入数据库;
若用户名或密码错误,则抛出异常。
输入职工的信息,包括职工的姓名、工号、性别、年龄、家庭住址与联系电话。
输入要修改的职工的工号,选择查找键进行查找,包括职工的姓名、性别、年龄、家庭住址与联系电话。
如果成功,则跳出对话框,显示修改成功;
若无法找到该职工工号,跳出对话框,显示修改失败。
输入要删除的职工的工号,找出要删除的职工,选择删除键完全删除该职工的所有信息。
如果成功,则跳出对话框,显示删除成功;
若无法找到该职工工号,跳出对话框,显示删除失败。
输入职工的工号,然后输入其工资,添加工资。
如果成功,则跳出对话框,显示添加成功;
若无法找到该职工工号,跳出对话框,显示添加失败。
输入职工的工号,选择查找键进行查找,修改相应的工资信息,选择修改键可以保存修改后工资的信息。
输入要查询的职工的工号,选择工资查询,即可显示出该职工的工资。
如果成功,则跳出对话框,显示查询成功;
若无法找到该职工工号,跳出对话框,显示查询失败。
输入要查询的职工的工号,然后选择查找,即可显示该职工信息;
输入要查找的职工的姓名,然后选择查找,即可显示该职工信息。
若无法找到该职工姓名,跳出对话框,显示查询失败。
6、程序模块调用关系图
密码或用户名错误!
图6程序模块调用关系图
7、源程序
登陆系统源代码
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassLogOn{
publicstaticvoidmain(String[]args){
finalJFramejfrmlogin=newJFrame("
系统登录"
);
//框标题是系统登录
jfrmlogin.setSize(400,280);
//设置框的大小
DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
jfrmlogin.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2);
//设置框出现的位置
//构建面板p1、p2、p3
//p1->
用户名+文本框
JPanelp1=newJPanel();
p1.add(newJLabel("
用户名:
"
));
finalJTextFieldjtxtuser=newJTextField(14);
//p2->
密码+文本框
JPanelp2=newJPanel();
p2.add(newJLabel("
密码:
finalJPasswordFieldjspwd=newJPasswordField(14);
//p3->
登陆+退出两按钮
JPanelp3=newJPanel();
JButtonjbtok=newJButton("
登录"
JButtonjbtexit=newJButton("
退出"
//将组件加入到面板中
p1.add(jtxtuser);
p2.add(jspwd);
p3.add(jbtok);
p3.add(jbtexit);
//,登陆键的监听器设置
jbtok.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringa,b;
a=jtxtuser.getText();
//密码框置为不可见的字符
b=jspwd.getText();
if((a.equals("
admin"
)==true)&
&
(b.equals("
1234"
)==true))
{
//如果成功则调用系统程序
隐藏当前登陆框
JOptionPane.showMessageDialog(null,"
你已成功登陆系统!
"
系统提示"
JOptionPane.INFORMATION_MESSAGE);
MainFramemf=newMainFrame();
mf.setVisible(true);
jfrmlogin.dispose();
}
else{
用户名或密码不一致,请重新输入!
JOptionPane.ERROR_MESSAGE);
//不正确则将用户框和密码框都置空
jtxtuser.setText("
jspwd.setText("
});
jbtexit.addActionListener(newActionListener(){
您已成功退出系统!
JOptionPane.CANCEL_OPTION);
System.exit(0);
//采用网格布局
jfrmlogin.getContentPane().setLayout(newGridLayout(3,1));
jfrmlogin.getContentPane().add(p1);
jfrmlogin.getContentPane().add(p2);
jfrmlogin.getContentPane().add(p3);
jfrmlogin.setVisible(true);
}
主函数源代码
//系统的主程序类Main
//导入包
//创建主系统类
classMain
{
publicstaticvoidmain(String[]args)
//创建主界面,调用MainFrame()构造函数和方法
MainFrameframe=newMainFrame();
//获取屏幕尺寸
//获取主界面的窗体尺寸
DimensionframeSize=frame.getSize();
//令主界面窗体居中
if(frameSize.height>
screenSize.height)
frameSize.height=screenSize.height;
if(frameSize.width>
screenSize.width)
frameSize.width=screenSize.width;
frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
//令主界面显示
frame.setVisible(true);
主界面源代码
//系统主框架类
//导入系统的包
importjava.awt.geom.Rectangle2D;
//创建主框架类MainFrame
publicclassMainFrameextendsJFrameimplementsActionListener
//创建内容面板
JPanelcontentPane;
//创建菜单栏组件的对象
JMenuBarjMenuBar1=newJMenuBar();
//菜单条
JMenujMenu0=newJMenu("
系统"
//菜单
JMenuItemjMenuItem0=newJMenuItem("
//子菜单
JMenujMenu1=newJMenu("
职工管理"
JMenuItemjMenuItem1=newJMenuItem("
添加职工"
JMenuItemjMenuItem2=newJMenuItem("
修改职工"
JMenuItemjMenuItem3=newJMenuItem("
删除职工"
JMenujMenu2=newJMenu("
工资管理"
JMenuItemjMenuItem4=newJMenuItem("
添加工资"
JMenuItemjMenuItem5=newJMenuItem("
修改工资"
JMenuItemjMenuItem8=newJMenuItem("
工资查询"
JMenujMenu3=newJMenu("
职工查询"
JMenuItemjMenuItem6=newJMenuItem("
按工号查询"
JMenuItemjMenuItem7=newJMenuItem("
按姓名查询"
JMenujMenu4=newJMenu("
帮助"
JMenuItemjMenuItem9=newJMenuItem("
互动"
//创建标签,用于显示信息
JLabeljLabel1=newJLabel("
小型工资管理系统"
JLabeljLabel2=newJLabel("
2011-Java课程设计"
//创建构造方法
publicMainFrame()
{
try{
//关闭框架窗口时的默认事件方法
setDefaultCloseOperation(EXIT_ON_CLOSE);
//调用初始化方法
jbInit();
catch(Exceptionexception){
exception.printStackTrace();
//界面初始化方法
privatevoidjbInit()throwsException
contentPane=(JPanel)getContentPane();
//设置内容面板的布局为空
contentPane.setLayout(null);
//主框架的大小
setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2);
setSize(newDimension(400,360));
//主框架的标题
setTitle("
小型工资管理系统"
//添加事件监听器
jMenuItem0.addActionListener(this);
jMenuItem1.addActionListener(this);
jMenuItem2.addActionListener(this);
jMenuItem3.addActionListener(this);
jMenuItem4.addActionListener(thi