基于SpringBoot的团队备忘录系统的设计与实现

摘  要

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。团队工作系统就是信息时代变革中的产物之一。

使用Spring Boot作为后台框架,实现业务逻辑处理、数据持久化等功能。前端采用Vue框架,通过Vue组件化开发实现用户界面和交互逻辑。使用MySQL作为数据库存储系统,存储团队备忘录系统的各类信息,使用ElasticSearch搜索企业站内公告信息。

通过以上设计与实现,团队成员可以方便地记录和管理工作计划、个人计划、通讯录,搜索站内公告等信息,提高团队协作效率,实现团队备忘录系统的全面功能。同时,采用Spring Boot、Vue、ElasticSearch等现代化技术栈,能够提供良好的用户体验和开发效率。

本文首先介绍了团队备忘录工作系统的技术发展背景与发展现状,首先针对系统选取适用的语言和开发平台,根据功能需求分析用户有两种不同角色,分别为普通用户和管理员。制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图,最后对功能进行测试。

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

Design and implementation of team memo working system based on SpringBoot

Abstract

With the rapid development of information technology and network technology, human beings have entered a new information age, and traditional management technology has been unable to manage information efficiently and conveniently. Team work system is one of the products of the change in the information age.

Spring Boot is used as the background framework to realize functions such as business logic processing and data persistence. The front-end uses Vue framework, and realizes the user interface and interactive logic through Vue componentized development. Use MySQL as the database storage system to store all kinds of information of the team memo system, and use ElasticSearch to search bulletin information on the enterprise website.

Through the above design and implementation, team members can conveniently record and manage work plans, personal plans, address books, announcements in the search site and other information, improve the efficiency of team cooperation, and realize the full function of the team memo system. At the same time, the use of Spring Boot, Vue, ElasticSearch and other modern technology stack, can provide good user experience and development efficiency.

This paper first introduces the technical development background and development status of the team memo work system. First, the appropriate language and development platform are selected for the system. According to the functional requirements, users have two different roles, namely ordinary users and administrators. Develop the module and design the database structure, and then draw the system function module diagram, flow chart and E-R diagram according to the design of the overall function module of the system, and finally test the function.

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

目  录

第1章 绪论

1.1 系统开发背景

1.2 国内外研究现状

第2章 相关技术介绍

2.1 MySQL

2.2 ElasticSearch

2.3 SpringBoot

2.4 Vue

2.5 Mybatis

第3章 系统分析与设计

3.1 可行性分析

3.2 系统总体需求分析

3.2.1 系统页面设计

3.2.2 系统功能设计

3.3 系统设计指导思想

3.4 数据库设计

3.4.1 数据库E-R图

3.4.2 数据表设计

3.5 ElasticSearch程序设计

3.6 系统结构设计

3.6.1 系统结构图

3.6.2 系统功能模块设计

第4章 系统的实现

4.1 系统框架搭建

4.2普通用户功能实现

4.2 管理员功能实现

第5章 系统的测试

5.1 系统测试的意义

5.2 系统测试的方法

5.3 功能测试实例

5.3.1 团队任务管理测试图

5.3.2 个人任务管理测试图

5.3.2 用户管理测试

5.3.3 短信通知功能测试

5.3.4 签到功能测试

5.3.5 公告搜索功能测试

第6章 总结与展望

6.1 系统总结

6.2 前景展望

参考文献

第1章 绪论

1.1 系统开发背景

团队备忘录系统的开发背景通常源于以下几个方面的需求和考虑:

团队协作需求:随着团队规模的扩大和工作复杂性的增加,团队成员之间需要更好地协作与沟通。一个团队备忘录系统可以帮助团队成员共享信息、分配任务、跟踪进度,提高团队的协作效率。

信息共享与管理:团队成员通常会有大量的工作计划、个人任务、联系方式等信息需要管理和共享。通过团队备忘录系统,可以统一管理这些信息,避免信息孤岛和重复劳动。

日程安排与时间管理:团队备忘录系统通常包括日程安排、提醒功能,帮助团队成员合理安排工作时间、优化工作流程,提高工作效率。

数据统计与分析:通过团队备忘录系统,可以收集和分析团队成员的工作情况、签到记录等数据,为团队领导提供决策支持和团队管理参考。

技术驱动:随着云计算、移动互联网等技术的发展,团队备忘录系统的开发已经成为提高团队协作效率、实现信息化管理的必然选择。

因此,开发团队备忘录系统旨在解决团队协作中的信息共享、任务分配、时间管理等问题,提高团队整体工作效率和管理水平。同时,利用现代化的技术框架和工具,如Spring Boot、Vue、ElasticSearch等,可以快速开发出功能完善、用户体验良好的团队备忘录系统,满足团队管理的需求。

1.2 国内外研究现状

团队工作备忘录系统在国内的研究也得到了广泛关注和探讨,以下是一些国内研究现状的主要内容:

功能设计与定制化:国内研究者致力于团队工作备忘录系统的功能设计和定制化,以满足不同团队的需求。研究着重于如何设计符合国内团队工作特点的功能模块,提高系统的适用性和实用性。

移动端应用与云端服务:随着移动互联网的普及和云计算技术的发展,国内研究者致力于团队工作备忘录系统的移动端应用和云端服务。他们关注移动端应用的用户体验优化、云端数据同步与安全等技术问题。

团队协作与沟通:团队工作备忘录系统作为团队协作和沟通的重要工具,在国内的研究中备受关注。研究者探讨如何通过系统促进团队成员之间的协作与信息共享,提高团队整体效率

安全与隐私保护:团队工作备忘录系统中包含大量敏感信息,国内研究者对系统的安全性和隐私保护问题格外重视。他们研究数据加密、权限管理、身份认证等技术,确保用户数据的安全和隐私。

总的来说,国内团队工作备忘录系统的研究主要集中在功能设计与定制化、移动端应用与云端服务、团队协作与沟通、安全与隐私保护等方面。这些研究为团队备忘录系统在国内的应用和发展提供了理论指导和实践支持。

1.3 本章小结

本文是关于团队备忘录工作系统的设计与实现,本系统为了数据库结构的灵活性所以采用MySQL来设计数据库,ElasticSearch保证了繁多的企业内部公告查询的高效性。本文主要介绍了本系统的开发背景,所要完成的功能和开发的过程,主要说明了系统设计的重点、设计思想。

  1. 相关技术介绍

2.1 MySQL

衡量数据库技术时,安全性属于关键指标,不论是以保护用户隐私角度分析,还是以保护机密角度分析,数据库技术均具有较大作用[6]。MySQL是当前最流行的关系型数据库管理系统之一,具有速度快、易用性好、支持SQL语句等优点。并且MySQL数据库是开源的,在系统的开发过程中,很多用户会选择使用MySQL,降低开发成本。MySQL数据库通过将数据保存在不同的表中,方便管理,提高了其灵活性。

2.2 ElasticSearch 

Elasticsearch 是一个开源的分布式搜索和分析引擎,建立在 Apache Lucene 基础之上。它提供了强大的全文搜索、结构化搜索、实时数据分析和可视化等功能。Elasticsearch 是基于分布式架构设计的,可以将数据分散存储在多个节点上,实现高可用性和横向扩展。每个节点都具有相同的功能,并且能够自动处理数据的分片和复制,从而确保数据的安全性和可靠性。

Elasticsearch 提供了强大的全文搜索功能,支持对大规模数据集进行快速和准确的搜索。它使用倒排索引技术,将文档中的每个词与其出现的位置进行关联,以实现高效的搜索和检索。Elasticsearch 具有良好的弹性和可扩展性,可以根据需要随时增加或减少节点和集群的规模。通过添加新的节点,可以实现更高的吞吐量和更快的响应时间,以满足不断增长的数据需求。

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

2.3 SpringBoot

Springboot应用于后端开发其是Spring开发技术的升级,引入注解,简化了Web框架的配置和开发流程[8]。Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发人员在工程创建是就预先做了很多配置,这样在开发时就不再需要开发人员过多进行繁琐的配置了。另外在Spring Boot中集成了大量框架,这就使得开发人员不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化。

2.4 Vue

Vue.js 是一款流行的前端 JavaScript 框架,用于构建用户界面和单页面应用程序(SPA)。Vue.js 是一个轻量级框架,体积小巧,易于学习和上手。它采用了现代化的模块化设计,可以逐步引入到工作计划中,也可以与其他库或工作计划结合使用。Vue.js 提供了响应式数据绑定的能力,通过将数据和 DOM 元素进行绑定,实现数据的自动更新和同步显示。这使得开发者无需手动操作 DOM,提高了开发效率。Vue.js 支持组件化开发,将页面拆分成多个独立可复用的组件,每个组件包含自己的模板、逻辑和样式,有利于代码的组织和维护。同时,组件之间可以进行通信,实现更灵活的功能扩展。

总的来说,Vue.js 是一个功能强大、灵活易用的前端框架,适合用于构建现代化的 Web 应用程序。它的特点包括轻量级、响应式数据绑定、组件化开发、单向数据流、指令与插件系统以及虚拟 DOM 技术等,为开发者提供了丰富的工具和功能,帮助他们快速构建高质量的用户界面。

2.5 Mybatis

mybatis是基于Java持久层的一个框架,我们使用它的主要目的是,能够解除sql语句和程序的代码之间的耦合,使得系统的设计更清晰,更加易于维护,同时mybatis也没有任何第三方的依赖[10]。Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余的代码,不需要手动开关连接,并且能够很好的与Spring框架集成。


3章 系统分析与设计

3.1 可行性分析

可行性研究在工作计划开发中十分重要,是指在开发前根据系统的主要功能和配套条件等多角度进行研究、分析和预测。可行性分析必须分析几种主要的可能解法的利弊,从而判定原定的系统目标和规模是否现实。该团队工作管理系统可行性分析将从技术可行性、经济可行性、运行可行性等方面进行分析。

技术可行性:本系统的开发使用java作为系统开发的开发语言,开发环境选择idea,IDEA是一个基于Java的开发平台,它的功能强大,广泛的支持各类开源代码,使用IDEA和数据库相结合,可以提高Java的开发效率,提高服务器的稳定。而B/S结构决定了本系统的兼容性和多用户可操作性。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零维护[12]。Elasticsearch 是一个开源的分布式搜索和分析引擎,建立在 Apache Lucene 基础之上。它提供了强大的全文搜索可实现企业站内公告的快速查询。此外选择MySql作为数据库不仅提高了数据安全性更保障了数据的可操作性。

经济可行性:团队备忘录工作系统系统是作为毕业设计系统,系统本身功能并不全面,并不能直接提供给企业使用,主要目的是通过此次系统的开发提高自身水平。通过在电脑上配置相关环境完成团队备忘录工作系统系统的开发,对于经济方面没有任何要求,所有过程不需要额外的花费。

运行可行性:本系统作为以java作为开发语言的系统,而且选用B/S结构则决定了要操作本系统仅需要占用很小的资源,对于硬件的配置要求并不高,只要可以运行浏览器的电脑都可以运行使用该系统,实现系统的功能。

综上所述,本系统的设计与开发在经济上、技术上、运行上的条件都是满足的,因此,系统开发具备可行性条件。

3.2 系统总体需求分析

作为一个面向企业的团队工作管理系统设计,需要满足企业对系统的要求。因此团队备忘录工作系统的开发目标必须要满足企业需求。通过调查需求和查阅资料确定系统功能,并根据需求制定相应的解决方案。企业各个部门应该能够登录系统,查看和细化其被分配的团队工作计划,包括提交个人工作计划等操作。系统应该具有用户登录功能,通过在系统中输入正确的用户名和密码来认证用户身份。具备以用户可自主注册账号,各角色(管理员/普通用户)根据权限访问不同的功能,系统具有团队计划管理,个人工作计划,用户管理,写信,收信,签到,通讯录,搜索站内公告等功能。

3.2.1 系统页面设计

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

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

总结归纳出一下几点:

  1. 网站总体的布局大致分为三个部分:头部、中间部分、底部。
  2. 头部和尾部信息在不同页面中几乎没有变化,可以复用页面代码。
  3. 网站首页信息不宜过多过细,尽量精简。
  4. 可以借鉴其他网页模板设计。
  5. 通过浏览器开发这模式,可以更好的调整网页布局。
  6. 适当增加网站页面的层次感,可以提高用户的使用感受。

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

3.2.2 系统功能设计

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

  1. 普通用户登录

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

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

  1. 系统管理员登录

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

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

3.3 系统设计指导思想

系统的设计与开发采用瀑布模型,将系统按工序化简,分离系统功能的实现与设计。该模型把系统开发过程分成不同的阶段,每个阶段完成后顺序地流转到下一个阶段,各阶段之间是线性的关系,前一个阶段的结果作为后一个阶段的输入。在进行新一轮的迭代或修改时,需要回到前面的阶段重新整合、修改、重复执行。本次系统开发分为,需求分析,软件设计,程序编写,系统测试四个部分,并规定规定了他们自上而下的固定次序,逐级下落,如同瀑布流水。本系统首先确定了系统所需的各项功能,在此基础上选用合适的数据库,设计契合的表项,然后根据需求分析进行模块化设计,在由此进行程序的编写,最后对系统进行测试并修改。

3.4 数据库设计

为了保障系统能够满足相关要求,在设计数据库初期便需要充分考量客户需求,从使用者的角度出发来考量整个数据库设计,帮助数据库充分发挥自身价值[13]。数据库设计的最终目的是建立一个可靠、高效、易维护、可扩充的数据库,以便在日后系统扩展时能够快速地升级或扩充。数据库设计是整个软件开发过程中重要的环节,它贯穿于整个软件开发过程,对数据管理具有决定性的作用。一个好的数据库设计应该从多个角度出发。要对数据库有一个清晰全面的认识,然后对数据进行分析、归类、整理、归纳等操作,用来帮助完成系统的开发。

3.4.1 数据库E-R图

 数据库概念设计是数据库设计的核心环节,通过对用户需求进行综合、归纳与抽象,形成一个独立于DBMS的概念模型。概念设计采用最广泛的是E-R建模方法,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 签到实体联系图

3.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

签到时间

3.5 ElasticSearch程序设计

对于公告搜索的 Elasticsearch 程序设计,首先,需要创建一个索引来存储公告数据,并定义映射以指定字段类型和分析器。例如,可以创建一个名为 "notice" 的索引,并在映射中定义标题、内容、发布日期等字段。

将公告数据导入 Elasticsearch 索引中。可以使用 Elasticsearch 的 REST API 或者编写脚本程序来实现数据的批量导入。确保数据按照索引映射的字段进行正确的格式化和转换。

创建一个 REST API 接口来处理公告搜索请求。可以使用 Spring Boot、Spring MVC 或其他框架来实现。该接口可以接收用户的搜索关键字、过滤条件以及分页参数。

在接口中,将用户的搜索关键字和过滤条件转换为 Elasticsearch 的查询语句。可以使用 Elasticsearch 的 Java 客户端(如 Jest、Spring Data Elasticsearch)来构建查询语句。根据需求,可以使用词项匹配、模糊查询、范围查询等不同类型的查询。

执行搜索:将构建好的查询语句发送给 Elasticsearch,执行搜索操作。获取搜索结果后,可以对结果进行排序、分页、高亮显示等处理。

返回结果:将搜索结果返回给用户。可以将搜索结果封装为 JSON 格式,包括公告的标题、内容、发布日期等信息。

3.6 系统结构设计

3.6.1 系统结构图

本系统用户分为管理员和用户,其中管理员拥有包括基于ES的站内公告管理,通讯录管理,团队/个人工作计划管理,写信/收信管理 ,签到管理等等。普通用户仅能看到首页以及个人信息页,工作计划申请页面,个人团队任务,团队任务统计。具体如图9所示。

图9系统结构图

3.6.2 系统功能模块设计

(1)登录模块

  1. 当访问本网站时,首先加载的系统登录界面。前端页面发送Ajax请求到后台,后台校验用户是否合法并返回用户的权限信息,前端根据Java 返回的信息动态渲染页面,登录后直接跳转到团队备忘录工作系统首页,不同角色的用户可以看到的模块有所不同,系统管理员具备大部分的功能,可以看到大部分的页面,包括通讯录管理,团队/个人工作计划管理,写信/收信管理 ,签到管理等等。普通用户仅能看到首页以及个人信息页,工作计划申请页面,个人团队任务,团队任务统计。
  2. 团队/个人工作计划管理

管理员和用户可以根据实际身份情况添加和删除团队或个人工作任务,用户可以查看并且管理自己的个人工作任务,管理员可以查看所有用户的团队任务情况。 

  1. 写信/收信管理

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

(4)通讯录管理

该模块是关于用户的信息管理,管理员可以对这些账号的使用状态进行设置,只有管理员可以访问用户管理模块。个人可对手机号等个人信息进行修改。

(5)签到管理

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

(6)站内公告管理

    由于站内公告发布频繁,系统管理员将公告信息存储到ElasticSearch,所有用户都可以对企业内公告进行搜索,并查看搜素结果。

  

第4章 系统的实现

4.1 系统框架搭建

团队备忘录工作系统基于SpringBoot框架,并使用IDEA作为开发工具,前端使用Vue3技术。在工作计划环境的搭建上过程,首先使用IDEA内置的Spring Initializer 模板,快速设置工作计划名称,JDK版本,工作计划名称等,下一步便可以预先勾选工作计划所需要的依赖。在本开发中需要的主要依赖有:spring-boot-starter-web、spring-boot-starter-data-jpa、spring-boot-starter-Vue、mybatis-spring、mysql-connector-java。由于SpringBoot框架内置了Tomcat服务器,减少了这一过程的配置。

工作计划创建完成之后工作计划的初步结构已近出现。在工作计划目录下主要包括了两个目录,java目录和recourse目录,分别存放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 上,并配置好访问路径。后端部署则需要根据具体的后端框架选择适当的部署方式,确保后端服务可用。

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

4.2普通用户功能实现

登录界面通过登录页面填写用户名和密码、角色等信息,点击登录操作。登录功能是每个系统都需要具有的。在本网站的后台登录界面采用简约风格,并加入了用js实现网页背景动态效果增加观赏性。

用户实现登录需要经过校验。首先用户输入用户名和密码,在这阶段前端会对用户输入的数据格式进行校验,如用户名、密码不能为空等。当用户输入正确格式的用户名密码后,前端将请求发送给服务器,此时系统根据请求映射的路径进入系统控制器UserController中的login()方法,该方法中会请求参数进行校验,并将结果返回给前端。前端会通过Vue模板通过${键名}的方式将具体的值取出并显示。具体界面如图10、图11所示。

图10登陆界面

图11注册界面

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

图12系统首页界面图

图13企业通讯录界面图

                             

                         图14 收信界面

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

图15用户签到界面图

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

用户签到功能通常用于移动应用或网站上,让用户在特定地点或特定时间进行签到操作,以记录用户的活动、记录工作的情况。

4.2 管理员功能实现

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

   图19 管理员首页界面图

 图20 工作记录界面图

   管理员可以基于ElasticSearch对公告信息进行存储,删除,修改和复杂查询,具体界面如图21。系统能够展示员工过去的签到记录,包括签到时间、签退时间等信息,具体界面如图22。

图21 站内公告管理界面图

图22 签到概览页面

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

图23 用户管理界面图

   管理员可以查看企业的所有工作记录信息,并且根据实际情况增加,删

除,修改预算的信息。具体界面如图24所示。

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

5章 系统的测试

5.1 系统测试的意义

软件测试是软件开发流程中必必不可少的一步。在团队备忘录工作系统进行初步实现之后,开始进行对系统进行测试,找出系统中存在的Bug,用提交的Bug报告来为以后软件的改进提供标准和参考,能够在以后的系统改进中找到依据。测试后的软件各模块基本功能可以顺利进行,尽可能的提高系统的完整性,便于调试和系统维护。

5.2 系统测试的方法

本网站系统是一个企业内部使用的团队备忘录工作系统,因此网站的交互体验尤为重要。除了网站的基本功能,如登录、注册外,还对数据使用图表显示等功能实现,使数据能够更直观的展示。

软件测试的方法有很多种,根据不同的测试角度,测试方法也有不同,如从软件内部结构和具体实现的角度有黑盒测试和白盒测试;从是否执行程序的角度:静态测试和动态测试等方法。

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

5.3 功能测试实例

系统测试的过程中,功能测试是整个测试测试中最重要的环节,它可以测试出你的系统功能是否可以实现,同时也能发现系统很多隐藏的漏洞。下面则选用系统的主要功能进行测试。

5.3.1 团队任务管理测试图

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

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

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

图25 新增团队任务界面图

5.3.2 个人任务管理测试图

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

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

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

图26 新增个人任务界面图

5.3.2 用户管理测试

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

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

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

图27 新增用户测试图

5.3.3 短信通知功能测试

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

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

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

图28 短信通知功能测试图

5.3.4 签到功能测试

图29 签到功能测试图

通过对整个团队备忘录工作系统签到进行功能测试,该系统主要功能全部可以正常实现,根据签到记录,可以生成考勤统计报表,系统可以正常使用。

5.3.5 公告搜索功能测试

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

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

6章 总结与展望

6.1 系统总结

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

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

6.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

以下是一个基于Spring Boot备忘录系统的示例代码: 1. 创建一个Spring Boot项目并添加所需的依赖。 2. 创建一个备忘录实体类(Memo): ```java @Entity @Table(name = "memo") public class Memo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "title") private String title; @Column(name = "content") private String content; // 省略构造函数、getter和setter方法 } ``` 3. 创建一个备忘录的数据访问对象(MemoRepository): ```java @Repository public interface MemoRepository extends JpaRepository<Memo, Long> { // 自定义查询方法(可根据需要添加其他查询方法) } ``` 4. 创建一个备忘录的服务类(MemoService): ```java @Service public class MemoService { @Autowired private MemoRepository memoRepository; public List<Memo> getAllMemos() { return memoRepository.findAll(); } public Memo getMemoById(Long id) { return memoRepository.findById(id).orElse(null); } public Memo createMemo(Memo memo) { return memoRepository.save(memo); } public Memo updateMemo(Long id, Memo memoDetails) { Memo memo = memoRepository.findById(id).orElse(null); if (memo != null) { memo.setTitle(memoDetails.getTitle()); memo.setContent(memoDetails.getContent()); return memoRepository.save(memo); } return null; } public boolean deleteMemo(Long id) { Memo memo = memoRepository.findById(id).orElse(null); if (memo != null) { memoRepository.delete(memo); return true; } return false; } } ``` 5. 创建一个备忘录的控制器类(MemoController): ```java @RestController @RequestMapping("/memos") public class MemoController { @Autowired private MemoService memoService; @GetMapping("/") public List<Memo> getAllMemos() { return memoService.getAllMemos(); } @GetMapping("/{id}") public Memo getMemoById(@PathVariable("id") Long id) { return memoService.getMemoById(id); } @PostMapping("/") public Memo createMemo(@RequestBody Memo memo) { return memoService.createMemo(memo); } @PutMapping("/{id}") public Memo updateMemo(@PathVariable("id") Long id, @RequestBody Memo memoDetails) { return memoService.updateMemo(id, memoDetails); } @DeleteMapping("/{id}") public ResponseEntity<?> deleteMemo(@PathVariable("id") Long id) { boolean deleted = memoService.deleteMemo(id); if (deleted) { return ResponseEntity.ok().build(); } return ResponseEntity.notFound().build(); } } ``` 这是一个简单的备忘录系统的示例代码,你可以根据实际需求进行修改和扩展。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值