1、刘重洋博客系统中原工学院软件学院软件工程实践课题设计任务书姓 名刘重洋 软件工程 专业 .net124 班题 目博客系统的开发设计任务开发一个比较完善的基于Web的博客系统。主要功能包括:1. 管理员登录:管理员模块;管理博客模块;连接管理模块;游客管理模块;2. 用户注册及登录:文章管理模块;图片管理模块;评论管理模块通讯管理模块;3. 匿名浏览及评论;实名浏览评论; 开发工具:C#、ASP .Net、SQL Server 2005、时间进度第1周:构思,查阅资料及一些必要准备工作;第2周:编写代码,实现大多数博客必要功能;第3周:测试,完善代码及报告的构思和完成;原 主始 要资 参料 考与
2、 文 献01杨云. ASP.NET典型系统开发 M:北京.人民邮电出版社. 2006.602刘勇.SQL Server2005基础教程M: 清华大学出版社. 2005.2指导教师签字: 年 月 日课题题目摘 要博客系统给用户提供了一个很好的交流平台,信息的分享更加的广泛,图片、视频、音频等媒体都可以作为分享的对象。而且博客简单易用,具有很好的群众基础。目前国内微博的发展也很迅速,新浪、腾讯等很多信息产业的公司都有自主的微博系统交流平台。本课题只要着重于简易博客,可局限于局域网的范围,比如一个班级、一个系别等,便于在小范围内的交流与互动,使得信息的传递更加及时、便捷。简易博客也可称为微博,与博客
3、在本质上有着相同的内涵,置于用只言片语来表达用户的心情、所分享的信息,更加的随心。本系统实现的事简易博客系统,分为游客、博主和管理员三个用户角色。1、游客主要是指没有注册成为本系统的用户但同样可以在浏览器上访问本系统的网络用户。访问到本系统后可浏览博主们所发表的文章,并对文章进行评论。同样可以进行注册并成为本系统的用户。2、博主就是注册并成为本系统用户的人,登陆到本系统后,在自己的个人主页可以发表文章,对文章的评论进行管理。3、管理员是本系统的后台用户,负责对已存在的系统用户(博主)进行管理,比如注册某个用户、修改某用户的信息等;还可以发布一些系统公告信息,并对公告信息进行维护;统计博文的数量
4、关键词:博客系统;目 录摘 要 1第1章 项目分析 11.1 问题描述 11.2技术分析 11.3工程进度计划 1第2章 系统分析与设计 22.1 系统分析 22.1.1 参与者 22.1.2 用例及用例规约 22.1.3 用例图 72.2 系统设计 72.2.1顺序图 72.2.2类图 82.2.3系统体系结构设计 82.3 数据库设计 92.3.1E-R图 102.3.2关系模式 102.3.3表的设计 11第3章 实现与测试 143.1 注册和登录模块 143.1.1活动图 143.1.2界面 153.1.3代码 173.1.4测试用例 203.2 博客管理模块 203.2.1活动图 2
5、13.2.2界面 213.2.3代码 283.2.4测试用例 30第4章 结束语 31附录: 主要源程序 33第1章 项目分析在互联网越来越普及的今天,信息在人们的日常生活中占据了非常重要的地位。个人博客系统可以看作是一种在Internet上公开发布的、快速更新的个人网站系统,使用者可以简单快速地完成个人网页的创建、发布和更新,是一个方便的供广大互联网用户相互交流的平台。使用ASP技术从系统需求分析、系统功能模块设计、系统数据库设计3个方面对个人博客系统进行了设计与实现,并进行了测试,系统运行稳定,测试效果良好。1.1 问题描述博客系统源码源码描述:简单的个人博客系统,可以注册会员,对博客进行
6、评论,博客发表,后台可以管理用户功能比较简单,会员登录成功可以添加自己的博客查看相关信息。1.2技术分析本系统对数字化信息资源的组织采用数据库。系统的数据库结构是SQL server,前台使用ASP技术开发。信息平台的后台操作采用B/S操作结构以增强系统的安全保密性、系统稳定性和易操作性。ASP是目前最完备的面向对象语言之一,在未来仍然很有发展前途。1.3工程进度计划第1周:构思,查阅资料及一些必要准备工作;第2周:编写代码,实现大多数博客必要功能;第3周:测试,完善代码及报告的构思和完成;第2章 系统分析与设计现今很多人在用博客,用于发表感想、分享资料等;但凡一个经常被使用的系统,被发现BU
7、G的几率在一开始的时候会很大,但随着BUG不断地被发现、修改也就变得越来越少;需求分析就是要将所要现实的功能尽量细节化。2.1 系统分析本系统对数字化信息资源的组织采用数据库。系统的数据库结构是SQL server,前台使用ASP技术开发。信息平台的后台操作采用B/S操作结构以增强系统的安全保密性、系统稳定性和易操作性。ASP是目前最完备的面向对象语言之一,在未来仍然很有发展前途。2.1.1 参与者管理员;用户;游客2.1.2 用例及用例规约系统用例图如图所示。用例规约如表所示。用户信息管理用例规约表用例编号:1 用例名:用户信息管理 作者:XXX用例描述:该用例描述了博客系统用户信息执行者
8、博客用户相关用例1、 注册2、 登录3、 进入管理界面4、 进行博客发表5、 查看并回复评论前置条件使用者必须为已注册用户后置条件登录成功后,用户可以查看并且查询信息、对信息编辑和修改等基本步骤1、 注册2、 登录3、 进入管理界面4、 修改信息管理员对用户信息管理用例规约表用例编号:2 用例名:管理员对用户信息管理 作者:XXX用例描述:该用例描述了管理员管理博客系统执行者 管理员相关用例 1、登录 2、进入管理页面3、进行用户信息查询4、查询后进行会员信息编辑前置条件使用者必须拥有该功能的使用权限后置条件登录成功后,用户可以查看并且查询用户信息、对用户信息编辑等基本步骤1、登录2、进入管理
9、界面3、进行信息查询4、编辑会员信息5、将修改后的信息写入数据库管理员管理用例规约表用例编号:3 用例名:管理员管理 作者:XXX用例描述:该用例描述了管理员对管理员的查询修改,删除等执行者:管理员相关用例:1、登陆2、进入管理员管理界面3、查询出管理的信息4、对用户的信息进行修改前置条件: 管理员登录系统,并且系统中已存在管理员的相关信息。后置条件: 登陆成功后,管理员可以进行管理员的信息查询,以及修改信息。基本步骤:1、登陆2、进入管理员管理界面3、查询出管理员的信息4、对管理员的信息进行修改5、编辑的信息写入数据库管理员添加用例规约表用例编号:4 用例名:管理员添加 作者:XXX用例描述
10、:该用例描述了管理员对管理员的查询修改,删除等执行者:管理员相关用例:1、登陆2、进入添加管理员界面3、对管理员信息进行输入4、确认添加管理员前置条件: 管理员登录系统,并且系统中已存在管理员的相关信息。后置条件: 登陆成功后,管理员可以进行管理员添加基本步骤:1、登陆2、进入添加管理员界面3、对管理员信息进行输入4、确认添加管理员5、编辑的信息写入数据库2.1.3 用例图系统用例图如图所示。2.2 系统设计本系统主要是实现前台参与者(用户)和后台管理者(数据库管理员)的界面实际操作来实现功能信息,并能够在前台显示出来。其归根结底也就是对数据库的插入、修改、删除和查询。2.2.1顺序图2.2.
11、2类图2.2.3系统体系结构设计博客系统功能结构图如图所示博客功能结构图2.3 数据库设计管理员信息表:储存管理员基本信息博文表:储存发表的文章博客表:储存用户的基本信息游客表:储存游客基本信息链接表:储存链接信息评论信息表;储存评论信息2.3.1E-R图博客系统实体间关系E-R图,如图所示 博客系统E-R图 2.3.2关系模式关系的描述称为关系模式(Relation Schema)。一个关系模式应当是一个五元组。它可以形式化地表示为:R(U, D, DOM, F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集
12、合。关系模式通常可以简记为:R(A1, A2, , An)。其中R为关系名,A1, A2, , An为属性名。而域名及属性向域的映象常常直接说明为属性的类型、长度。关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系。2.3.3表的设计(1)tb_Admin表,如表2.5所示列名数据类型允许空是否为主键BlogIDint否是UserNamenvarchar(50)是否PassWordnvarchar(50)是否Sexn
13、varchar(50)是否ReallyNamenvarchar(50)是否Birthdaynvarchar(50)是否Addressnvarchar(200)是否(2)tb_Article表如表2.6所示。列名数据类型允许空是否为主键ArticleIDint否是Authornvarchar(50)是否Subjectnvarchar(50)是否Contentntext是否BlogIDint是否Timedatetime是否(3)tb_Bolg表,订单表如表2.7所示列名数据类型允许空是否为主键IDint否是UserNamenvarchar(50)是否PassWordnvarchar(50)是否Qu
14、estionnvarchar(100)是否Answernvarchar(100)是否ReallyNamenvarchar(50)是否Birthdaynvarchar(50)是否Addressnvarchar(100)是否(4)Tb_Revert表2.11所示列名数据类型允许空是否为主键RevertIDint否是Subjectnvarchar(50)是否Contentntext是否ArticleIDInt是否BlogIDInt是否Timedatatime是否IPnvarchar(20)是否VisitorIDInt是否VisitorNamenvarchar(50)是否第3章 实现与测试软件测试的目
15、的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。3.1 注册和登录模块功能测试包括测试内容和测试结果,测试内容为用户注册到登录的全过程。测试结果为用户的注册登录过程的检测。3.1.1活动图3.1.2界面主页界面如图所示。主页界面点击注册,显示下图界面,注册界面如图所示。注册界面注册后显示下面
16、界面才能成功,注册成功界面如图2.11所示。注册成功界面注册成功后用户就可以登录,登录界面如图所示。登录界面用户登录成功后转到自己的页面,可显示用户发表的文章,如图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 (SessionUserName = null) Response.Redirect(././Index.aspx); pr
17、otected void btnOK_Click(object sender, EventArgs e) SqlData da = new SqlData(); SqlDataReader read = da.ExceRead(select * from tb_Admin where UserName= + this.txtName.Text + ); read.Read(); if (read.HasRows) if (this.txtName.Text = readUserName.ToString() Response.Write(alert(对不起,该用户已经注册!);location
18、=Register.aspx); return; read.Close(); string P_str_Com = insert into tb_Admin(UserName,PassWord,Question,Answer,ReallyName,Birthday,Address + ,PostCode,Email,HomePhone,MobilePhone,QQ,ICQ,RegTime,Sex,SuperAdmin,IP) values( + this.txtName.Text + + , + this.txtPwd.Text + , + this.txtQues.Text + , + th
19、is.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.DropDow
20、nList1.SelectedValue + ,+this.DropDownList2.SelectedValue+,+Request.UserHostAddress+); bool add = da.ExceSQL(P_str_Com); if (add = true) Response.Write(alert(注册成功!);location=AdminManage.aspx); else Response.Write(alert(注册失败!);location=javascript:history.go(-1); protected void Button1_Click(object se
21、nder, EventArgs e) SqlData da = new SqlData(); SqlDataReader read = da.ExceRead(select * from tb_Admin where UserName=+this.txtName.Text+); read.Read(); if (read.HasRows) if (this.txtName.Text = readUserName.ToString() Response.Write(alert(对不起,该用户已经注册!);location=Register.aspx); else Response.Write(a
22、lert(恭喜您,该用户可以注册!);); read.Close(); protected void btnBack_Click(object sender, EventArgs e) Response.Redirect(AdminManage.aspx); (2)管理员注册页面代码public partial class Module_Admin_AdminInfo : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionUserName = null) Response.Red
23、irect(././Index.aspx); if (!IsPostBack) try SqlConnection mycon = new SqlConnection(ConfigurationManager.AppSettingsconStr); mycon.Open(); DataSet mydataset = new DataSet(); SqlDataAdapter mydataadapter = new SqlDataAdapter(select * from tb_Admin where id= + Requestid,mycon); mydataadapter.Fill(myda
24、taset, tb_Admin); DataRowView rowview = mydataset.Tablestb_Admin.DefaultView0; this.txtName.Text = Convert.ToString(rowviewUserName); this.txtPwd.Text = Convert.ToString(rowviewPassWord); this.ddlSex.SelectedValue = Convert.ToString(rowviewSex); this.txtRealName.Text = Convert.ToString(rowviewReally
25、Name); this.txtBirthday.Text = Convert.ToString(rowviewBirthday); this.txtAddress.Text = Convert.ToString(rowviewAddress); this.txtPostCode.Text = Convert.ToString(rowviewPostCode); this.txtQues.Text = Convert.ToString(rowviewQuestion); this.txtAns.Text = Convert.ToString(rowviewAnswer); this.txtEma
26、il.Text = Convert.ToString(rowviewEmail); this.txtHphone.Text = Convert.ToString(rowviewHomePhone); this.txtMphone.Text = Convert.ToString(rowviewMobilePhone); this.txtQQ.Text = Convert.ToString(rowviewQQ); this.txtICQ.Text = Convert.ToString(rowviewICQ); this.TextBox1.Text = Convert.ToString(rowvie
27、wRegTime); this.DropDownList1.SelectedValue = Convert.ToString(rowviewSuperAdmin); this.txtIP.Text = Convert.ToString(rowviewIP); 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 = update tb_Admin set UserName= + this.txtName.Text + ,PassWord= + this.txtOKpwd.Text + + ,Sex= + this.ddlSex.SelectedValue + ,Re
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1