【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 总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高通平台开发系列讲解(USB篇)Ubuntu 下如何使用模块

文章目录 一、查看VID、PID二、adb添加2.1、在udev下添加模块的VID2.2、重启adb服务三、虚拟串口添加(AT、Diag)沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要图解高通平台上位机使用方法 一、查看VID、PID 在ubuntu下使用模块进行AT指令发送,Diag等串…

【QML COOK】- 003-处理鼠标事件

1. 编辑main.qml import QtQuickWindow {width: 800height: 800visible: truetitle: qsTr("Hello World")Image {id: backgroudanchors.fill: parentsource: "qrc:/Resources/Images/arrow.png"}MouseArea {anchors.fill: parentonClicked: backgroud.rot…

docker run 命令详解

一、前言 Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(包括流行的Linux机器、Windows机器),也可以实现虚拟…

【hcie-cloud】【20】容器详解【容器介绍,容器工作机制、容器常用命令说明】【上】

文章目录 前言容器是什么虚拟化技术的四个特点容器也是一种虚拟化技术容器是怎么实现虚拟化的?容器对比虚拟机有哪些优势?容器对比虚拟机有哪些不足?容器不仅是一种虚拟化技术,更重要的是一种应用打包机制容器提供的是PaaS服务常见…

SSH远程访问出现Permission denied(password)解决方法

首先,这个不是密码输错了的问题; 1、在主机先ping一下服务器 ping XXX.XXX.XX.XXX (服务器ip地址) 如果pin成功了,说明可以进行连接 查看服务器的ip ifconfig2、主机连接服务器 (服务器的ip) ssh testXXX.XXX.XX.…

Java中SpringBoot组件集成接入【MQTT中间件】

Java中SpringBoot组件集成接入【MQTT中间件】 1.MQTT介绍2.搭建MQTT服务器1.Windows2.Ubuntu3.Docker4.其他方式3.mqtt可视化客户端MQTTX及快速使用教程4.SpringBoot接入MQTT1、maven依赖2、MQTT配置3、MQTT组件具体代码1.定义通道名字2.消息发布器3.MQTT配置、生产者、消费者4…

线扫相机品牌汇总(国外+国内)

线扫相机品牌汇总(国外+国内) 行者 ​ 热爱生活 22 人赞同了该文章 线扫相机也叫做线阵相机,和面阵相机一样,都是重要的工业相机。 线扫相机正如其名字那样,拍照时像扫描一样,相机和被拍照物体有相对匀速运动。 Perhaps the most common example of line scan imagin…

如何顺滑使用华为云编译构建平台?

这两年平台构建服务需求越来越大,却一直苦于找不到一些指南, 这里特意写了一篇, 对在学习代码阶段和新手程序员朋友也蛮友好, 配置真的也不难, 也特别适合想尝试从0到1做个APP的朋友了。 以华为云的CodeArts Build为例…

Mac/Linux虚拟机CrossOver2024新版下载使用教程

CrossOver不像Parallels或VMware的模拟器,而是实实在在Mac OS X系统上运行的一个软件,该软件可以让用户在mac是上直接运行windows软件,本文为大家带来的是CrossOver Mac版安装教程! CrossOver Mac-安装包下载如下:http…

ubuntu系统(9):ubuntu 20.02安装pydot

目录 警告信息 1、确保安装了Python和pip 2、安装Graphviz软件包 3、pip安装pydot 验证 在gem5中,pydot库用于生成图形化输出,特别是生成.dot文件和相关的图像文件,如PDF、PNG等。它与gem5结合使用的一个常见用途是生成系统结构图、内存…

MFC结合GDI+

MFC结合GDI 创建一个空的MFC界面,在确定按钮函数里进行画图: 1、包含头文件与库 在stdafx.h中加入以下三行代码: #include "gdiplus.h" using namespace Gdiplus; #pragma comment(lib, "gdiplus.lib")2、安装GDI 在…

深度学习 Day25——J4 ResNet与DenseNet结合探索(DPN)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 文章目录 前言1 我的环境2 pytorch实现DPN算法2.1 前期准备2.1.1 引入库2.1.2 设置GP…

【C++进阶04】STL中map、set、multimap、multiset的介绍及使用

一、关联式容器 vector/list/deque… 这些容器统称为序列式容器 因为其底层为线性序列的数据结构 里面存储的是元素本身 map/set… 这些容器统称为关联式容器 关联式容器也是用来存储数据的 与序列式容器不同的是 其里面存储的是<key, value>结构的键值对 在数据检索时…

MongoDB高级集群架构设计

两地三中心集群架构设计 容灾级别 RPO & RTO RPO&#xff08;Recovery Point Objective&#xff09;&#xff1a;即数据恢复点目标&#xff0c;主要指的是业务系统所能容忍的数据丢失量。RTO&#xff08;Recovery Time Objective&#xff09;&#xff1a;即恢复时间目标&…

赋能软件开发:生成式AI在优化编程工作流中的应用与前景

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;特别是生成式AI模型如GPT-3/4的出现&#xff0c;软件开发行业正经历一场变革&#xff0c;这些模型通过提供代码生成、自动化测试和错误检测等功能&#xff0c;极大地提高了开发效率和软件质量。 本文旨在深入…

ArcGIS中style文件的导入及lyr的文件的使用

地图是地理信息的重要载体&#xff0c;科学的配色方案可以有效地传递地理信息&#xff0c;而美观协调的配色方案也是我们进行地图符号化设计的重要内容。在日常工作中&#xff0c;我们常常苦恼于自带颜色不能满足需要或是希望使用现成的颜色模板&#xff0c;自定义配色方案导入…

一文详解VScode 的远程开发

VS code登录服务器后进行编码和调试&#xff0c;VS code上的所有功能都可以使用&#xff0c;和在本地开发基本无区别。 一、配置免密远程登录 因为是要远程登录&#xff0c;那么需要通过使用ssh进行密钥对登录&#xff0c;这样每次登录服务器就可以不用输入密码了。 先来一句官…

Python综合数据分析_RFM用户分层模型

文章目录 1.数据加载2.查看数据情况3.数据合并及填充4.查看特征字段之间相关性5.聚合操作6.时间维度上看销售额7.计算用户RFM8.数据保存存储(1).to_csv(1).to_pickle 1.数据加载 import pandas as pd dataset pd.read_csv(SupplyChain.csv, encodingunicode_escape) dataset2…

Qt - QML框架

文章目录 1 . 前言2 . 框架生成3 . 框架解析3.1 qml.pro解析3.2 main.cpp解析3.3 main.qml解析 4 . 总结 【极客技术传送门】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 1 . 前言 什么是QML&#xff1f; QML是一种用户界面规范和编程语言。它允许开发人员…

C++类与对象基础(6)

(注&#xff1a;本篇文章介绍部分内容时&#xff0c;需要用到上盘文章中日期类的代码&#xff0c;文章链接如下&#xff1a;C类与对象基础(5)——日期类的实现-CSDN博客​​​​​​&#xff09; 目录 1. 运算符重载的相关补充&#xff1a; 1.1流运算符重载出现的问题&#x…