目录
- 一、 绪论
- 1.1 开发背景
- 1.2 开发技术
- 1.2.1 Spring Boot 框架
- 1.2.2 Vue.js 框架
- 1.3 开发环境
- 1.3.1 IntelliJ IDEA
- 1.3.2 MySQL
- 二、系统分析
- 2.1需求分析
- 2.1.1管理员需求分析
- 2.1.2社员需求法分析
- 2.1.3社长管理员功能需求
- 2.2用例分析
- 2.2.1管理员用例分析
- 2.2.2社员用例分析
- 2.2.3社长用例分析
- 三、系统设计
- 3.1总体设计
- 3.2模块设计
- 3.3数据库设计
- 四、系统实现
- 五、源码获取
一、 绪论
1.1 开发背景
随着网络的普及,如今社会已经是信息化时代,人们可以通过网络足不出户完成日常工作、学习和生活。网络极大地方便了我们的生活,但对于高校社团的管理,网络的便利性似乎尚未得到普及。
目前各大高校社团的主要管理模式仍是通过传统人工方式。虽然很多活动的开展有多媒体的辅助,但对于社团中各项事务的管理仍然是通过QQ群通知、打印申请表交到指定地点,不仅浪费人力物力,造成不必要的麻烦,更使得管理和处理事务极为繁琐。
目前市场上虽然有数不胜数的管理系统面世,且功能各异,适合于各行各业的不同管理模式,但面向高校学生社团的管理系统目前还很少见,现有的各类管理系统或多或少都有不适合用于社团管理的方面,同时也不具备完善的功能。因此,一个功能完善,适合学生社团使用的管理系统更容易得到社团管理人员的青睐,在囊括多数管理系统具备的功能的同时,还应包括学生社团独特的需求功能。
基于上述背景开发的社团管理系统目前尚且十分具有研究意义,且符合市场需求,其开发的基本目的应包括:(1)可方便的导入社团成员的信息,且安全、高效;(2)简化学生社团的管理步骤,使能更方便的进行管理;(3)降低处理事务时所需的成本;(4)根据成员角色匹配工作内容;(5)社团管理条款和措施更加透明、直观,更具有说服力。在该系统投入使用时,使社团成员具有良好的使用体验。
1.2 开发技术
为了更好的开发系统,也为了使前端界面更加简洁好看,Spring Boot 框架用于后端开发;前端界面的开发主要使用 Vue.js 框架
1.2.1 Spring Boot 框架
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域成为领导者。
Spring Boot 是一种基于 Spring 模式下的微服务产品, 微服务是一种全新的软 件开发框架,使得可以很好的让较为庞大的软件产品,分为诸多较为零散的小型应用,这样就可以让软件在得到开发的过程中,降低其高耦合的问题[1]。开发人员不再处理 XML 和依赖,而更多地关注业务逻辑。在配置上采用约定减少了开发人员必须做出的决定的数量和许多 XML 配置,使代码自动化,但增加了 BUG 复杂性。
Spring Boot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外Spring Boot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
Spring Boot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。
1.2.2 Vue.js 框架
Vue.js是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助开发者高效地开发用户界面。
Vue.js是一套构建用户界面的渐进式框架,采用自底向上增量开发的设计,核心库只关注视图层。另一方面,Vue.js完全有能力驱动采用单文件组件和Vue.js生态系统支持的库开发的复杂单页应用。
Vue.js是一个框架,也是一个生态。可以用不同的方式使用Vue.js;
(1)无需构建步骤,渐进式增强静态的HTML;
(2)在任何页面中作为Web Components嵌入;
(3)单页应用 (SPA);
(4)全栈/服务端渲染 (SSR);
(5)Jamstack/静态站点生成 (SSG);
(6)开发桌面端、移动端、WebGL,甚至是命令行终端中的界面。
用于数据绑定和使用简单的 API 视图组件。与其他前端框架相比,Vue.js 具有
以下优势:
(1)易用性
Vue.js 的语法类似于 HTML,CSS 用于页面布局,JavaScript 用于页面事件 响应,因此熟悉传统前台技术语言开发人员可以通过查看技术文档开始使用Vue.js 构建应用程序。
(2)灵活性
Vue.js 的核心专注于视图层,与其他框架相比,它的核心是小型和简单的,拥有渐进式的技术栈,不仅可以开发复杂的单页面组件,还可以处理任何大小的应用程序。
(3)性能性
vue.js 本身的运行大小只有 20kb,其超快的虚拟 DOM 允许 Vue.js 更快地处理数据。
1.3 开发环境
1.3.1 IntelliJ IDEA
IDEA 全称 IntelliJ IDEA,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。
IntelliJ IDEA最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。比如查看Map类型的对象,如果实现类采用的是哈希映射,则会自动过滤空的Entry实例。其次,需要动态Evaluate一个表达式的值,比如我得到了一个类的实例,但是并不知晓它的API,可以通过Code Completion点出它所支持的方法。最后,在多线程调试的情况下,Log on console的功能可以帮你检查多线程执行的情况。
1.3.2 MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
与其他的大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQL是开放源码软件,因此可以大大降低总体拥有成本。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合。
MySQL 数据库管理系统具有以下系统特性:
(1)使用 C 和 C++ 编写,并使用多种编译器进行测试,保证源代码的可移植性。
(2)支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。
(3)为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
(4)支持多线程,充分利用 CPU 资源。
(5)优化的 SQL 查询算法,有效地提高查询速度。
(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入其他的软件中。
(7)提供多语言支持,常见的编码如中文的 GB 2312、BIG 5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。
(8)提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。
(9)提供用于管理、检查、优化数据库操作的管理工具。
(10)支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
(11)支持多种存储引擎。
二、系统分析
2.1需求分析
现今社会信息传送发展迅速,校园服务平台应是数字化、网络化学校下的一个重要分支,平台的进步与全面发展便意味着服务范围的扩大和服务水平的提高,这对大学生和建设综合性服务校园都具有重大意义。
高校社团是学生自发创建的拥有相同兴趣爱好的活动组织,通过组织各式各样的活动丰富学生的校园生活。每年9月,新生到校后,各种社团在校园中进行宣传,招募新成员,新成员通过填写报名表参加对应社团,之后社团组织活动时需要经过教师审批,学生报名等过程,周期较长,所有过程材料通过纸质保存,不仅浪费纸张,而且容易丢失,整个组织过程也比较低效,因此,有必要开发一个社团信息管理系统,简化报名和组织活动流程,提高效率。
2.1.1管理员需求分析
(1)用户管理
①注册用户账户:当一个新用户注册时,用户填写基本信息并上传。用户基本信息包括账号、姓名、密码、手机、地址等信息。
②用户信息管理:管理员可以查看系统所有用户的基本信息,并修改和删除。
(2)社团管理
①创建社团:社团由管理员创建,创建社团需填写社团名称,社团类型和社团社长。
②社团信息管理:管理员可以查看使用该系统的所有社团基本信息,修改和删除该社团。由于需要处理的信息可能更多,为了使页面更简洁,减少数据库查询的压力,并使管理员能够更快地找到需要处理的社团信息,添加社团名称字段的查询功能。
2.1.2社员需求法分析
(1)用户管理
①个人信息管理:用户可以查看自己的个人信息,也可以修改、删除操作自己不满意的信息。
②申请加入社团:用户可以浏览所有社团,并向喜欢的社团提交申请。
③加入活动:用户可以浏览加入社团的全部活动,并选择加入到感兴趣的活动中。
④缴费信息管理:用户可以收到缴费通知,并进行缴费
2.1.3社长管理员功能需求
(1)社团管理
②活动信息管理:社团管理员可以向所有社员发布活动信息,可以对参与活动的社员进行审核。
③社团成员信息管理:社团管理员可以对社员进行删除,对入团申请者进行审核。
④缴费信息管理:社团管理员可以根据社员编号发布缴费信息
2.2用例分析
2.2.1管理员用例分析
(1)系统用户管理:可以查看系统所有用户的基本信息,并修改和删除。
(2)社团类型管理:可以对社团类型进行修改,删除,查询操作,并且可以根据需求增添社团类型。
(3)社团信息管理:可以对社团进行查询,删除,创建社团,修改社团信息。
(4)活动信息管理:可以查询,删除社团活动。
(5)通知信息管理:可以查询,删除,发布社团活动。
(6)查询缴费记录:可以查询各个社团的缴费记录。
2.2.2社员用例分析
(1)入团申请管理:可以向感兴趣的社团提交申请。
(2)浏览社团信息:可以浏览所有社团及其基本信息。
(3)活动信息管理:实现向所有社员发布活动信息,可以对参与活动的社员进行审核的功能。
(4)用户信息管理:实现修改个人信息和密码的功能。
(5)通知信息查询:可以查询发布的通知信息。
(6)缴费信息管理:实现缴费查询和缴费缴纳功能。
2.2.3社长用例分析
(1)入团申请处理:可以对提交社团申请的用户进行审核。
(2)社团成员管理:实现对社团的成员查询和删除功能。
(3)社团活动管理:可以查看和发布社团活动。
(4)社团通知管理:可以查看,发布社团活动,删除本社团发布的通知
(5)社团费用管理:可以查看,删除,根据社员编号发布缴费通知。
三、系统设计
3.1总体设计
总体结构共有用户层、服务接口层、业务逻辑层、数据访问层和数据层五个层次。用户层通过系统管理员、用户和社团管理员三个登录身份登录到相应的身份界面。 一旦服务接口层通过服务访问接口进行了统一授权认证, 只有身份认证用户才能访问数据,服务接口层通过调用业务逻辑层中的数据查询组件来处理数据,业务逻辑层中的数据通过调用数据访问层中的数据访问组件来获得数据库中的数据库数据
3.2模块设计
①个人信息查询与修改模块
平台管理员,社员,社长在登录平台后都可以查看自己的个人信息并能修改个人信息。
②社团信息通知模块
社长在登录平台后可以发布通知,平台会将通知推出,社团所有成员(社员与社长)登录平台后都能看到通知,搜索查询通知。
③社团成员管理
社长登录平台后可以管理社员,可以查看社员信息,查找社员以及删除社员。
3.3数据库设计
本系统的实体有九个实体,分别是用户、社团、管理员、活动、通知、缴费记录、报名记录、社团类型、社团成员;用户的属性有账户、密码、姓名、性别、地址、电话号码;社团的属性有社团编号、社团名、社团创建时间、社长ID、社团类型和社团人数;活动的属性有活动编号、活动名称、报名时间、报名人数、活动概述、活动详情、发布社团、活动要求。
四、系统实现
五、源码获取
大家点赞、收藏、关注、评论啦 ,私信获取联系方式