实验2:人力资源管理系统的设计与实现.doc
文本预览下载声明
项目2: 人力资源管理系统的设计与实现
实验目的:
1.了解项目需求;
2. 掌握数据库的设计和开发;
3. 掌握图形用户界面的设计和开发;
4. 掌握利用JDBC技术访问数据库的步骤和方法。
实验内容:
(1)系统功能需求分析
该系统的功能需求模块分析设计如下:
登陆模块:实现登陆功能的数据处理,如果员工编号和密码正确,则根据员工级别进入相应的界面。
退出模块:退出本系统。
管理员管理模块:包含添加新员工、修改员工级别、查看个人信息和修改个人密码功能。
部门经理管理模块:包含考评员工、查看员工工作汇报、给员工布置任务、查看个人信息和修改个人密码功能。
普通员工管理模块:包含汇报工作、查看考评成绩、查看个人信息和修改个人密码功能。
(2)企业人力资源管理系统功能图
3.数据库的设计
一个结构良好的数据库可以很好实现系统的查询和管理,并且能够极大地提高系统的运行效率。
对于本项目用到的表格,可以根据所学的数据库管理系统知识,按照数据优化的思想设计表。根据业务需求,设计用户表、角色表、部门表、考评表、汇报表。这些表之间按照ID建立关系。
4.数据库的实现
本系统采用MySQL数据库设计数据库以及表格。
步骤一:创建数据库hr;
步骤二创建员工表(employee)、角色表(role)、部门表(department)、考评表(evaluation)、汇报表(report),并建立关系。
表结构如下:
(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`)
)
(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包:存放界面相关的类。
Util包:存放辅助工具类。
包的明名习惯:企业域名倒写+项目名。如cn.edu.uzz.entity
6.实体类的设计
Employee、Role、Report、Department、Evaluation类。
7.业务逻辑类的设计
EmployeeDao、
显示全部