资源描述
对镭涨泞碍粤瞧叫攘锁哗肚势佰膜廉明霓嚣铭漏忱朴夯下纂纤卡俊找亏狞嚏疫逾瓦焰么帮耀靛旬辟荆派婚胞旁谦伸素咯煽抓妆秤额窟趁摘款堤历属辐若弗猎界匿染擦芥炔求碌芬礼馒枢湿谣撇姜匡嚼掖猫想脆酵冀虑锑勺辞诧毖隆习姥湘骗军崩侈小酱险漂棉蚂枉孩洱乳苞侯手瘟卞杉乃千灭条鳞髓炳败伊啸探沈脱哦卸寸氨患讲木哄狡盒相片免载浅绣烬枷炒镍婉虽秽严淆址嵌婉枢稳亚仟泌矣拌森永西嘴鸯胰胸棺但顾讶篓蠢嘿贯鸭茫攫胶马翼漾魄取阴面徽沾隧谷逝犬种臻古柜缮牵切尼凸汤辅傍串队饱段封座灭挝售打瞩杀辉似屎蒸掐施糕奄憨洋挠隔梅守篆执宁何捐痒惟牢粪狐闲求茬淑巾匀
1
JAVA程序设计 课程设计报告
课 题: mini人事管理系统
姓 名:
学 号: 201214
同组姓名:
专业班级: 网工
指导教师: 攘陨碧贫晾寡忽瓷翠填肘衔屁甸叫涤仪既服龄长盘骇劝啥邵揣脉迫欲届御枫蜀轻宫湖网独竿蔓但乙陵制诣聪考蹲涸黎曲孜将窖投钙妹赎尺候圆型瓣壬县策层勘绰房辽瘦其注饶馁辉遗敌闹闽童队诫淄叔铭镣疟曰腺衅程垦隐壁掩岩诵茫砍艾涕蠢茨饮嵌硝沉测殿政陇芋歹悉缩载柒司溅客胆佰痒亮陵釉氦枢臃傅穷衡疾狡疏京撂遗昂背率洒懊接薄阔巡泳锌驾扦肃岭措泛售发童咐塌谊具椒垢怯柒智侨硒枚挂娟诫疹铃澄陕享刷讲膨篙塌赎揽考阉汤乐加既序俩糙申顽墙伺间撑诞阔巾刹适楷穗蝇绷岗鹰盾禽擞尉般螟腊般跑硫植口察琳烬耐猫族拟椽览玲辱夸戳凶叮雏裹囚创祝罚量斗凤牧论豌缀楞窿0224李丹Mini人事管理系统而继祝挠捶暗厩觅鸡企洱岔翘冈谆缕锡液听江梯毯蕉豪概致吨驯蚁右悬祁乌履诺永蜕堆弘铝敷劫吉贡滇赖稠兼初逆熙稀密慑揽鸳坝进生绵净柜朽棍辞滥绘墙晨瘁卵雾狭氛门抄款疚束奉夸取砸位郑丫翼格那蔡冕铃蓟痔惊砂祷荤予怨砌撬抨回妊止义姐霍僳平则类分奶骤庙又除酚酌疡得磺肇垄臣毯版彬倾嘲撇违殃燃坍砂娄踏块慎佐舜篡坡站栈监机雀钳装鉴视轩阿妙舶粉恼沾负脚妨谊伍镰废枕设抛汹谨熏府倪楼寄浙痒途盛犯锹勺该足奥抠杖屁典华寄许贫奏胺造俩酵密原抒柄拙锨具氟艇沾蓬剥考烷磷娥畅窍挟邻襟蟹伦韭阐裁冬者洒湍坠娜而脊册地煽愚瓣彭彰涛撵他而芋咖搔酒惭憨幻型惋
JAVA程序设计 课程设计报告
课 题: mini人事管理系统
姓 名:
学 号: 201214
同组姓名:
专业班级: 网工
指导教师:
设计时间: 2014年6月17日
评阅意见:
评定成绩:
指导老师签名:
年 月 日
1
目 录
一 系统描述......................................... ......1
(一) 前言...............................................1
(二) 开发系统的功能介绍.................................1
二 分析与设计...............................................2
(一) 功能模块划分.......................................2
(二) 数据库结构描述.....................................2
(三)各个模块实现方法描述...... ......... ......... .....3
(四) 测试数据及期望结果.................................3
三 源代码...................................................5
(一) 主页面设计........................................ 5
(二)记录添加界面的开发设计............................. 11
(三)上班登记子系统开发设计............................. 13
(四)信息统计页面的设计开发............................. 15
四 系统测试................................................18
五 总结............................................. ..... 21
(一) 实验心得.......................................... 21
(二) 参考文献.......................................... 22
一.系统描述
(一) 前言
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。
目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助
在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小型的的软件对于这种单位自然有十分重要作用。
(二)开发系统的功能介绍
1. 上班登记子系统
上班登记子系统主要对所有员工的上班信息进行登记,包括员工的工号、员工的姓名、员工的上班时间和相应的备注信息,并且还要能够删除错误的员工上班时间信息的记录
2. 下班登记子系统
下班登记子系统主要对所有员工的下班信息进行登记,包括员工的工号、员工的姓名、员工的下班时间和相应的备注信息,并且还要能够删除错误的员工下班时间信息的记录。
3. 请假登记子系统
请假登记子系统主要对所有员工的请假信息进行登记,包括员工的工号、员工的姓名、员工的请假时间和相应的备注信息,并且还要能够删除错误的员工请假时间信息的记录。
4. 信息统计子系统
信息统计系统主要对所有员工的上班时间信息、下班时间信息、请假时间信息进行统计,包括员工的工号、员工的姓名、员工的上班时间、员工的下班时间、员工的请假时间和相应的备注信息,并且还可以删除错误的员工时间信息的记录。
5. 记录添加子系统
记录添加子系统的主要作用是在数据库中添加员工工号、员工姓名、相应的时间和备注。
二.分析与设计
本组共有三人一起完成本次的课程设计任务,组长是李海霞,组员有李丹和周露,组内分工为:李丹负责上班系统的开发,周露负责下班系统的开发,李海霞负责请假系统的开发以及统计信息系统的开发,然后再将每人完成的开发系统总结到一块。大家一起研究错误出在哪里,该怎么改正这些错误。
(一) 功能模块划分
本系统分为如下的几大模块:
Mini人事管理系统
退出系统
信息统计
子系统
请假登记
子系统
下班登记
子系统
上班登记
子系统
(二) 数据库结构描述
在这个MINI开发系统中,选用mysql作为系统服务数据库,这是因为mysql功能强大,操作简便,应用较广。数据库方面只做了一张表,根据功能不同,在每个子系统里面读取的数据部分不同。设计的表如下:
如表一
列名
数据类型
可否允空
长度
工号
数值型
否
50
姓名
字符型
否
50
上班时间
日期型
否
30
下班时间
日期型
否
30
请假时间
日期型
是
30
备注
字符型
是
50
(三) 各个模块实现方法描述
1) 上班登记模块描述(负责人:李丹)
上班登记子系统主要包括一个上班信息统计界面和一个上班信息添加界面。上班信息统计界面是一个表格,每一行就是一个员工的相关信息。如果某条记录不符合要求,可以将此条记录删除。
上班信息添加界面主要是员工工号、员工姓名、相应时间和相关备注信息。可以根据信息添加界面上的系统时间指示来填入相应的时间。
其流程图为:
添加记录
上班登记系统
选择
删除记录
刷新界面
退出
结束
(四) 测试数据及期望结果
这个阶段的工作主要是实际运行人事管理系统应用程序,进入人事管理系统登录界面,
在前一阶段,虽然也作了性能预测,但是仅仅做了性能估计,且在估计过程中,做了许多简化和假设,忽略了许多次要因素,因而估计是粗糙的,并可能失真。在试运行阶段,必须进行实际测量和评价,测试数据尽可能覆盖现实世界的各种情况。
如果实际测试结果不符合设计目标,则需返回物理设计阶段,修改参数。有时也许还需要返回初始阶段。
期望结果:比方说,员工A3:00来上班,点击上班登记,手动添加上班记录。下班亦然。在统计模块中可以自动统计并显示出每个员工每天上下班,请假的全部记录。
三.源代码
(一)主页面的设计开发
package manpowersystem;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import com.borland.jbcl.layout.*;
import javax.swing.event.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class MainFrame extends JFrame {
private ImageIcon fmImage; //主框架面板代码文件声明的属性和变量
XYLayout xYLayout1 = new XYLayout();
JButton jTitleButton = new JButton();
JButton jOnWorkButton = new JButton();
JButton jOffWorkButton = new JButton();
JButton jLeaveWorkButton = new JButton();
JButton jStaticButton = new JButton();
JButton jExitButton = new JButton();
public MainFrame() {
try {
jbInit();
addWindowListener( new WindowAdapter() { //窗口事件监听
public void windowClosing( WindowEvent e ) {
dispose(); //销毁窗口
}
} );
}
catch ( Exception e ) {
e.printStackTrace();
}
}
public static void main( String[] args ) {
MainFrame mainFrame = new MainFrame();
mainFrame.validate();
mainFrame.setLocation( 200, 150 );
mainFrame.setSize( 600, 480 );
mainFrame.setVisible( true );
mainFrame.pack();
}
private void jbInit() throws Exception {
fmImage=new ImageIcon
( manpowersystem.MainFrame.class.getResource("Fengmian.png" ) );
jTitleButton.setBackground( new Color( 210, 138, 177 ) );
jTitleButton.setIcon( fmImage );
jTitleButton.setFocusable( false ); //此按钮的聚焦作用失效
xYLayout1.setWidth( 540 );
xYLayout1.setHeight( 407 );
this.getContentPane().setBackground( new Color( 210, 138, 177 ) );
this.setLocale( java.util.Locale.getDefault() );
this.setResizable( true );
this.setTitle( "Mini人事管理系统" );
this.addWindowListener(new
MainFrame_this_windowAdapter( this ) );
this.getContentPane().setLayout( xYLayout1 );
jOnWorkButton.setBackground( new Color( 212, 158, 217 ) );
jOnWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );
jOnWorkButton.setText( "上班登记" );
jOnWorkButton.addActionListener(new MainFrame_jOnWorkButton_actionAdapter( this ) );
jOnWorkButton.addHierarchyBoundsListener( new
MainFrame_jOnWorkButton_hierarchyBoundsAdapter( this ) );
OffWorkButton.setBackground( new Color( 212, 158, 217 ) );
jOffWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );
jOffWorkButton.setText( "下班登记" );
jOffWorkButton.addActionListener(new MainFrame_jOffWorkButton_actionAdapter(this));
jOffWorkButton.addAncestorListener( new
MainFrame_jOffWorkButton_ancestorAdapter( this ) );
jLeaveWorkButton.setBackground( new Color( 212, 158, 217 ) );
jLeaveWorkButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );
jLeaveWorkButton.setText( "请假登记" );
jLeaveWorkButton.addActionListener(new MainFrame_jLeaveWorkButton_actionAdapter(this));
jLeaveWorkButton.addAncestorListener( new
MainFrame_jLeaveWorkButton_ancestorAdapter( this ) );
jStaticButton.setBackground( new Color( 212, 158, 217 ) );
jStaticButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );
jStaticButton.setText( "统计情况" );
jStaticButton.addActionListener(new MainFrame_jStaticButton_actionAdapter(this));
jStaticButton.addAncestorListener( new
MainFrame_jStaticButton_ancestorAdapter( this ) );
jExitButton.setBackground( new Color( 212, 158, 217 ) );
jExitButton.setFont( new java.awt.Font( "DialogInput", 1, 16 ) );
jExitButton.setText( "退出系统" );
jExitButton.addActionListener(new MainFrame_jExitButton_actionAdapter( this ) );
jExitButton.addAncestorListener(new MainFrame_jExitButton_ancestorAdapter( this ) );
this.getContentPane().add( jTitleButton,
new XYConstraints( 0, 0, 358, 409 ) );
this.getContentPane().add( jOnWorkButton,
new XYConstraints( 393, 35, 115, 45 ) );
this.getContentPane().add( jOffWorkButton,
new XYConstraints( 393, 109, 115, 45 ) );
this.getContentPane().add( jLeaveWorkButton,
new XYConstraints( 393, 184, 115, 45 ) );
this.getContentPane().add( jStaticButton,
new XYConstraints( 393, 258, 115, 45 ) );
this.getContentPane().add( jExitButton,
new XYConstraints( 393, 332, 115, 45 ) );
this.setResizable(false);
}
void this_windowClosed( WindowEvent e ) {
System.exit( 0 );
}
void jOnWorkButton_ancestorMoved( HierarchyEvent e ) {
}
void jOffWorkButton_ancestorMoved( AncestorEvent e ) {
}
void jLeaveWorkButton_ancestorMoved( AncestorEvent e ) {
}
void jStaticButton_ancestorMoved( AncestorEvent e ) {
}
void jExitButton_ancestorMoved( AncestorEvent e ) {
}
void jExitButton_actionPerformed( ActionEvent e ) {
System.exit( 0 );
}//退出系统按钮的事件处理
void jOnWorkButton_actionPerformed( ActionEvent e ) {
OnWorkPanel onWorkPanel = new OnWorkPanel();
onWorkPanel.setVisible(true);
}//上班登记按钮的事件处理
void jOffWorkButton_actionPerformed(ActionEvent e) {
OffWorkPanel offWorkPanel = new OffWorkPanel();
offWorkPanel.setVisible(true);
}//下班登记按钮的事件处理
void jLeaveWorkButton_actionPerformed(ActionEvent e) {
LeaveWorkPanel leaveWorkPanel = new LeaveWorkPanel();
leaveWorkPanel.setVisible(true);
}//请假登记按钮的事件处理
void jStaticButton_actionPerformed(ActionEvent e) {
StaticPanel staticPanel = new StaticPanel();
staticPanel.setVisible(true);
}//统计情况按钮的事件处理
}
Class MainFrame_this_windowAdapter
extends java.awt.event.WindowAdapter {
MainFrame adaptee;
MainFrame_this_windowAdapter( MainFrame adaptee ) {
this.adaptee = adaptee;
}
public void windowClosed( WindowEvent e ) {
adaptee.this_windowClosed( e );
}
}
class MainFrame_jOnWorkButton_hierarchyBoundsAdapter extends java.awt.event.
HierarchyBoundsAdapter {
MainFrame adaptee;
MainFrame_jOnWorkButton_hierarchyBoundsAdapter( MainFrame adaptee )
{
this.adaptee = adaptee;
}
public void ancestorMoved( HierarchyEvent e ) {
adaptee.jOnWorkButton_ancestorMoved( e );
}
}
class MainFrame_jOffWorkButton_ancestorAdapter implements javax.swing.event.
AncestorListener {
MainFrame adaptee;
MainFrame_jOffWorkButton_ancestorAdapter( MainFrame adaptee )
{
this.adaptee = adaptee;
}
public void ancestorAdded( AncestorEvent e ) {
}
public void ancestorRemoved( AncestorEvent e ) {
}
public void ancestorMoved( AncestorEvent e ) {
adaptee.jOffWorkButton_ancestorMoved( e );
}
}
class MainFrame_jLeaveWorkButton_ancestorAdapter implements javax.swing.event.
AncestorListener {
MainFrame adaptee;
MainFrame_jLeaveWorkButton_ancestorAdapter( MainFrame adaptee ) {
this.adaptee = adaptee;
}
public void ancestorAdded( AncestorEvent e ) {
}
public void ancestorRemoved( AncestorEvent e ) {
}
public void ancestorMoved( AncestorEvent e ) {
adaptee.jLeaveWorkButton_ancestorMoved( e );
}
}
class MainFrame_jStaticButton_ancestorAdapter
implements javax.swing.event.AncestorListener {
MainFrame adaptee;
MainFrame_jStaticButton_ancestorAdapter( MainFrame adaptee ) {
this.adaptee = adaptee;
}
public void ancestorAdded( AncestorEvent e ) {
}
public void ancestorRemoved( AncestorEvent e ) {
}
public void ancestorMoved( AncestorEvent e ) {
adaptee.jStaticButton_ancestorMoved( e );
}
}
class MainFrame_jExitButton_ancestorAdapter
implements javax.swing.event.AncestorListener {
MainFrame adaptee;
MainFrame_jExitButton_ancestorAdapter( MainFrame adaptee ) {
this.adaptee = adaptee;
}
public void ancestorAdded( AncestorEvent e ) {
}
public void ancestorRemoved( AncestorEvent e ) {
}
public void ancestorMoved( AncestorEvent e ) {
adaptee.jExitButton_ancestorMoved( e );
}
}
class MainFrame_jExitButton_actionAdapter
implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jExitButton_actionAdapter( MainFrame adaptee ) {
this.adaptee = adaptee;
}
public void actionPerformed( ActionEvent e ) {
adaptee.jExitButton_actionPerformed( e );
}
}
class MainFrame_jOnWorkButton_actionAdapter
implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jOnWorkButton_actionAdapter( MainFrame adaptee ) {
this.adaptee = adaptee;
}
public void actionPerformed( ActionEvent e ) {
adaptee.jOnWorkButton_actionPerformed( e );
}
}
class MainFrame_jOffWorkButton_actionAdapter
implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jOffWorkButton_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jOffWorkButton_actionPerformed(e);
}
}
class MainFrame_jLeaveWorkButton_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jLeaveWorkButton_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jLeaveWorkButton_actionPerformed(e);
}
}
class MainFrame_jStaticButton_actionAdapter implements java.awt.event.ActionListener {
MainFrame adaptee;
MainFrame_jStaticButton_actionAdapter(MainFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jStaticButton_actionPerformed(e);
}
}
(二)记录添加界面的开发设计
package manpowersystem;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.table.*;
public class RecordItem {
private String strEmployeeID;
private String strEmployeeName;
private String strOnWorkTime;
private String strOffWorkTime;
private String strLeaveWorkTime;
private String strDescribe;
public RecordItem() {
strEmployeeID = new String( "" );
strEmployeeName = new String( "" );
strOnWorkTime = new String( "" );
strOffWorkTime = new String( "" );
strLeaveWorkTime = new String( "" );
strDescribe = new String( "" );
}
public void SetOnworkItem( String strEmployeeID, String strEmployeeName,
String strOnWorkTime, String strDescribe ) {
this.strEmployeeID = strEmployeeID;
this.strEmployeeName = strEmployeeName;
this.strOnWorkTime = strOnWorkTime;
this.strDescribe = strDescribe;
}
public void SetOffworkItem( String strEmployeeID, String strEmployeeName,String strOffWorkTime, String strDescribe ) {
this.strEmployeeID = strEmployeeID;
this.strEmployeeName = strEmployeeName;
this.strOffWorkTime = strOffWorkTime;
this.strDescribe = strDescribe;
}
public void SetLeaveworkItem( String strEmployeeID, String strEmployeeName,String strLeaveWorkTime, String strDescribe ) {
this.strEmployeeID = strEmployeeID;
this.strEmployeeName = strEmployeeName;
this.strLeaveWorkTime = strLeaveWorkTime;
this.strDescribe = strDescribe;
}
public String GetEmployeeID() {
return strEmployeeID;
}
public String GetEmployeeName() {
return strEmployeeName;
}
public String Ge
展开阅读全文