程序猿论坛设计与实现

2021-04-13 19:14刘发稳高宇陈云川宋浩
电脑知识与技术 2021年5期

刘发稳 高宇 陈云川 宋浩

摘要:为方便计算机爱好者交流经验分享信息,采用B/S架构,在HTML+DIV+CSS技术的基础上,以Apache作为开发的服务器,MySQL为数据库服务器,Adobe Dreamweaver为集成开发工具,用PHP语言快速开发出一个界面友好,功能齐全的论坛,从而为计算机爱好者提供一个可靠的交流平台。最后该论坛选用集成了Apache、PHP、MySQL、phpMyAdmin的AppServ作为测试及发布工具,经测试该论坛的游客、普通会员和管理员之间的用户权限清晰明确,程序猿论坛运行安全、快速。

关键词:论坛;PHP语言;AppServ

Abstract: In order to facilitate the exchange of experience of computer enthusiasts, sharing information, using B/S structure, basic HTML DIV + + CSS technology, developed as a server with Apache, MySQL database server, Adobe Dreamweaver as a development tool, with PHP language quickly developed a user-friendly, full-featured forum, so as to provide a reliable communication platform for computer enthusiasts. The forum selected integrates Apache, PHP, MySQL, phpMyAdmin's AppServ as testing and publishing tools, the user rights among visitors, ordinary members and administrators of Ape Coder are clear, and runs safely and quickly through testing.

Key words: forum; PHP language; AppServ

1 背景

电子公告牌系统(Bulletin Board System,英文缩写BBS)起源于20世纪80年代,经过几十年的发展,电子公告牌系统具有包含信息容量广泛、信息更新及时、便于交互等优点。虽然进入21世纪后,随着博客、微博、微信等自媒体的蓬勃发展,时下人们有了更多的在互联网上表现自我,娱乐,获取信息的选择,但电子公告牌系统所具有的在一段时间内对一些话题的集中讨论等优点,依然无法被取代。随着新开发技术的引进,表现出来强大的生命力[1]。

2 论坛需求分析

2.1 用户需求

目前互联网上有很多IT类交流平台,如CSDN、cnbeta、IT牛人网、PHP100等,开发本论坛为计算机爱好者提供更多的选择。本论坛采用B/S模型,用户可以方便地进行发帖子、回帖以及登录注册用户等方面的操作,同时为论坛管理员提供友好简介友好界面对本论坛进行增加、删除、修改和查詢论坛数据等操作。本论坛的目标是为方便计算机爱好者交流经验,分享信息,提供一个功能全面的交流平台,提供友好界面对本论坛进行管理。为了实现以上目标,同时兼顾系统的安全性和实用性,本论坛划分为3个角色:游客,普通会员和管理员。游客的包括如下功能:可以浏览帖子,不可以发布帖子,不可以回复帖子。游客只有在注册成为程序猿论坛普通会员后,才可以执行普通会员功能。普通会员包括如下功能:用户登录,发布帖子,查看帖子,回复帖子和修改个人资料。管理员包括如下功能:用户管理,信息发布管理,板块管理,帖子管理,回帖管理和其他所有功能。

2.2 数据流图分析

1)程序猿论坛顶层数据流图如图1所示。

2)程序猿论坛0层数据流图如图2所示。

由于管理员所能执行的功能包含普通会员所能执行的功能,普通会员所能执行的功能,又包含游客所能执行的功能,为使在程序猿论坛0层数据流图尽量清晰,管理员所能执行的普通会员和游客所能执行功能的部分,不再将管理员实体画出,同理普通会员所能执行的游客所能执行功能的部分,不再将普通会员实体画出。

3 程序猿论坛设计

3.1 论坛体系结构

本论坛采用的设计策略是自顶向下方法,先定义论坛的基本框架设计结构和总体要实现的功能,然后逐步细化到该框架中的各个子模块及其各个子模块功能的实现,最终完成整个论坛的设计[2]。根据以上需求分析和数据流图,画出体系结构[3]。本论坛分为前台与后台如图3所示。

3.2 数据库表结构

以关系型数据库MySQL作为本论坛后台数据库。数据库主要包括以下数据表:BLOCK(板块表)、Info(信息发布表)、ONLINE(在线用户信息表)、POST(帖子表)、REPLY(回复表)等,部分表结构设计如下:

1)BLOCK(板块表):板块信息被记录在板块表里,板块表的结构如表1所示。

2)Info(信息表):信息表里主要记录论坛新闻的相关信息,信息表的结构如表2所示。

3)ONLINE(在线用户信息表):在线用户信息表主要记录登录本论坛的用户相关信息,在线用户信息表的结构如表3所示。

4)POST(帖子表):程序猿论坛帖子信息被记录在帖子表里,帖子表的结构如表4所示。

5)REPLY(回复表):回复表里主要是记录帖子的回复信息,回复表的结构如表5所示。

6)USER(用户表):用户表主要是关于用户信息的详细记录,用户表的结构如表6所示。

4 程序猿论坛实现

4.1 程序猿论坛前台功能实现

论坛前台功能作为直接面向论坛用户操作界面,是否满足功能需求至关重要[4]。本论坛前台功能界面力求在满足基本功能的前提下,尽可能提供美观大方界面设计。前台功能主要包括以下几个部分。

1)前台首页:程序猿论坛中每一个页面都采用了同一页面框架,一分栏结构被应用到该页面框架中,整个页面包括4个区域:页头、页尾、功能栏和内容显示区[5]。为契合“程序猿论坛”这一论坛名字,特将“程序猿”这一卡通形象放到了首页。本论坛前台首页的运行结果如图4所示。

2)前台论坛新闻:游客可直接进入本论坛,浏览论坛新闻并可以查看新闻主题内容具体信息,如阅读次数,发布时间,新闻主题等。新闻信息的发布,由管理员来完成。

3)前台注册中心:游客可以通过首页右上角的“注册”按钮或“注册中心”模块下注册成普通会员。注册成功后,本论坛会给会员分配一个唯一的ID,一旦生成便不可更改。该ID是识别普通会员的唯一标识,而不是昵称,昵称允许重复。

4)前台登录中心:普通会员和管理员可通过右上角的“登录”按钮,或“登录中心”模块下完成登录。完成登录后,可执行对应权限的操作。

5)前台发帖中心:普通会员与管理员经过登录后,可在“发帖中心”模块下进行发帖操作,并对所发内容进行文字、段落等简单设置,并选择所发帖子所属板块,整个过程简介流畅,界面友好。

6)前台个人中心:普通会员和管理员可在“个人中心”模块下,查看并修改个人信息,可完善注册时未添加的信息。

7)查看某版块中帖子列表:游客可以根据模块名称所反映的主题,进入模块,浏览相应主题的帖子。普通会员用户登录论坛后进入模块,浏览相应主题的帖子并回帖。

8)查看帖子和回复帖内容:当用户登录系统完成发帖操作,在对应板块帖子下可以查看帖子和回复帖内容。

4.2 程序猿论坛后台实现

后台管理部分包括用户管理、信息发布管理、版块管理、帖子管理、回帖管理五个模块。通过后台的各个功能模块,管理员实现了对本论坛全面管理。这里重点介绍用户管理、板块管理和帖子管理三个模块。程序猿论坛后台首页运行结果如图5所示。

1)用户管理:本论坛按照用户不同的权限划分为三类用户,其中用户管理功能主要是实现管理员对本论坛全部用户的管理。后台用户管理的功能主要包括查询系统用户的相关信息和删除用户,在前台注册成功的用户,在这里都有显示出来,为了论坛的秩序井井有条,对于散布不良信息或者蓄意发布无用帖子等不良行为的用户,管理员有权限执行删除用户操作。

2)板块管理:在本论坛中默认设置开源代码、移动开发、数据挖掘、云开发和物联网等内容板块。同时为了适应信息时代发展,紧跟时代潮流,管理员登录论坛后台管理系统在板块管理模块对论坛模块查看和修改。①添加版块:点击“版块管理”框内的“版块添加”,管理员在“添加版块”的框内写入要新增的版块,完成之后点击“提交”即可完成在指定版块的添加,对应数据库内新增一条信息。②编辑版块:单击“版块管理”,在右侧显示框内,点击“编辑”跳转至编辑版块,管理员在“编辑版块”内填入重新编辑好的版块名称,点击“提交”即完成编辑版块的功能操作,相应数据库内修改该版块的名称。③删除版块:想要删除现有的版块,单击“版块管理”在右侧显示框内,选定需要删除的版块,点击“删除”,弹出窗口询问“确认删除”点击“确定”即完成删除操作,相应数据库内的信息也会删除。

3)帖子管理:因为论坛面向用户层次较多,为了维护论坛生态环境,营造积极向上的交流氛围。在前台发布过的帖子,帖子管理功能都可以实现对应管理。后台帖子管理查询到相关的违规帖子后,单击“帖子管理”在右侧显示框内选定需要删除的帖子,点击“删除”即可完成删除帖子的操作。

5 系统测试

程序猿论坛完成后,对本论坛各个功能,载入测试数据进行运行调试。

5.1 装入测试数据

先利用phpMyAdmin对MySQL数据库装入大量测试数据,然后分别从程序猿论坛的前台与后台进去本论坛,观察页面显示信息。能够发现与之前装入的测试数据相符,正常显示。

5.2 测试运行及调试

运行测试分为两部分:前端功能测试和后台管理功能测试。前端功能测试从登录功能测试、注册功能测试、发帖功能测试、 回复帖子测试四个模块测试。后台管理功能测试从用户管理测试、信息发布管理测试、板块管理测试、帖子管理测试和回帖管理测试等模块测试。测试各个功能模块,并录入大量数据,在测试过程中,本论坛正常运行。运用phpMyAdmin浏览MySQL数据库中的各项记录,与之前通过论坛录入的数据对比,发现前后两者相符。

6 结束语

本论坛按照软件工程开发流程,以游客、普通会员和管理员三种用户角色进行功能划分。运用PHP语言快速开发出一个界面友好,功能齐全的程序猿论坛,为广大计算机爱好者提供一个可靠的交流平台。经过测试本论坛的用户权限清晰明确,达到了技术论坛交流协作的目的,具有应用价值。

参考文献:

[1] 马骏.PHP应用开发与实践[M].北京:人民邮电出版社,2012.

[2] 陈松乔,任胜兵,王国军.现代软件工程[M].北京:清华大学出版社,2004.

[3] 王珊,薩师煊.数据库系统概论[M].5版.北京:高等教育出版社,2014.

[4] 黄俊霞.基于.NET的高职教师学术论坛系统设计与实现[J].湖北第二师范学院学报,2017,34(2):41-47.

[5] 赵增敏.PHP+MySQL+Dreamweaver8动态网站开发从基础到实践[M].北京:电子工业出版社,2007.

【通联编辑:谢媛媛】