开源图形统计库在管理系统中的应用.docx
- 文档编号:5484935
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:50
- 大小:155.63KB
开源图形统计库在管理系统中的应用.docx
《开源图形统计库在管理系统中的应用.docx》由会员分享,可在线阅读,更多相关《开源图形统计库在管理系统中的应用.docx(50页珍藏版)》请在冰点文库上搜索。
开源图形统计库在管理系统中的应用
HUNANUNIVERSITY
毕业设计(论文)
设计论文题目:
开源图形统计库在管理
系统中的应用
学生姓名:
杨昂
学生学号:
20041610328
专业班级:
软件开发2班
学院名称:
软件学院
指导老师:
陆绍飞
学院院长:
林亚平
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,ineachstageofthecheckpointshavecorresponding.Commissionerofthecompanythroughthesystemcanbecontrolledateverystageandtheprogressofinspectionpoints.Reasonablearrangementsforstaffandtheallocationoffunds,eachstageoftherelateddocumentationandcontentofthemeetingwillberecordedforfutureinspection,sothatstaffcanimmediatelyunderstandthelatestinformation.Inthefirstcolumncanhaveadetailedchartoftheprojectexpressedinvariousstagesofprogress.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绪论6
2相关技术和开源图形统计库简介8
2.1J2EE简介8
2.1.1平台简介8
2.1.2使用J2EE进行WEB开发的优势10
2.1.3常用的J2EE技术11
2.1.4Struts简介11
2.1.5Struts+Hibernate3的构架模式13
2.2开源图形统计库14
2.2.1开源图形统计库JfreeChart简介14
2.2.2甘特图简介15
3.系统需求分析17
3.1系统目标17
3.2系统功能分析17
4.系统分析与设计19
4.1系统功能模块的设计19
4.1.1项目流程管理设计19
4.1.2文档管理设计20
4.1.3资金管理设计21
4.1.4用户管理设计22
4.2数据库设计24
4.3系统模块的详细设计27
4.3.1项目流程管理27
4.3.2文档管理28
4.3.3资金管理设计29
5统计图及在模块中的实现31
5.1系统模块的编译31
5.2Hibernate对数据库的连接31
5.3JfreeChart生成甘特图33
5.3.1JfreeChart主要相关类33
5.3.2甘特图的生成37
总结:
39
致谢:
40
参考文献:
41
附录A:
系统部分代码43
A1:
甘特图生成代码43
A2:
项目流程管理代码46
1绪论
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。
在实际的工程中,一个监理公司要对自己的项目通过详细的监控来控制一个项目的进度,如果用人员进行统计的方法那需要花费大量的时间来完成,并对与项目相关的文档保存比较繁琐。
为了适应现代社会人们高度强烈的时间观念,我们用计算机和网络把所有的项目信息都集中的管理起来,那会大大的减少工作人员的工作量,所有的一切信息也会变的简洁明了。
项目管理系统对一个项目中的每个阶段每个检查点的相关信息进行了统计管理,每个项目的人员、单位、文档、资金、招投标、会议和信息发布都用单独的模块进行管理,并使用开源图形统计库把一个项目的详细进度用图表表示出来,工作人员可以通过图表中的进度来布置下一阶段的详细计划。
面对监理工作人员的这种需求,我们开发了项目管理系统。
在系统开发中我是使用的JFreeChat生成的甘特图来表示项目的进度情况,所以在论文中对JFreeChat做了详细的介绍。
JFreeChart(http:
//www.jfree.org/)是一个开源的JAVA项目,它主要用来开发各种各样的图表,这些图表包括:
饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
在这些不同式样的图表上可以满足目前商业系统的要求。
JFreeChart是一种基于JAVA语言的图表开发技术。
JFreeChart可用于Servlet、JSP、Applet、JavaAppication环境中,通过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),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EEService/API[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是一个数据持久层框架,是一种实现对象和关系之间映射(O/RMapping)的工具,它对JDBC进行了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图形 统计 管理 系统 中的 应用