在线论坛的设计与实现
1.在线论坛的设计与实现可行性分析
1.1系统的可行性
随着网络的越来越普及,人们越来越关于这样一种交流平台――论坛。
很多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论坛的出现,论坛已经不光是一种交流平台,甚至是成为了实现自我价值的一个舞台。
正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。
在论坛里大家最熟悉的就是用户浏览论坛中已有的内容,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。
同时为了防止用户发布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。
而且用户想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作用户的信息。
论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方便整理和管理。
所以论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及怎么样让这些数据库和网页的操作联系起来。
1.2技术的可行性
本系统主要采取ASP为开发技术,并使用了一些VBScript语言来实现论坛基本功能。
为了简化架设的实现,采取Microsoft公司的Access作为数据库平台,这样在单机上架设一个简单的论坛几乎不需要安装任何程序。
本系统设计的流程是从系统的需求分析开始,确定系统的流程与设计,到模块的划分,再到数据、结构的设计,最后开始每个模块的编程与开发。
1.3人员的可行性
系统开发人员一共6人分别是计科092班:
1.4结论
通过以上的详细的可行性分析可以看出已经具备此系统的开发条件,按照需求分析和可行性分析的要求就可以完成该系统的设计。
2.在线论坛的设计与实现需求分析
要设计一个一个论坛,首先要分析论坛里需要那些内容,以及各种内容之间
的关系。
首先列出论坛常用的名词:用户、版面、公共信息、帖子、主题、积分、称号、版主、注册信息、管理员、系统参数。
对于以上名词可以精简。
主题是帖子的一个特例、积分和称号是用户的一个属性、版主是增加了权限的用户,注册信息是用户的具体属性。
所以具体的对象有:用户、版面、公共信息、帖子、管理员、系统参数。
具体的操作包括:管理员对用户、帖子、版块的管理;客人和用户的对版块、帖子的浏览;客人的注册;用户的发帖、回帖、搜索等操作。
把具体的对象和具体的操作相联系,我们可以归结出论坛基本操作的流程图,如图1-1。
图1-1 论坛基本功能流程图
图1-1中个将具体的对象和操作直观的表达了出来,为了更具体的细化对象和操作的关联,用来划分开发的模块,我们将对象与对象之间的关联可以建立出一张表,对象如表1-1。
表1-1 各对象间的关联表
表1-1中的对象是单向关联,是指左侧对象对上方对象的活动。
×表示没有关联,√表示存在单向关联。
通过以上设计,论坛需要些什么以及所需要的对象之间存在着怎么的关系就有了基本的概念。
1.3 功能设计
表1-1中用户关联的对象是自身、版面、公共信息、帖子。
分别根据用户与这些对象的联系给出一个明确的菜单,如表1-2。
表1-2 用户功能列表
版面、公共信息、帖子都没有和其他对象的关联,都属于被动的对象,是被其他对象所操作的,因此针对它们的功能主要是有其他对象产生。
版面和帖子是有一定关系的,可以看作是对帖子内容的归类,类似文件夹与文件的关系,有时候可以认为版面是帖子的一个属性。
对于管理员的功能,应该认为管理员是论坛的特殊群体,工作是设置论坛参数规则和维护论坛的正常运转。
管理员可以和所有对象产生关联,所以其功能设定也很丰富,如表1-3。
表1-3 管理员功能列表
对于管理员和用户功能关系可以细化成以下几个相关用例图。
论坛设置参数,可以把设置一组参数作为一个方法,也可以把设置一个参数作为一个方法,如图1-2。
图1-2 论坛对象的相关用例图
各个版块有浏览列表和管理两个操作,管理方法又包括了创建、修改和删除这3个子方法,如图1-3。
图1-3 版块对象的相关用例图
帖子有浏览、发帖、回帖、搜索和管理5种方法,浏览方法又可以分列表和查看2个子方法,管理方法又可分编辑、删除、置顶、转移、加精华5个子方法,如图1-4。
图1-4 帖子对象的相关用例图
用户类有注册、登陆和管理3
个方法,管理方法又分为添加、删除、设置权限3个子方法,如图1-5。
图1-5 用户对象的相关用例图
这样,表1-2和1-3就分别有了各自的归属对象。
论坛一般存在两种用户:注册用户和管理员。
用户的权限是向下覆盖的,即上级权限包含下级权限。
这样论坛的基本功能就可以从各种需求中筛选出来了,即发帖、浏览帖子、回帖。
基本功能就是构成论坛系统的必要功能,具备这些功能的Web系统即是论坛。
1.4 扩展功能设计
具备了发帖、浏览帖子、回帖的Web系统就构成论坛了,但是这样的论坛很简单,没有吸引力,用户使用起来也不会很舒服,无论是作为商业还是个人论坛都是没有竞争力的。
所以需要为其添加一些更人性化的功能使内容更丰富。
用表格形式列出可能的扩展功能,如表1-4。
表1-4 扩展功能列表
添加了以上功能,论坛就显得更具有亲和力了,而且也更具有实用性。