论坛的设计与实现毕业论文设计

辽宁职业学院

毕业论文(设计)

题目论坛的设计与实现专业计算机网络技术

班级计算机网络1131班

姓名

指导教师姓名

职称副教授

日期 2014 年 3 月 1 日

辽宁职业学院

毕业论文(设计)任务书

专业班级:计算机网络1131

学生姓名:

题目:论坛的设计与实现

上交论文(报告)日期: 2014 年 4 月 25 日

答辩日期: 2014 年 5 月 7 日

指导教师:项立明

2014 年 3 月 1 日

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:

指导教师签名:日期:

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日

导师签名:日期:年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

教研室(或答辩小组)及教学系意见

摘要

随着Internet的越来越普及,人们越来越关于这样一种交流平台――论坛。使用简单、易用的学生论坛已成为当今社会必然要求。但现有的学生论坛系统还存有一定问题,主要体现在两个方面:

一方面,论坛的功能是多种多样的,现在流行的各种论坛中的插件让这些功能更加的多元化,而偏离了信息的发布与讨论为基础的基本功能。

另一方面,随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来抢线难的问题将会加剧。

本论坛主要完成2大模块,即用户模块和管理模块。用户模块中完成了用户登录、用户注册、发帖、回帖等功能,管理模块中完成了帖子管理、用户管理等功能。

为了实现学生论坛的简单、高效、灵活性,开发出信息发布与讨论为基础的基本功能,设计本系统。本论坛系统采用目前流行的https://www.360docs.net/doc/e53631636.html,技术进行开发,采用B/S架构进行开发,开发环境采用微软集成开发环境VS2005进行开发,数据库用SQL2005数据库系统来存放论坛中的数据信息。

关键字:论坛;Internet; https://www.360docs.net/doc/e53631636.html,;WEB技术;

目录

第1章系统概述 (1)

1.1选题背景 (1)

1.2研究意义 (1)

1.3研究现状 (2)

1.4本文所做的工作 (2)

第2章系统开发环境 (4)

2.1实施平台 (4)

https://www.360docs.net/doc/e53631636.html,的简介 (4)

2.3B/S架构 (9)

2.4数据库技术 (10)

第3章论坛系统需求分析 (12)

3.1系统功能需求 (12)

3.2系统需求分析 (13)

3.3性能需求 (13)

3.4硬件环境需求 (14)

第4章系统总体设计 (15)

4.1总体设计 (15)

4.2数据库设计 (20)

第5章系统详细设计 (25)

5.1登录功能及注册功能的设计 (25)

5.2发帖及回帖分享等功能的设计 (28)

5.3搜索帖子功能的设计 (30)

5.4论坛板块管理功能的设计 (32)

第6章系统测试 (34)

6.1系统测试概述 (34)

6.2测试方案 (35)

6.3测试结果分析评价 (38)

结论 (39)

参考文献.................................... 错误!未定义书签。致谢 (1)

第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 研究意义

互联网正在融入我们的生活,影响和改变着我们的生活。网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,校园论坛正是一种供人们进行交流的网络空间。目前,网上论坛已不是新事物,许许多多的别具特色的论坛在网络上随处可见。为了体现论坛的特色,我搜索各式各样的论坛版面,为了改变网上现存论坛的普遍风格,追加功能,更便于管理,于是开发出一套界面友好美观,易于使用的卡

通风格的论坛系统。校园论坛系统是一个注册用户登录后能够浏览论坛上的帖子,并且游客能够注册成为用户。

1.3 研究现状

国内的BBS站,单线站还占大多数。随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。但是,随之而来的拨号难和抢线难的问题将会加剧。尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。许多人同时拨号一个站台,不可避免地发生冲突。每回要拨上几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国 BBS用户的一个难题。随着BBS活动的深入,国内已经出现了一些多线站,一次可以允许2人以上同时访问。

BBS的发展过程中,也出现了一些问题。由于国内使用的BBS站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。

1999年是中国网络的发展年。但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。包括一些厂商架设的BBS站,实用性还需要加强。今后,国内的BBS站将向着个性化和专业化的方向发展。

1.4 本文所做的工作

随着网络的越来越普及,人们越来越关于这样一种交流平台――论坛。很多商业网站都开设自己论坛来提供交流和服务,也有很多的个人网站和个人论坛的出现,论坛已经不仅是一种交流平台,甚至是成为了实现自我价值的一个舞台。正因为论坛越来越重要,所以论坛的维护也变成了一种职业,而更好的维护则需要从设计这个层面来了解和进行。

本文主要划分成2大功能模块,即用户功能模块和管理员功能模块。

1.用户功能模块,针对用户功能模块,本系统主要完成了用户注册、用户登录、用户发帖、用户回帖、用户删除帖子等功能的实现。例如设计用户浏览功能,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。同时为了防止用户发布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。而且用户想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作用户的信息。论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方便整理和管理。所以论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及怎么样让这些数据库和网页的操作联系起来。

2.管理功能模块,管理功能模块也可以分成2大模块,即用户管理模块和帖子管理模块,而且无论是用户管理模块还是帖子管理模块,本系统都能完成其添加功能、删除

功能、修改功能。此外管理员还可以把关注人数多的帖子进行置顶,以便用户可以第一时间查看。

第2章系统开发环境

2.1 实施平台

本学生论坛采用目前流行的https://www.360docs.net/doc/e53631636.html,技术进行开发,采用B/S架构进行开发,开发环境采用微软集成开发环境VS2005进行开发,数据库用SQL2005数据库系统来存放论坛中的数据信息。

2.2 https://www.360docs.net/doc/e53631636.html,的简介

https://www.360docs.net/doc/e53631636.html,是一项功能强大、非常灵活的新技术,用于创建编写动态Web页面。它是两项Microsoft公司的ASP和.NET Framework核心技术的结合。动态服务器页面(常称为经典的ASP)已有较长的历史在Web计算方面,它提供了一种强健、快速、有效的方法用于去创建动态Web页面已经有7年甚至今天。[5].NET Framework则是一整套的新技术,Microsoft公司推出此技术的目的是改革未来在所有编程开发中所采用的方法,以及各公司从事业务活动的方法。因此, https://www.360docs.net/doc/e53631636.html,是利用.NET Framework提供的新功能来创建动态Web页面的一种方法。

对https://www.360docs.net/doc/e53631636.html,需要说明的第一件重要事情是:用户不需要对ASP有任何的了解就可以学习https://www.360docs.net/doc/e53631636.html,。学习https://www.360docs.net/doc/e53631636.html,只需具有一些创建Web页面的HTML知识就可以了。实际上,熟悉ASP在某些方面可能还是一种缺点,因为可能需要忘记以前的一些规则。https://www.360docs.net/doc/e53631636.html, 不仅可以生成动态Web页面,并可以将这些页面根据正在使用的浏览器进行裁剪,而且,它提供了大量的、可复用的预定义控件,用于https://www.360docs.net/doc/e53631636.html,项目,减少了要编写的代码,从而在编程时提高工作效率。使用https://www.360docs.net/doc/e53631636.html,能够做什么?要列出它不能做什么大概会更容易些,因为这个列表相当短。https://www.360docs.net/doc/e53631636.html,最引人注目的改进之一是可以用基于. NET Framework的任何编程语言(例如https://www.360docs.net/doc/e53631636.html,、JScript .NET或C#等)创建Web应用程序。在这些应用程序中, https://www.360docs.net/doc/e53631636.html,允许为特殊用户定制页面,当用户在Web站点中浏览时更容易跟踪用户信息。

ASP的工作方式是客户端提交请求或申请,服务器接收请求或申请后进行服务器处理,服务器把处理完成的结果传送或返回到客户端,即请求—接收/处理—响应的过程。

ASP提供了6个内置对象:Request、Response、Session、Server、Application、ObjectContext,这些对象可以直接在页面中生成且在脚本使用时不需要创建,它们构成了ASP的基本框架。[6]

1.Request对象是用来处理HTTP请求的,包含各种集合、属性和方法。当客户端使用浏览器通过HTTP协议向Web服务器发请求的时候,Request对象检索传递给Web服务器的项,利用这个对象的集合、属性和方法可以获得浏览器请求到服务器的各项信息和

数据。

一般主要是把用户在浏览器端输入的信息和其他相应的信息传递给服务器,各个对象被传递到服务器后使用Request对象接收。如表2-1所示:

表2-1 Request对象的集合、属性和方法

在表1-1所列的项中最常用的是Form、QueryString、ServerVariables三项。服务器是如何接收来自客户端的信息和数据呢?Form容器提交数据的方式有两种,可以使用method参数来确定,当method被设置为post时,就使用Form来接收。

前台是一个命名为testDataRec的容器,它的提交方式为post,里面含有两个input 对象,分别为MyName和Mypwd,当用户输入信息后,单击发送按钮,就可以提交给后台接收程序,这个接收程序页必须命名为前台Form容器里的“receiveMe.asp”。

QueryString,当前台的程序使用提交方式为get时,将后台的接收端中的Form修改成QueryString即可。

ServerVariables项接收到的主要是客户端相对应的系统或其他一些相应信息。它

的内容和格式是确定的,包含了很多项。常用项一般是URL、PATH_INFO、SCRIPT_NAME,通过request. ServerVariables(“URL”)能够获得用户的浏览器地址框里的地址,其实和使用PATH_INFO、SCRIPT_NAME相差不错。

2.Session对象是用来建立Web服务器同客户端的联系,并维持这一联系的,其实是一个管理会话的对象,不仅可以保持管理会话,而且在此会话中,可以为此次会话存储特定用户会话所需要的属于它自己的个性化的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的所有这些变量都将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象的内容如表2-2所示:

表2-2 Session对象的集合、属性、方法和事

当用户通过浏览器在输入正确的用户名和密码成功登录后,服务器使用Session来记录这个用户输入的用户名,以方便显示;而且在用户推退出登录后,会将用户的会话Session清除掉。Abandon是Session唯一的方法。可以清除用户的Session对象并释

放用户所占用的资源。

3.Session对象是用来建立Web服务器同客户端的联系,并维持这一联系的,其实是一个管理会话的对象,不仅可以保持管理会话,而且在此会话中,可以为此次会话存储特定用户会话所需要的属于它自己的个性化的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的所有这些变量都将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象的内容如表2-3所示:

表2-3 Session对象的集合、属性、方法和事件

当用户通过浏览器在输入正确的用户名和密码成功登陆后,服务器使用Session来记录这个用户输入的用户名,以方便显示;而且在用户推退出登陆后,会将用户的会话Session清除掉。Abandon是Session唯一的方法。可以清除用户的Session对象并释放用户所占用的资源。

4.Server对象提供了访问服务器的方法和属性,它同服务器的关系非常紧密,但

其中大多数方法和属性是为了实用程序的功能服务的。

这个对象中常用的是HTMLEncode和MapPath。HTMLEncode可以把HTML编码都作为字符显示出来,MapPath用来获得服务器端的绝对路径。

5.Application对象是在特定的应用程序中用于为所有的用户共享信息的饿,基于ASP的应用程序同所在的ASP文件一样在一个虚拟目录及其子目录中定义。为了确保多个用户无法同时改变某一属性,可以共享Application对象。Application对象使用Lock 和Unlock方法保证了共享信息管理与操作的可靠性和完备性。

6.ObjectContext对象在ASP里不经常用到,主要是用来提交或放弃一项有Microsoft Transaction Server管理的事物的。

https://www.360docs.net/doc/e53631636.html,的优点:

(1)较高的安全性

https://www.360docs.net/doc/e53631636.html,允许创建“个人账户”和“角色”,以便每个用户都能访问不同的代码和能运行的代码,从而提高应用程序的安全性。

(2)可靠性

https://www.360docs.net/doc/e53631636.html,是一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝技术,大大提高了运行速度。即使现在的https://www.360docs.net/doc/e53631636.html,应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变就能提高它们的效能。

(3)可扩展性

https://www.360docs.net/doc/e53631636.html,是一项可扩展技术。为了提高https://www.360docs.net/doc/e53631636.html,应用程序的可扩展性,改进了服务器间的通信,使得可以在多台服务器上进行一个应用程序。

(4)高效的管理性

https://www.360docs.net/doc/e53631636.html,使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。[7]一个https://www.360docs.net/doc/e53631636.html,的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就变得简单。

(5)易配置和部署

利用纯文本文件配置https://www.360docs.net/doc/e53631636.html,应用程序,可在程序运行时上传或修改配置文件,而无需重新启动服务器。部署或替换已编译的代码时也无需重新启动服务器,https://www.360docs.net/doc/e53631636.html,会自动将所有新的请求指向新代码。

(6)简单性和易学性

https://www.360docs.net/doc/e53631636.html,是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。另外,通用语言简化开发使把代码结合成软件简单。

2. ASP. NET的缺点:

(1)代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

(2)代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

2.3 B/S架构

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S(C/S(Client/Server,客户/服务器)方式的网络计算模式,1、服务器负责管理数据库的访问,并对客户机/服务器网络结构中的数据库安全层加锁,进行保护;2、客户机负责与用户的交互,收集用户信息,通过网络向服务器发送请求。3、C/S模式中,资源明显不对等,是一种“胖客户机(fat client)”或“瘦服务器(thin server)”结构。

4、客户程序(前台程序)在客户机上运行,数据库服务程序(后台程序)在应用服务器上运行)结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。

B/S 模式的优点:

(1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。

(2)业务扩展简单方便,通过增加网页即可增加服务器功能。

(3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

(4)开发简单,共享性强。

B/S 模式的缺点:

(1)个性化特点明显降低,无法实现具有个性化的功能要求。

(个性化的要求取决以软件框架,而非架构,分享B/S软件就蛮灵活)

(2)操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。

(如果辅助于插件,照样可以用键盘快速操作)

(3)页面动态刷新,响应速度明显降低。

(分享软件用分页保证响应速度稳定)

(4)功能弱化,难以实现传统模式下的特殊功能要求。

(技术问题,用微软C#或java怎么会不能解决任何要求呢)

相关文档
最新文档