《人事管理系统软件设计综合实习报告大学论文.doc》由会员分享,可在线阅读,更多相关《人事管理系统软件设计综合实习报告大学论文.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 软 件 实 习 报 告实习课程名称: 软件设计综合实习 题 目: 人事管理系统 目 录1 设计目的和目标1.1背景介绍.31.2设计目的31.3设计目标32项目开发计划32.1主要参加人员32.2 产品3 2.2.1非移交产品.3 2.2.2服务.32.3验收标准.32.4完成项目的最迟日期.32.5工作任务的分解与分工.32.6进度.43可行性分析33.1经济可行性43.2运行可行性43.4功能可行性54 系统需求分析54.1项目概述54.1.1系统功能概述5 4.1.2运行环境.5 4.2系统功能需求5 4.2.1系统需要实现的功能.5 4.2.2系统功能图.6 4.2.3系统数据流图.
2、6 4.3系统数据需求7 4.3.1数据录入和处理的准确性和实时性.7 4.3.2数据的一致性与完整性.7 4.3.3数据的共享与独立性.7 4.4安全需求分析7 4.5出错需求分析75 概要设计85.1总体功能结构设计85.1.1 系统主要结构85.1.2系统开发环境及工具85.1.3JSP技术.85.2总体功能结构设计.95.3数据库设计.105.4各模块E-R图.11 5.4.1人事管理模块E-R图.12 5.4.2通知公告管理模块E-R图.12 5.4.3规章制度管理E-R图.136详细设计.126.1登录模块.12 6.1.1登录模块流程图12 6.1.2实现登录的主要代码及界面.1
3、36.2人事管理模块.15 6.2.1模块流程图.16 6.2.2实现模块的主要代码及界面.186.3通知公告模块24 6.3.1模块流程图.25 6.3.2实现模块的主要代码及界面.256.4规章制度模块.27 6.4.1模块流程图.28 6.4.2实现模块的主要代码及界面.287用户操作手册.327.1系统操作流程.337.2系统的启动.337.3系统管理员操作说明.33 7.3.1功能描述.33 7.3.2系统操作方法.348软件测试.378.1 测试计划.378.2 测试用例.378.2.1系统功能测试38 8.2.2 子模块测试388.3 测试评估.389设计心得.399.1实习内容
4、399.2实习心得.39致谢.39参考文献.401 设计目的和目标1.1背景介绍人事管理系统,是为了迎合现在人们的工作而设计的。随着网络的覆盖面增广,上网的人也就越来越多了,人事管理的对象是一个单位或若干单位的员工基本信息,这些信息是在变化的。人事管理系统能够为用户提供充足的信息和快捷的查询手段。使用计算机对人事资料进行管理,会给应用者带来很大方便,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,同时,这也是企业的科学化、正规化管理以及与世界先进管理技术接轨的重要条件。人事管理系统是现代企业管理工作不可缺少的一部分,是适应现代企业制
5、度要求、推动企业劳动人事管理走线科学化、规范化的必要条件。1.2设计目的随着计算机技术的飞速发展,计算机企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机能够支持企业高效率完成人事管理的日常事务,适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化;计算机管理的检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优点能够极大地提高人事管理的效率。1.3设计目标企业人事管理系统能够实现企业的信息化管理,完善管理制度、增强企业得竞争力。人事管理系统可以用于支持企业完成劳动人事管理工作,有如下三个目标:(1) 支持企业实现规范化管理。(2)
6、 支持企业高效率完成劳动人事管理的日常业务。(3) 支持企业进行劳动人事管理及相关方面的科学决策。2 项目开发计划2.1主要参加人员 本小组内成员杨芳、徐成娇、张彩玲。2.2产品首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,断修正和改进,直到形成可行系统。2.2.1非移交的产品需求规格说明书、概要设计说明书、详细设计说明书、源代码清单、系统测试计划和最终测试结果报告。2.2.2服务管理员:登录系统查询、修改、删除、增加信息2.3验收标准 1.测试用例不通过数的比例3%; 2.不存在错误等级为1或2的错误; 3.错误等级为3的错误数量=10;4.所有提交的错误都已得到更正。2
7、.4完成项目的最迟期限 2016年10月05日2.5工作任务的分解与人员分工 1.设计师(进行需求分析、架构设计和功能设计):张彩玲 2.开发人员(进行具体的编码工作和单元测试):杨芳 3.测试人员(根据计划和总体方案对产品进行系统测试):徐成娇2.6进度 时间任务第一周需求分析第二周系统概要设计和系统详细设计第三周编码与测试执行第四周系统维护 3 可行性分析我们要在实施一个项目之前做很多工作,首先要确定项目是否值得进行,因此要对即将实施的项目进行可行性分析。并不是所有发现的问题都可以用简单的办法来解决,事实上,许多问题不可能在预定的系统规模之内解决。如果问题得不到解决,那么这项工程是没有意义
8、的。 我们之所以进行系统的可行性分析的目的在于能否确定用最小的代价在短时间内把问题解决。可行性研究的目的就是要明确系统本身是否存在值得去解决的问题。系统想要实现可行性分析就不能依靠我们理想的那样,还要进行实实在在客观地分析才能完成我们的目标。所以就需要几种可行的方法来解决系统中存在的问题,才能判断原定的目标是否可以实现,判断设计系统在完成后产生的价值与投资价值比例。)我们首先应该给出系统设计的逻辑模型,然后从系统设计逻辑模型的角度出发,寻找解法,认真研究每一种解法的可行性。3.1经济可行性人事管理系统属于中小规模的MIS,所需的资源不多,开支不会很大,也不需要特殊设备的支持,需要的只是作为服务
9、器的计算机,还有作为开发平台的计算机就可以了。并且,在系统开发完成以后,由于人事管理的广泛性,可将系统扩展为通用的软件,增加其重要性,实现资源的最大利用率。这样降低了系统的经济开支,从而实现经济上的可行性。3.2运行可行性本系统的人机交互界面采用的是图形界面方式,众所周知,大家在日常使用的电脑系统都是Windows系统,因此经过简单的学习就可以掌握这套系统的操作方法,我们的目标就是实现资料的科学化管理,并且在运行时不会对组织机构和管理方式产生太大干扰。3.3功能可行性 公司内部的人事的管理,从大的方面分主要集中在公司职员的个人情况、工资细目、调入调出及用车等。所以该系统主要是实现对数据的录入、
10、插入、删除,网上查询.统计.更新.打印等功能。其次,为了信息的保密与安全,系统还要提供一定的安全机制。4 需求分析4.1项目概述4.1.1系统功能概述(1)系统操作简单,界面友好。(2)规范、完善的基础信息设置,包括对员工基本信息的录入、增加、删除、修改等。(3)为了方便用户,要求系统支持多条件查询。(4)对员工信息在需要时打印不同需要的报表。(5)支持数据更新调整。4.1.2运行环境 操作系统:Windows/Linux开发语言平台:JAVA 7,J2EE平台数据库:SQL SERVER2008 / MYSQL5.5Web浏览器要保证兼容IE8及以上版本Web应用服务器:Tomcat 7We
11、b应用技术架构采用:Spring MVC+Spring+Hibernate整体系统设计开发及相关基础框架平台全部采用基于java的开源组件4.2系统的功能需求4.2.1系统需要实现的功能(1)员工信息的管理:员工基本信息包括(姓名、出生年月日、身份证号码、籍贯、性别、部门、联系方式、入职时间、公积金账号、毕业院校、毕业时间、专业、家庭住址),其中包括在职用户管理(增加,删除,设为离职用户)和离职用户管理(填写离职信息,激活离职用户为在职)。(2)通知公告管理:其中包括对公告的增加、修改、删除以及显示通知公告列表。(3)规章制度管理:其中包括对规章制度的增加、修改、删除以及显示规章制度的列表。4
12、.2.2系统功能图人事管理系统系统设置人事管理用户登录通知公告规章制度增删管理员修改密码重新登录退出系统通知公告管理通知公告列表增加员工信息修改员工信息删除员工信息查询档案信息规章制度管理规章制度列表图4.1 人事管理系统功能图 4.2.3系统数据流图用户登录登录信息表管理员验证成功读取信息查找信息密码人事管理通知公告公告管理离职员工管理管理管理写入管理员工基本档案信息通知公告列表在职员工管理规章制度管理规章制度规章制度列表 图4.2 人事管理系统数据流图4.3系统的数据需求4.3.1数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从
13、而使系统的工作失去意义。数据的输入来源是手工输入,手工输入要考虑系统界面上的容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。4.3.2数据的一致性与完整性系统涉及的数据统一存储在服务器端。系统的数据是共享的,如何保证数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。4.3.3数据的共享与独立性 整个管理系统的数据是共享的。然而,从系统
14、开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。4.4安全需求分析登录功能的安全性,设置满足存在的帐号和密码才可以进入,不满足的会给出错误提示,这种安全性的验证,一定程度上增强了系统的安全性,可以抵挡住初、中级的非法闯入系统。4.5出错需求分析由于期刊稿件管理系统的使用人群是不懂专业的投稿人用户,进行在线投稿和投稿审批流程的时候,都会有大小不同的出错几率。所以出错提示的需求就是,在用户输入之前,给出简要提示。或者是在用户输入的过程中,如果有出错的点,就给出相应的错误提示和正确做法
15、的提示信息,这样能大大提高系统的容错性和稳定性。5 概要设计5.1总体架构设计5.1.1 系统主要结构本系统采用B/S结构,即浏览器/服务器(Browser/Server,缩写为B/S)结构。它是一种特殊的客户机/服务器结构,主要应用在Internet网中,提供了大量的服务,与传统C/S两层体系结构相比,有许多优势。5.1.2系统开发环境及工具人事管理系统系统存放数据的开发工具是MySQL,设计代码的平台是Sring。作为小型管理系统开发环境,是很合适的。它不仅提供了很大量的jar包,并且在进行编码时能及时给出适当的提示,主要是根据首字母匹配函数名,并且会对该函数进行简要的解释,一目了然地知道
16、它的功能和返回值,可以省去很多记错记混的麻烦。MySQL是关系型数据库,意思就是以表格的形式存储数据,一个数据库就是可以由一个或者很多个表格组成,就是所谓的关系型数据库。而对于该类数据库的访问读取都是由SQL语句来进行管理的,通过不同的SQL语句的传入,来执行表的增删改功能,实现数据的读取和更新。而且与SQL Server不同的是,MySQL是开源的。意思就是大家都可以根据自己的需求,以及开发习惯,对该平台的功能进行自定义的修改。5.1.3 JSP技术人事管理系统是采用JSP技术开发的,该技术可以创建很丰富的基于网页的应用程序,使用上也有很明显的引导作用。在设计时,可以自定义显示模式和操作模式
17、,系统的信息显示模块,正是需要显示区分不同角色的显示界面。另外网页形式的开发是充分具备灵活性的,即可以设置很多显示样式,也能提供源代码参考学习。按照系统的需求,比如系统的期刊管理功能,能在不重启浏览器的情况下,根据显示最新的操作结果。5.2总体功能结构设计根据之前的系统分析,我们可以将整个该系统分为三大模块:人事管理模块,公告通知模块以及规章制度模块。人事管理系统的模块结构图所下所示:通知公告管理员登录人事管理在职用户管理离职用户管理通知公告管理通知公告列表规章制度规章制度管理规章制度列表图5-1 人事管理系统模块结构图下面将简单介绍本系统三个用户对象的基本功能模块:(1)人事管理模块:对在职
18、用户管理(增加,删除,设为离职用户)和离职用户管理(填写离职信息,激活离职用户为在职)。(2)通知公告管理:对公告的增加、修改、删除以及显示通知公告列表。规章制度管理:对规章制度的增加、修改、删除以及显示规章制度的列表。(3)规章制度管理:其中包括对规章制度的增加、修改、删除以及显示规章制度的列表。5.3数据库设计在设计人事管理管理系统的时候,根据系统的各模块实现的功能。在数据库设计中,抽象出三实体类,分别为员工信息实体类,公告实体类,规章制度实体类。其中员工实体类中包括姓名、出生年月日、身份证号码、籍贯、性别、部门、联系方式、入职时间、公积金账号、毕业院校、毕业时间、专业、家庭住址等。通知实
19、体类中包括标题,内容等。规章制度实体类中包括标题,内容等。四个实体类的属性图分别为5-1至5-3。员工姓名性别出生年月日身份证号工资籍贯专业毕业院校联系方式入职时间 图5-2员工实体属性图公告标题内容图5-3 公告实体属性图规章制度标题内容 图5-4 规章制度实体属性图根据各个实体属性图,一共设计了四张表分别为用户登录信息表,教员表,课题表,通知表。如下表所示。表1 用户登录信息表字段说明类型可空备注idIDIntNo主键,自增name姓名varchar(50)Nopassword密码varchar(50)No加密表2 员工基本信息表字段说明类型可空备注idIDIntNo主键,自增name姓名
20、varchar(50)Yessex性别varchar(50)Yesemail邮箱varchar(50)Nophone手机varchar(50)NoSalary工资varchar(50)NoOrigin籍贯varchar(50)YesHouse户籍地址varchar(50)YesPlace现居住地varchar(50)YesCard身份证号varchar(50)YesSchool毕业院校varchar(50)YesTime入职时间varchar(50)NoSubject专业varchar(50)YesSchool1毕业院校varchar(50)YesNumber公积金账号varchar(50)Y
21、esBirthday出生年月日varchar(50)Yes表3 通知公告信息表字段说明类型可空备注idIDIntNo主键,自增Title标题varchar(50)YesText内容varchar(50)Yes表4规章制度信息表字段说明类型可空备注idIDIntNo主键,自增Title标题varchar(50)YesText内容varchar(50)Yes5.4各模块E-R图5.4.1人事管理模块E-R图 在职用户管理E-R图:管理员选择增加修改查询在职员工信息设为离职11NNN图5-5在职用户管理E-R图离职职用户管理E-R图:管理员选择搜索激活帐号查询离职用户信息离职信息11NNN 图5-6
22、离职用户管理E-R图5.4.2 模块E-R图通知公告模块E-R图:管理员选择增加修改查看通知列表删除11NNN 图5-7通知公告模块E-R图5.4.3模块E-R图规章制度模块E-R图:管理员选择增加修改查看规章制度列表删除11NNN 图 5-8规章制度模块E-R图 6详细设计通过需求分析和总体设计,己具备系统实现的条件,接下来通过对各个模块的主要功能描述、部分页面体现、实现方法来完成对毕业设计选题管理系统的设计。6.1登录模块 系统登录模块是用来验证管理员登录输入的用户名、密码、验证码。如果输入错误,系统会提示相应的错误信息,且验证码会重新生成。6.1.1登录模块流程图 开始用户名是否为空密码
23、是否为空用户名存在?密码正确?验证码正确?登录成功结束提示用户 输 入 是否 是 否 否 是 否 是 是 图 6-1登录模块流程图6.1.2实现登录的主要代码及登录界面 代码如下:Controllerpublic class LoginController/ 视图路径private static final String LOGIN = login; Resourceprivate SysUserService sysUserService;RequestMapping(value = /login, method = RequestMethod.GET)public String login
24、(HttpServletRequest request, HttpServletResponse response)clearSession(request);return LOGIN;/登录验证RequestMapping(value = /checkLogin, method = RequestMethod.GET, RequestMethod.POST)ResponseBodypublic AjaxJson checkLogin(HttpServletRequest request, HttpServletResponse response)clearSession(request);/
25、设置服务器缓存HttpSession session = request.getSession();AjaxJson result = new AjaxJson();String username = StringEscapeUtils.escapeHtml4(request.getParameter(username);String password = StringEscapeUtils.escapeHtml4(request.getParameter(password);/前台验证码String code = StringEscapeUtils.escapeHtml4(request.g
26、etParameter(code);/系统实际验证码String currentCode = (String)SpringUtil.getSession().getAttribute(TagName.LoginCodeSession);/判断验证码是否正确if(code.equalsIgnoreCase(currentCode)SysUser sysUser = sysUserService.getByUserName(username);if(null != sysUser)/判断密码是否一致if(sysUser.getPassword().equals(MD5Encoder.md5(pas
27、sword)/第一次到首页缓存标签设置为truesession.setAttribute(TagName.FirstIndexSession, true);sysUser.setLastLoginDate(new Date();sysUser.setLastLoginIp(RequestUtils.getIpAddr(request);sysUserService.update(sysUser);/if(!sysUser.getIsAdmin()/设置用户权限/List pList = sysGroupPermissionService.getListByGroup(sysUser.getGr
28、oup().getId();/sysUser.setPermissionCodes(new ArrayList();/ for (SysGroupPermission sysUserPermission : pList) / sysUser.getPermissionCodes().add(sysUserPermission.getPermissionValue();/session.setAttribute(TagName.SysUserSession, sysUser);elseresult.setSuccess(false);result.setMsg(密码不正确!);elseresul
29、t.setSuccess(false);result.setMsg(用户不存在!);elseresult.setSuccess(false);result.setMsg(验证码错误!);return result;/退出登录RequestMapping(value = /logout, method = RequestMethod.GET)public String logout(HttpServletRequest request, HttpServletResponse response)/request.getSession().invalidate();clearSession(req
30、uest);return LOGIN;/清除sessionprivate void clearSession(HttpServletRequest request)request.getSession().removeAttribute(TagName.SysUserSession);request.getSession().removeAttribute(TagName.SysUserMenuSession);登录页面如图所示: 图6-2登录结构图6.2人事管理模块人事管理模块用来管理在职用户和离职用户信息。6.2.1模块流程图在职用户管理模块流程图:开始在职用户管理模糊查询输入用户姓名用可
31、用数据?显示用户信息选择操作?搜索增加修改设为离职用户操作完成后更新在职用户表结束提示没有数据 否 是 否 是 是图6-3在职用户管理模块流程图离职用户管理模块流程图:开始离职用户管理模糊查询输入用户姓名用可用数据?显示用户信息选择操作?搜索离职信息激活账号操作完成后更新离职用户表结束提示没有数据 否 是 否 是 是图6-4离职用户管理模块流程图6.2.2实现人事管理模块的主要代码及界面实现在职用户管理主要的代码如下:RequestMapping(value=userListData, method = RequestMethod.POST, RequestMethod.GET)Respons
32、eBodypublic JSONArray userListData (HttpServletRequest request, HttpServletResponse response)String groupId = StringEscapeUtils.escapeHtml4(request.getParameter(groupId);/ 所属岗位idCriteriaQuery cq = new CriteriaQuery(SysUser.class, request);if(StringUtils.isNotBlank(groupId)cq.add(Restrictions.eq(group.id, groupId);cq.add(Restrictions.eq(isDeleted, false);cq.add(Restrictions.eq(isAdmin, false);List list = sysUserService.getList(cq, null, null, false);SimplePropertyPreFilter filter = new SimplePropertyPreFilter(SysUser.class,id,r