欢迎进入上海阳合供应链管理有限公司!
  •  13472705338 

  • 果蔬类自动化立体仓库的货位优化研究
  • 高职院校化学药品仓库管理
  • 装备仓库管理系统的设计与实现
  • 自动化立体高架仓库的消防设计研究
  • 某仓库建筑预作用喷水灭火系统设计探讨
  • 甲类危险化学品仓库调研及管理研究
  • 最新动态

    当前位置:首页 >> 走进阳合 >> 新闻资讯 >>   资讯详细新闻资讯

    基于B/S模式仓库管理系统的实现

      信息来源:   发布时间:2021-12-23  点击数:

    一、仓库管理系统的分析和设计

    1. 系统设计目标和研究内容

    (1) 系统设计目标

    建立一个Java+Servlet+Java Bean结构的仓库管理系统, 实现仓储管理信息化, 通过对库存物品的人库、出库、盘点等操作进行全面的控制和管理, 帮助企业有效地降低库存、减少资金占用, 避免出现物料积压或短缺现象, 保证生产经营活动的顺利进行。

    (2) 系统研究内容

    1) 仓库管理系统业务流程分析

    确定各业务流程, 分析及形成标准化的流程结构图, 对特定的非标准流程进行解析, 分析数据流向, 为系统整体框架结构设计打下基础。

    2) 货物信息资源库和管理人员数据库结构优化研究

    分析货物信息的主要数据结构, 建立资源数据库, 数据库的设计是整个设计的关键, 它是关系到系统功能优劣, 程序设计繁简的重要因素。

    3) 系统处理的准确性和及时性

    系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中, 要充分考虑系统当前和将来可能承受的工作量, 使系统的处理能力和响应时间能够满足仓库货物信息处理的需求。

    4) 系统模块结构研究

    开发这个系统的目的就是帮助仓库管理人员提高工作效率, 实现货物信息管理的系统化、规范化和自动化。系统最终实现的主要功能如下:

    a.“入库管理”主要是进行产品的入库操作。

    b.“出库管理”主要是进行产品等的出库操作。

    c.“库存管理”主要是进行库存产品的盘点等操作。

    d.“综合查询”主要是对产品的入库、出库、库存、退库等的查询操作。

    2. 仓库管理系统总体设计结构

    (1) 总体结构

    设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。目前, 在大多数Browser/Server结构的Web应用中, 浏览器直接通过HTML或者JSP的形式与用户交互, 响应用户的请求。虽然很直观, 但是大多数管理信息系统操作的数据量都是惊人的, 随着代码的增多会使J S P页面臃肿不堪, W e b服务器的负荷过重。因此, 在中间层上采用基于模型视图控制器 (MVC, Model-ViewController) 的设计模式。MVC之间的关系如图1所示, Model层用来实现业务逻辑, View层用来显示用户界面, Controller层主要负责View层和Model层之间的控制关系。具体实现时, 把Servlet用作应用程序的控制器, 把JSP文档作为视图, Java Beans被用来表示模型。所有的请求都被发送给作为控制器的Servlet, 它接受请求, 并根据请求信息将它们分发给适当的JSP来响应。同时, Servlet还根据JSP的需求生成Java Beans的实例并输出给JSP环境。

    图1 MVC之间的关系

    图1 MVC之间的关系  下载原图


    早期的Web应用开发中常常在JSP页面中同时实现显示、业务逻辑、流程控制和数据读取等, 这种开发模式使HTML代码和Java代码强致藕合在一起开发调试困难, 同时各种流程控制、业务模型不能得到很好的建模实现重用。为了解决以上问题, S U N公司先后制定了两种规范, 称为Model1和Model2。

    Modell实现了显示和内容的分离, 将业务数据和逻辑封装在Java Beans中, 流程控制和显示交由JSP完成, 在一定程度上实现了MVC模式。

    这种开发模式非常适合小型Web应用开发, 然而在进行比较大的应用项目开发时却遇到了困难, 依然会有大量的请求交由JSP去处理, 显示页面也常常被随意的加入大量Java代码, 使得Java开发人员和网页设计人员分工不明确, 开发和维护困难。为了解决这些问题, 随后便出现了Model2, 结构如图2所示, 本系统也采用了Model2模式。

    图2 Model2模式

    图2 Model2模式  下载原图


    (2) 系统架构

    本系统主要有登陆模块、信息显示模块、增添信息模块、信息删除模块和文件修改模块五个模块组成, 它们之间的关系如图3所示。首先由仓库管理人员登录系统, 然后进入list页面, 可以在list页面输入货物信息进行查询, 并且可在list页面调用其它功能模块。

    图3仓库管理系统架构

    二、仓库管理系统的实现

    本系统的数据库是基于Microsoft Office Access2003的。建立一个名为SYSTEM的数据库, 包含两个表:USETABLE、CANGKULISTTABLE。

    其中USETABLE表用来存储仓库管理人员的账号和密码, 分别用UNM和PWD两个字段来表示 (表1) 。

      

    表1 USER表结构表  下载原图



    表1 USER表结构表

    CANGKULISTTABLE用来存储仓库中货物的相关信息, 共有10个字段, 具体内容如下 (表2) 。

      

    表2 CANGKULISTTABLE表结构  下载原图



    表2 CANGKULISTTABLE表结构

    2. 用户登录模块

    从程序流程图可以看出, 仓库管理人员登录系统时首先打开login.jsp的网页, 在输入用户名和密码后, 由login.jsp页面调用loginservlet。loginservlet主要用来控制页面的跳转, 如果用户名输入不正确, 在登录页面会有相应的提示。servlet会自动对网页提交表单的Post方法得到的数据进行处理, 使用户只要简单的调用Http Servlet Request的get Parameter方法, 给出变量名即可取得该变量的值。

    loginservlet调用了login Bean, 在这里, 它主要负责对数据库的相关操作。在list Bean有关数据库的连接的代码, 全部写入了一个叫做Db Connection的类里。这样可以节省一些代码占用的空间, 不必每个Java Bean在操作数据库时都重写相同的代码;并且, 在更换其他类型的数据库时, 只要修改Db Connection类就可以完成整个程序的修改, 增强了系统的适应能力。Db Connection类只有一个函数, 就是connOpen () , 以下是该函数的相关代码:


    3. 货物搜索模块

    在用户成功登录系统之后, 将显示如图3所示的页面, 也就是list.jsp页面。仓库管理人员可以在检索条件的窗口任意输入想查找的货物信息。


    图3货物搜索窗口仓库管理员输入检索条件后, 按检索键系统就会立刻调用list Servlet。list Servlet主要用来接收网页传递的检索条件, 并控制检索结果的显示进行相关控制。list Servlet调用list Bean, 将接收到的信息重新组合成为标准的SQL语句。list Bean连接数据库, 根据SQL语句检索出合适的记录, 先装入Hash Table, 再封装成一个Vector对象, 返回给list Servlet。这里是整个模块的重点, Vector对象和哈希表共同组成了一个类似二维数组的数据结构, 哈希表用来存储每条记录, 然后再把哈希表存入Vector对象中返回list.jsp页面。在list Bean中定义了一个返回值为Vector类型的函数get Vect () , 当对数据库进行查询之后, 用它来返回一个Vector类型的变量。

    查询的结果传回list Servlet后, list Servlet把Vector对象传回页面, List页面在接收到Vector对象后, 首先将HashTable从Vector对象中取出, 然后用<%=hTable.get (&quot;变量值&quot;) %>语句将从数据库返回的数据显示在图4所示的检索条件下方, 显示的效果如图4所示。

    图4 检索结果显示

    图4 检索结果显示  下载原图


    4.货物登记模块

    在图4所示的页面中单击“增加”按钮, 就可以跳转到货物登记的模块 (如图5所示) 。

    图5 货物登记窗口

    图5 货物登记窗口  下载原图


    仓库管理人员可以在这个页面添加到新到的货物及其相关信息。添加完成之后, 只要单击“保存”按钮, insert.jsp页面就会调用insert Servlet来接收相关数据, 然后传递给insert Bean。insert Bean首先找到数据库中的最后一条记录, 将CANGKUNO自加1, 并将添加的数据存入该条记录, 最后跳转回list.jsp页面。

    5. 货物信息删除和修改模块

    (1) 删除记录模块

    当仓库管理人员在list.jsp页面查找到数据后, 在如图5所示的页面中选择想要删除的记录, 单击删除按钮, list.jsp页面的相关函数首先判断用户是否选择了数据, 如果没有选择会弹出相应提示。判断用户选择数据后, 网页向modify Servlet传值, 由modify Servlet判断是否为删除操作, 如果是, 则向deleteBean传递要删除的CANKUNO, delete Bean进行数据库操作。

    在这个模块中, 最主要的部分就是有关数据库记录删除的部分, 也就是delete Bean部分。

    (2) 修改记录功能描述

    仓库管理人员在如图5的页面选择数据后, 单击“修改”按钮可以跳转到update.jsp页面, 进行货物信息的修改。在update.jsp页面有一个update Is Valid () 函数负责判断用户每次是否只选择了一条记录, 如果多选, 则弹出提示框。同时, 该函数还负责生成相应的SQL语句, 并把Flag变量的值改为“update”, 然后将SQL语句和变量Flag传递给modify Servlet。modify Servlet通过判断Flag的值, 分析出用户需要修改记录, 于是调用sel Bean。sel Ben主要负责对数据库进行查询, 然后把查询的结果保存在哈希标准。

    如果查询数据操作成功, update Servlet控制页面跳转到Update.jsp页面上。这时, Update.jsp根据哈希表中的内容, 将信息显示在相应的输入框中 (如图6所示) , 方便用户的修改。当用户修改完毕, 单击保存按钮, 页面上的数据向update Servlet传递。update Servlet部分完成接受网页上的代码, 并传向update Bean, 最后由update Bean对数据库进行操作, 更新数据库中的数据。

    图6 货物信息修改窗口

    图6 货物信息修改窗口  下载原图


    三、总结与展望

    (1) 具有良好的人机交互性界面, 便于使用。仓库的管理者通过通用的浏览器界面访问WEB服务器而获得仓库管理信息, 而浏览器的使用不需要专门的培训。

    (2) 具有良好的移植性。本系统是采用J S P开发的, 因此不仅可以在Windows服务器上运行, 还可以在Unix, Linux等其他服务器上运行。

    (3) 采用先进的程序设计模式。采用优秀的MVC程序设计模式有效地使JSP, Servlet和Java Bean S既相对独立, 又相互联系, 从而使显示逻辑、业务逻辑和数据提供职能明确, 提高了网站功能模块的可维护性、可扩展性和组件的可重用性。

    (4) 可维护性好。系统采用的B/S体系结构, 在系统升级、维护时, 只需改动服务器端程序模块, 而无需改动客户端, 实现了客户端的零维护, 降低了成本。

    局限主要表现在以下三个方面:

    (1) 由于时间的关系本系统在功能上还不是十分完善, 还有很多的功能有待以后进一步地增强。

    (2) 在系统安全方面, 还可以使用SSL协议来保证数据从客户端到服务器端的安全性, 使传递的仓库货物信息不容易在传输的时候被第三方截获。

    (3) 由于测试环境的限制, 本管理系统的测试工作未能达到十分完善。

    标签: 仓库 仓库管理



    友情链接 :图书管理软件   飞机   软件测试  保温材料   洒水车厂家   装修中式别墅  电锅炉  国际货代     明泰铝业  集成吊顶  成都活动策划公司 货代管理软件 进出口代理清关公司 模具钢  烟雾净化器 工作服价格 工业设计公司 激光打标机   电子签章   植发多少钱  上海展台搭建   网页设计公司   网上商城  电磁流量计   钢制暖气片
    上海货代  定制礼品   香港服务器租用 精品资源网   餐饮项目  纺织品检测
     磁性过滤器  上海物流公司
    膏药OEM 爬架网 远程工作 污水提升器
    防爆配电箱  网店转让   加速器
    沪公网安备31010702002684号 沪ICP备14036201号-29