Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。
Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java语言的一个非常重要的特点就是与平台的无关性。
而使用Java虚拟机是实现这一特点的关键。
一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。
而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。
Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
1.1.2.数据库:
oracle10g
OracleDatabase,又名OracleRDBMS,或简称Oracle。
是甲骨文公司的一款关系数据库管理系统。
到目前仍在数据库市场上占有主要份额。
ORACLE是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。
是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。
具有可用性强、可扩展性强、数据安全性强、稳定性强等特点。
1.1.3.Myeclipse6.5
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
1.JavaEE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.JavaEE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。
MyEclipse6.0以后版本安装时不需安装Eclipse。
1.1.4.Photoshopcs4
Photoshop是Adobe公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件,深受广大平面设计人员和电脑美术爱好者的喜爱。
1.1.5.Dreamweavercs4
DreamweaverCS4的界面几乎是做了一次脱胎换骨的改进,从中看到了更多的设计元素,让DW也稍稍带着点苹果的味道。
布局按钮:
这个按钮似乎和下方的代码、分割、设计按钮功能重复,目前还不明白DW的意图,唯一增加的新功能是垂直分割,让代码和设计界面以垂直对比的方式呈现。
精简设计:
它提供了更多的可视区域,同时可以把右边的菜单收缩到只剩下图标。
对于习惯了Adobe其他设计软件的朋友来说,这的确是非常贴心的设计。
应用程序开发增强:
左上方是和数据相关的面板,包括数据库面板、数据绑定面板和行为面板;左下方则是文件与资源相关的面板,包括文件面板、相关资源面板、代码收集器等;右边则是设计相关面板,包括插入面板、CSS样式表面板、AP元素面板(用来为浮动层定位)。
应该说这是一个万金油布局,几乎适用所有的开发者,同时,它也把大部分菜单展示在用户面前,其他的七种布局可以说只是在这个基础上进行一些排列和隐藏。
在下方的文档面板上,DW新增加了一个实时预览功能——LiveView。
它的作用是在DW窗口中实时查看代码的效果,包括Javascript特效,系统总体分析与设计。
1.2.需求分析
首先用户成功登录网站后,主要进行岗位员工基础信息管理、指标体系管理、考核管理、综合查询和统计分析的操作。
其工作流程图的结构,如图1所示:
图1-2系统层次结构图
1.3.总体分析
这部分对人力资源绩效考核网站做进一步的功能分析和总体结构设计,主要分为对系统总流程图和系统总数据流图的分析,以及相关的一些功能流程图。
基础信息管理模块:
用户进入网站后,网页会自动加载相关的信息,展现整个网页,点击“LOGIN”按钮进入登录界面,成功后,自动跳转到界面首页。
登录流程图(图5所示)
图1-6 绩效考核奖金计算业务流程图
计算员工奖金的时候,首先系统会获取考核的方案然后得到考核打分,再与标准分值对比计算出员工奖金。
绩效考核奖金的数据流图,如图7所示。
图1-7 绩效考核奖金的数据流图
数据字典构建:
数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。
它主要是对数据流图中的数据流、处理逻辑、外部实体、数据存储和数据项等方面进行具体的定义。
数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
数据存储的描述:
数据存储编号:
F14
数据存储名称:
考核方案表
简 述:
存放公司考核方案的详细信息。
数据存储组成:
标识+方案编号+方案名称+描述+A点分%+B点分%+考核周期
数据存储编号:
F15
数据存储名称:
考核项目表
简 述:
存放公司考核项目的详细信息。
数据存储组成:
标识+标准编号+标准名称+答案A+答案B+答案C+答案D+答案E+考核项目+描述
数据存储编号:
F16
数据存储名称:
考核分数表
简 述:
存放公司员工的某次考核的单项成绩。
数据存储组成:
标识+被考核人标识+考核方案标识+考核标准标识+结果+考核人标识+备注+记录日期
数据存储编号:
F17
数据存储名称:
方案-标准表
简 述:
存放考核方案所对应的考核标准。
数据存储组成:
标识+考核方案标识+考核标准标识+标准分数+分数来源
数据存储编号:
F18
数据存储名称:
员工考核表
简 述:
存放员工在考核方案上的考核结果。
数据存储组成:
标识+方案-标准标识+考核日期+等级+总分+员工标识
数据处理:
编号:
P14
名称:
获取考核方案
描述:
读取考核方案表,获取考核方案。
输入/输出:
D16
编号:
P15
名称:
获取员工分数
描述:
根据考核方案,读取考核分数表,获取考核分数
输入/输出:
D16,D17
编号:
P16
名称:
获取考核标准
描述:
根据考核方案及分数,获取考核标准。
输入/输出:
D16
编号:
P17
名称:
计算总分
描述:
对所有当前考核方案及当前员工累计分进行汇总,得到总分
输入/输出:
D17,D18,D30
编号:
P18
名称:
等级评定
描述:
根据总分及考核方案的说明,评定员工等级
输入/输出:
D16,D30
1.4.数据库设计
数据库设计是在给定的DBMS、操作系统和硬件环境下,如何表达用户的需求,并将其转换为有效的数据库结构,构成较好的数据库模式,这个过程称为数据库设计。
数据库及其应用系统开发的全过程可分为两大阶段:
数据库系统的分析与设计阶段;数据库系统的实施、运行与维护阶段。
1.4.1.数据库设计概述
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体的说,数据库设计是一个给定的应用环境,构造最优的用户的应用需求(信息要求和处理要求)。
这个问题是我们在进行软件开发时期的主要研究方向。
数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。
由于信息结构复杂,应用环境多样,在相当长的一段时间内数据库设计主要采用手工试凑法。
使用这种方法与设计人员的经验和水平有直接的关系,数据库设计成为一种技艺而不是工程技术,缺乏科学理论和工程方法的支持,软件的质量难以保证,常常是数据库运行一段时间后又不同程度地发现了各种问题,增加了系统维护的代价。
十余年来,人们努力探索,提出了各种设计准则和规程,都属于规范设计法。
1.4.2.数据分析
数据分析过程同数据库的逻辑结构和物理结构密切相关,需要确定、编制、组织、筛选应用程序所使用的信息。
它以一种能够分析和分类的方式来捕获用户的所有信息,这使得某一模型可以直接转化成数据库结构。
我们使用一种信息建模技术,这种技术是通过实体、关系、属性三种基本对象来定义信息。
实体是需要维护和使用的相关特性的集合体;属性是实体的特性或特征;关系是实体之间的联系,关系为实体记录(实例)之间的联系和交互作用方式建立了模型。
要确定实体和关系的性质,用户必须确定单个实体和他们相关的属性。
为每个对象定义一个完整的与商业相关的描述以及他单独使用的要求,这也包括确定此实体是否使用应用程序的永久需求,每种关系的基本定义使用了商业定义和与关系相连接的需求。
在为实体确定相关的属性过程中,也需要确定此实体的主键和索引,并且要确定在每个实体中怎样组织这些属性,确定属性的数据类型和它是否为空值。
在高层次的描述过程中,还可以确定所有扩展属性信息,包括长度、格式、编辑风格、校验规则和初始值。
单独实体的属性被组织起来,用户就能够开始以某一种组织方式来给实体分类。
用户必须通过关系,来为实体分组的方式确定分类模式,这是抽象化的初始层,或者说是通过隐藏模糊的信息来提高对分析的理解,通过将数据分类成组,就产生了相关分组的不同类型,这样,更加易于观察和分析。
1.4.3.数据库的详细设计
在设计数据库时,应考虑以下事项:
1.数据库用途及该用途将如何影响设计,应创建符合用途的数据库计划。
2.数据库规范化规则,防止数据库设计中出现错误。
3.对数据完整性的保护。
4.数据库和用户权限的安全要求。
5.应用程序的性能需求,对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的。
数据库部分实体的E-R图,如图1-8所示。
图1-8 数据库E-R图
根据人力资源管理系统的实际情况,本系统的数据库命名为:
HRMS数据库,存储所有的数据信息及其储过程。
HRMS数据库中部分信息表如表1至8所示。
下面分别介绍这些表:
c.绩效考核信息表jx_accessvalue,记录了考核过程等基本信息。
如考核的标准分和考核时间,考核得分和考核结果等。
具体描述如表3所示:
表3jx_accessvalue
字段名称
描述
类型
关键字
能否为空
id
Id
number(18)
p
否
access_goal
考核标准分
number(18)
否
access_ny
考核年月
varchar2(10)
否
accessid
考核id
number(18)
否
access_attribute
考核性质
integer
否
access_score
考核得分
number(10,2)
否
access_result
考核结果
number(10,2)
否
memo
备注
varchar2(500)
access_flag
标记位
integer
d.考核体系信息表jx_assesssystem,记录了考核体系的基本信息。
考核体系的编号和类别名称等。
具体描述如表4所示:
表4jx_assesssystem
字段名称
描述
类型
关键字
能否为空
systemid
考核体系id
number(18)
p
否
system_code
考核体系编号
varchar2(200)
否
system_name
考核类别名称
varchar2(200)
否
isvalid
是否可用
integer
system_date
考核时间
date
否
memo
备注
varchar2(500)
system_oper
体系操作者
varchar2(100)
否
e.考核指标信息表jx_assesstarget,主要描述了考核指标在考核体系中的体现,包括给出考核的公式和计算所得值。
考核体系的编号和类别名称等。
具体描述如表5所示:
表5jx_assesstarget
字段名称
描述
类型
关键字
能否为空
accessid
考核指标id
number(18)
p
否
targetid
指标id
number(18)
否
systemid
体系id
number(18)
否
sortno
排序号
integer
否
standard_value
标准值
number(10,2)
否
formula
公式
varchar2(3000)
否
isvalid
是否可用
integer
memo
备注
varchar2(500)
calcute_no
计算值
integer
否
f.考核指标信息表jx_bonus,主要描述了考核指标在考核体系中的体现,包括给出考核的公式和计算所得值。
考核体系的编号和类别名称等。
具体描述如表6所示:
表6jx_bonus
字段名称
描述
类型
关键字
能否为空
id
奖金id
number(18)
p
否
employerid
员工id
number(18)
否
access_attribute
考核性质
number(18)
否
access_ny
考核年月
date
否
bonus_base
奖金基数
numric
否
posratio
奖金系数
numric
否
accessvalue
考核得分
number(10,2)
否
bonus
应得奖金
number(10,2)
否
bonus_actual
实际所得奖金
number(10,2)
否
flag
标记位
integer
memo
备注
varchar2(500)
g.指标类别信息表jx_target,主要包括指标名称和指标单元等信息。
具体描述如表7所示:
表7jx_target
字段名称
描述
类型
关键字
能否为空
targetid
指标id
number(18)
p
否
targettypeid
指标类别id
number(18)
否
targetcode
指标编号
varchar2(100)
否
targetname
指标名称
varchar2(200)
否
targetunit
指标单元
varchar2(200)
否
isvalid
是否可用
integer
memo
备注
varchar2(200)
h.指标列表信息表jx_targettype,主要记录了指标名称和指标类别编号等信息。
具体描述如表8所示:
表8jx_targettype
字段名称
描述
类型
关键字
能否为空
targettypeid
指标类别id
number(18)
p
否
targettypecode
指标类别编号
varchar2(100)
否
targettypename
指标类别名称
varchar2(200)
否
isvalid
是否可用
integer
memo
备注
varchar2(300)
2.系统功能与实现
2.1.建立数据连接
在MyEclipse中,在建立com.casit.czy.taglib包,并新建一个类DB.java在该包下,代码如下
java:
comp/env/HUMRES这句链接的是oracle数据库,其具体连接信息在tomcat/conf文件夹下面的Context.xml文件中。
在oracle中还要建立sp_getnewId获取唯一id,sp_getPagination分页,sp_Uniqued检测唯一性的存储过程。
2.2.系统功能与实现
首先用户进入人力资源系统,输入帐号和密码,登陆进入个人系统中心。
如果用户输入空帐号/空密码则会提醒用户“用户帐号/密码不能为空”,若用户密码输入错误,则会提醒密码输入错误,若正确,则跳转进入个人系统。
如图2-1所示:
图2-1登录界面
登录系统成功以后,则显示系统首页界面,左边设系统导航栏目,右边为系统功能展现区。
用户可在左边导航进行系统的设置,点击右上角的退出则退出系统。
如图2-2所示
图2-2系统首页导航
2.2.1.基础信息模块功能与实现
本模块主要实现功能有:
岗位分组、人员岗位维护、考核人员维护、指标类别定义与指标定义。
下面对每个子模块的实现进行逐一介绍。
1.岗位分组维护
岗位分组主要是用来管理考核人员所属的部门组名的建设,用户可进行修改和删除岗位组名称信息等操作。
具体如2-3所示:
图2-3岗位分组维护
2.人员岗位维护
人员岗位主要是用来管理考核人员的职位,用户可进行添加和修改、删除职位的操作。
如图2-4所示:
图2-4人员岗位维护
3.考核人员维护
该功能主要实现对考核人员信息的添加和删除。
先选定所要考核的人员的职位组,再点添加则可添加考核人员信息。
如选定前端职位,添加考核人员。
如图2-5所示:
图2-5考核人员维护
4.指标类别维护
指标类别主要是用来管理考核的指标,包括添加指标类别和删除指标类别项目。
如添加业绩指标、行为指标等考核的指标信息,具体可按照实际情况制定适宜的标准。
如图2-6所示:
图2-8考核体系制定
1.考核项目制定
考核项目主要实现对考核指标的导入,以备人员考核。
具体选定指标类别和
3.奖金计算
考核人员奖金与奖金系数和员工所在岗位系数有关。
当计算完考核人员的考
图2-14人员岗位查询
1.考核情况查询
该部分主要实现对考核人员的考核结果查询。
用户可以根据考核的时间选择考核人员以及考核的指标类别即可查询该人员的考核结果。
如选定李四与业绩指标,如图2-15所示:
图2-15考核情况查询
2.2.2.统计分析模块功能与实现
在统计分析里,主要实现了奖金统计分析和考核成绩统计分析。
情况如下:
1.奖金统计分析
用户选定了考核年月和考核部门、考核人员,就可以看到考核人员的考核情况,包括考核的成绩和考核的奖金金额。
并以柱状图显示数据结果,如图2-16所示:
图2-16奖金统计分析
2.考核成绩统计分析
用户根据年月区段,选择指标类别和考核对象,即可统计到该考核人员的所有该时间内的考核成绩。
如图2-17所示:
图2-17考核成绩统计分析
3.测试
3.1.测试与调试的基本概念
软件测试是整个系统开发过程中一个重要环节,是成功开发本系统的重要保证。
软件测试阶段的主要任务是发现并排除在分析、设计、编码各阶段中产生的各种类型的错误,以得到可使用的软件系统。
常用的软件测试方法有两大类:
静态测试方法和动态测试方法。
静态测试方法是程序远普遍采用的一种方法,其内容主要是通过人工模拟软件系统的执行方式,以代码会审、走查、办公室检查的形式分析或核查系统的功能实现、编码过程的正确性。
动态测试方法是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。
按照通常的软件系统测试,可以分别进行单元测试、集成测试、确认测试、系统测试,最后进行验收测试,