计算机论坛开发毕业设计.docx
《计算机论坛开发毕业设计.docx》由会员分享,可在线阅读,更多相关《计算机论坛开发毕业设计.docx(25页珍藏版)》请在冰豆网上搜索。
![计算机论坛开发毕业设计.docx](https://file1.bdocx.com/fileroot1/2023-1/2/11bc5934-8580-41f2-acf9-019951fdb08b/11bc5934-8580-41f2-acf9-019951fdb08b1.gif)
计算机论坛开发毕业设计
计算机论坛开发毕业设计
目录
绪论1
1计算机论坛的调查及初步分析2
1.1计算机论坛的开发背景2
1.1.1项目背景2
1.1.2项目的选题意义2
1.2关于开发工具的描述3
1.3计算机论坛的需求分析6
1.3.1需要解决的问题6
1.3.2系统目标6
2系统分析7
2.1系统的功能分析7
2.2系统的用况图7
3系统设计8
3.1功能设计8
3.1.1登录注册模块8
3.1.2用户发帖模块9
3.1.3用户回帖模块9
3.1.4浏览帖子模块9
3.1.5管理员信息模块9
3.1.6用户搜索模块9
3.2业务流程图9
3.3数据库设计10
3.3.1数据库概念设计10
3.3.2数据库概要设计10
3.3.3数据库物理设计10
3.4代码设计12
3.4.1会员注册10
3.4.2会员登入13
3.4.3会员发帖14
3.4.4会员查找15
4系统实现17
4.1用户注册登入17
4.2注册用户发帖18
4.3注册用户浏览帖子19
4.4注册用户回帖20
4.5管理会员信息21
4.6主界面21
结论23
参考文献24
致谢25
绪论
论坛系统是互联网上一种人与人之间交互的必备工具。
界面主要以文字为主,提供一个信息交流的空间,它开辟了一块空间供用户读取信息、讨论问题。
早期的论坛系统只提供消息投递和阅读功能,如今的论坛系统允许用户之间分享工具软件、技术文档等资源。
如何设计、建立一个经济、实惠、全面、高效、稳定的论坛系统,是每个开发论坛系统的程序员必须要考虑的问题,在本系统上,网站浏览者可以畅所欲言,任何问题都可以在这里交流,它的最大优点就是自由平等、快捷互动。
一个成功的论坛系统可大大提高承载此论坛的网站点击率,使企业的用户加入到产品、服务等内容的讨论上来,起到收集反馈资料的作用,对企业战略发展有着很好的参考作用。
本文档主要论述了开发一个简单的网上在线论坛系统所用到的关键技术和方法。
其中运用了ASP.NET技术、SQLSERVER数据库、一些数据库控件的运用等等,对上述技术的实现方法进行了详细的讨论。
在WEB服务器上,利用ASP.NET技术等技术,实现了一个很简单的网上在线论坛系统,并详细讨论了该系统的结构及其实现过程。
具有显示版面、查看版面、查看贴子、查看发表的贴子、查看跟帖内容、用户注册、用户登入、发表贴子、回复贴子、进入后台等功能,在设计的过程中力求界面友好、简洁、易于操作。
代码部分尽量避免逻辑错误,算法设计简单合理,尽量使程序具有较好的可读性,有利于其他的设计者对程序的阅读;力求对数据库的操作安全稳定,尽量避免数据库异常,并要保证查询的快速无误。
保证程序的逻辑结构,编程时多注意使用通用函数。
1计算机论坛的调查及初步分析
1.1计算机论坛的开发背景
1.1.1项目背景
本论坛是在.netframework框架下,采用c#语言开发的一个网站。
它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
电子公告牌按不同的主题、分主题分成很多个布告栏,布告栏的设立的依据是大多数论坛使用者的要求和喜好,使用者可以阅读他人关于某个主题的最新看法,也可以将自己的想法毫无保留地贴到公告栏中。
在论坛里,人们之间的交流打破了时间、空间的限制。
在与别人进行交往时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌、健康状况,而这些条件往往是人们在其他交流形式中无可回避的。
同样地,也无从知道交谈的对方的真是社会身份。
这样,参与论坛的人可以处于一个平等的位置与其他人进行任何问题的探讨。
虽然谈话的双方素不相识,却可以亲近地交谈。
这对于现在的所有其他交流方式来说是不可能的。
论坛站往往是由一些有志于此道的爱好者建立,对所有人都免费开放。
而且,由于论坛的参与人众多,因此各方面的话题都不乏热心者。
可以说,在论坛上可以找到任何你感兴趣的话题。
在论坛上可以不考虑空间的差异,可以与任何一个志趣相投的人进行交谈。
论坛一个非常重要的特点就是传输纯文本信息,数据量小,交互的速度也比较快,因此它的更新速度也非常地快。
在其他很多方面,论坛同样也起着非常重要的作用。
论坛正以其独特的魅力,吸引着众多的网络用户。
本毕业设计所采用的,称为浏览器——服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,既适用于局域网,更适用于Internet,而且投资小、见效快,这是一个基于的论坛,基本上涵盖了论坛的一些功能.
1.1.2项目的选题意义
论坛网站是互联网的一种应用服务模式,通过这种服务,互联网用户可以在上面浏览到其他用户在网站发表的各种主题、文章、问题等具有各种表现形式的文字,并且用户可以在上面针对某个具体的内容即时地发表自己的回答、看法、议论等,或者直接发表自己的文章、问题或其它内容。
由于论坛的这种特点,使得全球的用户都可以随时随地进行交流,从而真正做到全球信息的交流。
论坛具有多种表现形式,各网站可以按照自己的服务特点设计出适合自身的论坛形式,例如,各类论坛、在线问答、各种供求信息、网上订购等,都可以是论坛的表现形式。
论坛目前在互联网上得到非常广泛的应用,而且反应非常活跃。
由于论坛可以使网上信息交流变得非常方便、广泛、及时,因而对于加深网站的服务深度、提高网站的知名度、拓展网站的交流范围、激活网站的人气都有不小的作用,因此在互联网的服务中,论坛将是一个重要的内容。
1.2关于开发工具的概述
本系统的前台开发工具使用的是微软公司推出的开发环境VisualStudio2005,数据库开发工具则是SQLServer2005。
下面则分别简单介绍这两种工具:
1.关于VisualStudio2005[1][2][3][4]
VisualStudio是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。
VisualStudio.NET是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,VisualStudio.NET都可以提供近乎完美的解决方案。
VisualStudio.NET提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。
目前VisualStudio已经开发到8.0版本,也就是VisualStudio2012,可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。
VisualStudio2005提供多种工具来帮助程序员和软件开发团队更高效并更快获得结果,建立动态的Windows,Web,Mobile和基于Office的决方案,软件团队间的交流和协作更有效率,更早地质量保证并始终贯穿于整个开发流程。
VisualStudio2005包含了一系列高效的、智能的开发工具,不论是为开发初学者,还是为经验丰富的企业开发团队都提供了很多全新的、强大的功能。
(1)全方位的工具平台:
不论是编程初学者还是富有经验的企业开发团队的一员,能够提供高效的开发工具。
(2)减少开发的复杂度:
确保更加轻松发布基于Framework的解决方案,包括Windows、Web、移动和基于Office的应用。
(3)第三方的生态系统:
允许利用来自VisualStudio行业合作伙伴的参与研发的产品,并体验用来补充VisualStudio2005第三方解决方案的全面部署。
(4)改善团队的沟通:
提供高效智能的生命周期工具,通过使用VisualStudio2005TeamSystem,来增强IT周期参与者之间的交流与协作。
简单的来说,VisualStudio2005只是一个集成开发环境,你可以在VS2005里面使用ASP.NET、VB.NET、C#等语言编程。
2.关于SQLServer2005[5][6][7]8]
SQLServer2005的下一代数据管理和分析解决方案将给企业数据和分析应用程序带来增强的安全性、可伸缩性和可用性,使得它们更易于创建、部署和管理。
SQLServer2005基于SQLServer2000的强大功能之上,提供了一个完整的数据管理和分析解决方案,它将会给不同规模的组织带来帮助:
(1)构建、部署和管理企业应用程序,使其更加安全、伸缩性更强和更可靠。
(2)降低开发和支持数据库应用程序的复杂性,实现了IT生产力的最大化。
(3)能够在多个平台、应用程序和设备之间共享数据,更易于连接内部和外部系统。
(4)在不牺牲性能、可用性、可伸缩性或安全性的前提下有效控制成本。
SQLServer2005在以下三个重要方面改善了数据基础架构:
企业数据管理、开发人员效率和商业智能(BI)。
3.SQLServer数据平台包括以下工具[9][10][11][12]
(1)关系型数据库:
一种更加安全可靠、可伸缩更强且具有高可用性的关系型数据库引擎,性能得到了提高且支持结构化和非结构化(XML)数据。
(2)复制服务。
数据复制可用于数据分发或移动数据处理应用程序、系统高可用性、企业报表解决方案的后备数据可伸缩并发性、与异构系统(包括已有的Oracle数据库)的集成等。
(3)通知服务:
用于开发和部署可伸缩应用程序的先进的通知功能能够向不同的连接和移动设备发布个性化的、及时的信息更新。
(4)集成服务:
用于数据仓库和企业范围内数据集成的数据提取、转换和加载(ETL)功能。
(5)分析服务:
分析处理(OLAP)功能可用于对使用多维存储的大量和复杂的数据集进行快速高级分析。
(6)报表服务:
全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于Web的报表。
(7)管理工具:
SQLServer包含的集成管理工具可用于高级数据库管理和优化,它也与其他工具,如MicrosoftOperationsManager(MOM)和MicrosoftSystemsManagementServer(SMS)紧密集成在一起。
标准数据访问协议大大减少了SQLServer和现有系统间数据集成所花的时间。
此外,构建于SQLServer内的本机Webservice支持确保了和其他应用程序及平台的互操作能力。
(8)开发工具:
SQLServer为数据库引擎、数据抽取、转换和装载(ETL)、数据挖掘、OLAP和报表提供了和MicrosoftVisualStudio相集成的开发工具,以实现端到端的应用程序开发能力。
SQLServer中每个主要的子系统都有自己的对象模型和应用程序接口(API),能够将数据系统扩展到任何独特的商业环境中。
4.SQLServer2005数据平台为各种规模的组织提供了以下好处[13][14][15][16]
(1)充分利用数据资产。
除了为业务线和分析应用程序提供一个安全可靠的数据库之外,SQLServer2005也使用户能够通过嵌入的功能(如报表、分析和数据挖掘等)从他们的数据中得到更多的价值。
您可以充分利用其强大功能性和灵活性将数据传递到组织的每个角落,而成本仅为其他一些系统的一部分。
(2)提高生产效率。
通过全面的BI功能以及熟悉的MicrosoftOffice系统之类的工具集成,SQLServer2005为组织内信息工作者提供关键的、及时的业务信息以满足他们特定的需要。
SQLServer2005的目标是将BI扩展到组织内的所有用户,并且最终帮助组织内所有级别的用户能够基于他们最有价值的资产—数据来做出更好的业务决策。
(3)减少IT复杂性。
SQLServer2005简化了开发、部署和管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了集成的自动管理工具。
(4)降低总体拥有成本(TCO)。
SQLServer2005中集成的方法和对产品易用性和部署上的关注提供了行业上最低的规划、实现和维护成本,使数据库投资能快速得到回报。
5.SQLServer2005将数据库对象的开发与调试集成到VisualStudio2005开发环境中,从而使开发人员能够使用与其目前用于编写托管组件和应用程序相同的工具来生成和部署数据库对象。
1.3计算机论坛的需求分析
1.3.1需要解决的问题
(1)提高论坛的服务质量。
使论坛成为网友自由而公平的交流平台。
在线论坛为网友提供了一个自由交流的平台传统的电视、报纸等诸多媒体,有其比较正规及既定的程序和原则,想在上面发表一些你私人东西比较困难,甚至有些东西压根就没有可能。
所以在论坛里你可以畅所欲言各抒己见。
管理员要做的就是尽量大的为会员们创造私人空间,让他们有更大的话语自由权。
(2)增加论坛的管理效率。
论坛本身是为了让大家自由发言,自由的发言空间同时也会给管理员带来了管理工作上得繁忙。
管理员必须对帖子及其回复做必要的监督及审查,对涉及国家机密及宗教信仰以及一些政治敏感话题等应该给予删除或禁止发帖。
另外还需谨慎注意论坛不要成为人身攻击甚至是淫秽暴力的传播基地。
基于以上因素考虑,管理员需要早最初的论坛设计上下工夫,比如说在查找帖子时使用关键字查询,这样会增加以后的工管理效率。
(3)论坛主要的功能是讨论各种语言的开发技术、技巧,并交流开发经验等,但是需要对技巧栏目的文章浏览和发表文章功能加以限制,这样,论坛管理功能显得尤为重要。
除此之外,还需要将用户划分为不同级别,根据用户级别的不同在论坛中为用户分配不同的权限。
同时,一个成功的论坛系统还需要拥有对各种信息管理的功能。
1.3.2系统目标
开发论坛最终目的是为用户提供一个良好的技术交流平台,得到用户的及时反馈,探讨知识深渊,为了让更多网友共享好资料,为了给繁忙的人们一个休息的空间,为了给一些带着心情而没有地方发泄的游民一个释放的场地,为了给大家一个休闲娱乐的虚拟空间,为了给大家一个畅想未来的机会,为了给大家搭一座交友的网桥,使交流过程便利、快捷,大大缩短了交流时间。
2系统分析
2.1系统的功能分析
1.会员发帖:
每个注册会员在登录状态下可以发表帖子,帖子自动记录访问量;
2.会员信息即时查询:
对应系统的数据库,能够显示目前所有的会员的详细资料并可及时修改;
3.浏览帖子:
会员在登录状态下可以自由浏览帖子,并回帖发表意见;
4.注册会员回帖:
会员在登录状态下可以对自己感兴趣的帖子进行回复,回帖中显示回帖者信息;
5.会员信息管理:
管理员有权限修改删除会员信息。
6.会员搜索:
根据会员的姓名或者ID迅速找到其相关信息,加以处理;
2.2系统的用况图
本论坛系统的用例图如图2.1所示。
图2.1论坛系统设计图
3系统设计
3.1功能设计
根据对论坛的调查了解的情况,对论坛的功能分析,论坛系统应该具备以下基本功能模块:
用户登入,添加新帖子信息,添加用户信息,查询用户信息,修改用户信息,删除用户信息,浏览贴子详细信息页,回复相应贴子信息,用户注册等功能。
基于web的在线论坛系统的功能模块如图3.1所示:
图3.1功能模块图
3.1.1登录注册模块
(1)用户注册:
用户注册,保存用户的个人信息,包括用户姓名,用户密码,英文姓名,电子邮箱,头像。
(2)用户登录:
输入用户名和密码登录系统
(3)用户个人信息修改:
修改用户的个人信息并保存,包括:
用户姓名,用户密码,英文姓名,电子邮箱,头像。
其登入注册模块如图3.2所示。
图3.2计算机论坛系统登入注册模块
3.1.2用户发帖模块
用户发帖的信息包括:
发帖人,发帖时间,发帖标题,发帖内容等。
3.1.3用户回帖模块
用户发回帖的信息包括:
回帖编号,回帖人,会帖时间,回帖标题,回帖内容等。
3.1.4浏览帖子模块
帖子信息包括:
发帖的信息,回帖的信息:
发帖人,发帖时间,发帖标题,发帖内容等,回帖编号,回帖人,会帖时间,回帖标题,回帖内容等
3.1.5管理会员信息模块
对用户信息进行修改和删除。
3.1.6用户搜索模块
包括按用户ID查询和按用户名查询:
用户姓名,用户密码,英文姓名,电子邮箱,头像。
3.2业务逻辑图
计算机论坛所含的业务逻辑图如图3.3所示:
图3.3计算机论坛业务流程图
3.3数据库设计
3.3.1数据库概念设计
通过对网站进行的需求分析、网站流程设计以及系统功能结构的确定,规划处系统中使用的数据库实体对象分别为发帖信息实体、回帖信息实体、头像信息实体以及用户信息实体。
3.3.2数据库概要设计
通过对数据库的概要分析和用户需求的分析,我们可以定义数据库所需要的表。
其数据库设计表如图3.4所示:
图3.4数据库中所包含的表
3.3.3数据库的物理设计
以下则是数据库中的各种表的基本信息。
贴子信息表如表3.1所示:
表3.1帖子相关信息表
字段名
字段名称
字段类型
ContId
Subject
Words
UserNameCreateTime
LastAnswerTime
HitCount
IsTop
UpperId
PostsId
帖子编号
帖子主题
帖子内容
发帖人
创建时间
回复日期
浏览人数
置顶
人气指数
帖子类型编号
Int
Varchar
Varchar
Varchar
Datetime
Datetime
Int
Int
Int
Int
注册用户信息表如表3.2所示:
表3.2注册用户信息表
字段名
字段名称
字段类型
UserId
UserName
UserPwd
Ename
Email
Logo
用户编号
用户名称
用户密码
英文姓名
电子邮箱
邮箱
Int
Varchar
Varchar
Varchar
Varchar
Varchar
用户头像信息表如表3.3所示:
表3.3用户头像信息表:
字段名
字段名称
字段类型
ImageId
Image
头像编号
头像图片
Int
Varchar
贴子信息表如表3.4所示:
表3.4帖子类型表:
字段名
字段名称
字段类型
PostsId
PostsName
帖子类型编号
帖子类型名称
Int
Varchar
3.4代码设计
3.4.1会员注册
会员的注册代码:
SqlConnectioncon=DB.createDB();
con.Open();
SqlTransactionst=con.BeginTransaction();
SqlCommandcmd=con.CreateCommand();
cmd.Transaction=st;
try
{
//向用户表中插入注册信息
cmd.CommandText="insertintotb_Users(UserName,UserPwd,Ename,Email,Logo)values('"+this.txtname.Text+"','"+this.txtpwd.Text+"','"+this.txtywname.Text+"','"+this.txtemail.Text+"','"+this.ddltouxiang.SelectedItem.Text.ToString()+"')";
cmd.ExecuteNonQuery();
st.Commit();
}
catch
{
Response.Redirect("~/tisixinxi/shibai.aspx");
st.Rollback();
}
Response.Redirect("~/tisixinxi/chenggong.aspx");
}
else
{
Response.Write("");
}
当用户注册成功后,此时的界面如图3.5所示:
图3.5用户注册成功界面图
3.4.2会员登入
在文本框内输入注册的用户名和密码,当两者都正确时即可进入论坛,登入的界面如图3.6所示。
会员登入代码:
SqlConnectioncon=DB.createDB();
SqlCommandcmd=newSqlCommand();
cmd.Connection=con;
con.Open();
cmd.CommandText="selectcount(*)fromtb_UserswhereUserName='"+this.txtname.Text+"'andUserPwd='"+this.txtpwd.Text+"'";
inta=Convert.ToInt32(cmd.ExecuteScalar());
if(a>0)
{
Session["UserName"]=this.txtname.Text;
Session["UserPwd"]=this.txtpwd.Text;
this.Label10.Text=this.txtname.Text+""+"登录成功";
}
else
{
Response.Write("");
}
txtpwd.Text=txtname.Text="";
con.Close();
图3.6用户登入界面图
3.4.3会员发帖
在文本框内输入需要发帖的信息,其中用户名是通过Session信息自动获取的,填入剩余的内容后再点击保存后就可以发帖了。
会员发帖如图3.7所示。
会员发帖代码:
SqlConnectioncon=DB.createDB();
SqlCommandcmd=newSqlCommand();
cmd.Connection=con;
con.Open();
cmd.CommandText="insertintotb_Content(Subject,Words,UserName,CreateTime,LastAnswerTime,HitCount,IsTop,UpperId)values('"+this.txtbt.Text+"','"+this.txtnr.Text+"','"+this.lblyhm.Text+"','"+System.DateTime.Now.ToString()+