【VC++开源代码栏目提醒】:网学会员鉴于大家对VC++开源代码十分关注,论文会员在此为大家搜集整理了“【硕士论文】基于Struts与Ajax的中小制药企业订销管理系统 - 实施方案”一文,供大家参考学习
分类号—— 密级—— 学号2QQ468183QQ6Q学校
代码!Q 4 8 2 事卞科技大署 硕士学位
论文 基于Struts与Aj ax的中小制药 企业订销管理系统 学位申请人: 苏海增 学科专业: 软件工程 指导教师: 刘云生教授 答辩日期: 2006.10.27 华中科技大学硕士学位
论文 摘要 伴随着WTO的加入以及企业信息化的飞速进展,ERP在中国进入广泛普及阶段。
但是,鉴于广大中小企业用户自身特点以及资金、人力、物力的限制,使得他们对ERP产品有着多样化和个性化的需求特点。
这种情形下的ERP建设,对于ERP产品本身提出了苛刻的要求,传统的ERP产品已无法应对这样的挑战。
中小企业在信息化方面存在的困难主要是管理未定型和发展未定型,这就要求相应的ERP系统具有针对性强,适用性高,性价比高,兼容性强,可扩展,操作简便等特点。
针对中小企业用户多样化和个性化的需求特点,ERP系统重点建设内容应定位于以下几点:生产管理、销售管理、采购管理、库存管理、客户管理。
本文遵循ERP项目实施流程,采用面向对象的设计方法,设计实现了中小制药企业订销管理系统。
系统采用Struts框架,页面设计及系统逻辑分离,具有较好的扩展性。
系统使用数据库中间件技术,支持My SQL、MS SQLServer等多种数据库系统平台。
系统涉及到复杂表单数据提交、Ajax无刷新数据提交、Web打印等常用应用软件中涉及到的技术。
中小制药企业订销
管理系统是一个使用Java语言开发,以
开源Web MVC框架EasyJWeb作系统引擎的JavaWeb应用系统.系统主要实现的功能有订单录入、打印,销售汇总、原料管理、客户管理、生产配料计算、报表打印、汇总、系统数据管理及维护等功能,是一个使用简单的编码方式实现的Web应用系统。
关键字:中小企业信息化 制药企业 ERP系统 订销管理 Struts Ajax 华中科技大学硕士学位
论文 Abstract With joining in WTO as well as the rapid development of enterpriseinformation-based,the ERP comps into the widespread application stage in Chin&However,in view of the fact that the general mid and small enterprise users have theirown characteristic,as well as the fund,the manpower,the resourc宅limit,they havediverse and individual demands to the ERP products.Under this kind of situation,theERP construction brings up harsh requests to the ERP product itself,and the traditionalERP products have been unable to be supposed to such challenge. As to the mid and small enterprises.the difficulties which exist in theinformation—based aspect mainly are the undecided management and the undecideddevelopment,and this requests the corresponding ERP systems have the characteristicssuch as strong pertinence,high serviceability,high cost performance ratio,strongcompatibility,high expansibility,simple operation and SO OIL In view ofthe diversifiedand individualized demand characteristic of mid and sinail enterprise u¥ers,theemphasized content of the ERP system construction should be located in the followingseveral parts:Production management,sales management,purchase management,stock management,customer management. Following the ERP project implementation flow and using the object-oriented designmethod,this article designs and implements the mid and small pharmacy enterpriseorder-sale management system.The system adopts the Struts frame,the page design andsystem logic separation,and good expansibility.The system adopts database middlewaretechnology,and supports many kinds ofdatabases system platform such as My SQL,MS SQL Server.The system involves many technologies used in the common applicationsoftware,such褐complex forms submission,the ajax no-renovate data submission.and the Web printing. The mid and small pharmacy enterprise order-sale management system is developed Ⅱ 华中科技大学硕士学位
论文with the Java language,and nscs the open-80Ul’Ce Web MVC flame EasyJWeb as thesystem engine.The main system functions realized contain the input of order form,printing,the sale sum-up,the material management,the customer management,theproduction proportion calculation,the report form priuting,sum-up,and system datamanagement and maintenance.It comes OUt to be a simple encoding realized Webapplication.Keywords Mid and small enterprise information-based Pharmacy enterprise The ERP system Order-sale management Struts Ajax I!I Y 1018|:03 独创性声明 本人声明所呈交的学位
论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除文中已经标明引用的内容外,本
论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
学位
论文作者签名: 苏l钽书曾 日期:o C,年fo月2,7日 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定,即:学校有权保留并向国家有关部门或机构送交
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权华中科技大学可以将本学位
论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位
论文。
保密口, 在——年解密后适用本授权书。
本
论文属于 / 不保密团。
(请在以上方框内打“√”) 学位
论文作者签名: 纺。
;钮书曾 指导教师签名: 日期:。
‘年扣月印日 日期加易年fD月;D日 华中科技大学硕士学位
论文 1绪论1.1 中小企业ERP系统研究的必要性 企业资源计划ERP(Enterprise Resource Planning)是一种主要面向制造行业进行物质资源、资金资源和信息资源集成一体化管理的企业信息管理系统…。
通过运用ERP,企业能够利用计算机对企业的资金、货物、人员和信息等资源进行自动化管理,从而有效地促进现有企业管理的现代化、科学化,适应竞争日益激烈的市场要求,它的导入,已经成为大势所趋。
伴随着WTO的加入以及企业信息化的飞速进展,ERP在中国也进入广泛普及阶段,ERP应用更加务实、业务范围更加广泛、涉及的业务深度逐渐加强的ERP正为广大的中国企业所期盼。
尤其是近几年,国内中小企业发展十分迅速,但是,鉴于 自身规模和
经济实力的限制,迫切需要为中小企业量身定做的专用小型ERP系统。
中小企业在信息化方面存在的困难主要是管理未定型,因为企业在发展壮大之中,在变化之中,人才缺乏问题是非常重要的,特别是复合型人才更是缺乏,中小企业资金不足也是影响信息化的重要因素之一,企业信息化在建设之中和建设后有一个维护和服务问题,这也是困扰中小企业信息化的一个大问题〔21。
中小企业实施ERP系统应主要考虑以下几点因素:第一,实用性强,决策者需要直接可行的信息;第二,可操作性强,而且由于中小企业在人员素质、业务流程方面各有不同,因此就要求针对中小企业的ERP产品必须兼具功能的灵活变通和界面的易用,并可以快速、简单的部署;第三,适用性高,中小企业业务流程和组织结构相对简单,太多过于复杂的功能只能造成不必要的冗余;第四,性价比高,价格因素对于中小企业采购至关重要;第五,兼容性强,合格的ERP产品需要能够兼容中小企业现有的IT系统【31,同时,考虑到中小企业的业务增长较为迅速,因此相关的ERP产品必须具备一定的可扩展性。
中小企业信息化需求从广义上讲,从单机应用到局域网,进而发展到互联网应用是中小企业信息化的发展过程,从狭义上理解,说的就是管理信息的需求13】。
中小企业评估ERP产品和服务,应该认识到ERP系统不是越大越好,关键是适合企业自 华中科技大学硕士学位
论文身现实的需求和发展的需要,也就是说适合自己的才是最好的,ERP应该是推动企业发展而不是束缚它,因而,中小企业,如果不是在管理上形成固定的模式的话,应该以中小软件为主要考虑对象。
鉴于中小企业用户对ERP产品具有多样化和个性化的需求特点,其重点建设内容应该定位于以下几点: 1)生产管理问题 2)销售管理
问题 3)采购管理问题 4)库存管理问题 5)客户管理问题1.2国内外ERP发展现状和趋势 ERP系统经历30多年的发展变革直到今天,已经形成面向全球市场,功能日益强大,所管理的企业资源更多,管理覆盖面更宽,支持混合式生产方式,并涉及企业供应链管理,从企业全局角度进行经营与生产计划,是制造企业的综合集成经营系统【21。
ERP系统所采用的计算机技术也更加先进,采用最新的
计算机技术,如客户朋艮务器分布式结构、浏览/服务器结构、面向对象技术、软构件技术、多数据库集成、图形用户界面、第四代语言及辅助工具等等,支持Intemet/Intmnet/Exu.anet、电子商务、电子数据交换EDI,还能实现不同平台间的互操作,形成了集成化的企业管理软件系统14】。
新一代ERP系统的发展趋势,应当基于最新的软件架构、平台、接口等实现系统集成,其中包括企业应用集成EAI服务器、基于中间件的软件体系结构、浏览器/服务器分布式体系结构、J2EE架构、基于XML的系统接口、基于Web的ERP应用套件等等f41.新一代ERP系统还应当跨越异构计算机系统平台实现
系统集成。
1.3本文的主要研究工作 本文首先研究分析目前针对中小企业的小型ERP系统的两种主要实现模式:两层客户机/服务器模式(C/S)和三层浏览器/服务器模式(B/S),分析得出随着企业需求和信息技术的不断发展变化,这两种模式显示出的无法满足当前中小企业信息 2 华中科技大学硕士学位
论文建设需要的种种弊端。
其中,传统的两层C/S模式ERP系统受到网络类型、安装规模、客户机环境等因素的限制;传统的三层B/S模式ERP系统收到人机交互性能、
网络数据安全、网络
通信量等因素的限制41。
从而得出结论:很有必要采用不断涌现的新兴信息技术对传统ERP实现模式进行改进。
Struts是发展成熟、应用广泛的分布式系统体系结构,主要用Java类开发业务实体,通过JSP来连接应用服务器。
其优点主要集中体现在两个方面:Taglib和页面导航。
Taglib是Struts的标记库,灵活动用,能大大提高开发效率;至于页面
导航,通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处,因此将是今后的一个发展方向,这样做使的系统的脉络更加清晰l 51。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
Ajax是今年初才问世的新技术,是Asynchronous JavaScript and XML的缩写。
它是一组开发Web应用程序的技术,它使浏览器可以为用户提供更为自然的浏览体验【61。
每当需要更新时,客户端Web页面的修改是异步的和逐步增加的。
这样,Ajax在提交Web页面内容时大大提高了用户界面的速度。
在基于Ajax的应用程序中没有必要长时间等待整个页面的刷新。
页面中需要更新的那部分才进行更改,如果可能的话,更新是在本地完成的,并且是异步的l”。
本文的主要研究内容是通过开发一个中小制药企业订销管理系统,在现有的成熟Struts应用框架中融入Ajax技术,创建动态的web页面,以其无刷新数据提交特性,提升系统性能和用户体验,全面介绍了在Strum框架下进行Ajax开发的各个细节,实现三层分布式开发的层次划分,后台与前端的调用,数据的读取、访问及展现。
华中科技大学硕士学位
论文 2系统关键技术 中小制药企业订销管理系统的实现中采用在已有的成熟Struts框架中应用Ajax技术的方式,满足ERP应用系统交互较多,频繁读数据,数据分类良好的需求特点。
系统开发过程中,采用源于Struts的
开源MVC框架EasyJWeb作为系统引擎,并采用EasyDBO作为数据库开发的数据持久层框架。
2.1 Struts框架 模型一视图一控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk--80发明的一种软件设计模式,至今已被广泛使用。
MVC是一个软件构架模式,它强制性的使应用程序的输入、处理和输出分开,使用MVC应用程序被分成三个核心部件:模型、视图、控制器,它们各自处理自己的任射81。
Struts是一个基于SunJXEE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。
现在,Struts是Apache
软件基金会旗下Jakarta项目组的一部分,其官方网站是lap:巧aj(a渤.apache.org/struts。
由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的几年中颇受关注【91。
Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现
全套MVC模式,极大的节省了时间,所以说Struts是一个非常成熟、优秀的应用框架。
Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关: 1)模型(Model),本质上来说在Struts中Model是一个Action类(这个会在 后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器 (Controller)向Action的转发过程是基于由struts-config.xml文件描述的配 置信息的。
2)视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签 库构成,利用她们我们可以快速建立应用系统的界面。
3)控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的 4 华中科技大学硕士学位
论文 Action类。
4)一些用来做XML文件解析的工具包,Struts是用XML来描述如何自动产生 一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的 用户提示信息的,这样一来就实现了应用系统的多语言支持。
在Struts应用程序中,可以构建模型层,这样业务逻辑与数据检索逻辑重用就很容易。
这层负责运行应用程序的业务逻辑,获取相关数据(例如,运行SQL命令或者读取平面文件)IlOl。
Struts鼓励在模型一视图一控制器
设计范例基础上构建应用
程序。
Struts提供自己的控制器组件(ActionController类)并与其他技术相结合来提供模型与视图。
对于模型(Modcl类),Struts能与任何标准的数据访问技术相结合,包括EJB、JDBC以及Object-Relational Bridge。
对于视图(ActionForm类),Struts在JSP环境以及其他基于表示逻辑的系统中能很好的运行…1。
通用Struts MVC框架流程如图2.1所示。
图2.1通用MVC框架流程2.2 Ajax技术 Ajax不是一个单独的技术,实际上是几种技术的结合,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。
Ajax全称为“Asynchronous JavaScriptand XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。
在Aj缸中‘12】: 1)使用XHTML+CSS来表示信息。
2)使用JavaScript操作DOM Document Object Model进行动态显示及交互。
3)使用XML和XSLT进行数据交换及相关操作。
华中科技大学硕士学位
论文 4)使用XMLHttpRequest对象与Web服务器进行异步数据交换。
5)使用JavaSeript将所有的东西绑定在一起。
传统的web应用允许用户端填写表单(form),当提交表单对就向web服务器发送一个请求。
服务器接收并处理传来的表单,然后送回一个新的网页。
这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML
代码往往是相同的。
由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。
这导致了用户界面的响应比本地应用慢得爹¨】。
与此不同,AjaX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的页面服务接121,并在客户端采用JavaSeript处理来自服务器的响应。
因为在服务器和浏览器之间交换的数据大量减少(大约只有原来的5%),结果我们就能看到响应更快的应用。
同时很多的处理
工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
传统的web应用模型工作起来就像这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。
服务器完成一些处理一接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端【HJ。
这是一个老套的模式,自采用超文本作为web使用以来,一直都这样用,但正是这种机制导致了Web界面没有桌面软件那么好用。
通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始一停止一开始一停止这样的交互过程。
它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。
不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎一采用JavaSeript编写并且通常在一个隐藏frame中.这个引擎负责绘制用户界面以及与服务器端通讯137l。
Ajax引擎允许用异步的方式实现用户与程序的交互一一不用等待服务器的通讯。
所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。
通常要产生一个H兀甲请求的用户动作现在通过JavaSeript调用Ajax引擎来代替。
任何用户动作的响应不再要求直接传到服务器一例如简单的数据校验,内存中的数据编辑,甚至一些页面导航一引擎自己就可以处理它【I引。
如果引擎需要从服务器取数据来响应用户动作一假设它提交需要处理的数据,载入另外的界面
代码,或者接收新的数据一引擎让这些工作异步进行,通常使用XML,不用再担误用户界面 6 华中科技大学硕士学位
论文的交互。
2.3 EasyJWeb系统引擎 系统采用
开源MVC框架EasyJWeb作为系统引擎。
EasyJWeb是基于java技术,应用于web应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,框架旨在借鉴当前主要流行的
开源Web框架Struts,吸取其优点及精华,利用Velocity作为模板页面引擎,实现一个页面及
代码完全分离的MVC开发框架。
旨在构建一个能实现小型Web应用系统快速开发的简易Web框架。
’ 通过EasyJWeb Tools提供的配套开发工具,可以实现基于EasyJWeb框架的Web应用快速开发,包括
常用应用软件的
代码自生成、数据库添删改查(CRUD)
代码生成、自动页面模版生成、配置文件管理等。
框架特点; 1)零配文件置支持。
以前每接触一个框架,开始总都要被配置文件折腾一番。
EasyJWeb实现零配置支持,可以不写一句配置文件就在框架基础上构建你 的运用(适合小型网站系统). 2)简易的模板页面设计支持:放弃使用jsp,使用简单Velocity脚本语言作为页 面模板。
3)页面程序完全分离:实现显示页面与程序逻辑的完全分离,克服了传统jsp 页面难于维护的问题。
4)基于页面组件的框架。
灵活的页面组件配置,可以直接通过配置文件设置字 段级的事件组件。
5)快速开发支持:通过EasyJWebTools,可以自动生成应用软件模板
代码,定 制并管理自己的J2EE
代码模板,
代码生成模板支持最流行的实用Java开发 框架(如hibernate、Spring等)实现快速开发。
通过EasyJWeb Tools提供的配套开发工具,可以实现基于EasyJWeb框架的web快速开发,包括常用应用软件的
代码自生成、数据库添删改查(CRUD)
代码生成、 自动页面模版生成、配置文件管理等。
代码生成模板支持最流行的实用Java开发框架(如hibernate、spring等)实现快速开发【1引. 7 华中科技大学硕士学位
论文 EasyJWeb的MVC框架流程如图2.2所示。
图2.2 EasyJWeb的MVC框架流程2.4 EasyDBO数据持久层框架 EasyDBO是基于java技术,应用于Java程序中实现快速数据库开发的对象.关系映射(ORM)系统框架。
从本质上说,EasyDBO是一个对JDBC的简单封装,通过借鉴当前的主流ORM系统,引入了更加简单实用的方式来实现对象及关系数据库的映射,从而使得我们在开发中可以把精力更多的集成中在域建模及软件业务逻辑上面。
EasyDBO是一个超轻量级的ORM系统,其定位于解决中小系统项目中的对象关系映射。
提供更加简便、灵活的映射方式,把实际应用中的最佳实践融入到ORM的设计中,从而满足快捷开发的要求,即快速、简捷的完成应用软件开发。
EasyDBO对外提供用于处理对象.关系映射等的核心引擎,通过使用该引擎即可实现关系数据库的相关操作。
若结合其它的
开源框架如EasyJWeb等使用,则可以在实际开发中大大提高开发效率。
EasyDBO项目特点: 1)灵活多样的映射配置支持 2)零配置文件支持 3)强大灵活的对象属性关系支持 4)简易实用的用户接口 5)快速开发支持 华中科技大学硕士学位
论文 6)与其它开发框架的简易、快速集成 EasyDBO是一个非常适合小型软件数据库开发的数据持久层框架,系统参考hibernate、JDO等,结合小型项目软件的开发实际,实现简单的对象-关系数据库映射。
在EasyDBO中PO可以通过实现IObject接口,也可以直接easyjf-dbo.xml文件中配置(类似于hibernate)。
2.5本章小节 在本章中,根据开发的情况介绍了本系统的系统架构以及所用到的关键技术,其中主要介绍了Struts体系结构,Ajax技术等,并概要介绍了源于Struts的
开源MVC框架EasyJWeb和数据持久层框架EasyDBO。
这些相关的知识在后面的系统设计以及实现时,会有所涉及,故在此只作一些介绍。
.