数据库与软件工程课程设计_企业人事管理系统_第1页
数据库与软件工程课程设计_企业人事管理系统_第2页
数据库与软件工程课程设计_企业人事管理系统_第3页
数据库与软件工程课程设计_企业人事管理系统_第4页
数据库与软件工程课程设计_企业人事管理系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南师范大学工学院电子与信息工程系课程设计报告书湖南师范大学工学院电子与信息工程系课程设计报告书企业人事管理系统企业人事管理系统2011-06-24Hunan Normal UniversityELECTRONIC & INFORMATION ENGINEERING DEPARTMENT湖南师范大学工学院电子与信息工程系课程设计登记表湖南师范大学工学院电子与信息工程系课程设计登记表注:注:此表格内容中的任务要求为指导教师提供的课程设计要求,主要实施步骤是指课程设计的时间安排,结论是指通过课程设计得出的有关结论及课程设计不足之处或进一步开发方向。课程设计题目课程设计题目企业人事管理系统指导教师姓

2、名指导教师姓名指导老师职称指导老师职称讲师学生姓名学生姓名所属班级所属班级任任务务要要求求信息要求:信息要求:员工基本信息表。员工婚姻情况表。反映员工的配偶信息。员工学历信息表。反映员工的学历、专业、毕业时间、学校、外语情况等。系系统统功能的基本要求功能的基本要求:人员管理,包括员工增加、修改、删除:建立员工基本信息表。员工各种信息的修改。转出、辞职、辞退、退休员工信息的删除。人事综合查询。可以按各种查询条件查询用户所需资料。综合统计各类信息。分类统计员工的人数等数据,对在职人员分类统计、离职人员人数的统计、在职员工人数综合统计等。主主要要实实施施步步骤骤1.需求分析2.概念结构设计 生成基本

3、 E-R 图3.逻辑结构设计 由 E-R 图导出关系模式4.功能模块实现、集成及调试 5.填写实验报告结结论论这次软件工程结合数据库的课程设计,让我觉得我们原来学的数据库的知识原来是这样运用的,而且也是第一次将软件工程的知识运用到实践中。最大的收获就是如何将数据库导入到程序中去目目 录录1引言.11.1课程设计目标 .11.2编程工具(编程环境)介绍 .11.3实施时间及主要实施步骤 .12需求分析.22.1问题描述 .22.2功能需求 .22.3性能需求 .33系统总体设计.43.1企业人事管理系统内容和功能设计 .43.2人员信息管理 .53.3婚姻状况信息管理 .53.4统计信息管理 .

4、54数据库设计.84.1数据库的概念设计 .84.2数据库的逻辑设计 .95主要功能模块的设计与实现.115.1企业人事管理的登录 ACTION.115.2员工信息的表 MODEL.135.3企业人事管理系统插入员工信息 DAO.145.4数据库设计 .165.5算法流程 .215.6界面设计及设计结果 .216调试分析.227用户手册.228测试结果.249结论.329.1结论 .329.2进一步开发方向 .3210参考文献.321 1引言引言随着计算机技术、网络技术和信息技术的发展,现在办公系统更趋于系统化、科学化和网络化。网络办公自动化系统是计算机技术和网络迅速发展的一个办公应用解决方案

5、,它的主要目的是实现信息交流和信息共享,提供协同工作的手段,提高办公的效率,让人们从繁琐的有纸办公中解脱出来。现在许多的机关单位的人事管理水平还停留在纸质档,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。1.11.1 课程设计目标课程设计目标企业人事管理系统,是为了迎合现在人们的工作而设计的。随着网络的覆盖面的增广,上网的人们也就越来越多了,人事管理的对象是一个单位或若干单位种的员工的基本信息,这些信息是在变化的。人事管理系统能够味用户提供充足的信息和快捷的查询手段。使用计算机对人事资料进行管理,会给应用者带来很多

6、方便,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,同时,这也是企业的科学化、正规化管理以及与世界先进管理技术接轨的重要条件。1.21.2 编程工具(编程环境)介绍编程工具(编程环境)介绍开发工具: Java DBMS:Oracle 11GIDE:Eclipse1.31.3 实施时间及主要实施步骤实施时间及主要实施步骤1.应用需求分析 (3 天)2.系统功能模块划分(2 天)3. 系统数据库设计 (2 天)4. 概念设计 (2 天)5.逻辑设计 (2 天)6编写代码(5-8 天)7.调试(2 天)2 2需求分析需求分析2.12.1

7、 问题描述问题描述随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。2.22.2 功能需求功能需求(1) 员工档案管理1)对公司里所有员工进行统一编号

8、;将每一位员工的信息保存在员工档案记录中。2)当员工的信息发生变动时,修改员工档案记录中相应的属性。3)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除以及转出、辞职、辞退、退休员工信息的删除,管理员可以添加、删除、修改员工相关方面的信息。(2) 人事管理通过该模块,能够进行人事档案浏览、人事资料查询和人事资料统计。以便进入该企业的人能快速了解其他职工信息,也方便人事专员对信息的记录、增删和修改。(3) 综合统计各类信息 分类统计员工的人数等数据,对在职人员分类统计、离职人员人数的统计、在职员工人数综合统计等。以下为人事管理系统的用例图 include

9、 系统用例图2.32.3 性能需求性能需求(1)记录了职工的基本信息,了解职工的基本情况,对企业的日常管理有很大的帮助,同时也可以通过这些对职工采取针对性的措施;(2)浏览功能,使用户能看到所有职工的信息,了解自己所需要的情况,互相了解,从而有利于交流;(3)备份/还原数据库,保证信息的不流失;(4)对人事档案的浏览和查询;(5)人员管理,包括员工增加、修改、删除。(6)系统应最大限度地实现易维护性和易操作性。3 3系统总体设计系统总体设计3.13.1 企业人事管理系统内容和功能设计企业人事管理系统内容和功能设计企业人事管理系统提供的主要功能如下:(1)本企业人事管理系统录入职工的基本信息,如

10、员工姓名,编号,性别,出生年月,婚姻状况,籍贯,参加工作时间,学历,所在单位或部门,职务,职称等很多设置;(2) 人员管理,包括员工增加、修改、删除:(3)建立员工基本信息表。(4)员工各种信息的修改。(5)转出、辞职、辞退、退休员工信息的删除。(6)人事综合查询。可以按各种查询条件查询用户所需资料。(7)综合统计各类信息。分类统计员工的人数等数据,对在职人员分类统计、离职人员人数的统计、在职员工人数综合统计等。 (8)系统管理,使用正确的用户名和密码而且是管理员身份才能进入下系统。 系统功能图企业人事管理系统人事综合查询人员管理综合统计数据3.23.2 人员信息管理人员信息管理 增加职工信息

11、; 修改职工信息; 删除职工信息; 查询职工信息;3.33.3 婚姻状况信息管理婚姻状况信息管理 查询职工配偶信息3.43.4 统计信息管理统计信息管理 按性别统计员工人数; 按职称统计员工人数; 统计员工在职状态人数; 人员管理添加员工修改员工信息删除员工按状态统计按性别统计按职称统计综合统计数据 数据流图:数据流图: A Ad dm mi in ni is st tr ra at ti io on nE ER RP P系系统统人人员员管管理理综综合合查查询询统统计计信信息息返返回回信信息息0 层数据流图层数据流图A Ad dm mi in ni is st tr ra at ti io o

12、n n1 1、管管理理2 2、查查询询3 3、统统计计人人员员管管理理返返回回信信息息综综合合查查询询返返回回信信息息统统计计信信息息返返回回信信息息1 层数据流图层数据流图 3 3. .1 1、性性别别统统计计3 3. .2 2、状状态态统统计计3 3. .3 3、职职称称统统计计员员工工信信息息表表部部门门信信息息表表请请求求性性别别统统计计请请求求状状态态统统计计请请求求职职称称统统计计员员工工信信息息表表返返回回性性别别统统计计信信息息返返回回状状态态统统计计信信息息返返回回职职称称统统计计信信息息第第 2 层数据流图层数据流图 下图为时序图:下图为时序图: : HibemateTem

13、plateEmployActionEmployServiceImplEmployDaoImpl1: 3: FindEmployByID(id)2: FindEmployByID(id)4: id 6: 5: 7: 8: 4 4数据库设计数据库设计在开发应用程序时,对数据库的操作时必不可少的,数据库设计是根据程序的需求及其实现功能所制定的,数据库设计的合理性将直接影响到程序的开发过程。4.14.1 数据库的概念设计数据库的概念设计数据库设计是系统开发的重要部分,它是通过管理系统的整体需求而制定的,数据库设计的好坏直接影响到系统的后期开发。4.24.2 数据库的逻辑设计数据库的逻辑设计根据上面设计

14、好的 E_R 图,可以在数据库中创建相应的数据表,企业人事管理系统中个数据表的结构如下。根据上面设计好的 E_R 图,可以在数据库中创建相应的数据表,企业人事管理系统中个数据表的结构如下。员工类型编号类型(1)员工类型字段名数据类型主键描述Staff_IDVarchar(8)是员工编号TypeVarchar(10)否员工类型部门部门号部门名称(2)部门字段名数据类型主键描述Dept_IDVarchar(8)是部门号NameVarchar(20)否部门名称员工编号员工信息职称姓名籍贯出生年月性别婚姻状况参加工作时间间学历 (3)员工信息字段名数据类型主键描述Staff_IDVarchar(8)是

15、员工号NameVarchar(20)否员工姓名SexVarchar(4)否性别Birthdate否出生年月MarriageChar(4)否婚姻状况OrigoVarchar(20)否籍贯WorkTimedate否参加工作时间Dept_IDVarchar(8)否部门号JobVarchar(20)否职务号JobTitle Varchar(20)否职称号AcademicVarchar(10)否学历ProfessionVarchar(20)否专业Gra_SchoolVarchar(40)否毕业学校Gra_Timedate否毕业时间EnglishLevelVarchar(10)否英语等级unemploy_

16、IDVarchar(5)否是否离职员工编号婚姻状况 配偶姓名籍贯出生年月职务民族工作单位(4)婚姻状况字段名数据类型主键描述Staff_IDVarchar(8)是职工编号SpouseNameVarchar(20)否配偶姓名 Birth data否出生日期NationChar(4)否民族 Origo Varchar(20)否籍贯PhoneVarchar(15)否 WorkPlaceVarchar(20)否工作单位Job Varchar(20)否职务离职表编号号原因(5)离职表字段名数据类型主键描述unemploy_IDVarchar(5)是离职编号ReasonVarchar(8)否离职原因5 5

17、主要功能模块的设计主要功能模块的设计与实现与实现本章主要描述各功能模块的具体实现方法,并给出测试结果。5.15.1 企业人事管理的登录企业人事管理的登录 ActionActionpackage cn.mm.control.登陆;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.HashMap;import cn.mm.dao.登陆.UserInfo;import cn.mm.view.主界面.MainFrame;import cn.mm.view.登陆.LoginFra

18、me;public class LoginFrameListener implements ActionListener /* * 该监听器是用于登录窗口 */private LoginFrame login;HashMap data;public LoginFrameListener(LoginFrame login) this.login = login;public void actionPerformed(ActionEvent e) String btnName = e.getActionCommand();/ 按确定按钮或在密码框中输入回车键if (btnName.equals(退

19、出) login.dispose();if (btnName.equals(正式登录) | btnName.equals(密码) String name = login.getnameText().getText().trim();/ 输入的用户名String password = login.getwordText().getText().trim();/ 输入的密码/ 得到从数据库中取出的用户信息表 data = UserInfo.selectUserInfo();System.out.println(LoginFrameListener);System.out.println(data.

20、get(管理员标识0);System.out.println(data.get(密码0);System.out.println(data.get(类型0);System.out.println(data.get(当前状态0);if (name.equals() & !password.equals() login.getTishi().setText(请输入管理员名称!); else if (password.equals() & !name.equals() login.getTishi().setText(请输入密码!); else if (name.equals() & password

21、.equals() login.getTishi().setText(请输入管理员名称和密码!); else / 用户验证int count = data.size();for (int i = 0; i count; i+) String userName = (String) data.get(管理员标识 + i);String userPassword = (String) data.get(密码 + i);if (name.equals(userName) & password.equals(userPassword) / 判断状态是否可用if (!(data.get(当前状态+ i)

22、.equals(在职) | !(data.get(类型 + i).equals(4)login.getTishi().setText(当前用户不可用);break;else / 验证成功的情况login.dispose();/ 登陆窗口消失,出现主界面new MainFrame(null,企业人事管理系统,false); else login.getTishi().setText(用户名或密码错误,请核对后再登录);public HashMap getData() return data;public void setData(HashMap data) this.data = data;5.

23、25.2 员工信息的表员工信息的表 ModelModelpackage cn.mm.model.人员管理;import java.util.Vector;import javax.swing.table.DefaultTableModel;public class MyTableModel extends DefaultTableModel public MyTableModel() / TODO Auto-generated constructor stub public MyTableModel(int rowCount, int columnCount) super(rowCount,

24、columnCount); / TODO Auto-generated constructor stub public MyTableModel(Vector columnNames, int rowCount) super(columnNames, rowCount); / TODO Auto-generated constructor stub public MyTableModel(Object columnNames, int rowCount) super(columnNames, rowCount); / TODO Auto-generated constructor stub p

25、ublic MyTableModel(Vector data, Vector columnNames) super(data, columnNames); / TODO Auto-generated constructor stub public MyTableModel(Object data, Object columnNames) super(data, columnNames); / TODO Auto-generated constructor stub /*不能编辑单元格*/ public boolean isCellEditable(int row, int column) re

26、turn false; 5.35.3 企业人事管理系统插入员工信息企业人事管理系统插入员工信息 DaoDaopackage cn.mm.dao.人事综合查询;import java.util.Map;import java.util.TreeMap;import cn.mm.vo.人事综合查询.EmployeeVO;/* * 向数据库表中插入数据 */public class InsertTOTable private EmployeeVO dvo;public InsertTOTable(EmployeeVO dvo)this.dvo=dvo;/* * 将界面数据保存到 map 中,再将 m

27、ap 对象传到 JDBC 层,将值插入数据库表中 * * 用于插入数据 * */public void saveMap()/创建 MapMap map=new TreeMap();String sno=null;String name = dvo.getName();try catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();System.out.println(sno);String sex = dvo.getSex();String nation = dvo.getNation();String

28、remark = dvo.getRemark();/把数据存入到 map 中map.put(sno, sno);map.put(NAME, name);/向数据库的 GOODS 表插入数据new DBManager().doInsert(studentinfo,map);/* * 从数据库中删除一条记录 */public void delmap() /创建 MapMap map=new TreeMap();/String sno = dvo.getSno();/map.put(sno, sno);new DBManager().doDel(studentinfo,map);/* * 从数据库中

29、修改一条 */public void updateMap() /创建 MapMap map=new TreeMap();String name = dvo.getName();String sex = dvo.getSex();String nation = dvo.getNation();/向数据库的 GOODS 表更新数据new DBManager().doUpdate(studentinfo,map);5.45.4 数据库设计数据库设计/*=*/* DBMS name: Sybase SQL Anywhere 11 */* Created on: 2011-5-28 14:29:56 *

30、/*=*/*=*/* Table: Department -Dept_ID 部门编号-Name 部门名称 /*=*/create table Department ( Dept_ID Varchar(8) not null, Name Varchar(20) null, constraint PK_DEPARTMENT primary key (Dept_ID);DELETE FROM Department WHERE Dept_ID = 00004; insert into Department values(00001,开发部);insert into Department values(

31、00002,市场部);insert into Department values(00003,财务部);insert into Department values(00004,销售部);insert into Department values(00005,人力资源部);/*=*/* Table: Marriage -Staff_ID 员工编号-SpouseName 配偶姓名-Birth 出生年月-Nation 民族-Origo 籍贯-Phone -WorkPlace 工作单位-Job 职务 /*=*/create table Marriage ( Staff_ID Varchar(8) no

32、t null, SpouseName Varchar(20) null, Birth date null, Nation Varchar(4) null, Origo Varchar(20) null, Phone Varchar(15) null, WorkPlace Varchar(20) null, Job Varchar(20) null, constraint PK_MARRIAGE primary key (Staff_ID);insert into Marriage values(180505,周霞,TO_DATE(1988-07-11,YYYY-MM-DD), 汉族,湖南益阳,

33苹果公司,系统测试员);insert into Marriage values(180541,马萌,TO_DATE(1986-05-11,YYYY-MM-DD), 汉族,北京市金山公司,管理员);/*=*/* Table: StaffType -Staff_ID 员工编号-Type 员工类型 /*=*/create table StaffType ( Staff_ID Varchar(8) not null, Type Varchar(10) null, constraint PK_STAFFTYPE primary key (Staff_ID

34、);insert into StaffType values(180541,管理职员);insert into StaffType values(180501,普通职员);/*=*/* Table: Staff_info -Staff_ID 员工编号-Name 员工姓名-Sex 性别-Birth 出生年月-Marriage 婚姻状况-Origo 籍贯-WorkTime 参加工作时间-Dept_ID 部门-Job 职务-JobTitle 职称-Academic 学历-Profession 专业-Gra_School 毕业学校-Gra_Time 毕业时间-EnglishLevel 英语级别 -un

35、employ_ID 离职编号 /*=*/create table Staff_info ( Staff_ID Varchar(8) not null, Name Varchar(20) null, Sex Varchar(4) null, Birth date null, Marriage Varchar(4) null, Origo Varchar(20) null, WorkTime date null, Dept_ID Varchar(8) null, Job Varchar(20) null, JobTitle Varchar(20) null, Academic Varchar(10

36、) null, Profession Varchar(20) null, Gra_School Varchar(40) null, Gra_Time date null, EnglishLevel Varchar(10) null, unemploy_ID varchar(5) null, constraint PK_STAFF_INFO primary key (Staff_ID);drop table Staff_info;DELETE FROM Staff_info WHERE Staff_ID = 180530; insert into Staff_info values(180501

37、,易倩,女,TO_DATE(1989-11-29,YYYY-MM-DD), 未婚,湖南常德,TO_DATE(2008-09-01,YYYY-MM-DD),00003, 会计,组长,本科,会计,湖南大学,TO_DATE(2006-06-01,YYYY-MM-DD),6 级,NULL);insert into Staff_info values(180505,李立,男,TO_DATE(1988-10-05,YYYY-MM-DD), 已婚,湖南岳阳,TO_DATE(2008-09-01,YYYY-MM-DD),00001, 网络管理员,部长,本科,计算机,湖南师范大学,TO_DATE(2006-06

38、-01,YYYY-MM-DD),4 级,11111);insert into Staff_info values(180530,白艳,男,TO_DATE(1989-04-25,YYYY-MM-DD), 未婚,湖南岳阳,TO_DATE(2008-09-01,YYYY-MM-DD),00001, 网络管理员,经理,本科,计算机,湖南师范大学,TO_DATE(2006-06-01,YYYY-MM-DD),4 级,NULL);insert into Staff_info values(180541,肖杨,女,TO_DATE(1989-11-25,YYYY-MM-DD), 已婚,湖南岳阳,TO_DATE

39、(2008-09-01,YYYY-MM-DD),00005, 指导教师,部长,本科,经济管理学,清华大学,TO_DATE(2006-06-01,YYYY-MM-DD),6 级,44444); /*=*/* Table: Unemployment -unemploy_ID 离职编号-Reason 离职原因 /*=*/create table Unemployment ( unemploy_ID varchar(5) not null, Reason varchar(8) null, constraint PK_UNEMPLOYMENT primary key (unemploy_ID);inse

40、rt into Unemployment values(11111,辞职);insert into Unemployment values(22222,解雇);insert into Unemployment values(33333,转出);insert into Unemployment values(44444,退休);alter table Marriage add constraint FK_MARRIAGE_REFERENCE_STAFF_IN foreign key (Staff_ID) references Staff_info (Staff_ID) on update restrict on delete restrict;alter table StaffType add constraint FK_STAFFTYP_REFERENCE_STAFF_IN foreign key (Staff_ID) references Staff_info (Staff_ID) on update res

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论