博客管理系统
一、系统分析
1. 总体需求
本系统要实现个人博客的主要基本功能有主界面,博客用户登录发表文章,系统管理员查看和删除,游客发表评论,分页浏览文章和评论等。
2. 业务分析
系统角:匿名用户、注册用户、系统管理员。
①匿名用户:由注册、登录、浏览博客、评论4个部分组成。匿名用户可以对其他用户的博客内容时行浏览、评论。也可以通过注册后登录博客系统,申请一个属于自己的博客。
②注册用户:由个人信息管理、评论管理、好友管理、相册管理、文章管理5个部分组成。这些功能可以对用户个人博客中的个人信息、好友、评论、相册和文章进行设置。
③系统管理员:由用户管理、评论审核管理、相册审核管理、文章审核管理、链接管理5部分组成。这是
为了对注册用户的博客内容与个人信息进行管理,并对博客中的评论、相册、文章进行审核,审核通过后才能发表。
在对需求进行分析的基础上,提出博客管理系统的功能如图1所示。
图1 博客网站的系统用例图
3. 非功能性需求
系统用户数300人以内,游客40人。在线用户数50人,发表用户数5-40人。
单用户查询操作请求响应时间一般不大于2秒,最长不大于5秒。在Windows操作系统平台下运行,系统7*24小时运行,停机时间不超过2%。
系统界面友好,易于使用,并提供联机帮助功能。
4. 系统功能模块设计
根据博客系统的业务需求分析,可知博客管理系统的功能有:博客注册,新用户信息登记,用户发表博客,删除博客等。
①博客注册:包括用户账户注册。
②新用户信息登记:创建后的用户自行记住密码并直接登录。
③用户发表评论:发表自己的所思所闻,是一个动态信息,及时更新,有利于了解好友的现状。
④删除博客:用户在博客内评论内容涉及不良内容需要删除。
根据以上详细功能分析,设计博客管理系统功能结构如图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 = new Model.Users();
logins.Users.Uname = ame.Text;
logins.Users.Upwd = logins.pwd.Text);
SqlDataReader read1 = logins.DataReader();
if (read1.HasRows)
{
Session["Uname"] = ame.Text;
read1.Close();
Session["Uid"] = logins.Uid();
logins.Users.Uid = Convert.ToInt32(Session["Uid"]);
string img = logins.Uimg();
this.lbuname.Text = ame.Text;
this.login.Visible = false;
this.login2.Visible = true;
this.Lable.Visible = true;
this.imguser.ImageUrl = "~/Image/" + img;
}
怎么申请博客②Model层代码
[Serializable]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论