ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:900.15KB ,
资源ID:10046776      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10046776.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(个人博客系统的管理与制作.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

个人博客系统的管理与制作.docx

1、个人博客系统的管理与制作专科毕业论文(设计) 题 目 个人博客管理系统设计与制作 姓 名 院 系 电气信息工程学院 专 业 计算机应用技术 学 号 指导教师 摘 要博客近两年来在国内的发展非常快速,它可作为使用者个人或工作当中的文章、连结、照片的分享平台,逐渐成为以内容为主的新兴网路媒介,并延伸至行销、商业推广等主流应用。VXBlog博客系统开发目的旨在建立一个以PHP与MySQL为基础,功能简单、结构灵活而且轻量、精致的内容管理系统(CMD)。V. Vibrant,意指充满生气的、精力充沛的,X. eXquisite、eXtensible,意指精致的和可扩展的;Blog顾名思义就是网络日志的

2、意思。网络日志管理为本系统的主要应用目标,同时能够满足不同用户群(如博客用户、主题开发用户、功能插件开发用户)的多变需求,提供足够灵活的接口是实现上述需求的关键。本论文主要介绍了博客系统的MVC三层模式与插件式设计的混合开发架构的实现,阐述自己对MVC开发模式的一点看法,并提出了一种扩展办法,在结构化层次、理清系统业务模型和优化业务模型的重用性的基础上,结合插件式设计式开发,简化开发模型,降低框架的复杂度,让框架更容易实现,并提高扩展的灵活性,以更好的松耦合方式开发构件,使得系统适应多变的业务需求。关键词:博客;开发目的;MVC三层模式 目 录摘 要 I目 录 II前 言 1第1章 系统分析

3、21.1 系统设计目的 21.2 功能简介 21.3 系统需求 21.3.1 功能需求 21.3.2 性能需求 31.4 用例分析 31.4.1 登陆管理用例 31.4.2 主程序用例 41.4.3 文章管理用例 41.4.4 评论管理用例 51.4.5 分类管理用例 51.5 运行环境 6第2章 数据库设计 82.1 数据库设计分析 82.2 数据表的建立 82.3 E-R图 11第3章 功能模块设计 133.1 MVC模式分析 133.2 插件式设计分析 133.3 开发设计模型的改进 143.3.1 系统整体模式架构 153.3.2 插件式开发架构 153.4 模块结构 163.4.1

4、标签模块(helpers/template-tags) 163.4.2 业务模块 163.4.3 控制模块 163.4.4 主驱动模块 203.5 核心模块设计 21第4章 部分功能实现 234.1 语言互译和安装功能 234.2 后台管理 244.2.1 设置面板 244.2.2 用户管理 244.2.3 文章管理 254.2.4 评论管理 264.2.5 分类管理 264.3 插件式开发 264.3.1 可视化插件实现 264.3.2 表情插件实现 28第5章 性能测试 315.1 测试说明 315.1.1 测试平台环境 315.1.2 主要测试业务: 315.2 基准测试统计 31结 论

5、 33致 谢 34参考文献 35前 言WEBLOG是WEB LOG的缩写,中文意思是网络文章,简称“网志”,后来缩写为BLOG,而BLOGGER(博客)则是写BLOG的人。具体说来,博客(BLOGGER)这个概念解释为使用特定的软件,在网络上出版、发表和张贴个人文章的人。 一个Blog就是一个网页,它通常是由简短且经常更新的Post所构成;这些张贴的文章都按照年份和日期排列。Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。许多Blogs是个人心中所想之事情的发表,其它Blogs则是一群人基于某个特

6、定主题或共同利益领域的集体创作。Blog好象对网络传达的实时讯息。撰写这些Weblog或Blog的人就叫做 Blogger或Blog writer。 在网络上发表Blog的构想使于1998年,但到了2000年才真正开始流行。起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其它人参考和遵循。 但随着Blogging快速扩张,它的目的与最初已相去甚远。目前网络上数以千计的 Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络

7、(Intranet)。本博客系统中,是采用了MVC设计模式,它是一个经过考验的真正的软件设计模型,它可以使程序成为可维护的、模块化的和快速开发的包。使用分离的模型(Model)、视图(View)和控制器(Controller)组织的程序是轻便的。新的特性很容易就被加入,旧的程序换上新的外观也是一下子的功夫。模块化和分离的设计使得开发者和设计者能够同时工作,这包括了快速原型的能力。分离的设计令开发者可以修改应用的一部分而不会影响到其它部分。第1章 系统分析1.1 系统设计目的本博客系统设计目的旨在建立一个以PHP与MySQL为基础,功能简单、结构灵活而且轻量、精致的内容发布系统。网络日志管理为本

8、系统的主要应用目标,同时能够满足不同用户群(如博客用户、主题开发用户、功能插件开发用户)的多变需求,提供足够灵活的接口是实现上述需求的关键。1.2 功能简介1、安装部署:友好的快速安装程。2、内容管理功能:本系统的主要内容。3、插件式开发功能:事件处理、过滤器处理机制。4、国际化功能:多语言互译。1.3 系统需求1.3.1 功能需求1、内容管理需求:(1)文章管理:添加文章、修改内容、删除文章、密码保护、文章统计。(2)分类管理:添加分类、修改分类、删除分类、分类统计。(3)评论管理:新增评论、修改评论、审核评论、删除评论、评论统计。2、用户基本需求:注册、登陆、修改个人信息、取回密码、注销。

9、3、用户群体需求:(1)博客用户:除提供内容管理功能外,还提供博客基本设置,前、后台主题跟换功能。(2)主题开发用户:为主题开发用户提供称为模板标签(template tags)的模板接口,使主题开发与程序分离。(3)功能插件开发用户:为功能开发用户提供足够的钩子(Hooks)即插件接口,和插件API,能让开发人员扩展系统功能。1.3.2 性能需求1、响应时间与内存使用量:(1)忽略网络环境因素、主题模板及功能插件运作的因素,以本地测试为准。(2)数据库安装响应:时间2秒内,内存使用量最高上限8,000,000 bytes。(3)前台浏览响应时间:时间0.8秒,内存使用量最高上限9,000,0

10、00 bytes。(4)后台操作响应时间:时间0.9秒,内存使用量最高上限9,000,000 bytes。2、数据库的优化、备份:提供所有数据表的SQL语句备份,SQL语句的查询数据备份。MySQL数据库的优化处理。3、安全性:后台的界面访问、路径访问、操作执行的前后,均受登陆会话管理和用户权限管理的控制。开启全局的跨站点攻击(XSS)过滤。1.4 用例分析1.4.1 登陆管理用例登陆管理,如图1.1所示。图1.1 登陆管理用例图本用例允许用户登陆管理相关的内容,进行登陆、注册、修改用户个人资料、注销、取回用户密码等基本操作。1.4.2 主程序用例主程序用例,如图1.2所示。图1.2 主程序一

11、级用例图用户进行登陆认证后,在进行文章管理,分类管理,评论管理,用户管理等方面前验证用户权限,才能执行相关操作。1.4.3 文章管理用例文章管理用例图,如图1.3所示。图1.3 文章管理用例图1、系统从文章管理中,提取编辑文章内容,文章发布,删除文章等功能,让文章管理者进行对其选择操作。2、编辑文章内容,不一定需要修改文章的分类。3、一旦文章管理者完成编辑文章内容,文章发布,删除文章等方面的操作后,系统就自动对文章进行统计分类数目。1.4.4 评论管理用例评论管理用例,如图1.4所示。图1.4 评论管理用例图1、文章发表后,系统向外部浏览者提供对文章进行评论的功能,同时,文章管理者对此也具有发

12、布评论,编辑评论,修改评论状态,删除评论等方面的操作。2、对于文章管理者在编辑评论的操作上,不一定对修改评论的状态造成影响。3、在外部浏览者对文章进行评论后,或文章管理者进行的发布评论,修改评论状态,删除评论等操作后,系统就会自动进行统计评论的数目。1.4.5 分类管理用例分类管理用例,如图1.5所示。图1.5 分类管理用例图1、文章管理者,在文章的分类管理中,可以进行添加分类,编辑分类,修改上级分类,删除分类等方面的操作。2、文章管理者对文章进行编辑分类的操作时,不一定执行修改上级分类。3、当文章管理者删除分类后,系统就会自动重新归类原分类文章,再统计新分类文章的数目。1.5 运行环境1、硬

13、件环境(1)服务器端:服务器端的最低配置是由建立站点所需的软件来决定的,在最低配置的情况下,服务器的性能往往不尽人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本网络系统服务器端的配置如下:处理器:Inter Pentium(Celeron) 4 2.4GHz 或更高。内存:512MB硬盘空间:60G显卡:SVGA显示适配器(2)客户端:因为客户端主要用于浏览和操作数据,所以对客户端的硬件要求不高,不过现在的电脑有很高的性价比,因此需要的配置应该高于下面的配置:处理器:Inter Pentium(Celeron) 4 1.6GHz 或更高。内存:32MB硬

14、盘空间:1GB显卡:SVGA显示适配器2、软件环境(1)服务器端:操作系统:Windows NT/2000/2003/XP professional或Linux 2.6.4 .etc网站服务器:Apache2.2 +PHP4.2.x/PHP5.0.x/PHP5.2 数据库管理系统:MySQL5.x(2)用户端:操作系统:Windows NT/2000/2003/XP professional或Linux 2.6.4 .etc第2章 数据库设计2.1 数据库设计分析各数据表描述表2.1 数据表描述数据表描述相关区域comments评论信息Admin Commentsoptions设置选项信息Ad

15、min Settingsposts博客的主要数据,储存文章数据Admin Postscategories分类信息Admin Catetoriesusermetausers特性表Admin Usersusers用户信息Admin Users2.2 数据表的建立1、categories表2.2 categories表字段名类型默认值扩展描述cate_idbigint(20)auto_incrementidnamevarchar(200)0分类名称slugvarchar(200)标识名descriptionlongtext描述parentbigint(20)0FK-caetgories.cate_i

16、d上级分类countbigint(20)0所属数目表2.3 categories索引键名类型字段名PRIMARYPRIMARYcate_idslugUNIQUEslug2、Comments表2.4 comments表字段名类型默认值扩展描述comment_IDbigint(20) unsignedNULLauto_incrementidcomment_post_IDint(11)0FK-posts.ID文章idcomment_authortinytext品论作者名comment_author_emailvarchar(100)作者emailcomment_author_urlvarchar(2

17、00)作者地址comment_author_IPvarchar(100)作者ipcomment_datedatetime0000-00-0000:00:00评论发表时间comment_date_gmtdatetime0000-00-0000:00:00评论发表时间GMTcomment_contenttext评论内容comment_approvedvarchar(20)1许可状态comment_agentvarchar(255)评论代理comment_typevarchar(20)评论类型user_idbigint(20)0FK-users.ID用户id表格2.5 comments索引键名类型字

18、段名PRIMARYPRIMARYcomment_IDcomment_approvedINDEXcomment_approvedcomment_post_IDINDEXcomment_post_IDcomment_approved_date_gmtINDEXcomment_approvedcomment_date_gmtcomment_date_gmtINDEXcomment_date_gmt3、options表2.6 options表字段名类型默认值扩展描述option_idbigint(20)NULLauto_incrementidblog_idint(11)0博客idoption_name

19、varchar(64)选项名option_valuelongtext选项值autoloadvarchar(20)yes自动装载表2.7 options索引键名类型字段名PRIMARYPRIMARYoption_idblog_idoption_nameoption_nameINDEXoption_name4、posts表2.8 posts表字段名类型默认值扩展描述IDbigint(20) unsignedauto_incrementidpost_authorbigint(20)0FK-users.ID作者idpost_datedatetime0000-00-0000:00:00发表时间post_

20、date_gmtdatetime0000-00-0000:00:00发表时间GMTpost_contentlongtext文件内容post_titletext文章标题post_categoryint(4)0post_excerpttext文章摘录post_statusvarchar(20)publish文章状态comment_statusvarchar(20)open评论状态post_passwordvarchar(20)文章密码post_namevarchar(200)文章名post_modifieddatetime0000-00-0000:00:00修改时间post_modified_gm

21、tdatetime0000-00-0000:00:00修改时间GMTpost_typevarchar(20)post文章类型comment_countbigint(20)0评论总数表2.9 options索引键名类型字段名PRIMARYPRIMARYIDpost_nameINDEXpost_nametype_status_dateINDEXpost_typepost_statuspost_dateID5、Usermeta表2.10 usermeta表字段名类型默认值扩展描述umeta_idbigint(20)NULLauto_increment用户特性iduser_idbigint(20)0F

22、K-users.ID用户idmeta_keyvarchar(255)NULL特性键名meta_valuelongtextNULL特性数据表2.11 usermeta索引键名类型字段名PRIMARYPRIMARYumeta_iduser_idINDEXuser_idmeta_keyINDEXmeta_key6、Users表2.12 user表字段名类型默认值扩展描述IDbigint(20) unsignedNULLauto_incrementiduser_loginvarchar(60)登陆名user_passvarchar(64)登陆密码user_nicenamevarchar(50)友好名字

23、user_emailvarchar(100)用户emailuser_urlvarchar(100)用户地址user_registereddatetime0000-00-0000:00:00注册时间user_statusint(11)0用户状态display_namevarchar(250)显示名字表2.13 user索引键名类型字段名PRIMARYPRIMARYIDuser_login_keyINDEXuser_loginuser_nicenameINDEXuser_nicename2.3 E-R图1、主程序E-R图,如图2.1所示。图2.1 主程序E-R图2、用户E-R图,如图2.2所示。图

24、2.2 用户E-R图3、文章归类E-R图,如图2.3所示。图2.3 文章归类E-R图第3章 功能模块设计3.1 MVC模式分析使用像ASP,PHP,或者CFML这样的基于过程化开发的语言来开发一般的Web应用程序,它们的输入、处理和输出都不能很好的进行分离,因而很难体现出业务模型和业务重用性,以至于代码难以结构混乱和难以维护。虽然有经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。MVC是一种将应用程序的逻辑层和表现层进行分离的方法。Codeigniter(后简称CI)是基于模型-视图-控制器这一设计模式的。

25、本系统采用CI框架下的MVC开发模式。模型(Model)代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。视图(View)是展示给用户的信息。一个视图通常是一个网页,但是在 CI中,一个视图也可以是一个页面片段,如页头、页尾。控制器(Controller)是模型、视图以及其它任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。MVC三层模式的好处显而易见,首当其冲就是模型重性能很好地发挥,因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个

26、,所以依据这种设计思想你能构造良好的松偶合的构件。MVC有它的优点同时,我对MVC的模式开发有自己的一点看法,由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。同时在抽象出业务处理的模型时,虽然能够屏蔽掉其它层次不相关的处理细节,但也限制了与之相关的功能扩展。或者可以根据MVC分离式设计,经由修改内部代码来扩展功能和业务,但好的扩展性是体现在添加而不是修改上。需求总是会变的,若要扩展业务或功能时,开放人员就不得不重新在模型里面添加代码甚至改变内部结构以适应新的需求。3.2 插件式设计分析插件式设计模型,如图3.

27、1所示。图3.1 插件式设计模型基于插件式设计比起许多设计模式更简单,更容易理解。各种基于插件设计的架构都有自己的特色,但从总体架构上看,其模型都大同小异。基于插件设计的应用程序由应用程序框架、插件接口、插件和公共函数库四部分组成。应用程序框架负责应用程序的整体运作,它清楚程序整个流程,但并不知道每个过程具体要做什么。它在适当的时候调用一些插件,来完成真正的功能。插件接口是一个协议。插件按照这个协议实现出来,就可以加入到应用程序中来。当然,对于复杂的系统,插件接口可能有多个,各自具有独立的功能。插件是完成实际功能的实体,实现了要求的插件接口。尽管实现什么以及怎么实现,完全是插件自己的自由。在实

28、际情况来,一般还是有些限制,因为插件接口本身可能就是一个限制。如,实现编译功能的插件,自然不能实现成一个聊天功能的插件。公共函数库是一组函数或者类,应用程序框架和插件都可以调用。它通常是一个独立的库。应用程序框架本身是公用的,是代码复用的一种方式。但并不是所有可复用代码都可以放在框架中,特别是插件会用到的公共代码,那会造成插件对框架的依赖。把这些公共代码提取到一个独立的库中,是一种好的方法。3.3 开发设计模型的改进基于我对MVC模型的一点看法,插件式设计能因应我以上的考虑,为系统设计找到一个平衡点,它能把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现。扩展功能与框架以一种很松的方式耦合,两者在保持接口不变的情况下,可以独立变化和发布。公开插件接口,让第三方有机会扩展应用程序的功能,共同分享成果。为更好地体现出系统的灵活性和可扩展性,本系统采用了MVC三层模式开发和插件设计的混合开发模式,实现表现层和业务层的分离,加上事件

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1