SpringBoot的ES搜索引擎设计与实现

摘  要

随着网络技术与信息技术的疾速演进,人类社会已经迈入一个前所未有的全新时代——信息化时代,在这一背景下,昔日的传统管理手段已难以满足高效且便捷的信息管控需求。在此革新浪潮中应运而生的一种创新产物便是团队协作系统。在这个崭新的时代坐标下,信息技术犹如一股澎湃洪流,颠覆了既有管理模式的疆界。传统的信息管理方式犹如古老的马车行驶在高速公路上,其速度、灵活性和效率均无法与现代信息化工具相提并论。而团队工作系统的诞生,恰似为适应这股汹涌信息浪潮打造的一艘航空母舰,它以一种更智能、集成化的方式,实现了团队内部及跨团队的信息共享、协调合作以及资源优化配置。因此,团队工作系统作为信息化时代变革催生的重要成果,不仅革新了我们的工作模式,也成为了助力现代组织应对海量信息挑战,实现飞跃式发展的关键工具。

构建团队备忘录系统时,我们选择了Spring Boot作为强大的后端基础架构,以其卓越能力来承载并实现复杂业务逻辑的梳理与执行,同时也负责了关键的数据持久化处理环节。而在前端技术的选择上,我们倚重Vue.js这一现代化框架的力量,运用其高效的组件化开发模式,精心雕琢出直观且灵动的用户界面,并赋予其流畅自然的交互逻辑。为了妥善保管系统的各项核心数据,我们部署了可靠的MySQL数据库管理系统,将其作为稳固的信息仓库,收纳并管理团队备忘录系统产生的多元信息内容。此外,为进一步提升企业内部公告信息的检索效率和准确性,我们还应用了ElasticSearch搜索引擎技术。

通过精心构建与实践落地,团队成员得以轻松驾驭记录与管理工作日程、私人规划以及联系人信息的流程,并能高效检索内部公告等多元数据,从而显著提升团队协作效能。这一过程中,团队备忘录系统全面的功能性得到了充分展现。此外,运用诸如Spring Boot、Vue和ElasticSearch等前沿技术工具箱,不仅确保了用户交互体验的顺畅舒适,也有力地推动了开发效率的跃升。  详言之,借助这一整合设计,团队成员能够在统一平台上自如穿梭于各项任务管理之间,无论是制定项目推进策略还是追踪个人成长轨迹,抑或是快速定位和查阅团队内部的重要通告,皆可游刃有余。

关键词: 团队备忘录工作系统;MySQL;ElasticSearch;SpringBoot

Design and implementation of team memo working system based on SpringBoot

Abstract

With the rapid evolution of network technology and information technology, human society has entered an unprecedented new era - the information age. Under this background, the traditional management means of the past have been unable to meet the needs of efficient and convenient information control. One innovation that has emerged from this wave of innovation is the team collaboration system. In this new era, information technology is like a surging torrent, subverting the boundaries of the existing management model. The traditional way of information management is like the old carriage driving on the highway, its speed, flexibility and efficiency can not be compared with modern information tools. The birth of the team work system is just like an aircraft carrier built to adapt to this surging information wave, which realizes information sharing, coordination and cooperation within and across teams and optimal allocation of resources in a more intelligent and integrated way. For example, in a large enterprise project, tasks may be assigned and progress tracked through cumbersome paper documents and lengthy meetings, but with the application of an efficient team work system, information flows like a carefully choreographed symphony movement. Team members can update and access information in real time, no matter where they are, greatly improving work efficiency and precision of collaborative work. Therefore, as an important result of the revolution of the information age, the team work system not only innovates our working mode, but also becomes a key tool to help modern organizations cope with the challenge of massive information and achieve leapfrog development.

When building the team memo system, we chose Spring Boot as a powerful back-end infrastructure, with its excellent ability to carry out and implement complex business logic sorting and execution, but also responsible for key data persistence processing links. In the choice of front-end technology, we rely on the power of Vue.js, a modern framework, using its efficient componentized development mode, carefully crafted an intuitive and smart user interface, and give it a smooth and natural interaction logic. In order to properly keep the core data of the system, we deployed a reliable MySQL database management system as a stable information warehouse to store and manage the diverse information content generated by the team memo system. In addition, in order to further improve the retrieval efficiency and accuracy of internal announcement information, we also apply ElasticSearch search engine technology, which is like a sharp probe to achieve rapid positioning and intelligent search in the vast ocean of announcement information in the enterprise website, and greatly optimize the user experience.

Through careful construction and practice, team members can easily navigate the process of recording and managing work schedules, personal planning, and contact information, and can efficiently retrieve multiple data such as internal announcements, thus significantly improving team collaboration effectiveness. In this process, the full functionality of the team memo system has been fully demonstrated. In addition, the use of cutting-edge technology toolkits such as Spring Boot, Vue and ElasticSearch not only ensures a smooth and comfortable user interaction experience, but also significantly promotes development efficiency.

In short, with this integrated design, team members can easily travel between tasks on a single platform, whether it is to formulate project progress strategy, track personal growth trajectory, or quickly locate and read important announcements within the team. The core force behind this series of convenient operations is those advancing with The Times of the technical architecture, they are like an engine to drive the high-performance operation of the entire system, not only to give a friendly interface, responsive user experience characteristics, but also greatly shorten the functional iteration cycle, to achieve lean and efficient development process.

Key words: team memo working system; MySQL; ElasticSearch; SpringBoot

第1章 需求分析

1.1系统开发背景

随着小组规模的扩大和任务复杂性的提升,加强成员间的合作与沟通变得尤为重要。建立备忘录制度有助于促进信息共享、明确任务分工及监控项目进度,确保小组高效协同工作。

目前团队工作存在如下痛点:沟通不及时、信息传递不清晰,导致误解和冲突。任务责任不清晰,造成任务拖延或遗漏。团队成员缺乏合作意识,各自为政,影响整体工作效率。部门之间信息封闭,难以共享和协作。

团队备忘录工作系统可以为企业团队带来许多改进之处,以下是一些主要优点:

团队备忘录工作系统可以让团队成员将所有备忘录和重要信息集中在一个平台上,方便查阅和管理,避免信息分散的问题。团队成员可以实时更新和共享备忘录内容,支持多人同时编辑和评论,促进团队协作和沟通。可以快速创建、查找和分享备忘录,节省团队成员的时间,提高工作效率。

高效管理和分享小组成员的工作计划、个人任务、联络细节等信息,我们实施了一个小组备忘录制度。这一制度不仅有效整合了各类数据,消除了数据孤岛现象和重复工作的问题,大大提升了团队的工作效率。

日志记录制度在小组管理中扮演着至关重要的角色,它通过提供详尽的日程安排和提醒功能,有助于组员们更有效地规划工作,优化工作流程,显著提升整个团队的生产力。

通过有效地运用小组备忘录,组长可对组员的工作表现和签到记录等关键资料进行详尽的统计和分析,为管理工作提供可靠的依据,进一步优化工作流程和提高团队效率。

在云计算和移动互联网等新兴科技的推动下,建立团队备忘录成为提升团队协作效率和实现信息化管理的重要手段,它能够促进实时沟通和任务跟踪,确保团队成员间的信息同步和协调一致。

高效实现小组内信息共享、任务分配及时间管理,提升整个小组的工作效率,我们借助Spring Boot、Vue、ElasticSearch等现代技术架构与工具,迅速构建了一个功能完备、用户体验良好的小组备忘录,充分满足了小组管理的需求。

1.2 国内外研究现状

我国对小组工作记录制度的研究经引起了学术界和业界的广泛关注和热烈讨论。

在此基础上,我们对不同小组的需求进行了深入分析,并针对性地进行了功能性的开发和定制。本课题重点研究了基于本土化技术开发的软件开发模型,旨在通过优化软件的功能性和实用性,提升在该领域的竞争力和用户体验。

在新时代的背景下,随着移动互联和云计算技术的发展,针对小组工作备忘录的移动端和云业务进行了大量研究,主要关注用户体验优化、云端数据同步及安全性等方面的提升。

团队工作记录制度日益受到重视,因为它能有效促进团队合作与交流,研究人员探索如何通过该制度推动小组内的合作和信息分享,提升整个小组的效能。

确保项目组工作备忘录中大量数据的完整性和保密性,我国科研人员高度重视并采取了一系列措施,如数据加密、权限管理和身份认证等,保障数据的安全性和保密性。这些措施的研究和实施,不仅符合我国的法律法规,体现了科研人员在数据保护方面的专业素养和责任心。通过这些严格的操作流程和制度,有效地降低了数据泄露的风险,确保了科研项目能够在一个安全的环境中顺利进行。

总体而言,国内团队工作记录系统的研究重点主要集中在功能设计和定制化、移动端应用与云计算技术集成、团队协作与沟通机制优化,及安全和隐私保障措施加强。本研究项目的成果预期将为我国企业在小组会议记录管理工作方面提供重要的理论支持和实践指导,促进工作效率的提升和团队协作的效能。

1.3 本章小结

本论文主要探讨了团队备忘录工作系统的需求分析,该系统具有高度灵活性。实现高效的数据管理,来提升大量企业内部通告的查询效率。

第2章 系统分析与设计

2.1 可行性分析

在进行工作规划编制过程中,可行性研究是项目实施前的一项关键步骤,它涉及对项目的主要功能及支持情况进行全面的综合研究、分析和预测。这一过程要求对多个可行的方案进行比较,评估原始目标的实际可行性,并从技术、经济和操作三个角度对班组工作管理体系的可行性进行论证。

在技术层面,本项目采用Java作为主要的系统开发语言,得益于设计理念的成熟性和稳定性。IntelliJ IDEA作为集成开发环境,提供了强大的源代码支持和高效开发体验,通过与数据库的有机结合,显著提升了Java开发的效率和服务的稳定性。,系统基于B/S(Browser/Server)体系架构,确保了良好的跨平台兼容性和支持多用户同时使用的功能。B/S架构的优点在于用户可通过网页浏览器在任意地点进行操作,无需安装特定应用程序,无需对客户端设备进行维护。加强全文检索能力,我们选用了基于Apache Lucene的Elasticsearch作为开放源码的分布式搜索引擎,它能够提供强大的文本搜索能力,实现网站内容的即时检索。在数据库方面,我们选择了MySQL,它不仅提高了数据的安全性,保证了数据的可靠性和高效使用。这种技术选型为系统的可扩展性、稳定性和用户体验奠定了坚实的基础。

该小组的备忘录工作系统,作为一项毕业设计项目,尚处于完善阶段,功能和能力尚未达到可直接服务于企业的水平。我们的目标是通过本项目的进一步发展,不断提升系统的功能和性能,期达到企业应用的要求。该系统基于计算机环境运行,无需额外的财务投入或程序费用,这为实施提供了经济上的可行性。

本系统采用Java语言开发,并B/S架构为基础,对硬件资源的需求极为有限,只需基本浏览器运行环境即可。任何配备有标准浏览器配置的计算机均能无障碍地运行本系统,充分展现了运行的可行性与广泛适用性。

该项目在经济、技术、操作等方面均达到规定要求,且经过充分评估,证明了研制的可行性和实用性。在此基础上,我们可进一步推进该项目的发展,实现预期的目标和效果。

2.2 系统总体需求分析

在开发企业作业管理体系时,我们的目标是确保系统满足企业特定需求。我们进行需求调研并参考相关文献,明确系统的主要功能,并据此提出解决方案。该系统旨在允许不同部门的企业员工登录,便浏览和修改指派的小组工作方案,如“提交工作方案”等操作。系统应具备用户登录功能,用户需填写正确的用户名和密码验证身份。,系统用户为中心,允许用户自由登录账户,并根据用户角色(管理员/一般用户)提供不同的权限和功能。这些功能包括小组规划管理、个人工作方案、用户管理、邮件收发、登录、地址簿、查找站点内部通知等。

2.2.1 系统页面设计

本系统的页面设计使用基于CSS、JavaScript实现。并且结合了Vue前端框架。使用Vue 将后台数据和前端展示分离大大提高了开发效率,加上前端框架的使用,让网站更加美观,提高了用户的交互体验。

在网页界面的设计上。为了满足网站复杂的需求需要使用大量的页面展示。为了减少代码的冗余,可以给页面进行优化,抽取部分公共部分提高页面的复用性能提高开发效率。同时为了提高页面的美观性,在开发过程中也参考了行业中成功的网站的布局。

总结归纳出一下几点:

(1)网站总体的布局大致分为三个部分:头部、中间部分、底部。

(2)头部和尾部信息在不同页面中几乎没有变化,可以复用页面代码。

(3)网站首页信息不宜过多过细,尽量精简。

(4)可以借鉴其他网页模板设计。

(5)通过浏览器开发这模式,可以更好的调整网页布局。

(6)适当增加网站页面的层次感,可以提高用户的使用感受。

本系统界面包括注册登录页面,系统首页页面,团队计划任务页面,个人工作任务页面,签到页面,通讯录页面等等。

2.2.2 系统功能设计

该用户分为两种角色,一种角色为普通用户,一种角色为系统管理员。

(1)普通用户登录

  普通用户进入登录界面,输入账号密码后可以进入系统,对个人工作计划进行管理,用户也可以对团队计划进行查询,选择通讯录好友发送短信,工作签到,搜索站内公告等功能,用户主要功能例图如图1所示。

图1 普通用户主要功能例图

(2)系统管理员登录

系统管理员进入登录界面,输入账号密码后可以进入系统,实现团队任务,用户管理,写信收信,工作记录,签到管理,站内公告管理等功能。并且系统管理员拥有最大的权限,可以查看所有用户的团队任务情况,系统管理员主要功能例图如图2所示。

图2 系统管理员主要功能例

图3 系统核心类UML类图

2.3 系统设计指导思想

系统的设计与开发采用瀑布模型,将研发活动分为需求分析、软件设计、编程、系统测试四个阶段,每个阶段完成后才能进入下一环节,形成严格的依次递进关系。在需求分析阶段,明确系统功能并选择合适的数据库,设计对应的表结构;接着在软件设计阶段,根据需求对功能模块进行划分;然后进入编程阶段,根据设计完成代码编写;最后在系统测试阶段,对完成的系统进行测试和必要的修正,确保软件质量满足预期。

2.4 数据库设计

在数据库开发过程中,需全面考虑用户需求,用户立场为出发点,进行整体设计,确保数据库的可靠性、效率、可维护性和可扩展性,便于未来升级与扩充,同时在整个软件系统开发流程中[3],数据库设计是至关重要的环节,一个优质的数据库设计需充分考虑多方面因素,确保对数据库的深入理解,进而进行数据分析和处理,促进软件的持续发展。

2.4.1 数据库E-R图

 在此基础上,构建了一个与数据库管理系统(DBMS)无关的概念模型,并将从数据库系统中分离出来。在概念设计中,最广泛应用的方法是E-R造型法,即实体-关联图,它能够反映出实体之间的相互关系及实体与它们的属性之间的关系,对现实世界进行抽象表示。基于资料流的方法,我们建立了小组备忘录作业体系的E-R模型。该系统的基本E-R结构如下所示:

(1)团队工作计划任务信息E-R如图3所示。该实体主要属性有ID、标题、内容、计划开始日期、短信通知内容、提醒日期、提醒间隔、提醒次数、创建者ID,任务状态等,主要用于保存团队计划任务信息。

图3 团队工作计划信息实体联系图

(2)个人工作计划任务信息E-R如图4所示。该实体主要属性有ID、标题、内容、计划开始日期、短信通知内容、提醒日期、提醒间隔、提醒次数、创建者ID,任务状态等,主要用于保存用户计划任务信息。

图4 个人工作计划实体联系图

(3)用户E-R如图5所示。该实体主要属性有ID、账号、密码、手机号、角色编码等,主要用于保存用户信息。

图5 用户实体联系图

(4)短信E-R如图6所示。该实体主要属性有ID、发送人ID、收件人ID、标题、内容、发送日期等,主要用于保存通知的短信信息。

图6 短信实体联系图

(5)短信定时任务记录表E-R图如图7所示。该实体主要属性有ID、发送人、发送人号码、标题、下次发送时间、剩余次数,状态等,主要用于保存短信发送定时任务信息。

图6 短信定时任务实体联系图

(6)签到记录表E-R图如图7所示。该实体主要属性有ID、签到人Id、q签到日期,主要用于保存签到信息。

图8 签到实体联系图

图9 系统整体实体联系图

综上所述,本系统的整体实体联系图如图9所示,通过各实体之间的关系确定了本系统的最终所需要的实体及关联。

系统活动图(Activity Diagram)是一种用来描述系统中各个活动之间的流程和交互关系的行为图。它展示了系统中各种活动的顺序、条件和并发关系,通常用于可视化系统中的业务流程和操作序列。

本文系统活动图如图10所示:

图10 系统活动图

2.4.2 数据表设计

 通过对团队备忘录工作系统系统的分析,可以得到以下数据库的信息,该系统的主要数据库表如下:

    (1)团队任务表:此表中保存了团队任务信息,主要包括了ID、标题、内容、计划开始日期、短信通知内容、提醒日期、提醒间隔、提醒次数、创建者ID,任务状态。具体表结构如表1所示。

表1团队工作计划表

列名

数据类型

长度

主键

说明

id

int

11

Y

id

title

varchar

255

N

标题

content

varchar

255

N

内容

plan_date

datetime

0

N

计划时间

msg_content

varchar

255

N

通知内容

send_date

datetime

0

N

发送时间

send_interval

int

11

N

发送间隔

send_times

int

11

N

发送次数

create_id

int

11

Y

创建人id

status

Int

11

Y

状态

(2)个人工作计划任务该实体主要属性有ID、标题、内容、计划开始日期、短信通知内容、提醒日期、提醒间隔、提醒次数、创建者ID,任务状态。具体表结构如表2所示。

表2个人工作计划表

列名

数据类型

长度

主键

说明

id

int

11

Y

id

title

varchar

255

N

标题

content

varchar

255

N

内容

plan_date

datetime

0

N

计划时间

msg_content

varchar

255

N

通知内容

send_date

datetime

0

N

发送时间

send_interval

int

11

N

发送间隔

send_times

int

11

N

发送次数

user_id

int

11

Y

创建人id

status

Int

11

Y

状态

(3)用户表:此表中保存了用户信息,主要包括了ID、账号、密码、电话号码、角色编码。具体表结构如表3所示。

表3用户表

列名

数据类型

长度

主键

说明

id

int

11

Y

id

username

varchar

255

N

账号

password

varchar

255

N

密码

phone

varchar

10

N

真实姓名

rolied

Int

11

N

角色编号

(4)短信表该实体主要属性有ID、发送人ID、收件人ID、标题、内容、发送日期等。具体表结构如表4所示。

表4 短信表

列名

数据类型

长度

主键

说明

id

int

11

Y

id

from_id

int

11

N

发送人id

to_id

int

11

N

角色名称

title

varchar

255

N

标题

content

varchar

255

N

内容

send_date

datetime

0

N

发送时间

(5)短信定时任务记录表实体主要属性有ID、发送人、发送人号码、标题、下次发送时间、本次发送时间,状态。具体表结构如表5所示。

表5短信定时任务记录表

列名

数据类型

长度

主键

说明

id

int

11

Y

id

from_user

varchar

255

N

发送人

phone

varchar

255

N

手机号

title

varchar

255

N

标题

next_send_date

datetime

0

N

下次发送时间

send_date

datetime

0

N

发送时间

status

Int

11

Y

状态

(6)签到记录表该实体主要属性有ID、签到人Id、q签到日期,主要用于保存签到信息。

列名

数据类型

长度

主键

说明

id

int

11

Y

id

user_id

int

11

N

签到人id

send_date

datetime

0

N

签到时间

2.5 ElasticSearch程序设计

使用Elasticsearch进行声明检索,首先需要创建一个索引来存储通知资料,在索引映射中定义字段和解析器,例如使用“notice”作为索引名,并在映射中设定标题、内容、发布日期等字段。

将通知数据输入到Elasticsearch索引中,您需要确保数据被适当地格式化和转换为对应于索引的字段。这可通过使用Elasticsearch的REST API来完成,可编写一个脚本来实现批量数据输入。在执行此操作之前,请验证数据的准确性和完整性,确保索引中的信息是最新和正确的。

构建一个RESTful API界面,用于处理通知搜索请求,该界面应支持Spring Boot和Spring MVC框架,能够接收用户的搜索关键词、筛选条件和分页参数,便高效地响应用户的查询需求。

将用户的搜索关键词和筛选标准转换成适用于如Jest或Spring Data Elasticsearch的Java客户端的弹性搜索查询声明,支持词汇匹配、模糊查询、范围查询等多种查询方式。

执行对Elasticsearch的预编译查询,从索引中检索相关信息,并对结果进行分类、分页、高亮显示等操作满足信息检索需求。

向使用者传回搜寻结果时,您可采用JSON格式来包装搜索结果,确保包含了通知的标题、内容及发布日期等关键信息,便用户能够清晰地理解和接收所需的信息。

2.6 系统结构设计

2.6.1 系统结构图

本系统旨在为管理员和ES为基础的网站用户提供分层次的管理和服务功能。管理员将负责通知管理、地址簿管理、小组/个体工作日程管理、信件收发管理及登入管理等关键任务。而普通玩家则有权限访问自己的主页、个人资料、工作方案及团队任务等个性化内容。具体如图9所示。

图9系统结构图

2.6.2 系统功能模块设计

(1)登录模块

该系统在用户首次登陆时呈现登录画面,随后通过Ajax向服务器发送请求验证用户身份并在后台处理认证信息。一旦验证成功,前端依据Java反馈实时渲染页面,用户将直接转至“小组备忘录工作系统”的主页。该系统根据用户角色提供不同的访问权限;系统管理员拥有最高权限,可访问包括地址簿管理、工作计划、信函管理、签到等多个功能页面;而普通用户则仅能查看个人主页、个人资料、工作方案和团队任务等与自己相关的信息。

(2)团队/个人工作计划管理

系统管理员和使用者均能根据自身实际情况,对小组或个体的工作任务进行灵活调整。使用者可浏览和管理自己的任务,而管理员则有权限查看整个团队成员的小组任务状态,实现高效的任务分配和监督。

(3)写信/收信管理

该模块是关于用户的发送和接受的短信信息管理。

(4)通讯录管理

本系统主要提供对各账户数据的管理功能,并允许管理员设定账户权限,确保只有授权的管理员能够访问系统。系统为用户提供了修改私人资料,如电话号码等信息的便利。

(5)签到管理

    系统所有用户都可以对工作计划进行签到,并查看签到结果。

(6)站内公告管理

  确保网站用户能够及时获取到最新通知,系统管理员将各类通告信息存储于ElasticSearch搜索引擎中,便用户能够轻松地在网站上检索到他们所需的信息。

第3章 系统的实现

3.1 相关技术介绍

3.1.1MySQL

在评估数据库系统时,安全性是至关重要的标准,它关乎个人隐私保护和信息保密。MySQL是一种广泛使用的关系型数据库,快速性能、便捷使用和SQL语言支持而受到青睐。作为一个开源数据库,MySQL因降低开发成本而受到广泛采用,它通过使用多个表格进行数据存储,不仅便于管理,增强了系统的灵活性和可扩展性。

3.1.2 ElasticSearch 

Elasticsearch,一个基于Apache Lucene的开源分布式搜索和分析引擎,能够提供全文检索、结构化检索、实时数据分析和可视化功能。该引擎采用分布式架构,它能够在多个节点上扩展和分布,确保了系统的高可用性和可伸缩性。在分布式环境中,各个节点扮演着相同的角色,能够对数据进行分割和复制等操作,极大地增强了数据的安全性和可靠性。

Elasticsearch是一种先进的文本检索工具,它利用倒排索引的机制,为每个词汇建立与文档中位置的关联,实现高效准确的搜索。该系统具备高度可扩展性,能够根据需求增加或减少节点和集群,有效地提升处理能力和响应速度,适应不断增长的数据处理需求。

总而言之,Elasticsearch 是一个功能强大的分布式搜索和分析引擎,适用于构建各种搜索、推荐和实时分析应用。它具有高性能、可伸缩性和易于使用的特点,广泛应用于各个领域的数据处理和搜索场景。

3.1.3 SpringBoot

Spring Boot在后端开发中扮演着至关重要的角色,它通过引入一系列注解来简化Web架构的结构和开发流程。作为近年来最受欢迎的后台开发框架之一,Spring Boot的出现显著改变了传统Spring框架在开发过程中所需进行的复杂配置,基于Spring的应用构建和开发工作变得更加便捷。Spring Boot框架不仅继承了Spring框架的所有优势,而且提供了一种独特的提前配置方法,这允许开发者在创建项目之前进行大量的预设,避免了在开发过程中进行繁琐的配置。,Spring Boot集成了多个框架,这样开发者就无需手动搜索和导入Jar包,同时能够有效避免不同组件间的版本冲突,增强组件间的相关性,进一步简化Spring应用程序的构建和开发过程。

3.1.4Vue

Vue.js 是一种广受欢迎的前端 JavaScript 框架,它用于构建用户界面和网页应用程序。轻量级、易学、模块化特性著称,能够逐步集成到现有工作中,并能与他库或系统协同工作。该框架支持数据响应式,通过与文档对象模型(DOM)的自动化更新,实现了数据的实时展示,极大地提高了开发效率。Vue.js 采用组件化设计,将网页划分为多个可复用的组件,每个组件包含独立的模板、逻辑和样式,这不仅促进了代码结构的优化,便于后续的维护工作。,通过组件间的通讯机制,Vue.js 提供了灵活的功能扩展能力,大型应用程序的开发变得更加高效和可管理。

总体而言,Vue.js是一款功能强大、使用灵活、易于上手的前端框架,特别适用于构建现代化的网络应用。它具备数据绑定机制的轻量级特点、响应式设计、组件化开发模式、单向数据流、丰富的指令和插件系统及虚拟DOM等技术特性,为开发者提供了强大的工具和能力,高品质的人机交互界面能够更快地实现。

3.1.5Mybatis

Mybatis 是一种 Java 持久层框架,旨在解除 SQL 语句与编程语言间的耦合,实现对 SQL 的独立性,构建更清晰、易于维护的系统结构。作为半 ORM 工具,Mybatis 封装了 JDBC,简化数据库操作,无需手动处理连接和状态管理,提高了开发效率,并能与 Spring 框架无缝集成[10]。

3.2 系统框架搭建

在Spring Boot架构下,使用IDEA作为开发平台,结合Vue 3前端框架,构建工作规划环境。通过IDEA的Spring Initializer模板快速设定工作空间名称、JDK版本和项目依赖,如spring-boot-starter-web、spring-boot-starter-thymeleaf(更正)、mybatis-spring、mysql-connector-java等,简化配置流程,并利用内嵌的Tomcat服务器提供服务。

在制定完善的工作方案,我们即将形成工作规划的第一个框架。该框架将包含两个主要文件夹:java文件夹,用于存储Java相关文件;及存储文件夹,用于存放各类文件。在此基础上,我们将在static和template文件夹中建立所需的软件,并在application.yml文件中详细定义工作规划的概要。

在application.yml配置文件中中会根据开发需求进行相应的功能配置,如:使用server.port=8081来配置工作计划端口号,在 Spring Boot 的配置文件(application.properties 或 application.yml)中配置 Elasticsearch 的连接信息。

spring:

  data:

    elasticsearch:

      cluster-name: your-cluster-name

      cluster-nodes: localhost:9300

请注意,cluster-name 是 Elasticsearch 集群的名称,cluster-nodes 是 Elasticsearch 节点的地址和端口。

在本地开发环境中,启动前端工作计划和后端工作计划,并确保两者能够正常通信。可以通过配置开发代理或跨域请求头等方式解决跨域问题。

部署上线:当工作计划开发完成后,前端和后端需要分别进行部署。前端部署时,将打包生成的静态文件(在 dist 目录中)上传到 Web 服务器或 CDN 上,并配置好访问路径。后端部署则需要根据具体的后端框架选择适当的部署方式,确保后端服务可用。

通过以上介绍,工作计划的基本框架结构已经完成,下面对网站系统的基本功能进行介绍。

3.3普通用户功能实现

登录界面允许用户通过输入用户名、密码和角色等信息后,点击登录按钮进行身份验证。所有系统均需具备注册功能,本网站注册页面采用简洁风格,并通过JavaScript实现动态效果,增强用户体验。

在用户尝试登录系统时,前端应用程序要求用户提供用户名和密码。这些信息被前端验证,确保它们不是空白的,符合基本要求。随后,前端构造一个登录请求并发送到服务器。服务器端的UserController接收到请求后,在login方法中验证参数的准确性。验证通过后,服务器将响应发送回前端。前端然后从Vue模板中提取特定数值,并${关键字名称}的形式显示,如图10和11所示的接口所示。这一过程确保了用户在输入信息时符合规范,并且正确地处理了登录请求。                    

图10登陆界面

图11注册界面

登录成功后,用户进入首页界面,在首页中用户可以进行个人工作计划的创建,管理员和用户可以根据实际身份情况添加和删除团队或个人工作任务,用户可以查看并且管理自己的个人工作任务,管理员可以查看所有用户的团队任务情况。具体界面如图12所示。

图12系统首页界面图

用户员登录进入系统可以进行通讯录的查询,查询企业用户的号码等信息,并且可以选择用户进行短信发送,进行工作的交流。具体界面如图13、图14所示。

图13企业通讯录界面图

图14 收信界面

图15用户签到界面图

图16基于ES的公告搜索界面图

用户登录是一种广泛应用于手机软件和网页的功能,它允许用户在任意地点和时间进行身份验证,便记录个人行为和工作状态,提高工作效率和个人信息管理能力。

3.4 管理员功能实现

系统管理员输入账号密码可进入主页面,可以查看所有用户以及管理员模拟的收入团队任务情况,并且可以对所有用户的团队任务情况进行操作,具体界面如图19所示。

图19 管理员首页界面图

图20 工作记录界面图

系统的管理人员可利用ElasticSearch这一强大的搜索引擎,实现对职员签到信息的有效保存、删除和更改。它能够详细记录并展示职员的签到时间、离开时间及签到状态,为管理层提供清晰、准确的考勤数据,更好地进行员工管理。具体的操作流程可通过图22进行详细了解。

图21 站内公告管理界面图

图22 签到概览页面

点击主页左侧的系统管理主菜单下面的“用户管理”二级菜单,前端监听该事件并向服务器发送请求。服务器端根据“/list”请求映射到UserController控制器中的list()方法,该方法通过service层调用dao层的方法查询前端用户表,并将数据库查询到结果封装到分页集合中,再将其通过视图解析器按照“admin/account/list”发送到admin/account文件夹下的list.ftl模板中进行解析。在前端模板中使用Vue的标签遍历model中的前端用户对象(User)数据,并将对象的属性展示出来。管理员可以查看系统里的所有用户,也可以新增用户和删除用户,方便管理员对用户进行管理。具体界面如图23所示。

图23 用户管理界面图

本系统具备全面查询企业工作数据的功能,同时支持对相关数据进行添加、删除、更改等操作,具体的接口展示在图24中。

图24 团队工作记录管理界面图

第4章 系统的测试

4.1 系统测试的意义

在整个软件开发流程中,软件测试扮演着至关重要的角色。在小组完成工作系统的初步实施,应立即启动系统测试阶段,便及时识别并记录缺陷。这些提交的缺陷报告将成为后续软件改进的重要依据,为系统优化和升级奠定坚实基础。通过严格测试,确保各个模块运行顺畅,全面提升系统的完整性和稳定性,简化系统调试与维护工作。

4.2 系统测试的方法

本系统是一套针对企业内部员工的即时通讯管理平台,高度重视用户的互动体验。除了提供登录、注册等基本功能外,该平台采用图形化手段来实现员工资料的可视化呈现,提升用户的使用感受。

软件测试是一种多维度的活动,根据不同的测试视角和方法,可分为黑箱测试和白箱测试,及静态测试和动态测试等类型。黑箱测试侧重于软件的功能和行为,不考虑内部结构;白箱测试则关注代码结构和内部逻辑;静态测试通过分析代码或需求文档来查找问题,而动态测试则通过执行程序来检测错误。这些测试方法共同构成了确保软件质量的 comprehensive 体系。

本系统的测试过程采用黑盒测试方法,测试网站主要功能是否能达到预期。

4.3 功能测试实例

在软件开发过程中,功能测试是至关重要的环节,它帮助识别并修复程序中的潜在缺陷,确保软件按预期运行。我们精心选择了系统的核心功能函数进行深入测试。

4.3.1 团队任务管理测试图

测试用例1:在团队任务界面点击“添加”,输入对应信息,点击“确定!”测试过程如图25所示。

预期结果:团队任务添加成功。测试结果:团队任务添加成功。

图25 新增团队任务界面图

4.3.2 个人任务管理测试图

测试用例1:在个人任务界面点击“添加”,输入对应信息,点击“确定!”测试过程如图25所示。

预期结果:个人任务添加成功。

测试结果:个人任务添加成功。

图26 新增个人任务界面图

4.3.2 用户管理测试

测试用例1:在用户列表界面点击“添加”,输入对应信息,点击“确定”。测试过程如图30、31所示

预期结果:显示成功信息“用户添加成功”。

测试结果:显示成功信息“用户添加成功”。

图27 新增用户测试图

4.3.3 短信通知功能测试

测试用例1:在工作计划申请列表界面选中测试用例中添加的数据,点击“添加”。测试过程如图33、34所示。

预期结果:显示成功信息“工作计划提交成功”,并发送通知到手机用户。

测试结果:显示成功信息“工作计划提交成功”,手机端收到通知。

图28 短信通知功能测试图

4.3.4 签到功能测试

图29 签到功能测试图

经过全面测试和注册,我们小组完成了一个功能完整的工作备忘录系统。该系统经证明能够顺利执行所有主要功能,包括基于签到日志生成考勤统计报告。,我们相信这个系统可被正式应用,提高我们的工作效率和考勤管理。

4.3.5 公告搜索功能测试

图30 基于ES的站内搜索功能测试图

通过对整个企业内的站内公告系统进行快速搜索的功能测试,该系统主要搜索功能全部可以正常实现,测试结果与预测结果一致,并没有出现报错或者异常,系统可以正常使用。

第5章 总结与展望

5.1 系统总结

关于基于SpringBoot的团队备忘录工作系统网站的设计与开发,从结果上来看,基本实现了集业务管理与软件技术为一身的系统网站。功能上能满足正常的工作计划管理的相关操作,具有实际意义和价值。通过此次开发,我对软件工程相关内容有了更深的了解。在系统的设计上,注重用户需求,从需求出发,进行反复分析,从而设计出合理的网站系统。开发过程不断接触曾今学过的技术以及新的技术,是自己的专业基础不断牢固和提高,如:更进一步的深入了解软件三层框架和MVC设计模式;SpringBoot、Vue、ElasticSearch的使用更加熟练。在开发过程中我学到了一些经验:在开始系统开发之前,必须先进行全面、详细和准确地需求分析。这涉及到对客户的业务、流程和用户需求有深入的了解,才能保证开发的系统最终能满足客户期望,以及提高交付成功率和避免不必要的更改。选择正确的设计模式是进行有效的系统开发的基础。

此外,在这次设计中我个人走了很多弯路。主要是此次开发工程量大,业务逻辑较为复杂,平时很少接触此类开发,经验不足所导致。对于我来说,本设计所产生的作用,还将继续影响着我,此毕业设计对我来说是对自身能力的一种加强和提高。在以后的职业生涯中,还会遇到很多已经遇到的困难以及新的困难,不管怎样,我都会以对待此次经历一样对待它们。

5.2 前景展望

当今社会,大部分企业都已经开始使用各种各样的信息技术软件进行工作计划管理。对于团队备忘录工作系统来说也同样适用,通过聚合大量的数据、提高计算机智能化处理能力等手段,我们可以更加高效地管理企业,在确保质量的同时,也减少了很多人力成本。

参考文献

  1.  周利.高校全面团队工作管理与发展规划融合的实践思考[J].教育财会研究,2022,33(01):15-20
  2.   卢文静.高校校内团队工作管理存在的问题与建议[J].财会学习,2022(04):64-66
  3. 李冬梅.大数据时代下的企业团队工作管理研究[J].财会学习,2022(33):67-69.
  4. 李红超.政府会计制度下高等企业团队工作管理适应性改革研究[J].河南工学院学报,2022,30(02):72-75.
  5. 赵臣颖.基于全面团队工作管理的企业财务管理[J].商讯,2021(12):61-62.
  6. 于翔海.计算机数据库技术在信息管理中的应用价值[J].中国新通信,2023,25(02):81-83.
  7. 胡伟东.基于B/S结构的学生选课系统设计与实现[J].信息与电脑(理论版),2023,35(01):23-25.
  8. ]陈倩怡,何军.Vue+Springboot+MyBatis技术应用解析[J].电脑编程技巧与维护,2020(01):14-15
  9. 王智伟.基于B/S架构的咨询工作计划管理系统的设计与实现[J].数字技术与应用,2021,39(08):124-125
  10. 张永荟,王晨宇,邵逸菲,吴雨森,郝霖源.基于spring boot与mybaits框架的企业点餐APP[J].信息通信,2020(01):146-147.
  11. 周玫.基于某企业福利划拨管理系统的设计与实现[J].计算机产品与流通,2020(11):287.
  12. 赵秋雨.企业二手商品交易平台设计[J].许昌学院学报,2021,40(05):107-110
  13. 徐立艳.计算机软件数据库设计的原则及问题研究[J].软件,2023,44(01):141-143

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值