个人博客系统的设计与实现

  • 格式:doc
  • 大小:1.68 MB
  • 文档页数:28

毕业设计(论文)个人博客系统的设计与实现姓名系别、专业导师姓名、职称完成时间目录一、开发背景 (3)二、系统分析 (3)(一)可行性分析 (3)(二)需求分析 (4)三、系统设计 (5)(一)系统目标 (5)(二)业务流程图 (6)(三)系统功能结构 (6)四、数据库设计 (7)(一)数据库E-R图分析 (7)(二)数据表结构 (7)五、公共类的编写 (9)六、详细设计 (13)(一)界面的设计 (13)七、测试 (16)(一)测试目的 (16)(二)测试方法 (17)(三)测试用例 (17)附录1 系统使用说明 (20)附录2 程序主要源代码 (24)附录3总结 (28)一、开发背景博客的精神是:自由表达,开放宽容,个性张扬,专业精神。

在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。

博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。

虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。

生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。

督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。

这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。

不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:a)记录生活,在自己的每一天上留下思考的划痕。

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

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

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

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

如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通;如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友共享二、系统分析(一)可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析。

(1) 经济可行性。

经济可行性主要是对项目的经济效益进行评价。

本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。

(2) 技术上的可行性。

技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。

在软件方面,本系统采用的是进行开发,前台网页设计使用的是Dreamweaver MX,而数据库系统采用的是Microsoft SQL 2005。

通过分析,在软、硬件方面现有工具与环境完全可以实现系统的开发,因此具有技术上的可行性。

(3) 时机可行性。

时机可行性是分析系统开发时机是否成熟。

目前越来越多的应用程序都已经是转向基于Web的开发,并且Internet已经广泛使用,因此系统的设计具有时机可行性。

(4) 管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。

系统的开发主要就是为了方便校友信息的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。

综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。

(二)需求分析在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确了设计所实现子系统的功能。

(I)管理员登录在调研中了解到,用户想要使用系统,首先要有一个友好的用户注册界面,其次,用户需要经历登录验证过程,只有合法的拥有管理员身份的用户才可以使用系统中的管理功能,这样做可以防止非法用户登录并使用本系统,妨害数据安全。

用户登录。

通过系统登录验证,用户成功进入系统并开始使用其中功能。

(II)文章管理文章管理是用户所有文章的信息,用户可以进入此处进行相关文章的管理。

这部分主要包括以下方面:(1) 文章信息显示。

显示出所有文章的大概信息。

(2) 发表新文章。

可以发表新的文章,以供网友浏览。

(3) 修改文章。

可以修改已有的文章的内容。

(4) 删除文章。

允许用户对文章信息进行删除操作。

(III)系统信息管理系统开始运行之后,随着时间的变化会有想要更改系统的相关信息的要求,比如:修改博客的标题、联系的地址,因此需要提供信息修改的功能。

同时,为了保证数据使用系统的安全性,用户也应该经常修改登录密码信息。

三、系统设计(一)系统目标(1)界面设计的简洁、友好、美观大方。

(2)操作简单、快捷方便。

(3)数据库存储安全、可靠。

(4)登录博客系统浏览文章。

(5)管理自己博客的基本信息。

(6)撰写个人随笔。

(7)处理留言、文章评论等内容。

(二)业务流程图(三)系统功能结构四、数据库设计(一)数据库E-R 图分析文章内容发表日期管理员管理浏览用户注册时间文章主题文章信息用户名性别(二)数据表结构Admin 表Blog表五、公共类的编写using System;using System.Data;using System.Configuration;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;/// <summary>/// DBClass 的摘要说明/// </summary>public class DBClass{SqlConnection myConn; //用于连接数据库SqlCommand myCmd; //用于执行Sql语句DataSet ds; //数据集SqlDataAdapter adapt; //填充数据集public DBClass(){//// TODO: 在此处添加构造函数逻辑//}/// <summary>/// 连接数据库/// </summary>/// <returns>返回SqlConnection对象</returns>public SqlConnection GetConnection(){string myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();myConn = new SqlConnection(myStr);return myConn;}/// <summary>/// 更新数据库/// </summary>/// <param name="strSql">sqlStr执行的SQL语句</param>public void ExecNonQuery(string strSql){try{myConn = GetConnection();//与数据库连接myCmd = new SqlCommand();//初始化SqlCommand类对象myCmd.Connection = myConn;mandText = strSql;if (myCmd.Connection.State != ConnectionState.Open){myCmd.Connection.Open();//打开与数据库的连接}myCmd.ExecuteNonQuery();//执行Sql操作,并返回受影响的行数}catch (Exception ex){throw new Exception(ex.Message, ex);}finally{if (myCmd.Connection.State == ConnectionState.Open){//断开连接,释放资源myCmd.Connection.Close();myConn.Dispose();myCmd.Dispose();}}}/// <summary>/// 返回一个值/// </summary>/// <param name="strSql">sqlStr执行的SQL语句</param>/// <returns>返回获取的值</returns>public string ExecScalar(string strSql){try{myConn = GetConnection();//与数据库连接myCmd = new SqlCommand();//初始化SqlCommand类对象myCmd.Connection = myConn;mandText = strSql;if (myCmd.Connection.State != ConnectionState.Open){myCmd.Connection.Open();//打开与数据库的连接}//使用SqlCommand对象的ExecuteScalar方法返回第一行第一列的值 strSql=Convert.ToString(myCmd.ExecuteScalar());return strSql ;}catch (Exception ex){throw new Exception(ex.Message, ex);}finally{if (myCmd.Connection.State == ConnectionState.Open){//断开连接,释放资源myConn.Dispose();myCmd.Connection.Close();myCmd.Dispose();}}}/// <summary>/// 说明: GetDataSet数据集,返回数据源的数据表/// 返回值:数据源的数据表/// 参数: sqlStr执行的SQL语句,TableName 数据表名称/// </summary>public DataTable GetDataSet(string strSql, string TableName){ds= new DataSet();try{myConn = GetConnection();//与数据库连接adapt = new SqlDataAdapter(strSql, myConn); //实例化SqlDataAdapter 类对象adapt.Fill(ds,TableName);//填充数据集return ds.Tables[TableName];//返回数据集DataSet的表的集合}catch (Exception ex){throw new Exception(ex.Message, ex);}finally{//断开连接,释放资源myConn.Close();adapt.Dispose();ds.Dispose();myConn.Dispose();}}}六、详细设计(一)界面的设计界面主要采用比较清爽的绿色以及纯白色为背景,布局比较传统,但同时也不乏其实用性。