个人博客网站的设计与实现毕业论文

发布时间:2017-08-16 09:33:35

个人博客网站的设计与实现毕业论文


1 系统概述

1.1 课题背景

Blog199712月由美国的Jorn Barger最早提出的,这些年全球博客获得了突飞猛进的发展。据博客搜索Technorati统计,目前全球平均每5.8秒钟诞生一个博客。它是一个个人互联网出版工具,博客使用者可以很方便地用文字、链接、图片建立起个性化的网络世界。博客正在改变人与人之间交流方式。目前,全球参与博客的人数已经达到千万之众,而且每几秒钟,都有一名新的博客用户加盟进来。很多律师、教授、学者,甚至法官和议员都有了自己的博客网站,形成了独特的博客文化。许多企业正在把博客方式引入到企业的内部网和公司网站,用于非正式的知识管理和网络营销等。政府和教育等领域都在尝试利用博客构造内部知识管理和沟通交流的新体系,可以让职员积累知识,发表评论,链接有意思的网络资源,促进彼此的交流沟通。一个典型的博客结合了文字,图像,其他博客或网站的链接及其他与主题相关的媒体。能够让用户以互动的方式留言,是许多博客的重要组成元素。

博客是使用方便的、交互性强。与传统的电子邮件、BBS等互联网沟通方式相比,博客是一种较人性化的沟通平台。BBS公共匿名性很强,而且缺乏约束。电子邮件是多用于个人间的通讯,而博客是公共性和个人性的结合。博客是个人在网上展示自己风采、与别人交流的综合平台,它的管理比BBS简单的多。

1.2 开发意义

1.2.1 社会意义

博客网站已经由几年前的火热变的平淡,通过各种方式和途径融入了我们的现实生活,成为我们展现自己的主要方式。它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列,有些类似斑竹的日记。看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。博客能让我们在互联网上表达自己的心声。

博客的发展对应着全球知识社会来临的背景。对于组织机构信息化仍处于初级阶段的中国,博客充分发挥个人主导性和积极性的非正式知识管理工具和其深度沟通交流的功能,对于我们国家的知识传播、扩散和有效提升组织的学习和创新能力,具有特殊的意义。博客用户的快速增长以及组织机构对它的广泛应用,有助于推动中国向学习型社会演进。

1.2.2 个人用途

1)纪录个人生活片段:如同自己的日记,可将自己每日生活中发生的事情纪录下来并与朋友分享。

2)传播个人见解:博客是自由的虚拟空间,可按照个人意志去写内容,传达个人的思想。

3)抒发感情:博客来抒发个人感情,把生活中的喜怒哀乐写到博客中,与朋友分享。

4)认识结交好友:通过博客结交志同道合新朋友。

5)分享图片:生活中好玩的,美丽的瞬间可以在博客中与朋友分享,留下这一瞬间


2 开发技术及运行环境介绍

随着博客逐渐融入我们的生活,我设计了一个切实可行的个人博客网站,该网站应用了Asp.Net技术,基于C#语言实现,开发环境为visual studio 2008,后台数据库采用SQL Server 2005。通过C#SQL语言,存储过程,触发器等实现个人博客网站的主要功能。

2.1 开发技术介绍

本网站使用Visual studio 2008开发平台,后台数据库采用SQL Server 2005

2.1.1 Asp.Net的介绍

 Asp.Net 是一种建立在通用语言上的程序构架,是统一的 Web 开发平台,它开为开发人员提供创建企业级 Web 应用程序所需的服务。[1]Asp.Net提供许多Web开发的强大优势。Asp.Net是一个全新的Web开发框架,包括了许多新的特性:Asp.Net作为.NET Framework的一部分,当编写Asp.Net应用程序的代码时,可以访问.NET Framework 中的类;可以使用与公共语言运行库(CLR)兼容的任何语言来编写应用程序的代码;Asp.Net提供了易于编写,结构更清晰的代码,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。

Asp.Net具有一些新性能:“执行效率的提高,世界级的工具支持强大性和适应性,高效可管理性,自定义性,和可扩展性,安全性[2]Asp.Net是基于通用语言的编译运行的程序,它可以在Web应用软件开发者的几乎全部的平台上运行。你可以选择一种适合你自己的语言来编写程序,或者把你的程序用很多种语言来写,现在已经支持的有C#VBJscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向Asp.Net

2.1.2 Microsoft Visual Studio 2008 简介

Visual Studio 2008是面向Windows VistaOffice 2007Web 2.0的下一代开发工具,是对Visual Studio 2005一次及时、全面的升级。Visual Studio 2008 是一个集成的开发工具集,他最基本的用途就是进行代码的编写和调试。在Visual Studio 2008 中的应用程序主要分两个层次,语言分类,有C#语言,VC++VB.NET等开发语言。“Visual Studio 2008 将一些常用的应用程序的创建过程以应用程序向导的方式给出,自动生成公共代码,大大提高了效率”[3]

Visual Studio 2008 为开发人员提供了相关的工具和框架支持,帮助创建支持 AJAX Web 应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP NET 应用程序服务 Microsoft 平台。为了帮助开发人员迅速创建先进的软件Visual Studio 2008 提供了改进的语言和数据功能,例如语言集成的查询 (LINQ),各个编程人员可以利用这些功能更轻松地构建解决方案以分析和处理信息。

2.1.3 SQL Server 2005数据库技术介绍

SQL(Structured Query Language)意思为结构化查询语言SQL语言的主要功能就是同各种数据库建立联系,进行沟通。“SQL Server 2005是一种基于客户机/服务器的关系型数据库管理系统,具备通常数据库管理系统最基本的功能。”[4]用来对存放在计算机中的数据库进行组织、管理和检索,它使用Transact-SQL语言在服务器和客户机之间传送请求。

SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理[5]SQL是一种介于关系代数与关系演算之间的结构化查询语言,是一个综合的、通用的、功能极强的关系数据库语言。SQL利用表、索引、关键字、行和列等来确定存储位置,它具有数据定义、数据操纵、数据管理、存取保护以及处理控制等多种功能。它为组织中的用户提供了一个更安全可靠和更高效的平台,用于企业数据和BI应用。SQL Server 2005IT专家和信息工作者带来了强大的,熟悉的工具,同时降低了在从移动设备到企业数据系统的多平台上创建,部署,管理和使用企业数据和分析应用程序的复杂性。

2.1.4 C#简介

C#是一种最新的、面向对象的编程语言。它使程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。C#C/C++具有极大的相似性,因为C#继承与C++,熟悉类似语言的开发者可以很快的转向C#C#是一种完全的、纯粹的面向对象语言,不但支持封装、继承、多态性等面向对象技术的关键特征,而且增加了特性(Attribute)、属性(Property)、委托(Delegation)、可容类型(Nullable Type)等强大功能。C#也是一种传统的面向对象语言,只支持标准的单一继承,避免了C++中因多继承而带来的复杂性。

2.2 运行环境介绍

计算机硬件配置:CPU:Centrino 2GHZ; 内存:2G; 硬盘:250G

操作系统:Microsoft Windows XP

集成开发平台:Visual Studio 2008

数据库:SQL Server 2005

浏览器:360安全浏览器


3 可行性分析与需求分析

3.1 可行性分析

可行性分析是在对系统调查的基础上,得出本系统的开发是不是能够实现和是否值得进行。对系统的开发从技术,经济,社会等方面进行分析和研究,以避免各种失误,保证系统的设计成功。[6]

1)经济可行性分析。经济可行性分析主要是对博客的经济效益进行分析。本网站对开发者开说不需要太高的软硬件支出,成本低效益高,网站在经济上是可行的。

2)技术可行性分析。技术上的可行性分析主要分析技术条件能否顺利完成工作,分析软,硬件能否满足开发者的需求等。该网站采用的ASP.NET开发,数据库服务器选用微软公司的Sql Server数据库,它能处理大量数据,同时保持数据的完整性并提供许多高级管理功能。硬件方面,硬件更新的速度随着科技飞速发展越来越快,容量越来越大,可靠性越来越高,完全满足个人博客网站的需要。

3)运行可行性分析。此网站具备友好漂亮的页面,使用方便,操作简单,易于被用户接受,用户只要熟悉计算机的操作,就能浏览博客,查看日志,欣赏图片,留言等操作。在管理网站方面更是简单,方便。从使用操作方面看,此网站简单,方便,易于运行。

4)法律可行性分析。本网站的设计都是在法律范围内进行设计的,没有侵权,或蓄意破坏他人网站的行为。

3.2 需求分析

3.2.1 前台访客浏览

博客就是给访客来浏览你的博客,前台具有的功能如下:

(1) 浏览日志并给与评论

(2) 浏览博主的图片并留下评论

(3) 查看博主的资料

(4) 在线给博主留言

(5) 友情链接

3.2.2 后台博主管理

博主通过登录后可以管理自己的博客,回复访客的评论与留言。其具有的功能如下:[7]

(1) 日志管理:发表日志,回复访客的评论

(2) 相册管理:上传图片,回复访客的评论

(3) 个人资料的管理:修改资料

(4) 留言管理:回复留言,删除留言

(5) 友情连接管理:添加链接,删除链接

3.3 数据流图

数据流图分析主要包括对信息的流动、传递、处理、存储等的分析[8]。数据流图分析的目的就是要发现和解决数据流通中出现的问题。现有的数据流图分析是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按照网站的设计理出的业务流程顺序,并通过相应调查掌握数据的处理过程,绘制成一套完整的数据流图。[9]

数据流图的基本图形元素有4种:

:箭头代表表示数据的流向,数据名称总是标在箭头的上面;

〇:圆代表加工;

:双杠代表数据文件或数据库;

:方框代表表示数据的源点或终点。

网站运行过程中,主要涉及到两部分的数据流向,博客的顶层DFD图,如图3.1所示。

3.1 博客系统顶层DFD

博客访问端和管理者的第二层DFD图,如图3.2和图3.3所示

3.2 博客访客端第二层DFD

3.2 是博客访客端的分解DFD图,博客访客首先进入网站首页,通过请求信息从日志信息表中获取日志信息从而阅读并给与评论形成日志评论信息表,访客也可以发出请求信息查看评论。或通过请求信息从相片信息表中获取相片信息从而欣赏并给与评论形成相片评论信息表,访客也可以发出请求信息查看评论。访客给博主留言形成留言信息表,也可发出请求从个人信息表和友情链接信息表获取信息后查看个人资料和友情链接。

3.3是博客管理者的第二层DFD:

3.3 博客管理端第二层DFD

3.3是博客管理端得分解DFD图,博客管理者首先进过身份验证登陆进入管理界面,根据从个人信息表中获取个人信息进行修改并及时更新个人信息表,从日志信息表中获取日志的相关信息进行管理并及时更新日志信息表,从图片信息表中获取图片的相关信息进行管理并及时更新图片信息表,从友情链接信息表中获取友情链接的相关信息进行管理并及时更新友情链接信息表,从留言信息表中获取留言的相关信息进行管理并及时更新留言信息表,并发出请求查看留言给予回复形成留言回复信息表。


4 总体设计

4.1 网站的设计和功能模块

4.1.1 网站的功能模块

根据需求分析,个人博客网站的功能包括日志,相册,留言,音频,友情链接等功能模块,[10]本网站的功能模块图如图4.1所示。

4.1 博客网站的功能模块图

个人博客网站的功能如上图所示,前台模块包括了日志查看,评论;相片的查看与评论;留言;日历,友情链接等模块。后台模块包括日志,图片的更新;评论的回复,个人资料的修改等模块。整个网站的功能通过图4.1清晰明了的表达出来。

4.1.2 网站的流程图

网站的流程图如图4.2所示

4.2 个人博客网站流程图

前台主要是访客执行的一些操作,访客首先进入首页,浏览相关信息:日历,公告,友情链接等,通过导航进入其他的页面,比如日志,图片,留言等页面。

后台主要是博主的一些管理操作,博主登陆成功后进行相关的管理操作,日志,图片的更新,评论留言的回复,页面的信息的更新,个人资料的修改等。

4.2 数据库设计

4.2.1 数据库的需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。[11]通过网站的功能分析,针对一般的个人博客网站,总结出如下的需求信息:

博客主要有访客和博客管理者两个角色,博客管理者(博主)可以发表日志,上传相片,回复评论等

1)一个博主拥有多个日志,多个相片,多条留言

2)一篇日志拥有多条评论,

经过对上述的系统的功能的分析和需求总结,设计以下数据项:

1)博主信息包括:用户名,密码

2)日志信息包括:日志名称,日志类别,日志内容,发表时间

3)相片信息包括:相片名称,上传时间

4)留言信息包括:留言内容,留言名称,留言时间

4.2.2 数据库概念结构设计

由上面的数据项,可以设计出能够满足用户需求的各种实体,以及它们之间的关系,这后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

数据库系统是基于某种数据模型的,是对现实世界进行抽象得到的。即E-R图来描述现实世界的概念模型[12]

E-R图是直观表示概念模型的工具,它有四个基本成分:

:矩形框,表示实体类型(考虑问题的对象)。

:菱形框,表示联系类型(实体间的联系)。

:椭圆形框,表示实体类型和联系类型的属性。对于关键码的属性,在属性名下划一横线。

:直线,联系类型与其涉及的实体类型之间以直线连接。

本网站的整体E-R图如下图4.3所示:

4.3 博客网站的整体E-R

4.2.3 数据库表的设计

根据上面的需求分析,个人博客网站数据库中各个表的设计结果如表4.14.12所示。每个表格表示在数据库中的一个表。

4.1所示为博主登录表(tb_admin,记录登录所需的信息。

4.1 博主登录表

4.2所示为博主的个人资料表(tb_bozhu),记录博主的个人详细信息。

4.2 个人资料信息表

4.3所示是日志信息表(tb_article),记录日志的相关信息。

4.3 日志信息表

4.4所示为日志类别表tb_bigclass,记录日志的类别。

4.4 日志类别表

4.5所示为日志评论表(tb_logcomm),记录评论的内容。

4.5 日志评论表

4.6所示为日志评论回复表(tb_replycomm),记录评论回复的信息。

4.6 日志评论回复信息表

4.7所示为图片表(tb_pics),记录图片的相关信息。

4.7 图片信息表

4.8所示为图片评论表(tb_piccomm),记录评论图片的相关信息.

4.8 图片评论表

4.9所示为友情链接表(tb_links),记录友情链接的相关信息。

4.9 友情链接表

4.10所示为图片评论回复表(tb_replypic),记录图片评论的回复信息。

4.10 图片评论回复表

个人博客网站的设计与实现毕业论文

相关推荐