基于Java的ERP系统的设计与实现.doc
《基于Java的ERP系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Java的ERP系统的设计与实现.doc(8页珍藏版)》请在冰豆网上搜索。
龙源期刊网
基于Java的ERP系统的设计与实现
作者:
葛熠王亭亭颜士俊
来源:
《电脑知识与技术》2012年第23期
摘要:
信息技术的迅速发展加快了制造企业的现代化与信息化的进程,为了合理、系统地管理经营与生产,企业资源计划(ERP)被人越来越重视。
该系统的开发以Oracle10为基础,使用了JSF、Struts、Hibernate和Spring框架,PL/SQL建表并添加到Oracle数据库中,同时使用了B/S三层结构。
能够实现用户管理、权限管理、主数据管理、物料清单管理等功能。
关键词:
ERP;Java;ORACLE;B/S;系统设计
中图分类号:
TP302.1文献标识码:
A文章编号:
1009-3044(2012)23-5518-05
TheDesignandImplementationofERPSystemBasedonJava
GEYi,WANGTing-ting,YANShi-jun
(CollegeofElectronicandInformationEngineering,NanjingUniversityofInformationScienceandTechnology,Nanjing,210044,China)Abstract:
Therapiddevelopmentofinformationtechnologyhasspeededuptheprocessofmanufacturingenterprisemodernizationandinformationtechnology.ERPhasgottenmoreandmoreattentionwhichintendstomanagetheproductionreasonablyandsystematically.ThesystemwasdevelopedbasedonOracle10,usingJSP,Struts,Hibernate,SpringFrameworkandPL/SQLtobuildthetableaddedtotheOracledatabase,andalsoB/Sthree-tierstructure.Thesystemhasthefunctionsofusermanagement,rightsmanagement,maindatamanagement,billofmaterialsmanagement.
Keywords:
ERP;Java;ORACLE;B/S;systemdesign
现代企业管理技术在物料需求计划和制造资源计划发展基础上产生了企业资源计划ERP。
ERP是一个集合企业内部的所有资源[1],进行有效的计划和控制,以达到最大效益的集成化信息管理系统。
ERP也是中国企业顺应历史潮流,走向世界市场的必然趋势。
ERP含着先进的管理思想,是企业提高生产效率,节约运营成本的重要手段之一。
一个好的ERP系统可以能够全面提升公司的工作效率和管理效能。
因此该文介绍一种基于Java的ERP系统。
1国内外研究现状
在国外的发达国家,MRPII/MRP的发展和应用己经比较普遍,很多的公司己经采用ERP解决了企业物料供需信息集成,目前全球化的供应链需求管理和敏捷制造技术,已经在很多中小企业应用MRP/ERP。
国外的ERP软件产品主要有SAP公司的R/3system,oracle公司的OracleApplieationsRlli等。
国外新一代的ERP系统在软件开发中融合了大量最新信息技术,使得一些系统支持传统的客户/服务器模式。
国内ERP系统为了适应中国国情,系统的开发与应用主要集中于传统ERP的核心功能,如物料需求计划、物料采购计划、生产管理等。
软件模块适用性强。
某些系统除了基本业务功能以外还提供某些程度的扩展。
2ERP系统分析
2.1ERP系统可行性分析
可行性分析的目的是使用最小的代价在尽可能短的时间里确定问题是否能够解决,其最根本的任务是对以后的行动方针提出建议。
2.1.1技术可行性
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,软硬件配置是否满足开发者需要等。
本系统采用的是Java编程语言[2],使用的是Oracle数据库和B/S(Browser/Server)结构[3],这些技术的使用都使得开发工作得以顺利的进行,能够满足系统设计在技术和硬件设备上的条件。
2.1.2经济可行性
经济可行性分析主要分析系统的经济效益能不能超过它的开发成本。
本系统的开发以计算机为基础,使用计算机对资料加以管理,不仅可以减少大量的人力,而且可以更加科学、高效的管理,在经济上是可行的。
2.1.3操作可行性
操作可行性分析主要分析系统的操作方式在用户组织内行不行得通。
本系统借助于网络,不仅简单易用,界面形象,只需点击相应的按钮就可以完成各种操作,方便用户查询,而且将实现办公的网络化和无纸化,有利于减轻工作负担,提高工作效率,在操作上是可行的。
2.2ERP系统需求分析
需求分析是的任务就是解决“做什么”的问题,就是要全面的理解用户的各项要求[4],并准确地表达所接受的用户需求,是介于系统分析和软件设计阶段之间的桥梁。
2.2.1系统功能需求
通过和企业相关人员的交流、沟通以及对该企业原有系统的分析、理解,系统需要用户管理、权限管理、主数据管理、物料清单管理、订单管理、生产计划管理、供应商管理、报价管理、用户账户的管理以及权限和安全性的管理、容错管理等功能。
2.2.2系统性能需求
在本系统中,系统需要达到实用性高、系统的操作简单易行[5]、技术先进、安装使用简便、代码可读性好等性能要求。
2.2.3系统数据流图
数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
,数据流图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎么具体地实现这些功能。
本系统的数据流图如图1所示。
3ERP系统设计
3.1ERP系统总体框图
本系统采用J2EE三层架构,分为表现层、业务逻辑层和数据模型层。
MVC三层体系[6]将业务规则、数据访问等操作放置于中间层处理,客户端不直接与数据库交互,而是通过控制器与中间层建立连接,再由中间层与数据库交互。
表现层采用JSF,主要采用JSF的组件。
中间层采用Struts+Hibernate+Spring,数据库采用的是Oracle数据库存放数据,具体的总体框架如图2所示。
图2系统总体框图
3.2ERP系统功能设计
经过前期的需求分析和进一步的研究,总结出该平台需要完成的一些具体功能,分析如下:
(1)管理员
增加用户:
增加普通用户。
用户管理:
负责管理用户的注册,对用户信息更改。
增加供货厂商:
管理员同样可以按目录找到所需的资料,单击资料名可以浏览该资料。
增加供货厂商的详细信息。
提交订单:
根据库存和生产计划提交企业订单。
(2)物料部门人员
列出原料厂商:
列出供货商的ID,供货种类,以及报价等
列出原料:
原料ID,数量,价格等
(3)生产工艺部门人员
列出厂商类型:
生产厂家的类型
增加清单:
产品清单
查询清单:
产品清单
(4)销售部门人员
列出订单:
产品订单,包括ID,价格,日期等
列出订单详情:
产品订单,包括ID,价格,日期等
(5)生产部门人员
列出厂商:
列出厂商ID,类型等
列出产品类型:
产品ID,类型等
本系统设计分为两个部分:
前台设计(用户使用)和后台设计(管理员使用)。
3.3数据库设计
在系统的设计中,数据库设计的重要性是不言而喻的。
通过进行正规化的表格设计,可以是代码更具有可读性,更容易扩展,从而也会提升应用的性能。
3.3.1数据分析——数据库中表的建立
本系统数据库设计是在选定的数据库管理系统基础上建立数据库的过程,包括概念结构设计、逻辑结构设计和物理结构设计三个阶段[7]。
数据库的概念设计完成概念模型(E-R模型图)的设计。
数据库逻辑设计将概念设计中所得的E-R图转换成等价的关系模式,然后对其进行规范化、适应DBMS限制条件的修改,满足性能、存储空间的调整等处理,最终得到下述对应的关系数据模型:
(1)USER表(用户id,用户名,密码,邮件);
(2)ROLE表(角色id,角色名,roledesc,旧角色名);
(3)MENU表(菜单id,菜单名,菜单链接);
(4)USER_ROLE表(用户id,角色id);
(5)ROLE_MENU表(菜单id,角色id);
为了便于在数据库中建表,将以上定义的表转换成对应的英文形式,如下所示。
(1)T_USER(USERID,PASSWORD,USERNAME,MAIL,OLDUSERNAME,OLDPASSWORD).
(2)T_ROLE(ROLEID,ROLENAME,LAYER,NAME,VERSION).
(3)T_MENU(MENUID,MENUNAME,MENULINK).(4)T_USER_ROLE(USERID,ROLEID).(5)T_ROLE_MENU(ROLEID,MENUID).
数据数据库物理结构设计的任务是选择合适的存储结构和存取方法,主要目的是提高数据库的性能和有效的利用存储空间。
本系统的数据库主要有T_USER表,T_ROLE表,T_MENU表,T_USER_ROLE表和T_ROLE_MENU表等。
3.3.2数据库的建立
本系统数据库的建立使用的是PL/SQL[8]完成的,Hibernate作为持久层,将JDBC做成了一个非常轻量级的对象封装,这样程序员在与数据库进行交互时可以不用书写大量的SQL语言。
使用JDBC连接ORACLE数据库的Context.xml内容为:
name="o10g"
type="javax.sql.DataSource"
password="sun"
driverClassName="oracle.jdbc.OracleDriver"
maxIdle="2"
maxWait="5000"