asp论坛设计.docx
《asp论坛设计.docx》由会员分享,可在线阅读,更多相关《asp论坛设计.docx(49页珍藏版)》请在冰豆网上搜索。
asp论坛设计
论文摘要
论坛系统BBS(BullitinBoardSystem)是互联网上一种人与人之间交互的必备工具,特别是做网站的必备,网上论坛提供一个信息交流的空间。
人们可以通过论坛一起讨论自己喜欢的话题,提出自己喜欢的话题或者是回答一些问题。
用户可以在论坛上发表对某个问题的看法阐述自己的观点,给别人讨论对某个问题的看法,在Internet的发展中论坛的作用是无法代替的。
然而开发论坛的应用程序必须了解两部分的内容,即前台开发工具和后台的数据库。
本文利用ASP.NET技术进行前台界面设计,利用SQLServer2008设计的后台数据库以及利用ADO.NET数据库访问技术实现对数据库的各种管理操作,实现BBS的各种基本功能。
主要分析了BBS的主要组成情况,包括BBS的设计目标,框架结构,数据流程和BBS的主要特点等,重点介绍了前台功能模块的详细思路和实现方法,以及对后台数据库关键技术和部分源代码的详细说明。
关键词:
BBSASP.NETADO.NETSQL
ASP.NET论坛的设计论文
王振磊
(开封大学软件技术专业)
论坛系统服务已经是互联网站一种极为常见的互动交流服务。
论坛可以向网友提供开放性的分类专题讨论区服务,可以在此发表自己的某些观感、交流某些技术、经验乃至人生的感悟和忧欢,亦可以作为网友之间的交流渠道。
通过论坛的方式,增强人与人、个人与团体、团体与团体之间的交流联系,在Internet上实习信息的传递,提高办事效率。
因此论坛建设在Internet应用上的地位显而易见,它已成为现代人沟通和获取信息的重要组成部分,从而倍受人们的重视。
一、BBS介绍
BBS起源于二十世纪80年代初,最早的BBS只提供消息投递和阅读功能,使用者通常是些计算机爱好者。
随后,系统允许会员之间分享软件、文件,进行实时网络对话、信件传输等。
为了提供更好的服务,一些站点实行收费政策,但目前Internet上还是有无数免费BBS站点。
一般BBS站点地址以域名形式出现,这些站点可通过远程登录进行连接,更多的站点采用WWW的形式供会员使用。
BBS也被称为异步会议系统、布告板,是网络上除了E-mail之外,最为普遍的在线讨论系统,它来源于早期Internet发展的BBS系统(BulletinBoardSystem),随着Internet的发展,逐步演变成现在的形式——基于Web的BBS系统。
在本文中,主要介绍使用ASP.NET技术来实现网络论坛建设。
通过基于Internet互联网的动态WEB数据技术,可以解决远程的数据传输与读取,远程的客户终端(Client)可以通过WEB页面提交请求,查询远端的数据服务器上的信息,以实现信息的共享,同时利用Internet技术可以降低软件的开发和部署成本,只要在服务器上安装WEB应用就可以使每个客户端都能浏览使用。
目前,通过BBS系统可随时获取各种最新的信息;也可以通过BBS系统来和别人讨论计算机软件、硬件、硬件、Internet、多媒体、程序设计及人文、地理等等各种有趣的话题;还可以利用BBS系统来发布一些“问题”、“廉价转让”、“招聘启示”等问题;更可以召集亲朋友好友到聊天室内高谈论阔……这个精彩的天地就在你我的身旁,只要您拥有一台可以访问互联网的计算机,就可以通过这个交流平台,来享受它的种种服务。
二、使用工具及相关知识
(一)SQLServer2008概述
SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
这个平台有以下特点:
1.可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
2.高效的——SQLServer2008降低了管理系统、.NET架构和VisualStudio的时间和成本,使得开发人员可以开发强大的下一代数据库应用程序。
3.智能的——商业智能(BI)继续作为大多数公司投资的关键领域和对于公司所有层面的用户来说的一个无价的信息源。
(二)ADO.NET概述
ADO.NET的名称起源于ADO(ActiveXDataObjects),这是一个广泛的类组,用于在以往的Microsoft技术中访问数据.之所以使用ADO.NET名称,是因为Microsoft希望表明,这是在.NET编程环境中优先使用的数据访问接口。
它提供了平台互用性和可伸缩的数据访问。
ADO.NET增强了对非连接编程模式的支持,并支持RICHXML。
由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。
事实上,接受数据的组件不一定要是ADO.NET组件,它可以是基于一个MicrosoftVisualStudio的解决方案,也可以是任何运行在其它平台上的任何应用程序。
ADO.NET是与数据源交互的.NET技术。
有许多的DataProviders,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。
然而无论使用什么样的DataProvider,你将使用相似的对象与数据源进行交互。
SqlConnection对象管理与数据源的连接。
SqlCommand对象允许你与数据源交流并发送命令给它。
为了对进行快速的只“向前”地读取数据,使用SqlDataReader。
如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter。
(三)ASP.NET简介
ASP.NET的前身ASP技术,是在IIS2.0上首次推出(WindowsNT3.51),当时与ADO1.0一起推出,在IIS3.0(WindowsNT4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了VisualInterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展WindowsNT4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。
它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。
ASP.NET具有一下几个重要特点特点:
1.强大性和适应性——ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。
2.简单性和易学性——ASP.NET使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。
3.高效可管理性——ASP.NET使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单,因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。
三、系统简单分析
(四)系统可行性分析
可行性研究的目的,就是用最小的代价在尽可能短的时间内确定是否能够解释决。
要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后能带来的效益是否大到值得投资开发这个系统的程度。
因此,可行性研究实质上就是要进行一次大大的压缩简化了的系统分析和设计的过程,也就是在较高层次上以抽象的方式进行的系统分析和设计的过程。
系统的可行性分析主要包括技术上的可行性、经济上的可行性、操作上的可行性、法律上的可行性和开发环境上的可行性。
本系统的可行性分析如下:
在技术方面:
随着国内外软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。
从整个系统的技术构成上来看,它属于一个数据库应用类的系统。
其基本操作就是对存在数据库中的数据进行添加、删除、查找、编辑等。
所以就单纯的数据库应用来看,暂不存在太大的技术问题。
因此从技术方面来看考虑本系统的可行性是可行的。
在经济方面:
现在越来越多的人都是通过网络做许多事情,这个BBS系统易于操作,虽然对硬件要求比较高但是其安全性和管理性比较好,实用性比较好,相信经济效益也会比较高。
因此从经济方面考虑开发此系统是可行的。
在操作方面:
随着社会的发展,全民素质的提高,不论是对于电脑系统的基本操作还是对电脑的基本维护都有了一定的基础。
同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑的鼓掌问题,且系统使用简单明了,因此从操作方面来看此系统是可行的。
在法律方面:
此系统没有侵犯他人的个人合法利益,系统所涉及的条款与国家的现行法律没有抵触,不损坏国家、集体、个人的任何利益,所以在法律上是完全可行的。
开发环境可行性:
开发此BBS系统需要硬件环境要求操作系统为WindowsXPProfessional以上系统版本,需要安装Internet信息服务,还有ASP.NET环境。
目前看操作系统和软件都不是问题,系统硬件也可以满足,所以从开发环境上来说是可行的。
软件需求分析工作是软件生存周期中的重要的一步,也是决定性的一步。
只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。
因此,在软件开发前应该做好对软件的需求分析。
(五)系统功能的需求分析
1.基本功能
论坛的基本功能是构成论坛系统的必要功能,包括如下基本功能。
(1)发帖。
论坛最初是为了互相讨论话题而诞生的,发表帖子就是表达自己的看法,与他人进行讨论,因此发帖是论坛首要的功能。
(2)浏览帖子。
发表帖子,就是供他人浏览查看,与他人分享自己的想法和经验。
(3)回帖。
浏览了他人发帖子,想要发表自己的想法,参与讨论,就可以回复这个帖子。
其实,发帖→浏览帖子→回帖三大功能周而复始的循环进行,就构成了论坛,每个参与论坛的人,主要目的就是发帖,查看自己已经发表的帖子,针对自己感兴趣的帖子进行回复,参与讨论。
三大基本功能的相互关系如图1所示。
2.
扩展功能
除以上基本功能外,其它的论坛功能都是扩展功能,包括如下功能:
(1)注册登录。
方便经常发帖的人不需要重复填写个人信息。
(2)分板块浏览帖子。
有利于具有相同兴趣的用户相互讨论,不易跑题。
(3)编辑帖子。
提供给用户更新自己发言的选择。
(4)删除帖子。
如果用户发飙了不符合论坛规则的帖子,组需要管理员删除这些帖子。
(5)转移帖子。
论坛划分了板块,如果帖子内容不属于所在板块的关注话题,那么管理员可以选择将此帖移动到所属话题的板块中去。
(6)置顶帖子。
管理员如果需要强调某些帖子的重要,有必看性,可以将这些帖子置顶。
(7)指定精华帖。
如果管理员认为某帖子内容很好,可以坐上标记,推荐给用户看,用户也可以只看精华帖。
(8)搜索帖子。
方便用户查找自己需要的内容。
(9)管理板块。
论坛板块需要先创建才能被使用,管理还可以删除板块的相关信息。
(10)设置参数。
论坛一般有一些初始化信息,比如论坛名称,每页显示帖子的数量等参数信息。
(11)管理用户。
管理员可以对论坛注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户的权限,对于违规用户可以删除。
论坛扩展功能图,如图2所示。
(六)系统简要用例图分析
对于访问论坛的用户,可分为注册会员和为注册的临时用户,这两种用户有着不同的权限,比如临时用户只能对帖子进行查看,而注册会员除了查看帖子之外,还可以发帖,回复,查找用户,并且可以对自己的注册资料进行修改等等。
系统的用例图如下图3所示:
图3系统用例图
(七)运行环境
运行环境配置从硬件和软件两方面描述,所列出的都是系统所能正常运行的最低限度。
而更高的硬件配置和软件环境将会带来更快的运行速度以及更稳定的运行效果。
硬件要求:
CPU:
IntelPentium600MHz以上。
内存:
128M以上。
磁盘安装空间:
3.2GB(完全安装,包括.NETFrameworks以及.NETIDE全部开发工具和MSDN)。
显示:
800*600,256色。
软件需求:
MicrosoftWindows2000+SP1。
MicrosoftInternetExplorer5.5。
四、系统总体设计
(八)系统的设计目标
对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。
本系统在设计时应满足以下几个目标:
1.采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。
2.全面展示系统内所有分类的帖子,并进行分页显示。
3.为用户提供一个方便、快捷的主题信息查看功能。
4.实现在线发表帖子。
5.提供登录模块,主要用开管理员登录系统和发表帖子时留下发表者的信息。
6.用户随时都可以查看自己发表的帖子。
7.对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
8.系统最大限度地实现了易维护性和易操作性。
9.系统运行稳定安全可靠。
(九)系统功能结构
1.前台功能结构
用户访问论坛首页面后,可进行查看版面下根贴信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根贴信息、用户注册等功能。
用户在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。
前台功能结构图如图4所示。
图4前台功能模块图
2.后台功能结构
若用户的权限为管理员,则可进入后台,可进行论坛类别的管理、版面管理和用户管理的操作。
后台功能结构图如下图5所示。
3.
图5后台功能模块图
系统流程图
(1)
系统后台流程图如下图6所示。
图6后台功能流程图
图7前台台功能流程图图
(2)系统后台流程图如下图7所示。
五、数据库设计
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
(一十)数据库和设计概述
1.数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。
2.数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。
3.数据库设计是信息系统开发和建设的重要组成部分。
(一十一)概念模型设计(E-R图)
数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。
描述了数据结构、数据操作及数据约束。
E-R模型的基本概念
ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。
ER图的理念是:
项目所有参与者能理解ER图。
ER图由不同实体类型、关系、特性和类型构成。
实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。
特性用于描述实体,关系用于实体之间
(1)实体:
现实世界中的事物;
(2)属性:
事物的特性;
(3)联系:
现实世界中事物间的关系。
实体集的关系有一对一、一对多、多对多的联系。
本系统的E-R图如下图8所示:
(一十二)数据库逻辑设计
图9BBS数据库所包含的数据表结构图
根据数据库概念设计,可以创建与实体对应的数据表。
本系统中所包含的数据表的结构图如图9所示。
本系统包括8个数据表,下面分别是这些表的结构。
1.BlockBig(论坛区块信息表),该表结构如下表表1所示。
表1BlockBig(论坛区块信息表)
列名
数据类型
是否主键
允许空值
描述
bigId
int
是
否
ID自动生成
bigName
varcher
否
是
区的名称
bigDescription
varcher
否
是
对区的描述
BigAdmin
varcher
否
是
区管理员
bigAddtime
datetime
否
是
区添加时间
2.BlockSmall(论坛版块信息表),该表结构如下表表2所示。
表2BlockSmall(论坛版块信息表)
列名
数据类型
是否主键
允许空值
描述
small_Id
int
是
否
表Id自动生成
small_Name
varchar
否
是
板块名称
small_Desciption
varchar
否
是
板块描述
small_ImgUrl
varchar
否
是
板块图片
small_Admin
int
否
是
版主
small_BigId
int
否
是
所属区号
small_Adddate
datetime
否
是
加入时间
small_PostCount
int
否
是
帖子数量
small_PostBackCount
int
否
是
回复帖子数量
3.Message(消息信息表),该表结构如下表表3所示。
表3Message(消息信息表)
列名
数据类型
是否主键
允许空值
描述
message_id
int
是
否
表Id自动生成
message_title
varcher
否
是
消息题目
message_content
varcher
否
是
消息内容
message_sender
int
否
是
消息发送者
message_toUser
int
否
是
消息接收者
message_IsRead
int
否
是
是否已读
message_Adddate
datetime
否
是
消息时间
4.Popedom(论坛类别信息表),该表结构如下表表4所示。
表4Popedom(论坛类别信息表)
列名
数据类型
是否主键
允许空值
描述
popedom_id
int
是
否
表Id自动生成
popedom_Name
varchar
否
是
论坛类别名称
5.Post(论坛帖子信息表),该表结构如下表表5所示。
表5Post(论坛帖子信息表)
列名
数据类型
是否主键
允许空值
描述
post_id
int
是
否
表Id自动生成
post_Title
varchar
否
是
帖子题目
post_Content
varchar
否
是
帖子内容
post_Sender
int
否
是
帖子发表人
post_SendTime
datetime
否
是
帖子发送时间
post_SmallId
int
否
是
所属版块编号
post_TypeId
int
否
是
帖子类型标号
post_BrowseCount
int
否
是
帖子浏览次数
post_BackCount
int
否
是
帖子回复次数
6.PostBack(帖子回复信息表),该表结构如下表表6所示。
表6PostBack(帖子回复信息表)
列名
数据类型
是否主键
允许空值
描述
Postback_Id
int
是
否
表Id自动生成
Postback_content
varchar
否
是
帖子回复内容
Postback_Sender
int
否
是
帖子回复人
Postback_SendTime
datetime
否
是
帖子回复时间
Postback_PostId
int
否
是
帖子标号
7.PostType(帖子类型信息表),该表结构如下表表7所示。
表7PostType(帖子类型信息表)
列名
数据类型
是否主键
允许空值
描述
PostType_Id
int
是
否
表Id自动生成
PostType_Name
varchar
否
是
帖子类型名称
PostType_BlockSmallId
int
否
是
所属版块标号
PostType_Adddate
datetime
否
是
帖子类型创建时间
8.Users(用户信息表),该表结构如下表表8所示。
表8Users(用户信息表)
列名
数据类型
是否主键
允许空值
描述
UserId
int
是
否
表Id自动生成
UserName
varchar
否
是
用户姓名
UserPwd
varchar
否
是
用户密码
UserEmail
varchar
否
是
用户Email
UserPic
varchar
否
是
用户照片
UserQx
int
否
是
用户权限设置
UserOnline
int
否
是
是否在线
UserIp
varchar
否
是
用户ip
UserLoginDate
datetime
否
是
用户注册时间
IsAdmin
int
否
是
是否管理员
六、系统的详细设计与实现
(一十三)前台设计与实现
由于前台功能模块较多,而各模块的实现过程都是类似的,所以对于系统前台,现在只介绍系统重点设计。
1.
论坛系统前台首页页面运行结果如下图所示。
该页面为论坛首页页面,当用户进入本系统时会自动进入本页面。
用户可以自行选择自己想进的版面。
此BBS设计有母版页存在,故论坛首页实现代码如下:
DataListID="DataList1"runat="server"DataKeyField="bigId"DataSourceID="SqlDataSource1"BackColor="LightGoldenrodYellow"BorderColor="Tan"BorderWidth="1px"CellPadding="2"ForeColor="Black">
100%;height:
127px;">
<%#Eval("bigName")%>
区长:
LabelID="Label1"runat="server"Text='<%#Eval("BigAdmin")%>'>
Label>
创建日期:
LabelID="Label2"runat="server"Text='<%#Eval("bigAddtime")
展开阅读全文
相关搜索
|