目 录
1 绪论.................................................................. 1
1.1 学农夏令营活动管理系统开发背景....................................... 1
1.2 学农夏令营活动管理系统开发目的....................................... 2
1.3 学农夏令营活动管理系统应用现状....................................... 2
1.4 本论文的主要工作.................................................... 2
2.1 学农夏令营活动管理系统可行性分析..................................... 4
2.1.1 学农夏令营活动管理系统技术可行性分析................................ 4
2.1.2 学农夏令营活动管理系统经济可行性分析................................ 4
2.1.3 学农夏令营活动管理系统操作可行性分析................................ 4
2.2学农夏令营活动管理系统用户与角色分析.................................. 5
2.3学农夏令营活动管理系统功能性需求分析.................................. 5
2.4 学农夏令营活动管理系统非功能性需求分析................................ 6
2.5 学农夏令营活动管理系统拟解决的问题................................... 7
3 学农夏令营活动管理系统概要设计......................................... 8
3.1 学农夏令营活动管理系统设计目标....................................... 8
3.2 学农夏令营活动管理系统功能模块设计.................................... 8
3.3 用例模型分析........................................................ 8
3.4 用例说明表......................................................... 10
3.5 体系结构分析....................................................... 14
3.6 部署模型分析....................................................... 15
4 学农夏令营活动管理系统详细设计........................................ 16
4.1 学农夏令营活动管理系统登录流程分析设计............................... 16
4.2 学农夏令营活动管理系统活动管理模块流程分析设计....................... 16
4.3 学农夏令营活动管理系统夏令营管理模块流程分析设计..................... 17
4.4 学农夏令营活动管理系统数据库设计.................................... 18
4.3.1 学农夏令营活动管理系统数据库概念模式设计........................... 19
4.3.2 学农夏令营活动管理系统数据库逻辑模式设计........................... 19
4.3.3 学农夏令营活动管理系统数据库物理模式设计........................... 19
5 学农夏令营活动管理系统实现与测试...................................... 23
5.1 学农夏令营活动管理系统开发环境...................................... 23
5.2 学农夏令营活动管理系统相关技术...................................... 23
5.2.1 Spring Boot框架介绍............................................. 23
5.2.2 MVC简介......................................................... 24
5.2.3 MySQL数据库..................................................... 25
5.3 学农夏令营活动管理系统主要功能的实现................................. 25
5.3.1 学农夏令营活动管理系统登录功能的实现............................... 25
5.3.2 学农夏令营活动管理系统营长管理功能的实现........................... 25
5.3.3 学农夏令营活动管理系统夏令营管理功能的实现......................... 27
5.3.4 学农夏令营活动管理系统活动申请管理功能的实现....................... 27
5.3.5 学农夏令营活动管理系统活动申请经费管理功能的实现................... 28
5.3.6 学农夏令营活动管理系统活动夏令营展示功能的实现..................... 29
5.3.7 学农夏令营活动管理系统活动夏令营详细信息展示功能的实现.............. 29
5.3.8 学农夏令营活动管理系统活动活动信息展示功能的实现................... 30
5.4 学农夏令营活动管理系统的测试........................................ 30
5.4.1 学农夏令营活动管理系统的测试设计.................................. 30
5.4.2 学农夏令营活动管理系统的测试用例.................................. 31
5.4.3 学农夏令营活动管理系统的测试结果分析............................... 32
6 总结与展望........................................................... 33
6.1 总结............................................................... 33
6.2 展望............................................................... 33
【参 考 文 献】........................................................ 34
致谢................................................................... 35
摘 要
本系统为针对学农主题的夏令营而设计制作的活动管理系统,旨在实现夏令营活动智能化、现代化管理。本学农夏令营活动管理系统的开发和研制的最终目的是将传统人工管理策划夏令营活动的管理模式转变为基于计算机网络的信息管理模式,从而为夏令营管理人员的使用提供便利和信息化抓手。让用户更好的获取学农夏令营的活动信息,是学农夏令营活动管理中数字化、智能化的直观展现,顺应了当前时代信息化的洪流。
为了更好地发挥本系统的技术优势,根据学农夏令营活动管理系统的需求,本文使用MVC经典设计模式中的SpringBoot框架,以Java语言为基础,通过必要的编码处理、学农夏令营活动管理系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法,根据使用场景划分为前后端系统,实现用户前端浏览公告、夏令营活动浏览、夏令营申请等功能;营实现申请经费、申请活动等关键功能;管理员基于后台实现用户管理、活动信息管理、公告管理及相关的申请管理功能,本系统基本实现学农夏令营活动的信息化管理,但仍有提升空间,如未来可通过数据可视化工具实现相关数据的可视化展示,接入支付端口,提高营销能力,提升该学农夏令营活动管理系统的变现能力。
关键词: 学农夏令营活动管理系统; SpringBoot; Java
ABSTRACT
This system is an activity management system designed and developed for the summer camps on the subject of learning and agriculture, with the aim of realizing intelligent and modern management of summer camps activities. The ultimate purpose of the development and development of the management system for agricultural summer camps is to change the traditional management mode of artificial management planning summer camps activities into a computer network-based information management mode, so as to provide convenience and information-based grasp for the use of summer camps management personnel. Enabling users to get better information about the activities of the school-farming summer camps is a digital and intelligently intuitive display of the activities management of the school-farming summer camps, which conforms to the current information-based flood.
In order to make better use of the technical advantages of this system, according to the requirements of the management system of the activities of the school-farming summer camps, this paper uses the SpringBoot framework in the MVC classical design mode, based on the Java language, through the necessary coding processing, the overall framework of the management system for the activities of the school-farming summer camps, advanced experience and technical implementation methods for the diversity and effectiveness of functional services, and divides it into front-end and back-end systems according to the use scenari Implement functions such as front-end browsing announcements, summer camp activities browsing, summer camp applications, etc. The battalion achieves key functions such as application funds and application activities; Administrators implement user management, activity information management, announcement management and related application management functions based on the background.
Key words: Management system for activities of school-farming summer camps; SpringBoot; Java
基于SpringBoot的学农夏令营活动管理系统的设计与实现
赵德龙
(天津农学院 计算机与信息工程学院)
1 绪论
1.1 学农夏令营活动管理系统开发背景
近年来,类似管理类的软件数量正逐渐快速增加,人工的记录和数据统计已经变得不完全能够轻松处理出如此巨量庞大复杂的电子数据。为了能更好快速地实现适应现代化社会要求的高效性,一个利用计算机技术来轻松实现自动化夏令营活动管理工作的系统也将随之诞生。基于以上这一点,设计完成了此学农夏令营活动管理系统,进行规范化管理,方便管理员、用户及营长等夏令营参与者,可以在最短的时间范围内,高效、便捷且准确地去进行对夏令营活动进行查询、活动申请、经费申请,进行查询或修改等一系列操作。
根据对上述知识的深入了解,浏览国内外相关研究资料文件与数据,查阅大量相关研究文献、书籍以及各类技术资料,对夏令营活动管理系统的用户、数据、需求、特点等多方面内容进行了分析与调研。发现了目前市面上多部分活动策划管理行业还是采用传统的手工记录信息方法进行记录和宣传。管理有以下这样方面明显的缺点:信息量大,该相关信息的记录与存储无从下手,且产生大量交互信息,难以及时存档,大量的夏令营活动信息和用户信息对管理员来说是很大的管理负担。根据以上诸多原因,学农夏令营相关信息的现代化管理需要一个计算机软件来取代传统手工的操作流程来组织、管理这些信息。
电子计算机诞生后,世界因为信息时代的到来发生了翻天覆地的变化。计算机所构成的网络已将整个社会联系起来,整个社会的效率也因此逐步提高,因此当今社会正以前所未有的速度飞速发展着。计算机技术在中国当代企业管理中普遍地被应用,使计算机工具逐渐成为现代人们直接应用掌握现代信息处理技术管理的一项不可或缺的工具。计算机系统能将其原始数据进行分析、加工、储存,工作人员能够在需要补充相关数据时,随时对数据信息进行检索,了解当前学农夏令营活动管理系统信息的更新动态情况,从而能够有效准确的组织、处理夏令营活动,完成对学农夏令营的统一管理指导工作。
1.2 学农夏令营活动管理系统开发目的
由于电脑的日益广泛与应用,其将逐步演变成为中国工业现代化水平的一重要标志。学农夏令营活动管理在整个日常工作流程中总是会出现新的用户信息、新的活动信息,学农夏令营信息以及基于信息交互而最终形成的活动申请、夏令营申请、经费申请等。因此,必须将全部信息加以信息化的管理,实现管理的智能化,从而更加快捷地解决用户的需求,并提升工作效率。通过开发设计该学农夏令营活动管理系统可以方便的为用户、营长提供高效的夏令营信息获取渠道、优化活动申请及经费申请流程,提升用户前端体验感;同时对于夏令营的管理方,为其带去信息化的管理手段,提升管理效率,同时在信息化管理操作中反哺优化夏令营活动全流程,正向的优化整个夏令营活动的闭环流程。
1.3 学农夏令营活动管理系统应用现状
目前夏令营的活动管理存在很多痛点问题,比如:对夏令营活动统计信息管理流程繁琐、工作人员操作不易、容易发生误操作或登入错误信息、工作效率较低等,从而形成夏令营活动管理的困难且浪费时间的现状。另外,相关管理很不健全,管理人员也处于匮乏状态,又需要考虑到成本因素,开发一个相对硬件设施不是很高的系统从而管理夏令营活动信息,是有必要的。综上所述,本文将利用Java、MVC、SpringBoot框架等技开发一个具有功能齐全、便于操作、对电脑配置要求不高的学农夏令营活动管理系统。软件开发是一段漫长的过程,期间需要进行不断地维护与改良,至今与本课题类似的国外的社群活动管理系统已几乎接近成熟。本文使用MVC经典设计模式中的SpringBoot框架,以Java语言为基础,通过必要的编码处理、学农夏令营活动管理系统整体框架、功能服务多样化和有效性的高级经验和技术实现方法,根据使用场景划分为前后端系统,实现用户前端浏览公告、夏令营活动浏览、夏令营申请等功能;营长实现申请经费、申请活动等关键功能;管理员基于后台实现用户管理、活动信息管理、公告管理及相关的申请管理功能。
1.4 本论文的主要工作
(1)本文介绍了实现学农夏令营活动管理系统的具体实现方法,并根据总体的软件开发过程进行了初步的调查与研究,以判断是否能够正常实现、技术可行以及系统各功能模块的设计与实现,最终选定所采用的技术及实现方案。
(2)该平台框架采用了开放源代码框架,可以让开发者更快地建立起软件的体系结构和重用能力,它可以让开发者在开发过程中迅速地建立起一个基础的开发框架,它可以帮助开发者在开发过程中,降低开发过程中的困难,提高了系统的安全性和稳定性,并且可以协助程序开发者进行系统功能模块的开发和数据的处理。
(3)管理员对学农夏令营活动管理系统的数据进行了详细的管理,不仅要满足相应的要求,而且还要满足一些基础的要求,MySQL数据库中的约束关系可以按照数据库中的各个实体的相互联系转换为数据库,以便在系统的实施过程中能够设置它们的关联。通过上面常说的步骤可以构成最后的软件,学农夏令营活动管理系统中的每个作用部分归属于不一样的等级,这可以促进达到不一样的作用控制模块,这些作用控制模块相互之间效果,促进软件的实现。
2 学农夏令营活动管理系统需求分析
需求的分析中用户需求是比较的重要,可通过各种的途径获取用户需求,如市场调研、竞品分析等手段,获取夏令营活动管理业务底层各用户对于系统的功能需求,对这些需求内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,认真的分析过程,结合现实的情况下最终做出一系列的需求文档。在有关用户的期望分析中能够明确一些可能实现的功能,学农夏令营活动管理功能是许多个可以测试的功能相结合的,正是由于这些功能可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求[1]。
2.1 学农夏令营活动管理系统可行性分析
2.1.1 学农夏令营活动管理系统技术可行性分析
在研究技术可行性的时候,系统的开发环境是可以确定的,所以技术可行性最好与系统功能和性能以及一些实际的情况同时考虑。在可行性研究阶段,结合实际调整开发的内容和选择能够完成的技术体系是一个可用的手段,如果系统进入开发阶段,任何的调整都意味着会耗费更多的经历。需要再次明确的问题是,技术可行性不只是考虑在技术上是否可实现,实际上还包含了在当前的实际的情况下的技术可行性。有很多的因素例如时间不足、预期的开发目标技术难度比较难、不能有充足的技术积累、而且对于技术的掌握不够等这些实际存在的情况,都是要提前部署和认真规划的[2]。
开发学农夏令营活动管理系统的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了Java和MySQL技术。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发。
2.1.2 学农夏令营活动管理系统经济可行性分析
如果管理员能够拥有一个学农夏令营活动管理系统,那么就可以基于系统进行相应的管理,这样可以节省大量的人力成本。学农夏令营活动管理的实施能够解决以往管理模式所带来的不必要的财务费用,尤其是在这方面的人力资源费用,且基于该系统的落地推广,可促进用户对于夏令营的了解,由此带来的收益也是可以量化的。
2.1.3 学农夏令营活动管理系统操作可行性分析
本系统开发平台的总体开发理念,是以安全、便捷、使用为工作中心。开发成熟后采用的本机操作系统还应具备漂亮、大方、简洁,易于管理、运行、维护等许多优点,就算是完全不懂得电脑操作的人士,也一定能够熟练按照本操作系统的提示正确应用、维护、使用和管理好本系统。它所提供的简便易学的功能特性也能够使本系统真正在用户实际使用、管理中方便可行。
2.2学农夏令营活动管理系统用户与角色分析
通过市场调研分析得出该夏令营活动管理系统有三个使用对象,分别为用户、营长及管理员。
用户主要使用场景为前端,主要需实现注册登录、夏令营信息浏览、活动信息浏览、个人信息管理等功能。
营长需实现首页、个人中心、公告信息管理、夏令营管理、夏令营申请管理、活动信息管理、活动申请管理及申请经费管理等功能模块。
管理员需实现:用户管理、营长管理、活动类型管理、活动信息管理、夏令营管理、夏令营申请管理、活动信息管理、活动申请管理、申请经费管理及系统管理等功能模块。
2.3学农夏令营活动管理系统功能性需求分析
学农夏令营活动管理系统关键的功能模块主要为参与夏令营全流程闭环管理的三类用户的信息管理、夏令营信息管理、活动信息管理。通过功能用例展示功能需求如下:
在表格2-1中给出了营长信息管理案例的说明。
表2-1 营长信息管理用例描述
用例标识 | 2-1 |
用例名称 | 管理营长信息 |
参与者 | 管理员 |
前置条件 | 管理员必须输入正确的帐号和密码以登录该系统 |
后置条件 | 管理营长 |
用例概述 | 管理员管理营长 |
基本事件流 | 1.管理员输入营长名和密码 2.管理员点击添加按钮,在营长信息管理界面中提交新增加的营长信息 3.只有营长信息跟数据库信息不同,营长信息才能够添加成功 |
备选事件流 | 4.添加的信息需要注意字符合法性才能够成功添加 |
备注 |
(2)活动信息管理
活动信息管理用例描述如表2-2所示。
表2-2 活动信息管理用例描述
用例标识 | 2.2 |
用例名称 | 删减活动 |
参与者 | 管理员 |
前置条件 | 管理员登录系统 |
后置条件 | 删减活动 |
用例概述 | 管理员删减活动 |
基本事件流 | 1.管理员在系统中输入正确的帐号和密码 2.管理员按下删除键,将更改后的活动资料提交至活动信息管理界面 3.活动信息删除成功 |
备选事件流 | 4.活动信息需要不与其他表格相联系,才能够删除活动信息 |
备注 |
(3)查看夏令营详情信息
查看夏令营详情信息用例描述如表2-3所示。
表2-3 查看夏令营详情信息用例描述
用例标识 | 2.3 |
用例名称 | 查看夏令营详情信息 |
参与者 | 用户 |
前置条件 | 用户需要登录 |
后置条件 | 查看夏令营详情信息 |
用例概述 | 用户查看夏令营详情信息 |
基本事件流 | 1.用户登录网页 2.验证身份及权限进入夏令营活动管理系统 3.打开夏令营详情页面 |
2.4 学农夏令营活动管理系统非功能性需求分析
易用性:软件主要适用于十二至七十周岁的,智商、视力、体力和肢体健康并具备有关专业知识的人应用。
易学性:在现在计算机普及的新科技发展阶段,人人都会使用互联网产品,计算机成为了一门必修课,所以我们这个程序的操作会显得特别简单通俗易懂,通过了解或培训的用户可以顺利使用本软件。
界面:界面简洁大方,操作简易。
2.5 学农夏令营活动管理系统拟解决的问题
本课题通过需求分析、系统设计、代码编程等过程,开发一个基于SpringBoot的学农夏令营活动管理系统,用于学校的夏令营活动管理中。本系统主要由用户、营长、管理员三个角色组成。其中用户可以登陆注册、申请夏令营、申请活动、修改个人信息;营长可以进行登录注册、夏令营申请管理、新增夏令营、活动申请管理、新增活动、申请夏令营经费、修改个人信息;管理员可以进行用户管理、营长注册管理、夏令营申请管理、新增夏令营、活动申请管理、新增活动、申请经费管理、轮播图管理。
3 学农夏令营活动管理系统概要设计
3.1 学农夏令营活动管理系统设计目标
本系统依据客户的需求,并结合传统的夏令营管理模式制定计划。将系统的功能模块分为两大部分(管理员后台和用户前台)进行设计,然后导出其他功能组件,使功能更加完善。数据库是根据功能内容的要求设计的。界面美观简约。最后,将各个功能模块联系起来,从而完成一个完整的学农夏令营活动管理系统。
3.2 学农夏令营活动管理系统功能模块设计
一般个人用户和管理员都需要登录才能进入学农夏令营活动管理系统,使用者登录时会在后台判断使用的权限类型,在登录界面选择身份类型,一般使用者只能在夏令营活动管理系统中进行查阅和指定信息内容的查看及申请,而管理者则能对多个信息内容进行管理。整体系统的主要功能模块如图3-1:
图3-1 系统功能模块图
3.3 用例模型分析
一个用例图就能对应出系统中的一个功能过程,系统中完整的功能都是由许多不同的用例图所组成的。
用户主要使用场景为前端,主要需实现注册登录、夏令营信息浏览、活动信息浏览、个人信息管理等功能,用户用例图如图3-2所示。
图3-2 用户用例图
营长需实现首页、个人中心、公告信息管理、夏令营管理、夏令营申请管理、活动信息管理、活动申请管理及申请经费管理等功能模块,营长用例图如图3-3所示。
图3-3 营长用例图
管理员需实现:用户管理、营长管理、活动类型管理、活动信息管理、夏令营管理、夏令营申请管理、活动信息管理、活动申请管理、申请经费管理及系统管理等功能模块,管理员用例图如图3-4所示。
图3-4 管理员用例图
3.4 用例说明表
(1)夏令营信息管理
在表格3-1中给出了夏令营信息管理案例的说明。
表3-1 夏令营信息管理用例描述
用例标识 | 3-1 |
用例名称 | 管理夏令营信息 |
参与者 | 管理员 |
前置条件 | 管理员必须输入正确的帐号和密码以登录该系统 |
后置条件 | 管理夏令营信息 |
用例概述 | 管理员管理夏令营信息 |
基本事件流 | 1.管理员输入用户名和密码 2.管理员点击添加按钮,在夏令营信息管理界面中提交新增加的夏令营信息 3.只有夏令营信息跟数据库信息不同,夏令营信息才能够添加成功 |
备选事件流 | 4.添加的信息需要注意字符合法性才能够成功添加 |
备注 |
(2)用户信息管理
用户信息管理用例描述如表3-2所示。
表3-2 用户信息管理用例描述
用例标识 | 3-2 |
用例名称 | 管理用户信息 |
参与者 | 管理员 |
前置条件 | 管理员必须输入正确的帐号和密码以登录该系统 |
后置条件 | 管理用户信息 |
用例概述 | 管理员管理用户信息 |
基本事件流 | 1.管理员输入用户名和密码 2.管理员点击修改按钮,在用户信息管理界面上提交修改后的用户信息 3.用户信息修改成功 |
备选事件流 | 4.修改的信息需要注意字符合法性才能够成功修改 |
备注 |
(3)夏令营申请信息管理
夏令营申请信息管理用例描述如表3-3所示。
表3-3 夏令营申请信息管理用例描述
用例标识 | 3-3 |
用例名称 | 删减申请信息 |
参与者 | 管理员 |
前置条件 | 管理员登录系统 |
后置条件 | 删减申请信息 |
用例概述 | 管理员删减申请信息 |
基本事件流 | 1.管理员在系统中输入正确的帐号和密码 2.管理员按下删除键,将更改后的申请资料提交至夏令营申请管理界面 3.夏令营申请信息删除成功 |
备选事件流 | 4.夏令营申请信息需要不与其他表格相联系,才能够删除申请信息 |
备注 |
(4)活动信息管理
活动信息管理用例描述如表3-4所示。
表3-4 活动信息管理用例描述
用例标识 | 3-4 |
用例名称 | 搜索活动信息 |
参与者 | 管理员 |
前置条件 | 管理员需要输入正确的用户名和密码登录系统 |
后置条件 | 搜索活动信息 |
用例概述 | 管理员搜索活动信息 |
基本事件流 | 1.管理员输入正确的用户名和密码登录到系统当中 2.管理员在搜索框输入信息,在活动信息管理界面上提交信息 3.活动信息搜索成功 |
备选事件流 | 4.输入的活动名称需要与数据库记录相同才能够成功搜索 |
备注 |
(5)登录
登录用例描述如表3-5所示。
表3-5 登录用例描述
用例标识 | 3-5 |
用例名称 | 登录 |
参与者 | 用户、营长、管理员 |
前置条件 | 用户、营长和管理员需要输入正确的用户名和密码 |
后置条件 | 登录 |
用例概述 | 用户、营长和管理员登录 |
基本事件流 | 1.用户、营长和系统管理员登录网页 2.管理员和使用者在系统中输入信息 |
备选事件流 | 4.如果需要成功登录,必须输入与数据库信息相符的信息 |
备注 |
(6)个人中心
个人中心用例描述如表3-6所示。
表3-6 个人中心用例描述
用例标识 | 3-6 |
用例名称 | 个人中心 |
参与者 | 用户、营长、管理员 |
前置条件 | 用户、营长和管理员必须访问配置文件更改页 |
后置条件 | 修改个人信息 |
用例概述 | 用户、营长和管理员管理个人信息 |
基本事件流 | 1.用户、营长和管理员登录网页 2.使用者及管理人员在该系统内输入使用者名称及密码 3.更改自己的个人信息到自己的个人信息更改页 |
备选事件流 | 4.只有输入的信息合法才能够成功修改 |
备注 |
(7)活动申请管理
活动申请管理用例描述如表3-7所示。
表3-7 活动申请管理用例描述
用例标识 | 3-7 |
用例名称 | 活动申请管理 |
参与者 | 营长 |
前置条件 | 营长进入到活动申请管理页面中 |
后置条件 | 管理活动申请信息 |
用例概述 | 营长管理活动申请信息 |
基本事件流 | 1.用户登录网页 2.在这个系统中,营长键入了一个使用者名称和密码 3.在活动申请管理中管理信息 |
备选事件流 | 4.只有点击相应的按钮才能够管理 |
备注 |
(8)查看活动信息
查看活动信息用例描述如表3-8所示。
表3-8 查看活动信息用例描述
用例标识 | 3-8 |
用例名称 | 查看活动信息 |
参与者 | 用户 |
前置条件 | 用户需要登录 |
后置条件 | 查看活动信息 |
用例概述 | 用户查看活动信息 |
基本事件流 | 1.用户登录网页 2.在这个系统中,用户键入一个自己拥有的用户名和密码 3.打开活动详情的页面 |
3.5 体系结构分析
首先需明确学农夏令营活动管理系统的基本功能和设计目的,明确系统设计的目标和约束条件。描述夏令营活动管理系统的整体架构,包括用户界面、业务逻辑模块、后台数据库等组件的功能和交互方式,以及系统的层次结构和部署方案。列举夏令营活动管理系统的需求,包括营长管理、活动信息发布、申请、夏令营信息管理等功能需求,以及用户友好、响应速度快、稳定性高等非功能需求,并进行优先级排序和权衡。描述夏令营活动管理系统的数据模型,包括用户信息、活动信息、申请等数据的结构和关系,以及数据的管理和存储方式。定义活动管理系统与外部系统和组件之间的接口,包括交互接口等。设计学农夏令营活动管理系统的部署方案,包括服务器数量和配置、数据库选型、负载均衡和备份方案等。
体系结构图如图3-5:
图3-5 体系结构图
3.6 部署模型分析
服务器选择:选择云服务器,根据实际使用情况,选择适当的规格,如4核8G、8核16G等。数据库选择:选择MySQL作为后端数据库,选择适当的版本,MySQL5.7,根据实际使用情况选择单机版或集群版。负载均衡:为了实现负载均衡和高可用,可以选择使用负载均衡器,如HAproxy或者Nginx等,将流量分发到多个后端服务器上。静态资源存储:为了加速用户访问速度,可以选择使用CDN(内容分发网络)来存储系统的静态资源,如图片、样式表、JavaScript等。系统配置:对于每台服务器,需要安装操作系统、Web服务器、应用服务器、数据库等软件,并对其进行相关的配置和优化。
图3-6 部署模型图
4 学农夏令营活动管理系统详细设计
4.1 学农夏令营活动管理系统登录流程分析设计
登录模块:
用户在启动操作系统时会调用的一个模块。该模型通过用户输入的账号、密码来确定应用的类别,切换到该类应用的页面。
本模块的功能点包括:
1:确定账号与密码是否一致。
2:完全按照系统所规定使用权限的权限类型,直接通过登陆进入到系统权限的制定管理页面中即可进行授权使用,注册登录模块流程图如图4-1:
4.2 学农夏令营活动管理系统活动管理模块流程分析设计
活动管理模块:
营长及管理员验证身份权限后点击活动管理模块可针对活动信息进行增删改查的操作,流程如图4-2所示。
图4-2 活动管理模块流程图
4.3 学农夏令营活动管理系统夏令营管理模块流程分析设计
夏令营管理模块:
管理员验证身份权限后点击夏令营管理模块可针对夏令营信息进行增删改查的操作,流程如图4-3所示。
图4-3 活动管理模块流程图
图4-4 用户浏览活动信息时序图
图4-5 管理员管理夏令营信息时序图
4.4 学农夏令营活动管理系统数据库设计
管理静止网站时是由WEB客户端向Web传送静态页面,而Web客户端直接对所传送的静态页面进行管理。
实现动态网页数据库信息查询请求的最基本处理流程概括为:当一个WEB用户成功向动态网页服务器数据库发送信息请求成功后,对其动态页面库的一种主要的处理实现方法之一是,屏蔽掉其中所有动态HTML代码,只须使用一个动态的动态网页文件,由动态Web浏览器程序直接地在该数据库服务器上进行传递动态信息,然后再通过该数据库服务器的处理程序返回到信息集,由该Web应用服务器处理程序再一次将包含动态程序代码在内的动态页面,转化为一个静态页面信息并自动返回到网页浏览器。也就是网站在这个动态页里对网页信息自动进行检索并最终把这些信息自动返回传递到网站用户处的这个全自动化过程[11]。
数据库设计阶段目标表见表4-1:
表4-1 数据库设计阶段目标表
阶段 | 目标 |
概念设计 | 了解功能需求,通过分析系统功能定义出系统有哪些实体联系图(即E-R图) |
逻辑设计 | 把E-R图转换成能处理的逻辑模型,检查是否满足第三范式的要求 |
物理设计 | 基于基本数据模型,生成适用于应用系统的物理结构 |
4.3.1 学农夏令营活动管理系统数据库概念模式设计
根据以上分析,本系统中包含多个实体,根据他们以及他们的关系绘制出E-R图如下:
图4-6 全局E-R图
4.3.2 学农夏令营活动管理系统数据库逻辑模式设计
根据E-R图分析得出如下关系模式:
活动信息(活动ID,创建时间,营长账号,营长姓名,活动名称,活动类型,活动封面,活动人数,开始时间,结束时间,活动地点,活动简介,活动内容)
活动类型(类型ID,活动类型)
活动申请信息(申请ID,创建时间,营长账号,营长姓名,活动名称,活动类型,活动封面,活动人数,开始时间,申请时间,申请人数,是否审核)
夏令营信息(夏令营ID,创建时间,营长姓名,夏令营名称,夏令营团标,夏令营人数,创建日期,申请要求,简介,是否审核)
4.3.3 学农夏令营活动管理系统数据库物理模式设计
数据库关系表如下:
活动信息表的结构如表4-2所示。
表4-2 活动信息表
编号 | 字段名 | 类型 | 长度 | 说明 | 空值 | 描述 |
1 | id | bigint | 20 | 主键 | 否 | 编号 |
2 | addtime | timestamp | 否 | 创建时间 | ||
3 | yingzhangzhanghao | varchar | 200 | 否 | 营长账号 | |
4 | yingzhangxingming | varchar | 200 | 否 | 营长姓名 | |
5 | huodongmingcheng | varchar | 200 | 否 | 活动名称 | |
6 | huodongleixing | varchar | 200 | 否 | 活动类型 | |
7 | huodongfengmian | longtext | 否 | 活动封面 | ||
8 | huodongrenshu | int | 11 | 否 | 活动人数 | |
9 | kaishishijian | datetime | 否 | 开始时间 | ||
10 | jieshushijian | datetime | 否 | 结束时间 | ||
11 | huodongdidian | varchar | 200 | 否 | 活动地点 | |
12 | huodongjianjie | longtext | 否 | 活动简介 | ||
13 | huodongneirong | longtext | 否 | 活动内容 |
活动类型信息表的结构如表4-3所示。
表4-3 活动类型信息表
编号 | 字段名 | 类型 | 长度 | 说明 | 空值 | 描述 |
1 | id | bigint | 20 | 主键 | 否 | 编号 |
2 | addtime | timestamp | 否 | 创建时间 | ||
3 | Huodongleixing | varchar | 200 | 否 | 活动类型 |
活动申请表的结构如表4-4所示。
表4-4 活动申请表
编号 | 字段名 | 类型 | 长度 | 说明 | 空值 | 描述 |
1 | id | bigint | 20 | 主键 | 否 | 编号 |
2 | addtime | timestamp | 否 | 创建时间 | ||
3 | yingzhangzhanghao | varchar | 200 | 否 | 营长账号 | |
4 | yingzhangxingming | varchar | 200 | 否 | 营长姓名 | |
5 | huodongmingcheng | varchar | 200 | 否 | 活动名称 | |
6 | huodongleixing | varchar | 200 | 否 | 活动类型 | |
7 | huodongfengmian | varchar | 200 | 否 | 活动封面 | |
8 | huodongrenshu | int | 11 | 否 | 活动人数 | |
9 | kaishishijian | datetime | 否 | 开始时间 | ||
10 | jieshushijian | datetime | 否 | 结束时间 | ||
11 | huodongdidian | varchar | 200 | 否 | 活动地点 | |
12 | shenqingshijian | datetime | 否 | 活动简介 | ||
13 | Shenqingrenshu | int | 11 | 否 | 活动内容 | |
14 | sfsh | varchar | 200 | 否 | 是否审核 | |
15 | Sfhf | longtext | 否 | 是否回复 |
用户信息表的结构如表4-5所示。
表4-5 用户信息表
编号 | 字段名 | 类型 | 长度 | 说明 | 空值 | 描述 |
1 | id | bigint | 20 | 主键 | 否 | 编号 |
2 | userid | timestamp | 否 | 用户id | ||
3 | username | varchar | 200 | 否 | 用户名 | |
4 | tablename | varchar | 200 | 否 | 表名 | |
5 | role | varchar | 200 | 否 | 角色 | |
6 | token | varchar | 200 | 否 | 密码 | |
7 | addtime | varchar | 200 | 否 | 新增时间 | |
8 | expiratedtime | int | 11 | 否 | 过期时间 |
夏令营信息表的结构如表4-6所示。
表4-6 夏令营信息表
编号 | 字段名 | 类型 | 长度 | 说明 | 空值 | 描述 |
1 | id | bigint | 20 | 主键 | 否 | 编号 |
2 | addtime | timestamp | 否 | 创建时间 | ||
3 | yingzhangzhanghao | varchar | 200 | 否 | 营长账号 | |
4 | yingzhangxingming | varchar | 200 | 否 | 营长姓名 | |
5 | xialingyingmingcheng | varchar | 200 | 否 | 夏令营名称 | |
6 | xialingyingtuanbiao | longtext | 否 | 夏令营团标 | ||
7 | xialingyingrenshu | int | 11 | 否 | 夏令营人数 | |
8 | chuangjianriqi | date | 否 | 创建日期 | ||
9 | shenqingyaoqiu | longtext | 否 | 申请要求 | ||
10 | xialingyingjianjie | longtext | 否 | 夏令营简介 | ||
11 | xialingyingxiangqing | longtext | 否 | 夏令营详情 | ||
12 | sfsh | varchar | 200 | 否 | 是否审核 | |
13 | shhf | longtext | 否 | 是否回复 |
学农夏令营活动管理系统实现与测试
5.1 学农夏令营活动管理系统开发环境
开发的物理环境如下:
1)控制系统在正常温度环境条件下运行。
2)控制系统在干净的场所内运行。
开发的生产技术环境条件如下:
1)网络传输速度为1M以上的网络。
2)电脑:CPU双核以上P42.0G及以上,内存二百五十六万M或以上,硬盘大小四十兆G或是以上,10M网卡/一百兆M千兆网卡,Windows2000/2003/NT/XP/Vista/Windows 7以上中文操作系统。
环境配置如表5-1
表5-1 环境配置表
序号 | 配置项 | 环境要求 |
1 | 系统开发工具 | IDEA |
2 | 数据库 | Mysql |
3 | 运行环境 | Jre tomcat |
4 | Java主要开发包 | Lang util springframework servlet text io |
5.2 学农夏令营活动管理系统相关技术
本系统采用了MVC设计思想,通过视图层、模型层及控制层三者的交互,实现系统的功能,软件界面交互友好,界面美观,系统基本功能一目了然。系统的整体架构为SpringBoot应用框架,以Java 作为编程语言,用MySQL存储数据[3]。
5.2.1 Spring Boot框架介绍
Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发人员在工程创建是就预先做了很多配置,这样在开发时就不再需要开发人员过多进行繁琐的配置了[4]。另外在Spring Boot中集成了大量框架,这就使得开发人员不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化[5]。
5.2.2 MVC简介
模型―视图―控制器(MVC)是一个工具箱。本软件研发中使用了目前这种最广泛通行的软件设计模型MVC[6]。MVC(Model-View-Controller)的应用程序架构可以被用于解析分布式应用编程的特点。而这个抽象出架构,可以帮助把应用程序划分为几个逻辑部分,让编程过程变得比较简单[7]。将某个应用领域的注入、管理、输出过程,依照Model、View、Controller的方法加以分开,而这么一种应用领域可以被分成三层—建模层、视图层、管理层。
MVC模式如图5-2:
图5-2 MVC模式图
MVC模型的诞生,很好的缓解了传统开发WEB应用方法中出现的问题。M代表任务模块(Mode1),包括实现任务所必须的全部的操作和数据信息;V代表视图(View)页面,现实模式所提交的全部数据信息;C代表控制台层(Control1er),它把模块映射到用户界面中,管理应用的输入输出和相应请求[8]。在MVC模式中,由于三层之间各尽其职、彼此独立工作,各层内容的变化并没有影响到其它层次,因此大大降低了各种数据表示、各种数据表示与所必须控制对象的耦合度,也就可以很好的进行项目开发中的分配,从而加快了工程进度[9]。
5.2.3 MySQL数据库
MySQL是一种关联数据库管理系统,该系统速度快而且灵活性强,主要原因是它将数据保存在不同的表中,MySQL软件的优点是成本低、体积小、速度快,开放源码,所以一般中小型网站的开发都选择 MySQL作为网站数据库[10]。
5.3 学农夏令营活动管理系统主要功能的实现
5.3.1 学农夏令营活动管理系统登录功能的实现
本模块主要是使用者可以通过学农夏令营活动管理系统的首页进入该系统。用户输入正确的账号名和密码,一旦输入信息有错,将在系统显示错误提示,同时严禁系统用户做出其他动作。如果注册信息正确无误,系统就会按照使用者的身份信息做出有关权利的判定,用户进入前台系统,管理者则进入后台系统。登录主页面如图5-3所示:
相关代码如下:
图5-3 登录主页面
5.3.2 学农夏令营活动管理系统营长管理功能的实现
在营长管理的界面上,需要先将风格与script标记相结合,以进行调用。营长的浏览取决于form标记来展示营长的资料,而CSS风格则必须在form标记上进行说明,这样可以使表单在接口上正常地呈现。增加的按键必须是 button,在增加的时候要设定单击的时间,并且要有对应的方式来对加入到前面的网页的营长的资料进行操作。营长的详细资料页需要设定详细资料页以表示,使用CSS风格设定营长资讯,后端则会将数据库纪录所取得的资讯,呈现在网页的前端。管理员要查找营长的资料,就必须将营长的账号输入到业务逻辑模块中,然后按照SQL语句进行查询,并将所搜寻的资料传送至前端网页以供营长显示。
相关代码如下:
图5-4 营长管理界面
5.3.3 学农夏令营活动管理系统夏令营管理功能的实现
在夏令营管理的管理接口中,必须采用boostrap框来代表该接口的风格,增加一个夏令营的输入框必须通过 input标记来完成,并且用户所输入的数据必须可以被储存在一个夏令营中,通过 input标记被传送给一个夏令营,这样就可以在一个实体中进行储存,单击“提交”键,就必须进入form表单所规定的通道,将资料传送至后台的逻辑处理程式,并在前面的网页上设定侦测用户所输入的资料是否准确,若用户所填资料为空白,请用layer来提醒。
图5-5 夏令营管理界面
5.3.4 学农夏令营活动管理系统活动申请管理功能的实现
在活动信息的界面中,可以利用网页的方式来呈现信息,如果有大量的数据可以进入下一页,利用网页的工具类别来完成上一页和下一页的效果。当管理者在输入栏中查找活动信息的信息时,必须向后端的逻辑编码的query功能进行传输,当可以查询到活动信息的相关数据时,就必须通过put功能将这些数据导入到前面的接口中。更改键的时间必须与后台的逻辑程式码所设定的更新功能一致。管理员单击“移除”键后,就必须在后台程序中设定“delete”功能,并使用SQL声明来删除活动信息的相关信息,相关代码如下:
图5-6 活动申请管理界面
5.3.5 学农夏令营活动管理系统活动申请经费管理功能的实现
管理员在管理学农夏令营活动管理系统相关资料的同时还必须要有后端界面来完成申请经费的增、减、查。前面的申请经费显示要求使用列表功能,并且在前面和后面的资料都是由请求对象来传送的。申请经费信息被包装成页面物件,而前端介面使用规则运算来分析页面。申请经费的资料必须储存在申请经费的本体类别中,而申请经费类别的资料与数据库内的数据库资料一一相符。管理员要加入申请经费信息,必须登录后台,按下“加入”键,加入按键需“绑定”。
图5-7 申请经费管理界面
5.3.6 学农夏令营活动管理系统活动夏令营展示功能的实现
在显示面板上可以显示夏令营的相关内容,在登录的过程中可以看到,在使用者单击夏令营的同时,还可以进行跳跃操作,在前端的界面上设定相应的功能,可以自动完成对服务端发送的数据进行分析,并将其显示在界面上。当夏令营信息与相应的单击活动相关联时,只有在使用者按下按钮之后,才能进入相应的页面。
图5-8 夏令营展示界面
5.3.7 学农夏令营活动管理系统活动夏令营详细信息展示功能的实现
在夏令营细节的显示界面上,使用者可以在夏令营显示页面上单击夏令营的相关信息内容,从而可以看到夏令营的详细信息。在夏令营显示的时候,用户可以输入夏令营的具体数据,然后后台的商业逻辑就可以得到夏令营的细节信息,然后在前面的网页上显示出来内容。
图5-9 夏令营详细信息界面
5.3.8 学农夏令营活动管理系统活动活动信息展示功能的实现
用户验证身份进入系统,点击活动信息模块,在这个页面上,用户可以通过一个表单将一个活动的相关信息显示出来,在这个过程中,程序的下一步会自动切换到一个具体的活动信息页面,当活动信息与相应的单击活动相关联时,只有在使用者按下按钮之后,才能进入相应的页面。
图5-10 活动信息展示界面
5.4 学农夏令营活动管理系统的测试
5.4.1 学农夏令营活动管理系统的测试设计
本系统首先在本地服务器上进行了安装和测试,之后鉴于对系统的结构和处理方法的充分熟悉和对系统特性的充分了解,对系统进行了白盒测试和黑盒试验。
在发展软件系统的整个过程中,人们必须面临错综复杂性的实际问题,所以,在软件系统生存周期的各个过程中都必然地会形成错误。应用软件检测目的在于:出现出错并运行某个程序的步骤,而应用软件检测的最重要目的便是找到其中尚未发生的出错。
为了制定出合理的测试计划,根据以下原则开始了测量;任何测试都要追溯到客户需要;当确定了客户使用模型后就要着手制定测试计划,并在编码以前就对整个软件测试工作做出规划和制定;御用Pareto原理,主要对占出了百分之八十九以上的最易于出错的约百分之二十的模板实施了检测,并从小规模开始逐步实施大量检测,范围一般从主要检测单编程模板再到完全集成的模板;同时精心设计了检测方法,尽可能地全面覆盖所有程序逻辑并使其满足要求的能力。
测试环境,软件和硬件的配置清单见下表。测试环境表5-2:
表5-2 测试环境表
设备名称 | 硬件配置 | 应用程序 | |
服务器端 | 处理器 | 1.6GHz 双核 Intel Core i5 (Turbo Boost 最高可达 3.6GHz),配备 4MB 三级缓存 | jdk1.8, tomcat9.0.12, Mysql8.0 maven3.5 |
内存 | 8 GB | ||
主硬盘 | 128GB PCIe 固态硬盘 | ||
网卡 | 802.11a/b/g/n | ||
客户端 | 处理器 | 1.6GHz 双核 Intel Core i5 (Turbo Boost 最高可达 3.6GHz),配备 4MB 三级缓存 | macOS |
内存 | 8 GB | ||
主硬盘 | 128GB PCIe 固态硬盘 | ||
显卡 | Intel UHD Graphics 617 | ||
网卡 | 802.11a/b/g/n |
5.4.2 学农夏令营活动管理系统的测试用例
通过管理员、用户和管理员两个角色对系统进行完整的系统测试,并对相应的测试进行了详细的测试用例制作,同时记录了详细测试过程,形成了相关的系统测试文档。进入本系统时,根据不同登录方式区分用户以及管理员的登录。二者登录均需填写用户名和密码。当填写了错误的用户名或密码时,将提示“用户名或密码错误”,按确认按钮返回注册窗口。登录界面简介且高效,输入错误后返回注册窗口也不会卡顿。具体测试用例如下:
表5-3 注册测试用例表
测试对象 | 测试案例 | 操作说明 | 实际结果 | 是否通过 |
注册 | 用户 | 未注册用户登录提示请注册 | 得到相应信息提示 | 是 |
表5-4 后台管理员测试用例表
测试对象 | 测试案例 | 操作说明 | 实际结果 | 是否通过 |
后台管理员管理权限 | 添加活动信息 | 点击后台活动信息/活动信息列表/添加活动信息按钮 | 显示添加活动信息弹框 | 是 |
点击后台活动信息/活动信息列表/取消活动信息按钮 | 关闭弹框 | 是 | ||
搜索活动信息 | 在输入框中输入要找的活动信息(用户名/手机号/邮箱)点击搜索按钮 | 显示搜索到的活动信息结果 | 是 | |
编辑活动信息权限/信息 | 点击要编辑的活动信息 | 显示要编辑活动信息的弹框 | 是 | |
删除活动信息 | 点击删除活动信息 | 显示删除活动信息弹窗/确认删除 | 是 |
5.4.3 学农夏令营活动管理系统的测试结果分析
本学农夏令营活动管理系统在采用单元测试的方法,对系统各模块进行测试,检测流程必须严格遵循检测的标准流程,进行单位检测,子系统检测和控制系统检测。经过单位检测,未检查出控制系统中各个模块内在错误;经过子系统检测,未发现模板之间相互协作与沟通上出错;经过集成测试,未发现流程中出现错误。通过测试,确定了学农夏令营活动管理系统能够实现需求分解中确定的技术要求。根据单元测试对系统进行集成测试,判断各功能组合完成后是否存在逻辑和功能上的错误,保证系统集成后不会出现bug。最后,对系统进行系统测试,确保整个系统的完整性和功能的流通性。
6 总结与展望
6.1 总结
本系统相对于我查阅到的其他学农夏令营活动管理系统具有如下优点:其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好。
本系统在技术层面具有如下优点:第一,用Java实现动态页面,使软件系统具备了很好的可维护性和可复用性。其次,在本系统的编写流程中使用的是SpringBoot框架,该框架将更有效的把显示功能与逻辑分开,使得模块更易于管理,尤其适用于大型项目的编写。第三,后台使用的MySQL数据库系统,MySQL的数据库系统引擎主要集中在了对XML标准的支持,同时具备可扩充、容易应用和安全性高的优点。
在互联网时代下,通过线上和线下结合的模式,一方面能够让学农夏令营活动管理系统资源得到充分利用使其不处于闲置的状态。另一方面能够很大程度上避免用户找不到资源。互联网很大一作用是为用户提供服务,并且能够让管理人员提高管理的效率。
整个学农夏令营活动管理系统在涉及的过程中考虑到了多个用户同时访问系统的时候,因此数据库需要采用MySQL处理并发的问题 ,使得多个用户在登录系统浏览的时候可以获得信息,避免了因多个用户同时访问造成系统响应过慢。
本文通过全面设计学农夏令营活动管理系统,最终成功运行在电脑上,运作状态较为良好,学农夏令营活动管理系统也取得了较快的发展。由于本人时间和开发能力有所限制,且随着社会的发展,学农夏令营活动管理系统的需求还在不断地发生着改变。
(1)附加功能需要更加丰富,本次设计的学农夏令营活动管理系统虽然已经达到了基本的需求,但是还是有不少的功能可以进行
改进,用户可以使用手机扫描二维码进行登录,提供更加方便的方式进行登录。
(2)界面设计风格更加多元化。本次设计的学农夏令营活动管理系统不能够支持用户决定自己的风格,如果学农夏令营活动管理系统需 要有个大的方向的改革就得有能够适应不同平台的风格。