博客系统的设计与实现.docx
《博客系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《博客系统的设计与实现.docx(51页珍藏版)》请在冰豆网上搜索。
博客系统的设计与实现
毕业设计
题目:
基于构架的博客系统的设计和实现
:
姓名:
学号:
专业名称:
计算机科学与技术
指导教师:
二零一零年五
摘要
本文研究了当今博客系统的市场需求和种种的优势与不足,以与博客在中国发展迅速这一现状,提出了开发一个专业的博客管理系统的思想。
本文对博客系统的运行机制、组成、相关可应用技术进行了深入的研究和分析,确定符合现在博客管理的需求,详细阐述了系统的总体设计和详细设计,并在此基础上,应用当前最流行的J2三层结构、技术、数据库等与系统开发相关的技术完成系统主要功能的实现。
本博客系统致力为广大用户提供优质的互动交流平台,实现对博客发表文章、评论、图片、好友等数据的管理,同时实现了博客内容与时、快速更新的功能,系统不仅保留了传统博客系统的功能,还加上了一些人性化的界面设计,使用户对博客的操作更为的方便。
为了满足博客信息管理系统的要求,实现系统静态与动态页面的相互分离,本系统采用了构架设计,从职责上分为三层:
表示层、业务逻辑层、数据持久层。
其中使用2作为系统的整体基础架构,负责的分离,在2框架的模型部分,利用框架对持久层提供支持,业务层用支持。
具体做法是:
用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的对象,然后编写基本的接口,并给出的实现,采用架构实现的类来实现类与数据库之间的转换和访问,最后由完成业务逻辑。
关键词:
表示层;业务逻辑层;数据持久层;;;
.a.,,,,,j2,.
.,,,.
.;,.2.2,.,,.,.
:
;;;;;
绪论1
1.1概述1
1.2研究背景和发展趋势1
1.2.1研究背景1
1.2.2发展趋势2
1.3研究的目的和意义2
1.4本文工作概述2
1.5本文结构3
第2章系统相关技术4
2.1体系结构4
2.2简介4
2.3简介5
2.4简介5
2.5简介5
2.62简介5
2.7简介6
2.8简介6
第3章系统分析7
3.1系统可行性分析:
7
3.2系统需求分析:
7
3.2.1功能需求分析7
3.2.2系统的业务需求与流程8
3.2.3系统数据分析与数据流图8
3.2.4系统数据字典9
第4章系统数据库设计11
4.1概念设计11
4.2数据表结构12
4.3数据表结构关系16
第5章系统总体设计17
5.1系统的总体设计原则17
5.2系统功能设计17
5.2.1总体功能描述17
5.2.2功能模块设计17
第6章系统详细设计与实现19
6.1构架的搭建与配置文件19
6.2系统编码设计20
6.2.1编写持久对象层类20
6.2.2编写数据访问层类22
6.2.3编写业务逻辑层类23
6.2.4编写层类24
6.3系统主要功能模块详述26
6.3.1后台:
博客管理模块26
6.3.2前台:
用户界面模块32
总结与展望37
7.1博客系统的主要特点37
7.2系统的不足之处37
7.3前景展望37
致谢38
参考文献39
绪论
“博客”(或)一词源于“(网络日志)”的缩写,是一种十分简易的傻瓜化个人信息发布方式。
任何人都可以像使用免费电子邮件一样,完成个人网页的创建、发布和更新。
博客就是开放的私人空间,可以充分利用超文本链接、网络互动、动态更新等特点,在网络中,精选并链接全球互联网中最有价值的信息、知识与资源;也可以将个人工作过程、生活故事、思想历程、闪现的灵感等与时记录和发布,发挥个人无限的表达力;更可以以文会友,结识和汇聚朋友,进行深度交流沟通。
它目前是众多机构和媒体评为的最热门的互联网现象。
其实博客并没有特别之处。
但不经意间,博客竟如雨后春笋般冒出来,博得了越来越多网民的欢心,并引发了各种新的应用热潮。
它最大的吸引力在于,只要你会发邮件,就可以轻松创建自己的网络媒体。
1.1概述
博客是个人性和公共性的结合体,其精髓不是主要表达个人思想,不是主要记录个人日常经历;而是以个人的视角,以整个互联网为视野,精选和记录自己在互联网上看到的精彩内容,为他人提供帮助,使其具有更高的共享价值。
博客精神的核心并不是自娱自乐,甚至不是个人表达自由,相反,是体现一种利他的共享精神,为他人提供帮助。
个人日记和个人网站主要表现的还是“小我”,而博客表现的是“大我”。
也许形式上很接近,但内在有着本质的差异。
所有优秀博客网站中,真正表达作者个人的内容非常有限,最多只是点缀,而不像个人网站那样是核心。
1.2研究背景和发展趋势
1.2.1研究背景
博客的精神是:
自由表达,开放宽容,个性张扬,专业精神。
在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。
博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。
虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。
生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。
督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。
这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。
1.2.2发展趋势
趋势一:
博客现在正在形成个人的信誉机制,有了博客之后就确立了一个个人虚拟身份,简单的来讲就是个人在互联网上是有名有姓的,而不再是一种匿名的行为,网民从流浪汉变成了一个定居者。
以前在互联网上的各种行为都是在匿名状态中,相互之间是不认识的,但有了博客之后可以天天关注,而别的人也可以通过博客找到这个人。
这样随着时间的积累就会产生一个新的东西,概括叫做“个人的信誉”,个人的信誉就是博客和博客之间发展各种关系的组合,这种信誉对每个人来讲可能是不同的,但对每个博客来讲就产生了新的评价机制,这个机制将是博客商业化的一个前提条件。
趋势二:
博客越来越呈现出富媒体化,早期的博客是以文字为主,但随着多媒体发展博客相册、博客图片已经成为博客的基本配置,而现在许多博客网站已经提供了博客音频和博客视频。
趋势三:
博客现在正在形成并完善精选机制,博客作为自媒体和个人媒体,产生的信息非常巨大。
其中难免产生信息垃圾,随着博客的发展,博客通过精选机制精选出大家喜闻乐见的信息,像国内网摘、博客的评价系统等。
1.3研究的目的和意义
随着计算机与网络技术的飞速发展,应用在全球范围内日益普与,人们对应用的需求也越来越多,其中网上交友或利用网络和朋友家人联系,在线管理自己的相片等已经成为广大网民的共同需求,在这个背景下,我们的博客系统应需而出。
一般一个博客就是一个页面,它通常由简短而且经常更新的帖子构成,所有的文章都是按照年份和日期排列,有些类似斑竹的日记。
看上去平淡,但它可以让每个人零成本、零维护地创建自己的网络媒体,每个人都可以随时把自己的思想和灵感更新到博客站点上。
博客的人性化和平民视角使得它提供的消息更贴近人们的生活,极大的丰富了人们业余生活,同时也给人与人之间的沟通架起一座桥梁。
1.4本文工作概述
本论文对基于结构的博客管理系统进行了深入的研究,并对系统的关键技术和分析设计进行了详细的分析阐述。
利用该系统,网友可以在网络上发表日志、修改和删除日志、上传照片、查询博文、浏览博文、对日志发表评论、给博主留言。
其中涉与到的主要内容有:
(1)对系统的可行性与发展趋势进行分析,完成整个博客管理系统的需求分析和总体设计。
(2)对系统体系结构与设计实现中使用的相关技术进行分析。
(3)完成系统主要功能的详细设计与实现,包括:
前台模块、后台模块,其中前台模块包括:
日志浏览模块、相册浏览模块、留言模块、浏览博主好友模块,后台模块包括:
登陆、注册功能模块、日志管理模块、日志类型管理模块、好友管理功能、相册管理模块、留言管理模块。
(4)关于系统权限和安全性问题的探讨。
1.5本文结构
本文分为七部分。
第一部分首先介绍博客系统的研究背景与发展现状,提出运用网络技术开发博客管理系统的目的和意义。
第二部分分析与系统设计与实现相关的技术和数据库技术,明确系统的操作流程。
第三部分对博客管理系统进行需求分析,包括对系统进行可行性分析,确定在目前的条件下,开发博客系统是可行的。
第四部分对系统数据库的分析设计,对系统中的数据库进行模型设计,包括数据流图、实体联系图与数据表结构。
第五部分对系统的总体设计进行了全面说明,确定系统的开发思想以与开发环境,并对系统中的代码进行设计。
第六部分阐述基于结构博客管理系统主要功能的详细设计与实现。
第七部分对博客系统的研究与设计工作进行总结,指出系统建设中存在的不足与解决方案,为将来系统的设计改进打下基础。
第2章系统相关理论基础
本系统的开发采用的是当下最流行的构架2框架,在该框架中,的3层结构:
表示层、业务逻辑层、数据持久层完美结合在一起。
实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。
而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率
2.1体系结构
框架是典型的J2三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。
三层体系将业务规则、数据访问与合法性校验等工作放在中间层处理。
客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
表现层是传统的技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。
中间层采用的是流行的,为了将控制层与业务逻辑层分离,又细分为以下几种。
层,就是模式里面的“C”(),负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的框架采用。
层(就是业务逻辑层),负责实现业务逻辑。
业务逻辑层以层为基础,通过对组件的正面模式包装,完成系统所要求的业务逻辑。
层,负责与持久化对象交互。
该层封装了数据的增、删、查、改的操作。
,持久化对象。
通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用作为框架。
的作用贯穿了整个中间层,将层、层、层与无缝整合,其数据服务层用来存放数据。
一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定制化;并且有强大的用户社区来支持它。
框架通常能很好的解决这个问题。
2.2简介
即,是基于以与整个体系的开发技术。
已经成为开发动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。
充分利用了的强大功能,是一种优秀的服务器端技术。
随着技术的日益成熟和流行,在网络编程中也变得越来越重要。
基于强大的语言,具有极强的扩展能力,良好的缩收性,与平台无关的开发特性,成为构建动态网站的主流技术之一,有着其他技术所不具备的优势。
其优势在于:
可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。
2.3简介
企业级工作平台(,简称)是对的扩展,利用它我们可以在数据库和的开发、发布,以与应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持,,,,,,。
在结构上,的特征可以被分为7类:
模型、开发工具、开发工具、应用程序服务器的连接器、项目部署服务、数据库服务、整合帮助。
2.4简介
运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试程序的首选。
当在一台机器上配置好服务器,可利用它响应对页面的访问请求。
实际上部分是服务器的扩展,但它是独立运行的,所以当运行时,它实际上作为一个与独立的进程单独运行的。
配置正确时,为页面服务,而实际上运行页面和。
和、等服务器一样,具有处理页面的功能,它还是一个和容器,独立的容器是的默认模式。
2.5简介
(1)是一种数据库管理系统。
计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。
(2)是一种关联数据库管理系统。
关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。
这样就增加了速度并提高了灵活性。
(3)软件是一种开放源码软件。
(4)数据库服务器具有快速、可靠和易于使用的特点。
服务器有一套实用的特性集合,这些特性是通过与我们用户的密切合作而开发的。
在我们的基准测试主页上,给出了服务器和其他数据库管理器的比较结果。
(5)服务器工作在客户端/服务器模式下,或嵌入式系统中。
数据库软件是一种客户端/服务器系统,由支持不同后端的1个多线程服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编程接口组成。
2.62简介
2是一个优秀的,可扩展的企业级应用程序框架。
它是一个(,模型,视图,控制)框架,2提供控制和视图组件,并通过集成其它的技术来提高模型。
框架的控制功能表现在连接应用程序的模型和视图。
当接收到一个请求,控制层调用一个类。
类检查或更新应用程序的状态通过模型层。
传递数据在模型层和视图层之间,属性可以被放在类,或是一个古老又普通的类中。
通常,模型代表一个对象图。
模型用来做“持久性”的工作,同时将扮演一个“交通警察”或适配器,框架会提供复杂的,自动类型转换到简单的传输数据,在域对象和文本的请求之间。
2.7简介
是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。
框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2应用程序开发提供集成的框架。
组成框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。
模块的功能如下:
核心容器:
核心容器提供框架的基本功能。
核心容器的主要组件是,它是工厂模式的实现。
使用控制反转()模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
:
抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。
异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。
的面向的异常遵从通用的异常层次结构。
框架:
框架是一个全功能的构建应用程序的实现。
通过策略接口,框架变成为高度可配置的,容纳了大量视图技术。
框架的功能可以用在任何J2服务器中,大多数功能也适用于不受管理的环境。
的核心要点是:
支持不绑定到特定J2服务的可重用业务和数据访问对象。
2.8简介
是一个开放源代码的对象关系映射框架,它对进行了非常轻量级的对象封装,使得程序员可以随心所欲的使用对象编程思维来操纵数据库。
可以应用在任何使用的场合,既可以在的客户端程序使用,也可以在的应用中使用,最具革命意义的是,可以在应用的J2架构中取代,完成数据持久化的重任。
的核心接口一共有5个,分别为、、、和。
这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
第3章系统分析
3.1系统可行性分析:
可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和调查,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
为了确定开发具有可行性,对本系统主要进行了一下三个方面的分析。
(1)经济可行性。
经济可行性主要是对项目的经济效益进行评价。
本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬饥渴,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。
(2)技术可行性。
技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需求等。
在软件方面,本系统采用的是的J2三层结构的构架进行开发,数据库采用了;在硬件方面,本系统对机器本身没有太高要求,一般个人电脑完全满足。
通过分析,具有技术上的可行性。
(3)操作可行性。
界面设计时充分考虑用户的习惯,使得操作简单。
综上所述,本系统开发目标已明确,在技术和经济等方面具备可行性,并且投入少、见效快,因此系统的开发时完全可行的。
3.2系统需求分析:
3.2.1功能需求分析
本博客系统分为前台和后台两个大模块,其中后台为博客管理页面,前台为用户界面。
(1)后台主要包括以下几个功能:
登陆、注册功能:
用户可以注册,注册时用户输入注册信息,同时向数据库中保存用户注册信息。
进入后台时要登录,输入用户名和密码。
日志管理:
用户可以发表日志,对日志信息查看、修改和删除。
日志信息包括标题、发表时间、所属类型、日志描述信息等。
日志类型管理:
用户可以添加、删除、修改日志类型。
好友管理功能:
用户可以添加、删除、查看好友,访问好友的博客
相册管理:
上传图片到自己的相册,删除相册中的照片,查看上传的照片。
留言管理:
用户可以对访问者给自己的留言查看和删除。
(2)前台主要包括以下功能:
日志查看功能:
访问者可以查看博主的日志,并可以按照日志分类来查看。
还可以对博主的日志发表评论。
相册查看功能:
查看博主上传的图片。
留言板功能:
给博主留言。
查看博主的好友:
查看博主的好友。
3.2.2系统的业务需求与流程
注册用户可以注册、登录本系统,对文章、相册、好友、留言等进行管理,其中包括对各个模块的信息的增、删、改、查操作。
网友可以访问博主的博客,浏览博主的文章、相册、好友等信息,还可以对文章进行评论,给博主留言。
系统业务流程如图3-1所示:
图3-1博客系统总体业务流程图
3.2.3系统数据分析与数据流图
博客系统中,主要是注册用户管理文章、留言、相册、好友等数据,数据的类型决定了程序对数据的处理方式也就是算法,因此,数据是实现分析的起点。
现通过数据流图的方式分析系统中的数据的流动和处理。
对注册用户,登陆博客系统后,系统接收用户的添加、修改、删除请求,通过分析将这种请求转化为相应的或者语句执行对数据库的相关的操作,并将执行的相应结果送回系统中。
系统接收到数据库返回的结果集,经过一定得分析处理,将其转换为页面,返回到客户端显示给用户。
系统运行过程中,主要涉与到两部分的数据流向,一部分是博客注册用户在系统后台管理界面发出对数据库操作的数据流,另一部分是用户在应用前台使用系统时所产生的数据流。
图3-2 博客管理系统数据流图
对每一个注册用户,可以细分为添加、修改、删除、浏览等操作,现以文章管理为例,其具体细节数据流图如图3-3所示:
图3-3文章管理详细数据流图
3.2.4系统数据字典
网站中的数据元素:
第4章系统数据库设计
“数据库设计是建立数据库与其应用系统的技术,是信息系统开发和建设中的核心技术”。
数据库的模式是整个企业管理信息系统的基础,合理的数据库模式设计能够有效地存储数据,直接影响到系统功能的有效实现。
4.1概念设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
数据模型是常用的概念设计表示模型。
根据需求分析,对系统规划设计出的实体有:
用户实体、文章实体、文章类型实体、照片实体、好友实体、留言实体、评论实体,分析各个实体之间的关系得出系统的数据库设计图如图4-1所示:
图4-1各个实体关系图
4.2数据表结构
在开发系统之前,必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,数据库是系统的重中之重。
数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。
尽量分离各实体对应的表,一个实体对应一个表,分析该实体有哪些属性,对应有些什么字段,以与各实体之间的联系。
实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。
从实际出发,经过仔细地设计,得到各表的设计如下表所示:
表4-1用户表
字段名
类型
长度
主键
外键
可否为空
特殊操作
说明
4
是
否
自增
用户
50
否
用户名
30
否
密码
4
否
性别
100
否
邮箱
30
否
号
表4-2文章表
字段名
类型
长度
主键
外键
可否为空
特殊操作
说明
4
是
否
自增
文章
4
是
否
用户名
4
是
否
类型
100
否
标题
4000
否
内容
30
否
时间
100
否
来源
100
否
描述
表4-3文章类型表
字段名
类型
长度
主键
外键
可否为空
特殊操作
说明
4
是
否
自增
类型
20
否
类型名
100
否
类型说明
表4-4好友表
字段名
类型
长度
主键
外键
可否为空
特殊操作
说明
4
是
否
自增
好友
4
是
否
用户
30
否
好友名
4
否
性别
30
否
号
100
否
好友博客
表4-5留言表
字段名
类型
长度
主键
外键
可否为空
特殊操作
说明
4
是
否
自增
留言
4
是
否
用户
30
否
标题
30
否
留言者
500
否
留言内容
30
否
留言时间
表4-6相册表
字段名
类型
长度
主键
外键
可否为空
特殊操作
说明
4
是
否
自增
相册
4
是
否
用户
30
否
相册名
100
否