APP下载

学生交流论坛设计与实现

2015-11-30修志宇

雪莲 2015年21期

修志宇

【摘 要】计算机网络技术的发展,使得人们在网上的交流越来越多,这为网上论坛的发展提供了机遇。论坛即BBS,它主要的作用是给用户提供一个交流的平台。学生交流论坛的设计为广大学生提供了一个自由学习交流的平台。设计利用现有的ASP.NET技术,实现了用户注册与登录,用户信息查询与修改的功能,此外最主要的是用户可以浏览帖子,发表帖子,并对帖子进行评价与回复。论坛的动态管理,使信息能更加高效有序的应用。

【关键词】学生交流;论坛;ASP;NET;BBS

一、引言

(一)研究背景和意义

现代生活处处离不开计算机,互联网已经深入到人们的生活当中。小到手机大大计算机,数码产品在人们的生活中占据极大的分量。人们可以在使用电脑浏览新闻,观看视频,享受音乐等。互联网的出现时信息打破地域和时间的限制,在有网的地方,人们以随时随地进行资源的共享,因此互联网极大地改变了人们的生产和生活方式。

在信息化高速发展的现代,想要让学生接触到更好的更多的信息,“共享”将成为这一主题的重要途径。在信息化发展的今天实现资源的共享已经不是一件难事。如何有效合理的利用自身的资源和别人所拥有的资源将是我们所面临的重任。

大学生是使用互联网的主要人群之一,论坛则是实现信息交流的最知名的服务之一。人们可以在论坛上浏览信息,并对别人的帖子发表自己的看法,也可以分享自己的帖子,还在某个讨论区专门针对某一问题或者某一话题进行讨论,发表自己的看法或者见解。目前许多高校建立了自己的论坛,实现了小内资源的共享。如果专门针对学生这一群体,无论学校,无论地域,建立一个交流的论坛,将会在很大程度上实现资源的共享,并且还能在一定程度上培养学生的思维创造性和思维批判性。所以建立这样一个论坛具有十分重要的意义。目前市场已经有很多类似的论坛,极大地方便了学生之间的交流。

(二)国内外发展现状

中国互联网的发展趋势大部分收到西方的影响,西方国家看好论坛的时候,也就是BBS的鼎盛时期,之后也就趋于平缓的状态。虽然BBS从来都没有成为过主角,但它的存在也一直相对稳定,从未被其他的热潮替代过,成为了互联网时代不可或缺的一部分。

从UGC这个角度来说,UGC的三大要素是:过滤信息的机制,用户互动机制和传播信息,从这三个要素看,Twitter可以是过滤信息,可以是传播信息,也可以是互动,而BBS则是回帖,回帖和回帖。目前来说,Twitter是一个简单的产品,而BBS比Twitter还要简单,越简单的东西门槛就会,也就意味着越稳定。

论坛的作用主要就是发帖回帖,目前国内最大的BBS市场主要由百度贴吧、Discuz!/phpwind、猫扑/天涯构成。单从流量上来看,百度贴吧是全球最大的BBS平台,每天的访问量都会过亿,并且从诞生之日起的访问流量一直都在增长,即使别的平台的鼎盛时期,百度贴吧的流量都没有减少。天涯总体上还算稳定。微博等社会媒体的兴起对各大平台都有不同程度的影响,但总体来说只是时间上的抢占,数量上并没有对其造成多大影响,所以这些社会媒体并没有替代论坛。国内大多数商业的网站使用Discuz!或phpwind搭建自己的论坛。

论坛的主要功能是发帖,回帖,但对于不同的论坛服务,除了这些基本功能外,其他功能间的差异也会引起产品间的不同。

二、现有技术介绍

动态Web的使用需要与之相配套的动态WEB技术,所以近些年来动态WEB技术被网络开发人员应用。WEB技术主要是从使用者的角度来考虑,主要的指标是兼容性要好。目前,比较常用的技术有CGI、ASP、PHP、JSP等。下面是对这些技术的简单认识。

(一)技术方案比较

1.ASP

ASP是由Microsoft公司推出的一种网络编程技术。它没有一种专门为自己服务的编程语言,用户可以使用己有的脚本语言进行相应的ASP应用程序编写。因此,ASP实际上可以说是一种适合不同语言的编写环境。

虽然ASP默认的脚本编写语言为VBScript,但是如果用户安装了相应的脚本引擎,就可以根据自己的需要选择语言来编写相应的程序,灵活性大,这也是为何ASP流行的其中一个原因。

2. PHP

PHP是一种基于服务器端的嵌入式脚本语言,它能跨越平台,支持UNIX、Linux、Windows等多种服务器操作系统,并且程序可移植性好。但是因为目前UNIX、Linux系统是少数专业技术人员的专利,其源代码未公开,所以使得这些系统得不到广泛的应用。

3.JSP

JSP是由Sun Microsystems Inc公司倡导。JSP具有Java的优势,是一种与平台无关的开发技术。

通过分析以上几种动态Web技术,并结合设计需要与要求,我们选用ASP作为个性化页面设计的开发工具。ASP简单且功能强大,执行效率和安全系数较高,也使得他成为设计开发工具的原因之一。

(二)选取数据库平台

计算机技术的离不开数据库,所以计算机的不断发展相应的也促进数据库技术的发展。目前最广泛使用的数据库是SQL Server,它完美的集成了Windows操作系统。SQL Server因其具有强大的功能,对内容进行智能化管理,得到了很多用户的喜爱。SQL Server主要指的是对数据进行分类、组织数据、编码、存储数据、检索内容和维护数据。它作为网络编程的后台数据库存,可以通过ODBC和ADO这两种数据为访问技术,用于ASP技术或JSP技术制作的Web网页与数据之间的连接。

(三)ASP介绍

1.ASP发展简介

ASP是Active Server Pages即动态服务网页的缩写,是Microsoft为推进Web应用开发和数据库互联而推出的一项新技术。这项技术最早应用在IIS3.0中。由于Windows NT、IIS系统得到广泛的应用,正如前面所提到的,ASP使用简单且功能强大,因此得到多数用户的青睐,成为重要的动态WEB开发的技术。ASP准确地来说算不上一种开发语言,而是一套运行环境。在这种环境中,用户可以创建和运行交互式的程序。另外,ASP的应用程序非常容易开发和修改。因为所有的程序都将在服务器端执行,而不是在客户的浏览器上,所以使用ASP就不必担心客户的浏览器是否能运行编写的程序代码。当浏览器向服务器发出请求读取Web服务器上的某个.ASP文件时,Web服务器会打开ASP文件,并读取其中的信息,执行脚本命令并将结果返回浏览器。最终结果显示在客户的浏览器上,同时,这种执行结构减轻了客户端浏览器的负担,提高了交互式的速度。

2.ASP的内部特点

ASP拥有6个功能强大的内部对象,每个对象都具有各自的属性(Property)、方法(Method),数据集合(Collection)与事件(Event),这些内部对象共同作用,完成服务器的工作。合理的利用这些对象,可以是复杂而多变的系统变得简单而有条理。ASP的6个内部对象及其功能描述如表1所示。

表1 ASP的内部6大对象及功能

三、总体方案设计

(一)总体结构图

学生交流论坛系统可以分为三个主要的模块:用户管理模层、论坛帖子管理模块、系统管理层。其系统总结构图如图1所示:

图1 系统结构图

(二)功能模块

1.用户管理层

(1)用户登录管理

用户是游客和会员:会员需要输入正确的用户名和密码才能登录,当没有用户名和密码时,可以点注册进入注册页面进行注册。

权限:已注册的系统用户。

(2)用户注册管理

想对论坛进行深入了解的游客可以进行注册。

权限:所有用户。

(3)用户信息修改

用户的信息包括:用户名、密码、性别、年龄、QQ号、邮箱、头像、教育程度、手机号、所在地区。在信息错误的情况下,用户可以对用户名、密码、性别、QQ号、和邮箱等个人信息进行修改。

权限:已登录用户(包括:普通用户、版主、超级版主和超级管理员)。

(4)用户删除

对一些管理员认为对本论坛有害或者管理员认为能删除的用户,管理员可以对其进行删除操作。

权限:超级管理员。

(5)用户搜索

用户的某些信息只有管理员才能看到,在需要的时候,管理员可以对用户进行搜索,并进行相应的操作。

权限:超级管理员。

2.帖子管理模块

已经注册的用户可以在论坛主页与别人进行交流,可以发帖子,或者对别人的帖子进行回帖。发的帖子要有标题,这样方便别人搜索。发的帖子可以是文字,可以是图片,也可以是链接。帖子要有发帖人,发帖时间,发帖类型已经是否加密等。发帖人可以对自己所发的帖子进行查看和修改;其他人也可以进行回帖,回帖当然也包括评论人、时间、评论内容。

(1)浏览帖子:该论坛的目的就是使用户能更好地共享资源,所以在别人共享了资源后,用户可以浏览别人发的帖子。

权限:所有的用户。

(2)修改帖子:帖子的所有权归帖子的作者所有,在需要修改帖子时,只有帖子的作者才能对其进行修改,别人无法完成。

权限:帖子的作者。

(3)删除帖子:由于帖子时作者发的,所以作者有权对帖子进行删除和修改操作;另一方面,如果帖子的内容有损其他用户合法的利益,或者经管理者审核后未通过,管理员有权对帖子进行删除。

权限:管辖该板块的管理员和发帖人。

(4)审核帖子:对进入论坛的帖子,为了更好地被用使用,管理员需要对帖子进行审核,审核通过的帖子才能显示在论坛上。

权限:管辖相应板块的管理员。

3.超级板块管理

(1)建立超级板块 权限:超级管理员。

(2)删除超级板块 权限:超级管理员。

(3)任命超级版主 权限:超级管理员。

(4)撤销超级版主 权限:超级管理员。

4.普通板块的管理

(1)建立普通板块 权限:超级版主。

(2)删除普通板块 权限:超级版主。

(3)任命版主 权限:超级版主。

(4)撤销版主 权限:超级版主。

5.游客

没有进行注册的用户称为游客,游客只有浏览帖子和注册的功能,其他功能只有在成为会员或者管理员时才有。

注册模块:游客可以通过注册填写相应的信息成为会员,注册模块的属性有:用户名、密码、邮箱和QQ号。

(三)系统总体流程图

论坛系统的总流程图如图2所示。

图2 系统总流程图

(四)系统关键模块的设计和实现

由于该论坛系统采用分层模式开发,所以在开发时还要添加库文件项目。该系统主要有分为以下几层:网页层(Web)、逻辑处理层(Keming.BBS.BLL)、实体层(Keming.BBS.Model)和数据库访问层(Keming.BBS.SQLServerDAL).

1.网站前台系统概述

网站前台功能主要包括用户登录、用户注册、浏览主页上的帖子、共享帖子、回复帖子和搜索帖子等功能。系统前台的各部分以列表形式如表2所示。

表2 前台页面说明

2.系统注册和登录页面

已经注册过得用户只需要直接输入正确的用户名和密码,系统会对用户输入的内容进行相应的判断,如果用户名和密码能匹配,则完成登录操作,页面回到导航页,用户可以进行下一步操作;如果用户名和密码不匹配,则显示“用户名或者密码错误,请重新输入”。没有注册的用户可以点击首页上的“注册”导航,页面会自动导航到系统的注册页面。用户在注册页面根据提示完成相应的信息填写就能完成注册。再次输入用户名和密码就能登录。

3. 用户个人中心页面

对于已经注册的用户,登录后可以点击首页导航栏上的“个人中心”对个人的信息进行相应的填写或者修改,也可以进行发帖回帖操作,也能进行网页帖子精华的浏览,完成后点击退出完成登录操作。

4.帖子详细信息显示和回帖页面

在帖子显示页面上,主要用于对帖子信息进行详细的显示,在帖子的下面有专门用于回帖的信息栏,对回帖进行显示。主要是根据页面传送过来的帖子的ID号来显示指定的帖子信息及其回复。

四、总结

本系统采用ASP.NET平台进行系统的开发,并用C#语言来编码实现系统,SQL Server数据库平台,实现了系统最初分析和设计的所有功能。系统前台实现了用户注册、用户登录、个人信息管理、板块分类、子板块浏览、帖子浏览、帖子发布、帖子回复和帖子搜索功能;系统后台实现了管理员登录、板块的增加与删除、超级版主的管理、子板块增加与删除、对普通版主的任命、对帖子的审核删除及用户搜索和删除等功能。这些功能的实现,是管理官能更加合理有序简单方便的管理该论坛。对不同身份的让用户赋予不同的操作权限,在很大程度上保证了系统的安全。

系统通过采用分层模式进行开发,条理清晰、结构明确,方便系统的拓展。系统的灵活性因层与层之间通过接口进行访问而变得很高。当系统需要使用其他类型的数据库时,在不改变代码的基础上,重新编写数据层并实现相应的接口即可,这也是本系统特点所在。

参考文献:

[1] 黄缙华.MySQL入门很简单[M].北京:清华大学出版社,2011.

[2] Boroncxyk.T,Elizabeth Naramore,薛焱.Web开发入门经典:使用PHP6、Apache和MySQL[M].北京:清华大学出版社,2009.

[3] 郑阿奇.Asp实用教程[M].电子工业出版社,2003.9.

[4] 攀孝忠,龚元明.计算机应用基础[M].北京理工大学出版社.

[5] 李勇平,ASP.NET 2.0(C#)基础教程[M].清华大学出版社,2008:1-50,75-80.

[6] 王珊.数据库系统概论[M].北京:高等教育出版社,2008:78-82.

[7] 宾晟,周峰,孙更新.ASP.NET网络程序开发原理与实践教程[M].电子工业出版社,2007:200-255.

[8] 陈艳华,付瑞锋,单党育.ASP.NET 2.0+SQL Server网络系统开发与实例[M].人民邮电出版社,2008:90-120.