摘要:B/S是一种基于浏览器/服务器的开发模式架构,MVC是一种理论性的软件项目设计模式。本项目选用B/S和MVC开发模式,以JAVA作为开发语言,通过设计项目的控制流程,划分项目的结构层次,从而制定项目的开发逻辑,期望通过项目的完成促进现代物流仓储信息化管理,为信息化仓储管理的工程开发提供可行性方案。
关键词:MVC;JAVA;仓储管理系统
1、引言
随着人们生活水平的提高和电子商务的壮大,物流行业得到了快速发展。物流业是包含仓储、运输、配送、流通加工等一系列活动的行业,其中仓储在降本增效上发挥着重要的作用。如何对仓储进行科学管理,建立仓储管理系统,成为物流快速流通和资金流快速运转的关键因素。
2、基于B/S和MVC模式的仓储物流管理系统设计
2.1 方案选择
模块、视图、控制器是MVC设计模式的三个重要模块,不同模块完成不同的功能。控制器的功能是获取客户端发送的请求参数信息,并调用模型查询数据,获取数据,将查询到的数据交给视图展示。模型的功能是进行业务逻辑操作,比如查询数据库,封装数据等。视图的功能比较单一,只是用来展示数据。早期的Java项目没有MVC模式,在页面中同时编写大量的代码逻辑以及超文本标签,导致项目难以阅读和维护。Java ee 或Java web 的项目开发借鉴MVC开发模式之后,使程序设计更加合理,大大降低程序间的耦合度,方便项目维护、分工和复用。
B/S架构是一种开发架构,开发架构有两种,分别是基于客户端/服务器的C/S架构和基于浏览器/服务器的B/S架构。Java对于服务器端的开发,一般使用B/S架构。B/S架构分为三层架构,第一层是表现层,主要是与浏览器进行数据交互,获取请求的参数信息,调用业务层的方法,给浏览器返回与请求相对应的数据。第二层为业务层,处理业务需求,调用持久层逻辑。第三层是持久层,进行与数据库有关的操作,根据传递过来的参数,对数据库中的数据进行查询,保存等操作。一次浏览器与服务器的交互流程:(1)浏览器给服务器端发送请求,请求先到达表现层,表现层请求参数,调用业务层。(2)业务层对需求进行处理,调用持久层的程序。(3)持久层与数据库进行交互,并返回数据查询结果。(4)最终表现层拿到返回的数据,把响应结果回写给浏览器,用户从浏览器直观的看到响应的结果,一次交互结束。
基于B/S和MVC模式的物流仓储管理系统,以Servlet为控制器,JavaBean为模型,JSP作为视图,采用B/S三层分布式系统控制流程模式,将浏览器作为客户端,客户端请求服务器资源,Servlet获取客户端的请求信息,调用JavaBean,把获取的数据封装起来,调用业务层的方法,进行业务操作,例如查询数据库数据,把数据返回给Servlet,Servlet再把返回的数据回写给JSP,最终对浏览器客户端做出对应的响应。基于B/S和MVC模式的物流仓储管理系统流程控制图如图1所示。
2.2 分层设计
在开发中使用 MVC 开发模式虽然有很多优点,但是同时也增加了代码的复杂性,对于一些相对简单的web 程序,如果严格地使用MVC设计模型,会导致一个JSP视图有多个响应数据访问,产生重复访问问题,影响系统的执行效率。
因此,本系统在表现层并没有严格的遵循MVC设计模式,在持久层与数据库进行交互时,将持久层划分为多个层,使用工厂模式完成层与层之间的交互,增强了系统对不同数据库的兼容性,避免因为更改数据库而对持久层中的底层代码进行更改,从而降低了程序的耦合度,提高了程序的复用性,使程序更方便维护和扩展。
表现层:用户在界面输入和输出数据时,表现层显示页面的方式是Web 方式,表现层的页面设计要符合用户的操作习惯,帮助用户了解当前项目界面以及系统中信息数据的进度。
业务层:为表现层包装的请求数据的具体的调用方法,处理表现成的业务需求,用户通过浏览器发送请求的参数数据是随意变更的,数据经过表现层获取发给业务层的业务需求也是变动的,逻辑层的调用方法设计应该能够为表现层的请求提供充分的数据支持。
持久层:通过业务层的调用,根据业务层传递的参数信息,访问数据库的数据,对于存在的数据返回查询数据的结果,对不存在的数据进行保存或者返回数据不存在的信息,持久层对数据库的操作通过两种方式进行,一是通过解析XML文件,一是通过EF技术,向业务层和表现层响应实体类以及对传递的数据进行操作。
2.3 系统总体结构设计
基于B/S和MVC开发模式的物流仓储管理系统分为系统管理模块、补货管理、出入库管理、移库管理四个功能模块,按照不同的逻辑处理系统中的数据,系统管理对系统静态数据、库存初始数据、用户数据的进行设置与管理,补货管理对货物的补货量、补货策略、补货单进行管理,出入库管理完成出库和入库的业务管理以及相应库存数据的查询,移库管理对货物的移库业务进行调度管理。
基于MVC设计模式的物流仓储管理系统总体框架如图2所示。
2.4 数据库设计
采用MySQL数据库,通过对系统数据需求分析,建立数据库统计系统中的数据,对系统中的有效数据信息建立数据表,主要用于查找,修改和存储系统中出现的员工信息,库存信息,补货信息,出入库信息等数据。仓储管理系统运行之前需要将系统的基础资料数据录入到系统数据库,并根据不同的系统需求设计不同的逻辑,将数据表按一对一、一对多、多对多的关系关联起来,例如员工表和部门表。员工表与部门表的实体关系图如图3所示。
3、仓储物流管理系统实现
本系统按照Java web开发原理,采用MVC 开发模式和B/S三层开发架构,使用IDEA作为集成开发环境,MySQL作为关系型数据库,完成系统开发。
3.1 系统登录管理
仓储物流管理系统是不允许用户通过注册登录的管理系统,只有拥有登录权限的员工才可以登陆系统,登录权限由最高权限系统管理员分配系统登陆相关的信息授权。
用户登录仓储管理系统,系统回自动弹出登录页面,用户输入正确的登录信息及验证码登录系统,登录成功进入系统首页。普通员工登录系统,无法修改个人信息,只能修改登录相关的用户信息,如登录名和登录密码,只有系统管理员有权限修改员工信息,以及分配给不同部门的员工对数据库操作的权限,普通用户只能在权限内通过系统对系统中的数据进行操作。
3.2系统基础数据管理
使用仓储物流管理系统,需要将系统需要的基础数据如员工信息、部门信息、货物信息、客户信息、供应商信息等数据录入系统中,数据录入可以通过系统输入后保存到数据库,也可以直接将基础数据导入数据库,登录的用户根据权限对系统基础数据进行业务操作。
3.3系统出入库管理
出入库管理主要是对进入仓库的货物进行统计,核查货物出入库的单据以及货物的调度。其中入库调度并不是真实对货物进行出入库操作,而是在货物入库前对货物进行调度,入库管理是对货物进行真实的出入库操作。
4、仓储物流管理系统测试与维护
4.1 系统功能测试 为了保证基于B/S和MVC开发模式的物流仓储管理系统能够达到预期的功能实现,需要对系统进行测试,主要是测试系统能否对不同的业务操作做出对应的响应,包括对系统的输入测试、操作测试、GUI测试、链接测试以及功能测试等等。输入测试:测试系统能否正确识别输入的语言,系统是否出现乱码。操作测试:测试系统的各个界面的操作按钮是否有效,是否能做出正确的响应。GIU测试:在系统的不同的页面上能否执行用户输入的语句,是否能正确响应页面的布局和响应数据的结果,达到用户期望的结果。
4.2 系统维护
定期对基于B/S和MVC开发模式的物流仓储管理系统进行系统维护是为了保证系统能够持续的正常使用,通过对系统运行时出现bug进行修复,保证系统的稳定性以及安全性,同时为了提升系统的性能,添加更全面的功能,还需要对系统进行更新,每一次修复,更新之后都需要对系统进行测试。物流仓储管理系统的系统维护主要包括:对系统中的数据进行修改,清理系统中出现的无效数据,比如清理离职员工的信息、变动的部门信息等;对系统中运行效率低的程序进行更改,从而提升系统运行速度等等,为信息化仓储管理的工程开发提供可行性方案。
5、总结
基于B/S和MVC开发模式的物流仓储管理系统所使用的项目框架和开发逻辑,满足现代物流仓储管理的流程,对物流行业起到了降本增效的作用。根据项目的控制流程和结构层次制定的开发逻辑,为仓储管理信息化工程的开发提供可行性方案。C
(作者单位:北京物资学院)
参考文献
[1] 任广震, 侯进, 王献. MVC模式在B/S结构政务系统的应用研究[J]. 计算机应用与软件, 2014(8).
[2] 刘正, 张书锋, 赵鹤鸣. MVC模式下多层分布式软件系统架构设计[J]. 现代电子技术, 2018.
[3] 刘亮, 霍剑青, 郭玉刚, 等. 基于MVC的通用型模式的设计与实现[J]. 中国科学技术大学学报, 2010(6).