主页 > 案例大全 > 论文方法介绍-基于SSM的信息化企业职称评审系统的设计与实现
相关栏目 / Category

论文方法介绍-基于SSM的信息化企业职称评审系统的设计与实现

2021-05-04 16:29:27   浏览:631  次

  现在这个全民互联网时代,无论什么行业都离不开互联网办公,许多事情都从线下转到了线上交流解决,企业的职称评审流程自然也是如此。但随着企业化的办公系统不断发展,这些传统的职称评审方式也渐渐被淘汰,取而代之的是一种新的互联网软件产品,即本文所描述的 孙息化企业职称评审系统。

   孙息化企业职称评审系统使用当前软件开发中较为普遍的B/S架构进行设计开发,选用面向对象的Java语言来编写,并使用了企业型项目最常用的SSM框架进行开发。页面使用最新的HTML5技术标准结合经典的LayUI布局;数据持久化选用MySQL数据库进行开发。

  使用一款功能完善的 孙息化企业职称评审系统不仅能提高企业的办公效率和质量,更能减轻员工的负担,使员工更有精力去应对业务,对促进企业办公的高效化、 孙息化具有重要意义。

  现在这个全民互联网时代,无论什么行业都离不开互联网办公,许多事情都从线下转到了线上交流解决,企业的职称评审流程自然也是如此。但随着企业化的办公系统不断发展,这些传统的职称评审方式也渐渐被淘汰,取而代之的则是一款功能完善的 孙息化企业职称评审系统,它不仅能提高企业的办公效率和质量,更能减轻员工的负担,使员工更有精力去应对业务,对促进企业办公的高效化、 孙息化具有重要意义[1]。

  职称,即专业技术职位任职资格,是判断一名员工是否具备相应职位的学术技术水平和专业能力的主要标志,也是招聘这个岗位员工的基本必要条件[2]。而 孙息化企业职称评审系统是为了使企业职称评审能够流程化、标准化,客观公正的职称评审,有利于促进培养优秀的人才。

  1.1系统开发建设目的

   孙息化企业职称评审系统开发的主要目的优化传统评审流程,提高评审效率,使评审工程规范化、 孙息化[3]。设计与开发的目的如下:

  具有企业办公系统的基本功能,即部门管理、用户管理、角色管理等功能[4]。

  具有规范化的职称评审功能模块。

  系统使用方式灵活、简单,易操作。

  1.2现状分析

  在这个互联网高速发展的时代,人们几乎随时随地都能接触到电脑和智能手机。在互联网通讯交流如此方便的时代,若企业还在使用传统的职称审批流程,不仅步骤繁琐,而且耗费许多不必要的人力和财力。而许多企业使用的办公系统使用的办公系统多为早年互联网刚兴起时所开发,使用到现在存在功能老旧,系统响应慢,新功能不应扩展等等问题[5]。由此可见,建立一个功能完善、操作步骤规范的 孙息化企业职称评审系统很有必要。

  企业员工可以使用职称评审系统通过互联网进行职称申请,企业上级领导也可以在线审批通过,而职称的申请记录将被永久保存在制定的数据库中。节省企业人力财力资源成本的同时,员工也无需经历从前那样到处填表盖章的过程。若未来对职称申请步骤有新的需求,则可以通过本系统继续扩展开发[6]。

  2关键技术

  2.1开发环境与框架

  2.1.1系统开发环境

  Java Development Kit 1.8;

  IntelliJ IDEA 2018.2.1;

  MySQL 5.7;

  SQL Yog;

  Google Chrome浏览器;

  2.1.2系统开源框架及其版本

  表2-1系统开源框架

  名称版本描述

  Springboot 2.0.1 Spring项目脚手架

  SpringMVC 2.0.1实现MVC模式的Web框架

  Mybatis 3.4.6持久层框架

  Shiro 1.4.0权限安全框架

  Beetl 2.9.3模板引擎

  LayUI 2.4.5前端页面框架

  Maven 3.5.3项目管理工具

  2.2相关技术

  2.2.1 Java语言

  Java是一门优秀的面向对象开发的计算机编程语言,自90年代研发使用至今,已经成为软件开发行业里最流行的编程语言之一[7]。在互联网高速发展的这个时代,Java语言大多结合HTML5技术开发Web应用。Java语言共分为三个体系,分别为JavaSE、JavaEE、JavaME,以适应不同应用的开发需求,本系统使用JavaEE进行开发,它具有以下特点:

  面向对象开发:顾名思义,即将现实世界中各种事物的特征进行分类总结,这样就能将现实中的事物转化为虚拟化操作的对象,在Java里,每个对象都具有封装性、继承性和多态性[8]。

  跨平台使用:使用Java语言开发出的Web应用程序,无需对操作进行任何的适应性改变,即可安装部署。由于JDK的存在,Java真正实现了跨平台使用[9]。开发工具多样化:经过几十年的发展,许多软件公司为Java开发出了功能齐全的开发辅助工具,最有名的软件有Eclipse、IDEA等,他们不仅能实现Java文件的自动编译,还有自动补全代码,自动纠错等功能。

  2.2.2 HTML5

  HTML全称Hyper Text Markup Language 5,即第五代超文本标记语言[10],它与传统的HTML技术相比,增加了新的内容和功能,能够自适应移动设备,被广泛应用于Java开发Web程序。

  HTML5具有以下特点:

  跨平台、跨设备:使用HTML5开发出的前端页面能够自适应所有平台和设备,各种移动设备也能浏览到标准的互联网页面,给用户良好的体验。

  功能强大:HTML5在之前标准的基础上增加了许多新颖实用的功能,如视频和音频标签能在网页上直接引入视频或音乐,Canvas绘图标签能够容纳许多图形,这些功能大大帮助许多个性化Web应用程序的开发。

  2.2.3 Springboot

  说到Springboot,就不得不说它的前身Spring框架。在Springboot出现之前,使用Spring框架是一个繁琐的事情,不仅需要配置许多繁琐复杂的文件,而且开发出的应用过于笨重,极大降低了系统的开发和部署效率。而Springboot正是为了使开发便捷化、轻量化而出现的,无需配置太多文件,因为它的宗旨就是“约定大于配置”,只需要几个简单的注解和配置就可直接使用Springboot进行开发[11]。

  Springboot有以下几个优点:

  基于Spring,在轻量便捷的同时保留了Spring框架的基本功能。

  简化编码、配置。

  内置Tomcat,极大简化部署过程。

  2.2.4 Mybatis

  传统的Java应用程序连接数据库需要通过JDBC进行,每一步增删改查的操作都存在许多代码重复冗余,如打开数据库连接、关闭数据库连接、设置SQL语句等等,及其繁琐。而MyBatis的出现彻底解决了这些烦恼,其内置的数据库连接池能自动管理数据库连接,无需编写JDBC代码,只要通过XML文件将实体与数据库字段一一对应,即可操作数据库[12]。

  Mybatis的优点如下:

  上手简单、易操作:Mybatis是一个及其小巧灵活、功能齐全而且上手简单的持久化框架,只需配置实体与数据库进行映射,新手也可以很快操作使用[13]。

  功能多样化:Mybatis有许多功能,既有内置的SQL基本增删改查语句,也支持用户动态编写自定义个性化的SQL语句;同时还有许多注解使数据库操作事半功倍。

  2.2.5 LayUI

  LayUI是一款经典的模块化页面UI框架,在系统中起到规范化页面开发,使得系统前端页面标准美观。LayUI遵循着W3C所制定的HTML/CSS/JS书写与组织标准,是最受开发人员喜爱的UI框架之一[14]。

  LayUI的优点如下:

  轻量级:LayUI仅需1M空间即可使用,非常适用于开发后端模式。

  内容、样式丰富:LayUI包含了许多经典的布局格式,众多组件,非常适合对页面的个性化开发。

  3系统需求分析

  3.1性能需求

  3.1.1系统的完整性、可靠性

  在完成 孙息化企业职称评审系统的设计和开发之前,应事先考虑用户对系统的体验[6],因此,在开发过程中,必须保证系统各项功能的完整实现;在系统完成后,我们应该对其进行完整的软件测试,以确保系统功能的可靠性。

  3.1.2系统的通用性、易用性

   孙息化企业职称评审系统是为了方便企业实现人才评审的规范化、流程化而设计开发,若违背了这个基本理念,则该系统就没有了开发与设计的意义。本系统的使用人员为企业的管理人员,所以页面部分应做到“所见即所得”,各种操作步骤应尽量简单,以达到提高效率的效果。

  3.1.3系统的健壮性、可扩展性

   孙息化企业职称评审系统应具有适当的处理错误的能力,即在日常运行过程中某个功能模块出现错误,系统应记录日志且不能影响到其他模块的功能;同时系统在设计与开发之处应提前考虑到未来扩展功能的可能性,应遵循软件开发“高内聚、低耦合”的规范,确保扩展的模块不会影响到原有功能的使用[14]。

  3.2可行性研究分析

  3.2.1技术可行性

   孙息化企业职称评审系统基于个人学习目的所开发,所涉及到的Java、HTML5等等技术本人已基本掌握其使用方法;且这些框架或技术都是业内比较经典流行的,在网络上有许多社区和文档可供咨询和学习,所以在技术上基本具备可行性。

  3.2.2经济可行性

   孙息化企业职称评审系统的设计与开发都趋于简易化、实用化,其中所涉及到的各种框架及技术,都是网络上免费开源的,因此无需额外花费。如需正式环境部署使用,仅需支付服务器相关费用即可,所以本系统基本具备经济可行性。

  3.2.4运行可行性

   孙息化企业职称评审系统使用跨平台的Java语言和HTML5技术结合当前较流行的SSM进行开发,使用的框架和技术都经过了许多年时间的沉淀,以此开发出的系统较为可靠。因为Java能够跨平台安装部署,所以本系统对使用环境没有特别的要求,适应性极强,因此基本具备运行可行性。

  3.3需求描述

  3.3.1系统目标

  系统应具有企业办公系统的基本功能,如部门管理、员工管理、角色管理;

  系统能查看操作日志与登录日志;

  系统能够通过菜单发起职称申请,并由审核员、评审员、管理员进行处理;

  管理员具有系统最高权限,可以添加、删除用户、分配用户权限等等;

  其他基本操功能。

  3.3.2系统角色

  表3-1系统所有角色表

  角色名称数量说明

  管理员仅限一人拥有系统所有权限

  评审员不限拥有评审的权限

  审核员不限拥有审核职称申请的权限

  普通员工不限拥有普通员工权限

  3.3功能需求

  3.6.1模块需求设计

  1、评审管理

  本模块的功能为:发起评审、评审流程、评审列表,用例图如图3-2所示:

  图3-2评审管理模块用例图

  2、系统管理

  用户管理:

  本模块主要用于管理员管理系统用户,用例图如图3-3所示:

  图3-3用户管理模块用例图

  角色管理:

  本模块主要用于管理员管理系统角色,用例图如图3-4所示:

  图3-4角色管理模块用例图

  部门管理:

  本模块用于管理员管理企业的部门上下级关系,用例图如图3-5所示:

  图3-5部门管理模块用例图

  菜单管理:

  本模块用于管理员管理系统的菜单,用例图如图3-6所示:

  图3-6菜单管理模块用例图

  业务日志、登录日志:

  本模块用于管理员查看系统的操作日志和登录日志,用例图如图3-7所示:

  图3-7日志模块用例图

  监控管理:

  本模块用于管理员查看数据库运行情况,用例图如图3-8所示:

  图3-8监控管理模块用例图

  4系统设计

  4.1系统模块架构设计

   孙息化企业职称评审系统分为两大模块:评审管理和系统管理。评审管理可以发起评审、查看评审流程、查看评审列表;系统管理则允许管理员进行用户、角色、部门、菜单、日志等等系统 孙息进行操作。

  通过图4-1所示的系统模块架构图,我们可以自上而下地观察到系统的架构。

  图4-1系统模块图

  本系统使用经典的MVC架构进行开发,MVC通过模型-视图-控制器将Web应用程序分为职责明确的三层架构,模型层用于封装业务逻辑,视图层用于展示前端页面,控制器层用于页面与后台业务逻辑的交互。MVC是当前Web应用开发最流行的架构[15]。

  MVC的结构如图4-2所示:

  图4-2 MVC结构图

  4.2数据库设计

  4.2.1数据库表

  系统所拥有的数据库表如表4-3所示:

  表4-3数据库E-R实体表

  表名说明

  评审(sys_evaluation)用于存放职称评审申请 孙息

  用户(sys_user)用于存放用户 孙息

  角色(sys_role)用于存放角色 孙息

  菜单(sys_menu)用于存放菜单 孙息

  部门(sys_dept)用于存放部门 孙息

  登录日志(sys_login_log)用于存放登录日志

  操作日志(sys_operation_log)用于存放操作日志

  字典(sys_dict)用于存字典 孙息

  4.2.2 E-R图

  开发一个性能良好、功能齐全的系统之前,必须要有良好的数据库设计,各种主外键关系和每个字段的定义要恰到好处,既要详细也不能过分冗余。由于文章篇幅原因,以下仅列出本系统主要模块的数据表结构,如图4-3所示:

  图4-4 E-R图

  4.2.3表结构设计

  职称评审表(sys_evaluation):

  表4-5评审表结构

  列名数据类型长度约束说明

  id int 11主键主键

  title varchar 255申请职称名

  p_id int 11评审人id

  suggest varchar 255评审建议

  file varcahr 255申请文件

  is_reply varchar 32是否答辩(1是0否)

  is_auth varchar 32是否通过审核(1是0否)

  is_pass varchar 32是否通过评审(1是0否)

  status varchar 32状态(1取消0正常)

  job_date datetime参加工作时间

  now_job varchar 255现任岗位

  last_school varchar 255毕业学校

  specialty varchar 255专业

  graduate_date datetime毕业时间

  degree varchar 255最高学历

  create_time datetime创建时间

  create_user int 11创建人

  update_time datetime更新时间

  update_user int 11更新人

  用户表(sys_user):

  表4-6用户表结构

  列名数据类型长度约束说明

  id int 11主键主键

  avatar varchar 255头像

  account varchar 45账号

  password varchar 45密码

  create_time datetime创建时间

  create_user int 11创建人

  update_time datetime更新时间

  update_user int 11更新人

  version int 11版本

  salt varchar 45 md5密码盐

  name varchar 45名字

  birthday date生日

  sex int 11性别(1男2女)

  email varchar 45电子邮件

  phone varchar 45电话

  role_id varchar 255外键角色id

  dept_id int 11外键部门id

  status int 11状态(1启用2冻结3删除)

  角色表(sys_role):

  表4-7角色表结构

  列名数据类型长度约束说明

  id int 11主键主键

  num int 11序号

  p_id int 11外键父角色id

  name varchar 255角色名称

  dept_id int 11外键部门id

  续表4-7:角色表结构

  tips varchar 255提示

  version int 11版本

  create_time datetime创建时间

  create_user int 11创建人

  update_time datetime创建时间

  update_user int 11更新人

  菜单表(sys_menu):

  表4-8菜单表结构

  列名数据类型长度约束说明

  id int 11主键主键

  code varchar 255菜单编号

  p_code varchar 255外键菜单父编号

  p_codes varchar 255菜单的父编号

  name varchar 255菜单名称

  icon varchar 255菜单图标

  url varchar 255 url地址

  num int 65菜单排序号

  levels int 65菜单层级

  is_menu int 11是否为菜单

  tips varchar 255备注

  status int 65菜单状态

  is_open int 11是否打开(1或0)

  version int 11版本(保留字段)

  create_time datetime创建时间

  create_user int 11创建人

  update_time datetime创建时间

  update_user int 11更新人

  is_super_admin tinyint 1是否超级管理员菜单(1是0否)

  部门表(sys_dept):

  表4-9部门表结构

  列名数据类型长度约束说明

  id int 11主键主键

  num int 11排序

  p_id int 11外键父部门id

  p_ids varchar 255父级ids

  simple_name varchar 45简称

  full_name varchar 255全程

  tips varchar 255备注

  version int 11版本(保留字段)

  create_time datetime创建时间

  create_user int 11创建人

  update_time datetime创建时间

  update_user int 11更新人

  登录日志表(sys_login_log):

  表4-10登录日志表结构

  列名数据类型长度约束说明

  id int 11主键主键

  log_name varchar 255日志名称

  user_id int 65外键管理员id

  create_time datetime创建时间

  succeed varchar 255是否执行成功

  message text具体消息

  ip varchar 255登录ip

  ⑧操作日志表(sys_operation_log):

  表4-11操作日志表结构

  列名数据类型长度约束说明

  id int 11主键主键

  log_type varchar 255日志类型

  log_name varchar 255日志名称

  user_id int 65外键用户id

  class_name varchar 255类名称

  method text方法名称

  create_time datetime创建时间

  succeed varchar 255是否成功

  message longtext 255备注

  ⑨字典表(sys_dict):

  表4-12字典表结构

  列名数据类型长度约束说明

  id int 11主键

  num int 11排序

  p_id int 11父级字典id

  name varchar 255名称

  tips varchar 255提示

  code varchar 255值

  version int 11版本(保留字段)

  create_time datetime创建时间

  create_user int 11创建人

  update_time datetime创建时间

  update_user int 11更新人

  4.3功能模块详细设计

  4.3.1程序命名规范

  在 孙息化企业职称评审系统的设计与开发之前,为保证代码的可读性、规范性,必须要从注释,代码缩进,命名方式等等方面进行规范。本系统依照阿里巴巴的编码规约进行开发,代码部分易读,整个项目的结构和逻辑较为清晰,在未来扩展功能的时候能令开发事半功倍。

  以下列出本系统部分编码规范。

  (1)代码缩进保持一致,统一使用四个空格缩进。

  (2)避免过分冗余的注释,注释部分应尽量简洁明了。

  (3)遵循软件开发的“单一职责”原则,每个类都各司其职,避免重复代码。

  (4)变量或方法命名方案需保持一致,且必须使用英语单词或其简写,不允许使用中文拼音或其简写。

  (5)列表方法应以list开头、查询方法以find开头、删除方法以delete开头、修改方法以edit开头、新增方法以add开头。

  (6)for循环不允许超过两层,if判断不允许嵌套超过两层。

  4.4功能模块实现

   孙息化企业职称评审系统共有两大模块,12个小模块,由于本文篇幅有限,以下仅列出其中一部分重要系统功能模块。

  (1)评审管理模块:

  该模块分为评审流程、发起评审、评审管理三个小模块,具体页面如图4-13、图4-14、图4-15所示。

  图4-13评审流程页面

  图4-14发起评审页面

  图4-15评审管理页面

  模块功能说明:

  图4-13所示的评审流程页面用于展示系统的评审流程,用户可以通过浏览此页面的 孙息了解整个职称评审流程。

  图4-14所示的发起评审页面用于职称申请人填写申请 孙息,其中一些基础的个人 孙息如姓名、性别、生日等等,会默认从账号 孙息中获取,用户无需填写;页面下半部分的职称申请材料则需申请人手动填写,该材料作为申报职称职称的主要依据。发起评审的后台功能代码实现如图4-16所示。

  图4-15所示的 孙息为当前系统保存的所有职称申请记录,对于普通员工来说只能看见自己的职称申报记录;审核人角色能看到所有申报记录;评审人角色能看到通过审核的申报记录;管理员则允许看到所有状态的申报记录。具体实现代码如图4-17所示。

  图4-16发起评审相关代码

  图4-17评审管理相关代码

  (2)系统功能管理模块:

  系统管理菜单下共有9个小功能模块,因文章篇幅原因无法一一列出,以下仅列出部分系统主要功能模块。

  ①用户管理模块页面

  如图4-18所示,该模块允许管理员对系统登录的用户进行各种操作,包括添加新用户、修改用户 孙息、删除用户、分配用户角色、重置用户密码等等功能。

  图4-18用户管理页面

  ②角色管理模块页面

  如图4-19所示,该模块允许管理员创建一些系统角色,并为这些角色分配对应的菜单权限,角色拥有某个权限则允许展示菜单并使用,若角色没有某个菜单的权限则该菜单不显示。

  图4-19角色管理页面

  ③部门管理模块页面

  如图4-20所示,该模块允许管理员对整个企业的部门架构 孙息进行维护修改。

  图4-20部门管理页面

  ④日志模块

  如图4-21、图4-22所示,日志模块分为业务日志与登录日志,业务日志用于记录系统的增删改查操作;登录日志用于记录系统的登录情况。

  图4-21业务日志页面

  图4-22登录日志页面

  ⑤系统登录模块功能

  如图4-23所示,登录页面用户作为系统的唯一入口,起到验证用户 孙息是否合法的作用。在该页面用户通过输入正确的账号和密码方可进入系统,若账号或密码错误,则提示相关错误 孙息并刷新登录页面。

  图4-23系统登录页面

  系统登录功能具体代码实现如图4-24所示。

  图4-24系统登录功能代码

  5系统测试

  软件测试一般分为黑盒测试与白盒测试:黑盒测试将系统比喻成一个不可打开的黑盒子,我们无法观看到内部结构,只能通过相应的输入输出来观察系统是否满足设计的需要;白盒测试则是基于代码的测试,指的是我们能完整的观察到系统的代码逻辑,白盒测试中最经典的方法就是逻辑覆盖方法。

   孙息化企业职称评审系统采用的是黑盒测试方法,因篇幅原因,无法列出所有的测试用例,以下仅列出部分重要功能的测试用例。

  5.1黑盒测试

  5.1.1系统登录测试

  表5-1评审管理测试用例

  用例编号测试内容描述预期目标测试结果结论

  1正确的账号密码登录成功如图5-2所示通过测试

  2错误的账号或密码登录失败并提示如图5-3所示通过测试

  3不输入账号密码登录失败并提示如图5-4所示通过测试

  图5-2登录成功测试图

  图5-3账号密码错误测试图

  图5-4账号密码为空测试图

  5.1.2评审管理测试

  表5-1评审管理测试用例

  用例编号测试内容描述预期目标测试结果结论

  1新增评审新增成功如图5-2所示通过测试

  2查看评审流程跳转页面如图5-3所示通过测试

  3取消评审取消成功如图5-4所示通过测试

  测试结果如下图所示

  图5-5新增评审测试图

  图5-6查看评审流程测试图

  图5-7取消测试图

  5.2并发性测试

  5.2.1多用户并发测试

  使用JMeter工具模拟100个用户在10s内登录系统,JMeter配置如下:

  图5-8 JMeter配置图1

  图5-9 JMeter配置图2

  测试结果如下:

  图5-10 JMeter并发性测试结果图

  从图5-10中的数据可以得知,100个用户在10s内同时登录 孙息化企业职称评审系统时,系统能够进行正常的响应,成功率为100%,由此可以得出结论,本系统具有良好的并发性能。

  5.3安全性能测试

  黑客在攻击网站时,往往会向系统页面的表单输入一些xss脚本或sql语句,以达到入侵系统、修改系统数据等等目的,所以本系统在相关页面设置了xss和sql语句注入的拦截器,以下我们模仿黑客进行xss(跨站脚本)攻击。

  输入测试数据如图5-11所示:

  图5-11 xss测试数据输入图

  执行结果如下图所示:

  图5-12测试数据结果图

  结论:如图5-11所示,xss(跨站脚本)在保存之前被后台转码为普通字符,因此无法对系统造成影响,所以本系统能具有一定的安全性能。

相关热词搜索: 论文降重 降重技巧 降重 上一篇: 论文方式解析-基于PHP的网上电子商城系统的设计与实现 下一篇: 论文技巧大全-CA6150车床数控化改造设计