《信息管理系统仓库管理课程设计.doc》由会员分享,可在线阅读,更多相关《信息管理系统仓库管理课程设计.doc(22页珍藏版)》请在三一办公上搜索。
1、 目 录一、系统设计1二、数据库设计2三、数据库结构的实现.11四、各个功能模块的创建12五、系统的编译和发行22六、参考文献23七、实习小结.23八、致谢.24仓库管理系统一、系统设计(一)系统目标设计 通过一个仓库管理系统,使仓库的管理工作系统化、规范化、自动化、使得资金使用合理,物资设备的储备最佳。(二)开发设计思想 仓库管理的物资进货时经检查合同确认为有效托收以后,进行验收入库,需要填写入库单,并进行入库登记。企业各个部门根据所需要的物资设备总额的部门生产活动的需要提出物资需求申请。计划员根据整个企业需求开出物资设备出库单,仓库管理员根据出库单核对发放设备。设备使用完毕需要及时归还入库
2、,填写入库单。根据需要按月、季、年进行统计分析,产生相应报表。 仓库管理的特点是信息处理量比较大。所管理的物资设备各类繁多,而且由于入库单,出库单、需求单等单据发生量特别大,关联信息多,查询和统计的方式各不相同等原因,因此在管理上实现起来有一定困难。在管理的过程中经常会出现信息的重复传递、单据报表种类繁多、各种部门管理规格不统一等问题。 该系统的设计过程中,为了克服这些困难,满足计算机管理的需要,我们采取了下面的一些原则。1. 统一各种原始单据的格式,统一账目和报表的格式。2. 删除不必要的管理冗余,实现管理规范化,科学化。3. 程序代码标准化,软件统一化,确保软件的可维护性和实用性。4. 界
3、面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。5. 建立操作日志,系统自动记录所进行的各种操作。(三)开发和运行环境选择 开发工具:Visual FoxPro 6.0。 运行环境:Windows 9x、Windows NT或Windows 2000。(四)系统功能分析1. 仓库管理各种信息的输入,包括入库、出库、还库、需求信息的输入等。2. 仓库管理各种信息的查询、修改和维护。3. 设备采购报表的生成。4. 在仓库管理中加入 最高储备和最低储备字段,对仓库中的物资设备实现监控和报警。5. 企业各个部门的物资需求的管理。6. 操作日志管理(五)系统模板设计 在系统功能分析的基础
4、上,考虑Visual FoxPro 6.0程序编制的特点,得到如下图所示的系统功能模块图。仓库管理系统设备入库设备出库设备还库设备需求设备采购保存日志二、数据库设计数据库的结构设计师一个非常重要的问题,数据库结构设计的好坏将直接对应用系统的效率以及现实的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度。 在数据库系统开发设计的时候应该尽量考虑全面,尤其应该仔细考虑用户的各种需要,避免在设计中浪费不必要的人力和物力。(一)数据库需求分析 数据库需求分析是数据库结构设计的第一阶段,是非常重要的的阶段。在这个阶段主要是收集基本数据;数据结构以及
5、确定数据处理的流程,为以后进一步设计打下基础。在仔细调查企业仓库物资设备管理过程的基础上,我们得到了本系统所处理的数据流,如图所示:仓库现有库存各部门需求设备还库设备出库设备采购企业总体生产计划设备入库汇总处理针对本实例,通过对企业仓库管理的内容和流程分析,设计的数据项和数据结构如下。1.设备代码信息包括的数据项有设备号,设备名称。2.现有库存信息包括的数据项有现有设备、现有数目、总数目、最大库存、最小库存等。3.设备入库信息包括的数据项有设备号、入库时间、供应商、供应商电话、入库数量、价格、采购员等。4.设备出库信息包括的数据项有设备号、使用部门、出库时间、出库状况、经手人、出库数量、领取人
6、、用途等。5.设备采购信息包括的数据项有采购的设备、采购员、供应商、采购数目、采购时间。6.设备归还信息包括的数据项有归还设备、归还部门、归还数目、归还时间、经手人等。7.设备需求信息包括的数据项有需求的部门、需求设备、需求数目、需求时间。8.日志信息包括操作员、操作人员。操作内容。(二)数据库概念结构设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。 本实例根据上面的设计规划出的实体有库存实体,入库实体,出库实体,采购实体,还库实体,需求实体,实体和实体之间的关系E-R图如图所示:现有库存设备号现有库存警戒库存总数库存实
7、体E-R图入库设备号供应商价格数量采购员入库实体E-R图出库设备号使用部门数量时间按经手人部门需求实体E-R图计划采购设备号库存信息供应信息按时间还库实体E-R图实体和实体之间的关系如图所示:入 库现有库存出库还 库 部门需求设备采购实体关系图(三)数据库逻辑结构设计 需要将上面的数据库概念结构转化为visual FoxPro 6.0 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。 在上面的实体以及实体之间关系的基础上,形成数据库中的标以及各个表之间的关系,仓库管理系统数据库中各个表的设计结果如下面的几个表格所示,每个表格表示在数据库中的一个表。下表为设备代码表。设备代码表列名数据类
8、型可否为空设备号(主键)数值型(20)不能为空设备名称字符型(50)可为空下表为设备入库表。设备入库表列名数据类型可否为空设备号数值型(20)不能为空入库时间(主键)日期型(8)可为空供应商字符型(50)可为空供应商电话字符型(15)可为空入库数量数值型(20)可为空价格字符型(10)可为空采购员字符型(20)可为空下表为设备出库表。设备出库表列名数据类型可否为空设备号数值型(20)不能为空出库时间(主键)日期型(8)可为空使用部门字符型(50)可为空出库状况数值型(20)可为空经手人字符型(20)可为空出库数量数值型(10)不能为空领取人字符型(20)可为空用途字符型(50)可为空下表为现有
9、库存表。现有库存表列名数据类型可否为空设备号(主键)数值型(20)不能为空现有库存数值型(20)可为空最大库存数值型(20)可为空最小库存数值型(20)可为空总数数值型(20)可为空下表为部门需求表。部门需求表列名数据类型可否为空设备号数值型(20)不能为空部门名称字符型(20)不能为空需要数量数值型(20)可为空需求开始时间日期型(8)可为空需求结束时间日期型(8)可为空下表为设备还库表。设备还库表列名数据类型可否为空设备号数值型(20)不能为空还库时间日期型(8)不能为空仓库管理员字符型(10)可为空归还数量数值型(20)可为空归还人字符型(10)可为空下表为操作日志表。操作日志表列名数据
10、类型可否为空操作员字符型(50)不能为空操作内容字符型(50)不能为空操作时间日期型(8)不能为空下表为设备采购计划表。 设备采购计划表列名数据类型可否为空设备号数值型(20)不能为空现有库存数值型(20)可为空总库存数值型(20)可为空最大库存数值型(20)可为空购买数量数值型(20)可为空供应商字符型(20)可为空价格字符型(10)可为空计划采购时间(主键)日期型(8)可为空三、数据库结构的实现 在需求分析、概念结构设计的基础上得到数据库的逻辑结构之后,我们就可以再visual FoxPro 6.0数据库系统中实现该逻辑结构。 打开如图所示的仓库管理项目后,在项目管理器中展开数据文件夹。用
11、鼠标选中数据库库,单击右侧的新建按钮,在弹出的对话框中将该数据库文件存储为d:李桂芳。 在弹出的如图所示的数据库设计器中单击鼠标右键,选择新建表,为数据库添加数据表。四、各个功能模块的创建 按照前面的分析,我们将管理系统的逻辑模块统一到6个实际功能模块中,如图所示。切换面板用于切换不同的操作,每项具体操作结束后,都会返回到切换面板。 切换面板设备出库设备入库设备还库显示报表设备需求设备采购 下面对各模块的作用进行说明:设备入库模板:添加设备到库存中。设备出库模板:将设备从库存中取出并记录。设备还库模板:将归还到库存的设备保存到数据库。设备需求模板:记录各部门的设备需求。设备采购模板:记录要采购
12、的设备。切换面板:用于切换到不同的操作,如设备入库,设备出库。显示报表:显示库存过多、库存不足等信息。下面就按照功能模块图来设计该仓库管理系统。首先在Visual FoxPro 6.0中建立一个项目管理器,以便管理本系统中所有数据,命名为仓库管理。以下操作均在该项目管理器中进行。一下所有表单的Desktop属性全部设为.T.真。(一)功能选择界面的设计 这一模块的主要功能是作为系统主界面为进入本系统不同功能界面选择提供一个接口,使用一个窗口来实现这一功能。首先建立一个表单,设其Caption属性为仓库管理。在该表单上添加7个“按钮”控件,他们的“Caption”属性分别为“设备入库”、“设备出
13、库”、“设备还库”、“部门需求”、“设备采购”、“显示报表”和“退出系统”。然后在表单上添加“图像”控件,并设其“Stretch”属性为“2-Stretch(扩展)”,“Picture”属性为图片所在位置,本例中为“d:李林芳water lilies.jpg在“command1”(“Caption”属性为“设备入库”)控件的“Click”事件中添加代码如下: do form 设备入库表 thisform.release 在“command2”(“Caption”属性为“设备出库”)控件的“Click”事件中添加代码如下: do form 设备出库表 thisform.release 在“com
14、mand3”(“Caption”属性为“设备还库”)控件的“Click”事件中添加代码如下: do form 设备还库表 thisform.release 在“command4”(“Caption”属性为“部门需求”)控件的“Click”事件中添加代码如下: do form 部门需求表 thisform.release 在“command5”(“Caption”属性为“设备采购”)控件的“Click”事件中添加代码如下: do form 设备采购计划表 thisform.release 在“command6”(“Caption”属性为“显示报表”)控件的“Click”事件中添加代码如下: do
15、 form 显示报表 thisform.release 在“command7”(“Caption”属性为“退出系统”)控件的“Click”事件中添加代码如下: thisform.release在“form1”的属性里选择“AutoCenter”设置为“.T.-真”,同时将“backcolor”设置为“255,255,255”,“WindowState”设置为“0-普通”。该表单设计结果如图所示.(二)设备入库模块的设计在设备入库模块中将实现设备数据的添加和入库等功能。在前面的几章的例子中已经详细介绍了关于如何定制具有标准查询并修改功能的表单,其实Visual FoxPro6.0 本身也具有生成
16、具有上述功能表单的功能。下面就介绍如何通过表单向导完成设备入库表单的设计。首先在项目管理器的文档视图下单击“新建”按钮,如图所示。 在接下来的向导中,“数据库和表”选择“仓库管理”以及“设备入库表”。这是前面定义好的数据库和表。由于设备入库需要显示所有的字段,因此我们将可用字段全部移至选定字段,如图所示,然后单击“下一步”按钮,在表单样式中,选择“阴影式”以及“图片按钮”,如下图所示。在左上角的窗口中提供了表单样式的预览功能,图片按钮和文本按钮的区别在于显示的时候是以图片来表达功能还是用文字表达,实现功能的函数没有区别。选择“上一步”按钮可以跳回上一个界面对表单中显示的字段进行修改。 单击“下
17、一步”按钮后,向导进行到“步骤3-排序次序”,选择“设备号”为索引并选择升序排列。最后预览表单,核对每项的设置,完成表单向导,值得注意的是,在结束表单向导前,可选择“保存表单以备将来使用”,“保存并运行表单”,或者“保存表单并用表单设计器修改表单”。由于Visual FoxPro 6.0向导生成的表单只具有普遍性,对于当前设计的仓库管理系统还需要一定的该变,因此以我们选择“保存表单并用表设计器修改表单”。单击“完成”按钮系统提示保存表单,将表单保存为“设备入库表.scx”,存于d:李林芳 的目录下。然后打开表单修改生成的表单。在修改BUTTONSET时,可以通过属性窗口的下拉列表选定单个的按钮
18、,调整其位置和其他属性。 根据功能需求,把“cmdPrint”、“cmdExit”、“cmdDelete”和“Visible”的Visible属性都设为“.T.-真”。添加1个命令按钮,Caption属性为“回主界面”。在“回主页面”命令按钮的Click事件中添加代码如下:do form 仓库管理 thisform.release(三)设备出库模块的设计在设备出库模块中将实现设备出库数据的添加和修改库存等功能。该模块的功能和设备入库的功能相似。具体操作可以参考设备入库模块的设计。在表单的左上角加入了显示当前时间的功能:添加标签label2的Caption的属性设为“当前时间”,BackStyl
19、e的属性设为“0-透明”;添加标签label3的Caption的属性设为空;为当前表单的Init事件添加如下代码:thisform.label3.caption=dtoc(date()&date()用来获取当前的系统时间&Init用来在每次表单被初始化时被调用下面列出表单中所用到控件的属性值。“Form1”控件的主要属性属性名称属性值Caption设备出库表AutoCenter.T.-真Backcolor255.255.255(四)设备还库模板的设计在设备还库模块中将实现设备还库数据的添加和修改库存等功能。设备还库表所可能用到的控件的属性如图:属性名称属性值Caption设备还库表AutoCe
20、nter.T.-真Backcolor255.255.255“Form1”控件的主要属性控件名属性名称属性值cmdExitVisible.T.-真cmdDeleteVisible.T.-真cmdPrintVisible.T.-真cmdEditVisible.T.-真Command1Caption回主界面“buttonset1”控件的主要属性(五)设备需求模板的设计在设备需求模板中将设备需求数据的田间和保存日志等功能。 通过表单向导生成的表单,用户可以调节控件的位置,修改表单中控件的属性。相关属性设置如表:“form1”控件的主要属性属性名称属性值Caption部门需求表Autocenter.T.
21、-真Backcolor255.255.255“buttonset1”控件的主要属性控件名属性名称属性值CmdexitVisible.T.-真CmddeleteVisible.T.-真cmprintVisible.T.-真cmdeditVisible.T.-真Command1Caption保存日志Command2Caption回主界面在表单设计器中,双击“保存日志”命令按钮。添加click事件代码如下:insert into 操作日志表(操作员,操作内容,操作时间);value (管理员,设备需求,date()双击回主界面命令按钮,添加click事件代码如下:thisform.releasedo
22、 form 仓库管理(六)设备采购模板的设计在设备采购模块中将实现设备采购数据的添加和保存日志等功能。1.由数据表生成表单与前面表单设计类似,选择计划采购时间的升序排列作为设备采购表的索引。2.为窗体修改和添加命令按钮在表单上添加2个命令按钮“保存日志”和“回主界面”。设置表单中控件的属性。如图,列出了需要修改的空间的名称以及属性值。“form1”控件的主要属性属性名称属性值Caption设备采购计划表Antocenter.T.-真 Backcolor255.255.255“buttonset1”控件的主要属性控件名属性名称属性值CmdexitVisible.T.-真CmddeleteVisi
23、ble.T.-真cmprintVisible.T.-真cmdeditVisible.T.-真Command1Caption保存日志Command2Caption回主界面3.为按钮添加click事件代码在表单设计器中,双击保存日志命令按钮。添加click事件代码如下:insert into 操作日志表(操作员,操作内容,操作时间);value (管理员,设备需求,date()双击回主界面命令按钮,添加click事件代码如下:thisform.releasedo form 仓库管理(七)显示报表模板设计在该模块中,一共要显示3个报表,分别提供库存不足、库存过多和操作日志等信息。1.设计显示报表表单
24、在项目管理的文档视图下选择“新建”,然后选择新建表单。在空白表单中添加一个页框控件,同时在数据环境里添加现有库存表和操作日志表。分别为每个page添加一个表格控件grid1.设置表格控件的属性,如表所示“grid1”控件的主要属性控件名属性名称属性值Pageframe1.page1.grid1Readonly .T.-真Pageframe1.page1.grid1recordsourcetype1-别名Pageframe1.page1.grid1Columncount-1Pageframe1.page2.grid1Readonly .T.-真Pageframe1.page2.grid1reco
25、rdsourcetype1-别名Pageframe1.page2.grid1Columncount-1Pageframe1.page3.grid1Readonly.T.-真Pageframe1.page3.grid1recordsourcetype1-别名Pageframe1.page3.grid1Columncount-1“pageframe1”控件的主要属性控件名属性名称属性值From1Caption显示报表Pageframe1Pagecout3Pageframe1.page1Caption库存不足表Pageframe1.page2Caption库存过多表Pageframe1.page3C
26、aption操作日志2.代码设计定义pageframe1.page1.grid1的init事件:local custs1select 设备号,最大库存,现有库存 from 现有库存表;where (现有库存最大库存) into cursor custs1thisform.pageframe1.page1.grid1.recordsource=custs1定义pageframe1.page2.grid1的init事件:local Custs2select 设备号,最小库存,现有库存 from 现有库存表;where (现有库存最小库存)into cursor Custs2定义pageframe1
27、.page3.grid1的init事件:local Custs3select * from 操作日志表 into cursor Custs3thisform.pageframe1.page3.grid1.recordsource=Custs3为方便返回主界面,添加一个Caption属性为“返回主界面”的命令按钮,Click代码为:thisform.releasedo form 仓库管理运行“显示报表”表单,界面如图:五、系统的编译和发行(一)设置主文件 用主图标(以黑体的文件表示)标记的文件是用户在启动.app 或者是.exe时被调用文件,可以是一个表单、菜单和程序,建议使用程序作为主文件。(
28、二)构建主文件 如果主文件是一个程序,它将调用应用程序框架中的各个功能组件,然后由这些组件调用应用程序的其余部分。如果要建立一个简单的主程序,可以按下列步骤进行。1. 现设置应用环境界面。2.确定初始用户界面。3.建立事件循环。4.恢复环境,退出应用程序。本系统可以建立下面的程序作为主程序:Do form 仓库管理On shutdown quitRead events本系统的主程序为主程序.prg。六、参考文献1.管理信息系统,苏选良编著,电子工业出版社;.2.数据库与管理信息系统实验教程 苏选良编 电子工业出版社;3.Visual Foxpro数据库系统开发实例导航,邵洋,人民邮电出版社。七
29、、实习小结 两个星期的管理信息系统课程设计在不断求索与团队协作中成功的完成了。此次课程设计与以往不同,这次是以小组为单位共同完成的,而这也让我深深地被那种团队精神感动了,大家相互讨论、相互帮助,所以在设计中遇到的困难就迎刃而解了。由于我们所设计的这个系统涉及的知识较多,所以我们完成课程设计的时间相对较晚,不过总算还是按时完成了。而且从中学到的东西也较多。通过此次设计,我们除了巩固了以前所学的VFP知识外,还初步掌握了报表和视图的用法,以及多表关系的处理方法。 而这次课程设计也让我们意识到了管理信息系统这门课程的重要性,它在我们的日常生活 中发挥着重要作用。像我们设计的这个仓库管理系统的具体任务
30、就是设计一个仓库管理系统能进行物资的入库、出库、还库登记和需求信息的输入等,还能进行相关信息的查询、修改及生成报表,记录操作日志等。大大节省了管理人员的时间。经过了这次仓库管理系统的课程设计,明白了做一个小型软件的步骤和流程.如何让自己设计的软件运用到具体的实际工作中,一个关键的环节就是程序设计和运行测试中遇到的问题该如何解决。从解决问题的过程中,小组的每个成员积极完成自己的模块,通力合作,终于攻克一个个难关,完成本系统的设计和运行。从中我们学到了许多平时课本上所没有的知识。当然,能够完成这个仓库管理系统,感觉很有成就感。八、致谢在这次课程设计中,首先感谢学校给我们这样一个进行课程设计的任务,因为有了这个任务我们才有了进行该课程设计的机会与动力;其次感谢各位指导老师的严格要求,是老师的严格要求让我们靠自己的摸索和协作找到了答案,这样使得我们更深刻的掌握了相关知识;再次要感谢在课程设计中给与我们帮助的同学们,感谢一起奋斗的组员们,是你们让整个课程设计的过程少了一些拦路虎同时也多了一些乐趣!