• 1.09 MB
  • 2022-04-22 13:32:37 发布

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

  • 43页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'论坛的设计与实现毕业论文目录第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包括所有未使用标记而为该会话建立的项目。此集合可用于确定指定会话项的值或遍历集合并检索出会话中所有项目的列表StaticObject包含Session对象范围中用标记创建的所有对象。可用于确定对象特定属性的值,或用于遍历集合并获取所有对象的全部属性属 性CodePage决定将被用以显示动态内容的代码页,代码页是一个可以包括数字、标点符号、以及其他字母的字符集。LCID决定用于显示动态内容的位置标识SessionID返回用户的会话标识。在创建会话时,服务器为每一个会话生成一个单独的标识。会话标识以长整形数据类型返回Timeout以分钟为单位为该应用程序的Session对象指定超时时限。如果用户在该时限内不刷新或请求网页,则该会话将终止方  法Abandon删除所有存储在Session对象中的对象并释放这些对象的源。如果未明确的调用Abandon方法,一旦会话超时,服务器就将删除这些对象当用户通过浏览器在输入正确的用户名和密码成功登录后,服务器使用Session来记录这个用户输入的用户名,以方便显示;而且在用户推退出登录41 辽宁职业学院毕业论文后,会将用户的会话Session清除掉。Abandon是Session唯一的方法。可以清除用户的Session对象并释放用户所占用的资源。3.Session对象是用来建立Web服务器同客户端的联系,并维持这一联系的,其实是一个管理会话的对象,不仅可以保持管理会话,而且在此会话中,可以为此次会话存储特定用户会话所需要的属于它自己的个性化的信息,当用户在应用程序的Web页之间跳转时,存储在Session对象中的所有这些变量都将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Session对象的内容如表2-3所示:表2-3Session对象的集合、属性、方法和事件名  称作用/意义描述集  合Content包括所有未使用标记而为该会话建立的项目。此集合可用于确定指定会话项的值或遍历集合并检索出会话中所有项目的列表StaticObject包含Session对象范围中用标记创建的所有对象。可用于确定对象特定属性的值,或用于遍历集合并获取所有对象的全部属性属  性CodePage决定将被用以显示动态内容的代码页,代码页是一个可以包括数字、标点符号、以及其他字母的字符集。LCID决定用于显示动态内容的位置标识SessionID返回用户的会话标识。在创建会话时,服务器为每一个会话生成一个单独的标识。会话标识以长整形数据类型返回Timeout以分钟为单位为该应用程序的Session对象指定超时时限。如果用户在该时限内不刷新或请求网页,则该会话将终止方  法Abandon删除所有存储在Session对象中的对象并释放这些对象的源。如果未明确的调用Abandon方法,一旦会话超时,服务器就将删除这些对象当用户通过浏览器在输入正确的用户名和密码成功登陆后,服务器使用Session来记录这个用户输入的用户名,以方便显示;而且在用户推退出登陆后,会将用户的会话Session清除掉。Abandon是Session唯一的方法。可以清除用户的Session对象并释放用户所占用的资源。4.Server对象提供了访问服务器的方法和属性,它同服务器的关系非常紧密,但41 辽宁职业学院毕业论文其中大多数方法和属性是为了实用程序的功能服务的。这个对象中常用的是HTMLEncode和MapPath。HTMLEncode可以把HTML编码都作为字符显示出来,MapPath用来获得服务器端的绝对路径。5.Application对象是在特定的应用程序中用于为所有的用户共享信息的饿,基于ASP的应用程序同所在的ASP文件一样在一个虚拟目录及其子目录中定义。为了确保多个用户无法同时改变某一属性,可以共享Application对象。Application对象使用Lock和Unlock方法保证了共享信息管理与操作的可靠性和完备性。6.ObjectContext对象在ASP里不经常用到,主要是用来提交或放弃一项有MicrosoftTransactionServer管理的事物的。1.ASP.NET的优点:(1)较高的安全性ASP.NET允许创建“个人账户”和“角色”,以便每个用户都能访问不同的代码和能运行的代码,从而提高应用程序的安全性。(2)可靠性ASP.NET是一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝技术,大大提高了运行速度。即使现在的ASP.NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变就能提高它们的效能。(3)可扩展性ASP.NET是一项可扩展技术。为了提高ASP.NET应用程序的可扩展性,改进了服务器间的通信,使得可以在多台服务器上进行一个应用程序。(4)高效的管理性ASP.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。[7]一个ASP.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就变得简单。(5)易配置和部署利用纯文本文件配置ASP.NET应用程序,可在程序运行时上传或修改配置文件,而无需重新启动服务器。部署或替换已编译的代码时也无需重新启动服务器,ASP.NET会自动将所有新的请求指向新代码。(6)简单性和易学性ASP.NET是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。另外,通用语言简化开发使把代码结合成软件简单。2.ASP.NET的缺点:41 辽宁职业学院毕业论文(1)代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。(2)代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。2.3B/S架构B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S(C/S(Client/Server,客户/服务器)方式的网络计算模式,1、服务器负责管理数据库的访问,并对客户机/服务器网络结构中的数据库安全层加锁,进行保护;2、客户机负责与用户的交互,收集用户信息,通过网络向服务器发送请求。3、C/S模式中,资源明显不对等,是一种“胖客户机(fatclient)”或“瘦服务器(thinserver)”结构。4、客户程序(前台程序)在客户机上运行,数据库服务程序(后台程序)在应用服务器上运行)结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。B/S模式的优点:(1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。(2)业务扩展简单方便,通过增加网页即可增加服务器功能。(3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。(4)开发简单,共享性强。B/S模式的缺点:(1)个性化特点明显降低,无法实现具有个性化的功能要求。 (个性化的要求取决以软件框架,而非架构,分享B/S软件就蛮灵活) (2)操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 (如果辅助于插件,照样可以用键盘快速操作)(3)页面动态刷新,响应速度明显降低。(分享软件用分页保证响应速度稳定)(4)功能弱化,难以实现传统模式下的特殊功能要求。(技术问题,用微软C#或java怎么会不能解决任何要求呢)41 辽宁职业学院毕业论文2.4数据库技术关系型数据库(RelationDatabase)是若干个依照关系模型设计的数据表的集合。也就是说,关系数据库是由若干个完成关系模型设计的二维表组成的。关系数据库由于以具有与数学方法相一致的关系模型设计的数据表为基本文件,不但每个数据表之间具有独立性,而且若干个数据表之间又具有相关性,这一特点使其具有极大的优越性,并能得以迅速普及。[8]关系数据库有以下特点:(1)以面向系统的观点组织数据,使数据具有最小的冗余度,支持复杂的数据结构;(2)具有高度的数据和程序的独立性,用户的应用程序与数据的逻辑结构,以及数据的物理存储方式无关;(3)由于数据具有共享性,使数据库中的数据能为多个用户服务;(4)关系数据库允许多个用户同时访问,同时提供了各种控制功能,保证数据的安全性、完整性和并发性控制。安全性控制可防止未经允许的用户存取数据;完整性控制可保证数据的正确性、有效性和相容性;并发性控制可防止多用户并发访问数据时由于相干扰而产生的数据不一致。由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支持.目前主要有:Access,FoxPro,Excel,Sybase,Oracle,Informix,SQLServer等,其中网络型的SQLServer,Oracle产品安全性远远高于桌面型的Access,FoxPro等数据库。本系统采用的是微软公司的SQLServer2005.原因如下:第一,SQLServer与Windows2005Server服务器紧密集成,而Windows2005Server服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQLServer2005服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQLServer2005数据库中的数据,符合系统远程访问数据库的要求.第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。[9]本网站使用VS2005作为开发环境,嵌套C#语言的ASP.NET作为编程环境,SQLServer是数据库环境。Microsoft®SQLServer™2005(以下简称mssql2005),是微软公司在SQLSERVER7的基础上开发出来的一套数据库管理系统。它是一种大型的关系型的数据库,扩展了MicrosoftSQLServer7.0版的性能、可靠性、质量和易用性。[10]mssql2005增加了几种新的功能,由此成为大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。MSSQL2005提供了XML支持,并且增强了数据处理能力。它主要包含了三个组件:服务器组件:SQL41 辽宁职业学院毕业论文SERVER数据库引擎、代理程序、搜索服务和分布式事务处理协调器。通信组件:本地通信、网络通信。管理工具:企业管理器与SQL查询分析器。SQLServer2005能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQLServer2005还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。[11]作为一个完备的数据库和数据分析包,SQLServer2005为快速开发新一代企业级商业化的应用程序、为企业赢得核心竞争优势打开了胜利之门。作为重要的基准测试可伸缩性和速度快的记录保持者,SQLServer2005是一个具备完全Web支持的数据库产品。41辽宁职业学院毕业论文41 辽宁职业学院毕业论文第3章论坛系统需求分析3.1系统功能需求本论坛具备一般论坛的功能,提供一个简单实用的学生论坛管理系统。具体的功能模块如下所示:(1)注册登录。参与论坛的人注册自己的用户名及个人信息(详细一点),拥有论坛中的身份,可以获得更多的权限。(2)划分板块浏览帖子。随着帖子数量的增多,话题相同或类似的帖子聚集在一起,引出了论坛系统新的扩展功能,即分板块浏览,属于同一板块的帖子讨论相同的话题。这样就使得对某一话题感兴趣的用户不会被其他帖子干扰,也有利于相同兴趣的用户互相讨论,不易跑题。(3)编辑帖子。发帖回帖的用户,如果需要修改更新自己发表的帖子内容,就引出了编辑帖子内容的这个扩展功能,提供给用户更新自己发言的选择。对于论坛管理员,可以编辑任何帖子的内容,有利于论坛的文明建设。(4)删除帖子。如果用户发表了不符合论坛规则的帖子,则需要管理员删除这些帖子,这就引出了删除帖子的扩展功能。(5)转移帖子。论坛划分了板块,如果帖子内容不属于所在板块的关注话题,管理员可以选择将此帖移动到所属话题的板块中去,这就引出了移动帖子的扩展功能,这个功能是随着板块功能的出现而出现的,板块将帖子进行了分组,从而提出了随话题移动帖子的要求。(6)置顶帖子。帖子一般是根据发表及回复时间倒序排列的,这样先发的帖子慢慢就排到后面,管理员如果需要强调某些帖子重要,有必看性,就要打乱默认的排列顺序,将这些帖子放在列表的最前端,不再按照时间进行顺序的变化,但是还要保证其他帖子按照时间变化顺序进行排序,这就引出了置顶帖子的扩展功能。(7)指定精华帖。如果管理员认为某个帖子的内容非常好,可以打上标记,推荐给看帖的用户,这就引出了指定精华帖的扩展功能。用户可以选择只看打上标记的精华帖。(8)论坛板块管理功能。论坛板块需要先创建,才能被使用,管理员还可以修改板块的相关信息,因此管理板块是管理员使用的扩展功能。(9)设置参数。论坛一般有一些初始化信息,比如每页显示帖子数量等参数信息,管理员可以在后台界面自行设置。(10)管理用户。管理员可以对论坛的注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户的权限,对于违规用户可以删除,这个功能便于管理员对论坛用户的管理。41 辽宁职业学院毕业论文3.2系统需求分析要设计一个一个论坛,首先要分析论坛里需要那些内容,以及各种内容之间的关系。首先列出论坛常用的名词:用户、版面、公共信息、帖子、主题、积分、称号、版主、注册信息、管理员、系统参数。对于以上名词可以精简。主题是帖子的一个特例、积分和称号是用户的一个属性、版主是增加了权限的用户,注册信息是用户的具体属性。所以具体的对象有:用户、版面、公共信息、帖子、管理员、系统参数。具体的操作包括:管理员对用户、帖子、板块功能的管理;客人和用户的对板块、帖子的浏览;客人的注册之后登录页面;用户的发帖、回帖、搜索等操作。3.3性能需求用户总是强调确定他们的功能、行为或需求——软件让他们做的事情。除此之外,用户对产品如何良好地运转抱有许多期望。这些特性包括:产品的易用程度,执行速度,可靠性等。这些被称为软件质量属性(或质量因素)的特性是系统非功能(也叫非行为)部分的需求。然而,质量属性是很难定义的,并且他们经常造成开发者设计的产品和客户满意的产品之间的差异。就像RobertCharette(1990)指出的那样:“真正的现实系统中,在决定系统的成功或失败的因素中,满足非功能需求往往比满足功能需求更为重要”。优秀的软件产品反映了这些竞争性质量特性的优化平衡。软件质量属性包括:对用户最重要的属性:1.有效性(availability):有效性指的是再预定的启动时间中,系统真正可用并且完全运行时间所占的百分比。2.高效性(efficiency):高效性是用来衡量系统如何优化处理器、磁盘或通信的,如果系统用完了所有可用的资源,那么用户遇到的将是性能下降,这是效率降低的一个表现。3.灵活性(flexibility):灵活性表明了在产品中增加新功能时所需工作量的大小。4.完整性(integrity):完整性(安全性)主要涉及;防止非法访问系统功能、防止数据丢失、防止病毒入侵并防止私人数据进入系统。5.互操作性(interoperability):互操作性表明了产品与其它系统交互数据和服务的难易程度。6.可靠性(reliability):可靠性是软件无故障执行一段时间的概率。7.健壮性(robustness)41 辽宁职业学院毕业论文:健壮性指的是当系统或者其组成部分遇到非法输入数据、相关软件或硬件组成部分的缺陷或异常操作情况时,能继续正确运行功能的程序。8.可用性(usability):可用性也称为“易用性”和“人类工程”,它所描述的是许多组成“用户友好”的因素。对开发者最重要的属性:可维护性(maintainability)、可移植性(portability)、可重用性(reusability)、可测试性(testability)。对开发者重要的属性:1.可维护性:可维护性表明了在软件中纠正一个缺陷或做一次更改的简易程序。2.可移植性:可移植性是度量把一个软件从一种运行环境转到另一种环境中所花费的工作量。3.可重用性:从软件开发的长远目标上看,可重用性表明了一个软件组件除了在最初开发的系统中使用之外,还可以在其它应用程序中使用的程度。4.可测试性:可测试性指的是测试软件组件或集成产品时查找缺陷的简单程度。学生论坛系统根据用户对系统的期望来确定质量属性,旨在增强系统可重用性,使系统变得灵活、更易于与其它软件组件相连接、更易于维护、更易于移植并且更易于测试。41第3章论坛系统需求分析3.4硬件环境需求在运行本系统前,请检查以下计算机是否满足以下要求。服务器要求的配置为:CPU:Intel赛扬Ⅳ以上,建议IntelPentiumⅣ以上内存:1G以上,建议2G以上硬盘:20G以上的可用硬盘安装空间操作系统:Windows2005以上,Internet信息服务器6.0(IIS6.0)软件:MicrosoftSQLServer2005以上版本客户机硬件配置要求为:CPU:Intel赛扬Ⅲ以上,建议IntelPentiumⅢ以上内存:32M以上,建议64M以上操作系统:Windows2005以上,IE5.0以上版本41第4章系统总体设计41 辽宁职业学院毕业论文第4章系统总体设计4.1总体设计4.1.1系统设计目标本系统的开发目标是利用ASP.Net技术开发一个关于学生讨论的论坛实现一般论坛具备功能,包括前台会员可以注册,登录,发布信息,回复信息,查询信息等功能,后台管理员可以对整个的论坛数据信息进行管理的在线学生论坛管理系统网站。4.1.2系统设计思想1.功能设计系统主要功能包括网站前台和网站后台管理2个功能模块。本系统主要研究了一个关于学生的论坛系统网站主要实现的功能包括:帖子管理,会员管理,网络在线可以发帖,回帖,搜索帖子,版面管理,分类管理等功能模块。系统功能模块图如图4-1所示:图4-1系统功能模块图用户关联的对象是自身、版面、公共信息、帖子。分别根据用户与这些对象的联系给出一个明确的菜单,如表4-1所示:41 辽宁职业学院毕业论文表4-1用户功能列表功能名称说明用户注册用户在论坛填写必要信息后就可以注册为注册用户,并能在登录后对注册信息进行更改用户登录注册后的用户可利用用户名和密码在论坛登录浏览其他用户信息用户注册后可以查看其他用户的公开信息与其他用户联系可以在论坛内给其他用户私下留言,或直接发送邮件等浏览版面用户可以看到以列表形式展现的版面信息和版面说明浏览发布公共信息未登录的用户可以浏览公共信息,登录后可以发布允许范围内的公共信息浏览帖子用户可以以列表形式浏览帖子主题及其全部内容发布修改删除帖子用户在登录后可以发布帖子、修改自己的帖子,被给予版主权限后还可以编辑、修改、删除权限范围内的其他用户帖子对帖子特殊操作主要针对版主权限用户,对帖子进行置顶、加精华等特殊操作,是帖子主题不同于其他主题版面、公共信息、帖子都没有和其他对象的关联,都属于被动的对象,是被其他对象所操作的,因此针对它们的功能主要是有其他对象产生。版面和帖子是有一定关系的,可以看作是对帖子内容的归类,类似文件夹与文件的关系,有时候可以认为版面是帖子的一个属性。对于管理员的功能,应该认为管理员是论坛的特殊群体,工作是设置论坛参数规则和维护论坛的正常运转。管理员:管理员主要是对其他对象进行操作,是对其他模块的操作人员,同时系统参数设置模块的功能也可以划分进来。修改信息,首先页面将数据中该条信息,通过select语句查询,显示页面中,点击修改的时候,可以获取该条记录的ID,将表单中修改后的数据在后台中获取,用update表名set字段!字段2whereID=取到ID对于用户使用的模块成为前台模块,管理员使用的模块称为后台模块。管理员:管理员主要是对其他对象进行操作,是对其他模块的操作人员,同时系统参数设置模块的功能也可以划分进来。如表4-2所示:表4-2管理员管理功能模块列表模块模块包含的功能管理员管理模块 设置系统参数 数据备份 非法言论过滤 非法IP限制41 辽宁职业学院毕业论文管理员功能如表4-3所示:表4-3管理员功能列表功能名称说明用户删除对于一些蓄意破坏的用户,删除其身份,不允许其存在用户权限对于一个具有管理能力的用户给予一些特殊的权限,让他们在权限范围内帮助管理和维护论坛版面管理版面是论坛的枝干,要设定论坛需要的合适版面,让论坛的功能更明细,分类更规范,方便大家的浏览公共信息管理公共信息是向用户展现论坛状态的部分,由于信息的普遍性,其删除和修改权限需要由管理人员来完成帖子管理帖子是论坛的叶子,是基本数据库,反映了论坛使用者和管理者的水平,所以需要管理人员的全权管理来规范其内容设置系统参数系统参数包含的内容很多,直接关系到论坛的正常运行,包括网址在内的各种参数全部要由管理人员统一设置和变更通过以上分析,论坛的模块划分也就完成了。但如果要把整个论坛系统完整的架构出来,还要分析模块与模块之间的关系,把零散的功能模块用一条主线串联起来。41辽宁职业学院毕业论文对于管理员和用户功能关系可以细化成以下几个相关用例图。论坛设置参数,可以把设置一组参数作为一个方法,也可以把设置一个参数作41辽宁职业学院毕业论文为一个方法,如图4-2所示:管理员设置论坛参数论坛分页参数基本参数用户相关参数图4-2论坛对象的相关功能模块图各个板块有浏览列表和管理两个操作,管理方法又包括了创建、修改和删除这3个子方法,如图4-3所示:41 辽宁职业学院毕业论文管理员管理板块创建板块修改板块删除板块用户浏览列表图4-3板块对象的相关功能模块图帖子有浏览、发帖、回帖、搜索和管理5种方法,浏览方法又可以分列表和查看2个子方法,管理方法又可分编辑、删除、置顶、转移、加精华5个子方法,如图4-4所示:管理员用户管理帖子删除转移置顶加精华编辑发帖回帖搜索浏览图4-4帖子对象的相关功能模块图用户类有注册、登录和管理3个方法,管理方法又分为添加、删除、设置权限3个子方法,如图4-5所示:管理员用户管理用户删除添加设置权限发帖回帖浏览图4-5用户对象的相关功能模块图41 辽宁职业学院毕业论文论坛一般存在两种用户:注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限。这样论坛的基本功能就可以从各种需求中筛选出来了,即发帖、浏览帖子、回帖。基本功能就是构成论坛系统的必要功能,具备这些功能的Web系统即是论坛。论坛一般存在两种用户:注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限。这样论坛的基本功能就可以从各种需求中筛选出来了,即发帖、浏览帖子、回帖。帖子:帖子是论坛的基本,其功能是最多最复杂的,但仍然可以分为两个模块,根据操作对象来区分。如表4-4所示:表4-4帖子功能模块列表模块模块包含的功能帖子模块 浏览帖子 发布、修改、删除帖子 对帖子特殊操作 帖子评价 帖子发布增加多媒体 帖子类别多样化 帖子移动(单个) 帖子收藏 帖子搜索帖子管理模块 帖子管理 帖子移动(批量)会员登录后才能在网站中进行发帖操作,同样的只要登录会员才能回复帖子信息。会员点击任意论坛版面进入之后填写帖子的主题信息和内容信息,点击发布就成功发布一条帖子信息,点击任何一条帖子信息,在下面进行回复帖子的操作。2.扩展功能设计具备了发帖、浏览帖子、回帖的Web系统就构成论坛了,但是这样的论坛很简单,没有吸引力,用户使用起来也不会很舒服,无论是作为商业还是个人论坛都是没有竞争力的。所以需要为其添加一些更人性化的功能使内容更丰富。扩展功能,如表4-5所示:41 辽宁职业学院毕业论文表4-5扩展功能列表功能名称说明用户控制自己的信息用户可控制自己的信息是否公开用户登录添加验证码登录时需输入验证码,如登录信息错误则重新生成验证码。这样可以防止一些软件偷取用户名和密码站内短信让两个用户能在论坛内更方便的交流帖子评价给予用户对一个帖子评价好坏的功能帖子发布添加多媒体如可在帖子内使用表情图片、插入flash、音乐等功能帖子类别多样化让用户可以发起投票、买卖等功能的帖子帖子收藏在论坛中加入搜索但效率却不一定很高,对于好的帖子为了方便用户以后更方便找到这个帖子,可以让用户收藏帖子用户等级建立一个荣誉体系,对于对论坛贡献大的用户给予一定的荣誉称号或者高的论坛等级论坛情况显示让用户直接看到一些论坛统计数据,如主题总数、在线人员等数据备份论坛最重要的就是数据库,但数据库系统的安全并不是100%的,所以为了论坛能持续发展,需要定期对论坛数据库进行备份非法言论过滤对于一些非法言论或不良词汇可以在论坛进行过滤设置,一旦有人使用也会被过滤掉而不至于造成不良影响非法IP限制对于一个蓄意捣蛋的用户,限制他的IP不能访问论坛,但这个有很大的局限性,一般情况下用处不会很大添加了以上功能,论坛就显得更具有亲和力了,而且也更具有实用性。4.2数据库设计论坛系统信息的储存一般是在文件或者数据库中,相比之下数据库要简单高效,能对论坛进行更好的控制,也能对资料提供一些严正和保护。所以目前流行的;论坛都是使用的数据库系统。使用数据库的首先就是要设计数据库的表结构,一个设计良好的数据库结构可以提高效率、方便维护,而且对于可能的扩充也会留有余地。4.2.1数据库概念设计E-R图也即实体-联系图(EntityRelationshipDiagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,实体型(Entity)用矩形表示,矩形框内写明实体名;41 辽宁职业学院毕业论文属性(Attribute)用椭圆形表示,并用无向边将其与相应的实体连接起来;联系(Relationship)用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。[12]构成E-R图的基本要素构成E-R图的基本要素是实体型、属性和联系,其表示方式为:1.实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三丰比如学生张三丰、学生李寻欢都是实体。[13]如果是弱实体的话,在矩形外面再套实线矩形实体名及其属性名集合。2.属性(Attribute):实体所具有的某一特征,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并且无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。3.联系(Relationship):联系也成关系,信息世界中反映实体内部或实体之间的联系。实体内部的联系通常是指构成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。版面信息实体图属性如图4-6所示:图4-6版面信息实体属性图新闻资讯信息实体属性如图4-7所示:图4-7新闻资讯信息实体属性图41辽宁职业学院毕业论文41 辽宁职业学院毕业论文管理员信息实体属性图如图4-8所示:图4-8管理员信息实体属性图分类信息实体属性图如图4-9所示:图4-9分类信息实体属性图帖子信息实体图属性如图4-10所示:图4-10帖子信息实体属性图4.2.2数据库逻辑设计主要数据库表物理设计如下:本论文采用了SQLserver2005数据库管理系统,建立的数据库名为StuBBS。主要数据库表详细信息如下:1.Admin管理员信息表,如表4-6所示:41 辽宁职业学院毕业论文表4-6Admin管理员信息表字段名中文名类型长度(字符)id编号int4Aname登录账号nvarchar50Apwd登录密码nvarchar502.block论坛版面信息表,如表4-7所示:表4-7block论坛版面信息表字段名中文名类型长度(字符)block_id编号int4block_name版面名称nvarchar503.kind论坛分类信息表,如表4-8所示:表4-8kind论坛分类信息表字段名中文名类型长度(字符)kind_id分类编号int4block_Name版面名称nvarchar50block_id版面编号int4kind_name名称nvarchar50kind_describe描述nvarchar504.PageSet分页参数信息表,如表4-9所示:表4-9PageSet分页参数信息表字段名中文名类型长度(字符)TopPage主题分页数量int4RepPage回帖分页数量int45.News新闻资讯信息表,如表4-10所示:41 辽宁职业学院毕业论文表4-10News新闻资讯信息表字段名中文名类型长度(字符)id编号int4name标题nvarchar50AddTime发布时间nvarchar50content内容Text166.replylist帖子回复信息表,如表4-11所示:表4-11replylist帖子回复信息表字段名中文名类型长度(字符)reply_id编号bigint4title_id主题编号bigint4kind_id分类编号bigint4use_id会员编号bigint441第5章系统详细设计7.loginuser会员信息表,如表4-12所示:表4-12loginuser会员信息表字段名中文名类型长度(字符)use_id编号int4name登录账号nvarchar50Password登录密码nvarchar50Email电子邮件nvarchar5041 辽宁职业学院毕业论文第5章系统详细设计5.1登录功能及注册功能的设计用户注册也关系到信息的验证,必须确定一些信息符合一定的规则和要求。用户注册后可以修改自己的信息和密码,如果忘记密码还有相关取回密码的操作。用户登录需要验证密码是否正确,如果不正确系统则显示密码不正确,否则系统则显示登录成功。具体登录流程图如图5-1所示:开始登录输入账号密码密码是否正确N登录成功结束Y图5-1登录流程图对于刚进入的新用户需要注册个人的基本信息,如果用户信息已经存在则系统提示用户已存在,则需要重新填写,否则,则显示注册已成功。虽然用户的用户名不可以更改,但是用户的密码是可以更改的,这是用户身份验证的标识,同时也可以更改自己的密码提问和密码答案。这些更改也基本上和用户信息修改的程序相同,利用用户的编号取出用户的信息,验证用户的修改信息后更新数据库。用户打开论坛时,首先看到的是论坛首页,用户根据首页可以看到相关的内容,如用户登录、用户注册等。首先这个页面应该尽量的美观,操作截面也要看起来简单易用而且具有实用性。网站首页的界面图如图5-2所示:41 辽宁职业学院毕业论文图5-2网站首页登录流程图如图5-3所示:数据信息是否存在注册成功结束开始注册是否存在相同的数据N输入用户信息NYY重新输入用户信息数据信息是否存在注册成功结束开始注册是否存在相同的数据N输入用户信息N图5-3用户注册流程图41 辽宁职业学院毕业论文如果是新会员,则新会员需要填写个人信息,所以需要进如注册页面,进入注册页面需要填写一些信息,页面中主要有登录账户、姓名等。会员注册界面如图5-4所示:图5-4会员注册界面注册首先是要向数据库提交你所填写的信息,这些所填写的信息大多是表单的形式,可以使用Request.form()来获取表单内的文本框。Request是ASP的内置对象,Form是Request的一个获得表单的集合。(1)用户名的验证:在获取的同时就可以对文件长度等进行检测,使用Cint()函数进行强制执行整数运算判断是否在可接受的范围之内。(2)密码的验证:主要验证的是密码的长度,采用Len()函数,可以返回字符串中字符的个数。参数可以是字符串也可以是变量名。41 辽宁职业学院毕业论文检查账号:将注册用户输入注册名称、注册密码,在后台获取,通过对用户表,可以通过select语句查找用户表是否存在有相同用户名和密码用户。如果有相同。系统提示,注册失败。提示用户已注册。用户权限的控制:用户表中有权限字段,字段有固定的字符串提示。5.2发帖及回帖分享等功能的设计会员登录成功之后,输入自己想要发表的帖子信息,点击提交信息按钮进行发表。之后返回系统首页。发帖流程图如图5-5所示:用户登录输入账号密码密码是否正确N登录成功Y输入帖子信息发帖返回系统首页图5-5发帖的流程图当会员打开论坛时,首先看到的是论坛首页,会员从首页可以看到和论坛相关的内容,但是会员必须在登录之后才可以进入发帖页面,在发帖页面中会员可以看到标题、作者等,首先这个页面应该尽量的美观,操作截面也要看起来简单易用而且具有实用性。会员发帖的界面图如图5-6所示:41 辽宁职业学院毕业论文图5-6会员发帖界面会员进入自己关心的界面,之后对自己关心的话题进行讨论,输入自己对别人的信息的评价,回复帖子。会员点击任意论坛版面进入之后填写帖子的主题信息和内容信息,点击发布就成功发布一条帖子信息,点击任何一条帖子信息,在下面进行回复帖子的操作会员进入个人主页之后,可以看到其他会员对该会员发表帖子的评价,会员可以对其进行回帖,点击回复帖子41 辽宁职业学院毕业论文按钮,进入回复帖子页面,在页面中可以看到标题、内容填写的情况等。之后书写用户要回复的内容,书写完毕后,该会员点击回帖按钮,即可对其他会员对该会员发表内容的评价做出回复。会员回复帖子的界面图如图5-7所示:图5-7会员回复帖子界面5.3搜索帖子功能的设计前台会员可以实现搜索帖子的功能,选择论坛的分类,然后输入要搜索信息的关键字如果存在相关的记录就会被搜索出来显示到页面中。前台会员登录页面后,可以根据自己感兴趣的话题进行搜索,在搜索页面中填写自己感兴趣的话进行搜索,弹出内容列表,之后用户可以点击自己喜欢的话题进行交谈。搜索帖子流程图如图5-8图所示:41 辽宁职业学院毕业论文是否存在开始输入搜索条件检索数据库N显示标题列表Y查看内容结束图5-8搜索帖子流程图前台会员可以实现搜索帖子的功能,选择论坛的分类,然后输入要搜索信息的关键字如果存在相关的记录就会被搜索出来显示到页面中。搜索帖子的界面图如图5-9所示:图5-9搜索帖子信息界面有了这些条件可以增加搜索的效率。搜索肯定要用到SQL的Select语句,那么关键就是ASP是如何操作SQL语句的。程序里基本上都是在使用SELECT语句,在程序的第二行的代码是<%SqlColumn="SelectTop"&Cint(Mybbs.Forum_Setting(11))*SearchMaxPageList%>41 辽宁职业学院毕业论文就有Select。这里的Select除了一般的语法外还用到了一些统计上的函数。使用语法如下。Select函数(栏位名称)From表名where表达式Select比较重要的函数有日期函数DateADD()和字符型函数CHAR()、REPLACE()、CAST()和CONVERT()。会员登录后才能在网站中进行发帖操作,同样的只要登录会员才能回复帖子信息。5.4论坛板块管理功能的设计论坛板块管理是后台管理员的功能模块包括对论坛分类的管理,对版面的管理,对帖子信息的管理。管理员可以再后台添加论坛分类信息,添加版面信。管理员可以再后台添加论坛分类信息,添加版面信息,相关的界面如图5-10所示:图5-10添加论坛版面界面管理员可以对会员发布的帖子进行管理,可以编辑帖子信息,可以删除帖子信息,可以操作置顶,设置精华,专业版面等功能。帖子管理的界面如图5-11所示:图5-11帖子信息管理界面41 辽宁职业学院毕业论文管理人员模块实际上其实是多个模块的组合,模块的功能都实现了的话,这里只是对这些功能进行限制。对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户的权限决定的,论坛的每个功能都与相应的权限对应。同一类用户使用的功能模块。是以使用者为中心连接起来的。另外,操作同一类事物的功能模块,也是相互关系的。在论坛里大家最熟悉的就是用户浏览论坛中已有的内容,针对别人的主题展开讨论,也可以发表自己的观点供大家品评。同时为了防止用户发布一些不健康不合法的内容,需要有管理人员来对这些内容进行删除、修改。而且用户想在论坛发布信息则要求他注册,这样来控制用户发布信息和方便管理者操作用户的信息。论坛也要有多个版面和分区,用来区分各种帖子的内容范畴,方便整理和管理。所以论坛的基本功能就是要实现用户的数据库管理和帖子的数据库管理,以及怎么样让这些数据库和网页的操作联系起来。浏览模块与发帖回帖模块、管理帖子模块关联,是由论坛的系统流程决定的;论坛板块管理模块与浏览模块关联,是有帖子与板块的父子关系决定的,帖子依附与板块,先有板块后有帖子,帖子必须发表在某个板块中;管理用户模块与注册登录模块关联,是由同一类对象用户决定的,注册后获得论坛的身份,成为用户,所有的用户需要接受管理员的管理,用户登录证明自己在论坛中的身份。分析了这些关系,我们可以得到论坛系统的整体结构。在系统参数设置中对许多东西都进行了设置,这些东西都是网站必须的和公用的东西。如果不在这里储存,就要在每个页面都写出这些信息,如果一旦其中的某个需要修改,就要把所有的页面都修改一遍,这样工作量就会很大。现在把它们提取出来写,当需要时很容易地就能从数据库中取出来显示在页面上,如果出现变化,就很方便地可以修改了。系统参数程序基本上和用户注册修改信息部分是差不多的,从数据表从读出数据显示在表单,在修改后又把更新后的表单数据提交给数据库更新。41 辽宁职业学院毕业论文第6章系统测试6.1系统测试概述6.1.1测试目标软件测试的目的是尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。明确测试的目的是一件非常重要的事,因为在现实世界中对测试工作存在着许多模糊或者错误的看法,这些看法严重影响着测试工作的顺利进行。有人认为测试是为了证明程序是正确的,也就是说程序不再有错误,事实证明这是不现实的。因为要通过测试来发现程序中的所有错误就要穷举所有可能的输入数据,检查它们是否产生正确的结果。6.1.2测试方法测试的关键是测试用例的设计,其方法可分成两类:白盒测试和黑盒测试。白盒测试是把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。[14]黑盒测试是把程序看成一只黑盒子,测试者完全不了解(或不考虑)程序的结构和处理过程。它根据规格说明书规定的功能来设计测试用例,检查程序的功能是否符合规格说明的要求。软件测试的主要步骤有单元测试、集成测试和确认测试。1.单元测试(UnitTesting)单元测试也称模块测试。通常单元测试可放在编码阶段,程序员在编写好一个模块后,总会对自己编写的模块进行测试,检查它是否实现了详细设计说明书中规定的模块功能和算法。单元测试主要发现编码和详细设计中产生的错误,通常采用白盒测试。[15]2.集成测试(IntegrationTesting)集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要检查模块间的接口和通信。集成测试主要发现设计阶段产生的错误,通常采用黑盒测试。3.确认测试(ValidationTesting)确认测试的任务是检查软件的功能、性能及其他特征与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试。确认测试通常采用黑盒测试。41 辽宁职业学院毕业论文确认测试产生测试程序是否满足需求规格说明书所列的各项要求,然后要进行软件配置复查,特别是文档是否齐全,各方面的质量是否符合要求等。如果一个软件是为某个客户定制的,那么最后由客户来实施验收测试(acceptancetesting),以便客户确认该软件是他所需要的。如果一个软件是作为产品被许多客户使用的话,那不可能为每个客户进行验收测试。大多数软件生产者使用一种Alpha测试和Beta测试的过程,仅由最终用户才能发现的错误。6.2测试方案6.2.1测试要点分析我们对系统的主要功能模块进行测试,测试是否满意系统的要求。是否达到我们的开发需求分析的要求。我们主要对会员注册,会员登录,会员发帖等功能模块进行测试。6.2.2测试内容我们输入正确的登录账号和登录密码系统会显示当前登录用户的账号名称以及注销按钮和进入用户中心按钮。用户管理功能的测试:点击用户管理按钮,弹出用户管理界面,按需求可对用户进行资料删除,修改等操作,功能运行正常帖子管理功能的测试:点击帖子管理按钮,弹出帖子管理界面,按需求可对帖子进行增加,删除,修改等操作,功能运行正常。删除操作,点击管理按钮,系统将该表中的数据循环编写,点击删除按钮时,系统将ID传送到后台,调试命令,执行varadmin=request(“admin”)deletefrom表名whereID=“”。用户登录成功界面如图6-1所示:41 辽宁职业学院毕业论文图6-1登录成功测试我们对输入的信息也是要按照规定的格式进行输入的例如电子邮件信息,比如按照电子邮件的格式进行输入否则给出相应的提示。电子邮件格式错误提示信息如图6-2所示:图6-2电子邮件格式测试针对用户注册页面进行了调试,有些信息是必须填写的,而有些信息是根据用户个人意愿进行填写的,但是验证码是必须填写的。如果按照要求填写程序可以正常的运行。提示信息界面图如图6-3所示:41 辽宁职业学院毕业论文图6-3测试不输入信息直接注册会员注册账号,登录密码,电子邮件等信息是必须输入的信息,我们不输入任何信息直接点击注册系统会提示那些信息是必须输入的。会员注册功能的测试:点击注册按钮,进入注册界面后,按要求填写内容,注册功能成功运行。实际操作中发现不足之处:注册时填写个人信息,相应内容填写不合理时即注册不成功,不能直接弹出对话框提示用户填写内容不合理。搜索帖子功能的测试:会员可以根据关键字可以搜索帖子,在文本框中输入需要搜索帖子内容,可查询到数据库中的帖子列表,实际操作中发现系统的不足:不可进行模糊查询,只有当输入名称与数据库中内容一致时,才能查询到所要找的内容。我们对会员注册进行测试,首先打开会员注册界面如图6-4所示:41 辽宁职业学院毕业论文图6-4会员注册页面41第6章论坛测试系统6.3测试结果分析评价通过对会员注册和会员登录2个功能模块的测试我们测试出系统符合开始我们设计的要求,对输入输出信息要求比较严格,符合一般用户的要求。41致谢41 辽宁职业学院毕业论文结论本文开始从系统概要设计,系统概要设计主要针对选题背景、研究意义、研究现状及本文所做的工作开始介绍。本文接下来介绍了系统开发环境,主要介绍了实施平台、ASP.NET的介绍、B/S架构、数据库技术,例如对ASP.NET的介绍这节中,从ASP.NET的定义到优缺点再到ASP提供的6了元素逐一进行详细的介绍。本文接下来对论坛系统需求分析进行详细分析,开始完成了系统功能需求,其次主要介绍了各模块主要用途、在系统中实现功能和对各模块进行系统化的分解,最后也对性能需求做了简单的介绍。本文接着介绍了系统总体设计,在这章开始设计了系统功能模块图,其次对数据库进行了介绍,同时也绘制各模块实体属性图和各模块数据表,以便对本系统更加了解。本文接着又对系统详细设计,主要介绍登录功能及注册功能的设计、发帖及回帖分享等功能的设计、搜索帖子及回帖功能的设计、搜索帖子功能的设计、搜索帖子功能的设计、板块管理功能的设计,在这章先对绘制流程图,在流程图后边添加界面截图,同时也对一些模块做了简单的介绍,使学生论坛系统更容易让人懂得其中的流程。在最后对系统进行测试,主要对用户登录、用户注册等进行测试,对出现的错误进行改进。本文以学生论坛系统为实例,主要研究在ASP.NET技术下,结合JSP技术,对系统进行较为完善的分析与设计。围绕学生系统,根据系统的功能需求对系统进行了需求分析,确定了系统中的用例角色,通过建立用例图和流程图对系统进行静态建模和动态建模。使得整个系统科学化、规范化、系统化和现代化。本系统优点.功能强大,可以拥有更多的权限。2.功能模块简单、易用,这样各个年龄段的人都能使用。3.用户信息详细,以便忘记密码的用户可以根据自己的信息很容易的找到自己的原密码。但系统也存在着不足:1.没有帮助模块,如果用户遇到困难,不知如何解决。2.用户界面不美观。3.搜索帖子模块应该更加详细一些,可以根据用户名进行搜索。在今后基于WEB的论坛系统的开发过程中,系统的功能和技术仍然有很多可以改进的地方。随着用户需求的提高,功能可以从以下方面完善:1.完善权限管理,提高数据安全性。2.增添帮助模块,使得用户遇到疑难问题时可以寻求解决方法。3.改进界面,使界面更加的美观。在技术方面:1.寻求更好的设计模式开发方案。2.明确重构的重要性。3.增加单元测试的数量,使得测试在开发过程中的效用得要提高和重视。41 辽宁职业学院毕业论文参考文献[1]张苛.中文DreamweaverMX网页设计教程.北京:冶金工业出版社,2003.[2]陈会安.ASP网页制作彻底研究[M].北京:人民邮电出版社,2001. [3]邓文渊,陈惠贞,陈俊荣著.ASP与网页数据库设计[M].北京:中国铁道出版社,2003.[4]黄斯伟.HTML4.0动态网页制作.北京:人民邮电出版社,1999.[5]陈娴,雒海涛编著.ASP信息化系统建设案例.北京:北京人民邮电出版社,2006.[6][美]Andrew.M.Fedorchek.SQLServer核心技术精解.北京:中国水利水电出版社,2000.[7]孙丽君,吴红普著.ASP编程基础及应用实例集锦.北京:人民邮电出版社,2001. [8][美]MichaelLeeRickSawtell.MCSE:SQLServerAdministration考试指南(英文原版).北京:电子工业出版社,1999.[9]马传宝.SQLServer数据库项目案例导航.北京:清华大学出版社,2005.[10]黄明,梁旭著.Asp信息系统设计与开发实例.北京:机械工业出版社,2004.[11]张海藩,牟永敏著.面向对象程序设计实用教程.北京:清华大学出版社,2001.[12]张海藩.软件工程导论(修订版).北京:清华大学出版社,2002. [13]藏杨.ASP软件工程案例精解.北京:电子工业出版社,2004.[14][美]RogerS.Pressman.软件工程实践者的研究方法(英文版第4版).北京机械工业出版社,1999.[15]汤海滨.SQLServer数据库开发技术.北京:科学出版社,2000.41 辽宁职业学院毕业论文致谢首先我要感谢我的指导老师项立明,感谢他在学习上对我的孜孜教诲和重多的启发与帮助,他平易近人,思维敏锐,在任何方面都使得我受益匪浅。而且老师的言行举止又让我懂得了如何与人沟通,如何表达了自己的思想,使得我在今后学习生活中都起到了很大的作用。项立明老师在我毕业设计期间对我的各方面工作都付出了极大的心血,所以我再次对敬爱的项立明老师表示衷心的感谢。其次感谢我在辽宁职业学院学习的三年中,各位任课老师在学习上给予了我悉心指导和热情帮助,他们实事求是、勇攀高峰、虚怀若谷的高尚品德,令我终身受益,在此向他们表示我最崇高的敬意和衷心的感谢。最后感谢同学的大力支持与合作。感谢他们在毕业设计期间帮助我,相互学习、相互促进与我共同克服困难、共同进步。大学三年的学习生活即将结束,毕业设计(论文)为我的大学的学习生活画上了圆满的句号。在此我再次感谢我的毕业设计指导老师项立明老师和一直鼓励我帮助我的各位老师和同学。41'