个人博客网站毕业论文

发布时间:2012-11-16 14:07:30

安徽财贸职业学院

学号 G1063020 姓名 刘万马

班级 计应1001 指导教师 陈纪霞

论文题目 个人博客系统




博客的精神是:自由表达,开放宽容,个性张扬,专业精神。本文介绍了个如何开发个人博客。

博客系统主要为用户提供发表文章、浏览文章等功能,用户通过Internet可以发表一些自己撰写的文章以和其他网友进行交流。

本博客网站主要以ASP.NET作为主要开发手段,采用SQL Sever2005设计数据以强大的Microsoft Studio 2010为开发平台工具

本文对博客系统进行整体分析,明确了系统的可行性和用户需求;根据模块化原理,规划设计了系统功能模块;在数据库设计部分,详细说明了系统数据库的结构和数据库的完整性、安全性措施;程序设计则采用面向对象的程序设计思想,提出系统的程序设计思路,对前台与后台功能的程序实现进行了详细论述;系统测试部分,具体分析测试过程中出现的主要问题,并提出了解决方案,实现系统功能。最后,对系统作以客观、全面的评价,并对进一步改进提出了建议。

关键词个人博客、SQL serverVs2010Dreamweaver

第一章 绪论 4

1.1 系统研究开发背景 4

1.2 个人博客概述 4

1.3 个人博客开发的目标 5

1.3.1任何拥有博客的人都可以做到 5

1.3.2 访问博客系统的人,可以做到 5

1-1:工作流图 5

第二章 系统的总体规划和概要设计 6

2.1 系统总体目标 6

2.2 系统的逻辑体系结构 6

2.3 三层结构 6

2.4 前台功能模块 7

2.5 后台管理功能模块 7

第三章 数据层的设计与实现 8

3.1 数据库逻辑结构设计 8

3.2 数据库表结构设计 8

3.6 存储过程设计 9

第四章 系统设计 10

4.1模板页设计 10

4.2. Defaul 页面设计 16

4.3 相册页面的设计 16

4.4.日志页面的设计 17

4.5.留言界面设计; 17

4.6.后台设计 18

3. “添加文章”功能模块 20

第五章 系统测试 24

5.1 测试目的 24

5.2 测试方法 24

5.3.系统测试; 24

5.31.用户登录和用户注册 24

5.3.2发表评论后留言 25

5.3.3.前台文章显示测试 26

5.3.4后台管理 26

总结 28

29

31

参考文献 32




第一章 绪论

1.1 系统研究开发背景

在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。

  不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:

a)记录生活,在自己的每一天上留下思考的划痕。

b)整理思路,固化知识,获得更多更好的想法。

c)分享,将自己的想法、经验与人分享。

d)交流、提高,通过交流产生更多的思维火花,相互提高。

e)交友,互相鼓励,一路同行。

  如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通; 如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友共享

1.2 个人博客概述

 博客最初的名称是Weblog,由weblog两个单词组成,按字面意思就为网络日记,后来喜欢新名词的人把这个词的发音故意改了一下,读成we blog,由此,blog这个词被创造出来。不过,在中国大陆有人往往也将本身和Blog(即博客作者)均音译为博客博客有较深的涵义:广博不单是“blogger”更有好客之意。看Blog的人都是。而在台湾,则分别音译成部落格(或部落阁)及部落客,认为Blog本身有社群群组的意含在内,借由Blog可以将网络上网友集结成一个大博客,成为另一个具有影响力的自由媒体。

1.3 个人博客开发的目标

1.3.1任何拥有博客的人都可以做到

1)登录博客系统浏览文章

2)管理自己博客的基本信息

3)撰写个人随笔

4)处理留言、文章评论等内容

1.3.2 访问博客系统的人,可以做到

游览博客系统中的文章目录、评论博客系统中的内容,只有博客管理员登录系统之后,才能进行管理。而博客系统的访问者不需要注册,也不需要登录就可以访问博客系统中的内容工作流图如下:

1-1工作流图

第二章 系统的总体规划和概要设计

2.1 系统总体目标

实现个人博客的基本功能并使网页整体美观吸引游客,如发表日志,相册浏览,游客评论、注册、登录和留言,还有后台管理(留言、会员、日志、评论管理)。

2.2 系统的逻辑体系结构

本系统采用当前流行的B/S设计模式,基于Asp.NET平台构建Web应用程序,把系统划分为数据层、业务逻辑层和表示层。逻辑体系结构如图2-2所示:

2.3 三层结构

(1) 表示层:即用户接口层,是由ASP.NET技术的Web窗体和Web用户控件组合起来构成的。表示层运行在客户端浏览器上,产生用户视图。在业务逻辑层发生变化时通过改变表示层的组合以及做一些简单的调整就可以很好地适应新的业务逻辑层。

(2) 业务逻辑层:这一层是从整个系统功能设计中抽取大量具有共性的模块,把它们统一设计成为系统公共的可重用的组件。由COM+组件服务管理器统一配置管理组件。

(3) 数据层:用来管理和存储数据,实现数据访问功能,设计数据库,定义数据表结构、表的索引、数据表之间的关联,定义数据库中的视图以及操作数据的存储过程,设计数据库的安全等等。该层由数据库管理系统如SQL Server来管理和控制。

2.4 前台功能模块

可以注册、登录用户信息, 游客还可以浏览日志、评论日志、查看相册、给博主留言

2.5 后台管理功能模块

后台管理系统仅供管理员自己使用, 日志管理、图像管理、留言管理、对日志的增删改查,对游客及评论留言的删除和查找。


第三章 数据层的设计与实现

3.1 数据库逻辑结构设计

数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。

3.2 数据库表结构设计

以用户表T_User为例,

3-1

3-2

3.6 存储过程设计

数据库中的存储过程对应高级语言中的子程序,存储过程的内容是SQL语句,与高级语言的子程序一样,存储过程也有输入输出形参。

存储过程在服务器端运行,存储过程执行一次后,就被编译为二进制代码且驻留在高速缓冲存储器中,在以后的操作中,只需从高速缓冲中调用已编译好的二进制代码,提高了系统性能。而且存储过程中也便于使用事务处理。


第四章 系统设计

对博客系统进行系统分析、数据库设计之后,本章将主要介绍系统各功能模块的设计及其实现。

软件所实现的功能强弱是衡量一个软件的最根本的标准。通过对系统的全面分析并结合调研的情况,确定了本系统的功能模块图。本章先从系统总体结构设计介绍,接着分别对公用模块、客户界面、管理对功能模块加以描述。

4.1模板页设计

1,首先是banner的设计,用ps处理如下图

4-1

2对导航条的设置

4-2

3用户登录

首先只有注册过的会员才能登陆,要不需要进行会员注册,只有注册过的才能发表评论和留言。登陆界面如下图

4-3

用户注册页面:

4-4

用户注册页面的代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Text.RegularExpressions;

using LiuWanMa.BLL;

using LiuWanMa.Model;

namespace Lwm

{

public partial class UserRegister : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void btnRegister_Click(object sender, ImageClickEventArgs e)

{

string name = txtname.Text;

string pwd = txtpwd.Text;

string spwd = txtspwd.Text;

string mail = txtmail.Text;

if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(spwd) || string.IsNullOrEmpty(mail))

{

lblshow.Text = "®?¡ìÁ¡é¨¢ºyY?¨¹a?!";

}

else

{

if (pwd != spwd)

{

ClientScript.RegisterStartupScript(this.GetType(), "", "");

}

else

{

bool b = new Regex(@"^[A-Za-z0-9_-]+@qq\.com$").Match(mail).Success;

if (b)

{

T_UserBLL bll = new T_UserBLL();

T_User model = new T_User();

model.Name = txtname.Text;

model.Password = txtpwd.Text;

model.Rid = 1;

model.Mail = txtmail.Text;

bll.Add(model);

Session["oneuser"] = model;

ClientScript.RegisterStartupScript(this.GetType(), "", "");

}

else

{

lblshow.Text = "®¨º??º??y¨¡¤";

}

}

}

4.个人资料

说明楼主一些的主要信息;

4-5


5最新文章和友情链接

4-6

6footer的界面设置

4-7

7.右面为绑定数据库的内容。

8.css样式的代码

*{ margin:0; padding:0;}

ul,li{ list-style:none;}

.clear{ clear:both;}

img{ border-style: none;

border-color: inherit;

border-width: medium;

}

body {

margin: 1em;

padding: 0;

background: #FFFFFF url(../images/img1.jpg);

font-family: Georgia, "Times New Roman", Times, serif;

color: #748164;

}

#wrapper{ width:760px; margin:0 auto; text-align:center;}

#banner{ background:url(../images/img2.jpg); height:160px;}

#nav{ background-color:#5D8259 ; height:30px; margin-bottom:10px; margin-top:10px;}

#nav ul li{ float:left; width:100px; height:30px; line-height:30px; margin-left:50px;}

#nav ul li a{ text-decoration:none; color:#fff; font:16px;}

#nav ul li a:hover{ color:red; font:20px; }

#left{ float:left; width:250px; }

#right{ float:right; width:500px; }

#footer{ height:40px; line-height:40px; color:White; background-color:#5D8259; text-align:center; clear:both}

.leftTitle{ background:url(../images/img3.jpg); height:40px; line-height:40px; text-align:left; color:White;}

.leftbox{ margin-bottom:10px;}

.leftContent{ background:url(../images/img4.jpg); background-position:bottom left; background-color:White; background-repeat:no-repeat; }

.leftContent p{ height:40px; line-height:40px; margin-left:20px;}

.lwmzp{ height :183px;

background:url('../images/zp.jpg') no-repeat left top;

width: 250px;

}

.jzh{ text-indent:40px; font-size:18px; color: Gray ;font-family: ?¬?, Arial, Helvetica, sans-serif; }

.bd{ font-size:19px;color: Orange ;}

.jianjie{ float:right; margin-right:40px;color: #003300 ;}

.gr{ text-align:left;}

.leftCon{ background:url(../images/img4.jpg); background-position:bottom left; background-color:White; background-repeat:no-repeat; text-align:left; line-height:30px; }

.leftCon ul li a{ text-decoration:none; colorêo Black; font:16px;}

.leftCon ul li a:hover{ color:red; font:20px; }

4.2. Defaul 页面设计

4-8

4.3 相册页面的设计

相册主要是博客日常生活的一些真照,或旅游时拍下的一些风景图片。

4-9

JS写一个相册切换,放大的效果;

4-10

<script type="text/javascript">

$(document).ready(function () {

$(".thumbarea").jCarouselLite({ btnNext: ".next", btnPrev: ".prev", visible: 4, circular: true });

});

$(function () {

$(".thumb").click(function () {

$("#big").attr("src", $(this).attr("src")).show();

$(".bigdes").html($(this).attr("alt")).addClass("des");

});

});

script>

4.4.日志页面的设计

寻找你想要的文章。

主要是绑定数据中博主发过的全部博文,如果你想要什么资料,也可以进行搜

4.5.留言界面设计;

只有会员,才能向楼主进行留言,博主看见你的意见时会进行一些适当的修改;同时也进行了博主和游客的一个交流的平台;增加了互动性,从而从一到百。扩大了博客的意义。

4-11

4.6.后台设计

1管理员登陆

只有管理员才可以进入,其他会员用户不可以进入;

界面设计;

.

4-12

代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using LiuWanMa.BLL;

using LiuWanMa.Model;

namespace Lwm

{

public partial class AdminLogin : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void Button1_Click(object sender, EventArgs e)

{

string name = txtName.Text;

string pwd = txtPwd.Text;

T_UserBLL bll = new T_UserBLL();

T_User model = bll.Admin(name,pwd);

if (model == null)

{

ClientScript.RegisterStartupScript(this.GetType(), "", "");

}

else

{

Response.Redirect("~/Admin/ArticleList.aspx");

}

}

}

}

2后台模板页页面设计

4-13

Css代码

*{ margin:0; padding:0}

ul{ list-style:none;}

a{ text-decoration:none;}

a:hover{ text-decoration:underline;}

.clear{ clear:both;}

body{ text-align:center; font-family:?¬?; font-size:12px;}

#wrapper{ margin:0 auto; text-align:center; width:900px;}

#banner{ background:url(../images/top.jpg) no-repeat; height:65px;}

#gettime{ background:url(../images/gettime.jpg) repeat-x; height:30px;}

#left{ width:250px; height:550px; float:left; margin-right:6px; padding:5px; background-color:#2E64BE;}

#lsidebar{border:2px solid #f6f6f6; background-color:White;}

.title{ width:220px; border:2px solid #1C69C1; height:28px;

background-color:#4095EF; color:White; line-height:28px;

font-size:14px; font-weight:bold; margin:0 auto;}

.content{ display:none;}

.hover{ background:url(../images/hover.jpg) repeat-x;}

.content ul li{ line-height:20px;}

.content ul li a{ font-size:14px;}

.content ul li a:hover{ text-decoration:underline; font-size:14px;}

#right{ width:630px; float:right; height:550px; text-align:left;}

#footer{ height:50px; background-color:#255198;}

3. “添加文章”功能模块

通过“添加文章”功能模块用户能设置文章标题,选择文章所属分类,填写文章概要和文章内容。

4-14

代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using LiuWanMa.BLL;

using LiuWanMa.Model;

namespace Lwm.Admin

{

public partial class Articlemanage : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void btn_Click(object sender, EventArgs e)

{

T_ArticleBLL bll = new T_ArticleBLL();

T_Article model = new T_Article();

model.Title = txtTitle.Text;

model.Body = txtBody.Text;

model.Postdate = DateTime.Now;

bll.Add(model);

Response.Redirect("ArticleList.aspx");

}

}

}

4.文章的管理;

“文章管理”功能模块主要显示当前用户所写的所有文章,并能修改或者删除现有文章

4-15

5.相册管理

增加上传图片,或删除图片;

4-16

代码;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using LiuWanMa.BLL;

using LiuWanMa.Model;

namespace Lwm.Admin

{

public partial class Xiangcemanage : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

}

protected void btnupload_Click(object sender, EventArgs e)

{

if (flpic.HasFile)

{

string fileExt = System.IO.Path.GetExtension(flpic.FileName);

if (fileExt == ".jpg" || fileExt == ".png" || fileExt == ".gif")

{

string name = DateTime.Now.ToString("yyyyMMddHHmmssff");

flpic.SaveAs(Server.MapPath("~/images/pic/" + name + fileExt));

T_PicBLL bll = new T_PicBLL();

T_Pic model = new T_Pic();

model.Xid =Convert.ToInt32( ddlxiangce.SelectedValue);

model.Description = txtdes.Text;

model.Picpath = name + fileExt;

model.Postdate = DateTime.Now;

bll.Add(model);

lblshow.Text = "¦?ä?" + name + fileExt + "¨¦|¡ê";

}

else

{

lblshow.Text = "¦?ä?Ì??t?º??À?¨º¨ªê??¨º¨ª¦?ä?.jpg .png .gif";

return;

}

}

else

{

lblshow.Text = "???ª??";

return;

}

}

}

}

6. 留言管理

通过管理留言和游客保持互动的平台,知道游客的思想,从而更加完善自己的博客。删除不要的或垃圾留言。
第五章 系统测试

5.1 测试目的

程序测试就是在程序投入运行前,对程序的需求分析、设计规格说明和编码的最终复审,是保证程序质量的关键步骤。如果要给程序测试下定义,可以这样讲,程序测试是为了发现错误而执行程序的过程。

测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。编程人员力求在每个阶段结束之前通过严格的技术审查,尽可能早的发现并纠正错误。

5.2 测试方法

程序测试的主要方法分为两大类,白盒测试和黑盒测试。

白盒测试:也称结构测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。

黑盒测试:也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性。根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否满足设定的功能。

在本次测试工作中使用了两种方法。但主要使用的是黑盒测试方法

5.3.系统测试;

5.31.用户登录和用户注册

测试内容:不是用户会员登录是否会成功,不成功会怎么办。

操作:以浏览者的身份进入用户登录,点击登录按钮

结果:用户不可以进入,点击注册,会到用户注册页面。进行注册,然后进行登录。

5-1

5-2

5.3.2发表评论后留言

测试内容:不是用户会员评论后发表是否会成功。

操作: 以浏览者的身份进行发表

结果:只有登录用户才能发表和留言,要不可以进行

5-3

5-4

5.3.3.前台文章显示测试

测试内容:打开前台首页后,是否会显示相应的文章列表。

操作:打开前台首页查看。

结果:文章列表区域正确显示发表的文章。

结论:显示的内容与数据库中的内容一致,经调试成功。

5.3.4后台管理

(1) 发表文章

测试内容:管理员用户发表新文章,。

操作:以管理员的身份进入博客系统,点击管理按钮,选择添加文章的操作如图下图所示,填写完文章内容之后单击添加按钮,看系统是否会提示发表成功。

5-5

(2) 删除文章。

测试内容:用户对自己所发表的文章信息能否成功删除。

操作:点击删除系统询问是否删除该文章信息,

结果:文章信息被成功删除。

结论:测试成功。

3)图像管理。

测试内容:看图片个能插入,删除,修改

操作:点击插入,删除,修改按钮,看图片个成功

结果:图片信息成功修改。


总结

毕业设计是最能体现我们所学知识的时候,是对我们大学两年所学理论知识的一次巩固和提高。设计本系统的过程不仅是对我学过的知识的一次应用,更是对我综合处理问题、解决实际问题能力的培养和锻炼。通过本次毕业设计使我对系统开发有了深入的了解,我的编程能力也有了较大的提高。我在设计过程中也遇到了很多困难,但是通过指导老师和夏同学的帮助以及自己的努力,最终还是顺利地完成了毕业设计。本系统具有如下特点:

(1) 界面美观简洁,程序结构清晰,编码规范。

(2) 后台数据库采用的SQL Server 2005,它功能比较强大,可以处理包含在各种平台上运行的数据库管理系统内核。

但同时也应该看到,由于时间仓促,本系统的功能实现还不是尽善尽美的,还存在需要改进的地方,例如系统的某些设计的可扩展性并不十分理想,在以后的系统维护过程中,使用重构方法对系统进行重构,使系统的设计日益趋于更强的可扩展性。希望在今后可以继续完善本系统设计

css样式的代码

*{ margin:0; padding:0;}

ul,li{ list-style:none;}

.clear{ clear:both;}

img{ border-style: none;

border-color: inherit;

border-width: medium;

}

body {

margin: 1em;

padding: 0;

background: #FFFFFF url(../images/img1.jpg);

font-family: Georgia, "Times New Roman", Times, serif;

color: #748164;

}

#wrapper{ width:760px; margin:0 auto; text-align:center;}

#banner{ background:url(../images/img2.jpg); height:160px;}

#nav{ background-color:#5D8259 ; height:30px; margin-bottom:10px; margin-top:10px;}

#nav ul li{ float:left; width:100px; height:30px; line-height:30px; margin-left:50px;}

#nav ul li a{ text-decoration:none; color:#fff; font:16px;}

#nav ul li a:hover{ color:red; font:20px; }

#left{ float:left; width:250px; }

#right{ float:right; width:500px; }

#footer{ height:40px; line-height:40px; color:White; background-color:#5D8259; text-align:center; clear:both}

.leftTitle{ background:url(../images/img3.jpg); height:40px; line-height:40px; text-align:left; color:White;}

.leftbox{ margin-bottom:10px;}

.leftContent{ background:url(../images/img4.jpg); background-position:bottom left; background-color:White; background-repeat:no-repeat; }

.leftContent p{ height:40px; line-height:40px; margin-left:20px;}

.lwmzp{ height :183px;

background:url('../images/zp.jpg') no-repeat left top;

width: 250px;

}

.jzh{ text-indent:40px; font-size:18px; color: Gray ;font-family: ?¬?, Arial, Helvetica, sans-serif; }

.bd{ font-size:19px;color: Orange ;}

.jianjie{ float:right; margin-right:40px;color: #003300 ;}

.gr{ text-align:left;}

.leftCon{ background:url(../images/img4.jpg); background-position:bottom left; background-color:White; background-repeat:no-repeat; text-align:left; line-height:30px; }

.leftCon ul li a{ text-decoration:none; colorêo Black; font:16px;}

.leftCon ul li a:hover{ color:red; font:20px; }


本研究及学位论文是在我的导师陈纪霞老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。*老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向*老师致以诚挚的谢意和崇高的敬意。我还要感谢在一起愉快的度过毕业论文小组的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。
  在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!
  最后,再次对关心、帮助我的老师和同学表示衷心地感谢!


参考文献

[1]周奇 SQL Server 2005 北京大学出版社

[2]刘小华,任廷奇.毕业论文写作指导》,北京科学出版社200410—100

[3]尚俊杰 .ASP网络编程从入门到精通》,清华大学出版社限公司200925—70

[4]何国民、仲治国.ASP动态网站68个典型模块精解》,科学出版社: 200820—350

[5]Css 实战手册 北京电子出版社 2007.9

[6].周伶俐 .ASP 毕业设计指南与项目实践》 ,科学出版社:200899—130

[7]黄斯伟.HTML4.0动态网页制作》,人民邮电出版社:2007135—175

[8] 黄雷.ASP+HTML+Dreamweaver+Access开发动态网站实例荟萃》,机械业出版社 200610--200

个人博客网站毕业论文

相关推荐