个人博客管理系统的设计与实现论文范文可编辑Word文档下载推荐.docx
《个人博客管理系统的设计与实现论文范文可编辑Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《个人博客管理系统的设计与实现论文范文可编辑Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
blog;
eclipse;
oracle;
tomcat
第一章绪论1
第一节研究现状1
第二节主要研究的目的及内容4
第三节研究方法及设计思路4
第二章相关技术简介7
第一节JSP7
第二节Oracle数据库8
第三节JavaBean原理和机制9
第四节B/S模式分析10
第三章系统分析12
第一节可行性分析12
第二节系统开发步骤13
第三节业务流程分析14
第四章系统设计15
第一节概要设计15
第二节数据库设计15
第三节功能模块设计18
第五章系统实现20
第一节系统实现目标20
第二节具体实现20
第六章系统测试30
第一节测试的重要性及目的30
第二节测试的步骤31
第三节测试的主要内容32
结论33
参考文献35
致谢36
第一章绪论
第一节研究现状
一.个人博客的发展现状
2006年11月3日,全球中文博客站点数量达到5230万,博客(Blogger)用户数达到1987万,平均每个博客(Blogger)用户拥有大约2.6个博客,博客站点数和博客用户数均比前一年有一定程度的增长,人均拥有博客数与前一年相比也略有上升。
在近二千万的中国博客用户中,每个用户平均每7.6天更新一次博客,活跃的博客用户数(一周内有更新的博客)达到302万,约15.2%的用户每周更新博客,同时,只有大约4.6%的用户每天更新博客。
在用户更新的博客中,约42%的博客文章在500个汉字(1000个字节)之内,500~1000个汉字(1000~2000个字节)的博客文章占约16.5%,越是长篇大论的文章在博客中所占比例则越少。
用户更新博客的时间大部分集中在白天,约48.5%的用户选择在工作时间(上午10点~下午6点)更新自己的博客,其中,在临近下班前(下午4点~6点)博客更新数达12.4%,而约16.3%的用户选择在晚上7点~10点更新博客,为全日最高峰,晚上10点之后时间更新博客的数量逐渐减少。
2006年,拥有独立域名的博客站点,在博客站点总数中占约0.43%,这表明,绝大多数的用户将博客服务商作为他们的博客站点首选。
而这一年,中国大陆博客服务商BSP持续大幅增长,博客服务商数量达到1460家,与去年同期相比增长近55%;
大型网络公司如搜狐、XX纷纷推出相应的博客服务,而新兴的博客服务站点如51也开始崭露头角。
过去一年中,中国博客发展速度整体趋缓,博客用户增长数较之去年有小幅上升,博客服务商之间的市场竞争日趋激烈,与早期提供博客服务的运营商相比,传统门户及大型公司的博客服务已占据市场主导地位。
总体而言,2006年中国博客发展呈现5大特点:
专业博客如医药类、教育类等增长较快,博客圈成为社区发展新方向;
博客服务商BSP死亡比例逐渐增高,2005年Top100服务商中,近20%的站点已经关闭或终止服务;
博客服务商BSP开始逐渐支持手机访问和发贴,发展迅速;
综合博客服务商BSP增长很快,越来越多的服务商开始提供音频、视频博客等功能;
利用博客进行排名作弊的站点越来越多,06年出现爆炸性增长,其中小型博客服务商BSP尤为突出。
现今,博客网站已经由06年的风风火火变的平淡,通过各种方式融入了我们的生活,成为了我们表现自己的主要方式。
它们大部分是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列。
看上去平淡无奇,毫无可炫耀之处,但它让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。
个人BLOG目前面临的主要问题:
由于文化市场监督的不利,势必会造成一些淫秽的内容广泛传播于网路,这就需要文化部门的有力监督。
第二节主要研究的目的及内容
本课题的目的是实现一个博客网站
通常博客网站是由简短而且经常更新的帖子构成,所有文章都是按照年份和日期排列,有些类似斑竹的日记。
看上去平淡无奇,毫无可炫耀之处,但它可以让每个人零成本、零维护地创建自己的网络媒体,每个都可以随时把自己的思想火花和灵感更新到博客站点上。
零机制:
博客属于个人所有,是自发建立和非正式的建设。
BSP不能对博客发号施令。
零技术:
博客不需要作网站的专业知识,可以像发邮件一样简单地实现博客网页的呈现。
技术的极度简化,包括架构和申请博客网站、编辑、上传和修改内容等。
零成本:
任何一个人都可以像申请免费邮件般免费申请自己的博客网站。
不需要注册域名的成本,不需要租用服务器空间的成本,不需要许多软件工具的成本。
零编辑:
博客用户就是编辑,即时写作、即时发布、自我检查。
这形成了与传统写作截然不同的“体验”,真正实现了作者“零磨损”的开放式写作。
零形式:
博客页面的表现形式和文章内容的表现方式十分灵活,没有特定形式。
与个人主页相比较,博客是使用方便的、交互性强。
与传统的电子邮件、BBS和ICQ这三种互联网沟通方式相比,博客是一种较严肃的沟通平台。
BBS公共匿名性很强,而个人性很弱,因此缺乏约束。
电子邮件和ICQ则是多用于个人间的通讯,而博客是个人性和公共性的结合。
博客是个人在网上展示自己、与别人沟通交流的综合平台,它的管理比BBS简单的多。
设计实现一个简单的基于J2EE架构的个人博客系统。
要求提供针对个人用户的信息管理,好友管理,博文发布,博文回复等功能。
具体功能划分如下:
用户:
注册、登录、退出、查看个人信息、修改个人信息、修改个人密码,发布博文,回复博文,添加好友,删除好友,博文分类管理。
第三节研究方法及设计思路
一、研究方法本系统采用软件工程中的生存周期方法进行设计。
(一)需求分析
通过该需求分析的方法确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
经过需求分析确定对系统的综合要求从系统的功能、性能、运行、以及将来可能提出的问题进行需求分析。
必要时运用需求分析的软件工具验证需求分析。
(二)总体设计
总体设计采用软件工程最基本的总体设计方法也称为概要设计或初步设计,首先主要工作是通过这个设计阶段的工作划分出组成系统的物理元素?
?
程序、文件、数据库、人工过程和文档等等。
其次进入总体设计的第二阶段是设计软件的结构,也就是要确定系统中每个程序是由那些模块组成的,以及这些模块相互间的关系。
具体过程是首先设想供选择的方案,其次选取合理的方案、再次推荐最佳方案,之后进行功能分解、设计软件结构、数据库设计、制定相应的测试计划最终完成总体设计。
(三)详细设计
详细设计阶段的目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对系统的精确描述,从而在编码阶段可以把这个描述直接翻译成某种程序设计语言书写程序。
主要采用结构程序设计的方法,采用自顶向下逐步求精的设计方法和单入单出的控制结构。
应用详细设计的工具程序流程图,绘制程序流程图进行详细设计,确定程序流程图从而完成详细设计。
(四)程序编写
开发工具:
Eclipse8.5,Oracle,Jdk1.6,Tomcat6.0
采用Eclipse开发工具进行程序的编写、编译,安装了JDK1.6,Tomcat6.0,Eclipse3.2和Oracle10g数据库,并配置好了开发环境。
(五)软件测试
与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。
大型软件系统通常由若干个子系统组成,每个子系统又由若干个模块组成。
因此,大型软件系统的测试基本上由下述几个步骤组成:
模块测试:
在这个测试步骤中所发现的往往是编码和详细设计的错误。
子系统测试:
这个步骤着重测试模块的接口。
系统测试:
在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
验收测试:
在这个测试步骤中发现的往往是系统需求说明书中的错误。
(六)运行与维护
可执行程序正确性维护:
该系统为web服务,可执行程序即为网页,如出现错误则可重新连接。
据库文件正确性维护:
系统提供数据库备份功能,可以进行备份、还原。
系统配置文件正确性维护:
系统配之文件如出现错误,则以原有默认模式取代当前出错配置文件。
平时要进行简单的系统维护,比如检查Tomcat的运行情况,数据库与JSP的链接,数据库表的完整性,环境搭建的情况等。
二、设计思路
系统应符合个人博客管理的规定,满足用户日常使用的需要,并达到操作过程中的直观,方便,实用,安全等要求;
系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护;
系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作;
尽量采用现有软件环境及先进的管理系统开方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
第二章相关技术简介
第一节JSP
JSPJavaServerPages是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
它是在传统的网页6>
HTML文件*.htm,*.html中插入Java程序段Scriptlet和JSP标记tag,从而形成JSP文件*.jsp。
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP主要优势如下:
一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比JSP/PHP的局限性是显而易见的。
强大的可伸缩性。
从只有一个小的war文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
多样化和功能强大的开发工具支持。
这一点与JSP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
鉴于以上,决定使用JSP技术进行系统开发和设计。
第二节Oracle
与无压缩格式下存储数据相比,新的Oracle数据压缩技术能够确保以较小的开销节省三倍以上的磁盘存储空间。
这一点比仅节省磁盘空间要具有更大的优势,因为它能够使企业节约更多的开支,以便有更多的资金来巩固自己的地位。
自动诊断知识库(AutomaticDiagnosticRepository,ADR)是专门针对严重错误的知识库。
该知识库基本上能够自动完成一些以往需要由数据库管理员来手动完成的操作。
作为ADR的一部分,SQL性能分析器(SQLPerformanceAnalyzer,SPA)是最让人惊喜的特性之一。
SQL性能分析器是一个整体调整工具,管理员可以通过该工具在数据库上定义和重演replay一个典型的工作负载,之后管理员可以调节整体参数来使数据库尽快的达到最佳性能?
而这一任务同样也是许多年以来由数据库管理员手动完成的。
由于获得了最优的初始参数,数据库管理员就不需要调整数以万计的SQL语句。
管理员需要做的就是给定一个典型的负载,由SPA根据历史记录来决定SQL的最终设置,而不用管理员来检测哪一个SQL设置是最合理的。
多年以来,甲骨文公司一直在努力完成地另一个新特性便是“联机更新”在不down机的情况下更新软件。
实际上,很难从软件工程的角度来设计一个运行时能自动升级的软件。
由于真正的应用集群(RealApplicationClusters,RAC)特性,甲骨文公司再一次对其他的数据库供应商造成了更大的压力。
在实际的使用过程中,数据库产品的用户总是希望产品有持续的高可用性,这并不是说只需满足下次补丁更新之前的3年的时间就够了。
自动内存管理特性可以追根溯源至Oracle9i,那时甲骨文公司推出首款自动调节存储池的工具。
AMM工具其实就是一种探测机制。
实际上,Oracle11g有很多随机访问存储池,当存储管理模式(AccessManagementMode,AMM)探测到某个存储池中已满时,它将整个随机存储器(RandomAccessMemory,RAM)从一个区域分配到其他相对合适的区域。
第三节JavaBean原理和机制
JSP的一大特点就是与JavaBeans的结合,而JSP与JavaBeans结合的一个突出的优点是页面显示和业务逻辑的分离。
这可以使团队协作的更好,开发出更高质量的站点。
JavaBean是一种可以重用的Java组件,它类似于COM,在JSP程序中常用来封装事物逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
事件处理是JavaBeans体系结构的核心之一。
通过事件处理机智,可以让一些组件作为事件源,发出可被描述环境或其他组件接受的事件。
这样,不同的组件就可在构造工具内组合在一起,组件之间通过事件的传递进行通信,构成一个应用。
从概念上讲,事件是一种在“源对象”和“监听对象”之间、某种状态发生变化的传递机智。
事件有许多不同的用途,如:
鼠标事件、窗口边界改变事件、键盘事件等。
在Java和JavaBeans中则是定义了一个一般的、可扩充的事件机制,它能够:
1.对事件类型和传递模型的定义和扩充提供一个公共框架,并适合于广泛的应用。
2.与Java语言和环境有较高的集成度。
事件能描述环境捕获和被激发。
能使其他构造工具采取某种技术在设计时直接控制事件,遗迹控制事件源和事件监听者之间的联系。
事件本身不依赖于复杂的开发工具。
特别的,事件机制还应当:
1.能够发现制定的对象类可以生成的事件。
2.能够发现制定的对象类可以观察监听到的事件。
3.提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。
4.不需要其他的虚拟机和语言即可实现。
5.事件源与监听者之间可进行高效的事件传递。
6.能完成JavaBean事件模型与相关的其他组件体系结构事件模型的中立映射。
JSP和ASP.NET同样是网站开发中常用的开发工具。
但是,ASP是微软的产品,其应用只能是在Windows平台上,移植性差,而且以源代码的形式存放在服务器端,安全性差。
每次由服务器解释运行,运行效率不高。
Jsp页面文件执行时被编译成字节代码,由客户端流览的Java虚拟机解释执行,不再是源代码,因此执行效率和安全性高。
将数据库连接的重要信息存放在JavaBean文件后,可以编译成虚拟机才能解释的字节代码,确保了数据库的安全。
在ASP技术里,通过Web页面要实现一些特定的功能比较困难,比如基于网页的报表,打印实现起来就比较麻烦。
ASP提供的解决方案是自己开发组件,通过在服务器端注册组件,成为独立的可以重复利用的模块供读者调用。
因此要求读者需要掌握比较复杂的变成语言的开发技术。
在JSP开发技术里,可以通过开发JavaBean文件实现同样的功能,JavaBean不需要注册,只要放置在相应的目录下就可以运行。
可以实现ASP的COM组件同样的功能。
此外JSP推出主要就是考虑到平台的无关性。
JSP代码可以在APACHE、IIS等服务器上执行,支持大部分操作系统。
JSP继承JAVA技术的优点:
一次运行,处处运行。
第四节B/S模式分析
C/S模式主要由客户应用程序Client、服务器管理程序Server和中间件middleware三个部件组成。
客户应用程序是系统中用户与数据进行交互的部件。
服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。
中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。
B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。
把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器Web服务器,从而构成一个三层结构的客户服务器体系。
图2-1B/S三层结构图
第一层客户机是用户与整个系统的接口。
客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。
浏览器将HTML代码转化成图文并茂的网页。
网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。
这个后台就是第二层的Web服务器。
第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。
如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。
第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。
B/S模式首先简化了客户端。
它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。
这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。
假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。
甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。
其次,它简化了系统的开发和维护。
系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。
各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。
现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。
相对于C/S,B/S的维护具有更大的灵活性。
当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。
这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。
如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。
再次,它使用户的操作变得更简单。
对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。
而采用B/S模式时,客户端只是一个简单易用的浏览器软件。
无论是决策层还是操作层的人员都无需培训,就可以直接使用。
B/S模式的这种特性,还使?
MIS系统维护的限制因素更少。
最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。
这是C/S所无法实现的。
而这种新增的网上信息发布功能恰是现代企业所需的。
这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。
鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。
各软件公司纷纷推出