ASP课程设计-BBS.docx
ASP .NET课程设计 目录一、绪论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七、 设计感想30一、绪论1.1 BBS介绍BBS起源于二十世纪80年代初,最早的BBS只提供消息投递和阅读功能,使用者通常是些计算机爱好者。随后,系统允许会员之间分享软件、文件,进行实时网络对话、信件传输等。为了提供更好的服务,一些站点实行收费政策,但目前Internet上还是有无数免费BBS站点。一般BBS站点地址以域名形式出现,这些站点可通过远程登录进行连接,更多的站点采用WWW的形式供会员使用。BBS也被称为异步会议系统、布告板,是网络上除了E-mail之外,最为普遍的在线讨论系统,它来源于早期Internet发展的BBS系统(Bulletin Board System),随着Internet的发展,逐步演变成现在的形式基于Web的BBS系统。在本文中,主要介绍使用ASP.NET技术来实现网络论坛建设。通过基于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和大众信息系统(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整理后,终于完成了个人计算机的第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架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。BBS是在1992年底随着国际互联网的开始流行而迅速发展起来的.互联网的产生使得以前只能在本地访问的BBS可以被全世界随意访问, 这对大多数人来说是极具诱惑力的.BBS 是一个有多人参加的讨论系统,在BBS上大家可以对一个共同感兴趣的问题进行讨论,自由地发表自己的意见与观点,并且能直接与其他的人进行沟通.按照网站的性质以及服务对象来分,迄今有以下几种类型:一是校园BBS.校园BBS作为主要的集中地,在BBS领域具有举足轻重的地位. 由于校园BBS的繁荣,吸引了很多的社会人士参与.二是专业BBS.一般是由各个著名的大公司组建,人们可以利用其交流自己对商品的看法,更为重要的是可以解决商品使用中的问题.三是商业BBS.它是由ISP建立的BBS站点,这类BBS站点各种信息比较多,内容相当丰富. 四是小型局域BBS.一般是由个人或小型集体建立,为小范围信息交流服务. 五是业余BBS.一般由BBS爱好者个人利用一些免费空间办的BBS,目的是为广大网友提供一个在某些专业上的交流场所.六是新闻媒体BBS.是由新闻媒体网站设立的,为广大网友提供对新闻信息进行评论、发表意见和观点的场所. 随着互联网事业的蓬勃发展.BBS,这个具有强大实时交互功能,信息交流的平台,使人们不再像电视观众、电台听众、报纸杂志读者一样只是被动地观看、收听、阅读,而是可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法.29二、 使用工具及相关介绍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 ASP.NET概述ASP.NET是建立在微软 .NET Framework上的Web 编程框架,可用于在服务器上建立功能强大的Web应用程序,相对于以往的Web开发技术,ASP.NET提供众多令人心动的新特性。其优势如下:1、执行效率的大幅提高ASP.NET是基于通用语言的程序在服务器上运行。不像以前的ASP即使解释程序,而是当程序首次在服务器上运行时进行编译,这样的执行效果,当然逐条解释的效率高很多。2、众多工具的支持ASP.NET构架可以用Microsoft公司最新的产品Visual Studio.NET开发环境进行开发,具有WYSIWYG(What You See Is What You Get,所见即为所得)的编辑功能,面这仅是ASP.NET强大软件支持的一小部份。3、强大性和适应性因为ASP.NET是基于通用语言的编译运行程序,所以它的强大性和适应性,可以 使它运行在Web应用软件开发者的几乎全部平台上,通用语言的基本库、消息机制、数据接口的处理都能无缝地整合到ASP.NET的Web应用中,ASP.NET同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的C#、VB、Delphi等。将来,这样的多种程序语言协同工作的能力保护你现在的基于COM+开发的程序,能够完整地移植向ASP.NET。4、简单性和易学性ASP.NET是运行一些很平常的任务(如表单的提交、客户端的身份验证、分布系统和网站配置)变得非常简单。例如ASP.NET页面构架允许用户建立你自己的用户分界面,使其不同于常见的界面。5、高效可管理性ASP.NET使用一种字符基础、分级的配置系统,使用户的服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为零本地管理的观念使ASP.NET的基于应用的开发更加具体和快捷。一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。6、多处理器环境的可靠性ASP.NET已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确是做不到这一点。7、可扩展性和自定义性ASP.NET设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.NET可以加入自己定义的任一组件。网站程序的开发从来没有这么简单过。8、安全性基于Windows认证技术和应用程序配置,你可以确信你的原程序是绝对安全的。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有ASP 应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,并把基于通用语言的程序在服务器上运行。程序在服务器首次运行时将进行编译,比ASP即时解释程序速度上要快很多,而且可以用任何与.NET兼容的语言(包括 Visual Basic .NET、C# 和 Jscript.NET)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET可以无缝地与WYSIWYG HTML编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。当创建ASP.NET应用程序时,开发人员可以使用Web窗体或XML Web SERVERS,或以他们认为合适的任何方式进行组合。每一个功能都能得到同一个结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义。Web窗体用于生成功能强大的基于窗体的Web页。生成这些页时,可以使用 ASP.NET服务器控件来创建公共 UI 元素,以及对它们进行编程以用于执行常见的任务。这些控件使程序员能够用可重复使用的内置或自定义组件生成Web窗体,从而简化页面的代码。三、 需求分析软件需求分析工作是软件生存周期中重要的一步,也是决定性的一步。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。因此,在软件开发前应该做好对软件的需求分析。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信息服务,还要有ASP.NET环境,主要就是Visual Studio.NET 2003。目前来看操作系统和各种软件都不是问题,系统硬件也可以满足,所以从开发环境上来说是可行的。3.3 数据流分析数据是信息的载体,是今后系统要处理的主要对象。因此必须对系统调查中所收集的数据统计和处理以及数据的过程进行分析和整理。如果有没弄清楚的问题,应立刻返回去弄清楚它。如果发现有数据不全,采集过程不合理,处理过程不畅,数据分析不深入等问题,应该在此分析过程中研究清楚并解决它。数据与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。其具体的做法是:按照业务流程图清理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程绘制成一套完整的数据流图。根据结构流图画出初步数据流图。如图3-1所示。论 坛 管 理帖子管理用户管理板块管理普通用户浏览帖子发表帖子回复帖子用户登录判断权限管理员图3-3 论坛流程图从流程图上可以看到论坛完成的走向,其实每一个流程的节点处都有许多功能,如表3-1所示。表3-1 论坛功能表论坛板块表浏览帖子发贴回帖搜索帖子编辑帖子删除帖子精华贴置顶帖子转移帖子用户注册用户登录控制用户权限修改注册信息设置论坛参数管理板块管理用户四、 系统总体设计4.1 系统介绍与功能模块本系统是利用ASP.NET程序设计语言来开发一个功能完善的BBS管理系统,它包括网站前台系统和后台系统。用户在前台的注册、登录,以及修改个人的注册信息组合为注册登录模块。用户浏览板块、浏览主题贴列表、查看帖子组合成浏览模块。用户发帖、回帖、编辑自己发布的帖子组合成发帖回帖模块。管理员编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华帖子组合成管理帖子模块。以上4个模块是前台模块。后台模块都是与管理员相关的,设置论坛参数单独为论坛设置模块;创建、修改和删除板块为管理板块模块;添加、删除和设置权限为管理用户模块。论坛的模块体系图,如图4-1所示。后台模块论坛系统前台模块注册登录模块浏览模块发帖回帖模块管理帖子模块管理板块模块管理用户模块论坛设置模块图4-1论坛的模块体系图从用户的角度分析问题,首先区分系统中有几种用户,目前的BBS系统,为了使其简介明了,简化了用户体系,论坛中有两种用户:注册用户和管理员。一般论坛中的版主权限,划分给管理员,这也是为了分清论坛的使用者和管理者。对于注册用户,在论坛的注册行为可以归纳如下。1、注册个人身份,登录论坛,登录成功后可以修改自己的注册信息。这些行为只与用户登录相关,功能独立,设计为注册登录模块。2、浏览板块表,选择某板块,浏览其下的主题帖子列表,查看帖子内容,选择需要的帖子。这些行为是用户读取论坛的板块及帖子的相关信息,设计为浏览模块。3、可以发表新帖子,也可以回复也有的帖子,同时可以编辑自己写的帖子内容。这些行为是用户参于论坛讨论,发表自己见解的行为,设计成发帖回帖模块。管理员需要负责整个论坛的正常运转,因此他需要更多的管理功能,可以归纳为如下行为。1、具备注册用户的功能。因为管理员也论坛用户,可以参与论坛中的讨论。2、管理帖子。管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华帖子,置顶帖子,转移发错板块的帖子,这些行为都是针对帖子的操作,设计为管理帖子模块。3、管理板块。论坛中的板块,需要管理员进行创建、管理板块信息,这些行为是对板块的操作,高计为管理板块模块。4、管理用户。用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。同时,管理员可以自主添加、删除用户,这些针对用户信息的操作,设计成管理用户模块。论坛的功能模块列表,如表4-1所示。表4-1论坛的功能模块列表模块子模块注册登录模块注册登录修改个人信息浏览模块板块列表主题帖子列表查看帖子内容搜索帖子发帖回帖模块发帖回帖编辑自己的帖子管理帖子模块删除编辑置顶续表4-1模块子模块管理帖子模块转移指定精华管理板块创建修改删除管理用户添加删除设定权限每个模块的功能,都真实反映需求,通过对需求的认真分析,可以设计出符合要求的单独模块。对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户的权限决定的,论坛的每个功能与相应的权限对应,例如,注册用户具有浏览帖子、发帖、回帖的权限,那么他就能使用论坛中的浏览、发帖、回帖功能。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作同类事物的功能模块,也是有相互关系的。因此,浏览模块与发帖模块、管理帖子模块关联,是由论坛系统流程决定的,如图4-2所示。发帖回帖 发帖回帖管理帖子图4-2 帖子相关模块关系图管理板块模块与浏览模块关联,是由帖子与板块的父子关系决定的。帖子依附于板块,先有板块,后有帖子,帖子必须发表在某个板块上,如图4-3所示。板块浏览帖子管理板块图4-3 管理模块与浏览模块关系图管理用户模块与注册登录模块关联,是由同一类对象用户决定的。注册后获得论坛的身份,成为用户,所有的用户需要接受管理员的管理,用户登录证明自己在论坛中的身份,如图4-4所示。注册登录用 户管理用户图4-4 管理用户模块与注册登录模块关系图弄清楚模块间的关系,就可以设计出论坛系统的整体架构,如图4-5所示。管理帖子浏览帖子发帖回帖管理板块选择板块用户注册登录管理用户管理员搜索图4-5 论坛整体架构图系统因入口的不同而分为前台系统与后台系统。前台系统包括注册登录模块、浏览模块、发帖回帖模块、管理帖子模块;后台系统包括管理用户模块、管理板块模块。4.2 数据库设计设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。4.2.1数据库概念设计概念结构设计是整个数据库设计的关键,它是通过对用户需求进行综合、归纳与抽象。得到数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。下面是一些关系的E-R图:帖 子主题标题主题内容发布时间发布人其它回帖主题发帖回帖1N性别其它头像年龄密码登录名用户名手机号用 户M管理N论坛版面版块名管理者论坛参数简介公告其它它图4-6 整体E-R图4.2.1数据库逻辑设计根据物理结构设计的三原则即尽可能减少数据冗余和重复;结构设计与操作设计相结合;数据结构要具有相对的稳定性,进行本系统中关系数据库表结构设计。本系统的数据库采用了大量的数据表,如表4-2所示。表4-2 论坛数据表序号数据表名称说明1T_Operator操作员(用户)表2T_Forum论坛回帖表3T_Topic论坛主题表4T_UserPara系统参数表5T_Mark积分头衔表6T_OperatorFunction用户功能权限关联表7T_Function功能表1、用户表(T_Operator)包括功能ID、正在操作的功能名称、头衔ID、积分、登录名称、密码、头像、注册时间、真实姓名、电话号码、手机号、MSN号、QQ号、ICQ号、地区、邮编、是否管理员、是否版主、发帖数量、回帖数量、身份证号、当前动作、IP地址、是否删除、是否踢出、踢出人(版主)、年龄、性别。如图4-7所示图4-7 用户信息结构图2、论坛回帖表(T_Forum)回帖ID、回帖标题、回复的主题、回帖内容、回帖人ID、回帖日期、是否删除。如图4-8所示图4-8 论坛回帖信息结构图3、论坛主题表(T_Topic)包括主题ID、主题标题、主题内容、发布人、发布时间、是否置顶、是否精华、是否删除、功能ID。如图4-9所示图4-9 论坛主题信息结构图4、系统参数表(T_UserPara)包括参数ID、参数名称、参数描述、参数值。如图4-10所示图4-10系统参数信息结构图5、积分头衔表(T_Mark)包括头衔ID、头衔名称、需要的积分。如图4-11所示图4-11 积分头衔信息结构图6、用户功能权限关联表(T_OperatorFunction)包括权限ID、操作员ID、功能ID。如图4-12所示图4-12 用户功能权限关联信息结构图7、功能表(T_Function)包括功能ID、功能名称、功能描述、功能序号、版主、建立模块日期、最后更新时间、最后发帖人。如图4-13所示图4-13 功能信息结构图五、 详细设计5.1前台设计5.1.1 数据源的建立本系统采用了OleDB和SqlDB两种连接方式,具体步骤如下:(1)在解决方案资源管理器中建立目录SetData(2)在目录中单击鼠标右键,从弹出的菜单中选择【添加】(3)选择【添加Web用户控件】(4)输入控件名connetct-strings.ascx5.1.2 论坛首页首页是系统的窗口,其中用到了DataGrid控件,用来显示论坛的模块。具体的界面如图5-1所示图5-1 论坛首页界面图5.1.3 发帖、回帖发表新贴界面如图5-2所示图5-2 发帖界面图回复帖子界面如图5-3所示图5-3 回帖界面图5.1.4 登录、注册与修改论坛登录是必不可少的一项,只有登录后才可以进入论坛进行活动,具体的界面如图5-4所示图5-4 论坛登录界面图登录信息人填写与验证页面是由Forumlogin.aspx完成的,其中信息的提交、同数据库的信息的交互是由Forumlogin.aspx.cs完成的。要想在论坛登录,就少不了注册个人信息,具体的界面如图5-5所示图5-5 论坛注册界面图用户登录后可以更改自己的登录信息,具体的界面如图5-6所示图5-6 注册信息修改界面图5.2 后台管理设计5.2.1 管理员登录页管理员拥有论坛的最高权限,因此进入论坛管理系统需要严格的身份验证。如图5-7所示图5-7 管理员登录界面图5.2.2 管理菜单页管理员登录成功后进入管理菜单,列出能够执行的操作,如图5-8所示图5-8 管理菜单界面图5.2.3 具体管理单击管理菜单上的同名链接,进入设置论坛的总体参数界面,如图5-9所示图5-9 论坛参数设置界面图单击管理菜单上的同名链接,进入操作员列表界面,如图5-10所示图5-10 操作员管理界面图单击管理菜单上的同名链接,进入讨论话题列表界面,如图5-11所示图5-11 讨论话题管理界面图单击管理菜单上的同名链接,进入回复列表界面,如图5-12所示图5-12 回复管理界面图六、系统测试与调试在开发软件的过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件,但难免还会在工作中犯错。这样,在软件产品中就会隐藏许多错误和缺陷。对于规模大、复杂性高的软件更是如此。在这些错误中,有些是致命的错误,如果不排除,就会导致生命与财产的重大损失。这样迫使人们必须认真计划、彻底地进行软件测试。6.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色。软件要求:Microsoft Windows 2000+SP1(目前最新为SP4)。Microsoft Internet Explorer 5.5(目前最新为7.0版本)。IIS 5.0。6.2 问题与解决方法问题1:BBS系统的发布解决方法:在Microsoft Windows XP Professional系统下,启动IIS ,在其属性面板中的主目录和头文件中设置相应文件;问题2:数据库查询解决方法:将数据表中的各项数据字段与查询语句相对应,功能要齐全。问题3:数据库表的设置解决方法:根据各功能模块设计数据表,各表中的数据字段与各字段名设置相应格式,并对各数据表进行相关联性链接,各数据表设置主关键字。问题4:数据的连接解决方法:用语句进行连接,用了OleDB和SqlDB两种连接方式。问题5:网站整体架构采用局部整合模式解决方法:将整个网站分为几个部分,各个部分单独做成文件,采用流水线的操作方式,最后整体调用,将各个局部部分文件调用主文件中。问题7:浏览模块中内容主题分页显示解决方法:在浏览模块中将各个内容主题进行分页显示,以免一起打开纵向滚动条太长。6.3 安装及设置1、安装:A. 将本网站拷贝到硬盘上的某一目录下,如:拷贝至D:ASP.NET下。B. 运行IIS,将默认的Web站点主目录设置为该目录,如上例应为D:ASP.NET。具体步骤: 1)、启动IIS;2)、单击“属性”按钮,在出现的“编辑属性”对话框中的“目录”项中填入D:ASP.NET,执行权限选项中选择“纯脚本”,由于我是用的是Microsoft Visual Web Developer 2005 速成版,所以在ASP.NET版本选项中要选择“2.0.20727”版本;2、设置:设置启动默认文档为:新建默认文档Index.aspx。七、 设计感想BBS(Bulletin Board Service,公告牌服务)是Internet上的一种信息服务系统。越来越成为人们交流的场所,每个人都可以在这里发表言论。随着网络技术的飞速发展,论坛已经成为网络上不可缺少的交流方式之一,深受网民的喜爱。整个论坛系统使用Browser/Web模式来设计,服务器端采用SQL SERVER 2000数据库系统和ASP.NET组件来构成论坛系统;客户端采用浏览器来完成系统维护和管理。经过这这段时间的课程设计和对相关资料的收集,让我清楚的感到随着互联网的不断发展,使我们的生活离不开它了。在教育越来越受重视的21世纪,随着学生学习类型的不断增加和交流方式的不断提高,技术方面的工作量将会越来越大,在这样的情况下有一个实用的平台让老师和学生从中受益是有其必然性的,如果能做出一个完善的论坛交流系统就会使学生能更好的去学习。在这次的课程设计中虽然时间紧迫但我学会了很多,也感到自身知识的贫乏,希望在日后的努力中能做出更完善的系统。本系统的整个实施过程中,遇到了很多很多的困难。看着自己的设计从无到有,从最初的雏形到如今的完整系统,虽说算不上完善,但也基本符合需求,这不仅仅是自己这些天来辛勤劳动的结晶,更是对自己学习成果的一个检验。