人力资源管理系统毕业设计正文_第1页
人力资源管理系统毕业设计正文_第2页
人力资源管理系统毕业设计正文_第3页
人力资源管理系统毕业设计正文_第4页
人力资源管理系统毕业设计正文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

武汉纺织大学 2012 届毕业设计论文 1 1 前言 1 1 HRMS 系统简述 1 HRMS 的现状 随着时代的发展 社会的进步 越来越多的企业建立 发展 壮大 成 熟 企业是国民经济的基本单元 企业发展得越好 经济进步就越快 然而随 着企业的发展 人员的增多 每年人力资源管理的成本也会不断地增加 这一 问题不仅耗费企业大量的资金 也耗费了大量的人力 当企业规模较小时 人 力尚且比较容易完成信息管理 但随着企业规模增大 人员增多 老式的纸质 管理方法就会出现许多弊端 比如说 保存困难 不易查询 耗费大量人力却 仍然工作效率低下 工作出错率增高等 这种方法已经跟不上时代 2 HRMS 的发展 在 20 世纪 60 年代末期 由于当时计算机发展水平的限制 HRMS 只不 过是一种自动计 算薪资的工具 90 年代末 由于个人电脑的普及 数据库技 术 客户 服务器技术 特别 是 Internet Intranet 技术的发展 出现了现 代人力资源管理系统 现代人力资源管理系 统的特点是从人力资源管理的角 度出发 用集中的数据库将几乎所有与人力资源相关的数 据 如薪资福利 招 聘 个人职业生涯的设计 培训 职位管理 绩效管理 岗位描述 个人信息 和历史资料 统一管理起来 形成了集成的信息源 友好的用户界面 强有力 的报表 生成工具 分析工具和信息的共享使得人力资源管理人员得以摆脱繁 重的日常工作 集中精力从战略的角度来考虑企业人力资源规划和政策 3 HRMS 的作用 本系统利用现代高效的运作方式来开发和管理组织中最重要 最昂贵的资 源 实现人力资源管理自动化 人性化 为公司的发展做出正确的决策 提高 人员的利用率 为公司发展和人才储备提供良好的平台 1 2 系统开发平台 1 数据库 SQL Server2005 简介 SQL Server 是一个全面的 集成的 端到端的数据解决方案 它为企业中 的用户提供了一个安全 可靠和高效的平台用于企业数据管理和商业智能应用 SQL Server 2005 为 IT 专家和信息工作者带来了强大的 熟悉的工具 同时减 武汉纺织大学 2012 届毕业设计论文 2 少了在从移动设备到企业数据系统的多平台上创建 部署 管理及使用企业数 据和分析应用程序的复杂度 通过全面的功能集 和现有系统的集成性 以 及对日常任务的自动化管理能力 SQL Server 2005 为不同规模的企业提供了 一个完整的数据解决方案 1 SQL Server 有如下特点 1 它是真正的客户机 服务器体系结构 2 它的用户界面图形化 使系统管理和数据库管理更加直观 简单 3 它包含丰富的编程接口工具 为用户进行程序设计提供了更大的选择 余地 4 SQL Server 与 Windows NT 完全集成 利用了 NT 的许多功能 如发 送和接受消息 管理登录安全性等 SQL Server 也可以很好地与 Microsoft BackOffice 产品集成 5 它具有很好的伸缩性 可跨越从运行 Windows 95 98 的膝上型电脑 到运行 Windows 2000 的大型多处理器等多种平台使用 6 它对 Web 技术的支持 使用户能够很容易地将数据库中的数据发布 到 Web 页面上 7 SQL Server 提供数据仓库功能 这个功能只在 Oracle 和其他更昂贵 的 DBMS 中才有 2 MyEclipce6 5 简介 MyEclipse 是一个十分优秀的用于开发 Java J2EE 的 Eclipse 插件集合 MyEclipse 的功能非常强大 支持也十分广泛 尤其是对各种开源产品的支持 十分不错 它是功能丰富的 JavaEE 集成开发环境 包括了完备的编码 调试 测试和发布功能 MyEclipce6 5支持 Java 5和 Java 6 可以在 Windows XP Vista Linux Mac 操作系统上运行 它是 Spring JPA 的高度集成 提高了 EJB3工程项目的灵活度 从数据库模式直接产生 bean MyEclipce6 5支持 AJAX 开发和测试 改进了 AJAX Web 浏览器 改进了 AJAX 工具 增强了 JavaScript 调试 支持 RAD Web 开发 具备 Matisse4MyEclipse 可视化 Swing 设计器 可以进行快速 Java EE 部署和测试 武汉纺织大学 2012 届毕业设计论文 3 MyEclipce6 5 项目自动部署和启动服务 根据指定的调试和运行模式 自动 配置项目和启动服务器 在配置前 自动停止运行的服务器 在现有的应用程 序配置中可以重新配置 其包含的 MyEclipce Derby 服务器可以自动进行 JDBC 连接 可配置的启动选项 它也是个学习中心 提供帮助和学习资料 其中包含 Java EE 项目源代码和一键安装 MyEclipse Java EE 示例项目 3 MVC 简介 MVC 是三个单词的缩写 分别为 模型 Model 视图 View 和控制 Controller MVC 模式的目的就是实现 Web 系统的职能分工 Model 层实现 系统中的业务逻辑 通常可以用 JavaBean 或 EJB 来实现 View 层用于与用 户的交互 通常用 JSP 来实现 Controller 层是 Model 与 View 之间沟通的 桥梁 它可以分派用户的请求并选择恰当的视图以用于显示 同时它也可以解 释用户的输入并将它们映射为模型层可执行的操作 MVC 是一个设计模式 它强制性的使应用程序的输入 处理和输出分开 使用 MVC 应用程序被分成三个核心部件 模型 视图 控制器 它们各自处理 自己的任务 视图是用户看到并与之交互的界面 对老式的 Web 应用程序来说 视图就 是由 HTML 元素组成的界面 在新式的 Web 应用程序中 HTML 依旧在视图中扮 演着重要的角色 但一些新的技术已层出不穷 它们包括 Macromedia Flash 和象 XHTML XML XSL WML 等一些标识语言和 Web services 模型表示企业数据和业务规则 在 MVC 的三个部件中 模型拥有最多的处 理任务 例如它可能用象 EJBs 和 ColdFusion Components 这样的构件对象来 处理数据库 被模型返回的数据是中立的 就是说模型与数据格式无关 这样 一个模型能为多个视图提供数据 由于应用于模型的代码只需写一次就可以被 多个视图重用 所以减少了代码的重复性 控制器接受用户的输入并调用模型和视图去完成用户的需求 所以当单击 Web 页面中的超链接和发送 HTML 表单时 控制器本身不输出任何东西和做任 何处理 它只是接收请求并决定调用哪个模型构件去处理请求 然后再确定用 哪个视图来显示返回的数据 5 MVC 的优点表现在如下几个方面 武汉纺织大学 2012 届毕业设计论文 4 首先视图层和业务层分离 这样就允许更改视图层代码而不用重新编译模 型和控制器代码 同样 一个应用的业务流程或者业务规则的改变只需要改动 MVC 的模型层即可 因为模型与控制器和视图相分离 所以很容易改变应用程 序的数据层和业务规则 其次随着技术的不断进步 现在需要用越来越多的方式来访问应用程序 由于模型返回的数据没有进行格式化 所以同样的构件能被不同的界面使用 例如 很多数据可能用 HTML 来表示 但是也有可能用 WAP 来表示 而这些表 示所需要的命令是改变视图层的实现方式 而控制层和模型层无需做任何改变 此外使用 MVC 模式使开发时间得到相当大的缩减 它使程序员 Java 开 发人员 集中精力于业务逻辑 界面程序员 HTML 和 JSP 开发人员 集中精 力于表现形式上 最后分离视图层和业务逻辑层也使得 WEB 应用更易于维护和修改 4 J2EE 简介 J2EE 是一种利用 Java 2 平台来简化企业解决方案的开发 部署和管理相 关的复杂问题的体系结构 它提供中间层集成框架用来满足无需太多费用而又 需要高可用性 高可靠性以及可扩展性的应用的需求 通过提供统一的开发平 台 J2EE 降低了开发多层应用的费用和复杂性 同时提供对现有应用程序集 成强有力支持 完全支持 Enterprise JavaBeans 有良好的向导支持打包和 部署应用 添加目录支持 增强了安全机制 提高了性能 J2EE 使用多层的分布式应用模型 应用逻辑按功能划分为组件 各个应用 组件根据他们所在的层分布在不同的机器上 这样是 Sun 公司为了解决两层模 式 client server 的弊端 在传统模式中 客户端担当了过多的角色而显得 臃肿 在这种模式中 第一次部署的时候比较容易 但难于升级或改进 可伸 展性也不理想 它使得重用业务逻辑和界面逻辑非常困难 现在 J2EE 的多层 企业级应用模型将两层化模型中的不同层面切分成许多层 一个多层化应用能 够为不同的每种服务提供一个独立的层 J2EE 的四层结构分别是运行在客户端机器上的客户层组件 运行在 J2EE 服务器上的 Web 层组件 运行在 J2EE 服务器上的业务逻辑层组件和运行在 武汉纺织大学 2012 届毕业设计论文 5 EIS 服务器上的企业信息系统 Enterprise information system 层软件 J2EE 应用程序组件是由组件构成的 J2EE 组件是具有独立功能的软件单元 它们通过相关的类和文件组装成 J2EE 应用程序 并与其他组件交互 客户层组件的含义是 J2EE 应用程序可以是基于 web 方式的 也可以是基于 传统方式的 Web 层组件可以是 JSP 页面或 Servlets 按照 J2EE 规范形成的静态 HTML 页面 业务层组件是 业务层代码的逻辑用来满足银行 零售 金融等特殊商务领 域的需要 由运行在业务层上的 enterprise bean 进行处理 企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资 源计划 ERP 大型机事务处理 数据库系统 和其它的遗留信息系统 例如 J2EE 应用组件可能为了数据库连接需要访问企业信息系统 2 SSH集成框架 2 1 Sturts2 Struts2 是一种 JSP Model2 模式的框架 JSP Model2 模式示意图如图 2 1 所示 是由 sun 公司又推出了一种架构模式 这个模式是结合了 servlet JSP javabean 的优点推出的一种模式 这个模式分为三部分 servlet JSP javabean servlet 做的事情是控制到底最后显示哪个 JSP 页 面给用户 JSP 做的就是响应用户请求 把结果数据展现给用户 而 javabean 做的就不单单是对数据库的数据的存取了 这里复杂的业务功能和逻辑处理都 交给了它处理 从它的设计结构就可以看出 JSP Model2 的优点 由于它在设 计上很好的分工 也就是做显示的是 JSP 做逻辑处理的是 javabean 做控制 的是 servlet 这样分工以后 对我们开发人员来说 就可以很好的做自己的 开发工作了 而美工人员也不必了解和看懂业务逻辑处理代码 在很大的层次 上提高开发的效率 事实上 Struts2 就是一个大的 Servlet 所有的请求都会通过这个 Servlet 就行转发到相应的 action 中就行处理 它是一个典型的 MVC 模式框 架 虽然 Struts2 号称是一个全新的框架 但这仅仅是相对 Struts 1 而言 Struts 2 与 Struts1 相比 确实有很多革命性的改进 但它并不是新发布的 武汉纺织大学 2012 届毕业设计论文 6 新框架 而是在另一个赫赫有名的框架 WebWork 基础上发展起来的 从某种 程度上来讲 Struts2 没有继承 Struts1 的血统 而是继承 WebWork 的血统 或者说 WebWork 衍生出了 Struts2 而不是 Struts1 衍生了 Struts2 因为 Struts2 是 WebWork 的升级 而不是一个全新的框架 因此稳定性 性能等各 方面都有很好的保证 而且吸收了 Struts 1 和 WebWork 两者的优势 2 因此 是一个非常值得期待的框架 Struts2 的工作流程如图 2 1 所示 它的整个工作过程如下 1 当 Servlet 容器接收到一个 Httprequest 请求之后 将请求交给在 web xml 中配置的过滤器 StrutsPrepareAndExecuteFilter 调用它的 dofilter 方法 2 StrutsPrepareAndExecuteFilter 询问 ActionMapper 以便确定这个请 求是否有对应的 Action 调用 3 ActionMaper 返回一个描述 Action 调用的 ActionMapping 对象 4 StrutsPrepareAndExecuteFilter 调用 Dispatcher 类的 serviceAction 方法 5 Dispatcher 调用 ActionProxy 的 execute 方法 6 ActionProxy 设置 ActionProxy 对象的执行上下文 然后调用其 invoke 方法 7 ActionInvocation 的 invoke 方法从拦截器中查找尚未执行的拦截器 然后调用它的 intercept invocation 方法 并将自身的引用对象的引用最 为参数传递给拦截器 8 拦截器完成某系预处理工作之后 反过来调用 ActionInvocation 的 invoke 方法 ActionInvocation 维护自己的状态 所以它知道哪些拦截器 已经被执行了 如果还没有别执行的拦截器 就继续执行它的 intercept invocation 方法 9 如果所以的拦截器都已经执行过了 就调用 Action 实例的 execute 方法 如果没有在 struts xml 文件中设置其他方法 否则执行其他方法 10 ActionInvocation 根据 Action 执行返还的结果码 查找对应的 Result 调用 Result 的 execute invocation 将结果呈现给用户 武汉纺织大学 2012 届毕业设计论文 7 11 ActionInvocation 的 invoke 方法将控制权返还给拦截器映射中的最 后一个拦截器 该拦截器完成所有 的后期处理工作 如此反复 知道所有的 拦截器都成返回 12 ActionInvocation 的 invoke 方法执行完毕之后 向 ActionProxy 返 回一个 String 类型的结果码 最后 ActionProxy 清理状态并返回 图 2 1 Struts2 的工作流程示意图 2 2 Spring Spring 是一个开源框架 它由 Rod Johnson 创建 它是为了解决企业应用 开发的复杂性而创建的 Spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情 然而 Spring 的用途不仅限于服务器端的开发 从简单性 可测试性和松耦合的角度而言 任何 Java 应用都可以从 Spring 中受益 4 Spring 目标是使现有技术更加易用 推进编码最佳实践 内容是依赖注入 容器 AOP 实现 声明式事务 DAO ORM 支持 Web 集成 轻量级的非侵入式的 基于 IOC 和 AOP 的容器框架 它的核心是 AOP 武汉纺织大学 2012 届毕业设计论文 8 Spring 框架的 IOC 容器采用设置注入 通过 JavaBean 的属性设置依赖关系 和 构造注入 通过构造器设置依赖关系 两种依赖注入的实现模式 所谓依赖注入 DI 也就是强制将组件的构建和使用分开 IOC Inversion of Control 控 制反转 就是把产生对象的权利交给 Spring 容器 此容器还负责管理 维护 对 象之间的关系 DI Dependency Injection 依赖注入 就是比如 A 依赖于 B 把 B 注入到 A 里 DI 的思想就是对象不再需要主动产生 而是交给 Spring 容 器 对象之间的关系也不需要主动地获取和维护 也是交给 Spring 容器 依赖注入顺序 Bean BeanFactory Resource applicationContext xml配置文件 用 IOC 的实现方式 首先得到资源 导包import org springframework core io Resource resource new ClassPathResource applicationContext xml 其次得到BeanFactory Spring容器 BeanFactory factory new XmlBeanFactory resource 最后通过id得到Bean IHello hello IHello factory getBean ch hello sayHello AOP 的含义是面向方面编程 它涉及的概念有如下几个 Target 目标 被代理的 bean 包含业务代码 真实 代理 抽象角色 如 经纪人 代理商 房屋中介 Advice 通知 定义一个 方面 要实现的功能 分前置通知 后置通知 环绕通知和异常通知等类型 Proxy 代理 加入了通知或切面的目标 最终通过代理类访问业务逻辑 将 业务逻辑代码 和 方面代码 组装进代理类 Pointcut 切入点 切入点决定了一个特定类的特定方法是否满足一条特 定的规则 即在哪些地方使用通知 Advisor 切面 切面是由定义切面行为的通知和定义切面在什么地方执 行的切入点组合而成 武汉纺织大学 2012 届毕业设计论文 9 代理模式的作用是 为其他对象提供一种代理以控制对这个对象的访问 在某些情况下 一个客户不想或者不能直接引用另一个对象 而代理对象可以 在客户端和目标对象之间起到中介的作用 Spring 有以下几种代理方式 静 态代理 一个类就要有一个代理类 这种代理方式不灵活 动态代理 一个代理 类代理无数个类 用到反射 实现反射包里面的接口 InvocationHandler 代理 和真实类实现同一接口 cglib 代理 代理类和真实类不需要实现同一接口 和 通知 拦截器 当目标的方法调用时需要调用的代码 几种方式 2 3 Hibernate Hibernate 是一个开放源代码的对象关系映射框架 它对 JDBC 进行了非常 轻量级的对象封装 使得 Java 程序员可以随心所欲的使用对象编程思维来操 纵数据库 Hibernate 可以应用在任何使用 JDBC 的场合 既可以在 Java 的 客户端程序使用 也可以在 Servlet JSP 的 Web 应用中使用 最具革命意义的 是 Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP 完成数据持久化的重 任 Hibernate 的核心接口一共有 5 个 分别为 Session SessionFactory Transaction Query 和 Configuration 这 5 个 核心接口在任何开发中都会用到 通过这些接口 不仅可以对持久化对象进行 存取 还能够进行事务控制 16 下面对这五个核心接口分别加以介绍 1 Session 接口 Session 接口负责执行被持久化对象的 CRUD 操作 CRUD 的任务是完成与数据库的交流 包含了很多常见的 SQL 语句 但需 要注意的是 Session 对象是非线程安全的 同时 Hibernate 的 session 不同 于 JSP 应用中的 HttpSession 这里当使用 session 这个术语时 其实指的是 Hibernate 中的 session 而以后会将 HttpSession 对象称为用户 session 2 SessionFactory 接口 SessionFactory 接口负责初始化 Hibernate 它充当数据存储源的代理 并负责创建 Session 对象 这里用到了工厂模式 需要注意的是 SessionFactory 并不是轻量级的 因为一般情况下 一个项目 通常只需要一个 SessionFactory 就够 当需要操作多个数据库时 可以为每 个数据库指定一个 SessionFactory 3 Configuration 接口 Configuration 接口负责配置并启动 武汉纺织大学 2012 届毕业设计论文 10 Hibernate 创建 SessionFactory 对象 在 Hibernate 的启动的过程中 Configuration 类的实例首先定位映射文档位置 读取配置 然后创建 SessionFactory 对象 4 Transaction 接口 Transaction 接口负责事务相关的操作 它是可 选的 开发人员也可以设计编写自己的底层事务处理代码 5 Query 和 Criteria 接口 Query 和 Criteria 接口负责执行各种数据 库查询 它可以使用 HQL 语言或原生的 SQL 语句两种表达方式 HQL 语言是一 种面向对象的查询语句 它更容易让程序员所接受 同时 HQL 语言还屏蔽了不 同 SQL 语言之间的差异 Hibernate 工作原理是这样的 首先它进行初始化 读取 Hibernate 的配 置信息然后再创建 Session Factory 具体步骤如下 1 创建 Configeration 类的实例 它的构造方法 将配置信息 Hibernate config xml 读入到内存 一个 Configeration 实例代表 Hibernate 所有 Java 类到 Sql 数据库映射的集合 2 创建 SessionFactory 实例 把 Configeration 对象中的所有配置 信息拷贝到 SessionFactory 的缓存中 SessionFactory 的实例代表一个数 据库存储员源 创建后不再与 Configeration 对象关联 缓存 cache 指 Java 对象的属性 通常是一些集合类型的属性 占用内存空间 SessionFactory 的缓存中 Hibernate 配置信息 3 调用 SessionFactory 创建 Session 的方法 首先用户自行提供 JDBC 连接 Connection con dataSource getConnection Session s sessionFactory openSession con 其次让 SessionFactory 提供连接 Session s sessionFactory openSession 4 通过 Session 接口提供的各种方法来操纵数据库访问 Hibernate 加载调用的方法有如下几几种方法 save session save Object obj get session get Class arg0 Serializable load session get Class arg0 Serializable get 是立即加载 如果对象不存在 会报空指针异常 首先用 get 查询实 武汉纺织大学 2012 届毕业设计论文 11 体对象 hibernate 立即查询真实对象 只要能查到了一个对象 就立即发出 SQL 语句 访问与其关联的其他对象 也是立即发出 SQL 语句去查询 load 是采用延迟加载 懒加载 用到了代理模式 如果对象不存在 会报 找不到对象的异常 它首先使用 load 查询对象 不会马上返回一个 sql 语句 只有查询其他属性的时候 才会发出 SQL 语句 2 4 软硬件环境要求 系统运行的软硬件环境要求如表 2 1 所示 表 2 1 软硬件环境要求 3 系统功能设计 3 1 系统分析 HRMS 是基于 B S 模式 针对国内软件外包公司复杂的招聘管理业务和流程 而开发的一套人力资源信息化管理系统 它由系统管理 简历管理 渠道管理 需求管理 数据统计等模块构成 系统中有如下几种角色 招聘助理 系统主要使用者 具有整理简历 查看简历 初选简历 分发 简历到项目组等使用权限 招聘经理 系统使用者 具有查看简历 统计数据查询等使用权限 项目助理 系统主要使用者 具有按项目组各需求分发简历 面试安排 提交面试评价等使用权限 项目经理 系统使用者 具有对本项目组所有简历及面试安排进行查看和 修改的使用权限 系统管理员 本系统最高权限使用者 其职能可归到系统某角色 例如 招聘经理 需求名称详细要求 硬件环境服务器 PIIII 及以上 CPU 512M 内存 硬盘 20G 10 100M 网 络 客户端 IE6 0 及以上 软件环境Windows XP Office Oracle Eclipse MyEclipse Rational Rose ERWin Apache Tomcat JDK1 4 或以上 TestDirector Junit WinRunner 武汉纺织大学 2012 届毕业设计论文 12 系统中为了代码的规范性和编码的效率 会用到一些缩写和术语 具体的 解释如表 3 1 所示 3 1 1 系统功能性需求分类 根据项目的具体功能和详细需求 将系统的模块 功能类别和子功能设计 成如表 3 2 所示 表 3 2 系统功能性需求分类 模块模块功能类别功能类别子功能子功能 需求管理需求管理岗位管理 添加 删除 修改 项目管理项目管理项目管理 添加 删除 修改 数据统计数据统计 简历渠道数量统计 简历渠道状态统计 渠道类 型统计 权限管理 角色维护 添加 删除 修改 权限描述 用户管 理 添加 删除 修改 查看用户信息 简历库管理 简历管理 获得文本文件简历 添加简历记录 删除 修改 简历 渠道管理渠道管理渠道管理 添加 删除 修改 渠道信息查询 根据以上所做的需求分析 得出以下系功能模块图 人力资源管理系统 系 统 管 理 简 历 管 理 渠 道 管 理 需 求 管 理 数 据 统 计 武汉纺织大学 2012 届毕业设计论文 13 图 3 1 人力资源管理系统功能模块图 表 3 1 术语与缩写解释 缩写 术语缩写 术语解解 释释 HRA 招聘助理 HRM 招聘经理 BDA 项目助理 BDM 项目经理 3 2 系统模块功能设计 根据系统需求 经过分析 设计出以下几个模块 1 用户管理模块 此模块主要用于系统管理员管理用户 管理员可以使用该模块添加本系统 的使用者 并给使用者分配角色 增加 删除和修改某个用户的信息 基本信 息 角色等 2 角色管理模块 该模块用于管理员对用户角色分配相应的权限 拥有相应权限的角色可以 访问操作相应的模块功能 系统管理员可以查看 添加 删除和修改某个角色 的信息 角色编号 角色名称和角色描述 3 权限管理模块 该模块用于权限的具体说明 包括权限的 URL 和权限的编号 备注 管 理员可以通过该模块对权限的具体信息进行添加 修改和删除 4 简历中心模块 该模块用于对用户的简历管理 招聘助理从用户简历文件中摘抄相关的信 息到简历中心 并将用户的简历文件作为附件保存到服务器 招聘助理可以在 该模块中对用户的简历进行录入 修改和删除的操作 还可以导出某个用户的 用 户 管 理 角 色 管 理 权 限 管 理 简 历 中 心 录 入 简 历 预 约 记 录 面 试 评 价 渠 道 列 表 需 求 信 息 项 目 管 理 部 门 管 理 渠 道 类 型 统 计 渠 道 简 历 数 量 统 计 渠 道 简 历 状 态 统 计 武汉纺织大学 2012 届毕业设计论文 14 简历信息 5 录入简历模块 由于用户的简历信息比较复杂繁多 单独把录入简历做为一个模块 用于 从用户的简历文件中录入相关的信息到简历中心 6 预约记录模块 该模块用于项目助理预约面试并记录预约面试结果及原因 不管是否预约 面试成功 都应该添加一个预约面试记录 一个面试者应该可以有很多预约面 试记录 预约面试信息 应该包含预约人信息 被预约人信息 预约时间 成 功与否 预约说明 预约时商定的面试时间 面试负责人 面试说明 如试题 面试房间 及其他注意事项 项目助理可以查看 修改和删除自己填写好的 预约记录信息 7 面试评价模块 该模块用于面试人记录本次面试的结果以及评价 面试评价信息 面试时 间 面试说明 笔试成绩 工作经验 应聘者参加工作简介 逻辑思维能力 责任感 进取心 外语实际能力 期望薪水 原单位薪水 预计到岗时间 评 价人 面试结果 合格 不合格 面试综合评价 一份简历可以有多份面试评 价 面试人可以对自己记录的面试结果进行修改和删除的操作 8 渠道管理列表模块 该模块用于系统管理员 招聘经理查看渠道类型 类型编号 类型名 修 改和删除渠道类型的基本信息 增加新渠道类型 类型编号 类型名 9 需求信息模块 该模块用于项目经理 项目助理查看某个或所有岗位信息 增加 删除和 修改某个岗位的需求信息 比如部门编号 部门经理 需求名称 需求人数 需求的开始和结束时间等 10 项目管理模块 该模块用于系统管理员 招聘经理增加有需求的项目 项目名 部门编号 项目经理 项目助理 联系人 联系电话 项目描述 系统管理员 招聘经理 可以查看修改和删除项目信息 11 部门管理模块 武汉纺织大学 2012 届毕业设计论文 15 该模块用于管理员 部门经理对部门的信息进行管理 如增加部门编号 部门名称和部门经理 可以查看 删除和修改部门信息 12 渠道类型统计模块 该模块的功能按年统计每个渠道 渠道类型的简历投递数量和简历入职数 量 13 渠道简历数量统计模块 该模块的功能通过统计图描述了各种渠道简历的数量统计 让人看了一目 了然 14 渠道简历状态统计模块 该模块的功能通过列表统计了简历的编号 姓名 姓名 性别 投递方式 毕业院校 毕业时间 语言水平和背景 部门的信息 面向系统管理员的流程图如图 3 2 所示 图 3 2 流程图 武汉纺织大学 2012 届毕业设计论文 16 3 3 数据库结构设计 3 3 1 数据结构 根据各个表之间主外键的关系 设计结构图如图 3 3 所示 3 3 2 数据库表设计 根据需求分析 使用数据库生成的数据表和其中的字段属性如表 3 3 至 3 14 所示 图 3 3 数据结构图 表 3 3 系统用户表 t user 列名 数据类型 长度 允许空 id 编号 int 4 N uname 用户名 varchar 50 Y upass 密码 varchar 50 Y roleID 角色编号 int 4 Y depID 部门编号 int 4 Y projectID 项目编 int 4 Y 武汉纺织大学 2012 届毕业设计论文 17 号 表 3 4 员工岗位表 t station 列名 数据类型 长度 允许空 id 编号 int 4 N name 岗位名称 varchar 50 Y depID 部门编号 int 4 Y 表 3 5 用户角色表 t role 列名 数据类型 长度 允许空 id 编号 int 4 N roleName 角色名 称 varchar 50 Y descr 角色描述 varchar 50 Y 表 3 6 角色权限表 t role popedom 列名 数据类型 长度 允许空 id 编号 int 4 N popedomID 权限编 号 int 4 N 表 3 7 简历表 t resume 列名 数据类型 长度 允许空 id 编号 int 4 N name 姓名 varchar 50 Y sex 性别 varchar 20 Y birthday 出生日期 datetime 8 Y channelID 渠道编 号 int 4 Y 武汉纺织大学 2012 届毕业设计论文 18 graduateTime 毕业 日期 datetime 8 Y school 毕业院校 varchar 30 Y major 专业 varchar 20 Y education 学历 varchar 20 Y skill 专业技能 varchar 30 Y background 背景 varchar 30 Y languageType 外语 类型 varchar 30 Y languageLevel 外语 等级 varchar 30 Y depID 部门编号 int 4 Y userID 用户编号 int 4 Y state 预约状态 varchar 20 Y 表 3 8 项目表 t project 列名 数据类型 长度 允许空 id 编号 int 4 N name 名称 varchar 30 Y depID 部门编号 int 4 Y HRM 项目经理 varchar 30 Y HRA 项目助理 varchar 30 Y linkman 联系人 varchar 30 Y tel 联系电话 varchar 30 Y descr 详细描述 varchar 30 Y startTime 开始日期 datetime 8 Y endTime 结束日期 datetime 8 Y 表 3 9 权限表 t popedom 武汉纺织大学 2012 届毕业设计论文 19 列名 数据类型 长度 允许空 id 编号 int 4 N url 权限 url varchar 50 Y memo 备忘录 varchar 50 Y 表 3 10 预约记录表 t order 列名 数据类型 长度 允许空 id 编号 int 4 N resumeID 简历编 号 int 4 Y orderPer 姓名 varchar 50 Y tel 电话 varchar 50 Y info 信息 varchar 50 Y orderTime 预约时间 datetime 8 Y test 笔试试题 varchar 50 Y assess 面试评价 varchar 100 Y person1 负责人 varchar 50 Y Person2 面试人 varchar 50 Y 表 3 11 需求信息表 t need 列名 数据类型 长度 允许空 id 编号 int 4 N name 姓名 varchar 50 Y depID 部门编号 int 4 Y projectID 项目编号 int 4 Y projectTel 联系电话 varchar 50 Y num 需求人数 int 4 Y startTime 开始日期 datetime 8 Y 武汉纺织大学 2012 届毕业设计论文 20 endTime 结束日期 datetime 8 Y isNeed 是否录用 int 4 Y 表 3 12 面试评价表 t interview 列名 数据类型 长度 允许空 id 编号 int 4 N resumeID 简历编号 int 4 Y name 姓名 varchar 30 Y isWorkeexperience 是否有工作经验 varchar 10 Y logical 逻辑思维 varchar 50 Y mark 笔试成绩 int 4 Y oldIncome 之前薪水 float 8 Y salary 期望薪水 float 8 Y reportTime 报到日期 datetime 8 Y leave 是否离职 varchar 10 Y visualize 外在形象 varchar 100 Y communicate 沟通协 作 varchar 100 Y interviewTime 面试 日期 datetime 8 Y interviewer 面试人 varchar 30 Y bargain 谈判薪水 float 8 Y opinion 观点备注 varchar 300 Y 表 3 13 部门表 t dep 列名 数据类型 长度 允许空 id 编号 int 4 N 武汉纺织大学 2012 届毕业设计论文 21 name 部门名称 varchar 30 Y BDM 项目经理 varchar 30 Y BDA 项目助理 varchar 30 Y 表 3 14 渠道统计信息表 t channel 列名 数据类型 长度 允许空 id 编号 int 4 N name 渠道名称 varchar 50 Y type 渠道类型 varchar 50 Y linkman 联系人 varchar 50 Y tel 联系电话 varchar 50 Y person 负责人 varchar 50 Y 3 4 系统页面设计 首先 本系统主要针对用户是公司的管理人员 页面布局设计要给人一种 简约舒适的视觉体验 尽量不去使用一些比较花哨但实用性不强的图片 图片 太过花哨 不仅不会带来好的效果 反而会让使用者产生视觉疲劳 简单且易 操作的页面会带来好的用户体验 其次 页面的布局 本系统在设计页面布局时 尽量不把大量数据显示在 同一页 采用分页显示的方式 比如每页显示 4 条数据 这样页面整理看上去 很舒适 没有大量数据堆积冗余的情况 再次 系统整体的视觉体验 在系统整体的设计时 尽量将系统划分为几 个模块 采用树状图去显示 网页上使用文字和图片相结合 增加了用户的视 觉效果 最后 本系统采用统一的设计风格 每个子界面都采用同一种风格 让整 个系统看上去更像一个整体 3 5 系统程序结构设计 本系统采用的是 Struts2 Hibernate Spring 三大主流框架实现 根据各个框 架的不同功能分为以下 5 层 武汉纺织大学 2012 届毕业设计论文 22 1 Action Action 层是一个管理器 引用对应的 Biz 层 结合 Struts2 的配置文件 跳转到指定的页面 当然也能接受页面传递的请求数据 比如取出前台界面的 数据 调用 biz 方法 转发到下一个 action 或者页面 本系统 action 部分实 现方法如下所示 public String findAll int offset 0 偏移量 pageNo 1 pageSize HttpServletRequest request ServletActionContext getRequest String strOffset request getParameter pager offset if strOffset null offset Integer parseInt strOffset int pageSize 4 每页显示几条 pm roleBiz findAll offset pageSize return success 2 Biz Biz 层也就是 Service 层 是用来做相应的业务逻辑处理 本系统中 Biz 层 包含接口和相应的实现类 接口中只有方法的声明 实现类中有方法的具体实 现 具体的接口部分实例如下所示 public interface IInterviewBiz void add TInterview inter void delete int id void edit TInterview inter TInterview findById int id List findAll long findTotal int channelId long findQulity int channelId 具体的实现类部分实例如下所示 public class InterviewBizImpl implements IInterviewBiz private IInterviewDAO interviewDAO public void add TInterview inter interviewDAO add inter public void delete int id interviewDAO delete id public void edit TInterview inter 武汉纺织大学 2012 届毕业设计论文 23 interviewDAO edit inter public List findAll return interviewDAO findAll public TInterview findById int id return interviewDAO findById id public long findTotal int channelId return interviewDAO findTotal channelId public long findQulity int channelId return interviewDAO findQulity channelId 3 DAO DAO 层是数据持久层 主要封装了一些对数据库操作的的方法 与数据库 做交互工作 与 Biz 层相类似 DAO 层中也是包含接口和对应的实现类 DAO 层接口的具体实例如下所示 public interface IInterviewDAO void add TInterview inter void delete int id void edit TInterview inter TInterview findById int id List findAll Long findTotal int channelId Long findQulity int channelId DAO 层对应接口的实现类具体部分实例如下所示 Public class InterviewDAOImpl extends HibernateDaoSupport implements IInterviewDAO public void add TInterview inter getHibernateTemplate save inter public void delete int id getHibernateTemplate delete getHibernateTemplate load TInterv iew class id public void edit TInterview inter getHibernateTemplate update inter public List findAll 武汉纺织大学 2012 届毕业设计论文 24 return getHibernateTemplate find from TInterview 4 Entity Entity 层就是实体映射层 可以使用开发工具 MyEclipce6 5 中根据数据库 中对应的表 通过 Hibernate 反转得到 其中包含实体类和对应的映射文件 Entity 具体的实例部分代码如下所示 public class TUser implements java io Serializable private Integer id private TDep TDep private TRole TRole private TProject TProject private String uname private String upass private Set TResumes new HashSet 0 对应的映射文件 x

温馨提示

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

评论

0/150

提交评论