java课程设计职工工资管理系统

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊目录一、设计目的 (2)二、功能介绍 (2)三、程序流程 (2)四、设计步骤 (3)五、设计总结 (7)六、程序清单 (8)七、参考文献 (17)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊一、设计目的通过课程设计,使学生提高理论联系实际解决实际问题的能力;也使学生对基于面向对象的理论进行系统设计过程中的诸多具体问题有感性的认识和深入的理解;进而提高学生的学习兴趣为其将来顺利进入毕业环节作必要的准备。

二、功能介绍(1)具有新用户注册功能。

(2)具有注册用户登录功能。

(3)具有职工工资的录入功能,要求只录入工资各项,自动计算每个职工工资总额。

(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。

(5)具有按条件删除数据功能。

三、程序流程┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊四、设计步骤4.1、登陆界面进入系统首先进入登陆界面如图4.1,输入账号和密码,点击登录就会进入职工工资管理系统,点击注册进入新用户注册界面,定义了局部变量String类型的user,password和pass分别记录界面输入的账号,密码和数据库查找的密码,定义了成员变量boolean型的bool记录输入账号和密码是否匹配。

图4.1登陆界面4.2、职工工资管理系统登陆成功后进入的界面如图4.2,界面有增删改查的功能。

widgetSelected()方法创建button的点击事件,创建DBHelper类的对象db连接数据库,进行查找,删除修改功能,增删改用update()方法,查询用query()方法。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图4.2职工工资管理界面4.3、全部查找功能点击右边的查询按钮可以查找出所有员工的工资信息如图4.3,通过自己封装的连接数据库的类DBHelper类的对象db,传递sql语句查找数据库的所有信息,用getString()方法导出从数据库中查找到的数据,所得工资=基本工资+职位提成-50*迟到天数-100*旷工天数,通过查找的数据和自己定义的公式得到所得工资。

图4.3全部查找界面┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊4.4、按条件查找功能在文本框中输入职工号,点击查找能找到对应职工的工资情况,如图 4.4。

用getText()方法获得text文本框中的的输入信息,定义局部变量boolean型的数据bool,记录数据库中是否有对应的职工号,如果查到则为true,并且在表格中先用removeAll()方法清空表的信息,然后用sql语句找出text中的职工号对应的数据。

图4.4按条件查找界面4.5、录入功能点击录入键进入录入界面如图4.5,输入职工信息,点击录入修改数据库的信息,并且能更新查找的结果。

用getText()方法获得text文本框的信息,定义局部变量String类型的s1,s2,s3,s4,s5,s6记录六个文本框的信息,通过DBHelper的对象db调用update方法把信息传入数据库。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊图4.5录入功能界面4.6、删除功能点击选中行,然后点击删除按钮就会将选种的行删除掉,例如删除图4.3中第三行数据如图4.6。

定义局部变量TableItem[]数组用table.getSelection()方法查找并存储选中行的信息,定义int[]型数组用table.getSelectionIndices()方法查找并存储选中行的行号,用这两个信息分别删除数据库和界面的选中信息。

图4.6删除功能界面┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊4.7、注册功能点击注册键后进入如图4.7所示的界面,输入新用户账号和密码,如果两次密码输入相同就注册成功。

定义局部变量String类型的user,password和pass分别记录三个文本框输入的内容,用equals方法判断pass和password是否相同,如果相同,则注册成功,并用dispose()方法关闭此窗口。

图4.7注册功能界面五、设计总结这次课程设计,我们知道了成员变量和局部变量的不同,有些变量如果不设成成员变量就无法把数据传递出去,我们学会了封装,将连接数据库的方法封装到DBHelper类中,封装的便利让我们写程序更快捷,但是界面的功能还不够人性化。

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊六、程序清单import java.sql.ResultSet;import java.sql.SQLException;import org.eclipse.swt.SWT;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Display;import bel;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;import com.swtdesigner.SWTResourceManager;public class denglu extends Shell {boolean bool;private Text text_1;private Text text;public static void main(String args[]) {try {Display display = Display.getDefault();denglu shell = new denglu(display, SWT.SHELL_TRIM);shell.open();yout();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}} catch (Exception e) {e.printStackTrace();}}public denglu(Display display, int style) {super(display, style);createContents();}protected void createContents() {setText("登陆界面");setSize(622, 439);final Label label = new Label(this, SWT.BORDER);label.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label.setText("账号:");label.setBounds(90, 112, 60, 27);final Label label_1 = new Label(this, SWT.BORDER);label_1.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_1.setText("密码:");label_1.setBounds(90, 185, 60, 27);text = new Text(this, SWT.BORDER);text.setBounds(208, 112, 125, 27);text_1 = new Text(this, SWT.BORDER | SWT.PASSWORD);text_1.setBounds(208, 185, 125, 27);final Button button = new Button(this, SWT.NONE);┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊button.addSelectionListener(new SelectionAdapter() {public void widgetSelected(final SelectionEvent e) {String user=text.getText();String password=text_1.getText();DBHelper db=new DBHelper();String sql="select 密码 from user_Table where 账号='"+user+"'";ResultSet rs=db.query(sql);try {while(rs.next()){String pass=rs.getString("密码");if(password.equals(pass)){bool=true;}else{bool=false;}if(bool==true){try {Display display = Display.getDefault();zhigonggongzi shell = new zhigonggongzi(display, SWT.SHELL_TRIM);shell.open();yout();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}} catch (Exception e2) {e2.printStackTrace();}}}} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});button.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));button.setText("登陆");button.setBounds(388, 255, 48, 22);final Button button_1 = new Button(this, SWT.NONE);button_1.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));button_1.setText("注册");button_1.setBounds(388, 306, 48, 22);final Label label_2 = new Label(this, SWT.BORDER);label_2.setFont(SWTResourceManager.getFont("", 15, SWT.BOLD));label_2.setText("欢迎使用员工工资管理系统");label_2.setBounds(90, 37, 271, 27);//}@Override┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊protected void checkSubclass() {// Disable the check that prevents subclassing of SWT components }}import java.sql.ResultSet;import java.sql.SQLException;import org.eclipse.swt.SWT;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Display;import bel;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Table;import org.eclipse.swt.widgets.TableColumn;import org.eclipse.swt.widgets.TableItem;import org.eclipse.swt.widgets.Text;import com.swtdesigner.SWTResourceManager;public class zhigonggongzi extends Shell {private Text text;private Table table;public static void main(String args[]) {try {Display display = Display.getDefault();zhigonggongzi shell = new zhigonggongzi(display, SWT.SHELL_TRIM);shell.open();yout();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}} catch (Exception e) {e.printStackTrace();}}public zhigonggongzi(Display display, int style) {super(display, style);createContents();}protected void createContents() {setText("职工工资管理系统界面");setSize(697, 458);table = new Table(this, SWT.FULL_SELECTION | SWT.BORDER);table.setLinesVisible(true);table.setHeaderVisible(true);table.setBounds(10, 67, 573, 214);final TableColumn newColumnTableColumn = new TableColumn(table, SWT.NONE);newColumnTableColumn.setWidth(73);newColumnTableColumn.setText("职工号");final TableColumn newColumnTableColumn_1 = new TableColumn(table, SWT.NONE);┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊newColumnTableColumn_1.setWidth(76);newColumnTableColumn_1.setText("职工姓名");final TableColumn newColumnTableColumn_2 = new TableColumn(table, SWT.NONE); newColumnTableColumn_2.setWidth(76);newColumnTableColumn_2.setText("基本工资");final TableColumn newColumnTableColumn_3 = new TableColumn(table, SWT.NONE); newColumnTableColumn_3.setWidth(80);newColumnTableColumn_3.setText("职位提成");final TableColumn newColumnTableColumn_4 = new TableColumn(table, SWT.NONE); newColumnTableColumn_4.setWidth(79);newColumnTableColumn_4.setText("迟到天数");final TableColumn newColumnTableColumn_5 = new TableColumn(table, SWT.NONE); newColumnTableColumn_5.setWidth(83);newColumnTableColumn_5.setText("旷工天数");final TableColumn newColumnTableColumn_6 = new TableColumn(table, SWT.NONE); newColumnTableColumn_6.setWidth(100);newColumnTableColumn_6.setText("所得工资");final Button button = new Button(this, SWT.NONE);button.addSelectionListener(new SelectionAdapter() {public void widgetSelected(final SelectionEvent e) {try {Display display = Display.getDefault();luru shell = new luru(display, SWT.SHELL_TRIM);shell.open();yout();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}} catch (Exception e2) {e2.printStackTrace();}a();}});button.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));button.setText("录入");button.setBounds(604, 142, 55, 31);final Button button_1 = new Button(this, SWT.NONE);button_1.addSelectionListener(new SelectionAdapter() {public void widgetSelected(final SelectionEvent e) {TableItem[] item=table.getSelection();DBHelper db=new DBHelper();for(int i=0;i<item.length;i++){String id=item[i].getText(0);String sql="delete from 职工信息表 where 职工号='"+id+"'";db.update(sql);}db.close();int[] a=table.getSelectionIndices();table.remove(a);┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊}});button_1.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));button_1.setText("删除");button_1.setBounds(604, 196, 55, 31);final Button button_2 = new Button(this, SWT.NONE);button_2.addSelectionListener(new SelectionAdapter() {public void widgetSelected(final SelectionEvent e) {a();}});button_2.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));button_2.setText("查询");button_2.setBounds(604, 91, 55, 31);text = new Text(this, SWT.BORDER);text.setBounds(209, 314, 89, 31);final Label label = new Label(this, SWT.BORDER);label.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label.setText("按职工号查找:");label.setBounds(53, 314, 136, 31);final Button button_3 = new Button(this, SWT.NONE);button_3.addSelectionListener(new SelectionAdapter() {public void widgetSelected(final SelectionEvent e) {table.removeAll();String id=text.getText();DBHelper db=new DBHelper();String sql="select * from 职工信息表 ";ResultSet rs=db.query(sql);boolean bool=true;if(bool){try {while(rs.next()){if(id.equals(rs.getString("职工号"))){bool=false;final TableItem newItemTableItem = new TableItem(table, SWT.BORDER);newItemTableItem.setText(0,rs.getString("职工号"));newItemTableItem.setText(1,rs.getString("姓名"));newItemTableItem.setText(2,rs.getString("基本工资"));double money1=Double.parseDouble(rs.getString("基本工资"));newItemTableItem.setText(3,rs.getString("职位提成"));double money2=Double.parseDouble(rs.getString("职位提成"));newItemTableItem.setText(4,rs.getString("迟到天数"));int day1=Integer.parseInt(rs.getString("迟到天数"));newItemTableItem.setText(5,rs.getString("旷工天数"));int day2=Integer.parseInt(rs.getString("旷工天数"));double money=money1+money2-day1*50-day2*100;if(money<0){m oney=0;┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊}String Money=String.valueOf(money);newItemTableItem.setText(6,Money);}}} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}});button_3.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));button_3.setText("查找");button_3.setBounds(347, 312, 73, 33);final Label label_1 = new Label(this, SWT.BORDER);label_1.setFont(SWTResourceManager.getFont("", 15, SWT.BOLD));label_1.setText("职工工资管理系统");label_1.setBounds(189, 24, 177, 31);//}public void a(){table.removeAll();DBHelper db=new DBHelper();String sql="select * from 职工信息表";ResultSet rs=db.query(sql);try {while(rs.next()){final TableItem newItemTableItem = new TableItem(table, SWT.BORDER);newItemTableItem.setText(0,rs.getString("职工号"));newItemTableItem.setText(1,rs.getString("姓名"));newItemTableItem.setText(2,rs.getString("基本工资"));double money1=Double.parseDouble(rs.getString("基本工资"));newItemTableItem.setText(3,rs.getString("职位提成"));double money2=Double.parseDouble(rs.getString("职位提成"));newItemTableItem.setText(4,rs.getString("迟到天数"));int day1=Integer.parseInt(rs.getString("迟到天数"));newItemTableItem.setText(5,rs.getString("旷工天数"));int day2=Integer.parseInt(rs.getString("旷工天数"));double money=money1+money2-day1*50-day2*100;if(money<0){m oney=0;}String Money=String.valueOf(money);newItemTableItem.setText(6,Money);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊@Overrideprotected void checkSubclass() {// Disable the check that prevents subclassing of SWT components }}import org.eclipse.swt.SWT;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Display;import bel;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;import com.swtdesigner.SWTResourceManager;public class luru extends Shell {private Text text_5;private Text text_4;private Text text_3;private Text text_2;private Text text_1;private Text text;public static void main(String args[]) {try {Display display = Display.getDefault();luru shell = new luru(display, SWT.SHELL_TRIM);shell.open();yout();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}} catch (Exception e) {e.printStackTrace();}}public luru(Display display, int style) {super(display, style);createContents();}protected void createContents() {setText("职工工资录入界面");setSize(660, 451);final Label label = new Label(this, SWT.BORDER);label.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label.setText("职工号:");label.setBounds(87, 82, 87, 26);final Label label_1 = new Label(this, SWT.BORDER);label_1.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_1.setText("姓名:");label_1.setBounds(87, 119, 87, 24);final Label label_2 = new Label(this, SWT.BORDER);┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊label_2.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_2.setText("基本工资:");label_2.setBounds(87, 149, 87, 24);final Label label_3 = new Label(this, SWT.BORDER);label_3.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_3.setText("职位提成:");label_3.setBounds(87, 179, 87, 26);final Label label_4 = new Label(this, SWT.BORDER);label_4.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_4.setText("迟到天数:");label_4.setBounds(87, 219, 87, 26);final Label label_5 = new Label(this, SWT.BORDER);label_5.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_5.setText("旷工天数:");label_5.setBounds(87, 258, 87, 26);final Label label_6 = new Label(this, SWT.BORDER);label_6.setFont(SWTResourceManager.getFont("", 15, SWT.BOLD));label_6.setText("职工工资录入界面");label_6.setBounds(209, 25, 177, 35);text = new Text(this, SWT.BORDER);text.setBounds(241, 82, 70, 26);text_1 = new Text(this, SWT.BORDER);text_1.setBounds(241, 119, 70, 24);text_2 = new Text(this, SWT.BORDER);text_2.setBounds(241, 149, 70, 24);text_3 = new Text(this, SWT.BORDER);text_3.setBounds(241, 179, 70, 26);text_4 = new Text(this, SWT.BORDER);text_4.setBounds(241, 219, 70, 26);text_5 = new Text(this, SWT.BORDER);text_5.setBounds(241, 260, 70, 26);final Button button = new Button(this, SWT.NONE);button.addSelectionListener(new SelectionAdapter() {public void widgetSelected(final SelectionEvent e) {String s1=text.getText();String s2=text_1.getText();String s3=text_2.getText();String s4=text_3.getText();String s5=text_4.getText();String s6=text_5.getText();DBHelper db=new DBHelper();String sql="insert into 职工信息表 (职工号,姓名,基本工资,职位提成,迟到天数,旷工天数) values ('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+s6+"')";db.update(sql);luru.this.dispose();}});button.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));button.setText("录入");button.setBounds(430, 321, 48, 22);//┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊}@Overrideprotected void checkSubclass() {// Disable the check that prevents subclassing of SWT components }import org.eclipse.swt.SWT;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Display;import bel;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Text;import com.swtdesigner.SWTResourceManager;public class zhuce extends Shell {private Text text_2;private Text text_1;private Text text;public static void main(String args[]) {try {Display display = Display.getDefault();zhuce shell = new zhuce(display, SWT.SHELL_TRIM);shell.open();yout();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}} catch (Exception e) {e.printStackTrace();}}public zhuce(Display display, int style) {super(display, style);createContents();}protected void createContents() {setText("新用户注册界面");setSize(611, 455);final Label label = new Label(this, SWT.BORDER);label.setFont(SWTResourceManager.getFont("", 15, SWT.BOLD));label.setText("新用户注册界面");label.setBounds(161, 49, 163, 22);final Label label_1 = new Label(this, SWT.BORDER);label_1.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_1.setText("账号:");label_1.setBounds(76, 123, 104, 22);final Label label_2 = new Label(this, SWT.BORDER);label_2.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_2.setText("密码;");label_2.setBounds(76, 185, 104, 36);┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊text = new Text(this, SWT.BORDER);text.setBounds(244, 125, 80, 25);text_1 = new Text(this, SWT.BORDER | SWT.PASSWORD);text_1.setBounds(244, 187, 80, 25);final Label label_3 = new Label(this, SWT.BORDER);label_3.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));label_3.setText("请确认密码:");label_3.setBounds(76, 255, 104, 25);text_2 = new Text(this, SWT.BORDER | SWT.PASSWORD);text_2.setBounds(244, 257, 80, 25);final Button button = new Button(this, SWT.NONE);button.addSelectionListener(new SelectionAdapter() {public void widgetSelected(final SelectionEvent e) {String user=text.getText();String password=text_1.getText();String pass=text_2.getText();if(password.equals(pass)){DBHelper db=new DBHelper();String sql="insert into user_Table (账号,密码) values('"+user+"','"+password+"')";db.update(sql);zhuce.this .dispose();}}});button.setFont(SWTResourceManager.getFont("", 12, SWT.BOLD));button.setText("注册");button.setBounds(361, 322, 53, 23);//}@Overrideprotected void checkSubclass() {// Disable the check that prevents subclassing of SWT components }}七、参考文献1)《Java 语法及网络应用设计》,徐迎晓编著,清华大学出版社2)《Thinking in JAVA(Third Edition)》,Bruce Eckel,机械工业出版社3)《Java 2核心技术(第6版)卷I:基础知识》,Cay S.Horstmann,Gary Cornell,程峰等译,机械工业出版社4)《Java语言程序设计》,郎波,清华大学出版社5)《Java语言程序设计基础》,柳西玲,许斌,清华大学出版社6)《面向对象程序设计与java语言》,周晓聪等,机械工业出版社7)《Java2参考大全(第四版)》,[美]Herbert Schildt著,张玉清、吴浦峰、尚勇等译,清华大学出版社。

合集下载

数据库课程设计—企业工资管理系统(java版+完整代码)

数据库课程设计—企业工资管理系统(java版+完整代码)

数据库课程设计—企业工资管理系统(java版+完整代码)得分:课程设计报告公司薪资管理系统姓名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图来说明薪资信息管理系统的数据库观点模式,如图基本薪资员工号1n领取员工号姓名员工领取密码图实体之间关系E-R图姓名薪资m影响津贴津贴姓名员工号功能模块薪资管理系统系工职员统资工工模管登管块理陆理模模模块块块3.系统详尽设计数据库逻辑设计将以上 E-R变换成以下关系模式员工(员工号,姓名,密码)薪资(员工号,姓名,基本薪资,)津贴(员工号,姓名,奖金)此中,标有下划线的字段表示为该数据表的主码,即主重点字。

职工工资管理系统设计与实现

职工工资管理系统设计与实现

《JA V A程序设计》课程设计报告设计题目:职工工资管理系统设计与实现学院名称:专业班级:姓名:学号:目录一需求分析。

..。

.。

..。

..。

.。

.。

.。

..。

.。

3二概要设计。

.。

.。

..。

.。

..。

..。

.。

.。

.。

.。

.。

.。

.。

3三详细设计.。

.。

..。

.。

.。

.。

.。

.。

.。

.。

.。

.。

.。

53.1 数据库设计。

.。

.。

.。

.。

.。

.。

.。

.。

.。

.。

33.2 模块及窗体设计。

.。

.。

.。

.。

.。

...。

..。

.。

.。

.。

.。

.。

.3 3.2.1 数据库模块设计。

.。

..。

.。

.。

..。

.。

.。

..。

.。

.。

53.2.2 用户登录识别模块...。

..。

..。

...。

.。

.。

..。

63.2.3管理员模块。

.。

...。

..。

.。

.。

..。

.。

..。

8职工基本信息管理。

.。

..。

.。

..。

.。

.。

9职工工资管理.。

..。

.。

.。

.。

.。

..。

.。

.。

.。

.。

203。

2。

4 普通用户模块。

.。

.。

.。

..。

.。

.。

..。

.。

.。

.。

28 职工信息...。

.。

.。

..。

.。

..。

.。

.。

..。

.。

283.2。

5 系统管理模块.。

.。

.。

.。

.。

...。

.。

.。

.。

..。

.153.2。

5 主窗体菜单设计。

.。

.。

..。

.。

.。

.。

.。

.。

.。

15 四软件测试.。

..。

.。

.。

.。

.。

.。

..。

.。

.。

.。

.。

.。

...。

36五总结。

.。

.。

.。

..。

..。

.。

.。

.。

.。

.。

.。

.。

36 参考资料:.....................................................。

..17一需求分析本系统的主要目的就是实现职工工资管理系统设计与实现,使职工工资管理工作更加容易, 高效地管理企业职工工资,从而提高工作效率,降低管理成本。

二概要设计/************************************************************************概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。

数据库课程设计—企业工资管理系统(java版+完整代码)

数据库课程设计—企业工资管理系统(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工资管理系统

java工资管理系统

课程设计任务书
3.职工工资表:
表3 职工工资表的结构
列名数据类型长度约束
职工编号10 主键
年份 4 不为空
月份 2 不为空
基本工资 4 不为空
补助 4 允许空
奖金 4 允许空
应发工资 4 不为空
缴税 4 不为空
水电费 4 不为空
保险费 4 不为空
实发工资 4 不为空
4、功能实现
4.1 详细设计
4.1.1 建立系统主窗体
工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必须有的步骤,当运行时,弹出界面。

按钮选中管理员后,输入正确的管理员用户名和密码后,按登录按钮就可进入系统主界面。

如果用户名或密码输入错误会出相应的提示信息。

运行时登录界面,如图5.1所示。

图5.1登陆界面。

javaMySql数据库课程设计(员工工资管理系统)

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作为后端数据库。

职工工资管理系统设计与实现

职工工资管理系统设计与实现

《JA V A程序设计》课程设计报告设计题目:职工工资管理系统设计与实现学院名称:专业班级:姓名:学号:目录一需求分析。

.。

..。

....。

.。

.。

.。

.。

.。

.。

..。

.。

.。

3二概要设计。

.。

.。

.。

.。

.。

...。

.。

...。

.。

.。

.。

3三详细设计..。

.。

....。

.。

.。

..。

.。

...。

.。

..。

.。

.。

.。

.5 3。

1 数据库设计。

.。

.。

..。

.。

.。

.。

.。

.。

33.2 模块及窗体设计。

.。

.。

.。

..。

.。

.。

.。

.。

.。

..。

33。

2。

1 数据库模块设计。

.。

.。

.。

..。

.。

53.2.2 用户登录识别模块。

..。

.。

.。

..。

.。

..。

.。

..。

63.2。

3管理员模块..。

.。

..。

..。

.。

.。

.。

..。

..。

8职工基本信息管理。

..。

.。

.。

..。

.。

.。

.。

.。

.。

. 9职工工资管理。

.。

.。

.。

.。

.。

..。

20 3。

2。

4 普通用户模块。

..。

.。

...。

.。

.。

.。

.。

.。

28 职工信息.。

.。

.。

.。

...。

.。

.。

.。

.。

28 3。

2。

5 系统管理模块。

.。

.。

.。

.。

.。

.。

.。

.。

.。

.。

153。

2。

5 主窗体菜单设计.。

.。

..。

.。

..。

.。

.。

..。

15四软件测试。

.。

.。

..。

.。

.。

.。

.。

.。

.。

...。

.36五总结。

.。

.。

.。

.。

...。

.。

.。

..。

.。

..。

36参考资料:....................................................。

.。

....17一需求分析本系统的主要目的就是实现职工工资管理系统设计与实现,使职工工资管理工作更加容易,高效地管理企业职工工资,从而提高工作效率,降低管理成本。

二概要设计/************************************************************************概要设计阶段主要是粗略描述整个软件的框架,并从业务的角度描述软件的模块、工作流程等。

数据库课程设计—企业工资管理系统(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位小数,即是精确到分的计算。

java课程设计职工工资管理系统模板

java课程设计职工工资管理系统苏州科技学院电子信息实验中心面向对象技术课程设计报告--职工工资管理系统专业年级计算机科学与技术班级计算机1422学号姓名宋正伟成绩指导教师张宗杰年 4月一.引言1.1项目的名称职工工资信息管理系统1.2项目背景和目标职工工资信息管理系统主要能够对职工个人信息进行管理, 对职工用户提供个人信息查询, 工资查询等, 对管理用户提供增加, 修改, 删除员工信息等操作。

我们的目标就是为该系统提供后台连接数据库程序设计以及前台用户界面设计。

1.3项目的可行性研究设计此系统需要Java面向对象编程基础, 数据库应用知识以及功能分析。

根据当前所开设的课程, 学生已经具备了这样的知识, 有能力综合Java编程知识和数据库应用知识做出一个这样的职工工资信息管理系统。

二.需求分析2.1 系统概述此系统提供给公司职工和管理者使用, 职工登陆后能够对自己的信息进行查询, 管理者登陆后能够对职工的信息进行修改, 增加, 删除等操作。

2.2系统运行环境Java程序运行在eclipse软件上编译而且运行, 数据库用MYSQL数据库三.系统设计3.1 开发与设计的总体思想职工方面: 职工能够经过自己的职工号和密码登陆后, 进入职工主界面, 在这个主界面里, 职工能够进行信息查询操作。

管理员方面: 管理员经过自己的密码登陆后能够选择: 查询功能, 修改功能。

在查询功能里, 能够选择查询职工个人信息或者工资情况。

在修改功能里, 能够选择对职工的信息进行增加, 删除和修改操作。

3.2 系统模块结构图职工工资管理系统职工登陆职工个人信管理员登陆管理员操作查询修改添加新人删除辞职者修改职工基修改工资3.3 数据库结构设计为了支持此职工档案管理系统, 创立数据库employeemanage,在这个数据库里包含三个表: worker表, manager表, employee表, 它们的截图如下:在worker表中, 有八个属性列, 分别为: id(职工号),wname(姓名),age(年龄),sex(性别),number(电话),salary(工资),dept(部门)。

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语言进行编码实现。

- 调试测试:对系统进行全面测试和调试,确保系统的稳定性和可靠性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档