博客系统的设计与实现(共26页).doc
《博客系统的设计与实现(共26页).doc》由会员分享,可在线阅读,更多相关《博客系统的设计与实现(共26页).doc(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上信息工程学院博客系统的设计与实现组 长:郭亚京组 员:白园园 梅蕊 楚静静付志强 史金磊指导老师:陆廷荣完成时期:2011年12月26日目 录1 绪论1.1 项目开发的背景 Blog博客网站致力于为广大博客提供优质博客页面服务的商业网站。每个博客都希望借助自己的博客页面宣传自己,而博客数量越多,网站的点击率越高就越能够吸引广大的企业客户选择该商业网站作为媒介,将自己的产品展现给客户。可以说,对这些博客网站而言:为博客提供良好的服务就意味着为网站带来更多的商业客户。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能。1. 博客的注册、登录验证功能2.
2、 普通用户浏览文章和发表评论的管理3. 文章详细内容及相关评论显示4. 博客个人文章管理维护功能5. 博客个人文章分类管理维护功能6. 博客个人友情链接维护功能7. 博客个人基本信息管理维护功能8. 个人上传图片和相册管理的功能9. 管理员对博主的管理10.管理员对个人信息的管理11. 管理员对网站在线人数的统计1.2 研究的目的和意义 博客(Blog)作为Web 2.0的典型代表,已风靡网络世界。那么,博客究竟是什么?简单一点的Blog记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识与他人分享、交流,同时又通过个人博客结识更多志同道合的朋友,使大家在网上可以进行各种信息的交流,博客系
3、统为大家提供了学习交流、工作交流、情感交流的平台,使人们的工作更加简单快捷,使人们的生活更加丰富多彩。1.3 研究的内容 按照规范设计的方法,考虑数据库及其应用系统开发全过程,将研究内容分为以下几个方面:(1)需求分析(2)概念结构设计(3)逻辑结构设计(4)物理结构设计(5)数据库实施(6)数据库的运行与维护1.4 目前博客的国内研究现状 2005年9月8日新浪开始为亿万网民提供博客产品Blog Beta 2.0服务,由此中国博客门户网站拉开帷幕。9月26日,新浪网发起了“中国首届博客大赛”。 与此同时,另一门户网站搜狐也宣布推出酝酿已久的博客服务,并随即启动了它自己的“首届全球中文博客大奖
4、赛”。由此中国博客行业得以迅猛发展,从2008年8月中国博客网站Alexa平均排名走势图可以看出,中国博客网站逐渐发展壮大,并日益被世界所关注。由此可见,博客的发展是乐观的。2 数据库设计的关键理论和实现方法2.1 数据库设计的理论 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求。 数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。高效率的运行环境有:数据库数据的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。 数据库设计的特点
5、:(1)三分技术、七分管理、十二分基础设计 (2)结构设计和行为涉及相结合2.2 数据库设计的方法 数据库设计的方法有三种: (1)新奥尔良方法 (2)基于ER模型的数据库设计方法 (3)第三范式的设计方法3 需求分析3.1 数据需求 (1)数据表的设计 1. 用户信息表表1 UserInfo表字段名数据类型字段含义是否为空注释usernamevarchar(20)用户名否主键passwordvarchar(20)用户密码否sexvarchar(8)性别否emailvarchar(20)邮箱否favoritevarchar(50)爱好是imagevarchar(50)头像是blogatitle
6、varchar(50)博客标题是bulletinvarchar(100)公告是 2. 文章信息表表2article表字段名数据类型字段含义是否为空注释aidint(4)文章编号否主键atitlevarchar(80)文章标题否cidint(4)类别编号否外键adatevarchar(20)发表日期否zhaiyaovarchar(300)文章摘要是acontentntext(16)文章内容否usernamevarchar(20)用户名否外键viewcountbigint(8)浏览次数否3. 分类信息表表3category表字段名数据类型字段含义是否为空注释cidint(4)类别编号否主键cnam
7、evarchar(20)类别名称否usernamevarchar(20)用户名否外键4. 评论信息表表4comment表字段名数据类型字段含义是否为空注释idint(4)评论编号否主键authorvarchar(20)评论人名字否主键ccontentvarchar(50)评论内容否createdatevarchar(50)评论日期否aidint(4)文章编号否外键backcontentvarchar(50)回复内容是backdatevarcgar(50)回复日期是5. 管理员信息表表5admin表字段名数据类型字段含义是否为空注释idint(4)管理员编号否主键adminnamevarchar
8、(20)管理员名称否adminpasswordvarchar(20)管理员密码否blogbulletinvarchar(80)网站公告是6. 特殊文章信息表表6 spArticle表字段名数据类型字段含义是否为空注释spIDvarchar(20)特殊文章编号否主键spcnamevarchar(20)特殊分类名称否aidint(4)文章ID否外键titlevarchar(20)文章标题否7. 相片信息表表7 Photo表字段名数据类型字段含义是否为空注释idint(4)相片编号否主键photonamevarchar(20)相片名称是主键usernamevarchar(8)用户姓名否(2)博客系统
9、数据项的描述1. 博主描述数据项名:博主描述:博客的注册用户,对博客具有最高管理权限别名:无定义:用户id+用户名+密码+性别+邮箱+头像+权限数据量:1峰值:无其他说明:凡是普通用户已完成注册的,都是博主2. 普通用户描述数据项名:普通用户描述:博客的非注册用户,对博内容有一定浏览、评论权限别名:无定义:用户id+用户名+密码+性别+邮箱+头像+权限数据量:10000峰值:随时其他说明:普通用户不具发表博文、上传照片等权利3. 博客管理员描述数据项名:博客管理员描述:实现对注册博主的管理和特殊文章的管理别名:无定义:用户名+密码数据量:1峰值:无其他说明:博客管理员,其账号是系统初始化的时候
10、创建的4. 博文描述数据项名:博文描述:发表在博客中的博文别名:无定义:id+标题+摘要+内容+浏览数+回复数+发表时间数据量:10000峰值:随时其他说明:每篇博文不能超过1000个字符5. 评论描述数据项名:评论描述:博主或者普通用户对博文的评论别名:无定义:评论id+发表评论用户id+评论对象id+评论内容+评论时间数据量:10000峰值:随时其他说明:无6. 文章类别描述数据项名:文章类别描述:发表不同的博文可以属于不同的类别别名:无定义:类别id+发表评论用户id+类别名称 数据量:10000峰值:随时其他说明:无3.2 完整性需求 由于系统的数据是共享的,要解决数据一致性问题,要有
11、一定的人员维护数据,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。3.3 功能需求 本系统分为前台设计和后台设计,其中前台设计针对的用户身份是普通用户和博主,后台设计针对的用户身份是管理员。(1)前台设计前台设计主要实现的功能有:对普通用户来说,主要有注册、登录、浏览文章和发表评论;对博主来说,主要有管理博文、管理评论、管理分类、相册管理、用户管理等功能。前台功能模块图如图所示。博客前台普通用户博主登录注册浏览文章发表评论管理文章管理分类管理相册管理个人信息发表文章修改文章删除文章增加分
12、类修改分类删除分类上传照片浏览照片更新公告修改基本信息(2) 后台设计后台设计实现的功能主要功能有:对博主的管理,网站公告的管理,和在线人数的统计。后台功能模块图如图所示。博客后台管理员用户管理更新公告在线人数统计删除博主冻结博主3.4 性能需求(1)精度 在精度需求上,根据使用需要,控制各项输入、输出数据的长度。确保保证用户正常使用的同时节省系统空间。(2)时间特性要求 用html语言写博客首页,做到响应时间在3秒内。对附件上传做好文件大小限制,保证满足一般需求并且传输通畅,同时节约空间。(3)灵活性要求系统可以在各种主流浏览器上正常运行,对不同分辨率的显示器具有良好适应性。针对用户的新需求
13、可以做到系统灵活修改。3.5 接口需求 用户接口:本系统采用图形用户接口,以鼠标和键盘为用户接口,方便用户对博客系统的有效操作。更好地在博客里进行交流。内部接口:内部是页面和数据库连接,对应的页面输入框和显示框的内容在数据库得到显示。3.6 出错处理需求 列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。(1)软件故障:系统异常,IIS不稳定,此系微软公司提供的产品,无法对其进行改进。(2)硬件故障:网络不应负载超荷:大部分时间内应保证在线用户数量小于设定极限数量,通过编码或服务器功能实现。(3)在系统中,数据的录入往往是大量的,因此系统要有一定的处理能力,以保证迅速的
14、处理数据。(4)数据的一致性与完整性 由于系统的数据是共享的,要解决数据一致性问题,要有一定的人员维护数据,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。(5)数据的共享与独立性 整个博客系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。4 概念结构设计4.1 博客系统局部ER图 根据以上各节对系统的需求分析和功能模块的分析,规划出本系统使用的
15、数据库的关键实体是用户实体、文章实体、评论实体、分类实体。下面将一一列出各个关键实体的E-R图。 (1)用户实体 在博客系统中,用户实体是管理员和普通用户。用户实体主要包括用户名字、用户密码、邮箱等属性。用户实体的E-R图如11所示。管理员主要包括管理员名、管理员密码、管理员ID等属性。管理员实体的E-R图如图12所示。用户性别姓名密码邮箱ID管理员ID密码名字公告(2)文章实体 在博客系统中,用户文章实体是指博主发表的文章中所包含的属性。文章实体主要包括文章的ID、文章标题、类别ID、发布日期、摘要、内容、作者、浏览次数。文章实体的E-R图如所示。文章文章ID文章标题类别ID内容作者浏览次数
16、发布日期摘要(3)评论实体 在博客系统中,评论实体是指系统中的普通用户者和已经注册过的博主对博主发表过的文章进行评论。评论实体主要包括评论ID、评论人的名字、评论内容、评论时间、文章ID。评论实体的E-R图如所示。评论评论ID评论人名字文章ID评论内容评论时间(4)类别实体 在博客系统中,类别实体是对文章的分类。类别实体主要包括类别ID、类别名字、博主名字。类别实体的E-R图如所示。类别类别ID博主名字类别名字4.2 博客系统整体ER图 系统总体E-R图说明了实体与实体之间的关系,实体用矩形表示,属性用椭圆表示,联系用菱形表示,如图所示。管理员用户评论文章类别相册管理1n发表1n属于n发表1n
17、创建1n1添加1n5 逻辑结构设计5.1 关系模式 根据概念结构设计的E-R图,将ER图转换为关系模式,一个实体型转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。根据转换原则,用横线将关系的码标出,如下: (1)用户(ID,用户名,密码,性别,邮箱,爱好,头像,博客主题,公告) (2)博文(文章编号,文章标题,类别编号,发表日期,文章摘要,文章内容,用户名,浏览次数) (3)分类(类别编号,类别名称,用户名) (4)评论(评论编号,评论人名字,评论内容,评论日期,文章编号,回复内容,回复日期) (5)管理员(管理员编号,管理员名称,密码,网站公告) (6)特殊文章分类(特殊
18、文章编号,特殊分类名称,文章ID,文章标题) (7)相片(相片ID,相片名称,发送相片的人的名称)5.2 外模式 外模式对应于视图: 5.3 完整性约束 为保证实体完整性,也就是第2范式,表中主键或唯一键是一定要有的,否则就可能出现重复纪录。当然外键也是不可缺少的。通常矛盾在于:参照完整性及实现参照完整性的性能问题。(1)用外键实现参照完整性,保证数据的一致性;(2)海量数据的情况下,参照完整性检查的成本很大;6 物理结构设计6.1 访问方法选择 访问方法有三种: (1)索引存取方法 (2)聚簇存取方法 (3)HASH存取方法6.2 存储结构选择 确定数据的存放位置和存储结构要综合考虑存取时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 博客 系统 设计 实现 26
限制150内