仓库管理系统的设计与实现

 摘 要

随着市场经济的高速发展,库存管理越来越重要,如何降低成本,提高工作效率是库存存储管理者需要解决的一个实际问题。本库存管理信息系统是针对的实际需求,从实际工作出发,在分析目前库存管理信息系统中存在的问题的基础上,结合管理信息系统开发的概念、结构及系统开发的基本原理和方法,并利用计算机运算速度快、存储信息容量大、处理逻辑问题强、功能强大的优势,采用目前流行的B/S结构,通过Internet/Intranet实现对库存进行管理,特别是对库存基本信息管理、库存调配信息等进行完整的监控而开发出来的。从查询与决策信息的管理需求出发,针对性强,功能齐备,旨在通过帮助该库存管理实现信息化、网络化,以提高管理的效率。

本库存管理信息系统主要包括“库存入库管理”、“库存出库管理”、“库存基本信息管理”和“系统用户管理”等模块。它主要对库存的出入库进行统计和核算,及时准确地掌握商品库存情况,并动态反映库存的增减变动,为的决策提供基础数据。

 关键字:B/S,库存,库存入库,库存出库

第1章 绪论

1.1 前言

当今社会是一个信息社会,一个知识经济时代。自世界上第一台计算机ENINC(Electronic numerical integrator and calculator)于1946年在X问世到现在,计算机业飞速发展,技术淘汰指标高的惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”,随之而来的是以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃兴起。可见,世界已进入在计算机信息管理领域中激烈竞争的时代,计算机已经变得普通得不能再普通的工具,如同我们离不开的自行车、汽车一样。

随着经济的全球化以及中国经济改革的逐渐深化,各面临着越来越多激烈的竞争。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能在各种竞争中立于不败之地。库存管理是一般工业、商业生产管理环节中重要的一环,所以,有效地进行库存基本信息管理、库存调配信息等进行完整的监控已经成为了各生存和发展的头等要事。

本库存管理信息系统就是在这样的信息技术广泛应用的时代背景下,本着用户的需求,借助于现代化的管理方法和信息技术开发出来的。与此同时,我所学到的知识也得到了理论联系实际的目的。

1.2背景

对库存的管理在生产经营中非常重要,库存管理的好环,直接影响着的经营生产和发展进步。由于库存供应渠道多、品种规格千变万化,这就使得库存的供应和管理变得复杂和困难。如何加强成本意识,做好库存供应、降低库存、加速资金周转、加强库存使用监督和财务监督以成为愈加关注的问题。在库存管理中采用计算机管理十分必要,这对于搞好库存的供、管、用三方面的工作,保障供应,合理地使用库存,提高库存管理劳动生产率,促进健康发展具有重要意义。

采用计算机库存管理系统,具有以下优点:

1利用计算机和信息技术,可以代替人工劳动,减轻工作人员工作量和工作繁琐程度,提高工作效益和工作质量等。

2 通过对库存的有效管理,可以节约资金占用,降低库存,提高经济效益。

3 通过对材料消耗的控制,降低生产成本。

4.通过对供应渠道的有效管理,加强与供应商的协作,提高市场反应能力。

1.3 国内现状的研究

信息已成为继劳动力、土地、资本之后的又一大资源。谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中占有一席之地,谁就会有更多的优势。

库存供应部门是与生产单位之间的桥梁、纽带,是正常生产的库存保障部门。正因为供应部门是关键的中转环节,建立一套库存管理信息系统对于如何有效的把本单位生产所需的生产资料及时、保质保量的供应上去,有着重要的意义。从微观上讲,建立一套库存管理信息系统能够加快库存的周转速度,提高生产效率,从而加强了管理的信息化手段,提高了本单位的经济效益。从宏观上讲,顺应了社会的信息化、社会化潮流,缩短了整个社会化大生产的周期。

由于库存管理在社会大生产中占用重要地位,其计算机化在发达国家已达到95%以上,而我国在全国范围内推广计算机在管理中的应用,是在80年代初开始的。起步虽晚,但发展快。特别是微型计算机的出现和普及,为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。库存管理工作中存在的主要问题:

1 ) 根据各单位或公司所报材料明细逐个与库存账本对照查阅,库中有其所需材料则开据料单从库中领取,若库中没有,则通知采购人员采购。库中库存种类繁多,查对繁琐,易出错。

2 ) 从开据发料单到每月结账、清册都是手工操作,计算器加算盘,效率低且准确率不高。单位配备的计算机仅局限于打字,做报表,不能开单据,计算机应有的功能没有充分发挥。

针对以上存在的问题,通过建立库存管理信息系统使库存管理工作更加规范化、程序化,提高其处理工作的速度和准确性,也便于动态查询,提高效率。

1.4开发思路

通过对以上在库存管理中存在的问题及需求调查得知,以前的库存管理办法,工作繁琐,工作量大,效率低。因而,建立一套库存管理信息系统势在必行。各单位的需求虽然不尽相同,但大体上可分为如下几个方面:

(1)用户的信息要求:随时查询库存存库状况,进行库存存库汇总,对记录能随时删除、插入及恢复。

(2)用户的处理要求:能随时增加、删除,修改每一个库存存库记录,并能打印单据。

(3)对数据的安全性、完整性的要求:要保证每个记录必须完整。

第2章 理论综述

2.1 JSP技术简介

JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。

在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。

2.2 JSP工作原理

JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。

2.3 JSP体系结构

JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。

模式一:JSP+JavaBeans技术 在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。

模式二:JSP+Servlet+JavaBeans技术 Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。

从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。

2.4 JSP的特点

2.4.1 简化的页面生成技术

JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。

2.4.2 与Java平台有机集成

JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。

2.4.3 硬件平台和服务器无关性

JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。

2.4.4 功能可扩展性

如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。

JSP可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行连接。

JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。

2.5系统数据库连接

JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。

简单地说,JDBC能完成下列三件事:

同一个数据库建立连接;

向数据库建立连接;

处理数据库返回的结果。

JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。

很多可视化的Java开发工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。

数据库访问的三层结构如图2.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。

b47f1b32cc784f47adb8a9e4ab77a9f7  图2.1 使用中间件的数据库访问三层结构

用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。

在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图2-2所示。

1290a886228db993dab6ffbf7ae1a028  图2-2 JDBC的三层模型

因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。

JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。

数据库连接如图2-3所示:

d969335b3ab3af8bf7b277695ccedd2a  图2-3 数据库的连接处理

数据库的连接处理具体实现如下:

//建立JDBC——ODBC桥

sun.jdbc.odbc.JdbcOdbcDriver;

//桥建立不成功时的错误处理

catch(ClassNotFoundException event){}

//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中

Con=建立JDBC——ODBC桥

Sql=SQL查询语句

执行查询

Rs=返回结果

//SQL出错处理

catch(SQLException e1){}

2.6 SQL Server简介

SQL SERVER 是Microsoft在关系数据库管系统(RDBMS)方面的开发成果。其主要目的是尽可能快地存储、管理和检索大量数据。我们将使用SQL SERVER存储与知识系统网站相关的所有信息,这些信息会由应用程序逻辑动态放置在网页中。

SQL Server是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 2000 的膝上型电脑到运行Microsoft Windows XP的大型多处理器的服务器等多种平台使用。

2.7 “结构化查询语言”(SQL)简介

SQL全称是“结构化查询语言(Structured Query Language)”,最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用,如Oracle 、Sybase、DB2、Informix、SQL Server这些数据库管理系统都支持SQL语言作为查询语言。

结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。

SQL广泛地被采用正说明了它的优点,使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。

2.8 BS模式与C/S模式的比较分析

C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。

B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。

第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。

第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。

第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQL请求,管理数据库。

B/S模式的优势

首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代面临着日新月异的竞争环境,对内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。

再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使MIS系统维护的限制因素更少。

最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代所需的。这使得的大部分书面文件可以被电子文件取代,从而提高了的工作效率,使行政手续简化,节省人力物力。

鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些已经领先一步开始使用它,并且收到了一定的成效。

B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选。

2.9 JDBC介绍

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。

Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。

JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。

MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。

简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例:

Connection con = DriverManager.getConnection(”jdbc:odbc:wombat”,”login”,

“password”);

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(”SELECT a, b, c FROM Table1″);

while (rs.next()) {

int x = rs.getInt(”a”);

String s = rs.getString(”b”);

float f = rs.getFloat(”c”);

}

上述代码对基于JDBC的数据库访问做了经典的总结

2、统一的语言

SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,高级的命令在几天内便可掌握。以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。

3、是所有关系数据库的公共语言

由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。

第3章 系统的需求分析

3.1 库存管理存在的问题

长期以来,库存管理工作中的信息管理是采用人工的方式,要付出大量人力,填写各种表格、凭证、账册、卡片和文件。由于信息是随着时间不断变化的,各业务部门对信息的使用要求也各不相同,所以要按照不同的分类经常不断地汇总、统计,往往要做许多重复登记和转抄。这种手工操作的管理方式,不仅浪费人力,而且存在许多缺点:(1)处理速度慢,影响信息及时性。(2)易出现错误,影响信息精确性。(3)不便于查询。(4)缺乏综合性,不能起控制作用。由于这些缺点,大大降低了信息的利用价值,显然越来越不适应现代库存管理工作的需要。因此,发展以电子计算机为基础的库存管理信息系统已是十分迫切和必要的了。

3.2 可行性分析

所谓开发的可行性,就是指在整个系统开发工程中,解决“做什么”的问题,把要解决哪些问题,满足用户哪些具体的信息需求调查分析清楚,从逻辑上或说从信息处理的功能需求上提出系统的方案,即逻辑模型,为下一阶段进行物理方案设计,解决怎么办提供依据。它是信息开发系统中的一个重要阶段,是建立系统模型的第一步。其核心是目标分析与需求分析,最后提出系统的逻辑方案。

3.2.1 技术可行性

该系统所需硬件设备,如服务器、PC机、打印机及网络配件等,这些设备在性能上已经有了很大提高,价格又相对较低,能满足系统功能需求。软件上,操作系统采用WINDOWSXP,数据库管理系统采用SQL SERVER,这些软件在MIS开发中已被大量应用,技术上都比较成熟。本系统采用WEB技术来实现,使用JSP可以创建动态、交互的Web服务器应用程序,JSP页面可以使用脚本语言(如Vbscript、Javascript等)因此技术上是可行的。

3.2.2 经济可行性

本信息系统属于一个工具型的系统,它可以节省工作人员大量数据收集、录入、整理、查询、修改等手工操作,而且迅速准确,能够极大地提高工作效率,最大限度的降低用户和管理员的工作量,使库存管理尽量简便,同时促进业务的规范化、程序化,及时给各级领导提供必要的信息统计。系统开发所需的费用是比较低的,由于系统并不复杂,其运行与培训费用也不会占用很多资金,可以预见系统完成后可以带来较大的经济效益。

综上所述,实施MIS在技术上、经济上都是可行的,因此,开发库存管理信息系统是可行的。

3.3 用户需求分析

库存管理是管理中的重点,存在着信息录入量大,查询请求多,查询条件繁杂的特点。而已有的库存管理系统因为操作烦琐,不能进行方便的操作,已经不能够满足管理中的需要。

为了将库存管理纳入规范化、现代化管理的轨道,针对现有库存管理中存在的问题和管理的实际需要,我们将理顺管理体制、建立各种管理规范与开发信息系统有机地结合起来。通过建立专门的库存管理信息系统来实施对库存进行统一管理。所以,为了顺应用户需求,我们推出了基于WEB的库存管理信息系统。

3.4 系统需求分析

系统需求分析主要就是明确库存管理信息系统所要实现的目标,并给出解决方案。对系统的需求分析可以从功能需求和数据需求两方面来进行。功能需求分析主要是对系统所要实现的目的进行分解,使之形成既相互独立又相互联系的几个部分,然后将每个部分映射为一个或多个功能,这些功能相互之间形成一个有机的整体。数据需求分析就是对系统中涉及的数据进行识别,并描述出它们在系统中的关系和流向。

如上所述,通过功能需求分析可以得到系统的主要功能,通过数据需求分析则对数据库设计有所帮助。下面详细进行这两个部分的分析。

3.4.1 功能需求

库存管理信息系统需要实现系统用户管理,基础数据管理,库存出库(入库)等几个部分功能,下面分别阐述这几个部分的功能需求。

(1)系统用户管理模块:

用户的添加,用户的删除,(2)基础数据管理模块:

库存信息的管理,供应商信息的管理,(3)库存出库(入库)管理模块:

库存出库库存入库库存查看库存报警

3.4.2 数据需求

通过前面对系统功能需求的分析,可以了解到库存管理信息系统主要实现的功能,包括库存基本信息维护、库存入库信息记录、库存出库信息记录、库存存库信息查询和系统用户管理。

库存管理信息系统所涉及的主要数据包括库存记录、入库记录、出库记录、库存存库和用户记录,下面分别分析这些数据需求。

(1)库存记录

库存记录是库存管理中建立的库存基本信息。

库存基本信息供库存入库、库存出库和库存管理使用,即整个库存管理信息系统的数据是以库存记录为基础的。库存基本信息一旦被入库记录使用,该库存记录不能再被删除。

(2)入库记录

入库记录是库存入库的信息,在进行库存入库登记时,需要记录是库存信息,负责人,入库时间。

入库记录由库存产生,需要用到库存基本信息,形成的入库信息可以在库存管理中使用。当入库信息被库存出库引用时,该入库记录不能被删除

(3)出库记录

出库记录是库存出库的信息,与入库库存类似,在进行库存出库记录时,也要记录库存信息,负责人,出库时间。

(4)库存存库

库存存库是动态的库存存库信息,它可以通过入库记录和出库记录的总汇数据得到。当需要查看库存存库时,只要按照各种库存统计其累计入库和累计出库,累计出库和累计入库的差就是库存数量。因此从需求角度来看,库存虚空数据是可以计算出来的,不需要保存。

库存管理中只要使用库存基本信息,入库信息和出库信息,然后通过简单地加工处理,就可以形成库存存库数据。

(5)用户记录

用户记录是用户管理中建立的用户基本信息。可以查看到登录过的用户的登录日子。

(6)库存报警

当库存到了一定的程度就无法再继续进行库存入库了,系统将会自动进行库存报警功能。

通过对系统数据需求的分析,可以得到如下图3-1所示的系统数据流图。该图简明地表示了库存管理信息系统的主要数据流向。

0a7f814c83a11ddb887a4d0a62afa7e4

图3-1系统数据流程图

第4章 总体设计

4.1 系统设计方法三原则

人类在复杂的工程技术系统如能源、交通等建设方面,积累了丰富的经验,为研究复杂系统如管理信息系统

提供了科学的指导性方法论,其主要原则如下:

整体性原则。系统是相互联系,相互作用的诸要素组成的综合体。我们必须从整体和各组成部分的相互关系来考察事物,从整体目标和功能出发,正确处理系统各组成部分之间的相互关系和相互作用。

分解—协调原则。就是把复杂问题化成若干相对简单的子问题以方便求解。若子系统的问题比较复杂,还可以再分。但在处理各类子问题时,必须根据系统的整体功能和目标,协调各子系统的行为、功能与目标,以保证整体功能目标的实现。

目标优化原则。所谓目标优化原则对简单系统来说,是求最优解,对复杂系统来说,求的是满意解。一定要注意,目标优化原则并不简单是求最优解的问题

这里最需要指出的是:以上三原则是系统方法中处理复杂系统问题的三个主要原则,并非全部原则。在处理实际问题时,还需在这些原则的指导下,根据问题的特点,确定求解的具体方法和策略。

4.2 系统设计的体系结构

本库存管理信息系统的设计及开发采用了流行的B/S(浏览器/服务器)模式的数据库体系,用户端口主要负责人机交互,包括一些与数据和应用关系的图形和界面运用;Web服务器主要负责对客户端应用程序的集中管理;应用服务器主要负责应用系统的逻辑结构和数据关系,即事务处理;应用服务器又可以根据其处理的具体业务不同而分为多个;数据服务器则主要负责数据的存储和组织、分布式管理、备份和同步等等。

4.3 系统设计的任务

系统开发的总体任务是实现库存信息的系统化、规范化和自动化。库存管理信息系统是一个将用户管理、库存管理、库存入库、库存出库和库存管理等功能融为一体的系统。一个完整的库存管理信息系统的任务主要包括以下几项:

(1).库存管理,主要负责管理库存基本信息,包括库存信息的添加、删除和查询。

(2).库存入库,主要负责库存入库的登记,包括库存入库信息的添加、删除和查询。

(3).库存出库,主要负责库存出库的登记,包括库存出库信息的添加、删除和查询。

(4).库存存库,主要负责对当前库存存库信息的查询。

(5).用户管理,主要负责管理用户基本信息,包括用户信息的添加、删除。

4.4 数据库综述

数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。数据库在系统中占有非常重要的地位,数据库设计的好坏将直接影响系统的效率。合理的数据库设计可以提高数据存储的效率,有利于程序的实现。

创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。

1.标识需要的数据;

2.收集被标识的字段到表中;

3.标识主关键字字段;

4.绘制一个简单的数据图表;

5.规范数据;

6.标识指定字段的信息;

7.创建物理表。

4.5 系统E-R图

由于直接将显示世界信息按具体的数据组织模型进行组织,必须同时考虑很多因素,设计工作非常复杂,并且效果也不很理想,因此,需要一种方法来对现实世界的信息结构进行描述。E-R方法就是一种实体–关系方法,而其使用的工具就是E-R图。E-R图由实体、实体的属性以及实体之间的关系三部分组成,实体是具有相同的性质并且彼此之间可以相互区分的现实世界对象的集合;属性是实体所具有的特征,它是描述实体或者关系的性质的数据项;实体之间的关系通常是指不同实体之间的关系。

1. 实体:管理员

c879201b92f93019b8c5f87e3e5506b5  图4-1 管理员实体E-R图

2. 实体:供应商

9ebfb2a997aa2d3e69ad2b7b7bb5c8ee  图4-2 供应商实体E-R图

3. 实体:库存存库

3c0909ceb8c62fbd8dd9472fcd5cb025  图4-3库存存库实体E-R图

3cb0869021b6d7c951e125f0e2700a90

图4-4 入库报表实体E-R图

5. 实体:库存出库

5a44793b5be4567497a17b2e7f79f00f

图4-5 出库报表实体E-R图

根据以上局部E-R图模式,经过总结设计,可得到总体设计的全局E-R模型:

1660efb305cdac19e73593a4adfbe34b

图4-6总体E-R图

第5章 系统界面设计

进入库存管理信息系统,首先看到的是系统的登录界面,输入有效的用户名和密码才可以进入系统管理界面,界面如下图所示。

8a91a319a63fd43fc46fe062ac505306  (1)系统管理界面设计

系统登陆成功后进入系统管理界面,在此可以进行不同信息的管理,界面如下图所示。

9b8eab913c276e46b5426ee9135612a0  (2)库存入库界面设计

点击库存管理信息系统的“库存入库”进入库存入库信息管理界面,在此可以进行相应的库存入库信息添加。界面如下图所示。

c660f3af20f50d82e28c163e91b31c0a  (3)库存出库界面设计

点击库存管理信息系统的“出库信息”进入库存出库信息界面,在此可以进行相应的库存出库信息添加。界面如下图所示。

dbfd7fe127b611db60a375448bc5004e  (4) 库存查看界面设计

点击库存管理信息系统的“库存查看”进入库存库存信息界面,界面如下图所示

ba021e7ff7acff2f6b7feadc908351b5  第6章 测试

6.1 测试的任务及目标

6.1.1 测试的任务

在软件投入生产性运行之前,尽可能多地发现软件中的错误。

6.1.2测试的目标

(1)测试的目的是为了发现程序中的错误而执行程序的过程。

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。

(3)成功的测试是发现了到今为止尚未发现的的错误的测试。

6.2 测试方案

测试有两种方法:黑盒测试和白盒测试。

黑盒测试又称为功能测试,在程序接口进行,只检查程序功能是否能够按照规格说明书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够保持外部信息的完整性。白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。

6.3 测试用例

测试是软件开发时期的最后一个阶段,也是软件质量保证中至关重要的一个环节,它的目的是发现程序的错误和不足之处。

本系统采用黑盒测试中的等价类法,对系统进行测试。检测库存管理系统有问题需要大量的输入数据,下面只列出一部分测试用例:

建立有效等价类是管理员名称和密码都正确,期望结果:登录成功!无效等价类如表6-1所示:

表6-1 管理员登录无效等价类

无效等价类 期望结果
名称空缺

密码空缺

管理员名称错误

管理员密码错误

用户名为空!

密码为空!

用户名或密码错误!

用户名或密码错误!

测试用例:

第1组:用户名:adom 密码:admin

测试结果:进入管理界面界面(ad1.jsp)

第2组:用户名:密码:admin

测试结果:用户名为空!

第3组:用户名:admin密码:

测试结果:密码为空!

第4组:用户名:admin密码:123

测试结果:用户名或密码错误!

第5组:用户名:123 密码:admin

测试结果:用户名或密码错误!

除了对上述模块进行测试,其他部分也要进行测试,方法类似,这里就不在举例了。

结 论

这次论文的撰写工作已经结束了,按照软件工程的思想,采用了MVC设计模式,通过问题定义、可行性研究、需求分析、概要设计、详细设计、测试的过程,对在线阅读网站系统的整个开发过程做了详细的阐述,同时,遵循结构化程序设计,对软件开发步骤做了详细的规划。

本文对基于JSP技术的库存管理系统,阐述了库存管理的需求和应用MVC设计模式的软件体系结构,进一步熟悉了JSP及相关技术,了解了开发平台的其他相关技术如JS,AJAX等页面实现技术。

该库存管理系统实现了入库和出库等各项功能,能够追朔到数据的始终。完成了在库存系统从需求到实现的开发过程,达到预期要求目的。该系统在开发过程中仍存在许多的缺点和不足,因为本人是第一次做系统程序的开发,经验不足,能力有限,所以开发出的系统软件功能还不够完善,我以后在系统设计需要应该注意和解决的问题。

致 谢

短暂毕业设计已经接近了尾声。在这段时间里,巩固了我在大学期间所学,增强了我的实际动手能力,提高了我与老师、同学以及朋友之间的沟通能力,使 我充满信心来面对明天的各种机遇和挑战。

感谢所有燃烧自己,照亮别人的园丁们,我将带着你们的希望,以不同的方式,在祖国的现代化建设中奋斗。

在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我们小组顺利完成这次毕业设计起到了关键性的作用。

我还要感谢我的母校——济源职业技术学院,以及在大学三年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。

转眼间,大学生活即将结束,回首过去三年的大学生活,真是有苦也有乐,然而更多的则是收获,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。计算机专业的毕业设计任务繁重,但正是在这几个月紧张而充实的设计中,我感到自己的知识得到了一次升华,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。

新世纪已经到来了,在新的世纪里,人们自然对未来有许多美好的愿望和设想。现代科学技术的飞速发展,改变了世界,也改变了世界的生活。作为新世纪的大学生,应当站在世界的发展前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。新世纪需要具有丰富现代科学知识、能够独立解决面临任务、有创新意识的新型人才。

参考文献

[1]孙卫琴,李洪成.《Tomcat 与 Java Web 开发技术详解》.电子工业出版社,2003年6月

[2]BruceEckel.《Java编程思想》. 机械工业出版社,2003年10月

[3]FLANAGAN.《Java技术手册》. 中国电力出版社,2002年6月

[4]孙一林,彭波.《Java数据库编程实例》. 清华大学出版社,2002年8月

[5]LEE ANNE PHILLIPS.《巧学活用HTML4》.电子工业出版社,2004年8月

[6]飞思科技产品研发中心.《JSP应用开发详解》.电子工业出版社,2003年9月

[7]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月

[8]孙涌.《现代软件工程》.北京希望电子出版社,2003年8月

[9]萨师煊,王珊.《数据库系统概论》.高等教育出版社,2002年2月

[10]Brown等.《JSP编程指南(第二版)》. 电子工业出版社 ,2003年3月

[11]清宏计算机工作室.《JSP编程技巧》. 机械工业出版社, 2004年5月

[12]朱红,司光亚.《JSP Web编程指南》.电子工业出版社, 2001年9月

[13]赛奎春.《JSP工程应用与项目实践》. 机械工业出版社, 2002年8月

[14]美.霍尔著钟鸣等译. Servlet与JSP权威指南. 机械工业出版社. 2002-10-1

[15]刘彬主编. JSP数据库高级教程. 清华大学出版社. 2006-3-1

[16]飞思科技产品研发中心编著. SQLServer2000高级管理与开发. 电子工业出版社.2002-1-1

[17赵杰等编著. 数据库原理与应用(SQLServer). 人民邮电出版社. 2006-7-1

仓库管理系统的设计与实现

仓库管理系统的设计与实现

价格 ¥9.90 发布时间 2023年8月27日
已付费?登录刷新
下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/162861.html,

Like (0)
1158的头像1158编辑
Previous 2023年8月27日
Next 2023年8月27日

相关推荐

My title page contents