员工薪资管理系统课程设计共64页.docx

上传人:b****7 文档编号:9070865 上传时间:2023-02-03 格式:DOCX 页数:43 大小:26.06KB
下载 相关 举报
员工薪资管理系统课程设计共64页.docx_第1页
第1页 / 共43页
员工薪资管理系统课程设计共64页.docx_第2页
第2页 / 共43页
员工薪资管理系统课程设计共64页.docx_第3页
第3页 / 共43页
员工薪资管理系统课程设计共64页.docx_第4页
第4页 / 共43页
员工薪资管理系统课程设计共64页.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

员工薪资管理系统课程设计共64页.docx

《员工薪资管理系统课程设计共64页.docx》由会员分享,可在线阅读,更多相关《员工薪资管理系统课程设计共64页.docx(43页珍藏版)》请在冰豆网上搜索。

员工薪资管理系统课程设计共64页.docx

员工薪资管理系统课程设计共64页

员工薪资管理系统课程设计

学院:

班级:

学号:

姓名:

余黎晨李雪敏敬翰林颜学宏

指导教师:

李竹林

一:

绪论

1.1设计目的

1.2设计内容

1.3开发背景

1.4开发环境

1.5组内成员及分工

二:

需求分析

2.1题目分析

2.2功能分析

2.3数据流图

2.4数据字典

2.5系统功能

三:

系统分析与设计

3.1概念结构设计

3.2逻辑结构设计

3.3物理结构设计

四:

数据库实施及运行

4.1建基本表

4.3功能实现

4.4完整代码

五:

设计心得及体会

一:

绪论

1.1设计目的

员工薪资系统的主要目的是通过操作计算机代替手工劳动,能够在该系统内完成员工的信息录入,查询,删除等操作,方便公司的高效化,规范化管理,有利于员工更好更方便了解自己的薪资信息。

系统开发的总体任务就是实现员工薪资管理的系统化、规范化和自动化。

1.2设计内容

题目6:

员工薪资管理

1)背景资料

a)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。

b)该单位下设4个科室,即经理室、财务科、技术科和销售科。

c)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。

d)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。

e)每月个人的最高工资不超过3000元。

工资按月发放,实际发放的工资金额为工资减去扣除。

2)设计要求:

a)进行需求分析,编写数据字典。

b)设计E-R图。

c)实现按照科室录入个人的基本资料、工资和扣除金额的数据。

d)计算个人的实际发放工资。

e)按科室、职业分类统计人数和工资金额。

f)实现分类查询。

g)能够删除辞职人员的数据。

h)开发工具不限。

1.3开发背景

当今社会,随着企业人数的不断增加,企业员工薪资的管理工作也越来越复杂,资金是企业生存的核心部分,而资金流动也是关键环节,随着计算机的普及,计算机管理系统已经原来越来越广泛的应用于各个中小型企业中,用计算机取代手工对企业管理的操作也是势在必行的,并且人为操作容易造成信息错误,纸质材料不易保存,可能会导致企业运转出现滞缓现象,影响企业发展。

为了更好的、更方便地管理企业中各个成员的工资发放情况,我们必须要有一个完善的、合理的、便捷的员工薪资管理系统来管理公司员工工资的发放情况。

该员工薪资管理系统主要用于中小型企业员工的工资发放管理,此系统的建立和使用有利于员工更好的了解自己的薪资信息,提高公司员工薪资发放工作的效率,大大减少纸质管理对工作带来的失误。

1.4开发环境

开发平台:

SQLServer2005

开发工具:

EclipseJDBC

开发语言:

SQL语言JAVA语言

1.5组内成员及分工

李雪敏:

系统框架撰写报告

颜学宏:

代码编写数据库的连接与运行

余黎晨:

概念结构设计代码调试

敬翰林:

逻辑结构设计需求分析

二:

需求分析

2.1题目分析

该题目要求设计一个员工薪资系统,实现员工信息的有序化,规范化,并能进行员工信息录入,查询,修改,删除等操作,能实现分类查询,

2.2功能分析

该员工薪资系统能够实现的功能如下:

员工信息的管理,包括姓名,性别,年龄,职业,员工号,部门编号基本信息的录入,查询,删除,修改等操作

部门信息的管理,包括部门编号和部门名称,查询每个部门的业绩和员工薪资情况

薪资信息的管理,包括员工号,部门编号,基本工资,福利补贴,奖励工资,失业保险,住房公积金,实发薪资等信息,统计出员工的基本工资,福利补贴,奖励工资,扣除失业保险,住房公积金后所得的工

2.3数据流图

注册

员工

员工基本信息

查询

员工

员工工资记录

员工薪资信息形成

查询

部门

经理

薪资信息管理

部门工资

记录

统计分析

财务统计人员

2.4数据字典

数据字典在数据库设计中占有很重要的地位,数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果。

根据数据流图对员工薪资管理数据库数据字典的设计如下所示:

2.41数据结构名:

员工

含义说明:

员工信息

组成:

姓名,性别,年龄,职业,员工号

数据项名

数据类型

长度

可否为空

含义说明

员工号

char

10

no

员工编号

员工姓名

char

10

no

姓名

员工年龄

char

10

no

年龄

部门名称

char

10

no

所属部门

员工职业

char

10

no

担任职务

2.42数据结构名:

部门

含义说明:

部门信息

组成:

部门编号,部门名称

数据项名

数据类型

长度

可否为空

含义说明

部门编号

char

4

no

科室类别

部门名称

char

10

no

科室名称

2.43数据结构名:

工资

含义说明:

员工薪资信息

组成:

员工号,部门编号,基本工资,福利补贴,奖励工资,扣罚工资,失业保险,住房公积金,实发薪资

数据项名

数据类型

长度

可否为空

含义说明

员工号

char

8

no

员工编号

员工工资

char

4

no

所的工资

奖励工资

money

8

no

基本工资

员工薪资

money

8

yes

福利和补贴工资

2.5系统功能

该员工薪资系统的功能如下:

三:

系统分析与设计

3.1概念结构设计

E—R图设计

员工实体——关系图

性别

姓名

职业

员工

员工号

年龄

部门编号

部门实体——关系图

部门编号

部门

部门名称

工资实体——关系图

员工号

实发薪资

住房公积金

福利补贴

基本工资

部门编号

工资

奖励工资

失业保险

总的E—R图

3.2概念结构设计

E-R图表示的概念模型是用户数据要求的形式化,它不为任何一个DBMS所支持,而逻辑结构设计的任务就是把概念模型结构转换成某个具体的DBMS所支持的数据模型,员工薪资管理E-R图转换为关系模式为:

员工(姓名,性别,年龄,职业,员工号,部门编号)

部门(部门编号,部门名称)

薪资(员工号,员工工资,福利补贴,奖励工资,失业保险,住房公积金,实发薪资)

四:

数据库实施与运行

4.1建基本表

员工信息表

部门信息表

工资信息表

4.3功能实现

4.31系统界面展示:

4.32员工信息查询功能

按工号查询:

按姓名查询:

4.33员工工资查询功能:

4.34修改员工工资功能:

4.35添加员工功能:

4.36修改员工信息功能:

4.37删除员工信息功能:

4.4完整代码展示

4.41源程序代码

//类DBConnect用于数据库的连接

//导入sql包

importjava.sql.*;

//创建数据库连接类DBConnect

publicclassDBConnect

//静态方法提高数据库的连接效率

publicstaticConnectiongetConn()throwsException

//加载JDBC驱动

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//以系统默认用户身份,连接数据库StudentManager

returnDriverManager.getConnection("jdbc:

odbc:

Test","dmj","753");

4.42主框架代码:

//系统主框架类

//导入系统的包

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

//创建主框架类MainFrame

publicclassMainFrameextendsJFrameimplementsActionListener

//创建内容面板

JPanelcontentPane;

//创建菜单栏组件的对象

JMenuBarjMenuBar1=newJMenuBar();//菜单条

JMenujMenu0=newJMenu("退出系统");//菜单

JMenuItemjMenuItem0=newJMenuItem("退出");//子菜单

JMenujMenu1=newJMenu("员工管理");

JMenuItemjMenuItem1=newJMenuItem("添加员工");

JMenuItemjMenuItem2=newJMenuItem("修改员工");

JMenuItemjMenuItem3=newJMenuItem("删除员工");

JMenujMenu2=newJMenu("工资管理");

JMenuItemjMenuItem4=newJMenuItem("添加工资");

JMenuItemjMenuItem5=newJMenuItem("修改工资");

JMenuItemjMenuItem8=newJMenuItem("工资查询");

JMenujMenu3=newJMenu("员工查询");

JMenuItemjMenuItem6=newJMenuItem("按工号查询");

JMenuItemjMenuItem7=newJMenuItem("按姓名查询");

JMenuItemjMenuItem9=newJMenuItem("互动");

//创建标签,用于显示信息

JLabeljLabel1=newJLabel("欢迎使用员工薪资管理系统");

//创建构造方法

publicMainFrame()

try{

//关闭框架窗口时的默认事件方法

setDefaultCloseOperation(EXIT_ON_CLOSE);

//调用初始化方法

jbInit();

catch(Exceptionexception){

exception.printStackTrace();

//界面初始化方法

privatevoidjbInit()throwsException

//创建内容面板

contentPane=(JPanel)getContentPane();

//设置内容面板的布局为空

contentPane.setLayout(null);

//主框架的大小

setSize(newDimension(400,360));

//主框架的标题

setTitle("员工薪资管理系统");

//添加事件监听器

jMenuItem0.addActionListener(this);

jMenuItem1.addActionListener(this);

jMenuItem2.addActionListener(this);

jMenuItem3.addActionListener(this);

jMenuItem4.addActionListener(this);

jMenuItem5.addActionListener(this);

jMenuItem6.addActionListener(this);

jMenuItem7.addActionListener(this);

jMenuItem8.addActionListener(this);

jMenuItem9.addActionListener(this);

//添加菜单条到主框架

setJMenuBar(jMenuBar1);

//添加菜单到菜单条

jMenuBar1.add(jMenu0);

jMenuBar1.add(jMenu1);

jMenuBar1.add(jMenu2);

jMenuBar1.add(jMenu3);

//添加菜单项到菜单

jMenu0.add(jMenuItem0);

jMenu1.add(jMenuItem1);

jMenu1.add(jMenuItem2);

jMenu1.add(jMenuItem3);

jMenu2.add(jMenuItem4);

jMenu2.add(jMenuItem5);

jMenu2.add(jMenuItem8);

jMenu3.add(jMenuItem6);

jMenu3.add(jMenuItem7);

//添加标签到主框架内容面板

contentPane.add(jLabel1);

//设置标签组件的大小和字体

jLabel1.setFont(newjava.awt.Font("黑体",Font.BOLD,20));

jLabel1.setBounds(newRectangle(65,70,275,55));

//菜单项事件对应的处理方法

publicvoidactionPerformed(ActionEventactionEvent)

//点击“系统”菜单下的“退出”菜单项

if(actionEvent.getSource()==jMenuItem0)

System.exit(0);

//点击“员工管理”菜单下的“添加员工”菜单项

if(actionEvent.getSource()==jMenuItem1)

//创建“添加员工”面板对象

AddEmployeeAddEmp=newAddEmployee();

//移除主框架上原有的内容

this.remove(this.getContentPane());

//加载“添加职工”面板的对象到主框架

this.setContentPane(AddEmp);

//令界面可见

this.setVisible(true);

//点击“员工管理”菜单下的“修改员工”菜单项

if(actionEvent.getSource()==jMenuItem2)

//创建“修改员工”面板对象

ModifyEmployeeModifyEmp=newModifyEmployee();

this.remove(this.getContentPane());

//加载“修改员工”面板的对象到主框架

this.setContentPane(ModifyEmp);

this.setVisible(true);

//点击“员工管理”菜单下的“删除员工”菜单项

if(actionEvent.getSource()==jMenuItem3)

//创建“删除员工”面板对象

DeleteEmployeeDeleteEmp=newDeleteEmployee();

this.remove(this.getContentPane());

//加载“删除员工”面板的对象到主框架

this.setContentPane(DeleteEmp);

this.setVisible(true);

//点击“工资管理”菜单下的“添加工资”菜单项

if(actionEvent.getSource()==jMenuItem4)

//创建工资添加的面板对象

AddSalaryAddSal=newAddSalary();

this.remove(this.getContentPane());

//加载工资添加面板的对象到主框架

this.setContentPane(AddSal);

this.setVisible(true);

//点击“工资管理”菜单下的“修改工资”菜单项

if(actionEvent.getSource()==jMenuItem5)

//创建工资修改的面板对象

ModifySalaryModifySal=newModifySalary();

this.remove(this.getContentPane());

//加载工资修改面板的对象到主框架

this.setContentPane(ModifySal);

this.setVisible(true);

//点击“工资管理”菜单下的“工资查询”菜单项

if(actionEvent.getSource()==jMenuItem8)

//创建工资修改的面板对象

SalaryInquireSalaryInq=newSalaryInquire();

this.remove(this.getContentPane());

//加载工资修改面板的对象到主框架

this.setContentPane(SalaryInq);

this.setVisible(true);

//点击“员工查询”菜单下的“按工号查询”菜单项

if(actionEvent.getSource()==jMenuItem6)

//创建“按工号查询”面板对象

InquireOnGHOnGH=newInquireOnGH();

//移除主框架上原有的内容

this.remove(this.getContentPane());

this.setContentPane(OnGH);

this.setVisible(true);

4.43主函数Main代码:

//系统的主程序类Main

//导入包

importjava.awt.*;

importjavax.swing.*;

//创建主系统类

classMain

publicstaticvoidmain(String[]args)

//创建主界面,调用MainFrame()构造函数和方法

MainFrameframe=newMainFrame();

//获取屏幕尺寸

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

//获取主界面的窗体尺寸

DimensionframeSize=frame.getSize();

//令主界面窗体居中

if(frameSize.height>screenSize.height)

frameSize.height=screenSize.height;

if(frameSize.width>screenSize.width)

frameSize.width=screenSize.width;

frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);

//令主界面显示

frame.setVisible(true);

4.44员工信息查询代码

按工号查询代码

//导入系统的类包

importjava.awt.*;

im//"按员工号查询"面板类InquireOnGH

portjava.sql.*;

importjavax.swing.*;

importjava.awt.event.*;

//创建“按员工号查询”类

publicclassInquireOnGHextendsJPanelimplementsActionListener

//声明连接数据库对象

Connectioncon;

//声明SQL语句对象

Statementst;

//创建组件对象:

标签、文本行、单选

JLabeljLabel1=newJLabel("请输入员工号:

");

JTextFieldjTextField1=newJTextField();

JButtonjButton1=newJButton("查找");

JTextAreajTextArea1=newJTextArea();

//构造方法

publicInquireOnGH()

try{

//调用初始化方法

jbInit();

catch(Exceptionexception){

exception.printStackTrace();

//面板初始化方法

privatevoidjbInit()throwsException

//连接数据库

con=DBConnect.getConn();

st=con.createStatement();

//框架的布局

this.setLayout(null);

//设置各组件的大小

jLabel1.setFont(newjava.awt.Font("黑体",Font.BOLD,16));

jLabel1.setBounds(newRectangle(46,4,222,32));

jTextField1.setBounds(newRectangle(47,37,247,31));

jButton1.setBounds(newRectangle(47,86,247,30));

jTextArea1.setBounds(newRectangle(24,130,305,109));

//添加按钮动作事件

jButton1.addActionListener(this);

//添加组件到面板

this.add(jLabel1);

this.add(jTextField1);

this.add(jTextArea1);

this.add(jButton1);

//点击按钮事件

publicvoidactionPerformed(ActionEvente)

//获取输入的员工号

StringEmployeeID=jTextField1.getText();

//清空文本区原有的内容

jTextArea1.setText("");

try{

//利用st对象执行SQL语句,返回结果集对象

ResultSetrs=st.executeQuery("select*fromEmployeewhere员工号='"+EmployeeID+"'");

//处理结果集

if(rs.next())

jTextArea1.setText("员工号:

"+rs.getString("员工号")+"\n"+"员工姓名:

"+rs.getString("员工姓名")+"\n"+"员工性别:

"+rs.get

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1