Design
Vol. 08  No. 04 ( 2023 ), Article ID: 77671 , 10 pages
10.12677/Design.2023.84426

基于MVC架构模式的大学校园社团信息发布 组织平台设计

张文杰,纪庆楠*,谢浩杰,洪旭阳,刘桓余,吴嘉彤

陕西服装工程学院艺术设计学院,陕西 西安

收稿日期:2023年10月7日;录用日期:2023年12月14日;发布日期:2023年12月21日

摘要

目的:为了解决当前大学校园社团组织信息发布不及时、管理效率低、信息孤立等问题;方法:采用基于MVC架构模式、Android前端、LAMP架构、JSON数据交互格式和协同过滤推荐算法对大学校园社团信息发布组织平台进行集中开发;内容:经过前期技术融合、数据库设计和中期系统平台功能分类设计,以及后期为实现系统管理进行的方案设计进行系统实现;结论:表明在基于用户的协同过滤推荐算法加持下,MVC架构模式的大学校园社团信息发布组织平台具有高效、灵活、扩展性强的特点,可有效为高效社团提供消息发布、日程安排、社团会议、数据查看等功能。

关键词

MVC架构模式,大学校园社团,信息发布,Andriod

Design of an Information Release Organization Platform for University Campus Clubs Based on MVC Architecture Mode

Wenjie Zhang, Qingnan Ji*, Haojie Xie, Xuyang Hong, Huanyu Liu, Jiatong Wu

School of Art and Design, Shaanxi Fashion Engineering University, Xi’an Shaanxi

Received: Oct. 7th, 2023; accepted: Dec. 14th, 2023; published: Dec. 21st, 2023

ABSTRACT

The purpose is to solve the problems of untimely information release, low management efficiency, and information isolation in current university campus club organizations. The method adopts MVC architecture mode, Android front-end, LAMP architecture, JSON data interaction format, and collaborative filtering recommendation algorithm to centrally develop the university campus club information publishing organization platform. The content has undergone technical integration in the early stage, database design, and mid-term system platform functional classification design, as well as system implementation through scheme design to achieve system management in the later stage. The conclusion indicates that with the support of user based collaborative filtering recommendation algorithms, the MVC architecture model of the university campus club information publishing organization platform has the characteristics of efficiency, flexibility, and strong scalability. It can effectively provide efficient clubs with functions such as message publishing, scheduling, club meetings, and data viewing.

Keywords:MVC Architecture Pattern, University Campus Clubs, Information Release, Andriod

Copyright © 2023 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 前言

大学社团是由大学生自发组织、具有共同兴趣或目标的大学生团体。大学社团在大学校园中扮演着重要的角色,例如国际交流社团、创新创业社团、兴趣爱好社团等 [1] ,为大学生提供了丰富多彩的学习、交流和锻炼的机会。随着数字媒体的普及和应用,大学生越来越习惯使用互联网和移动设备获取信息。

现阶段,数字媒体平台为大学校园社团信息发布提供了更广泛的覆盖范围和更方便的传播途径。基于此,本文利用MVC架构并基于Android Studio平台针对大学校园社团信息发布组织平台进行设计与开发,旨在提升大学社团信息发布质量,并为大学生提供更多的个性化信息推荐与服务。

2. 研究背景

大学校园社团作为学生参与校园生活、锻炼自我能力和丰富学习经历的重要方式,对大学生健康成长具有重要的用途。传统的社团信息发布方式如海报、传单等,存在信息不准确、传递效果受限、覆盖范围有限等问题。此外,由于许多高校在大学校园社团管理中通常以“指定时间、指定地点”来展示、发布信息方式,这种相对老旧的方式极大阻碍了大学社团信息的广泛传播,无法让大学生对大学社团进行全面了解 [2] [3] 。

早在2016年,团中央教育部全国学联联合印发了《高校学生社团管理暂行办法》 [4] ,重点强调高校要根据实际情况向团委划拨社团工作专项经费,支持学生社团网络化管理和信息化平台建设。高校应为学生社团提供师资、活动场地、器材、设备等方面的支持,为学生社团对外交流搭建平台。伴随着数字媒体时代的到来,高校各类社交媒体平台逐步成为大学生获取社团信息和社交互动的重要渠道。目前,社交媒体平台除了能够及时发布信息外,还可为大学生提供实时互动、多媒体传播和个性化推荐等功能,使得社团信息发布的内容与形式更加灵活和个性化。同时,大学生通过信息化平台可以及时了解社团的活动、招新信息等,进一步解决大学社团信息公示、信息通知和各类活动推送及时性的问题,通过开发与设计平台对大学生日常行为数据和传播效果进一步分析,进而了解大学生对大学社团的实际需求。

3. MVC架构模式概述

3.1. 概念定义

MVC架构(Model-View-Controller)是一种软件架构模式,用一种业务逻辑、数据、界面显示分离的方法组织代码 [5] ,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,进而提高代码的可维护性和可扩展性。

3.2. 架构原理

MVC架构模式主由三个核心组件组成:模型(Model)、视图(View)和控制器(Controller) [6] ,起结构如图1所示。其中,模型(M)代表应用程序的数据和业务逻辑。它负责处理数据的获取、存储、验证和操作。模型通常包括数据库、API调用、文件系统等与数据相关的操作;视图(V)是用户界面的呈现层。它负责展示数据给用户,并接收用户的输入。视图通常是用户可以看到和与之交互的界面元素,如网页、表单、图形界面等;控制器(C)作为模型和视图之间的中介,负责处理用户的输入、协调模型和视图之间的交互。它接收用户的请求,根据请求调用适当的模型方法进行数据处理,并将处理结果传递给视图进行展示。

Figure 1. MVC architecture pattern

图1. MVC架构模式

3.3. 架构优势

MVC架构通过将应用程序划分为模型、视图和控制器三个组件,可以有效实现逻辑和用户界面的分离。而这种分离极大地提高了后期系统代码的可维护性、可扩展性和可测试性优势 [7] ,同时也促进了团队的协作和代码的复用,具体释义如表1所示。

4. 基于MVC架构模式的大学校园社团信息发布组织平台技术组成

4.1. 技术结构

本次开发设计的大学校园社团信息发布组织平台基于目前流行的MVC (Model-View-Controller)架构模式,通过将UI界面显示、数据处理、业务逻辑进行分离处理,将业务逻辑集会到1个部件之中。

Table 1. MVC architecture advantages

表1. MVC架构优势

系统提前预留了后期功能开发的接口,对个人敏感数据采用MD5加密存储,前后端交互采用JWT (JSON Web Token)安全认证机制。JWT是目前平台开发中最流行的跨域认证解决方案 [8] ,其优点在于服务器认证以后可以生成一个JSON对象再次发回给用户,在后续用户与服务端通信的时候,依靠JSON对象可以直接认定用户身份,对数据保护具有较好的作用。

4.2. 前端架构

考虑到大学生目前使用移动端手机的实际现状,将大学校园社团信息发布组织平台设置为Android前端架构,以Linux作为其系统内核基础,该系统具有扩展性强、适配性良好、应用范围大等特点,平台前端选择MVP三层架构体系,亦可有效降低拼图视图展示的复杂性,避免在后期开发中业务逻辑放入视图层产生功能混乱。此外,MVP架构中的模型层和视图层完全独立,通过调用接口完成,便于后期平台编写测试和维护。

4.3. 后台架构

本次平台开发中后台架构基于LAMP架构模式和Thinkphp框架 [9] [10] ,以腾讯云为后台服务器,可高效、快速、精准得保护和存储各类数据安全。其中,LAMP架构模式作为一种常用的Web应用程序开发架构,提供了灵活性和可扩展性,使开发人员能够根据应用程序的需求进行定制和扩展,经过广泛的测试和使用,可以处理大量的并发请求,并且在高负载情况下表现良好;而ThinkPHP框架提供了简单易用的开发工具和API [11] ,使得开发人员可以快速上手并高效地构建应用程序,它采用了简洁的代码风格和命名规范,使得代码易于理解和维护。可以轻松地集成第三方工具和服务。经过后期优化和调整,可以展现出色的性能表现。ThinkPHP框架也注重安全性和可靠性,提供了一系列的安全机制和防护措施。它支持输入过滤、XSS和CSRF防护、SQL注入防护等功能,保护应用程序免受常见的安全威胁。

此外,后台开发中基于LAMP架构模式和Thinkphp框架普遍采用了缓存机制、自动加载和懒加载等技术,可以有效地减少资源消耗和提高响应速度,通过dom/css来实时读取数据对网络信息进行及时抓取和存储。

4.4. 数据库设计

大学校园社团信息发布组织平台的数据库设计内容,主要分为了用户表、社团表、用户社团关系表等3类关键数据内容。其中,数据库中的用户表通常用于存储用户的相关信息,例如用户名、密码、电子邮件地址、手机号码等,具体如表2所示,后期可根据应用程序的需求和特定的业务逻辑需要添加或修改列,满足应用程序的实际需求;数据库中的社团表通常用于存储社团或组织的相关信息,例如社团名称、社团描述、社团类型、创建日期等,根据实际情况,后期根据大学生社团需要添加或修改数据信息,具体如表3所示;数据库中的用户社团关系表用于记录用户与社团之间的关联关系,包括记录社团的标识、用户记录、社团职位等,后期可自由添加额外的列来记录用户在社团中的权限、职位等信息,或者添加其他关联信息,如加入方式、退出日期等,具体如表4所示。

Table 2. User tables in the database

表2. 数据库中的用户表

Table 3. Community table in the database

表3. 数据库中的社团表

Table 4. User tables in the database

表4. 数据库中的社团表

5. 基于MVC架构模式的大学校园社团信息发布组织平台设计过程

5.1. 系统整体架构设计

系统整体架构按照MVC架构模式分层理念,共分为了平台展示层、功能业务层、系统数据层3个模块,其功能包含了个人中心、用户管理、交换数据等,具体系统架构如图2所示。

Figure 2. MVC system architecture design

图2. MVC系统架构设计

5.2. 系统主要功能组成

基于MVC架构模式的大学校园社团信息发布组织平台系统主要分为了5个模块,分别为首页显示(可滚动播放社团活动、比赛/报名等)、消息(用户间交流包含好友聊天、社团会议、文件传输等)、工作(作为移动端主要板块内容,包含社团任务发布、活动签到、日程安排、通知公告、工作安排等)、通讯录(主要为用户联系模块,包含社团组织架构、添加/删除社团组织、好友信息等)、用户中心(主要为用户个人信息管理模块,包含了更改、查看个人信息和实名认证、反馈等),具体如图3所示。

Figure 3. Platform system functional module division

图3. 平台系统功能模块划分

5.3. 系统数据交换格式

为了有效减轻系统运行负担,系统数据交换格式采用“轻量级”的数据交换格式JSON (JavaScript Object Notation),便于将数据从一个应用程序传输到另一个应用程序之中进行交换,JSON格式使用简单的键值对(key-value)结构表示数据 [12] [13] ,使其易于理解和阅读,采用了类似于JavaScript对象的语法,包括对象({})和数组([])的表示方式。其优点在于数据格式具有良好的可读性,使其易于理解和编写,通过使用了常见的数据类型,如字符串、数字、布尔值、数组和对象,以及简单的键值对结构。

此外,JSON支持嵌套结构,致使JSON数据可以轻松地被解析和生成,这使得数据的传输和处理变得更加便捷,可以在对象中嵌套其他对象或数组,以表示复杂的数据关系,并根据需要进行扩展,可以直接添加自定义的键值对或数据结构。

5.4. 用户管理系统设计

用户管理系统设计分为了用户验证方案与用户登录方案两部分。用户验证方案采用MPB的开源SDK,将MPB的开源SDK集成到系统应用程序中。根据MPB SDK的文档和指南,按照要求进行集成,包括导入SDK库文件、配置依赖项等 [14] ,平台采用手机号或邮箱作为平台登录账号,输入验证码后与短信或邮件内容一致才能注册成功进行用户信息修改。

用户登录方案在注册完毕后,平台登录状态可以使用MPB SDK提供的人脸识别功能,对用户登录时提供的人脸图像进行识别。通过调用SDK的接口,将用户的人脸图像与已注册用户的人脸特征进行比对和匹配。根据人脸识别的结果,判断用户是否通过认证。根据MPB SDK返回的识别结果,判断相似度或置信度是否达到预设的阈值,以确定用户是否被认证为合法用户。在使用MPB SDK进行人脸识别时,可以确保用户的个人信息和人脸图像的安全性和隐私保护,并采取适当的安全措施,如数据加密、访问控制等,防止用户信息被泄露或滥用。

5.5. 系统发布信息推荐

考虑到大学生获取信息适的精准性贺兴趣爱好等多重因素,本次平台系统发布消息推送机制基于用户的协同过滤推荐算法 [15] ,该算法基于用户之间的相似性来进行推荐,可以根据用户日常浏览中的内容自动分析其所感兴趣的内容,并将具有相同兴趣内容的信息按照“分级排序”方式推送给用户。

首先,在算法设置之前要计算用户之间的相似度。常见的相似度计算方法包括余弦相似度、皮尔逊相关系数等。根据用户的历史行为数据,比较用户之间的共同兴趣和行为模式,计算相似度,余弦距离算法公式可表示为:

cos θ = k = 1 n x 1 k x 2 k k = 1 n x 1 k 2 k = 1 n x 2 k 2 (1)

式(1)中,有两个n维 a ( x 10 , x 11 , x 12 , , x 1 n ) b ( x 20 , x 21 , x 22 , , x 2 n ) ,由于余弦距离更多从方向上进行区分,而绝对值通常并不敏感,则可选择与目标用户最相似的一些用户作为邻居用户。通过设定一个阈值,选择与目标用户相似度高于阈值的邻居用户,或者选择固定数量的邻居用户对内容进行评分区分兴趣的相似度和差异性 [16] 。综合余弦距离中的绝对数值不敏感性原则,将其改进为:

s i m ( a , b ) = ( R a , b R ¯ a ) ( R b , d R ¯ b ) d 1 a ( R a , b R a ) 2 d 1 a ( R a , b R b ) 2 (2)

式(2)中, R a , b 表示用户a和用户b分别已评分过的项目集合,通过减去用户对项目的平均分进行改善,根据邻居用户的历史行为数据,计算目标用户对未知项目的兴趣度。可以采用加权平均或其他方法,将邻居用户对项目的评分或偏好加权求和,得到目标用户对未知项目的兴趣度预测值。通过式(2),将得到与目标用户相邻的n个邻居,并选择相似度阙值的前m个用户,根据目标用户对未知项目的兴趣度预测值,对未知项目进行排序,将兴趣度预测值从高到低进行排序,进而推荐给用户兴趣度较高的项目,则公式优化后可表示为:

p i , d = R ¯ i + j N E S i s i m ( i , j ) ( R j , d R ¯ j ) j N E S i ( | s i m ( i , j ) | ) (3)

在式(3)计算后的结果可根据用户的历史评价数据,过滤掉用户已经评价过或者不感兴趣的项目,产生向用户推荐的内容合集,确保推荐结果是用户未接触过的新项目,将排序后的推荐项目最早呈现给用户。可根据用户的偏好和行为习惯,选择合适的方式进行推荐结果的展示,例如列表、网格或卡片形式 [17] 。

5.6. 实名认证功能设计

在大学校园社团信息发布组织平台开发中,实名认证功能的设计可以提高平台的安全性和可信度。通过设计一个用户注册流程,要求用户提供真实的个人信息,如姓名、学号、身份证号码等,确保用户提交的信息是准确且可靠的。

同时,本次系统使用合适的身份验证机制,例如与高校学生信息系统集成,通过高校提供的验证接口验证用户的学生身份,可以有效确保用户的学生身份是真实的。在认证之前,系统会要求用户上传身份证或学生证等证件照片,用于核实用户的身份信息。平台采用腾讯AI开发平台,使用图像处理技术对用户证件照片的识别和比对,确保用户提交的证件是真实的,在用户完成实名认证后,可为其提供一个认证标识,例如认证徽章或标志,以显示其身份已经通过认证,增加其他用户对认证用户的信任度。

以实名认证应用的Dlib算法举例 [18] ,作为强大的机器学习和计算机视觉库,其中包含了人脸检测算法,部分数据示例可表示为:{name: Dlib, version: v2.2, accuracy: 0.98, speed: 30 FPS},通过导入SDK添加相关权限、初始化参数、调用SDK后,平台通过getSring方式来获取数据值,从而达到用户实名认证的目的。

6. 结语

本次设计开发的基于MVC架构模式的大学校园社团信息发布组织平台,极大地提升了高校社团组织沟通的协作效率,大学生通过APP即可掌握社团活动的最新信息,同时本次开发基于LAMP后台架构和协同过滤算法加持,对于提高开发效率、代码质量和用户数据体验具有重要性,能够帮助社团管理人员更好地组织和管理代码,为平台系统提供灵活性和可扩展性,从而最早实现一个高效、可靠和易于维护的大学生社团活动管理平台。

基金课题

陕西服装工程学院大学生创新创业训练计划“青年社生活”——校园社团信息汇总发布及生活信息服务(编号:S202313125042X)。

注释

本文图片均是作者自绘。

文章引用

张文杰,纪庆楠,谢浩杰,洪旭阳,刘桓余,吴嘉彤. 基于MVC架构模式的大学校园社团信息发布组织平台设计
Design of an Information Release Organization Platform for University Campus Clubs Based on MVC Architecture Mode[J]. 设计, 2023, 08(04): 3456-3465. https://doi.org/10.12677/Design.2023.84426

参考文献

  1. 1. 胡晓霞. 大学校园文化中学生社团建设的探究[J]. 太原城市职业技术学院学报, 2022(6): 117-119.

  2. 2. 马浩文, 薛博. 大学社团在大学生活中的应用[J]. 读与写(教育教学刊), 2018, 15(8): 64.

  3. 3. 杨丽敏, 包豫新, 张子琳, 等. 高校社团发展现状实证研究——以河南大学为例[J]. 课程教育研究, 2018(28): 182-183.

  4. 4. 马丽. 高校学生社团管理问题研究[D]: [硕士学位论文]. 郑州: 郑州大学, 2016.

  5. 5. 龙恒, 吴红梅. 基于MVC架构的高校间学分认定与转换系统[J]. 信息技术与信息化, 2023(1): 58-61.

  6. 6. 侯力媛. 基于MVC模式的高校多元化教学辅助平台设计[J]. 信息与电脑(理论版), 2022, 34(22): 52-54.

  7. 7. 贾胜颖. 基于MVC模式考务管理系统的设计与实现[J]. 信息与电脑(理论版), 2023, 35(1): 147-149.

  8. 8. 童敏, 张黎娜, 梁伍七. 基于JWT的分布式系统认证授权机制设计和实现[J]. 合肥师范学院学报, 2022, 40(3): 7-10.

  9. 9. 喻健, 鲍琪. 基于ThinkPHP的人口信息系统设计[J]. 信息技术与信息化, 2022(2): 9-12.

  10. 10. 夏鑫宇, 习聪玲, 陈志林, 等. 基于ThinkPHP技术实现个人订阅号开发[J]. 电脑编程技巧与维护, 2021(4): 61-63.

  11. 11. 李秀珍. 基于MVC的ThinkPHP5框架研究[J]. 现代信息科技, 2020, 4(14): 90-92.

  12. 12. Mohamed-Amine, B., Dario, C., Giorgio, G., et al. (2023) Negation-Closure for JSON Schema. Theoretical Computer Science, 955, 113823. https://doi.org/10.1016/j.tcs.2023.113823

  13. 13. Baptiste, C., et al. (2023) Time-Frequency Catalogue: JSON Implementation and Python Library. Frontiers in Astronomy and Space Sciences, 4, 167-172.

  14. 14. GM/T 0125. 3-2022, JSON Web密码应用语法规范 第3部分: 数据加密[S]. 北京: 中国标准出版社, 2 022.

  15. 15. 顾明星, 张梦甜. 结合改进用户聚类与LFM模型的协同过滤推荐算法[J]. 科技与创新, 2023(17): 18-21+24.

  16. 16. 任莉君, 刘彦戎. 一种优化的相似度协同过滤推荐算法[J]. 信息技术, 2023(7): 77-81+86.

  17. 17. 包晨. 基于深度神经网络的协同过滤推荐算法研究[D]: [硕士学位论文]. 济南: 山东建筑大学, 2023.

  18. 18. 刘兆丰. Dlib在人脸识别技术中的运用[J]. 电子制作, 2020(21): 39-41+7.

  19. NOTES

    *通讯作者。

期刊菜单