




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学毕业设计(论文)用纸基于B/S的企业报表管理系统摘 要随着计算机应用的发展,信息技术在企业中发挥着越来越重要的作用。要在现代社会激烈的企业竞争中处于不败之地,就必须不断加强内部管理,加强信息化建设。报表是展现交易数据的主要形式,为企业管理者提供决策依据。因此,报表管理系统正在成为企业管理的中心和重心。目前市场上大多数的报表管理系统基于C/S架构,数据库连接源单一,不可跨平台同时连接多个数据库,这大大降低了报表系统的灵活性。基于B/S的企业报表管理系统的设计是为了减轻客户端的负担,减少系统的维护量。系统主要使用Java EE、Oracle 11g技术,搭载Tomcat 5.5 服务器,在Eclipse Kepler开发环境中实现。设计采用MVC框架,具有良好的可重用性。在报表设计上,集成Jasper report报表生成引擎,将报表模板设计与报表数据填充相分离,大大增强了报表的灵活性。报表管理系统分为三大模块:基础信息、交易记录和生成报表。本文依照软件工程的思想,从需求分析、数据库设计、总体设计、详细设计到系统实现等方面进行了详细的描述。关键词:报表管理系统;B/S架构;MVC模式; Jasper Report;全套设计加扣 3012250582Enterprise Proposal Report Management System Based On B/SAbstract With the development of computer applications, information technology plays an increasingly important role in enterprises. To be in an invincible position in the fierce business competition in the modern society, the enterprise must continue to strengthen internal management and information construction. Report is a main form to show transaction data for enterprise managers to provide a basis for decision. Therefore, report management systems are becoming the center of business management. Currently on the market, most of the report management systems are based on C/S (Client-Server model), connected limited database source and could not connected with different databases in several cross platform, which hardly meet the needs of users. The design for Enterprise Proposal Report Management System based on B/S is to reduce the burden on clients and the amount of maintenance on servers. This system mainly uses Java EE, Oracle 11g technology. Run on Tomcat 5.5 server , it is developed in Eclipse Kepler development environment. For the report part, report generation engine Jasper Report is integrated, separating the report template design and report data filling phase, greatly enhancing the flexibility. Report management system is divided into three modules: basic information, transaction records and generate reports. This thesis is in accordance with the idea of software engineering. It contains requirements analysis, database design, system framework and detailed design comprehensively. Key Words: report management system; B/S; MVC; Jasper Report;iii目 录摘 要iAbstractii1. 绪论11.1 研究背景11.2 文献综述11.2.1 研究背景及动态11.2.2 企业管理报表系统21.2.3 结论61.3 论文的主要内容和特色62. 相关技术介绍72.1 Java简介72.1.1 Java72.1.2 Java环境配置82.1.3 Java EE82.2 Oracle简介82.2.1 Oracle概览82.2.2 Oracle 11g新特性92.3 MVC框架102.4 JSP技术112.5 DAO技术122.6 Service层简介122.7 Jasper Report简介123. 需求分析133.1 系统功能分析133.2 系统性能分析153.3 系统结构图154. 数据库设计164.1 数据库概要164.2 数据库结构设计174.3 数据库表174.3.1 职工表174.3.2 部门表184.3.3 材料表184.3.4 产品表194.3.5 供应商表194.3.6 材料采购表204.3.7 产品生产表204.3.8 产品销售表215. 总体设计225.1 系统流程图225.2 系统模块组织图235.3 模块功能表236. 详细设计与系统实现286.1 登录模块286.1.1 模块描述286.1.2 代码描述 296.2 查看职工信息模块296.2.1 模块描述296.2.2 代码描述306.3 添加职工模块326.3.1 模块描述326.3.2 代码描述336.4 添加材料采购模块346.4.1 模块描述346.4.2 代码描述356.5 添加产品生产模块376.5.1 模块描述376.5.2 代码描述376.6 添加产品销售模块396.6.1 模块描述396.6.2 代码描述406.7 生成订购报表416.7.1 模块描述416.8 Jasper report系统集成446.8.1 Jasper Report原理446.8.2 系统与Jasper Report的连接45结论51参考文献52致 谢53附录54外文资料54中文译文611. 绪论1.1 研究背景企业一般是指以盈利为目的,运用各种生产要素,向市场提供商品或服务的社会组织,它涉及到国民经济的各个方面。因此,很多国家,特别是发达国家把定制企业发展战略列为重中之重。企业经营的好坏,在很大程度上取决于企业管理的好坏,而企业管理的好坏关键又在于财务管理。可见,财务管理的决策在企业管理中具有重要作用,企业应该提高财务管理的决策的科学性。报表是展现交易数据的主要形式,为企业管理者提供了决断的依据,大大简化了财务管理的工作量。因此,报表管理系统正在成为企业管理的中心和重心。随着信息技术的不断进步,信息化在企业管理中的作用正逐步被人们所认知。实时的数据采集和网状的信息传递结构彻底改变了数据的生成方式和以往的线性传递模式,从而大大提高了企业管理信息的效能。信息使用效率的提高,则可以大大缩短决策时间,加快企业对环境变化的反应速度。因此,未来企业竞争实力将不取决于企业的规模,而取决于企业的数据传递速度和信息的整合能力。报表在信息传递中具有非常重要的作用,企业内部的报表信息化是必然的。管理者能够通过报表提供的信息来分析企业经营情况、把握市场需求变化、从而对未来的发展形势作出正确预测。1.2 文献综述1.2.1 研究背景及动态企业是将原始资源(物料、能源、设备工具、资金、技术、信息和人力等)通过生产过程转化为可供人们使用和利用的工业品或生活消费品的部门,它涉及到国民经济的各个行业。因此,很多国家,特别是发达国家把制定企业发展战略列为重中之重。中国在多年改革开放和市场经济的发展下,企业的管理水平有了一定的提高,但是随着世界经济一体化、全球化局面的出现,以及中国加入WTO,我们的企业面临着前所未有的竞争压力。目前,市场中企业竞争日趋激烈,市场瞬息万变,产品的生命周期不断缩短,要在这种竞争激烈的市场中立于不败之地,企业必须加强内部管理,改进现有的统计手段,利用客户数据资料的查询分析快速响应市场的变化并作出正确的决策。随着企业信息化的不断深入,在企业建立覆盖整个内部的财务数据管理平台已成为历史的必然。财务数据管理系统将为企业的财务数据管理、信息公开、管理提供必要的技术手段,为财务数据管理系统的建设搭建平台,以此加快企业服务性的发展,成为一个具有示范性的企业智能体系。早期的报表系统将业务逻辑和报表处理过程混杂于一个程序中。任何一个需求或是逻辑的改变都必须重新修改、编译这个报表程序才可完成。陆续诸多MIS系统开发工具都推出了报表设计器、生成器之类的工具,可以满足人们方便、快捷地实现此类需求。由于通用报表的可变因素很多,因此实现的技术架构、思路和开发方法至今没有一个相对固定的模式。根据目前的报表系统进行归纳,总体上分为以下几种:1报表控件:一般侧重于灵活的表现形式,能对输入或导入数据进行多种计算,并且可以根据计算结果展现相应的图、表,在一定程度上实现较复杂的报表自定义功能。这类控件一般只提供目标数据源连接接口,通过ODBC或JDBC标准与大部分DBM进行连接,但读取连接数据库的数据则需由用户输入SQL语句完成。2通用报表:一般的报表系统是针对固定的信息系统开发的,而且用户的自主权也只局限于系统发布时所指定的范围内。那么当用户的需求变化已超出了这种预定的界限。针对此问题,相应地出现了通用报表,它该一般具有连接目标数据源灵活、操作方便、性能佳及能满足用户多方面报表需求等技术特点,但目前的通用报表系统只能连接单目标数据源。3DBMS报表:基于DBMS的报表系统一般依赖DBMS厂商提供的工具或语言进行开发,开发完成后的报表软件模块可以在一定程度上支持用户自定义报表。开发这类报表系统的特点是快捷、方便,但无法突破对某一DBMS的依赖性,无法自由定义和实现跨平台连接多目标数据源的功能,在数据处理方面,则把大部分的数据获取和对数据的统计计算交由DBMS去实现,报表系统无法控制具体计算过程。从本质上看,可以认为这类报表系统只不过是为数据库数据的获取和展示提供了友好的人机界面,帮助不懂SQL语句的用户直观、方便地查询和展示数据库数据。具体细分市场上已有的报表产品,目前常见的典型报表工具中,著名的有Excel,UniversalForms,Oracle9i Reports,Formula One等,国内也推出了许多报表工具。对现有报表工具的比较研究,有助于我们设计出更好的报表工具。虽然,目前通用报表有了较大的发展,但是在实际应用中,既开源免费或价格便宜,又能满足用户要求通用报表系统能够简单灵活地实现连接数据源、设定报表样式等的报表很少,市场上的报表系统存在以下不足:1工作量大:企业的需求是动态、复杂、多变的。目前的报表系统中,由于数据的显示或打印格式都是由程序员根据客户需要直接在程序制作期间生成的。2未实现跨平台连接多个数据源:目前的报表大部分只能实现连接单一目标数据源,未能实现跨平台连接多个数据源,即不能实现异构数据库。3缺乏灵活性:目前的通用报表系统是不可以自定义取数据源与取函数或公式的,而只能选择系统提供的有限的取数函数与公式来自定义报表,如果需要实现对这些取数函数或公式以外的数据资源的访问就十分不方便。1.2.2 企业管理报表系统1. 报表结构分析与定义一般报表在样式上分成表头、表体和表尾3个部分。表头包括标题栏和报表的统计时间区间;表体存放报表的所有内容,由若干个报表分区组成,每个报表分区包含列行,每个列(行)包括名称和数据;表尾主要指脚注等。由此发现表头和表尾的内容与格式比较固定,动态生成较为简单。报体的基本数据单元是列(行) ,列(行)之间具有一定的逻辑关系,建立其完整的逻辑关系即可得到报表的表体数据。因而将定义报表的过程分成两个部分:报表列的属性定义,每一个属性列对应数据库表中的任意一列;报表的显示设计,按照设计好的展现形式,定义各个列的显示位置和排列方式(水平或垂直)。图1-1 报表结构数据库表设计如图1-2所示,组合报表基本信息表中的一条记录对应一个报表,通过关联其他表构成一个报表的完整信息。报表中直接与数据库关联的列按照相互之间的关系组成一个个基本表,每个基本表的列之间都是相关联的,被存放在报表基本信息表和报表列信息表中,由于一张表可能存在多个基本表,它们与报表之间的关系信息在报表关联表中定义。报表中的其他列作为组合列,由基本表列定义,数据存放在组合报表列信息表中。图1-2 报表定义的数据关系表2. 报表管理系统架构普通的报表系统的架构如图1-3所示。报表开发的基本思路几乎都是一致的:即采用模板技术,先生成空模板文件,再用程序把数据填充到模板上。模板文件包含的内容主要有以下两点:1静态框架描述部分对大多数企事业单位的报表来说,每种业务对应的报表形状是固定的,如行数、列数、文字说明部分、边框特征等。这些内容都属于静态框架描述部分。应用程序通过这些描述可以画出表格的形状。2动态填充部分即描述如何把数据库相内容或其它方式的数据动态的填充到空表格上。相互对比得出,静态框架描述部分是很烦琐的,一个报表最复杂的就是画报表中的表格以及一些文字说明。动态填充部分的描述相对来说容易一些,一般来说只要把单元格位置与相应的SQL语句关联起来就可以了。系统中的查询条件和数据来源等一般是通过上述的模板技术,通过XML文件来设置模板。图1-3 普通报表系统架构3. 报表管理系统案例经过研究目前市场上的报表系统,综合用户普遍的需求,并借鉴了其他优秀的报表系统,得出了自动报表系统所要实现的功能:查询设定交易、报表设定交易、查询呈现交易、报表呈现交易,本文中将2者合称为设定交易。其中,查询设定交易与报表设定交易大体上是一致的,差别仅为呈现时的样式。查询呈现交易和报表呈现交易之间可以实现转化。查询设定交易是报表系统的基础,它覆盖了基本资料设定、数据源设定、查询条件设定、字段属性设置、呈现样版设置、样式的设置全过程,还包括了查询交易的汇入汇出等数据管理等。用户通过它可以新增、修改、删除、汇出或汇入一支查询和报表,以及维护查询交易与报表交易之间的兼容关系,维护报表样版和查询样版。这样,为用户提供了方便、快捷、灵活的设定方式,能适应企业不断更新、发展的需求,提高企业的工作效率。细化出来的功能主要包括了交易基本资料的设定、数据来源设定、查询条件设定、字段属性设置、呈现样版设置等方面。报表交易设定大致同查询设定交易,唯一的区别就是呈现时的样式不同。查询呈现交易是报表系统的核心功能。它展现了用户的最终需求,其主要功能是:查询呈现交易包含3个主要功能:查询数据呈现、个性化呈现方式设定和查询结果输出。自动报表系统支持在一支查询交易中设定多个查询样式,每个样式来自于一种查询样版,同时并提供可扩展的结构,支持增加新的查询样版,从而增加新的查询样式。若用户对于预设的查询条件不满意可自行设定查询条件。自动报表系统将呈现的U1分为单表和多表两类,同一类的呈现IJI操作具有许多相同之处。用户开启一支查询交易,根据查询类型不同,系统会展现单表类型的查询展现UI或多表类型的查询展现UI。报表呈现交易包含3个主要功能:报表数据呈现、报表结果输出和个性化呈现方式设定。与查询呈现交易相同,自动报表系统支持在一支报表交易中设定多个报表样式,并提供可扩展的结构,支持增加新的报表样版。用户开启一支报表交易,首先看到的是报表查询条件页。报表查询条件页上呈现了这支报表交易的查询条件和报表样式。用户输入所需要的查询条件,并选择呈现样式,来展现这支报表。此外,它还提供了报表打印、报表导出、提交报表中心打印和分批打印的功能。若用户对于预设的查询条件不满意可自行设定查询条件。1.2.3 结论报表系统对企业中每一笔交易数据进行整理和分析,帮助企业管理者预测市场需求、制定企业发展方案和作出决策,从而发挥着重要作用。本文在介绍报表系统的基础上分析了一个报表系统的成功案例,对以后报表系统的开发具有参考意义。随着报表工具技术的成熟, 报表管理系统必将越来越广泛地应用到各企事业单位中, 实现报表工具和业务系统的完美融合。1.3 论文的主要内容和特色结合上文研究背景和当前报表管理系统存在的主要问题,设计并实现了基于B/S的企业报表管理系统。本文将依照软件工程的思想对系统进行详细的描述,主要内容如下:1.分析了基于B/S的企业报表管理系统的需求。2.根据报表管理系统的需求,介绍了数据库的设计与实施的过程。3.对系统模块进行划分。4.分析每一个模块的具体实现细节。5.基于Jasper Report实现了报表引擎的集成。 本系统的主要特点如下: 1.具有较高的可重用性。系统采用MVC模式设计,把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,每一层专注于本层功能的实现。不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。实现同时跨多个数据源。在系统实施上,突破传统使用的单一数据库的设计,采用DAO(Date Access Object)数据存取模块,它支持存取多个数据库,对不同数据库提供接口进行统一访问,利于系统的移植。系统集成Jasper Report报表生成引擎,将报表模板设计与报表数据填充相分离,使系统变得更加灵活。2. 相关技术介绍2.1 Java简介2.1.1 Java Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C+语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。目前,Java技术的构架包括一下三个方面:J2EE(Java 2 Platform Enterprise Edition)企业版,是以企业为环境而开发应用程序的解决方案。J2SE(Java 2 Platform Stand Edition) 标准版,是桌面开发和低端商务应用的解决方案。J2ME(Java 2 Platform Micro Edition) 小型版,是致力消费产品和嵌入式设备的最佳解决方案。J2EE目前已经成为开发商创建电子商务的事实标准。J2SE是Java2平台的标准版,它适用于桌面系统,提供CORBA标准的ORB技术,结合Java的RMI支持分布式互操作环境。J2ME提供了HTTP高级Internet协议,使移动电话能以Client/Server方式直接访问Internet的全部信息,不同的Client访问不同的文件,此外还能访问本地存储区,提供最高效率的无线交流。Java技术又有以下广泛的内涵:1.首先,它是一门编程语言,Java能够创建所有其他传统语言能编写的应用程序,Java能够编写独立的应用程序,运行在装有Java虚拟机的操作系统上。Java编写的程序通常用在WWW环境中(比如applet,servlet等),Applet在浏览器中执行不需要操作系统JVM的支持。2.其次,Java还是一个开发环境,Java技术包含一系列的工具:编译器、解释器、文档生成工具、打包工具等。另外由Java 2 SDK提供的JRE(Java Runtime Envioument)还包括一个完整的Java类集合,比如基本语言类、GUI空间类等。3.最后,Java也是一个运行环境,我们可以从SUN公司提供的Java 2 SDK来搭建运行环境,而这一切都是免费的。时至今日,Java仍然一步步地朝着远大的梦想而迈进,显而易见的成果便是在国际互联网的应用,如今常见的浏览器也都全面支持Java Applet以及衍生出来的JavaScript语言等,而市面上可见的操作系统,也利用Java的跨平台特性来开发,包括Windows系统、各类Unix和Linux、Mac等操作系统,都可以看到Java的综述。这一切都充分说明了Java在计算机语言大家庭中的地位,Java对Internet编程的影响就如同C语言对系统编程的影响一样。2.1.2 Java环境配置1. 打开我的电脑-属性-高级-环境变量2.新建系统变量JAVA_HOME 和CLASSPATH变量名:JAVA_HOME变量值:C:Program FilesJavajdk1.7.0变量名:CLASSPATH变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;3. 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。变量名:Path变量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin;2.1.3 Java EE Java EE,Java平台企业版(Java Platform Enterprise Edition),是Sun公司为企业级应用推出的标准平台,是一套设计、开发、汇编和部署企业应用程序的规范,目的与核心是提供相应的服务。随着Java技术的发展,J2EE平台得到了迅速的发展,成为Java语言中最活跃的体系之一。现如今,J2EE不仅仅是指一种标准平台,它更多的表达着一种软件架构和设计思想。Java EE的主要技术如下:JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无缝的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。JPA(Java Persistence API), JPA通过JDK 5.0注解或XML描述对象关系表的映射关系,并将运行期的实体对象持久化到数据库中。2.2 Oracle简介2.2.1 Oracle概览ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。2.2.2 Oracle 11g新特性Oracle 11g是甲骨文公司在2007年7月12日推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。相对过往版本而言,Oracle 11g具有了与众不同的特性。一数据库管理部分1.数据库重演数据库重演(DatabaseReplay)这一特性可以捕捉整个数据的负载,并且传递到一个从备份或者standby数据库中创建的测试数据库上,然后重演负责以测试系统调优后的效果。2.SQL重演(SQL Replay)和前一特性类似。但只是捕捉SQL负载部分,而不是全部负载。3.计划管理(Plan Management)这一特性允许你将某一特定语句的查询计划固定下来,无论统计数据变化还是数据库版本变化都不会改变她的查询计划。4.基于特性打补丁(Feature Based Patching)在打补丁包时,这一特性可以使你很容易区分出补丁包中的那些特性是你正在使用而必须打的。企业管理器(EM)使你能订阅一个基于特性的补丁服务,因此企业管理器可以自动扫描那些你正在使用的特性有补丁可以打。5.自动SQL优化(Auto SQL Tuning)在11g中,你可以让oracle自动将能3倍于原有性能的profile应用到SQL语句上。性能比较由维护窗口中一个新管理任务来完成。6.访问建议器(Access Advisor)11g的访问建议器可以给出分区建议,包括对新的间隔分区(interval partitioning)的建议。间隔分区相当于范围分区(range partitioning)的自动化版本,她可以在必要时自动创建一个相同大小的分区。范围分区和间隔分区可以同时存在于一张表中,并且范围分区可以转换为间隔分区。7.自动内存优化(Auto Memory Tuning)在11g中,所有内存可以通过只设定一个参数来实现全表自动优化。你只要告诉oracle有多少内存可用,她就可以自动指定多少内存分配给PGA、多少内存分配给SGA和多少内存分配给操作系统进程。8.资源管理器(Resource Manager)11g的资源管理器不仅可以管理CPU,还可以管理IO。你可以设置特定文件的优先级、文件类型和ASM磁盘组。9.AWR 基线(AWR Baselines)AWR基线得到了扩展。可以为一些其他使用到的特性自动创建基线。默认会创建周基线。二PLSQL部分1.结果集缓存(Result Set Caching)这一特性能大大提高很多程序的性能。在一些MIS系统或者OLAP系统中,需要使用到很多select count(*)这样的查询。在之前,我们如果要提高这样的查询的性能,可能需要使用物化视图或者查询重写的技术。在11g,我们就只需要加一个 /*+result_cache*/的提示就可以将结果集缓存住,这样就能大大提高查询性能。2.对象依赖性改进在11g之前,如果有函数或者视图依赖于某张表,一旦这张表发生结构变化,无论是否涉及到函数或视图所依赖的属性,都会使函数或视图变为invalid。在11g中,对这种情况进行了调整:如果表改变的属性与相关的函数或视图无关,则相关对象状态不会发生变化。3.正则表达式的改进在10g中,引入了正则表达式。这一特性大大方便了开发人员。11g,oracle再次对这一特性进行了改进。其中,增加了一个名为regexp_count的函数。另外,其他的正则表达式函数也得到了改进。4.新SQL语法 =5.内部单元内联(Intra-Unit inlining)在C语言中,你可以通过内联函数(inline)或者宏实现使某些小的、被频繁调用的函数内联,编译后,调用内联函数的部分会编译成内联函数的函数体,因而提高函数效率。在11g的plsql中,也同样可以实现这样的内联函数了。6.设置触发器顺序可能在一张表上存在多个触发器。在11g中,你可以指定它们的触发顺序,而不必担心顺序混乱导致数据混乱。2.3 MVC框架MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。MVC被独特的发展 起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。模型、视图、控制层三者之间的关系和各自的主要功能如图2-1所示。图2-1 MVC组件关系和功能2.4 JSP技术JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术是在Servlet手相术基础上发展起来的,它正在飞速发展中,现在已成为Java搅乱器编程的重要组成部分。它必将和J2EE(Java 2 Enterprist Edition)一起发展。JSP 是结合markup(HTML或XML)和Java代码来处理的一种动态页面。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Java class、Servlet、Applets 和Web Server,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。这种模式允许工作分成两部分:组件开发与页面设计和编译(结合一些方法调用)。在这种应用编译模式,使得业务逻辑和数据处理分开。现在已经有许多Web Server支持JSP(如Sun的Java Web Server,Apache&Jserv等),这使JSP具有良好的可移植性。2.5 DAO技术DAO (Data Access Object) 数据访问对象是第一个面向对象的接口,它显露了 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 象直接连接到其他数据库一样,直接连接到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用。DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的DAO实现有下列几个组件: 1.一个DAO工厂类; 2.一个DAO接口; 3.一个实现DAO接口的具体类; 4.数据传递对象(有些时候叫做值对象).2.6 Service层简介Service层主要负责业务模块的逻辑应用设计。它是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。设计Service层时,首先设计接口,再设计其实现的类,接着在Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。Service层的业务实现,具体要调用到已定义的DAO层的接口,封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。 2.7 Jasper Report简介JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。它还有一个相关的开源工程IReport,这是一个图形化的辅助工具,因为JasperReport仅提供了可使用的类库而未提供更好的开发工具,IReport的出现解决了这一难题。它们配合使用将会更大程度的提高效率。该库完全由Java写成,可以用于在各种Java应用程序,包括J2EE,Web应用程序中生成动态内容。它的主要目的是辅助生成面向页面的(page oriented),准备付诸打印的文档。JasperReport借由定义于XML文档中的report design进行数据组织。这些数据可能来自不同的数据源,包括关系型数据库,collections,java对象数组。通过实现简单的接口,用户可以将report library插入到订制好的数据源中。3. 需求分析在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。3.1 系统功能分析这是一个企业报表管理系统,其主要目标是通过对数据的处理生成企业经营情况的相关报表,以直观的形式展现企业的经营过程,从而便于企业管理。系统具体功能如下:登录:职工在登录页面中输入账号和密码,系统根据数据库中的职工信息验证账号密码是否合法。若为合法用户,进入系统管理页面;若不合法,跳回登录页面。基本信息模块基本信息模块是系统主要信息的查看和添加。应包括职工信息、部门信息、材料信息、产品信息和供应商信息。其中部门信息与产品信息不可更改,职工、材料与供应商信息能够进行添加。图3-1 基本信息模块图交易记录模块交易记录模块是系统生成报表的主要数据来源,它负责记录每一笔交易的详细情况,并由交易逻辑进行控制维护数据的一致性。交易模块应包含材料订购、产品生产和产品销售。图3-2 交易记录模块图报表生成模块报表生成模块是系统的核心模块,它将企业经营的相关信息生成报表,职工可选择以html或pdf格式显示。生成的报表应包含材料采购报表、产品销售报表和经营报表。图3-3 报表生成模块图3.2 系统性能分析一般的性能需求是指相互消息传递顺利,协议分析正确,界面友好,运行时间满足使用要求,安全性得到安全保证。因此,对于本系统的综合要求如下:(1)系统应建立友好的界面,既要操作简单、直观、灵活,又要易于学习掌握;开发企业报表管理系统目的是为了满足管理人员对用户信息维护、材料信息维护、产品信息维护、材料订购统计、产品销售统计以及报表生成管理等工作。如果操作复杂,就无法满足企业需要。(2)系统在确定用户名和密码后,应具有自动连接数据库的功能。在正确连接数据库后,首先应对用户名和密码进行检验,若没有此用户名应给出相应的提示;系统应具有界面相互转换的功能,在每一个模块之间应具有相互转换的功能,而无需用户退回主界面重新选择。系统应具有良好的安全性。(3)系统可扩充、易维护。系统应充分考虑到客户的各种变化如客户的增加、删除等等,具备一定的扩充能力。系统的模块化程度要高,软件维护要方便。3.3 系统结构图图3-4 系统结构图4. 数据库设计4.1 数据库概要数据库就是存放数据的仓库,即数据按照一定的规律存放在计算机中,是信息系统的核心和基础,是信息系统开发和建设的重要组成部分,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库设计是信息资源管理最有效的手段,数据库设计就是根据具体的应用环境,构造合理数据库模式,建立数据库逻辑结构,有效存储数据,满足用户实际需求和系统应用处理要求。在动态网站设计中数据库的重要性不言而喻。合理地设计数据库结构可以提高系统运行的效率。如果设计不当,查询起来就非常吃力,程序的性能也会受到影响。数据库的设计一般主要包括两个部分:1.对网站系统的设计进行需求分析,确定所需要在数据库中保存的信息。2.确定每个表的字段属性等数据库信息。系统采用Oracle 11g数据库,数据库名为yggl,通过JDBC连接,使用DAO技术访问。使用的数据表有:Employee(职工表)、Department(部门表)、Material(材料表)、Product(产品表)、Company(供应商表)、import(材料采购表)、production(产品生产表)和buy(产品销售表)。4.2 数据库结构设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新质生产力与碳汇
- 出行安全培训班课件
- 初级导游人员资格考试(全国导游基础知识、地方导游基础知识)练习试题及答案(吉林2025年)
- 社交互动影响转化-洞察及研究
- 2025年新版妇产科三基考试试题及答案
- (2025)国家公务员录用考试行测常识题库及答案
- 金属回收循环经济研究-洞察及研究
- 艾滋病防治知识竞赛题库及答案
- 出口流程课件
- 2025【合同范本】停车位物业管理合同
- 林长制知识培训课件
- 高效氯胺酮合成路线研究-深度研究
- 落实临床危急值管理制度
- CNAS-CC02:2013 产品、过程和服务认证机构要求
- 现代科技在雕塑工艺中的应用研究
- 《工业自动化控制系统基础》课件
- 概率论与数理统计电子教案
- 绿电制氢氨项目实施计划与进度安排
- 2025年中国造影剂行业市场发展监测及投资战略规划研究报告
- 2025年湖南省高职单招《语文》高频必练考试题库400题(含答案)
- 八年级地理实验室使用计划
评论
0/150
提交评论