




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
企业仓库管理信息系统的设计与实现针对佳雪公司的实际情况,进行全面的调研,分析可行性,使用VB开发工具开发出了该仓库管理MIS系统。该仓库管理系统的主要功能是帮助企业的管理人员对库存物料的入库、出库、调拨和盘点等日常工作进行全面的控制和管理,以达到降低库存、减少资金占用,避免物品积压或短缺现象,保证生产经营活动顺利进行的目的。库存系统能管理库存物品的数量、库存成本和资金占用情况,以便企业可以及时了解和控制库存业务各方面的准确情况和数据,为企业决策提供良好便利的支持。从商品的定购到入库到商品销售的整个过程通过管理信息系统有机的、有效的得以控制。并根据商品的库存及出入库情况,制定出各种库存报表,反映企业的商品库存和销售经营情况,方便企业的各级管理人员及时了解掌握各种产品的入库量、出库量和库存量,以便心中有数,合理安排企业生产经营各个环节的工作。该系统虽然是从佳雪公司的实际来开发的,但是对一般类似的企业具有一定的通用性。第1章 开发背景1.1公司简介佳雪公司是一个专销电动机的公司,主要业务是进行电动机的进货与分销,作为一个销售的中介公司,其要求有入库与出库的主要数据库,可以简单的记录数据,并且可以进行多方面的查询,使得公司有较详细的数据统计与分析。1.1.1业务概要框图如下图所示: 厂商 仓库 顾客图1.1.1 1.1.2.仓库关键查询功能简介1) 按型号查询有两个结果:A生成 入库量、出库量、节余量 B生成 两个数据来源表,包括出库来源与入库来源;2) 按单位查询 结果:生成 型号、产品名称、时间(入/出库)、单价 再生成出入库的两个基本情况表,包括供应商和顾客的基本情况,如型号、出/入库时间,单价,发票编号、结帐情况; 1.1.3. 公司对系统的要求简介本系统主要运用Visual Basic的内嵌数据库Access来记录数据;1.1.4. 产品信息简介:序号(自动生成)、型号(文本)、入库时间(日期)、出库时间(日期)、数量(数字)、发票编号(文本)、单价(货币)、厂商名称(文本)、供应商名称(文本)、厂商与供应商的电话(数字)、结帐情况(是/否)是为0,否为-1 系统采用VB作为开发软件,主要因为VB是一种简单易用的敏捷开发工具。而且作为微软主要开发产品,VB比较成熟。有利于缩短开发时间,提高开发效率。由于仓库数据量不是很大,系统采用桌面数据库Access。简单易用但并不失安全。而且VB和Access同为MS的产品,互相配合,大大提高了产品开发效率。第2章 仓库管理系统的分析与设计2.1系统分析与描述2.1.1.系统功能结构图输入数据顾客出库入库供应商型号删除修改单位增加删除修改增加出库查询 入库 图1.2.1 数据流程2.1.2.数据库分析和设计 表:出库、入库 查询:查询结余、出库查询、入库查询、型号出库查询、型号入库查询1) 主要的出库表属性如以下表所示:字段名属性字段大小序号自动生成长整型型号文本50产品名称文本50出库数量数字长整型单价货币自动小数出库时间日期年-月-日发票编号文本50顾客电话文本50结帐情况是/否2 表1.2.32) 由于入库表与出库表类似,所以在此不做详细介绍。3) 为了方便查询,因此在出库与入库的基础上增加了几个查询表,具体字段如下:1 查询结余:型号、产品名称、出库数量、入库数量2 出库查询:顾客名称、型号、出库时间、单价、出库数量OF SUM、发票编号、结帐情况3 入库查询:供应商名称、型号、入库时间、单价、入库数量OF SUM、发票编号、结帐情况4 出库型号查询:型号、产品名称、顾客名称、单价、发票编号、结帐情况5 入库型号查询:型号、产品名称、供应商名称、单价、发票编号、结帐情况。2.2 系统设计与实现2.2.1 数据库中的表必须符的几个特征:1)表中的每一个单元的内容只有一个值;2) 所有字段的名称都不相同;3) 记录的前后次序和字段的左右次序可以变化,不受限制;4) 数据库中的表的上下次序不受限制;5) 表中不应有内容完全相同的记录;6) 表中的每一个字段都必须有相同的数据类型,使用Visual Basic开发应用程序的两个主要思想;7) 可视设计;8) 事件驱动编程Visual Basic应用程序不同于其他语言开发的单一性程序。使用Visual Basic编程时,必须首先确定应用程序如何与用户交互,如鼠标单击,用户必须编写代码控制这些事件的响应方法。2.2.2系统设计步骤简介:1) 建立数据库2) 建立用户界面3) 编写代码4) 调试运行5) 编译应用程序6) 发布应用程序2.2.3 界面设计简介:1) 控件的位置2) 界面元素的一致性3) 保持界面的简明4) 使用颜色和图象:增加视觉的感染力5) 图象和图标:增加应用程序的视觉上的趣味6) 选取字体2.2.4 系统代码结构: 由于Visual Basic应用程序是基于对象的,所以应用程序的代码结构就是该程序在屏幕上物理表示的模型。根据定义,对象包含数据和代码。在屏幕上看到的窗体代表属性,这些属性定义了窗体的外观和内在特性。本设计主要是运用Data控件。 Data控件主要是打开、访问并操作已有的数据库,它是Visual Basic 访问数据库的最常用的工具之一。由于Data控件使用Microsoft的Jet引擎来实现数据访问(与Microsoft Access 所用的数据库引擎相同),使用户可以无缝地访问很多标准的数据库格式,而且无需编写任何代码就可以创建数据应用程序,因此这种Visual Basic 内部的Data控件最合适小的(桌面)数据库,诸如Access和ISAM数据库等。 由于Data控件是Visual Basic 的内部控件,因此可以直接在标准工具箱中找到该控件。 在程序运行过程中,只要用鼠标单击控件上的箭头按钮,系统将自动修改Data控件指向的记录和显示在约束控件中的数据,而不需要编写任何代码。 可以将多个Data控件同时添加到一个工程甚至是同一个窗体中。另外,每个控件可以连接到不同的数据库或同一个数据库的不同表上,还可以和代码一起查询满足的语句的表的记录集。 使用Data控件可以显示、编辑和更新来字各种已有的数据库信息。此外,还可以访问和操作远程的开放式数据库连接。除了使用Data控件之外,还运用的Visual Basic 6.0的新增控件功能,Dblistbox它不象标准的列表框或组合框那样需要使用AddItem方法添加列表项。另外,它们还可以有选择地把某个选定的字段传递给另一个Data控件,使得它对于“查找表”应用程序很理想。与其他的约束控件不同,这些控件可以同时显示多个记录。约束数据列表控件类似于普通的列表框控件,可以显示记录集中的数据,网格中的每一行代表记录集中的一个记录。第3章 仓库管理信息系统的实现3.1登录模块简介3.1.1 由于系统的的界面比较单一,因此在设计过程中运用了许多网上下载的图片来增添界面的可观性。3.1.2 在考虑到操作员的技术水平有限,因此在控件方面只运用了COMMAND,这样不仅能是界面清楚,更能是操作者很快学会,简单易懂。3.1.3 图3.1.1是进入本系统的状态图,单击“确定”可以进入界面,如按“系统信息”的话,将显示本系统的具体软硬件情况。 图3.1.1当图3.1.1中的“确定”按钮被激活时,将进入图3.1.3的屏幕,界面的图片是图片引入的,接着将进入正式的编辑或查询状态。具体的系统情况如图3.1.2所示:图3.1.2图3.1.33.2入库管理模块3.2.1 当激活入库按钮时将出现以下的界面(图3.2.1) 图3.2.13.2.2 入库窗体(图3.2.1)及其各个控件的主要属性 控件类型控件名主要属性FormFrmrsg1Caption=“入库情况”DataData1Databasename=“Adb2.mdb”Recordsettype=1DynasetCaption=“入库情况”CommandDialogCommand1Caption=“上一个”Command2Caption=“下一个”Command3Caption=“确定”Command4Caption=“取消”Command5Caption=“退出”Command6Caption=“增加”Command7Caption=“修改”Command8Caption=“删除”LableLable1Caption=“序号”Lable2Caption=“型号”Lable3Caption=“产品名称”Lable4Caption=“数量”Lable5Caption=“单价”Lable6Caption=“入库时间”Lable7Caption=“发票名称”Lable8Caption=“供应商名称”Lable9Caption=“电话”Lable10Caption=“结帐情况”TextText1Caption=“序号”Datasource=“data1”Text2Caption=“型号”Datasource=“data1”Text3Caption=“产品名称”Datasource=“data1”Text4Caption=“数量”Datasource=“data1”Text5Caption=“单价”Datasource=“data1”Text6Caption=“入库时间”Datasource=“data1”Text7Caption=“发票名称”Datasource=“data1”Text8Caption=“供应商名称”Datasource=“data1”Text9Caption=“电话”Datasource=“data1”Text10Caption=“结帐情况”Datasource=“data1”表3.2.13.2.3 控件说明1) 增加新记录当单击“确定”按钮后,“确定”和“取消”两个按钮显示,同时使其他的按钮不可见,这样做是为了防止用户的误操作。其主要程序如下:Private Sub Command5_Click()xg = True显示“确定”和“取消”两个按钮Command3.Visible = TrueCommand4.Visible = True取消其他按钮功能Command5.Enabled = FalseCommand6.Enabled = FalseCommand7.Enabled = FalseCommand8.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = FalseData1.Recordset.AddNew 添加一个新记录Text1.SetFocus 光标在TEXT1处 end sub2) 修改记录在调用EDIT方法之前,约束控件中的数据是只读的,用户无法对其进行修改。调用了EDIT方法后,用户可以在约束控件中修改记录的值。如果在对当前记录进行修改之前修改,未使用EDIT方法,将发生运行时错误。其主要程序如下:Private Sub Command6_Click()xg = TrueCommand3.Enabled = TrueCommand4.Enabled = True取消其他按钮功能Command5.Enabled = FalseCommand6.Enabled = FalseCommand7.Enabled = FalseCommand8.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = False对记录进行编辑Data1.Recordset.EditText1.SetFocusEnd Sub3) 删除记录当用户单击“删除”命令按钮时,为了防止用户误删除数据,程序将调用Msgbox()函数以弹出对话框,询问用户是否真的要删除该记录。如果用户单击对话框上的“确定”按钮,程序调用记录集的Delete方法,将记录集的当前记录设置为空,并从原始的表中删掉当前记录。但是删除的记录仍然是当前记录,只是将其变为了无效的记录,任何对其的引用都会产生错误。其主要程序如下:Private Sub Command6_Click()xg = TrueCommand3.Enabled = TrueCommand4.Enabled = True取消其他按钮功能Command5.Enabled = FalseCommand6.Enabled = FalseCommand7.Enabled = FalseCommand8.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = False对记录进行编辑Data1.Recordset.EditText1.SetFocusEnd SubPrivate Sub Command7_Click()ss = MsgBox(真的要删除吗?, vbYesNo + vbInformation, 删除记录)如果要删除If (ss = vbYes) ThenData1.Recordset.DeleteData1.Recordset.MoveNextIf Data1.Recordset.EOF ThenData1.Recordset.MoveLastCommand2.Enabled = FalseEnd IfEnd IfEnd Sub4) 移动数据当用户单击“上一个”和“下一个”按钮是,系统将自动转换数据,但注意,当移至第一个记录时,“下一个”按钮将失效;移至最后一个记录是,“上一个”按钮也将失效。其中在设计程序时,为了防止“NO Current Record”这样的错误,在移动记录指针时测试记录集的BOF 和EOF属性。如果单击“上一个”和“下一个”命令按钮将导致记录指针指向空指针,则分别调用Movefirst和Movelast方法,这是防止“NO Current Record”错误出现的最简单和最有效的方法。与此同时,如果记录集的BOF属性为True,则置“上一个”命令按钮为非激活状态,是用户无法再单击该按钮。同样,当记录集的BOF属性为True时,置“下一个”命令按钮为非激活状态。其主要程序如下:Private Sub Command1_Click()xg = FalseData1.Recordset.MovePrevious如果是第一个记录,BOF属性为TRUEIf Data1.Recordset.BOF ThenData1.Recordset.MoveFirstCommand1.Enabled = FalseElseCommand2.Enabled = TrueCommand1.Enabled = TrueEnd IfEnd SubPrivate Sub Command2_Click()xg = FalseData1.Recordset.MovePrevious如果当前记录是记录集中最后一个记录,EOF属性为TRUEIf Data1.Recordset.BOF ThenData1.Recordset.MoveLastCommand2.Enabled = FalseElseCommand2.Enabled = TrueCommand1.Enabled = TrueEnd IfEnd Sub5) 用Updata方法确认增加和修改当用户修改和增加完一个记录的数据后,需要将数据保存到数据库中。可以通过调用记录集的Updata方法把数据保存到数据库中。单击“确定”按钮时,记录将被记如数据库。其主要程序如下:Private Sub Command3_Click()On Error GoTo error1xg = TrueData1.Recordset.UpdateCommand3.Enabled = FalseCommand4.Enabled = FalseCommand2.Enabled = TrueCommand1.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = TrueCommand7.Enabled = TrueCommand8.Enabled = TrueExit Suberror1: MsgBox Err.Description, vbOKOnly, 错误提示End Sub6) 用CancelUpdata方法放弃增加和修改如果用户修改了约束控件里的数据后,在没有单击“确定”命令按钮之前,想放弃刚才的增加或修改,则可以单击“取消”命令。 由于其程序与Updata方法相似,因此不做重复解释。7) 定义Data_Validata事件过程对于一个新记录或编辑的记录,如果不能维护引用完整性或不能反映该旧路的实体原型,那么它就是无效的,并且破坏了数据库的完整性。为了在“入库情况”表中建立一个有效的记录,就必须要有主关键字段“型号”的值。因此,对已经存在和新增加的旧路都要先测试其“型号”字段之后才可以执行更新操作。其主要程序如下:当约束控件中内容改变时If Text2.DataChanged ThenSave = TrueIf Data1.Recordset.RecordCount 1 ThenCommand1.Enabled = TrueCommand2.Enabled = TrueEnd IfElseIf Text2.Text = And xg = True Then ss = MsgBox(必须要有型号!, vbOKOnly + vbInformation, 提示) Action = False Command3.Visible = True Command4.Visible = True Command1.Visible = True Command2.Visible = True Command7.Visible = True Command8.Visible = True Command5.Visible = True Command6.Visible = True End If End If If Action = data_actionunload Or Action = data_actionclose Then Save = True End IfEnd Sub3.3出库管理模块当单击“出库”按钮的时候,系统将进入出库信息输入界面,如(图3.3.1)所示,其基本情况与入库相类似,依次不做具体介绍。 图3.3.13.4查询模块3.4.1当用户单击“查询”按钮时,系统将出现密码登陆框,因为查询的是内部资料,因此,需身份验证,如图3.4.1图3.4.13.4.2 随后将进入查询功能,如图3.4.2图3.4.23.4.3 用户可根据不同需要进行“按型号”和“按单位”的查询。1) 单击“按型号”,系统将进入以型号为关键字段的查询,如图3.4.3。其中根据SQL语句的查询,选出出库型号与入库型号相同的记录,统计出入库与出库的总数量,然后可按“上一个”和“下一个”进行查询,也可按出库与入库分别查询记录。图3.4.32) 当用户单击“查询出库”按钮是,系统进入界面,如图3.4.4图3.4.43) 图3.4.4窗体及其上面控件的属性设置控件类型控件名主要属性FormfrmdblistCaption=“查询出库”DataData1DatabaseName=“a:db2.mdb”RecordsetType=1RecordSource=“出库型号”FrameFrame1Caption=“具体情况”LableLable1Cqption=“产品名称”Lable2Cqption=“单价”Lable3Cqption=“发票编号”Lable4Cqption=“顾客名称”Lable5Cqption=“结帐情况”TextText1Datafield=“具体情况”Datasource=“Data1”Text2Datafield=“具体情况”Datasource=“Data1”Text3Datafield=“具体情况”Datasource=“Data1”Text4Datafield=“具体情况”Datasource=“Data1”Text5Datafield=“具体情况”Datasource=“Data1”DBlistDblist1Listfield=“型号”Rowsource=“Data1”表3.4.11 单击Dblist框中的型号,Frame中将自动显示记录,以供用户查询。4) 当用户单击“查询入库”按钮时,将出现图3.4.5的界面。图3.4.55) 再回到查询界面,单击“按单位”按钮,此时系统将进入按单位查询的截面,如图3.4.6图3.4.61 分别按“顾客”和“供应商”按钮,系统将分别进入不同的查询界面,如图3.4.7和图3.4.8由于以下两个窗口的属性以及其设计方法类似与图4.3,因此也不做详细介绍。图3.4.7图3.4.83.5其他模块3.5.1 再回到登陆主窗口,(图3.1.3),单击“退出”按钮,系统将退出程序,显示以下窗口(图3.5.1),单击图中的“再见”,此程序也将结束。图3.5.1第4章 系统测试4.1开发和测试平台操作系统:Win9x/NT/2000/XP开发软件:VB测试软件:Rational Suite4.2系统测试体会软件测试的目标是尽可能早地找出软件缺陷,并确保其得以改正。4.2.1软件测试的基本目标是发现软件缺陷。这似乎是个不言而喻的事实,但有必要再次强调。因为有时开发小组要测试员只是为了证实软件可以运行,而不是找缺陷。在这种情况下,测试人员也就缺乏不懈努力发现缺陷的探索精神和热情。所以做好测试的首要条件是明确软件测试员的基本目标是发现软件缺陷。4.2.2软件测试的追求是尽可能早地找出软件缺陷。因为软件的修复费用,随着时间的推移,将数十倍的增长,所以软件测试员应尽可能早地找出软件缺陷。对于大型的软件,在软件开发的同时,就应该有紧随其后的测试,如果等到产品已经开发完毕才开始测试,非常有可能引起大量耗时费力的返工。而如何尽可能早的找出缺陷?理论上有一些测试方法:静态黑盒测试、动态黑盒测试、静态白盒测试、动态白盒测试;配置测试、兼容性测试、易用性测试,怎样才能有效的用这些方法尽早的发现软件缺陷,需要在工作实践中不断的摸索、总结,不断的提高测试能力。针对公司的情况,如果软件的规模不是很大,开发中的测试工作可能由开发人员完成比较合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绥化市青冈县人民政府办公室选调工作人员5人考前自测高频考点模拟试题(含答案详解)
- 2025甘肃天水市武山县人力资源和社会保障局招聘城镇公益性岗位人员26人考前自测高频考点模拟试题及答案详解(网校专用)
- 基因检测疫病识别-洞察与解读
- 2025河南郑州二七区一国企招聘各部门人员9人考前自测高频考点模拟试题及参考答案详解1套
- 2025湖南长沙高新区中心幼儿园和馨园招聘教师2人模拟试卷及答案详解一套
- 2025年泉州安溪城建集团有限公司招聘17人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025广东韶关市始兴县事业单位招聘暨“青年人才”和“急需紧缺人才”招聘89人模拟试卷含答案详解
- 2025广西百色市西林县社会保险事业管理中心招聘编外聘用人员6人考前自测高频考点模拟试题附答案详解(完整版)
- 2025甘肃嘉陵关市卫生健康委公开招聘公益性岗位人员考前自测高频考点模拟试题附答案详解
- 2025呼伦贝尔市政务服务与数据管理局所属事业单位竞争性比选工作人员考前自测高频考点模拟试题及答案详解(典优)
- 食品新产品开发 课件 第二章 食品新产品开发流程
- 高中化学374个必备知识点
- 单轴燃气蒸汽联合循环机组调试程序
- 舟山海域赤潮发生特点及成因分析
- 湿陷性黄土湿陷量计算表
- 丝杠安全操作保养规定
- 体育测量与评价PPT课件-第九章 运动员选材的测量与评价
- 《情满今生》读书笔记模板
- 胸痛中心网络医院STEMI患者绕行急诊和CCU方案流程图
- 大众蔚揽保养手册
- 急危重病人营养与代谢支持
评论
0/150
提交评论