数据库课程设计—企业工资管理系统java版+完整代码精选
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
企业工资管理系统
课程设计报告
姓名XXX
班级XXXXX
学号XXXXXX
课程名称数据库原理及应用
指导教师
201X年X月X日
目录
一.工资管理系统需求分析…………………………………功能需求………………………………………………………………………………………………………………………………………
性能需求…………………………………………………
数据流图………………………………………………
二.总体设计…………………………………………………
数据库概念设计…………………………………………
功能模块…………………………………………………
三.系统详细设计……………………………………………
数据库逻辑设计…………………………………………
各模块功能…………………………………………………………………………………
…………………………………
…………………………………
四.系统实现…………………………………………………界面截图………………………………………………………………………
…………………………………………………………………………………
…………
设计代码…………………………………………………五.实验总结…………………………………………………
1、需求分析
1.1功能需求
(1)、员工信息表;及时反映员工的基本信息
(2)、员工津贴表,反映员工津贴
(3)、员工基本工资表
功能描述
(1)、基本工资的设定
(2)、津贴的设定
(3)、计算出月工资
(4)、录入员工工资信息
(5)、添加员工工资信息
(6)、更改员工工资信息
性能需求
此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过秒时间。系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。本课程设计是用Java 语言编写,mysql数据库。
数据流图
根据工资管理要求及用户需求调查分析,得到以下数据流图
图第一层数据流图
图职工信息的载入
图考勤的信息载入
2.总体设计
数据库概念设计
有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图
m
功能模块
3津贴(职工号,姓名,奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。
工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。 表一:员工信息表:
各模块功能
功能为:财务部门相关人员录入、修改、删除、查询员工个人信息
功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;
功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;
4.系统实现
界面截图
主界面
登录界面
管理员管理工资界面
信息录入,修改,删除,查询界面
信息查询界面
界面
设计代码
package wage_management;
import .*;
import .*;
class DB extends JFrame implements ActionListener { JFrame frame = new JFrame("欢迎进入企业工资管理系统");
JLabel label = new JLabel("", ;
JButton button1 = new JButton("进入系统");
JButton button2 = new JButton("退出系统");
ImageIcon im = new ImageIcon("");
JLabel a1 = new JLabel(im);
void Create() {
JPanel pcontentPane = (JPanel) ();
(a1);
(label);
(new FlowLayout());
(button1);
(button2);
(true);
(this);
(this);
;
();
(200, 100, 550, 180);
(true);
}
public static void main(String[] args) {
DB dome = new DB();
();
}
public void actionPerformed(ActionEvent e) { if ())) {
DL dl = new DL();
();
();
}
if ())) {quals("admin") == true
&& ().equals("admin") == true))
{
(this, "登录成功!");
GZGLZJM gz = new GZGLZJM();
();
();
}
else {
(null, "输入用户名或密码错误!");
}
}
if ()==logonButton2)
{
try {
Connection con;
Statement ps;
ResultSet rs;
String sql = null;
con = (
sql="select * from workerinfo where name='"+t1+"' and mi='"+t2+"'";
ps=(PreparedStatement) (sql);
rs = (sql);
if())