BBS论坛管理系统.docx
《BBS论坛管理系统.docx》由会员分享,可在线阅读,更多相关《BBS论坛管理系统.docx(27页珍藏版)》请在冰点文库上搜索。
BBS论坛管理系统论坛管理系统摘摘要要本文是以ASP.NET技术开发设计的文章发布系统。
采用结构化生命周期法,自顶向下、逐层分解,模块化的系统结构设计。
全文共分为绪论、系统概述、系统需求分析、系统功能分析(编程和管理)、系统主要界面设计、系统总结等六章。
绪论中阐述了系统的意义和系统的开发环境。
系统概述中阐述了系统背景,所用技术、系统目标以及功能等。
系统设计阶段阐述了网站的总体设计思想、首页的设计、网站的总体功能设计以及数据库的逻辑设计。
在系统总结中阐述了系统的优劣势以及系统的扩展。
文中详细说明了系统分析、系统设计的方法在系统实际开发中应用,并总结了开发过程中的一些经验和体会。
关键词:
BBSASP.NETC#sqlserver2005AbstractThispaperistoreleasesystembasedonASP.NETtechnologydevelopmentanddesignofthearticle.Usestructuredlifecyclemethod,top-down,layerdecomposition,modularstructuredesign.Thefulltextisdividedintotheintroduction,systemanalysis,systemrequirementsanalysis,outlineofsystemfunction(programmingandmanagement),themaininterfaceofsystemdesign,systemsummarychaptersix.Theintroductionexpoundsthemeaningandsystemdevelopmentenvironment.Systemoverviewdescribesthebackgroundofthesystem,technology,systemobjectivesandfunctionsused.Thesystemdesignexpoundedwebsitedesignideas,homepagedesign,websitedesignanddatabasefunctionsoftheoveralllogicdesign.Inthesystemsummarydescribestheadvantagesanddisadvantagesoftheextendedsystemandsystem.Thispaperdetailsthemethodsofsystemanalysis,systemdesignandapplicationintheactualdevelopmentofthesystem,andsummarizessomeexperienceintheprocessofdevelopmentandexperience.Keywords:
BBSASP.NETC#SQLServer20051引引言言1.1开发背景开发背景BBS起源于20世纪80年代初。
最初,论坛只是用于发布公告信息,讨论问题的在线交流平台。
后来,随着网络的普及,论坛的功能越来越丰富,受到广大网民的欢迎。
因此,商业网站对论坛重视起来,纷纷在自己的网站上开辟论坛。
作为与网民交流的园地。
同时在线技术支持和在线服务也在论坛中开展起来。
当代的大学生几乎都会接触甚至经常登陆自己感兴趣的论坛,在上面可以分享,也可以交流意见,但是,能把他们集中起来的论坛并不是很多。
BBS论坛系统是为了方便大家的沟通和获取信息而开发的系统。
我们利用Asp.Net知识和SqlServer2005开发BBS论坛管理系统。
该系统以Internet为平台,前台可使任何人注册、登录、登录在论坛上进行发帖、回帖、浏览帖子等。
管理员也可以在后台对帖子、版块、用户等进行相关的管理。
一个小型BBS论坛系统的前台功能主要包括浏览搜索帖子、用户登陆注册、发表回复帖子、个人资料管理和帖子管理;后台功能主要包括用户管理、论坛版块管理和帖子管理等。
1.2系统目标系统目标开发本系统意在吸纳大部分游离在众多论坛的大学生,达到校内网等论坛的目标.系统开发的总任务是实现文章的成功发表,留言的发布与回复。
从而达到用户之间信息交流的目的。
系统主要面向两类用户:
用户和系统管理员。
用户可以先注册,然后在网站里发表文章、留言等。
系统管理员可以对用户的信息进行增添和删除及修改,对版块进行增加、删除和修改操作;还可以对网站进行修改与维护。
1.3定义定义论坛也称为BBS,是bulletinBoardSystem的简称,意即电子公告板,是一种在Internet上常见的用于信息服务的Web系统,它主要给浏览者提供相互沟通的平台,以此来吸引用户,服务用户。
2系统概述系统概述2.1系统流程系统流程图2-1系统整体流程图2.2版块、帖子、用户模块的主要实现思路及图例版块、帖子、用户模块的主要实现思路及图例版块类有浏览列表和管理两个方法,管理方法可以分为创建、修改和删除3个方法,如图2-2和图2-3。
图2-2管理员参数分类图2-3版块类的方法设置帖子类有浏览、发帖、回帖、搜索和管理5个方法,浏览方法又可以分为列表和查看2个子方法,管理方法又可以分为编辑、删除等子方法,如图2-4图2-4帖子类的方法和流程用户类有注册、登录和管理3个方法,管理方法又分为添加、删除和3个子方法,如图2-5。
图2-5帖子类的方法和流程3系统需求分析系统需求分析3.1系统基本功能需求系统基本功能需求BBS实现功能此次课程设计的题目是小型BBS论坛设计主要是实现新用户注册、会员登录、会员发布帖子、会员回复帖子、留言、回复留言、修改用户密码、查询帖子信息、修改发布帖子、删除发布帖子、删除非法用户(管理员权限)等功能。
3.2系统数据库设计系统数据库设计经分析及需求得出BBS数据库包含六张表,具体内容如下:
(一)表tb_Users存放论坛用户,主要字段就是分类编号UserId和分类名称UserName,详细信息如图3-1:
图3-1论坛分类表
(二)表tb_hf存放论坛回帖版块,主要字段有板块hfId、ContId等,详细信息如图3-2:
图3-2回复表(三)表tb_Content是用来存放论坛帖子,主要字段有帖子编号ContId、Subject、Words等详细信息如图3-4:
图3-4主题表(四)表tb_toxiang存放论坛头像,主要字段有用户编号Id、Image详细信息如图3-5:
图3-5头像表3.3系统业务流程及描述系统业务流程及描述
(一)会员注册流程会员填写个人信息信息合法性检验会员信息持久化用户注册后就可以进行发表帖子和回复帖子具体流程图3-7:
图3-7会员注册流程图
(二)会员登录流程输入用户凭证基于角色授权具体流程图3-8:
图3-8会员登录流程图(三)会员管理流程持有管理员角色角色调整或分配为版主或删除用户具体流程图3-9:
图3-9会员管理流程图(四)论坛版块管理流程持有管理员角色添加、删除、版块具体流程图3-10:
图3-10版块管理流程图(五)帖子发表注册用户选择版块发表主题主题持久化具体流程图3-11:
图3-11帖子发表流程图(六)帖子回复用户针对主题发表回复回复持久化具体流程图3-12:
图3-12帖子回复流程图4系统功能分析4.1功能界面框图功能界面框图论坛是网络常见的一个应用,用于网络用户的信息交流。
如:
知名的天涯在线论坛。
通过论坛系统,用户可以发表自己的言论(主题贴),其他的用户可以对主题贴进行评论(跟贴)或发表更多的言论(主题贴)。
图4-1系统主要功能模块图4.2功能描述功能描述
(一)会员注册新会员注册,提供会员信息,检验会员信息的有效性,
(二)会员登陆提供用户凭证,验证用户信息,基于角色授权。
(三)会员管理管理员由系统初始化分配一个,管理员可以对会员信息户角色调整,版主调整,删除会员等。
(四)论坛版块管理管理员可以添加、删除、论坛版块(五)帖子管理管理员可以对所有帖子进行删除等操作,也可以对本版块帖子进行置顶、删除等操作。
(六)帖子发表注册用户可以在感兴趣的版块中发表新主题帖(七)帖子回复用户可以对自己感兴趣的主题发表回复(八)帖子浏览用户可以浏览所有可见帖子5系统主要界面设计系统主要界面设计5.1显示帖子列表页面显示帖子列表页面图5-1帖子列表显示页面功能:
主要是显示帖子列表,方便未注册的用户浏览查看;如果浏览过程中发现自己感兴趣的话题或帖子,可以回到登录页面进行注册,成功注册后可以发表自己的话题及对感兴趣的帖子进行回复等操作;5.2发表帖子页面发表帖子页面图5-2发表帖子页面功能:
用户登录后进行选择感兴趣的主题进行发表帖子,先在标题栏输入你要发表的帖子:
5.3管理员登录页面管理员登录页面图5-3管理员登录页面功能:
管理员登录后台进行管理5.4后台用户管理页面后台用户管理页面图5-4后台用户管理页面功能:
管理员登录用户管理页面对用户进行增加、删除、修改操作6系统总结系统总结6.1系统特点及不足系统特点及不足本系统能完成留言的发送与回复。
其中用户还可以注册,登录等功能。
界面设计简单但不缺乏韵味。
管理员能对系统进行管理,系统使用了母版页,还是用了一定的权限管理。
所以会一个页面的设计就会其他的设计了。
有的界面可以合并,比如说留言和查看留言就可以放到一个页面了,这样既方便又美观。
修改密码界面还可以增加修改用户名,即可以对用户整体信息进行修改。
如果能实现这个功能,系统将会更完善!
6.2系统以后的扩展与拓宽系统以后的扩展与拓宽有些方面没有考虑到,还有一些功能没有实现。
比如说没有考虑版主的问题。
不仅管理员可以登录后台对版块进行管理,其实版主也可以直接对版块进行相关的操作。
另外界面的友好性可能还不够,也许有些地方只是按照自己的理解设计的,可能存在缺陷,以后慢慢拓宽和改善,也由于自己努力不够,能力有限,希望在以后的学习中让系统尽可能的从各方面完善。
6.3自己的体会与感想自己的体会与感想通过努力,BBS论坛系统基本完成。
系统实现了用户注册、登录,帖子浏览,管理员对用户信息、版块信息及帖子信息管理等基本功能。
通过本系统的开发,本人感受颇深,受益匪浅,获得了许多宝贵的软件开发经验,对将来的学习和工作都有极大的帮助。
但同时,由于个人经验及能力尚欠不足,系统在技术实现上还有很多不尽如人意的地方。
比如,一开始就编码,没有很好的做好概要设计,加重了代码修改及维护的工作量;公共类设计的不够精炼,常用方法没有完全集成到公共类中,导致经常重复性编码;只考虑技术的实现,对美工考虑不足,页面间的逻辑关系有时不是很合理等,这些问题都还有待进一步优化、完善。
总之觉得开发一款完美的软件真是件不容易的事情,以后我会更加努力。
致致谢谢本系统能够顺利完成要大力感谢指导老师:
陈老师在百忙中抽出时间给予指导和帮助。
同样感谢寝室成员的大力支持!
最后,向这些给予我帮助的老师同学致以衷心的谢意。
本次毕业设计中,我从陈良敏指导老师身上学到了很多很多的东西。
该老师认真负责的工作态度、严谨的治学精神和深厚的理论水平都使我收益匪浅。
他无论在理论上还是在实践中,都给予了我很大的帮助,使我得到了不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。
在系统开发过程中陈老师给予我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成。
谢谢!
参考文献参考文献1邵鹏明.C#面向对象程序设计.清华大学出版社,2008年4月2孟宪会张慧研.ASP.NET2.0应用开发技术.人民邮电出版社,2007年8月3金旭亮.NET2.0面向对象编程揭秘.电子工业出版社,2007年6月4周奇.SQLServer2005数据库基础及应用技术.北京大学出版社,2009年2月5陈元春张亮王勇.实用数据结构基础.2007年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附录附录主界面publicpartialclassDefault:
System.Web.UI.PageprotectedvoidPage_Load(objectsender,EventArgse)if(!
this.IsPostBack)/将系统时间与13进行比较,来获取问候语intTime=System.DateTime.Now.Hour.CompareTo(13);stringstr;if(Time0)str=下午好!
;elseif(Time0)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=;elseResponse.Write(alert(很遗憾,登录失败!
);location=javascript:
history.go(-1);con.Close();protectedvoidImageButton3_Click(objectsender,ImageClickEventArgse)Response.Redirect(/zhucexinix/zhucexinxi.aspx);protectedvoidgvlt_RowDeleting(objectsender,GridViewDeleteEventArgse)if(SessionUserName=null&SessionUserPwd=null)Response.Redirect(/denglu/denglu.aspx);elseif(SessionUserName.ToString()=curt&SessionUserPwd.ToString()=curt)stringContId=this.gvlt.DataKeyse.RowIndex.Value.ToString();SqlConnectioncon=DB.createDB();con.Open();SqlCommandcmd=newSqlCommand(deletefromtb_ContentwhereContId=+ContId+,con);cmd.ExecuteNonQuery();this.aa();Response.Redirect(/tisixinxi/chenggong.aspx);this.gvlt.EditIndex=-1;elseResponse.Write(alert(你没有权限删除此帖,必须是管理员才能进行删除!
);location=javascript:
history.go(-1);注册publicpartialclasszhuce:
System.Web.UI.PageprotectedvoidPage_Load(objectsender,EventArgse)if(!
Page.IsPostBack)SqlConnectioncon=DB.createDB();SqlCommandcmd=newSqlCommand();cmd.Connection=con;con.Open();stringsqlstr=select*fromtb_touxiang;SqlDataAdaptermyda=newSqlDataAdapter(sqlstr,con);DataSetmyds=newDataSet();myda.Fill(myds,tb_touxiang);this.ddltouxiang.DataSource=myds.Tablestb_touxiang;this.ddltouxiang.DataTextField=Image;this.ddltouxiang.DataBind();this.imgtouxiang.ImageUrl=this.ddltouxiang.SelectedValue;con.Close();protectedvoidButton1_Click(objectsender,EventArgse)if(this.txtname.Text!
=curt)SqlConnectioncon=DB.createDB();con.Open();SqlTransactionst=con.BeginTransaction();/通过SqlConnection的BeginTransaction方法创建名为st的对象TransactionSqlCommandcmd=con.CreateCommand();cmd.Transaction=st;/将SqlTransaction对象分配给SqlCommand对象的Transaction属性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();/提交事物Response.Redirect(/tisixinxi/chenggong.aspx);catch(Exceptionerror)Response.Redirect(/tisixinxi/shibai.aspx);st.Rollback();/回滚事物elseResponse.Write(alert(很遗憾,请你输入其它的用户姓名!
);location=javascript:
history.go(-1);/con.Close();protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse)this.imgtouxiang.ImageUrl=this.ddltouxiang.SelectedValue;protectedvoidLinkButton2_Click(objectsender,EventArgse)Response.Redirect(/Default.aspx);protectedvoidlyhgl_Click(objectsender,EventArgse)Response.Redirect(/yonghuxinxi/yonghu.aspx);protectedvoidLinkButton3_Click(objectsender,EventArgse)Response.Redirect(/dangqianxinxi/dqyhxinxixg.aspx);protectedvoidLinkButton5_Click(objectsender,EventArgse)Response.Redirect(/yonghuxinxi/yonghuchaxun.aspx);protectedvoidLinkButton4_Click(objectsender,EventArgse)Response.Redirect(/denglu/denglu.aspx);protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse)Response.Redirect(/teizixinxi/addteizi.aspx);protectedvoidlbtnsy_Click(objectsender,EventArgse)Response.Redirect(/Default.aspx);注册修改publicpartialclasszhucexinxi:
System.Web.UI.PageprotectedvoidPage_Load(objectsender,EventArgse)protectedvoidbtnty_Click(objectsender,EventArgse)Response.Redirect(zhuce.aspx);protectedvoidbtnbty_Click(objectsender,EventArgse)Response.Redirect(/default.aspx);protectedvoidLinkButton2_Click(objectsender,EventArgse)Response.Redirect(/yonghuxinxi/yonghu.aspx);protectedvoidLinkButton4_Click(objectsender,EventArgse)Response.Redirect(/denglu/denglu.aspx);protectedvoidlbtnsy_Click(objectsender,EventArgse)Response.Redirect(/Default.aspx);protectedvoidLinkButton3_Click(objectsender,EventArgse)Response.Redirect(/dangqianxinxi/dqyhxinxixg.aspx);protectedvoidImageButton2_Click(objectsender,ImageClickEventArgse)Response.Redirect(/teizixinxi/addteizi.aspx);