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