- 1.88 MB
- 2022-05-16 18:35:12 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
副食品批发仓库管理系统随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现管理企业势在必行。本系统采用面向对象的程序设计思想进行编制,整个系统数据存在表格文件中,由数据库文件进行管理。在设计数据库时使表格文件发生关联,组成关系型数据库,以便于对数据进行处理。这样就可以在数据的操作上分别针对属于不同表的数据,不必为了某条记录的一个字段来对全部记录进行修改,加快了数据的处理速度,增加了数据的可管理性。目录第一章前言21开发工具22运行环境23Delphi7.0简介24SQLServer2000简介2第二章仓库管理系统分析与设计31系统目标设计32仓库管理系统的用户需求43开发设计思想44功能分析55功能模块设计5第三章:数据库设计73.1数据库环境的建立73.2数据库需求分析73.3数据库概念结构设计83.4数据库逻辑结构设计113.5数据库结构的实现12第四章功能模块设计154.1登陆程序设计154.2修改密码程序的设计154.3设备入库窗口的创建164.4出库模块设计164.5设备采购窗口的创建174.6设备采购报表窗口的创建184.7库存报警窗口设计184.8操作日志模块的设计19第五章系统的实现195.1菜单设计195.2调试及运行20第六章系统总体构架21第七章系统资源要求22第22页共22页
第一章前言1开发工具SQL2000数据开发环境,Delphi7.0开发工具2运行环境硬件环境:CPU为赛扬配置以上机型。软件环境:支持中文的Windows98、Windows2000、WindowsXP各种版本操作平台。3Delphi7.0简介Delphi7.0作为功能强大的数据库应用开发工具,一经推出,便以其快捷的可视化开发环境、强大的数据库操作与数据库访问能力,以及对面向数据库对象技术和客户/服务器技术的全方位支持得到了数据库应用开发人员的广泛青睐,在全球数据库开发工具领域占据了高达40%的市场份额。Delphi自问世以来受到了应用软件开发人员的特别重视,其主要原因在于该开发工具开发效率高、成本低;它是面向对象的开发工具,代码的可重用性好,开发的软件易于维护。它主要用于客户/服务器计算模式的前端工具,对数据库的应用开发有着特殊的支持,特别适合做信息系统的开发;它为开发人员提供了丰富的对象、控件和函数以及良好的用户界面;还为用户能够编制功能强大的应用软件创造了便利条件。因此,它越来越受到程序员、软件工程师和用户们的欢迎和重视。4SQLServer2000简介SQLServer2000被称为关系型数据库,它是基于关系模型建立的。关系模型是当前最流行的数据存储和查询模型。在数据库中存储的数据通过各个表之间的关联紧密地结合成为一个整体,只要知道个体的某一个特征,就可以在整个数据库范围内查询出所有与之相关的数据。SQLServer2000数据库的安全性也非常好,可以通过系统提供的各种工具来增加或减少数据的安全级别,即可以让任何人插入修改数据,也可以让只有以数据拥有者身份登录的用户才可以浏览数据。第22页共22页
第二章仓库管理系统分析与设计一、系统分析仓库管理系统,其基本任务也就是有效管理仓库中物品的流通,如:进库管理、出库管理。可以对仓库物流管理做更加细致的分析,并从中发更多细节特征:1、仓库物品流通是以物为基本单位进行的。2、仓库物品流通将涉及物品的进库、出库与报损三种物流方式。3、物品流通管理涉及流通数据更新处理和对流通数据的查询、汇总等数据4、检索操作。5、库中物品或许会品种繁多,因此有必要对物品进行合理的分类,以方便对物品以及物品流通情况的数据检索。6、规范物品流通管理,仓库中的物品应该在其流通之前进行登记。7、当物品出库、报损时必须考虑到物品的当前库存量是否能够满足操作需要。8、仓库物流管理是通过仓库工作人员进行的,因此,工作人员需要进行注册登记。9、仓库工作人员需要有唯一的个人身份标识,它既是工作人员登记系统时的身份验证依据,也是工作人员在进行物品流通操作时的经手人标记。10、尽管工作人员的姓名也可以用做其身份标识,但不同的工作人员有可能会出现相同的姓名,因此有必要提供工作人员一个专门的身份标识码。11、库物流管理虽然是通过诸多工作人员共同完成的,但各工作人员在操作上往往会有所分工,这意味着应该给予工作人员以操作权限限制。12、当设计工作人员操作权限的时候,往往需要有一种合理的授权机制与其相配合。例如,可设置一位系统管理员,由他进行全面管理,而其他工作人员则通过他获得局部管理受权。 针对软件问题的思索、分析而获得的有关软件的诸多描述,往往还需要通过归纳来进行总结。一种有效的归纳方式是从对软件问题的描述中获取软件的基本数据要素、工作流程,由此而提出对于软件而言合适的工作模型。二仓库管理系统设计l根据企业仓库管理人员的工作需要,为了解决业务的不断发展,加强成本管理和收入管理,通过提高服务水平来提升企业形象,第22页共22页
对仓库管理程序进行了详细的分析和策划,提出了利用计算机管理信息系统对仓库进行管理,而进行了仓库管理系统的开发。该系统能实现物品发放、物品入库、出库管理功能。该系统不仅出于方便操作人员的考虑,也是出于安全策略。在各个子系统中,用户管理只有相关管理人员被允许进行操作。各子系统可录入、查询、更改相应数据库信息,以及对其他子系统数据信息的调用查询。数据库起到了各方面数据以及查询各方面信息的重大作用。因而构建数据库以及如何合理有效的对数据库进行操作乃是本系统的核心工作。系统有良好的交互性,便于各部门操作人员使用本系统,以及容易掌握本系统的各项功能,使人乐于使用本系统。本系统的界面设计友好,各个功能设计合理并人性化。本软件开发的过程中采用Delphi7.0,采用成熟的软件研制技术。将业务处理从纯人工操作转换成人工与计算机共同处理提高了工作效率。。2仓库管理系统的用户需求仓库管理系统是针对仓库的物品的经常出入库和查询统计等方面工作而开发的管理软件。根据用户的要求,实现仓库的物品管理、出入库管理、还库管理及设备采购管理等功能。第一,用户通过相应的模块,对仓库里的物品的基本情况进行操作,对库存数量进行查询,用户通过简单的操作即可轻松的管理仓库。第二,首先是管理体制的合理化。应用计算机管理后,可以获得准确的库存量,对及时采购物品提供方便。第三,是管理工作的标准化,在信息收集制度化,信息形式标准化,信息传递规范化,信息内容系统化的基础上,使管理工作逐步走上程序化,标准化的轨道。第四,管理效果的最优化。应用计算机后,可以更多地定量地分析管理问题,减少管理决策中的主观随意性,使决策更加精确有效。第五,基础数据的科学化。应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入,便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。最后,应用计算机管理后,许多重复性的工作,都可由计算机去执行,从而人使管理人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的工作。l解决信息的不一致问题;l实现全县范围内的信息共享;l为领导层的决策支持提供服务;l计算机用于管理,促进了管理水平的提高;l对提高管理人员对计算机管理信息系统的认识和普及计算机知识起到了较好的促进作用;3开发设计思想第22页共22页
仓库管理的物资主要是企业生产所需要的各种设备。进货时经检查合同确认为有效托收以后,进行验收入库,填写入库单,进行入库登记。企业各个部门根据所需要的物资设备总额和部门生产活动需要提出物资需求申请。计划员根据整个企业的需求开出物资设备出库单,仓库管理中根据出库单核对发放设备。设备使用完毕需要及时归还入库,填写入库单。根据需要按照月、季、年进行统计分析,产生相应报表。仓库管理的特点是信息自理量比较大。所管理的物资设备种类繁多,而且由于入库单、出库单、需求单等单据发生量特别大,关联信息多,查询和统计的方工各不相同。因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门管理规格不统一等问题。在本系统的设计过程中,为了克服这些困难,满足计算机管理的需要,我们采取了下面的一些原则。l统一各种原始单据的格式,统一帐目和报表的格式。l删除不必要的管理冗余,实现管理规范化、科学化。l程序代码标准化,软件统一化,确保软件的可维护性和实用性。l界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。l建立操作日志愿,系统自动记录所进行的各种操作。4功能分析本系统主要完成以下几个功能:Ø仓库管理各种信息的输入,包括入库、出库、还库、需求信息的输入等。Ø仓库管理各种信息的查询、修改和维护。Ø设备采购报表的生成。Ø在库存管理中加入最高储备和最低储备字段,对仓库中的物资设备实现监控和报警。Ø企业各部门的物资需求的管理。Ø操作日志的管理。Ø仓库管理系统的使用帮助。5功能模块设计l物流系统管理Ø第22页共22页
用户及权限设定:审核用户登录,验证用户号和密码,系统操作权限分配,保证系统安全;人员权限管理提供对使用本系统所有用户操作权限进行管理,包括给某个用户增加某项操作的权限、删除某项操作的权限以及以查询浏览系统任意用户的权限信息;并可以及时跟踪用户的操作情况,防止数据被非法破坏或恶意删除。Ø修改密码:操作员对本系统操作时使用的密码进行修改;Ø数据备份:对系统数据库按RS加密压缩方式进行数据备份;Ø数据恢复:对RS方式加密压缩的数据恢复到数据库;Ø材料初始化:包括所有材料分类、材料明细等等材料数据初始化资料库管理;Ø进货单位名称维护:主要对进货单位的资料进行建档,以便健全材料的资料档案。l材料运作系统管理Ø材料管理:材料管理提供材料入库、材料领用、材料退料、材料报废、材料月结存管理;Ø综合查询管理: 综合查询管理提供库存查询、入库单查询、领用单查询、退料单查询、报废单查询管理;Ø报表打印管理:报表打印管理提供供库存打印、入库单打印、领用单打印、退料单打印、报废单打印、仓库分类月报表、库存材料月结存报表打印,系统可以与相关数据库连接,进行材料的查询和对材料进行提示打印,并通知管理人员对需要补充的材料进行提醒;在系统功能分析的基础上,考虑Delphi7.0程序编制的特点,得到如图所示的系统功能模块图。第22页共22页
第三章:数据库设计3.1数据库环境的建立3.1.1安装SQL2000forWin2K数据库管理系统3.1.2创建数据库:创建数据库的名字名为:ckgl,在databasefiles选项组中会自动产生此数据库的主文件,然后选择保存的相应路径。在transactionlog标签中,对数据库的日志文件进行设置,并保存在相应的路径下。3.2数据库需求分析在仔细调查仓库物资设备管理过程的基础上,得到本系统所处理的数据流程如图所示。第22页共22页
针对本实例,通过对仓库管理的内容和数据流程分析,设计的数据项和数据结构如下。l设备代码信息。包括的数据项有设备号、设备名称及规格。l现有库存信息。包括的数据项有设备、现有数目、总数目、最大库存、最小库存等l设备使用信息。包括的数据项有使用的设备、使用部门、数目、使用时间、出库时状态等。l设备采购信息。包括的数据项有采购的设备、归还部门、归还数目、归还时间、经手人等。l设备需求信息。包括的数据项有需求的部门、需求设备、需求数目、需求时间等。有了上面的数据结构、数据项和数据流程,就能进行下面的数据库设计。3.3数据库概念结构设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。本实例根据上面的设计规划出的实体有库存实体、入库实体、出库实体、采购实体、还库实体、需求实体。各个实体的E-R图及其关系描述如下。下图为库存实体E-R图。第22页共22页
下图为入库实体E-R图:下图为出库实体E-R图:下图为部门需求实体E-R图:第22页共22页
下图为还库实体E-R图:下图为年计划采购实体E-R图:实体与实体之间的关系E-R图如下所示:第22页共22页
3.4数据库逻辑结构设计在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。仓库管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。下表为用户表userk列名数据类型可否为空说明useridVarchar(6)Notnull用户帐号(主键)usernameVarchar(8)null用户名userpasswordVarchar(6)null用户密码下表为设备代码表device_code列名数据类型可否为空说明CodeVarchar(6)Notnull设备号(主键)NameVarchar(20)Notnull设备名称下表为设备入库表device_in列名数据类型可否为空说明CodeVarchar(6)Notnull设备号In_dateDatetimeNotNull入库时间(主键)ProviderVarchar(20)Null供应商TelenoVarchar(10)Null供应商电话In_numberchar(6)Null入库数量PriceChar(6)Null价格BuyerVarchar(10)Null采购员下表为设备出库表device_out列名数据类型可否为空说明CodeVarchar(6)Notnull设备号DepartmentVarchar(20)Null使用部门Out_dateDatetimeNotNull出库时间(主键)Out_stateChar(1)Null出库状况Out_personVarchar(10)Null经手人Out_numberChar(6)Null出库数量takerVarchar(10)Null领取人usageVarchar(20)Null用途下表为现有库存表device列名数据类型可否为空说明CodeVarchar(6)Notnull设备号(主键)Now_numberChar(6)Null现有库存第22页共22页
High_numberChar(6)Null最大库存Low_numberChar(6)Null最小库存totalChar(6)Null总数下表为部门需求表department_need列名数据类型可否为空说明CodeVarchar(6)Notnull设备号DepartmentVarchar(10)Null部门名称Need_numberChar(6)Null需要数量Begin_dateDatetimeNull需求开始时间End_dateDatetimeNull需求结束时间下表为设备还库表device_return列名数据类型可否为空说明CodeVarchar(6)Notnull设备号Return_dateDatetimeNotNull还库时间(主键)KeeperVarchar(10)Null仓库管理员Return_numberChar(6)Null归还数量Return_personVarchar(10)Null归还人下表为操作日志表howdo列名数据类型可否为空说明Do_userVarchar(10)Notnull操作员Do_whatVarchar(40)Notnull操作内容Do_datedatetimeNotnull操作时间下表为设备采购计划表device_plan列名数据类型可否为空说明CodeVarchar(6)Notnull设备号Now_numberChar(6)Null现有库存Total_numberChar(6)Null总库存Max_numberChar(6)Null最大库存Buy_numberChar(6)Null购买数量ProviderVarchar(10)Null供应商priceChar(6)Null价格Buy_datedatetimeNotNull计划采购时间(主键)3.5数据库结构的实现3.5.1创建设备代码表格Device_codecreatetable”dms”.device_code(codevarchar(6)null,namevarchar(20)null,第22页共22页
constraintcode_code_pkprimarykey(code))tablespace“user_data”;3.5.2创建入库表格device_increatetable“dms”.device_in(codevarchar(6)notnull,in_datedatetimenotnull,providervarchar(10)null,telenovarchar(10)null,in_numberchar(6)nullpricechar(6)null,buyervarchar(10)null,constraintin_date_pkprimarykey(in_date))tablespace“user_data”3.5.3创建出库表格device_outcreattable“dms”.device_out(codevarchar(6)notnull,departmentvarchar(20)null,out_datedatetimenull,out_statechar(1)null,out_personvarchar(10)null,out-numberchar(6)notnull,takervarchar(10)null,usagevarchar(20)null,constraintout_date_pkprimarykey(out_date))tablespace“user_data”;3.5.4创建现有库存表devicecreattable”dms”.device(codevarchar(6)null,now_numberchar(6)null,high_numberchar(6)null,low_numberchar(6)nulltotal_numberchar(6)null,constraintdevice_code_pkprimarykey(code))tablespace“user_data”;第22页共22页
3.5.5创建部门需求表department_needcreatetable“dms”.department_need(codevarchar(10)notnull,departmentvarchar(10)notnull,need_numberchar(6)null,begin_datedatetimenull,end_datedatetimenull,)tablespace“user_data”;3.5.6创建设备还库表device_returncreatetable“dms”.device_return(codevarchar(6)notnull,departmentvarchar(20)null,return_datedatetimenull,keepervarchar(10)null,return_char(6)null,return_personvarchar(10)null,constraintreturn_date_pkprimarykey(return_date))tablespace”user_data”;3.5.7创建设备采购计划表device_plancreatetable”dms”.device_plan(codevarchar(6)notnull,.Now_numberchar(6)null,Total_numberchar(6)null,Max_numberchar(6)null,Buy_numberchar(6)null,Providervarchar(20)null,Pricechar(6)null,Buy_datedatetimenotnull,Constraintplay_date_pkprimarykey(buy_date))tablespace”user_data”;3.5.8创建操作日志表howdocreattable“dms”.howdo(do_uservarchar(10)notnull,do_whatvarchar(40)notnull,do_datedatetimenotnull,第22页共22页
)tablespace“user_data”;3.5.9创建用户表userkcreattable“dms”.userk(useridvarchar(6)notnull,usernamevarchar(8)null,userpsaawordvarchar(6)null,Constraintuserid_pkprimarykey(userid))tablespace“user_data”;第四章功能模块设计4.1登陆程序设计登陆程序是劳资管理系统运行后首先打开的界面。在这个界面,用户必须输入预先设定好的用户名以及密码才能进入,这样有利于防止他人在没有授权的情况下进入系统,修改系统中的数据,对单位造成不必要的损失。登陆窗口的界面如图所示:4.2修改密码程序的设计当用户进入系统以后,常常根据需要要修改自己的密码。为此,此程序便是为了满足用户修改密码而设计。其界面如图:第22页共22页
4.3设备入库窗口的创建入库管理用于采购物品设备的入库登记。该窗口由主程序窗口上的“功能”菜单中的“设备入库”子菜单的单击事件激发。设备入库窗口界面如图所示:4.4出库模块设计出库管理用于物品设备的出库登记。该窗口由主程序窗口上“功能”菜单中的“设备出库”子菜单单击事件激发。设备出库窗口界面如图所示第22页共22页
4.5设备采购窗口的创建设备采购模块用于生成要采购设备的报表,由主程序窗口上“功能”菜单中的“设备采购”子菜单单击事件激发。该模块有2个窗口组成,第一个窗口用来供用户选择要采购的设备,选择完毕后进入第二个窗口,用于生成设备采购报表。设备选择窗口界面如图所示。该窗口最上方是一个静态文本框控件,显示窗口的用途。中间是一个下拉式列表框控件,在下拉式各项中列出了各种设备,提供给用户选择。该控件可以用下拉式子数据窗口来代替。该窗口的右下方放置了2个命令按钮,在其click事件中分别用来实现采购设备的确定和取消功能。第22页共22页
4.6设备采购报表窗口的创建设备采购报表窗口如图所示:该窗口最上方是一个静态文本框控件,显示窗口的用途。中间是一个数据窗口控件。根据前一个设备选择窗口中用户选择的设备,自动到数据库中获取该设备的现有库存、设备总数、最大库存,显示在数据窗口中的相应列上。自动获取系统时间,赋值给报表时间列。用户在这里需要填写购买设备的数量、供应商名称和价格。该窗口的下方放置了2个按钮控件,在其click事件中分别用来实现设备采购服表的打印(包括数据保存到设备采购表格中)和报表取消功能。4.7库存报警窗口设计在仓库中的每一个设备都有其最大库存量和最小库存量的限制。通过本模块,用户可以方便地找出库存中现有库存量大于最大库存量或小于最小库存量的设备,从而为库存设备的管理提供方便。该窗口由主程序窗口上的“功能”菜单中的“库存报警”子菜单单击事件激发。库存报警窗口界面如图所示:第22页共22页
4.8操作日志模块的设计该系统的每一项改变数据库表格的操作都会在操作日志表格中有相应的记录。这样做的目的是有利于增强操作人员的责任感,并且对于维护数据库中数据的完整性也是非常有必要的。操作日志窗口界面如图所示。第五章系统的实现5.1菜单设计在菜单画面中设计应用程序主窗口所连接的菜单m_main。该菜单如图所示第22页共22页
在这里设置了5个主菜单,个子菜单项目。对于一些经常使用的菜单功能,在工具栏中设置相应的快捷图标来实现。l设备材料管理主菜单下包括:设备入库、设备出库、设备还库、设备需求、设备采购、库存报警。l综合查询主菜单下包括:入库信息、出库信息、库存信息。l系统设定主菜单下包括:用户密码修改、打印设置、操作日志、退出。l报表打印主菜单下包括:库存打印、入库单打印、领用单打印、退料单打印、报废单打印、仓库分类月报表、库存材料月结存报表打印。l帮助主菜单下包括:本系统帮助信息,方便用户的使用。通过菜单,用户可以十分方便的进入想要打开的窗口。这样,不仅能体现整个应用程序的设计结构,而且还为用户提供了一个友好的、操作方便的工作环境。5.2调试及运行仓库管理信息系统建立后,应装入大量设备记录,进入试运行及调试阶段。l装入设备数据第22页共22页
往数据库中装入数据又称为数据库加载。由于数据库中通常包含着一个组织内多个部门的数据,这些数据的格式、规格都可能不同,所以在加载之前要对这些数据作严格地检验、整理,并建立严格的数据登录和校验规范,设计出完善的数据检验和校正程序,尽可能在加载之前把不合格的数据排除掉。然后,通过系统提供的工具程序或自编的专门装入程序将数据装入数据库。l试运行及调试这个阶段的工作主要是实际运行仓库管理应用程序,进入仓库管理系统登录界面,输入正确的用户名和口令,单击确定进入主菜单。在前一阶段,虽然也作了性能预测,但是仅仅做了性能估计,且在估计过程中,做了许多简化和假设,忽略了许多次要因素,因而估计是粗糙的,并可能失真。在试运行阶段,必须进行实际测量和评价,测试数据尽可能覆盖现实世界的各种情况。如果实际测试结果不符合设计目标,则需返回物理设计阶段,修改参数。有时也许还需要返回初始阶段。第六章系统总体构架系统软、硬件构架整个系统采用三层架构:数据库+中间逻辑层+数据表现层(单点版为:数据库+用户端)。数据库采用功能强大的SQLServer2000数据库,结合精简的存储过程,加快数据库访问时间。中间逻辑层采用CORBA(单点版为ADO)中间件技术,保证满足处于局域网环境或广域网环境的客户需求。应用程序的编写采用Delphi开发工具,既实现了应用程序的功能,又保提供据表现层程序(客户端程序)的界面友好。整个系统的数据库和服务端程序,运行于一台Win2000Server以上版本操作系统的服务器上,服务器要求CPUPIII,内存256M,硬盘空间18G,备份服务器硬件配置可比主服务器低,系统软件配置同主服务器。客户端程序运行Win98以上版本的PC上,要求CPUPII以上,内存64M以上,硬盘空间8G以上。打印机包括发票打印机和普通打印机。系统逻辑构架第22页共22页
数据库采用SQLServer2000,内置业务逻辑的存储过程,服务端程序提供直接对数据库进行访问与直接调用存储过程提供的接口功能,强化数据访问响应速度。服务端程序和电力分公司各个仓库点、供电所、供电站通讯采用CORBA(单点版为ADO)中间件技术,实现服务端与服务器的局域网或广域网互联,保证了服务端对数据库的访问与操作。第七章系统资源要求网络基础不管是服务端还是客户端程序,都需要预先的网络建设基础,数据通讯需要有完善的局域网并能访问Internet(单点版不要求能访问Internet)。硬件基础服务端:服务器两台,主业务服务器CPUPIII以上,内存256M以上,硬盘空间18G以上,配有网卡;数据备份服务器硬件性能可以稍低,可以采用PCSERVER,CPUPII以上,内存256以上,硬盘空间18G以上,配有网卡。客户端:每个客户端需要一台PC,CPUPII以上,内存64M以上,硬盘空间8G以上,配有网卡。第22页共22页