刘重洋 - 博客系统

更新时间:2023-11-07 20:34:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中原工学院软件学院

软件工程实践课题设计任务书

姓 名 刘重洋 软件工程 专业 .net124 班 题 目 博客系统的开发 开发一个比较完善的基于Web的博客系统。主要功能包括: 1. 管理员登录:管理员模块;管理博客模块;连接管理模块;游客管理模块; 设 计 任 务 2. 用户注册及登录:文章管理模块;图片管理模块;评论管理模块通讯管理模块; 3. 匿名浏览及评论;实名浏览评论; 开发工具:C#、ASP .Net、SQL Server 2005、 第1周:构思,查阅资料及一些必要准备工作; 时 间 进 度 第2周:编写代码,实现大多数博客必要功能; 第3周:测试,完善代码及报告的构思和完成; 原 主 始 要 [01]杨云. ASP.NET典型系统开发 [M]:北京.人民邮电出版社. 2006.6 资 参 [02]刘勇.SQL Server2005基础教程[M]: 清华大学出版社. 2005.2 料 考 与 文 献 指导教师签字: 年 月 日

课题题目

摘 要

博客系统给用户提供了一个很好的交流平台,信息的分享更加的广泛,图片、视频、音频等媒体都可以作为分享的对象。而且博客简单易用,具有很好的群众基础。目前国内微博的发展也很迅速,新浪、腾讯等很多信息产业的公司都有自主的微博系统交流平台。

本课题只要着重于简易博客,可局限于局域网的范围,比如一个班级、一个系别等,便于在小范围内的交流与互动,使得信息的传递更加及时、便捷。简易博客也可称为微博,与博客在本质上有着相同的内涵,置于用只言片语来表达用户的心情、所分享的信息,更加的随心。本系统实现的事简易博客系统,分为游客、博主和管理员三个用户角色。

1、游客主要是指没有注册成为本系统的用户但同样可以在浏览器上访问本系统的网络用户。访问到本系统后可浏览博主们所发表的文章,并对文章进行评论。同样可以进行注册并成为本系统的用户。

2、博主就是注册并成为本系统用户的人,登陆到本系统后,在自己的个人主页可以发表文章,对文章的评论进行管理。

3、管理员是本系统的后台用户,负责对已存在的系统用户(博主)进行管理,比如注册某个用户、修改某用户的信息等;还可以发布一些系统公告信息,并对公告信息进行维护;统计博文的数量

关键词:博客系统;

目 录

摘 要 ............................................................................................................................................. 1 第1章 项目分析 ........................................................................................................................... 1 1.1 问题描述 .............................................................................................................................. 1 1.2技术分析 ............................................................................................................................... 1 1.3工程进度计划 ....................................................................................................................... 1 第2章 系统分析与设计 ............................................................................................................... 2 2.1 系统分析 .............................................................................................................................. 2 2.1.1 参与者 ........................................................................................................................... 2 2.1.2 用例及用例规约 ........................................................................................................... 2 2.1.3 用例图 ........................................................................................................................... 7 2.2 系统设计 .............................................................................................................................. 7 2.2.1顺序图 ............................................................................................................................ 8 2.2.2类图 ................................................................................................................................ 8 2.2.3系统体系结构设计 ........................................................................................................ 9 2.3 数据库设计 .......................................................................................................................... 9 2.3.1E-R图 ........................................................................................................................... 10 2.3.2关系模式 ...................................................................................................................... 11 2.3.3表的设计 ...................................................................................................................... 11 第3章 实现与测试 ..................................................................................................................... 13 3.1 注册和登录模块 ................................................................................................................ 13 3.1.1活动图 .......................................................................................................................... 13 3.1.2界面 .............................................................................................................................. 13 3.1.3代码 .............................................................................................................................. 16 3.1.4测试用例 ...................................................................................................................... 19 3.2 博客管理模块 .................................................................................................................... 20 3.2.1活动图 .......................................................................................................................... 20 3.2.2界面 .............................................................................................................................. 20 3.2.3代码 .............................................................................................................................. 27 3.2.4测试用例 ...................................................................................................................... 29 第4章 结束语 ............................................................................................................................. 30 附录: 主要源程序........................................................................................................................ 32

刘重洋:博客系统

第1章 项目分析

在互联网越来越普及的今天,信息在人们的日常生活中占据了非常重要的地位。个人博客系统可以看作是一种在Internet上公开发布的、快速更新的个人网站系统,使用者可以简单快速地完成个人网页的创建、发布和更新,是一个方便的供广大互联网用户相互交流的平台。使用ASP技术从系统需求分析、系统功能模块设计、系统数据库设计3个方面对个人博客系统进行了设计与实现,并进行了测试,系统运行稳定,测试效果良好。

1.1 问题描述

博客系统源码源码描述:简单的个人博客系统,可以注册会员,对博客进行评论,博客发表,后台可以管理用户功能比较简单,会员登录成功可以添加自己的博客查看相关信息。

1.2技术分析

本系统对数字化信息资源的组织采用数据库。系统的数据库结构是SQL server,前台使用ASP技术开发。信息平台的后台操作采用B/S操作结构以增强系统的安全保密性、系统稳定性和易操作性。ASP是目前最完备的面向对象语言之一,在未来仍然很有发展前途。

1.3工程进度计划

第1周:构思,查阅资料及一些必要准备工作; 第2周:编写代码,实现大多数博客必要功能; 第3周:测试,完善代码及报告的构思和完成;

1

刘重洋:博客系统

第2章 系统分析与设计

现今很多人在用博客,用于发表感想、分享资料等;但凡一个经常被使用的系统,被发现BUG的几率在一开始的时候会很大,但随着BUG不断地被发现、修改也就变得越来越少;需求分析就是要将所要现实的功能尽量细节化。

2.1 系统分析

本系统对数字化信息资源的组织采用数据库。系统的数据库结构是SQL server,前台使用ASP技术开发。信息平台的后台操作采用B/S操作结构以增强系统的安全保密性、系统稳定性和易操作性。ASP是目前最完备的面向对象语言之一,在未来仍然很有发展前途。 2.1.1 参与者

管理员;用户;游客 2.1.2 用例及用例规约

系统用例图如图所示。 匿名评论 实名评论 浏览博客 管理员 用户管理 博客管理 图片管理 通讯录管理 游客 登录 发表博客 回复评论 注册 浏览博客 评论博客 用户管理

2

刘重洋:博客系统

用例规约如表所示。

用户信息管理用例规约表 用例编号:1 用例名:用户信息管理 作者:XXX 用例描述:该用例描述了博客系统用户信息 执行者 博客用户 相关用例 1、注册 2、登录 3、进入管理界面 4、进行博客发表 5、查看并回复评论 前置条件 使用者必须为已注册用户 后置条件 登录成功后,用户可以查看并且查询信息、对信息编辑和修改等 基本步骤 1、注册 2、登录 3、进入管理界面 4、修改信息

3

刘重洋:博客系统

管理员对用户信息管理用例规约表 用例编号:2 用例名:管理员对用户信息管理 作者:XXX 用例描述:该用例描述了管理员管理博客系统 执行者 管理员 相关用例 1、登录 2、进入管理页面 3、进行用户信息查询 4、查询后进行会员信息编辑 前置条件 使用者必须拥有该功能的使用权限 后置条件 登录成功后,用户可以查看并且查询用户信息、对用户信息编辑等 基本步骤 1、登录 2、进入管理界面 3、进行信息查询 4、编辑会员信息 5、将修改后的信息写入数据库

4

刘重洋:博客系统

管理员管理用例规约表 用例编号:3 用例名:管理员管理 作者:XXX 用例描述:该用例描述了管理员对管理员的查询修改,删除等 执行者:管理员 相关用例: 1、登陆 2、进入管理员管理界面 3、查询出管理的信息 4、对用户的信息进行修改 前置条件: 管理员登录系统,并且系统中已存在管理员的相关信息。 后置条件: 登陆成功后,管理员可以进行管理员的信息查询,以及修改信息。 基本步骤: 1、登陆 2、进入管理员管理界面 3、查询出管理员的信息 4、对管理员的信息进行修改 5、编辑的信息写入数据库

5

刘重洋:博客系统

管理员添加用例规约表 用例编号:4 用例名:管理员添加 作者:XXX 用例描述:该用例描述了管理员对管理员的查询修改,删除等 执行者:管理员 相关用例: 1、登陆 2、进入添加管理员界面 3、对管理员信息进行输入 4、确认添加管理员 前置条件: 管理员登录系统,并且系统中已存在管理员的相关信息。 后置条件: 登陆成功后,管理员可以进行管理员添加 基本步骤: 1、登陆 2、进入添加管理员界面 3、对管理员信息进行输入 4、确认添加管理员 5、编辑的信息写入数据库

6

刘重洋:博客系统

2.1.3 用例图

系统用例图如图所示。 匿名评论 实名评论 浏览博客 管理员 用户管理 博客管理 图片管理 通讯录管理 游客 登录 发表博客 回复评论 注册 浏览博客 评论博客 用户管理 2.2 系统设计

本系统主要是实现前台参与者(用户)和后台管理者(数据库管理员)的界面实际操作来实现功能信息,并能够在前台显示出来。其归根结底也就是对数据库的插入、修改、删除和查询。

7

刘重洋:博客系统

第3章 实现与测试

软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。

3.1 注册和登录模块

功能测试包括测试内容和测试结果,测试内容为用户注册到登录的全过程。测试结果为用户的注册登录过程的检测。

3.1.1活动图

提示输入账号和密码 输入账号和密码 提示信息错误 失败 登陆 验证信息 登录成功 成功 3.1.2界面

主页界面如图所示。

13

刘重洋:博客系统

主页界面

点击注册,显示下图界面,注册界面如图所示。

注册界面

注册后显示下面界面才能成功,注册成功界面如图2.11所示。

14

刘重洋:博客系统

注册成功界面

注册成功后用户就可以登录,登录界面如图所示。

登录界面

15

刘重洋:博客系统

用户登录成功后转到自己的页面,可显示用户发表的文章,如图2.13所示。

用户登录成功界面

3.1.3代码

(1).普通用户注册信息代码

public partial class Module_Admin_Register : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) { if (Session[\] == null) { Response.Redirect(\); } } protected void btnOK_Click(object sender, EventArgs e) { SqlData da = new SqlData(); SqlDataReader read = da.ExceRead(\ + this.txtName.Text + \); read.Read(); if (read.HasRows) { if (this.txtName.Text == read[\].ToString()) { Response.Write(\对不起,该用户已经注册!');location='Register.aspx'\); return; } } read.Close(); string P_str_Com = \

tb_Admin(UserName,PassWord,Question,Answer,ReallyName,Birthday,Address\ + \

16

刘重洋:博客系统

values('\ + this.txtName.Text + \ + \ + this.txtPwd.Text + \ + this.txtQues.Text + \ + this.txtAns.Text + \ + this.txtRealName.Text + \ + \ + this.txtBirthday.Text + \ + this.txtAddress.Text + \ + this.txtPostCode.Text + \ + this.txtEmail.Text + \ + \ + this.txtHphone.Text + \ + this.txtMphone.Text + \ + this.txtQQ.Text + \ + this.txtICQ.Text + \ + DateTime.Now.ToString() + \ + this.DropDownList1.SelectedValue + \+this.DropDownList2.SelectedValue+\+Request.UserHostAddress+\; bool add = da.ExceSQL(P_str_Com); if (add == true) { Response.Write(\注册成功!');location='AdminManage.aspx'\); } else { Response.Write(\注册失败!');location='javascript:history.go(-1)'\); } } protected void Button1_Click(object sender, EventArgs e) { SqlData da = new SqlData(); SqlDataReader read = da.ExceRead(\UserName='\+this.txtName.Text+\); read.Read(); if (read.HasRows) { if (this.txtName.Text == read[\].ToString()) { Response.Write(\对不起,该用户已经注册!');location='Register.aspx'\); } } else { Response.Write(\恭喜您,该用户可以注册!');\); } read.Close(); } protected void btnBack_Click(object sender, EventArgs e) { Response.Redirect(\); } }

(2)管理员注册页面代码

public partial class Module_Admin_AdminInfo : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) { if (Session[\] == null) { Response.Redirect(\); }

17

刘重洋:博客系统

Page.Response.Redirect(\); } else { Response.Write(\用户名或密码有误!');location='javascript:history.go(-1)'\); return; } } } protected void btnCancle_Click(object sender, EventArgs e) { Response.Redirect(\); }

(2)管理员登陆 using System;

using System.Data;

using System.Configuration; using System.Collections; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

public partial class Module_Admin_Append : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session[\] == null) { Response.Redirect(\); } SqlData da = new SqlData(); this.gvAdmin.DataSource = da.ExceDS(\); gvAdmin.DataKeyNames = new string[] { \ }; gvAdmin.DataBind(); } } protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { if (\是\ == Session[\].ToString()) { SqlData da = new SqlData(); da.ExceSQL(\ + gvAdmin.DataKeys[e.RowIndex].Value + \); Page.Response.Redirect(\); } else

33

刘重洋:博客系统

{ Response.Write(\非超级管理员不能进行删除操作!')\); } } protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { gvAdmin.PageIndex = e.NewPageIndex; gvAdmin.DataBind(); } protected void btnSearch_Click(object sender, EventArgs e) { SqlData da = new SqlData(); string search=this.ddlSearch.SelectedValue; switch (search) { case \管理员ID\: da.BindData(this.gvAdmin, \ + this.txtKey.Text + \); break; case \用户名\: da.BindData(this.gvAdmin, \* From tb_Admin Where UserName Like '%\ + this.txtKey.Text + \); break; case \: da.BindData(this.gvAdmin, \ + this.txtKey.Text + \); break; default: Response.Write(\出错拉!');location='javascript:history.go(-1)'\); break; } } protected void gvAdmin_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { ((LinkButton)(e.Row.Cells[6].Controls[0])).Attributes.Add(\, \confirm('确定删除吗?')\); } } }

34

刘重洋:博客系统

if (!IsPostBack) { try { SqlConnection mycon = new

SqlConnection(ConfigurationManager.AppSettings[\]); mycon.Open(); DataSet mydataset = new DataSet(); SqlDataAdapter mydataadapter = new SqlDataAdapter(\id=\ + Request[\],mycon); mydataadapter.Fill(mydataset, \); DataRowView rowview = mydataset.Tables[\].DefaultView[0]; this.txtName.Text = Convert.ToString(rowview[\]); this.txtPwd.Text = Convert.ToString(rowview[\]); this.ddlSex.SelectedValue = Convert.ToString(rowview[\]); this.txtRealName.Text = Convert.ToString(rowview[\]); this.txtBirthday.Text = Convert.ToString(rowview[\]); this.txtAddress.Text = Convert.ToString(rowview[\]); this.txtPostCode.Text = Convert.ToString(rowview[\]); this.txtQues.Text = Convert.ToString(rowview[\]); this.txtAns.Text = Convert.ToString(rowview[\]); this.txtEmail.Text = Convert.ToString(rowview[\]); this.txtHphone.Text = Convert.ToString(rowview[\]); this.txtMphone.Text = Convert.ToString(rowview[\]); this.txtQQ.Text = Convert.ToString(rowview[\]); this.txtICQ.Text = Convert.ToString(rowview[\]); this.TextBox1.Text = Convert.ToString(rowview[\]); this.DropDownList1.SelectedValue = Convert.ToString(rowview[\]); this.txtIP.Text = Convert.ToString(rowview[\]); mycon.Close(); } catch (Exception ex) { Response.Write(ex.Message); } } } protected void btnUpdate_Click(object sender, EventArgs e) { try { SqlData da = new SqlData(); string P_str_Com = \ + this.txtName.Text + \ + this.txtOKpwd.Text + \ + \ + this.ddlSex.SelectedValue + \ + this.txtRealName.Text + \ + \ + this.txtBirthday.Text + \ + this.txtEmail.Text + \ + this.txtHphone.Text + \ + \ + this.txtMphone.Text + \ + this.txtPostCode.Text + \ + this.txtQQ.Text + \ + \ + this.txtICQ.Text + \ + this.txtAddress.Text + \ + this.txtAns.Text + \ + this.txtQues.Text + \ + this.DropDownList1.SelectedValue + \ + \ + Request[\] + \; bool add = da.ExceSQL(P_str_Com); if (add == true) {

18

刘重洋:博客系统

Response.Write(\修改信息成功!');location='AdminManage.aspx'\); } else { Response.Write(\修改信息失败!');location='javascript:history.go(-1)'\); } } catch (Exception ex) { Response.Write(ex.Message); } } protected void txtBack_Click(object sender, EventArgs e) { Page.Response.Redirect(\); } }

3.1.4测试用例

测试步骤如表所示。

表3.1 系统测试表 序号 1 测试用例标题 检测所填普通账户是否可以注册 设置密码 验证码输入 登录所注册邮箱 登录账号 测试数据 刘重洋 期望结果 弹出网页消息框,恭喜该用户可以注册。 成功,密码格式正确 失败,密码格式必须以字母开头的6-18位 成功,验证码正确 失败,验证码输入错误 成功,用户登录注册邮箱点击链接激活即可登录账号 成功,在用户点击“登录”按钮后,可在主页界面看到我的账号为注册用户名信息,且在数据库中更新数据 成功,用户在修改页面修改要修改的用户信息点击“修改“按钮后,在用户信息页面可以看到修改后的信息内容。且在数据库中更新数据 成功,用户在点击博客后,将看到博客评论信息 2 3 4 zwq123、123456 输入验证码正确与否 登录邮箱激活账号 5 登录所注册的账号 6 修改信息 用户随意选中一些信息 7 查看博客信息 用户随意选中要查看的博客信息 19

刘重洋:博客系统

3.2 博客管理模块

用户登录成功后,可进行文章编辑,评论回复等操作。 3.2.1活动图

登录 成功 失败 编辑博客 否 是 检测数据库 失败 提示信息错误 是否发表 发表成功 成功 3.2.2界面

用户点击文章管理后的页面如图所示:

20

刘重洋:博客系统

点击图片管理后的页面,用户可以添加图片,如图所示:

点击评论管理后的页面,可查看删除评论,如图所示:

21

刘重洋:博客系统

点击通讯管理后的页面,可新添加个人资料,如图所示:

点击退出登录,可回到首页,点击首页标题中的博客文章,如图所示:

22

刘重洋:博客系统

点击我要评论后的界面,如图所示:

点击首页上的忘记密码后的界面,如图所示:

23

刘重洋:博客系统

输入用户名,可找回密码,如图所示:

点击首页中的管理员登陆,如图所示:

24

刘重洋:博客系统

点击确定之后,如图所示:

点击添加管理员,如图所示:

25

刘重洋:博客系统

点击管理博客,如图所示:

点击链接管理,如图所示:

26

刘重洋:博客系统

点击游客管理,如图所示:

3.2.3代码

(1)管理员登陆 using System;

using System.Data;

using System.Configuration; using System.Collections; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient;

public partial class Module_Admin_Append : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session[\] == null) { Response.Redirect(\); } SqlData da = new SqlData(); this.gvAdmin.DataSource = da.ExceDS(\); gvAdmin.DataKeyNames = new string[] { \ }; gvAdmin.DataBind(); } } protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { if (\是\ == Session[\].ToString()) { SqlData da = new SqlData();

27

本文来源:https://www.bwwdw.com/article/fw62.html

Top