'论坛的设计与实现毕业论文目录第1章系统概述11.1选题背景11.2研究意义11.3研究现状21.4 本文所做的工作2第2章系统开发环境42.1实施平台42.2ASP.NET的简介42.3B/S架构92.4数据库技术10第3章论坛系统需求分析123.1系统功能需求123.2系统需求分析133.3性能需求133.4硬件环境需求14第4章系统总体设计154.1总体设计154.2数据库设计20第5章系统详细设计25
5.1登录功能及注册功能的设计255.2发帖及回帖分享等功能的设计285.3搜索帖子功能的设计305.4论坛板块管理功能的设计32第6章系统测试346.1系统测试概述346.2测试方案356.3测试结果分析评价38结论39参考文献40致谢41
辽宁职业学院毕业论文第1章系统概述1.1选题背景BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。它起源于20世纪80年代初,最初只是用于发布公告信息和讨论问题的在线交流平台,后来随技术的发展与网络的普及功能越来越强大。[1]由于得到了广大网友的欢迎,越来越多的商业网站开始重视论坛,把论坛作为与用户交流的平台和在线技术支持与服务的平台。论坛的功能是多种多样的,现在流行的各种论坛插件让这些功能更加的多元化,但论坛的基本功能依然是信息的发布与讨论,在实现基本功能的同时也要丰富论坛的其他功能,如建立网友的荣誉系统,美化论坛的界面。[2]按照论坛的基本功能,论坛的开发可以归结为Web开发技术和数据库应用技术。BBS最早是用来公布股市价格等类信息的,当时BBS没有文件传输的功能,而且只能在苹果计算机上运行。早期的BBS与一般街头和校园内的公告板的性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。目前,通过BBS系统可随时取得国际最新的软件及信息,也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及医学等等各种有趣的话题,更可以利用BBS系统来刊登一些“征友”、“廉价转让”及“公司产品”等启事,而且这个园地就在你我的身旁。只要您拥有1台计算机、1只调制解调器和1条电话线,就能够进入这个“超时代”的领域,进而去享用它无比的威力![3] 在二十一世纪的今天,随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助于网络进行相互交流变得更加方便。因此,交流工具作为互联网中运用最为广泛的通信工具之一。校园论坛系统是基于WEB网页,无需专用客户端即可为用户提供简洁的聊天交流界面,用户可以通过帖子发表与回复的方式在论坛中进行学习、生活等方面的交流,结合管理员在线对论坛信息进行实时调整管理,从而成为最为稳定的一个虚拟的校园交流平台。[4]1.2研究意义互联网正在融入我们的生活,影响和改变着我们的生活。网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,校园论坛正是一种供人们进行交流的网络空间。目前,网上论坛已不是新事物,许许多多的别具特色的论坛在网络上随处可见。为了体现论坛的特色,我搜索各式各样的论坛版面,为了改变网上现存论坛的普遍风格,追加功能,更便于管理,于是开发出一套界面友好美观,易于使用的3
辽宁职业学院毕业论文卡通风格的论坛系统。校园论坛系统是一个注册用户登录后能够浏览论坛上的帖子,并且游客能够注册成为用户。1.3研究现状国内的BBS站,单线站还占大多数。随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来的拨号难和抢线难的问题将会加剧。尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。许多人同时拨号一个站台,不可避免地发生冲突。每回要拨上几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国BBS用户的一个难题。随着BBS活动的深入,国内已经出现了一些多线站,一次可以允许2人以上同时访问。 BBS的发展过程中,也出现了一些问题。由于国内使用的BBS站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。 1999年是中国网络的发展年。但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。包括一些厂商架设的BBS站,实用性还需要加强。今后,国内的BBS站将向着个性化和专业化的方向发展。1.4 本文所做的工作随着网络的越来越普及,人们越来越关于这样一种交流平台――论坛。很多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论坛的出现,论坛已经不仅是一种交流平台,甚至是成为了实现自我价值的一个舞台。正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。本文主要划分成2大功能模块,即用户功能模块和管理员功能模块。1.用户功能模块,针对用户功能模块,本系统主要完成了用户注册、用户登录、用户发帖、用户回帖、用户删除帖子等功能的实现。例如设计用户浏览功能,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。同时为了防止用户发布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。而且用户想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作用户的信息。论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方便整理和管理。所以论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及怎么样让这些数据库和网页的操作联系起来。2.3
辽宁职业学院毕业论文管理功能模块,管理功能模块也可以分成2大模块,即用户管理模块和帖子管理模块,而且无论是用户管理模块还是帖子管理模块,本系统都能完成其添加功能、删除功能、修改功能。此外管理员还可以把关注人数多的帖子进行置顶,以便用户可以第一时间查看。3
辽宁职业学院毕业论文第2章系统开发环境2.1实施平台本学生论坛采用目前流行的ASP.NET技术进行开发,采用B/S架构进行开发,开发环境采用微软集成开发环境VS2005进行开发,数据库用SQL2005数据库系统来存放论坛中的数据信息。2.2ASP.NET的简介ASP.NET是一项功能强大、非常灵活的新技术,用于创建编写动态Web页面。它是两项Microsoft公司的ASP和.NETFramework核心技术的结合。动态服务器页面(常称为经典的ASP)已有较长的历史在Web计算方面,它提供了一种强健、快速、有效的方法用于去创建动态Web页面已经有7年甚至今天。[5].NETFramework则是一整套的新技术,Microsoft公司推出此技术的目的是改革未来在所有编程开发中所采用的方法,以及各公司从事业务活动的方法。因此,ASP.NET是利用.NETFramework提供的新功能来创建动态Web页面的一种方法。对ASP.NET需要说明的第一件重要事情是:用户不需要对ASP有任何的了解就可以学习ASP.NET。学习ASP.NET只需具有一些创建Web页面的HTML知识就可以了。实际上,熟悉ASP在某些方面可能还是一种缺点,因为可能需要忘记以前的一些规则。ASP.NET不仅可以生成动态Web页面,并可以将这些页面根据正在使用的浏览器进行裁剪,而且,它提供了大量的、可复用的预定义控件,用于ASP.NET项目,减少了要编写的代码,从而在编程时提高工作效率。使用ASP.NET能够做什么?要列出它不能做什么大概会更容易些,因为这个列表相当短。ASP.NET最引人注目的改进之一是可以用基于.NETFramework的任何编程语言(例如VB.NET、JScript.NET或C#等)创建Web应用程序。在这些应用程序中,ASP.NET允许为特殊用户定制页面,当用户在Web站点中浏览时更容易跟踪用户信息。ASP的工作方式是客户端提交请求或申请,服务器接收请求或申请后进行服务器处理,服务器把处理完成的结果传送或返回到客户端,即请求—接收/处理—响应的过程。ASP提供了6个内置对象:Request、Response、Session、Server、Application、ObjectContext,这些对象可以直接在页面中生成且在脚本使用时不需要创建,它们构成了ASP的基本框架。[6]1.Request对象是用来处理HTTP请求的,包含各种集合、属性和方法。当客户端使用浏览器通过HTTP协议向Web服务器发请求的时候,Request对象检索传递给41
辽宁职业学院毕业论文Web服务器的项,利用这个对象的集合、属性和方法可以获得浏览器请求到服务器的各项信息和数据。一般主要是把用户在浏览器端输入的信息和其他相应的信息传递给服务器,各个对象被传递到服务器后使用Request对象接收。如表2-1所示:表2-1Request对象的集合、属性和方法名 称作用/意义描述集 合ClientCertificate从Web浏览器发布请求中获取验证字段。如果Web浏览器使用SSL3.0/PCT1协议,也就是说,它使用以https://开头的URL,而不是http://连接服务器及服务器请求验证,则浏览器将发送验证字段。如果没有发送验证,集合将返回EMPTY。只有先将Web服务器配置为要求客户端验证,然后才能使用集合Cookies允许用户检索在HTTP请求中发送的Cookie的值Form检索使用POST方法的表格传送到HTTP请求正文中的表格的值QueryString检索HTTP查询字符串中变量的值。HTTP查询字符串由(?)后的值指定。几个不同的进程都可以生成查询字符串ServerVariables检索客户端预定的环境变量属性TotalBytes指定客户端在请求正文中发送的总字节数,该属性只允许读方 法BinaryRead获取作为POST请求的一部分而从客户端传送到服务器的数据。此方法获取来自客户端的数据并将其储存在SafeArray的数组中,且包含维数和边界信息,此方法用于在底层访问数据在表1-1所列的项中最常用的是Form、QueryString、ServerVariables三项。服务器是如何接收来自客户端的信息和数据呢?Form容器提交数据的方式有两种,可以使用method参数来确定,当method被设置为post时,就使用Form来接收。前台是一个命名为testDataRec的容器,它的提交方式为post,里面含有两个input对象,分别为MyName和Mypwd,当用户输入信息后,单击发送按钮,就可以提交给后台接收程序,这个接收程序页必须命名为前台Form容器里的“receiveMe.asp”。QueryString,当前台的程序使用提交方式为get时,将后台的接收端中的Form修改成QueryString即可。ServerVariables41
辽宁职业学院毕业论文项接收到的主要是客户端相对应的系统或其他一些相应信息。它的内容和格式是确定的,包含了很多项。常用项一般是URL、PATH_INFO、SCRIPT_NAME,通过request.ServerVariables(“URL”)能够获得用户的浏览器地址框里的地址,其实和使用PATH_INFO、SCRIPT_NAME相差不错。2.Session对象是用来建立Web服务器同客户端的联系,并维持这一联系的,其实是一个管理会话的对象,不仅可以保持管理会话,而且在此会话中,可以为此次会话存储特定用户会话所需要的属于它自己的个性化的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的所有这些变量都将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象的内容如表2-2所示:表2-2Session对象的集合、属性、方法和事名 称作用/意义描述集 合Content包括所有未使用