




免费预览已结束,剩余76页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计论文网络直销店动态图形报表的设计与实现Design and Implementation of the Dynamic Chart Report in Network Outlet姓名:学号: 学院:软件学院系:软件工程专业:软件工程年级: 指导教师:教授 年 月摘要互联网技术的飞速发展给人们的生活带来了巨大的便利,同时更高要求地促使了针对互联网开发的技术革命。在Web系统开发中,面向BS架构的开发越来越受到用户和开发人员的欢迎。报表是企业的一项基本业务和信息要求,它可以帮助企业访问和格式化数据。通过这些数据信息,使用户可以深入洞察企业运营状况。而图形报表则以直观易懂的方式,让用户可以方便的获取和比较这些数据信息。当前很多人们通过计算机软件编辑报表,包括处理数据和界面设计。但是它们没有定义专门的报表结构来动态加载报表数据,所以数据都是定义好的,静态的,用户只能修改数据或者修改格式。而动态报表则在于实现报表数据的动态加载,实现报表数据的动态化特征。本次毕业设计将结合纽新网络直销店项目,根据需求,应用动态图形报表等技术,完成网络直销店动态图形报表的设计与实现。本毕业设计将是基于Web的环境下Java开发,采用开源的SSH框架和JFreeChart图形报表技术进行设计开发,达到在跨平台通用兼容下,为纽新网络直销店用户提供动态图形报表服务,让用户可以快速、准确、便捷、直观、动态的获取报表信息。所以,本次毕业设计学习和实践动态图形报表是有实际项目的运用意义的。关键字:动态图形报表;SSH;JFreeChartAbstractThe fast development of Internet technologies have brought great convenience for humens life and promote the evolution of the Internet development at the same time. On the Web system development, the BS frame is more and more popular for users and programers.Report is a basic bussiness and requirment in enterprise, which helps enterprise to visit and format the datas. Through the data and information, users can know the bussiness of the enterprise deeply. Meanwhile, the chart report can help users know and compare the data and information in convenient way.Nowdays, people use software to edit reports, including operating datas and design views. But they dont define the report structure to download the data dynamicly, so datas are defined and static and what users only can do are editing datas or formats. Meanwhile, the dynamic report means to implement that the report datas can be download dynamicly.This design will associate with the Newsun Network Outlet, depend on the requirement, apply the technologies of dynamic chart report and so on to complete it. And it will be development by using Java language, SSH frame and JFreeChart that are opensource based in Web. The target of the development is to provide the dynamic chart report service for the Newsun Networt Outlet users on the condition of different platforms, and the users can get the report information conveniently, quickly and correctly. So this development of the dynamic chart report has the real applied meaning.Key: dynamic chart report; SSH frame; JFreeChart目录第1章 绪论11.1 项目背景11.2 Java图形报表技术的发展历史和现状21.3 研究意义21.4 设计目标3第2章 模型及主要技术介绍52.1 概述52.2 SSH框架62.2.1 Spring72.2.2 Hibernate92.2.3 Struts2102.3 JFreeChart122.4 可能出现的问题及解决方法152.4.1 JFreeChart中文乱码问题152.4.2 JFreeChart组件包冲突问题152.4.3 JFreeChart与Struts结合的两种方法15第3章 总体设计193.1 概述193.1.1 功能描述193.1.2 运行环境203.1.3 开发环境203.2 设计思想223.2.1 系统构思223.2.2 关键技术和算法233.2.3 关键数据结构233.3 人工处理过程26第4章 概要设计274.1 概述274.2 系统功能设计274.2.1 年季度报表.274.2.2 年月度报表284.2.3 年商品类型报表304.3 系统数据结构设计324.3.1 数据结构说明324.3.2 数据结构与系统元素的关系364.4 接口设计364.4.1 内部接口设计364.4.2 外部接口设计37第5章 详细设计及实现395.1 概述395.2 系统包和类结构设计395.3 系统功能设计415.3.1 年季度报表415.3.2 年月度报表465.3.3 年商品类型报表505.4 接口设计555.4.1 内部接口设计555.4.2 外部接口设计565.5 系统运行设计565.5.1 系统初始化575.5.2 运行控制575.5.3 系统结束59第6章 实验结果及分析616.1 概述616.2 测试用例616.2.1 界面测试616.2.2 功能测试636.2.3 容错测试666.3 系统出错处理设计666.4 系统维护设计67第7章 总结与展望697.1 论文总结697.2 工作展望70参考文献71致谢73ContentsChapter1 Introducation11.1 Background11.2 Java Chart Report Technology Development21.3 Meaning21.4 Target3Chapter2 Model&Technologies52.1 Summury52.2 Bussiness Model52.3 SSH Frame62.3.1 Spring72.3.2 Hibernate92.3.3 Struts2102.4 JFreeChart122.5 Problems&Solution152.5.1 JFreeChart Chinese Garbled152.5.2 JFreeChart Packages Conflict152.5.3 JFreeChart Associate with Struts215Chapter3 Main Design193.1 Summury193.1.1 Fuction193.1.2 Running Environment203.1.3 Development Environment203.2 Design View223.2.1 Struture View223.2.2 Key Technologies&Methods233.2.3 Key Data Structure233.3 Artifical Proceed Program26Chapter4 Summury Design274.1 Summury274.2 Function274.2.1 Year Season Report.274.2.2 Year Month Report284.2.3 Year Merch Type Report304.3 Data Structure Design324.3.1 Data Structure Description324.3.2 Relation between Data Strucuture and System364.4 Interface Design364.4.1 Internal Interface Design364.4.2 External Interface Design37第5章 Detail Design&Implementation395.1 Summury395.2 Packages&Classes Design395.3 Function415.3.1 Year Season Report415.3.2 Year Month Report465.3.3 Year Merch Type Report505.4 Interface Design555.4.1 Internal Interface Design555.4.2 External Interface Design565.5 Runing Design565.5.1 System Initialiation575.5.2 Running Control575.5.3 System End59Chapter6 Test&Analysis616.1 Summury616.2 Test Case616.2.1 View Test616.2.2 Function Test636.2.3 Exception Test666.3 Exception&Error Design666.4 Maintain Design67第7章 Conclusion697.1 Conclustion697.2 Future Work70References71Acknowledgement7373第7章总结与展望第1章 绪论1.1 项目背景纽新服饰有限公司是一家从事服装和鞋类等纺织产品的贸易的跨国有限公司,其产品主要为体育运动产品,并为很多知名品牌提供代工。随着业务扩大需求,扩展公司电子商务业务,厦门大学软件学院应厦门纽新分公司的需求,为纽新厦门分公司开发电子商务平台-纽新网络直销店。纽新网络直销店按功能划分的预留模块如图1-1所示。图 11 纽新网络直销店主要预留模块Web报表作为纽新网络直销店的其中一个功能模块。将动态图形报表技术运用到Web报表模块中,其具有一定的难度,并且作为毕业设计项目具有实际的应用意义,能为纽新网络直销店的用户提供动态的图形报表功能,能够快速直观的了解纽新网络直销店的营业情况。于是本次毕业设计将依托于纽新网络直销店项目进行,针对其中订单管理模块完成动态图形报表的设计与实现。1.2 Java图形报表技术的发展历史和现状自从早期Java语言出现到现在,图形和用户界面功能已取得了飞跃式的发展。Java2平台包含了复杂的跨平台的用户界面体系结构,它包括众多的高级组件、一个先进、功能丰富且独立于设备的图形系统和许多多媒体扩展。在Java2平台发行之前,AWT(Abstract Window Toolkit, 抽象工具包)是Java平台图形功能的范围。例如Swing等各种技术都是作为可选的扩展引入的。在Java2平台上,大部分扩展都可以在平台的核心找到一席之地,成为Java基础类(Java Foundation Classes, JFC)的一部分。JFC指的是包含在Java2平台内的一整套图形和用户界面技术,包括AWT和Swing等,其核心是Swing。AWT的最大缺点是相同的Java应用程序在每个平台上都有不同的外观。在Java2平台之前,语言中的图形功能相当简单,仅限于单像素厚度的实线。少数几个几何图形(如椭圆、弧和多边形)和基本的画图功能。随着Java2D API的出现,所有的一切都改变了。Java2D API的核心是由java.awt.Graphics2D类提供的,该类是java.awt.Graphics的一个子类。API的其他部分由java.awt层次结构中的其他包提供,包括java.awt.color、java.awt.font和java.awt.geom。AWT的后续版本进行了很大改进,可以绘制漂亮的2D图形。当前比较流行的图形技术有JFreeChart、Cewolf、jCharts等,报表技术有iReport、JasperReports、Eclipse Birt、JFreeReport、OpenReports等。1.3 研究意义网络直销店动态图形报表的设计与实现,作为此次毕业设计的课题,是具有一定的研究意义的。首先,本次项目完全使用开源技术,所以在开发过程中可以不必担心其中的技术专利问题,可以和其他开发人员深入进行技术交流,从而有利于提高在开发人员的技术的学习和实践能力。通过此次项目还可以为将来类似项目提供一定的参考经验。其次,将动态图形报表技术运用到纽新网络直销店的Web报表模块,从商业角度上具有实际运用意义,通过其数据动态性以及以图形直观表达,可以帮助用户更好地了解企业的运营状况。最后,将网络直销店的动态图形报表技术设计与实现作为毕业设计题目,其具有一定的难度,可以达到考察和锻炼学生的学习和实践能力。1.4 设计目标网络直销店动态图形报表的设计与实现,将本次毕业设计课题实际运用到纽新网络直销店中的Web报表模块,其设计目标主要包括:首先,在Web报表中实现将报表图形化,即以图形图像的方式向用户展示报表信息,以达到方便用户获取和比较报表信息的目的。其次,对于所有要求在Web报表中的展示的报表的数据进行动态化,即满足报表中的数据能随数据库中数据的实时变化而变化,以达到及时更新的目的。最后,网络直销店动态图形报表的设计和实现过程中和完成后,必须满足实现和纽新网络直销店的其他功能模块进行无缝连接,包括在技术框架和运行环境等方面,需要保持兼容一致。第2章 业务模型与主要技术介绍2.1 概述本章将介绍纽新网络直销店中Web报表的业务建模和实现动态图形报表的主要技术。如图1-1所示,Web报表面向纽新网络直销店的订单管理模块,所以进行业务模型建模时将面向订单管理模块的需求展开。而其中所采用的主要技术有SSH框架技术和JFreeChart图形报表技术。2.2 业务模型纽新网络直销店的订单管理模块主要负责纽新网络直销店买卖销售而产生的订单管理工作,主要包括订单的增删改、订单查询、订单追踪等。在订单管理模块中频繁涉及关于纽新网络直销店的营业额、销售量、利润和商品信息等重要信息。为了让用户了解纽新网络直销店的营业状况,反映直销店的经营情况,Web报表将动态地抽取订单管理中的关键信息做报表处理,并且以图形图像的方式展示。这些报表有营业额、销售量和利润的年季度报表、年月度报表和年商品类型报表。如图2-1所示:图 21 纽新网络直销店订单管理图形报表一览对于纽新网络直销店的每一张图形报表,需要满足具有查看、导入、导出和打印的功能,如图2-2所示。图 22 图形报表用例图2.3 SSH框架在软件架构设计中,我们往往建立软件系统的高层结构,常常用到分层架构模式。大部分的Web应用在职责上至少能分4层:表示层、持久层、业务层和域模块层。每个层明确各自功能、相互独立、通过通信接口相互联系。SSH是时下当今最流行的框架技术之一,SSH为这三种框架英文名的第一次字幕的缩写,分别为取Struts、Spring和Hibernate这三种技术的英文名的首字母。SSH这种开源框架策略,表示层用Struts,业务层用Spring,而持久层用Hibernate,如图2-3。在表示层,Struts负责管理用户的请求,做出相应的相应;提供一个流程控制器,委派调用业务逻辑和其他上层处理;处理异常;为显示提供一个数据模型;用户界面验证。在持久层,Hibernate负责如何查询对象的相关信息;如何存储、更新、删除数据库记录;支持数据库、表关系、事务处理、继承和多态。在业务层,Spring负责处理应用程序的业务逻辑和业务校验;管理事务;提供与其他层相互作用的接口;管理业务层级别的对象的依赖;在表示层和持久层之间增加一个灵活的机制,使得他们不直接联系在一起;通过揭示从表示层到业务层之间的上下文来得到业务逻辑;管理程序的执行。图 23 SSH架构2.3.1 SpringSpring是一个开源框架,是为解决企业应用程序开发复杂性而创建。Spring框架是一个分层架构,由7个定义好的模块组成,如图2-4。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方式。如图2-4所示。组成Spring框架的每个模块或组件都可以单独存在,或者与其他的一个或多个模块联合实现。每个模块的功能如下:核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。Spring上下文:Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。Spring AOP:通过配置管理特性,Spring AOP模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任务对象支持AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。Spring DAO:JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地减低了需要编写的异常代码数量。Spring DAO的面向JDBC的异常遵从通用的DAO异常层次结构。Spring ORM:Spring框架插入了若干个Object/Relation Mapping框架,从而提供了ORM的对象关系映射工具,其中包括JDO、Hibernate和iBatis SQL Map.所有这些都遵从Spring的通用事务和DAO异常层次结构。Spring Web模块:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以Spring框架支持与Jakarta Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象工作。Spring MVC框架:MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略借口,MVC框架便成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、Velocity、Tiles、iText和POI。图 24 Spring框架的7个模块Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理环境。Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。到2010年6月1日止,Spring最新版本为3.0.2,而本次毕设所采用的Spring版本为2.5,至于新旧版本差异以及新版本新特性,本论文不做介绍。Spring主页:/2.3.2 HibernateHibernate是一个开放源代码的对象关系映射框架,一个面向Java环境的对象/关系数据库映射工具。它对进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。 Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。图 25 Hibernate全面解决体系到2010年6月1日止,Hibernate的最新版本为3.5.2 ,本次毕业设计采用的版本为3.2,至于新旧版本差异以及新版本新特性,本论文不做介绍。Hibernate主页:/2.3.3 Struts2Struts是由Craig McClanahan在2001年发布的Web框架。经过多年的验证。目前,Struts推出2.0版本的全新框架,改进了Struts1的一些主要不足。Struts框架是MVC设计模式的一个具体实现,所谓的MVC模式,即模型-视图=控制器(Model-View-Controller)模式。Struts的体系结构实现了Model-View-Controller设计模式的概念,它将这些概念映射到Web应用程序的组件和概念中。在控制器层,与Struts1使用的ActionServlet作为控制器不同,Struts使用了Filter技术,FilterDispatcher是Struts框架的核心控制器,该控制器负责拦截和过滤所有的用户请求。如图2-6。在显示层,Struts2框架改变了Struts1只能使用JSP作为视图技术的现状,它允许使用其他的视图技术,如FreeMarker等。Struts显示层包括了一个便于创建用户界面的定制标记库。模型层值得是后端业务逻辑处理,它会被Action调用来处理用户请求。当控制器需要获得业务逻辑组件实例时,通常并不会直接获取业务逻辑组件实例,而是通过工厂模式来获得业务逻辑组件实例;或者利用其他的IoC容器(如Spring容器)来管理业务逻辑组件的实例。图 26 Struts2的体系概图Struts2的工作流程是WebWork的升级,而不是Struts1的升级,其工作流程步骤如下:浏览器发送请求。核心控制器FilterDispatcher根据请求决定调用合适的Action。WebWork的拦截器链自动对请求应用通用功能。回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种业务操作,既可以将数据保存到数据库,也可以从数据库中检索信息。实际上因为Actin只是一个控制器,它会调用业务逻辑组件来处理用户的请求。Action的execute方法处理结果信息将输出到浏览器中,可以是HTML页面、图像,也可以是PDF文档或者其他文档。到2010年6月1日止,Struts最新版本为,本项目采用的Struts版本为2.1.6,至于新旧版本差异以及新版本新特性,本论文不做介绍。Struts主页:/2.4 JFreeChartJFreeChart是Java平台上最常用的一种开源的Web图形技术,它完全使用Java语言编写,主要采用AWT包作为图形显示的后台支持,在新版本中,也采用Swing来完成一些更高级的图表功能。支持的图形种类广泛,例如柱状图、曲线图、时序图、饼图、甘特图、区域图、财政图表、仪表图和组合图等。并且开源在现有图形中非常容易地进行扩展,开发其他所需的图形,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联,由于其易用性和功能的强大,在Java开发社区备受好评。JFreeChart是JFreeChart公司在开源网站上SourceF上的一个项目,该公司的主要产品有JfreeReport(报表解决工具)、JfreeChart(Java图形解决方案)、Jcommon(JFreeReport和JFreeChart的公共类库)、JFreeDesigner(JFreeReport的报表设计工具)。JFreeChart主页:/jfreechart。到2010年6月1日止,JFreeChart当前的最新版本为1.0.13,而本次采用的JFreeChart版本为1.0.6,至于新旧版本差异以及新版本新特性,本论文不做介绍。表 21 JFreeChart 包结构及描述信息包名描述org.jfree.chart包括JFreeChart类库的主要类和接口以及所有重要的JFreeChart类org.jfree.chart.axis包括所有轴类上的一些混合的类和接口org.jfree.chart.labels包括用来在图标中产生单独数据标签的类和接口org.jfree.chart.plot包括Plot基类、Plot的子类,在控制JFreechart中数据的显示起关键作用org.jfree.chart.renderer包括用来实现渲染的一些类org.jfree.chart.renderer.category包括用来为了实现CategoryPlot类的着色器而加的类和接口org.jfree.chart.renderer.xy包括用来实现XYPlot类的着色器而加的类和接口org.jfree.chart.title包括用来创建图表的标题或子标题的类。org.jfree.chart.urls包括HTML的图像地图产生的URL生成的支持类org.jfree.data包括JFreeChart使用数据集的类和接口图 27 时序图数据集的类图JFreeChart的核心类包括各种数据集(dataset)、图形(plot)、渲染器(renderer)、轴(axis)、和标题(title)等。通过表2-1、图2-7、图2-8、图2-9初步了解JFreeChart的几个核心类。图 28 柱形图数据集的类图图 29 图形Plot的数据集的类图2.5 可能出现的问题及解决方法2.5.1 JFreeChart中文乱码问题在使用JFreeChart进行图形报表开发中,图形报表中的中文可能出现乱码,其原可能因在于服务器缺少相应的中文字体,此外由于不同版本的JFreeChart对于中文字符的默认字体设置不不同的,经实践发现由于JFreeChart1.0.10以后版本的中文字符默认字体为SansSerif,而很多中文系统中是没有这个字体的,所以导致出现了乱码。所以,对于这个问题可采用以下方法解决:降低JFreeChart版本,使用JFreeChart1.0.10或之前的版本;在出现乱码之后,重新定义相应位置的中文字符的字体,修改为系统中已有的字体;修改JFreeChart源代码关于中文字符默认字体的设置改为系统已有的字体,重新打包,可达到一劳永逸。2.5.2 JFreeChart组件包冲突问题在实现JFreeChart和SSH2框架技术整合的过程中,可能有一些错误和异常时由于导入了JFreeChart中gnujaxp.jar造成了,导致了和Spring或者Struts的一些包冲突,其原因在于gnujaxp.jar和Tomcat自带的另一个包冲突,而在gnujaxp.jar存在的情况下,Tomcat会调用gnujaxp.jar去解析XML文件,从而导致后续的一些异常。由于gnujaxp.jar不是JFreeChart的核心组件包,其有无不会影响JFreeChart图形报表的生成和处理,故在遇到此类问题之时,删除gnujaxp.jar重新部署即可。2.5.3 JFreeChart与Struts结合的两种方法在JFreeChart与SSH2框架整合的过程中,其最主要的也是最关键的在于JFreeChart与Struts2的整合,经过收集资料学习和实践,大体有以下两种方法:在相应用户操作之后,报表引擎将生成的图形报表文件以二进制数据的方式直接发送到用户的浏览器,浏览器解析后,直接在用户的浏览器上显示。使用struts2-Jfreechart-plugin.jar。这个组件包是Strut2专门用来处理和JfreeChart的整合,其中已经封装了其中包括JfreeChart-default继承Struts-default等的处理细节,在引用了这个包之后,便可以在Struts的配置文件中,使用action返回结果为chart的对象,并且修改返回的图形报表的长宽属性,默认情况下,长为200px,高为150px。注意:在使用struts2-Jfreechart-plugin.jar之前,要先确认其配置文件Struts-plugin.xml是否有配置正确,如表2-2,如修改后重新打包即可。表 22 struts-plugin.xml 150 200 另外一种方法,即在相应用户操作之后,报表引擎先将生成的临时图形报表文件存放在服务器的某个目录下,并且给予规范命名,之后向用户的浏览器发送该图形报表文件的文件名和URL地址,在浏览器中显示,在请求结束后销毁。这种方法无需使用Struts-JfreeChart-plugin.jar,其Struts的配置文件的编写方式,action返回结果与一般Struts2配置文件无异。但是必须修改web.xml文件,如表2-3。表 23 web.xml DisplayChart org.jfree.chart.servlet.DisplayChart DisplayChart /DisplayChart其中org.jfree.chart.servlet.DisplayChart是JfreeChart中负责控制图形传输显示的一个类。第3章 总体设计3.1 概述本章将介绍纽新网络直销店动态图形报表的总体设计,内容包括:功能描述、运行环境、开发环境、设计思想和人工处理过程等内容。3.1.1 功能描述Web报表作为纽新网络直销店的其中一个预留模块,将面向其中的订单管理模块,以满足用户了解网络直销店的经营情况,从而更好地管理和制定其市场销售策略,帮助企业发展。网络直销店动态图形报表将基于Web报表中,为其提供动态图形报表服务,所包含的报表有:营业额的年季度报表、销售量的年季度报表、利润的年季度报表、营业额的年月度报表、销售量的年月度报表、利润的年月度报表、营业额的年商品类型报表、销售量的年商品类型报表和利润的年商品类型报表,实现报表内容的交叉,如图3-1。图 31 Web报表交叉内容此外,动态图形报表指在实现报表数据的动态化以及报表的图形图像化,让用户可以即时直观的获取和比较报表信息,如图3-2。最后,对于每一张图形报表的订单报表。在生成查看报表之外,用户可通过自己的选择,选择导出导入报表和打印报表的功能,从而满足符合系统功能的一体化。图 32 动态图形报表实现目标3.1.2 运行环境服务器的硬件环境配置要求如表3-1所示:表 31 服务器硬件环境配置名称配置描述信息CPUIntel(R) Core(TM)2 Q8200内存2G容量硬盘80G容量服务器的软件环境配置要求如表3-2所示:表 32 服务器软件环境配置分类名称版本语种操作系统Windows 2003Server中文数据库MySQL5.1英文应用服务器Tomcat6.0.18英文工具包JDK1.6英文3.1.3 开发环境开发要求的硬件环境配置要求如表3-3所示:表 33 开发环境硬件配置名称配置描述信息CPUIntel(R) Core(TM)2 Q8200内存2G容量硬盘80G容量开发要求的软件环境配置要求如下所示:表 34 开发环境软件配置分类名称版本语种操作系统Windows XPSP3中文数据库MySQL5.1英文应用服务器Tomcat6.0.18英文工具软件MyEclipse6.5英文工具软件MicrosoftVisio2003中文工具软件PowerDesigner12英文工具软件StartUML5.0.2英文工具软件MySQL-Front5.1中文工具软件DreamweaverCS4中文工具软件IE6.0/7.0/8.0中文工具软件FireFox3.6中文工具包Struts2.1.6英文工具包Hibernate3.2英文工具包Spring2.5英文工具包JFreeChart1.0.6英文工具包JDK1.6英文3.2 设计思想3.2.1 系统构思在确定开发平台和运行环境之后,本次设计将使用开源技术进行Java Web的报表开发,包括开源的SSH框架技术和开源的JFreeChart的图形报表技术。在SSH框架上,由Spring负责完成业务层的处理,由Struts负责完成表示层的处理,由Hibernate负责完成持久层的处理,如图3-3。关于报表的生成处理,则有图形报表引擎JFreeChart来处理,并将处理完成后的图形报表提交给Struts处理表示。至于界面和页面的表现处理,则由Html+CSS+JavaScript和JSP技术完成,同时在页面上由用户的误操作所造成的异常的错误也由JavaScript进行处理,将这部分异常和错误处理的压力与用户分担,以减少系统运行负担。而系统内部错误则由系统内部的Exception异常处理机制处理。图 33 系统构思3.2.2 关键技术和算法本次毕业设计项目中的关键技术为SSH框架技术以及JFreeChart图形报表技术,此外包括常用的Java基础技术以及在Web开发界面处理上常用的Htm、CSS、JavaScript和JSP技术。其中JFreeChart图形报表的技术关键在于数据集的构建上,由于不同的图形需要使用不同类型的数据集,所以通过在Service获取到所需的数据之后,需要根据显示的不同方式的图表构建不同类型的数据集以生成不同方式的图形图表。此外,在生成所需的报表对象之后,如何整合Struts框架使得生成的图形图表在页面上成功显示也是一个关键所在。本设计使用了Struts的扩展功能,具体介绍可参照 JFreeChart与Struts结合的两种方法。在业务逻辑的处理过程中,为了要获取报表信息,需要有很多对数据库的查询、选择、计算等操作。当数据库的数据量较大时,在对数据库的数据进行查询计算时,选择合适的算法将会有助于提供数据的处理效率,从而提供系统的运行效率。此外,在数据库的设计方面,通过建立索引,触发器,编写存储过程也将会提高数据持久化层数据的处理效率。3.2.3 关键数据结构本次毕业设计Web报表将针对于纽新项目中的订单销售管理模块,所以订单描述以及订单明细的数据结构自然是其中最关键最重要的数据结构,有必要了解清楚订单描述和订单明细数据结构的每一个属性意义,属性间的关系,以及数据结构之间的关系。系统设计的数据结构主要在于表的数据结构,表3-5,表3-6为关键的两张表的数据结构:表 35 OrderDescription订单描述表属性类型长度主外键是否为空备注IdInt(11)PKN无意义orderDes_invoiceDesIDInt(11)FKN发票描述表idorderDes_administorIDInt(11)FKN下单员信息表idorderDes_recieverInfIDInt(11)FKN收货人信息表idOrder_UserIDInt(11)FKN用户idOrder_destributionIDInt(11)FKN配送信息表idOrder_paymentIDInt(11)FKN配送方式表idcreatTimedatetimeN订单创建时间totalAmountdoubleN总金额merchesAmountDoubleN商品金额delive
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46148-2025电动汽车智能充放电设备技术规范
- 养护安全培训工作总结课件
- 养小鸭的课件
- 初级焊工培训安全记录课件
- 化学药剂使用安全培训课件
- 化学安全知识培训总结课件
- 化学安全培训题库课件
- 创建无烟单位签到课件
- 化学品安全培训演练医院课件
- 先抑后扬写作讲评课件
- 2025劳动合同书(示范文本)
- 绳索在消防领域的技术革新-全面剖析
- 慢阻肺护理新进展
- 中秋节知识课件
- 110kV变电站及110kV输电线路运维投标技术方案
- 人教版(新教材)高中生物选择性必修1课件3:4 3 免疫失调
- 《SLT 582-2025水工金属结构制造安装质量检验检测规程》知识培训
- “燕园元培杯”2023-2024学年全国中学生地球科学奥林匹克竞赛决赛试题详解
- 中国血脂管理指南(基层版+2024年)解读
- 分子诊断技术在感染性疾病中的应用-深度研究
- 《智能AI分析深度解读报告》课件
评论
0/150
提交评论