1、大庆师范学院本科生毕业论文博客管理系统的设计与实现院 (系) 计算机科学与信息技术学院 专 业 计算机科学与技术 研 究 方 向 3G 网络 学 生 姓 名 高志强 学 号 201204040422 指导教师姓名 王秀琴 指导教师职称 副教授 2016 年 5 月 17 日I摘 要随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择为学习和交流的工具。博客作为使用者个人和工作当中的文章、连结、照片的分享平台,逐渐成为以内容为主的新兴网路媒介,并延伸至行销、商业推广等主流应用。本次博客系统的开发目的旨在建立一个以 Java 技术为基础,功能简单、结构灵活而且轻量、精致的内容管理系统。
2、通过构建博客系统来实现用户及时的交流沟通。从而完全取代原来一直用手写的信息记录方式,避免由于地域或时间的限制而不能及时共享信息的缺点,为用户的生活以及学习上带来很大的方便。本系统利用 JSP 开发技术,以 SQL Server2005 作为后台数据库,使用Tomcat 配置 Web 服务器,以及配合多种网页开发工具,实现了在线博客系统这个基于 B/S 模式的个人日志发表和交流的平台。本系统是一个实用的在线博客系统,集日志、相册、留言板于一身。主要分为注册登录模块:注册用户、登录系统;文章管理模块:发表、修改、删除文章;留言管理模块:游客可以发表留言;图片管理模块:用户可以管理相册,上传图片等模
3、块,能很好的实现用户对各项功能的需求和使用。关键词:博客;JSP;SQL Server2005 ;B/S 模式IIAbstractWith the rapid development of Internet technology, the pace of life is faster and faster. Blog is chosen as the tool of study and communicate by more and more people. Blog as a users personal and work sharing platform of articles, link
4、s, photos, has gradually become a new content-based network media and extended to the marketing, business promotion, etc. The purpose of the blog system development aims to establish a elaborate content management system based on Java technology, which function is simple, structure is flexible and l
5、ightweight. By building the blog system to achieve timely communication. To completely replace the original records which use handwritten information way, to avoid the shortcoming that information cannot share in a timely manner due to the restrictions of geographical or time,it bring great convenie
6、nce to the users life and learning. This system is developed by JSP, backstage DB is hold by SQL Server2005, the WEB Server is configurated by Tomcat and cooperated with variety of web page develop tool, all above build the online blog system which based on B/S mode and capable of publish the logs a
7、nd the comments. Its a functional online blog system which include blogs, album and message board. It can be separated by register and login module: users registered, login system; the article management module: publish, modify and delete article; the comment management module: visitors can publish
8、the comments; the picture management module: user can manage album and upload pictures, etc.It can be a very good implementation to user demands for various functions and using. Key words:Blog;JSP; SQL Server2005;B/S mode大庆师范本科生毕业设计(论文)目 录第 1 章 绪论 .11.1 课题背景 .11.2 课题目的和意义 .2第 2 章 系统开发工具与开发平台 .42.1 J
9、ava 语言和 JSP 开发技术 .42.2 开发平台和技 术介绍 .62.3 应用的主要技术 .8第 3 章 系统需求分析 103.1 可行性分析 103.2 需求分析 11第 4 章 系统总体设计 144.1 系统模块总体设计 144.2 数据库表结构 164.3 运行环境 18第 5 章 系统详细设计与实现 205.1 JDBC 数据库访问技术 205.2 系统功能模块的实现 24第 6 章 系统测试与性 能分析 326.1 测试准备 336.2 系统发布 336.3 系统功能测试 34结 论 35参考文献 36致 谢 37大庆师范本科生毕业设计(论文)0第 1 章 绪论1.1 课题背景
10、随着现代科技的发展,许多新名词涌入我们的视野:博客、圈子、播客、WAP 等。这些都预示着我们进入了一个新的互联网阶段 web 2.0,它是相对 web 1.0 的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由 web 1.0 网站创造内容的时代变为由用户创造内容的 web 2.0 时代 1。 而博客及博客文化正成为互联网的热点,并被视为继 Email、BBS 和 ICQ 之后出现的第四种网络交流方式。博客正在改变组织沟通和社会交流方式。目前,全球参与博客的人数已经达到 1000 万之众,而且每 5.8 秒钟都有一名新的博客
11、用户加盟进来。很多记者、律师、教授、学者、专家,甚至法官和议员都有了自己的博客网站,形成了独特的博客文化。美国总统候选人乐于开设博客站点,作为竞选的重要手段。企业界也正在把博客方式引入企业内部网和公司网站 2,用于非正式的知识管理和网络营销等。政府部门和教育领域都在尝试利用博客构建内部知识管理和沟通交流的新体系,可以让职员发表评论,积累知识,链接有意思的网络资源,促进彼此的交流沟通。显然,博客的发展对应了全球范围内知识社会来临的背景。对于中国这样一个组织机构信息化仍处于初级阶段的国家,博客这种充分发挥个人主导性和积极性的非正式知识管理工具和其深度沟通交流的功能,对于我们国家的知识传播、知识扩散
12、和有效提升组织的学习和创新能力,具有更特殊的意义。博客用户的快速增长以及组织机构对它的广泛应用,有助于推动中国社会向学习型社会演进 3。博客记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识与他人分享、交流,同时又通过这个空间结识了更多志趣相投的朋友;而越来越多专业知识的博客的出现,让我们看到了博客更多所蕴涵的巨大的信息价值。不同的博客选择不同的内容,收集和整理成为让很多人关注的专业博客目前越来越多的人获取信息的来源是一些固定的 Blog4。随着博客人数的增加,Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构,网络信息不再
13、是虚假不可验证的,交流和沟通更大庆师范本科生毕业设计(论文)1有明确的选择和方向性,单一的思想和群体的智慧结合变的更加有效,个人出版变成人人都可以实现的梦想Blog 正在影响和改变着我们的生活。1.2 课题目的和意义2013 年 11 月 3 日,全球中文博客站点数量达到 23400 万,博客(Blogger)用户数达到 9988 万,平均每个博客(Blogger)用户拥有大约 2.6 个博客,博客站点数和博客用户数均比前一年有一定程度的增长,人均拥有博客数与前一年相比也略有上升。 在近二千万的中国博客用户中,每个用户平均每 7.6 天更新一次博客,活跃的博客用户数(一周内有更新的博客)达到
14、302 万,约 15.2%的用户每周更新博客,同时,只有大约 4.6%的用户每天更新博客。在用户更新的博客中,约 42%的博客文章在 500 个汉字(1000 个字节)之内,5001000 个汉字(10002000 个字节)的博客文章占约 16.5%,越是长篇大论的文章在博客中所占比例则越少。 2014 年,拥有独立域名的博客站点,在博客站点总数中占约 3%,这表明,绝大多数的用户将博客服务商作为他们的博客站点首选。而这一年,中国大陆博客服务商(BSP)持续大幅增长,博客服务商数量达到 1460 家,与去年同期相比增长近 55%;大型网络公司如搜狐、百度纷纷推出相应的博客服务,而新兴的博客服务
15、站点如 也开始崭露头角。过去一年中,中国博客发展速度整体趋缓,博客用户增长数较之去年有小幅上升,博客服务商之间的市场竞争日趋激烈,与早期提供博客服务的运营商相比,传统门户及大型公司的博客服务已占据市场主导地位。总体而言,2013 年中国博客发展呈现 5 大特点:专业博客如医药类、教育类等增长较快,博客圈成为社区发展新方向;博客服务商(BSP)死亡比例逐渐增高,2013 年 Top100 服务商中,近 20%的站点已经关闭或终止服务;博客服务商(BSP )开始逐渐支持手机访问和发贴,发展迅速;综合博客服务商(BSP )增长很快,越来越多的服务商开始提供音频、视频博客等功能;利用博客进行排名作弊
16、的站点越来越多,其中小型博客服务商尤为突出 5。本系统是基于 MVC 模式设计和开发的,MVC 模式是三个单词的缩写,分别为:模型(Model) 、视图(View)和控制(Controller) 。MVC 模式的目的就是实现 Web 系统的职能分工。 Model 层实现系统中的业务逻辑,通常可以用 Java Bean 或 EJB 来实现。View 层用于与用户的交互,通常用 JSP 来实现。Controller层是 Model 与 View 之间沟通的桥梁 6,负责具体的业务逻辑操作,即控制器根据视图提出的要求对数据做出处理,并将有关结果存储到模型中,同时负责让模型和视图进行必要的交互,当模型
17、中的数据变化时,让视图更新显示,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作,这个操作通常用 Servlet 来实现。MVC 是一种大庆师范本科生毕业设计(论文)2软件设计典范,它能用一种业务逻辑和数据的显示分离的方法来组织代码。这个方法假设的前提是业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进。一个应用程序一般为相关的功能选择一个控制部分。基于 MVC 模式的个人博客系统主要实现前台和后台两部分功能设计。其中前台主要实现显示系统的功能,通过前台信息显示,方便访问者查看博主信息,浏览日志,查看相册,按文章类型、关
18、键字和文章编号检索文章,查看博主好友的 blog,给博主留言。同时系统支持对投票功能和当前时间显示的功能,功能丰富,访问者访问更加便捷。后台主要实现管理系统功能,主要分为:个人信息管理,文章管理,照片管理,好友管理,留言管理。在每个管理模块中均分别实现了增、删、改、查的功能。同时在细节处使用了分页和批量删除,增加了程序的复杂性和数据库的联系。大庆师范本科生毕业设计(论文)3第 2 章 系统开发工具与开发平台一个项目的开发,需要有丰富的知识做基础,也需要有技术的积累,而所有这些要在一个项目中的体现,就要看在设计中所采取的开发工具,因此,下面介绍一下基于 Java 的在线博客系统中所使用的开发技术
19、。2.1 Java 语言和 JSP 开发技术Java 是一种简单的、面向对象的、分布式的、键壮的、安全的、结构的、中立的、可移植的、性能很优异的、多线程的、动态的语言。Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用编程接口(Application Programming Interface、简称 API)构成。Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个 Java 平台之后,Java 应用程序就可运行。现在 Java 平台已经嵌入了几乎所有的操作系统。这样
20、Java 程序可以只编译一次,就可以在各种系统中运行 7。Java 应用编程接口已经从 1.1x 版发展到 1.2 版。目前常用的 Java 平台基于Java1.5,最近版本为 Java1.7。Java 分为三个体系 Java SE(Java2 Platform Standard Edition,java 平台标准版) ,Java EE(Java 2 Platform,Enterprise Edition,java 平台企业版) ,Java ME(Java 2 Platform Micro Edition,java 平台微型版) 。Java 的开发环境有不同的版本,如 sun 公司的 Java
21、 Developers Kit,简称 JDK。后来微软公司推出了支持 Java 规范的 Microsoft Visual J+ Java 开发环境,简称 VJ+。 对于多数程序设计语言,其程序运行要么采用编译执行,要么采用解释执行的方式。而 Java 语言的特殊之处在于,程序运行既要经过编译又要进行解释,如图 2-1 所示。首先,Java 程序由编译器进行编译,产生了一种中间代码,称为Java 字节码(java bytecodes) 。字节码是 Java 虚拟机的代码,是与平台无关的中性代码,因此不能在各种计算机平台上直接运行,必须在 JVM 上运行。Java 解释器是 JVM 的实现,它把字
22、节码转换为底层平台的机器码,使 Java 程序最终得以运行。无论是 Application 还是嵌入式在浏览器中的 Applet,都需要通过解释器才能运行。Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java 对对象技术的全面支持和 Java 平台内嵌的 API 能缩短大庆师范本科生毕业设计(论文)4应用系统的开发时间并降低成本。Java 的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java 企业应用编程接口(Java Enterprise API)为企业计算及电子商务应用系统
23、提供了有关技术和丰富的类库。图 2-1 Java 程序的运行过程图JSP 全名为 Java Server Pages,其根本是一个简化的 Servlet 设计,他实现了HTML 语法中的 Java 扩张。 JSP 与 Servlet 一样,是在服务器端执行的。通常返回给客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户端 8。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。通常 JSP 页面很少进行数据处理
24、,只是用来实现网页的静态化页面,用来提取数据,不会进行业务处理。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计的显示分离,支持可重用的、基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。JSP(Java Server Pages)是一种动态页面技术,它的主要目的是将表示逻辑从 Servlet 中分离出来。JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以
25、后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成 9。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP 2.0 中加入了新的创建自制标记的 API 来实现简单标记的接口。和 JSP 1.2 中的已有接口不同的是,SimpleTag 接口不使用 doStartTag 和 doEndTag 方法,而提供了一个简单的 doTag 方法。这个方法在调用该标记时只
26、被使用一次。而需大庆师范本科生毕业设计(论文)5要在一个自制标记中实现的所有逻辑过程、循环和对标记体的评估等都在这个方法中实现。从这个方面来讲,SimpleTag 和 IterationTag 可以达到同等的作用。但SimpleTag 的方法和处理周期要简单得多。在 SimpleTag 中还有用来设置 JSP 内容的 setJspBody 和 getJspBody 方法。Web 容器会使用 setJspBody 方法定义一个代表 JSP 内容的 JspFragment 对象。实现 SimpleTag 标记的程序可以在 doTag 方法中根据需要多次调用 getJspBody.invoke 方法
27、以处理 JSP 内容。用 JSP 技术, Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页面,并使用 JSP 标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等) 。生成内容的逻辑被封装在标识和 JavaBeans 组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和 JavaBeans 中,所以 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。在服务器端,JSP 引擎解释 JSP 标识和脚本,生成所请求的内容(例如,通过访问 JavaBeans 组件,使用
28、 JDBC 技术访问数据库或者包含文件) ,并且将结果以 HTML(或者 XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于 HTML 的 Web 浏览器的完全可用性 10。JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用 Java 技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP 技术能够支持高度复杂的基于Web 的应用。由于 JSP 页面的内置脚本语言是基于 Java 的,而且所有的 JSP 页面都被编译成为 Java Servlet,所以 JSP 页面具有 Java 技术
29、的所有好处,包括健壮的存储管理和安全性。作为 Java 平台的一部分,JSP 拥有 Java 编程语言“ 一次编写,各处运行”的特点。从架构上说,JSP 可以被看作是从 Servlet 高级提炼而作为JAVA Servlet2.1 API 的扩展而应用。Servlet 和 JSP 最早都是由 Sun Microsystems开发的。从 JSP1.2 版本以来,JSP 处于 Java Community Process(JAVA 社区组织)开发模式下。JSR-53 规定了 JSP 1.2 和 Servlet 2.4 的规范,JSR-152 规定了 JSP 2.0 的规范。2006 年 5 月,J
30、SP 2.1 的规范作为 Java EE5 的一部份,在 JSR-245 中发布。2.2 开发平台和技术介绍 本次程序开发使用的是 MyEclipse6.0.6,项目的发布使用 Tomcat 6.X 。 My Eclipse,是在 eclipse 基础上加上自己的插件。 My Eclipse 企业级工作平台(MyEclipseEnterprise Workbench ,简称 My Eclipse)是对 EclipseIDE 的扩展,利用它我们可以在数据库和 Java EE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 Java EE 集成开发环境,包括了完备编大庆
31、师范本科生毕业设计(论文)6编码、调试、测试和发布功能,完整支持HTML、Struts、JSP 、CSS 、Javascript 、Spring、SQL、Hibernate 11。My Eclipse 是一个十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合,My Eclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。My Eclipse 目前支持 Java Servlet、AJAX、JSP、 JSF、 Struts、Spring、Hibernate、EJB3、JDBC 数据库链接工具等多项功能。可以说My Eclipse 是几乎囊括了目前所有
32、主流开源产品的专属开发工具。在结构上,My Eclipse 的特征可以被分为 7 类:1 Java EE 模型2WEB 开发工具3EJB 开发工具4应用程序服务器的连接器5Java EE 项目部署 服务6数据库服务7My Eclipse 整合帮助对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。My Eclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,My Eclipse 是 Eclipse 的插件,也是一款功能强大的 Java EE 集成开发环境,支持代码编写、配置、测试以及除错,
33、MyEclipse5.5 以前版本需先安装 Eclipse。MyEclipse5.5 以后版本安装时不需安装 Eclipse。My Eclipse 和 Eclipse 是著名的跨平台的自由集成开发环境( IDE) 。最初主要用来 Java 语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和 Python 的开发工具。My Eclipse 的本身只是一个框架平台,但是众多插件的支持使得 My Eclipse 拥有其他功能相对固定的 IDE 软件很难具有的灵活性。许多软件开发商以 My Eclipse 为框架开发自己的 IDE12。 Eclipse 最初由 OTI 和 IBM 两家公
34、司的 IDE 产品开发组创建。IBM 提供了最初的 Eclipse 代码基础,包括 Platform、JDT 和 PDE。目前由 IBM 牵头,围绕着Eclipse 项目已经发展成为了一个庞大的 Eclipse 联盟,有 150 多家软件公司参与到 Eclipse 项目中,其中包括 Borland、Rational Software、Red Hat 及 Sybase 等。Eclipse 是一个开发源码项目,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括 Oracle 在内的许多大公司也纷纷加入了该项目,并宣称 Eclipse 将来能成
35、为可进行任何语言开发的 IDE 集大成者,使用者只需下载各种语言的插件即可。虽然大多数用户很乐于将 My Eclipse 当作 Java IDE 来使用,但 My Eclipse 的目标不仅限于此。My Eclipse 还包括插件开发环境(Plug-in Development 大庆师范本科生毕业设计(论文)7Environment,PDE) ,这个组件主要针对希望扩展 My Eclipse 的软件开发人员,因为它允许他们构建与 My Eclipse 环境无缝集成的工具。由于 My Eclipse 中的每样东西都是插件,对于给 My Eclipse 提供插件,以及给用户提供一致和统一的集成开发
36、环境而言,所有工具开发人员都具有同等的发挥场所。基于 My Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对JSP、servlet 、EJB 、Web 服务和数据库访问的支持 13。2.3 应用的主要技术2.3.1 ServletServlet 是使用 Java Servlet 应用程序设计接口(API)及相关类和方法的 Java程序。除了 Java Servlet API,Servlet 还可以使
37、用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java Servlet 对于 Web 服务器就好象 Java applet 对于 Web 浏览器。Servlet 装入 Web 服务器并在 Web 服务器内执行,而 applet 装入 Web 浏览器并在Web 浏览器内执行。Java Servlet API 定义了一个 servlet 和 Java 使能的服务器之间的一个标准接口,这使得 Servlet 具有跨服务器平台的特性。 Servlet 通过创建一个框架来扩展服务器的能力,以提供在 We
38、b 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后,Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servlet 可完成如下功能: (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML 页面。(2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段) 。 (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行
39、通信 14。(4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可以是多参与者的游戏服务器。 (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet 的新连接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet 也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。 (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括大庆师范本科生毕业设计(论文)8(SSI) 。 (7) 将定制的处理提供给所有服务器的标准例行程序。例如,S
40、ervlet 可以修改如何认证用户。2.3.2 JDBCJDBC(Java Data Base Connectivity, java 数据库连接)是一种用于执行 SQL语句的 Java API,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。有了 JDBC,向各种关系数据发送 SQL 语句就是一件很容易的事。换言之,有了 JDBC API,就不必为访问 Sybase 数据库专门写一个程序,为访问Oracle 数
41、据库又专门写一个程序,或为访问 Informix 数据库又编写另一个程序等等,程序员只需用 JDBC API 写一个程序就够了,它可向相应数据库发送 SQL 调用。同时,将 Java 语言和 JDBC 结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是 Java 语言“编写一次,处处运行”的优势。Java 数据库连接体系结构是用于 Java 应用程序连接数据库的标准方法。JDBC 对 Java 程序员而言是 API,对实现与数据库 连接的服务提供商而言是接口模型。作为 API,JDBC 为 程序开发提供标准的接口,并为数据库厂商及第三方中间件厂
42、商实现与数据库的连接提供了标准方法。JDBC 使用已有的 SQL 标准并支持与其它数据库连接标准,如 ODBC 之间的桥接。JDBC 实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程 数据库。企业也可以用 JDBC 通过 Internet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、Macintosh 和 UNIX 等各种不同的操作系统) 。随着越来越多的程序员开始使用 Jav
43、a 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加 15。大庆师范本科生毕业设计(论文)9第 3 章 系统需求分析需求分析过程是整个系统开发的重要阶段,分析的成功与否,决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个系统的功能要求,并且将现实事务抽象成对象并建模。本章介绍了该系统的可行性分析和需求分析。3.1 可行性分析可行性研究主要内容是要求以全面、系统的分析为主要方法,经济效益为核心,围绕影响项目的各种因素,运用大量的数据资料论证拟建项目是否可行。对整个可行性研究提出综合分析评价,指出优缺点和建议。当接受一个软件开发任务,就进入软件生命的第一个阶段,即
44、进行可行性的研究。并不是所有问题都具有简单的解决办法,许多问题都是不能在预定的规模之内解决。因此通过可行性的研究分析可以从中发现问题,并对其提出有无可行性的解决方法,进而避免人力、物力和才力的浪费。在现行系统初步调查的基础上可以提出新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。系统目标应充分体现,并直接为系统服务,且程序可以分期、分批实现。但是,需要指出的是,系统目标是不可能在总体规划阶段就提出的非常具体,它还将在开发过程中逐步明确和定量化,以达到更加出色的程序系统。可是,目标的提法不尽相同,例如:(1)提高效率,减轻劳动强度;(2)提高信息处理速度和准确性;(3)
45、为管理者提供更方便、科学的服务项目。系统的目标确定后,至少应该达到下面的几方面的可行性:1技术可行性使用现有技术能否实现这个系统。本系统是同时结合 Java 语言、JSP 技术进行 B/S 结构的程序设计。在计算机网络,借助 MYSQL 数据库和先进的开发平台,利用 MyEclipse10 软件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的在线博客系统。同时使用目前实际开发中比较常用的MVC 模式进行系统的开发与设计,极大地提高了系统的灵活性、复用性、开发效率、适应性和可维护性,充分发挥了 JSP、Servlet 等 J2EE 组件的特点。有效分离模块、功能之间的代码
46、耦合关系,并逐步理解软件开发步骤和软件工程思想。大庆师范本科生毕业设计(论文)10因此,开发此软件在技术上是可行的。2经济可行性估算系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计系统将获得的效益,估算开发成本是否会高于项目预期的全部经费。并且,分析系统开发是否会对其它产品或利润带来一定影响。系统的效益可以从经济效益和社会效益两方面考虑。这个系统所带来的经济利益能否超过它的开发成本。本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。系统简单易于操作,可用性强,程序开源。数据便于维护,基本无需专人维护调试,因此成本很低。由此可见在,开发此
47、系统在经济上是完全可行的。3. 操作可行性操作的可行性主要分析的是系统的操作方式在这个用户群内能否行的通。如今的计算机已经走进千家万户,本系统是利用自己的计算机加开源开发工具 My Eclipse 作为软件的开发工具,在程序完成后,对程序进行打包。使用户不需要安装任何辅助性软件,就可以在 window 系统上直接以访问网页的形式使用。同时本系统用户平台界面简单、明了,采用可视化界面,普通用户只需用鼠标就可以完成相应的数据操作,运用起来非常简单。4法律可行性新系统的研制和开发,将不会侵犯他人、集体和国家的利益,不会违反国家政策和法律。5、时间可行性软件的时间可行性是指软件在时间跨度上的实际范围。
48、本系统具有良好的兼容性、可维护性,因而可以在今后很长时间内使用。所以从以上几个方面的分析来看,开发本软件是完全可行的。3.2 需求分析所谓“需求分析” ,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么” 。需求分析是对目标系统提出完整、准确、清晰、具体的要求。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。首先对用户的应用需求做出充分的调研
49、,基于在线博客系统所要实现的内容,列出用户操作的模块,其中每个模块对应一个功能。在线博客系统主要是实现了大庆师范本科生毕业设计(论文)11注册用户登录、管理相关信息、管理博文及相关评论、查看留言及图片的上传,为注册用户写留言,游览注册用户的相册、注册等功能的系统。下面就以两种不同权限的用户来分析博客网站的需求。普通用户:首先用户需要在登录页面填写用户名和密码,才能执行一些相关操作,不然就是普通用户只能浏览一些基本信息,而不能发表博文及图片等。普通用户在注册页面注册成为博客的注册用户,才可以拥有自己独立的空间。而未注册用户进入某一博客页面查看相关日志信息时,可以随时对自己所感兴趣的日志发表评论,同时也可以查看到其他人针对该博文的评论,普通未注册用户也可以在阅读博文时最后留下自己的一些评论。他也可以留下更多的信息,例如可以在留言板给博主留言,但这时普通未注册用户的留言和评论显示的将是署名为游客的评论而不是注册博客的昵称。未注册用户的 UML 用例图如图 3-1 所示。图 3-1 未注册用户的 UML 用例图注册用户:可以通过文章管理模块进行