版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计任务书
专业计算机科学和技术班级13计专升本姓名徐占新
设计起止日期6月30日一7月4日
设计题目:工资管理系统
设计任务(关键技术参数):
I.课程设计目标
深入熟悉Java语言语法,加深对数据结构及软件工程中相关知识了解,掌握
Java语言编程多种基础操作。
2,课程设计要求
1)用Java语言编写工资管理系统程序,采取面向对象设计方法,实现信息
录入、删除、修改及查找、汇总等基础功效,并上机调试运行。
2)初步掌握软件系统设计和开发方法,培养独立工作能力。
3)撰写课程设计说明书一份。
3.课程设计环境
1)硬件环境:CPU:IntelCorei3-350M(2.13GHz)硬盘:320G内存:2G
2)软件环境:MyeclipseTO.7.1
指导老师评语:
成绩:签字:
年月日
1、课程设计目标
工资管理系统系统对企业加强工资管理有着极其关键作用,就通常大型企业来说,它设
计内容很复杂而且繁多,比如拥有工资计算功效,工资统计功效,报表输出功效,而且
设计模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,
模糊杳询模块等等。所以,工资管理系统为企业和职员带来极大方便。经过我们组员之
间分析和研究,要求系统含有以下功效:
提供用户登录、用户查询功效职员考勤情况表
:•职员工种情况表,反应职员工种、等级,基础工资等信息
2.职员津贴信息表,反应职员加班时间,加班类别、加班天数、津贴情况等
3.职员基础信息表
4.职员月工资表
2、功效描述
工资管理系统在用户登录时分两个部分:管理员和一般用户。一般用户能够进入用户界
面查询各个信息,但只有查询功效。管理员权限除了一般用户权限外,还有对各个部分
信息进行添加、修改、删除等功效。全部功效管理员全部能实现。
卜面是系统所要达成几条要求:
1.要求系统正确统计多种信息。
2.系统要提供丰富查询功效。
3.系统能够对基础数据进行维护。
4.系统运行在Windows平台下,需要有良好图形用户界面c
5.系统含有良好可扩展性,良好可移植性。
2.1系统体系结构
2.1.1系统登入运行
登入系统系统主界面
职员信息检索职员绩效管理退出运行
图1系统登入
系统有一个进入界面,只有输入密码才能进入主菜单,在主菜单中进行部分所需操作。
在主菜单中能够添加删除修改登录用户,查找添加职员信息等操作。
:、职员信息添加
添加这一项,关键工作就是完成对职员资料填写,和对职员平时表现一个客观地而评价,
以方便等换成月末对职员奖金数目,给职员颁发月末工资提供一个关键依据。
2、职员信息删除
删除这一项,只要工作就是依据职员编号找到对应职员相关资料,并进行删除,删除这
有和职员相关奖金和工资也要从总工资支出中一并删除,假如没有找到和编号相关职员
贡料,那么系统就会发出对应提醒
2.1.2菜单界面所连接信息
图2界面连接
反应了一个人事管理系统中所要包含部分模块。
如:1、职员信息
2、检索职员
3、绩效管理
4、退出运行
2.2职员信息管理
职员
1职员信息添加
1职员信息添加
1职员信息添加
2职员信息删除
3全部职员信息显示
2.3职员信息检索
图4职员信息
经过不一样条件来查看职员信息,假如所查看信息部存在就会弹出提醒信息框,提醒一
随查看职员不存在。
2.4职员信息实体和工资信息实体之间联络
2.4.1职员工资
职员------------——工资
u职务_二)
图5职员工资
更具职员表现给一个评价,给对应奖金。
2.4.2全部职员工资汇总
经过计算全部职员工资,统计所需支出总工资。
3、数据库设计
1.用户表:
表1用户表结构
列名数据类型长度约束
用户名char10主键
密码char6不为空
2.职员基础信息表:
表2职员基础信息表结构
列名数据类型长度约束
职员编号char10主键
姓名char10不为空
性别char2不为空
出生日期datetime8不为空
职称char10许可空
部门char10许可空
入职时间datetime8不为空
3.职职员资表:
表3职职员资表结构
列名数据类型长度约束
职员编号char10主键
年份char4不为空
月份char2不为空
基础工资int4不为空
补助int4许可空
奖金int4许可空
应发工资int4不为空
缴税int4不为空
水电费int4不为空
保险般int4不为空
实发工资int4不为空
4、功效实现
4.1具体设计
4.1.1建立系统主窗体
工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必需有步骤,
当运行时,弹出界面。按钮选中管理员后,输入正确管理员用户名和密码后,按登录按
钮就可进入系统主界面。假如用户名或密码输入错误会出对应提醒信息。运行时登录界
面,图5.1所表示。
图5.1登陆界面
界面关键代码以下:
publicclassLoginI{
publicstaticvoidmain(StringUargs){
Loginmf=newLogin();
classLogin{
JFramelogn=newJFranie();
JButtonbO=newJButton();
JButtonbl=newJButton();
JTextFieldinputtextI=newJTextField(l5);
JTextField:nputtext2=newJTex(Field(l5);
JLabcl11=ncwJLabcl();
JLabel12=newJLabcl();
JLabcl13=newJLabcl();
Login(){
login.setTitle("用户登录)
login.setLayout(null);
login.setBounds(l50,80,320,250);
login.setVisible(true):
login.add(13);
13.sctBounds(80,-l0,100,100);
13.seiTexl("工资管理系统)
13.setFont(newFont("黑体”,Font.BOLD,15));
login.add(ll);
ll.setBounds(50,30,80,80);
ll.sciTexl("用户名:");
login.add(inpultext1);
inputtext1.setBounds(100.60.100.20);
login.add(12);
12.setBounds(50,60,80,80);
12.seiText(“密码:”);
login.add(inpmtext2);
inputtext2.se(Bounds(100.90,100.20);
login.add(bO);
b0.setBounds(60,l30,60.20);
bO.setText("登录)
bO.setMargin(newInsets(0,0,0,0));
login.add(bl);
bl.sctBounds(l30,130.60.20);
bl.seiTexK"退出)
bl.setMargin(newInsets(0A0,0));
4.1.2登录窗体
importjava.awl?;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.4;
importjava.awt.geom.*;
classlogFrameextendsFrame{
Stringsql=null;
ResultSetrs=null;
sqlconndbconn=newsqlconn();
LabelnanicLab=ncwLabcl("账号:”);
LabelpwdLab=newLabel("密码:");
LabeldesLab=newLabel("工资管理系统
TextFieldnameTxt=newTextField();
TextFieldpwdTxt=newTextField。;
ButtonlogBut=newBulton("登录");
ButtonexitBut=newButton("退出");
Imageimg;
publiclogFrame(){
selTitle("欢迎使用工资管理系统");
setLayout(null);
setResizable(false);
setSize(400,300);
setBackground(Color.LIGHT_GRAY);
Dimensionscr=lbolkit.getDefaultToolkit().getScreenSize();
Dimensionfrm=this.getSize();
setIx)cation((scr.width-fim.widtli)/2,(scr.height-frm.heiglit)/2-l8);
img=getToolki(().getImage(getClass().ge(Resource("/login_pic.jpg"));
nameLab.setBounds(125,185.50,20);
pwdLab.setBounds(125,215,50,20);
nameTxt.setBounds(185,185,80.20);
pwdTxt.setBounds(185,215,80.20);
logBut.setBounds(155,245,40,20);
exitBut.setBounds(215,245.40,20);
desLab.setBounds(160,50,80,30);
//add(nameLab);
//add(pwdLab);
add(nameTxt);
add(pwdTxt);
add(logBut);
add(exitBut);
//add(desLab);
〃密码文本框显示"”
pwdTxt.setEchoCharC*');
setVisible(true);
〃注册"登陆"按钮监听器
logBul.addActionListener(newActionListener(){
publicvoidactionPcrfonncd(ActionEvente){
sql="select*fromuserswherenamc=,"+nanicTxt.gctTcxt()+'"and
password=",,+pwdTxLgctTcxt()+""';
lry{
rs=dbconn.gelRs(sql);
if(rs.next())
(
mainFramemf=newmainFrame();
dispose();
〃调用工资管理系统主界面
nif.show();
)
else{
JOptionPanejop=newJOptionPane。;
jop.showMessageDiak)g(nuHJ用户名或密码,请重新输
入!",“错误提醒”,1);
)
)
catch(Exceptionee){}
)
});
〃注册文本框监听器
〃输密码后按"回车"键,检验用户密码
pwdl'xt.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEAente){
sql="select*fromuserswherename=",+nanieTxt.getText()4-"'and
passwoid^,,,+pwdTxLgcllcxl()+;
try{
rs=dbconn.getRs(sql);
if(rs.next())
(
mainFramcmf=newmainFraincO;
dispose();
mf.show();
}
else{
JOptionPanejop=newJOptionPane();
jop.showMessageDiabg(null,M用户名或密码,请重新输
入!","错误提醒"J);
)
)
catch(Excepiionee){}
)
));
〃按“退出"按钮退出系统
exitBut.addActionListener(newActionLis:ener(){
publicvoidactionPerformed(ActionEvente){
//disposeO;
Systcm.cxit(O);
}
});
〃添加窗口“关闭”按钮关闭功效
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
dispose();
I
1);
publicvoidpaint(Graphicsg){
g.setCIip(ne\vRectangle2D.Float(0,0.400,300)i;
g.drawImage(img,O,O.this);
publicclasslogin{
publicstaticvoidmain(String[]args){
logFnunelogfl=newlogFrame();
)
}
4.1.3添加、修改和删除用户
关键代码以下:
〃系统主框架类
〃导入系统包
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
〃创建主框架类MainFrame
publicclassMainFrameextendsJFramcimplementsActionListencr
(
〃创建内容面板
JPanelcontentpane;
〃创建菜单栏组件对象
JMcnuBarjMcnuBar1=newJMenuBar();〃菜单条
JMenujMenuO=newJMenu("系统");〃菜单
JMcnuhemjMenuhen】O=newJMenuItem("退出)〃子菜单
JMenujMenul=newJMenu("职员管理");
JMenuItemjMenulteml=newJMenuItem("添加职员");
JMenuItemjMenuItem2=newJMenuIiem("修改职员");
JMenuItemjMenuIlem3=newJMenuItem("删除职员");
JMenujMenu2=newJMenu("工资管理”);
JMcnukcmjMcnuIicm4=ncwJMcnuIicm("添加工资");
JMenultemjMenullem5=newJMenuItem("修改工资");
JMenuItemjMenuItem8=newJMenuhem("工资查询");
JMenujMenu3=newJMenu("职员查询");
JMenuItemjMenultem6=newJMenuItem("技工号查询");
JMenuItemjMenuItem7=newJMenuItem("按姓名查询");
JMenujMenu4=newJMenu("帮助");
JMenuItemjMenuItem9=newJMenuItem("5.^J");
〃创建标签,用于显示信息
JLabeljLabell=newJLabel("工资管理系统");
JLabeljLabe12=newJLabel("7月9日,
〃创建结构方法
publicMainhrameO
|
lry{
〃关闭框架窗口时默认事件方法
sc(Dcfaul(CloscOpcration(EXIT_ON_CLOSE);
〃调用初始化方法
jblnit();
)
catch(Exceptionexception)(
exception.printStackTrace();
}
}
〃界面初始化方法
privatevoidjblni(()throwsException
{
〃创建内容面板
contentPane=(JPanel)eetContentPane();
〃设置内容面板布局为空
contcntPanc.sc(Layout(null);
〃主框架大小
setSize(ne\vDimension(4(X),360));
〃主框架标题
selTiG("工资管理小系统)
〃添加事件监听器
jMenultemO.addActionListener(this);
jMenuItemI.addActionListener(this);
jMenuItem2.addActionListener(this);
jMenuIteni3.addActionListener(this);
jMenuIteni4.addActionListener(this);
jMcnuItcm5.addActionListcncr(this);
jMcnuItcm6.addActionListcncr(this);
jMcnuIlcm7.addActionListcncr(this);
jMenuIicm8.add/\ctionListencr((his);
iMcnuItcm9.addActionListcncr(this);
〃添加菜单条到主框架
seUMenuBar(jMenuBarl);
〃添加菜单到菜单条
jMenuBarl.add(jMenuO);
jMenuBarl.addfjMcnu1);
jMenuBarl.add(jMenu2);
jMenuBarl.add(jMenu3);
jMenuBarl.add(jMenu4);
〃添加菜单项到菜单
jMenu().add(jMenuItemO);
jMenuI.add(jMenuitem1);
jMenul.add(jMenuItem2);
jMcnul.add(jMcnuItcm3);
jMcnu2.add(jMcnuItem4);
jMcnu2.add(jMcnuItcm5);
jMenu2.add(jMenuItem8);
jMemi3.add(jMenuItem6);
jMenii3.add(jMenuItem7);
jMenu4.add(jMenuItem9);
〃添加标签到主框架内容面板
contentPane.add(jLabel1);
contentPane.add(jLabel2);
〃设置标签组件大小和字体
jlnhellsetFont(new力245\5尸(刈(“黑体"尸。11「1^0【.口,20));
jLabel1.setBounds(newRectangle(65,70,275,55));
jLabd2.setFont(newjava.awt.Font("黑体",Font.BOLD,16));
jLabcl2.sctBounds(ncwRcctanglc(90.150.200.35));
)
〃菜单项事件对应处理方法
publicvoidactionPerformed(ActionEventacticnEvent)
{
〃点击“系统”菜单下“退出”菜单项
if(actionEvcnt.gc(Sourcc()==jMcnuItemO)
(
System.exit(O);
}
〃点击“职员管理”菜单卜“添加职员”菜单项
if(actionEvent.getSource()==jMenuitem1)
{
〃创建“添加职员”面板对象
AddEmployeeAddEmp=ncwAddEniployceO;
〃移除主框架上原有内容
this.remove(this.getContentPane());
〃加载“添加职员”面板对象到主框架
this.setContentPane(AddEmp);
〃令界面可见
this.setVisiblc(true);
)
〃点击“职员管理”菜单下“修改职员”菜单项
if(actionEvent.getSource()==jMenuItem2)
(
〃创建“修改职员”面板对象
ModifyEmployeeModifyEmp=newModifyEmployeeO;
this.remove(this.getContentPaneO);
/加1载“修改职员”面板对象到主框架
this.setContentPane(ModifyEmp);
this.setVisible(true);
}
〃点击“职员管理”菜单下“删除职员”菜单项
if(actionEvent.getSource()==jMcnuItem3)
(
〃创建“删除职员”面板对象
DeleteEniployeeDeleteEmp=newDeleteEmployee();
this.remove(this.getContentPane());
〃加载“删除职员”面板对象到主框架
(his.setConten(Pane(DeleteEmp);
this.setVisiblc(true);
)
〃点击“工资管理”菜单下“添加工资”菜单项
if(actionEvent.ge(Source()==jMenuItem4)
(
〃创建工资添加面板对象
AddSalaryAddSal=ncwAddSalaryO;
this.remove(this.getContentPaneO);
“加载工资添加面板对象到主框架
this.setContentPane(AddSal);
this.setVisible(true);
)
〃点击“工资管理”菜单下“修改工资”菜单项
if(actionEvcrn.gc(Sourcc()==jMcnuI(em5)
(
〃创建工资修改面板对象
ModifySalaryModifySal=newModifySalaryO;
this.remove(this.getContentPaneO);
协口载工资修改面板对象到主框架
this.setContentPane(ModifySal);
(his.setVisiblc(true);
)
〃点击“工资管理”菜单下“工资查询”菜单项
if(actionEvent.getSource()==jMenuItem8)
(
〃创建工资修改面板对象
SalaryinquircSalarylnq=ncwSalaryInquireO;
ihis.remove(ihis.getConieniPane());
“加载工资修改面板对象到主框架
this.setContentPane(Salar),lnq);
this.setVisible(true);
)
〃点击“职员查询”菜单下“按工号查询”菜单项
if(ac(ionEvcnt.ge(Sourcc()==jMcnuItcm6)
〃创建“按工号查询”面板对象
InquircOnGHOnGH=ncwInquircOrGH();
〃移除主框架上原有内容
this.remove(this.getConien(Pane());
this.setContentPane(OnGH);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南漯河市召陵区公益性岗位招聘5人考试备考试题及答案解析
- 2006云南昆明晋宁产业园区管理委员会招聘编外人员3人考试参考题库及答案解析
- 2026年合肥市园上园小学喻岗分校教师招聘考试备考题库及答案解析
- 2026广西来宾市忻城县职业技术学校城镇公益性岗位人员招聘1人考试参考试题及答案解析
- 2026山东烟台市教育局直属单位、学校第二批面向社会招聘教师、教研员18人考试备考试题及答案解析
- 2025江西九江市寻阳实业集团有限公司招聘延期考试备考试题及答案解析
- 2026上海烟草集团嘉定烟草糖酒有限公司应届生招聘1人考试参考试题及答案解析
- 2026浙江嘉兴幸福嘉保安服务有限公司招聘1人考试参考题库及答案解析
- 2026天津市粮食储备有限公司面向社会公开招聘考试备考题库及答案解析
- 2026勐海县公安局警务辅助人员招聘(12人)笔试模拟试题及答案解析
- 食品居间合同协议
- 2022学年上海复旦附中高一(上)期末信息技术试题及答案
- 励志类的美文欣赏范文(4篇)
- 广东省广州市白云区2024-2025学年六年级(上)期末语文试卷(有答案)
- 心内科护理带教工作总结
- 知行合一实践出真知主题班会
- GB/T 45166-2024无损检测红外热成像检测总则
- 山东省菏泽市东明县2024-2025学年七年级上学期考试生物试题
- 北京市海淀区2023-2024学年六年级上学期语文期末试卷(含答案)
- 2024集装箱储能系统测试大纲
- 保温班组安全晨会(班前会)
评论
0/150
提交评论