小型出入库系统的设计与实现.ppt
小型出入库系统小型出入库系统的设计与实现的设计与实现硕士论文答辩:硕士论文答辩:小型出入库系统的设计与实现小型出入库系统的设计与实现【摘摘 要要】:随着信息技术的发展,传统的统随着信息技术的发展,传统的统计方式在处理庞大的信息量时显计方式在处理庞大的信息量时显得极不适应,人们对于运用计算得极不适应,人们对于运用计算机来辅助协调和管理自身工作的机来辅助协调和管理自身工作的需求正在逐步提高。近来,国内需求正在逐步提高。近来,国内外兴起了一股办公自动化的热潮,外兴起了一股办公自动化的热潮,希望能借助相关的计算机技术实希望能借助相关的计算机技术实现对企业办公过程的自动化管理。现对企业办公过程的自动化管理。对信息流的有效组织和管理已经对信息流的有效组织和管理已经成为衡量一个办公自动化系统优成为衡量一个办公自动化系统优劣的重要标志。劣的重要标志。“好用库管好用库管”小小型出入库系统就是一个由人、计型出入库系统就是一个由人、计算机硬件、软件和数据资源组成算机硬件、软件和数据资源组成的,目的在于及时准确地收集、的,目的在于及时准确地收集、加工、存储、传送和决策的微型加工、存储、传送和决策的微型信息管理系统。信息管理系统。【关键词关键词】:出入库系统;库存管理;出入库系统;库存管理;数据输入;数据查询;管数据输入;数据查询;管理信息系统理信息系统Loading and Unloading System;Inventory Management;Data Input;Data Inquiry;Information Management System1系统和开发工具介绍系统和开发工具介绍1.1系统介绍系统介绍(1)系统名称)系统名称(2)模拟说明)模拟说明(3)系统功能)系统功能(4)系统运行条件)系统运行条件硬件系统环境硬件系统环境 CPU:C300或更高;或更高;内存:内存:64 MB或更大;或更大;硬盘:硬盘:50MB或更大。或更大。软件系统环境软件系统环境 Microsoft Windows 98以上;以上;Microsoft Visual Basic 6.0以上;以上;Microsoft SQL Sever7.0以上。以上。1.2开发工具介绍开发工具介绍(1)Microsoft Visual Basic 6.0(2)SQL Server 2000 1.3系统的技术特点系统的技术特点(1)使用)使用ADO控件来访问数据库控件来访问数据库(2)使用)使用ADO对象模型来访问数据库对象模型来访问数据库 2 系统分析 2.1现有状况分析现有状况分析2.1.1现有业务流程分析现有业务流程分析2.1.2存在的问题存在的问题(1 1)仓库的出入库记录全部由)仓库的出入库记录全部由人工完成,工作量非常大,而人工完成,工作量非常大,而且非常繁琐;且非常繁琐;(2 2)仓库经常出现数据误差的)仓库经常出现数据误差的现象;现象;(3 3)虽然有专职人员负责数据)虽然有专职人员负责数据核对与库存检点工作,但工作核对与库存检点工作,但工作效率非常低。效率非常低。2.2系统可行性分析系统可行性分析 对输入的数据能够进行整理归档,进行相适处理工作后再输出有用的数据信息;同时,系统能够及时统计相应的数据资料,为查询或输出等提供即时的数据资料。3 系统设计3.1系统设计概述系统设计概述系统设计作业的概念和任务可以归纳如下:(1)按照系统研究作业所限定的目标范围和信息源,应用专业知识找出或确认系统部件,一般情况下这些部件都应在目标提示的性质所覆盖的范围之内(系统部件代表系统的一部分的状态,系统的整体状态由这些部分的状态组成的);(2)根据目标性质所覆盖的系统部件,首先从系统结构上分析系统环境因素与系统部件之间的关系(系统环境因素包括有不可控制因素和可控制因素两类);(3)分析系统各部件之间的相互联系和影响,描述出系统的结构框图,使系统环境、决策系统和目标能有机地和协调地连结为一体,并能具体反映系统的行为特征;(4)依照系统整体状态及其行为特征,提出能反映目标方向性的参数作为该设计系统的输出。3.2库存系统总体设计库存系统总体设计3.2.1系统设计目标系统设计目标(1)方便的数据输入方式,良好的人机界面,尽量避免汉字和长字符串的人工重复输入;(2)灵活地查询性能,能快速实现库存数据的查询;(3)考虑到仓库原料的多样性,对新数据和无用数据也能给于处理;(4)把目前基本上是“静态”的库存管理数据变为“动态”的数据,能随时提供库存现状信息;(5)为了以后系统的改进,整个系统可以作为一个封装体。3.2.2系统基本功能系统基本功能(1)用户登录;(2)入库管理;(3)出库管理;(4)查询;(5)盘点;(6)系统维护(增加、减少操作员,原料基本资料维护,数据备份、数据恢复)。系统的功能结构图绘制如图3.1所示:3.2.3数据库规划数据库规划针对以上功能的实现,结合对功能实现的方便,数据库结构精简、合理性、易维护等15-17因素的考虑,总共建了5张表格,描述见表3.1-表3.5:3.2.4系统数据流程图系统数据流程图根据功能机构图和以上5张表,系统的信息数据流程图如图3.2所示:4系统实现系统实现4.1用户登录模块用户登录模块 界面设计:用户登录界面如下图所示:代码如下:Dim strsql As StringSet cn=CreateObject(adodb.connection)Set rs=CreateObject(adodb.recordset)cn.Open conn_stringstrsql=select*from login where 用户名用户名=&Text1(0).Text&rs.Open strsql,cn,3,3当不是以用户名“admin”登录时,主窗体的一些菜单的Enabled属性被设为了False,显示为灰色,不可用。如 下图所示:非管理员用户登录的结果非管理员用户登录的结果Fig.The sign in result of non-administrator4.2主窗体模块主窗体模块界面设计:主窗体各个模块的设置如下图所示:主窗体主窗体Fig.Main window4.3操作员维护模块操作员维护模块界面设计:操作员维护界面如图所示:操作员维护界面操作员维护界面Fig.Operator maintenance interface(1)功能分析:该窗体用于实现添加或删除操作员的功能。(2)功能实现:使用ADO控件来访问login表(操作员数据表),将DataGrid控件和ADODC控件绑定。当按下添加钮时,调用窗体frmUserin.frm,如图4.5所示:点击图中点击图中“添加添加”按钮后出现的按钮后出现的界面界面Fig.The interface after press“add”botton in Fig.4.4原料基本信息维护模块原料基本信息维护模块界面设计:原料基本信息界面如图4.6所示:窗体名:frmNew.frm(1)功能分析:该窗体用于实现添加或删除原料种类的功能。(2)功能实现:使用ADO控件来访问productnew表(原料基本信息数据表),将Data控件和ADODC控件绑定。当按删除钮时执行以下代码:Private Sub Command2_Click()Dim varBmk As Variant Dim Massage As Integer If DataGrid1.SelBookmarks.Count=0 Then MsgBox 请先选定要删除的行 Exit Sub End If DataGrid1.AllowDelete=True Massage=MsgBox(确定要删除吗?,vbYesNo)If Massage=vbNo Then Exit Sub End If For Each varBmk In DataGrid1.SelBookmarks With Adodc1.Recordset .Bookmark=varBmk .Delete End With Next Adodc1.RefreshEnd Sub实现删除功能,同时更新productnew表(原料基本信息数据表)。原料基本信息界面原料基本信息界面Fig.Raw material information interface点击左图中点击左图中“添加添加”按钮后出现按钮后出现的界面的界面Fig.The interface after press“add”botton in 4.5入库模块入库模块界面设计:入库界面如右图所示:窗体名:frmInput.frm(1)功能分析:该窗体用于实现原料入库的功能。(2)功能实现:该窗体是原料入库的界面,使用ADO对象模型来访问productnew表(原料基本信息数据表)、product表(原料库存数据表)和productin表(原料入库数据表)。入库界面入库界面Fig.Loading interface4.6出库模块出库模块界面设计:出库界面如图4.9所示:出库界面出库界面Fig.Unloading interface(1)功能分析:该窗体用于实现原料出库的功能。(2)功能实现:该窗体是原料出库的界面,使用ADO对象模型来访问product表(原料库存数据表)和productout表(原料出库数据表)。4.7查询模块查询模块界面设计:查询功能所用到的界面如下图所示窗体名:frmSeach.frm基于产品编号的查询界面基于产品编号的查询界面Fig.Searching interface based on product number(1)功能分析:)功能分析:该窗体能灵活地进该窗体能灵活地进行查询,能快速实行查询,能快速实现原料库存数据的现原料库存数据的查询和原料出入库查询和原料出入库单据的查询。单据的查询。(2)功能实现:)功能实现:该窗体使用该窗体使用ADO对对象模型来访问象模型来访问productin表(原表(原料入库数据表)、料入库数据表)、productout表(原表(原料出库数据表)、料出库数据表)、product表(原料表(原料库存数据表)。该库存数据表)。该窗体还使用了窗体还使用了SStab控件。控件。基于产品名称的查询 可以使用原料的编号进行查询。在使用产品名称进行查询时,在窗体中用了一个ComboBox控件来描述查询条件原料的名称和四个TextBox控件来描述库存原料的资料,如图所示:基于产品名称的查询界面基于产品名称的查询界面Fig.Searching interface based on product name基于入库单编号的查询使用入库单的编号进行查询,如图4.12所示:基于入库单编号的查询界面基于入库单编号的查询界面Fig.Searching interface based on receipt number使用出库单的编号进行查询,如下图所示。为了得到方便的数据输入方式和良好的人机界面,应尽量避免汉字和长字符串的人工重复输入,在窗体中用了一个TextBox控件来描述查询条件出库单的编号和六个TextBox控件来描述出库原料的资料。基于出库单编号的查询界面基于出库单编号的查询界面Fig.Searching interface based on outbound order number4.8盘点模块盘点模块界面设计:盘点的界面如下图所示:窗体名:frmTable.frm(1)功能分析:该窗体用于显示原料入库表、原料出库表和原料库存表三张报表。(2)功能实现:为了要创建数据报表,首先建立数据环境(Data Environment),然后单击窗口中的Data Environment1,再转向属性窗口,将Name属性设为报表。4.9备份恢复模块备份恢复模块界面设计:备份恢复界面如下图所示:备份恢复界面备份恢复界面Fig.Backup interface(1)功能分析:该窗体用于将product数据库备份或恢复。(2)功能实现:按下备份钮,会提示“确实要备份吗?”,选择否回到窗体,选择是则对product数据库进行备份,并在程序的目录下建立一个backuplist.tet文件,代码如下:Private Sub btnBackup_Click()Dim question As Integer question=MsgBox(确实要备份吗?,vbYesNo)If question=vbNo Then Exit Sub Else Set dmosvr=CreateObject(SQLDMO.SQLServer)dmosvr.Connect(local),sa,Dim strmonth,strday,strhour,strminute,strsecond As String strmonth=Month(Now)strday=Day(Now)strhour=Hour(Now)strminute=Minute(Now)strsecond=Second(Now)mdevname=Backup_product&strmonth&strday&strhour&strminute&strsecondSet dmobak=CreateObject(SQLDMO.Backup)dmobak.Database=product dmobak.BackupSetName=mdevname dmobak.Action=0 dmobak.Files=mdevnamedmobak.sqlbackup dmosvrSet dmobak=Nothing dmosvr.Disconnect Set dmosvr=NothingSet objFs=CreateObject(Scripting.FileSystemObject)Set objData=objFs.OpenTextFile(App.Path&backuplist.txt,2,True,0)objData.Write mdevname objData.Close MsgBox 备份完成 End IfEnd Sub5 系统测试系统测试5.1总体测试总体测试5.1.1测试用的数据和条件测试用的数据和条件5.1.2非法数据测试非法数据测试5.2白盒测试白盒测试5.3黑盒测试黑盒测试使用数据对程序段中,核对用户输入用户名和密码的那部分进行测试。按照代码,得出程序流程图,如图5.1所示:流程图注释:流程图注释:条件条件A:rs.EOF条件条件B:Trim(rs(密码密码)Text1(1).Text条件条件C:g_login adminfrmMain1:frmMain.Command1.Enabled=False frmMain.Command6.Enabled=False frmMain.Command7.Enabled=False frmMain.newin.Enabled=False frmMain.backup.Enabled=False frmMain.user.Enabled=False frmMain.ShowfrmMain2:frmMain.Show利用判定利用判定/条件覆盖进行该程序段的条件覆盖进行该程序段的白盒测试白盒测试 对系统的出库模块程序段进行黑盒测试。在出库程序段中,有一个环节要求用户输入出库数量,对这个部分进行错误猜测测试。该数据输入要求输入大于零的整数,而且输入数据不能大于现有数据。通过菜单和快捷按钮调用该程序段,假设目前原料糖的库存量为1000袋,使用的数据和得到的处理结果如表5.1所示:通过黑盒测试,改进了系统的数据校验的功能,完善了程序对出库数通过黑盒测试,改进了系统的数据校验的功能,完善了程序对出库数据输入的控制,使系统的健康性进一步获得了提升据输入的控制,使系统的健康性进一步获得了提升【结结 论论】:好用库管”小型出入库系统,设计精巧,科学高效,优点多多,现归总如下:从系统便捷运行的软件基础来看,本系统对运行的硬件系统和软件系统要求都比较低,无需很大的资金投入。从系统改进与优化角度来看,只需要开发相应的功能模块,就能够增强整个系统的实用性,为以后与大型MIS系统留有接口,很具价值。.从系统的高效使用的可行性来看,因为计算机的精确性和易操作,减轻了相对工作量,使得管理人员有更多的时间能够投入到非数据处理领域,对工作质量和效率都有很大的促进作用。从系统操作与维护安全性来看,登录模块,使得软件系统的安全性大大增加;操作员维护模块,便于管理系统的使用者,为软件系统的安全增加了砝码;原料基本信息维护模块,使得仓库中原料的基本信息一目了然;数据备份和恢复模块,令你不再对数据信息的丢失而烦恼。从系统的整体效能优越性看,本系统的出现及取代原有低效率的数据处理方式,对节约各项费用,和增加机时利用系数以及相应人工成本费都有一定的良好效应。本系统的操作与界面十分简单化,无需投入很长时间和费用进行培训。