You are on page 1of 73

湖南涉外经济学院

本科毕业论文(设计)

长沙工业学院筹建事务中心网
题 目 站设计与实现

作 者 张志宇

学 院 信息与机电工程学院

专 业 软件工程

学 号 222300810
指导教师 李锡辉

二〇二四 年 五 月 十五 日
湖南涉外经济学院本科毕业论文(设计)诚信声明

本人声明:所呈交的本科毕业论文(设计),是本人在指导老

师的指导下,独立开展工作所取得的成果,成果不存在知识产权争

议,除文中已经注明引用的内容外,本论文不含任何其他个人或集

体已经发表或创作过的作品成果。对本文工作做出重要贡献的个人

和集体均已在文中以明确方式标明。本人完全意识到本声明的法律

结果由本人承担。

本科毕业论文(设计)作者签名:

二〇二四 年 五 月 十五 日

I
摘 要
2021 年 10 月 28 日,湖南师范大学树达学院与长沙市人民政府在市政府会
议室举行合作推进树达学院转设协议暨市校深度融合发展战略合作协议签署仪
式,根据协议内容,湖南师范大学树达学院将转设为长沙市属公办应用型本科
院校——长沙工业学院,着重发展对接长沙 22 条产业链的学科专业,打造具有
地方特色、高水平应用型本科院校。在长沙工业学院批准设立之前,由长沙市
教育局委托长沙工业学院筹建事务中心统筹工作安排、招聘、管理、服务、考
核以及待遇发放等各项事务。
近年来,高校教育信息化领域不断推进,学校网站平台在内外宣传中扮演
着日益重要的角色,高校对网站建设的关注度也不断增加。在这种背景下,为
加快高校教育信息化建设,建立一个安全性高、易于管理且具备良好扩展性的
门户网站,是长沙工业学院筹建事务中心当前的重点工作。
长沙工业学院筹建事务中心网站系统整体框架基于 SpringBoot。其前端页
面采用了 Element UI 库,并利用主流前端框架 Vue.js 进行双端开发,移动端
和 PC 端各有不同界面,完全适配所有终端设备,数据库方面则使用了 MySQL 关
系型数据库。该系统实现了用户管理、权限管理、日志查询、公告通知、文档
管理、文档导入、栏目设计、栏目维护、模板设计与使用、自定义流程模型、
管理待办、流程管理、流程意见、在线绘制流程、媒体素材维护、数据监控、
服务监控、缓存监控等功能。有四个角色,分别是:超级管理员、用户、文档
发布员、管理员。超级管理员,管理员能进行权限的分配。其他角色能分别使
用自己权限范围内的功能。
本文详细介绍了长沙工业学院筹建事务中心网站建设背景以及应用意义,
长沙工业学院筹建事务中心网站上线以后,有效地解决了筹建事务中心宣传方
面的诸多问题,成为学校教育信息化建设重要的组成部分,为学校的发展提供
了良好通知公告宣传平台。
目前网站已上线运行,网址:https://www.cit-po.cn

关键词:长沙工业学院筹建事务中心网站;Vue;Element UI;MySQL;
SpringBoot

II
ABSTRACT
On October 28, 2021, Shuda College of Hunan Normal University and the
People's Government of Changsha City held a signing ceremony for the agreement on
promoting the conversion of Shuda College into Changsha Institute of Technology, as
well as the strategic cooperation agreement for deep integration between the city and
the university. According to the agreement, Shuda College of Hunan Normal
University will be converted into Changsha Institute of Technology, a publicly funded
applied undergraduate institution affiliated with Changsha City. The institute will
focus on developing disciplines and majors that align with the 22 industrial chains in
Changsha, aiming to create a locally distinctive and high-level applied undergraduate
institution. Prior to the establishment of Changsha Institute of Technology, the
Preparatory Office of Changsha Institute of Technology, entrusted by the Education
Bureau of Changsha City, is responsible for coordinating work arrangements,
recruitment, management, services, assessment, and compensation distribution.
In recent years, the field of educational informatization in higher education has
been advancing continuously, and university websites have played an increasingly
important role in internal and external promotion. Universities are also paying more
attention to website construction. Against this backdrop, establishing a secure, easily
manageable, and highly scalable portal website is currently a key focus for the
Preparatory Office of Changsha Institute of Technology.
The overall framework of the website system of the Preparatory Office of
Changsha Institute of Technology is based on SpringBoot. The front-end pages adopt
Element UI technology and utilize the mainstream front-end framework Vue.js for
dual-platform development, with different interfaces for mobile and PC devices, fully
adapting to all terminal devices. In terms of databases, MySQL relational database is
used. The system implements functions such as user management, permission
management, log query, announcement notification, document management,
document import, column design, column maintenance, template design and usage,
custom process models, task management, process management, process opinions,
online process drawing, media material maintenance, data monitoring, service
monitoring, cache monitoring, etc. There are four roles, namely: Super Administrator,
User, Document Publisher, and Administrator. Both the Super Administrator and
Administrator have the capability to assign permissions. Other roles can use functions

III
within their respective permission scopes.
This article provides a detailed introduction to the background and application
significance of the website construction of the Preparatory Office of Changsha
Institute of Technology. After the website was launched, it effectively solved many
issues related to the promotion of the Preparatory Office and became an important
component of the university's educational informatization construction, providing a
good platform for notice and announcement dissemination.

Keywords:Preparatory Office of Changsha Insitute of Technology Portal Website;


Vue;Element UI;MySQL;SpringBoot

IV
湖南涉外经济学院本科生毕业论文(设计)

目 录
湖南涉外经济学院本科毕业论文(设计)诚信声明............................................................................... I
摘 要 ..................................................................................................................................................................... II
ABSTRACT ..........................................................................................................................................................III
第一章 绪 论 .....................................................................................................................................................1
1.1 课题背景及意义 ................................................................................................................................1
1.1.1 课题背景 ................................................................................................................................1
1.1.2 课题目的和意义...................................................................................................................1
1.2 国内外研究现状 ................................................................................................................................2
1.2.1 国内的研究现状...................................................................................................................2
1.2.2 国外的研究现状...................................................................................................................2
1.3 论文的组织结构 ................................................................................................................................2
第二章 相关技术介绍 .......................................................................................................................................4
2.1 Vue............................................................................................................................................................4
2.2 Element UI..............................................................................................................................................4
2.3 SpringBoot..............................................................................................................................................4
2.4 MySQL ....................................................................................................................................................4
2.5 Spring Security ......................................................................................................................................5
2.6 Redis ........................................................................................................................................................5
2.7 Jwt.............................................................................................................................................................5
2.8 B/S 结构 ..................................................................................................................................................5
2.9 本章小结.................................................................................................................................................6
第三章 系统分析.................................................................................................................................................7
3.1 可行性分析 ............................................................................................................................................7
3.1.1 经济可行性 ............................................................................................................................7
3.1.2 技术可行性 ............................................................................................................................7
3.1.3 社会可行性 ............................................................................................................................7
3.2 系统需求分析 .......................................................................................................................................8
3.2.1 需求概述 ................................................................................................................................8
3.2.2 非功能需求分析...................................................................................................................8
3.2.3 功能需求分析 .......................................................................................................................9
3.3 行为建模.............................................................................................................................................. 12
3.3.1 行为建模与活动图的概念 ............................................................................................. 12
3.3.2 活动图的获取 .................................................................................................................... 12
3.4 本章小结.............................................................................................................................................. 15
第四章 系统设计.............................................................................................................................................. 16
4.1 系统架构.............................................................................................................................................. 16
4.2 系统功能模块设计 ........................................................................................................................... 16
4.3 系统工作流程设计 ........................................................................................................................... 18
4.4 数据库设计 ......................................................................................................................................... 20
4.4.1 数据库概念设计................................................................................................................ 20
4.4.2 数据库表设计 .................................................................................................................... 27

IV
湖南涉外经济学院本科生毕业论文(设计)

4.5 详细类设计 ......................................................................................................................................... 33


4.5.1 流程图描述 ......................................................................................................................... 33
4.5.2 类设计概念 ......................................................................................................................... 35
4.5.3 类设计描述 ......................................................................................................................... 36
4.6 本章小结.............................................................................................................................................. 37
第五章 系统实现 ........................................................................................................................................... 38
5.1 系统开发环境 .................................................................................................................................... 38
5.2 功能模块的实现................................................................................................................................ 38
5.2.1 登入界面 ............................................................................................................................. 38
5.2.2 系统监控模块模块 ........................................................................................................... 39
5.2.3 日志管理模块 .................................................................................................................... 39
5.2.4 系统配置模块 .................................................................................................................... 40
5.2.5 流程模型管理模块 ........................................................................................................... 41
5.2.6 人员和权限管理模块 ...................................................................................................... 42
5.2.7 流程管理模块 .................................................................................................................... 43
5.2.8 网站栏目管理模块 ........................................................................................................... 44
5.2.9 通知公告模块 .................................................................................................................... 48
5.2.10 文档管理模块 .................................................................................................................. 49
5.2.11 媒体素材管理模块......................................................................................................... 56
5.2.12 网站模块 ........................................................................................................................... 57
5.4 本章小结.............................................................................................................................................. 58
第六章 系统测试.............................................................................................................................................. 59
6.1 测试用例.............................................................................................................................................. 59
结 论 .................................................................................................................................................................. 64
参考文献.............................................................................................................................................................. 65
致 谢 .................................................................................................................................................................. 66

V
湖南涉外经济学院本科生毕业论文(设计)

第一章 绪 论

1.1 课题背景及意义

1.1.1 课题背景

长沙工业学院是落实国家教育部《关于加快推进独立学院转设工作的实施
方案》批准转设的公办全日制普通本科高校,学校转设标志着市校合作迈出了
新步伐,既符合国家高等教育改革的政策要求,又切合湖南师范大学树达学院
转型发展和长沙市经济社会发展的现实需要。
从国家提倡信息化建设以来,各个行业都在互联网的发展潮流中针对自身
业务进行着信息化的实现来提升自身对外宣传和展示的能力。教育行业也不例
外,建设一个网站是一种快速的高效的实现信息推广和扩散的网络平台。
一个良好的网站既能很好的对外展示自我,也可以更加广泛的实现学院和
社会之间的互动和交流,因此要求开发一套适用于实际情况的门户网站,筹建
事务中心将网站设计与实现作为 2023 年的重要工作内容之一,从根本上解决学
校宣传引导、通知发布、网站建设、使用及维护的若干问题,为学校转设前提
供良好的展示平台。

1.1.2 课题目的和意义

这些年来,国家和个地区政府依然特别关心和重视教育,各级政府以及学
校领导都会大力的支持学院的建设工作。在这样的环境氛围下,各个学院也应
该积极的建设自身的网站,因为,只有建立了自己的网站,学院的信息才能及
时地得到传达,才能在信息化的社会和国情里面立足,才能有更好的知名度和
发展前途[1]。
使用该系统后,学校将能够及时更新和展示自身数据,增加学院的知名度,
对学院的发展具有积极意义。在需求分析的调研过程中,充分论证了学校的需
求,并记录和修改了其中存在的需求问题。最终,采用了当前流行的数据库管
理系统和语言框架,构建了符合学校需求的网站系统。系统采用了常用的 B/S
开发架构模式,对于前期开发和后期系统实施和维护都起到了积极作用。
该项目的实施将赋予学院全新的管理手段和方式,以提升办公效率、增强
信息化能力并减轻工作压力。

1
湖南涉外经济学院本科生毕业论文(设计)

1.2 国内外研究现状

1.2.1 国内的研究现状

通过转设期间独立学院高校门户网站网络影响力研究[2],结合自己的分析
总结表明:门户网站在网络上的影响力不可忽视,独立学院是高等高校的一部
分。同时,它也是一个重要的教育网络信息资源,在搜索引擎排名中享有特权
地位。尤其是在独立学院转设期间,搜索引擎会重新评估网站的权重,对搜索
结果产生重要影响。
通过对山东青年政治学院网站内容管理系统设计与实现,李永正文献的研
究[3],总结了一下的基本功能内容:对文档的录入、对工作人员的管理、对网
站系统安全管理、对文档发布流程的管理和记录、操作日志的记录和回溯。
经过以上文献的分析,门户网站作为一个重要的教育信息资源,在网络影
响力方面具有重要意义。独立学院应充分利用门户网站传播学校的品牌形象和
教育理念,门户网站在搜索引擎排名中具有特权地位,尤其是在独立学院转设
期间,搜索引擎会重新评估网站的权重。因此,网站应当关注搜索引擎优化策
略,提高网站排名及知名度,提高门户网站的信息发布效率和保障网站安全稳
定运行。

1.2.2 国外的研究现状

相较于中国,国外的网站开发和建设起步较早,而中国在过去三十年里才
实现了互联网和数字化的快速发展。欧美地区的网站建设经验值得我们学习。
通过对美国黄石国家公园网站服务研究及启示[4]文献研究。美国是互联网
的起源地,国家公园网站中于细节处体现人文关怀精神,例如:网页制作布局
力求简洁清晰;图片对比度明显并且备有文字注释;官方公园地图和指南拥有盲
文、音频及纯文本等多种格式可供选择等等,网站处处提现的实用性,例如:
公园官方出版物免费下载,交互式电子地图服务等,而且网站分类清晰明了,重
点信息突出。他们的信息技术和 Web 技术是非常完善的,对网站的建设也是起
到推进作用的。
国外的网站建设,注重新技术和 Web 技术的应用,每个国家的网站建设,
都要借鉴成熟的网站建设发展经验,注重整体化的建设,与数字化、计算机技
术的结合。

1.3 论文的组织结构

论文分为六个章节。
第一章:绪论。详细介绍长沙工业学院筹建事务中心的建设背景及关键技
2
湖南涉外经济学院本科生毕业论文(设计)

术研究设计、目的、意义以及国外研究现状。
第二章:介绍系统开发过程中所运用到的技术:Vue.js 框架、Element UI
库、MySQL 关系型数据库、SpringBoot 开发框架、Spring Security 安全框架、
Redis 内存数据库等。
第三章:系统分析。将会对系统的需求分析、可行性分析以及行为的建模,
对系统的工作步骤阐述清除。
第四章:系统设计。这一章主要是根据上一章得到的系统功能需求对系统
数据库、系统工作流程、系统详细类、系统功能模块和系统架构进行设计。
第五章:智慧社区管理系统实现。根据系统功能模块进行详细的系统实现
效果展示。
第六章:系统测试。系统测试主要会使用到黑盒测试和白盒测试,找出系
统中不足,以及完善系统的功能需求。
最后为结论。

3
湖南涉外经济学院本科生毕业论文(设计)

第二章 相关技术介绍
这一章节简介本系统开发过程中所运用到的技术。

2.1 Vue

Vuejs 是一种流行的前端框架,它使用 MVVM(模型视图视图模型)设计模


式来支持数据驱动和基于组件的开发,前后端分离技术在 Web 开发中的优势,
为全栈开发提供了强大的前端支持[5],它的易用性和组件化架构得到了广泛的
认可,通过组件化的架构,它能够简化模板的复用,从而提高代码的可维护性
和合理性。

2.2 Element UI

Element UI 是一套适用于前端页面开发的 UI 库,与 vue.js 结合使用,它


提供了很多的 UI 组件,使用这个库可以有效的减少开发人员的工作量,提高效
率。

2.3 SpringBoot

SpringBoot 是 Spring 生态系统不可或缺的一部分,它极大地改变了基于


Java 的应用程序开发的格局。它的脱颖而出之处在于提供了一个包罗万象的平
台,简化了从设置到部署的整个开发过程。其标志性功能之一是能够根据现有
的库自动配置应用程序,体现了“约定优于配置”的理念。这确保了开发人员
可以专注于构建应用程序的核心功能,而不必陷入复杂的配置中。此外,其嵌
入式服务器功能消除了对外部服务器设置的需要,进一步简化了开发过程。这
些创新使 SpringBoot 成为开发人员的首选,尤其是在微服务和 Web 应用程序
领域。能够熟练应对复杂的管理挑战,满足多终端接入、前端分离等多样化需
求,凸显了其在当代发展中的关键作用。

2.4 MySQL

MySQL 是一个著名的开源关系数据库管理系统 (RDBMS),以其速度、可靠


性、开源和易用性而闻名。与许多其他数据库不同,MySQL 支持大量存储引擎,
每个引擎都针对特定用例量身定制,这使其高度灵活,能够适应不同的工作负
载需求。 此外,其简单且记录齐全的设置以及强大的社区支持使其与
PostgreSQL 和 SQL Server 等其他 RDBMS 区分开来。 虽然 PostgreSQL 可能
提供先进的索引技术和全文搜索功能,并且 SQL Server 提供与其他
4
湖南涉外经济学院本科生毕业论文(设计)

Microsoft 服务的紧密集成,但 MySQL 通过为开发人员和数据库管理员提供可


靠的性能、用户友好的界面以及灵活的环境来实现平衡 一样。并且 MySQL 支持
与 SpringBoot 无缝衔接。

2.5 Spring Security

Spring Security 是 Spring 生态系统的一个组成部分,它是一个为 Web


应用程序量身定制的强大且可定制的身份验证和访问控制框架。随着数字环境
的发展,确保 Web 应用程序的安全性变得至关重要。Spring Security 通过提
供全面的安全解决方案(从身份验证机制到复杂的访问控制配置)来满足这一
需求。它的适应性以及与其他 Spring 项目的集成能力使其成为旨在增强应用
程序免受潜在安全威胁的开发人员的首选。通过在不影响可用性的情况下强调
安全性,Spring Security 巩固了其作为现代 Web 应用程序开发中关键工具的
作用,确保应用程序保持安全。

2.6 Redis

Redis 是一种内存数据结构存储,用作数据库、缓存和消息代理,其突出
的功能之一是能够更频繁地从应用程序检索数据,事实证明,与关系数据库相
比,Redis 数据库有助于更频繁地从应用程序获取数据,从而提高系统性能 [6],
这种功能与其轻量级特性和快速数据访问相结合,使 Redis 成为现代软件架构
中的关键工具,特别是在需要实时数据处理和高速缓存的场景中。

2.7 Jwt

JSON Web Tokens (JWT) 已成为在两方之间安全表示声明的标准方法。


JWT 结构紧凑、URL 安全并且可以签名或加密,使其成为现代 Web 应用程序中
身份验证和授权的流行选择。它们的轻量级特性以及易于解析和生成的能力使
JWT 成为基于令牌的身份验证的首选机制,特别是在单页应用程序 (SPA) 和微
服务架构中。通过以令牌格式封装用户声明,JWT 提供了一种可扩展且高效的
方式来维护用户会话并在服务之间传输信息,而无需重复查询身份验证服务器
[7]
。 这种方法不仅提高了性能,还简化了分布式系统中的身份验证和授权流程。

2.8 B/S 结构

B/S 结构,通常称为浏览器/服务器结构,是一种将软件或网络架构分为两
个主要组件的设计模型:客户端(浏览器)和服务器,在该模型中,客户端向
服务器请求服务和资源,服务器处理这些请求并将所需的信息返回给客户端。
5
湖南涉外经济学院本科生毕业论文(设计)

B/S 结构的主要优点是能够将数据和业务逻辑集中在服务器上,从而更容易管
理、更新和扩展。随着 Web 应用和云计算的兴起,B/S 模式越来越流行。

2.9 本章小结

综合本章内容可以得知本系统通过结合这些技术,旨在构建一个高效、安
全且易于维护的应用,该系统在设计开发时所运用到的技术有:Vue.js、
Element UI、SpringBoot、MySQL、Redis、SpringSecurity、Jwt 等。

6
湖南涉外经济学院本科生毕业论文(设计)

第三章 系统分析
通过本章将可以了解到长沙工业学院筹建事务中心网站的可行性分析、需
求概述、非功能需求分析和行为建模。

3.1 可行性分析

3.1.1 经济可行性

投入与预期收益: 考虑到长沙工业学院是为了实现市校合作和符合教育改
革政策的要求,因此在资金上,市政府与相关部门应会提供一定的支持。开发
一个门户网站相对来说成本不会很高,但考虑到这是为了学校的宣传与发展,
预期的收益如提高知名度、学校信息的及时发布等,是无法直接用经济来衡量
的。
长远收益: 一个稳定、易于维护的门户网站可以长期为学校服务,未来随
着学校的发展,其价值会逐渐显现。

3.1.2 技术可行性

系统前端技术采用 Vue.js,Element UI,是当前流行的前端框架,后端技


术采用 SpringBoot,MySQL,Redis,SpringSecurity,Jwt,拥有:
整合性: 前述技术在当前的开发环境中是经常被结合使用的,其间的兼容
性和整合性都是非常好的。例如,Vue.js 与 Element UI 的结合可以快速开发
前端页面,SpringBoot 结合 MySQL 和 Redis 可以快速搭建后端服务。
安全性: 使用 SpringSecurity 与 Jwt 为系统提供了稳固的安全防护,可以
有效地防止常见的安全威胁,如 SQL 注入、跨站脚本攻击等。
性能: MySQL 和 Redis 的结合使得系统在数据存储方面具有高性能和高可
靠性。Redis 作为缓存可以大大加速频繁的读操作,而 MySQL 则保证了数据的
持久化和事务性。
扩展性: Vue.js 和 SpringBoot 均为模块化的框架,为系统提供了良好的
扩展性,后续随着业务的发展,可以方便地添加新的功能或模块。
所选择的技术都是当前主流的开发工具和框架,背后有强大的社区支持。
这意味着在开发和后续维护过程中,遇到问题可以得到快速的解决,未来在技
术升级和改进时,可以得到持续的支持。

3.1.3 社会可行性

一个功能完善的门户网站不仅可以加强学校与学生、企业、社会的交流,
还能为学校带来更多的合作机会,这对于学校的长期发展是非常有意义的。

7
湖南涉外经济学院本科生毕业论文(设计)

3.2 系统需求分析

3.2.1 需求概述

为了满足长沙工业学院筹建事务中心的宣传和信息管理需求,我们需要开
发一个门户网站。此系统将作为筹建事务中心的主要信息展示平台,允许管理
员上传新闻、公告和其他相关信息,并为访问者提供一个用户友好、响应迅速
的界面来获取学校的最新动态和其他重要信息。
通过对甲方的需求调查和对现实情况分析,为系统的设计与开发做了一份
全面的需求分析。

3.2.2 非功能需求分析

1.系统的性能需求
性能要求上,系统页面的反应速度必须在 3 秒内完成。此系统必须具备连
续 7 天,24 小时不停歇的工作性能,确保其持续工作时间占全部运行时间的
99.9%。随着业务的发展,系统将处理更多数据,因此需要有强大的数据处理
能力。此外,系统的数据存储期应至少为 2 年。
2.系统的可靠性需求
为确保系统长期稳定运行,我们必须确保其可靠性,从一开始,软件的设
计就要考虑如何确保持续性,版本控制策略和详细的系统日志能帮助我们识别
并处理问题。通过备份,我们能保护数据,从而减少数据损失所带来的影响。
3.系统的安全性需求
为确保数据安全性,所有的数据传输都应进行加密,并提供人员权限管理
工具,以保护敏感信息,定期进行安全审计和漏洞扫描。
考虑到系统基于复杂多变的互联网环境,为系统提供一个安全的网络状态
变得尤为关键。
4.系统的可维护性需求
为了适应未来的需求变化,该网站系统应具备出色的扩展性和维护性。通
过采用模块化和组件化的设计,系统能够适应各种变化和需求。架构的设计尽
可能考虑到未来的需要,因此系统采用前后端分离的架构模式,前后端分离的
架构模型,通常被称为解耦架构,使其更加独立。这意味着当新的业务需求出
现时,我们可以轻松地在现有系统中添加功能,而无需修改其他部分。
5.系统的兼容性和易用性需求
该界面采用可视化的界面,界面简洁,美观大方。用户界面应当直观、明
了、条理清晰。实现“傻瓜型”管理一一易学、易用、易管理。

8
湖南涉外经济学院本科生毕业论文(设计)

3.2.3 功能需求分析

通过对门户网站的调查和内容管理系统的研究,分析得出系统使用的对象
分为:超级管理员、管理员、文档发布员、网站用户。
通过对甲方需求分析,需要实现一下的功能:人员管理、权限管理、日志
查询、公告通知、文档管理、栏目设计、栏目维护、模板设计与使用、自定义
流程模型、管理待办、流程管理、流程意见、在线绘制流程、媒体素材维护、
数据监控、服务监控、缓存监控、系统配置。
以下通过系统用例建模来分析系统功能需求:
1.权限管理用例
系统的使用者分为超级管理员、管理员、文档发布员和网站用户四大角色。
其中,超级管理员拥有系统最高的权限人员;管理员拥有人员管理、权限管理、
公告通知、栏目设计、栏目维护、管理待办、流程管理、流程意见;文档发布
员拥有文档管理、模板设计与使用和媒体素材维护;网站用户拥有文档查看和
附件查看与下载。图 3.1 为系统权限用例图。

系统监控
人员管理
自定义流程模型
日志查询
权限管理

公告通知

管理待办

流程管理

管理员
流程意见

栏目维护

超级管理员 栏目设计

模板设计与使用

媒体素材管理

文档管理
文档发布员
服务监控

缓存监控
文档查看
绘制流程模型

系统配置 附件素材查看与下载
用户

图 3.1 权限管理用例图
9
湖南涉外经济学院本科生毕业论文(设计)

2.超级管理员
超级管理员拥有系统的最高权限:
超级管理员有特有的功能:系统配置、流程绘制、缓存监控、服务监控、
日志查询、系统监控、自定义流程。系统配置能对在线用户、字典、参数进行
设置管理。绘制流程可以让系统管理员在线绘制流程并导出。缓存监控能实时
监控 Redis 使用情况和内存消耗。服务监控可以监控 Java 虚拟机的运行情况。
日志查询可以查看所有角色对系统的操作行为和登陆行为。系统监控可以实时
查看服务器运行情况。自定义流程拥有模型导入和模型管理功能,以及拥有门
户网站管理中的全部功能,
图 3.2 为系统管理员用例图。

自定义流程模型 <<包含>> 模型导入和管理

系统监控 <<包含>> 服务器监控

登陆日志
<<包含>>
日志查询
<<包含>>
操作日志

服务监控 <<包含>> Java虚拟机监控

<<包含>> Redis监控
缓存监控

超级管理员 绘制流程模型 <<包含>> 模型导出

字典管理

<<包含>>

系统配置 <<包含>> 参数设置

<<扩展>>
在线用户管理

图 3.2 超级管理员用例图
3.管理员
管理员拥有系统的部分权限,主要用于文档审批:
查询、删除、修改人员信息;拥有权限传递能力、可以将角色拥有的能力
传递给下一级角色;发布系统公告;处理审批流程、审批文档、批示意见;拥
有栏目的维护能力和设计权限;在管理栏目的过程中还可以使用模板配置到栏
目中。图 3.3 为管理员用例图。

10
湖南涉外经济学院本科生毕业论文(设计)

发布意见
增加人员

<<包含>> <<包含>>
删除人员
<<包含>> 流程通过
人员管理
<<包含>> 流程意见
查询人员
<<包含>>
<<包含>> 流程驳回
删除人员
<<包含>>
管理代办
权限分配 栏目修改
<<包含>>
权限管理
<<包含>>
栏目维护
新增通知
<<包含>> 栏目添加
公告通知 <<包含>>
<<包含>> 管理员
删除通知 栏目设计
<<包含>>
<<包含>> 栏目删除

查看通知 流程管理
模板设计
<<包含>>
<<包含>>
部署流程 <<包含>> 分配模板
<<包含>>
<<包含>>
查看流程

挂起流程
删除流程

图 3.3 管理员用例图
4.文档发布员
文档发布员拥有系统的部分权限,主要用于日常文档的发布;
拥有已发布文档的删除、修改、增加能力,在发布文档过程中可以上传
word 文档自动解析,插入图片和视频的过程中选择保存和删除。图 3.4 为文档
发布员用例图。

提交审批流
发布文档
<<包含>>
<<包含>>
编辑文档
<<包含>> 流程意见
文档管理
<<包含>>
查询文档
<<包含>>
<<扩展>> 添加素材
删除文档

<<包含>>
导入文档 文档发布员
删除素材
<<包含>>
公告通知 媒体素材管理

<<包含>>
<<包含>>

使用素材
查看通知

图 3.4 文档发布员用例图
5.网站用户
网站用户可以在门户网站查看已发布的文档和网站信息,并在文档中下载

11
湖南涉外经济学院本科生毕业论文(设计)

附件和网站资源。图 3.5 为网站用户用例图。

文档查看 附件下载

网站用户

图 3.5 网站用户用例图

3.3 行为建模

3.3.1 行为建模与活动图的概念

活动图是用于描述系统行为,用来解释活动的流程,实现活动转变的控制
流。下面将通过活动图描述系统操作流程。

3.3.2 活动图的获取

这里主要给出管理员人员管理功能的活动图,其他模块的活动图与此类似。
1. 管理员管理系统人员的流程对应活动图如图 3.5 所示。

12
湖南涉外经济学院本科生毕业论文(设计)

登陆系统 选择系统管理

点击按钮 选择人员管理

弹出窗口

输入内容

填写不完整

确认提交 取消提交

填写完整

图 3.5 人员管理活动图
2.文档发布员进行文档发布并审批的流程对应活动图如图 3.6 所示。

13
湖南涉外经济学院本科生毕业论文(设计)

文档发布员 管理员

发布文档 审批文档

登陆系统 选择内容设置

点击栏目 选择文章中心

弹出窗口

填写内容

提交审批

审批意见

审批不通过
发布文档

提交意见

审批通过
审批
提交

图 3.6 文档发布并审批活动图

14
湖南涉外经济学院本科生毕业论文(设计)

3.用户在网站进行浏览和下载附件的流程对应活动图如图 3.7 所示。

打开网站 选择栏目

点击附件下载 选择文章

图 3.7 用户浏览网站活动图

4.超级管理员或管理员发布通知公告的流程对应活动图如图 3.8 所示。

登陆系统 选择系统管理

弹出窗口 点击按钮 选择通知公告

填写内容 提交

图 3.8 通知公告活动图

3.4 本章小结

本章节对系统进行了全面的分析,明确了系统需要实现哪些功能并且将功
能具体化,活动图展示了系统中不同功能的操作流程和决策路径,用例图为我
们提供了一个高层次的视角,展示了系统与其参与者之间的互动关系。这一章
节的内容也为接下来的系统设计打好了基础。

15
湖南涉外经济学院本科生毕业论文(设计)

第四章 系统设计
这一章主要是对系统数据库、系统工作流程、系统功能模块、系统详细类
和系统架构进行设计。

4.1 系统架构

系统采用“客户端-服务器”(Client-Server)架构:客户端,前端,后
端。客户端(Client): 通常指用户直接使用的设备,例如手机、电脑、平板
等,上面运行的应用与用户直接交互。
前端(Frontend): 在网络应用中,通常指运行在浏览器中的代码,如
HTML, CSS, JavaScript 等,负责与用户的直接交互,并且展现数据。
后端(Backend): 通常指服务器端,负责处理业务逻辑,与数据库交互,
提供 API 等。
该模型将数据和资源集中在服务器上,从而实现高效的资源管理、可扩展
性和集中控制。近年来,客户端-服务器架构因其能够改善组织不同部分之间的
集成、有效分配工作负载以及确保跨各种操作系统和硬件平台的兼容性而受到
重视[8]。图 4.1 为系统架构模式图:

图 4.1 系统架构模式图

4.2 系统功能模块设计

该系统分四个角色分别是超级管理员、管理员、文档发布员,用户没有注
册账号的功能,只能在网站进行浏览,前三个角色都是由超级管理员或管理员
16
湖南涉外经济学院本科生毕业论文(设计)

编辑的账号。系统功能结构图如图 4.2 所示。


长沙工业学院筹建事
务中心网站

超级管理员 管理员 文档发布员 用户

流 公 媒
程 人 权 告 流 栏 体 文 文 附
监 日 配 模 员 限 通 程 目 素 档 档 件
控 志 置 型 管 管 知 管 管 材 管 查 下
管 理 理 管 理 理 管 理 看 载
理 理 理


服 缓 系 登 操 字 参 线 绘 模 管 流 流 栏 栏
务 存 统 陆 作 典 数 用 制 型 理 程 程 目 目
监 监 监 日 日 管 设 户 流 管 待 管 意 设 维
控 控 控 志 志 理 置 配 程 理 办 理 见 计 护

图 4.2 系统功能结构图
系统功能模块主要由以下几部分组成:
1. 系统管理:是对人员和服务的管理,有功能目录监控、日志、配置、人
员管理、权限管理。
(1)监控:服务监控、缓存监控、系统监控。
服务监控:系统登录日志记录查询包含登录异常。
缓存监控:系统内存和缓存使用的详细记录。
系统监控:硬件资源和操作系统的实时状态报告。
(2)日志:登陆日志,操作日志。
登陆日志:用户登陆和退出的时间戳及相关信息。
操作日志:用户在系统中的所有操作活动和时间记录。
(3)配置:字典管理、参数设置、在线用户配置。
字典管理:词汇条目和相关定义的维护与更新。
参数设置:系统运行和功能的可调整参数选项。
在线用户配置:当前活跃用户的权限和设置调整。
(4)人员管理:对所有能登陆后台管理系统的用户进行管理和配置。
(5)权限管理: 对所有能登陆后台管理系统的用户进行权限分配。
(6)通知公告管理: 发布、编辑和删除系统内的重要消息和公告。
2. 文档管理模块:对网站门户的文档进行文档编辑、文档发布、文档导入。
(1)文档编辑: 使用富文本编辑器对文档内容进行创建、修改和格式化操
作。
(2)文档发布: 将编辑完成的文档正式推向筹建事务中心门户网站。
(3)文档导入: 从外部源将文档载入系统中,支持 PDF 格式。
3.栏目管理模块:对网站门户的导航栏栏目设计、栏目维护、栏目使用。

17
湖南涉外经济学院本科生毕业论文(设计)

(1)栏目设计: 规划和布局网站或应用的顶部导航菜单,确保用户友好和
直观的界面体验。
(2)栏目维护: 对现有导航菜单的内容进行更新、修正和优化,确保信息
的准确性和用户的易用性。
(3)栏目使用:用户根据导航菜单进行操作和浏览,获取所需信息或完成
特定任务。
4. 媒体资源管理模块:文档编辑时对媒体素材维护,媒体素材使用。
(1)媒体素材维护:对存储的图片、视频、音频等多媒体资源进行管理、
更新和优化,确保其质量和适用性。
(2)媒体素材使用:在文档编辑中引用和应用已存储的图片、视频、音频
等多媒体资源,以增强表现力和吸引力。
5. 审批流模块: 管理系统文档发布时的流程,自定义流程模型、管理待办、
流程管理、流程意见、在线绘制流程。
(1)自定义流程模型:根据特定需求设计和配置的工作流程,允许用户按
照自己的业务逻辑进行操作和管理。
(2)管理待办:对即将执行的任务和事项进行排序、优先级设置和跟踪。
(3)流程管理:对整个工作流程进行设计、监控和优化,确保业务流程的
高效运行。
(4)流程意见:收集和记录在工作流程中的反馈和建议,以便进行后续的
改进。
(5)在线绘制流程:使用在线工具实时创建和修改工作流程图,直观展示
流程的各个环节。
6. 模板管理: 对网站门户的页面进行模板设计,模板使用。
(1)模板设计:根据特定需求创建和调整的预设格式,以便于快速生成统
一和专业的内容。
(2)模板使用:根据已设计的模板进行内容填充和生成,确保输出的文档
或项目保持一致的风格和格式。

4.3 系统工作流程设计

经过调查研究,系统工作流程分四个角色进行:超级管理员、管理员、文
档发布员以及网站用户工作流程。
超级管理员工作流程:超级管理员进入长沙工业学院筹建事务中心后台系
统登录界面,填写账号、密码和验证码。经过系统验证之后,进入系统的后台
主界面。超级管理员拥有系统的最高权限,可以查看所有角色的操作记录,同

18
湖南涉外经济学院本科生毕业论文(设计)

时也可以设置系统参数。能够进行人员管理,权限分配,和用户创建等操作,
确保系统的安全性和稳定性。能查看系统数据监控,了解系统运行的实时状态,
如在线人数、操作记录等。有权对任何内容进行修改或删除,确保网站内容的
准确性和及时性。
管理员工作流程:管理员在登录界面输入账号、密码和验证码。通过系统
验证后,成功进入后台管理页面。可以进行人员管理、权限管理、公告通知、
栏目设计、栏目维护、管理待办、流程管理、流程意见等操作。能根据需要发
布或更新公告,公告内容包括标题、类型、状态、创建者、创建时间和具体内
容。对于用户提交的建议或反馈,管理员能进行查看和处理,保证与工作人员
之间的沟通畅通。对于网站的数据和信息进行统计分析,确保网站运行的正常
和效率。
文档发布员工作流程:文档发布员在登录界面输入账号、密码和验证码。
系统验证后,成功登陆到文档管理界面。可进行文档的发布、修改和删除等操
作。能使用模板进行文档的设计和编辑,确保文档的格式统一。对于文档中使
用的媒体素材进行管理和维护,确保媒体内容的质量。根据需要,可以发布或
更新文档,确保网站内容的及时性和准确性。
网站用户工作流程:用户输入网址进入网站,用户默认首先看到的是首页,
可以查看由管理员和文档发布员发布的文档和公告信息。可进行文档查看,若
有附件,可以查看和下载。
系统工作总体流程如图 4.3 所示:

19
湖南涉外经济学院本科生毕业论文(设计)

开始

长沙工业学院
筹建事务中心
网站

超级管理员 管理员 文档发布员 用户

打开管理系统 打开管理系统 打开管理系统 打开网站

输入账号密码 输入账号密码 输入账号密码 查看网站信息

文档查看,附
是否正确 是否正确 是否正确
件下载

根据角色权限 根据角色权限 根据角色权限


动态生成菜单 动态生成菜单 动态生成菜单

人员管理,权
限管理,公告
媒体素材管
所有模块 通知管理,流
理,文档管理
程管理,栏目
管理

结束

图 4.3 系统工作总体流程图

4.4 数据库设计

数据库架构和设计在整个系统数据管理中起到了至关重要的作用。一个经
过精心设计和优化的数据库不仅能显著提升数据检索和查询的效能,还可以为
开发者提供更为高效和直观的编程环境,从而简化页面设计的代码并优化数据
存储的效率。为了满足这些需求和确保最佳性能,长沙工业学院筹建事务中心
网站决定选用业界广泛认可的开源数据库 MySQL 作为其主要的数据库解决方案,
确保数据的安全性、稳定性及高效性。

4.4.1 数据库概念设计

概念模型指的是对信息世界的建模,要求要能够简单、易懂、精确的表示
概念,常用 E-R 图来描述。
系统的主要实体有:用户、操作日志、角色、菜单权限、字典、文章、栏
目、流程定义、历史意见、通知公告、历史节点实体。各个实体具体的描述属

20
湖南涉外经济学院本科生毕业论文(设计)

性图如下:
1.用户实体可以被描述为一个系统或应用中的一个抽象概念,它代表了一
个使用该系统或应用的人或其他代理,通常包含相关的属性和行为,如用户名、
密码、权限等,用于实现身份验证、授权和个性化服务。这个实体图中的用户
id 是唯一的,且作为主键,用户实体图如图 4.4 所示。

用户账号
部门ID 用户邮箱

用户ID 密码

最后登录IP
用户 帐号状态

创建者
最后登录 删除标志
时间 创建时间

图 4.4 用户实体图
2. 操作日志实体是记录系统或应用中用户或系统行为的数据结构,包括操
作类型、操作人员、操作时间、请求数据等,用于监控、审计和分析系统活动。
管理员可以查看管理系统的所有操作记录,操作日志实体图如图 4.5 所示。

业务类型
模块标题 方法名称

日志主键 请求方式

操作时间 操作日志 操作类别

返回参数
操作人员
请求参数 请求URL

图 4.5 操作日志实体图
3. 角色实体是定义在系统或应用中的一种安全模型构件,它代表了一组权

21
湖南涉外经济学院本科生毕业论文(设计)

限的集合,用于指定不同用户或用户组可以执行的操作和访问的资源,以实现
访问控制和权限管理。角色实体图如图 4.6 所示。

角色权限
字符串
数据范围
角色名称
角色状态

角色ID

角色 删除标志

更新时间

创建者
更新者 创建时间

图 4.6 角色实体图
4. 菜单权限是指在软件系统或应用中,根据用户的角色或身份,控制其对
特定菜单项和功能访问的能力,用以实现细粒度的访问控制和个性化用户界面
展示,菜单权限实体图如图 4.7 所示。

父菜单ID 显示顺序 路由地址

菜单名称
组件路径

菜单ID
是否为外

菜单权限
菜单状态

是否缓存
创建时间
创建者 权限标识
菜单图标

图 4.7 菜单权限实体图
5. 字典实体是指在软件系统或应用中用于存储和管理固定的、预定义的键

22
湖南涉外经济学院本科生毕业论文(设计)

值对数据的结构,它用于支持数据的标准化、验证和快速查询,如选项、配置
项和分类信息等。字典实体图如图 4.8 所示。

字典键值 字典类型

字典标签
状态

字典编码 字典 删除标志

创建者 是否默认
创建时间

图 4.8 字典实体图
6. 文章实体是指在内容管理系统或网站应用中用于表示和存储文章的数据
结构,是系统中主要的实体,包含标题、内容、作者、简介、栏目信息、流程
ID 等属性,用于信息发布、共享和管理。文章实体图如图 4.9 所示。

预览图 文章名称
简介
栏目ID

流程ID

文章ID
文章
正文

创建者
外链
审核状态 排序

23
湖南涉外经济学院本科生毕业论文(设计)

图 4.9 文章实体图
7. 栏目实体是指在内容管理系统或网站应用中用于组织和分类文章或内容
的结构单元,包含栏目名称、描述、层级关系和关联的文章或内容,用于实现
内容的有序组织和易于导航的用户界面。栏目实体图如图 4.10 所示。

显示顺序 栏目名称
路由地址
父栏目ID

菜单类型
栏目ID
栏目
栏目状态

创建者
外链
创建时间 模板

图 4.10 栏目实体图
8. 流程定义实体是指在工作流管理系统或业务流程管理系统中用于描述特
定业务流程的模型或模板,包括流程的步骤、任务、决策点、参与者角色和规
则等,用于指导和控制业务流程的执行和管理。流程定义实体图如图 4.11 所示。

流程名

流程ID 流程
文件路径
流程定义

创建者 创建时间

图 4.11 流程定义实体图

24
湖南涉外经济学院本科生毕业论文(设计)

9. 通知公告实体是指在系统或应用中用于发布和管理通知和公告信息的数
据结构,包含标题、内容、发布时间、发布者等属性,用于向管理系统中用户
传达重要信息、更新和提醒。通知公告实体图如图 4.12 所示。

公告标题 公告类型

公告内容

公告ID
通知公告

公告状态

创建时间
创建者

图 4.12 通知公告实体图
10. 流程历史意见实体是指在工作流在管理系统中记录流程执行过程中各
管理员的意见、决策和批注的数据结构,包括意见内容、提出者、提出时间和
关联的流程步骤等,用于追踪和审计流程决策历史。流程历史意见实体图如图
4.13 所示。

流程ID

意见内容
ID
流程历史
意见

创建者
创建时间

图 4.13 流程历史意见实体图
11. 流程历史节点实体是指在工作流在管理系统中记录已执行流程的各个

25
湖南涉外经济学院本科生毕业论文(设计)

节点信息的数据结构,包括节点名称、类型、执行时间、执行者等,用于追踪
流程执行路径。历史节点实体图如图 4.14 所示。

流程ID 节点内容

ID 流程历史 节点标识
节点

节点人 创建时间

图 4.14 流程历史节点实体图
根据数据流程分析,是所有实体之间的关系,和数据之间的关系,确定系
统的整个 E-R 模型如图 4.15 所示。

26
湖南涉外经济学院本科生毕业论文(设计)

图 4.15 系统全局 E-R 图

4.4.2 数据库表设计

数据库表设计就是把之前设计好的 E-R 图中的实体转换为数据库中的表,


数据库管理系统使用的是 MySQL 进行设计,同时表格中是字段与数据库中是相
对应的。经分析得到,数据库中包含信息表,各表数据结构如下:
1.用户表(sys_user)存储管理系统所有用户详细信息,如表 4.1 所示。
表 4.1 住户信息表(sys_user)
字段名称 数据类型 主键 是否空 说明
user_id bigint(0) Y N 用户 ID
dept_id bigint(0) N Y 部门 ID
user_name varchar(30) N N 用户账号
nick_name varchar(30) N N 用户昵称

27
湖南涉外经济学院本科生毕业论文(设计)

user_type varchar(2) N Y 用户类型(00 系统用户)


email varchar(50) N Y 用户邮箱
phonenumber varchar(11) N Y 手机号码
sex char(1) N Y 用户性别(0 男 1 女 2 未
知)
avatar varchar(100) N Y 头像地址
password varchar(100) N Y 密码
status char(1) N Y 帐号状态(0 正常 1 停用)
del_flag char(1) N Y 删除标志(0 代表存在 2 代
表删除)
login_ip varchar(128) N Y 最后登录 IP
login_date datetime(0) N Y 最后登录时间

2. 操作日志表(sys_oper_log)系统每次操作的详细信息,如表 4.2 所
示。
表 4.2 操作日志表(sys_oper_log)
字段名称 数据类型 主键 是否空 说明
oper_id bigint(0) Y N 日志主键
title varchar(50) N Y 模块标题
业务类型(0 其它 1 新增
business_type int(0) N Y 2 修改 3 删除)
method varchar(100) N Y 方法名称
request_method varchar(10) N Y 请求方式
操作类别(0 其它 1 后台
operator_type int(0) N Y 用户 2 手机端用户)
oper_name varchar(50) N Y 操作人员
dept_name varchar(50) N Y 部门名称
oper_url varchar(255) N Y 请求 URL
oper_ip varchar(128) N Y 主机地址
oper_location varchar(255) N Y 操作地点
oper_param varchar(2000) N Y 请求参数
json_result varchar(2000) N Y 返回参数
操作状态(0 正常 1 异
status int(0) N Y 常)
error_msg varchar(2000) N Y 错误消息
oper_time datetime(0) N Y 操作时间

3. 角色表(sys_role)存储员工详细信息,如表 4.3 所示。

表 4.3 角色表(sys_role)
28
湖南涉外经济学院本科生毕业论文(设计)

字段名称 数据类型 主键 是否空 说明


role_id bigint(0) Y N 角色 ID
role_name varchar(30) N N 角色名称
role_key varchar(100) N N 角色权限字符串
role_sort int(0) N N 显示顺序
data_scope char(1) N Y 数据范围(1:全部数据
权限 2:自定数据权限
3:本部门数据权限 4:
本部门及以下数据权
限)
menu_check_strictly tinyint(1) N Y 菜单树选择项是否关联
显示
dept_check_strictly tinyint(1) N Y 部门树选择项是否关联
显示
status char(1) N N 角色状态(0 正常 1 停
用)
del_flag char(1) N Y 删除标志(0 代表存在 2
代表删除)
create_by varchar(64) N Y 创建者
create_time datetime(0) N Y 创建时间
update_by varchar(64) N Y 更新者
update_time datetime(0) N Y 更新时间
remark varchar(500) N Y 备注

4. 菜单权限表(sys_menu)存储管理系统所有功能入口详细信息,如表
4.4 所示。
表 4.4 菜单权限表(sys_menu)
字段名称 数据类型 主键 是否空 说明
menu_id bigint(0) Y N 菜单 ID
menu_name varchar(50) N N 菜单名称
parent_id bigint(0) N Y 父菜单 ID
order_num int(0) N Y 显示顺序
path varchar(200) N Y 路由地址
component varchar(255) N Y 组件路径
is_frame int(0) N Y 是否为外链(0 是 1 否)
是否缓存(0 缓存 1 不缓
is_cache int(0) N Y 存)
菜单类型(M 目录 C 菜单
menu_type char(1) N Y F 按钮)

29
湖南涉外经济学院本科生毕业论文(设计)

visible char(1) N Y 菜单状态(0 显示 1 隐藏)


status char(1) N Y 菜单状态(0 正常 1 停用)
perms varchar(100) N Y 权限标识
icon varchar(100) N Y 菜单图标
create_by varchar(64) N Y 创建者
create_time datetime(0) N Y 创建时间
update_by varchar(64) N Y 更新者
update_time datetime(0) N Y 更新时间
remark varchar(500) N Y 备注

5. 字典表(sys_dict_data)系统配置项详细信息,如表 4.5 所示。


表 4.5 字典表(sys_dict_data)
字段名称 数据类型 主键 是否空 说明
dict_code bigint(0) Y N 字典编码
dict_sort int(0) N Y 字典排序
dict_label varchar(100) N Y 字典标签
dict_value varchar(100) N Y 字典键值
dict_type varchar(100) N Y 字典类型
样式属性(其他样式扩
css_class varchar(100) N Y 展)
list_class varchar(100) N Y 表格回显样式
is_default char(1) N Y 是否默认(Y 是 N 否)
status char(1) N Y 状态(0 正常 1 停用)
create_by varchar(64) N Y 创建者
create_time datetime(0) N Y 创建时间
update_by varchar(64) N Y 更新者
update_time datetime(0) N Y 更新时间
remark varchar(500) N Y 备注

6. 文章表(api_article)系统文章内容详细信息,如表 4.6 所示。


表 4.6 文章表(api_article)
字段名称 数据类型 主键 是否空 说明
id int(0) Y N 主键,自增长
nav_id varchar(255) N Y 栏目 ID
big_picture varchar(255) N Y 大图
product_name varchar(255) N Y 文章名称
brief_introduction varchar(255) N Y 简介
introduce longtext N Y 正文
urlpath varchar(255) N Y 外链
hot enum('1','0') N Y 是否热门,0 不热门,1

30
湖南涉外经济学院本科生毕业论文(设计)

热门
sort int(0) N Y 排序
time datetime(0) N Y 时间,默认当前时间
author varchar(255) N Y 作者
是否存在,0 不存在,1
flag enum('1','0') N Y 存在
是否删除,0 删除,1
dele_flag enum('1','0') N Y 未删除
creator varchar(255) N Y 创建/修改者
act_id varchar(255) N Y 工作流 ID
attachment_array varchar(3000) N Y 附件数组
audit_status varchar(255) N Y 审核状态/1 已完成
activityName varchar(255) N Y 审批人

7. 栏目表(api_navigation)网站顶部导航栏栏目详细信息,如表 4.7 所
示。
表 4.7 栏目表(api_navigation)
字段名称 数据类型 主键 是否空 说明
menu_id bigint(0) Y N 栏目 ID
menu_name varchar(50) N N 栏目名称
parent_id bigint(0) N Y 父栏目 ID
order_num int(0) N Y 显示顺序
path varchar(200) N Y 路由地址
component varchar(255) N Y 组件路径
is_frame int(0) N Y 是否为外链(0 是 1 否)
是否缓存(0 缓存 1 不缓
is_cache int(0) N Y 存)
菜单类型(M 目录 C 菜单
menu_type char(1) N Y F 按钮)
visible char(1) N Y 栏目状态(0 显示 1 隐藏)
status char(1) N Y 栏目状态(0 正常 1 停用)
perms varchar(100) N Y 权限标识
icon varchar(100) N Y 栏目图标
create_by varchar(64) N Y 创建者
create_time datetime(0) N Y 创建时间
update_by varchar(64) N Y 更新者
update_time datetime(0) N Y 更新时间
remark varchar(500) N Y 备注
template varchar(255) N Y 模板

31
湖南涉外经济学院本科生毕业论文(设计)

8. 流程定义表(act_re_procdef)存储流程的详细信息,如表 4.8 所示。


表 4.8 8. 流程定义表(act_re_procdef)
字段名称 数据类型 主键 是否空 说明
ID_ varchar(64) Y N 流程 ID
NAME_ varchar(255) N Y 流程名
KEY_ varchar(255) N N 流程键,用于唯一标识流

VERSION_ int(0) N N 流程版本号
DEPLOYMENT_ID_ varchar(64) N Y 部署 ID
RESOURCE_NAME_ varchar(4000) N Y 流程文件路径
DESCRIPTION_ varchar(4000) N Y 描述

9. 流程历史意见表(act_hi_comment)存储流程中意见详细信息,如表
4.9 所示。
表 4.9 流程历史意见表(act_hi_comment)
字段名称 数据类型 主键 是否空 说明
ID_ varchar(64) Y N 唯一标识符,意见 ID
TYPE_ varchar(255) N Y 类型,用于区分不同类型
的评论或意见
TIME_ datetime(3) N N 时间戳,记录意见的创建
时间
USER_ID_ varchar(255) N Y 用户 ID,表示哪个用户创
建了该意见
PROC_INST_ID_ varchar(64) N Y 流程实例 ID,表示该意见
关联到哪个流程实例
MESSAGE_ varchar(4000) N Y 消息文本,用户针对任务
的评论或意见
FULL_MSG_ longblob N Y 完整消息,可能包含更大
的数据,如附件等

10.通知公告表(sys_notice)存储通知公告详细信息,如表 4.10 所示。


表 4.10 通知公告表(sys_notice)
字段名称 数据类型 主键 是否空 说明
notice_id int(0) Y N 公告 ID,唯一标识符
notice_title varchar(50) N N 公告标题
notice_type char(1) N N 公告类型(1 通知 2 公告)
notice_content longblob N Y 公告内容
status char(1) N Y 公告状态(0 正常 1 关闭)
create_by varchar(64) N Y 创建者

32
湖南涉外经济学院本科生毕业论文(设计)

create_time datetime(0) N Y 创建时间


update_by varchar(64) N Y 更新者
update_time datetime(0) N Y 更新时间
remark varchar(255) N Y 备注

11. 流程历史节点表(act_re_procdef)存储流程中每个节点详细信息,如
表 4.11 所示。
表 4.11 流程历史节点表(act_re_procdef)
字段名称 数据类型 主键 是否空 说明
ID_ varchar(64) Y N 节点 ID,唯一标识符
NAME_ varchar(255) N Y 节点名称
流程键,流程定义的
KEY_ varchar(255) N N 唯一标识
流程版本,用于版本
VERSION_ int(0) N N 控制
DEPLOYMENT_ID_ varchar(64) N Y 流程 ID,关联流程
流程定义的资源名
RESOURCE_NAME_ varchar(4000) N Y 称,如 XML 文件
流程图的资源名称,
DGRM_RESOURCE_NAME_ varchar(4000) N Y 如 BPMN 图
DESCRIPTION_ varchar(4000) N Y 流程描述
流程定义的挂起状
态,用于标记流程是
SUSPENSION_STATE_ int(0) N Y 否被挂起

4.5 详细类设计

4.5.1 流程图描述

流程图是介绍程序运行的工程,是直观可见的,是对表达算法思路的一种
好方法,可以清晰的描述一个工作过程的具体步骤。下面是对登录的流程图和
文档发布的描述。
如图 4.16 为系统登录流程图。

33
湖南涉外经济学院本科生毕业论文(设计)

开始

输入账号密码和验
证码

是否正确?

判断账号角色

超级管理员 管理员 文档发布员

生成对应菜单和权

结束

图 4.16 登录流程图

如图 4.17 为文档发布流程图。

34
湖南涉外经济学院本科生毕业论文(设计)

开始

选择栏目 弹出提示

是否已经选择

栏目

点击对应按钮

填写文章信息,编
是否通过审批 否
写文章内容

进行文章审批流程 发布文章

是否需要进行
结束 否
审批?

图 4.17 文档发布流程图

4.5.2 类设计概念

在软件工程领域,类图是一种用于展示系统结构的静态模型图,它主要用
来揭示系统内部类的组织结构和类之间的交互关系。通过类图,可以直观地理
解系统的构成以及各个类如何协同工作,进而对系统中的功能关系进行深入的
分析。类图不仅帮助开发者明确类的属性和方法,还能够展现类之间的依赖、
关联、继承和实现等关系,为软件的设计和开发提供了清晰的蓝图。
利用类图,开发团队能够在软件开发初期就识别出潜在的设计问题,优化
系统架构。此外,类图也是沟通和文档化软件设计的重要工具,使得项目团队
成员之间能够有一个共同的理解基础,减少开发过程中的误解和重工。随着项
目的进展,类图还可以作为系统维护和后期扩展的参考,确保软件的可持续发
展。

35
湖南涉外经济学院本科生毕业论文(设计)

4.5.3 类设计描述

在该项目的开发过程中,我们采用了 Spring Boot 框架来构建整个系统的


基础架构。在类设计方面,Spring Boot 支持自动配置和依赖注入,只需通过
简单的注解就能定义组件之间的依赖关系,大大提高了代码的模块化和可重用
性,项目使用了 MVC 架构,这里介绍栏目管理和文档发布模块的类图[14]。
如图 4.19 为栏目管理模块类图。

图 4.19 栏目管理模块类图
如图 4.20 为文档发布模块类图。

图 4.20 文档发布模块类图

36
湖南涉外经济学院本科生毕业论文(设计)

4.6 本章小结

本章节的内容主要围绕前一章节所确定的系统功能需求展开,对系统的多
个关键方面进行了深入设计,包括系统数据库结构、核心工作流程、基础架构
布局、功能模块划分以及系统的详细类设计。在设计阶段,我们特别注重梳理
和明确各个功能模块间的相互关系,确保了系统的整体协调性和一致性。同时,
对不同用户角色的权限等级和各自的操作流程进行了详细的规划和定义,以满
足不同用户的需求和保障系统的安全性。
通过这一系列的设计工作,我们不仅优化了系统结构,提高了操作效率,
还加强了系统的安全性和可维护性。此外,这一章节的设计工作也为后续的系
统开发和实施奠定了坚实的基础,确保了系统能够高效、稳定地运行,并且容
易进行后续的扩展和升级。在确保设计满足功能需求的同时,我们也充分考虑
了用户体验,力求使最终产品既强大功能,又简洁易用。。

37
湖南涉外经济学院本科生毕业论文(设计)

第五章 系统实现
本章介绍了学生宿舍管理系统的开发环境、展示了各模块功能的运行效果,
包括部分关键代码分析。

5.1 系统开发环境

表 5.1 系统开发环境表
操作系统 开发工具 服务器软件 浏览器 数据库管理系统 Java 开发
软件 包
Windows 10 Eclipse Tomcat9.0 IE MySQL8.5 JDK1.8
Google
Chrome

5.2 功能模块的实现

5.2.1 登入界面

系统登录页面如下,可以供超级管理员,管理员,文档录入员登录系统,
用户需要输入正确的账号、密码和验证码才能成功访问系统,如图 5.2 所示。

38
湖南涉外经济学院本科生毕业论文(设计)

图 5.2 系统登录页面

5.2.2 系统监控模块模块

1.超级管理员可以监控整个系统和服务器的,超级管理员可以查看服务监
控等等操作,为服务的正常运行提供保障,如图 5.3

图 5.3 查看服务监控信息
2. 查看缓存监控,数据监控,如图 5.4 查看数据监控

图 5.4 查看数据监控

5.2.3 日志管理模块

该模块是超级管理员查看登陆日志和操作日志的模块,可以导出和查看详
细日志信息。
39
湖南涉外经济学院本科生毕业论文(设计)

1.超级管理员查看操作日志信息,如图 5.5 所示。

图 5.5 操作日志信息
2.超级管理员查看登陆日志信息,如图 5.6 为登陆日志。

图 5.6 登陆日志信息

5.2.4 系统配置模块

该模块的使用对象超级管理员,可以进行字典管理,管理系统参数设置,
在线用户配置,如修改管理系统主题色,修改账号初始密码,修改侧边栏主题,
查看当前后台登陆用户,
1.设置系统字典,如图 5.7 为字典管理。

40
湖南涉外经济学院本科生毕业论文(设计)

图 5.7 修改性别字典
2.设置账号初始密码,如图 5.8 为修改初始密码配置。

图 5.8 修改初始密码配置
3.查看管理系统当前登陆用户,并可以强退用户,如图 5.9 查看后台登陆
用户。

图 5.9 查看后台登陆用户

5.2.5 流程模型管理模块

该模块使用的对象是超级管理员,主要负责在系统内部设置和管理文章审
批的工作流程。管理员能够为每个阶段指定审批人员,设置审批规则,并监控
审批进度,确保文章发布流程的高效与规范。此外,该模块还支持流程的优化
和调整,允许管理员根据实际运营需求,动态修改流程设置,以适应内容发布
策略的变化。通过工作流流程管理模块的应用,可以显著提高文章审核的效率
和质量,确保发布的内容符合组织的标准和要求。
1.在线绘制流程,如图 5.10 为绘制流程图。

41
湖南涉外经济学院本科生毕业论文(设计)

图 5.10 绘制流程图
2.超级管理员可以进行流程模型管理,如图 5.11 为流程模型管理。

图 5.11 流程模型管理

5.2.6 人员和权限管理模块

该模块面对的对象是超级管理员和管理员,使他们能够轻松地进行用户账
号的创建、编辑、删除以及权限的分配和管理。超级管理员拥有最高权限,可
以管理所有用户和权限设置,而管理员则根据超级管理员的分配,管理特定的
用户群体或权限范围。
通过这个模块,超级管理员和管理员可以定义不同角色的权限级别,如内
容编辑、审批人员等,确保每个用户根据其角色和职责拥有适当的系统访问权
限。此外,模块支持权限的细粒度管理,允许对特定功能或数据的访问进行精
确控制,增强了系统的安全性和灵活性,如图 5.12 为人员管理。
1.管理员可以在这查看和新增修改管理系统的所有人员,如图 5.12 为人员
管理。

42
湖南涉外经济学院本科生毕业论文(设计)

图 5.12 人员管理

2.管理员可以配置角色的对应权限,如图 5.13 为角色和权限管理。

图 5.13 角色和权限管理

5.2.7 流程管理模块

该模块操作的对象是管理员,通过这个模块,管理员可以轻松处理文章从
创建到发布的各个审批阶段,包括初审、复审以及批示等环节。
管理员可以在这管理自己的代办,进行文章的审批和驳回,批示,如图
5.14 为管理代办,图 5.15 为文章批示。

43
湖南涉外经济学院本科生毕业论文(设计)

图 5.14 管理代办

图 5.15 文章批示

5.2.8 网站栏目管理模块

栏目管理模块主要是用于设置和维护网站或系统中的内容栏目结构。该模
块使得超级管理员和内容管理员能够轻松创建、编辑、排序和删除不同的内容
栏目和分类,以组织和展示文章、新闻、产品信息等内容,栏目管理模块支持
多级栏目的设置,允许构建从广泛到具体的内容层次结构,帮助用户更好地导
航和访问信息。如图 5.16 所示。

44
湖南涉外经济学院本科生毕业论文(设计)

图 5.16 网站栏目管理
网站栏目管理代码如下:
/**

@Api(tags = "首页导航栏后台接口")
@RestController
@RequestMapping("/system/navigation/admin")
public class NavigationApiController extends BaseController {

@Autowired
ApiNavigationServer apiNavigationServer;

@Autowired
private TokenService tokenService;

@Autowired
ApiProductServer apiProductServer;

/**
* 获取菜单列表
*/
@GetMapping("/list")
public AjaxResult list(ApiNavigation menu) {
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
// Long userId = loginUser.getUser().getUserId();
Long userId = 1L;
List<ApiNavigation> menus = apiNavigationServer.selectMenuList(menu, userId);
return AjaxResult.success(menus);
}

45
湖南涉外经济学院本科生毕业论文(设计)

/**
* 获取菜单下拉树列表
*/
@ApiOperation("文章列表获取菜单下拉树列表")
@GetMapping("/text/list")

public AjaxResult gettexttreeselect(ApiNavigation menu) {


LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
// Long userId = loginUser.getUser().getUserId();
Long userId = 1L;
List<ApiNavigation> menus = apiNavigationServer.selectzzyMenuList(menu, userId);
return AjaxResult.success(menus);
}

/**
* 根据菜单编号获取详细信息
*/

@GetMapping(value = "/{menuId}")
public AjaxResult getInfo(@PathVariable Long menuId) {
return AjaxResult.success(apiNavigationServer.selectMenuById(menuId));
}

/**
* 获取菜单下拉树列表
*/
@GetMapping("/treeselect")
public AjaxResult treeselect(ApiNavigation menu) {
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());

// Long userId = loginUser.getUser().getUserId();


Long userId = 1L;
List<ApiNavigation> menus = apiNavigationServer.selectMenuList(menu, userId);

return AjaxResult.success(apiNavigationServer.buildMenuTreeSelect(menus));
}

/**
* 加载对应角色菜单列表树
*/
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
List<ApiNavigation> menus = apiNavigationServer.selectMenuList(1L);
AjaxResult ajax = AjaxResult.success();

46
湖南涉外经济学院本科生毕业论文(设计)

ajax.put("checkedKeys", apiNavigationServer.selectMenuListByRoleId(roleId));
ajax.put("menus", apiNavigationServer.buildMenuTreeSelect(menus));
return ajax;
}

/**
* 新增菜单
*/

@Log(title = "菜单管理", businessType = BusinessType.INSERT)


@PostMapping
public AjaxResult add(@Validated @RequestBody ApiNavigation menu) {
if
(UserConstants.NOT_UNIQUE.equals(apiNavigationServer.checkMenuNameUnique(menu))) {
return AjaxResult.error("新增菜单'" + menu.getMenuName() + "'失败,菜单名
称已存在");
} else if (UserConstants.YES_FRAME.equals(menu.getIsFrame())
&& !StringUtils.startsWithAny(menu.getPath(), Constants.HTTP,
Constants.HTTPS)) {
return AjaxResult.error("新增菜单'" + menu.getMenuName() + "'失败,地址必
须以 http(s)://开头");
}
menu.setCreateBy("admin");

return AjaxResult.success(apiNavigationServer.insertMenu(menu));
}

/**
* 修改菜单
*/

@Log(title = "菜单管理", businessType = BusinessType.UPDATE)


@PostMapping("put")
public AjaxResult edit(@Validated @RequestBody ApiNavigation menu) {

if
(UserConstants.NOT_UNIQUE.equals(apiNavigationServer.checkMenuNameUnique(menu))) {
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,菜单名
称已存在");
} else if (UserConstants.YES_FRAME.equals(menu.getIsFrame())
&& !StringUtils.startsWithAny(menu.getPath(), Constants.HTTP,
Constants.HTTPS)) {
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,地址必

47
湖南涉外经济学院本科生毕业论文(设计)

须以 http(s)://开头");
} else if (menu.getMenuId().equals(menu.getParentId())) {
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,上级菜
单不能选择自己");
}
menu.setUpdateBy("admin");
return AjaxResult.success(apiNavigationServer.updateMenu(menu));
}

/**
* 删除菜单
*/
@Log(title = "菜单管理", businessType = BusinessType.DELETE)
@PostMapping("/{menuId}")
public AjaxResult remove(@PathVariable("menuId") Long menuId) {
if (apiNavigationServer.hasChildByMenuId(menuId)) {
return AjaxResult.error("存在子菜单,不允许删除");
}
if (apiNavigationServer.checkMenuExistRole(menuId)) {
return AjaxResult.error("菜单已分配,不允许删除");
}

if (apiNavigationServer.deleteMenuById(menuId) != 0) {
ApiProductExample Example = new ApiProductExample();
ApiProductExample.Criteria Criteria = Example.createCriteria();
Criteria.andNavIdEqualTo(menuId.toString());
ApiProduct apiProduct = new ApiProduct();
apiProduct.setDeleFlag("0");
apiProduct.setActId("");// 清空流程 ID
apiProduct.setAuditStatus("false");// 清空审批状态

return
AjaxResult.success(apiProductServer.updateByExampleWithBLOBs(apiProduct, Example));
}

return AjaxResult.error();
}
}

5.2.9 通知公告模块

通知公告模块主要是用于发布和管理组织内部的通知和公告信息。该模块

48
湖南涉外经济学院本科生毕业论文(设计)

为超级管理员和通知管理人员提供了一个简便的界面,使他们能够创建、编辑、
发布和撤回各种通知公告。通过这个模块,可以将重要的信息及时传达给所有
管理系统用户,包括但不限于组织变更、政策更新、活动安排以及其他紧急消
息。如图 5.17 为修改公告信息。

图 5.17 修改公告信息

5.2.10 文档管理模块

文档管理模块是系统的核心功能之一,主要用于创建、编辑、发布和管理
文章内容。该模块提供了一个全面的平台,让文档发布员和管理员能够高效地
处理各种类型的文本内容,包括通知公告、筹建动态、筹建背景等。

通过这个模块,用户可以轻松地进行文章的添加、修改、删除操作。它支
持富文本编辑,允许用户插入图片、视频和链接,以及使用各种文本格式化工
具来丰富文章内容。为了提升内容的质量和准确性,该模块还集成了工作流程,
支持文章的多级审批流程。这确保了文章在发布前经过适当的审核和批准,同
时也允许跟踪文章的审批状态和历史。如图 5.18 所示。

49
湖南涉外经济学院本科生毕业论文(设计)

图 5.18 发布文档
发布文档关键代码如下:
@Api(tags = "文章接口")
@RestController
public class ProductAdminApiController {

@Autowired
ApiProductServer apiProductServer;

@Autowired
ApiNavigationServer apiNavigationServer;

@Autowired
private IProcessService processService;

@Autowired
private TokenService tokenService;

@ApiOperation("分页获取文章")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "pageNum", value = "页数", required = true,
dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页需要数", required = true,
dataType = "Integer") })
@GetMapping("system/get/admin/product/{pageNum}/{pageSize}")

50
湖南涉外经济学院本科生毕业论文(设计)

public AjaxResult getAdminProductResult(@PathVariable("pageNum") Integer pageNum,


@PathVariable("pageSize") Integer pageSize) {
ApiProductExample example = new ApiProductExample();
example.setOrderByClause("IF( isnull( sort ), 1, 0 ),IF( sort = 0, 1, 0 ),sort ASC,time
DESC");
ApiProductExample.Criteria criteria = example.createCriteria();
criteria.andDeleFlagEqualTo("1");
PageHelper.startPage(pageNum, pageSize);
List<ApiProduct> productslistList =
apiProductServer.selectByExampleWithBLOBs(example);
PageInfo<ApiProduct> resPageInfo = new PageInfo<>(productslistList);
for (ApiProduct apiProduct : resPageInfo.getList()) {
// 把正在审批的筛选出来
if (StringUtils.isNumeric(apiProduct.getActId())) {
List<Comment> comments = Approve.getComment(apiProduct.getActId());
List<Map<String, Object>> reMaps = new ArrayList<Map<String,
Object>>();
for (Comment comment : comments) {
Map<String, Object> maps = new HashMap<String, Object>();
maps.put("body", comment.getFullMessage());
maps.put("time", comment.getTime());
maps.put("user", comment.getUserId());
reMaps.add(maps);

}
apiProduct.setComments(reMaps);// 加入审批意见
}
}
return AjaxResult.success(resPageInfo);
}

@ApiOperation("根据 ID 获取文章详情")
@ApiImplicitParams(value = {

@ApiImplicitParam(name = "Id", value = "ID", required = true, dataType =


"Integer") })
@GetMapping("system/get/admin/product/{Id}")
public AjaxResult getAdminProductResult(@PathVariable("Id") Integer Id) {
ApiProductExample example = new ApiProductExample();
ApiProductExample.Criteria criteria = example.createCriteria();
criteria.andDeleFlagEqualTo("1");
criteria.andIdEqualTo(Id);

List<ApiProduct> productslistList =
apiProductServer.selectByExampleWithBLOBs(example);

51
湖南涉外经济学院本科生毕业论文(设计)

return AjaxResult.success(productslistList);
}

@ApiOperation("根据栏目 ID 分页获取文章")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "pageNum", value = "页数", required = true,
dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页需要数", required = true,
dataType = "Integer"),
@ApiImplicitParam(name = "navId", value = "栏目 ID", required = true,
dataType = "String") })
@GetMapping("system/get/admin/product/{pageNum}/{pageSize}/{navId}")
public AjaxResult getTemplateAdminProductResult(@PathVariable("pageNum") Integer
pageNum,
@PathVariable("pageSize") Integer pageSize, @PathVariable("navId") String
navId) {
ApiProductExample example = new ApiProductExample();
example.setOrderByClause("IF( isnull( sort ), 1, 0 ),IF( sort = 0, 1, 0 ),sort ASC,time
DESC");
ApiProductExample.Criteria criteria = example.createCriteria();
criteria.andDeleFlagEqualTo("1");
if (!"0".equals(navId)) {
criteria.andNavIdEqualTo(navId);
}
PageHelper.startPage(pageNum, pageSize);
List<ApiProduct> productslistList =
apiProductServer.selectByExampleWithBLOBs(example);
PageInfo<ApiProduct> resPageInfo = new PageInfo<>(productslistList);
for (ApiProduct apiProduct : resPageInfo.getList()) {
// 把正在审批的筛选出来
if (StringUtils.isNumeric(apiProduct.getActId())
&& !"1".equals(apiProduct.getAuditStatus())) {
List<Comment> comments = Approve.getComment(apiProduct.getActId());
List<Map<String, Object>> reMaps = new ArrayList<Map<String,
Object>>();
for (Comment comment : comments) {
Map<String, Object> maps = new HashMap<String, Object>();
maps.put("body", comment.getFullMessage());
maps.put("time", comment.getTime());
maps.put("user", comment.getUserId());
reMaps.add(maps);

52
湖南涉外经济学院本科生毕业论文(设计)

apiProduct.setComments(reMaps);// 加入审批意见
}
}
return AjaxResult.success(resPageInfo);
}

@ApiOperation("搜索获取文章")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "pageNum", value = "页数", required = true,
dataType = "Integer"),
@ApiImplicitParam(name = "pageSize", value = "每页需要数", required = true,
dataType = "Integer"),
@ApiImplicitParam(name = "name", value = "标题", required = false, dataType
= "String"),
@ApiImplicitParam(name = "auditStatus", value = "审核状态", required = false,
dataType = "String"),
@ApiImplicitParam(name = "flag", value = "状态", required = false, dataType =
"String"),
@ApiImplicitParam(name = "beginTime", value = "起始时间", required = false,
dataType = "Integer"),
@ApiImplicitParam(name = "endTime", value = "终止时间", required = false,
dataType = "Integer"), })
@PostMapping("system/get/admin/product/search")
public AjaxResult getsearchAdminProductResult(@RequestBody Map<String, Object>
map) throws ParseException {
ApiProductExample example = new ApiProductExample();
example.setOrderByClause("IF( isnull( sort ), 1, 0 ),IF( sort = 0, 1, 0 ),sort ASC,time
DESC");
ApiProductExample.Criteria criteria = example.createCriteria();
criteria.andDeleFlagEqualTo("1");

if (StringUtils.isNullzzy(map.get("name"))) {
criteria.andProductNameLike("%" + map.get("name").toString() + "%");
}

if (StringUtils.isNullzzy(map.get("flag"))) {
criteria.andFlagEqualTo(map.get("flag").toString());
}

if (StringUtils.isNullzzy(map.get("auditStatus"))) {
if ("0".equals(map.get("auditStatus"))) {
criteria.andAuditStatusNotEqualTo("1");
example.or(criteria);
example.or().andAuditStatusIsNull();

53
湖南涉外经济学院本科生毕业论文(设计)

} else {
criteria.andAuditStatusEqualTo(map.get("auditStatus").toString());
}

}
if (StringUtils.isNullzzy(map.get("navId"))) {
criteria.andNavIdEqualTo(map.get("navId").toString());
}
if (StringUtils.isNullzzy(map.get("beginTime")) &&
StringUtils.isNullzzy(map.get("endTime"))) {

SimpleDateFormat endformatter = new SimpleDateFormat("yyyy-MM-dd");


Date endTime = endformatter.parse(map.get("endTime").toString());
Calendar calendar = Calendar.getInstance();
calendar.setTime(endTime);
calendar.add(Calendar.HOUR, 23);
calendar.add(Calendar.MINUTE, 59);
calendar.add(Calendar.SECOND, 59);

criteria.andTimeGreaterThanOrEqualTo(endformatter.parse(map.get("beginTime").toString
()));
criteria.andTimeLessThanOrEqualTo(calendar.getTime());
}

PageHelper.startPage(Integer.parseInt(map.get("pageNum").toString()),
Integer.parseInt(map.get("pageSize").toString()));
List<ApiProduct> productslistList =
apiProductServer.selectByExampleWithBLOBs(example);
PageInfo<ApiProduct> resPageInfo = new PageInfo<>(productslistList);
for (ApiProduct apiProduct : resPageInfo.getList()) {
// 把正在审批的筛选出来
if (StringUtils.isNumeric(apiProduct.getActId())
&& !"1".equals(apiProduct.getAuditStatus())) {
List<Comment> comments = Approve.getComment(apiProduct.getActId());
List<Map<String, Object>> reMaps = new ArrayList<Map<String,
Object>>();
for (Comment comment : comments) {
Map<String, Object> maps = new HashMap<String, Object>();
maps.put("body", comment.getFullMessage());
maps.put("time", comment.getTime());
maps.put("user", comment.getUserId());
reMaps.add(maps);

54
湖南涉外经济学院本科生毕业论文(设计)

apiProduct.setComments(reMaps);// 加入审批意见
}
}
return AjaxResult.success(resPageInfo);
}

@ApiOperation("隐藏文章")
@PostMapping("system/delete/admin/hide/product/{id}")
@Log(title = "隐藏文章", businessType = BusinessType.DELETE)
public AjaxResult hideAdminProductResult(@PathVariable("id") Integer id) {
ApiProduct apiProduct = new ApiProduct();
apiProduct.setId(id);
apiProduct.setFlag("0");
return
AjaxResult.success(apiProductServer.updateByPrimaryKeySelective(apiProduct));
}

@ApiOperation("删除文章")
@PostMapping("system/delete/admin/product/{id}")
@Log(title = "删除文章", businessType = BusinessType.DELETE)
public AjaxResult DeleteAdminProductResult(@PathVariable("id") Integer id) {
ApiProduct product = apiProductServer.selectByPrimaryKey(id);

if (product.getActId() != null && product.getActId() != ""


&& !"1".equals(product.getAuditStatus())) {// 如果正在审批流程中

processService.cancelApply(product.getActId(), "用户删除文章");// 撤销审批


}
ApiProduct apiProduct = new ApiProduct();
apiProduct.setId(id);
apiProduct.setDeleFlag("0");
apiProduct.setActId("");// 清空流程 ID
apiProduct.setAuditStatus("false");// 清空审批状态
return
AjaxResult.success(apiProductServer.updateByPrimaryKeySelective(apiProduct));
}

@ApiOperation("新增文章")
@PostMapping("system/post/admin/product")
@Log(title = "新增文章", businessType = BusinessType.INSERT)
public AjaxResult saveProductResult(@RequestBody ApiProduct product) {

LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());


if (RuoYiConfig.isActivity()) {

55
湖南涉外经济学院本科生毕业论文(设计)

if ("超级管理员".equals(loginUser.getUser().getNickName())) {// 超级管理员不


用审核
product.setActId("000000");

product.setAuditStatus("1");
}
} else {
product.setActId("000000");

product.setAuditStatus("1");
}

return AjaxResult.success(apiProductServer.insertSelective(product));
}

@ApiOperation("更新文章")
@PostMapping("system/put/admin/product")
@Log(title = "更新文章", businessType = BusinessType.UPDATE)
public AjaxResult updateProduct(@RequestBody ApiProduct product) {

if (StringUtils.isNull(product) || StringUtils.isNull(product.getId())) {
return AjaxResult.error("新闻 ID 不能为空");
}

return AjaxResult.success(apiProductServer.updateByPrimaryKeySelective(product));
}

@ApiOperation("获取属于模板的栏目")
@GetMapping("system/get/admin/navigation/template")
public AjaxResult getNavigationTemplateResult() {
ApiNavigation apiNavigation = new ApiNavigation();
return AjaxResult.success(apiNavigationServer.selecttemplate(apiNavigation));
}
}

5.2.11 媒体素材管理模块

该模块是为了方便文档发布效率,媒体素材管理模块是为了方便文档发布
效率而设计的关键组成部分,主要目的是帮助用户高效管理和使用各种媒体文
件,如图片、视频、音频和其他文档。该模块提供了一个集中的库,让用户能
够上传、存储、检索和管理媒体素材,以支持内容的丰富展示和快速发布。媒
体素材管理模块的应用不仅限于文档发布,它还广泛用于创作、内容制作、文
本展示等领域,是现代数字内容管理不可或缺的工具。通过有效地管理媒体资

56
湖南涉外经济学院本科生毕业论文(设计)

产,组织可以提升其内容的视觉吸引力,增强用户体验,从而提高网站美感。
如图 5.19 所示。

图 5.19 媒体素材管理

5.2.12 网站模块

该模块是该系统的门户,也是项目的核心所在,用户打开网站可以浏览到
各种信息和内容,包括最新的通知公告、人才引进、筹建动态、筹建信息等,
使得网站成为用户获取信息、沟通和交流的重要渠道。网站模块的设计注重用
户体验,采用响应式设计确保网站能够在各种设备上(如桌面电脑、平板和手
机)良好展示,提供一致的访问体验。同时,模块还集成了 SEO 优化工具,帮
助提高网站在搜索引擎中的排名,吸引更多的访问者。如图 5.20 所示。

57
湖南涉外经济学院本科生毕业论文(设计)

图 5.20 浏览人才引进信息

图 5.21 下载文档附件

5.4 本章小结

本章深入讲解了系统的开发背景及其功能模块的构建过程,包括系统的运
行环境、所使用的开发工具、操作系统的选择等关键技术要求,此外,本章还
细致地展示了系统实现过程中的关键截图和重要代码片段,为读者提供了一个
全面的系统开发和实现概览。

58
湖南涉外经济学院本科生毕业论文(设计)

第六章 系统测试
系统基本实现之后,会针对系统的各功能模块进行相应的测试,看功能是
否符合实际要求,同时找出软件中的不足和 bug,判断是否达到了预期的效果,
写成误差总结报告和测试表,通过这测试数据和误差总结表来修改代码,达到
预期效果,也能够在未来系统升级时找到数据依据。本系统采用了黑盒测试和
白盒测试对软件[15]进行了详细的设计。

6.1 测试用例

表 6.1 为网站文章发布测试表,验证文章发布及管理功能是否正确。
表 6.1 网站文章发布测试表
功能特性 用户文章发布
测试目的 验证文章发布及管理功能是否正确
测试数据 文章标题、文章内容、发布者
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 管理员可以登 文章标题: 文章成功发 文章成功发 与期望结
录 CMS 管理系 “校园开放 布 布 果相同
统,发布新文 日”
章。 文章内容:
“欢迎大家参
加 xxx 日期的
校园开放
日。”
2 管理员可以在 编辑文章: 文章内容更 文章内容更 与期望结
CMS 管理系统中 “校园开放 新成功 新成功 果相同
编辑文章 日”,更新内
容为:“日期
更改为 yyy。”
3 管理员可以在 删除文章标 文章删除成 文章删除成 与期望结
CMS 管理系统中 题:“校园开 功 功 果相同
删除文章 放日”
4 用户可以在网 查看最新文 文章显示正 文章显示正 与期望结
站门户看到最 章:“校园开 确 确 果相同
新发布的文章 放日”

表 6.2 为系统人员管理及权限配置测试表,验证用户账号的创建、角色的
分配及权限的配置是否正确执行。
表 6.2 系统人员管理及权限配置测试表
59
湖南涉外经济学院本科生毕业论文(设计)

功能特性 用户管理、角色配置和权限配置
测试目的 验证用户账号的创建、角色的分配及权限的配置是否正确执行
测试数据 用户名、角色、权限
测试内容 操作描述 数据 期望结果 实际结 测试状
果 态
1 管理员可以创建新用 用户名:“张 用户账号 用户账 与期望
户账号 三” 创建成功 号创建 结果相
密码: 成功 同
“password123”

2 管理员可以为用户分 用户名:“张 角色分配 角色分 与期望


配角色 三” 成功 配成功 结果相
分配角色:文档 同
发布员
3 验证角色对应的权限 用户名:“李 角色权限 角色权 与期望
是否正确 四” 正确 限正确 结果相
角色:文档发布 同

预期权限:发表
文档、编辑文档
4 管理员可以删除用户 用户名:“张 用户账号 用户账 与期望
账号 三” 删除成功 号删除 结果相
成功 同

表 6.3 为网站内容发布审批流程测试表,验证网站内容发布后的审批流程,
包括发布申请、审核意见、管理待办事项以及整个流程的管理是否正确有效。
表 6.3 网站内容发布审批流程测试表
功能特性 内容发布审批流程
测试目的 验证网站内容发布后的审批流程,包括发布申请、审核意见、管理待办事项
以及整个流程的管理是否正确有效
测试数据 文章或通知内容、用户信息、审批意见
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 文档发布员发布内容 文章标 内容发布申 内容发布申请 与期望结果
题: 请提交成功 提交成功 相同
“春季
校园活
动”
内容:

60
湖南涉外经济学院本科生毕业论文(设计)

“介绍
春季校
园活动

排。”
2 管理员审核并添加意 待审批 审批及意见 审批及意见提 与期望结果
见 内容: 提交成功 交成功 相同
“春季
校园活
动”
审批意
见:
“内容
详实,
但需增
加活动
时间
表。”
3 用户在网站上查看最 查看内 内容准确显 内容准确显示 与期望结果
新内容 容: 示 相同
“春季
校园活
动”

表 6.4 为日志查询测试表,验证日志查询功能能够准确地显示人员的登录
和操作记录。
表 6.4 日志查询测试表
功能特性 日志查询(登录日志和操作日志)
测试目的 验证日志查询功能能够准确地显示人员的登录和操作记录
测试数据 用户名、时间范围、操作类型等
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 查询特定用户的登录日志 用户名: 显示用户 显示用户 与期望结
“张三” “张三” “张三” 果相同
查询时间 在指定时 在指定时
范围: 间范围内 间范围内
“2023- 的所有登 的所有登
10-01 至 录记录 录记录
2023-10-
15”

61
湖南涉外经济学院本科生毕业论文(设计)

2 查询特定用户的操作日志 用户名: 显示用户 显示用户 与期望结


“李四” “李四” “李四” 果相同
操作: 在指定时 在指定时
“文章发 间范围内 间范围内
布” 所有“文 所有“文
查询时间 章发布” 章发布”
范围: 的操作记 的操作记
“2023- 录 录
10-01 至
2023-10-
15”
3 查询所有用户在某一特定 查询日 显示所有 显示所有 与期望结
日期的登录日志 期: 用户在 用户在 果相同
“2023- “2023- “2023-
10-10” 10-10”这 10-10”
一天的登 这一天的
录记录 登录记录

表 6.5 为通知公告管理测试表,确认用户能够成功发布、编辑和删除系统
内的通知公告。
表 6.5 通知公告管理测试表
功能特性 通知公告管理
测试目的 确认用户能够成功发布、编辑和删除系统内的通知公告
测试数据 通知公告标题、内容、发布者等信息
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 发布新的通知公告 标题: 通知公告 通知公告 与期望结
“秋季运 发布成功 发布成功 果相同
动会安
排”
内容:
“关于即
将举行的
秋季运动
会的日程
安排与注
意事
项。”
发布者:
“体育部

62
湖南涉外经济学院本科生毕业论文(设计)

门”
2 编辑已发布的通知公 原标题: 通知公告 通知公告 与期望结
告 “秋季运 编辑成功 编辑成功 果相同
动会安
排”
修改后内
容:“更
新了参赛
项目和时
间表。”
编辑者:
“体育部
门”
3 删除已发布的通知公 标题: 通知公告 通知公告 与期望结
告 “秋季运 删除成功 删除成功 果相同
动会安
排”<br>
删除者:
“体育部
门管理
员”

6.2 本章小结
通过对系统各模块功能分别进行测试,得到了系统功能基本成功实现的结
果。测试用例在软件开发和维护中起着至关重要的作用。它们不仅保证软件产
品能够按照预期工作,还帮助识别和修复错误,确保软件质量。通过测试用例
发现和修复缺陷,系统运行更加稳定可靠,减少意外崩溃和数据丢失的风险。

63
湖南涉外经济学院本科生毕业论文(设计)

结 论
本文介绍了一个长沙工业学院筹建事务中心网站从研究背景、用户的需求
分析、系统的概要设计、系统的细节设计、系统实现以及系统的测试开发过程。
通过详细的系统需求分析、功能设计与实现,本系统成功地构建了一个高效、
安全且易于维护的门户网站。系统采用了当前流行的技术栈,包括但不限于
Vue.js、Element UI、SpringBoot、MySQL 等,确保了网站的高性能及良好的
用户体验。通过实际测试,系统表现出了优秀的稳定性和可靠性。此外,系统
设计考虑了未来的扩展性,为长沙工业学院筹建事务中心的进一步发展提供了
坚实的信息化支持。
在长沙工业学院筹建事务中心网站开发过程中,秉持软件工程的核心理念,
旨在通过系统化、规范化的方法提高软件开发的效率和质量。首先,项目启动
阶段,进行了详尽的需求分析,确保了对筹建事务中心的需求有深入的理解和
准确的把握。接着,在系统设计阶段,采用了模块化设计原则,不仅提高了系
统的可维护性和可扩展性,也便于后续的管理和更新。在技术选型上,选择了
Vue.js、Element UI、SpringBoot、MySQL 等现代化技术栈,确保系统的前沿
性和高效性。
在实现过程中,遵循了敏捷开发模式,通过迭代开发,及时响应需求变更,
有效提升了开发效率。同时,注重代码质量和系统安全,采用代码审查、单元
测试等方法,确保软件质量。在系统部署上,采取了持续集成和持续部署
(CI/CD)的策略,加快了软件交付速度,确保了软件更新的平滑过渡。
此外,项目还重视用户体验,设计了简洁友好的用户界面,提供了良好的
交互体验,确保最终用户能够轻松地访问和使用系统。通过全面的系统测试,
包括功能测试、性能测试、安全测试等,确保了系统的稳定性和可靠性。
综上,长沙工业学院筹建事务中心网站的开发严格遵循软件工程的理念和
方法,通过科学的管理和先进的技术实现,成功构建了一个高效、稳定、易用
的信息化平台,为长沙工业学院筹建事务中心的信息化建设提供了有力支持。
目前已正常上线运营,网址为:https://www.cit-po.cn

64
湖南涉外经济学院本科生毕业论文(设计)

参考文献
[1] 智艳丽.高校学院网站系统的设计与实现[D].吉林大学,2017.
[2] 武雪亮.转设期间独立学院高校门户网站网络影响力研究[J].中国信息化,2022(0
8):93-94+88..
[3] 李永正.山东青年政治学院网站内容管理系统设计与实现[D].山东大学,2018.
[4] 毛丽君.美国黄石国家公园网站服务研究及启示[J].环境科学与管理,2020,45(05):
1-5.
[5] Li, N., & Zhang, B. (2021). The Research on Single Page Application Front-end develop
ment Based on Vue. Journal of Physics: Conference Series, 1883.
[6] Kaur, G., & Kaur, J. (2018). In-Memory Data processing using Redis Database. Internati
onal Journal of Computer Applications, 180, 26-31.
[7] Jones, M., Bradley, J., & Tschofenig, H. (2016). Proof-of-Possession Key Semantics for
JSON Web Tokens (JWTs). RFC, 7800, 1-15.
[8] Prihantoro, C., & Witriyono, H. (2019). Perancangan Client Server Three Tier Pada Pem
bangunan Web Service Anggota Perpustakaan Universitas Muhammadiyah Bengkulu. Jo
urnal of Technopreneurship and Information System (JTIS).
[9] Fugini Mariagrazia,Finocchi Jacopo,Locatelli Paolo.A Big Data Analytics Architecture f
or Smart Cities and Smart Companies[J].Big Data Research,2021,24(prepublish):
[10] Savelli Iacopo,Morstyn Thomas.Better together:Harnessing social relationships in smar
t energy communities[J].Energy Research & Social Science,2021,78:
[11] 张平,贾晨阳.我国智慧社区建设存在的问题及其解决对策[Z].经济与社会发展研
究,2015.
[12] 热比古丽·依麻木.基于 C/S 模式的社区管理系统的设计与实现[D].成都:电子科
技大学,2014.
[13] 周辛妮等.数据结构与算法分析新视角[M].北京:电子工业出版社,2016.4.
[14] 刘伟,胡志刚.C#设计模式[M].2 版.北京:清华大学出版社 2018.
[15] 余久久.软件测试基础[M].北京:清华大学出版社,2020.8.

65
湖南涉外经济学院本科生毕业论文(设计)

致 谢
本文的完成,离不开李锡辉老师无微不至的指导和悉心的关怀。在整个研
究过程中,从论文题目的选定、课题的深入挖掘到最终论文的精心撰写,李老
师都给予了我巨大的支持和极具价值的指导。每当我完成论文的初稿后,李老
师都能够及时地为我提供专业、细致的修改建议,不仅指出了我工作中的不足,
而且还鼓励我不断探索和改进,这使得我的研究能力和写作技巧都得到了显著
的提升。
在研究过程中遇到难题时,李老师总是耐心地为我答疑解惑,她的专业知
识和丰富经验为我的研究工作指明了方向。李老师的严谨学风和敬业精神深深
地影响了我,让我在学术追求上更加坚定。
此外,我还要感谢所有给予我支持和帮助的人。在遇到困难和挑战时,他
们的鼓励和帮助是我不断前进的动力。我的家人对我的理解和支持,为我提供
了一个无忧的研究环境,使我能够专心致志地完成我的学术研究。特别是长沙
工业学院的老师,将这个项目交付给我研发,才能有这个课题。
最后感谢在百忙之中参加论文评审和答辩的各位老师,让我能够顺利完成
这篇论文,并在学术道路上迈出坚实的一步。

66

You might also like