在线博客系统网站设计毕业论文doc.docx
《在线博客系统网站设计毕业论文doc.docx》由会员分享,可在线阅读,更多相关《在线博客系统网站设计毕业论文doc.docx(46页珍藏版)》请在冰豆网上搜索。
![在线博客系统网站设计毕业论文doc.docx](https://file1.bdocx.com/fileroot1/2023-7/24/773db7d8-683f-4a58-9d79-81cdd436c4c9/773db7d8-683f-4a58-9d79-81cdd436c4c91.gif)
在线博客系统网站设计毕业论文doc
在线博客系统网站设计毕业论文
第1章绪论
近年来,使用Blog的人数越来越多,Blog作为一种新的交流、工作、生活、学习方式已经被越来越多的人接受和使用,并且它也在改变传统的网络和社会结构。
Blog正在或者说已经在影响和改变着我们的日常生活。
它使交流和沟通更加有方向性和选择性,个人的思想和集体的智慧结合变得更加有效。
1.1项目概念解释及背景
1.1.1项目概念解释
博客的英文名称是Blog,其基本的定义是:
一种表达个人思想,内容按照时间顺序排列,并且不断更新的网络出版和信息交流方式。
通常,博客一些简短且经常更新的帖子构成,中可以包含文本、图像等多种媒体形式[1]。
1.1.2项目开发背景
Blog其实就是一个网页,它通常是由简短且经常更新的帖子所构成,是一种十分简易的“傻瓜”式个人信息发布方式。
Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。
博客的内容有时效性,并且一些是分类的。
有的博文记录着博主的个人所见、所闻、所想,还有一些博文则是一群人基于某个特定主题或共同利益领域的集体创作[2]。
按照用户类型来分,可以分为个人博客和企业博客;按照功能分可以分为基本博客和微型博客。
一个典型的博客是结合了文字、图像、其他博客或网站的链接以及其它与主题相关的媒体。
相应的,读者可以以互动的方式留下意见,人们可以通过评论的方式进行交流。
大部分的博客内容以文字为主,但也有一些博客是专注在艺术、摄影等各种主题。
博客可以说是社会媒体网络的一部分,比较著名的博客有搜狐、网易、新浪等博客。
1.2项目开发的意义
从某种意义上说,博客可以说是一种新的表达方式。
它的个性化和平民视角,使它提供的消息更加能够解决人们的日常生活中各种各样的麻烦和问题。
博客中往往包括大量的智慧、意见以及思想。
它也是一种新的文化现象,博客的出现和繁荣,真正能够突显出网络在知识方面的价值。
1.3项目开发的指导思想
由于系统需要具有普遍适应性,因此可以使用传统的B/S模式,它能接纳多种终端设备的访问,如笔记本电脑、平板电脑、台式计算机。
另外,从用户操作的角度来看,软件的使用应该让用户感受到较好的便捷性,也就是人们通常所说的系统设计以人为本。
经过综合考虑,对此系统的设计应该考虑到如下几点要求:
1.软件的实用性。
项目设计以实用为目标,不要添加华而不实的功能,做到既不丢失必要信息,又能简单直观。
2.操作的便捷性。
系统应该以方便的信息访问作为首要目标,以方便用户的使用作为最重要原则。
系统以这种指导思想为目标,尽最大努力做到最好,通过对用户反馈的不断分析,及时调整,力争做到方便大多数用户操作,使用户在不需要查看操作帮助的情况下也能轻松直观的进行操作。
3.可靠性。
要求数据存取可靠安全,尽量避免丢失用户创建的资料或数据状态不一致现象。
4.可维护性。
针对系统后期的功能增删和调整,应尽量减少进行维护时的工作量。
1.4项目实现的目标
基于个人博客以上的特点,本系统要实现个人博客的主要基本功能有主界面,博客用户登录发表文章(心情、日志),用户登录/退出,游客发表评论,浏览文章和评论等。
这里其中比较主要的是区分了个人博客用户和游客。
博客用户可以在任何时候写下自己的主张,记录下自己的点点滴滴。
而游客主要的权限是阅读博客所有注册用户写的文章,阅读后可以发表评论和留言,还可以浏览所有注册用户上传的图片。
以上是个人博客的系统功能目标,当然由于个人博客的网络流行特点以及个人个性的展示,还适当要求界面比较漂亮轻快,直观便捷,操作方式简单以及人性化。
1.5本章小结
本章主要介绍了关于项目的一些概念的基本信息,开发的背景。
这个项目实现的目标,一些要实现的基本功能以及项目实现的意义。
第2章需求分析
需求分析阶段的任务不是具体地解决客户的问题,而是精确地回答“目标系统必须做什么”这个问题。
需求分析阶段仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰和具体的要求。
用户了解他们所面对的问题,知道必须做什么,但是通常不能完整准确地表达出他们的要求,更不知道怎样利用计算机解决他们的问题;软件开发人员知道怎样利用软件实现人们的需求,但是对特定用户的具体要求并不完全清楚[3]。
这就需要了解用户的需求。
2.1可行性研究
可行性研究这个阶段要回答的关键问题是:
“所确定的项目是否有行的通的解决办法”。
并非所有的问题都有切实可行的解决办法,事实上,许多问题不可能在预定的系统规模或时间期限之内解决。
2.1.1技术可行性
系统软件开发平台先进,符合现代操作系统的发展最新需求。
采取的技术路线是ASP动态网页技术、SQLSever2008数据库与Web数据库访问技术,基于B/S(browser/Server浏览器/服务器)的模式。
ASP.NET推出已久,ASP以其通用性和低成本吸引着很大的用户群。
.NET是一种面向网络、支持各种用户终端的开发平台环境。
.NET的核心就是要搭建第三代因特网平台,这个网络平台将解决网站之间的协同合作问题,从而最大限度的获取信息。
更具体地说,Microsoft正在五个方面创建.NET平台,即工具、服务器、XMLWeb服务、客户端和.NET体验[4]。
SQLServer2008是目前中小企业使用最多的一种数据库服务器,以其高效的执行速度合安全性而广受开发人员喜爱。
SQLServer与Windows服务器紧密集成,而Windows服务器具有很好的安全性,能够排除所有XX的非法用户的访问,符合系统对安全性的要求;用户可以使用Web浏览器查询存储在SQLServer2008数据库中的数据,符合系统远程访问数据库的要求;客户端应用程序可以通过SQLServer提供的应用程序接口来访问服务器端的数据[5]。
所以,系统在技术上是可行的。
2.1.2经济可行性
经济可行性主要是对项目的经济效益进行评价。
本系统对系统开发者来说并不需要太高的成本支出,并且开发周期不需要太长,节省了人力、物力、财力资源。
所以本系统在经济上是可行的。
2.1.3社会可行性
目前越来越多的应用程序都已经转向基于Web的开发,并且Internet已经广泛使用。
越来越多的网民开始将自己的想法、感受、心情等以文字、图片或多媒体的形式发布到网络中,以便于与朋友或其他浏览者分享,而博客正是承载这些内容的平台。
所以系统的设计具有社会可行性。
综上所述,本系统采用ASP.NET技术进行开发。
开发博客系统是完全可行的。
ASP.NET相对于传统网站开发有着绝对的优势,支持数据库的读取大大简化了程序员的代码量,对程序员开发Web应用程序提供了完备的技术支持,也使得开发出来的Web应用程序具有更好的扩展性,能够运行不同的操作平台之下。
后台数据库采用SQLServer数据库,该数据库在性能支持上比其它数据库达到更好的效果。
本系统的开发在技术和经济等几方面具备可行性,并且投入少、见效快,因此系统的开发是完全可行的。
2.2功能需求分析
在可行性分析阶段已经简要地分析和研究了本系统的基本需求,也论证了开发平台及软件的可行性,但为了明确系统设计的目标,了解用户的需求,现对用户需求作以调研,从而进一步明确了设计所实现子系统的功能。
需求分析有功能分析和性能分析,下面从这两个方面分别对博客系统网站进行需求分析。
2.2.1项目功能分析
通过调查分析,以登录身份的不同来看,要求博客软件具有以下一些功能:
1.系统管理员进入后台管理模块以后,可对账户进行管理,包括添加管理员账户、修改管理员账户和对管理员权限设置以及管理注册用户等。
2.管理员进入管理模块后对注册的博客用户进行管理,包括对注册用户的查找和删除;对文章类型进行管理,包括对文章类型的添加,修改和删除;对链接进行管理,包括对链接的添加,修改和删除;对广告、评论、留言等模块进行管理,包括对它们的添加,修改和删除。
3.博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布日志、与相关人员进行交流和沟通以及删除访客发表的评论等。
4.游客通过注册,登录进入博客空间进行评论;游客不注册,通过匿名方式对博客空间进行评论。
2.2.2系统性能分析
根据分析,系统在响应时间、可靠性和安全性方面有较高的性能要求。
1.响应时间需求。
当用户进行任何操作的时候,系统应该及时进行响应。
反应时间应在5秒以内。
系统应能检测出各种非正常情况,避免出现长时间等待甚至无响应。
2.可靠性需求。
系统应能保证20人同时登录,系统能正常运行,正确提示相关内容。
3.系统安全性需求。
系统有严格的权限管理功能,各功能模块有相应的权限方能进入。
系统需能够防止此类错误课能造成的数据丢失、破坏。
防止用户非法获取网页以及内容。
2.3项目开发技术及环境
在了解了博客系统的功能与非功能后,简单介绍一下博客系统网站能够用到的技术与博客系统的开发环境等。
2.3.1Browser/Server体系
B/S(Browser/Server)结构,即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事物逻辑在前端(Browser)实现,但是,主要事物逻辑在服务器端(Server)实现,形成所谓三层(3-tier)结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量。
降低了用户的整体成本(TCO)。
以目前的技术来看,局域网建立B/S结构的网络应用,Internet、Intranet模式下数据库应用,相对易于把握,成本也是较低的[6]。
2.3.2ASP.NET概述
自2006年6月微软公司推出Microsoft.NET以来,.NET和相应产品已被广泛应用在信息技术领域的各个方面,ASP.NET是Microsoft公司推出的基于.NET框架的Web应用平台,它运行在Web服务器上,为开发内容丰富的、动态的、个性化的Web站点提供了一种高效的方法[7]。
ASP.NET运行原理:
静态页面的工作步骤如下:
第一步,使用HTML编写静态页面,发布到Web服务器端;第二步,客户端通过浏览器请求该静态页面;第三步,Web服务器根据请求定位该静态页面;第四部,该静态页面以HTML流的形式返回客户端;第五步,客户端浏览器解释HTML流,并显示为Web页面[7]。
动态页面的工作步骤如下:
第一步,使用动态Web开发技术编写Web应用程序,即动态页面,并发布到Web服务器端;第二步,客户端通过浏览器请求该动态页面;第三步,Web服务器定位该Web应用程序;第四步,Web服务器根据客户端的请求,对Web应用程序进行编译或解释,并生成HTML流;第五步,将生成的HTML以流的形式返回给客户端;第六步,客户端浏览器解释HTML流,并显示为Web页面[8]。
2.3.3ADO.NET
ADO.NET可让开发人员以一致的方式存取资料来源(例如 SQLServer 与 XML),以及透过 OLEDB 和 ODBC 所公开的资料来源。
资料共用的消费者应用程序可使用ADO.NET来连接至这些资料来源,并且撷取、处理及更新其中所含的资料[7]。
ADO.NET由MicrosoftActiveXDataObjects(ADO)改进而来,它提供平台互用和可收缩的数据访问功能。
由于XML(ExtensibleMarkupLanguage,可扩展标示语言)是用于进行数据传送的格式,任何可以读取XML格式的应用程序都可以对数据进行处理[7]。
实际上,接收组件根本不需要ADO.NET组件。
它可以是基于MicrosoftVisualStudio的解决方案或在任何平台上运行的任何应用程序。
运行时,数据从数据库传递给中间层商务对象,然后将其继续传递给用户界面。
为了适应数据ADO的交换,ADO.NET使用了一种基于XML的暂留和传输格式。
说得更精确些,为了将数据从一层传送给另一层,ADO.NET解决方案以XML格式表示内存数据(数据集),然后将XML发送给另一个组件[9]。
2.3.4SQLSERVER数据库
SQL是英文StructuredQueryLanguage的缩写,它的意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
SQLServer是一个关系数据库管理系统[5]。
SQLServer有很多版本,如SQLServer2000,SQLServer2005,SQLServer2008等,项目用的是MicrosoftSQLServer2008。
1.MicrosoftSQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的MicrosoftSQLServer版本。
2.3.5开发平台
开发工具:
MicrosoftVisualStudio2010
数据库:
MicrosoftSQLServer2008
开发语言:
C#、XML
运行环境:
IE8.0及其以上版本的浏览器
2.4用例分析
博客系统网站应该有的参与者有:
匿名访客、注册用户、管理员。
用例图如图2-1用例图所示。
图2-1用例图
2.5数据流图
系统运行过程中,主要涉及到两部分的数据流向,一部分是管理员在系统后台管理界面上发出的对数据库操作的数据流,另一部分是用户在应用台使用系统时所产生的数据流。
博客系统的总体数据流图如图2-2所示。
图2-2博客系统总体图
1.前台管理子系统
个人博客的前台系统主要是面向访客使用的最终界面,访客可以在这里浏览博文信息、发表博文评论等。
访客进入博客系统的所有操作都是通过前台子系统实现的。
访客观看的博文信息是通过浏览前台的首页面得到的,而首页的设计是前台子系统的关键。
在线博客系统的前台数据流程如图2-3所示。
图2-3前台系统数据流图
2.后台管理子系统
个人博客前台功能的实现都离不开后台各项数据的录入和设置,可以说,整个系统的执行是从后台开始的。
管理员在后台要进行文章管理、网站管理、系统信息维护等多项操作。
博客系统的后台管理的数据流图如图2-4所示。
图2-4后台管理系统数据流图
2.6本章小结
本章是对博客系统网站的需求分析,从功能分析到性能分析到用例分析。
本章还有几个重要数据流图。
简单介绍了开发项目所用到的相关技术及项目的开发平台运行环境。
第3章概要设计
概要设计阶段的基本任务是:
概括的回答“怎样实现目标系统”。
概要设计又称为初步设计、逻辑设计、高层设计或总体设计。
一个程序应该由若干个规模适中的模块按合理的层次结构组织而成[3]。
通过第2章的需求方分析,我们可以得到本网站的使用用户主要分为三种:
第一种是普通的博客访问者,他们主要是为了解一些最新的文章、图片和新闻信息,并对自己感兴趣的东西发表自己的想法;第二种是那些注册博客空间的人,他们经常把自己的思想表达在自己日志中;第三种是网站管理员,他负责对全站进行维护,包括全站注册的用户、发表的文章和上传的图片。
下面从这三个方面对网站的主要模块进行概要设计。
3.1系统结构功能
博客系统是一个多用户、多界面的系统,主要包括以下几个模块组成。
1.匿名用户模块。
本模块主要由注册、浏览博客、评论3个部分组成。
匿名用户可以对其他用户的博客内容时行浏览、评论。
也可以通过注册后登录博客系统,申请一个属于自己的博客。
2.注册用户模块。
本模块主要由个人信息管理、评论管理、留言管理、好友管理、相册管理、文章管理6个部分组成。
这些功能可以对用户个人博客中的个人信息、好友、评论、相册和文章进行设置。
3.系统管理模块。
本模块主要由用户管理、评论审核管理、留言审核管理、相册审核管理、文章审核管理、文章类型管理、链接管理、广告管理8部分组成。
这是为了对注册用户的博客内容与个人信息进行管理,并对博客中的留言、评论、相册、文章进行审核,审核通过后才能发表。
综合所述,博客系统的总体功能需求如图3-1所示。
图3-1博客系统的总体功能图
3.2数据库概要设计
数据库设计采用SQLSERVER2008数据库,数据库名称为Blog。
我们在设计数据库的时候要充分了解用户的需求,要尽可能严格地探讨它的使用环境。
在一定的分析后设计出的数据库应该满足以下几点要求:
1.数据库信息要尽量满足用户使用系统的需求。
2.数据库能够支持用户对数据库中数据进行的所有处理。
3.数据库易于数据库管理系统运行和维护。
4.数据库的数据一致性、完整性好,更新时无异常。
3.2.1数据库的完整性约束
数据库的完整性是指数据的正确性和相容性。
数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件——完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。
数据库的完整性约束主要包括三方面要求,实体完整性,实体完整性是指若属性A是基本关系R的主属性,则属性A不能取空值。
对于每个表来说,主键都不可以为空。
在用户提交信息时,系统会对用户所填写的信息进行验证,对于其中的关键信息没有填写或者数据非法时,系统会提示用户更改后再提交。
这样保证了系统实体完整性。
参照完整性,由于表和表之间会存在某些联系,当关系R和关系S之间是一对多关系时(R的主键是A,S的主键是b,c是s中的外码),在插入数据时就要保证外码c的值或者为空或者等于R中某个元组的主码值。
在对被参照表进行删除操作时应同时进行及联删除。
用户定义完整性,任何关系数据库系统都应该支持实体完整性和参照完整性。
除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
例如某个属性必须取唯一值、某个属性的取值范围等[6]。
3.2.2数据库的安全性
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏[10]。
在数据库系统中,大量的数据集中存放,同时又为许多用户直接共享,是宝贵的信息资源,因此系统的安全保护措施就显得更为重要。
键全的数据库安全机制可以防止数据库被恶意的破坏和非法的存取。
数据库系统的安全保护措施是否有效是数据库系统主要的性能指标之一[10]。
本系统的安全设计包括服务器和数据库两方面设计。
当用户使用系统时,系统首先会检查用户是否登录,如果用户还没有登录,系统将会弹出警告窗口提醒用户,并将相应的页面跳转至用户登录。
在用户提交登录信息后,系统会对用户的身份进行核对,如果在数据库中查找到了相关记录,打开用户页面,表明用户登录成功。
对于数据库的安全,主要是通过对授权用户的身份验证实现的。
在系统管理的页面,提示用户使用管理员帐号在此登录,没有管理权限的系统注册用户无法登录到数据库管理的后台。
系统确认了管理员身份之后统会打开管理页面,系统管理者可在此对整个系统的数据库进行管理和维护。
3.2.3数据库E-R图
根据对博客系统的分析,其数据库系统应该具有的实体有以下几个,分别为用户信息实体、文章类型信息实体、文章信息实体、链接信息实体、留言信息实体、评论信息实体、博客管理员实体、联系人信息实体、图片信息实体。
1.用户信息实体,描述的是每一个博客用户所具有的基本信息。
用户信息实体E-R图如图3-1所示。
图3-1用户信息表实体E-R图
2.管理员信息表:
管理员信息表主要记载网站管理员的基本信息,包括ID号、用户名、密码等信息。
用户表的实体E-R图如图3-2所示。
图3-2管理员信息表实体E-R图
3.文章类型实体,用于描述文章所属的种类,一个类型中可以有多篇文章。
有文章类型与文章编码属性,文章类型实体的E-R图,如图3-3所示。
图3-3文章类型表实体E-R图
4.文章信息实体,主要来描述用户发表文章的基本信息,包括文章ID、文章作者、文章主题、文章内容、博客ID等。
文章信息实体E-R图如3-4所示。
图3-4图文章信息表实体E-R图
5.评论信息实体,主要用来记录关于文章评论的记录信息,该实体的属性主要包括评论ID、评论主题、评论内容、文章ID、评论者、评论时间等信息,其中评论ID可以作为主属性唯一标识一条评论。
文章评论实体E-R图如图3-5所示。
图3-5文章评论表表实体E-R图
6.图片信息实体,主要用来记录关于图片的基本信息,该实体的属性主要包括图片ID、图片名字、图片主题、博客ID、发表时间、访问次数等信息,其中图片ID可以作为主属性唯一标识一条记录。
图片信息实体E-R图如图3-6。
图3-6图片信息表实体E-R图
7.联系人信息实体,主要用来记录关于好友博客的链接信息,主要包括ID、我的博客ID、好友博客ID(其实体E-R图如图3-7所示。
图3-7联系人实体E-R图
8.留言信息实体,主要用来记录用户在其空间的留言信息,主要包括ID、留言者、留言内容、留言时间、博客ID。
留言信息实体E-R图如图3-8所示。
图3-8留言表实体E-R图
9.链接信息实体,主要用来记录网站主页上链接的记录信息,主要包括链接ID、链接主题、链接URL、发表时间。
链接信息实体E-R图如图3-9所示。
图3-9新闻表实体E-R图
通过以上分析,各个实体都已经确定了,然而,每个实体不是孤立的,各个实体之间是有联系的,由此得到数据库的整体E-R图。
它表示了以上各实体的对应关系,如图3-10所示。
图3-10整体E-R图
3.3本章小结
本章内容主要包括项目的概要设计,它描述了项目究竟有哪些模块。
另外,讲述了数据库的概要设计,画出了数据库的E-R图。
第4章详细设计
概要设计阶段以比较抽象概括的方式提出了解决问题的办法。
详细设计阶段的任务就是把解法具体化,也就是回答“应该怎样具体的实现这个系统”这个关键问题[3]。
4.1数据库逻辑设计
数据库中应该包含的表,如表4-1数据库表清单所示。
表4-1 数据库表清单
编号
表名
主要保存信息
备注
1
tb_Blog
记录注册用户的基本信息
注册用户表
2
tb_Article
记录全站文章的基本信息
文章表
3
tb_ArticleRevert
记录全站文章的评论
文章评论表
4
tb_Admin
记录系统管理员的基本信息
系统管理员表
5
tb_Friend
记录好友的基本信息
好友表
6
tb_Href
记录新闻友情链接的信息
新闻链接表
7
tb_LeaveMessage
记录留言板信息
留言表
8
tb_Picture
记录图片的基本信息
图片表
9
tb_ArticleType
记录全站文章类型的信息
文章类型表
图片信息实体对应图片信息表(tb_Picture),记录全站图片的基本信息。
图片信息表如表4-2所示。
表4-2 图片信息表
Name
code
Datatype
Primarykey
Foreignkey
Mandatory
图片ID
PictureID
Int
True
False
True
图片名字
PictureUrl
nvarchar(50)
False
True
False
图片主题
Subject
nvarchar(50)
False
True
False
博客ID
BlogID
Int
False
True
False
发表时间
PostTime
Datetim