参考论文.docx
《参考论文.docx》由会员分享,可在线阅读,更多相关《参考论文.docx(22页珍藏版)》请在冰点文库上搜索。
参考论文
企业人事管理系统
【摘 要】人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治、经济、军事、文化等领域产生越来越深刻。
企业人事管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要。
本论文叙述到的企业人事管理系统是用iis+asp网页编程+access数据库+sql查询语言实现的。
重点介绍了企业人事管理系统的实现过程:
包括系统分析、系统调查、功能设计、数据库设计、系统实现、系统测试和调试等。
本系统由系统管理员模块、人事部管理员模块和企业领导模块组成,包括功能需求描述、数据库设计、详细设计等内容。
【关键字】asp企业人事管理模块access
目 录
1 绪论
1.1问题定义及内容简介……………………………………………………2
1. 2研究背景与研究意义…………………………………………2
1.3论文各章内容简介…………………………………………3
2 系统需求分析……………………………………………3
2.1 系统功能需求分析……………………………………………………3
2.2 数据字典………………………………………4
3 系统设计………………………………5
3.1 系统总体系结构设计…………………………………5
3.2 系统数据模型设计……………………………………6
3.3 系统开发与运行环境确定………………………………11
4 4.1各个主要模块设计………………………………………………11
4.1.1 各子系统(模块)体系结构设计…………………………11
4.1.2 本模块各子模块功能、接口、界面………………………11
4.1.3 模块详细设计………………………………………12
4.2 用户使用手册………………………………………13
4.2.1 系统功能简介、运行环境简介…………………………13
4.2.2 系统运行与操作指南…………………………………17
4.3 系统评价…………………………………………17
4.3.1 系统主要功能、特点介绍………………………………17
4.3.2 系统存在不足与改进方案………………………………18
4.3.3 毕业设计心得与收获…………………………………18
结论…………………………………………………………………………20
致谢…………………………………………………………………………21
参考文献………………………………………………………………………22
附录a …………………………………………………………………23
1 绪论
1.1 问题定义及内容简介
本系统是企业人事管理系统,它主要实现了系统管理员密码修改功能,系统日志功能给系统管理员提供了所有使用该系统的用户的各项基本资料,更好的保证了系统的安全,建立人事部管理员,授权、删除,建立企业部门资料和建立公司部门领导资料,并进行删除维护等操作;实现了人事部管理员密码修改功能,对公司员工资料的管理,根据各自的权限可以进行包括员工的姓名、性别、年龄、部门、学历、简历等资料的添加、删除、修改、查询等功能;实现了公司领导、部门领导登陆系统,列表查看公司员工资料,进行姓名模糊搜索,以性别、部门、年龄段为搜索条件进行搜索,以年龄排序显示的功能,系统默认是按照系统id排序显示。
最后得提供一下如何使用这个系统,如何解决用户可能会遇到的问题以及这个系统中的难点和开发技巧等等。
系统由3个基本模块组成,分别是系统管理员模块、人事部管理员模块和企业领导模块。
1.2 研究背景与研究意义
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事档案的管理势在必行。
当前企业信息管理系统正在从c/s结构向b/s结构转移。
企业人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。
企业人事管理系统可以用于支持企业完成企业人事管理工作,有如下4个方面的目标。
1 支持企业实现规范化的管理。
2 支持系统管理员对整个系统的维护。
3 支持企业高效率完成人事管理的日常业务,包括新员工加入时人事档案的建立,编辑等。
4 支持企业领导进行人事管理及其相关方面的科学决策,如企业领导根据现有的员工数目决定招聘的人数等。
1. 3论文各章内容介绍
第一章绪论里主要介绍了问题定义和内容简介,以及研究背景与研究意义,第二章主要介绍了系统功能需求分析数据字典,第三章主要介绍了系统设计,包括系统总体系结构设计、系统数据模型设计以及系统开发与运行环境确定。
第四章主要介绍了各子系统体系结构设计,包括本模块各子模块功能、接口、界面设计和遇到的主要问题及解决方案,还介绍了用户使用手册,包括系统功能简介、运行环境简介,系统运行与操作指南,还介绍了系统评价,包括系统主要功能、特点介绍,系统存在不足与改进方案以及毕业设计心得与收获。
2.系统需求分析
2.1系统功能需求分析
该系统需要完成如下功能:
1系统管理员密码维护功能;
2系统日志维护功能,包括用户使用系统的进入帐号、检测结果、机器ip地址、使用时间等等信息,有效维护系统安全性;
3系统管理员对企业部门信息的维护功能;
4系统管理员对普通管理员的资料维护功能,包括普通管理员的帐号、密码、权限等资料;
5系统管理员对企业领导资料的维护功能,包括领导的姓名、帐号、密码、部门、职位、所属级别等资料;
6普通管理员的密码维护功能;
7普通管理员对员工各种信息的输入,包括员工的姓名、性别、年龄、部门、学历、个人简历等资料的维护。
8部门领导可以使用系统查询本部门员工的资料,可以进行姓名模糊搜索、性别、年龄段等方式搜索,支持按照年龄方式排序;
9公司领导可以使用系统查询公司员工的资料,可以进行姓名模糊搜索、性别、部门、年龄段等方式搜索,支持按照年龄方式排序;
2.2 数据字典
数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果。
数据字典通常包括以下5个部分:
2 数据项。
数据项是不可再分的数据单位。
3 数据结构。
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干数据项和数据结构混合组成。
4 数据流。
数据流是数据结构在系统内传输的路径。
5 数据存储。
数据存储是数据及其结构停留或保存的地方,也是数据流的来源和去向之一。
6 处理过程。
处理过程的具体处理逻辑一般用判定表或判定树来描述。
数据字典是关于数据库中数据的描述,即对元数据的描述。
数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。
18 系统设计
3.1系统总体系结构设计
本系统由超级管理员子模块、普通管理员子模块和领导子模块组成。
系统使用了统一的登陆界面,很好的实现了系统的一致性。
系统还采用了windows系统的精灵动画技术,提高了系统的人性化,如图所示:
系统的后台操作界面也采用了相同的结构,仿照windows操作系统的资源管理器结构,左边菜单右边具体内容的方式实现,这样提高了系统的可操作性和使用简便性。
界面如图所示:
系统使用session变量维护系统的安全性,session变量有效生命周期采用系统默认,这样可以有效防止系统忘记关闭带来的安全问题;同时系统对sql注入攻击等都采取了相应的措施防范。
进入系统以后,系统由专门的文件检测系统的session变量是否有效,提高了系统的安全性。
本系统开发设计思想有以下几点。
11 尽量采用现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用的目的。
12 系统应符合一般企业人事管理的规定,满足企业日常人事管理工作需要,并达到操作过程中的直观、方便、实用、安全等要求。
13 系统采用b/s体系结构,服务器支持系统运行,客户端只需要能够上网既可以方便的使用本系统,运行成本小,使用方便快捷。
系统分析等前期工作应尽量详细完善,以便企业以后体系结构改变后,系统可以方便的升级。
14 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
15 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
3.2系统数据模型设计
针对本系统,通过员工人事管理内容和过程分析,设计的数据项和数据结构如下:
11 公司部门信息。
包括的数据项有系统id、部门名称、部门负责人。
12 员工信息。
包括的数据项有系统id、员工姓名、员工性别、员工年龄、员工部门、员工学历、员工简历、添加时间。
13 公司领导信息。
包括的数据项有系统id、领导姓名、领导登陆帐号、领导登陆密码、领导所属部门、领导工作职位、领导系统权限、领导类别、添加时间。
14 系统日志信息。
包括的数据项有系统id、登陆帐号、登陆机器ip、登陆结果、登陆类型、登陆时间。
15 管理员信息。
包括的数据项有系统id、管理员帐号、管理员密码、管理员权限、管理员类型。
3.3 系统开发与运行环境确定
系统采用了aspvbscript+access2000开发,使用的开发软件包括网页三件客用于编码,设计页面界面代码和功能代码,adobephotoshopcs用于系统界面美工的处理,整个界面风格采用了当前流行的xp模式的水晶透明效果,涉及到的还有javascript语言和html语言。
系统运行环境需要iis的支持,推荐使用iis5.0以上版本。
推荐的操作系统是windows2000server和windows2003server作为服务器。
系统安全性配置注意允许运行文件的类型的限制,自定义系统错误页面。
4 4.1超级管理员模块设计
4.1.1子系统(模块)体系结构设计
本模块由系统管理模块、普通管理员模块和领导管理模块组成。
系统管理模块包括密码维护、系统日志维护、企业部门资料维护和退出系统,普通管理员模块包括普通管理员资料列表、资料删除、资料查询和资料添加,领导管理模块包括领导资料列表、资料删除、资料查询和资料添加。
图
4.1.2 本模块各子模块功能、接口、界面
密码维护实现了超级管理员的密码的更新功能,在设定新密码的同时需要输入旧密码,这样提高了超级管理员密码的安全性,防止因为疏忽忘记关闭系统导致密码的丢失;界面如图所示:
系统日志功能,给管理员提供了监测系统使用情况的原始数据。
日志记录了使用系统的用户的帐号、机器ip地址、登陆结果、使用时间等,这样可以有效的监控系统的运行情况。
界面如图所示:
部门管理功能,是系统初始化数据的一个部分,设定企业部门数据提供给普通管理员录入员工数据信息和领导按照部门查询资料使用。
部门管理包括部门列表和添加部门两个部分,界面如图:
领导资料管理功能,包括领导资料列表、查询、删除、添加几个功能。
界面如图所示:
管理员模块,主要实现了普通管理员的资料列表、查询、删除、添加功能。
界面如图所示:
4.1.3各个子模块详细设计
密码维护模块:
密码维护主要实现密码的更换,加入了旧密码验证和非法字符过滤功能。
页面调用统一的安全检测文件security.asp,功能处理使用统一的dealdata.asp。
密码更换代码分析:
case"modifypws" "管理员修改密码
info=""
iflen(trim(request.form("oldpws")))=0orlen(trim(request.form("newpws")))=0orlen(trim(request.form("confirmpws")))=0then
info=info+"\n密码不能为空!
"
endif
iftrim(request.form("newpws"))<>trim(request.form("confirmpws"))then
info=info+"\n密码不一致!
"
endif
iflen(info)=0then
setrs=server.createobject("adodb.recordset") ‘数据库连接
sql="select*from[rsgl_userinfo]whereuser_loginlike"administrator"anduser_pwslike""&trim(request.form("oldpws"))&"""
rs.opensql,conn,1,3
ifrs.recordcount=1then ‘旧密码检测
conn.execute("update[rsgl_userinfo]setuser_pws=""&trim(request.form("newpws"))&""whereuser_loginlike"administrator"")
conn.close ‘旧密码正确,写入新密码
response.redirect("modifypws.asp")
else
response.write("")
endif
rs.close
setrs=nothing
else
response.write("")
endif
超级管理员模块的功能代码都在dealdata.asp里边实现,所以编程使用了select选择结构,分别对密码为空、新密码和验证密码不一致、旧密码错误几种情况进行了判断,系统提示采用了统一的变量info来存储,有利于程序代码的结构化和统一性。
系统日志主要由日志列表显示和日志删除组成。
列表显示组要涉及了代码分页和搜索情况下的代码分页的一致性这两个问题。
代码分析如下:
action=trim(request("key")) ‘搜索条件关键字
setrs=server.createobject("adodb.recordset")
sql="select*fromrsgl_systemlogwherelogin_namelike"%"&action&"%"orderbyiddesc" ‘采用模糊查询
rs.opensql,conn,1,3
ifrs.recordcount=0then
else
ifnotrs.boforrs.eofthen
rs.pagesize=10"每页记录条数
page_num=rs.pagesize"每页记录条数
result_num=rs.recordcount"记录总数
maxpage=rs.pagecount
page=request("page")
ifnotisnumeric(page)orpage=""then
page=1
else
page=cint(page)
endif
ifpage<1then
page=1
elseifpage>maxpagethen
page=maxpage
endif
rs.absolutepage=page
else
result_num=0
maxpage=0
page=0
endif
fori=1tors.pagesize
%>
‘循环显示的内容
<%
rs.movenext
ifrs.eofthen ‘数据调用完毕,退出循环
exitfor
endif
next
rs.close ‘关闭释放资源
setrs=nothing
endif
%>
<%calllastnextpage(maxpage,page,result_num)%>‘分页代码模块,在公用文件conn.asp数据库连接文件中,后边分析
在数据库操作中释放资源很重要,因为b/s结构压力集中在服务器,如果服务器资源不能很好的分配利用,导致服务器压力承受性下降,最终导致服务器崩溃。
日志删除程序模块,代码如下:
subdelete_log
pageaction=trim(request.querystring("pageaction")) ‘从路径获取删除关键字
ifpageaction="destroy_log"then ‘删除成立,获取id删除对应的数据
setrs=server.createobject("adodb.recordset")
conn.execute("delete*fromrsgl_systemlogwhereid="&cint(request.querystring("id")))
setrs=nothing
response.write("")
endif
endsub
删除模块主要是从url路径获取删除删除标志和待删除数据的id,条件满足就执行删除操作,删除成功给一个提示后返回页面。
领导列表页面代码和日志列表关键代码,以及数据删除代码大同小异,就不再分析。
领导数据添加页面,页面上创新的地方就是当添加公司、部门领导时,可以很据选择决定是否屏蔽部门的选择项,实现这个效果主要使用了html的表单元素的属性display以及函数onblur()和onfouce()。
数据存储代码分析:
case"addleader""添加领导
info=""
iflen(trim(request.form("name")))=0orlen(trim(request.form("login")))=0orlen(trim(request.form("job")))=0then
info=info+"\n请输入各项资料!
"
endif
iflen(info)=0then
iftrim(request.form("type"))=2then
depart="公司领导"
else
depart=request.form("depart")
endif
conn.execute("insertinto[rsgl_leaderinfo](leader_name,leader_login,leader_pws,leader_depart,leader_job,leader_power,leader_type,addtime)values(""&trim(request.form("name"))&"",""&trim(request.form("login"))&"",""&trim(request.form("pws"))&"",""&depart&"",""&trim(request.form("job"))&"","*",""&trim(request.form("type"))&"",""&now&"")")
conn.close
response.redirect("leaderlist.asp")
else
response.write("")
endif
首先进行数据完整性判断,然后根据领导类型给领导部门赋值,然后检测是否符合写入条件,符合则写入数据;否则报错,返回页面。
企业部门管理,包括部门列表、查询和删除、添加几个功能。
列表显示代码、查询代码、删除代码都变化不大,这里不分析。
添加代码如下:
case"adddepart""添加部门
info=""
iflen(trim(request.form("name")))=0orlen(trim(request.form("pepole")))=0then
info=info+"\n请输入部门、部门负责人!
"
endif
iflen(info)=0then
conn.execute("insertinto[rsgl_departinfo](depart_name,depart_manager)values(""&trim(request.form("name"))&"",""&trim(request.form("pepole"))&"")")
conn.close
response.redirect("departlist.asp")
else
response.write("")
endif