开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx

上传人:b****5 文档编号:7673930 上传时间:2023-01-25 格式:DOCX 页数:37 大小:152.74KB
下载 相关 举报
开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx_第1页
第1页 / 共37页
开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx_第2页
第2页 / 共37页
开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx_第3页
第3页 / 共37页
开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx_第4页
第4页 / 共37页
开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx

《开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx》由会员分享,可在线阅读,更多相关《开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx(37页珍藏版)》请在冰豆网上搜索。

开源图形统计库在管理系统中的应用毕业论文设计40论文41.docx

开源图形统计库在管理系统中的应用毕业论文设计40论文41

(此文档为word格式,下载后您可任意编辑修改!

HUNANUNIVERSITY

毕业设计(论文)

 

设计论文题目:

开源图形统计库在管理

系统中的应用

学生姓名:

学生学号:

专业班级:

学院名称:

指导老师:

学院院长:

 

2008年5月18日

开源图形统计库在管理系统中的应用

摘要

项目管理系统主要是对项目工程的进度进行合理的控制,一个项目分成多个阶段,在每个阶段中都有相应的检查点。

监理公司通过系统可以控制每一个阶段及检查点的进度,合理的安排工作人员和分配资金,每个阶段的相关文档和会议内容都会记录在案方便以后的查阅,系统有相关的信息发布,让工作人员能即时的了解最新的信息资讯。

在系统的首栏有图表可以详细的表示出项目工程中各个阶段的进度,让工作人员登陆后就能准确的了解自己所在项目的进度情况。

我们在实际的项目中经常要用到统计图表。

图形统计库JFreeChat是SourceForge上基于J2EE的一个开源项目,是一种很好的解决方案,基本能够解决目前的图形方面的需求,包括绘制饼图(平面和立体)、柱状图、曲线图、时序图、甘特图等,产生的图形可以导出成PNG和JPEG格式,同时还可以与PDF和EXCEL关联[1]。

在项目管理系统中,客户要明确的知道项目阶段的进展情况,能够很直观的看到项目的进度,可以明确的看出项目的计划开始时间,计划结束时间,实际结束时间,最主要的是可以看出项目中一个阶段的完成情况和计划的差别,能很好的让监理人员作好下一步的工作排。

本论文实现了项目管理系统和开源图形统计库在其中的应用。

本文对系统的设计和开源图形统计库JFreeChat做了详细的介绍,并对图形库中的一些API做了详细的解释,对以后的使用有着很大的方便。

本系统的设计开发应用了J2EE的开发平台,数据库系统采用的Mysql。

关键字:

J2EE,项目管理系统,甘特图,JFreeChat

 

Open-SourceGraphicsLibraryStatisticsApplicationintheManagementSystem

Author:

YangAng

Tutor:

LuShaofei

ABSTRACT

Projectmanagementsystemistheprogressoftheworksoftheprojecttoconductreasonablecontrol,projectisdividedintoseveralstages,ineachstageofthecheckpointsbecontrolledateverystageandtheprogressofinspectionpoints.Reasonablearrangementsforstaffandtheallocationoffunds,eachstageoftherelateddocumentationandcontentofthemeetingwillberecordedforfutureinspection,sothatstaffcanimmediatelyunderstandthelatestinformation.Inthefirstcolumncanvariousstagesofprogress.Letstaffafterlandingcanbeaccurateunderstandingoftheirsituationwheretheprogressoftheproject.

Inpracticeweoftenusetheprojecttostatisticaltables,graphicstatisticsontheSourceForgeJFreeChatisanopensourceJ2EE-basedprojects,isagoodsolution.Fundamentaltoresolvingthecurrentneedsofgraphics.Includingdrawingthepie-chart(planeandthree-dimensional)Histogram,curves,timingplansGantt,etc.ThegraphicscanbeexportedintoPNGandJPEGformats;canalsobeassociatedwiththePDFandEXCEL.Intheprojectmanagementsystem,customersmustbeclearthatthephaseoftheprojectprogress,canbeveryintuitivetoseetheprogressoftheproject,andcanclearlyseethattheprojectplansstarttime,theendoftime,andtheactualendoftime.Themostimportantthingiscanbeseenthedifferenceinaphaseoftheprojectandplanstocomplete,itwillbeverygoodforthenextcommissionerofstafffortheorganizationofwork.

Thisthesisachievedaprojectmanagementsystemandopensourcegraphicslibrarystatisticsinwhichtheapplication.Inthispaper,systemdesignandopen-sourcestatisticalgraphicslibraryJFreeChatdoneadetailedintroduction,andsomeofthegraphicsAPIdoneadetailedexplanationonthefutureuseofalotofconvenience.

ThesystemdesignanddevelopmentoftheJ2EEapplicationdevelopmentplatform,databasesystemsusedinMysql.

Keyword:

J2EE,ProjectManagementSystem,Gantt,JFreeChat

 

 

1绪论

信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。

计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。

在实际的工程中,一个监理公司要对自己的项目通过详细的监控来控制一个项目的进度,如果用人员进行统计的方法那需要花费大量的时间来完成,并对与项目相关的文档保存比较繁琐。

为了适应现代社会人们高度强烈的时间观念,我们用计算机和网络把所有的项目信息都集中的管理起来,那会大大的减少工作人员的工作量,所有的一切信息也会变的简洁明了。

项目管理系统对一个项目中的每个阶段每个检查点的相关信息进行了统计管理,每个项目的人员、单位、文档、资金、招投标、会议和信息发布都用单独的模块进行管理,并使用开源图形统计库把一个项目的详细进度用图表表示出来,工作人员可以通过图表中的进度来布置下一阶段的详细计划。

面对监理工作人员的这种需求,我们开发了项目管理系统。

在系统开发中我是使用的JFreeChat生成的甘特图来表示项目的进度情况,所以在论文中对JFreeChat做了详细的介绍。

JFreeChart(环境中,通过JDBC可动态显示任何数据库数据,结合Itext可以输出至PDF文件。

本论文共分为五章。

第一章为绪论,主要介绍了论文的研究背景、发展方向和论文的总体结构。

第二章为设计的相关技术简介,主要介绍了J2EE开发平台和JFreeChat,为后面的设计介绍做好了铺垫。

第三章为系统的需求分析,讲述了系统的目标和功能的设计。

第四章为系统的分析和设计,主要是系统功能模块的设计、数据库的设计和系统的详细设计,在其中有部分的图表来相应的进行说明。

第五章讲述了统计图JFreeChat的实现,系统模块的编译和甘特图的生成,这部分有大量的代码,请参加后面的附录。

论文的最后是自己的一个小结和感谢。

本论文主要阐述的是管理系统和JFreeChat,是我第一次接触这个领域,JFreeChat本身就是一个繁琐的类结构,所以在研究中还有很多不足的地方,论文中的论述如果有缺陷,请读者帮我指出,我会认真的更正,并在以后的学习工作中继续去学习研究它,使它的功能更加的强大。

 

2相关技术和开源图形统计库简介

2.1J2EE简介

2.1.1平台简介

J2EE,Java2平台企业版(Java2PlatformEnterpriseEdition),是Sun公司为企业级应用推出的标准平台。

J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

J2EE的核心规范是EnterpriseJavaBeans(EJB)[2]。

EJB依照特性的不同,目前共分为三种,分别是SessionBean、EntityBean,以及MessageDrivenBean。

其中SessionBean与EntityBean算是EJB的始祖,这两种EJB规格在EJB1.x版本推出时就已经存在,而MessageDrivenBean则是出现在EJB2.0的规格之中。

Java2平台依照应用领域的不同,共分为三大版本,分别是J2EE、标准版本J2SE(Java2Platform,StandardEdition)、微型版本J2ME(Java2Platform,MicroEdition),以及JavaCard等。

为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:

J2EEBlueprints[3]。

J2EEBlueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EEBlueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。

J2EEBlueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。

J2EE组成了一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EEServiceAPI[4]。

J2EE容器包括:

◆Web容器服务器端容器,包括两种组件JSP和Servlet,JSP和Servlet都是Web服务器的功能扩展,接受Web请求,返回动态的Web页面。

Web容器中的组件可使用EJB容器中的组件完成复杂的商务逻辑。

◆EJB容器服务器端容器,包含的组件为EJB(EnterpriseJavaBeans),它是J2EE的核心之一,主要用于服务器端的商业逻辑的实现。

EJB规范定义了一个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等。

◆Applet容器客户端容器,包含的组件为Applet。

Applet是嵌在浏览器中的一种轻量级客户端,一般而言,仅当使用Web页面无法充分地表现数据或应用界面的时候,才使用它。

Applet是一种替代Web页面的手段,我们仅能够使用J2SE开发Applet,Applet无法使用J2EE的各种Service和API,这是为了安全性的考虑。

◆ApplicationClient容器客户端容器,包含的组件为ApplicationClient。

ApplicationClient相对Applet而言是一种较重量级的客户端,它能够使用J2EE的大多数Service和API。

通过这四个容器,J2EE能够灵活地实现前面描述的企业级应用的架构。

在View部分,J2EE提供了三种手段:

Web容器中的JSP(或Servlet)、Applet和ApplicationClient,分别能够实现面向浏览器的数据表现和面向桌面应用的数据表现。

Web容器中的Servlet是实现Controller部分业务流程控制的主要手段;而EJB则主要针对Model部分的业务逻辑实现。

至于与各种企业资源和企业级应用相连接,则是依靠J2EE的各种服务和API。

J2EE是一系列技术标准所组成的平台[5],包括:

*Applet-JavaApplet

*EJB-企业级JavaBean(EnterpriseJavaBeans)

*JAAS-JavaAuthenticationandAuthorizationService

*JACC-J2EEAuthorizationContractforContainers

*JAF-JavaBeansActivationFramework

*JAX-RPC-JavaAPIforXML-BasedRemoteProcedureCalls

*JAX-WS-JavaAPIforXMLWebServices

*JAXM

*JAXP-JavaXML解析API(JavaAPIforXMLProcessing)

*JAXR-JavaAPIforXMLRegistries

*JCA-J2EE连接器架构(J2EEConnectorArchitecture)

*JDBC-Java数据库联接(JavaDatabaseConnectivity)

*JMS-Java消息服务(JavaMessageService)

*JMX-JavaManagement

*JNDI-Java名字与目录接口(JavaNamingandDirectoryInterface)

*JSF-JavaServerFaces

*JSP-Java服务器页面(JavaServerPages)

*JSTL-Java服务器页面标准标签库(JavaServerPagesStandardTagLibrary)

*JTA-Java事务API(JavaTransactionAPI)

*JavaMail

*Servlet-JavaServletAPI

*StAX-StreamingAPIsforXMLParsers

*WS-WebServices

随着Java技术的发展,J2EE平台得到了迅速的发展,成为Java语言中最活跃的体系之一。

现如今,J2EE不仅仅是指一种标准平台,她更多的表达着一种软件架构和设计思想。

2.1.2使用J2EE进行WEB开发的优势

当前的WEB开发技术有很多:

asp、、php[6]等等,那么为什么要使用,这是由于J2EE的一些优势保障的,J2EE的优势主要有以下几点:

高效的开发:

J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。

这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。

高级中间件供应商提供以下这些复杂的中间件服务:

状态管理服务--让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。

 持续性服务--让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。

分布式共享数据对象CACHE服务:

让开发人员编制高性能的系统,极大提高整体部署的伸缩性。

支持异构环境:

J2EE能够开发部署在异构环境中的可移植程序。

基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。

因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。

这在典型的异构企业计算环境中是十分关键的。

J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。

可伸缩性:

企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。

基于J2EE平台的应用程序可被部署到各种操作系统上。

例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。

(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。

能消除系统中的瓶颈,允许多台服务器集成部署。

这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。

稳定的可用性:

一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。

因为INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。

若是意外停机,那会有灾难性后果。

J2EE部署到可靠的操作环境中,他们支持长期的可用性。

2.1.3常用的J2EE技术

在实际项目中我们常用到的J2EE技术有[7]:

*Struts

*Hibernate

*JSP

*Spring

*xmlbeans

*Eclipse,Jbuilder

2.1.4Struts简介

Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。

其最初萌芽于CraigMcClanahan的构思。

现在,Struts是Apache软件基金会旗下Jakarta项目组的一部分,其官方网站是http:

struts.apache.org。

Struts把Servlet、JSP、自定义标签和信息资源(messageresources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。

除此之外,Struts的优点主要集中体现在两个方面:

Taglib和页面导航。

Taglib是Struts的标记库,灵活动用,能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。

通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。

尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

MVC即Model-View-Controller的缩写,是一种常用的设计模式。

MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。

Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。

Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:

  1、模型(Model),本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。

  2、视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。

3、控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。

  4、一堆用来做XML文件解析的工具包,Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息的(这样一来就实现了应用系统的多语言支持)。

2.1.5Struts+Hibernate3的构架模式

Hibernate是一个数据持久层框架,是一种实现对象和关系之间映射(ORMapping)的工具,它对JDBC进行了轻量级的对象封装,使程序员可以使用对象编程思想来操作数据库[8]。

它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。

相对于使用JDBC和SQL来操作数据库,使用Hibernate能大大的提高实现的效率。

Hibernate框架用配置文件的形式来定义Java对象和数据表之间的映射关系,同时在更深的层面将数据表之间的关系解释为Java对象之间的继承及包含等关系。

通过使用HQL语句将复杂的关系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。

在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询。

要创建或修改这些对象,只需在程序中与它们进行交互,然后告诉Hibernate保存即可。

这样,大量封装持久化操作的业务逻辑不再需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。

Struts框架最早是作为ApacheJakarta项目的组成部分问世运做,它继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

Struts框架很好的结合了Jsp,JavaServlet,JavaBean,Taglib等技术[9]。

在Struts中,承担MVC中控制器角色的是ActionServlet。

ActionServlet是一个通用的控制组件。

这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。

它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。

另外控制组件也负责用相应的请求参数填充ActionForm(FromBean),并传给动作类(ActionBean)。

动作类访问核心商业逻辑,即访问JavaBean或调用EJB。

最后动作类把控制权传给后续的JSP文件,由JSP文件生成视图。

所有这些控制逻辑利用Struts-config.xml文件来配置。

在Struts框架中,视图主要由JSP生成页面完成,Struts提供丰富的JSP标签库,这有利于分开表现逻辑和程序逻辑。

模型以一个或多个JavaBean的形式存在。

在Struts中,主要存在三种Bean,分别是:

Action,ActionForm,EJB或者JavaBean。

Struts框架没有具体定义模型层的实现,在实际开发中,模型层通常是和业务逻辑紧密相连的,并且要对底层数据进行操作

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

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

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