数据库课程实训报告职工工资管理系统.docx
- 文档编号:819486
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:68
- 大小:124.42KB
数据库课程实训报告职工工资管理系统.docx
《数据库课程实训报告职工工资管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程实训报告职工工资管理系统.docx(68页珍藏版)》请在冰豆网上搜索。
数据库课程实训报告职工工资管理系统
数据库课程实训报告
题目:
职工工资管理系统
职工工资管理系统
1课题内容和要求
1.1课题描述
本系统的主要目的就是实现职工工资管理系统设计与实现,使职工工资管理工作更加容易,高效地管理企业职工工资,从而提高工作效率,降低管理成本.
1.2课题要求
基本功能要求:
1)可以按照科室(经理室、财务科、技术科和销售科)增加、修改、删除职工的基本资料
2)职工信息应包含职称,分为高级、中级、初级,同一职称职工基本工资相同
3)职工工资由基本工资、奖金、扣除金额组成,其中奖金、扣除金额可每月输入不同数据
4)可以计算职工每月工资
5)可以按照科室、职称、月份统计职工工资
6)可以按照科室、职工号、职工名称查询职工工资
2需求分析
2.1功能需求分析
1)可以按照科室(经理室、财务科、技术科和销售科)增加、修改、删除职工的基本资料
2)职工信息应包含职称,分为高级、中级、初级,同一职称职工基本工资相同
3)职工工资由基本工资、奖金、扣除金额组成,其中奖金、扣除金额可每月输入不同数据
4)可以计算职工每月工资
5)可以按照科室、职称、月份统计职工工资
6)可以按照科室、职工号、职工名称查询职工工资
2.2数据需求分析
3系统设计
3.1功能模块设计
1数据库设计模块
2用户登录识别模块
3用户信息管理模块
4职工信息管理模块
3.2数据库概念设计
职工表(employee)
字段名
类型
备注
EmployID
char(20)
职工号
EmployName
char(30)
Notnull
EmploySex
char
(2)
性别
'男'或者'女'
EmployAge
int
年龄
>0
EmployDept
char(30)
部门
EmployAd
char(50)
住址
EmpoyJob
Char(20)
职务
Notnull
EmployPh
Int
电话号
工资表(salary)
字段名
类型
备注
EmployID
char(20)
职工号
Notnull
EmbaseSalary
Int
基本工资
>=0
EmAddSalary
int
奖金
EmSubSalary
int
罚金
SalaryCard
int
工资卡
Notnull
RealSalary
int
实发工资
Notnull
4系统实现
4.1数据库模块实现
将数据库的连接包装在一个DBConnect类中,以便其他模块能够轻松调用,避免每次重写数据库连接代码。
下表是他的基本属性
文件名
成员变量
成员方法
database.java
publicstaticConnectioncn;
publicstaticStatementst;publicstaticResultSetrs;
publicstaticvoidcloseConn(Connectionconn);
publicstaticConnectiongetConn()throwsException{}
4.2用户登录识别模块实现
下表其他的基本属性
文件名
成员变量
成员方法
landing1.java
JLabeljlabel2=newJLabel("用户ID:
");
JLabeljlabel3=newJLabel("密码:
");
JTextFieldtext1=newJTextField();
publiclanding1(){}
4.3管理员模块实现
5代码调试与功能测试
5.1测试方案
软件测试的方法和技术是多种多样的,网路上也提供了很多免费的工具。
对于软件测试技术,可以从不同的角度加以划分。
(1)从是否需要执行被测软件的角度,可分为静态测试和动态测试。
(2)从是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。
下面具体介绍黑盒测试和白盒测试。
(1)黑盒测试。
又叫功能测试,由测试人员在不知道程序如何实现的情况下,输入功能需要的数据,查看输出结果的正确性。
所谓“黑盒”,其实就是把程序看成是一个完全密封的盒子,测试人员不考虑程序的内部构造,只是按照需求说明,进行数据的录入操作,并查看结果是否满足需求要完成的功能。
“黑盒”法着眼于程序外部结构,不考虑内部运算,针对界面和功能进行测试。
“黑盒”法是穷举测试,只有把所有可能的输入都进行测试,才能查处程序中所有的错误。
实际上测试情况有无穷多个,测试人员不仅要测试合法的输入,还要对那些不合法的输入进行测试。
(2)白盒测试。
又叫逻辑结构测试。
测试人员需要了解功能的内部构造,对所有逻辑路径都进行测试。
“白盒”法是穷举路径测试。
测试人员必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。
即使每条路径都测试了,仍然可能有错误。
第一,穷举路径测试无法查出程序违反了设计规范,即程序本身是个错误的程序。
第二,穷举路径测试查不出程序中因遗漏路径而出错的情况。
第三,穷举路径测试可能发现不了输入数据的错误。
5.2测试结果
6收获与体会
本次java课程设计主要侧重在对职工工资信息管理的添加、删除、修改、查看等最基本的操作,掌握这些最基本的设计思想是很重要的,能够帮助我们开发更加复杂的软件提供依据和基础。
在做这次课程设计中我把Java中很多的知识融会贯通,了解到很多的应用,就如并不是每个界面都只能用JPanel还可以用Box,每个组件的灵活应用,让界面更加的人性化,同样的组件不同的应用,就可以达到不同的效果。
所以看似简单的一次课程设计,却包含了很多,当你把小的一小方面熟练地掌握时,面对大的设计时,你只需要把问题分解成一个个小问题,逐一攻破。
最主要的是掌握这种设计的思想,先要做需求分析,将你所需要的模型的勾勒出来,再依次填充,最后形成一个完整的体系。
在做课程设计中,自我的态度也是很重要的,要把它当作一个作品,认真地去打磨,了解其中每个一个细节,争取通过一次课程设计就对java类和对象的概念有更深的了解,同时培养了我们对java课程设计的兴趣的,增强了设计软件的思维能力,以便今后更好地掌握,此外也要在完善的过程中,认识到自己的不足,慢慢地去丰富自身的关于Java知识的储备,有时多看看别人的设计也是有助于自己增强自我能力的。
参考文献
[1]钱雪忠,王燕玲,林挺.数据库原理及技术[M].北京:
清华大学出版社,2011.
[2]钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计[M].北京:
清华大学出版社,2014.
附 录
附录1源程序部分清单
附录1.1登陆代码
Addchengji.java
packagestudent;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.*;
publicclassAddchengjiextendsJInternalFrameimplementsActionListener{
intn=0;
JLabelj1,j2,j3,j4,j5;
JTextFieldtf1,tf2,tf3,tf4,tf5;
JButtonb1,b2;
//JRadioButtonrb1,rb2;
Addchengji(){
super("添加职工工资");
setLayout(null);
j1=newJLabel("输入工号");
j2=newJLabel("基本工资工资");
j3=newJLabel("扣除金额工资");
j4=newJLabel("奖金工资");
j5=newJLabel("补助");
tf1=newJTextField(20);
tf2=newJTextField(20);
tf3=newJTextField(20);
tf4=newJTextField(20);
tf5=newJTextField(20);
b1=newJButton("添加");
b2=newJButton("清空");
b1.addActionListener(this);
b2.addActionListener(this);
add(j1);
add(j2);
add(j3);
add(j4);
add(j5);
add(tf1);
add(tf2);
add(tf3);
add(tf4);
add(tf5);
add(b1);
add(b2);
j1.setBounds(50,20,80,20);
j2.setBounds(50,70,80,20);
j3.setBounds(50,120,80,20);
j4.setBounds(50,170,80,20);
j5.setBounds(50,220,80,20);
tf1.setBounds(150,20,120,20);
tf2.setBounds(150,70,120,20);
tf3.setBounds(150,120,120,20);
tf4.setBounds(150,170,120,20);
tf5.setBounds(150,220,120,20);
b1.setBounds(80,290,70,30);
b2.setBounds(180,290,70,30);
setSize(450,400);
setClosable(true);//设置是否可关闭
setMaximizable(true);//设置是否可最大化
setResizable(true);//设置是否可调整大小
show();//如果内部窗体不可见,则将该内部窗体置于前端,使其可见并尝试选定它。
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource().equals(b1)){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connectioncon=DriverManager.getConnection("jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=students","sa","123456");
Statementstm=con.createStatement();
Statementstm2=con.createStatement();
Statementstm3=con.createStatement();
ResultSetres=stm2.executeQuery("select*fromsstuwheresno='"+tf1.getText()+"'");
ResultSetres2=stm3.executeQuery("select*fromchengjiwheresno='"+tf1.getText()+"'");
if(!
res2.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程 报告 职工工资 管理 系统