博客管理系统课程设计说明书.docx

上传人:b****0 文档编号:9243467 上传时间:2023-05-17 格式:DOCX 页数:27 大小:683.18KB
下载 相关 举报
博客管理系统课程设计说明书.docx_第1页
第1页 / 共27页
博客管理系统课程设计说明书.docx_第2页
第2页 / 共27页
博客管理系统课程设计说明书.docx_第3页
第3页 / 共27页
博客管理系统课程设计说明书.docx_第4页
第4页 / 共27页
博客管理系统课程设计说明书.docx_第5页
第5页 / 共27页
博客管理系统课程设计说明书.docx_第6页
第6页 / 共27页
博客管理系统课程设计说明书.docx_第7页
第7页 / 共27页
博客管理系统课程设计说明书.docx_第8页
第8页 / 共27页
博客管理系统课程设计说明书.docx_第9页
第9页 / 共27页
博客管理系统课程设计说明书.docx_第10页
第10页 / 共27页
博客管理系统课程设计说明书.docx_第11页
第11页 / 共27页
博客管理系统课程设计说明书.docx_第12页
第12页 / 共27页
博客管理系统课程设计说明书.docx_第13页
第13页 / 共27页
博客管理系统课程设计说明书.docx_第14页
第14页 / 共27页
博客管理系统课程设计说明书.docx_第15页
第15页 / 共27页
博客管理系统课程设计说明书.docx_第16页
第16页 / 共27页
博客管理系统课程设计说明书.docx_第17页
第17页 / 共27页
博客管理系统课程设计说明书.docx_第18页
第18页 / 共27页
博客管理系统课程设计说明书.docx_第19页
第19页 / 共27页
博客管理系统课程设计说明书.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

博客管理系统课程设计说明书.docx

《博客管理系统课程设计说明书.docx》由会员分享,可在线阅读,更多相关《博客管理系统课程设计说明书.docx(27页珍藏版)》请在冰点文库上搜索。

博客管理系统课程设计说明书.docx

博客管理系统课程设计说明书

博客管理系统

一、系统分析

1.总体需求

本系统要实现个人博客的主要基本功能有主界面,博客用户登录发表文章,系统管理员查看和删除,游客发表评论,分页浏览文章和评论等。

2.业务分析

系统角色:

匿名用户、注册用户、系统管理员。

①匿名用户:

由注册、登录、浏览博客、评论4个部分组成。

匿名用户可以对其他用户的博客内容时行浏览、评论。

也可以通过注册后登录博客系统,申请一个属于自己的博客。

②注册用户:

由个人信息管理、评论管理、好友管理、相册管理、文章管理5个部分组成。

这些功能可以对用户个人博客中的个人信息、好友、评论、相册和文章进行设置。

系统管理员:

由用户管理、评论审核管理、相册审核管理、文章审核管理、链接管理5部分组成。

这是为了对注册用户的博客内容与个人信息进行管理,并对博客中的评论、相册、文章进行审核,审核通过后才能发表。

在对需求进行分析的基础上,提出博客管理系统的功能如图1所示。

图1博客网站的系统用例图

3.非功能性需求

系统用户数300人以内,游客40人。

在线用户数50人,发表用户数5-40人。

单用户查询操作请求响应时间一般不大于2秒,最长不大于5秒。

在Windows操作系统平台下运行,系统7*24小时运行,停机时间不超过2%。

系统界面友好,易于使用,并提供联机帮助功能。

4.系统功能模块设计

根据博客系统的业务需求分析,可知博客管理系统的功能有:

博客注册,新用户信息登记,用户发表博客,删除博客等。

博客注册:

包括用户账户注册。

新用户信息登记:

创建后的用户自行记住密码并直接登录。

用户发表评论:

发表自己的所思所闻,是一个动态信息,及时更新,有利于了解好友的现状。

删除博客:

用户在博客内评论内容涉及不良内容需要删除。

根据以上详细功能分析,设计博客管理系统功能结构如图2所示。

 

图2系统模块图

二、系统数据库设计

1.概念设计

博客管理系统涉及的实体有4个,分别是文章、博客、评论、类型、用户表等。

文章具有7个属性:

编号、标题、正文、图片、时间、用户编码、正文编码、其中用户编号是主键。

博客具有2个属性:

照片、注册,其中照片是主键。

评论具有6个属性:

编号,评论用户id,评论文章,评论时间,评论次数,文章编号其中文章编号是主键。

类型表具有2个属性:

类型编号、类型名称,其中类型编号是主键。

管理员具有4个属性:

用户id、用户名称、用户密码、用户照片,其中用户id是主键,用户名称是外键。

根据以上分析,绘制系统总体E-R图如图3所示。

图3博客管理系统的物理数据模型

2.数据字典设计

根据上述物理模型,可以建立数据字典,如表1-5所示。

表1文章表(article)

字段名称

含义

数据类型

宽度

约束

Aid

编号

varchar

2

主键

Name

标题

varchar

6

Adetail

正文

varchar

6

Aimg

图片

varchar

60

Atime

时间

varchar

20

Auserid

用户编码

varchar

40

Atid

正文编码

int

表2博客表(blog)

字段名称

含义

数据类型

宽度

约束

Bimg

图片

varchar

2

主键

Buid

注册

varchar

5

表3评论表(comment)

字段名称

含义

数据类型

宽度

约束

Cid

编号

varchar

2

主键

Cuserid

评论用户id

varchar

5

Cdetail

评论文章

varchar

Ctime

评论时间

varchar

CAid

评论次数

varchar

6

Bclass

varchar

6

表4类型表(type)

字段名称

含义

数据类型

宽度

约束

Tid

类型编号

varchar

2

主键

Tname

类型名称

varchar

5

表5用户表(Users)

字段名称

含义

数据类型

宽度

约束

Uid

用户id

int

2

主键

Uname

用户姓名

varchar

5

Upwd

用户密码

varchar

Uimg

用户照片

varchar

三、系统设计与开发

1.系统母版页设计

图4母版页

2.用户登录程序设计

用户登录程序的功能为实现系统用户登录,登录后的用户具有更多的权限。

登录时需要输入用户名和密码,输入正确根据权限进入对应的功能页面;否则提示出错信息。

登录程序涉及的主要控件为文本框和按钮,文本框用于输入信息,按钮事件判断输入的登录信息是否正确,并根据返回结果进行页面跳转。

界面设计如图5所示。

图5用户登录

程序关键代码如下:

登录按钮单击事件代码:

代码实现的功能是判断登陆人员的用户名和密码是否正确,若正确,注册用户则跳转到Register.aspx页面,否则显示出错信息。

logins.Users=newModel.Users();

logins.Users.Uname=this.txtname.Text;

logins.Users.Upwd=logins.GetMD5(this.txtpwd.Text);

SqlDataReaderread1=logins.DataReader();

if(read1.HasRows)

{

Session["Uname"]=this.txtname.Text;

read1.Close();

Session["Uid"]=logins.Uid();

logins.Users.Uid=Convert.ToInt32(Session["Uid"]);

stringimg=logins.Uimg();

this.lbuname.Text=this.txtname.Text;

this.login.Visible=false;

this.login2.Visible=true;

this.Lable.Visible=true;

this.content.Visible=true;

this.imguser.ImageUrl="~/Image/"+img;

}

Model层代码

[Serializable]

publicpartialclassUsers

{

publicUsers()

{}

#regionModel

privateint_uid;

privatestring_uname;

privatestring_upwd;

privatestring_uimg;

publicintUid

{

set{_uid=value;}

get{return_uid;}

}

publicstringUname

{

set{_uname=value;}

get{return_uname;}

}

publicstringUpwd

{

set{_upwd=value;}

get{return_upwd;}

}

publicstringUimg

{

set{_uimg=value;}

get{return_uimg;}

}

#endregionModel

}

3.添加文章程序设计

用户添加文章程序的功能为实现系统管理员的权限。

界面设计如图6所示。

图6用户添加程序界面设计

程序关键代码如下:

添加按钮单击事件代码:

通过管理员权限添加文章。

BLL.ArticleArtc=newBLL.Article();//调用BLL层,编辑文章

protectedvoidPage_Load(objectsender,EventArgse)

{

Bind();

}

publicvoidBind()

{

Artc.atcl=newModel.article();//调用BLL层,添加文章

Artc.atcl.Aid=Convert.ToInt32(Request.QueryString["Aid"]);

DataSetds=newDataSet();

ds=Artc.ArticlDetail();

this.txtAname.Text=ds.Tables["result"].Rows[0][1].ToString();

this.TextBox1.Text=ds.Tables["result"].Rows[0][2].ToString();

}

Bll层代码

publicclassArticle

{

DAL.DBdb=newDAL.DB();

publicModel.articleatcl=newModel.article();

publicMmentcomment=newMment();

publicModel.UsersUsers=newModel.Users();

publicbooladdArticlenoimg()

{

stringsql="INSERTINTO[blog].[dbo].[article]([Aname],[Adetail],[Atime],[Auserid],[Atid])VALUES('"+atcl.Aname+"','"+atcl.Adetail+"','"+atcl.Atime+"','"+atcl.Auserid+"','"+atcl.Atid+"')";

returndb.ExceSql(sql);

}

publicbooladdArticle()//添加文章

{

stringsql="INSERTINTO[blog].[dbo].[article]([Aname],[Adetail],[Aimg],[Atime],[Auserid],[Atid])VALUES('"+atcl.Aname+"','"+atcl.Adetail+"','"+atcl.Aimg+"','"+atcl.Atime+"','"+atcl.Auserid+"','"+atcl.Atid+"')";

returndb.ExceSql(sql);

}

Dal层代码,添加文章

publicclassArticle

{

DAL.DBdb=newDAL.DB();

publicModel.articleatcl=newModel.article();

publicMmentcomment=newMment();

publicModel.UsersUsers=newModel.Users();

publicbooladdArticlenoimg()

{

stringsql="INSERTINTO[blog].[dbo].[article]([Aname],[Adetail],[Atime],[Auserid],[Atid])VALUES('"+atcl.Aname+"','"+atcl.Adetail+"','"+atcl.Atime+"','"+atcl.Auserid+"','"+atcl.Atid+"')";

returndb.ExceSql(sql);

}

publicbooladdArticle()//添加文章

{

stringsql="INSERTINTO[blog].[dbo].[article]([Aname],[Adetail],[Aimg],[Atime],[Auserid],[Atid])VALUES('"+atcl.Aname+"','"+atcl.Adetail+"','"+atcl.Aimg+"','"+atcl.Atime+"','"+atcl.Auserid+"','"+atcl.Atid+"')";

returndb.ExceSql(sql);

}

4.用户注册程序设计

用户注册程序的功能为实现系统管理员的权限。

界面设计如图7所示。

图7用户注册程序界面设计

程序关键代码如下:

注册按钮单击事件代码:

代码实现的功能是判断注册人员的用户名和密码是否正确,若正确,注册用户则跳转到blogindex.aspx。

其代码如下:

inta;

BLL.RegisterRegist=newBLL.Register();//调用BLL层,获取用户注册信息

protectedvoidtxtLoginName_TextChanged(objectsender,EventArgse)

{

check();

if(a==-1)//判断用户是否存在

{

Label2.Text="用户名已经存在";

txtname.Text="";

return;

}

elseif(a==2)

{

Label2.Text="";

}

}

//注册

protectedvoidbtnregister_Click(objectsender,EventArgse)

{

Regist.Users=newModel.Users();//调用Model层

Regist.Users.Uname=this.txtname.Text;//密码确认

Regist.Users.Upwd=Regist.GetMD5(txtPwd.Text.ToString());

#region图片

stringfullpath=this.FileUpload1.PostedFile.FileName;

stringfilename=Path.GetFileName(fullpath);

stringsavepath=Server.MapPath("image//"+filename);//保存到数据库中路径

this.FileUpload1.PostedFile.SaveAs(savepath);

#endregion

Regist.Users.Uimg=filename;

if(Regist.InsertUser())//判断注册用户是否重复

{

Response.Redirect("blogindex.aspx");

}

else

{

Response.Write("");

}

Model层代码

namespaceModel

{

[Serializable]

publicpartialclassUsers

{

publicUsers()

{}

#regionModel

privateint_uid;

privatestring_uname;

privatestring_upwd;

privatestring_uimg;

publicintUid

{

set{_uid=value;}

get{return_uid;}

}

publicstringUname

{

set{_uname=value;}

get{return_uname;}

}

publicstringUpwd

{

set{_upwd=value;}

get{return_upwd;}

}

publicstringUimg

{

set{_uimg=value;}

get{return_uimg;}

}

#endregionModel

}

}

5.用户编辑程序设计

用户查询程序的功能为实现注册用户编辑文章。

界面设计如图8所示。

图8用户编辑程序界面设计

程序关键代码如下:

BLL.indexindex=newBLL.index();//调用BLL层,获取用户信息

//调用Model层,用户编辑文章

protectedvoidPage_Load(objectsender,EventArgse)

{

index.artc=newModel.article();

index.artc.Atid=Convert.ToInt32(Request.QueryString["Tid"]);

this.BlogList.DataSource=index.dstype();

this.BlogList.DataBind();

}

Bll层代码

DAL.DBdb=newDAL.DB();

publicModel.articleartc;

publicDataSetdsuser()

{

stringsql="select*fromarticlewhere"+artc.Auserid;

returndb.FillDataset(sql);

}

publicDataSetdsall()

{

stringsql="select*fromarticle";

returndb.FillDataset(sql);

}

publicDataSetdstype()

{

stringsql="select*fromarticlewhereAtid="+artc.Atid;

returndb.FillDataset(sql);

}

publicstringUid()

{

stringsql="select*fromarticlewhereAid="+artc.Aid;

SqlDataReaderread=db.ExceRead(sql);

returndb.ExceString(read,"Auserid");

}

publicbooldelete()

{

stringsql="deletefromarticlewhereAid="+artc.Aid;

returndb.ExceSql(sql);

}

publicSqlDataReaderDataReader()

{

stringsql="select*fromarticlewhereAid='"+artc.Aid+"'";

returndb.ExceRead(sql);

}

#region截取字符串

publicstaticstringFixLengthString(stringoText,intlength)

{

stringreturnString=oText.Length>length?

oText.Substring(0,length):

oText;

returnreturnString;

}

#endregion

#region去掉html标括记

publicstaticstringNoHTML(stringHtmlstring)

{//Regex.Replace从输入字符串中的第一个字符开始,用指定¨的替换字符串替换由指定的表达式定义的模式的所有匹配项。

可指定选项来修改匹配的行为。

RegexhtmlReg=newRegex(@"<[^>]+>",RegexOptions.Compiled|RegexOptions.IgnoreCase);

RegexhtmlSpaceReg=newRegex(" ",RegexOptions.Compiled|RegexOptions.IgnoreCase);

RegexspaceReg=newRegex("{2,};",RegexOptions.Compiled|RegexOptions.IgnoreCase);

RegexstyleReg=newRegex(@"

)",RegexOptions.Compiled|RegexOptions.IgnoreCase);

//删除脚本?

RegexscriptReg=newRegex(@"

)",RegexOptions.Compiled|RegexOptions.IgnoreCase);

Htmlstring=styleReg.Replace(Htmlstring,string.Empty);

Htmlstring=scriptReg.Replace(Htmlstring,string.Empty);

Htmlstring=htmlReg.Replace(Htmlstring,string.Empty);

Htmlstring=htmlSpaceReg.Replace(Htmlstring,"");

Htmlstring=spaceReg.Replace(Htmlstring,"");

returnHtmlstring.Trim();

}

#endregion

}

6.用户评论程序设计

用户评论程序的功能为实现系统管理员的权限。

界面设计如图9所示。

图9用户评论程序界面设计

程序关键代码如下:

art.atcl=newModel.article();//调用Model层,获取文章

art.atcl.Aid=Convert.ToInt32(Request.QueryString["Aid"]);

DataSetds=art.ArticlDetail();

this.td1.InnerHtml=ds.Tables["result"].Rows[0][

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2