基于ssm学生社团管理系统+vue论文

摘 要

如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法,必须采用计算机来处理这些信息,因为传统方法对应计算机处理的信息效率上真的相差甚远。
本次使用Java技术开发的学生社团管理系统,就是运用计算机来管理学生社团信息,该系统是可以实现团长管理,社团管理,社团申请管理,社团活动管理,社团活动申请管理,论坛管理,学生管理,社团活动留言管理等功能。
学生社团管理系统使用计算机处理相关信息,主要是在数据的传输上能达到即可传递,数据不管是想要获取或者输入,都可以及时反馈,极大的提高了效率,使用的MySQL数据库也能让数据更能安全的存储。

关键词:学生社团管理系统;社团;社团活动

Abstract
Today’s era is the best era in history. With the development of computers and the development of mobile terminals, China’s current information technology has been far ahead in the world, making people feel that they are in a society with an explosion of information. Information processing in the information age must not use the previous solution of manual processing. Computers must be used to process these information, because the information efficiency of traditional methods corresponding to computer processing is really far away.
The student association management system developed using Java technology this time uses computers to manage the information of student associations. Management, community activities message management and other functions.
The student association management system uses computers to process related information, mainly in the transmission of data, which can be delivered. Whether the data is to be acquired or input, it can be fed back in time, which greatly improves the efficiency. The MySQL database used can also be used. Make data more secure storage.

Key Words:Student Association Management System; Societies; Societies Activities

目 录

第一章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 2
第二章 开发环境与技术 3
2.1 Java语言 3
2.2 JDK简介 3
2.3 Eclipse开发工具 4
第三章 系统分析 5
3.1可行性分析 5
3.1.1运行可行性分析 5
3.1.2技术可行性分析 5
3.1.3经济可行性分析 5
3.2系统流程分析 6
3.3 系统性能分析 8
3.3.1系统的安全性 8
3.3.2系统易维护性 8
3.3.3系统可扩展性 8
3.4系统功能分析 9
第四章 系统设计 12
4.1界面设计原则 12
4.2功能模块设计 12
4.3数据库设计 15
4.3.1数据库E-R图 15
4.3.2 数据库表结构 18
第五章 系统实现 23
5.1 管理员功能实现 23
5.1.1 团长管理 23
5.1.2 学生管理 23
5.1.3 论坛管理 24
5.2 团长功能实现 24
5.2.1 社团管理 24
5.2.2 社团申请管理 25
5.2.3 社团活动管理 25
5.3 学生功能实现 26
5.3.1 社团信息 26
5.3.2 社团活动 26
5.3.3 在线论坛 27
第六章 系统测试 28
6.1 测试方案 28
6.2 系统测试用例 30
6.2.1 登录功能测试 30
6.2.2 注册功能测试 30
6.3 测试的结果 31
结 论 32
参考文献 33
致 谢 34

第一章 绪论

1.1 研究背景
在现在社会,对于信息处理方面,是有很高的要求的,因为信息的产生是无时无刻的,并且信息产生的数量是呈几何形式的增加,而增加的信息如何存储以及短时间分析检索,也是有时效性的,所以,不管是任何的企业和个人,只要需要处理信息,必然是要寻找到一个适合自己的解决方案,而软件开发商和数据库提供商就是为了解决这些问题。相比之前人工信息处理的水平,现代的信息处理方法是完胜以前的信息处理方法。开发一个符合自己需求的信息管理系统,可以把整个信息处理的过程变得很有规范,并且很有水准,让整个信息处理变成一个自动化的过程,并且在数据处理结果之中直接设定好检索标准,或者是多条件检索标准,通过数据分析获得自己需要的内容,这都是信息化的好处。当一切信息数据存在小小的存储介质之中,那么数据迁移备份的重要性也变得更加简洁,可以设置自动化远程备份,自动化远程处理,不管是使用过程还是维护过程,都会变得更加的高效和整洁,最重要的成本上面的控制,可以极限减少,开源节流,不外如是,减少社会资源的浪费,也是计算机技术的存在的一个优势。所以,对于学生社团信息的管理,一方面为了提高学生社团信息的管理水平,另一方面为了提高学生社团信息的维护水平,学生社团管理系统的开发就显得十分有必要了。
1.2 研究意义
学生社团管理系统不仅可以保证信息安全的前提下提高信息处理水平,更重要的是提高了信息使用者以及所有者的管理水平。信息的出现,必须经过人为的处理,人们才能接受和使用,所以提高了信息处理水准就显得极为重要。采用计算机技术,会发现在数据传递方面,有着急速的传递,不管是距离多远,都可以实时抵达,不管数据量多大,都能在短时间进行处理完毕,让人为的可出错性变低,工作量变少。学生社团管理系统的出现,让学生社团信息的管理跟上了信息时代的步伐,不仅可以在全时间段提供着稳定的处理速度以及处理水准,更能完美的保证了数据的可靠性。不仅如此,学生社团管理系统在使用上面也是得心应手,操作起来极其的简单,只要认识字就行,页面设计相当不错,不用过多的考虑或者寻找,就能使用。总而言之,学生社团管理系统在信息资源的处理方面,表现是极其的出色,不仅提高了管理水准,也让数据的迁移变得更加方便。
1.3 研究内容
本文总共分六章来对学生社团管理系统进行介绍,研究内容具体安排如下:
第一章:通过资料查询,和对调研资料的总结,对学生社团管理系统的背景和学生社团管理系统的意义进行说明;
第二章:选择适合本系统的技术和工具并对其进行说明;
第三章:分析学生社团管理系统开发可行性问题,研究本系统的性能,对本系统使用者的功能进行分析。
第四章:细分功能,利用功能结构图来展示系统的详细功能,同时设计数据库,包括E-R图和数据表的设计;
第五章:展示学生社团管理系统的实现界面和实现的功能;
第六章:测试学生社团管理系统,检测系统的功能能否可用,以及发现并解决系统功能运行的问题。

第二章 开发环境与技术

学生社团管理系统的开发需要的软件环境和技术下面将介绍一下。
2.1 Java语言
Java语言流行至今,依然是后台程序开发人员从业者需要学习的技能之一,并且可以不断的进行深造,可以用Java解决各种各样的问题。Java是一种面向对象的语言,这一点对Java语言的发展功不可没。万物皆对象,很生动的对自然存在的各种环境,各种问题提供了一个解决思路,人类对世界的认知就是从一个一个事物慢慢领悟的,对行为的认知就是事物之间的联系进行认知的,对各种事物之间的联系组成了人类对世界的认知。而Java语言关于编程描述的方法,符合人类对自然界的认知方法。一切自然界的信息如果要进行存储处理,如果只是信息存储的话,也需要对其定义,信息即数据,进而推导,符合数据要求格式的类型,就是符合人类认知事物的类型。Java语言面向对象就是这样理解的,符合人类正常思维。Java不仅仅是运行不挑环境,开发符合人类正常认知,并且还衍生出其他的好的特性,比如安全系数比较高,因为不牵扯到硬件指针,不存在直接访问内存,这样应对计算机病毒的入侵有着很好的防范。Java是一种很好的开发语言。
2.2 JDK简介
JDK这个是Java开发所必须的东西。Java开发必须用JDK,运行必须用JRE,而JDK往往携带了JRE环境,也就是说只要安装了JDK就不需要再去重复性的安装JRE,所以JDK这款开发Java的必备品也就很受欢迎。一台电脑上可以安装多个版本的JDK,并且可以对不同的项目指定不同的JDK,这一点做的相当的友好。如果一台电脑默认没有安装过JDK是不需要配置环境变量,就可以直接访问JDK的,这一点对于初学者来讲,起码配置环境变量方面就方便了很多。JDK目前最新版本是JDK17,版本已经很高了,但是不管是学习还是使用,一般都喜欢用比较稳定的版本,比如JDK1.7或者JDK1.8版本。
2.3 Eclipse开发工具
对于用于开发Java语言的工具来讲,从一开始就是MyEclipse,因为是开源免费的,许多教学机构或者是学校,如果大批量用收费的开发工具来进行讲课,是一种资金的浪费,所以选择MyEclipse作为开发工具,是许多Java学习人员的入门必备。但是随着Java语言功能越来越多,MyEclipse虽然是免费的,但是如果项目需要某些插件的话,需要手动去对应插件的官网进行下载,有时候插件还会被屏蔽,不仅仅在配置开发环境方面造成一定的困难,还会让开发的雄心变弱。Eclipse就在这样的情况下诞生了,秉承于MyEclipse的操作习惯,把一些常用的插件给集成到一个软件里,比如常用的JDK,Tomcat等插件,直接安装Eclipse就可以使用,不需要另外的安装其他的插件,会让使用过MyEclipse的人员用起来很顺手,操作也比较简单。在公司里进行开发也有很多程序员用的都是Eclipse作为开发工具,有效的提升开发效率。可以同时开发许多项目,不同的项目可以选择不同的工作空间,每个独立的工作空间都可以进行单独的配置,可以对Tomcat端口进行修改,也可以在同一个Tomcat里面启动很多个网站项目,在操作方面更加便捷。

第三章 系统分析

一般来说,开发系统不是一拍脑袋就解决的事情,需要有个严谨的分析,并且逐条实现的过程,而系统分析只是系统开发的前奏而已,后续还会有相关的系统实现,系统设计等。
3.1可行性分析
系统是否可以正常实现操作流程,实现操作目的,符合操作流程,这些都可以提前进行分析论证。提前进行分析在开发之前是很重要的,并且进行书面记载,有助于开发流程的缜密性。
3.1.1运行可行性分析
开发学生社团管理系统必然是有运行条件的,开发条件和运行条件都可以进行分析。首先从运行角度上讲,只是作为一个学生社团管理系统的运行环境,不是超大型商业项目,只是运行一个毕业设计,数据量有限,并发条件有限,所以用常规的内存大于4G,CPU双核以上,基本上就能满足运行的硬件需要,硬盘的话常规的大于60G的即可。
3.1.2技术可行性分析
一切可以实现B/S模式的技术很多,而正好在学校就学习了相关的开发技术,采用已经有基础的学习来进行扩展更丰富的功能,从技术上面是不需要太多的重复性投入,可以更快的进行开发,技术可行。
3.1.3经济可行性分析
经济主要考虑投入与获利之间的比例问题,学生社团管理系统开发投入只需要现有的,不必要另外购买的电脑就可以进行使用,一切开放性所用到的工具和资料都可以在图书馆以及互联网上面得到相应的免费资讯,这些都决定了经济上面的投入是不需要太多的。项目功能属于常规功能,没有多并发超用户同时访问的需求,所以也不需要考虑太多的资金投入,所以经济可行。
通过各个方面的研究分析,确定了开发之前这些可行性分析是很有必要的,增加了开发的信心,提高了开发效率,让开发的流程更加的具体化。
3.2系统流程分析
本项目在处理数据方面,必须规定其流程,要让每个步骤都要符合设定预期。注册的结果可以说只有两种结果,一个是成功,一个是失败,成功就会把注册时候输入的数据写入到数据库表里存储,如果失败则提示提示失败,并且不写入数据库。因为两种结果,所以要对数据的合法性进行判断,而数据的合法性需要对每条信息进行判断,主要对哪条信息判断,这些都要有流程。
在这里插入图片描述

图3.1用户注册流程图
登录是所有系统必不可少的功能之一。虽然不起眼,但是却是一件不可缺少的事情,登录的作用主要代表着当前操作用户是某人,当然,登录的时候是需要输入账号和密码的,都正确才可以登录,登录的时候会对输入的信息进行判断的。
在这里插入图片描述

图3.2 用户登录流程图
数据的添加是一件比较严肃的事情,必须判断正确与否,不然随意的添加可能会导致数据库设定与实际数据输入要求不一致,导致数据丢失的问题,所以必须根据数据设定要求,在输入数据的时候就进行判断输入信息是否合法。
在这里插入图片描述

图3.3 信息添加流程图
3.3 系统性能分析
在软件开发的环节,有一个很重要的步骤,那就是关于性能需求分析的环节。如果不对软件的性能需求进行分析和预估,那么后果是很严重的。比如国内的12306,如果只是一个用户登录注册,查票购票退票,那么很容易开发出来,但是同时几百万人次的不同操作,如果没有对这个需求的提前分析预估,还是按照十个八个的并发操作进行软件开发,那肯定是上线就崩溃直接就下线的结果。所以说性能需求是很重要的一个环节。一般系统需求从下面几个角度同时考虑。
3.3.1系统的安全性
一个系统是否安全,不仅仅只是考虑用户的密码是否经过了加密,也更需要考虑数据存储的安全性,比如可以把数据库专门放到一个局域网里的服务器,让主服务器代码远程连接数据库,因为代码服务器与数据服务器的物理分离,如果代码服务器被破解,起码用户数据还有机会保存。
3.3.2系统易维护性
系统长时间运营,肯定需要进行维护。那么维护所需要带来的是性能的提升还是并发数量的提升,这些都是需要考虑的,系统不仅仅要容易维护,数据容易迁移备份,还要符合其他特性。
3.3.3系统可扩展性
系统的功能不可能一成不变的,随时可能会加一些其他的模块,比如有些商场用户积分的问题,这些开始都没有这项设定,后续想加的功能,那么就需要在不改变其原来的功能的前提下,对积分相关模块进行升级,这些就是系统设计之初需要考虑的问题,尽量开发模块化。
综上所述,性能需求必须在符合业务逻辑之外,考虑是否会出现其他的各种情况的一种分析,还必须能解决可能会出现的问题的一种需求分析。所以说,系统的性能需求分析是必不可少的一个环节。

3.4系统功能分析
系统功能主要针对主要模块功能进行分析,暂时不考虑非典型性的问题,只要能满足正确操作流程即可。
学生社团管理系统设置的角色有管理员,团长,学生等。
(1)管理员
管理员管理论坛,管理团长以及学生,管理社团成员,社团活动,社团等信息。对管理员的功能进行分析之后,将使用图3.4的管理员用例图来描述管理员的功能。
在这里插入图片描述

图3.4 管理员用例图
(2)团长
团长管理社团,社团活动,审核社团申请以及社团活动申请信息,管理社团成员等。对团长的功能进行分析之后,将使用图3.5的团长用例图来描述团长的功能。
在这里插入图片描述

图3.5 团长用例图
(3)学生
学生申请加入社团,申请参加社团活动,在论坛模块发帖,评论帖子等。对学生的功能进行分析之后,将使用图3.6的学生用例图来描述学生的功能。
在这里插入图片描述

图3.6 学生用例图

第四章 系统设计

不管是好用还是不好用的系统,在如今的互联网时代都会被广而告之,但是能留存下来的,必然是好用的,并且好看的系统,不好用并且不好看的系统用户会逐渐抛弃的。所以,开发的系统必须是有主题的,要打开系统就明白这个系统主要的作用和功能,所以设计这方面需要下苦功夫的。
4.1界面设计原则
一般都是图片,文字以及各种输入框和按钮等组成的界面,每个界面的内容都大不相同,如何设计成页面的统一,操作的统一,这是下面需要讨论的问题。
第一点:界面设计必须符合人体工程学。人体工程学是一门入微级别的学问,主要考虑人类在各种工作状态下如何提高生产效率。所以说,界面设计的首要目的,就是为了提升效率。
第二点:有效导航是必须的。导航的目的,就是帮助操作人员的记忆能力,提高操作效率而生的,所以导航一定要设置的符合模块的功能,让用户一看到导航就会知道是哪个模块,需要哪些操作,这些步骤是必不可少的,如果把所有功能放到一个页面呈现平面化布局,肯定不合适,所以合适的导航能够帮助工作。
第三点:界面设计的统一性。统一性不是说背景图片是同一个图片或者背景是同一个色系,而是说让操作系统统一。比如导航就统一用树状结构,有模块有层次,理解容易。多项搜索如果一行放不下,就收起,可以选择多项也可以模糊查询,这些都要符合人类正常认知才可以。
所以说,系统设计的核心就是界面设计,主要的业务处理逻辑只要能处理,需要下大力气的还是页面设计。
4.2功能模块设计
本小节运用功能结构图来描述管理员具备的详细的功能,对管理员的功能结构图绘制结果如图4.1所示。管理员管理论坛,管理团长以及学生,管理社团成员,社团活动,社团等信息。
在这里插入图片描述

图4.1 管理员功能结构图
本小节运用功能结构图来描述团长具备的详细的功能,对团长的功能结构图绘制结果如图4.2所示。团长管理社团,社团活动,审核社团申请以及社团活动申请信息,管理社团成员等。
在这里插入图片描述

图4.2 团长功能结构图
本小节运用功能结构图来描述学生具备的详细的功能,对学生的功能结构图绘制结果如图4.3所示。学生申请加入社团,申请参加社团活动,在论坛模块发帖,评论帖子等。

在这里插入图片描述

图4.3 学生功能结构图
4.3数据库设计
在系统后台选择数据库的时候,首先第一条就是要满足使用需要,只要满足使用需要,再对数据库的使用友好度和性能上进行分析。选择当前分布最广发的关系型数据库是完全能满足需要的,并且在数据的设计上也有完美的设计顺序,最重要的是符合人们的直观要求。
4.3.1数据库E-R图
下面主要是描述E-R图模型的。对于用户的需求,要具体化,比如有个角色需要有登录,那么最基本的设定必须有账号和密码,那么像姓名,性别其他的对象关系,其实是有从属关系的,通过这样具体化分析,可以得到数据的格式要求,并且能得到数据之间的直接关系。然后可以通过专业的Visio工具来进行E-R图的创建,遵守约定的E-R图表达方式,就可以对数据进行图标形式的描述,并且之间的关系更容易理解。
(1)图4.4即为学生这个实体所拥有的属性值。
在这里插入图片描述

图4.4 学生实体属性图
(2)图4.5即为团长这个实体所拥有的属性值。
在这里插入图片描述

图4.5 团长实体属性图
(3)图4.6即为社团活动这个实体所拥有的属性值。
在这里插入图片描述

图4.6 社团活动实体属性图
(4)图4.7即为社团这个实体所拥有的属性值。
在这里插入图片描述

图4.7 社团实体属性图
(5)图4.8即为上面介绍的实体中存在的联系。
在这里插入图片描述

图4.8 实体间关系E-R图
4.3.2 数据库表结构
在程序开发的过程中,系统设计里面包含有数据库的设计,一般都在功能设计的后面进行数据设计,为什么有这样的顺序呢?那是有原因的。数据库设计不能凭空想象,必须符合数据的定义,而数据只是在使用过程之中产生,其实并没有具体化的表现,所以要把数据进行结构的整理,字段的规划。比如用户账号可能是中文或者英文,以及数字形式存在,更或者可能包含一些符号,那么账号字段的设计就只能是文本形式存在,不能是数据形式或者是时间形式存在,以此类推,数据表结构的设计就是在对系统的具体实现数据进行描述规划的一种行为。所以在这个环节尤其要注意,否则可能使用过程中会发现很多不可预料的问题。
对本系统的数据库的要求就是,要严格遵循数据实现原则,符合数据定义范式。对每个表都要进行具体分析,并且表之间的关系更应该有逻辑性,如果违反前面的要求,那么数据很有可能出现问题,所以要把数据之间的关系用E-R图形式画出来,这样理解起来更直观,更不容易出错,效率也更高。

表4.1 论坛表
字段 注释 类型 空
id (主键) 主键 int(11) 否
forum_name 帖子标题 varchar(200) 是
xuesheng_id 学生 int(11) 是
tuanzhang_id 团长 int(11) 是
users_id 管理员 int(11) 是
forum_content 发布内容 text 是
super_ids 父id int(11) 是
forum_state_types 帖子状态 int(11) 是
insert_time 发帖时间 timestamp 是
update_time 修改时间 timestamp 是
create_time 创建时间 timestamp 是
表4.2 社团表
字段 注释 类型 空
id (主键) 主键 int(11) 否
tuanzhang_id 团长 int(11) 是
shetuan_name 社团名称 varchar(200) 是
shetuan_photo 社团照片 varchar(200) 是
shetuan_types 社团类型 int(11) 是
shetuan_renshu 社团人数 int(11) 是
shetuan_clicknum 点击次数 int(11) 是
shetuan_content 社团详情 text 是
shetuan_delete 逻辑删除 int(11) 是
create_time 创建时间 timestamp 是
表4.3 社团活动表
字段 注释 类型 空
id (主键) 主键 int(11) 否
shetuan_id 团长 int(11) 是
shetuanhuodong_name 社团活动名称 varchar(200) 是
shetuanhuodong_photo 社团活动照片 varchar(200) 是
shetuanhuodong_types 社团活动类型 int(11) 是
shetuanhuodong_zuida 最大活动人数 int(11) 是
shetuanhuodong_content 社团活动介绍 text 是
shetuanhuodong_delete 逻辑删除 int(11) 是
create_time 创建时间 timestamp 是
表4.4 社团活动收藏表
字段 注释 类型 空
id (主键) 主键 int(11) 否
shetuanhuodong_id 社团活动 int(11) 是
xuesheng_id 学生 int(11) 是
shetuanhuodong_collection_types 类型 int(11) 是
insert_time 收藏时间 timestamp 是
create_time 创建时间 timestamp 是
表4.5 社团活动留言表
字段 注释 类型 空
id (主键) 主键 int(11) 否
shetuanhuodong_id 社团活动 int(11) 是
xuesheng_id 学生 int(11) 是
shetuanhuodong_liuyan_text 留言内容 text 是
insert_time 留言时间 timestamp 是
reply_text 回复内容 text 是
update_time 回复时间 timestamp 是
create_time 创建时间 timestamp 是
表4.6 社团活动申请表
字段 注释 类型 空
id (主键) 主键 int(11) 否
shetuanhuodong_order_uuid_number 订单号 varchar(200) 是
shetuanhuodong_id 社团活动 int(11) 是
xuesheng_id 学生 int(11) 是
shetuanhuodong_order_yesno_types 审核状态 int(11) 是
shetuanhuodong_order_yesno_text 审核意见 text 是
insert_time 预约时间 timestamp 是
create_time 创建时间 timestamp 是
表4.7 社团成员表
字段 注释 类型 空
id (主键) 主键 int(11) 否
xuesheng_id 学生 int(11) 是
shetuan_id 社团 int(11) 是
insert_time 加入时间 timestamp 是
create_time 创建时间 timestamp 是
表4.8 社团收藏表
字段 注释 类型 空
id (主键) 主键 int(11) 否
shetuan_id 社团 int(11) 是
xuesheng_id 学生 int(11) 是
shetuan_collection_types 类型 int(11) 是
insert_time 收藏时间 timestamp 是
create_time 创建时间 timestamp 是
表4.9 社团留言表
字段 注释 类型 空
id (主键) 主键 int(11) 否
shetuan_id 社团 int(11) 是
xuesheng_id 学生 int(11) 是
shetuan_liuyan_text 留言内容 text 是
insert_time 留言时间 timestamp 是
reply_text 回复内容 text 是
update_time 回复时间 timestamp 是
create_time 创建时间 timestamp 是
表4.10 社团申请表
字段 注释 类型 空
id (主键) 主键 int(11) 否
shetuan_order_uuid_number 订单号 varchar(200) 是
shetuan_id 社团 int(11) 是
xuesheng_id 学生 int(11) 是
shetuan_order_yesno_types 审核状态 int(11) 是
shetuan_order_yesno_text 审核意见 text 是
insert_time 预约时间 timestamp 是
create_time 创建时间 timestamp 是

表4.11 团长表
字段 注释 类型 空
id (主键) 主键 int(11) 否
username 账户 varchar(200) 是
password 密码 varchar(200) 是
tuanzhang_name 团长姓名 varchar(200) 是
tuanzhang_phone 团长手机号 varchar(200) 是
tuanzhang_id_number 团长身份证号 varchar(200) 是
tuanzhang_photo 团长头像 varchar(200) 是
sex_types 性别 int(11) 是
tuanzhang_email 电子邮箱 varchar(200) 是
create_time 创建时间 timestamp 是
表4.12 管理员表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
username 用户名 varchar(100) 否
password 密码 varchar(100) 否
role 角色 varchar(100) 是
addtime 新增时间 timestamp 否
表4.13 学生表
字段 注释 类型 空
id (主键) 主键 int(11) 否
username 账户 varchar(200) 是
password 密码 varchar(200) 是
xuesheng_name 学生姓名 varchar(200) 是
xuesheng_phone 学生手机号 varchar(200) 是
xuesheng_id_number 学生身份证号 varchar(200) 是
xuesheng_photo 学生头像 varchar(200) 是
sex_types 性别 int(11) 是
xuesheng_email 电子邮箱 varchar(200) 是
create_time 创建时间 timestamp 是

第五章 系统实现

程序开发人员对功能具体实现后,都要描述自己编写的功能实现,一般都通过文字描述功能,实现用图片截图的形式出现,通过这样的设定,可以让更多得人明白系统的实现结果,达到更容易理解程序操作的目的。
5.1 管理员功能实现
5.1.1 团长管理
管理员点击导航栏的团长管理链接就进入团长管理界面。团长管理界面如图5.1所示。本功能允许管理员对团长的基本资料进行修改,添加,查询,删除。
在这里插入图片描述

图5.1 团长管理界面
5.1.2 学生管理
管理员点击导航栏的学生管理链接就进入学生管理界面。学生管理界面如图5.2所示。本功能允许管理员对学生基础资料进行修改,查询,添加,删除。
在这里插入图片描述

图5.2 学生管理界面
5.1.3 论坛管理
管理员点击导航栏的论坛管理链接就进入论坛管理界面。论坛管理界面如图5.3所示。本功能允许管理员查看论坛的帖子回复,修改论坛信息,查询论坛的帖子。
在这里插入图片描述

图5.3 论坛管理界面
5.2 团长功能实现
5.2.1 社团管理
团长在社团管理界面可以对社团的信息进行管理。社团管理界面如图5.4所示。团长需要添加社团,查询社团,修改社团等操作。
在这里插入图片描述

图5.4 社团管理界面
5.2.2 社团申请管理
团长点击导航栏的社团申请管理链接就进入社团申请管理界面。社团申请管理界面如图5.5所示。本功能允许团长审核学生申请加入社团的信息,查询,删除社团申请信息。
在这里插入图片描述

图5.5 社团申请管理界面
5.2.3 社团活动管理
团长点击导航栏的社团活动管理链接就进入社团活动管理界面。社团活动管理界面如图5.6所示。本功能允许团长对社团的活动信息进行添加,删除,修改,查询等。
在这里插入图片描述

图5.6 社团活动管理界面
5.3 学生功能实现
5.3.1 社团信息
学生点击导航栏的社团信息链接就进入社团信息界面。社团信息界面如图5.7所示。本功能允许学生收藏社团,申请加入社团,发布社团的留言等。
在这里插入图片描述

图5.7 社团信息界面
5.3.2 社团活动
学生点击导航栏的社团活动链接就进入社团活动界面。社团活动界面如图5.8所示。本功能允许学生收藏社团活动,对社团活动发布留言,申请参加社团活动等。
在这里插入图片描述

图5.8 社团活动界面
5.3.3 在线论坛
学生点击导航栏的在线论坛链接就进入在线论坛界面。在线论坛界面如图5.9所示。本功能允许学生添加帖子,发布帖子评论。
在这里插入图片描述

图5.9 在线论坛界面

第六章 系统测试

一个系统不可能只有几个页面就叫做系统,系统的意思就是有好多不同的功能模块的集合才叫做系统。系统包含很多子模块,每个模块与模块之间都有不同的联系,系统测试就是先测试每个模块的功能,符合了之后再测试模块与模块之间的功能,都测试合格还需要验收。测试流程,测试步骤,测试数据,只要是测试的过程,都要有详细的记录。有记录的测试,叫科学测试,如果胡乱测试,那么可能会漏掉一些关键性的问题所在。所以为了提高程序的质量,在测试这个环节就要下很大的心思,测试的越好,系统的修复性越好,才能让用户产生更大的满意。
6.1 测试方案
测试方案主要分两个方向,一个是黑盒测试,一个是白盒测试,这两个测试方向是目前最通用的测试方案。测试过程中,要对各个模块实现有个预期,在符合用户的要求上,要对一些字段还有逻辑进行测试,需要不断输入各种各样类型的数据来进行测试,看是否会有内存漏出,指针异常,或者是逻辑问题。
白盒测试:白盒主要是进行逻辑测试的,测试是属于透明形式的测试。白盒测试要求对各种逻辑以及各种判断,每种判断都要进行一次测试,判断实现效果。白盒测试可以说就是把代码能实现的不能实现的语句都进行判断,只要进行过白盒测试,甚至能定位到哪些判断有问题,或者说某个方法就有问题,只要白盒测试过关的,那说明代码功能基本上没有什么大的问题,符合功能开发的很不错。
黑盒测试:黑盒是不管代码是怎么编写的,只测试功能接口问题。黑盒测试一般不让用户测试的,因为主要围绕着安全性或者恢复性测试,包括负载均衡方面,这些需要大量的数据进行冲击,用户是没有这方面的技术的。所以一般需要负责专业的测试人员进行测试,专业的测试人员经过专门的测试方面培训,懂得黑盒测试的测试要领,所以先经过白盒测试功能问题,然后再经过黑盒测试进行运行问题,基本上就满足了测试任务。
本章节主要就是对系统的测试来设置对应的测试操作,从模块功能测试到最后的验收测试。
模块测试:在模块测试一般都是程序员开发过程中,有的自己写属于自己模块的测试用例,一般以达到效果为主,每个模块都是一个单元,这样来区分单元测试的过程,如果不进行单元测试会出现大问题的,会出现各个环节不知道数据的执行流程,方法跳转,以及更重要的异常抛出,这些可能都会忽略,所以要进行模块测试。
模块测试一般有几个需要注意:
第一个问题:路径问题,路径是绝对路径还是相对路径,因为程序代码很多,所以这些肯定要进行测试的,不然会出现异常。
第二个问题:接口问题。接口的命名方式,会不会与技术自带的接口混淆,会不会接口重复,这些都是需要测试的。
第三个问题:数据结构。数据库的数据结构在代码里,是否编写过程中达到了预期,有些地方该是包装类型的还是数据类型的,这些都要测试。
第四个问题:异常处理。每个环节可能会出现的问题,都要定义异常抛出,并且尽量写好异常处理原因,只要抛出指定异常信息,才会达到测试目的。
第五个问题:边界问题。边界问题一般指的的数据大小以及正负数的问题,这些该测试还要测试的,不测试不符合操作流程。
总而言之,模块测试是测试的第一个环节,是不可少的,也是出现问题最多的领域。
集成测试:模块测试完毕才可以集成测试,集成测试主要是对各个模块之间的逻辑进行测试,只要是相关联的模块,都要测试一遍,需要找到模块关联是否能达到正常开发预期。
集成测试主要采用渐增式测试,好处有以下几点:
第一点:渐进式可以更彻底的对逻辑所有功能进行测试,是很彻底的。
第二点:渐进式相当节约时间,节约时间就是节约成本。
第三点:可以更快速的定位错误位置,有助于问题反馈。
用渐进式测试软件功能,用到的混合法。混合法是有顺序的,自上而下测试和自下而上测试,对程序的上下层混合测试,就是测试里面的集成测试方法。
验收测试:验收一般是甲方派人来负责程序的验收测试,派来的人员可能计算机水平层次不齐,也更适合对程序问题提出异议,因为计算机开发的哪怕在行业内最厉害的,也不一定能满足甲方的需求,毕竟开发者认为合理的必须有局外人来进行判断,而甲方派人测试则是代表着对程序的直观认知,前面的所有测试,只是验收测试前的测试,验收测试决定着程序是最终问题。
6.2 系统测试用例
测试主要是实际操作程序功能与设计程序功能是否一致,检验编程效果的一种方法。
6.2.1 登录功能测试
作为学生社团管理系统,登录是首要功能,后面不管是任何功能,都必须在登录成功后才可以进行操作,所以登录必须进行测试。
表6.1 登录功能测试表
测试数据 实际数据 预期情况 最终情况
把用户表里面的任意一个账号,还有配套密码进行录入 账号:abo
密码:abo 成功登录 成功登录
不使用用户表的账号,还有密码 账号:uuu
密码:uuu 提示错误的账号或密码 登录失败
把用户表的任意一个账号进行输入,并随意编写一个密码,该密码不是该表账号对应的密码 账号:abo
密码:uuu 提示错误的账号或密码 登录失败
不输入用户表的账号,而是账号随意编写,但是密码却是用户表的密码 账号:uuu
密码:abo 提示错误的账号或密码 登录失败
6.2.2 注册功能测试
注册功能也是大部分应用程序需要做的功能,一般注册功能设定必须是账号唯一,这样能保证用户的安全,用一个与别人不一样的用户名,这样坏人不容易猜到,所以注册时候提交的用户名如果已经存在肯定是不让注册的,只有唯一的账号才可以注册,而这些都要有反馈提示。
表6.2 注册功能测试表
测试数据 实际数据 预期情况 最终情况
把用户表的其中一个账号进行登记 账号:abo 账号已存在,请重新输入 注册失败
登记用户表里面不存在的账号 账号:yh1 可以注册 注册成功
6.3 测试的结果
在学生社团管理系统的测试过程中,优化了系统的功能导航,以及操作流程,并且对运行环境测试,发现市场上主流的电脑都可以使用,并且操作简单,使用方便,功能完善。通过所有测试的结果就是本设计合格。

结 论

学生社团管理系统的开发不是一帆风顺的,虽然严格按照一定的开发流程来进行学生社团管理系统的开发,但是中间出现了很多突发情况。当题目选择之后,就开始查找资料,也不知道是查找方式问题还是阅历问题,感觉资料查的都是相关资料,但是当查到资料后看的一头雾水,好多都是与学生社团管理系统开发不相关的,像浪里淘沙一样过滤了很多无用的东西才收集到一点点对自己可用的。当定下功能功能的时候,又开始对功能进行分析,反复的判断功能直接的关系,是否存在逻辑问题。数据库的设计也是一大问题,也许是开发经验不足,当数据库设计好后,编码到一半发现考虑问题不够重复,编码实现太复杂,需要在对数据库表重新设计,返工很多遍。在开发过程中,看到同伴们在努力的开发自己也埋头苦干,最终实现了学生社团管理系统。
本次使用Java技术开发的学生社团管理系统,就是运用计算机来管理学生社团信息,该系统是可以实现团长管理,社团管理,社团申请管理,社团活动管理,社团活动申请管理,论坛管理,学生管理,社团活动留言管理等功能。符合设计预期。
经过整体的开发了解,发现了学生社团管理系统的不足之处,首先第一点就是开发人少,时间短,属于练手项目,所以很多实际生活中可能遇到的问题并没有考虑到位,比如数据的冗余,大数据并发等,这些都是没有考虑的,在以后的日子里将会对技术方面精益求精,不断修复学生社团管理系统,让学生社团管理系统更强壮。

参考文献

[1]陈进强.某学院学生社团管理系统设计与实现[J].科学技术创新,2021,(24):108-110.
[2]符毓晟.高校学生社团管理系统设计与实现[J].电脑知识与技术,2020,16(27):75-78.
[3]闫嵩.新时期计算机软件开发中Java语言的应用[J].计算机产品与流通,2019(11):18.
[4]张金波.Java编程中常见的异常及其解决方案[J].计算机产品与流通,2019(12):29.
[5]彭影.优化Java数据库访问效率的策略研究[J].计算机产品与流通,2020(02):21.
[6]赵昕.软件工程思想在JAVA程序设计教学中的应用[J].计算机产品与流通,2020(02):201.
[7]赵荣彪.JDK1.8新特性与编程性能[J].信息技术与信息化,2021,(05):145-146+150.
[8]陈永青.浅析JDK1.7中的Fork/Join框架[J].中国新通信,2016,18(19):94-95.
[9]唐大仕.引入JDK源码学习的Java程序设计实践教学[J].计算机教育,2015,(07):40-42.
[10]李金萍,程满玲.Eclipse的应用发展[J].电脑编程技巧与维护,2016(16):31-32+58.
[11]黄雅琼.数据库设计在网站开发中的应用[J].科技风,2018(11):44.
[12]王会芳,武变霞.Web数据库软件开发中的自主适应设计[J].电子测试,2018(17):82-83.
[13]张赟.计算机软件开发的数据库测试技术[J].电子技术与软件工程,2020(17):150-151.
[14]Xuan Yin,Wei Zheng,Ming Zhang,Jing Zhang,G.Zhuang,T.Ding.A modularized operator interface framework for Tokamak based on MVC design pattern[J].Fusion Engineering and Design,2018.
[15]Oscar Rodriguez-Prieto,Francisco Ortin,Donna O’Shea.Efficient runtime aspect weaving for Java applications[J].Information and Software Technology,2018,100.

致 谢

学生社团管理系统的完成,经过测试发现符合设计预期的时候,心里感觉压着的石头去掉了,身心愉悦,半年时间一晃就过去,感觉时间过得飞快。突然想到这就要毕业了,毕业设计也完成了,有点惶恐,这里有我尊敬的老师,亲爱的同学们,在学校里真的很感激有他们的陪伴,这几年的校园生活才不至于孤单。
首先感谢我的学校,让我有学习的地方,有吃饭的地方,有住宿的地方,在学校里可以静下心来专心学习。
其次感谢我的导师,导师的作用在于指导,是与我们的其他老师有区别的,其他老师都是教给我们知识,让我们在知识的海洋里遨游,而我们的导师是我在知识海洋里的灯塔,照亮我前进的道路,让我理解如何用自己学校的知识武装自己的头脑,如何把这些知识融会贯通,实现真正的有用,可以看得见摸得着的作品,没有我的导师,就没有我现在的这个作品的出现,所以相当感谢我的导师。
再次感谢我的同学们,当我学习太累的时候,看到他们依然在努力,我会把想要偷懒的心压下去,他们能,我也能,有他们在,我也去掉了很多偷懒的行为;在我开心的时候,有他们一起分享;在我为设计开发挠头的时候,发现他们也有点挠头,我的心里更加的平静,不会过于急躁,可以静心逐步开发。我相信,他们应该也是这样想我的。大家一起学习,一起努力,一起奋斗,感谢我的同学们。
最后感激我的其他专业授课老师们,虽然与他们的缘分只有课堂上,但是还是感谢有他们的付出,才有我们的收获。
最后,我感谢所有值得感谢的人们,谢谢你们!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/613482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DAPP和APP的区别在哪?

随着科技的飞速发展,我们每天都在与各种应用程序打交道。然而,你是否真正了解DAPP和APP之间的区别呢?本文将为你揭示这两者的核心差异,让你在自媒体平台上脱颖而出。 一、定义与起源 APP,即应用程序,通常指…

一文读懂JVS逻辑引擎如何调用规则引擎:含详细步骤与场景示例

在当今的数字化时代,业务逻辑和规则的复杂性不断增加,这使得逻辑引擎和规则引擎在处理业务需求时显得尤为重要。逻辑引擎和规则引擎通过定义、解析和管理业务逻辑和规则,能够帮助企业提高工作效率、降低运营成本,并增强决策的科学…

数据科学低代码工具思考2—现状分析

数据科学工具伴随着计算机技术的发展也在持续的演进。数据库、大数据以及人工智能等时代标志性技术的出现,对数据科学工具的能力也有了更高的要求。一般而言,工具发展的趋势都是首先会出现一个能够支持数据科学计算的开发框架,方便用户能够更…

RHCE9学习指南 第20章 计划任务

有时需要在某个指定的时间执行一个操作,此时就要使用计划任务了。计划任务有两种:一个是at计划任务,另一个是crontab计划任务。 下面我们分别来看这两种计划任务的使用。 20.1 at at计划任务是一次性的,到了指定的时间点时就开始…

mac图片格式转换软件有哪些?推荐6个实用软件

mac图片格式转换软件有哪些?在数字时代,图片格式的转换已成为我们日常工作中不可或缺的一部分。对于Mac用户来说,选择一款高效、便捷的图片格式转换软件尤为重要。本文将为你介绍几款备受推崇的Mac图片格式转换软件,让你轻松应对各…

MySQL 5.7.35下载安装使用_忘记密码_远程授权

文章目录 MySQL 5.7.35下载安装使用_忘记密码_远程授权MySQL下载地址mysql安装点击安装,最好以管理员身份运行选择自定义安装选择64位勾选启动自定义产品执行点击同意点击下一步点击执行下一步配置数据库端口号设置登录密码,如果密码忘记,下面…

最新PyCharm安装详细教程及pycharm配置_pycharm安装教程

目录 一、PyCharm简介及其下载网站 二、单击网站的Downloads,进入二级页面,选择对应的操作系统下载PyCharm 三、PyCharm的安装程序的安装及其配置(configuration) 1、运行PyCharm Setup 2、安装位置设置 3、安装选项设置 4、开始菜单中PyCharm快捷方式的…

CMake入门教程【高级篇】管理MSVC编译器警告

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1.什么是MSVC?2.常用的屏蔽警告3.MSVC所有警告4.target_compile_options用法5.如何在CMake中消除MSVC的警告?6.屏蔽警告编写技巧

如何使用css隐藏掉滚动条

1.解决方案 在滚动元素上再包裹一个父元素,然后,该元素添加如下代码: (注:PC端浏览器滚动条为8px)使元素偏移原来位置8px,目的就是将滚动条区域移动到父元素边框外面,然后&#xff…

PFA试剂瓶——实验室存储运输化学试剂样品容器

PFA是一种高性能的塑料材料。它是一种热塑性塑料,由全氟化,聚合物制成,具有高度的化学稳定性性。由于其优异的性能,PFA被广泛应用于多个领域,尤其是作为存储和运输各种化学试剂的容器,耐受-200℃至260C的温…

云流量回溯的工作原理及关键功能

云计算和网络技术的快速发展为企业提供了更灵活、高效的业务运营环境,同时也引发了一系列网络安全挑战。在这个背景下,云流量回溯成为网络安全领域的一个关键技术,为企业提供了对网络活动的深入洞察和实时响应的能力。 一、 云流量回溯的基本…

UTONMOS:探索元宇宙,开启未来游戏新篇章

在元宇宙的世界里,游戏不再只是消遣,而是一个全新的互动世界,等待你来探索! 逼真的虚拟现实技术,让你沉浸在充满想象力的游戏世界中,体验前所未有的刺激和乐趣。 与来自全球的玩家互动交流,结…

CodeWave智能开发平台--03--目标:应用创建--09供应商详情页面下

摘要 本文是网易数帆CodeWave智能开发平台系列的第13篇,主要介绍了基于CodeWave平台文档的新手入门进行学习,实现一个完整的应用,本文主要完成09供应商详情页面下主营产品展示及权限管理 CodeWave智能开发平台的13次接触 CodeWave参考资源…

国标28181平台的手机视频监控客户端的电子地图功能对比

目 录 一、手机客户端 1、概述 2、具体功能简述 二、电子地图功能 1、经纬度定位 2、附近设备 3、实时浏览功能 4、录像回放 5、缩放功能 三、手机web客户端和CS客户端上的电子地图功能对比 1、对比表 2、测距(PC客户端功能) 3…

2. Presto应用

该笔记来源于网络,仅用于搜索学习,不保证所有内容正确。文章目录 1、Presto安装使用2、事件分析3、漏斗分析4、漏斗分析UDAF开发开发UDF插件开发UDAF插件 5、漏斗测试 1、Presto安装使用 参考官方文档:https://prestodb.io/docs/current/ P…

MySQL的三种存储引擎 InnoDB、MyISAM、Memory

InnoDB 1). 介绍 InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后,InnoDB是默认的MySQL 存储引擎。 2). 特点 DML操作遵循ACID模型,支持事务; 行级锁,提高并发访问性能; 支持外键F…

Python爬虫—requests模块简单应用

Python爬虫—requests模块简介 requests的作用与安装 作用:发送网络请求,返回响应数据 安装:pip install requests requests模块发送简单的get请求、获取响应 需求:通过requests向百度首页发送请求,获取百度首页的…

Visual Studio Code 连接远程服务器方法

1、输入用户名和服务器ip连接远程服务器 2、选择配置文件 配置文件路径:C:\Users\Administrator\.ssh\config config的内容大致如下: Host 192.168.134.3HostName 192.168.134.3User zhangshanHost 192.168.134.3HostName 192.168.134.3User lisiHost…

Java中异常处理-详解

异常(Exception) JVM 默认处理方案 把异常的名称,异常的原因,及异常出错的位置等信息输出在控制台程序停止执行 异常类型 编译时异常必须显示处理,否则程序会发生错误,无法通过编译运行时异常无需显示处理…

干货|移动端App自动化之触屏操作自动化

工作中我们经常需要对应用的页面进行手势操作,比如滑动、长按、拖动等,AppiumDriver 为我们提供一个模拟手势操作的辅助类 TouchAction,可以通过它对手机屏幕进行手势操作。 具体用法参见链接:chromedriver下载地址与webview自动化…