数据库课程设计物资管理系统vf_第1页
数据库课程设计物资管理系统vf_第2页
数据库课程设计物资管理系统vf_第3页
数据库课程设计物资管理系统vf_第4页
数据库课程设计物资管理系统vf_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录摘 要1引 言1第一章 需求分析1、问题的提出:1、需完成的功能:1、数据库需求分析1第二章 概念模型设计2、概念模型设计2第三章 逻辑模型设计4、数据信息4、物资表4、物资入库表4、物资出库表5、物资余额表5第四章 系统详细设计5、系统功能分析6第五章 系统实现7、界面设计7、欢送界面75.1.2 、登录界面7、主界面8物资根本信息界面8查询物资信息界面11、主程序12第六章 系统测试13、系统测试目的13第七章 小 结14参考文献15摘 要 纵所周知,物资的管理总类繁多,在各部门进出频繁。物资管理是一般工商企业生产管理环节中重要的一个环节,需要对物资根本信息管理、物资调配信息等进行完

2、整的监控。物资入库首先要登记物资的根本信息,包括物资的种类、名称、型号、单位、单价、数量等;然后登记物资入库信息,包括物资根本信息、入库地点、入库人、经办人、数量等;根据物资的入库、出库过程的综合,得到各种物资的余额信息,方便进行后续工作。因此物资管理信息系统需要记录物资流通的全过程。本系统使用Microsoft Visual FoxPro平台和SQL语言;实现了物资管理系统:物资根本信息管理、物资入库、出库的信息管理以及查询功能,并经过在本机上运行测试可以很好的应用。本论文文档很好的介绍了系统分析、数据流程分析、功能设计、数据库设计、系统实现和系统测试等内容。在分析过程中先后用到了数据流图、

3、系统的功能结构图。在系统的设计中,详细的展现了系统的各个功能模块以及菜单的设计等。在系统的实现中,给出了实现表单中相应的功能控件的事件及代码。以及菜单实现的方法。最后在文章末尾给出了本系统的主要功能运行界面图。关键词:Visual Foxpro 物资管理系统 物资 设计引 言企业的物资供给管理往往是很复杂的,繁琐的。由于物资种类众多,且订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计方案报表繁多,因此物资的管理趋于实现计算机化,同时根据企业的具体情况制定相应的方案。物资管理是一般工商企业生产管理环节中重要的一个环节,需要对物资根本信息管理、物资调配信息等进行完整的监控。

4、物资入库首先要登记物资的根本信息,包括物资的种类、名称、型号、单位、单价、数量等;然后登记物资入库信息,包括物资根本信息、入库地点、入库人、经办人、数量等;根据物资的入库、出库过程的综合,得到各种物资的余额信息,方便进行后续工作。因此物资管理信息系统需要记录物资流通的全过程。本管理信息系统是针对企业的实际需求开发设计的,利用计算机运算速度快、存储信息容量大、处理逻辑问题强、功能强大的优势,从企业管理特别是查询与决策信息的管理需求出发,针对性强,功能齐备,旨在通过帮助该企业物资管理实现信息化,以提高企业管理的效率。鉴于Visual Foxpro有强大的数据库管理功能,我们选用Visual Fox

5、pro来完成这个物资管理系统。第一章 需求分析、问题的提出 物资管理是一般工业、商业企业生产管理环节中主要的一环,需要对物资根本信息管理,对物质调配信息等进行完整的监控,这样才能够有效地利用物资。物资入库的时候首先需要登记物质的根本信息,包括物资的种类、名称、型号、单位、单价等;然后登记入、出库信息,包括物资的根本信息,入、出库人,经办人,物质数量,材料说明的等;对于仓库中的物资,即对剩余物资进行查询和统计。长期以来,物资管理工作中的信息管理是采用人工的方式,要付出大量人力,填写各种表格、凭证、账册、卡片和文件。由于信息是随着时间不断变化的,各业务部门对信息的使用要求也各不相同,所以要按照不同

6、的分类经常不断地汇总、统计,往往要做许多重复登记和转抄。这种手工操作的管理方式,不仅浪费人力,而且存在许多缺点:1处理速度慢,影响信息及时性。2易出现错误,影响信息精确性。3不便于查询。4缺乏综合性,不能起控制作用。由于这些缺点,大大降低了信息的利用价值,显然越来越不适应现代物资管理工作的需要。因此,开展以电子计算机为根底的物资管理系统已是十分迫切和必要的了。1.2、需完成的功能针对一般物资管理信息系统的需求,通过对上面物资调配工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:l 有关物资根本信息的输入、包括物资编号、物资名称、规格型号、种类和计量单位等;l 物资根本信息的查询、

7、添加、删除、修改;l 入库信息的输入、查询、添加、删除、修改;l 出库信息的输入、查询、添加、删除、修改;l 物质剩余物资的查询和统计功能。1.3、数据库需求分析 用户的需求具体表达在各种的信息的提供、保存、更新和查询等方面。这就要求数据库能够充分满足各种输入信息和输出信息。开发者要收集根本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典。为下一步的数据库具体设计做好充分的准备。再仔细分析物资管理信息系统需求的根底上,将得到以下如图3.1所示的本系统所处理的数据流程。物资登记 根本信息录入物资根本信息管理 物资出库信息管理物资入库信息管理物资调配物资余额信息管理图1.1 物资管理信息系

8、统数据流程图针对一般物资管理信息系统的需求,通过对物资调配工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:l 物资根本信息,包括的数据项有:物资编号、物资名称、物资型号、类型、计量单位、备注等。l 入库物资信息,包括的数据项有:物资编号、入库号、入库人、入库时间、数量、单价、金额、仓库、备注等。l 出库物资信息,包括的数据项有:物资编号、出库号、出库人、出库时间、数量、单价、金额、仓库、备注等。l 物资余额信息,包括的数据项有:物资编号、物资名称、规格型号、类别、计量单位、数量、金额、仓库、备注等。第二章 概念模型设计、概念模型设计得到上面的数据项和数据结构以后,就可以设计出能

9、够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下根底。这些实体包含各种具体信息,通过相互间的作用形成数据的流动。本系统根据上面的设计规划出的实体有:物资根本信息实体、物资入库信息实体、物资出库信息实体、物资余额信息实体。各个实体具体的描述E-R图如下:物资根本信息实体类型物资型号计量单位物资名称物资编号图2.1 物资根本信息实体E-R图物资入库信息实体入库时间入库人经办人入库号物资根本信息图2.2 物资入库信息实体E-R图物资出库信息实体出库时间出库人经办人出库号物资根本信息图 物资出库信息实体E-R图物资余额信息实体物资根本信息仓库金额数量图 物资余额信息实体E-R图在找

10、出所有实体的根底上,需要进一步的分析各个实体之间的关系,经过分析可以的得到所有实体的ER图;如图是通过ER图来说明这些实体之间的关系:库存信息出库信息领用入库信息登 记图3.25 物质管理信息的ER图第三章 逻辑模型设计3.1、数据信息 通过对数据库概念模型的设计,确定以下是该系统需建立的几个表格。、物资表表3.1 物资表物资表material字段名数据类型可否为空索引物资编号char(8)N升序物资名称char(20)N升序物资型号char(20)类型char(10)N计量单位char(10)N备注edt(4)3.1.2、物资入库表表3.2 物资入库表物资入库表 msave字段名数据类型可否

11、为空索引出库号char(14)N升序物资编号char(8)N升序数量numeric(5, 0)N单价numeric(8,2)N金额numeric(10,2)N出库时间Datetime(8)N经办人char(10)N出库人char(10)N仓库char(10)备注edt(4)、物资出库表表3.3 物资出库表物资出库表 muse字段名数据类型可否为空索引入库号char(14)N升序物资编号char(8)N升序数量numeric(5, 0)N单价numeric(8,2)N金额numeric(10,2)N入库时间Datetime(8)N经办人char(10)N入库人char(10)N仓库char(10

12、)备注edt(4)、物资余额表表3.4 物资余额表物资余额表 msurplus字段名数据类型可否为空索引物资编号char(8)N升序物资名称char(20)N升序规格型号char(20)类别char(10)N计量单位char(10)N数量numeric(5, 0)N金额numeric(5, 0)N仓库char(10)备注edt(4)第四章 系统详细设计4.1、系统功能分析系统开发的总体设计任务就是实现物质信息的系统化,标准化和自动化。系统功能分析是在系统开发总体任务的根底上进行的,本系统中需要的的主要功能有:u 物资根本信息管理;u 物资根本信息查询;u 物资入库信息的登记;u 物资入库信息的

13、查询;u 物资出库信息的登记;u 物资出库信息的查询;u 物质余额信息的查询;u 物质余额信息的统计。u 用户修改密码。对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图4.1所示的系统功能模块图。物资管理信息系统物资根本信息管理物资入库信息管理物资出库信息管理物资余额信息管理系统维护关于物资根本信息查询物资信息入库登记入库查询出库登记出库查询余额信息余额查询余额统计修改密码系统说明ABOUT图4.1 系统功能模块图第五章 系统实现5.1、界面设计、欢送界面 具体步骤:在工程管理器窗口中,选择文档选项中的表单文件类型,单击新建按钮,弹出新建表单对话框,单击新建按钮,进入表单设计器

14、窗口。在表单中设取“caption属性为“欢送界面。在表单上添加一个容器,将该容器的backstyle属性设置为0。右键选择“编辑命令。在容器上添加一个“label控件和两个“timer控件。将label的backstyle属性设置为0,caption属性设置为“欢送使用物资管理系统!。在表单上添加“command控件。1将“timer1的enabled属性设置为“T,interval属性设置为“100。在timer1的timer上添加代码:if this.parent.label1.left+this.parent.label1.width>0else endif实现使“欢送使用物资管

15、理系统!这几个字在容器上滚动的效果。2将“timer2的interval属性设置为“100。在timer2的timer上添加代码:i=int(rand()*225)j=int(rand()*225)k=int(rand()*225)thisform.container1.label1.forecolor=rgb(i,j,k)使“欢送使用物资管理系统!这几个字呈现闪烁效果。将command2的“caption属性设为“确定。在command2的click上添加代码:5.1.2 、登录界面具体步骤:在工程管理器窗口中,选择文档选项中的表单文件类型,单击新建按钮,弹出新建表单对话框,单击新建按钮,进

16、入表单设计器窗口。在表单中设取“caption属性为“用户登录。 在表单上添加一个容器,将该容器的backstyle属性设置为0。右键选择“编辑命令。在容器上添加两个“label控件,两个“text控件和两个“command控件。将label的backstyle属性设置为0,caption属性设置为“用户名 ,将labe2的backstyle属性设置为0,caption属性设置为“密码。在表单上添加三个“label控件,将其caption属性设为“*和“welcome和“*。一个“timer控件。1将“timer1的 interval属性设置为“50。在timer1的timer上添加代码:i=

17、int(rand()*225)j=int(rand()*225)k=int(rand()*225)thisform.label2.forecolor=rgb(i,j,k)thisform.label6.forecolor=rgb(i,j,k)thisform.label7.forecolor=rgb(i,j,k)实现标签的闪烁功能。2将command1的“caption属性设为“确定。在container1的command1的click上添加代码:if (a="111"and b="111")messagebox("欢送使用本系统!"

18、,1+48+0,"提示")elsemessagebox("错误!",0+16+1,"提示")endif3将command2的“caption属性设为“取消。在container1的command2的click上添加代码:IF MESSAGEBOX("确认取消",36,"提示")=6ENDIF、主界面 具体步骤:在工程管理器窗口中,选择文档选项中的表单文件类型,单击新建按钮,弹出新建表单对话框,单击新建按钮,进入表单设计器窗口。在表单中设取“caption属性为“物资管理系统。 在表单上添加一个“

19、label控件,将该控件的“backstyle属性设置为0,“caption属性设置为“欢送使用物资管理系统。将“showwindow 属性设置为“2-作为顶层表单.物资根本信息界面选择“物资根本信息管理/物资根本信息菜单,将出现如下图的界面。具体步骤:在表单中设取“caption属性为“物资信息表。在表单添加一个“label控件一个“shape控件和九个“command控件。将label的backstyle属性设置为0,caption属性设置为“物资信息表 ,将shape的borderstyle属性设置为0,curvature属性设置为“78。1将command1的“caption属性设为“

20、首条记录。在command 1的click上添加代码:go top2将command4的“caption属性设为“上一条记录。在command 4的click上添加代码:if bof()messagebox('已经是第一条记录了!',64,'系统提示')go bottomelseskip -1endif3将command3的“caption属性设为“下一条记录。在command 3的click上添加代码:skipif eof()messagebox('已经是最后一条记录了!',64,'系统提示')skip-1 endif4将com

21、mand4的“caption属性设为“末条记录。在command 4的click上添加代码:go bottom5将command5的“caption属性设为“添加记录。在command 5的click上添加代码:go bottomif eof() thentempnum=val(0)elsetempnum=val(物资表.物资编号)endifappend blankgo bottomreplace 物资表.物资编号 with alltrim(str(tempnum+1)thisform mand1.enabled=.f.thisform mand2.enabled=.f.thisform ma

22、nd3.enabled=.f.thisform mand4.enabled=.f.thisform mand5.enabled=.f.thisform mand6.enabled=.f.thisform mand9.enabled=.f.thisform mand7.enabled=.t.thisform.txt物资编号.readonly=.f.thisform.txt物资名称.readonly=.f.thisform.txt物资型号.readonly=.f.thisform.txt类型.readonly=.f.thisform.txt计量单位.readonly=.f.thisform.edt

23、备注.readonly=.f.6将command9的“caption属性设为“修改记录。在command 9的click上添加代码:thisform mand1.enabled=.f.thisform mand2.enabled=.f.thisform mand3.enabled=.f.thisform mand4.enabled=.f.thisform mand5.enabled=.f.thisform mand6.enabled=.f.thisform mand9.enabled=.f.thisform mand7.enabled=.t.thisform.txt物资编号.readonly

24、= .f.thisform.txt物资名称.readonly = .f.thisform.txt物资型号.readonly = .f.thisform.txt类型.readonly = .f.thisform.txt计量单位.readonly = .f.thisform.edt备注.readonly = .f.7将command6的“caption属性设为“删除记录。在command 6的click上添加代码:tempstr=messagebox("确定要删除当前记录吗?",4+32+256,"删除记录")if tempstr=6deletepacken

25、dif8将command7的“caption属性设为“保存。在command7的click上添加代码:dimension aaa(6)replace 物资表.物资编号 with aaa(1)replace 物资表.物资名称 with aaa(2)replace 物资表.物资型号 with aaa(3)replace 物资表.类型 with aaa(4)replace 物资表.计量单位 with aaa(5)replace 物资表.备注 with aaa(6)thisform mand1.enabled=.t.thisform mand2.enabled=.t.thisform mand3.en

26、abled=.t.thisform mand4.enabled=.t.thisform mand5.enabled=.t.thisform mand6.enabled=.t.thisform mand9.enabled=.t.thisform mand7.enabled=.f.thisform.txt物资编号.readonly=.t.thisform.txt物资名称.readonly=.t.thisform.txt物资型号.readonly=.t.thisform.txt类型.readonly=.t.thisform.txt计量单位.readonly=.t.thisform.edt备注.rea

27、donly=.t.9将command8的“caption属性设为“退出。在command 8的click上添加代码:IF MESSAGEBOX("确认退出",36,"提示")=6ENDIF查询物资信息界面具体步骤:在表单中设取“caption属性为“物资查询。在表单添加一个“label控件一个“shape控件一个“grid控件一个“container控件和两个“command控件。将label的backstyle属性设置为0,caption属性设置为“物资根本信息 ,将shape的borderstyle属性设置为0,curvature属性设置为“60。在

28、“grid控件上右击选择“生成器弹出表格生成器,选择物资表,间所有字段导入。在表单上添加一个容器,将该容器的backstyle属性设置为0。右键选择“编辑命令。在容器上添加两个“label控件,一个“text控件和一个“combo控件。将label的backstyle属性设置为0,caption属性设置为“请输入查询字段 ,将labe2的caption属性设置为“请输入查询数据。在“combo控件上右击选择“生成器,在填充列表中选择“手工输入数据输入“物资编号、物资名称、类型。1将command1的“caption属性设为“查询。在command 1的click上添加代码:if thisfor

29、m.container1 bo1.text="物资编号" exps=alltrim(thisform.container1.text1.value) set filter to 物资编号=expsENDIFif thisform.container1 bo1.text="物资名称" exps=alltrim(thisform.container1.text1.value) set filter to 物资名称=expsENDIFif thisform.container1 bo1.text="类型" exps=alltrim(this

30、form.container1.text1.value) set filter to 类型=expsENDIF2将command8的“caption属性设为“返回。在command 8的click上添加代码:IF MESSAGEBOX("确认返回",36,"提示")=6ENDIF5.2、主程序具体步骤:在工程管理器中的“代码一栏中选择程序,选择“新建按钮建立两个程序,程序1和系统设置。主程序代码:在程序1中添加如下代码:hide window screenset path todo form "欢送.scx"set path to d

31、o "系统设置.prg"read eventsclose all*clear eventsquit在程序一中添加如下代码:set sysmenu offset sysmenu to set talk offset clock statusset palette offset bell onset safety offset escape on set keycomp to windowsset carry onset confirm onset exact on set near onset ansi offset lock onset exclusive offset m

32、ultilocks onset deleted on set optimize on set refresh to 0,5set odometer to 100set resource on set century onset currency leftset currency to '$'set hours to 12set fdow to 1set fweek to 1set mark to '.'set separator to ','set point to '.'在程序1上右击选择设置主文件,点击“连编按钮图 连编程序界

33、面点击“确定按钮将所有表单连编为一个可执行的exe文件。第六章 系统测试6.1、系统测试目的软件测试的目的是为了尽可能发现并改正被测试系统软件中的错误,增加系统软件的可靠性和正确性。系统测试主要有两种测试方法:白盒测试和黑盒测试。1. 白盒测试:白盒测试法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒测试法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计标准,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。2. 黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能翻开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论