一、博客系统需求分析1项目开发的背景Blog博客网站致力于为广大博客提供优质博客页面服务的商业网站。每个博客都希望借助自己的博客页面宣传自己,而博客数量越多,网站的点击率越高就越能够吸引广大的企业客户选择该商业网站作为媒介,将自己的产品展现给客户。可以说,对这些博客网站而言:为博客提供良好的服务就意味着为网站带来更多的商业客户。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能。1.博客的注册、登录验证功能2.普通用户浏览文章和发表评论的管理3.文章详细内容及相关评论显示4.博客个人文章管理维护功能5.博客个人文章分类管理维护功能6.博客个人友情链接维护功能7.博客个人基本信息管理维护功能8.个人上传图片和相册管理的功能9.管理员对博主的管理10.管理员对个人信息的管理11.管理员对网站在线人数的统计2、研究的目的和意义博客(Blog)作为Web2.0的典型代表,已风靡网络世界。那么,博客究竟是什么?简单一点的Blog记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识与他人分享、交流,同时又通过个人博客结识更多志同道合的朋友,使大家在网上可以进行各种信息的交流,博客系统为大家提供了学习交流、工作交流、情感交流的平台,使人们的工作更加简单快捷,使人们的生活更加丰富多彩。本文档用于描述“博客管理系统”项目的系统需求,为该项目概要设计,详细设计和测试用例的设计依据。该需求规格说明书供概要设计人员阅读。角色:2序号角色权限1游客游客无需登陆就可以浏览相册、浏览博文或发表评论2博主登录后就可以修改用户资料,修改密码,发布,修改,删除博文,添加,删除,修改相片,发表评论3博客管理员登陆后就可以管理注册用户,管理系统用户,管理博客文章,管理留言,管理相册3、研究的内容按照规范设计的方法,考虑数据库及其应用系统开发全过程,将研究内容分为以下几个方面:(1)需求分析(2)概念结构设计(3)逻辑结构设计(4)物理结构设计(5)数据库实施(6)数据库的运行与维护4、目前博客的国内研究现状2005年9月8日新浪开始为亿万网民提供博客产品BlogBeta2.0服务,由3此中国博客门户网站拉开帷幕。9月26日,新浪网发起了“中国首届博客大赛”。与此同时,另一门户网站搜狐也宣布推出酝酿已久的博客服务,并随即启动了它自己的“首届全球中文博客大奖赛”。由此中国博客行业得以迅猛发展,从2008年8月中国博客网站Alexa平均排名走势图可以看出,中国博客网站逐渐发展壮大,并日益被世界所关注。由此可见,博客的发展是乐观的。5、运行环境硬件:处理器:Intel486以上系列、AMDK6以上系列内存:1G(非最低配置)网络:带宽1M(非最低配置)软件:操作系统:windows(2000、XP、vista、7)、Linux数据库:SQLServer2008客户端:InternetExplore6.0及以上主流浏览器(firefox,chrome,opera等)6、条件与限制由于时间比较短,使用计算机不方便以及对于网络编程不熟悉,本博客管理系统功能不怎么太全面。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,安全性能有待进一步完善。47、数据描述静态数据7.1静态数据(1)用户:用户ID、用户名称、用户密码、博客主题、说明、E-mail、注册日期、发表日志数。(2)用户类型表:用户ID,用户类型。(2)类别:类别编号、类别名、类别描述。(3)日志:日志编号、日志标题、日志内容、类别编号、发表日期、最后修改日期、用户ID、浏览次数、评论数。(4)评论:评论编号、评论标题、评论内容、发表日期、最后回复日期、评论人、日志编号。(5)留言:留言编号、留言标题、留言内容、发表日期、最后回复日期、留言人、用户ID。7.2、动态数据1,注册新用户2,发表新日志、留言、评论3,日志、留言、评论的更改4,个人信息管理5,管理员更新7.3、数据库描述数据库采用SQLServer2005数据库。7.4、数据流图《博客管理系统》的总体功能如下:51,注册新用户2,登录博客3,评论/留言4,内容发表5,内容管理6,系统管理7.4.1、注册新用户7.4.2、登录博客游客账号/密码查询用户表用户类型表错误返回注册用户账号/密码登录错误返回登录历史表67.4.3、注册用户评论/留言/浏览博客7.4.4、游客评论/浏览博客用户表用户类型表注册用户账号/密码登录用户表用户类型表评论表留言表浏览评论/留言操作日志表查询信息错误返回评论评论表游客操作日志表浏览查询信息77.4.5、注册用户管理7.4.6、系统管理员管理8、功能需求8.1、功能划分该软件具有如下主要功能:注册用户登录账号/密码错误返回操作操作信息用户表评论表日志表留言表错误返回账号/密码管理员登录操作用户表评论表日志表操作信息8注册功能;登陆功能;评论/留言功能;内容发表功能;内容管理功能;系统管理功能;8.2、功能描述8.2.1、注册功能【输入数据】账号、密码以及各种个人信息,如昵称,生日,住处,爱好等.【输出数据】注册是否成功的信息【功能】系统能够对用户输入的账号、密码等信息进行验证,确定是否可用,然后发送给服务器进行验证,验证通过后则存储于数据库并根据用户提供信息建立个人博客。如果验证没通过,则提示用户原因.8.2.2、登陆功能【输入数据】账号、密码【输出数据】提示信息【功能】系统能够按照用户输入的账号、密码发送给服务器进行验证,验证通过后可根据用户信息进入个人博客主页。对于验证不通过的账号和密码系统能够做出相应的错误处理。1.评论/留言功能【输入数据】所要发表的评论/留言的内容9【输出数据】发表后内容【功能】游客或者注册用户可对当前浏览的博客内容进行评论或对当前浏览的博客进行留言。评论/留言成功后会在当前博客或内容下显示。2.内容发表功能【输入数据】所要发表的内容的标题,内容与描述【输出数据】发表后内容【功能】系统能够对用户提交的标题,内容与描述进行验证,验证通过后存储至数据库,然后在当前博客上显示成功提交的内容。若提交不成功,则显示错误提示信息并返回至内容编辑页面。3.内容管理功能;(1)个人信息管理【输入数据】编辑的信息【输出数据】提示信息【功能】系统能够对用户提交的对个人信息编辑后的内容进行验证,若验证通过,则修改数据库相应信息,然后在页面提示用户编辑成功并显示新的个人信息。若不通过,则提示错误信息并返回至个人信息页面。(2)博客内容管理【输入数据】编辑的标题,内容,描述等【输出数据】提示信息【功能】10用户选择需要编辑的博客内容进行编辑,包括修改标题,修改内容,修改描述,修改权限或删除当前内容。然后系统根据用户提交的信息进行验证,验证成功后修改数据库相应内容,然后提示用户修改成功并显示成功修改后的内容。若失败,则提示错误信息并返回编辑前内容界面。9、系统管理功能;(1)系统界面管理【输入数据】界面所需显示的内容(图片,公告等)【输出数据】编辑后界面【功能】系统管理员对系统的界面进行管理,如修改界面布局,更改显示图片,发布公告,删除部分内容等。修改成功后会在用户打开系统时显示修改后的系统界面。(2)用户博客内容管理【输入数据】发送的信息编辑的内容【输出数据】提示信息发送信息【功能】系统管理员对系统的用户博客进行管理。管理员可以浏览系统用户的博客,对博客内容进行审核,当发现不合规定的内容后,可以对当前内容进行编辑修改或删除,然后发送信息给当前博客用户。10、.性能需求10.1、数据精确度查询时应保证查全率,所有在相应域中包含查询关键字的记录都应能查到,同时保证查准率。10.2、时间特性11一般操作的响应时间应在1-2秒内。10.3、适应性满足运行环境在允许操作系统之间的安全转换和与其它应用软件的独立运行要求。11、运行需求11.1、用户界面对话框。11.2、硬件接口支持各种x86系列PC机。11.3、软件接口运行于Windows95/98及更高版本具有WIN32API的操作系统之上。11.4、故障处理正常使用时不应出错,对于用户的输入错误应给出适当的改正提示。若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。二、博客系统设计122数据库设计的关键理论和实现方法2.1数据库设计的理论数据库设计是指对于一个给定的应用环境,构造((设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求。数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。高效率的运行环境有:数据库数据的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。数据库设计的特点:(1)三分技术、七分管理、十二分基础设计(2)结构设计和行为涉及相结合2.2数据库设计的方法数据库设计的方法有三种:(1)新奥尔良方法(2)基于E—R模型的数据库设计方法(3)第三范式的设计方法3、功能需求本系统分为前台设计和后台设计,其中前台设计针对的用户身份是普通用户和博主,后台设计针对的用户身份是管理员。(1)前台设计前台设计主要实现的功能有:对普通用户来说,主要有注册、登录、浏览文章和发表评论;对博主来说,主要有管理博文、管理评论、管理分类、相册13管理、用户管理等功能。前台功能模块图如图所示。(2)后台设计后台设计实现的功能主要功能有:对博主的管理,网站公告的管理,和在线人数的统计。后台功能模块图如图所示。博客后台管理员用户管理更新公告在线人数统计删除博主冻结博主博客前台普通用户博主登录注册浏览文章发表评论管理文章管理分类管理相册管理个人信息发表文章修改文章删除文章增加分类修改分类删除分类上传照片浏览照片更新公告修改基本信息143.1性能需求(1)精度在精度需求上,根据使用需要,控制各项输入、输出数据的长度。确保保证用户正常使用的同时节省系统空间。(2)时间特性要求用html语言写博客首页,做到响应时间在3秒内。对附件上传做好文件大小限制,保证满足一般需求并且传输通畅,同时节约空间。(3)灵活性要求系统可以在各种主流浏览器上正常运行,对不同分辨率的显示器具有良好适应性。针对用户的新需求可以做到系统灵活修改。3.2接口需求用户接口:本系统采用图形用户接口,以鼠标和键盘为用户接口,方便用户对博客系统的有效操作。更好地在博客里进行交流。内部接口:内部是页面和数据库连接,对应的页面输入框和显示框的内容在数据库得到显示。3.3出错处理需求列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。(1)软件故障:系统异常,IIS不稳定,此系微软公司提供的产品,无法对其进行改进。(2)硬件故障:15网络不应负载超荷:大部分时间内应保证在线用户数量小于设定极限数量,通过编码或服务器功能实现。(3)在系统中,数据的录入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。(4)数据的一致性与完整性由于系统的数据是共享的,要解决数据一致性问题,要有一定的人员维护数据,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。(5)数据的共享与独立性整个博客系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。4概念结构设计4.1博客系统局部E—R图根据以上各节对系统的需求分析和功能模块的分析,规划出本系统使用的数据库的关键实体是用户实体、文章实体、评论实体、分类实体。下面将一一列出各个关键实体的E-R图。(1)用户实体在博客系统中,用户实体是管理员和普通用户。用户实体主要包括用户名字、用户密码、邮箱等属性。用户实体的E-R图如11所示。管理员主要包括管理员名、管理员密码、管理员ID等属性。管理员实体的E-R图如图12所示。16(2)文章实体在博客系统中,用户文章实体是指博主发表的