《论坛毕业论文.doc》由会员分享,可在线阅读,更多相关《论坛毕业论文.doc(32页珍藏版)》请在三一办公上搜索。
1、BBS系统摘 要为了方便师生信息的交流,在结合动态服务网页(ASP)和SQL Server 技术之下开发了这个快截、界面友好的师生交流系统。论坛使用动态服务网页(ASP)技术建设论坛的骨干框架,使用SQL Server 2005制作系统的数据库,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。 该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。 经调试,这个论坛完全可以成为一个很好的师生交流平台,充分利用有限的教育资源,提高资源利用率,同时又能活跃学习氛围,使学习、工作更加
2、方便。关键词:动态服务网页,论坛,用户管理BBS SystemAbstractIn order to facilitate the teachers and students information the exchange, in unified ASP and SQL Server 2005 under the server technology has developed this quick truncation, the contact surface friendly teachers and students alternating-current system. The for
3、um uses the ASP technology construction forum the backbone frame, uses the SQL Server 2005 manufacture system the database, realized a function relatively complete forum system, the net friend has been possible freely to propose the question as well as helped other people to solve the problem, or ex
4、change experience.This forum function is complete, may freely express own viewpoint in here and express the opinion to the forum subject, we also may promptly solve to net friends question, gain to the oneself useful knowledge. After the debugging, this forum definitely may become very good teachers
5、 and students to exchange the platform, the full use limited education resources, raise the resources use factor, at the same time can actively study the atmosphere, causes the study, the work to be more perfect.Keywords: Active Server Pages, BBS, user management目录第1章 系统分析51.1开发背景51.2 BBS 介绍51.3 任务概
6、述61.4 工作内容6第2章 选择开发工具82.1 ASP.NET开发平台82.2 Microsoft SQL Server 200592.3 动软代码生成器92.4 其他辅助开发工具10第3章 概要设计113.1 网站结构图113.1.1 前台功能:113.1.2 后台功能123.2 数据流程分析133.2.1 需求分析13第4章 数据库的设计与实现154.1数据库概要设计154.2数据库结构设计15第5章 功能模块和详细设计195.1网站前台页面总体的设计195.2 网站前台功能板块设计205.2.1 最新图片欣赏功能板块设计205.2.2 新闻功能板块设计205.2.3网友人气和游戏排行
7、功能板块设计205.2.4 论坛主题功能板块设计215.2.5 会员功能板块设计235.2.6 帖子回复功能板块设计245.2.7积分和访问率功能板块设计255.3网站后台管理板块设计265.3.1 后台登录界面的设计265.3.2 论坛主题类别的管理275.3.2 论坛主题的管理28第6章 系统开发小结306.1 系统的特点和局限性306.1.1 系统的特点306.1.2 系统的局限性306.2 系统开发中的收获31谢 辞32参考文献33第1章 系统分析1.1开发背景BBS(Bulletin Board Service,公告牌服务)是Internet上的一种基于细心服务系统。它提供一块公共电
8、子白板,每个用户都可以在上面书写,可发布信息或提出看法。电子公告牌按不同的主题、分主题分成很多个布告栏,布告栏的设立的依据是大多数BBS使用者的要求和喜好,使用者可以阅读他人关于某个主题的最新看法,也可以将自己的想法毫无保留地贴到公告栏中。在BBS里,人们之间的交流打破了时间、空间的限制。在与别人进行交往时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌、健康状况,而这些条件往往是人们在其他交流形式中无可回避的。同样地,也无从知道交谈的对方的真是社会身份。这样,参与BBS的人可以处于一个平等的位置与其他人进行任何问题的探讨。虽然谈话的双方素不相识,却可以亲近地交谈。这对于现在的所有其他交
9、流方式来说是不可能的。BBS站往往是由一些有志于此道的爱好者建立,对所有人都免费开放。而且,由于BBS的参与人众多,因此各方面的话题都不乏热心者。可以说,在BBS上可以找到任何你感兴趣的话题。在BBS上可以不考虑空间的差异,可以与任何一个志趣相投的人进行交谈。BBS一个非常重要的特点就是传输纯文本信息,数据量小,交互的速度也比较快,因此它的更新速度也非常地快。在其他很多方面,BBS同样也起着非常重要的作用。BBS正以其独特的魅力,吸引着众多的网络用户。1.2 BBS 介绍BBS最早是基于文本界面的论坛,不过发展至今,在互联网上,也随处可见各式各样的网络BBS论坛,用户可以自由地阅读上面的文章,
10、可以针对某个用户的文章发表见解,也可以在任何论坛区发表新的文章。可能很多拥有自己主页的人也希望在页面里加入这样一个论坛,来使自己的主页吸引更多的访问者,实现不受时间和空间限制的交流。本页面的目的就在于详细介绍如何使用ASP制作一个精致、强大的网络BBS论坛。随着网络的逐步与深入,作为Internet的一个传统的项目,BBS的地位与作用在逐渐地加强。作为公告牌系统,BBS有着传递信息快速、用户交流方便迅速、内容丰富以及地域广泛等特点,还具有在线聊天以及邮件服务等功能。在自由地发表意见这方面,BBS一直是一个非常重要的场合。大至国家大事小到生活琐事都能在BBS上找到痕迹。在实时交流方面,BBS也是
11、一个非常重要的场合。在BBS上可以不必考虑空间的差异,可以与任何一个志趣相投的人进行交谈。BBS一个非常重要的特点就是传输纯文本信息,数据量小,交互的速度比较快,因此它的更新速度也非常地快。在其他很多方面,BBS同样也起着非常重要的作用。BBS正以其独特的魅力,吸引着众多的网络用户。1.3 任务概述在2个月的时间里,1人的资源,开发BBS论坛和设计文档。BBS论坛主要是让广大用户交流和学习。BBS论坛必须达到以下几点性能:1. 界面友好,操作简单。用户在完成注册后可以自由浏览本论坛的所有资料,可以和别的用户进行实时交流。2. 后台操作数据库对大小类别的编辑和会员的管理等。3. 数据库可以查看注
12、册人数和用户信息。1.4 工作内容1. 合力完成文档中的系统分析、概要设计。2. 负责文档的详细设计部分。3. 网页的制作和资料的搜集。4. 负责程序模块及文档完整后的统一整合。5. 实施进度: 详细设计(包括程序与文档):将在2月完成程序设计计划 系统测试(文档):将在11月完成 用户手册(文档):将在11月完成6. 支持条件 主要设备:奔腾四2.8G处理器,2GDDR3内存,1GMB显存,320G硬盘 操作系统:Windows XP以上开发工具:Dreamweaver 8,Microsoft Visual Studio 2008数据库系统:Sqlserver2005网络系统:电信ADSL第
13、2章 选择开发工具程序设计的编写是以程序设计语言为工具的,并要选择适当的程序设计语言。本系统的前端软件开发工具选用了ASP.NET,后台数据库选用 Microsoft SQL Server 2005,2.1 ASP.NET开发平台随着计算机技术和网络技术的不断发展,人们对网络的要求也越来越高。传统的静态网页技术已不能满足广大互联网用户的需要,各种动态网页技术应运而生。ASP是目前网页制作中最常用的重要技术之一,许多网站都使用ASP 制作网页。ASP并不是一种编程语言,而是一种综合的网络解决方案,它允许用户根据自己的习惯采用不同的语言环境,在服务器端经过语言解释器的解释或 HTML 代码发送给客
14、户端。Microsoft新近推出的ASP.NET不是对ASP在一般意义上的版本更新,而是一门全新的技术,是对ASP如何提供动态Web开发环境的跳跃性发展。ASP.NET几乎完全基于组件和模块化,用户使用的每一个页面、部件和HTML单元都是一个运行时间的组件对象。ASP.NET的面向对象功能使开发者可以通过创建新组件或继承基础类,为整个环境提供延展性。.NET是Microsoft公司应用于Web服务的开发环境而推出的一个整体技术框架。通过.Netruntime统一执行的机制,所有开发语言(VB,C+,C#)都被统一在一个平台上,使开发工具和平台支持的提供代价大大降低,适用性大大提高。.NET的突
15、出特点是它的实用性和高度的集成性。V是该公司推出的下一代可视化开发环境。它为基于组件的应用程序(尤其是在使用Web服务和XML技术方面)开发提供了很大的方便。V提供了一个支持VB,C+和C#开发和运行的新环境。ASP.NET 是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用程序。2.2 Microsoft SQL Server 2005Mircrosoft SQL Server 2005是一个分布式的关系型数据库管理系统,支持B/S结构,具有强大的网络功能,支持发布Web页面以及接受电子邮件。Mircrosoft SQL Server 2005是一个应用广泛的数
16、据库管理系统,具有许多显著特点,例如,用户喜欢的易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性能价格比等。在Mircrosoft SQL Server 2005系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。另外,用户数据都是非常重要的和保密的,这些数据存储在Mircrosoft SQL Server 2005系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。未经授权的用户既不能执行相应的操作,也不能访问数据
17、库中的相应数据。Mircrosoft SQL Server 2005系统具有强大的网上功能,可以在Internet上发布数据库中的数据。在Mircrosoft SQL Server 2005系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。2.3 动软代码生成器动软代码生成器 是一款为程序员设计的自动代码生成器,生成的代码基于面向对象的思想和三层架构设计,结合了Petshop中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。支持不同架构代码生成,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发
18、。 动软代码生成器 同时提供便捷的数据库管理功能和多项其他开发工作中常用到的辅助工具功能,您可以很方便轻松地进行项目开发。让开发变得轻松而快乐!Codematic 同时提供方便的数据库查询管理,SQL脚本生成,存储过程生成,数据库文档生成,Web项目文件发布,代码生成自动导出文件等多项开发工作中常用到的功能,您可以很方便地进行项目开发。2.4 其他辅助开发工具 Macromedia Dreamweaver 8是一个可视化的网页设计和网站管理工具,支最新的Web技术,美观用户界面,多重用户配置,增强的源代码编辑功能,扩的文档格式支持,加强的服务器模式扩展,改进的数据库链接操作,提升了与外部应用程
19、序的协作。Adobe Photoshop CS2软件作为专业的图像编辑标准,可帮助制作适用于Web的最佳品质图像。Macromedia Fireworks 8对于切出适合网页的图片有着很重要的作用。第3章 概要设计3.1 网站结构图3.1.1 前台功能:用户访问论坛首页面后,可进行查看版块信息、查看论坛的帖子、查看精华帖子、查看新闻信息、用户注册等功能。用户在此BBS论坛中通过注册成为该网站的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。前台功能结构图如图3-1所示:浏览者注册登录浏览版块浏览帖子不能发帖成为会员不能回复发表帖子回复帖子子自己的帖子图3-1 前台
20、结构图功能解释: 用户注册:只有在接受论坛条款并填写注册信息的用户能在论坛发 表帖子,新用户注册系统会自动把注册信息添加到后台数据库中 用户登录:登录有两种方式,一种是游客登录,游客可以登录并看 帖子,但不可以发帖子。一种是注册用户登录,具有发帖了权利! 查看我的贴:可以查看我所发的全部帖子及回复 回复帖子:登录注册,用户可以对相关的主题进行快速回复 显示发表者:。显示发表者及回复者 所有帖子:论坛所有帖子 注销:用户注销登录3.1.2 后台功能若用户的权限为管理员,则可进入后台,可进行论坛类别的管理、帖子管理和用户管理的操作。后台功能结构图如图3-2所示。管理员高级会员有会员的权限类别管理帖
21、子管理新闻管理用户管理功能解释: 管理员登录:只有系统管理员才能登录到系统后台管理,其它没有此权限 论坛管理:该项功能分为:添加分类、分类管理、添加论坛、论坛管理。添加分类功能可以增加类别,自动添加到前台主界面上。分类管理可以对已存在的分类进行删除和修改。添加论坛可以实现在某一分类里面添加论坛项目及设定论坛版主。论坛管理可以对已存在的论坛进行修改和删除 用户管理:分为用户管理及等级设定。用户管理:是对以注册用户的信息进行修改或者删除某一用户。等级设定:是对注册用户根据发帖子情况进行级别设置。 帖子管理:分为数据更新、批量删除。数据更新:可以更新帖子回复次数,用户投票时回复帖子数可能会出现不一致
22、的现象,执行本操作以更新每帖的恢复数据。批量删除:可以删除某一用户发表的所有帖子。 管理员管理:该功能分为:添加管理员、编辑管理员。添加管理员用于增加后台的管理人数。编辑管理员可以通过查询功能找到某一管理员,并对该管理员的信息进行修改或者删除。3.2 数据流程分析3.2.1 需求分析 用户使用论坛,有一定的流程:用户注册登陆进入论坛,就某个话题(主题帖)展开讨论,通过发帖功能发布新的话题,通过回帖的功能回复已有的话题,通过搜索功能查找已有的话题;管理员通过管理功能创建、编辑、删除论坛的板块,管理注册用户,管理帖子,设置论坛基本参数。用户管理员管理模块创建模块修改模块删除模块浏览版块列表图3-1
23、 需求分析图用户类有注册、登陆和管理3个子方法,管理方法又分为添加、删除和设置权限3个子方法,如图:用户修改个人信息注册管理员管理用户删除修改增加登录图3-2 用户分析图论坛一般存在两种用户,分别为注册用户和管理员。用户的权限是向下覆盖的,即上级权限包含下级权限,在本论坛中,管理员的权限是上级权限。与注册用户相关的功能,其实就是论坛前台的主要功能。论坛系统的前台,是用户讨论问题的平台,发帖、回帖一直贯穿用户整个的前台活动。同时,由于论坛系统的帖子管理是管理员在帖子浏览时进行的,所以编辑帖子、删除帖子、转移帖子、置顶帖子和指定精华帖等功能也安排在前台实现。其他与管理员相关的功能,包括板块管理、用
24、户管理和论坛设置等都是管理员在后台进行的操作第4章 数据库的设计与实现4.1数据库概要设计 BBS论坛网站所要存储的数据项和数据量相对比较复杂和庞大,首先确定这些数据库表一般是一个表存储一个实体或者对象的相关信息;对于不同的对象和实体,根据具体系统需要来扩展,可以适当细分.通过对系统进行的需求分析、系统流程设计以及系统功能结构的确定,规划出系统中使用的主要数据库实体对象分别为“论坛的大类别”、“论坛的小类别”、“论坛主题的详细信息”、“最新新闻”、“游戏排行”、“用户信息”、“管理员信息”和“帖子管理”。4.2数据库结构设计论坛系统流程图及数据库设计E-R图论坛信息回复信息会员信息后台管理用户
25、信息论坛大类别论坛小类别新闻信息论坛系统图4-1论坛系统流程图论坛系统大类别包含论坛系统小类别包含包含论坛信息回复信息包含包含会员信息图4-2论坛系统数据库设计E-R图数据库名:mybbsDB1. Admin(管理员信息表),本表主要用来保存管理员的信息序号列名数据类型长度小数位标识主键允许空默认值说明1IDint40是否2Adminuservarchar500是否3Passwordvarchar500是表4-1 表名:Admin2. Big(论坛大类信息表),本表主要用来保存论坛的大类的信息序号列名数据类型长度小数位标识主键允许空默认值说明1BigIDint40是是否2BigNamevarc
26、har500否表4-2 表名:Big3. Inf(主题详细信息表),本表主要用来保存论坛所有主题的详细信息、帖子回复信息、用户名、访问数量、用户回复时间序号列名数据类型长度小数位标识主键允许空默认值说明1InfoIDint40是是否2Titlevarchar500是3Picvarchar500是4Contenttext160是5UserNamevarchar500是6Datedatetime83是getdate7VisitNumberint40是18ReplyNumberint40是09IPvarchar500是10SmallIDint40是11Mode001bit10是012Mode002b
27、it10是013Mode003bit10是014Mode004bit10是0表4-3表名:Info4. Reply(用户回复帖子信息表),本表用于保存用户对相应帖子回复的信息序号列名数据类型长度小数位标识主键允许空默认值说明1ReplyIDint40是是否2Picvarchar500是3Contenttext160是4UserNamevarchar500是5Datedatetime83是getdate6IPvarchar500是7InfoIDint40是表4-4 表名:Reply5. Small(论坛小类信息表),本表用于保存相应主题的纲要信息序号列名数据类型长度小数位标识主键允许空默认值说明
28、1SmallIDint40是是否2SmallNamevarchar500是3BigIDint40是表4-5表名:Small 6. Users(用户注册信息表),本表用于保存注册的用户的详细信息序号列名数据类型长度小数位标识主键允许空默认值说明1UserNamevarchar500是否2passwordvarchar500是3Namevarchar500是4Sexchar20是5Birthdaydatetime83是6Cityvarchar500是7Emailvarchar500是8Photovarchar500是9RegDatedatetime83是getdate10Markint40是100
29、表4-6 表名:Users第5章 功能模块和详细设计5.1网站前台页面总体的设计 图4-1 为网站前台母版页截图:图5-1 前台页(1)图5-2 前台页(2)5.2 网站前台功能板块设计5.2.1 最新图片欣赏功能板块设计 此版块主要是为了将网友的最新图片展现出来和其他的网友一起欣赏,并且还可以对此图片加以评论。这样可以增加此论坛的活跃气氛,缓解一些网友郁闷的心情。但是我的论坛的这个功能并没有真正的实现,因为在论坛上如果想要欣赏很多的漂亮的图片我们就必须得去网友个人的论坛空间里欣赏,这样的话还得做个人空间网站,这样就增加了难度。我们也有的同学就是做的个人空间网站,如果想要真正实现这个功能我们相
30、互可以合作,完善这一缺陷。这里只是一个样式而已,这也是此论坛的不足之处。5.2.2 新闻功能板块设计 此版块分为最新国家新闻、网友推荐主题、最新校园主题。每一个小版块都有代表的新闻事实,并且这里的新闻网友可以评论可以回帖,这样可以让网友更多地了解国家的时事动态。小版块之间的滑动式通过JS来实现的,里面的内容是用DataList 进行数据绑定的,每一个主题都是链接到另一个页面。下面的代码是其中的一个版块(最新新闻版块) a href= 5.2.3 网友人气和游戏排行功能板块设计 此版块主要将最人气的网友和最热门的游戏通过数据的绑定呈现出来以供网友参考。网友人气版块的网友是可以链接到网友自己的论坛
31、个人空间,在网友的个人空间里其他的网友可以浏览更多有关的信息。5.2.4 论坛主题功能板块设计 此版块总结了论坛所有的主题的重要的大概信息,网友可以浏览这些主题从而选择自己了解的版块。这个版块是用Table 进行绑定的,然后再链接到 用GridView绑定的List页面以查询详细的信息。 TableRow tr = new TableRow(); TableCell tc = new TableCell(); #region 定义大类别 sqlString = select BigID,BigName from Big order by BigID asc; dt = db.GetDataTa
32、ble(sqlString); Table1.CellPadding = 2; Table1.CellSpacing = 1; Table1.Style.Add(width, 620px); Table1.Style.Add(height, 32px); Table1.Style.Add(color, #454545); for (int index = 0; index dt.Rows.Count; index+) DataRow dr = db.GetDataRow(select count(*) as Number from Small where BigID= + dt.Rowsind
33、exBigID.ToString(); tr = new TableRow(); tr.Height = 32; tr.Style.Add( width, 32px); tr.Style.Add(text-align, left); tr.Style.Add(background, url(Images/bg01.jpg); tr.Style.Add(font-weight, bold); tc = new TableCell(); tc.Style.Add(font-size, 14px); tc.Style.Add(padding-left, 10px); tc.Width = 700;
34、tc.ColumnSpan = 8; tr.Cells.Add(tc); Table1.Rows.Add(tr); #region 定义小类别行开始 sqlString = select SmallID,SmallName from Small where BigID= + dt.RowsindexBigID.ToString() + order by SmallID asc; DataTable mydt = db.GetDataTable(sqlString); tr = new TableRow(); tr.Height = 35; tr.Style.Add(text-align, le
35、ft); tr.Style.Add(background, #ffffff); tr.Style.Add(font-size, 12px); tr.Style.Add(padding-left, 12px); for (int row = 0; row mydt.Rows.Count; row+) DataRow drr = db.GetDataRow(select count(*) as Number fromInfo where SmallID= + mydt.RowsrowSmallID.ToString(); tc = new TableCell(); tc.Style.Add(pad
36、ding-left, 8px); tc.Style.Add(color, #48D1CC); tc.Style.Add(font-size, 12px); tc.Text= + mydt.RowsrowSmallName.ToString() + ( + drrNumber.ToString() + ); tc.Width = 250; tr.Cells.Add(tc); tr.Style.Add(padding-left, 8px); tr.Style.Add(font-size, 12px); if (row + 1) % 5 = 0) tr.Cells.Add(tc); Table1.R
37、ows.Add(tr); tr = new TableRow(); tr.Height = 35; tr.Style.Add(text-align, left); tr.Style.Add(background, #ffffff); tr.Style.Add(font-size, 12px); tr.Style.Add(padding-left, 8px); tr.Cells.Add(tc); Table1.Rows.Add(tr); #endregion 定义小类别行结束 #endregion 定义大类别结束 5.2.5 会员功能板块设计会员注册的界面:图5-3 会员注册页用户名和密码不能为
38、空,密码和确认密码必须是一致的。实现验证用的是验证控件,如:RequiredFieldValidator,CompareValidator。头像可以自己选择,唯一缺陷是头像没有让用户自己选择头像,上传自己的头像。实现的部分代码:string UserName = txtUserName.Text.Trim(); string Password = txtPassword.Text.Trim(); Password = PublicClass.getMd5Hash(Password); string Name = txtName.Text.Trim(); string Sex = rBtnSex.S