库存管理系统范例6篇

前言:中文期刊网精心挑选了库存管理系统范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

库存管理系统

库存管理系统范文1

5.1、开发工具简介

本系统的前端开发工具,我选择了Visual Basic6.0,后台数据库采用Access2000。

5.1.1 VB简介

Visual意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。

5.1.2 VB功能特点

 具有面向对象的可视化设计工具

在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一 个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。

 事件驱动的编程机制

事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。

 提供了易学易用的应用程序集成开发环境

在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。

 结构化的程序设计语言

VB具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点:

 强大的数值和字符串处理功能

 丰富的图形指令,可方便地绘制各种图形

 提供静态和动态数组,有利于简化内存的管理

 过程可递归调用,使程序更为简练

 支持随机文件和顺序文件的访问

 提供了一个可供应用程序调用的包含多种类型的图标库

 具有完善的运行出错处理

 支持多种数据库系统的访问

利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Microsfot FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。

 支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术

 完备的HELP联机帮助功能

与Windows环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可以随时方便地得到所需要的帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供了极大的方便。

VB程序设计的概念就是面向对象的概念,对象就是数据(DATA)和代码(CODE)互相结合的综合体。Windows上面的每一个图标,包括窗口本身都是对象,如果没有任何事情发生,对象处于停顿状态。当存在外来事件时,程序段执行,它的执 行是由外来事件决定的。因此是“事件”驱动的。

编写VB程序较为简单,首先将各个对象放在空白窗体上,然后将程序代码分别添加给对象或图标,将它们组合起来就可以随意运行了。

在VB中,窗体实际上是一个对象,VB的窗体含有许多内嵌特性,这使得用户界面部分的建立像是从一个目录中挑选一个个合适的控件,而不是从零开始一步一步地建立控件。这种开发者能亲眼看到的程序设计过程就是“可视化程序设计”(Visual Programming)

5.1.3 VB中的基本概念

对象:面向对象编程(OOP)的提法大家一定也很耳熟,虽然Visual Basic并不是完全的面向对象编程,但也利用了对象编程技术。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。

属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性可能不同。属性一般决定了对象的位置、大小、显示等情况。

方法:就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。

事件:就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。

控件:控件就是Visual Basic提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Visual Basic中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能满足你任何要求的程序。例如,如果你不满意Windows简陋的媒体播放器,你就可以使用VB的多媒体控件在1小时以内设计一个完全自己风格的能够播放CD、VCD的多媒体播放器,而功能完全与之相当。

5.1.4 Access2000数据库简介

作为Microsoft的office套件产品之一,access已经成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型机及大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。

Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。

Access的总体结构

Access将所有有名字的东西都成为对象(object),在Access 2000中,最重要的对象有表,查询,窗体,报表,宏和模块。

表 用户定义的存储资料的对象。每一个表都包含有关某个主体的信息。表包括存储不同种类资料的字段(列),而记录(行)则收集特定主体实例的所有信息。

查询 为来自一个或多个表的资料提供定制视图的对象。在Access中,可以利用图形化的实例查询机制(QBE)或通过SQL语句来建立查询。你可以在查询中选择、更新、插入或删除资料,也可以用查询来建立新表。

窗体 窗体是主要的人机接口。大量的操作(几乎所有)都要通过窗体完成。窗体通过运行宏(macro)或Visual Basic for Applicatinns(VBA)过程,来响应大量的事件。Access 2000为我们提供了强大的(同时也是相当方便的向导)来建立标准的Windows窗体。

报表 为格式化、计算、打印选定资料而设计的对象。它是衡量一个优秀的数据库的重要标准(有时甚至是唯一的标准)。

宏 为了响应已定义的事件,需要让Access去执行一个或多个操作,而宏就是对这些操作的结构化的定义对象。它可以让你像堆积木一样建立一个功能强大的程序,而无须写大量的代码。

模块 包括用VBA编码的定制过程的一个对象。模块提供了独立的动作流以捕获错误,而宏做不到。模块能直接响应窗体或报表事件,也可以从应用程序的任何地方被调用。

Adodc1.RecordSource = frmLogin.Adodc1.RecordSource

Adodc1.Refresh

Set Text4.DataSource = Adodc1

Text4.DataField = "密码"

If Text1 = "" Then

MsgBox "请输入原密码!", , "修改密码"

Exit Sub

ElseIf Text1.Text Adodc1.Recordset.Fields("密码") Then

MsgBox "原密码错误!", , "修改密码"

Exit Sub

ElseIf Text2 = "" Or Text3 = "" Then

MsgBox "请输入新密码!!", , "修改密码"

Exit Sub

ElseIf Text2 Text3 Then

MsgBox "密码不一致!!", , "修改密码"

Exit Sub

Else

Text4.Text = Text2.Text

Adodc1.Recordset.MoveFirst

MsgBox "密码修改成功!!", , "修改密码"

Unload Me

End If

Dim I, J As Integer

Dim STR As String

If Text1.Text = "" Or Text2 = "" Or Combo1.Text = "" Or Text4 = "" Or Text5 = "" Or Text6 = "" Or Text7 = "" Then

MsgBox "请输入完整信息!"

Exit Sub

Else 将记录存入入库记录表

设备入库表.datPrimaryRS.Recordset.Fields("设备号") = Text1.Text

设备入库表.datPrimaryRS.Recordset.Fields("入库数量") = Text2.Text

设备入库表.datPrimaryRS.Recordset.Fields("入库时间") = Combo1.Text

设备入库表.datPrimaryRS.Recordset.Fields("供应商") = Text4.Text

设备入库表.datPrimaryRS.Recordset.Fields("供应商电话") = Text5.Text

设备入库表.datPrimaryRS.Recordset.Fields("价格") = Text6.Text

设备入库表.datPrimaryRS.Recordset.Fields("采购员") = Text7.Text

MsgBox "已经成功入库!"

End If

设备入库表.Adodc1.RecordSource = "select * from 现有库存表 where 设备号='" & Text1.Text & "'"

设备入库表.Adodc1.Refresh

设备入库表.DataGrid1.Refresh

If 设备入库表.Adodc1.Recordset.RecordCount > 0 Then

将记录加入现有库存表中

设备入库表.Text9.Text = CInt(设备入库表.Text9.Text) + CInt(Text2.Text)

设备入库表.Text9.Refresh

J = 设备入库表.Text9

设备入库表.Adodc1.Recordset.MoveFirst

设备入库表.Adodc1.Recordset.Fields.Refresh

设备入库表.DataGrid1.Refresh

MsgBox "现有库存量为:" & J

Else

STR = "现有库存表中无此设备!" & vbCrLf & "请在设备代码表和现有库存表中手动添加记录!!"

MsgBox STR

Load frm现有库存表

frm现有库存表.Show

Call frm现有库存表.Command1_Click

FrmAddNewEqu.Text1.Text = frmInput.Text1.Text

FrmAddNewEqu.Text2.Text = frmInput.Text2.Text

Load frm设备代码表

frm设备代码表.Show

End If

End Sub

Private Sub cmdDelete_Click( ) 删除入库表中记录

On Error GoTo DeleteErr

Dim YesNo As String

YesNo = MsgBox("删除", vbYesNo, "删除记录")

If YesNo = vbYes Then

With datPrimaryRS.Recordset

.Delete

.MoveNext

If .EOF Then .MoveLast

End With

Else

Exit Sub

End If

DeleteErr:

MsgBox Err.Description

End Sub

Private Sub cmdUpdate_Click( ) 更新纪录程序

On Error GoTo UpdateErr

datPrimaryRS.Recordset.UpdateBatch adAffectAll

Exit Sub

UpdateErr:

MsgBox Err.Description

Private Sub Command1_Click( )设备出库程序

Dim i, J, k As Integer

Dim STR As String

frm设备出库表.Adodc1.RecordSource = "select * from 现有库存表 where 设备号='" & Text1.Text & "'"

frm设备出库表.Adodc1.Refresh

frm设备出库表.DataGrid1.Refresh

If IsNumeric(Text2) = False Then

MsgBox "数量必须是数字!"

Exit Sub

End If

If Text1.Text = "" Or Text2 = "" Or Combo1.Text = "" Or Text4 = "" Or Text5 = "" Or Text6 = "" Or Text7 = "" Then

MsgBox "请输入完整信息!"

Exit Sub

ElseIf frm设备出库表.Adodc1.Recordset.RecordCount

STR = "现有库存表中无此设备!请检查输入是否正确!!"

MsgBox STR

Exit Sub

Else

frm设备出库表.datPrimaryRS.Recordset.Fields("设备号") = Text1.Text

frm设备出库表.datPrimaryRS.Recordset.Fields("出库数量") = Text2.Text

frm设备出库表.datPrimaryRS.Recordset.Fields("出库时间") = Combo1.Text

frm设备出库表.datPrimaryRS.Recordset.Fields("经手人") = Text4.Text

frm设备出库表.datPrimaryRS.Recordset.Fields("领取人") = Text5.Text

frm设备出库表.datPrimaryRS.Recordset.Fields("使用部门") = Text6.Text

frm设备出库表.datPrimaryRS.Recordset.Fields("用途") = Text7.Text

MsgBox "已经成功存入设备出库表库!"

End If

If frm设备出库表.Adodc1.Recordset.RecordCount > 0 Then

k = CInt(frm设备出库表.Text9.Text) - CInt(Text2.Text)

If k >= 0 Then

frm设备出库表.Text9.Text = CInt(frm设备出库表.Text9.Text) - CInt(Text2.Text)

frm设备出库表.Text9.Refresh

J = frm设备出库表.Text9

frm设备出库表.Adodc1.Recordset.MoveFirst

frm设备出库表.Adodc1.Recordset.Fields.Refresh

frm设备出库表.DataGrid1.Refresh

MsgBox "现有库存量为:" & J

Else

MsgBox "现有库存量不足!请输入合适数量!!"

Exit Sub

End If

Else

STR = "现有库存表中无此设备!请检查输入是否正确!!"

MsgBox STR

End If

End Sub

Private Sub cmdDelete_Click( )删除出库记录

On Error GoTo DeleteErr

Dim YesNo As String

YesNo = MsgBox("删除", vbYesNo, "删除记录")

If YesNo = vbYes Then

With datPrimaryRS.Recordset

.Delete

.MoveNext

If .EOF Then .MoveLast

End With

Else

Exit Sub

End If

DeleteErr:

MsgBox Err.Description

End Sub

更新记录程序同入库的更新程序相同,在此略

5.2.5设备采购模块实现,程序略

主要程序

Private Sub cmdAdd_Click( ) 添加设备

On Error GoTo AddErr

datPrimaryRS.Recordset.AddNew

Exit Sub

AddErr:

MsgBox Err.Description

End Sub

5.2.8 库存报警模块实现

主要程序

Private Sub Command1_Click() 显示高于最大警戒库存的设备

datPrimaryRS.RecordSource = "select * from 现有库存表 where 现有库存>最大库存"

datPrimaryRS.Refresh

grdDataGrid.Refresh

If datPrimaryRS.Recordset.RecordCount > 0 Then

Beep

MsgBox "表中设备已过量!"

Else

MsgBox "没有设备库存过量!"

End If

End Sub

Private Sub Command2_Click()显示低于于最小警戒库存的设备

datPrimaryRS.RecordSource = "select * from 现有库存表 where 现有库存

datPrimaryRS.Refresh

grdDataGrid.Refresh

If datPrimaryRS.Recordset.RecordCount > 0 Then

Beep

MsgBox "表中设备库存量已过警戒线!请采购!!"

Else

MsgBox "没有设备库存量过少!"

End If

End sub

Private Sub Timer1_Timer() 自动报警程序

frmAlarm.datPrimaryRS.RecordSource = "select * from 现有库存表 where 现有库存>最大库存"

frmAlarm.datPrimaryRS.Refresh

If frmAlarm.datPrimaryRS.Recordset.RecordCount > 0 Then

Beep

MsgBox "有设备库存超过警戒库存!" & vbCrLf & "请查看库存报警记录"

Timer1.Enabled = False

frmAlarm.Show

Exit Sub

End If

End Sub

Private Sub Timer2_Timer()

frmAlarm.datPrimaryRS.RecordSource = "select * from 现有库存表 where 现有库存

frmAlarm.datPrimaryRS.Refresh

If frmAlarm.datPrimaryRS.Recordset.RecordCount > 0 Then

Beep

MsgBox "有设备库存低于警戒库存!" & vbCrLf & "请查看库存报警记录"

Timer2.Enabled = False

frmAlarm.Show

Exit Sub

End If

主要程序

Private Sub Command2_Click( ) 填写日志记录

If Text1.Text = "" Or Combo1.Text = "" Or Combo2.Text = "" Then

MsgBox "请输入完整信息!"

Exit Sub

Else

frmLog.Adodc1.Recordset.Fields("操作员") = Text1.Text

frmLog.Adodc1.Recordset.Fields("操作内容") = Combo1.Text

frmLog.Adodc1.Recordset.Fields("操作时间") = Combo2.Text

frmLog.Adodc1.Recordset.MoveLast

End If

End Sub

Private Sub Form_Load() 设置填写时间

Dim STRtime As String

STRtime = Now()

Combo2.Text = STRtime

Combo2.AddItem (STRtime)

End Sub

5.2.10还库操模块实现

具体程序同其他查询相似,在此略

第六章 系统使用说明

本系统使用简单方便,各操作界面如第五章所示,在此不再累述。

系统经调试,可以安装使用。

主界面如下:

参考文献

1. 数据库系统原理教程 王珊 陈红 清华大学出版社

2. 管理信息系统 王虎 张俊 武汉理工大学出版社

3. Visual Basic 数据库开发 E.Winemiller,J.Roff B.Heyman,R.Groom 著 清华大学出版社

4. PowerBuilder 8.0数据库系统开发实例导航 何旭洪 余建英 人民邮电出版社

5. VB6从入门道精通 『美Gary cornell 著 北京希望电子出版社

库存管理系统范文2

关键词:Visual Basic 6.0 库存管理系统 SQL Server 2000

中图分类号:TP311 文献标识码:A 文章编号:1674-098X(2014)06(c)-0187-01

1 库存管理系统开发的意义

库存管理对企业来说是一项繁琐复杂的工作,每天要处理大量的单据数据。为及时结清每笔业务,盘点库存和货物流动情况,保证企业产品供应以及货物安全,库管人员要花费大量人力物力和时间来做数据记录统计工作。在世界发达国家,库存管理的计算机化水平已经很高了,尽管我国的企业在这方面也有了很强的意识和长足的进步,但仍存在这样、那样的一些问题。作为恒大电器目前的库存管理部分目前仍为手工、半手工操作。就此原因,我们就应该推行仓库管理软件,有利于仓库争取到有价值的客户,从而获得业务的高附加值和收益。

2 系统设计

2.1 设计策略

2.1.1 系统的开发方法及所遵循的基本原则

企业库存管理系统的开发方法有结构化方法、原型法与面向对象方法等。企业库存管理系统采用结构化开发方法。

结构化开发方法的基本思想强调遵循以下几个基本原则:

第一:面对用户的观点。

第二:严格区分工作阶段,每个阶段有明确的任务和应得到的成果。

第三:按照系统的观点,自顶向下地完成系统的研制工作。

第四:充分考虑变化的情况。

第五:工作成果文献化、标准化。

2.1.2 系统模块设计原则

在功能模块示意图的树状结构中,每一个叶节点都是一个最小的功能模块。每一个功能模块都需要针对不同的表完成相同的数据库操作,即添加记录、修改记录、删除记录、以及查询显示记录信息。

2.2 模块设计

2.2.1 客户管理模块设计

在这个模块里可以将你最近新得知的客户情况进行添加,也可以将有变更的用户内容进行修改,还可以将无用的用户删除。添加用户和修改用户信息的界面。在本模块里,需要对客户类型进行选择,客户分为供应商和购货商两种类型。在产品入库时,需要提供供应商的信息;在产品出库或退货时,需要提供购货商的信息。

2.2.2 仓库管理模块设计

本模块实现的功能是:将这个新建的仓库录入到系统里;修改这个系统内仓库的信息;清除仓库的信息。实现了仓库的信息的录入、修改和删除的系统功能。

2.2.3 产品管理模块设计

产品管理功能模块包括两个子功能模块,产品类目管理模块和产品信息管理模块。本模块的主要功能是将产品分类,以便进行产品的分区分类储存。分区分类储存商品,这是仓库进行科学管理的方法之一。

2.2.4 库存管理模块

库存操作是由仓库管理员执行,一个是把产品放入仓库或把产品从仓库中取出的操作,即产品的入库或出库;另一个就是库存产品的盘点,也就是对库存产品进行整理,纠正不准确的库存数据。

2.2.5 统计查询功能模块

统计查询管理模块可以对库存产品进行各种类型的统计和查询,从而使用户能够全面地了解库存情况。统计查询管理管理模块可以实现以下功能:产品出入库统计报表和库存产品流水线统计报表。

2.3 程序设计代码

部分代码如下:

public:

CNode(){ pData=0;pNext=0;} //结点构造函数

CNode(CNode &node) //用于拷贝的构造函数

{

pData=node.pData;

pNext=node.pNext;

}

void InputData(CItem *pSal){ pData=pSal; } //输入数据 void ShowNode(){ pData->Show(); } //输出结点中的数据 CItem * GetData(){ return pData;}//返回下一结点的指针 friend class CList; //定义链表类为友元类

};

private:

char customer_name[10];//客户姓名

int customer_code;//客户代码

char customer_tel[15];//客户电话

char customer_Item_name[10];//客户选择的品种名称

char customer_brnd_name[20];//客户选择的品牌名称

void getdata();

void showdata();

void CItem::OutModify()//出货,修改结点中的数据部分

2.4 系统测试

本软件主要通过人工分析和动态测试来证明来确认软件的正确性。

人工测试方法包括:

第一:人工测试方法。人工测试就是通过人工阅读分析以及评审软件的文档、程序资料等,以发现程序中的错误。

第二:计算机辅助静态分析。

第三:程序正确性证明。程序正确性证明是试图找到某种方法,确切地证明程序是没有错误的。

(2)动态测试主要是通过动态分析以及程序测试来检查程序的执行状态,以确认程序的正确性。常用的动态测试方法有白盒法和黑盒法。

第一:白盒测试法主要有3种测试技术,即逻辑覆盖测试、循环测试、基本路径测试。

第二: 黑盒测试法注重测试软件的功能需求,它很少涉及软件的内部逻辑结构,以程序的功能作为测试的依据对程序进行测试。

3 结语

由于时间原因,本软件的设计过程中还有很多不完善的地方,恳请各位同行提出批评改进意见。

参考文献

[1] 张海藩.软件工程[M].清华大学出版社,2009.

库存管理系统范文3

关键词:基于B/S结构;库存管理;系统设计

中图分类号:TP311.52

在社会经济的不断发展下,企业规模越来越大,传统的手工管理已经无法满足企业的发展需求。电脑信息技术的出现对这一问题进行了有效的解决,通过将现代管理技术和电脑技术进行合理的配合,更加高速、准确的将企业、工业的日常管理工作做好,提高工作效率,降低管理成本,本文实现的库存管理系统主要目的是为了更加便捷的管理和查询企业仓库的库存情况和往来情况,可以提高信息的处理速度和提高信息处理的准确性,提高了工作效率。

1 企业库存管理系统功能模块

1.1 基本信息管理模块。此模块主要分为仓库信息管理功能、信息管理功能、用户信息管理功能。(1)仓库管理模块。此模块主要是用来对企业中各个仓库的相关信息进行修改、添加、删除和查询。(2)客户管理模块。此模块将客户分成供应商和购货上两类,主要用来对客户的信息进行删除、修改和添加。(3)用户管理模块。用来对系统用户的相关信息进行删除、修改和增加,其中系统管理员不能进行修改和删除。

1.2 产品信息管理模块。产品信息管理模块主要由产品信息管理和产品类目管理两个子功能模块构成,可以达到对产品信息和产品类目进行修改、增加、查询和删除的目的。

1.3 库存操作管理模块。库存管理模块主要由出库模块、入库模块和盘点模块三个子模块构成,可以完成各种出库、入库和盘点工作。(1)出库模块。指的是仓库按照业务部门提供的相关出库凭证,根据具体的商品名称、商品编号、商品数量,对商品的出库工作进行组织,并把出库的基本信息在数据库中进行保存。(2)入库模块。主要用来对正常验收入库的相关货物进行保存和记录,并在数据库中对相关记录信息进行保存。(3)盘点模块。盘点模块主要是用来定期对实际库存商品数量进行清查,对货物的具体流动情况进行掌握,并对保管帐上的记录数量和仓库现有物品的实际数量进行核对,对库存的总数量有一个全面的了解和掌握,并在数据库中对盘点信息进行保存。

1.4 统计查询管理模块。统计查询管理模块主要由库存产品流水统计和产品入库统计查询两个模块构成。(1)库存产品流水统计查询。主要是根据组合条件统计查询库存产品的流水记录。(2)入库统计查询。主要是根据组合条件或者单一条件,统计查询入库产品的信息。

2 系统功能设计

2.1 基本信息管理功能。基本信息功能主要由用户信息、仓库信息、客户信息构成,一般可以将客户分成购货商和供应商,在进行产品的入库时,要求提供出供应商的相关信息,在进行产品退货和出库时,要求提供购货商的性格信息。仓库信息主要由仓库说明、仓库名称、仓库编号几个方面的内容构成,用户信息包含了用户的密码、用户名、用户姓名等信息。一般情况下,基本信息好可以实现下面几个方面的功能:(1)录入、修改和删除仓库信息。(2)录入、修改和删除客户信息。(3)录入、修改和删除用户信息。

2.2 产品信息管理功能。要求管理系统可以分类管理产品的库存信息,用户要可以对产品的类目进行创建和编辑,在改系统中,主要使用二级产品类目的方法来对产品的类别进行区分,比如机械类、电子类、化学类等产品的类别,二级类目是在一级类目的基础上,进一步细分产品,比如试剂类、药剂类、涂料类、燃料类等。相关产品可以用来元器件进行生产的化学药品,也可以是工业机械产品。(1)产品类目的录入,包括产品类目编号、类目名称和类目级别等信息;(2)产品类目的修改;(3)产品类目的删除;(4)产品信息的录入,包括产品编号、所属类目、产品名称、产品规格等;(5)产品信息的修改;(6)产品信息的删除;(7)产品信息的查询。

2.3 库存操作管理功能。库存管理主要由仓管人员进行管理,指的是物品的入库和出库的相关操作,库存管理模块主要有下面几个方面的功能:(1)入库操作。可以将入库分成生产入库、采购入库、退料入库、退货入库等,其中生产入库是对企业自身的产品进行入库。采购入库是指对从供应商处购买的产品进行入库操作。退料入库指的企业生产的原材料没有使用完,将其退回到仓库。退货入库指的是销售出的产品退货后,将其录入到产品库。在进行入库操作时,要注意对相关产品的仓库信息、产品信息、客户信息、金额信息、经办人等进行记录。(2)出库操作。出库操作主要由退货出库、销售出库、用料出库等,其中退货出库指的是将自身企业采购的原材料从仓库中提出来退货。销售出库指的是售卖产品的出库。用料出库指的是将企业用来生产的材料从仓库中提出并送到生成线路。出库操作主要是用来对仓库信息、产品信息、经办人、客户信息、出库时间、涉及金额等相关信息进行记录。(3)库存盘点。指的是对错误的产品库存信息进行更正。在实际操作的过程中,因为人文因素实际数据和库存数据会有误差出现,为了保证库存数据的准确性,要定期对库存进行盘点。

库存管理系统范文4

关键词:库存管理系统;UML;Rose

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)15-30617-02

Based on the Rational Rose Realize Stock Management System Modeling Design

WU Li-Hua

(Guizhou University, Electronic science and information technology institute, Guiyang 550003,China)

Abstract:After introduced UML and the Rose characteristic, this article take the stock management system as an example, through the use case chart which realizethe demand of user, the succession chart and the interactive chart which expresses the system of object and a kind of between interactive, the realization chart describe system kind of and in kind of between connection, increase system kind of attribute and operation as well as with Rose produce class code, thus establishes one kind of general stock management system model.

Key words:stock management system; UML; Rose

1 引言

利用对象的思想为软件系统建模 ,已经成为软件开发的主要方法。UML是面向对象技术领域内占主导地位的标准建模语言。在面向对象的软件开发中,如果软件由近百个或更多对象构成 ,单凭简单的分析是很难理清的;并且为了利于大中型软件的维护和再使用 ,在具体写代码之前进行软件结构分析是很有必要的。这就需要有一个CASE(Computer Aided Software Engineering)工具来辅助分析。Rational公司的Rational Rose是UML建模语言实现最好的CASE工具之一。本文用一个实例说明结合UML和Rational Rose对系统的需求分析、设计有很大的帮助。

2 UML及Rational Rose的介绍

UML是一种定义良好、易于表达、功能强大且普遍适用的标准的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。Rational Rose是美国Rationa1公司开发的产品之一,是一个面向对象的建模工具,既支持正向建模,也支持逆向建模。而Rose是实现这一目标的基本工具。Rose工具通过建立模型使开发人员能够把握程序开发的方向,准确完成需求规定的任务。Rose可视化工具可以与多种开发环境无缝集成,目前所支持的开发语言有VB (Visual Basic),Java,PowerBuilder,C++,Ada,Smalltalk Fort等。

Rose的主要内容可以由下列五类图(共9种图形)来定义:

第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。

第二类是静态图 (Static diagram),包括类图、对象图和包图。

第三类是行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。

第四类是交互图(Interactive diagram),描述对象间的交互关系。其中有顺序图和合作图,这两种图合称为交互图。

第五类是实现图 ( Implementation diagram )。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。

Rose的作用就是通过以上五类图,进行系统的全过程开发, 包括从需求规格描述到系统完成后测试的不同阶段。

3 库存管理系统的建模设计

3.1用例图分析与设计

在库存管理系统中涉及到的角色由系统管理员、普通用户和商品组成,对普通用户涉及有入库、出库、统计和查询需求等操作;系统管理员除以上操作外,还有用户权限管理、初始化系统、系统备份、系统还原、倒帐等操作。管理员参与的用例图如图1所示:

图1 管理员参与的主要用例图

3.2 静态图

3.2.1包图

根据系统的不同功能,将系统划为五个包:主要业务信息包,交互界面包,基本信息包,需要从库存管理系统获取信息的包,及其他系统向库存管理系统提供的信息包,其中主要业务信息包最为重要,类模型的包图如图2所示:

图2 类模型的包图

3.2.2 类图

主要业务包中有六个类:入库单,出库单,入库项,出库项,帐目,盘点类,其类图如图3所示:

图3 主要业务包中的类图

3.3活动图

活动图是描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动,以以下两个用例的活动图为例。

商品出库用例的活动包括:查询商品编号,如果有此商品编号,则进入查询是否此商品有库存状态,若没有则提示没有此商品并结束活动;查询此商品是否有库存,如果有则出库进行打印并结束活动,若没有库存则提示此商品没有库存,结束活动。商品出库用例的活动图如图4所示:

图4 商品出库用例的活动图

3.4 交互分析与设计

在商品入库的过程中,首先进入入库单界面,填写入库单并正确转入,如填写有错则返回入库单,检查库房库存量,如低于最高库存则入库,更新帐目并返回入库窗体,否则直接返回入库窗体。在整个过程中,其交互图如图5所示。

3.5 实现图分析与设计

在库存管理系统中我们定义一个通用角色类作为基类,用户和商品继承通用角色基类的属性,管理员、普通用户又继承用户的属性,其中商品详细信息、出库项和入库项类图发生聚合关系,其中部分类包含的属性和函数已经定义,其实现图如图6所示。

3.6 用Rose生成类代码及用Rose逆向转出代码

Rational Rose 2000支持将模型转化为用于数据库设计的数据模型,从而生成系统的框架代码,利用Rose的正向工程、反向工程等特性,可以实现模型与代码之间的相互转化,完成一次原形系统的开发后,如对原系统不满意,可通过程序代码返回分析设计阶段,进行模型的再分析、修改和调整,然后生成程序代码,直到用户满意为止。

图5 商品入库的交互图

图6 库存管理系统的实现图

4 结束语

通过对Rose的探讨可以看出,Rose能很好的实现UML语言在系统开发的各个阶段,其集成化支持环境为这种应用提供了很好的途径, 利用Rose这一可视化建模工具, 能够充分地捕获用户需求;准确反映系统的对象(类)及其之间的交互;方便迅速地生成程序语言代码;能够快速高效地进行系统建模, 从而使系统开发走上规范化道路。

参考文献:

[1]陈世川.UML在信息管理系统开发中的应用研究[J].能源技术与管理,2005.

[2]欧建雄,黄容,丁玉章等.用Rational Rose实现连锁企业网上采购系统的建模设计[J].计算机应用研究,2002,(10):l12-l14.

[3]张海藩. 软件工程导论[M]. 清华大学出版社

[4]刘超、张莉.可视化面向对象建模技术--标准建模语言UML[M]. 北京航空航天大学出版社,1999.

库存管理系统范文5

关键词:条码技术;仓库管理

仓库管理的主要内容包括仓库系统的布局设计、库存最优控制、仓储作业操作。仓库管理(WarehouseManagementSystem,WMS)模块能按照物流运作的规则和运算法则,对信息、资源、行为、存货和分销运作进行优化,使其最大化满足有效产出和精确管理的要求。WMS提供了企业级采购、制造计划、制造执行、客户服务系统与仓库或配送中心之间的桥梁。通过对库存实时可见性和仓库作业流程的支持,仓库管理模块能够有效地组织人员、空间和设备进行收货、存储、拣货和运输;组织运送原材料和部件到生产企业,运送成品到批发商、分销商和最终的客户手中。

传统的仓储管理业务包括收货、上架、补货、拣货、包装、发货。现代仓储管理已经转变成履行中心,它的功能包括传统的仓储管理、交叉转运/在途合并、增值服务流程(组合/装配;包装/贴标等)、退货、质量保证和动态客户服务等。WMS按照常规和用户自行确定的优先原则,来优化仓库的空间利用和全部仓储作业。对上,它通过电子数据交换等电子媒介,与企业的计算机主机联网,由主机下达收货和定单的原始数据。对下,它通过无线网络、手提终端、条码系统和射频数据通信等信息技术与仓库的员工联系。上下相互作用,传达指令、反馈信息并更新数据库,同时生成所需的条码标签和单据文件。一个WMS的基本软件包支持仓储作业中的全部功能,从进货站台直到发货站台。

1基于条码技术的仓库管理设计方案

以条码技术作为整个仓库管理信息系统的基础,通过合适的库存管理算法,安排生产,不仅能使费用降低到最少,而且还能实现质量跟踪,系统所用的条码可以具体到每一批次的产品,即对同一种产品不同的批次制作不同的条码,但是这也给条码的管理带来一定的复杂性。为了提高企业经济效益,在库存管理算法中以总平均费用最少为目标来安排一类需求固定的产品的生产,同时考虑仓库容量的约束。

从产品生产完成到成品入库,再到成品出库,这一过程采用条码物资管理信息系统进行管理,可以在网上实现电子会签,并且生成入库单及出库单,实现无纸化管理。如果出入库出错,可以追踪到具体的某一批次的产品,可以保证出入库不发生错误。并能对库存进行即时盘存,生成物资报表,便于统计分析。根据需求信息,库存信息以及生产费用,制定合理的生产计划。基于条码技术的仓库管理系统主要包括编码及打印条码系统、入库物资管理、库存物资管理、及时库存管理、出库物资管理、统计报表、系统信息管理等功能模块。

1.1编码及打印条码系统这一部分在生产车间使用,车间生产出成品,录入相应的产品信息,系统将根据产品信息和生产信息自动为该产品生成对应的条码,然后,通过条码打印机打印条码,制作标签,检查无误后,将条码标签贴到包装箱上。为了跟踪每一箱产品,需要为每一箱产品制作唯一的条码。这样的编码,既保证了条码的唯一性,又具有一定的灵活性。

1.2入库物资管理计算机生成并打印交库单,入库物资经过核对,确认无误后,由仓库保管员进行电子会签,完成入库,并生成人库单。

1.3库存物资管理对于标签破损,从数据库中调入相关的信息,重新打印,进行补贴。在物资移位时,用识读器进行识读,自动收集数据,把采集数据自动传送至计算机物资管理系统中进行数据管理。对于退货的产品,有两种解决办法:一是重新打包,修改相应的信息并更换条码;二是在备注字段里填入信息,并标明退货信息。

1.4即时库存管理库存自动预警:对各种物资库存量高于或低于限量的进行自动预警。结合各种物资近期平均用量,自动生成需要在一定时间内需要采购或生产的物资品名和数量等。管理人员可适时的安排生产,有效的控制库存量。空间监控:监控物资的实际位置、存放时间、空间余地等参数,自动对不合理位置、超长存放时间、空间余地不足等规定的限量自动报警。

1.5出库物资管理采用条码识读器能对出库物资包装上的条码标签进行识读,并将物资信息快递给计算机,计算机根据物资的编号、品名、规格、数量等自动生成出库单。发现标签破损或丢失的按照上述程序人工补贴。将出库物资经过核对,确认无误后,再进行库存台帐处理,更新物资库存信息。

1.6统计报表根据物资的出入库和库存信息,,适时完成库存物资管理的各种日报,月报和年报。在规定时间内完成任务的情况,统计各分库,分厂等基层单位工作情况。

1.7系统管理系统管理是为仓库物资管理系统正常、安全运行提供保障。其主要功能为:品种代码维护,用户管理,权限管理,日志管理和数据管理。

2条码技术的引入对仓库管理模块的作用

2.1对物资进行条码管理物资入库时,根据物资的名称、规格及时间生成一个条形码,并将条形码贴在对应的物资上,这样,每件物资就会有一个“身份识别码”。通过查询条形码,就会看到该物资的入库时间、单价、存放位置、供应商等相关信息。在物资的领用等流动环节,只要扫入条形码,写入所需数量,其他信息都会自动载入。有了条形码管理,就能杜绝以往一种物资有几个供应商时,不能准确区分的现象;杜绝一种物资有几个单价时不能做到一一对应的现象。现在进行了条形码管理,对每件物资的来龙去脉都能做到一清二楚,从而有效地控制物资管理出现混乱的现象。

2.2快捷、方便、准确、及时现在物资入库时,只需仓库人员根据合同,将条码扫描后入库,然后将扫描后的信息打印出入库单流转到财务。这样大大地减轻了工作人员的工作压力,在物资发放时,非常方便、快捷,只需扫入领用人的条码、物资条码、填好数量。整个过程无需填入文字,耗时很少,极大地提高了工作效率,并能准确及时地反映库存物资的动态情况,物资的出、入库变化都能随时随地反映,做到账物相符从而为合理编制物资采购计划提供了可靠的依据。有效地控制了因信息不及时不准确而造成库存物资短缺或重复采购的现象。

3应用效果

3.1在仓库管理中应用条码技术,实现数据采集的自动化,去掉了手工书写单据和送到机房输入的步骤,大大提高工作效率。

3.2解决库房信息陈旧滞后的弊病。

3.3解决手工单据信息不准确的问题(主要是抄写错误,键入错误等)。

库存管理系统范文6

[关键词] 库存管理 系统动力学 仿真

在企业采购、生产、销售等环节都涉及到库存,由于库存费用占企业总费用的20%~40%,因此,库存控制是否合理,管理是否得当,对于降低企业成本、提高企业效益都起着很大作用。

本文利用系统动力学的定性分析和定量分析相结合的原理和方法建立库存控制系统的模型,利用VENSIM软件提供的模拟环境,对模型进行运行仿真和结果分析,为企业正确决策提供科学的依据。

一、系统动力学仿真模型的建立过程

1.确定系统目标:主要包括预测系统的期望状态、观测系统的特征、找出系统中的问题所在、描述与问题有关的系统状态、划定问题的范围和边界、选择适当的变量等。

2.分析系统中的因果关系:描述问题的有关因素、解释各因素间的内在关系、画出因果关系图和分析反馈环路及它们的作用。

3.建立系统动力学模型:建立流图、构造DYANAMO语言方程式。

4.计算机模拟:将DYANAMO语言方程式和原始数据及相关数据(变量)在计算机上多方案模拟实验,得出结果,绘制结果曲线图,修改程序(方程式),调整数据(变量),进行反复模拟实验。

5.分析结果:通过对结果的分析,不仅可发现系统的构造错误和缺陷,而且还可找出错误和缺陷的原因。根据结果分析情况,确定是否对模型进行修正,然后再做仿真实验,直至得到满意的结果为止。

二、库存管理系统动力学模型的建立

1.库存管理系统的因果关系图

在企业经营活动中,库存的变化可以通过多种因素重新影响本身的变化,而库存量的变化则是这一系列反馈作用综合影响的结果。因此,通过对某制造企业实际情况的分析,建立考虑多种因素后的该企业库存管理因果关系图,如图1所示。

2.库存管理系统VENSIM仿真模型的建立

因果关系图只能描述反馈结构的基本方面,不能表示不同性质的变量的区别,这是它的根本弱点。为了克服这个弱点,本文进一步构造出流图模型,以便更确切地描述出反馈系统的动态性能。在构造模型时,考虑到模型系统是非线性的、动态反馈的,以这些特征进行模拟在市场需求变动情况下原材料库存量与产成品库存量的变动情况,寻求系统的较优结构与合理化的参数,以得出较好的政策建议。

为此,本文首先从最基本的平衡库存系统开始,如图2所示。

上述的库存管理模型是一个理想的模型,它包含着这样的假定:(1)在生产决策与获得最终产品之间不存在时间上的延迟,一经决策,产品就送来入库。(2)没有考虑企业生产能力和对市场需求变动的反应时间。在上述模型中,只要市场需求增加,马上就能增加生产,重新与销售保持平衡。很显然,如此假定是不现实的,因此,结合企业的实际情况,将人员、原材料的供应、生产延迟等各种影响因素考虑进去以后得到的某制造型企业的库存管理系统VENSIM仿真模型如图3所示。

三、模型的仿真结果与分析

从前面的因果关系图及流图可以知道,影响该企业库存管理系统的因素很多,它们之间的关系也很复杂,它们当中有些参数的改变对库存控制的影响很大,主要是由于它们之间的关系是相关的,因此,一个参数的改变,势必影响另一个或多个变量的值。例如,当劳动力调整时间发生变化时,无论是产成品库存还是原材料库存都发生变化。因此,企业在经营过程中,必须根据需要进行调整。

1.不考虑延迟、订货速率保持稳定时的仿真结果分析

我们先从最理想化的情况下来分析系统仿真结果,即没有原材料采购延迟和生产延迟、订货速率保持在15000台/月,仿真结果如图4所示。

从图4可以清楚看出,在一定的劳动生产率下,由于生产产成品的数量(16000台/月)大于订货速率(15000台/月),从而导致产成品库存量逐渐增加,在2.5月左右达到最高峰,使得当前库存与产成品期望库存之间产生了一个差值,进而要求调整劳动力,从理论上讲企业可以通过减少员工数量来减少产成品的产量(但由于市场需求的不确定性,企业为了保证其服务水平,在实际经营过程中还是按照原先的生产计划进行生产,保持一定的过剩量,而人员的调整逐步进行的),以减少当前库存,使其达到期望产成品库存,到第13个月以后就基本趋于平衡。

2.劳动力调整时间发生变化时的仿真结果分析

由于企业招聘来的劳动力并不能立即就能胜任工作,必须进行一段时间的培训才能上岗,为此,在其他条件不变的情况下劳动力调整时间为0.5月、1月、2月时产成品库存、原材料库存变化情况如图5所示。

图5 劳动力调整时间变化时产成品库存、原材料库存的变化图

从图5我们可以看到,劳动力调整时间短,产成品库存就能很快达到平衡,而且振动的幅度也小,波动的范围也不大,在第8月基本平衡了,劳动力调整时间为2个月时,产成品库存振幅、波动范围都大;对于原材料库存而言,也有类似的情况发生。因此,企业在招聘劳动力时应尽量选择熟练工人,以缩短劳动力的培训时间。

3.原材料采购延迟时的仿真结果分析

在企业的实际经营过程中,由于种种原因也会出现原材料供应不及时的情况,从而影响企业的正常生产,因此,有必要对这种情况进行分析,以帮助企业作出正确的库存决策。在其它条件不变的情况下来比较原材料采购延迟时间为0月、0.5月、1月时产成品库存、原材料库存的变化情况。

图6 原材料采购无延迟时产成品库存、原材料库存的变化图

图7 原材料采购延迟时产成品库存、原材料库存的变化图

从上述图6、图7中可以看出,原材料采购延迟对产成品库存影响不大,但对于原材料库存的影响则较大,延迟时间越长,原材料库存波动的范围越大,因此,要缩短原材料的采购延迟时间。从图6我们也发现,当原材料的采购延迟时间为零时,原材料库存不发生变化,由此可见,制造企业在理论上完全可以对原材料库存实行零库存管理。

4.当销售量发生波动时的仿真结果分析

由于市场需求的不确定,在企业经营过程中经常会在某一个时间客户需求突然增加的情况,对此,我们对系统模型中进行阶跃测试,分析此时产成品库存和原材料库存的变化情况。取订货速率=15000+STEP(500,5),其它条件为:生产延迟时间、原材料采购延迟时间、劳动力调整时间均为0.5月,仿真结果如图8所示。

图8 订货量阶跃时产成品库存、原材料库存、劳动力、雇用率的变化图

从图8可见,由于在第5月订货速率增加了500台/月,此时成品库存、原材料库开始下降,最低点在第6个月,然后上升,原材料库存到第10.5个月、产成品库存到第12个月就基本平稳,从图中我们还可以发现,本模型中测试过程中波动还是比较平稳,能够满足生产实际需要。

四、结论

库存管理系统动力学模型为我们提供了一种新的物流库存管理的方法,充分发挥了系统动力学容易结合领导决策者和实际工作者的经验及加深对系统机制理解的优点。采用这种方法更加直观,易于理解。通过对某制造企业库存管理系统动力学模型的仿真,给出了改变若干影响因素条件下制造企业库存的运行规律,表明模型具有较好的决策能力,能较好的反映实际系统。同时,仿真结果也证实了制造型企业的原材料库存完全可以实行零库存管理。

参考文献:

[1]王其藩:系统动力学[M].北京:清华大学出版社,1994

[2]桂寿平 朱强等:基于系统动力学模型的库存控制机理研究[J].物流技术,2003(6):17~19

[3]陈 虎 韩玉启等:基于系统动力学的库存管理研究[J].管理工程学报,2005(3):132~140