摘 要
21世纪时信息化的时代,几乎任何一个行业都离不开计算机,将计算机运用于校园社团管理也是十分常见的。过去使用手工的管理方式对校园社团进行管理,造成了管理繁琐、难以维护等问题,如今使用计算机对校园社团的各项基本信息进行管理,比起手工管理来说既方便又简单,而且具有易于管理、搜索速度快、存储量大等多个优点。将其使用在校园社团管理中,不仅能够提高校园社团管理中管理员的工作效率,而且可以使校园社团管理系统更加科学与规范。在信息化时代的不断冲击下,校园社团管理系统与计算机技术的结合,将会是一条提高校园社团管理水平的捷径。
本文主要通过对校园社团管理系统的前台和后台管理进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。校园社团管理系统完成了主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、社团信息、社团招新、报名信息、社员管理、社员留言、社团公告、社团活动、活动报名、优异社员、证书信息、管理员留言、竞选社长、社长选拔、投票信息、竞选结果等功能的实现过程。
关键词:校园社团管理系统;PHP框架;
PHP Campus Community Management System
Abstract
In the era of information technology in the 21st century, almost any industry cannot do without computers, and it is also very common to apply computers to campus community management. In the past, manual management methods were used to manage campus communities, which caused problems such as cumbersome management and difficult maintenance. Nowadays, using computers to manage various basic information of campus communities is not only convenient and simple compared to manual management, but also has many advantages such as easy management, fast search speed, and large storage capacity. Using it in campus community management can not only improve the work efficiency of administrators in campus community management, but also make the campus community management system more scientific and standardized. Under the continuous impact of the information age, the combination of campus community management system and computer technology will be a shortcut to improve the management level of campus communities.
This article mainly analyzes the functional requirements of the front and back office management of the campus community management system, and analyzes the non functional requirements of the system's security and scalability. On the basis of detailed requirements analysis, the database structure is determined according to the functional design of the system to achieve complete coding. The campus community management system has completed the page design and functional implementation of the main modules. This article shows the implementation effect diagram of the home page, and introduces the implementation process of user registration functions, club information, club recruitment, registration information, member management, member messages, club announcements, club activities, event registration, outstanding members, certificate information, manager messages, election for president, president selection, voting information, election results, and other functions through codes and pages.
Key words: campus community management system; PHP framework;
目 录
表administrator_message (管理员留言)
表association_announcement (社团公告)
表certificate_information (证书信息)
1.1 研究背景与意义
高校学生社团是在对应管理教师的指引下由兴趣相同或相似的学生自发组成的带有俱乐部性质的学校小型团体组织,它们通常以举行带有社团独特风格的集众性活动来吸引学生加入社团组织。大学生社团是我国高校校园建设中不可欠缺的一环,亦是学生校园生活重要的组成部分。其潜移默化地影响着校园文化的发展,并有利于展开政治性思想教育,提高社团成员的社交能力与综合水平。我国对高校社团的研究主要形成于二十世纪末期。随着社团发展的重要性逐渐凸显,我国对高校社团的发展、建设能力略显陈旧,难以满足当下壮大并走向繁荣的社团发展现状。早期社团研究主要从以往的建设经验入手,较为感性的对大学生社团进行探索、研究相关管理以及组织方法。因此设计并开发一个校园社团管理系统是非常有必要的。
1.2研究内容
校园社团管理系统的开发及实现,所需要的工作内容:
(1)首先是确定选题,确定好所要做的系统,并对系统的背景及现在面临的一些问题等进行系统的初步确认。
(2)系统确认完成后,结合系统开发的需求进行确认系统开发所使用的技术,校园社团管理系统的开发使用PHP框架,数据库进行系统的搭建开发,确认好使用的技术进行技术分析,所使用的技术是否可以完成系统的实现。
(3)确定好系统使用的技术,进行在线确认系统所划分的用户角色,并且根据用户角色划分确定所要设计的功能模块,对于校园社团管理系统的设计主要划分别为管理员、学生用户、社长用户角色,并所使用的功能模块也相应不同,但是系统的数据库实现的内容是交互的,用户可以随时根据自己的需求进行信息搜索,对于系统工作人员可以根据自己的分管内容进行在线信息的处理及操作,管理员获取到所有用户的详细数据信息,并根据需求进行第一时间处理解决。
(4)系统的功能模块确认完成后进行程序及界面的设计,设计完成后,并且通过测试来判断程序是否完善,对于系统测试,需要不同的用户进行不同的内容编辑及提交,及使用不同的测试方式找出程序中存在的漏洞,并对程序出现的漏洞问题进行在线解决处理,如果测试系统没有任何问题时,可以将系统上传进行正式操作使用。
1.3研究现状
在以北京、上海、天津等一线城市的部分大学网站进行调查中发现,在访问的网站中,大多数高校网站上并没有专门的学生社团相关模块,有的也只是在新闻内容中略微提及,缺少明确的社团管理体系部分,且存在信息更新间隔过长、缺乏维护不便食用等问题。显然,高校社团在信息化的管理方面缺乏相应的社团管理的策略,更多地处于放任学生之间自由的发展社团的阶段;这使得社团之间发展的不均衡,或从根本上名存实亡的现象屡屡存在。在大多数大学网站上都没有找到较为完善的学生社团管理模块,甚至有的仅仅只在学校新闻中略加提及,缺少明确的社团管理体系结构。
国外的社团管理系统种类繁多,但主要以单一的社团管理为主体,这主要是因为国外的社团成员大多在大学结束后,可直接加入具有社会性质的俱乐部。大多数社团并不与学校有较明确的从属管理关系,但在社团相关活动等信息上更新与维护是较为及时的。
2.1 开发技术
本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于php的Thinkphp框架进行开发。
前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。
后端部分:采用Thinkphp作为开发框架,同时集成Redis等相关技术。
2.2 MVVM模式
MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。
2.3 MySQL数据库
科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,比如超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的校园社团管理系统也需要这项技术的支持。
用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。
2.4 B/S结构
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
2.5 Thinkphp框架介绍
ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。 [1]
ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。
2.6 Vue.js 主要功能
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。
Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。
本系统将在经济、技术、操作这三个角度上进行可行性分析。
整个系统从设计到开发以及测试过程严谨步骤齐全,所有工作任务全部由本人完成,并未获取外部技术支持,节约了一切服务成本开销以及人工成本,在硬件方面,为节约成本使用一台二手移动工作站作为项目部署服务器以及数据库服务器,成本在一万元一下,真个网络部署也是由本人独立完成不涉及到其他人工费用,整个开发过程本着低成本,低消耗的原则。
技术可行性分析的目的是确认该系统能否利用现有技术实现,并评估开发效率和完成情况。技术的可行性是指在当前的技术条件下,计算机软件和硬件的开发是否能够满足发展的要求。因为该系统的开发基于php语言,所以开发该系统所需的软件和硬件条件可以在普通计算机上满足。因为它占用的内存相对较少,所以用Mysql数据库开发和设计软件理论上没有问题,因为它占用的内存太少。上述技术可以有效地保证系统的成功和高效开发。
校园社团管理系统的使用界面简单易于操作,采用常见的界面窗口来登录界面,通过电脑进行访问操作,用户只要平时使用过电脑都能进行访问操作。此系统的开发采用php技术开发,人性化和完善化是B/S结构开发比较显要的特点使得用户操作相比较其他更加简洁方便。易操作、易管理、交互性好在本系统操作上体现得淋漓尽致。
使用校园社团管理系统的分为管理员和学生用户、社长用户三个权限模块。
管理员所能使用的功能主要有:后台首页、公共管理(轮播图)用户管理(管理员、学生用户、社长用户)、个人资料(个人信息、修改密码)、社团信息、社团招新、报名信息、社员管理、社员留言、社团公告、社团活动、活动报名、优异社员、证书信息、管理员留言、竞选社长、社长选拔、投票信息、竞选结果等功能模块。
学生用户可以实现前台首页、新闻资讯、社团信息、社团招新、社团公告、社团活动、社长选拔、竞选结果,后台首页:报名信息、社员管理、社员留言、活动报名、证书信息、竞选社长、投票信息等功能模块。
社长用户可以实现首页、个人资料(个人信息、修改密码)、社团招新、报名信息、社员管理、社员留言、社团公告、社团活动、活动报名、优异社员、证书信息、管理员留言)、等功能模块。
管理人员用例图如下所示。
图1 管理员用例图
学生用户用例图如下所示。
图2 学生用户用例图
社长用户用例图如下所示。
图3 社长用户用例图
添加信息流程
添加信息,编号系统使用自动编号模式,没有用户填写,用户添加信息输入信息,系统将自动确认的信息和数据,验证的成功是有效的信息添加到数据库,信息无效,重新输入信息。添加信息流程如图3-3所示。
图3添加信息流程图
操作流程
用户想进入系统,首先进入系统登录界面,通过正确的用户名、密码,选择登录类型登录,系统会检查登录信息,信息正确,然后输入相应的功能界面,提示信息错误,登录失败。系统操作流程如图3-4所示。
图4操作流程图
删除信息流程
用户选择要删除的信息并单击Delete按钮。系统提示是否删除信息。如果用户想要删除信息,系统将删除信息。系统数据库删除信息。删除信息流程图如图3-5所示。
图5 删除信息流程图
随着用户量的增加,系统可能会需要同时服务上千上万个页面,服务器需要同时响应大量用户的操作,这就要求系统需要有良好的可扩展性,否则系统会出现延迟,卡顿甚至服务器崩溃的问题。高扩展性可以使软件保持旺盛的生命力,同时也能够使系统更好的适应用户增加、提高性能需求、增加应用功能等改变。
系统中保存了大量用户和管理员的个人信息,因此,保证系统服务器和数据安全是在开发过程中需要考虑的重要问题。安全性包括服务器安全、操作系统安全、数据库安全、程序代码安全以及用户个人信息和支付安全等,系统可以通过采用防火墙技术、加密技术、认证技术等来增强其安全性,只有一个健壮安全的系统才能具有长久的生命力。
校园社团管理系统的前台中,社团招新、社长选拔和竞选结果模块进行数据交互,前台的功能主要包括新闻资讯模块、社团信息模块等。
校园社团管理系统的后台中,管理员对用户在前台提交申请产生的数据进行处理,以满足用户的需求。前台系统和后台系统有数据交互,整个系统各个部分相互独立又密不可分。后台的功能主要包括后台:后台首页、公共管理(轮播图)用户管理(管理员、学生用户、社长用户)、个人资料(个人信息、修改密码)、社团信息、社团招新、报名信息、社员管理、社员留言、社团公告、社团活动、活动报名、优异社员、证书信息、管理员留言、竞选社长、社长选拔、投票信息、竞选结果等功能模块。
通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。
图4系统功能结构图
概念设计包括实体和联系两部分,如该系统中,用户是一个实体,其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。
(1)管理员实体属性图如下图5所示
图5管理员实体属性图
(4) 用户注册实体属性如下图4-5所示
图4-5用户注册实体属性图
图5系统E-R图
连接数据库的文件在Resources 文件夹下的application.yml文件,代码如下:
class AccessToken extends Base
{
protected $table = 'access_token'; //数据表名
protected $table_id = 'token'; //数据表名
protected $validate = 'AccessToken'; //数据表名
protected $model;
public function __construct(){
$this->model = new Model();
}
}
数据库表是设计和实现系统的一个重要基础。以下列出了小郑米粉店几个重要的数据库表。
表access_token (登陆访问时长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
表administrator_message (管理员留言)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | administrator_message_id | int | 10 | 0 | N | Y | 管理员留言ID | |
2 | president_user | int | 10 | 0 | Y | N | 0 | 社长用户 |
3 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
4 | message_time | date | 10 | 0 | Y | N | 留言时间 | |
5 | message_content | text | 65535 | 0 | Y | N | 留言内容 | |
6 | comments | text | 65535 | 0 | Y | N | 意见内容 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表article (文章:用于内容管理系统的文章)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
表article_type (文章分类)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表association_announcement (社团公告)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | association_announcement_id | int | 10 | 0 | N | Y | 社团公告ID | |
2 | announcement_title | varchar | 64 | 0 | Y | N | 公告标题 | |
3 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
4 | release_time | date | 10 | 0 | Y | N | 发布时间 | |
5 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
6 | president_user | int | 10 | 0 | Y | N | 0 | 社长用户 |
7 | announcement_content | longtext | 2147483647 | 0 | Y | N | 公告内容 | |
8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
9 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表auth (用户权限管理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表certificate_information (证书信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | certificate_information_id | int | 10 | 0 | N | Y | 证书信息ID | |
2 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
3 | president_of_the_association | int | 10 | 0 | Y | N | 0 | 社团社长 |
4 | member_user | int | 10 | 0 | Y | N | 0 | 社员用户 |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | certificate_attachment | varchar | 255 | 0 | Y | N | 证书附件 | |
7 | remarks | text | 65535 | 0 | Y | N | 备注信息 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表collect (收藏)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表comment (评论)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表community_activities (社团活动)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | community_activities_id | int | 10 | 0 | N | Y | 社团活动ID | |
2 | activity_title | varchar | 64 | 0 | Y | N | 活动标题 | |
3 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
4 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
5 | president_user | int | 10 | 0 | Y | N | 0 | 社长用户 |
6 | activity_time | datetime | 19 | 0 | Y | N | 活动时间 | |
7 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
8 | event_details | longtext | 2147483647 | 0 | Y | N | 活动详情 | |
9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表community_information (社团信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | community_information_id | int | 10 | 0 | N | Y | 社团信息ID | |
2 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
3 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
4 | community_type | varchar | 64 | 0 | Y | N | 社团类型 | |
5 | time_of_establishment | date | 10 | 0 | Y | N | 成立时间 | |
6 | president_of_the_association | int | 10 | 0 | Y | N | 0 | 社团社长 |
7 | presidents_name | varchar | 64 | 0 | Y | N | 社长姓名 | |
8 | number_of_clubs | varchar | 64 | 0 | Y | N | 社团人数 | |
9 | introduction | longtext | 2147483647 | 0 | Y | N | 社团介绍 | |
10 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
11 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
12 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
14 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表election_results (竞选结果)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | election_results_id | int | 10 | 0 | N | Y | 竞选结果ID | |
2 | project_title | varchar | 64 | 0 | Y | N | 项目标题 | |
3 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
4 | election_duration | varchar | 64 | 0 | Y | N | 竞选时长 | |
5 | campaign_user | int | 10 | 0 | Y | N | 0 | 竞选用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | election_details | text | 65535 | 0 | Y | N | 竞选详情 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表event_registration (活动报名)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | event_registration_id | int | 10 | 0 | N | Y | 活动报名ID | |
2 | activity_title | varchar | 64 | 0 | Y | N | 活动标题 | |
3 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
4 | president_user | int | 10 | 0 | Y | N | 0 | 社长用户 |
5 | member_user | int | 10 | 0 | Y | N | 0 | 社员用户 |
6 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
7 | registration_time | date | 10 | 0 | Y | N | 报名时间 | |
8 | remarks | text | 65535 | 0 | Y | N | 备注信息 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表hits (用户点击)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
表membership_management (社员管理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | membership_management_id | int | 10 | 0 | N | Y | 社员管理ID | |
2 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
3 | president_of_the_association | int | 10 | 0 | Y | N | 0 | 社团社长 |
4 | member_user | int | 10 | 0 | Y | N | 0 | 社员用户 |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | joining_time | date | 10 | 0 | Y | N | 入社时间 | |
7 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表member_message (社员留言)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | member_message_id | int | 10 | 0 | N | Y | 社员留言ID | |
2 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
3 | president_of_the_association | int | 10 | 0 | Y | N | 0 | 社团社长 |
4 | member_user | int | 10 | 0 | Y | N | 0 | 社员用户 |
5 | message_time | date | 10 | 0 | Y | N | 留言时间 | |
6 | message_content | text | 65535 | 0 | Y | N | 留言内容 | |
7 | presidents_reply | text | 65535 | 0 | Y | N | 社长回复 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表outstanding_member (优异社员)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | outstanding_member_id | int | 10 | 0 | N | Y | 优异社员ID | |
2 | activity_title | varchar | 64 | 0 | Y | N | 活动标题 | |
3 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
4 | president_user | int | 10 | 0 | Y | N | 0 | 社长用户 |
5 | member_user | int | 10 | 0 | Y | N | 0 | 社员用户 |
6 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
7 | time_of_participation | date | 10 | 0 | Y | N | 参加时间 | |
8 | note_details | text | 65535 | 0 | Y | N | 备注详情 | |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表praise (点赞)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
表president_selection (社长选拔)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | president_selection_id | int | 10 | 0 | N | Y | 社长选拔ID | |
2 | vote_number | varchar | 64 | 0 | Y | N | 投票编号 | |
3 | project_title | varchar | 64 | 0 | Y | N | 项目标题 | |
4 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
5 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
6 | start_time | datetime | 19 | 0 | Y | N | 开始时间 | |
7 | end_time | datetime | 19 | 0 | Y | N | 结束时间 | |
8 | candidates | text | 65535 | 0 | Y | N | 竞选人员 | |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | limit_times | int | 10 | 0 | N | N | 0 | 限制次数 |
11 | limit_type | tinyint | 4 | 0 | N | N | 2 | 限制次数类型1-每天次,2-总计次 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表president_user (社长用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | president_user_id | int | 10 | 0 | N | Y | 社长用户ID | |
2 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
3 | person_in_charge | varchar | 64 | 0 | Y | N | 负责人员 | |
4 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
5 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表recruit_new_members (社团招新)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | recruit_new_members_id | int | 10 | 0 | N | Y | 社团招新ID | |
2 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
3 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
4 | president_of_the_association | int | 10 | 0 | Y | N | 0 | 社团社长 |
5 | number_of_new_recruits | varchar | 64 | 0 | Y | N | 招新人数 | |
6 | details | text | 65535 | 0 | Y | N | 详情介绍 | |
7 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
8 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
9 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表registration_information (报名信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | registration_information_id | int | 10 | 0 | N | Y | 报名信息ID | |
2 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
3 | president_of_the_association | int | 10 | 0 | Y | N | 0 | 社团社长 |
4 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | application_time | date | 10 | 0 | Y | N | 申请时间 | |
7 | reason_for_application | text | 65535 | 0 | Y | N | 申请原因 | |
8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
9 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表run_for_president (竞选社长)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | run_for_president_id | int | 10 | 0 | N | Y | 竞选社长ID | |
2 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
3 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
4 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
5 | application_time | date | 10 | 0 | Y | N | 申请时间 | |
6 | model_text_attachment | varchar | 255 | 0 | Y | N | 范文附件 | |
7 | self_introduction | text | 65535 | 0 | Y | N | 自我介绍 | |
8 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
9 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表slides (轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表student_users (学生用户)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_id | varchar | 64 | 0 | N | N | 学生学号 | |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
4 | student_gender | varchar | 64 | 0 | Y | N | 学生性别 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表upload (文件上传)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
表user (用户账户:用于保存用户登录信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
表user_group (用户组:用于用户前端身份和鉴权)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表voting_information (投票信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | voting_information_id | int | 10 | 0 | N | Y | 投票信息ID | |
2 | vote_number | varchar | 64 | 0 | Y | N | 投票编号 | |
3 | project_title | varchar | 64 | 0 | Y | N | 项目标题 | |
4 | association_name | varchar | 64 | 0 | Y | N | 社团名称 | |
5 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
6 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
7 | personnel_invested | varchar | 64 | 0 | Y | N | 所投人员 | |
8 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_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.1.4新闻资讯界面
当点击导航栏上的“新闻资讯”的时候,就会看到管理员发布的新闻资讯信息,新闻资讯界面如下图5-4所示。
图5-4新闻资讯界面图
5.1.5 社团招新界面
当访客点击校园社团管理系统中导航栏上的“社团招新”后将会进入到该“社团招新”列表的界面,然后选择搜索或排序搜索想要看的社团招新信息,点击进入到详细界面,可以了解到社团名称、社团社长、社团人数等信息,在详细界面可以报名加入社团成员的操作,社团招新界面如下图5-5 5-6所示。
图5-5社团招新详情界面图
图5-6社团报名界面图
5.1.6 社团信息详情界面
当访客点击“社团信息”后就可以看到所有的社团信息,选择你想要了解的社团信息后将会进入该社团信息的详情界面,可以了解到社团类型、社团名称、社团社长、成立时间、社团人数等信息,同时可以对点击下方的“点赞”、“收藏”、“评论”,社团信息详情展示页面如图5-7 5-8所示。
图5-7 社团信息界面图
图5-8 社团信息详情界面图
用户点击“社团活动”这个菜单按钮,就会显示所有社团活动列表,在查询到自己喜欢的社团活动的时候,可以进入查看详细的介绍,在这个界面出可以进行报名参加社团活动等操作。如图5-9 5-10所示。
图5-89社团活动界面图
图5-10报名加入社团活动界面图
用户点击“社团公告”这个菜单按钮,就会显示所有社团公告信息,如:公告标题、发布时间、社团名称、社长用户、公告内容等详细信息,在这个界面出可以进行收藏、发等操作。如图5-11 所示。
图5-11社团公告界面图
用户点击“社团选拔”这个菜单按钮,就会显示所有社团选拔列表,在查询到自己喜欢的社团选拔信息的时候,可以进入查看详细的介绍,在这个界面出可以进行投票操作。如图5-12 5-13所示。
图5-12 社团选拔详情界面图
图5-13 社团选拔投票界面图
用户点击“竞选结果”这个菜单按钮,就会显示所有参加社长选拔结果列表,在此页面可搜索查看竞选结果,如图5-14所示。
图5-14竞选结果详情界面图
5.2社长功能模块
5.2.1 社团活动界面
社长在后台菜单栏点击“社团活动”,可以增删改查社团活动信息,管理员进行审核回复,其界面如下图5-15所示。
图5-15社团活动界面图
5.2.2 社员管理界面
社长在“社员管理”界面能够对社团成员信息进行管理,可以进行增删改查操作,社团成员界面如下图5-16所示。
图5-16社团成员界面图
5.2.3 社团公告界面
社长在“社团公告”这一界面能够对社团公告进行管理,可以进行增改查操作,社团公告界面如下图5-17所示。
图5-17社团信息界面图
5.2.4 报名信息界面
社长点击“报名信息”这一菜单,可以查看到学生申请报名的详细信息,对学生的报名申请进行审核提交操作。报名信息界面如下图5-18所示。
图5-18报名信息界面图
社长点击“活动报名”这一菜单,可以查看到用户提交的活动报名申请信息和优异记录信息,可以对其进行审核以及审核回复。活动报名如下图5-19所示。
图5-19活动报名界面图
社长点击“社员留言”这一菜单,可以查看到社员提交的留言信息,可以对其进行回复。社员留言如下图5-20所示。
图5-20社员留言界面图
5.3管理员功能模块
5.3.1 轮播图管理界面
校园社团管理系统中的管理人员在“轮播图管理”这一菜单中是可以对前台显示的轮播图以及公告栏进行管控。界面如下图5-21所示。
5.3.2 用户管理界面
校园社团管理系统中的管理人员在“用户管理”这一菜单是中可以对注册的学生、社长以及管理员进行管控,这里以用户管理为例。界面如下图5-22所示。
图5-22用户管理界面图
5.3.3 社团信息管理界面
校园社团管理系统中的管理人员在“社团信息”这一菜单中是可以对校园社团管理系统内的社团信息进行维护和管理的,界面如下图5-23所示。
图5-23社团信息界面图
5.3.5 证书信息管理界面
校园社团管理系统中的管理人员在“证书信息”这一菜单下是可以对优异社员的证书信息进行管控的,其管理界面如下图5-24所示。
6.1测试定义及目的
关于系统实现的测试,英文名称是System TEST,简称ST,ST是使用完整其系统的各种功能多次、多案例、多环境测试,这是ST的简单描述。ST可以证明该功能对系统的要求是否得到满足以及是否有效。
对于系统开发的实现,不管开发过程多么努力,在系统运行的时候多少都会出现一些错误信息,所以为了系统的安全性及提高系统的使用率及给用户带来更好的体验,系统在完成之前,一定要进行一遍系统的测试,再完美的程序也会有漏洞,再细心的技术开发员也会有疏忽的时候,所以对于程序的测试是必须要做的一步。通过系统测试找到系统存在的问题,并根据问题的原因进行在线解决问题,如果找不到解决问题的办法可以进行通过咨询指导老师或者通过同学帮忙,一定将问题找出,否则将会出现更多的错误。所以程序出现错误时不可避免,系统测试虽然耗时费力,但是为了确保后期系统的长期使用,必须要进行系统测试,问题解决完成后还要再一步测试,直到没有任何问题后方可进行使用。
6.2性能测试
任何一款程序开发成功后都必须通过软件测试,它是保障软件稳定运行的前提。测试最主要的一步就是性能测试,性能测试内容如下:
(1)对于测试的速度有一定的要求,速度必须快,而且对于测试出来的错误问题一定以最快的速度进行处理解决,并且进行再次测试,保证整个系统运行的安全性。
(2)在系统测试的时候要将测试所用到的测试计划和测试报告保管好,方便后期系统的运行使用后的整体维护操作。
(3)软件测试整个过程中的聚类现象应优先考虑。
(4)对于整体系统测试,不要用自己的思想去认可整个系统,而是从公正的角度的进行对系统进行认可,是否符系统的整合应用。
6.3测试模块
测试系统是最新的Windows 10系统,通过对系统实现的功能模块进行每个功能模块的操作测试,查看每个用户的功能模块所对应的权限信息是否可以操作并且数据信息更新一致。
测试需求 | 测试重点 | 是否达成需求 | 结果 |
用户登录 | 输入账号密码 | 需求达成 | 通过 |
用户注册 | 创建新的账号密码 | 需求达成 | 通过 |
登录失败 | 输入错误账号密码 | 需求达成 | 通过 |
修改信息 | 修改成功 | 需求达成 | 通过 |
添加信息管理 | 增删查改 | 需求达成 | 通过 |
回复管理 | 增删查改 | 需求达成 | 通过 |
搜索查询管理 | 增删查改 | 需求达成 | 通过 |
系统测试方面,我们通常运用的是白盒测试以及黑盒测试这两种方法。白盒测试是指在了解系统内部工作流程的前提下,可以根据需求规范验证系统内部操作是否能够正常运行的测试;而黑盒测试指的是,倘若知道了这个系统的全部功能,可以进行测试检测系统中的每一个功能是否满足正常使用。
为了方便用户使用“校园社团管理系统”,以及尽可能少的减少系统测试错误的发生,我们对该系统进行了相对应的测试。
对该系统的全部的功能界面进行测试,简单来说,就是我们输入一些数据并且对其进行提交,之后我们查看每个页面的反馈,检测页面的相关功能可不可以完全实现。
6.4测试结果
测试评估的结果是校园社团管理系统满足要求中的所有功能,处理大多数错误条件,修复大多数错误并通过测试。校园社团管理系统的基本功能都是可行的,不管是系统里面的功能还是界面的设计都是可值得推广宣传的。
经过这几个月的设计和开发,“基于php校园社团管理系统”已经完成了,其功能符合设计需求,能够完成用户的注册、用户的个人信息、社团信息、社团招新、报名信息、社员管理、社员留言、社团公告、社团活动、活动报名、优异社员、证书信息、管理员留言、竞选社长、社长选拔、投票信息、竞选结果等功能。经过最后的使用,证明系统完全具有可行性与可扩充性。
在系统的分析阶段,主要是分析系统的需求,理解系统要完成的基本功能,找出系统的用例(Use Case)和角色(Actor),画出系统的用例模型图,用例模型是此后系统建模的基础。在用例的基础上分析顺序图和协作图,得到系统的所有对象,然后建立对象模型。抽象出系统的类,并将系统中联系紧密的类划分为若干个包,画出包图。有了这些基础,就可以将系统划分为小单元功能模块。
整个过程中,我必须认可UML统一建模语言,它让我很清晰的知道自己想做什么,想实现什么,对系统后面的代码编写起到决定性的帮助,同时经过本次系统的设计与实现,让我积累了很多经验,提高了编写程序的能力,为以后的学习和工作打下了坚实的基础。
由于时间有限,本系统还有待继续完善和改进,因此需要进一步进行分析和修改,以使其更加完善!
参考文献
[1]张黎平.“互联网+”背景下PHP动态网站开发技术研究[J].无线互联科技,2022,19(16):154-156.
[2]赵婉彤.基于PHP与MySQL的动态网站设计与实现[J].电脑编程技巧与维护,2022(08):103-105+109.DOI:10.16184/j.cnki.comprg.2022.08.022.
[3]王金恒,梁凤霖,尹菡,钟颖,余丹凤.校园社团管理系统的设计与实现[J].电脑编程技巧与维护,2022(06):85-88.DOI:10.16184/j.cnki.comprg.2022.06.013.
[4]Tang Jingyang. Design and Research of Intelligent Community Management System Based on Intelligent Internet of Things[J]. Mobile Information Systems,2022,2022.
[5]刘军.基于PHP技术的动态网页设计[J].信息记录材料,2021,22(10):142-143.DOI:10.16009/j.cnki.cn13-1295/tq.2021.10.068.
[6]陈进强.某学院学生社团管理系统设计与实现[J].科学技术创新,2021(24):108-110.
[7]任鑫梅,刘小英.高校社团管理信息系统的设计与实现[J].电脑知识与技术,2021,17(11):31-32+35.DOI:10.14004/j.cnki.ckt.2021.0923.
[8]符毓晟.高校学生社团管理系统设计与实现[J].电脑知识与技术,2020,16(27):75-78.DOI:10.14004/j.cnki.ckt.2020.2879.
[9]高鉴.基于JAVA的社团管理后台系统设计[J].中阿科技论坛(中英文),2020(09):90-93.
[10]刘文娟.学生社团管理系统开发中的小数据应用[J].教育教学论坛,2020(06):102-103.
[11]Lunzhi Deng. Anonymous certificateless multi-receiver encryption scheme for smart community management systems[J]. Soft Computing: A Fusion of Foundations, Methodologies and Applications,2020,24(3).
[12]惠苗,张晓冬.“互联网+”高校社团管理系统的设计与实现[J].萍乡学院学报,2019,36(03):78-83.
[13]苏冬梅.衡水学院社团管理系统的设计与实现[J].农村经济与科技,2019,30(10):243-244.
[14]罗超,王志辉.高校社团管理信息系统的设计与实现[J].信息记录材料,2019,20(04):27-28.DOI:10.16009/j.cnki.cn13-1295/tq.2019.04.011.
[15]周洋,何丽丽.基于B/S模式的高校社团管理系统的研究与设计[J].电脑知识与技术,2018,14(33):84-85+96.DOI:10.14004/j.cnki.ckt.2018.3877.
[16]杨豆琪.数字化校园背景下的社团管理模式探析[J].人才资源开发,2017(06):68-70.DOI:10.19424/j.cnki.41-1372/d.2017.06.040.
[17]Bhawana Kapkoti,Bhawna Adhikari,Neelu Lodhiyal,L. S. Lodhiyal. Structure and Diversity of Sal Forests in Government and Community Management Systems in kumaun Region of Central Himalaya[J]. Current World Environment,2016,11(1).
[18]Dawit Demissie,Abebe Rorissa. The Effect of Information Quality and Satisfaction on a Parent’s Behavioral Intention to Use a Learning Community Management System[J]. Libri,2015,65(2).
[19]许永华. 中等职业学校校园社团管理系统管理系统分析与设计[D].云南大学,2014.
[20]尹君.基于B/S模式的校园社团活动管理系统设计[J].中国新通信,2012,14(20):69.
致谢
时光飞逝,转眼间我在学校的这些年生活即将结束,回顾这几年的学习生活,收获良多,既有幸福也有难过,学校生活的结束对于我来说也是一个新的开始。论文即将完成,在此,我心中有许多想要感谢的人。首先感谢我的导师,不仅在学习研究方面加以指导,也在生活和为人处世上给予帮助。还要感谢授课老师,你们严谨的学术精神和积极向上的工作态度都在激励我的成长和进步。感谢多年来一直生活在一起的室友,谢谢你们多年来的陪伴和照顾。最后,要感谢各位论文评审老师,感谢您们在百忙之中抽空评阅本论文并给出宝贵的意见和建议。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~