基于SSH框架的钢厂库存管理系统的分析和设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《工业控制计算机》2018年第31卷第5期
在钢铁生产的整个流程中,钢板、钢卷等物料的存放管理是重
要的一环。
随着行车位置跟踪系统在钢厂库区的成功应用,钢厂库
区的行车状态信息、物料调度信息等能够被地面主控计算机实时
获取并录入数据库,从而使钢厂库区的实时监控成为了一种可能[1]。
部分研究者以此为前提采用了和技术来快速开发出钢厂库区远程监控系统[2],但是因为的跨平台可移植性较差,无法满足当前大环境下跨平台多系统的要
求,同时又因为之前的远程监控系统只有读取数据库数据并通
过可视化界面显示的功能,无法通过此系统对数据库进行修改
操作。
因此,针对新的运行环境和新的业务需求,本文采用Java
平台,开发出基于SSH框架的钢厂库存管理系统。
1框架介绍
SSH框架是Struts、Spring、Hibernate三大框架进行整合
后的简称,是现如今Java开发的主流框架之一。
1.1Struts框架
Struts框架是Java后端开发中的MVC框架,MVC全名是Model View Controller,含义是模型-视图-控制器,是软件设计中的一种典范。
它的核心思想就是将视图和模型各自分离,通过对控制器的调用来实现视图和模型的交互,实现高内聚、低耦合的编程思想,从而使应用软件具有伸缩性、便于扩展和流程维护[3]。
本次设计采用Struts2框架。
Struts2的工作原理如图1。
图1Struts2工作原理图
1.2Hibernate框架
Hibernate框架是Java后端开发中的持久层框架,用于系统同数据库交互。
它是对JDBC的再一次封装,比如对数据库简
单的增删改查操作,只需要调用Hibernate中封装好的方法即
可实现。
Hibernate框架替开发人员省去了编写大量重复SQL
语句的工作,使得系统开发更加快捷和简单。
Java开发中另一个很常用的持久层框架是Mybatis,My⁃batis比Hibernate更加灵活一些,对于复杂的查询需要自己手
动编写SQL语句,所以在针对不同数据库操作时需要编写数据
库自己的SQL语句,这会给移植带来不便。
因此,出于可移植性
的考虑,本系统选择了Hibernate框架。
1.3Spring框架
Spring框架是一个轻量级的Java开源框架,所谓轻量级
的意思就是Spring框架不需要依赖很多其他的组件就可以实
现它自身的功能。
Spring框架有着控制反转、面向切面编程、提
供事务管理等众多优秀的特点[4],并且它对其他的开源框架如Hibernate、Mybatis、Struts都提供了支持,可以将它理解成一个
中间层框架,对其他框架起着承接的作用。
它的出现使得开发人
员在系统开发过程中能够专注于业务逻辑,不必费心在各个环
境的搭建和对象的创建上。
2系统设计
2.1业务功能设计
这套系统为库区管理人员设计,提供了库区总览、库存管
理、用户管理、报表生成的功能,其中库存管理有着增加库存、修
改库存、删除库存、库存分页查询、根据材料号或者垛位号查找
库存的功能,用户管理有着用户登录组别识别、增加用户、修改
用户、删除用户、用户分页查询的功能。
2.2系统框架设计
基于SSH框架的钢厂库存管理系统的分析和设计
Steel Factory Inventory Management System Based on SSH Framework
朱宇哲李奇(东南大学自动化学院,江苏南京210096)
摘要:以系统具备良好的可移植性为目标,在满足钢厂库区业务需求的前提下,设计并开发出钢厂库存管理系统。
该系
统采用分层设计和面向接口编程的思想,基于Java平台,使用SSH框架实现了对库区物料的集中管理。
该系统在钢厂的
成功应用提高了库区管理人员的工作效率,也减轻了系统维护人员的维护负担,具有不错的功能扩展性和后期可维护性。
关键词:库存管理,SSH,分层设计,面向接口编程
Abstract押With the goal of good portability of the system熏the steel plant inventory management system is designed and developed on the premise of meeting the demand of the steel plant warehouse.Based on the Java platform熏the centralized management of the material in the reservoir area is realized by using the SSH framework.The successful application of the system in the steelworks has improved the efficiency of the management staff in the warehouse.
Keywords押inventory management熏SSH熏layered design熏interface-oriented
programming
图2系统架构图
131
基于SSH 框架的钢厂库存管理系统的分析和设计
整个系统架构如图2,使用SSH 框架的好处在于方便我们将数据模型层、数据访问层、业务逻辑层、业务控制层、视图层分离,使得各层各司其职。
下面按此顺序具体阐述,相应的文件结构如图3。
2.2.1数据模型层
对应图2中的Domain ,此层以面向对象的编程思想创建对应于数据库中各表单的实体类。
实体类的编写采用JavaBean 的编程规范,即对象属性私有化,通过各属性的get /set 方法来访问对象属性,同时对外提供一个无参构造函数。
2.2.2数据访问层
对应图2中的DAO ,本层可以分成DAO 接口类和DAO 实现类两部分,开发过程中我们可以先在接口类中确定需要实现的功能,即编写Java 类中的一些方法,再在对应的实现类中将接口实现,这种面向接口的编程思想可以使程序的可扩展性大大增强。
2.2.3业务逻辑层
对应图2中的Service ,该层用来处理针对业务需求的操作,例如对人员、物料的分页查询操作都是在此层实现。
业务逻辑层的存在将基本数据库操作和由业务需求产生的特定的数据库操作解耦,提高了后期的可维护性。
本层也可以分成Service 接口类和Service 实现类两部分。
2.2.4业务控制层
控制层根据用户的请求调用业务逻辑层对象的相应方法,将得到的值存入值栈中返回给视图层。
该层实际上在做MVC 模型中Controller 的工作。
2.2.5视图层
在Java 开发中,视图层由JSP 文件组成,JSP 文件可以在静态HTML 文件的基础上添加Java 代码、Struts 标签、OGNL 表达式、EL 表达式,从而实现动态展示和实时更新的功能,提供良好的交互式页面。
2.3Web 服务器的选择
采用Apache Tomcat 服务器来部署整个Web 项目。
Web 服务器实现用户请求的接收和处理工作,实现与内网数据库的交互工作,最后将处理结果反馈给客户端[5]。
2.4数据库设计
现场采用Oracle 数据库,针对系统需要实现的功能,设计
了USER_TABLE (用户表)、STACK_INVENTORY_TABLE (库存表)、POSITION_INVENTORY_TABLE (垛位属性表)和T_TASK _HISTORY_TABLE (历史指令表)。
表1为USER_TABLE ,用于记录用户的基本信息,在管理系统中用于用户登录和用户管理。
表2为STACK_INVENTORY_TABLE ,用于记录物料在库区中存放位置和一些物料的基本信息,在管理系统中用于监控页面的可视化和库存的添加、修改、查询、删除操作。
表2
库存表
表3为POSITION_INVENTORY_TABLE ,用于记录垛位的物理位置,在管理系统中用于垛位的可视化。
表3
垛位属性表
表4为T_TASK_HISTORY_TABLE ,用于记录对物料的具体操作,在管理系统中用于查询报表和生成报表。
表4
历史指令表
猿系统实现
开发过程中采用了自底向上的开发流程,即从数据模型层开始,逐层实现功能,最终能通过动态页面的方式展现出用户所需要的功能。
3.1数据模型层实现
按照系统设计中所述的规范创建实体类,实体类创建完成后,再通过Hibernate 框架中的hbm.xml 文件将实体类同表单建立映射关系,从而实现系统同数据库的交互。
3.2数据访问层实现
该层的类需要继承HibernateDaoSupport 类,再利用Spring 框架的依赖注入特性创建相对应的Domain 层的实体对象,然后就可以通过调用Spring 和Hibernate 集成的Hiber⁃nateTemplate 中的方法实现对数据库中数据的操作,如修改库存只需调用this.getHibernateTemplate穴雪.update穴inventory雪。
图3文件结构
图
表1用户
表
132
《工业控制计算机》2018年第31卷第5期
(上接第130页)
考虑到训练数据集的训练结果会对数据集会产生“过度拟合”问题,因此需要对其进行剪枝操作。
本文通过采用悲观剪枝法[7]从树的叶子逐步向根进行剪枝,剪枝完成后,得到如图3所示的质量数据分类决策树模型:
图3
质量数据分类决策树
从剪枝完成后的决策树树形结构可以发现,对于质量数据中的重要件和关键件来说,密封因素很大程度上影响最后对零部件等的处理方式,如果关重件在密封上不受到影响,那么不管外观是否受到影响,都可以直接原样使用;对于已经受到密封影响的关重件,需要视外观的影响程度来决定对关重件的处理方式。
因此,对于关重件来说,其密封性能的影响决定是否需要处理,这就提醒质量管理者在检测关重件时一定要重点检测其密封程度。
如果发现其密封性能产生问题,应及时处理,从而减少
质量问题的产生。
对于质量决策者而言,质量决策树为他们对质量问题的零部件决策提供了一个很好的参考。
只需要参照树形结构的每一个节点值,就可以找到对应的质量处理方式,而不需要花大量时间去参考原始数据,这样有利于帮助决策者在最短的时间内对质量故障数据完成合理的评估,或者帮助那些对质量业务不熟悉的管理者实现质量业务指导。
参考文献
[1]吴敏,徐辰华,王春生.基于模糊分类变系数的铅锌烧结过程综合透气性状态预测[J ].华东理工大学学报(自然科学版),2006(7):19-23
[2]王伟,娄相芽,杨永红,等.基于RBF 工神经网络的喷丸成形工艺参数预测方法[J ].组合机床与自动化加工技术,2008(8):43-45,49[3]黄松林,崔建忠.基于人工神经网络的铝合金铸锭裂纹倾向预测[J ].
中国有色金属学报,2008(9):1699-1705
[4]贾剑平,徐坤刚,李志刚.改进型BP 网络在优化焊接工艺参数中的应用[J ].热加工工艺,2008(21):98-100
[5]龚淑华,刘祥官.模糊贝叶斯网络应用于预测高炉铁水含硅量变化趋势[J ].冶金自动化,2005(5):30-32,42[6]董华,杨世元,吴德会.基于模糊支持向量机的小批量生产质量智能预测方法[J ].系统工程理论与实践,2007(3):98-104[7]邹瑞芝,罗可,曾正良.基于粗糙集理论的决策树分类方法[J ].计算
机工程与科学,2009,31(10):112-114
[收稿日期:2018.2.28
]
3.3业务逻辑层实现
Service 层注入DAO 层对象后即可调用DAO 层中基本的增删改查的方法,以此为基础,在此层需要实现分页查询和针对某字段查询的功能,如根据材料号查询垛位号的方法public String getPileNumberByMatNumber穴String matNumber雪邀...妖。
3.4业务控制层实现
该层的类需要继承ActionSupport 类并且实现ModelDriv⁃en 接口,然后在此层注入业务逻辑层的对象。
因为所有的业务功能都已在业务逻辑层中实现,所以本层只需要将业务逻辑层和视图层关联起来即可。
3.5视图层实现
采用Struts 中的<s押iterator>标签来实现分页查询的效果,针对某字段查询的功能运用到了AJAX 技术,使用JQuery 中的AJAX-post 方法实现。
利用AJAX 页面无刷新技术,提高了页面的访问效率[6]。
3.6配置文件的编写
系统中主要的配置文件有web.xml 、struts.xml 、applica⁃tionContext.xml 、jdbc.properties 。
使用配置文件可以增强系统的可移植性和可维护性,当一些需求改变时,只需要改变一些配置文件的参数即可,从而避免了对源码进行修改。
web.xml :Web 项目一启动就会读取的配置文件,其中配置了Spring 的核心监听器和Struts2的核心过滤器。
struts.xml :Struts 框架的核心配置文件,用于建立视图和处理视图的Action 的映射关系。
applicationContext.xml :Spring 框架的核心配置文件,用于引入其他框架的配置、创建和管理对象、管理事务等。
这里采用注解的方式来管理事务,在配置文件中加入:
<bean
id =″transactionManager″class =″org.springframework.
orm.hibernate3.HibernateTransactionManager″>
<property name=″sessionFactory″ref=″sessionFactory″></proper⁃ty>
</bean >和<tx押annotation -driven transaction -manager =″transac⁃tionManager″/>。
对于创建和管理对象,我们可以添加例如:
<bean id=″inventoryAction″class=″com.southeast.action.Inventory⁃Action″scope=″prototype″></bean>的代码,
上述代码就可以将是Struts 框架下的物料管理的Action 对象交给Spring 创建和管理。
jdbc.properties :数据库信息文件,包含数据库驱动文件类名,需要连接的数据库地址,用户名和密码四个属性。
源结束语
基于SSH 框架的钢厂库存管理系统可以很好地实现跨平台的要求,能够兼容钢厂的多种系统,实现不同库区的集中管理。
系统设计中采用的分层思想和面向接口编程,可以使后期维护和二次开发更加简单快捷,能够很好地满足钢厂库存管理不断更新的需求。
参考文献
[1]贾陈,方仕雄,钱王平.钢厂库区远程实时监控系统设计[J ].现代冶金,2014(2):73-76
[2]嵇玉,李奇.基于EXT 的钢厂库区远程监控系统设计[J ].工业控制计算机,2017,30(3):9-10[3]黎永良,崔杜武.MVC 设计模式的改进与应用[J ].计算机工程,2005,31(9):96-97[4]张钟浩,魏金海,彭章友.基于SSM 的车辆保险系统设计和实现[J ].工业控制计算机,2017,30(5):141-142[5]孟涛.基于SSH 的库存管理系统设计与实现[D ].天津:南开大学,2013
[6]谌湘倩,狄文辉,孙冬.基于SSH 框架与AJAX 技术的JavaWeb 应
用开发[J ].计算机工程与设计,2009,30(10):2590-2592
[收稿日期:2018.1.10]
133。