当前位置: 首页 > news >正文

【JAVA GUI+MYSQL]社团信息管理系统

  本社团信息管理系统主要实现登录注册、管理员信息管理、社团用户信息管理、用户申请信息管理功能模块。

目录

1.系统主要功能介绍

2. 数据库概念模型设计

3.具体功能模块的实现  

3.1模型类

3.1.1Student.java

3.1.2User .java

3.1.3Club.java

3.2页面类

3.2.1LoginInterface.java

3.2.2UsersRegisterInterface.java 

3.2.3UsersOpenInterface.java     

3.2.4UserClubApplication.java   

3.2.5AdminOpenInterface.java    

3.2.6AdminRegisterInterface.java

3.2.7AddClubInforation.java

3.2.8AddStudentInforation.java   

3.2.9ChangeClubInforation.java  

3.2.10ChangeStudentInformation.java  

3.3 监听界面功能类

4. 系统测试用例

4.1用户登录界面

4.2普通用户注册界面

4.3普通用户打开界面

4.4用户申请加入社团界面

4.5管理员打开界面

4.6管理员账号注册界面

4.7增加社团信息

4.8增加学生信息

4.9修改社团信息界面

4.10修改学生信息界面

5 总结



1.系统主要功能介绍

  该系统主要实现登录注册、管理员信息管理、社团用户信息管理、用户申请信息管理功能模块。具体功能如下所示:

  1. 登录注册功能:根据用户输入的用户名和密码来确定用户所属级别。
  2. 社团信息管理:管理员可以对全部社团信息进行搜索、编辑、删除的操作。
  3. 社团用户信息管理:管理员可以对全部社团用户信息进行搜索、编辑、删除,查看用户信息列表。
  4. 用户申请信息管理:可以对已有的用户信息进行通过审核和拒绝的操作,也可以查看首页的用户申请列表。

图1-1系统结构图


2. 数据库概念模型设计

以下是数据库相关表之间的联系:

图2-1实体关系图


3.具体功能模块的实现  

3.1模型类

3.1.1Student.java

  对学生类的各个属性:成员姓名、成员性别、学号、出生日期、电话、所在社团、入团日期进行描述,并且实现他们的set函数和get函数。

3.1.2User .java

  继承学生类,并添加密码属性,完成密码的set和get函数。

3.1.3Club.java

  对社团属性:社团ID、社团名称、学院、成立日期、成员数量、负责人进行描述,并且实现他们的set函数和get函数。

3.2页面类

3.2.1LoginInterface.java

  用户登录界面,实现账号框、密码框、登陆、注册按钮以及背景图片。

3.2.2UsersRegisterInterface.java 

  普通用户注册界面,实现用户id框、密码框、确认按钮框以及确认按钮以及背景图片。

3.2.3UsersOpenInterface.java     

  普通用户打开界面,实现社团ID查询按钮,社团名称查询按钮,院系查询按钮,申请加入社团按钮,申请情况查询按钮,已经所有社团查询按钮,以及对应的跳转功能。     

3.2.4UserClubApplication.java   

  用户申请加入社团界面,实现社团ID文本框、社团名称文本框、学生ID文本框、学生姓名文本框、性别下拉框、出生日期文本框、联系方式文本框以及确认按钮以及背景图片。

3.2.5AdminOpenInterface.java    

  管理员打开界面,实现社团ID查询按钮,学生ID查询按钮,院系查询按钮,社团申请表处理按钮,创建管理员账号按钮,全部社团查询按钮,增加、删除、修改、申请通过、拒绝申请按钮以及对应的跳转功能,可以进行管理员操作

3.2.6AdminRegisterInterface.java

  管理员账号注册界面,实现用户id框、密码框、确认按钮框以及确认按钮以及背景图片。

3.2.7AddClubInforation.java

  增加社团信息界面,实现社团ID文本框、社团名称文本框、所属院系下拉框、创建日期文本框,负责人文本框确认按钮以及背景。

3.2.8AddStudentInforation.java   

  增加学生信息界面,学生ID文本框、学生姓名文本框、性别下拉框、出生日期文本框、联系方式文本框以及确认按钮以及背景图片。

3.2.9ChangeClubInforation.java  

  修改社团信息界面,实现社团ID文本框、社团名称文本框、所属院系下拉框、创建日期文本框,负责人文本框确认按钮以及背景。

3.2.10ChangeStudentInformation.java  

  修改学生信息界面,学生ID文本框、学生姓名文本框、性别下拉框、出生日期文本框、联系方式文本框以及确认按钮以及背景图片。


3.3 监听界面功能类

  1. UIListener 监听登陆界面用户按钮操作
  2. ListenUsersRegister  监听普通用户注册界面按钮操作
  3. ListenerUserClubApplication 监听用户申请加入社团界面按钮操作
  4. ListenAdminRegisterInterface   监听管理员用户注册界面按钮操作

4. 系统测试用例

4.1用户登录界面

  • 点击注册按钮,测试是否能成功跳转到注册界面

    

  • 输入不对应的账号和密码,测试是否会判错。

     

4.2普通用户注册界面

  • 输入新账号和密码以及不相同的确认密码,测试是否可以判断有无两次密码判断。
  • 输入新账号以及纯数字的密码,测试是否能出现密码低安全性问题弹窗。

  • 输入新账号,和符合规则的密码和确认密码,测试能是否成功注册。

4.3普通用户打开界面

  • 点击全部社团查询,测试是否输出全部社团信息

  • 根据院系查询,下拉框选择电智学院,测试是否输出电智学院社团。

  • 输入社团编号A1,测试是否输出A1社团成员信息

  • 输入不存在的社团编号E2,测试是否出现查找不到该社团信息弹窗。

  • 点击申请加入社团按钮,测试是否能正常跳转到成员社团申请表。

4.4用户申请加入社团界面

  • 输入A1 篮球社团 金泰 男 1995-12-30 19923469373 测试能否提交申请

  • 输入A1 足球社团 金泰 男 1995-12-30 19923469373 测试出现社团名和社团序号不对应弹窗。

4.5管理员打开界面

  • 点击全部社团查询,选中任意一行,点击删除按钮,测试是否删除社团信息成功。

  • 点击全部社团查询,选中任意一行,点击修改按钮,测试是否跳转修改社团信息界面。

  • 输入社团编号A1,点击C查询,选中任意一行,点击删除按钮,测试删除成员信息。

  • 输入社团编号A1,点击C查询,选中任意一行,点击增加按钮,测试是否能跳转到增加社团信息界面,增加信息是否成功。

  • 根据院系查询,下拉框选择电智学院,选中任意一行,点击添加按钮,测试是否能跳转到增加社团信息界面,添加信息是否成功。

  • 点击处理加入社团申请按钮,中任意一行,点击申请成功按钮,测试是否能通过申请。

  • 点击处理加入社团申请按钮,中任意一行,点击申请成功按钮,测试是否能拒绝申请。

4.6管理员账号注册界面

  • 输入新账号和密码以及不相同的确认密码,测试是否可以判断有无两次密码判断。

  • 输入新账号以及纯数字的密码,测试是否能出现密码低安全性问题弹窗。

  • 输入新账号,和符合规则的密码和确认密码,测试能是否成功注册。

4.7增加社团信息

  • 输入 A7 书法社团 电智学院 2023-12-31 点击确认,测试是否能创建成功。

  • 输入已存在的社团信息,测试是否出现不能创建重复社团弹窗。

4.8增加学生信息

  • 输入学号 姓名 性别 生日 联系方式,测试是否能够添加成功。

4.9修改社团信息界面

  • 修改社团名称 创建日期 负责人 测试是否能修改成功。

4.10修改学生信息界面

  • 修改学生姓名 年龄 性别 生日 联系方式,测试是否修改成功。


5 总结

  和队友的课设时光辛苦啦~浅浅的记录一下,博文内容仅为课设报告部分内容,需要完整报告和代码的小伙伴可以私我哦~

相关文章:

  • Vue-cli
  • UV贴图和展开初学者指南
  • x-cmd pkg | usql - SQL 数据库的通用交互界面
  • Zookeeper+Kafka概述
  • 构建中国人自己的私人GPT
  • RT-Thread入门笔记2-动态内存堆的使用
  • Docker安装Nacos2.2.3并鉴权、Prometheus监听Nacos、Grafana监控Nacos【亲测可用】
  • Redis 7.0性能大揭秘:如何优化缓存命中率?
  • react+AntDesign 之 pc端项目案例
  • SpikingJelly笔记之泊松编码
  • Linux备忘手册
  • ML:2-4理解python如何实现forward prop
  • TypeScript使用技巧内置工具类型详解
  • 抛弃安卓,追赶iOS,鸿蒙能否成为中国第二大系统?
  • vue.js环境在window和linux安装
  • [LeetCode] Wiggle Sort
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • 230. Kth Smallest Element in a BST
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • cookie和session
  • ES6简单总结(搭配简单的讲解和小案例)
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • Java,console输出实时的转向GUI textbox
  • MySQL-事务管理(基础)
  • Spring核心 Bean的高级装配
  • 回顾2016
  • 聊聊flink的TableFactory
  • 让你的分享飞起来——极光推出社会化分享组件
  • 删除表内多余的重复数据
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 温故知新之javascript面向对象
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • ​第20课 在Android Native开发中加入新的C++类
  • ###C语言程序设计-----C语言学习(6)#
  • #pragma pack(1)
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (二)linux使用docker容器运行mysql
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .NET大文件上传知识整理
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .NET中使用Protobuffer 实现序列化和反序列化
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @Service注解让spring找到你的Service bean
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [acm算法学习] 后缀数组SA
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务