论坛管理系统功能分析和设计k课设报告.docx
《论坛管理系统功能分析和设计k课设报告.docx》由会员分享,可在线阅读,更多相关《论坛管理系统功能分析和设计k课设报告.docx(14页珍藏版)》请在冰豆网上搜索。
论坛管理系统功能分析和设计k课设报告
《ASP.NET编程》课程设计
题目:
论坛管理系统的设计与开发
姓名:
崔玲玲
学号:
201101014103
班级:
软件111班
指导教师:
高静
完成日期:
2014年6月20
目录
1需求分析1
1.1总体需求1
1.2系统目标1
1.2.1前台功能1
1.2.2后台功能1
2设计方案1
2.1总体设计1
2.1.1系统图1
2.1.2R-E实体图分析3
2.1.3数据表设计4
2.2详细设计7
3调试过程10
3.1系统测试10
3.2出现的问题以及解决10
4小结10
5参考资料。
11
1需求分析
1.1总体需求
(1)用户分为游客、普通用户、系统管理员用户。
(2)游客可以查看贴子内容。
(3)普通用户能够发表帖子,删除贴子,回复贴子,和下载贴子附件等。
(4)管理员用户哪呢过通过后台对系统进行维护和管理,包括贴子内容审核和回复留言管理等。
(5)论坛公告信息,所有的用户都可以浏览。
(6)一种贴子类型有多篇贴子。
(7)一篇贴子有多篇评论。
1.2系统目标
1.2.1前台功能
(1)用户通过贴子的形式迅速、便捷地发布自己的心得体会。
(2)为充分展现网站读者与作者的交互性,采用动态网页技术实现信息在线发布。
(3)论坛主题的发布和回复以及留言功能,主要包括文字形式和图片形式。
(4)实现用户信息的管理功能,主要包括修改用户的基本信息和修改用户的登录密码等。
1.2.2后台功能
(1)论坛帖子管理要实现对帖子的管理功能,主要包括论坛帖子的审核、论坛帖子的审核、论坛帖子的删除、论坛帖子的置顶和论坛帖子的推荐等。
(2)论坛主题回复管理要实现对回复内容的管理,主要包括回复内容的审核、回复内容的删除、和回复内容的屏蔽等。
(3)论坛版块管理模块要实现论坛版块信息的功能,主要包括论坛版块信息的添加、删除、修改、移动和屏蔽等。
(4)论坛公告管理要实现对公告的管理功能,主要包括公告的添加、删除、修改和置顶等。
(5)实现论坛贴子后台管理中的各种查询,如按照回复数量查询、按照贴子内容查询、贴子类型查询和按照发表时间查询等。
2设计方案
2.1总体设计
2.1.1系统图
(1)系统功能结构图
(2)系统流程图
2.1.2R-E实体图分析
(1)论坛普通用户实体
(2)贴子类型信息实体
(3)贴子信息实体
(4)评论信息实体
(5)留言信息实体
(6)连接信息实体
(7)公告信息实体
(8)系统管理员信息实体
2.1.3数据表设计
(1)普通用户表:
用来保存用户信息。
表1论坛普通用户表(tb_User)
列名
数据类型
长度
是否为空
说明
UesrID
int
4
否
用户唯一的ID号设置成主键,自增
UserName
nvarchar
50
否
用户昵称
PassWord
nvarchar
50
否
密码,默认000
Reg_Date
datetime
8
是
注册日期
Sex
nvarchar
10
是
性别
ReName
nvarchar
50
是
真实姓名
Birthday
datetime
8
是
出生日期
Address
nvarchar
200
是
地址
Email
nvarchar
100
是
Email
Question
nvarchar
200
是
密保问题
Answer
nvarchar
200
是
密保答案
(2)贴子类型信息表:
用来保存论坛帖子的类型信息。
表2贴子类型信息表(ST_class)
列名
数据类型
长度
是否为空
说明
ST_c_id
bigint
8
否
类型唯一的ID号
设置成主键,自增
ST_c_name
nvarchar
50
否
类型名称
UserID
int
4
否
所属用户ID
(3)贴子信息表:
用来保存贴子的信息。
表3贴子信息表(ST_news)
列名
数据类型
长度
是否为空
说明
ST_n_id
int
4
否
贴子唯一的ID号
设置成主键,自增
ST_n_title
nvarchar
200
是
贴子标题
ST_n_key
nvarchar
200
是
贴子摘要
ST_n_content
ntext
16
是
贴子内容
ST_n_date
datetime
8
是
贴子发表日期
ST_n_hit
bigint
8
是
贴子人气,默认值0
ST_c_id
bigint
8
是
贴子类型编号
ST_c_name
nvarchar
50
是
贴子类型名称
ST_c_re
int
4
是
贴子回复数,默认值0
ST_c_iscmd
int
4
是
是否推荐,默认值0
BlogID
int
4
否
所属用户
(4)评论信息表:
用来保存对贴子进行评论的信息。
表4评论信息表(ST_replay)
列名
数据类型
长度
是否为空
说明
ST_r_id
bigint
8
否
评论唯一的ID号
设置成主键,自增
ST_r_nick
nvarchar
50
是
昵称
ST_r_title
nvarchar
250
是
评论标题
ST_r_content
nvarchar
250
是
评论内容
ST_r_date
datetime
8
是
评论发表时间
ST_n_id
int
4
是
评论贴子编号
UserID
int
4
否
所属用户
(5)留言信息表:
用来保存留言的信息。
表5留言信息表(ST_message)
列名
数据类型
长度
是否为空
说明
ST_id
bigint
8
否
留言唯一的ID号
设置成主键,自增
ST_nickname
nvarchar
50
是
昵称
ST_homepage
nvarchar
250
是
个人主页
ST_content
ntext
16
是
留言内容
ST_mdate
datetime
8
是
留言时间
ST_hf
ntext
16
是
留言回复
UserID
int
4
否
所属用户
(6)链接信息表:
用来保存友情链接的信息。
表6链接信息表(ST_link)
列名
数据类型
长度
是否为空
说明
ST_l_id
bigint
8
否
链接唯一的ID号设置成主键,自增
ST_l_name
nvarchar
50
是
链接的网站名称
ST_l_url
nvarchar
50
是
链接的地址
UserID
int
4
否
所属用户
(7)公告信息表:
用来保存公告信息。
表7公告信息表(ST_notice)
列名
数据类型
长度
是否为空
说明
ST_nt_id
Bigint
8
否
公告唯一的ID号
设置成主键,自增
ST_nt_name
Nvarchar
50
否
公告名称(标题)
ST_nt_content
Ntext
100
否
公告内容
(8)系统管理员信息表:
用来保存系统管理员用户的信息。
表8系统管理员信息表(tb_Admin)
列名
数据类型
长度
是否为空
说明
ID
int
4
否
管理员用户唯一的ID号
设置成主键,自增
UserName
nvarchar
50
否
用户名
PassWord
nvarchar
50
否
密码
2.2详细设计
(1)登陆界面
登陆界面的登陆身份分为两种角色,一个是普通用户,一个是系统管理员,登陆成功之后,分别进入论坛主界面和论坛后台管理界面。
主要两种用户的主要代码相似,只是涉及到的数据表不同,这里只列出普通用户的重要代码。
登陆界面如图1:
图1登陆界面
主要代码:
if(identy.Equals("普通用户"))
{
StringSqlstr="selectcount(*)fromtb_UserwhereUserName=@usernameandPassWord=@password";
SqlParameter[]parms={
newSqlParameter("@username",System.Data.SqlDbType.NVarChar,50),
newSqlParameter("@password",System.Data.SqlDbType.NVarChar,50),};
parms[0].Value=username;
parms[1].Value=password;
Objectob=SqlHelper.ExecuteScalar(Sqlstr,parms);
if(null!
=ob)
{inti=Convert.ToInt32(ob);
if(i>0)
{Session["name"]=username;
Response.Redirect("~/UserCommon/BBSMain.aspx");}
else
{Response.Write("登录失败!
密码或用户名错误!
");}
}
(2)论坛中心
论坛中心的实现主要是用datalist控件,连接ST_news数据表,把所有的帖子显示出来,帖子有关的属性可选择性列出,关于楼主的头像应该在图中左边框里显示出来,本网站未能实现。
如图2所示:
图2论坛主页
(3)论坛管理中心
论坛的管理中心主要对整个论坛的后台管理,主要有帖子类型管理,帖子管理,评论管理,留言管理,连接管理以及修改密码。
主要用到了gridview控件,可选择性的显示需要显示的数据内容,以类型管理为例,如图3所示:
功能主要有按类型名称的模糊查询,按类型编号的模糊查询,还可以添加类型,编辑,全选,批量删除等功能,这些功能可以很方便的实现对类型的管理。
图3系统后台管理
图4密码修改
3调试过程
3.1系统测试
系统测试后,真正实现了的功能有:
普通用户注册,系统管理员注册,普通用户登陆,系统管理员登陆,论坛主页的所有论坛主题显示,每个帖子的所有评论,系统后台管理(包括类型管理,帖子管理,评论管理,留言管理,连接管理,修改密码)。
在系统后台管理也有对帖子就行评论和回复。
3.2出现的问题以及解决
(1)数据库执行sql语句不成功
在代码编写和测试测试过程中,出现了很多错误,像添加,插入,修改等功能实现不成功最多的时候还是执行sql语句不成功,这样的问题出现很多次,每次错误的原因虽然不同,但是都是由于Sql语句以及类型不匹配的原因,就是这小小的原因就是会导致执行sql语句不成功。
(2)DataList控件的使用
本来是想把所有的帖子列出来,上网搜了资料使用datalist控件,看了好多它的介绍也不是很明白应该怎么用,最后自己摸索了好久,才正确的使用了这个控件,在这个控件里也可以进行编辑,可以添加其他控件。
4小结
经过两个星期的努力,本系统已初步达到基本的设计要求。
本系统在完成的过程中,也遇到很多问题,不过经过努力,最终解决了大部分的问题,仍然有部分问题未能解决。
通过本次设计,我还是得到了相当多的经验,受益匪浅。
不仅把学到的知识学以致用并且基本掌握了.net,sql语句等的使用,更重要的是,掌握了一个系统的整个开发过程,把数据结构、数据库等课程的理论知识营运到实际过程中,提高了对问题的观察、思考、分析能力。
但由于时间关系以及经验不足,本系统还不够完善,如界面不够漂亮,有些功能不够完善,程序设计繁复杂乱不够简洁,对编程语言了解不厚透彻,不能充分利用有限的资源,如系统管理员的界面有时候进不去,需要多次登录才能登录。
程序还有待于今后进行不断的扩充,系统还有不足之处,敬请老师批评指出!
对于这个系统,还要许多其他的方面需要考虑,例如系统的整体安全性,数据流量,外链,非法请求等都没实现上去,往后的发展方向应该放在用户安全的这方面,包括对于用户session的操作,无权限用户的限制等方面,大体的设计就是这样。
对于后台管理方面,则会添加上很实用的信息,例如用户的账号功能设置,敏感词语过滤,会话时间设置,帖子审阅,用户审阅以及板块的增删等功能。
对于用户前台,要做到安全,简单易操作,同时还要添加好友功能,喜欢的帖子可以收藏等功能。
这次设计我收获很大,但也遇到了很多问题未解决,像如何获取datalist里linkbutton的内容并把它显示在其他界面,搜了资料最后也是提示未将对象引用到实例,最终没有成功,像这样的问题还有待我在以后的改善中解决,为我以后的程序开发最铺垫。
5参考资料。
[1].叶达峰.Eclipse编程技术与实例[M].北京:
人民邮电出版社.2006,134
[2].王晓悦.精通Java-JDK、数据库系统开发、web开发[M].北京:
人民邮电出版社.2007,388
[3].赵光.JSP+Oracle数据库组建动态网站经典实例[M].北京:
电子工业出版社.2005,80