版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 学校代码: 学 号: 、 henan institute of engineering 毕业设计(论文)题 目 bbs论坛设计与实现 学生姓名 专业班级 网络08 学 号 系 (部) 计算机科学与工程系 指导教师(职称) 完成时间 2011 年 6月 10 日 目录摘要英文摘要1绪论11.1 bbs的发展背景51.2 bbs对大学生学习生活的影响61.2.1bbs提供了丰富的网络学习资源61.2.2 bbs促进了协作学习61.2.3 bbs提高了学生自主学习能力62软件介绍及设置72.1 ado技术72.2开发环境及工具82.3 asp有关的内置对象的设置82.4与ado 有关的设置93系统
2、需求分析及功能设计103.1需求分析103.2功能设计143.2.1基本功能设计143.2.2扩展功能设计153.3设计可扩充功能的接口184功能模块与数据库设计194.1设计框架194.2模块的划分及设计214.3设计数据库234.4创建数据库235 系统实现245.1 添加模块设计与实现245.2 删除模块设计与实现276结束语296.1 系统的特点与局限性 296.1.1 特点296.1.2 局限性306.2 实施过程中的一些体会30致 谢32参考文献32 bbs论坛设计与实现摘 要近年来,随着互联网技术的发展与互联网信息市场的不断完善,网络的功能和网络信息内容发生了急剧的变化。网络已经
3、成为人们学习生活不可或缺的一部分,在人们获取知识、了解社会方面更是扮演重要角色,而且随着生活环境的改变,社会竞争的日趋激烈,很多人都感觉自己肩上的重任越发沉重起来,从而导致具有心理障碍的人越来越多。如果把心灵比喻成镜子的话,每天都会有尘埃落在上面,我们只有常常擦拭,才能保持心理健康。为了打造一个心与心交流的平台,让更多的人能排除心中的烦闷,还自己一个平静愉悦的心境,在这一形势下,心灵驿站网络论坛应运而生,此而来,心灵驿站是一个让所有加入的人舒解心中不快。在一个没有利益之争的纯净的环境里畅所欲言。心灵是生命的一把碎金,驿站是心灵的一方净土。海内存知己,天涯若比邻。心灵驿站吧还你一个舒畅的心情。轻
4、松的心灵,让你在日趋激烈的竞争中依然活的潇洒。论坛中主要使用了,asp技术和sql,在论文中着重叙述了系统的整体设计,包括开发环境,系统设计目标和功能结构,此外还详细介绍了登录模块的设计和发表、回复以及删除帖子的设计与实现。关键词:论坛,心灵驿站,asp bbs forum design and implementationabstractin recent years, along with internet technologys development and the internet information markets continuous improvement, the net
5、work function and the network information content has had the sudden change. the network already became the people to study lives an indispensable part, in the people knowledge acquisition, the understanding society aspect is the acting strong character, moreover along with living conditions change,
6、 the social competition intense, many people feels on oneself shoulders heavy responsibility to be even more heavy day by day, thus causes to have the psychological barrier person to be getting more and more. if becomes the mind analogy mirror, every day will have the dust to fall on above, we only
7、will then clean frequently, can maintain the psychologically healthy. in order to make the platform which a heart and the heart exchange, enables more people to remove in hearts worriedness, but also a tranquil joyful mood, under this situation, the mind relay station network forum arises at the his
8、toric moment, this comes, the mind relay station is the person debonding which lets all join felt bad about. in does not have struggle in the benefit pure environment to speak freely. the mind is life gold fragments, the relay station is a mind side pure land. in the sea saves the friend, the horizo
9、n, if neighbor. a mind relay station also you happy mood. what is relaxed is the mind, lets you in day by day the keen competition still live natural. the main use of the forum, asp technology and sql, described in the paper focuses on the overall design of the system, including the development envi
10、ronment, system design goals and functional structure, in addition to details of the login module design and publication, reply and delete posts design and implementation.key words bbs,mind relay station,bbs1绪论1.1 bbs的发展背景bbs是在1992年底随着国际互联网的开始流行而迅速发展起来的.互联网的产生使得以前只能在本地访问的bbs可以被全世界随意访问, 这对大多数人来说是极具诱惑
11、力的.bbs 是一个有多人参加的讨论系统,在bbs上大家可以对一个共同感兴趣的问题进行讨论,自由地发表自己的意见与观点,并且能直接与其他的人进行沟通.按照网站的性质以及服务对象来分,迄今有以下几种类型:一是校园bbs.校园bbs作为主要的集中地,在bbs领域具有举足轻重的地位. 由于校园bbs的繁荣,吸引了很多的社会人士参与.二是专业bbs.一般是由各个著名的大公司组建,人们可以利用其交流自己对商品的看法,更为重要的是可以解决商品使用中的问题.。三是商业bbs.它是由isp建立的bbs站点,这类bbs站点各种信息比较多,内容相当丰富。四是小型局域bbs.一般是由个人或小型集体建立,为小范围信息
12、交流服务。五是业余bbs.一般由bbs爱好者个人利用一些免费空间办的bbs,目的是为广大网友提供一个在某些专业上的交流场所.六是新闻媒体bbs.是由新闻媒体网站设立的,为广大网友提供对新闻信息进行评论、发表意见和观点的场所. 随着互联网事业的蓬勃发展.bbs,这个具有强大实时交互功能,信息交流的平台,使人们不再像电视观众、电台听众、报纸杂志读者一样只是被动地观看、收听、阅读,而是可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法。bbs系统中所有操作都可以由用户在客户端浏览器中完成,而服务器端程序会按用户的要求来完成对系统数据的操作,并将结果传给web服务器,再由web服务
13、器处理成html文件后发送到客户端浏览器。这就是所谓的b/s结构应用系统,b/s结构即browser/server(浏览器/服务器)结构,是随着internet技术的兴起,对c/s结构的一种变化或者改进的结构。b/s结构下,用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓n-tier结构。b/s结构,主要是利用了不断成熟的www浏览器技术,结合浏览器的多种script语言(vbscript、javascript)和activex技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随
14、着windows 98/windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。1.2 bbs对大学生学习生活的影响1.2.1bbs提供了丰富的网络学习资源论坛是一个经过学习者整理加工过的网络资源汇集中心,从新闻、学习到娱乐、体育,从文字到视频、音频,bbs汇集了各种形式、内容的网络资源。不少bbs都设有专门的netresources(网络资源)板块;ftp技术和bt技术的发展更是为bbs站内资源的更新、共享提供了方便。如今,大部分大学的bbs论坛都有相应的ftp服务器,不少bbs还与网络新兴的bt技术、blog(博客)技术等连接起来bbs水木清华站就有
15、“水木blog”的栏目)。1.2.2 bbs促进了协作学习基于网络的论坛社区也是各种学习资源组合的场所,为学习者提供了学习环境。作为一个学生参与论坛的网络活动可包括许多种学习的意义,在特定板块内,论坛参与者围绕某个话题或者问题,通过发表、回复话题、版面讨论、站内信件等方式进行互动讨论、相互探讨,形成了一种以学习者为中心的学习方式。从教育网内人气排名前十名的论坛的网友参与的情况来看,在各大学习板块里,基本上每张帖子提出的问题都可以得到网友友好的、认真的回复解答,有着浓郁的协作探讨的学习气氛和良好的学习效果。1.2.3 bbs提高了学生自主学习能力网络学习的本质是一种自主学习,论坛提供了丰富的网络
16、学习资源,使学习者能自主选择和控制学习地点、学习时间、学习方法和学习内容。在论坛里,学生可以自主地围绕学习问题,通过发帖、回复的形式提出讨论,寻求解答帮助,提高了学习的积极性和自主学习的能力。一个成功的bbs系统可以可大大提高承载此论坛的网站点击率,网站浏览者可以畅所欲为,任何问题都可以在这里交流。2软件介绍及基本原理2.1 ado 技术ado (activex data objects) 是微软公司提供给网页开发者在网页中存取数据库的最新技术, 它也是asp内置的重要组件,ado主要的目的是为了存取或修改数据源的数据、或增加数据到指定的数据源, 数据源不仅包括数据库,而且包括dbase、ex
17、cel、foxpro、access 或文本文件等一些小型的数据表, 所以, 只要是odbc 驱动程序所能存取的数据源皆是ado 存取的对象。ado主要是由connection对象、command对象、parameter对象、dataset对象、field对象、property对象及error对象等七个对象与fields数据集合、properties数据集合、parameters数据集合及errors数据集合等四个数据集合所组合而成, 其功能概述如下:在.net框架的system.data命名空间及其子空间中有一些类,这些类被统称ado.net。使用ado.net可以方便地从microsoft
18、access,microsoft sql server或其他数据库中检索,处理数据,并能更新数据库中的数据表。ado.net是对ado的一个跨越时代的改进,它们之间有很大的差别。最主要表现ado.net可通过dataset 对象在“断开连接模式”下访问数据库,即用户访问数据库中数据时,首先要建立数据库的连接,从数据库中下载需要的数据到本地缓冲区,之后断开与数据库的连接。此时用户对数据的操作(添加,修改,删除等)都是在本地进行的。只需更改数据库中的数据,在次与数据库建立连接,在发送修改后的数据到数据库后关闭连接。这样大大减少了因连接过多(访问量较大时)对数据库服务器资源的大量占用。ado.net
19、也支持在连接模式下的数据访问法,该法主要通过datareader对象实现该对象表示的一个向前的,只读的数据集合,其访问速度非常快,效率极高,但其功能有限。此外,由于ado.net传送的数据都是xml格式的,因此任何能够读取xml格式的应用程序都可以使用ado.net进行数据处理,事实上,接收数据的组件不一定要是ado.net组件,它可以是一个基于microsoft visual studio 的解决方案,也可以是任何运行在其它平台上的任何应用程序。ado 提供的七个对象:(1)connection对象负责对指定的数据源进行连接,除此之外,它还可以通过事物(transaction)来确保在事物中
20、所有的数据源变更的全部成功。(2)command对象负责对数据库提供请求,也就是传递指定的sql使命,除此之外,也可能通过command对象对数据库发出数据定义语言(ddl ,data definition language)。(3)parameter对象负责传递command对象所需要的sql命令参数。(4)dataset对象负责浏览和操作从数据库取出的数据。(5)field对象表示指定dataset对象的数据字段。(6)property对象表示ado 的各项对象属性值。(7)error对象负责记录连接过程所发生的错误信息。ado的七个对象及四个数据集合相互的关系图如图2-1所示:图2-1
21、activex data object 关系图2.2 开发环境及工具设计开发的bbs论坛系统要求客户端支持ie6.0以上或与之兼容的浏览器软件,客户端硬件最低要求对应于ie6.0的硬件平台要求。服务器端要求支持asp以及ms access数据库。bbs论坛的开发环境和开发工具为:windows xp,vs2005,sql2000。 2.3 asp有关的内置对象的设置(1)request 对象http 通讯协议是一种请求与响应(request/response)的通讯协议,因此通常由客户端向web 服务器提出请求,web服务器才会响应信息。因此在asp中,特别将“客户端提出的要求”与“web 服
22、务器响应的信息”等动作封装成request 对象与response对象。换言之, request 对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies 等等。(2)response 对象每一种程序语言或开发工具一定都有与用户沟通的界面或函数, asp 也不例外。在asp 中负责将信息传达到用户的对象就是response 对象。(3)server 对象server 对象允许用户取得服务器提供的各项功能,例如 server 对象createobject 方法允许客户端用户建立一个 activexserver 组件实例,其建立组件实例会随着服务器端完成asp网页的处理而
23、自动被释放。如果希望此对象实例可以跨多个asp 网页,就要用到 session 对象保留该组件实例,直到 session 对象的运行时间到了,或是在其他asp 网页调用 session 对象的 abandon 方法,此组件实例才会被释放。(4)session 对象session 对象在 asp 程序编写中占了相当重的份量, 由于网页是一种无状态的程序, 因此几乎无法知道用户的浏览状态。必须通过 session 对象记录用户的相关信息, 以供用户再次对此 web 服务器提出要求时作确认, 例如, 在某些特定的网页中, 常需要用户输入确认的账号和密码, 假如这些身份确认的结果无法保留, 那岂不是每
24、一个网页都需要重新输入一次密码。必须说明, session 对象只能适用于具备 cookie 功能的浏览器。2.4 与ado 有关的设置ado.net是美国微软公司最新推出的,由ado(microsoft activex data objects) 演变而来的数据访问技术。作为.net框架的一部分,ado.net绝不仅仅是前一版本ado的简单升级。ado.net提供了一组.net类,这些类不仅有助于实现对各种数据进行高效访问,使用户能够对数据进行复杂的操作和数据排序,而且形成了一个重要的框架,在这个框架中可以实现应用程序之间的通信和xml web服务(web service)。ado.net采
25、用了层次管理的结构模型,结构的最顶层应用程序(asp.net网站或windows应用程序)中间是数据层(ado.net)和数据提供。在这个层次中数据提供器起到了关健作用。数据提供器相当于ado.net的通用接口,各种不同类型的数据源需要不同的数据提供器,它相当于一个容器,包括一组及相关的命令,它是数据源与数据集之间的桥梁,负责将数据源读入到数据集中,也可 将用户处理完毕的数据保存到数据源中。(1) ado.net不再采用传统的activex技术,是一种与.net框架紧密结合的产物。(2) ado.net包含对xml标准的全面支持,这对于实现跨平台的数据交换具有十分重要的意义。(3)ado.ne
26、t既能在数据源连接的环境下工作,也能在断开数据源连接的条件下工作。特别是后者,非常适合网络环境多用户应用的需要。因为在网络环境中若持续保持与数据源的连接,不但效率低下而且占用系统资源也是很大的,常会因多个用户同时访问同一资源而造成冲突,ado.net较好地解决了在断开网络连接的情况下正确进行数据处理的问题。应用程序和数据库之间保持连的通信,称之“已连接环境”。这种方法能及时刷新数据库,安全性高。但是,由于需要保持持续的连接,所以需要固定的数据库连接,如果使用在internet 上,则对网络的要求较高,并且不宜多个用户共同使用同一个数据库,所以扩展性差。一般情况下,数据库应用程序使用该类型的数据
27、连接。随着网络的发展,许多应用程序要求能在与数据库断开的情况下进行操作,出现了非连接环境。这种环境中,应用程序可以随时连接到数据库获取相应的信息。但是,由于与数据库的连接是间断的,可能获得的数据不是最新的,并且对数据进行更改时可能引发冲突,因为在某一时刻可能有多个用户同时对同一数据操作。在本bbs 系统中主要对 ado 提供的四个数据集合进行了设置:(1) connection 对象包含 errors 数据集合, 在 errors 数据集合中包含数据源响应失败时所建立的 errors 对象.(2) command 对象包含parameters 数据集合, 在parameters 数据集合中包括
28、command 对象所有的parameters 对象.(3) dataset 对象包含fields 数据集合, 在fields 数据集合中包含dataset 对象的所有field 数据字段对象.(4) connection 对象、command 对象、dataset 对象与field 对象皆包含一个properties 数据集合, 在properties 数据集合中包含所对应connection 对象、command 对象、dataset 对象与field 对象的property 对象.3系统需求规划用户使用论坛,有一定的流程:用户注册登陆进入论坛,就某个话题(主题帖)展开讨论,通过发帖功能发
29、布新的话题,通过回帖的功能回复已有的话题,通过搜索功能查找已有的话题;管理员通过管理功能创建、编辑、删除论坛的板块,管理注册用户,管理帖子,设置论坛基本参数。这样的流程就决定了论坛的需求,如图3-1所示: 图3-1 论坛流程图3.1需求分析 从流程图上可以看到论坛完成的走向,其实每一个流程的节点处都有许多功能,如表3-1所示。表3-1 论坛功能列表论坛板块列表浏览帖子发帖回帖控制用户权限编辑帖子删除帖子用户登陆管理用户修改注册信息用户注册管理板块 在这十六个凌乱无序的需求进行整理、归纳、再构建系统的整体框架,设计处数据实体、接口、用户界面,最终将所有功能需求装化为可以编码实现的程序框架。首先,
30、通过观察论坛所有功能需求,可以发现在这十六个功能需求中,如果按照不同事务分类,可以分为四类对象:板块、帖子、用户和论坛。这四类对象,可以设计为四个数据实体,如果用数据库存储它们,可以设计四个基本数据表。如图3-2所示。 模块信息表头像信息表用户信息表 帖子信息表图3-2 基本数据表板块类有浏览列表和管理两个方法,管理方法又可以分为创建、修改和删除3个子方法,如图3-3所示。图3-3 板块对象的相关用例图帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法又可以分为列表和查看2个子方法,管理方法又可以分为编辑、删除、置顶、转移、指定精华5个子方法,如图3-4所示。 图3-4 帖子对象相关用例图
31、用户类有注册、登陆和管理3个子方法,管理方法又分为添加、删除和设置权限3个子方法,如图3-5所示。 图3-5 用户对象相关用例图论坛一般存在两种用户,分别为注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,在本论坛中,管理员的权限是上级权限。与注册用户相关的功能,其实就是论坛前台的主要功能。论坛系统的前台,是用户讨论问题的平台,发帖、回帖一直贯穿用户整个的前台活动。同时,由于论坛系统的帖子管理是管理员在帖子浏览时进行的,所以编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华帖等功能也安排在前台实现。其他与管理员相关的功能,包括板块管理、用户管理和论坛设置等都是管理员在后台进行的操
32、作。3.2功能设计3.2.1基本功能设计通过需求分析,论坛的基本功能可以从众多的需求中筛选出来。顾名思义,基本功能就是构成论坛系统的必要功能,具备这些功能的web系统即是论坛。普通用户的基本功能:l 发帖。论坛最初是为了相互讨论话题而诞生的,发表帖子就是表达自己的看法,与他人进行讨论,因此发帖是论坛首要的功能。l 浏览帖子。发表了帖子,就要供他人浏览查看,与他人分享自己的想法和经验。l 回帖。浏览了他人发表的帖子,想要发表自己的想法,参与讨论,就可以回复这个帖子。其实,发帖浏览帖子回帖三大功能周而复始的循环进行,就构成论坛。每个参与论坛的人,主要目的就是发帖,查看已经发表的帖子,针对自己感兴趣
33、的帖子进行回帖,参与讨论。3.2.2扩展功能设计除了基本功能之外,论坛的其他功能都是扩展功能。管理员的基本功能和扩展功能:l 注册登陆。原先的论坛在发帖回帖时,需要填写自己的笔名。这样,经常发帖的人总是要重复填写笔名,比较麻烦。因此,论坛扩展了用户注册登陆功能,参与论坛的注册自己的笔名以及个人信息,拥有论坛中的身份,发言时就不需要重复填写个人信息了。l 分板块浏览帖子。随着论坛帖子数量的增多,讨论相同话题的帖子聚集在一起,引出了论坛新的扩展功能,即分板块浏览帖子,属于同一板块的帖子讨论同样的话题。这样,就使得对某一话题感兴趣的用户不会被其他帖子干扰,也有利于相同兴趣的用户相互间讨论,不易跑题。
34、l 编辑帖子。发帖回帖的用户,如果需要修改更新自己发表的帖子内容,就引出了编辑帖子内容这个扩展功能,提供给用户更新自己发言的选择。对于论坛管理员,可以编辑任何帖子的内容,也算是提供给管理员进行管理的选择。l 删除帖子。如果用户发表了不符合论坛规则的帖子,则需要管理员删除这些帖子,这就引出了删除帖子的扩展功能。l 转移帖子。论坛划分了板块,如果帖子内容不属于所在板块的关注话题,那么管理员可以选择将此帖移动到所属话题的板块中去,这就引出了移动帖子的扩展功能。这个功能是随着板块功能的出现而出现的,板块将帖子进行了分组,从而提出了随板块移动帖子的要求。l 管理板块。论坛板需要先创建,才能被使用,管理员
35、还可以删除修改板块的相关信息,因此管理板块是管理员使用的扩展功能。l 设置参数。论坛一般有一些初始化信息,比如论坛名称,每页显示帖子数量等参数信息,管理员也可以在后台界面自行设置,这页属于扩展功能。l 管理用户。管理员可以对论坛的注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户权限,对违规用户可以删除,这个扩展功能便于管理员对论坛用户的管理。论坛的扩展功能如图3-6所示。图3-6 扩展功能图 3.3设计可扩充功能的接口 列出了所有基本的和扩展功能之后,在设计时需要考虑以后扩充的余地,即在给论坛添加新的功能的时候,原有的功能正常可用,不受影响。或者丰富扩展某个功能时,能够方便衔
36、接。这就要求在设计程序时,每个功能保留开放的接口,通过接口可以对功能进行扩充,也可以与新功能进行挂接。在uml中,使用类图和组件图来描述系统的软件结构:使用顺序图,通信图,状态机图和活动图来定义系统中软件的行为:在系统的软件和硬件的交接处,部署图用来描述运行软件的处理器和设备的拓扑。部署图用来模拟系统的静态部署图,面静态部署图视主要描述了物理系统组成部份的分布和安装。部署图在极大程度上描述了运行系统的硬件拓扑,它为系统中物理节点,节点之间关系的静态方面建立了可视化的模型,并规定了构造的细节。部署图对于嵌入式,客户/服务器,分布式系统的可视化建模很重要。其实现的原理及思路如图3-7所示。 图3-
37、7功能的可扩充接口实现4功能模块与数据库设计4.1设计框架 在确定了论坛系统的设计思路之后,还需要归纳成系统的相关模块,每个模块实际上就是功能的合理组合。 由于已经将功能做了前台与后台的分类,因此模块也应该分为两大类:前台模块和后台模块。用户在前台的注册、登陆,以及修改个人的注册信息组合成注册信息组合成注册登陆模块。用户浏览板块、浏览主题帖列表、查看帖子组合成浏览模块。用户发帖、回帖、编辑自己发布的帖子组合成发帖回帖模块。管理员编辑帖子、删除帖子、转移帖子、置顶帖子和精华帖子组合成管理帖子模块。以上4个模块是前台模块。后台模块都是与管理员相关的,设置论坛参数单独为论坛设置模块;创建、修改和删除
38、板块为管理板块模块;添加、删除和设置权限为管理用户模块。bbs的模块体系图4-1所示。图4-1 bbs的模块体系图从用户角度分析问题,首先区分系统中有几种用户,目前的论坛系统,为了使其清楚易懂,简化了用户体系,论坛中只有两种用户:注册用户和管理员。一般论坛中的版主权限,划分为管理员,这也是为了使读者容易分清论坛的使用者和管理者。对于注册用户,在论坛中的行为可归纳如下:l 注册个人身份,登陆论坛,登陆成功后可以修改自己的注册信息。这些行为只与用户自身相关,功能独立,设计成注册登陆模块。l 浏览板块列表,选择某板块,浏览其下的主题帖列表,查看帖子内容,搜索需要的帖子。这些行为是用户读取论坛的板块及
39、其帖子的相关信息,设计成浏览模块。可以发表新帖子,也可以回复已有的帖子,同时可以编辑自己写的帖子内容。这些行为是用户参与论坛讨论,发表自己见解的行为,设计为发帖回帖模块。管理员需要负责整个论坛的正常运转,因此他需要更多的管理功能,可以归纳为如下行为:l 具备注册用户的所有功能。因为管理员也是论坛用户,可以参与论坛中的讨论。l 管理帖子。管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华帖,置顶帖子,转移发错板块的帖子,这些行为都是针对帖子的操作,设计成管理帖子模块。l 管理板块。论坛中的板块,需要管理员进行创建、管理板块信息,这些针对板块的操作,设计成管理板块模块。l
40、管理用户。用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。同时,管理员可以自主添加、删除用户,这些针对用户信息的操作,设计成管理用户模块。4.2模块的划分及设计 每个模块的功能都真实反映需求,通过对需求的认真分析,可以设计出符合要求的单独模块。但是,对于一个论坛系统来说,要很好地把握系统地构架,把零散地功能模块用一条主线串连起来,构建完整的系统。 对论坛系统来说,联系各个模块的主线是使用者的权限,用户能够使用论坛的哪些功能是由用户的权限决定的。论坛的每个功能都与相应的权限对应。例如,注册用户具有浏览帖子、发帖、回帖的权限,那么他就能使用论坛中的浏览、发帖、回帖功能。同一类用户使用的
41、功能模块,是以使用者为中心连接起来的。另外,操作同类事务的功能模块,也是有相互关系的。 因此,浏览模块与发帖回帖模块、管理帖子模块关联,是由论坛的系统流程决定的,如图4-2所示。图4-2 帖子相关模块关系图管理板块模块与浏览模块关联,是由帖子与板块的父子关系决定的。帖子依附于板块,先有板块,后有帖子,帖子必须发表在某个板块中,如图4-3所示。图4-3 管理板块模块于浏览模块关系图管理用户模块与注册登陆模块关联,是由同一类对象用户决定的。注册后获得论坛的身份,成为用户,所有的用户需要接受管理员的管理,用户登陆证明自己在论坛中的身份,如图4-4所示。图4-4 管理用户模块与注册登陆模块关系图弄清楚
42、模块间的相互关系,就可以设计出论坛系统的整体架构了,如图4-5所示。图4-5 系统整体架构图 系统因入口的不同而分为前台系统与后台系统。前台系统包括注册登陆模块、浏览模块、发帖回帖模块、管理帖子模块;后台包括管理用户模块、管理板块模块。之所以要把属于管理员权限的管理帖子模块归属于前台,是因为,对于一个论坛系统,帖子是最主要的,为了方便管理,管理员需要一边浏览查看一边进行管理,管理时需要了解帖子的详细内容,以及相关回帖信息,因此将帖子的管理界面融合在前台的浏览界面中。至于其他的模块则比较清楚,是根据用户的权限划分的。4.3设计数据库(1)sql数据库数据库(database)是一系列信息资源的集
43、合。在一个数据库中,与一个项目有关的所有信息都可以叫做一条记录(record)。每一条记录都是由一系列的字段(field)组成的。一系列记录的集合就构成了数据表格(table)。对于一个简单的“平面文件”的数据库来说,它仅包含了一个数据表格,而对一个“关系型”数据库来说,它却包含两个或两个以上的数据表格,表格的各字段之间存在这一种或多种关系(有时可以把这种关系叫做“链接”)。简单的平面文件数据库的用途非常有限,而关系型数据库却能够包含数据以百万计甚至以亿计的记录,并可以利用复杂的标准对这些记录进行操作,例如排序和统计。把它们叫做“关系型”数据库,是因为需要在这些数据表格的字段之间建立特定的链接
44、关系。关系型数据库的优点在于:通过将一个表格中的字段与另一个表格中的字段联系起来,两个表格之间的信息可以相互调用,可以避免信息的重复记录,也可以避免管理上的混乱。因此关系型数据库可以减小数据库的体积,这对于大型的数据库来说具有非常重要的意义。sql server 是一个关系数据库管理系统,它最初是由microsoft sybase 和ashton-tate三家公司共同开发的,于1988 年推出了第一个os/2 版本。sql server 2000 是microsoft 公司推出的sql server 数据库管理系统的一个版本。该版本继承了sql server 7.0 版本的优点同时又比它增加了
45、许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行microsoft windows 98 的膝上型电脑到运行microsoft windows 2000 的大型多处理器的服务器等多种平台使用。 sql server 2000 的特性microsoft® sql server? 2000 的特性包括: internet 集成sql server 2000 数据库引擎提供完整的xml 支持。它还具有构成最大的web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。sql server 2000 程序设计模型与 windows dna 构架集成,用以开发
46、 web 应用程序,并且sql server 2000 支持 english query 和 microsoft 搜索服务等功能,在web 应用程序中包含了用户友好的查询和强大的搜索功能。 可伸缩性和可用性同一个数据库引擎可以在不同的平台上使用,从运行 microsoft windows® 98 的便携式电脑,到运行 microsoft windows 2000 数据中心版的大型多处理器服务器。sql server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 web 站点所需的性能级别。 企业级数据库功能sql server 2000 关系数据库引
47、擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。sql server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 sql server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。 易于安装、部署和使用sql server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署
48、、管理和使用 sql server 的过程。sql server 2000 还支持基于标准的、与 windows dna 集成的程序设计模型,使 sql server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 sql server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。 数据仓库。 sql server 2000 中包括析取和分析汇总数据以进行联机分析处理 (olap) 的工具。sql server 中还包括一些工具,可用来直观地设计数据库并通过 english query 来分析数据。 (2)结构查询语言(sql)sql是结构
49、查询语言(structure query language)的英文缩写,它是使用关系模型数据库的应用语言,由ibm在七十年代开发出来的,实现了关系型数据库中的信息检索。1992年制定了sql标准sql-92,它的全名是“international standard iso/iec9075:1992, database language sql”。sql标准的确定使大多数数据库厂家纷纷采用sql语言作为其数据库检索语言。利用sql语言,可以查询和管理自已的数据库。它由大约30条命令构成,但实际只需要少数的几个命令就可以完成相当多的工作,常用的sql查询命令有:select、insert、dele
50、te、update等。4.4创建数据库使用sql server数据库,用户可以方便访问远程数据信息,而且这种数据库系统的多用户性使得信息共享成了现实。在sql server2000的企业管理器中用户可以十分方便地创建数据库,创建数据库包括创建数据库结构,创建表,创建相应的视图及存储过程等工作。之所以这样设计数据表间关系,主要是考虑论坛中各个对象得相互关系,帖子属于板块,回复帖从属于主题帖,帖子的作者属于用户,因此板块、主题帖、回复帖是一层层的从属依赖关系,帖子的作者必须是论坛的用户,帖子不能脱离板块、用户而单独存在。数据库逻辑结构设计 根据数据库实体e-r图设计出以下数据表结构:(1) tb-
51、content(发贴信息表)发贴信息表主要存储发表帖子的相关信息,如图4-1所示。图4-1 发帖信息表(2) tb-hf(回帖信息表) 回帖信息主要存储回复帖子的相关信息,如图4-2所示。图4-2 回帖信息表(3) tb-touxiang(头像信息表)头像信息表主要存储头像的相关信息,如图4-3所示。图4-3头像信息表(4) tb-users(用户信息表) 用户信息表主要用于存储用户的相关信息,如图4-4所示。图4-4用户信息表(5) 文件的组织结构为了使读者更加系统的了解本系统,以下给出本系统的整体文件组织结构,如图4-6所示。图4-6 网站文件组织结构图5 系统实现与测试5.1 添加模块设
52、计与实现进入心灵驿站论坛,在用户名txtname和密码txtpwd中分别输入用户名和密码,点击“登”按钮,系统将所输入的内容保存在session中,并在tb-user中查询,如果有则返回统计行数,如果结果不为空则登录成功。在literal1中显示登录者姓名。其界面如图5-1所示。图5-1 登录页面在登录论坛之前,论坛首页上显示 “您的当前状态是:未登录!”此时,该用户除了能够进行用户注册之外,没有任何权限访问论坛的任何一个模块。当点击任何一个功能按钮时,页面将会显示:“您没有登录,请返回!”当用户点击“注册”按钮,页面便跳转到用户注册界面,若注册成功,则显示“注册成功”,否则显示“发生错误返回
53、”。主要代码如5-1所示。 protected void imagebutton1_click1(object sender, imageclickeventargs e) sqlconnection con = db.createdb(); sqlcommand cmd = new sqlcommand(); cmd.connection = con; con.open(); cmd.commandtext = select count(*) from tb_users where username= + this.txtname.text + and userpwd= + this.txt
54、pwd.text + ; int a = convert.toint32(cmd.executescalar(); if (a 0) / response.write(alert(恭喜您登录成功!);location=javascript:history.go(-1); sessionusername = this.txtname.text; sessionuserpwd = this.txtpwd.text; this.literal1.text = sessionusername .tostring()+ + 登录成功; txtname.text = ; txtpwd.text = ; else response.write(alert(很遗憾,登录失败!);location=javascript:history.go(-1); con.close();5-1登录代码如果当前用户属于游客,并未是心灵驿站中用户,刚点击“注册
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球及中国汽车空调鼓风电机行业头部企业市场占有率及排名调研报告
- 2025年全球及中国高速铜缆行业头部企业市场占有率及排名调研报告
- 2025-2030全球虚拟首席信息安全官(VCISO)服务行业调研及趋势分析报告
- 2025年全球及中国充电保护装置行业头部企业市场占有率及排名调研报告
- 2025-2030全球矫形外科行业调研及趋势分析报告
- 2025-2030全球机器人滚柱丝杠行业调研及趋势分析报告
- 2025年全球及中国机器人地板洗干一体机行业头部企业市场占有率及排名调研报告
- 2025年全球及中国LLDPE缠绕膜行业头部企业市场占有率及排名调研报告
- 2025年全球及中国AKD中性施胶剂行业头部企业市场占有率及排名调研报告
- 2025-2030全球数字创意展览服务行业调研及趋势分析报告
- 电力沟施工组织设计-电缆沟
- 《法律援助》课件
- 小儿肺炎治疗与护理
- 《高处作业安全》课件
- 春节后收心安全培训
- 小学教师法制培训课件
- 电梯操作证及电梯维修人员资格(特种作业)考试题及答案
- 市政绿化养护及市政设施养护服务方案(技术方案)
- SLT824-2024 水利工程建设项目文件收集与归档规范
- 锅炉本体安装单位工程验收表格
- 报价单(产品报价单)
评论
0/150
提交评论