1、 本 科 毕 业 设 计 论 文 网络直销店动态 图形 报表的设计与实现 Design and Implementation of the Dynamic Chart Report in Network Outlet 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 指导教师: 教授 年 月 I 摘 要 互联网技术的飞速发展给人们的生活带来了巨大的便利,同时更高要求地促使了针对互联网开发 的技术革命。在 Web 系统开发中,面向 BS 架构的开发越来越受到用户和开发人员的欢迎。 报表是企业的 一项 基本业务 和信息要求,它 可以帮助企业访问 和 格式化数据 。通过
2、这些数据信息,使用户可以 深入洞察企业运营状况 。 而图形报表则以直观易懂的方式,让用户可以方便的获取和比较这些数据信息。 当前很多人们通过计算机 软件编辑报表,包括处理数据和界面设计。但是它们没有定义专门的报表结构来动态加载报表数据,所以数据都是定义好的,静态的,用户只能修改数据或者修改格式。而动态报表则在于实现报表数据的动态加载,实现报表数据的动态化特征。 本次毕业设计将结合纽新网络直销店项目,根据需求,应用动态图形报表 等技术,完成网络直销店动态图形报表的设计与实现。 本毕业设计将是 基于 Web的 环境下 Java 开发,采用开源的 SSH 框架和 JFreeChart 图形报表技术进
3、行设计开发,达到在跨平台通用兼容下,为纽新网络直销店 用户提供动态图形报表服务 ,让用户可以快速、准确、便捷、直观、动态的获取报表信息。 所以,本次毕业设计学习和实践动态图形报表是有实际项目的运用意义的。 关键字 : 动态图形 报表; SSH; JFreeChart II Abstract The fast development of Internet technologies have brought great convenience for humens life and promote the evolution of the Internet development at the
4、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 d
5、eeply. 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
6、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 s
7、o 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 c
8、an 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 III 目 录 第 1 章 绪论 . 1 1.1 项目背景 . 1 1.2 Java 图形报表技术的发展历史和现状 . 2 1.3 研究意义 . 2 1.4 设计目标 . 3 第 2 章 模型及主要技术介绍 .
9、5 2.1 概述 . 5 2.2 SSH 框架 . 6 2.2.1 Spring. 7 2.2.2 Hibernate. 9 2.2.3 Struts2. 10 2.3 JFreeChart. 12 2.4 可能出现的问题及解决方法 . 15 2.4.1 JFreeChart 中文乱码问题 . 15 2.4.2 JFreeChart 组件包冲突问题 . 15 2.4.3 JFreeChart 与 Struts 结合的两种方法 . 15 第 3 章 总体设计 . 19 3.1 概述 . 19 3.1.1 功能描述 . 19 3.1.2 运行环境 . 20 3.1.3 开发环境 . 20 3.2
10、设计思想 . 22 3.2.1 系统构思 . 22 3.2.2 关键技术和算法 . 23 3.2.3 关键数据结构 . 23 3.3 人工处理过程 . 26 第 4 章 概要设计 . 27 4.1 概述 . 27 4.2 系统功能设 计 . 27 4.2.1 年季度报表 . 27 4.2.2 年月度报表 . 28 4.2.3 年商品类型报表 . 30 4.3 系统数据结构设计 . 32 4.3.1 数据结构说明 . 32 4.3.2 数据结构与系统元素的关系 . 36 4.4 接口设计 . 36 4.4.1 内部接口设计 . 36 4.4.2 外部接口设计 . 37 IV 第 5 章 详细设计
11、及实现 . 39 5.1 概述 . 39 5.2 系统包和类结构设计 . 39 5.3 系统功能设计 . 41 5.3.1 年季度报表 . 41 5.3.2 年月度报表 . 46 5.3.3 年商品类型报表 . 50 5.4 接口设计 . 55 5.4.1 内部接口设计 . 55 5.4.2 外部接口设计 . 56 5.5 系统运行设计 . 56 5.5.1 系统初始化 . 57 5.5.2 运行控制 . 57 5.5.3 系统结束 . 59 第 6 章 实验结果及分析 . 61 6.1 概述 . 61 6.2 测试用例 . 61 6.2.1 界面测试 . 61 6.2.2 功能测试 . 63
12、 6.2.3 容错测试 . 66 6.3 系统出错处理设计 . 66 6.4 系统维护设计 . 67 第 7 章 总结与展望 . 69 7.1 论文总结 . 69 7.2 工作展望 . 70 参考文献 . 71 致 谢 . 73 V Contents Chapter1 Introducation . 1 1.1 Background. 1 1.2 Java Chart Report Technology Development . 2 1.3 Meaning . 2 1.4 Target . 3 Chapter2 Model&Technologies. 5 2.1 Summury . 5 2.
13、2 Bussiness Model . 5 2.3 SSH Frame . 6 2.3.1 Spring. 7 2.3.2 Hibernate. 9 2.3.3 Struts2. 10 2.4 JFreeChart. 12 2.5 Problems&Solution . 15 2.5.1 JFreeChart Chinese Garbled. 15 2.5.2 JFreeChart Packages Conflict. 15 2.5.3 JFreeChart Associate with Struts2. 15 Chapter3 Main Design. 19 3.1 Summury . 19
14、 3.1.1 Fuction. 19 3.1.2 Running Environment. 20 3.1.3 Development Environment. 20 3.2 Design View . 22 3.2.1 Struture View. 22 3.2.2 Key Technologies&Methods. 23 3.2.3 Key Data Structure. 23 3.3 Artifical Proceed Program . 26 Chapter4 Summury Design . 27 4.1 Summury . 27 4.2 Function . 27 4.2.1 Yea
15、r Season Report. 27 4.2.2 Year Month Report. 28 4.2.3 Year Merch Type Report. 30 4.3 Data Structure Design . 32 4.3.1 Data Structure Description. 32 4.3.2 Relation between Data Strucuture and System. 36 4.4 Interface Design . 36 4.4.1 Internal Interface Design. 36 VI 4.4.2 External Interface Design.
16、 37 第 5 章 Detail Design&Implementation . 39 5.1 Summury . 39 5.2 Packages&Classes Design . 39 5.3 Function . 41 5.3.1 Year Season Report. 41 5.3.2 Year Month Report. 46 5.3.3 Year Merch Type Report. 50 5.4 Interface Design . 55 5.4.1 Internal Interface Design. 55 5.4.2 External Interface Design. 56
17、5.5 Runing Design . 56 5.5.1 System Initialiation. 57 5.5.2 Running Control. 57 5.5.3 System End. 59 Chapter6 Test&Analysis . 61 6.1 Summury . 61 6.2 Test Case . 61 6.2.1 View Test. 61 6.2.2 Function Test. 63 6.2.3 Exception Test. 66 6.3 Exception&Error Design . 66 6.4 Maintain Design . 67 第 7 章 Con
18、clusion . 69 7.1 Conclustion . 69 7.2 Future Work . 70 References . 71 Acknowledgement . 73 第 1 章 绪论 1 第 1章 绪论 1.1 项目背景 纽新服饰有限公司是一家从事服装和鞋类等纺织产品的贸易的跨国有限公司,其产品主要为体育运动产品,并为很多知名品牌提供代工。随着业务扩大需求 ,扩展公司电子商务业务,厦门大学软件学院应厦门纽新分公司的需求, 为纽新厦门分公司开发电子商务平台 -纽新网络直销店 。纽新网络直销店按功能划分的预留模块如图 1-1 所示。 纽 新 网 络 直 销 店商城论坛库存管理活动
19、管理用户管理订单管理W e b 报 表图 1-1 纽新网络直销店 主要 预留模块 Web 报表 作为纽新 网络直销店 的其中一个 功能模块。将动态图形报表技术运用到 Web 报表模块中, 其 具有一定的难度 ,并且 作为毕业设计项目具有实际的应用意义,能为纽新网络直销店 的用户提供 动态的图形报表 功能, 能够快速直观的了解纽新网络直销店的营业情况。 于是本次毕业设计将依托于纽新网络直销店项目进行, 针对其中 订单 管理模块 完成动态图形报表的设计与实现。 网络直销店动态图形报表的设计与实现 2 1.2 Java 图形报表技术的发展历史和现状 自从早期 Java 语言出现到现在,图形和用户界面
20、功能已取得了飞跃式的发展。 Java2 平台包含了复杂的跨平台的用户界面体系结构,它包括 众多的高级组件、一个先进、功能丰富且独立于设备的图形系统和许多多媒体扩展。 在 Java2 平台发行之前, AWT( Abstract Window Toolkit, 抽象工具包)是 Java平台图形功能的范围。例如 Swing 等各种技术都是作为可选的扩展引入的。 在 Java2 平台上,大部分扩展都可以在平台的核心找到一席之地,成为 Java基础类( Java Foundation Classes, JFC)的一部分。 JFC 指的是包含在 Java2 平台内的一整套图形和用户界面技术,包括 AWT
21、和 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.
22、geom。 AWT 的后续版本进行了很大改进,可以绘制漂亮的 2D 图形。 当前比较流行的图形技术有 JFreeChart、 Cewolf、 jCharts 等,报表技术有 iReport、 JasperReports、 Eclipse Birt、JFreeReport、 OpenReports 等。 1.3 研究意义 网络直销店动态图形报表的设计与实现 , 作为此次毕业设计的课题,是具有一定的研究意义的。 首先 ,本次项目完全使用开源技术,所以在开发过程中可以不必担心其中的技术专利问题,可以和其他开发人员深入进行技术交流,从而有利于提高在 开发人员的技术的学习和实践能力。通过此次项目还可以为
23、将来类似项目提供一定的参考经验 。 其次, 将动态图形报表技术运用到纽新网络直销店的 Web 报表模块,从商业角度上具有实际运用意义,通过其数据动态性以及以图形直观表达,可以帮助第 1 章 绪论 3 用户更好地了解企业的运营状况 。 最后, 将网络直销店的动态图形报表技术设计与实现作为毕业设计题目,其具有一定的难度,可以达到考察和锻炼学生的学习和实践能力 。 1.4 设计目标 网络直销店动态图形报表 的设计与实现 , 将本次毕业设计课题实际运用到纽新网络直销店中的 Web 报表模块, 其 设计 目标主要包括: 首 先, 在 Web 报表中实现将报表图形化,即以图形图像的方式向用户展示报表信息,以达到方便用户获取和比较报表信息的目的。 其次, 对于所有要求 在 Web 报表中的 展示的报表的数据进行动态化,即满足报表中的数据能随数据库中数据的实时变化而变化,以达到及时更新的目的。 最后, 网络直销店动态图形报表的设计和实现过程中和完成后,必须满足实现和纽新网络直销店的其他功能模块进行无缝连接,包括在技术框架和运行环境等方面,需要保持兼容一致。