人事管理信息系统.docx
《人事管理信息系统.docx》由会员分享,可在线阅读,更多相关《人事管理信息系统.docx(37页珍藏版)》请在冰点文库上搜索。
人事管理信息系统
一、系统概况
1、现状分析
2、系统目标
3、系统目标
二、系统分析
1、业务事件分析
2、标识用例
3、编写基本用例叙述
4.为每个用例场景绘制系统时序图
5.域模型
6.系统操作约定
三、系统设计
1.整体系统结构设计
2.系统程序结构设计
3.设计用户界面
4.数据库设计
四、系统实现
附:
2005级《面向对象的系统分析与设计》课程设计报告
面向对象的系统分析与设计
人
事
管
理
系
统
指导教师:
刘永前老师
作者:
周洪亮(050360103)
黄晓芳(050360104)
胡忠义(050360121)
徐会(050360124)
人事管理系统
三、系统概况
1、现状分析
随着全球经济一体化的进程,人事管理日趋复杂,人力资源成为现代企业生存和发展的重要因素。
企业人事部门传统的档案手工管理繁琐,效率低下而且容易出错,已经无法适应现代企业日益庞大的人力资源现状。
同时,随着计算机技术的迅猛发展,办公自动化成为现实,利用计算机实现企业人事管理势在必行。
企业人事管理系统综合运用人事管理相关领域的只是、结合计算机技术,科学的管理企业的人事档案、考勤、绩效考核等信息,具有检索迅速、操作方便、存储量大、保密性高、成本低等特点,可以大大提高工作效率;同时引导企业按照科学的管理理念对人力资源进行规范化的管理。
2、系统目标
人事部门传统的手工管理主要包括人事档案管理,人员工作调动记录,员工考勤记录和统计,绩效考评级原始工资核算。
其中考勤管理对实时性要求较高,工资管理涉及到财务部门,且业务比较复杂。
本系统只是对人事管理系统的简单实现,主要实现员工基本信息、部门信息、培训信息、奖惩信息和薪资信息的管理。
3、系统目标
本系统采用面向对象的技术进行系统的分析与设计。
面向对象的技术将系统中涉及到的事件和属性封装成合理的类和对象。
UML(UnifiedModelingLanguage)是统一建模语言,它图形化的实现了面向对象的技术。
本系统使用在面向对象的系统分析与设计中,使用UML建模语言实现可视化中间过程。
严格按照Rational统一过程(RationalUnifiedProcess,RUP)中的建模过程。
建模工具。
四、系统分析
确定用户需求是信息系统分析的主要任务。
本部分将严格按照面向对象系统分析(OOA,Object-OrientalAnalysise)的六步骤:
(1)标识业务事件并制作事件表
(2)标识用例并生成系统用例图
(3)为每个业务事件的系统响应编写基本用例叙述
(4)为每个用例场景绘制系统时序图
(5)生成域模型,以表示系统问题域中的概念、属性和关联
(6)为每项系统操作编写约定
1、业务事件分析
首先叙述系统操作过程:
人事管理人员登录系统后,可以进行个人信息管理,包括修改密码和个人部门修改等。
当需要修改员工基本信息时,可以进入基本信息模块,在该模块中除了修改员工信息外,还可以进行添加、删除、查询等操作。
同样,可以对员工部门、培训、薪资等信息进行类似操作。
在每个星期一系统自动输出该星期员工培训计划,并将计划给领导及员工阅览。
通过上面的叙述,可以找到一下业务事件。
(1)人事管理人员登录系统。
外部事件。
在登录界面通过输入账户和密码,验证通过后进入主界面。
如果验证未通过,登录失败。
(2)人事管理人员管理员工基本信息。
外部事件。
人事管理人员在登录系统后,添加、删除、修改、查询员工基本信息。
(3)人事管理人员管理员工培训信息。
外部事件。
人事管理人员登录系统后,添加、删除、修改员工培训信息。
(4)人事管理人员管理员工奖惩信息。
外部事件。
人事管理人员登录系统后,添加、删除、修改员工奖惩信息。
(5)人事管理人员管理员工薪资信息。
外部事件。
人事管理人员登录系统后,添加、删除、修改员工薪资信息。
(6)人事管理人员管理部门信息。
外部事件。
(7)人事管理人员查询员工信息。
外部事件。
人事管理人员可以按照姓名、部门等条件查找符合条件的员工,并返回员工列表。
(8)到了打印员工培训计划的时间了。
定时事件。
打印的培训计划给领导和员工。
图1所示的是人事管理系统的事件列表。
【图1】
事件编号
事件描述
系统输入
提供输入的参与者
系统输出
接收输入的参与者
1
人事管理人员登录系统
账户和密码
人事管理人员
2
人事管理人员管理员工基本信息
员工姓名或基本信息
人事管理人员
员工信息列表
人事管理人员
3
人事管理人员管理员工培训信息
员工姓名、培训信息
人事管理人员
员工培训列表
人事管理人员
4
人事管理人员管理员工奖惩信息
员工姓名、奖惩信息
人事管理人员
员工奖惩列表
人事管理人员
5
人事管理人员管理员工薪资信息
员工姓名、薪资信息
人事管理人员
员工薪资列表
人事管理人员
6
人事管理人员管理部门信息
部门信息
人事管理人员
部门列表
人事管理人员
7
人事管理人员查询信息
员工姓名或部门
人事管理人员
员工或部门等列表
人事管理人员
8
到了打印员工培训计划的时间了
培训计划列表
人事管理人员、员工、领导。
9
修改个人密码
密码
人事管理人员
以上事件中,除了“到了打印员工培训计划的时间了”为定时事件,其他均为外部事件。
2、标识用例
标识用例从事件列表开始。
在事件列表中所列的每个业务事件均是一个用例。
用例图如图2
【图2】
可以看到,参与者主要包括人事管理专职、员工、领导。
其中在“打印培训计划”用例中,人事管理专职、员工和领导均为加入参与者,在其他用例总,人事管理专职均为发起参与者。
3、编写基本用例叙述
用例叙述是系统相应参与者操作所依据的内部操作顺序的叙事描述。
下面就对在第2步中发现的用例进行基本用例叙述。
(1)登录系统用例的扩张基本用例叙述:
用例:
登录系统
参与者:
人事管理专职
目的:
人事管理专职登录到人事管理系统,并进行一系列操作。
概述:
人事管理专职请求登录到系统,输入账户和密码,验证合格后登录到主界面。
类型:
基本
前提条件:
系统开放登录操作。
后置条件:
人事管理人员登录到系统
特殊需求:
系统必须在10秒内响应。
事件流
参与者操作
系统响应
1.当管理人员需要登录到系统时,用例开始。
2.管理人员提供自己的账户和密码3.系统验证账户和密码,登录到系统并显示主界面
候选事件流
1:
第2步输入了无效的账户和密码。
指示错误。
返回至步骤2
(2)人事管理人员管理员工基本信息:
用例:
管理员工基本信息
参与者:
人事管理专职
目的:
人事管理专职登录到人事管理系统,并进行添加、修改、删除等操作。
概述:
人事管理专职登录到人事管理系统,然后选择添加、修改、删除选项,打开相应界面并进行添加、修改、删除等操作。
类型:
基本
前提条件:
管理人员成功登录到系统
后置条件:
完成相应操作
特殊需求:
系统必须在10秒内响应。
事件流
参与者操作
系统响应
1.当管理人员需要编辑员工信息时,用例开始。
2.管理人员选择添加、修改、删除操作。
3.系统打开相应的界面
4.管理人员选择要编辑的员工,并输入信息,如5.系统提交修改的信息,返回操作结果。
员工姓名等信息。
候选事件流
1:
第4步输入了无效的信息。
指示错误。
返回至步骤4
管理部门信息、管理培训信息、管理奖惩信息、管理薪资的用例与以上用例类似,这里就不再累赘了。
(3)打印培训计划用例描述:
用例:
打印培训计划
参与者:
人事管理专职、员工、领导
目的:
在定时时间打印培训计划
概述:
每到星期一某时刻,系统自动打印培训计划,并由管理人员交与员工和领导。
类型:
基本
前提条件:
系统运作中
后置条件:
打印出培训计划
特殊需求:
系统必须在10秒内响应。
事件流
参与者操作
系统响应
1.当到星期一某时刻时,用例开始。
2.系统自动打印培训计划。
3.管理人与啊交与员工和领导。
候选事件流
1:
第2步打印出错或无打印纸,显示无效信息。
返回步骤2。
(4)管理人员修改个人密码:
用例:
管理人员修改个人密码
参与者:
人事管理专职
目的:
修改个人密码
概述:
选择修改密码操作,然后输入原有密码和新密码。
类型:
基本
前提条件:
系统运作中
后置条件:
密码修改成功
特殊需求:
系统必须在10秒内响应。
事件流
参与者操作
系统响应
1.当需要修改密码时,用例开始。
2.输入原有密码和新密码。
3.系统将确认原密码正确,然后更新密码,并返回正确信息。
候选事件流
1:
第2步输入的原密码有错误,显示错误信息。
返回步骤2。
4.为每个用例场景绘制系统时序图
时序图显示了参与者与使用用例场景的系统之间的交互。
管理员工信息等用例图均可由添加员工信息时序图、修改员工信息时序图、删除员工时序图表现。
(1)登录系统时序图:
操作介绍:
用户首先运行系统,首先由LoginDialog创建登录对话框LoginDialog,然后用户输入用户名和密码,系统确认成功后,查找Manager数据表中该用户所属权限,打开相应的主界面,即MainWindow。
(2)修改密码时序图:
操作介绍:
人事管理人员在MainWindow中选择修改密码操作,打开修改密码窗口(AmendPasswordDialog),输入密码,执行修改命令(AmendPassword()),系统从数据库中读出原密码,并设置为新密码,更新操作。
方法介绍:
(3)添加员工时序图:
操作介绍:
人事管理人员在MainWindow窗口中选择管理员工操作,然后在EmployeeManageDialog窗口添加用户,输入相应信息,提交给系统。
系统首先会查询数据库中是否有与之一致编号的员工,如果没有,则会生成一个新的员工(Employee),并将该新员工添加至数据库中。
并返回员工列表。
(4)删除员工时序图
操作介绍:
人事管理人员在MainWindow窗口中选择管理员工操作,然后在EmployeeManageDialog窗口查找员工,提交给系统。
用户选择删除员工,则会将员工从数据库中删掉。
(5)查询员工时序图
信息查询用例可以由员工信息查询时序图、部门信息查询时序图、培训信息查询时序图、奖惩信息查询时序图等完成。
在这里仅介绍查询员工的时序图。
其他时序图以此类似。
操作介绍:
人事管理人员在主窗口选择员工信息查询操作,打开EmployeeQuery窗口,在该窗口中输入查询条件(员工名或编号),提交给系统查询,最后返回符合条件的员工列表。
5.域模型
生成域模型是面向对象系统分析过程的第五步,域模型是一个问题域结构的静态模型,它建立的是现实世界中概念的模型。
域模型只包括属性,不包括行为。
它也不包括与实现用户界面相关的概念。
分析可知,系统的域模型主要涉及以下几个概念:
员工、人事管理人员、部门、奖惩、培训、薪资。
6.系统操作约定
系统操作约定就是为系统时序图中的操作创建操作约定,包括操作的职责、类型、异常、输出、前提条件及后置条件等。
(1)首先为管理人员登录系统的时序图的操作写操作约定:
Login(ID,Password)的系统操作约定:
约定
名称:
Login(ID,Password)
职责:
使用户登录到系统。
类型:
系统
异常:
用户名或密码不正确。
输出:
前提条件:
系统能够识别用户输入的信息。
后置条件:
无
FindManager(ID)的系统操作约定:
约定
名称:
FindManager(ID)
职责:
查找条件为ID的用户。
类型:
系统
异常:
不存在该ID
输出:
用户类型
前提条件:
系统能够识别用户输入的信息,且存在该ID
后置条件:
无
(2)添加员工的时序图的系统操作约定:
ManageEmployee()的系统操作约定:
约定
名称:
ManageEmployee()
职责:
管理员工信息,打开员工管理窗口。
类型:
系统
异常:
输出:
打开员工管理窗口。
前提条件:
用户成功登录到系统。
后置条件:
无
AddEmployee(id,name,depart)的系统操作约定:
约定
名称:
AddEmployee(id,name,depart)
职责:
添加某员工信息。
类型:
系统
异常:
员工信息有误
输出:
员工列表。
前提条件:
系统允许添加员工信息。
后置条件:
无
(3)删除员工信息中的DeleteEmployee(id)的系统操作约定:
约定
名称:
DeleteEmployee(id)
职责:
删除某员工信息。
类型:
系统
异常:
不存在该id的员工
输出:
前提条件:
系统允许用户删除员工信息。
后置条件:
无
其他的系统操作不在这里累赘了。
三、系统设计
系统设计可以看做是一种关于如何实现用户需求的决策序列。
需要进行的步骤有:
(1)设计整体系统结构
(2)涉及程序结构(交互图与类图)
(3)设计用户界面
(4)设计数据库
下面就一步步进行系统的设计。
1.整体系统结构设计
系统结构的设计将那些基本系统描述转换成了一种面向系统实现技术的描述。
,它定义了系统的高层划分,确定了主要组件之间的接口。
本系统设计的系统结构为双处理器系统,其中一个为人事管理系统应用处理器,主要完成各种应用的实现,这里将基本用例都分配给该处理器。
另一个为数据库处理器,即将整个数据库分配给一个专用的数据库处理器。
这样就把应用和数据处理严格的划分开。
2.系统程序结构设计
系统程序结构设计包括交互图设计和类图设计。
交互图描述了程序中对象或类之间的消息。
他表示对象间的协作。
在UML中有两类交互图:
顺序图和协作图。
两种图都表示了对象或类间的消息。
顺序图中表示参与者与系统之间的交互成为系统顺序图,也就是我们在系统分析中绘画的系统时序图(SystemSequenceDiagrams)。
另外,表示系统内各对象的交互的顺序图成为设计顺序图(DesignSequenceDiagrams)。
在分析阶段画的时序图已经较详细的表示了系统内各对象的信息交互。
下面是用协作图表示的参与交互的对象或类之间的消息。
下面生成表示交互图中操作的设计类图。
3.设计用户界面
秉承方便实用的原则,将该系统界面按一下原则设计:
(1)菜单选择,在主界面上方有一行菜单。
(2)工具栏。
主窗口左侧有一行图标工具栏。
(3)下拉表单的设计。
即在表单中,设置些下拉框,极其便利的输入相关信息。
下图是设计好的图形界面。
其主界面如图3.3.2,菜单及工具栏可以看到
图3.3.1登录界面
图3.3.2
图3.3.3
图3.3.4是员工基本信息管理
在如图3.3.4员工基本信息管理窗口中,部门、性别、婚姻状况、政治面貌、学历及状态均使用下拉列表框,方便用户管理。
图3.3.5基本信息查询
4.数据库设计
根据需求分析以及可以识别以下实体:
员工信息、培训信息、奖惩信息、部门信息、薪资信息、管理员信息等实体。
他们的属性及之间的关联见下面的概念数据模型。
以下是PowerDesigner绘制的数据库的概念数据模型。
(1)E-R图
(2)数据字典
根据数据库E-R图分析,分为6张表,TableList及TableColumnsList见下表。
TableList:
名称
代码
DepartmentInformation
DepartmentInformation
EmployeeInformation
EmployeeInformation
EncouragementPunishInformation
EncouragementPunishInformation
TrainInformation
TrainInformation
UserInformation
UserInformation
WageInformation
WageInformation
Tablecolumnslist
1.DepartmentInformatioin表列清单:
名字
代码
数据类型
备注
D_Number
D_Number
int
pk(PrimaryKey)
D_Name
D_Name
varchar(20)
D_Count
D_Count
int
2.EmployeeInformation表列清单:
名字
代码
数据类型
备注
E_Number
E_Number
int
pk
D_Number
D_Number
int
fk
E_Name
E_Name
Varchar(30)
E_Sex
E_Sex
Varchar(20)
E_BornDate
E_BornDate
Datetime
E_Marriage
E_Marriage
Varchar(4)
E_PoliticsVisage
E_PoliticsVisage
Varchar(20)
E_SchoolAge
E_SchoolAge
Varchar(20)
E_EnterDate
E_EnterDate
Datetime
E_InDueFormDate
E_InDueFormDate
datetime
E_Department
E_Department
varchar(20)
E_Headship
E_Headship
varchar(20)
E_Estate
E_Estate
datetime
E_Remark
E_Remark
varchar(500)
3.EncouragementPunishInformation表列清单:
名字
代码
数据类型
备注
E_Number
E_Number
int
pk,fk
EP_Number
EP_Number
int
pk
EP_Name
EP_Name
varchar(30)
EP_Date
EP_Date
datetime
EP_Address
EP_Address
varchar(50)
EP_Causation
EP_Causation
varchar(200)
EP_Remark
EP_Remark
varchar(500)
4.TrainInformation表列清单:
名字
代码
数据类型
备注
E_Number
E_Number
int
pk,fk
T_Number
T_Number
int
pk
T_Content
T_Content
varchar(100)
T_Name
T_Name
varchar(20)
T_Date
T_Date
datetime
T_Money
T_Money
float
5.UserInformation表列清单:
名字
代码
数据类型
备注
User_ID
User_ID
varchar(20)
pk
User_Name
User_Name
varchar(20)
Password
Password
varchar(20)
Popedom
Popedom
varchar(20)
6.WageInformation表列清单:
名字
代码
数据类型
备注
E_Number
E_Number
int
pk,fk
W_Number
W_Number
int
pk
W_Name
W_Name
varchar(30)
W_date
W_date
datetime
W_BasicWage
W_BasicWage
money
W_Boon
W_Boon
money
W_Bonus
W_Bonus
money
W_FactWage
W_FactWage
money
四、系统实现
根据前面的分析与设计,使用以下开发平台组合,部分完成了系统的实现。
系统:
Windows;
语言:
Java;
数据库:
SQLServer2000;
平台:
MyEclipse。
系统的截图已经在第三部分的界面设计中展现出来,以下是部分关键代码。
其中,窗口布局实现部分就不在贴出,仅贴出部分窗口中的功能实现代码。
详细代码见软件包。
////Database.java数据库类,实现数据库的连接与操作。
packageclasssource;
importjava.sql.*;
publicclassDatabase{
publicstaticConnectioncn;
publicstaticStatementst;
publicstaticResultSetrs;
publicstaticbooleanjoinDB(){
booleanjoinFlag;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
cn=DriverManager.getConnection("jdbc:
odbc:
EmployeeInformationMS","sa","");cn.setCatalog("EmployeeInformationMS");
st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
joinFlag=true;
returnjoinFlag;
}catch(SQLExceptionsqlEx){
System.out.println(sqlEx.getMessage());
joinFlag=false;
returnjoinFlag;
}catch(ClassNotFoundExceptionnotfoundEX){
System.out.println(notfoundEX.getMessage());
joinFlag=false;
returnjoinFlag;
}
}
publicstaticbooleanexecuteSQL(StringsqlString){
booleanexecuteFlag;
try{
st.execute(sqlStrin