论坛管理系统毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论坛管理系统毕业论文
目录
第1章前言 (1)
1.1 BBS介绍 (1)
1.2 BBS的发展前景 (1)
1.2.1 BBS的历史 (1)
1.2.2 国BBS的现状与展望 (2)
第2章使用工具及相关知识 (3)
2.1 SQL Server 2000概述 (3)
2.2 概述 (4)
第3章需求分析 (7)
3.1 系统功能需求分析 (7)
3.1.1 基本功能 (7)
3.1.2 扩展功能 (7)
3.2 系统可行性分析 (8)
3.3 数据流分析 (9)
3.4 运行环境与其它要求 (10)
3.4.1 运行环境简介 (10)
第4章系统总体设计 (12)
4.1 系统介绍与功能模块 (12)
4.2 数据库设计 (15)
4.2.1数据库概念设计 (15)
4.2.1数据库逻辑设计 (16)
第5章详细设计 (20)
5.1前台设计 (20)
5.1.1 数据源的建立 (20)
5.1.2 论坛首页 (20)
5.1.3 发帖、回帖 (20)
5.1.4 登录、注册与修改 (21)
5.2 后台管理设计 (23)
5.2.1 管理员登录页 (23)
5.2.2 管理菜单页 (24)
5.2.3 具体管理 (24)
第6章系统测试与调试 (27)
6.1 运行环境要求 (27)
6.2 问题与解决方法 (27)
6.3 安装及设置 (28)
第7章结论 (29)
参考文献 (30)
致谢 (31)
第1章前言
1.1 BBS介绍
BBS起源于二十世纪80年代初,最早的BBS只提供消息投递和阅读功能,使用者通常是些计算机爱好者。
随后,系统允许会员之间分享软件、文件,进行实时网络对话、信件传输等。
为了提供更好的服务,一些站点实行收费政策,但目前Internet上还是有无数免费BBS站点。
一般BBS站点地址以域名形式出现,这些站点可通过远程登录进行连接,更多的站点采用WWW的形式供会员使用。
BBS也被称为异步会议系统、布告板,是网络上除了E-mail之外,最为普遍的在线讨论系统,它来源于早期Internet发展的BBS系统(Bulletin Board System),随着Internet的发展,逐步演变成现在的形式——基于Web的BBS系统。
在本文中,主要介绍使用技术来实现网络论坛建设。
通过基于Internet 互联网的动态WEB数据库技术,可以解决远程的数据传输与读取,远程的客户终端(Client)可以通过WEB页面提交请求,查询远端的数据服务器上的信息,同时还可以向远端数据服务器的数据库中存储信息,以实现信息的共享,同时利用Internet技术可以降低软件的开发和部署成本,只要在服务器上安装WEB应用就可以使每个客户端都能浏览使用。
目前,通过BBS系统可随时取得各种最新的信息;也可以通过BBS系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及人文、地理等等各种有趣的话题;还可以利用BBS系统来发布一些“问题”、“廉价转让”、“招聘人才”及“求职应聘”等启事;更可以召集亲朋好友到聊天室高谈阔论……这个精彩的天地就在你我的身旁,只要您拥有一台可以访问互联网的计算机,就可以通过这个交流平台,来享用它的种种服务。
1.2 BBS的发展前景
BBS系统就是提供给用户一个平台,注册用户可以通过Internet接入,登录论坛,在这个平台上发表文章、阅读文章、回复文章等等。
1.2.1 BBS的历史
1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago(Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系统。
之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统(People’s Message
System)2种BBS系统。
1981年IBM个人计算机诞生时,并没有自己的BBS系统。
直到1982年,Buss Lane 才用Basic语言为IBM个人计算机编写了一个原型程序。
其后经过几番增修,终于在1983年通过Capital PC User Group(CPCUG)的Communication Special Interest Group会员的努力,改写出了个人计算机系统的BBS。
经Thomas Mach整理后,终于完成了个人计算机的第1版BBS系统——RBBS-PC。
这套BBS系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发其他的BBS系统时都以此为框架,所以RBBS-PC赢得了BBS鼻祖的美称。
但在当时,就如何实现站点与站之间的联系的问题并未解决。
一直到1984年美国的Tom Jonning开发了一套具有电子功能的电子公告板应用程序FIDO。
由于该软件有站际连线和自动互传信息的功能,所以站际间彼此可以在一个共同的预定时间传送电子,使得BBS网络化有了一线生机。
BBS发展至今,目前世界上业余的BBS网络除了FidoNet(惠多网)以外,几个较具知名度的还有EggNet、AlterNet和RBBS-Net等等。
由于这些网络和FidoNet之间的信息交流不成问题,这就实现了所谓的跨网。
1.2.2 国BBS的现状与展望
国的BBS站大多数还是单线站。
随着计算机的普及,特别是调制解调器的大量使用,BBS的活动将会进一步高涨。
但是,随之而来的拨号难和抢线难的问题将会加剧。
尽管BBS站台的数量在不断增长,但这种增长的幅度总也赶不上用户群的增长。
许多人同时拨号一个站台,不可避免地发生冲突。
每回要拨上几十次乃至上百次才能成功连上一个BBS站的状况已经成为困扰今日中国BBS用户的一个难题。
随着BBS活动的深入,国已经出现了一些多线站,一次可以允许2 人以上同时访问。
BBS的发展过程中,也出现了一些问题。
由于国使用的BBS架站软件,都是从国外引进的,因此没有必要的中文说明。
虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。
另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。
1999年是中国网络的发展年。
但是,我们应该清醒地认识到,目前一些BBS站并没有走上“简单、易用”这一层次。
包括一些厂商架设的BBS站,实用性还需要加强。
今后,国的BBS站将向着个性化和专业化的方向发展。
第2章使用工具及相关知识
2.1 SQL Server 2000概述
Microsoft SQL Server 2000是微软公司推出的关系型数据库,SQL Server 2000具有强大的数据库管理功能,它提供了丰富的管理工具以支持数据的安全性管理、完整性管理和作业管理。
SQL Server 2000是一个具备完全Web支持的数据库产品,它提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,支持发布Web页面和接收电子。
SQL Server 2000可以使用HTTP来向数据库发送查询、对数据库中存储的文档执行全文搜索、以及通过Web进行自然语言查询。
使用SQL Server 2000 可以获得良好的可伸缩性和可靠性。
SQL(Structured Query Language) 意为结构化查询语言,是一种介于关系代数与关系演算之间的结构化查询语言。
它的主要功能就是同各种数据库建立联系,进行沟通。
ANSI(美国国家标准协会)规定SQL是关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据、从数据库中提取数据等。
SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点包括:
1、综合统一
非关系模型的数据语言一般都分为模式数据定义语言(模式DDL)、外模式数据定义语言(外模式DDL)、与数据存储有关的描述语言(DSDL)及数据操纵语言(DML),分别用于定义模式、外模式、模式和进行数据的存取与处置。
当用户数据库投入运行后,如果需要修改模式,必须停止现有的数据库的运行,转储数据,修改模式并编译后再重装数据库,十分麻烦。
SQL语言则集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、建立数据库、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境。
用户在数据库系统投入运行后,还可根据需要随时地逐步地修改模式,且并不影响数据库的运行,从而使系统具有良好的可扩展性。
另外,在关系模式中实体和实体的联系均用关系表示,这种数据结构的单一性带来
了数据操作符的统一,从而克服了非关系系统由于信息表示方式的多样性带来的操作复杂性。
2、高度非过程化
非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求必须指定存取路径。
而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径,存取路径的选择以及SQL语言句的操作过程由系统自动完成。
这不但大大减轻了用户负担,而且有利于提高数据独立性。
3、面向集合的操作方式
非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。
而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
4、以同一种语法结构提供两种使用方式
SQL语言既是自含式语言,又是嵌入式语言。
作为自含式语言,他能够独立地用于联机交互的使用方式,用户何以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言中,供程序员设计程序时使用。
而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。
5、语言简捷,易学易用
SQL语言功能极强,但由于设计巧妙,语言十分简捷,完成核心功能只用了9个动词,SQL语言接近英语口语,因此容易学习,容易使用。
2.2 概述
是建立在微软 .NET Framework上的Web 编程框架,可用于在服务器上建立功能强大的Web应用程序,相对于以往的Web开发技术,提供众多令人心动的新特性。
其优势如下:
1、执行效率的大幅提高
是基于通用语言的程序在服务器上运行。
不像以前的ASP即使解释程序,而是当程序首次在服务器上运行时进行编译,这样的执行效果,当然逐条解释的效率高很多。
2、众多工具的支持
构架可以用Microsoft公司最新的产品Visual 开发环境进行开发,具有WYSIWYG(What You See Is What You Get,所见即为所得)的编辑功能,面
这仅是强大软件支持的一小部份。
3、强大性和适应性
因为是基于通用语言的编译运行程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部平台上,通用语言的基本库、消息机制、数据接口的处理都能无缝地整合到的Web应用中,同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的C#、VB、Delphi等。
将来,这样的多种程序语言协同工作的能力保护你现在的基于COM+开发的程序,能够完整地移植向。
4、简单性和易学性
是运行一些很平常的任务(如表单的提交、客户端的身份验证、分布系统和配置)变得非常简单。
例如页面构架允许用户建立你自己的用户分界面,使其不同于常见的界面。
5、高效可管理性
使用一种字符基础、分级的配置系统,使用户的服务器环境和应用程序的设置更加简单。
因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。
这种被称为零本地管理的观念使的基于应用的开发更加具体和快捷。
一个的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。
6、多处理器环境的可靠性
已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。
即使你现在的应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确是做不到这一点。
7、可扩展性和自定义性
设计时考虑了让开发人员可以在自己的代码中自己定义"plug-in"的模块。
这与原来的包含关系不同,可以加入自己定义的任一组件。
程序的开发从来没有这么简单过。
8、安全性
基于Windows认证技术和应用程序配置,你可以确信你的原程序是绝对安全的。
的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
可以通过在现有ASP 应用程序中逐渐添加功能,随时增强ASP应用程序的功能。
是一个已编译的、基于.NET的环境,并把基于通用语言的程序在服务器上运行。
程序在服务器首次运行时将进行编译,比ASP即时解释程序速度上要快很多,而且可以用任何与.NET兼容的语言(包括 Visual Basic .NET、C# 和 )创作应用程序。
另外,任何 应用程序都可以使用整个 .NET Framework。
开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
可以无缝地与WYSIWYG HTML编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。
这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。
当创建应用程序时,开发人员可以使用Web窗体或XML Web SERVERS,或以他们认为合适的任何方式进行组合。
每一个功能都能得到同一个结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义。
Web窗体用于生成功能强大的基于窗体的Web页。
生成这些页时,可以使用 服务器控件来创建公共 UI 元素,以及对它们进行编程以用于执行常见的任务。
这些控件使程序员能够用可重复使用的置或自定义组件生成Web窗体,从而简化页面的代码。
第3章需求分析
软件需求分析工作是软件生存周期中重要的一步,也是决定性的一步。
只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。
因此,在软件开发前应该做好对软件的需求分析。
3.1 系统功能需求分析
3.1.1 基本功能
论坛的基本功能是构成论坛系统的必要功能,包括如下基本功能。
1、发帖。
论坛最初是为了互相讨论话题而诞生的,发表帖子就是表达自己的看法,与他人进行讨论,因此发帖是论坛首要的功能。
2、浏览帖子。
发表了帖子,就要供他人浏览查看,与他人分享自己的想法和经验。
3、回帖。
浏览了他人发帖子,想要发表自己的想法,参与讨论,就可以回复这个帖子。
其实,发帖→浏览帖子→回帖三大功能周而复始的循环进行,就构成论坛,每个参与论坛的人,主要目的就是发帖,查看已经发表的帖子,针对自己感兴趣的帖子进行回帖,参与讨论。
三大基本功能的相互关系如图3-1所示。
图3-1 论坛基本功能关系图
3.1.2 扩展功能
除以上基本功能外,其他的论坛功能都是扩展功能,包括如下功能。
1、注册登录。
方便经常发帖的人不需要重复填写个人信息。
2、分板块浏览帖子。
有利于具有相同兴趣的用户相互讨论,不易跑题。
3、编辑帖子。
提供给用户更新自己发言的选择。
4、删除帖了。
如果用户发表了不符合论坛规则的帖子,则需要管理员删除这些帖子。
5、转移帖子。
论坛划分了板块,如果帖子容不属于所在板块的关注话题,那么管
理员可以选择将此帖移动到所属话题的板块中去。
6、置顶帖子。
管理员如果需要强调某些帖子的重要,有必看性,可以将这些帖子置顶。
7、指定精华帖。
如果管理员认为某帖子容很好,可以作上标记,推荐给用户看,用户也可以只看精华帖。
8、搜索帖子。
方便用户查找自己需要的容。
9、管理板块。
论坛板块需要先创建,才能被使用,管理员还可以删改板块的相关信息。
10、设置参数。
论坛一般有一些初始化信息,比如论坛名称,每页显示帖子的数量等参数信息。
11、管理用户。
管理员可以对论坛注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户的权限,对于违规用户可以删除。
论坛扩展功能图,如图3-2所示。
图3-2论坛扩展功能图 3.2 系统可行性分析
可行性研究的目的,就是用最小的代价在尽可能短的时间确定问题是否能够解决。
要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。
因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。
系统的可行性分析主要包括技术上的可行性、经济上的可行性、操作上的可行性、法律上的可行性和开发环境上的可行性。
本系统的可行性分析如下:
在技术方面:随着国软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。
从整个系统的技术构成上来看,它属于一个数据库应用类的系统。
其基本操作就是对存在数据库中的数据进行添加、删除、查找、编辑等。
所以就单纯的数据库应用来看,暂不存在太大的技术问题。
因此从技术方面考虑开发此系统是可行的。
在经济方面:现在越来越多的人都通过网络做许多事情,这个BBS系统易于操作,虽然对硬件要求比较高但是其安全性和管理性比较好,实用性比较好,相信经济效益也比较高。
因此从经济方面考虑开发此系统是可行的。
在操作方面:随着时代的发展,全民素质逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。
同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题,因此从操作方面考虑开发此系统是可行的。
在法律方面:此系统没有侵犯他人合法权益,系统所涉及的条款与国家的现行法律没有抵触,不损害国家、集体、个人的任何利益,所以在法律上是完全可行的。
开发环境可行性:开发此BBS系统需要的硬件环境要求比较高,操作系统为 Server Pack 2的Windows 2000 Server或Advanced Server,Windows XP Professional或Windows Server2003系列产品之一,需要安装Internet信息服务,还要有环境,主要就是Visual 2003。
目前来看操作系统和各种软件都不是问题,系统硬件也可以满足,所以从开发环境上来说是可行的。
3.3 数据流分析
数据是信息的载体,是今后系统要处理的主要对象。
因此必须对系统调查中所收集的数据统计和处理以及数据的过程进行分析和整理。
如果有没弄清楚的问题,应立刻返回去弄清楚它。
如果发现有数据不全,采集过程不合理,处理过程不畅,数据分析不深入等问题,应该在此分析过程中研究清楚并解决它。
数据与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。
其具体的做法是:按照业务流程图清理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程绘制成一套完整的数据流图。
根据结构流图画出初步数据流图。
如图3-1所示。
图3 3 论坛流程图
从流程图上可以看到论坛完成的走向,其实每一个流程的节点处都有许多功能,如表3-1所示。
表3-1 论坛功能表
3.4
此系统是基于WEB浏览器的系统开发,后台数据库采用 SQL SERVER 2000,前端使用环境进行开发,开发工具为Visual 2003,编程语言为C#,网页开发工具为DREAMWARE。
3.4.1 运行环境简介
运行环境配置从硬件和软件两方面来描述,所列出的都是系统所能正常运行的最低限度。
面更高的硬件配置和软件环境将会带来更快的运行速度以及更稳定的运行效果。
硬件要求:
CPU:Intel Pentium II 300 MHz(最好Intel Pentium III 600 MHz 以上)。
存:96 MB(最好128 MB以上)。
磁盘空间:3.2GB(完全安装,包括.NET Frameworks 以及.NET IDE全部开发工具和MSDN);2.6GB(选择安装,包括.NET Frameworks 以及.NET IDE 的部分开发工具)。
显示:800×600,256色。
CD-ROM:必需。
软件要求:
Microsoft Windows 2000+SP1(目前最新为SP4)。
Microsoft Internet Explorer 5.5(目前最新为7.0版本)。
IIS 5.0。
其他:MDAC 2.6 Beta 2。
第4章系统总体设计
4.1 系统介绍与功能模块
本系统是利用程序设计语言来开发一个功能完善的BBS管理系统,它包括前台系统和后台系统。
用户在前台的注册、登录,以及修改个人的注册信息组合为注册登录模块。
用户浏览板块、浏览主题贴列表、查看帖子组合成浏览模块。
用户发帖、回帖、编辑自己发布的帖子组合成发帖回帖模块。
管理员编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华帖子组合成管理帖子模块。
以上4个模块是前台模块。
后台模块都是与管理员相关的,设置论坛参数单独为论坛设置模块;创建、修改和删除板块为管理板块模块;添加、删除和设置权限为管理用户模块。
论坛的模块体系图,如图4-1所示。
图41论坛的模块体系图
从用户的角度分析问题,首先区分系统中有几种用户,目前的BBS系统,为了使其简介明了,简化了用户体系,论坛中有两种用户:注册用户和管理员。
一般论坛中的版主权限,划分给管理员,这也是为了分清论坛的使用者和管理者。
对于注册用户,在论
坛的注册行为可以归纳如下。
1、注册个人身份,登录论坛,登录成功后可以修改自己的注册信息。
这些行为只与用户登录相关,功能独立,设计为注册登录模块。
2、浏览板块表,选择某板块,浏览其下的主题帖子列表,查看帖子容,选择需要的帖子。
这些行为是用户读取论坛的板块及帖子的相关信息,设计为浏览模块。
3、可以发表新帖子,也可以回复也有的帖子,同时可以编辑自己写的帖子容。
这些行为是用户参于论坛讨论,发表自己见解的行为,设计成发帖回帖模块。
管理员需要负责整个论坛的正常运转,因此他需要更多的管理功能,可以归纳为如下行为。
1、具备注册用户的功能。
因为管理员也论坛用户,可以参与论坛中的讨论。
2、管理帖子。
管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华帖子,置顶帖子,转移发错板块的帖子,这些行为都是针对帖子的操作,设计为管理帖子模块。
3、管理板块。
论坛中的板块,需要管理员进行创建、管理板块信息,这些行为是对板块的操作,高计为管理板块模块。
4、管理用户。
用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。
同时,管理员可以自主添加、删除用户,这些针对用户信息的操作,设计成管理用户模块。
论坛的功能模块列表,如表4-1所示。
表4-1论坛的功能模块列表
续表4-1
的单独模块。
对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户的权限决定的,论坛的每个功能与相应的权限对应,例如,注册用户具有浏览帖子、发帖、回帖的权限,那么他就能使用论坛中的浏览、发帖、回帖功能。
同一类用户使用的功能模块,是以使用者为中心连接起来的。
另外,操作同类事物的功能模块,也是有相互关系的。
因此,浏览模块与发帖模块、管理帖子模块关联,是由论坛系统流程决定的,如图4-2所示。
管理板块模块与浏览模块关联,是由帖子与板块的父子关系决定的。
帖子依附于板块,先有板块,后有帖子,帖子必须发表在某个板块上,如图4-3所示。
图4-3 管理模块与浏览模块关系图
管理用户模块与注册登录模块关联,是由同一类对象——用户决定的。
注册后获得论坛的身份,成为用户,所有的用户需要接受管理员的管理,用户登录证明自己在论坛中的身份,如图4-4所示。