仓库管理系统的设计方案与开发_第1页
仓库管理系统的设计方案与开发_第2页
仓库管理系统的设计方案与开发_第3页
仓库管理系统的设计方案与开发_第4页
仓库管理系统的设计方案与开发_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文(论文>题目仓库管理系统的设计与开发学生姓名学号学院专业计算机科学与技术班级指导教师摘要在21世纪,计算机飞速发展的今天,将计算机这一信息处理技术应用于仓库管理已是势必所然,而且这也将为仓储管理带来前所未有的改变。它可以带来意想不到的经济效益和社会效益,同时也会为企业的飞速发展贡献一份力量。采用计算机仓库管理信息系统对仓储进行管理,使其更加科学化和现代化,它可以极大地提高仓库工作人员的工作效率,减少了以往入库、出库流程繁琐,杂乱,周期长的弊端。论文在对仓库管理系统进行可行性分析、系统需求分析、功能需求分析、开发环境分析的基础上,对系统进行了比较详细的设计,包括结构设计、功能模块设计、数据库设计。企业仓库管理系统主要包括入库管理、出库管理、还库管理、系统维护等基本功能,论文详细介绍了系统的实现过程和方法。论文的最后介绍了系统的测试方法与结果,包括测试目标、测试方案、测试用例与测试报告等方面的内容。系统采用C#语言和Sql2005。关键词:仓库管理系统C#SQL2005数据库AbstractInthe21stcentury,computeroftherapiddevelopmentofthecomputerthistoday,informationprocessingtechnologyusedinwarehousemanagementhasiscertainlywillhavehowever,andthiswillalsobewarehousemanagementbringanunprecedentedchange.Itcanleadtounexpectedeconomicbenefitandsocialbenefit,butalsofortherapiddevelopmentofenterprisecontributestrength.Usingacomputertowarehousemanagementinformationsystemtothewarehousemanagement,makeitmorescientificandmodern,itcangreatlyimprovethewarehousestaffworkefficiency,reducethepreviousinbound,outboundprocesstrival,mixedanddisorderly,cyclelongdrawbacks.Thethesisinwarehousemanagementsystemoffeasibilityanalysis,requirementanalysis,systemfunctionrequirementanalysis,developmentenvironmentonthebasisofanalysis,thesystemisthedetaileddesign,includingthestructuredesign,functionmoduledesign,databasedesign.Enterprisewarehousemanagementsystemmainlyincludingwarehousemanagement,outboundmanagement,alsolibrarymanagement,andsystemmaintenance,andotherbasicfunction,thispaperintroducedtherealizationofthesystemoftheprocessandthemethod.Thepaperintroducesthesystemoftestingmethodsandresults,includingtarget,testplan,testcasesandtestreportetc.Usingc#andSql2005system.Keyword:Warehousemanagementsystem。C#。SQLdatabase摘要IAbstractII第一章绪论1仓库管理信息系统的概述1仓库管理信息系统的特性与划分1课题相关背景2第二章相关知识介绍4C#简介4C#的概述4C#的主要特点42.2数据库简介5第三章系统分析7系统的需求分析7功能性需求分析7系统的可行性分析8业务流程分析9开发运行环境9第四章系统设计10数据库的需求分析10数据库的概念结构设计10数据库的逻辑结构设计13系统的结构设计15仓库管理作业流程设计15系统的功能模块设计:15第五章系统程序开发17系统界面的设计与实现17系统登录设计17库存管理信息设计18入库管理信息设计20出库管理信息设计21还库管理信息设计24数据统计设计25系统维护25帮助25用户界面26第六章系统测试27系统测试的含义27

测试的目标27测试说明27测试方案27测试用例与测试报告286.5.16.5.1单元测试用例286.5.2测试报告29第七章结束语30参考文献31致谢32第一章绪论随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。如何通过计算机为我们完成更多的事情,进而达到办公自动化和优化日常工作的目的,也就成了一个大众化的课题。仓库管理是与我们日常生活息息相关的问题。大到公司、超市的仓库管理,小到图书馆的藏书管理,都可以认为是各种各样的仓库管理需求。随着我国改革开放的不断深入,经济飞速的发展,企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,仓库管理的全面自动化、信息化则是其中极其重要的部分。为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统,尽可能地减少仓库管理的重复性和低效性,已变得十分必要。仓库管理信息系统的概述随着经济全球化进程的加快和信息技术的飞速发展、Internet的日益普及与广泛应用。信息技术已深入到社会的各个方面,并将对社会未来的发展产生深刻的影响。信息系统已成为当代企业在激烈竞争中迎接挑战、实现管理变革、获取新的竞争优势的强有力的工具和战略手段。为此,企业通过计算机网络获得信息必将为企业带来巨大的经济效益和社会效益,企业的办公及管理都将朝着高效、快速、无纸化的方向发展。仓库管理信息系统是一门科学,它的主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。仓库管理信息系统的特性与划分1)仓库管理信息系统的特性完善的仓库管理信息系统具有以下四个标准:确定的信息需求、信息的可采集与可加工、可以通过程序为管理人员提供信息、可以对信息进行管理。具有统一规划的数据库是仓库管理信息系统成熟的重要标志,它象征着仓库管理信息系统是软件工程的产物。通过仓库管理信息系统实现信息增值,用数学模型统计分析数据,实现辅助决策。仓库管理信息系统是发展变化的,仓库管理信息系统有生命周期。仓库管理信息系统的开发必须具有一定的科学管理工作基础。只有在合理的管理体制、完善的规章制度、稳定的生产秩序、科学的管理方法和准确的原始数据的基础上,才能进行仓库管理信息系统的开发。因此,为适应仓库管理信息系统的开发需求,企业管理工作必须逐步完善以下工作:管理工作的程序化,各部门都有相应的作业流程,管理业务的标准化,各部门都有相应的作业规范,报表文件的统一化,固定的内容、周期、格式。数据资料的完善化和代码化。2)仓库管理信息系统的划分>按组织职能进行划分:仓库管理信息系统按组织职能可以划分为办公系统、决策系统、生产系统和信息系统。>按历史发展进行划分:第一代仓库管理信息系统是由手工操作,使用工具是文件柜笔记本等。第二代仓库管理信息系统增加了机械辅助办公设备,如打字机、收款机、自动记账机等。第三代仓库管理信息系统使用计算机、电传、电话、打印机等电子设备。>按仓库管理信息系统的综合结构进行划分:仓库管理信息系统可以划分为横向综合结构和纵向综合结构,横向综合结构指同一管理层次各种职能部门的综合,如劳资、人事部门。纵向综合结构指具有某种职能的各管理层的业务组织在一起,如上下级的对口部门。课题相关背景物品仓库一直是本企业单位仓管部门的主要任务,随着业务的不断发展,加强成本管理与收入管理、通过提高服务水平提升企业形象已成为本企业单位的迫切需要。因为该企业单位目前采用手工操作的运营过程,差错率较高,已不能适应物品对现代化管理的要求。企业单位的物资供应管理往往是很复杂的,烦琐的。由于所掌握的物资种类众多,订货,管理,发放的渠道各有差异,各个企业单位之间的管理体制不尽相同,各类统计计划报表繁多,因此物资管理必须实现计算机化,而且必须根据企业单位的具体情况制定相应的方案规范仓库管理,实现信息化管理仓库,方便仓库管理员管理仓库,以便于相关部门查看有关物料的库存及相关信息等,及时采购,销售等。通过有效控制库存,大大减少资金占用,提高资金周转速度,从而提高企业的经济效益。另外对相关数据进行统计分析,提取出重要的信息元素给企业的决策者,从而做出正确的决策。最终提高企业的核心竞争力。如今,仓储管理系统已经在世界各发达国家广泛应用了,而且应用范围越来越广,功能越来越全面,操作越来越简便,成本越来越低廉。主要应用于大中小型企业,工厂,物流公司,超市以及一些科研单位。仓储仓库管理信息系统可以给仓库带来切实的效果:<1)为仓库作业全过程提供自动化和全面纪录的途径;<2)改变传统上的固定货位,实现全库随机储存。从而最大限度利用仓库;<3)提高发货的质量和正确性,减少断档和退货,从而提高顾客的满意程度;<4)为仓库的所有活动、资源和库存水平提供即时的正确信息。以上这些效果无疑会带给仓库明显的效益,据估算,配进能力一般可提高20-30%,库存和发货正确率超过99%。仓库空间利用率提高,数据输入误差减少,库存和短缺损耗减少,劳动、设备、消耗等费用降低。这些最终将为仓库带来巨大的经济效益。第二章相关知识介绍仓储管理系统可以以C#为编程语言,以SQL2005作为后台数据库而开发的一个数据库管理系统。C#简介C#的概述C#是编程世界中最近出现的,英文读音为:CSharp,由Microsoft开发,既可以开发基于Web的程序,也可以开发单独运行的程序。Microsoft从C++语言中提取了最新的面向对象技术,并将其和它的VisualBasic语言的易用性一起集成到C#中。C#的语法和它的面向对象的本质也类似与SunMicrosystems开发的Java语言。因为C++和Java都是以C为原型,C#语言也保留了很多这些早期语言的结构。这使得熟悉Java、C或者C++的程序员可以很快适应C#。C#是一种面向对象编程语言。对象是组成程序的基本元素。C#语言和.NET平台为开发程序提供了大量类型的功能和工具。这个软件常称为命名空间,提供了创建图形、网络通信以及数据库交互的能力和很多其他功能。C#的主要特点1•简单:C#具有C++所没有的一个优势就是学习简单。该语言首要的目标就是简单。很多功能(还不如说是缺少了C++的一些功能〉有助于C#全方位的简单。在C#中,没有C++中流行的指针。默认地,您工作在受管理的代码中,在那里不允许如直接存取内存等不安全的操作。现代:C#是为编写NGWS应用程序的主要语言而设计。面向对象:C#当然支持所有关键的面向对象的概念,如封装、继承和多态性。完整的C#类模式构建在NGWS运行时的虚拟对象系统的上层,VOS将在下章描述。对象模式只是基础的一部分,不再是编程语言的一部分。4.类型安全:C#实施最严格的类型安全,以保护自己及垃圾收集器。所以必须遵守C#中一些相关变量的规则:①不能使用没有初始化的变量。C#取消了不安全的类型转换。算术运算有可能溢出终值数据类型的范围。版本可控:C#可以最好地支持版本控制。兼容:C#并没有存在于一个封闭的世界中。它允许使用最先进的NGWS的通用语言规定访问不同的API。数据库简介数据库是事务处理、信息管理等应用系统的核心和基础,数据库管理系统通过将大量的数据按一定的数据模型组织起来,提供存储、维护和检索数据的功能,使应用系统可以以统一的方式方便、及时、准确地从数据库中获取所需信息。Microsoft公司推出的SQLServer2005数据库管理系统以其强大的功能在各领域得到广泛应用。它是基于客户机/服务器(client/server〉模型的关系型数据库管理系统(DBMS〉,其在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供强大的支持。随着信息技术的发展,计算机处理数据的方式也发生着变化,文件管理系统--数据库管理系统。MicrosoftSQLServer是一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-sql的sql语言在客户机与服务器间传递客户机的请求与服务器的处理结果。1.SQL的特性SQL语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简捷易学的语言。SQL语言集数据查询〈DataQuery)、数据操纵〈DataManipulation)、数据定义〈DataDefinition)和数据控制〈DataControl)功能于一体,王要特点包括:①综合统一数据库系统的王要功能是通过数据库支持的数据语言来实现的。非关系模型〈层次模型、网状模型)的数据语言一般都分为模式数据定义语言〈SchemaDataDefinitionLanguage,简称模式DDL)、外模式数据定义语言〈SubschemaDataDefinitionLanguage,简称外模式DDL或子模式DDL)、与数据存储有关的描述语言<DataStorageDescriptionLanguage,简称DSDL)及数据操纵语言<DataManipulationLanguage,简称DML),分别用于定义模式、外模式、内模式和进行数据的存取与处置。当用户数据库投入运行后,如果需要修改模式,必须停止现有数据库的运行,转储数据,修改模式并编译后再重装数据库,比较麻烦。高度非过程化非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。面向集合的操作方式非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录。例如查询所有平均成绩在80分以上的学生姓名,用户必须一条一条地把满足条件的学生记录找出来<通常要说明具体处理过程,即按照哪条路径,如何循环等)。而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除。更新操作的对象也可以是元组的集合。以同一种语法结构提供两种使用方式SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言〈例如C,COBOL,FORTRAN,PL/1)程序中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的做法,提供了极大的灵活性与方便性。SQLServer优点众多,但MicrosoftSQLServer和其他数据库产品相比也存着以下劣势:开放性。只能运行在微软的windows平台,没有丝毫的开放性可言。可伸缩性,并行性。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。性能稳定性。SQLServer当用户连接多时性能会变的很差,并且不够稳定。使用风险。SQLServer完全重写的代码,经历了长期的测试,不断延迟,许多功能需时间来证明。并不十分兼容早期产品。使用需要冒一定风险。客户端支持及应用模式。只支持C/S模式第三章系统分析仓储管理系统〈WMS),是通过入库业务、出库业务、仓库调拨、库存调拨等功能,综合批次管理、物料对应、库存盘点和即时库存管理等功能综合运用的管理系统,有效控制并跟踪仓库业务的物流管理全过程,实现完善的企业仓储信息管理。该系统可以独立执行库存操作,与其他系统的单据和凭证等结合使用,可提供更为完整全面的企业业务流程和财务管理信息。利用仓储管理可以对企业中杂乱无章的库存进行管理,如在高架位闲置的存储、可用存储、冻结存储。系统的需求分析在仓库管理系统开发是应该满足一下具体的系统需求:由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机交换界面。如果系统的使用对象较多,则要求有较好的权限管理。方便的数据查询。批量填写货物入库单及出库单。在相应的权限下可以方便的删除数据。数据计算自动完成,尽量减少人工干预。功能性需求分析仓储管理系统,是通过入库业务、出库业务、仓库调拨、库存调度、数据保存、数据还原等功能,以下介绍了本系统模块基本功能:登录界面>管理员登录:管理员登录主要是管理员的一些权限,对仓库的所有设置,它都可以进行管理,比如不仅可以对基本的入库、出库、还库、系统维护等基本功能的管理,还可以管理其它用户,其它用户的权限设置,信息修改管理员都可以进行相应修改。>用户登录:用户登录,主要涉及到用户的一些权限,用户个人信息的修改,用户所在部门的借货还货信息,进行库存货物的查询等。•管理员仓库信息管理:是有管理员管理的,一般用户不可以。>库存管理:主要对库存货物进行修改、删除、查询以及生成报表。>入库管理:主要是添加货物、查询、修改入库货物,生成入库货物报表。>出库管理:主要是出库货物、出库货物查询与修改、生成出库货物报表。>还库管理:主要是添加还库货物、还库货物查询与修改、生成还库货物报表。>数据统计:主要入、出库所有货物生成报表。>系统维护:主要是对数据、文本进行备份、还原、压缩。>帮助: 对登录用户进行密码修改、对用户进行权限设置、对用户进行管理。>退出系统:用户退出系统。•用户仓库信息管理>个人信息修改:对登录用户的个人信息进行修改,例如:姓名、年龄、手机号、所在部门等。>借货记录查询:用于查询>还货记录查询:登录人员所在部门的借货信息进行查询。>库存信息查询:对库存现有货物信息进行查询。>未还物品查询:登录人员所在部门的未还货物信息进行查询。A退出系统:退回到登录界面。3.2系统的可行性分析1、 操作可行性现行系统采用大量手工操作与少量微机操作相结合,而新开发的系统则全用微机来处理整个过程,在运行初可以采用平行方式从旧系统逐步转换过来,在这其间,手工操作与电脑操作并存,微机操作可逐渐增加工作量,且在这段时间,工作不间断,且新老系统有明显的效率对比。2、 技术可行性本系统可以运行在Win95,Win98,Win2000操作系统之上,就是说市场上流行的操作系统都可以支持。因此系统运行可行性绝不会成为《软件零售仓库管理系统》的问题。3、 用户操作可行性本系统操作简单,有机算计基础的人无需培训即可使用,即使是没有计算机基础的人只需经过简单的培训就可以很熟练的使用本系统。系统运行后,就用户方而言,由于用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的,所以本系统对用户而言,是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各界面上的选项卡或按钮就能执行相应的功能,就管理者而言,关心的是如何处理各种数据,只要把用户的信息输入计算机,管理者就可运行相应的后台程序进行处理。而以上的这些功能都能在所选择的开发环境中用所选择的开发工具来实现。所以说本系统在用户使用可行性上是没有问题的。3.3业务流程分析流程管理主要是负责物料在入库和出库时的程序管理,根据实际物料在仓库中的流动过程及时更新仓库管理系统的记录信息。信息管理主要是针对仓库中的库存物料信息进行管理,分析库存数据,为企业其它部门提供信息支持等。产品入库:采购入库或者其他入库,自动生成入库单号,货品及可选择方便快捷,可以区分正常入库、退货入库等不同的入库方式。产品出库:销售出库或者其他出库,可以自动生成出库单号,可以区分正常出库、赠品出库等不同的出库方式;库存管理:不需要手工管理,当入库和出库时,系统自动生成每类产品的库存数量,查询方便;验收入库的具体流程为:采购物料到货后,由仓库保管员根据物料采购计划核对物料的商品号、商品名称、供货商、数量,验收合格后开具物料验收合格单同发票一起报送财务部门。根据财务部门发送的物料入库通知及物料验收合格单办理采购物料入库手续,填写物料入库单,填写仓库库存明细帐。物料出库的具体流程为:企业其它部门领取物料时首先需要填写领料单,经部门负责人签字后到仓库领料。仓库保管员根据领料单发放物料,领料单经保管员签字后交仓库的会计记帐。

3.4开发运行环境系统开发平台:MicrosoftVisualStudio2008系统开发语言:C#数据库系统:SQLServer 2005运行平台:WindowsXP1024*7运行环境:Microsoft.NET FrameworkSDKV2.01024*7分辨率:最佳效果第四章系统设计在这一章中,将介绍系统的结构设计,数据库的概念结构设计,以及数据库的逻辑结构设计。4.1数据库的需求分析仓储仓库管理信息系统的数据组织.本系统属于小型的数据库管理系统,可以对中小型企业库存进行有效地管理。本系统采用SQLServer2005作为后台数据库,数据库名称为cangku,其中包含9张数据表。下面分别做几个主要数据表的介绍:实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:1:1、1:n、n:m.设备入库表:设备号、设备名称、入库时间、供应商、供应商电话、数量、价格、采购员。货物信息表:设备号、设备名称、单价、库存量、现有库存量、最大库存量。借出货物信息表:设备号、设备名称、出库时间、使用部门、数量、经办人、备注。归还货物表:设备号、设备名称、还库日期、经办人、数量、归还部门。管理人信息表:idnamepwdbiaozhiagesextel部门信息表:部门、负责人、人数、办公电话。4.2数据库的概念结构设计(1>数据表E-R图根据上面的设计,本实例规划出的实体主要有货物信息实体、货物入库实体、货物出库实体、货物归还实体、货物总入库实体、部门实体、人员管理实体、借货部门实体。库存管理系统主要实体之间的关系E-R图如图4-1所示图4-1库存管理系统主要实体之间的关系图4-1库存管理系统主要实体之间的关系E-R图归还货物部门信息.(2〉货物信息实体E-R图图4-2图4-2货物信息实体E-R图货物信息表facilityNum货物信息实体E-R图,主要是用来进行仓库货物进行分析的,分析结果主要有:商品编号、设备名称等六个属性,其中商品编号为主键,可以用来确定商品货物的唯一性。(3〉货物入库实体E-R图4-3

图4-3货物入库实体E-R货物入库实体E-R图,主要是用来进行仓库入库货物进行分析的,分析结果主要有:商品编号、设备名称等八个属性,其中商品编号为主键,可以用来确定商品入库货物的唯一性。(4〉货物出库实体E-R图4-4:图4-4货物出库实体E-R图货物出库实体E-R图,它与货物的入库实体是一样的,主要是用来进行仓库出库货物进行分析的,分析结果主要有:商品编号、设备名称等七个属性,其中商品编号为主键,可以用来确定商品入库货物的唯一性(5〉货物归还实体E-R图4-5图4-5货物归还实体E-R图货物还库货物实体,主要是用来进行仓库出库货物进行分析的,分析结果主要有:商品编号、设备名称、还库时间等七个属性,其中还库时间为主键,可以用来确定同一商品或者不同商品还库库货物的唯一性(6〉登录人员实体E-R图4-6:登陆人员实体,主要是用来进行仓库登陆人员进行权限设置的,不同的登陆人员会有不同的权限。分析结果主要有:ID、Name、psw、biaozhi等九个属性,其中ID号为主键,可以用来确定不同登陆人员的唯一性。丿DateIdTelSexAgeBiaozhiBumenNamePswManage图丿DateIdTelSexAgeBiaozhiBumenNamePswManage图4-6登录人员实体E-R图(7>部门实体E-R图4-7:图4-7部门实体E-图部门信息实体,主要是用来进行不同部门信息的记录,不同的部门会有不同的借货信息。分析结果主要有:部门、负责人、人数、办公电话四个属性,其中部门为主键,用来确定不同部门的唯一性。4.3数据库的逻辑结构设计根据设计好的E-R图在数据库中创建各表,系统数据库中各表的结构如下。亠storage_In〈设备入库表)用于保存所有入库货物的信息,该表的结构如下图4-8所示。名称长度数据类型允许为空设备号10Char否设备名称50Varchar否入库时间〈主键)默认值Datetime否供应商50Varchar否供应商电话18Char否数量10Char否价格10Char否米购员50Varchar否图4-8设备入库表丄storage_Out〈设备出库表)用于保存所有商品的出库信息,该表的结构如下图4-9所示

名称长度数据类型允许为空设备号10Char否设备名称50Varchar否出库时间〈主键)默认值Datetime否使用部门50Varchar否数量10Char否经办人50Varchar否备注100Varchar是图4-9设备出库表亠storage_Return〈设备归还信息表)用于保存所有货物的归还信息,该表的结构如下图4-10所示:名称长度数据类型允许为空设备号10Char否设备名称50Varchar否还库时间〈主键)默认值Datetime否归还部门50Varchar否数量10Char否经办人50Varchar否图4-10设备归还信息表丄fAC订ityNum〈货物信息表)用于保存仓库中所有货物的信息。该表的结构如下图4-11所示:名称长度数据类型允许为空设备号<主键)10Char否设备名称50Varchar否库存量10Char否现有库存量10Char否最大库存量10char否

图4-11货物信息表丄Manage<登录人员信息表)用于保存登录人员的相关信息其中包括权限。该表的结构如下图4-12所示:名称长度数据类型允许为空Id〈主键)10Char否name20Varchar否psw20Varchar否biaozhi4int否age4int否sex2Char否tel18Char否date8Datetime否bumen50varchar否图4-12登录人员信息表丄Bumen〈部门信息表)用于保存所有部门的相关信息。该表的结构如下图4-13所示名称长度数据类型允许为空部门〈主键)50Varchar否负责人10Char否人数10Char否办公电话10Char否图4-13部门信息表4.4系统的结构设计4.4.1仓库管理作业流程设计仓库管理作业流:仓储管理作业流程,包括如下环节:签订仓储合同、验收货物、办理入库手续、货物保管、货物出库,如图4-14所示。

图4-14仓储管理作业流程4.4.2系统的功能模块设计:按照结构化的系统设计方法,将整个系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能,从而得到系统的功能模块结构图。初步设定的主要功能模块有:登录模块、入库信息模块、出库信息模块、还库信息模块、数计统计模块、系统维护模块、帮助模块、退出系统模块。用户管理模块:登录、更改密码、权限设置、用户设置<对用户的相关属性进行设置)。管理员管理模块:库存管理、入库管理、出库管理、还库管理、数据设计、系统维护、帮助、退出系统。这次功能模块主要是完成,管理员、用户的基本功能管理,在以后的使用中,如果有其它需求则还可以添加一些其它的功能模块。仓储管理系统的功能模块图,如图4-15所示第五章系统程序开发本章介绍了系统的设计过程,控件的设计与实现,以及系统的页面设计与实现。5.1系统界面的设计与实现5.1.1系统登录设计系统登录主要用于对进入库存管理的用户进行安全性检查,以防止非法用户进入该系统。在登录时,只有合法的用户才可以登录该系统,同时,系统还根据登录用户的级别,给予不同的操作权限。1.窗体设计新建一个Wingdows窗体,命名为Lonln.cs,他主要用于实现系统登录功能。该登陆界面主要两个权限设置,一个是管理员,一个是用户,不同的管理员ID号不能相同。系统登录窗体运行结果如下图5-1所示:图5-1为登录界面

图5-2用户名或密码错误界面如果用户名或密码错误,将在数据库中查找,检测没有匹配的用户名和密码,则会出现此界面,如图5-2登录成功后,管理员会进入仓库管理界面,同时,系统还根据登录用户的级别,给予不同的操作权限。主要有两个权限,一个是管理员登陆界面,一个是用户登录界面。管理员登陆界面图5-3库存管理信息界面包括三个子菜单:库存货物报表、库存货物修改与删除、库存货物查询。下面主要讲解一下:库存货物修改与删除如图5-41.界面设计

设备号设备名称单价库存量现有库存量最卜0001MP3601478731000003华硕笔记本电脑1002822321000004MP53002002001000005投參仗3903003001000006电池304004001000007记爭本105005001000008鼠标203003001000009渚洁剂182002001000010无线网卡100300300100=>國KuCunXodAndDeIFrm2.代码设计查询修改删除2.代码设计查询修改删除退出图1-4存货物修改与删除修改库存货物代码:对仓库中的货物信息进行修改,点击“修改”按钮时产生响应,如果六个textBox.Text中有一个为空,那么就不进行响应的修改。如果不为空则facilityNum表中的设备相应信息。信息即为六个textBox.Text中的内容。privatevoidbutton1_Click(objectsender,EventArgse>if(textBox1.Text==""textBox2.Text==""textBox3.Text==""if(textBox1.Text==""textBox2.Text==""textBox3.Text==""textBox4.Text==""textBox5.Text==""textBox6.Text=="">textBox4.Text==""textBox5.Text==""textBox6.Text=="">MessageBox.Show("请先选取要修改的货物!"〉。elsestringsql=string.Format(@"updatefacilityNumset设备名称='{0}',单价='{1}',库存量='{2}',现有库存量='{3}',最大库存量='{4}'where设备号='{5}'",textBox2.Text,textBox3.Text,textBox4.Text,textBox5.Text,textBox6.Text,textBox1.Text>。con.Open(>。SqlCommandcmd=newSqlCommand(sql,con>。cmd.ExecuteNonQuery(>。con.Close(>。MessageBox.Show(“修改成功!"〉。clear(>。}}删除库存货物代码:对仓库中的货物信息进行删除,点击“删除”按钮时产生响应,果六个textBox.Text中一个为空,那么就不进行相应的删除。如果不为空则facilityNum表中把设备号等于textBox1.Text的记录删除。privatevoidbutton2_Click(objectsender,EventArgse〉if(textBox1.Text==""||textBox2.Text==""||textBox3.Text==""||textBox4.Text==""||textBox5.Text==""||textBox6.Text=="">{MessageBox.Show(“请先选取要删除的货物!"〉。}else{stringsql=string.Format(@"deletefacilityNumwhere设备号='{0}'",textBox1.Text〉。con.Open(>。SqlCommandcmd=newSqlCommand(sql,con>。cmd.ExecuteNonQuery(>。con.Close(>。MessageBox.Show(“删除成功!"〉。clear(>。}}privatevoidbutton4_Click(objectsender,EventArgse〉{this.Close(〉。}}}5.1.3入库管理信息设计入库管理信息界面包括三个子菜单:入库货物报表、入库货物修改、入库货物查询、入库货物添加。下面主要讲解一下:入库货物报表如图5-51.界面设计2.代码设计:入库报表即为记录以时间为主键的所有的入库货物,首先在界面设计时应该添加一个crystalReportViewer1控件,用来显示报表内容。第一打开数据库连接获取报表路径,获取报表数据源,把报表数据源放到crystalReportViewer1中进行显示。主要代码如下:privatevoidInStoreFrm_Load(objectsender,EventArgse>{SqlConnectioncon=newSqlConnection("Server=.odatabase二CangKu。uid=sa。pwd=aa">。con.Open(>oSqlDataAdapterda=newSqlDataAdapter("select*fromstorage_In",con>oDataSetds=newDataSet(>oda.Fill(ds,"storage_In">。stringreportPath=Application.StartupPath.Substring(0,Application.StartupPath.Substring(0,Application.StartupPath.LastIndexOf("\\">>.LastIndexOf("\\">>。reportPath+=@"\InStore.rpt"。ReportDocumentrd=newReportDocument(>。rd.Load(reportPath>。rd.SetDataSource(ds.Tables[0].DefaultView>。this.crystalReportViewer1.ReportSource=rd。}}5.1.4出库管理信息设计出库管理信息界面包括三个子菜单:出库货物报表、出库货物修改、出库货物查询、出库货物添加、部门查询。下面主要讲解一下:出库货物修改表如图5-62.代码设计主要代码如下出库货物王要是对库存中的货物进仃出库记录,首先如果OutNnm表中如果没有这条记录,则添加一条此记录,如果存在此记录的话,则根据此设备号查询此设备出库的数量,在OutNnm表中在对设备的数量进行的增加。接着bumenborrow这条此记录则添加一条此记录,如果存在此记录的话,则根据此设备号,部门号查处此设备的量,在OutNnm表中在对应设备号的数量上,增加此设备的出库数量,并且在facility表中,查询该设备的数量,并作相应减少,在storage_out表中增加一条此设备的出库记录。privatevoidbutton2_Click(objectsender,EventArgse>{stringsql3=string.Format(@"select数量frombumenBorrowwhere部门='{0}'and设备号='{1}'",textBox4.Text,textBox1.Text>。con.Open(>。SqlCommandcmd3=newSqlCommand(sql3,con>。SqlDataReaderread=cmd3.ExecuteReader(>。while(read.Read(>>{num=read[0].ToString(>。}read.Close(>。con.Close(>。if(Convert.ToInt32(textBox5.Text><=Convert.ToInt32(nownum>>{try{stringsql=string.Format(@"insertintoOut_Num(设备号,设备名,数量〉values('{0}','{l}','{2}'〉",textBoxl.Text,textBox2.Text,textBox5.Text>。con.Open(〉。SqlCommandcmd=newSqlCommand(sql,con〉。cmd.ExecuteNonQuery(〉。con.Close(〉。}catch{con.Close(〉。stringsql=string.Format(@"select数量fromOut_Numwhere设备号='{0}'",textBox1.Text〉。con.Open(〉。SqlCommandcmd=newSqlCommand(sql,con〉。SqlDataReaderds=cmd.ExecuteReader(〉。while(ds.Read(〉〉n=ds[0].ToString(>。}ds.Close(>。con.Close(>。stringsql1=string.Format(@"updateOut_Numset数量='{0}'where设备号='{1}'",Convert.ToString(Convert.ToInt32(textBox5.Text>+Convert.ToInt32(n>>,textBox1.Text>。con.Open(>。SqlCommandcmd1=newSqlCommand(sql1,con>。cmd1.ExecuteNonQuery(>。con.Close(>。}try{stringsql=string.Format(@"insertintobumenBorrow(部门,设备号,设备名,数量〉values('{0}','{l}','{2}','{3}'〉",textBox4.Text,textBox1.Text,textBox2.Text,textBox5.Text>。con.Open(〉。SqlCommandcmd=newSqlCommand(sql,con〉。cmd.ExecuteNonQuery(〉。con.Close(〉。}catchcon.Close(〉。stringsql=string.Format(@"updatebumenBorrowset数量='{0}'where部门='{1}'and设备号='{2}'",Convert.ToString(Convert.ToInt32(textBox5.Text>+Convert.ToInt32(num>>,textBox4.Text,textBox1.Text>。con.Open(>。SqlCommandcmd=newSqlCommand(sql,con>。cmd.ExecuteNonQuery(>。con.Close(>。stringsqll=string.Format(@"insertintostorage_Out(设备号,设备名,出库时间,使用部门,数量,经办人,备注〉values('{0}','{l}','{2}','{3}','{4}','{5}','{6}'〉〃,textBox1.Text,textBox2.Text,DateTime.Now,textBox4.Text,textBox5.Text,textBox6.Text,textBox7.Text〉。con.Open(〉。SqlCommandcmd1=newSqlCommand(sql1,con〉。cmd1.ExecuteNonQuery(〉。con.Close(〉。stringsql2=string.Format(@"updatefacilityNumset现有库存量='{0}'where设备号='{1}'",Convert.ToString(Convert.ToInt32(nownum〉-Convert.ToInt32(textBox5.Text〉〉,textBox1.Text〉。con.Open(〉。SqlCommandcmd2=newSqlCommand(sql2,con>。cmd2.ExecuteNonQuery(>。con.Close(>。MessageBox.Show(“借出成功!"〉。clear(>。}else{MessageBox.Show(“对不起,库存不足!"〉。clear(〉。}还库管理信息设计还库管理信息界面包括三个子菜单:还库货物报表、还库货物修改、还库货物查询、出库货物添加。下面主要讲解一下:还库货物查询表如图5-71.界面设计

设备编号0003设备名称退出查询图5-7还库货物查询表设备号设备编号0003设备名称退出查询图5-7还库货物查询表设备号设备名还库日期►0003华硕笔记本电脑2011-5-299:210003华硕笔记本电脑2011-5-299:21Return_StoreSelFr*主要代码如下:还库货物查询,主要是对的已还的货物进行精确查询,在textBoxl.Text或者textBox2.Text中输入设备号或设备名称进行精确查找。首先在storage_Return表中查询设备号或设备名称等于textBoxl.Text或textBox2.Text的内容,查询结果送dataGridView1中显示出来。privatevoidbutton1_Click(objectsender,EventArgse>stringsql=string.Format(@"select*fromstorage_Returnwhere设备号='{0}'or设备名='{1}'",textBox1.Text,textBox2.Text>。con.Open(>。SqlDataAdapterada=newSqlDataAdapter(sql,con>。DataSetds=newDataSet(>。ada.Fill(ds,"storage_Return">。dataGridView1.DataSource=ds.Tables[0]。con.Close(>。}privatevoidbutton2_Click(objectsender,EventArgse>{this.Close(>。}}数据统计设计库存管理信息界面包括二个子菜单:入库统计、出库统计。与入库统计表相似,不做详细介绍。2.代码设计与库存管理中的报表类似,在这不做详细讲解。系统维护系统维护信息界面包括三个子菜单:数据备份、数据还原、数据压缩。下面主要讲解一下:数据备份表如图5-81.界面设计

图5-8据备份表帮助帮助信息界面包括四个子菜单:更改密码、权限设置、用户管理、关于本系统。下面主要讲解一下:用户管理,用户管理主要是对登录界面人员的信息进行管理,可以对个人信息进行修改,比如说:编号,性别,电话,年龄都可以进行相应的修改。5.1.9用户界面用户信息界面包括四个子菜单:更改个人信息、借货记录查询、还货记录查询、库存信息查询、未换物品查询。设计过程与上述讲解的各表相似,在此也不做详细介绍。第六章系统测试系统测试的含义在精心控制的系统环境下,采用相应的技术手段,利用一组事先构好达到测试事例执行程序以发现程序中存在的问题,并确认系统功能,性能符合需求的一个综合过程。测试的目标<1)以最少的时间和人力找出软件中潜在的各种错误和缺陷。(2>软件测试能够确认软件实现的功能和性能与用户需求说明的一致性。(3>软件测试还能够收集到足够的测试结果为软件提供可靠性的评价。测试说明软件测试就是在既定的状况条件下,运行一个系统或组建,观察记录结果,并对其某些方面进行评价的过程,是以发现错误为目的而运行程序的过程。软件测试有两种测试方法:黑盒测试法:测试人员不考虑程序内部结构和处理过程,只在软件的接口处进行测试,根据系统需求检查程序是否满足系统要求。白盒测试法:测试人员要了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。测试方案测试方案编号测试模块说明1用户登录输入用户名和密码,检查登录功能。2信息添加相关信息添加,检查添加的信息3信息修改相关信息修改,检查修改的信息4信息查询根据相应的条件进行查询5系统维护与帮助及等模块根据相应的条件,选择相应数据进行操作测试用例与测试报告6.5.1单元测试用例单元测试也称模块测试或程序测试,单元测试是对每一个模块单独进行测试的,验证模块的接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结果进行对照,还要对所有错误处路径进行测试.对源代码进行审查,对照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作。

测试用例编号测试用例名称条件输出结果1输入正确的用户名和密码,选择正确的角色,登录成功用户名='1401070702'密码='87687688'测试通过2用户名或密码错误,登录失败用户名='1401070702'密码二'cccdd'测试通过3入库,出库,还库报表查询直接查询测试通过4入库,出库,还库货物修改修改相应的数量等测试通过5入库,出库,还库货物添加在最大库存范围内,添加成功测试通过6入库,出库,还库货物添加超过最大库存,添加失败测试通过7数据统计直接统计测试通过8数据备份,还原,压缩选择正确路径测试通过9更改密码旧密码:876876新密码:888666,成功测试通过10权限设置用户名:1401070702密码:888666角色:用户测试通过11用户管理修改用户的属性测试通过12个人信息修改修改本人的信息测试通过13货物记录查询直接查询相应的信息测试通过14退出

温馨提示

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

评论

0/150

提交评论