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