基于PHP技术的校园论坛设计的设计与实现-计算机毕业设计源码08586

摘 要

本项目旨在基于PHP技术设计与实现一个校园论坛系统,以提供一个功能丰富、用户友好的交流平台。该论坛系统将包括用户注册与登录、帖子发布与回复、个人信息管理等基本功能,并结合社交化特点,增强用户之间的互动性。通过利用PHP语言及其相关框架,如CodeIgniter、Laravel等,以及开源组件和库,如MySQL数据库、Smarty模板引擎等,构建一个灵活、安全、高效的校园论坛平台。本项目的实施将为学生们提供一个便捷、多元的交流和分享空间,促进校园文化建设和学术交流。

**关键词:**校园论坛,PHP技术,系统设计与实现

Design and implementation of campus forum design based on PHP technology

Abstract

This project aims to design and implement a campus forum system based on PHP technology to provide a feature-rich and user-friendly communication platform. The forum system will include basic functions such as user registration and login, post Posting and reply, personal information management, and combine social features to enhance the interaction between users. By using the PHP language and its related frameworks, such as CodeIgniter, Laravel, etc., as well as open source components and libraries, such as MySQL database, Smarty template engine, etc., to build a flexible, secure and efficient campus forum platform. The implementation of this project will provide a convenient and diversified space for students to communicate and share, and promote the construction of campus culture and academic exchanges.

Key words : Campus Forum, PHP technology, System design and implementation

目 录

[摘 要](#摘 要)

Abstract

[第1章 绪论](#第1章 绪论)

[1.1 研究背景](#1.1 研究背景)

[1.2 研究现状](#1.2 研究现状)

[1.3 本文的组织结构](#1.3 本文的组织结构)

[第2章 系统分析](#第2章 系统分析)

[2.1 可行性分析](#2.1 可行性分析)

[2.1.1 法律可行性分析](#2.1.1 法律可行性分析)

[2.1.2 技术可行性分析](#2.1.2 技术可行性分析)

[2.1.3 经济可行性分析](#2.1.3 经济可行性分析)

[2.2 功能需求分析](#2.2 功能需求分析)

[2.3 用例分析](#2.3 用例分析)

[第3章 系统设计](#第3章 系统设计)

[3.1 系统架构设计](#3.1 系统架构设计)

[3.2 系统功能结构](#3.2 系统功能结构)

[3.3 功能模块设计](#3.3 功能模块设计)

[3.4 数据库设计](#3.4 数据库设计)

[3.4.1 E-R图](#3.4.1 E-R图)

[3.4.2 表结构设计](#3.4.2 表结构设计)

[第4章 系统实现](#第4章 系统实现)

[4.1 开发工具](#4.1 开发工具)

[4.2 注册模块](#4.2 注册模块)

[4.3 登录/注销模块](#4.3 登录/注销模块)

[4.4 学生用户模块](#4.4 学生用户模块)

[4.4.1 校园咨讯模块](#4.4.1 校园咨讯模块)

4.4.2留言反馈模块

4.4.3校园论坛模块

4.4.4活动竞赛模块

4.4.4个人中心模块

[4.5 管理员模块](#4.5 管理员模块)

[4.5.1 公共管理](#4.5.1 公共管理)

[4.5.2 咨讯管理](#4.5.2 咨讯管理)

[4.5.3 论坛版块](#4.5.3 论坛版块)

[4.5.4 校园论坛](#4.5.4 校园论坛)

[4.5.5 活动竞赛](#4.5.5 活动竞赛)

[4.5.6 考投票调查](#4.5.6 考投票调查)

[第5章 系统测试](#第5章 系统测试)

[5.1 测试概述](#5.1 测试概述)

[5.2 测试过程](#5.2 测试过程)

[5.2.1 登录测试](#5.2.1 登录测试)

[5.2.2 信息录入测试](#5.2.2 信息录入测试)

[5.2.3 信息更新测试](#5.2.3 信息更新测试)

[5.2.4 信息删除测试](#5.2.4 信息删除测试)

[5.3 测试结果](#5.3 测试结果)

[第6章 总结与展望](#第6章 总结与展望)

[6.1 总结](#6.1 总结)

[6.2 展望](#6.2 展望)

参考文献

致谢

  1. 绪论
    1. 研究背景

随着互联网的快速发展,校园论坛成为大学生们交流、分享和获取信息的重要平台。然而,目前市面上的校园论坛系统存在一些问题,如功能不完善、用户体验差、安全性低等。基于此,我们决定设计和实现一个基于PHP技术的校园论坛系统,以解决这些问题。

该系统的设计与实现旨在提供一个全面、稳定、安全的校园论坛平台,使学生们能够方便地进行讨论、发布帖子、交流经验和获取资源。通过系统,用户可以注册账号、创建个人资料、浏览主题版块、发表帖子、回复评论等。同时,系统还将考虑数据加密、用户权限管理和安全防护等方面,保障用户信息和论坛内容的安全性。

该项目的研究意义在于提供一个高质量的校园论坛平台,促进学生之间的交流与合作,拓宽知识视野,增强学习和社交能力。同时,通过设计和实现基于PHP技术的校园论坛系统,可以积累PHP开发经验,并探索在论坛系统中的应用场景和技术挑战。这对于提高PHP开发水平和推动校园论坛系统的发展具有积极意义。

综上所述,基于PHP技术的校园论坛设计与实现的研究背景在于解决传统校园论坛系统存在的问题,提供全面、稳定、安全的交流平台。该项目旨在促进学生之间的交流与合作,拓宽知识视野,并对PHP技术的应用和校园论坛系统的发展做出贡献。

    1. 研究现状

在基于PHP技术的校园论坛设计与实现的领域,已经有一些相关研究和实践取得了一定的成果。

国内外的许多高校和开发团队都致力于校园论坛系统的设计与实现。他们利用PHP语言及其相关框架,如CodeIgniter、Laravel等,构建了功能丰富、用户友好的校园论坛平台。这些系统提供了用户注册与登录、帖子发布与回复、个人信息管理等基本功能,并结合社交化特点,如关注用户、私信等,增强了用户之间的互动性。

此外,在技术方面,PHP技术在校园论坛系统的设计与实现中发挥着重要作用。PHP作为一种广泛应用的服务器端脚本语言,具备较高的灵活性和扩展性。同时,PHP拥有丰富的开源组件和库,如MySQL数据库、Smarty模板引擎等,为校园论坛系统的开发提供了便利。

然而,目前在基于PHP技术的校园论坛设计与实现方面仍存在一些挑战和改进空间。例如,安全性问题仍需加强,如用户身份验证、数据加密等;系统的性能和扩展性需要更好地优化,以应对用户量的增加和功能的扩展。此外,还可以考虑引入机器学习算法和自然语言处理技术,提升帖子推荐和内容筛选的准确性和个性化。

综上所述,基于PHP技术的校园论坛设计与实现已经得到一定的关注和研究。然而,仍有进一步改进和创新的空间。本项目将在此基础上深入探索,提出更加高效、安全和智能的设计与实现方案,为校园论坛系统的发展和应用提供更好的支持。

    1. 本文的组织结构

六个章节共同组成了本文研究及设计内容,包括:

第一章:绪论。本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。

第二章:相关技术介绍。主要介绍PHP框架、PHP嵌入式脚本语言、B/S模式等。

第三章:系统分析。包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第四章:系统设计。本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。

第五章:系统实现。将本系统分为前提的开发工具介绍和后期的功能代码实现。

第六章:系统测试。系统完成后,根据各个模块的测试用例才对各个模块进行功能测试。

  1. 系统分析
    1. 可行性分析
      1. 法律可行性分析

开发软件有没有触犯法律,这涉及到软件或者系统能不能发布的问题。如果触犯了法律,就必将会受到法律的制裁。常见法律问题就是软件抄袭问题,若是抄袭别人软件,将会受到严厉惩罚。

      1. 技术可行性分析

软件产业经过多年的发展,现在已经达到了很大的规模,从事软件开发的专业人员不计其数,软件产业的重要性已经上升到了影响和推动国民经济发展的核心地位。本系统基于的架构,目前技术已经非常的成熟,是不存在技术上面难以实现的麻烦。

      1. 经济可行性分析

开发软件所需的时间、人力和物力成本,开发完成后的收益如何,从投资回报的角度软件所需功能在现有经济条件能不能实现等进行深入的考虑,都符合实际的要求。所以校园论坛设计具有经济可行性和实用性,可以节约管理成本。

    1. 功能需求分析

校园论坛设计主要是促进学生之间的交流与合作,拓宽知识视野。本系统按照功能分为管理员和学生用户。以下是从这两种用户的角度分别介绍本系统所要实现的功能。

学生用户:

(1)注册登录:学生用户通过注册登录系统,可通过点击头像中我的账户,对个人信息进行增删改查。比如个人资料、头像和密码修改。

(2)校园公告:用户点击可查看网站公告、关于我们、联系方式和网站介绍。

(3)校园咨讯:学生用户点击可通过局部搜索进行查看校园资讯,同时可对咨讯文章进行点赞、收藏和评论。

(4)留言反馈:用户点击进入可进行留言帆布操作。

(5)校园论坛:学生用户点击可通过搜索论坛版块和帖子标签进行查看论坛咨讯;同时可对帖子内容进行点赞、收藏、评论和举报操作。

(6)活动竞赛:用户点击可通过搜索投票标签进行查看活动竞赛内容,同时可对活动竞赛进行评论和投票操作。

(7)个人中心:学生用户点击头像可查看"个人中心",包括校园论坛、举报信息、学生报名、学生投票和收藏。

管理员:

(1)登录:管理员的账号是在数据列表中直接设置生成的,不需要进行注册,可直接输入账号密码登录,同时可对管理员资料进行增删改查。

(2)公共管理:管理员点击可查看轮播图、校园公告、留言板和敏感词。如需添加新的轮播图,点击右侧"添加"按钮,上传图片,输入标题,点击"确认"按钮进行添加;如需添加新的校园公告,点击右侧"添加"按钮,输入标题和正文,点击"确认"按钮进行添加。同时可对留言消息进行回复操作,对敏感词进行增删改查。

(3)用户管理:管理员点击可对管理员和学生用户进行管理。

(4)咨讯管理:管理员点击可查看校园咨讯和咨讯分类,。如需添加新的校园咨讯,点击"添加"按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击"提交"按钮进行添加。同时可对咨讯进行增删改查。

(5)权限管理:管理员点击可查看权限列表,同时可对用户权限进行过增删改查。

(6)论坛版块:管理员点击可查看论坛版块列表,同时可对论坛版块进行增删改查。

(7)校园论坛:管理员点击查看校园论坛列表,同时可对论坛帖子进行审核回复操作。

(8)举报信息:管理员点击可查看举报信息列表,同时可对举报信息进行审核回复操作。

(9)学生报名:管理员点击可查看学生报名列表。

(10)投票调查:管理员点击可查看投票调查列表,如需添加新的投票,点击右侧"添加"按钮,输入投票标题、投票编号,上传图片,输入投票内容、计时器标题,选择日期范围,点击"确认"按钮进行添加。

(11)学生投票:管理员点击可查看学生投票列表。

(12)活动竞赛:管理员点击可查看活动竞赛列表,如需添加新的活动竞赛,点击右侧"添加"按钮,输入活动名称、活动编号、选择活动日期,输入活动地区、详细地址,上传图片,输入活动详情,点击"提交"按钮进行添加。

(13)退出:管理员点击可退出系统。

非功能需求分析

系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。

    1. 用例分析

学生用户的用例如下图所示:

图2-1 学生用户用例图

管理员的用例如下图所示:

图2-4 管理员用例图

  1. 系统设计
    1. 系统架构设计

本系统架构设计主要分为可以3层,主要有Web层,业务层,Model层。其中web层还包括View层和Controller层,Model层包括元数据扩展层和数据访问层。

图3-1系统架构图

    1. 系统功能结构

为了将系统从"做什么"落实到"怎么做",基于系统设计原则,对系统功能进行更适合编码实现的功能划分。根据上图的系统架构设计,整理出规范的系统功能结构图,为系统的实现编码做好准备。

如下图所示为系统功能结构图。

图3-2系统功能结构图

    1. 功能模块设计

用户管理针对所有用户和管理员。未注册用户点击注册,进入注册页面填写新用户信息,得到自定义生成账号后,注册完成。未注册用户注册的活动图如下图所示。

图3-3未注册用户注册活动图

用户可进行登录使用更多功能,首先进入用户登录界面,输入用户账号和密码,后台对账号和密码信息进行核对验证,验证成功则页面直接显示登录用户昵称代表登录成功,否则返回用户登录界面。用户登录活动图如下图。

图3-4用户登录活动图

    1. 数据库设计

校园论坛设计采用的数据库是MySQL,该部分将根据系统需求和设计,设计合理的数据库。本系统考虑到之后系统的扩展集群,数据库将不使用外键。此外,不用外键时数据管理也较为简单,操作更加方便,性能更高。

      1. E-R图

E-R图,更加直观的告诉开发人员系统的各个数据的属性,各个数据之间的联系,各个数据的类型。能通过该模型更直观地了解数据库的设计,并根据对其逐渐改善。

本系统图设计,下面是关于本系统主要数据的ER图。

图3-5 投票调查添加E-R图

图3-6 活动竞赛添加E-R图

图3-7 校园资讯添加E-R图

      1. 表结构设计

本系统根据第三范式的思想设计数据库,减少最大程度的冗余,总共建立有多个表,用户注册表、管理员表、饲养视频表、宠物领养表、宠物认领表、宠物信息表等。

表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 | 用户编号: |

表activity_competition (活动竞赛)

|----|-------------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | activity_competition_id | int | 10 | 0 | N | Y | | 活动竞赛ID |
| 2 | activity_name | varchar | 64 | 0 | Y | N | | 活动名称 |
| 3 | activity_number | varchar | 64 | 0 | Y | N | | 活动编号 |
| 4 | event_date | date | 10 | 0 | Y | N | | 活动日期 |
| 5 | fields_of_operation | varchar | 64 | 0 | Y | N | | 活动地区 |
| 6 | detailed_address | varchar | 64 | 0 | Y | N | | 详细地址 |
| 7 | event_cover | varchar | 255 | 0 | Y | N | | 活动封面 |
| 8 | event_details | text | 65535 | 0 | Y | N | | 活动详情 |
| 9 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 10 | praise_len | 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 | 更新时间 |

表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 | 更新时间: |

表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 | 更新时间: |

表campus_forums (校园论坛)

|----|------------------|-----------|------------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | campus_forums_id | int | 10 | 0 | N | Y | | 校园论坛ID |
| 2 | forum_section | varchar | 64 | 0 | Y | N | | 论坛版块 |
| 3 | post_title | varchar | 64 | 0 | Y | N | | 帖子标题 |
| 4 | publish_users | int | 10 | 0 | Y | N | 0 | 发布用户 |
| 5 | cover_photo | varchar | 255 | 0 | Y | N | | 封面图片 |
| 6 | post_description | varchar | 64 | 0 | Y | N | | 帖子描述 |
| 7 | main_content | longtext | 2147483647 | 0 | Y | N | | 正文内容 |
| 8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
| 10 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 12 | 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: |

表forum_section (论坛版块)

|----|------------------|-----------|----|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | forum_section_id | int | 10 | 0 | N | Y | | 论坛版块ID |
| 2 | forum_section | varchar | 64 | 0 | Y | N | | 论坛版块 |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | 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: |

表message (留言板)

|----|-------------|-----------|------------|-----|------|----|-------------------|---------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | message_id | int | 10 | 0 | N | Y | | 留言板ID: |
| 2 | user_id | int | 10 | 0 | N | N | 0 | 用户ID: |
| 3 | title | varchar | 64 | 0 | Y | N | | 标题: |
| 4 | content | longtext | 2147483647 | 0 | N | N | | 内容: |
| 5 | nickname | varchar | 32 | 0 | N | N | | 昵称: |
| 6 | avatar | varchar | 255 | 0 | Y | N | | 头像: |
| 7 | email | varchar | 125 | 0 | Y | N | | 留言者邮箱 |
| 8 | phone | varchar | 11 | 0 | Y | N | | 留言者手机号码 |
| 9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
| 11 | reply | longtext | 2147483647 | 0 | Y | N | | 回复 |
| 12 | reply_state | tinyint | 4 | 0 | Y | N | 0 | 回复状态 |

表notice (公告)

|----|-------------|-----------|------------|-----|------|----|-------------------|-------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | notice_id | mediumint | 8 | 0 | N | Y | | 公告id: |
| 2 | title | varchar | 125 | 0 | N | N | | 标题: |
| 3 | content | longtext | 2147483647 | 0 | Y | N | | 正文: |
| 4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 5 | 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已取消 |

表reporting_information (举报信息)

|----|--------------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | reporting_information_id | int | 10 | 0 | N | Y | | 举报信息ID |
| 2 | forum_section | varchar | 64 | 0 | Y | N | | 论坛版块 |
| 3 | post_title | varchar | 64 | 0 | Y | N | | 帖子标题 |
| 4 | post_description | varchar | 64 | 0 | Y | N | | 帖子描述 |
| 5 | report_users | int | 10 | 0 | Y | N | 0 | 举报用户 |
| 6 | reporting_information | text | 65535 | 0 | Y | N | | 举报信息 |
| 7 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
| 8 | examine_reply | varchar | 16 | 0 | Y | N | | 审核回复 |
| 9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |

表sensitive_vocabulary (敏感词汇)

|----|-------------------------|-----------|----|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | sensitive_vocabulary_id | int | 10 | 0 | N | Y | | 敏感词汇ID |
| 2 | sensitive_vocabulary | varchar | 64 | 0 | Y | N | | 敏感词汇 |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | 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_registration (学生报名)

|----|-------------------------|-----------|----|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | student_registration_id | int | 10 | 0 | N | Y | | 学生报名ID |
| 2 | activity_name | varchar | 64 | 0 | Y | N | | 活动名称 |
| 3 | event_date | date | 10 | 0 | Y | N | | 活动日期 |
| 4 | fields_of_operation | varchar | 64 | 0 | Y | N | | 活动地区 |
| 5 | detailed_address | varchar | 64 | 0 | Y | N | | 详细地址 |
| 6 | registered_students | int | 10 | 0 | Y | N | 0 | 报名学生 |
| 7 | student_name | varchar | 64 | 0 | Y | N | | 学生姓名 |
| 8 | number_of_applicants | int | 10 | 0 | Y | N | 0 | 报名人数 |
| 9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |

表student_users (学生用户)

|----|------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | student_users_id | int | 10 | 0 | N | Y | | 学生用户ID |
| 2 | student_name | varchar | 64 | 0 | Y | N | | 学生姓名 |
| 3 | student_gender | varchar | 64 | 0 | Y | N | | 学生性别 |
| 4 | personal_profile | text | 65535 | 0 | Y | N | | 个人简介 |
| 5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
| 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 | 更新时间 |

表student_voting (学生投票)

|----|-------------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | student_voting_id | int | 10 | 0 | N | Y | | 学生投票ID |
| 2 | voting_title | varchar | 64 | 0 | Y | N | | 投票标题 |
| 3 | voting_number | varchar | 64 | 0 | Y | N | | 投票编号 |
| 4 | voting_content | text | 65535 | 0 | Y | N | | 投票内容 |
| 5 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
| 6 | student_name | varchar | 64 | 0 | Y | N | | 学生姓名 |
| 7 | voting_opinions | varchar | 64 | 0 | Y | N | | 投票意见 |
| 8 | viewpoints_and_opinions | text | 65535 | 0 | Y | N | | 观点意见 |
| 9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 10 | 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 | email | 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 | open_id | varchar | 255 | 0 | Y | N | | 针对获取用户信息字段 |
| 14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
| 15 | vip_level | varchar | 255 | 0 | Y | N | | 会员等级 |
| 16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |

表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_survey (投票调查)

|----|-------------------|-----------|-------|-----|------|----|-------------------|--------|
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
| 1 | voting_survey_id | int | 10 | 0 | N | Y | | 投票调查ID |
| 2 | voting_title | varchar | 64 | 0 | Y | N | | 投票标题 |
| 3 | voting_number | varchar | 64 | 0 | Y | N | | 投票编号 |
| 4 | voting_cover | varchar | 255 | 0 | Y | N | | 投票封面 |
| 5 | voting_content | text | 65535 | 0 | Y | N | | 投票内容 |
| 6 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
| 7 | timer_title | varchar | 64 | 0 | Y | N | | 计时器标题 |
| 8 | timing_start_time | datetime | 19 | 0 | Y | N | | 计时开始时间 |
| 9 | timing_end_time | datetime | 19 | 0 | Y | N | | 计时结束时间 |
| 10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |

  1. 系统实现
    1. 开发工具

系统中应用的开发工具总结如下表所示。

表5-1开发工具

|----------------------------------------------|-----------------------------------------------|-----------------|
| 名称 | 工具 | 版本 |
| 操作系统 IDE(Integrated Development Environment) | Windows PHPStorm | 7/8/10 最新版本 |
| 服务器 | Apache | 最新版本 |
| 前端技术 | JavaScript、VUE.js(2.X)、css3 | - |
| 数据库 浏览器 界面工具 | MySQL Google Chrome Photoshop Adobe Photoshop | 5.6以上 最新版本 最新版本 |

    1. 注册模块

未注册用户在用户注册界面uerRegister.jsp,输入新用户信息,点击注册后,新用户信息由界面传入控制层userAction,调用addUser(user)方法,通过userDAOImp向数据库用户表插入用户信息,由于用户账号是自动生成的,若成功则反馈注册成功,并提示新用户的用户账号;若失败则回到登录界面,并显示登录失败。

注册界面如下所示。

图4-1注册界面

用户注册关键代码如下所示。

public function register()

{

if (Request::isPost()) {

$request = Request::param();

request\['create_time'\] = isset(request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');

request\['update_time'\] = isset(request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

$result = this-\>validate(request, $this->validate);

if (true !== $result) {

// 验证失败 输出错误信息

$data['error'] = 30000;

$data['message'] = $result;

} else {

request\['password'\] = md5(request['password']);

$result = this-\>model-\>register(request, $this->table);

$data = $result;

}

} else {

$data['error'] = 30000;

$data['message'] = "field的值不能为空!";

}

return json_encode($data);

}

public function register(request=\[\],table_name = ''){

$username = $request['username'];

$bol = this-\>where(\['username'=\>username])->find();

if (!$bol){

result = self::allowField(true)-\>save(request);

if ($result) {

return ['result' => 1];

} else {

return ['error' => ['code' => 3000, 'message' => '注册失败']];

}

}else{

return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];

}

}

    1. 登录/注销模块

用户在首页点击登录,进入用户登录界面userLogin.php,输入用户账号和密码,点击登录,用户账号和密码信息由界面传入控制层userAction.php,调用userLogin($user)方法,通过userDAOImp.php向数据库用户表搜索该用户账号与密码,将最终结果反馈到前端。若成功则回到首页;用户成功登录,若失败则回到登录界面,并显示登录失败。

用户点击注销,清空浏览器session值,然后返回登录页或者首页。

登录界面如下所示。

图4-2登录界面

登录界面关键代码如下所示。

public function login()

{

if (Request::isPost()) {

$request = Request::param();

$result = this-\>validate(request, $this->validate);

if (true !== $result) {

// 验证失败 输出错误信息

$data['error'] = 30000;

$data['message'] = $result;

} else {

request\['password'\] = md5(request['password']);

$result = this-\>model-\>login(request, $this->table);

$data = $result;

}

} else {

$data['error'] = 30000;

$data['message'] = "field的值不能为空!";

}

return json_encode($data);

}

public function login(request=\[\],table_name = ''){

$username = $request['username'];

$password = $request['password'];

$bol = this-\>where(\['username'=\>username])->find();

if ($bol){

password = md5(password);

if (request\['password'\]==bol['password']) {

//添加token信息

$access_token['create_time'] = date('Y-m-d H:i:s');

$access_token['update_time'] = date('Y-m-d H:i:s');

access_token\['info'\] = json_encode(bol);

// $access_token['info'] = $bol;

$access_token['token'] = md5(date('Y-m-d H:i:s'));

bol_token = Db::name('AccessToken')-\>insert(access_token);

if ($bol_token){

$data['obj'] = $bol;

$data['obj']['token'] = $access_token['token'];

return ['result' => $data];

}else{

return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];

}

} else {

return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];

}

}else{

return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];

}

}

    1. 学生用户模块
      1. 校园咨讯模块

校园咨讯:学生用户点击可通过局部搜索进行查看校园资讯,同时可对咨讯文章进行点赞、收藏和评论。如下图所示。

图4-3 校园咨讯界面

4.4.2留言反馈模块

留言反馈:用户点击进入可进行留言发布操作。如下图所示:

图4-4 留言反馈界面

4.4.3校园论坛模块

校园论坛:学生用户点击可通过搜索论坛版块和帖子标签进行查看论坛咨讯;同时可对帖子内容进行点赞、收藏、评论和举报操作。界面如下所示。

图4-5 校园论坛界面

4.4.4活动竞赛模块

活动竞赛:用户点击可通过搜索投票标签进行查看活动竞赛内容,同时可对活动竞赛进行评论和投票操作。界面图如下。

图4-6 活动竞赛界面

4.4.4个人中心模块

个人中心:学生用户点击头像可查看"个人中心",包括校园论坛、举报信息、学生报名、学生投票和收藏。界面图如下。

图4-7 个人中心界面

    1. 管理员模块
      1. 公共管理

公共管理:管理员点击可查看轮播图、校园公告、留言板和敏感词。如需添加新的轮播图,点击右侧"添加"按钮,上传图片,输入标题,点击"确认"按钮进行添加;如需添加新的校园公告,点击右侧"添加"按钮,输入标题和正文,点击"确认"按钮进行添加。同时可对留言消息进行回复操作,对敏感词进行增删改查。界面图如下。

图4-8公共管理界面

      1. 咨讯管理

咨讯管理:管理员点击可查看校园咨讯和咨讯分类,。如需添加新的校园咨讯,点击"添加"按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击"提交"按钮进行添加。同时可对咨讯进行增删改查。 界面图如下。

图4-9咨讯管理界面

      1. 论坛版块

论坛版块:管理员点击可查看论坛版块列表,同时可对论坛版块进行增删改查。界面图如下。

图4-10 论坛版块界面

      1. 校园论坛

校园论坛:管理员点击查看校园论坛列表,同时可对论坛帖子进行审核回复操作。界面图如下。

图4-11 校园论坛界面

      1. 活动竞赛

活动竞赛:管理员点击可查看活动竞赛列表,如需添加新的活动竞赛,点击右侧"添加"按钮,输入活动名称、活动编号、选择活动日期,输入活动地区、详细地址,上传图片,输入活动详情,点击"提交"按钮进行添加。界面图如下。

图4-12 活动竞赛界面

      1. 考投票调查

投票调查:管理员点击可查看投票调查列表,如需添加新的投票,点击右侧"添加"按钮,输入投票标题、投票编号,上传图片,输入投票内容、计时器标题,选择日期范围,点击"确认"按钮进行添加。界面图如下。

图4-13 投票调查界面

  1. 系统测试
    1. 测试概述

软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。

    1. 测试过程
      1. 登录测试

登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。

登录测试用例表如下所示。

表6-1登录测试

|--------|------------------------|----------|----------------|
| 用例编号 | YL001 | 程序版本 | 1.00 |
| 功能名称 | 使用者登录测试 | 编制人 | 李铁蛋 |
| 功能描述 | 根据用户的登录情况测试 |||
| 用例目的 | 测试用户登录情况是否正确 |||
| 测试项 | 测试数据 | 测试结果 | 预期结果 |
| 用户名 | 为空 | 请输入用户名 | 请输入用户名 |
| 密码 | 为空 | 请输入密码 | 请输入密码 |
| 用户密码组合 | 用户名:klouse 密码 klouses | 用户与密码不匹配 | 用户与密码不匹配 |
| 用户密码组合 | 用户名 : klouse 密码 klouse | 进入系统 | 正确的用户名和密码 登录系统 |

      1. 信息录入测试

管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示

信息录入发布测试用例表如下所示。

表6-1信息录入发布测试

|------|--------|-------------|-------------|
| 用例编号 | YL002 | 程序版本 | 1.00 |
| 功能名称 | 信息发布测试 | 编制人 | 李铁蛋 |
| 功能描述 | 对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求 |||
| 用例目的 | 对系统使用者录入发布信息进行原型测试。 |||
| 测试项 | 测试数据 | 测试结果 | 预期结果 |
| 属性1 | 为空 | 请输入属性1对应的数据 | 请输入属性1对应的数据 |
| 属性2 | 为空 | 请输入属性2对应的数据 | 请输入属性2对应的数据 |
| 属性3 | 为空 | 请输入属性3对应的数据 | 请输入属性3对应的数据 |
| 全部输入 | 数据均填入 | 录入发布成功 | 录入发布成功 |

      1. 信息更新测试

管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示

信息更新测试用例表如下所示。

表6-1信息更新测试

|------|-------------|--------|--------|
| 用例编号 | YL003 | 程序版本 | 1.00 |
| 功能名称 | 信息更新测试 | 编制人 | 李铁蛋 |
| 功能描述 | 对使用者更新信息进行测试,判断其功能是否达到预期的要求 |||
| 用例目的 | 对系统使用者更新信息进行原型测试。 |||
| 测试项 | 测试数据 | 测试结果 | 预期结果 |
| 属性1 | 编号:321 | 编号更新成功 | 编号更新成功 |
| 属性2 | 名称:名称1 | 名称更新成功 | 名称更新成功 |
| 属性3 | 内容:内容1234内容 | 内容更新成功 | 内容更新成功 |
| 全部输入 | 数据均未更改 | 更新成功 | 更新成功 |

      1. 信息删除测试

管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。

信息删除测试用例表如下所示。

表6-1信息删除测试

|------|--------------|---------|---------|
| 用例编号 | YL004 | 程序版本 | 1.00 |
| 功能名称 | 信息删除测试 | 编制人 | 李铁蛋 |
| 功能描述 | 对使用者删除信息进行测试,判断其功能是否达到预期的要求 |||
| 用例目的 | 对系统使用者删除信息进行原型测试。 |||
| 测试项 | 测试数据 | 测试结果 | 预期结果 |
| 数据1 | 无任何关联的数据1 | 数据删除成功 | 数据删除成功 |
| 数据2 | 和其他数据有关联的数据2 | 请确认是否删除 | 请确认是否删除 |

    1. 测试结果

在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 PHP 开发的期望。

  1. 总结与展望
    1. 总结

校园论坛设计采用PHP框架开发,该系统非常完美的集优点于一身,成熟、强大、易理解易使用,通过使用这个结构,降低了开发的难度。本系统实现了基于PHP的校园论坛设计,将数据操作维护的过程转化成电脑操作流程,化工作流程,提高工作效率和盈利。

    1. 展望

目前完成的校园论坛设计,还有许多有待改进的地方。一个是功能上的改进,用户理应可以修改自己的相关信息,故应增设个人中心功能;另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如数据当前分析和未来预测等。第二个是技术上的改进,由于对开发框架不太熟悉,权限管理这部分,本系统采用一个PHP页面来规定好导航栏,即跳转的页面,这相对比较不灵活,如果将URL路径记录到数据库并实现增删查改会比较好;另外就是对EasyUI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。

参考文献

[1]张豪,朱石磊,胡建华等.基于B/S架构的校园论坛系统的设计与实现[J].电脑知识与技术,2023,19(33):32-35.DOI:10.14004/j.cnki.ckt.2023.1779.

[2]孙有为,赵玲玲,聂晶.基于物联网的智慧校园设计与研究[J].科技资讯,2023,21(10):244-247+252.DOI:10.16661/j.cnki.1672-3791.2209-5042-2076.

[3]韩孟洁.基于面向对象方法的智慧校园论坛系统分析与设计[J].中国高新科技,2023(09):138-140.DOI:10.13535/j.cnki.10-1507/n.2023.09.45.

[4]王娜,欧阳鹏,黄文章等.新型校园信息服务平台研究与设计[J].电脑编程技巧与维护,2023(03):106-108.DOI:10.16184/j.cnki.comprg.2023.03.015.

[5]冯建利,高林宏,韩浩文等.基于微信小程序的校园信息共享公益平台设计与实现[J].电脑编程技巧与维护,2023(02):57-59+90.DOI:10.16184/j.cnki.comprg.2023.02.041.

[6]任淇之. 基于Android平台的哈师大校园通APP设计与开发[D].哈尔滨师范大学,2022.DOI:10.27064/d.cnki.ghasu.2022.000832.

[7]范雨萱,李玉梅,杨英杰等.智慧校园信息交互平台"天外贴普士"的开发与建设[J].新媒体研究,2022,8(05):24-28.DOI:10.16604/j.cnki.issn2096-0360.2022.05.023.

[8]费孝宏,王琪.高校论坛管理系统的设计与开发[J].电脑知识与技术,2021,17(31):76-78+91.DOI:10.14004/j.cnki.ckt.2021.3110.

[9]魏智文,李双梅.大学生信息交流平台系统的设计与实现[J].江苏科技信息,2021,38(22):50-52.

[10]付吉菊.校园信息交流平台的设计与实现[J].吉林工程技术师范学院学报,2021,37(05):95-98.

[11]徐健.基于宝塔面板(BT Panel)+Discuz!搭建校园论坛[J].信息技术与信息化,2021(02):56-57.

[12]申晓杰,赵晓龙,马文杰等.基于Linux的智慧校园论坛的研究与开发[J].技术与市场,2021,28(02):81-83.

[13]余丽娜.基于Android的校园APP的设计与实现------以"校园学生信息服务助手"APP为例[J].现代信息科技,2021,5(01):99-101.DOI:10.19850/j.cnki.2096-4706.2021.01.026.

[14]丁青,齐淑慧.基于信息平台的校园足球教学研究[J].科教文汇(中旬刊),2020(29):120-121+131.DOI:10.16871/j.cnki.kjwhb.2020.10.051.

[15]黄金德,张海涛,梁婷等.桂林大学生掌上校园APP[J].科技创新与应用,2020(26):33-34+36.

[16]李浩冉,拉巴顿珠.校园信息交流平台的设计与实现[J].西藏科技,2020(05):73-75+80.

[17]李增福.大数据背景下校园信息资源共享交换平台建设研究[J].科技创新导报,2020,17(04):143-144.DOI:10.16660/j.cnki.1674-098X.2020.04.143.

[18]李鹏飞. 基于Web技术的校园论坛设计与实现[D].内蒙古科技大学,2020.DOI:10.27724/d.cnki.gnmgk.2019.000570.

[19]常香玉,王丽红,黄俊平.基于Hadoop校园信息交流和资源共享平台的建设研究[J].电脑知识与技术,2019,15(29):233-234+237.DOI:10.14004/j.cnki.ckt.2019.3499.

[20]赵懿谦,徐其波,程细柱等.基于web服务器集群的师生互动社区的设计与实现[J].电脑知识与技术,2019,15(16):65-69.DOI:10.14004/j.cnki.ckt.2019.2079.

[21]黄诗晴,严冬松,蓝海凤等.校园信息平台的创新探讨[J].科技风,2019(13):84.DOI:10.19392/j.cnki.1671-7341.201913069.

致谢

在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。

我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

相关推荐
十一月十一」18 分钟前
WebDriver API
java·selenium
前端组件开发21 分钟前
基于uni-app与图鸟UI的移动应用模板构建研究
java·开发语言·前端·ui·小程序·前端框架·uni-app
weixin_8368695201 小时前
Java中的机器学习模型集成与训练
java·开发语言·机器学习
VX_DZbishe1 小时前
springboot旅游管理系统-计算机毕业设计源码16021
java·spring boot·python·servlet·django·flask·php
青春之我_XP1 小时前
【知识图谱系列】Neo4j使用Py2neo与python进行链接
python·知识图谱·neo4j
IT数据小能手1 小时前
Python中爬虫编程的常见问题及解决方案
开发语言·爬虫·python
橙子味冰可乐1 小时前
isprintable()方法——判断字符是否为可打印字符
java·前端·javascript·数据库·python
yunpeng.zhou1 小时前
logging 模块简单使用记录
java·前端·数据库
Hi202402171 小时前
将数据切分成N份,采用NCCL异步通信,让all_gather+matmul尽量Overlap
pytorch·python·性能优化·分布式训练·nccl·融合算子
嗨!陌生人2 小时前
SpringSecurity中文文档(Servlet Session Management)
java·hadoop·spring boot·后端·spring cloud·servlet