




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广 东商学院2011-JX16-本科毕业论文(设计)基于J2EE的中小型企业ERP管理系统的架构设计院 (系)信息学院专 业计算机科学与技术学 号07151102237学生姓名叶钧玮指导教师李绍华提交日期2011年05月 17日内容摘要在企业竞争形势愈发激烈,中小型企业迅猛发展的今天,中小型企业须不断地提升企业的信息化管理水平,以适应信息化时代和企业发展状大的要求。本文设计、开发一个以中小型企业为对象的ERP管理系统,为中小型企业提供一个成本低,且简单、方便、直观的企业业务管理平台。本文首先对本系统的设计目标加以分析,应用面向领域的思想和RUP的过程对本系统进行了分析与设计。在实现的技术上,采用(struts 2+spring+hibernate)架构,与struts架构相比,Struts2框架,能使单元测试更容易,适应性良好,大大提高系统的可维护性。关键词:ERP; J2EE; Spring;架构设计;AbstractToday the Competition among enterprises is more and more intense. In order to adapt to the requirement of information era and enterprisegreat development, many small and medium sized enterprises are improving the level of information-based enterprise management. The paper is based on the basic line of business operation, we design, and develop a small business ERP management system .Simple, convenient and ocular are the characteristic of the system.This paper first analyzes the systems design goal . Based on the goals of this platform, the domain driven design and RUP development process are the main SE ideas for its analysis and design of this platform. Compared with the traditional J2EE architecture (spring+hibernate+struts), we make a little improvements, we use architecture (spring+hibernate+struts2), because through the architecture of struts2, the unit testing can be easier, and the architecture of struts2 has a good adaptability, it improves the maintainability of the system.Key Words: ERP;structs2;Spring;Architecture design 目 录1引言11.1研究背景11.2研究范围11.3研究意义11.4论文组织12相关技术综述22.1J2EE相关知识22.2相关框架知识32.2.1 struts2介绍32.2.2Hibernate框架简介32.2.3Spring框架简介42.2.4Appfuse 介绍53系统设计思想63.1系统内涵63.2系统设计原则与目标63.3系统设计实施目标64系统设计74.1系统各模块功能与分析74.1.1系统的整体模块74.1.2物控部门用例图114.1.3生产部门用例图124.1.4销售用例图124.1.5系统用例描述124.1.5.1 物控部门124.1.5.2 生产部门164.1.5.3 销售部门184.2系统架构设计194.3系统安全性设计204.3.1权限所涉及的领域模型214.4开发环境工具235总结24参考文献25致 谢广东商学院信息学院 基于J2EE的中小型企业的ERP管理系统的架构设计1 引言1.1 研究背景改革开放初期,众多的民营企业如雨后春笋般成长起来。那时许多刚起步的中小型企业业务比较简单,对资料管理的信息化要求不高。但自我国加入WTO后,企业在市场上的竞争逐步国际化,电子单据需求增多了;企业资料管理类型增多了;对企业业务流程的规范化提高了;对于市场上的信息需求也大量增加,这就要求中小型企业必须提高自身的信息化水平。正由于全球化的竞争和现代科技的高速发展,要求企业能够应用先进的管理信息化技术手段,以更快地更准确地掌握信息和整合企业资源,企业能否基于ERP等管理系统来促进和强化其先进的管理方法和理念,成为企业能否赢得市场竞争的关键。1.2 研究范围本课题旨在设计与开发一个小型的ERP管理系统。此平台将以中小型企业为对象,为其提供一个简单、直观、方便的电子管理平台,使中小型企业能够更好地基于ERP管理系统来快速响应和分析市场的需求与变化、降低企业管理成本和生产成本。1.3 研究意义据统计,现时世界500强企业中有80%以上已经开始实施ERP系统来提高企业对市场变化的反应。ERP系统的强大功能是不容置疑的。但是,现在依然有许多已有一定发展规模的企业,对于ERP系统的引入存在一定的难度。国外企业有先进的管理模式,强大的人才队伍,而且有经验丰富的ERP实施商,而他们的成功率也只有50%。在国内ERP系统的实施成功率更是低到只有15%左右。对中小型企业来说,其所需的是量身定做的ERP系统,但量身定做需要的开发和维护成本比较高,顶级的ERP提供商并不感兴趣。纵观珠三角地区的情况,企业向信息化管理的转型和升级成为了必然的趋势,否则难以维系其长久的生命力和竞争力。因此,为这些起步不久、发展前景良好、而资金投入信息化管理又有限的中小型企业开发满足其需求的ERP系统便很有意义了。1.4 论文组织本文首先对该系统使用到的技术做了一个简述,第三章描述了本系统的设计思想、原则与理念,以及系统的设计目标。第四章对系统进行需求分析、系统的整体架构设计和系统的各模块的功能设计。最后给出了以用户设置为例的基于struts2的权限管理模块的实现代码。2 相关技术综述2.1 J2EE相关知识 J2EE的全称是Java 2 Platform Enterprise Edition,它是由SUN公司领导、各厂商共同制定并得到广泛认可的工业标准。它是目前能够满足当今企业开发要求的最佳解决方案。作为一个标准的中间件体系结构,J2EE提供了基于组件的、以应用服务器为核心的多层应用体系结构,它旨在简化和规范分布式多层企业应用系统的开发和部署。典型的J2EE结构的应用程序包括四层(图2-1):客户层、表示逻辑层、业务逻辑层和企业信息系统层1-3。J2EE平台由一整套服务、应用程序接口和协议构成,它对开发基于Web的多层应用提供了功能支持,主要包括JDBC、JNDI、EJB、RMI、JavaIDL/CORBA、JSP、JavaServlet、等13种技术,其中基于J2EE构架的EJB是目前使用最多的组件技术,EJB、组件体系结构是J2EE平台的主干,具有Java技术共有的平台无关、面向对象的特点。EJB组件技术可以简化企业级应用的设计和开发,使系统不但具有强大、稳定的功能,而且具有良好的可移植性,可扩充性和可维护性4-5。总之,J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。图2-1 J2EE 多层体系结构Fig.2-1 J2EE Multi-tier architecture diagram2.2 相关框架知识2.2.1 Struts2简介Struts 2是Struts的下一代产品。是在 struts 和WebWork的技术基础上进行了合并、全新的Struts 2框架。Struts2是一个常用的Java Web框架,它在Struts1的基础上作了较大的改进,融入了WebWork框架,也实现了MVC设计模型,Struts2将一个Web系统的程序分为模型、视图、控制器三部分,从而拥有了MVC设计模式(图2-2)带来的优点低耦合性和高度复用性67。浏览器视图层控制层模型层JSP拦截器ActionJavaBean业务逻辑图2-2 Struts2实现MVC的原理图Fig.2-2 Struts2 schematic to achieve MVC2.2.2 Hibernate框架简介1) Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任89。Hibernate是一种数据库中间件技术,其存在于应用与数据库之间(图2-2-2)。图2-2-2 Hibernate 体系结构图Fig. 2-2-2 System structure2.2.3 Spring框架简介1) Spring简介Spring框架是一个分层的J2EE应用程序框架,它是一个从实际项目开发经验中抽取出来的,可高度重用的开发框架。与其它的轻量级容器一样,Spring也包括IoC容器,并且提供了对AOP框架的支持。Spring框架与持久层框架Hibernate集成到一起,实现支持DAO以及事务策略,提高代码的可重用性。从而,在Web应用开发过程中,实现逻辑层和数据访问层的完全分离。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。2) IoC介绍IoC就是控制反转,它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。IoC主要实现方式有两种:1.依赖查找(Dependency Lookup):容器提供回调接口和上下文环境给组件。EJB和Apache Avalon都使用这种方式。2.依赖注入(Dependency Injection ):组件不做定位查询,只提供普通的Java方法让容器去决定依赖关系。后者是时下最流行的IoC类型,其又有接口注入(Interface Injection)值注入(Setter Injection)和构造函数注入(Constructor Injection)二种方式。3) AOP介绍AOP技术通过编写横切关注点的代码,分离出通用的服务以形成统一的功能架构。AOP的 “横切”技术,把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。AOP的核心思想就是“将应用程序中的商业逻辑同对其提供支持的通用服务进行分离”。主要的实现技术可分为两大类:1.采用动态代理技术。2.采用静态织入的方式。AOP作为OOP的技术补充的出现,其优点是帮助克服了代码冗余和代码混杂,提高了代码的可重用性。 8-10。2.2.4 AppFuse 介绍AppFuse是一个集成了当前最流行的Web应用框架的一个更高层次的Web开发框架,它将Hibernat、Struts、Spring、DBUnit、Ant、WebWord等诸多技术集成到一个框架中11。它与它所集成的各种框架相比,它提供了一部分所有Web系统开发过程中都需要开发的一些功能,它可根据不同的用户可以展现不同的菜单,能很快的改变整个系统的外观,还有自动化测试的功能。3 系统设计思想3.1 系统内涵本系统以中小型企业为对象,根据企业基本的运营模式而设计的。其成本低,简单、直观、方便的特点,能很好地让企业认识以及体现到ERP的管理模式,进一步地实现企业管理的信息化。3.2 系统设计原则与目标由于我们的系统架构是在动态中完成的,因此在把握架构设计的目标上就很重要,再加上企业运营的流程具有一定的严谨性,所以我们进行系统设计的时候必须以实际的企业运营流程为主干道来设计我们的系统。为此,我们为系统制定了如下的目标。1.流程的合理性:要有一个统一的系统运营流程,以最大限度地接近实际。2.关联性:系统模块中合理的数据联动,一定要从能顺利关联。 3.最大化的重用:这个重用包括组件重用和设计模式重用等多个方面。4.安全性:具体体现在身份的认证和审核的功能。5.可拓展性:根据企业的实际情况可以对某些数据进行增删改查。6.结构性:使用OOP和AOP技术,对核心和横切关注点进行合理划分,运用经典设计模式理论优化类、接口和方面的组织结构,减少各模块的祸合度,使系统具备重用性、灵活性和可扩展性。7.效率性:尽量减少框架运行的时间和空间开销,防止多线程条件下的网络拥塞等,尽量减少开发和维护工作量。3.3 系统设计实施目标1.采用Hibernate作为数据访问,用annoction代替hbm配置文件。2.通过设计良好结构的领域类,替代设计数据库的过程,令Hibernate能够自动管理数据库,领域对象有改动的时候,无需对数据库进行操作。3.采用Spring框架将一系列的业务流程包装起来,当业务流程发生改变的时候,我们可以通过规则引擎加载不同的规则,而不需要改动现有的源代码。4.使用 AppFuse 进行开发,这是使我们能简单地进行测试、集成、自动化,并可以安全地生成 Web 应用程序。4 系统设计4.1 系统模块及其功能分析4.1.1 系统的整体模块本系统根据企业的运营流程,提供了从进销存、客户管理等中小型企业日常运转所需要的各种模块管理,具体包括:基础物料模块,物控模块,工厂管理模块,仓储模块,销售模块和基础设置模块等。图4-1-1(1)系统页面图Fig.4-1-1(1) System homepage基础物料模块包括:加工等级的定义,成品的定义以及成品中所涉及的各种原料的定义,还有对新建的裸装和成品进行审核的功能。图4-1-1(2) 基础物料新建成品图Fig. 4-1-1(2) BOM Creating物控模块包括:销售计划的制定,生产计划的制定,月度委托订单的生成和采购申请单的生成。图4-1-1(3) 新建月度委托订单视图Fig. 4-1-1(3) New monthly commission orders工厂管理模块包括:查看生产订单,生成领料单,退料单,以及管理入库单。图4-1-1(4)工厂管理发料明细单Fig. 4-1-1(4) Sends the material details of a single plant management仓储管理模块:对原料以及成品的进出仓进行管理,根据物料实际的去向,实现对仓库库存数据的更改。销售管理模块:以订单管理为主,实时录入订单数据,并能对订单进行审核操作。图4-1-1(5) 销售管理添加订单图Fig. 4-1-1(5) Add Sales Order Management基础设计模块:这主要是对客户信息进行维护与更新以及对供应商基本数据的管理的模块。还有对物料单位进行设置的功能。图4-1-1(6)基础设计用户添加图Fig. 4-1-1(6) Users to add basic design plans用户管理模块:这是对企业内部人员数据的管理模块,给不同的工作人员划分不同的等级,设置不同的权限(图略)。以下是企业的基本架构图和具体的业务流程图。图4-1-1(7)企业的基本架构Fig. 4-1-1(7) The basic structure of corporate11图4-1-1业务流程图Fig.4-1-1 Business process diagrams企业生产说明:1.企业是按订单来生产的,依照订单来做计划。2.企业当月接到的订单,即便库存有多出的货,也不会即时给客户,而是按照定单的需求录入下个月或下几个月的生产计划,在生产交货。企业运营基本流程:企业的销售部门根据上个月接到的订单制定好销售计划之后,由生产部门制定生产计划,生产计划制成的同时,采购部就可以查询生产计划,之后确定要采购的原料,采购完之后,放过采购部得原料仓库,而生产部门也会根据生产计划生成领料单,到原料仓库领料,放入生产车间生产,生产完成后,成品送往销售部的成品仓库,销售部人员就根据订单,成品出库。284.1.2 物控部门用例图物控模块:图4-1-2(1) 物控模块用例图Fig.4-1-2(1) Material control module use case diagram采购模块:图4-1-2(2) 采购模块用例图Fig. 4-1-2(2)Purchasing module use case diagram4.1.3 生产部用例图4.1.4 销售部用例图图4-1-3 生产部用例图 图4-1-4 销售部用例图Fig.4-1-3Production use case diagram Fig. 4-1-4 Sales case diagram 4.1.5 系统部分用例描述4.1.5.1 物控部门物控模块:1) 用户登录用例用例名称用户登录用例IDWKJingli_01参与者物控部经理描述物控部经理登录过程风险低优先级紧急难度低启动主动进入用户登录页面前置条件用户在未登录状态后置条件将用户信息保存在会话中在页面上显示用户信息主事件流物控部经理系统1进入用户登录界面2用户输入用户名密码3用户输入验证码4系统检查用户名密码是否合法5系统检查用户名是否存在,密码是否正确6读取用户信息,在页面上显示用户基本信息7保存用户信息到会话异常流异常流系统不存在输入的用户或用户名错误系统重新显示登录页面异常用户不存在或密码错误异常流用户名密码检查不通过系统显示出错信息异常用户名不符合要求密码过短商业规则用户名不能包含html字符2) BOM定义用例用例名称BOM定义用例IDWKRenyuan_01参与者物控人员描述定义BOM内容的过程风险中优先级高难度中启动用户主动进入BOM管理模块前置条件以物控人员的身份登录系统后置条件用户能对BOM里面的内容进行定义主事件流物控人员系统1进入BOM管理模块2找到要定义的项目3系统显示要定义的项目的页面4点击添加按钮5转跳到定义页面6按需要添加对项目的定义7确认添加8数据录入到数据库,页面转跳到项目信息页面异常流异常流物料单位没有定义系统提示请添加物料单位异常物料单位没定义商业规则单位的设置要符合实际3) 月度委托生产订单的修改用例用例名称修改月度委托生产订单用例IDWKRenyuan_03参与者物控人员描述月度委托订单修改的过程风险中优先级高难度中启动用户主动进入月度委托订单新建的页面前置条件必须是以物控人员的身份登录到系统后置条件能对月度委托订单页面进行作业主事件流物控人员系统1进入月度委托订单模块,点开新建页面2点击要修改的订单的ID3转跳到添加界面4点击添加产品按钮5在一个新标签中显示物料明细表6双击要添加的产品,并输入数量,按下确定按钮7系统将数据录入数据库,在添加界面上及时得出添加的物料信息8如果想删除某产品,在添加界面上将产品的“”去掉点击重新计算,并按下按钮9系统显示提交成功,数据录入数据库,系统转跳到月度委托生产订单页面,数据已更新显示出来。异常流异常流没有输入添加产品的数量系统提示请添加数量异常数量不能为0商业规则无采购模块:1) 建立原料入库单用例用例名称建立原料入库单用例IDCGRenyuan_03参与者采购人员描述采购入仓数据录入过程风险中优先级高难度中启动进入采购进仓页面前置条件以采购人员的身份登录系统后置条件无主事件流采购人员系统1进入采购进仓页面2点击添加原料按钮3在新标签中显示物料明细4选择要添加的物料,输入数量,确认添加5显示添加成功异常流异常流添加物料是没有填写物料数量系统提示请输入数量异常不能添加物料商业规则无4.1.5.2 生产部门1) 建立年、月度生产计划用例用例名称建立年、月度生产计划用例IDSCJingli_01参与者生产部经理描述建立年、月度生产计划过程风险高优先级高难度中启动登录年、月度生产计划页面前置条件以生产部经理的身份登录系统后置条件无主事件流生产部经理系统1点开生产计划的年度菜单2点开新建页面3显示年度生产计划表4填入相关数据,点击确认添加按钮5显示添加成功异常流异常流带星号的表单没有填写系统提示有星号的必须填写异常无法进行审核商业规则无2) 审核领料单用例用例名称审核领料单用例IDSCJingli_01参与者生产部经理描述审核领料单过程风险中优先级高难度低启动登录审核领料单页面前置条件以生产部经理的身份登录系统后置条件领料单已生成主事件流生产部经理系统1点开工厂管理的领料菜单2点开审核页面3显示领料单列表4点开相应领料单5显示领料单信息6点击审核按钮7提示审核成功,领料单审核状态为已审核异常流异常流添加物料是没有填写物料数量系统提示请输入数量异常不能添加物料异常流没有添加产品系统提示请添加产品异常不能提交销售订单商业规则无4.1.5.3 销售部门1) 销售订单录入用例用例名称销售订单录入用例IDXSRenyuan_01参与者销售人员描述销售订单录入过程风险中优先级高难度低启动登录销售录入页面前置条件以销售部人员的身份登录系统后置条件无主事件流销售人员系统1点开订单管理菜单2点开新建页面3显示订单列表4点添加按钮5显示销售订单录入表单6输入用户数据,点击添加产品按钮7在新标签中显示产品明细表8双击要添加的产品,输入数据9数据存入数据库,在销售订单录入表单中显示新的产品数据10按提交按钮11数据存入数据库,销售订单生成异常流异常流添加物料是没有填写产品数量系统提示请输入产品数量异常不能添加产品商业规则无2) 客户信息修改用例用例名称客户信息修改用例IDXSZhuguan_01参与者销售业务主管描述客户信息维护过程风险低优先级低难度低启动登录客户信息维护页面前置条件以销售部业务主管的身份登录系统后置条件无主事件流销售业务主管系统1点开用户管理菜单2点开用户页面3显示用户列表4双击用户ID5弹出用户基本信息6对用户基本信息进行修改,点击确认修改按钮7数据录入数据库,在用户列表上显示新的用户数据异常流异常流带星号的表单没有填写系统提示有星号的必须填写异常无法进行审核商业规则无4.2 系统架构设计架构的设计理念:本系统所采用的Struts2+Spring+Hibernate架构是轻量级的架构,编码少,单元测试方便,代码入侵性低。这三个框架均为开源框架,架构的整体设计采用了MVC模式。这种架构整合之后的开发出来的Web应用系统具有更低的耦合性,结构更清晰,代码重用率高,具有很好的可维护性,消除了单独使用某个框架开发系统的不足。框架的处理流程:首先,用户通过客户端页面的html页面发出命令请求,struct过滤器和拦截器过滤和拦截不恰当的请求,向客户端发送提示消息。通过的请求到服务器的struts.xml的配置文件找到对应的Action,执行相应控制层类的指定业务函数方法,进行业务层操作。再调用Spring内容的上下文获得指定的service层和dao层的函数,dao层运用Hibernate中的hibernateTemplate执行hql对数据进行持久层操作,完成数据处理。最后,通过struts配置文件找到返回的页面,把数据返回到客户端。图4-2基于J2EE的软件工程实训系统的逻辑架构Fig.4-2The logical architecture of J2EE software engineering training system4.3 系统安全性设计下面介绍一下系统的权限实现这个模块的实现是通过struts2的拦截器技术来实现的,拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。在Webwork的中文文档的解释为拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。提到拦截器,还有一个词拦截器链(Interceptor Chain,在Struts 2中称为拦截器栈Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。4.3.1 权限所涉及的领域模型 图4-3-1领域模型Fig.4-3-1Domain model数据库表设计如下权限表Permission table角色表Role table角色权限表Role-permission table用户表Use table4.4 开发环境及其工具开发环境:操作系统:Windows XPJDK:JDK6.0 update1Applic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工宿舍施工方案
- 双场活动策划方案
- 数学知识与能力提升培训课件
- 数学培训知识点书课件
- 出纳应聘自我介绍
- 护理文件书写制度
- 会阴裂伤的护理方法
- 数字摄影基础知识培训课件
- 骨牵引术病人护理
- 护理制度及流程
- 最全海外常驻和出差补助管理规定
- 试生产总结报告
- 房地产制度与标准 -中建一局项目管理标准化指导手册(第一版)
- 《老年学概论(第3版)》课件第一章
- GB/T 6495.1-1996光伏器件第1部分:光伏电流-电压特性的测量
- GB/T 30951-2014小型水电站机电设备报废条件
- GB/T 18948-2017内燃机冷却系统用橡胶软管和纯胶管规范
- 电动汽车充电桩申请安装备案表
- DB32T 4073-2021 建筑施工承插型盘扣式钢管支架安全技术规程
- 易制毒、易制爆培训试卷及答案
- 入行论94课第1个颂词
评论
0/150
提交评论