数据库课程设计—企业工资管理系统java版+完整代码精选
数据库工资管理系统报告和代码大全
数据库原理及应用课程设计报告题目:工资管理系统所在学院:信息工程学院班级:学号:姓名:指导教师:2014年1月2日目录一、概述二、需求分析三、概念设计四、逻辑设计五、系统实现六、小结一、概述在工资管理中,需要从公司管理方式以及实际情况中提取相关信息,以反映工资管理情况。
传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。
使用计算机可以高速,快捷地完成以上工作。
避免重复劳动,规范工资管理行为,从而提高了管理效率和水平。
让人们的效率大大提高.不难想象,正是资讯的迅速发展使得人们从过去繁复的手工劳作中得以解脱,从而使这种服务在现在才可能迅速普及。
同时,编写一套完整的工资管理系统的任务就显得尤为重要。
本课程设计共分为四大模块:1.系统数据初始化2.工基本信息数据的输入、修改、删除;3.员工个人信息及工资表的查询;4,员工工资的计算;二、需求分析本系统主要用于员工基本信息的管理,对员工以及其他信息的添加、修改、删除、查询等基本操作。
对于数据库的保护有数据备份和数据恢复的功能。
针对这些要求,设计本月工资信息管理系统。
该系统主要包括职工信息、工资级别和工资金额、公司福利表等。
⒈员工基本状况包括员工号、员工姓名、性别、所在部门、工资级别、工资等级等。
2.工资级别和工资金额包括工资等级、工资额。
3.企业部门及工作岗位信息包括部门名称、工作岗位名称、工作岗位工资等。
4.工龄和工资金额包括工龄及对应工资额。
5.公司福利表包括福利名称、福利值。
本系统概念设计思想:1.对公司软硬件调查,从实际环境出发,以便充分利用公司现在资源,提高系统开发水平和应用效果。
图1.1 系统功能模块图图2.6信息查询及管理的流程图三、概念设计分析前面的系统功能要求,需要一个表来存储和管理员工信息,使系统能够接受员工原始的各项数据,以实现数据录入、查询或统计员工信息等功能。
员工是本系统的第一个实体。
为了能实现查询和统计部门内员工情况等功能,必须有一个表来存储和管理所有部门的信息。
数据库课程设计—企业工资管理系统(java版+完整代码)
课程设计报告企业工资管理系统姓名XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目录一.工资管理系统需求分析…………………………………1.1功能需求…………………………………………………1.1.1功能划分………………………………………1.1.2功能描述……………………………………………1.2性能需求…………………………………………………1.3数据流图………………………………………………二.总体设计…………………………………………………2.1数据库概念设计…………………………………………2.2功能模块…………………………………………………三.系统详细设计……………………………………………3.1数据库逻辑设计…………………………………………3.2各模块功能………………………………………………3.2.1职工信息管理系统…………………………………3.2.2职工工资管理系统…………………………………3.2.3职工津贴管理系统…………………………………四.系统实现…………………………………………………4.1界面截图…………………………………………………4.1.1主界面及工资基本信息界面……………………4.1.2登录界面…………………………………………4.1.3系统主界面………………………………………4.1.4信息录入,修改,删除,查询界面…………4.2设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求1.1.1功能划分(1)、员工信息表;及时反映员工的基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表1.1.2 功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。
JAVA工资管理系统_百度文库_20141125_215940
!","警告 Fra bibliotek",1); } else if(!(rs.next())){ JOptionPane jop=new JOptionPane(); jop.showMessageDialog(null,"用户不存在,删除失败!","警告
沈阳工程学院Java课程设计报告 第5章 系统详细模块设计与实现
38 工资管理功能的添加信息的核心代码如下: public void actionPerformed(ActionEvent ae){ if(ae.getActionCommand().equals("退出")) dispose(); if(ae.getActionCommand().equals("清空")){ bWageTxt.setText(""); bonusTxt.setText(""); mWageTxt.setText(""); fWageTxt.setText(""); } if(ae.getActionCommand().equals("修改")){//getActionCommand()用来获得与当前动作相关的命令字符串 try{ //测试部分 sql="select * from wages where id='"+idTxt.getText()+"'"; conn=new sqlconn(); try{ rs=conn.getRs(sql); if(!(rs.next())){ JOptionPane jop=new JOptionPane(); jop.showMessageDialog(null,"用户不存在,修改失败!","警告
工资管理系统数据库课程设计源码
一、课程设计主题介绍本次课程设计的主题为工资管理系统数据库,旨在通过设计一个完善的工资管理系统数据库,实现对公司员工工资信息的管理和查询功能。
工资管理系统是企业日常管理中不可或缺的一部分,良好的工资管理系统能够有效提高企业的管理效率和员工的工作积极性,具有重要的实际意义。
二、系统需求分析1. 用户需求:系统应具有权限管理、员工信息管理、薪资发放管理等功能,不同用户拥有不同的操作权限。
2. 数据需求:系统需要存储员工基本信息、薪资信息、考勤信息等数据。
3. 界面需求:系统应具有友好的操作界面,用户操作简单方便。
4. 安全需求:系统要保证数据的安全性,防止未授权人员获取敏感信息。
三、系统设计思路1. 数据库设计:设计员工表、薪资表、权限表等数据库表结构,确保数据存储的规范性和完整性。
2. 功能设计:设计权限管理模块、员工信息管理模块、薪资发放管理模块等系统功能。
3. 界面设计:设计简洁清晰的操作界面,使用户能够轻松上手。
4. 安全设计:采用加密算法保护用户信息,设置严格的权限控制,防止数据泄露和篡改。
四、系统技术选型本系统选用MySQL数据库存储数据,采用Python语言进行后台逻辑开发,使用Django框架进行Web应用开发,前端界面采用HTML、CSS和JavaScript技术实现。
五、系统功能实现1. 权限管理:管理员用户可以设置不同用户的权限,包括查看员工信息、修改薪资、导出报表等操作。
2. 员工信息管理:实现员工信息的增加、修改、删除、查询等功能,包括基本信息、通联方式、部门信息等。
3. 薪资发放管理:实现对员工薪资的发放、调整、查询等功能,包括工资条生成、导出等。
4. 数据统计报表:系统可以生成各类工资统计报表,包括月度工资报表、年度工资报表等。
六、系统调试和测试在系统开发完成后,对系统进行全面的功能测试和性能测试,确保系统稳定可靠、业务流程正常、响应速度合理等。
七、系统部署和运行系统部署到服务器上,对外提供访问服务,确保系统在日常运行中稳定运行。
(完整)java课程设计-----员工工资管理系统-
(完整)java课程设计-----员工工资管理系统-编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)java课程设计-----员工工资管理系统-)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)java课程设计-----员工工资管理系统-的全部内容。
《JAVA程序语言设计》课程设计报告书设计题目:员工工资管理系统指导老师:学生班级:软工1602学生学号: 2016028学生姓名:同组人员:时间: 2018年12月一.引言1.1项目的名称员工工资管理系统1.2项目背景和目标职工工资信息管理系统主要能够对职工个人信息进行管理,对职工用户提供个人信息查询,工资查询等,对管理用户提供增加,修改,删除员工信息等操作.我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设计。
1.3项目的可行性研究设计此系统需要Java 面向对象编程基础,数据库应用知识以及功能分析。
根据目前所开设的课程,学生已经具备了这样的知识,有能力综合Java 编程知识和数据库应用知识做出一个这样的职工工资信息管理系统。
二.需求分析2.1 系统概述此系统提供给公司职工和管理者使用,职工登陆后可以对自己的信息进行查询,管理者登陆后可以对职工的信息进行修改,增加,删除等操作。
2.2 系统运行环境Java 程序运行在eclipse 软件上编译并且运行,数据库用MYSQL 数据库三. 系统设计3.1 开发与设计的总体思想职工方面:职工可以通过自己的职工号和密码登陆后,进入职工主界面,在这个主界面里,职工可以进行信息查询操作。
管理员方面:管理员通过自己的密码登陆后可以选择:查询功能,修改功能。
Java工资管理系统
Java工资管理系统Java程序设计基础课程设计课题名称工资管理系统——工资管理设计学号姓名班级指导老师企业工资管理——工资管理子系统企业工资管理——工资管理子系统............................. 错误!未定义书签。
一.需求分析报告 .. (3)1.组织机构操作方式上的可行性 (3)2.基础数据的可用性 (3)3.经济上的可行性 (3)4.技术上的可行性 (3)5.目标分析 (3)二.项目开发计划 (4)1.项目开发组织机构的设置和人员的安排 (4)2.项目开发的进度 (4)3.项目开发经费的概算 (4)4.项目所需的硬件和软件资源等 (4)三.系统分析报告 (4)1.业务流程图 (4)2.数据流程图 (6)3.功能分析图 (8)4.数据字典 (9)5.数据加工处理的描述 (12)6.管理信息系统流程设计图( 新系统模型) (12)四 .系统设计报告 (13)五.系统实现部分 (16)2.源程序 (16)3.模拟运行数据 (33)4.测试用例 (34)6.系统使用说明书。
(37)六.工作总结 .................................................................... 错误!未定义书签。
七、致谢 ........................................................................ 错误!未定义书签。
八.附录 ......................................................................... 错误!未定义书签。
一.需求分析报告1.组织机构操作方式上的可行性本系统运行在通用的Windows操作系统上, 具有Windows相似的操作界面。
具有简单易学, 使用方便等特点, 只需在计算机上进行相关的简单的设置即可, 懂得计算机基本操作的人员经过短期培训培训即可熟练操作, 熟悉计算机操作的人员不需要再经过专门的培训即可熟练操作。
javaMySql数据库课程设计(员工工资管理系统)
JavaMySQL数据库课程设计(员工工资管理系统)简介本文档是关于使用Java和MySQL数据库设计的员工工资管理系统的课程设计报告。
该系统旨在提供一个方便快捷的员工工资管理平台,帮助雇主轻松管理员工的工资信息。
功能概述•管理员功能1.登录/注销:管理员可以使用用户名和密码登录系统,并在不需要时注销账户。
2.添加员工:管理员可以添加新员工信息,包括姓名、性别、职位、工资等。
3.修改员工信息:管理员可以修改已有员工的个人信息,并更新工资等相关信息。
4.删除员工:管理员可以删除已有员工账号,同时删除与之相关的所有工资信息。
5.查询员工:管理员可以根据不同的条件查询员工信息,比如按部门、职位等。
6.导出工资表:管理员可以导出员工工资表,包括每个员工的姓名、工资、加班时长等信息。
•员工功能1.登录/注销:员工可以使用用户名和密码登录系统,并在不需要时注销账户。
2.查看个人信息:员工可以查看自己的个人信息,包括姓名、性别、职位、工资等。
3.修改个人信息:员工可以修改自己的个人信息,如联系方式、住址等。
4.查询工资信息:员工可以查询自己的工资信息,包括基本工资、奖金、扣款等。
5.查询加班记录:员工可以查询自己的加班记录,包括加班日期、加班时长等。
数据库设计本系统使用MySQL数据库管理员工工资信息,下面是数据库中的表格设计:表:员工信息表(employees)•字段:员工ID、姓名、性别、职位、工资•主键:员工ID•外键:无表:工资信息表(salaries)•字段:员工ID、基本工资、奖金、扣款、发放日期•主键:无(使用员工ID作为外键)•外键:员工ID(关联employees表)表:加班记录表(overtime_records)•字段:员工ID、加班日期、加班时长•主键:无(使用员工ID作为外键,与employees 表关联)•外键:员工ID(关联employees表)技术实现本系统采用Java作为开发语言,并使用MySQL作为后端数据库。
数据库课程设计—企业工资管理系统(java版+完整代码)经典.doc
课程设计报告企业工资管理系统姓名XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目录一.工资管理系统需求分析…………………………………1.1功能需求…………………………………………………1.1.1功能划分………………………………………1.1.2功能描述……………………………………………1.2性能需求…………………………………………………1.3数据流图………………………………………………二.总体设计…………………………………………………2.1数据库概念设计…………………………………………2.2功能模块…………………………………………………三.系统详细设计……………………………………………3.1数据库逻辑设计…………………………………………3.2各模块功能………………………………………………3.2.1职工信息管理系统…………………………………3.2.2职工工资管理系统…………………………………3.2.3职工津贴管理系统…………………………………四.系统实现…………………………………………………4.1界面截图…………………………………………………4.1.1主界面及工资基本信息界面……………………4.1.2登录界面…………………………………………4.1.3系统主界面………………………………………4.1.4信息录入,修改,删除,查询界面…………4.2设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求1.1.1功能划分(1)、员工信息表;及时反映员工的基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表1.1.2 功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息1.2性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。
数据库课程设计—企业工资管理系统
课程设计报告企业工资管理系统姓名XXX班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目录一.工资管理系统需求分析…………………………………功能需求…………………………………………………功能划分………………………………………功能描述……………………………………………性能需求…………………………………………………数据流图………………………………………………二.总体设计…………………………………………………数据库概念设计…………………………………………功能模块…………………………………………………三.系统详细设计……………………………………………数据库逻辑设计…………………………………………各模块功能………………………………………………职工信息管理系统…………………………………职工工资管理系统…………………………………职工津贴管理系统…………………………………四.系统实现…………………………………………………界面截图…………………………………………………主界面及工资基本信息界面……………………登录界面…………………………………………系统主界面………………………………………信息录入,修改,删除,查询界面…………设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求功能划分(1)、员工信息表;及时反映员工的基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表功能描述(1)、基本工资的设定(2)、津贴的设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息性能需求此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。
但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。
在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过秒时间。
java工资管理系统代码
Java工资管理系统代码简介工资管理是企业人力资源管理中重要的一环,可以通过一个可靠的工资管理系统来方便地计算、调整、记录和管理员工工资信息。
本文将介绍一个基于Java语言开发的简单而实用的工资管理系统代码。
功能特点该工资管理系统代码具有以下功能特点:1.员工管理:可以添加、删除、修改和查询员工信息。
2.工资计算:可以根据员工的基本工资、绩效考核等因素来计算实际工资。
3.工资调整:可以根据业务需要进行工资调整,并记录调整日志。
4.工资报表:可以生成月度、季度或年度的工资报表,用于管理和分析工资情况。
系统框架该工资管理系统代码基于Java语言开发,采用MVC(Model-View-Controller)架构,方便代码的维护和扩展。
模型层(Model)模型层负责处理数据相关的逻辑,包括员工信息的增删改查、工资的计算和调整等。
视图层(View)视图层负责与用户的交互,展示员工信息、工资报表等内容,并接收用户的操作。
控制层(Controller)控制层负责处理用户操作的逻辑,根据用户的请求调用模型层的方法,并将结果返回给视图层。
代码示例下面是部分Java代码示例,展示了工资管理系统的主要功能:```java // 员工类 public class Employee { private int id; private String name; private double baseSalary; // 其他属性和方法省略// 获取员工实际工资public double getActualSalary() {// 根据基本工资、绩效考核等因素来计算工资// 省略具体实现}}// 工资管理类 public class SalaryManager { // 员工列表 private List employees; // 其他属性和方法省略// 添加员工public void addEmployee(Employee employee) {// 省略具体实现}// 删除员工public void deleteEmployee(int id) {// 省略具体实现}// 修改员工信息public void updateEmployee(Employee employee) {// 省略具体实现}// 查询员工信息public Employee findEmployee(int id) {// 省略具体实现}// 计算员工工资public double calculateSalary(Employee employee) {// 省略具体实现}// 调整员工工资public void adjustSalary(Employee employee, double newSalary) {// 省略具体实现}// 生成工资报表public void generateSalaryReport() {// 省略具体实现}}// 主程序 public class Main { public static void main(String[] args) { // 创建工资管理对象 SalaryManager salaryManager = new SalaryManager();// 添加员工Employee employee1 = new Employee(1, \。
javaMySql数据库课程设计(员工工资管理系统)
Java MySql数据库课程设计 - 员工工资管理系统1. 引言在现代企业中,员工工资管理是一项非常重要的任务。
合理管理员工工资不仅可以激励员工的积极性,还可以提高企业的运营效率。
为了更好地管理员工工资,我们决定设计一个员工工资管理系统,使用Java编程语言与MySql数据库进行开发。
2. 功能需求该员工工资管理系统将包含以下功能模块: - 员工信息管理:包括添加员工、删除员工、查看员工信息、修改员工信息等功能。
- 工资管理:包括录入员工工资、计算员工工资、查询员工工资等功能。
- 统计分析:包括统计部门工资总和、统计员工工资平均值等功能。
3. 技术选型为了实现上述功能需求,我们选择使用Java编程语言与MySql数据库进行开发。
以下是我们选择这些技术的原因: - Java是一种面向对象的编程语言,具有良好的可读性和可维护性,适合开发大型项目。
- MySql是一种关系型数据库管理系统,具有高性能和可扩展性,适合处理大量的数据。
4. 数据库设计4.1 数据表设计我们将设计两个数据表来存储员工信息和工资信息。
4.1.1 员工信息表字段名称数据类型说明id int员工IDname varchar员工姓名age int员工年龄gender varchar员工性别department varchar员工部门4.1.2 工资信息表字段名称数据类型说明id int工资IDemployee_id int员工IDmonth varchar月份salary decimal工资金额4.2 数据库查询语句以下是一些常用的数据库查询语句,用于实现系统功能模块:4.2.1 添加员工INSERT INTO employee (id, name, age, gender, d epartment)VALUES (1001, '张三', 25, '男', '技术部');4.2.2 删除员工DELETE FROM employee WHERE id=1001;4.2.3 查看员工信息SELECT*FROM employee;4.2.4 修改员工信息UPDATE employee SET age =26WHERE id=1001;4.2.5 录入员工工资INSERT INTO salary (id, employee_id, month, sa lary)VALUES (1, 1001, '2021-01', 5000);4.2.6 计算员工工资SELECT SUM(salary) FROM salary WHERE employee_ id =1001;4.2.7 查询员工工资SELECT*FROM salary;4.2.8 统计部门工资总和SELECT department, SUM(salary) FROM employee JOIN salary ON employee.id= salary.employee_id GROUP BY department;4.2.9 统计员工工资平均值SELECT employee_id, AVG(salary) FROM salary GROUP BY employee_id;5. 系统架构为了提高系统的扩展性和灵活性,我们将采用三层架构来设计该员工工资管理系统。
小型企业工资管理系统java课程设计
小型企业工资管理系统java课程设计1.概述随着社会的发展,企业的规模越来越多样化。
小型企业也日益增加,而小型企业的存在为大多数人提供了就业机会。
然而,小型企业的管理也面临着诸多挑战,其中包括工资管理。
为了提高工资管理的效率和准确性,我们决定设计一个小型企业工资管理系统。
2.系统设计目标本课程设计的目标是设计一个基于java语言的小型企业工资管理系统,该系统应能够实现以下功能:- 实现员工信息的录入、修改和删除。
- 实现工资的计算、发放和管理。
- 实现员工考勤记录的管理。
- 实现员工与薪资的绑定。
- 实现数据的可视化统计和报表生成。
3.系统设计理念本系统的设计理念是简洁而高效。
我们希望通过精心设计的用户界面和清晰的操作流程,为小型企业提供一套方便、快捷、准确的工资管理方案。
4.系统实现方案为实现以上目标和理念,我们将采用以下技术方案:- 使用java语言进行系统开发,结合面向对象的设计思想。
- 使用MySQL数据库进行数据存储,确保数据的可靠性和安全性。
- 使用Swing框架进行用户界面设计,确保界面美观和易用。
- 使用JDBC技术进行数据库连接和操作,保证系统的数据操作能力。
- 使用Eclipse作为开发工具,提高开发效率和代码质量。
5.系统功能模块本系统将包括以下主要功能模块:- 员工信息管理模块:包括员工基本信息的录入、修改和删除。
- 工资管理模块:包括工资的计算、发放和管理。
- 考勤记录管理模块:包括员工考勤记录的管理和统计。
- 统计报表模块:包括员工工资和考勤情况的可视化统计和报表生成。
6.系统实现步骤开发该系统的步骤如下:- 分析需求:对系统功能和性能进行详细分析,明确需求。
- 数据库设计:设计合理的数据库表结构,保证数据的准确性和完整性。
- 系统架构设计:设计系统的整体架构和模块划分,明确模块之间的关系和交互。
- 编码实现:按照设计要求,使用java语言进行编码实现。
- 调试测试:对系统进行全面测试和调试,确保系统的稳定性和可靠性。
java课程设计工资管理系统
系统目标
实现工资管理的自动化
提供便捷的工资查询和统计功能
添加标题
添加标题
提高工资管理的效率和准确性
添加标题
添加标题
确保工资数据的安全性和保密性
系统功能
员工信息管理:添加、修改、删 除员工信息
考勤管理:记录、查询员工考勤 信息
添加标题
添加标题
添加标题
添加标题
工资管理:计算、发放、查询员 工工资
报表管理:生成、查询员工工资 报表和考勤报表
帮助文档:提供系统使用说明和常见 问题解答
业务逻辑实现
用户登录:用户输入用户名和密码,系统验证用户身份 工资管理:用户查看、修改、删除工资信息 考勤管理:用户查看、修改、删除考勤信息 报表生成:系统根据用户选择的条件生成报表 系统维护:管理员进行系统维护,包括用户管理、权限管理等
系统测试
界面设计
色彩搭配:协调统一,易于 阅读
界面布局:简洁明了,易于 操作
功能模块:清晰划分,易于 查找
交互体验:流畅自然,易于 使用
模块设计
用户模块: 用户注册、 登录、修改
密码等
工资模块: 工资查询、 工资发放、 工资调整等
统计模块: 工资统计、 考勤统计、 绩效统计等
管理模块: 用户管理、 权限管理、 系统设置等
接口模块: 与第三方系 统对接,如 财务系统、 人事系统等
数据库模块: 存储用户信 息、工资信 息、考勤信
息等数据
系统实现
章节副标题
数据库连接实现
使用JDBC(Java Database Connectivity)技术进 行数据库连接
导入JDBC驱动程序,如 MySQL Connector/J
数据库课程设计企业工资管理系统java版完整代码
课程设计报告企业工资管理系统姓名X X X班级XXXXX学号XXXXXX课程名称数据库原理及应用指导教师201X年X月X日目录一.工资管理系统需求分析…………………………………功能需求…………………………………………………功能划分………………………………………功能描述……………………………………………性能需求…………………………………………………数据流图………………………………………………二.总体设计…………………………………………………数据库概念设计…………………………………………功能模块…………………………………………………三.系统详细设计……………………………………………数据库逻辑设计…………………………………………各模块功能………………………………………………职工信息管理系统…………………………………职工工资管理系统…………………………………职工津贴管理系统…………………………………四.系统实现…………………………………………………界面截图…………………………………………………主界面及工资基本信息界面……………………登录界面…………………………………………系统主界面………………………………………信息录入,修改,删除,查询界面…………设计代码…………………………………………………五.实验总结…………………………………………………1、需求分析1.1功能需求功能划分(1)、员工信息表;及时反映员工(de)基本信息(2)、员工津贴表,反映员工津贴(3)、员工基本工资表功能描述(1)、基本工资(de)设定(2)、津贴(de)设定(3)、计算出月工资(4)、录入员工工资信息(5)、添加员工工资信息(6)、更改员工工资信息性能需求此工资管理系统对工资数据精度(de)计算能在默认情况之下精确到小数点后3位小数,即是精确到分(de)计算.但在用户使用过程中,能自行根据实际情况进行小数计算精度(de)设定,最大能允许保留小数点后5位(de)精度.在时间特性上,当用户发出命令请求时(de)服务器(de)响应时间、对数据更新处理、工资数据(de)查询检索等上,同样要求系统响应时间不会超过秒时间.系统支持多种操作系统(de)运行环境,多不同操作系统,不同文件格式(de)磁盘上(de)数据均能实现信息(de)互通,及共享.当服务器移植到其他(de)系统平台,如:Linux平台下时,同样能和其他(de)系统进行数据存取同步,不会出现系统之间互不兼容(de)情况,系统支持多系统之间(de)互连互通,系统有巨大(de)强健性.本课程设计是用Java 语言编写,mysql数据库.数据流图根据工资管理要求及用户需求调查分析,得到以下数据流图图第一层数据流图图职工信息(de)载入图考勤(de)信息载入2.总体设计数据库概念设计有了数据流图,用E-R图来说明工资信息管理系统(de)数据库概念模式,如图图实体之间关系E-R 图功能模块3.系统详细设计数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线(de)字段表示为该数据表(de)主码,即主关键字.在上面(de)实体以及实体之间关系(de)基础上,形成数据库中(de)表格以及各个表格之间(de)关系.工资信息管理系统数据库中各个表格(de)设计结果如下面(de)几个表格所示.每个表格表示在数据库中(de)一个表.表一:员工信息表:表二:基本工资表:表四:津贴信息表各模块功能职工信息管理系统功能为:财务部门相关人员录入、修改、删除、查询员工个人信息职工工资管理系统功能为:根据工资生成公式,按照员工(de)考勤情况及各种表现按月生成相应(de)工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工(de)工资信息以及工资汇总;员工本人能查询自己(de)工资信息以及工资汇总;职工登陆查询系统功能为:员工本人能通过用户名和密码查询自己(de)信息以及修改自己(de)密码;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;("");("").newInstance();con = ("jdbc: management","root","jxb");sql="select from workerinfo where name='"+t1+"' and mi='"+t2+"'";ps = (PreparedStatement) (sql);rs = (sql);if()){if("name").equals(t1) && ("mi").equals(t2)){YGDLJM yg = new YGDLJM();();();(this, "登录成功");();}}else {(this, "输入用户名或密码错误");}}catch (Exception e1) {// TODO Auto-generated catch block();}}if ())) // 退出{(0);}}}package wage_management;import GZGLZJM extends JFrame implements ActionListener {JFrame f = new JFrame("工资管理系统");JButton b1 = new JButton("工资管理");JButton b2 = new JButton("员工信息管理");JButton b3 = new JButton("返回");ImageIcon im = new ImageIcon("");JLabel a1 = new JLabel(im);void create() {JPanel p = (JPanel) ();(new FlowLayout());(a1);(b1);(b2);(b3);;(true);(this);(this);(this);(200, 100, 500, 200);(true);}public void actionPerformed(ActionEvent e) { if ())) {// 返回DL d = new DL();();();}if ())) {// 员工信息管理YGGL yg = new YGGL();();();}if ())) {// 工资管理GZGL gz = new GZGL();();();}}}package wage_management;import class GZGL extends JFrame implements ActionListener {JFrame f = new JFrame("工资管理");JButton b1 = new JButton("录入");JButton b2 = new JButton("修改");JButton b3 = new JButton("删除");JButton b4 = new JButton("查询所有");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table); JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);(b4);(b5);JPanel p2 = new JPanel();;(scrollpane);JPanel p3 = new JPanel();(new FlowLayout());(new JLabel(""));(new JLabel("职工号"));(tf1);(new JLabel("姓名"));(tf2);(new JLabel("津贴"));(tf3);(new JLabel("月基本工资"));(tf4);(new JLabel("月薪"));(tf5);(new JLabel(" 在此处输入职工号点击查询删除"));(tf6);(p1, ;(p2, ;(50);;(this);(this);(this);(this);(this);(200, 100, 500, 600);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) {if ())) { // 录入Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr1);();(this, "入录成功");} catch (SQLException e1) {(this, "入录失败");}}if ())) {// 修改Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE welfare SET jt='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr1);(this, "修改成功");();} catch (SQLException e1) {(this, "信息不存在");}}if ())) {// 删除Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ,;("DELETE FROM wageinfo where no='"+()+"';");("DELETE FROM welfare where no='"+()+"';");(this, "删除成功");();} catch (SQLException e1) {(this, "删除失败");}}if ())) {// 查询全部Connection con;Statement sql;ResultSet rs;//Vector vector = new Vector();try {("");} catch (ClassNotFoundException e1) { (this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct from wageinfo ,welfare where =");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);}}} catch (SQLException e1) {(this, "查询失败");}}if ())) {// 返回GZGLZJM gl=new GZGLZJM();();();}}}package wage_management;import class YGDLJM extends DL implements ActionListener {JFrame f = new JFrame("工资管理");JButton b1 = new JButton("查询个人工资");JButton b2 = new JButton("修改密码");JButton b3 = new JButton("返回");String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);JPanel p2 = new JPanel();;(scrollpane);JPanel p3 = new JPanel();(new FlowLayout());(p1, ;(p2, ;(50);;(this);(this);(this);(200, 100, 500, 550);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) { if ())) {// 查询个人工资Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {"" + e1);}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);// rs = ("select distinct from wageinfo ,welfare,workerinfo where = and = and ='"+t1+"' and ='"+t2+"'");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);}}} catch (SQLException e1) {(this, "查询失败");}}if ())){// 修改密码XGMM xgmm=new XGMM();();}if ())) {// 返回DL dl=new DL();();();}}}package wage_management;import class YGGL extends JFrame implements ActionListener {JFrame f = new JFrame("员工信息管理");JButton b1 = new JButton("添加新员工信息");JButton b2 = new JButton("修改员工信息");JButton b3 = new JButton("删除员工信息");JButton b4 = new JButton("查询所有员工信息");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪","登陆密码"};Object[][] row = new Object[50][6];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane; void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);(b4);(b5);JPanel p2 = new JPanel();;(scrollpane);(new FlowLayout());(new JLabel(""));(new JLabel("职工号"));(tf1);(new JLabel("姓名"));(tf2);(new JLabel("津贴"));(tf3);(new JLabel("月基本工资"));(tf4);(new JLabel("登陆密码"));(tf5);(new JLabel(" 在此处输入职工号点击查询删除"));(tf6);(p1, ;(p2, ;(50);;(this);(this);(this);(this);(this);(200, 100, 600, 600);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) {if ())) { // 添加新员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr1);String insertStr2 = "INSERT INTO workerinfo (no,name,mi)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr2);(this, "添加成功");();} catch (SQLException e1) {(this, "添加失败");}}if ())) {// 修改员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE welfare SET jt='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr1);(updateStr1);String updateStr2 = "UPDATE workerinfo SET name='"+()+"',mi='"+()+"'where no='"+()+"';";(updateStr2);(this, "修改成功");();} catch (SQLException e1) {(this, "修改失败");}}if ())) {// 删除员工信息Connection con;Statement sql;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;("DELETE FROM wageinfo where no='"+()+"';");("DELETE FROM welfare where no='"+()+"';");("DELETE FROM workerinfo where no='"+()+"';");(this, "删除成功");();} catch (SQLException e1) {(this, "删除失败");}}if ())) {// 查询全部员工信息Connection con;Statement sql;ResultSet rs;try {("");} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct from wageinfo ,welfare,workerinfo where = and = ;");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);String mi = (9);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);(mi,k,5);}}} catch (SQLException e1) {(this, "查询失败");}}if ())) {// 返回GZGLZJM gl=new GZGLZJM();();();}}}package wage_management;import XGMM extends DL implements ActionListener{JFrame frame = new JFrame("密码修改");JLabel label1 = new JLabel("原密码");JLabel label2 = new JLabel("新密码");JButton Button1 = new JButton("确定");JButton cancelButton = new JButton("返回");JPasswordField password = new JPasswordField(9);JPasswordField newpassword = new JPasswordField(9);void create(){JPanel p = (JPanel) ();(new FlowLayout());(label1);(5, 5);(4, 8);(password);(100, 200);(600, 600);(label2);(50, 20);(newpassword);(100, 20);(80, 120);(Button1);(cancelButton);;(true);(this);(this);;();(200, 100, 500, 220);(true);}public void actionPerformed(ActionEvent e) {if ()==Button1){Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败");}try {con = ("jdbc: management","root","jxb");sql = ();String updateStr = "UPDATE workerinfo SET mi='"+()+"'where name='"+t1+"';";(updateStr);(this, "修改成功");();} catch (SQLException e1) {(this, "请输入原密码和新密码");// }}if ()==cancelButton) // 返回{YGDLJM dl=new YGDLJM();();();}}}5.课设总结此次课设难度有点大,通过几天(de)努力终于完成了,开始对如何连接数据库不太了解,通过小组合作,和网上查阅资料,最终解决了问题,在写员工登陆界面时,要从数据库读取和验证密码,开始遇到了些问题,后来慢慢都完成了,总(de)来说收获很大,了解了如何将所学数据库运用到编程里,对数据库数据(de)查询,更改,添加都有了更一步(de)了解.。
工资管理系统java课程设计
工资管理系统java课程设计一、课程目标知识目标:1. 掌握Java语言面向对象编程的基本原理,包括类、对象、封装、继承和多态。
2. 学会使用Java集合框架,如List、Map等,存储和管理工资数据。
3. 理解数据库连接和SQL语句的基本使用,实现工资数据的持久化存储。
技能目标:1. 能够运用所学知识,设计并实现一个工资管理系统的基本功能,如添加、删除、修改和查询员工工资记录。
2. 通过实践,提升问题分析和解决能力,培养编程思维和逻辑思维能力。
3. 学会使用Java开发工具和调试技巧,提高程序开发效率。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发自主学习动力。
2. 增强团队协作意识,学会在项目开发过程中与他人沟通和协作。
3. 培养良好的编程习惯,注重代码规范和注释,提高代码可读性。
本课程针对高年级学生,在掌握Java基础知识和面向对象编程原理的基础上,通过实际项目设计,让学生在实践中巩固和提高所学知识。
课程注重培养学生实际操作能力和团队协作精神,为将来从事软件开发工作打下坚实基础。
课程目标具体、可衡量,旨在帮助学生和教师明确课程预期成果,并为后续教学设计和评估提供依据。
二、教学内容1. Java面向对象编程基础:- 类与对象的概念- 封装、继承和多态- 抽象类和接口2. Java集合框架:- List、Set、Map的使用- 集合的遍历和操作3. 数据库连接与操作:- JDBC简介- 数据库连接和SQL语句执行4. 工资管理系统功能设计:- 系统需求分析- 功能模块划分- 数据模型设计5. 工资管理系统功能实现:- 添加、删除、修改和查询员工工资记录- 数据的持久化存储- 系统异常处理6. 编程规范与调试技巧:- 代码规范与注释- 调试方法与技巧- 优化程序性能教学内容参考教材相关章节,按照以下进度安排:1. 第1-2周:Java面向对象编程基础2. 第3周:Java集合框架3. 第4周:数据库连接与操作4. 第5-6周:工资管理系统功能设计5. 第7-8周:工资管理系统功能实现6. 第9周:编程规范与调试技巧教学内容科学性和系统性相结合,旨在帮助学生将所学知识应用于实际项目中,提高实践操作能力。
工资管理Java实现代码
实现在管理系统中,数据库的连接显得尤为重要,决定了用户能否对数据库进行操作,其中数据库连接的类(Base.cs)的实现代码:public class Base{#regionOleDbConnection conn;static string str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Directory.GetCurrentDirectory() + "\\manange.mdb";public Base(){conn = new OleDbConnection(str);conn.Open();}#endregion#regionpublic int ExeSQL(string sql){OleDbCommand cmd = new OleDbCommand(sql,this.conn);try{cmd.ExecuteNonQuery();return 0;}catch(System.Data.OleDb.OleDbException ex){throw new Exception(ex.ToString());}finally{cmd.Dispose();this.conn.Close();}}#endregion对工资管理系统(WagesInfoForm.cs和WagesRecord.cs)的增加删除的代码:WagesInfoForm.cs的删除操作该模块是工资管理系统的主要功能模块,当用户是管理员时,点击删除信息时会删除选中的工资记录,或者右击选中信息也可以删除信息。
删除成功后,刷新列表。
该模块的删除功能的主要代码为:private void delete(object sender, System.EventArgs e){DialogResult result = MessageBox.Show("是否删除此记录","提示?!",MessageBoxButtons.YesNo,MessageBoxIcon.Question);if(result == DialogResult.Yes){string str = "delete from WagesInfo where wwwaId=" + int.Parse(this.dataGrid1[this.dataGrid1.CurrentCell.RowNumber,0].ToString());Base bb = new Base();bb.ExeSQL(str);this.DBDataGrid();MessageBox.Show("删除成功!");}if(result == DialogResult.No){return;}}WagesRecord.cs的确定操作,对工资管理进行修改和增加该模块是工资管理系统的主要功能模块,当用户是管理员时,点击增加或修改信息时会修改或增加选中的工资记录,或者右击选中信息也可以修改或增加信息。
数据库课程设计——工资管理系统--职工考勤管理系统(java+sql-sever-2000)
课程设计报告工资管理系统--职工考勤管理系统姓名LS班级学号QQ:1054180233 课程名称数据库原理及应用指导教师2011年12月15日目录1.工资管理系统需求分析 (1)1.1功能需求 (1)1.1.1功能划分 (1)1.1.2功能描述 (1)1.2性能需求 (1)1.3数据流图 (2)1.4 数据字典 (5)1.4.1 数据流的描述 (5)1.4.2处理逻辑的描述 (6)1.4.3数据存储的描述 (6)2.总体设计 (7)2.1数据库概念设计 (7)2.2功能模块 (8)3.系统详细设计 (9)3.1数据库逻辑设计 (9)3.2各模块功能 (10)3.2.1职工信息管理系统 (10)3.2.2职工工资管理系统 (10)3.2.3职工津贴管理系统 (10)3.2.4职工考勤管理系统 (10)4.系统实现 (11)4.1界面截图 (11)4.1.1主界面及工资基本信息界面 (11)4.1.2登录界面 (12)4.1.3系统主界面 (13)4.1.4考勤信息录入,修改,删除,查询界面 (14)4.2设计代码 (15)1、需求分析1.1功能需求1.1.1功能划分(1)、员工考勤情况表;及时反映员工的出勤,以及缺勤扣款情况(2)、员工津贴表,反映员工的加班时间,加班类别、加班天数、津贴情况等;(3)、员工基本信息表,反映员工的基本信息,反映员工的工种、等级,基本工资等信息;(4)、员工月工资表,计算月工资,生成打印清单。
(5)、银行表,用于员工工资的发放。
(6)、后勤部门表;反映员工的水电扣款信息等1.1.2 功能描述(1)、员工每个工种基本工资的设定(2)、加班津贴管理,根据加班时间和类型给予不同的加班津贴;(3)、按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;(4)、员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;(5)、企业工资报表。
- 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()){if("name").equals(t1) && ("mi").equals(t2)){YGDLJM yg = new YGDLJM();();();(this, "登录成功!");();}}else {(this, "输入用户名或密码错误!");}}catch (Exception e1) {// TODO Auto-generated catch block();}}if ())) // 退出{(0);}}}/工资管理主界面package wage_management;class GZGLZJM extends JFrame implements ActionListener { JFrame f = new JFrame("工资管理系统");JButton b1 = new JButton("工资管理");JButton b2 = new JButton("员工信息管理");JButton b3 = new JButton("返回");ImageIcon im = new ImageIcon("");JLabel a1 = new JLabel(im);void create() {JPanel p = (JPanel) ();(new FlowLayout());(a1);(b1);(b2);(b3);;(true);(this);(this);(this);(200, 100, 500, 200);(true);}public void actionPerformed(ActionEvent e) {if ())) {// 返回DL d = new DL();();();}if ())) {// 员工信息管理YGGL yg = new YGGL();();();}if ())) {// 工资管理GZGL gz = new GZGL();();();}}}//////工资管理package wage_management;public class GZGL extends JFrame implements ActionListener { JFrame f = new JFrame("工资管理");JButton b1 = new JButton("录入");JButton b2 = new JButton("修改");JButton b3 = new JButton("删除");JButton b4 = new JButton("查询所有");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table); JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);(b4);(b5);JPanel p2 = new JPanel();;(scrollpane);JPanel p3 = new JPanel();(new FlowLayout());(new JLabel(""));(new JLabel("职工号"));(tf1);(new JLabel("姓名"));(tf2);(new JLabel("津贴"));(tf3);(new JLabel("月基本工资"));(tf4);(new JLabel("月薪"));(tf5);(new JLabel("在此处输入职工号点击查询删除"));(tf6);(p1, ;(p2, ;(50);;(this);(this);(this);(this);(this);(200, 100, 500, 600);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) { if ())) { // 录入Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {}try {sql = ();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr1);();(this, "入录成功!");} catch (SQLException e1) {(this, "入录失败!");}}if ())) {// 修改Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {}try {sql = ();String updateStr = "UPDATE welfare SETjt='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr);String updateStr1 = "UPDATE wageinfo SET jb='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr1);(this, "修改成功!");();} catch (SQLException e1) {(this, "信息不存在!");}}if ())) {// 删除Connection con;Statement sql;ResultSet rs;try {} catch (ClassNotFoundException e1) {}try {sql = ,;("DELETE FROM wageinfo where no='"+()+"';");("DELETE FROM welfare where no='"+()+"';");(this, "删除成功!");();} catch (SQLException e1) {(this, "删除失败!");}}if ())) {// 查询全部Connection con;Statement sql;ResultSet rs;//Vector vector = new Vector();try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败!");}try {sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct * fromwageinfo ,welfare where =");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);}}} catch (SQLException e1) {(this, "查询失败!");}}if ())) {// 返回GZGLZJM gl=new GZGLZJM();();();}}}////////修改管理主界面package wage_management;public class YGDLJM extends DL implements ActionListener { JFrame f = new JFrame("工资管理");JButton b1 = new JButton("查询个人工资");JButton b2 = new JButton("修改密码");JButton b3 = new JButton("返回");String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪"};Object[][] row = new Object[50][5];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);JPanel p2 = new JPanel();;(scrollpane);JPanel p3 = new JPanel();(new FlowLayout());(p1, ;(p2, ;(50);;(this);(this);(this);(200, 100, 500, 550);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) {if ())) {// 查询个人工资Connection con;Statement sql;ResultSet rs;try {} catch (ClassNotFoundException e1) {}try {sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct * fromwageinfo ,welfare,workerinfo where = and = and ='"+t1+"' and ='"+t2+"'");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);}}} catch (SQLException e1) {(this, "查询失败!");}}if ())){// 修改密码XGMM xgmm=new XGMM();();}if ())) {// 返回DL dl=new DL();();();}}}///修改管理package wage_management;public class YGGL extends JFrame implements ActionListener { JFrame f = new JFrame("员工信息管理");JButton b1 = new JButton("添加新员工信息");JButton b2 = new JButton("修改员工信息");JButton b3 = new JButton("删除员工信息");JButton b4 = new JButton("查询所有员工信息");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String[] cloum = { "职工号", "姓名", "津贴", "月基本工资","月薪","登陆密码"};Object[][] row = new Object[50][6];JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane;void create() {JPanel p = (JPanel) ();(new FlowLayout());(scrollpane);(splitpane);JPanel p1 = new JPanel();(b1);(b2);(b3);(b4);(b5);JPanel p2 = new JPanel();;(scrollpane);(new FlowLayout());(new JLabel(""));(new JLabel("职工号"));(tf1);(new JLabel("姓名"));(tf2);(new JLabel("津贴"));(tf3);(new JLabel("月基本工资"));(tf4);(new JLabel("登陆密码"));(tf5);(new JLabel(" 在此处输入职工号点击查询删除"));(tf6);(p1, ;(p2, ;(50);;(this);(this);(this);(this);(this);(200, 100, 600, 600);(true);// 可以调整界面大小(true);}public void actionPerformed(ActionEvent e) {if ())) { // 添加新员工信息Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败!");}try {sql = ();String insertStr = "INSERT INTO welfare(no,name,jt)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr1);String insertStr2 = "INSERT INTO workerinfo (no,name,mi)VALUES('"+()+"','"+()+"','"+()+"');";(insertStr2);(this, "添加成功!");();} catch (SQLException e1) {(this, "添加失败!");}}if ())) {// 修改员工信息Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败!");}try {sql = ();sql = ();String updateStr = "UPDATE welfare SETjt='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr);String updateStr1 = "UPDATE wageinfo SETjb='"+()+"',name='"+()+"'where no='"+()+"';";(updateStr1);(updateStr1);String updateStr2 = "UPDATE workerinfo SET name='"+()+"',mi='"+()+"'where no='"+()+"';";(updateStr2);(this, "修改成功!");();} catch (SQLException e1) {(this, "修改失败!");}}if ())) {// 删除员工信息Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败!");}try {sql = ,;("DELETE FROM wageinfo where no='"+()+"';");("DELETE FROM welfare where no='"+()+"';");("DELETE FROM workerinfo whereno='"+()+"';");(this, "删除成功!");();} catch (SQLException e1) {(this, "删除失败!");}}if ())) {// 查询全部员工信息Connection con;Statement sql;ResultSet rs;try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败!");}try {sql = ,;if ())) {for (int i = 0; i < 50; i++)for (int j = 0; j < 4; j++)("", i, j);rs = ("select distinct * fromwageinfo ,welfare,workerinfo where = and = ;");int k = -1;while ()) {++k;String no = (1);String name = (2);String jb = (3);String jt = (6);int sum= (3)+(6);String mi = (9);(no, k, 0);(name, k, 1);(jb, k, 3);(jt, k, 2);(sum,k,4);(mi,k,5);}}} catch (SQLException e1) {(this, "查询失败!");}}if ())) {// 返回GZGLZJM gl=new GZGLZJM();();();}}}////修改密码package wage_management;class XGMM extends DL implements ActionListener{JFrame frame = new JFrame("密码修改");JLabel label1 = new JLabel("原密码");JLabel label2 = new JLabel("新密码");JButton Button1 = new JButton("确定");JButton cancelButton = new JButton("返回");JPasswordField password = new JPasswordField(9);JPasswordField newpassword = new JPasswordField(9);void create(){JPanel p = (JPanel) ();(new FlowLayout());(label1);(5, 5);(4, 8);(password);(100, 200);(600, 600);(label2);(50, 20);(40, 80);(newpassword);(100, 20);(80, 120);(Button1);(cancelButton);;(true);(this);(this);;();(200, 100, 500, 220);(true);}public void actionPerformed(ActionEvent e){if ()==Button1){Connection con;Statement sql;try {} catch (ClassNotFoundException e1) {(this, "连接数据库失败!");}try {sql = ();String updateStr = "UPDATE workerinfo SET mi='"+()+"'where name='"+t1+"';";(updateStr);(this, "修改成功!");();} catch (SQLException e1) {(this, "请输入原密码和新密码!");}}if ()==cancelButton) // 返回{YGDLJM dl=new YGDLJM();();();}}}5.课设总结此次课设难度有点大,通过几天的努力终于完成了,开始对如何连接数据库不太了解,通过小组合作,和网上查阅资料,最终解决了问题,在写员工登陆界面时,要从数据库读取和验证密码,开始遇到了些问题,后来慢慢都完成了,总的来说收获很大,了解了如何将所学数据库运用到编程里,对数据库数据的查询,更改,添加都有了更一步的了解。