好文档 - 专业文书写作范文服务资料分享网站

实验2:人力资源管理系统的设计与实现

天下 分享 时间: 加入收藏 我要投稿 点赞

江洋幼儿园健康教育工作计划项目2: 人力资源管理系统的设计与实现

实验目的: 1.了解项目需求;

2. 掌握数据库的设计和开发; 3. 掌握图形用户界面的设计和开发;

4. 掌握利用JDBC技术访问数据库的步骤和方法。 实验内容:

(1)系统功能需求分析

该系统的功能需求模块分析设计如下:

登陆模块:实现登陆功能的数据处理,如果员工编号和密码正确,则根据员工级别进入相应的界面。

退出模块:退出本系统。

管理员管理模块:包含添加新员工、修改员工级别、查看个人信息和修改个人密码功能。 部门经理管理模块:包含考评员工、查看员工工作汇报、给员工布置任务、查看个人信息和修改个人密码功能。

普通员工管理模块:包含汇报工作、查看考评成绩、查看个人信息和修改个人密码功能。 (2)企业人力资源管理系统功能图

页脚内容7

江洋幼儿园健康教育工作计划HR系统 登录 退出 管理员 部门经理 普通员工 个人信息维查看个人信修改密码 添加员工 修改员工角查看员工信查看个人信个人信息维修改密码 查看 员工工考评员工 查看部门员工查看个人信个人信息维修改密码 查看考评 汇报工作 3.数据库的设计

一个结构良好的数据库可以很好实现系统的查询和管理,并且能够极大地提高系统的运行效率。

对于本项目用到的表格,可以根据所学的数据库管理系统知识,按照数据优化的思想设计表。根据业务需求,设计用户表、角色表、部门表、考评表、汇报表。这些表之间按照ID建立关系。

4.数据库的实现

本系统采用MySQL数据库设计数据库以及表格。 步骤一:创建数据库hr;

步骤二创建员工表(employee)、角色表(role)、部门表(department)、考评表(evaluation)、汇报表(report),并建立关系。

表结构如下:

页脚内容7

江洋幼儿园健康教育工作计划(1)CREATE TABLE `department` (

`DEPARTID` int(11) NOT NULL AUTO_INCREMENT, `NAME` varchar(50) NOT NULL, PRIMARY KEY (`DEPARTID`) )

(2)CREATE TABLE `employee` ( `empNo` varchar(20) NOT NULL, `empName` varchar(50) NOT NULL, `passWord` varchar(20) NOT NULL,、 `sex` varchar(2) NOT NULL, `roleId` int(11) NOT NULL, `departmentid` int(11) NOT NULL, `salary` double NOT NULL, PRIMARY KEY (`empNo`) )

(3)CREATE TABLE `evaluation` (

`evaluationId` int(11) NOT NULL AUTO_INCREMENT, `evaluatorId` int(20) NOT NULL, `evaluatedId` int(20) NOT NULL, `score` double NOT NULL, PRIMARY KEY (`evaluationId`) )

页脚内容7

江洋幼儿园健康教育工作计划

(4)CREATE TABLE `report` (

`REPORTID` int(11) NOT NULL AUTO_INCREMENT, `REPORTDATE` varchar(50) NOT NULL, `REPORTERID` int(20) NOT NULL, `CONTENT` varchar(100) NOT NULL, PRIMARY KEY (`REPORTID`) )

(5)CREATE TABLE `role` (

`ROLEID` int(11) NOT NULL AUTO_INCREMENT, `ROLENAME` varchar(50) NOT NULL, PRIMARY KEY (`ROLEID`) )

步骤三:向employee表中添加几条记录 insert

into

employee

values

('0001','zhangsan','0001','

',1,1,4000),('0002','lisi','0002','男',2,2,5000),('0003','wangwu','0003','男',3,3,4500);

5.项目的创建与组织

根据目前企业开发的习惯,我们将项目中的类分别放到不同的包中:

Entity包:实体层,存放实体功能类。一般将数据库中的表映射为实体类:表名映射为类名,列名映射为属性,然后在类中增加上get/set方法、构造方法等。

Dao包:存放访问数据库的业务逻辑类。 View包:存放界面相关的类。

页脚内容7

江洋幼儿园健康教育工作计划Util包:存放辅助工具类。

包的明名习惯:企业域名倒写+项目名。如cn.edu.uzz.entity 6.实体类的设计

Employee、Role、Report、Department、Evaluation类。 7.业务逻辑类的设计

EmployeeDao、RoleDao、ReportDao、DepartmentDao、EvaluationDao类。 EmployeeDao类的参考代码如下:

public class EmployeeDao {

//通过员工编号和密码实现员工登录

public Employee loginByEmpNoAndPassword(String empNo,String password){ Employee employee=null;

try{Class.forName(\加载MySQL驱动

Connection conn = DriverManager.getConnection( \\\建立数据库连接

PreparedStatement pstmt = conn.prepareStatement(\employee where empno=? and password=?\创建PreparedStatment对象

pstmt.setString(1,empNo); pstmt.setString(2,password);

ResultSet rs = pstmt.executeQuery();// 获取查询结果集 // 如果访问结果集中有数据,则用这些数据实例化Employee对象并返回 if (rs.next()) { employee=new

Employee(rs.getString(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getInt(5),rs.getInt(6),rs.getDouble(7));

}

rs.close();// 关闭结果集 pstmt.close();// 关闭载体 conn.close();// 关闭连接 }

catch (Exception e) {

e.printStackTrace(); }

return employee; } }

7

页脚内容江洋幼儿园健康教育工作计划8.图形用户界面的设计以及事件处理 界面1:员工登录界面

参考代码如下:

public class Login extends JFrame {

private static final long serialVersionUID = 1L; protected JPanel jp;

private JButton btnLogin; private JButton btnCancel; private JLabel lblLogin; private JLabel lblPassword; private JTextField txtLogin;

private JPasswordField txtPassword; EmployeeDao ed=new EmployeeDao(); public Login(){

setTitle(\登录系统\

jp = new JPanel(null);//容器设置为空布局 lblLogin = new JLabel(\编号:\登陆标签 txtLogin = new JTextField();//登陆文本框 lblPassword = new JLabel(\密码:\密码标签 txtPassword = new JPasswordField();//密码输入框 btnLogin = new JButton(\登录\登陆按钮 btnCancel = new JButton(\退出\退出按钮 this.add(jp);

jp .add(lblLogin); jp .add(txtLogin); jp .add(lblPassword); jp .add(txtPassword); jp.add(btnLogin); jp.add(btnCancel);

//坐标布局,参数为左上点坐标,宽,高

7

页脚内容江洋幼儿园健康教育工作计划 lblLogin.setBounds(53, 30, 35, 15); txtLogin.setBounds(100, 26, 140, 20); lblPassword.setBounds(53, 70, 35 , 15); txtPassword.setBounds(100, 66, 136, 21); btnLogin.setBounds(70, 120, 60, 23); btnCancel.setBounds(180, 120, 60, 23); this.setSize(350, 300);//设置Frame大小

this.setLocationRelativeTo(null);//Frame居中 this.setResizable(false);//禁止改变框架大小

this.getRootPane().setDefaultButton(btnLogin);//主框架中默认按钮 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //登陆按钮注册事件

btnLogin.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String empNo = txtLogin.getText();

char[] passwordChars = txtPassword.getPassword(); String password = new String(passwordChars); Employee emp = null; try {

emp = ed.loginByEmpNoAndPassword(empNo, password); } catch (Exception e1) { e1.printStackTrace(); }

if(emp == null){

//提示,用户名或者密码错误,用户名获取焦点

JOptionPane.showMessageDialog(Login.this.btnLogin, \用户名或者密码错误,请重新输入\

//用户名输入框得到焦点

Login.this.txtLogin.requestFocus(); return;

//如果登陆帐号是Staff角色

}else if(emp.getEmpLevel() == 1){

StaffMain sm = new StaffMain(emp); sm.setVisible(true); //如果登陆帐号是Manager角色

}else if(emp.getEmpLevel() == 2){

ManagerMain mm = new ManagerMain(emp); mm.setVisible(true); //如果登陆帐号是Admin角色

}else if(emp.getEmpLevel()== 3){

AdminMain am = new AdminMain(emp); am.setVisible(true); }

Login.this.setVisible(false);

7

页脚内容江洋幼儿园健康教育工作计划 } });

//退出按钮注册事件

btnCancel.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub int response = JOptionPane.showConfirmDialog(Login.this.btnCancel, \确定退出本系统吗?\退出\

if(response == JOptionPane.YES_OPTION){ System.exit(0); } } }); } }

界面2:普通员工界面

界面3:部门经理界面

界面4:管理员界面

页脚内容7

江洋幼儿园健康教育工作计划

当选择各个菜单项时还会有各自的界面。 例如:查看个人信息的界面。如下图

再如:查看所有员工信息的界面。如下图所示。

在此不再一一列举。 9. 项目的优化方案。

页脚内容7

实验2:人力资源管理系统的设计与实现

江洋幼儿园健康教育工作计划项目2:人力资源管理系统的设计与实现实验目的:1.了解项目需求;2.掌握数据库的设计和开发;3.掌握图形用户界面的设计和开发;4.掌握利用JDBC技术访问数据库的步骤和方法。实验内容:(1)系统功能需求分析该系统的功能需求模块分析设计如下:登陆模块:实现登
推荐度:
点击下载文档文档为doc格式
478i21qxwv00kc5204u903ypi6bk8900j4d
领取福利

微信扫码领取福利

微信扫码分享