毕业设计(论文)BBS论坛管理系统.doc

上传人:文库蛋蛋多 文档编号:3976428 上传时间:2023-03-30 格式:DOC 页数:27 大小:894.50KB
返回 下载 相关 举报
毕业设计(论文)BBS论坛管理系统.doc_第1页
第1页 / 共27页
毕业设计(论文)BBS论坛管理系统.doc_第2页
第2页 / 共27页
毕业设计(论文)BBS论坛管理系统.doc_第3页
第3页 / 共27页
毕业设计(论文)BBS论坛管理系统.doc_第4页
第4页 / 共27页
毕业设计(论文)BBS论坛管理系统.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《毕业设计(论文)BBS论坛管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)BBS论坛管理系统.doc(27页珍藏版)》请在三一办公上搜索。

1、论坛管理系统目录一、绪论- 1 - 1.1开发背景- 1 - 1.2系统目标- 1 - 1.3定义- 1 -二、系统概述- 2 - 2.1系统流程- 2 - 2.2 版块、帖子、用户模块的主要实现思路及图例- 2 -三、系统需求分析- 5 - 3.1系统基本功能需求- 5 - 3.2系统数据库设计- 5 - 3.3系统业务流程及描述- 7 -四、系统功能分析- 11 - 4.1功能界面框图- 11 - 4.2功能描述- 11 -五、系统主要界面设计- 13 - 5.1 显示帖子列表页面- 13 - 5.2 发表帖子页面- 15 - 5.3 管理员登录页面- 18 - 5.4 后台用户管理页面-

2、 20 -六、系统总结- 23 - 6.1系统特点及不足- 23 - 6.2系统以后的扩展与拓宽- 23 - 6.3自己的体会与感想- 23 -致谢- 24 -参考文献- 25 -一、绪论1.1开发背景BBS起源于20世纪80年代初。最初,论坛只是用于发布公告信息,讨论问题的在线交流平台。后来,随着网络的普及,论坛的功能越来越丰富,受到广大网民的欢迎。因此,商业网站对论坛重视起来,纷纷在自己的网站上开辟论坛。作为与网民交流的园地。同时在线技术支持和在线服务也在论坛中开展起来。当代的大学生几乎都会接触甚至经常登陆自己感兴趣的论坛,在上面可以分享,也可以交流意见,但是,能把他们集中起来的论坛并不是

3、很多。BBS论坛系统是为了方便大家的沟通和获取信息而开发的系统。我们利用Asp.Net知识和SqlServer2005开发BBS论坛管理系统。该系统以Internet为平台,前台可使任何人注册、登录、登录在论坛上进行发帖、回帖、浏览帖子等。管理员也可以在后台对帖子、版块、用户等进行相关的管理。一个小型BBS论坛系统的前台功能主要包括浏览搜索帖子、用户登陆注册、发表回复帖子、个人资料管理和帖子管理;后台功能主要包括用户管理、论坛版块管理和帖子管理等。1.2系统目标开发本系统意在吸纳大部分游离在众多论坛的大学生,达到校内网等论坛的目标. 系统开发的总任务是实现文章的成功发表,留言的发布与回复。从而

4、达到用户之间信息交流的目的。系统主要面向两类用户:用户和系统管理员。用户可以先注册,然后在网站里发表文章、留言等。系统管理员可以对用户的信息进行增添和删除及修改,对版块进行增加、删除和修改操作;还可以对网站进行修改与维护。1.3定义论坛也称为BBS,是bulletin Board System的简称,意即电子公告板,是一种在Internet上常见的用于信息服务的Web系统,它主要给浏览者提供相互沟通的平台,以此来吸引用户,服务用户。二、系统概述2.1系统流程浏览者用户注册登录搜索管理版块浏览版块管理用户发帖浏览帖子回帖管理帖子管理员图2-1 系统整体流程图2.2 版块、帖子、用户模块的主要实现

5、思路及图例版块类有浏览列表和管理两个方法,管理方法可以分为创建、修改和删除3个方法,如图2-2和图2-3。管理员设置论坛参数论坛分页参数基本参数用户相关参数图2-2 管理员参数分类管理员设置论坛参数创建板块修改板块删除板块用户浏览板块列表图2-3 版块类的方法设置帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法又可以分为列表和查看2个子方法,管理方法又可以分为编辑、删除、置顶等子方法,如图2-4用户管理员浏览帖子搜索回帖管理帖子编辑指定精华置顶转移删除发帖图2-4 帖子类的方法和流程用户类有注册、登录和管理3个方法,管理方法又分为添加、删除和设置权限3个子方法,如图2-5。用户管理员修改

6、个人信息注册登录管理用户设置权限添加删除图2-5 用户类的管理流程及方法三、系统需求分析3.1系统基本功能需求BBS实现功能此次课程设计的题目是小型BBS论坛设计主要是实现新用户注册、会员登录、会员发布帖子、会员回复帖子、留言、回复留言、修改用户密码、查询帖子信息、修改发布帖子、删除发布帖子、删除非法用户(管理员权限)等功能。3.2系统数据库设计经分析及需求得出BBS数据库包含六张表,具体内容如下:(一)表tbClass存放论坛分类,主要字段就是分类编号ClassID和分类名称ClassName,详细信息如图3-1:图3-1论坛分类表(二)表tbBoard存放论坛分类中的版块,主要字段有板块编

7、号BoardID、版块名称BoardName和版块类别编号BoardClassID,其中BoardClassID对应tbClass中的ClassID,详细信息如图3-2:图3-2版块表(三)表TranTest是版主表,主要字段有版主编号ID和版主所管的版块名称AccountName,详细信息如图3-3:图3-3 版主表(四)表tbTopic是用来存放论坛帖子,主要字段有帖子编号TopicID、帖子标题TopicTitle、帖子内容TopicContent、帖子所属版块编号TopicBoardID、帖子发布者编号TopicUserID和帖子创建时间。其中TopicBoardID对应表tbBoar

8、d中的BoardID,TopicUserID对应tbUser表中的UserID,TopicParentID代表父帖TopicID。如果该帖子是主题帖,则TopicParentID为tbBoard中的BoardID,详细信息如图3-4:图3-4主题表(五)表tbUser存放论坛注册用户信息,主要字段有用户编号UserID、用户姓名UserName、用户密码UserPassword、电子邮件UserEmail、用户头像UserFace、用户性别UserGender,类型为整型,0表示女性,1表示男性,用户婚否UserIsMarried和用户权限UserRight,其中有两种类型:admin表示管理

9、员、user表示普通用户,只有管理员可以进入后台进行对版块的增加、删除、修改,也可以对用户进行增加、删除、修改;已注册的普通的用户可以浏览帖子、发帖和针对主题进行恢复;没有注册的用户只能浏览帖子,如果要进行发表帖子就只有先登录和注册,不然不能进行回复和发表帖子,详细信息如图3-5:图3-5 用户表(六)表Tmp表示积分表,已注册的用户可以根据登录论坛的频繁程度进行积分的累积;假如用户发表的帖子点击率较高或回复人数很高,或者被用户置为精华帖等都可以增加积分,主要字段有编号ID和积分值Score;详细信息如图3-6:图3-6 积分表3.3系统业务流程及描述(一) 会员注册流程会员填写个人信息信息合

10、法性检验会员信息持久化用户注册后就可以进行发表帖子和回复帖子具体流程图3-7:图3-7会员注册流程图(二) 会员登录流程输入用户凭证 基于角色授权具体流程图3-8:图3-8会员登录流程图(三) 会员管理流程持有管理员角色 角色调整或分配为版主或删除用户具体流程图3-9:图3-9会员管理流程图(四) 论坛版块管理流程持有管理员角色 添加、删除、调整、置顶、隐藏版块具体流程图3-10:图3-10版块管理流程图(五) 帖子发表注册用户 选择版块发表主题 主题持久化具体流程图3-11:图3-11帖子发表流程图(六) 帖子回复用户 针对主题发表回复 回复持久化具体流程图3-12:图3-12 帖子回复流程

11、图四、系统功能分析4.1功能界面框图论坛是网络常见的一个应用,用于网络用户的信息交流。如:知名的天涯在线论坛。通过论坛系统,用户可以发表自己的言论(主题贴),其他的用户可以对主题贴进行评论(跟贴)或发表更多的言论(主题贴)。图4-1 系统主要功能模块图4.2功能描述(一) 会员注册新会员注册,提供会员信息,检验会员信息的有效性,(二) 会员登陆提供用户凭证,验证用户信息,基于角色授权。(三) 会员管理管理员由系统初始化分配一个,管理员可以对会员信息户角色调整,版主调整,删除会员等。(四) 论坛版块管理管理员可以添加、删除、调整、置顶、隐藏论坛版块(五) 帖子管理管理员可以对所有帖子进行转移、置

12、顶、删除等操作,也可以对本版块帖子进行置顶、删除等操作。(六) 帖子发表注册用户可以在感兴趣的版块中发表新主题帖(七) 帖子回复用户可以对自己感兴趣的主题发表回复(八) 帖子浏览用户可以浏览所有可见帖子(九) 帖子检索用户可以提供标题关键字检索所以可见主题帖,注册用的帖子(十) 意见建议五、系统主要界面设计5.1 显示帖子列表页面图5-1 帖子列表显示页面功能:主要是显示帖子列表,方便未注册的用户浏览查看;如果浏览过程中发现自己感兴趣的话题或帖子,可以回到登录页面进行注册,成功注册后可以发表自己的话题及对感兴趣的帖子进行回复等操作;相关代码如下:public partial class Def

13、ault1 : System.Web.UI.PageBLL.tbUser userBLL = new BLL.tbUser();BLL.tbTopic topicBLL = new BLL.tbTopic();string sqlCon = ConfigurationManager.ConnectionStringsMyCon.ToString();/用于将数据库中的帖子绑定到DataList中让其显示在页面上private void SetBind() SqlConnection cn = new SqlConnection(sqlCon);string sql = select * fro

14、m tbTopic,tbUser where TopicParentID is null and tbTopic.TopicUserID=tbUser.UserID order by TopicCreateTime desc;SqlDataAdapter da = new SqlDataAdapter(sql,cn);DataTable dt = new DataTable();da.Fill(dt);DataView dv = new DataView(dt);PagedDataSource pds = new PagedDataSource();pds.DataSource = dv;pd

15、s.AllowPaging = true;pds.PageSize =5;ViewStateLastPageIndex = pds.PageCount - 1;pds.CurrentPageIndex = int.Parse(ViewStatepageIndex.ToString ();dlMessage.DataSource =pds;dlMessage.DataBind();/主要用于将页面数据分页显示,方便用户浏览页面protected void PageIndex(object sender, EventArgs e)LinkButton lb = (LinkButton)sender

16、);int pageindex = Int32.Parse(ViewStatepageIndex.ToString();if (lb.Text = 上一页)pageindex = pageindex - 1; if (lb.Text = 下一页) pageindex = pageindex + 1; if (lb.Text = 最后一页)pageindex = Int32.Parse(ViewStateLastPageIndex.ToString(); if (lb.Text = 第一页) pageindex = 0; ViewStatepageIndex = pageindex;SetBin

17、d();/在页面底部显示该页从开始到结束的页码,用户可以随便浏览页面的任何一页private void PageBuilder() int pageCount = Int32.Parse(ViewStateLastPageIndex.ToString() + 1;Hashtable htPageIndex = new Hashtable();for (int i = pageCount - 1; i = 0; i-) htPageIndex.Add(i, pageCount - i); DataList2.DataSource = htPageIndex;DataList2.DataBind(

18、);protected void lkbPageIndex_Click(object sender, EventArgs e)ViewStatepageIndex = int.Parse(LinkButton)sender).Text) - 1;SetBind();5.2 发表帖子页面图5-2 发表帖子页面功能:用户登录后进行选择感兴趣的主题进行发表帖子,先在标题栏输入你要发表的帖子相关代码如下:public partial class SendMessage : System.Web.UI.PageBLL.tbUser userBLL = new BLL.tbUser();BLL.tbTop

19、ic topicBLL = new BLL.tbTopic();DAL.tbBoard boardDAL = new DAL.tbBoard();string sqlCon = ConfigurationManager.ConnectionStringsMyCon.ToString();protected void Page_Load(object sender, EventArgs e)if (!IsPostBack)SetBind();/先判断用户是否登录,若登录了,在tb_topic表中取出所有已发表的主题列表,并绑定到repeat控件中private void SetBind() Da

20、taTable dtTopic = new DataTable();string strWhere = ;if (SessionUserID != null)strWhere = TopicUserID= + SessionUserID.ToString() + ;dtTopic = topicBLL.GetListTable(strWhere);rptMessage.DataSource = dtTopic;rptMessage.DataBind();/点击发送按钮将用户发表的帖子提交到数据库表tbTopic中protected void btnSendMessage_Click(objec

21、t sender, EventArgs e) string TopicID = Guid.NewGuid().ToString();string TopicUserID = SessionUserID.ToString();string TopicBoardID = boardDAL.GetBoardID(ddlBoardName.Text.Trim();using (SqlConnection cn = new SqlConnection(sqlCon) cn.Open();string sqlCmd = insert into tbTopic (TopicID,TopicTitle,Top

22、icContent,TopicBoardID,TopicUserID,TopicCreateTime) Values(TopicID,TopicTitle,TopicContent,TopicBoardID,TopicUserID,TopicCreateTime);using ( SqlCommand cmd = new SqlCommand(sqlCmd, cn) cmd.Parameters.AddWithValue(TopicID, TopicID);cmd.Parameters.AddWithValue(TopicTitle, txtTitle.Text.Trim();cmd.Para

23、meters.AddWithValue(TopicContent, txtMessage.Text.Trim();cmd.Parameters.AddWithValue(TopicBoardID, TopicBoardID);cmd.Parameters.AddWithValue(TopicUserID, TopicUserID);cmd.Parameters.AddWithValue(TopicCreateTime, DateTime.Now);cmd.ExecuteNonQuery();SetBind();5.3 管理员登录页面图5-3 管理员登录页面功能:管理员登录后台进行管理,相关代码

24、如下:protected void btnLogin_Click(object sender, EventArgs e)string strWhere = UserName= + txtuserID.Text.Trim() + and UserPassword= + txtPassword.Text.Trim() + ;DataTable dtuser = userBLL.GetListTable(strWhere);if (dtuser.Rows.Count 0)/记录用户信息SessionUserID = dtuser.Rows0UserID.ToString();/记录当前页Sessio

25、nCurrentPageUrl = HttpContext.Current.Request.Url.PathAndQuery;/跳转到首页Response.Redirect(Default1.aspx);else/用户密码或用户名错误,返回到错误页面Response.Redirect(UserError.aspx);protected void imgLogin_Click(object sender, ImageClickEventArgs e)string strWhere = UserName= + txtuserID.Text.Trim() + and UserPassword= +

26、txtPassword.Text.Trim() + ;DataTable dtuser = userBLL.GetListTable(strWhere );if (dtuser.Rows.Count 0)SessionUserID = dtuser.Rows0UserID.ToString();SessionCurrentPageUrl = HttpContext.Current.Request.Url.PathAndQuery;Response.Redirect(Default1.aspx);elseResponse.Redirect(UserError.aspx);protected vo

27、id imgZhuce_Click(object sender, ImageClickEventArgs e)/点击注册按钮,返回到注册页面Response.Redirect(Register1.aspx);5.4 后台用户管理页面图5-4 后台用户管理页面功能:管理员登录用户管理页面对用户进行增加、删除、修改操作,相关代码如下: protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) /若要添加新用户,在gridview底部显示可编辑的行 if (e.CommandName = New) G

28、ridView1.ShowFooter = true; /取消添加用户 if (e.CommandName = AddCancel) GridView1.ShowFooter = false; /点击添加成员按钮后,把已输入的信息提到数据库,并重新显示在gridview控件中 if (e.CommandName = Add) string UserID = Guid.NewGuid().ToString(); string UserName = (GridView1.FooterRow.FindControl(NewUser) as TextBox).Text; string UserPwd

29、= (TextBox)(GridView1.FooterRow.FindControl(NewPWD).Text; string UserGender = (GridView1.FooterRow.FindControl(NewGender) as RadioButtonList).SelectedValue = 男 ? 1 : 0; string UserEmail = (GridView1.FooterRow.FindControl(NewEmail) as TextBox).Text;/在所编辑的行找到使用的控件,根据用户的UserID,更新用户信息 if (e.CommandName

30、= Update) string userName = (TextBox)(GridView1.RowsGridView1.EditIndex.FindControl(txtUserName).Text; string userPwd = (TextBox)(GridView1.RowsGridView1.EditIndex.FindControl(txtPwd).Text; string userEmail = (TextBox)(GridView1.RowsGridView1.EditIndex.FindControl(txtEmail).Text; int userGender = (G

31、ridView1.RowsGridView1.EditIndex.FindControl(rblSex) as RadioButtonList).SelectedValue = 男 ? 1 : 0; string userIsMarried = (GridView1.RowsGridView1.EditIndex.FindControl(rblIsMerried) as RadioButtonList).SelectedValue = 是 ? True : False; string userRight = (TextBox)(GridView1.RowsGridView1.EditIndex

32、.FindControl(txtUserRight).Text; string userID = GridView1.DataKeysGridView1.EditIndex.Value.ToString(); bool HasFileUploaded = false; FileUpload oUpload = GridView1.RowsGridView1.EditIndex.FindControl(uPhoto) as FileUpload; string filename = ; if (oUpload.HasFile) /判断图片是否存在,无则上传,并保存在指定路径 filename =

33、 Guid.NewGuid().ToString(D) + System.IO.Path.GetExtension(oUpload.FileName); oUpload.SaveAs(Server.MapPath() + /images/faces/ + filename); HasFileUploaded = true; SqlDataSource1.UpdateCommand = update tbUser set UserName= + userName + ,UserPassword= + userPwd + ,UserEmail= + userEmail + ,UserGender=

34、 + userGender + ,UserFace= + filename + ,UserIsMarried= + userIsMarried + ,UserRight= + userRight + where UserID= + userID + ; else /执行更新语句,完成用户信息更新操作 SqlDataSource1.UpdateCommand = update tbUser set UserName= + userName + ,UserPassword= + userPwd + ,UserEmail= + userEmail + ,UserFace= + filename +

35、,UserIsMarried= + userIsMarried + ,UserRight= + userRight + where UserID= + userID + ; /根据用户的UserID,删除用户信息 if (e.CommandName = Delete) string userID = e.CommandArgument.ToString(); string strCon = Data Source=.;Initial Catalog=Forum;Integrated Security=SSPI; string sql = delete from tbUser where Use

36、rID= + userID + ; SqlDataSource1.DeleteCommand = sql; 六、系统总结6.1系统特点及不足本系统能完成留言的发送与回复。其中用户还可以注册,登录等功能。界面设计简单但不缺乏韵味。管理员能对系统进行管理,系统使用了母版页,还是用了一定的权限管理。所以会一个页面的设计就会其他的设计了。有的界面可以合并,比如说留言和查看留言就可以放到一个页面了,这样既方便又美观。修改密码界面还可以增加修改用户名,即可以对用户整体信息进行修改。如果能实现这个功能,系统将会更完善!6.2系统以后的扩展与拓宽有些方面没有考虑到,还有一些功能没有实现。比如说没有考虑版主的问

37、题。不仅管理员可以登录后台对版块进行管理,其实版主也可以直接对版块进行相关的操作。另外界面的友好性可能还不够,也许有些地方只是按照自己的理解设计的,可能存在缺陷,以后慢慢拓宽和改善,也由于自己努力不够,能力有限,希望在以后的学习中让系统尽可能的从各方面完善。6.3自己的体会与感想通过努力,BBS论坛系统基本完成。系统实现了用户注册、登录,帖子浏览,管理员对用户信息、版块信息及帖子信息管理等基本功能。通过本系统的开发,本人感受颇深,受益匪浅,获得了许多宝贵的软件开发经验,对将来的学习和工作都有极大的帮助。但同时,由于个人经验及能力尚欠不足,系统在技术实现上还有很多不尽如人意的地方。比如,一开始就

38、编码,没有很好的做好概要设计,加重了代码修改及维护的工作量;公共类设计的不够精炼,常用方法没有完全集成到公共类中,导致经常重复性编码;只考虑技术的实现,对美工考虑不足,页面间的逻辑关系有时不是很合理等,这些问题都还有待进一步优化、完善。总之觉得开发一款完美的软件真是件不容易的事情,以后我会更加努力。致 谢本系统能够顺利完成要大力感谢指导老师:陈老师在百忙中抽出时间给予指导和帮助。同样感谢寝室成员的大力支持!最后,向这些给予我帮助的老师同学致以衷心的谢意。本次毕业设计中,我从陈良敏指导老师身上学到了很多很多的东西。该老师认真负责的工作态度、严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理

39、论上还是在实践中,都给予了我很大的帮助,使我得到了不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在系统开发过程中陈老师给予我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成。谢谢!参考文献 1 邵鹏明.C#面向对象程序设计.清华大学出版社,2008年4月 2 孟宪会 张慧研.ASP.NET 2.0应用开发技术.人民邮电出版社,2007年8月 3 金旭亮.NET 2.0面向对象编程揭秘.电子工业出版社,2007年6月 4 周奇.SQL Server2005数据库基础及应用技术.北京大学出版社,2009年2月 5 陈元春 张亮 王勇.实用数据结构基础.2007年

40、8月第2版.中国铁道出版社,2008年8月 6 王养廷 李磊 宋汉珍.UML基础与应用.清华大学出版社,2009年6月 7 杜文洁.软件测试教程.清华大学出版社,2009年7月 8 韩陵宜.网页制作.中国科学技术大学出版社,2008年1月 9 曾光 马军.JavaScript入门与提高.科学出版社,2008年11月10朱晔.ASP.NET第一步.2007年7月第一版.清华大学出版社, 2008,01 11 Thomas M.Connolly Carolyn E.Begg .数据库设计教程.何玉洁 黄婷儿.第二版.机械工业出版社,2008年12月 12 Cbristian Wenz.ASP.NET AJAX编程指南.唐学韬.机械工业出版社,2008年7月

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号