毕业设计(论文)-VB.NET库存管理系统设计.doc_第1页
毕业设计(论文)-VB.NET库存管理系统设计.doc_第2页
毕业设计(论文)-VB.NET库存管理系统设计.doc_第3页
毕业设计(论文)-VB.NET库存管理系统设计.doc_第4页
毕业设计(论文)-VB.NET库存管理系统设计.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

青岛大学专科毕业设计目录引言1第一章 概述211管理信息系统的概述212数据库应用系统开发简介21.2.1数据库21.2.2数据库管理系统413库存管理系统5第二章 应用系统开发工具721数据库系统设计722 SQL Server语言介绍82.2.1 SQL基础82.2.2 SQL语句923 Visual Basic.NET简介及实现原理11第三章 库存管理系统设计分析1231需求分析1232模块划分1333数据库设计15第四章 应用程序设计1841程序结构1842程序设计18总结26致谢27参考文献28引言当今社会为信息社会,世界已进入在计算机信息管理领域中激烈竞争的时代。信息已成为继劳动力、土地、资本之后的又一大资源,谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中,占有一席之地,谁就会更有优势,这一点已得到举世公认。仓库作为一总货品资源的集散地,货品的种类繁多,包含很多的信息数据的管理。以前仓库进行信息管理的方式主要是基于文本、表格等纸介质的手工处理,对于货品的出入库情况的统计和核实等往往采用对账本的人工检查,对管理者的管理权限等不受约束,任何人都可查看,这样容易引起资料外泄。另外,数据信息处理工作量大,容易出错,由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统、规范的信息管理手段。因此,很有必要建立一个库存管理系统,使货品管理工作规范化,系统化,程序化。提高信息处理的速度和准确性。本套应用程序名称为“库存管理系统”,主要用于仓库货品信息的管理。库存管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短了库存信息流转时间,使企业的物料管理层次分明、井然有序,为采购、销售和生产提供依据;智能化的预警功能可自动提示存货的短缺、超储等异常状况。完善的库存管理功能,可对企业的存货进行全面的控制和管理,降低库存成本,增强企业的市场竞争力。库存管理信息系统研究的内容涉及库存管理的全过程,包括入库、出库、退货、订货、库存统计查询等等。库存管理系统需满足仓库管理员及工作人员的需求,他们具有登陆应用系统的权限,所以需要对工作人员的登陆本模块进行更多的考虑,设计不同用户的操作权限和登陆方法。仓库管理就是对货品信息、仓库信息、短线货品及超储货品的管理,用户可以根据实际情况对各种货品信息进行分类管理。入库管理操作就是对于货品入库情况的管理,使用户可以方便地输入一些货品的信息。出库管理提供的功能与入库操作流程差不多,有所区别的只是对一些出库货品的管理,也很方便数据的输入。仓库货品的信息量大,数据安全性和保密性要求高。本系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和经办人员信息的查看及维护。仓库管理人员可以浏览、查询、添加、删除等货品的基本信息以及统计等,并可以对一些基本的信息生成报表形式,并打印输出的功能。第一章 概述11管理信息系统的概述管理信息系统(简称MIS)是在管理科学、系统科学、计算机科学等的基础上发展起来的综合性边缘科学。在21世纪信息高速发展的时代中,管理信息系统具有很重要的作用,它的预测和辅助决策的功能,即利用现代管理的决策和支持。管理信息系统是一个人机系统,同时它又是一个一体化集成系统。管理信息系统是信息系统的一个子系统,它以计算机技术、通讯技术和软件技术为技术基础,同时将现代管理理论、现代管理方法及各级管理人员融为一体,最终为某个组织整体的管理与决策服务,是由人和计算机组成的能进行管理信息的收集、传递、存储、加工、维护和使用的系统。管理信息系统的基本结构可以概括为四大部件,即信息源、信息处理器、信息用户和信息管理者。因此,一个成功的管理信息系统应该具有可靠的硬件、实用的软件、强有力的现代化管理水平。具体讲,管理信息系统的三大支柱是:计算机网络、数据库和现代化的管理,这三打支柱称为管理信息系统的扩展部件。12数据库应用系统开发简介在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。1.2.1数据库数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。一、用户数据目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。为了对比结构差的关系和结构好的关系之间的差别,以图书管理系统中的图书和图书借阅者关系为例来说明,假若设计关系R1(借书证号,姓名,性别,身份编号,身份证,联系电话,图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量);这个关系的问题出在它有关于两个不同主题的数据,就是图书借阅者和图书。用这种方式构成的关系在进行修改时,会出现问题。因为一个图书借阅者可能借阅多本书,如果某个图书借阅者的某个字段(如联系电话)出现变更,它所借阅的图书记录(可能多个)也就必须变化,这是不好的。因此数据用两个关系表示更好。现在如果某图书借阅者改变了它的联系电话,只有关系(表)user的对应行需要改变。当然,要想产生一个,显示图书名称及其借阅者联系电话的报表,就需要将这两个表的行结合起来。结果表明,将关系分别存储,在生成报表的时候将它们结合起来,比把它们存储在一个合成的表中更好。user(借书证号,姓名,性别,身份编号,身份证,联系电话,)book(图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量)二、元数据数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。三、索引第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。下面以库存管理系统中的货品信息表为例来说明。假定数据在磁盘上是按“货品编号”的递增顺序排列的,用户想打印一个按“货品名称”排序的货品数据报表。为此,所有的数据都需要从源表中提取出来并排序,除非表很小,否则这是一个很费时的过程。或者,可以在“货品名称”字段上创建一个索引,该索引的条目按照“货品名称”排序,这样,该索引的条目可以读出来,并用来按顺序访问货品信息数据。索引用于快速访问数据。例如,一个用户只想访问货品信息表中类别值为01的那些货品。如果没有索引,则必须搜索整个源表;但有了索引之后,可以找到索引条目,并使用它来挑选所有合适的行。索引对排序和查找是有帮助的,但要付出代价。货品信息表中的行每次改变时,索引也必须改变,这意味着索引并非随意的,应该在真正需要时保存。四、应用元数据存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,相反,他们通过DBMS中的工具来处理这些数据。SQL Server中就支持窗体、存储过程等应用元数据。1.2.2数据库管理系统数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。关系模型。关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。关系模型是数学化模型。SQL语言是关系数据库的标准化语言,已得到了广泛的应用。DBMS的特点和功能可以分为三个子系统:设计工具子系统、运行子系统和DBMS引擎。设计子系统有一个方便数据库及其应用创建的工具集。它典型地包含产生表、窗体、查询和报表的工具。DBMS产品还提供编程语言和对编程语言的接口。运行子系统处理用设计子系统开发的应用组件。它所包含的运行处理器用来处理窗体和数据库的数据交互,以及回答查询和打印报表等。DBMS引擎从其他两个组件接受请求,并把它们翻译成对操作系统的命令,以便读写物理介质上的数据。DBMS引擎还涉及事务管理、锁、备份和恢复。13库存管理系统现在国内外对此类系统的开发与研究也是很有实用性的,基本上能满足各企业的自身特点,来进行库存方面的管理,同时,改类系统又都在不断地深入与发展,来适用更多的企业,一般都能运用于各个企业的库存管理,但是都没有针对大众的广泛应用,只能运用某个企业或单位,这一点还有待于今后的进一步开发与实践。今后此类软件将会向条码库存管理系统发展,现阶段,伴随物流及管理信息化、网络化的发展,应用条码技术进行库存管理、实现仓库作业自动化,将是一个必然的发展趋势,也是需要迫切解决的一个现实问题。随着信息化技术的不断提高和应用的日渐普及,更多的商品拥有自己的条码,而且,使用条码化工作代替传统作业模式,减少了手工输入,这样不但提高了作业效率,还能确保资料正确,并减少因人为失误所造成的损失。1、技术应用于库存管理是实现仓库管理自动化的有效途径库存品种多,数量大。因此,要实现收发作业的快速、准确、高效,仓储管理自动化势在必行。而实现管理自动化的“瓶颈”则是产品信息的采集、输入。传统手工作业方式,在信息采集量加大的情形下,半因信息不能及时的反馈,给收发作业造成一定的困难。利用条码技术,在入库及其包装上加贴条码,配之以仓库信息管理系统进行作业,不仅可提高效率,降低作业强度,也将大大提高产品收发作业准确率(如键盘输入仅为百分之一),进而实现仓库管理的全面自动化。2、技术应用于库存管理对提高仓库作业效率有重要作用将条码技术和仓库管理信息系统结合起来,用于产品收、发、保管等全过程控制管理,不仅可改变信息采集的传统手工作业方式,降低作业强度,还可避免由此造成的各种差错,提高作业效率和科学管库水平。比较发现,信息输入时,条码输入速度是键盘输入的5倍。入库时,通常保管员根据产品上的条码所反映出的册序号、出厂期、生产厂家、单价、封存(保管)期等信息,进行实物点验,同时将条码信息录入到管理信息系统;出库时,保管员根据航材发付单内容,持条码扫描装置进行器材拣选,并完成信息录入;清库盘点时,保管员可持扫描装备进行数质量等内容核对,并半采集的信息录入管理系统中进行自动盘点,生成清库对帐单等,完成清库盘点作业。3、技术应用于库存管理是完善产品保障信息网络的重要手段储存产品信息是产品保障信息网络的重要组成部分,是做好产品供应保障工作的基础。产品保障信息网是实现物资储运全过程可视化的前提。目前,有些仓库内部局域网已经建成并投入使用,并与业务主管部门实现了信息沟通,库存保障信息网在日常航材保障工作中实现了信息沟通,库存保障信息网在日常产品保障工作中的作用日趋明显。条码技术在储存管理中的应用,可进一步完善系统各仓库之间及各仓库与作业主管部门之间的信息共享和交换功能,最终达到对产品的全程跟踪管理,充分发挥条码技术在整个流通中的作用。同时,在软件系统的研发过程中,将会融入一种EPR的企业管理思想。大量的研究与实践已经充分表明,ERP作为一种现代企业管理的思想和方法,将其大力地推广应用就是有效的促使我国企业管理朝着更加科学化、合理化和规范化方向发展的一种具体方法和途径。随着企业的发展,以及软件开发的逐步成熟,库存管理系统使得原来繁重而又容易出错的库存管理变得简单而有条理。能够节省大量的人员成本,也使管理变得可靠方便。它可以是一个独立的项目,也可以是一个完整的功能模块,对于整个ERP系统的开发也可以轻易地将它集成进去。另外,库存管理的信息化和可视化,每个企业将会拥有两个仓库,一个是装满货物的仓库,还有一个就是管理系统里的数据库,对上万种货物分别编码,使其成为计算机可识别的语言,形象地说,货架上的号码就是货物的地址,从而避免了货物的分拣和提取时的翻箱倒柜式的查找。第二章 应用系统开发工具21数据库系统设计一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(1)数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。(2)概念设计的任务是从DFD出发,绘制出本主题的实体关系图,并列出各个实体与关系的纲要表。(3)逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。(4)物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如Access 2000),实现物理建库,完成数据库物理设计字典。(5)加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。数据库设计的步骤主要是:(1)数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。(2)数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。(3)存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。(4)数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。(5)数据字典设计:用数据字典描述数据库的设计,便于维护和修改。22 SQL Server语言介绍2.2.1 SQL基础SQL Server是Microsoft公司的一个关系数据库管理系统,但说起它的历史,却得从Sybase开始的。SQL Server从20 世纪80年代后期开始开发,最早起源于1987年的Sybase SQL Server。SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,1988年,Microsoft公司、Sybase公司和Aston-Tate公司把该产品移植到OS/2上。后来Aston-Tate公司退出了该产品的开发,而Microsoft公司、Sybase公司则签署了一项共同开发协议,这两家公司的共同开发结果是发布了用于Windows NT操作系统的SQL Server,1992年,将SQL Server移植到了Windows NT平台上。在SQL Server 4版本发行以后,Microsoft公司和Sybase公司在SQL Server的开发方面分道扬镳,取消了合同,各自开发自己的SQL Server。Microsoft公司专注于Windows NT平台上的SQL Server开发,而Sybase公司则致力于UNIX平台上的SQL Server的开发。本文中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。SQL Server6.0版是第一个完全由Microsoft公司开发的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接着在1998年又推出了具有巨大变化的7.0版,这一版本在数据存储和数据库引擎方面发生了根本性的变化。又经过两年的努力开发,Microsoft公司于2000年9月布了SQL Server 2000,其中包括企业版、标准版、开发版、个人版四个版本。从SQL Server 7.0到SQL Server 2000的变化是渐进的,没有从6.5到7.0变化那么大,只是在SQL Server 7.0的基础上进行了增强。SQL Server 2000 是关系数据库开发工具,它不但充分体现了面向对象的思想,提供可视化的编程手段,而且充分利用了Windows操作平台的优越性,采用与Windows完全一致的界面风格,使界面非常友好。在SQL Server 2000中,用户不需要编写复杂的程序就可以建立一个完整的数据库应用系统,是一个典型的开放式数据库系统,它可以和Windows下的其他应用程序共享数据库资源。数据库能汇集各种信息以供查询、存储和检索。SQL Server 的优点在于它能使用数据表示图或自定义窗体收集信息。SQL Server 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,SQL Server 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。2.2.2 SQL语句SQL(Structure Query Language)语言是数据库的核心语言。 SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。 它功能强,效率高,简单易学易维护(迄今为止,我还没见过比它还好 学的语言)。然而SQL语言由于以上优点,同时也出现了这样一个问题: 它是非过程性语言,即大多数语句都是独立执行的,与上下文无关,而 绝大部分应用都是一个完整的过程,显然用SQL完全实现这些功能是很困 难的。所以大多数数据库公司为了解决此问题,作了如下两方面的工作: (1)扩充SQL,在SQL中引入过程性结构;(2)把SQL嵌入到高级语言中, 以便一起完成一个完整的应用。 SQL语言的分类 SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。 1 数据查询语言DQL 数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块: SELECT FROM WHERE 2 数据操纵语言 数据操纵语言DML主要有三种形式: 1) 插入:INSERT 2) 更新:UPDATE 3) 删除:DELETE 3 数据定义语言DDL 数据定义语言DDL用来创建数据库中的各种对象-表、视图、 索引、同义词、聚簇等如: CREATE TABLE/VIEW/INDEX/SYN/CLUSTER 表 视图 索引 同义词 簇 4 数据控制语言DCL 数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制 数据库操纵事务发生的时间及效果,对数据库实行监视等。如: 1) GRANT:授权。 2) ROLLBACK WORK TO SAVEPOINT:回退到某一点。 回滚-ROLLBACK 回滚命令使数据库状态回到上次最后提交的状态。其格式为: SQLROLLBACK; 3) COMMIT WORK:提交。 在数据库的插入、删除和修改操作时,只有当事务在提交到数据 库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看 到所做的事情,别人只有在最后提交完成后才可以看到。 提交数据有三种类型:显式提交、隐式提交及自动提交。下面分 别说明这三种类型。 (1) 显式提交 用COMMIT命令直接完成的提交为显式提交。其格式为: SQLCOMMIT; (2) 隐式提交 用SQL命令间接完成的提交为隐式提交。这些命令是: ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP, EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。 (3) 自动提交 若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后, 系统将自动进行提交,这就是自动提交。其格式为: SQLSET AUTOCOMMIT ON。23 Visual Basic.NET简介及实现原理Microsoft Visual Basic.NET是一种功能强大而使用简单的开发平台,主要用于创建Microsoft.NET平台的应用程序。它继承了C+和Visual Basic的很多优秀特征,并作了许多改进。Visual Basic.NET还包含很多创新,从而加快了应用程序的开发速度,特别是在与Microsoft Visual Studio.NET关联使用时更是如此。Microsoft Visual Basic.NET主要针对六类开发综合性事务的处理,包括控制台、计算、绘图、多媒体、数据库、Web等应用程序。掌握上述六类应用程序,将可以帮助用户对Microsoft Visual Basic.NET有更加深入的了解,并利用开发程序有序地处理日常工作,达到高效率、高质量和低成本的工作目标。 Visual Basic.NET中有两种窗体包,Windows窗体以及Web窗体;一个新版的ADO用于接受离线数据源;新的语言,移走了原来的关键字,提高Type数据的安全性以及提供低级别结构以满足高级别开发者的需求。 Visual Basic.NET现在完全集成在其它的Microsoft Visual Studio .NET语言中,不仅可以通过不同的语言开发组件,而且通过交叉语言继承,你可以从用一种语言编写的类中派生用另一种语言编写的类。第三章 库存管理系统设计分析31需求分析本套应用程序名称为“库存管理系统”,主要用于仓库货品信息的管理,系统包括仓库管理、入库、出库、一些统计查询和报表等几部分组成。库存管理系统需满足仓库管理员及工作人员的需求,他们具有登陆应用系统的权限,所以需要对工作人员的登陆本模块进行更多的考虑,设计不同用户的操作权限和登陆方法。对于一个仓库来说,最大的功能就是存储货品,所以仓库管理就是对货品信息,仓库信息,短线货品及超储货品的管理,用户可以根据实际情况对各种货品信息进行分类管理,包括添加,删除更新数据库等。当然,仓库中货品入库也是常有的事,入库管理操作就是对于货品入库情况的管理,用户可以方便地输入一些货品的信息。有了货品的入库,自然也就有货品的出库,这部分提供的功能与入库操作流程差不多,有所区别的只是对一些出库货品的管理,也很方便数据的输入。仓库货品的信息量大,数据安全性和保密性要求高。本系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和经办人员信息的查看及维护。仓库管理人员可以浏览、查询、添加、删除等货品的基本信息以及统计等,并可以对一些基本的信息生成报表形式,并打印输出的功能。本系统基本涵盖了库存管理的主要需求,具有完善细致的功能、友好的用户界面、强大的数据处理功能和完备的安全机制;随心所欲的查询和所见即所得的打印功能,并全面支持分析和决策的功能。 系统特色:1.设置系统用户登陆功能,即时对系统数据进行安全设置与保护。2.友好的用户界面,业务操作简单,进入系统即能使用。3.成熟先进的技术和系统构架,采用先进的数据库访问方式,数据更安全,性能更稳定。4.强大的数据处理能力和开放的数据接口,选用具有大型数据库安全机制的数据库系统,提供各种级别的数据保护和权限控制方式,确保数据的安全可靠。5.系统每种操作都可以通过菜单来进行。操作快捷、方便。易懂易会。系统集输入、维护、查询、统计和各种处理为一体,信息导入导出方便共享。32模块划分用户信息管理厂商信息管理类别信息管理货物信息管理入库管理出库管理系统管理出入库管理登陆库存管理系统盘点管理查询统计报警订单查询库存查询出入库查询数量报警日期报警图3-1 模块划分图系统大致可分为如下几个模块:登陆模块:登陆模块是一个很重要的模块,它本身应该设计用户注册、修改用户个人信息、维护用户状态等内容。系统管理模块:系统管理模块中包括了对用户信息、厂商信息、类别信息以及商品信息的管理,它负责提供基本的设置,是管理员才拥有权限的一个功能模块。出入库管理模块:库存管理中非常重要的就是对出入库纪录的管理以及对库存的管理,它是库存管理系统的核心部分。报警模块:在出入库货物超出数量上限或下限以及订单过期时弹出报警界面。查询统计模块:查询统计虽然不是必不可少的模块,但是在真正的使用中起到非常重要的作用。在本系统中,一共包括了订单查询、库存查询以及出入库查询,这些都是用户在使用过程中非常关心的信息。盘点模块:对仓库的所有信息进行汇总盘点,以便用户核对防止出错。系统流程分析:1 进行登陆,如果成功进入第二步。2 打开系统的主界面,根据相应的权限,在菜单中加以控制。如果有相应操作,则分别跳入不同的步骤,共有五种不同的选择: 系统管理:在该模块中可以对用户信息、厂商信息、商品类别和商品信息进行设置与管理。 订单管理:在该模块中可以对订单的记录信息进行相应的管理操作。 出入库管理:在该模块中可以对入库、出库两部分记录进行相应的管理。查询统计:在该模块中,可以对订单、库存以及出入库的记录进行一定条件下的查询。盘点:在该模块中,可以对库存、出入库以及订单信息进行汇总盘点。具体的流程图如图4-2所示。登陆登陆失败登陆成功进入相应功能模块系统管理模块订单管理模块出入库管理模块查询统计模块盘点模块用户管理厂商管理商品管理类别管理订单管理入库管理出库管理订单查询库存查询出入库查询盘点图3-2 库存管理系统流程图33数据库设计这个系统模块功能很清楚,数据库为了更好地实现系统的功能,方便管理与查询,可一个根据整体模块来制定自身的结构。库存管理系统是一个比较复杂的系统,所以重点是要求各表之间的有机结构以及功能的独立,相关的许多查询显示都要涉及试图的使用。本库存管理系统是应用在单机系统上的,所以只需建立起一个数据库,在此数据库基础上建立起表格,现将部分数据结构表描述如下:CATEGORY表:用来记录商品信息字段名数据类型含义CATEGORYNOint商品编号CATEGORYNAMEnvarchar商品名称SORTint类别编号FACTORYint厂商编号TYPEnvarchar型号PRICEdecimal单价CURRENCYint货币REMARKnvarchar备注图3-3 CATEGORY表FACTORY表:用来记录厂商信息字段名数据类型含义FACTORYNOint厂商编号FACTORYNAMEnvarchar厂商名称TELEPHONEnvarchar联系电话ADDRESSnvarchar地址POSTCODEnvarchar邮编REMARKnvarchar备注图3-4 FACTORY表INNOTE表:用来记录入库信息字段名数据类型含义INNOint入库编号INDATEdatetime入库日期CATEGORYint商品编号INCOUNTint入库数量HANDLERnvarchar经手人REMARKnvarchar备注图3-5 INNOTE表ORDERNOTE表:用来记录订单信息字段名数据类型含义ORDERNOint订单编号ORDERDATEdatetime订单日期CATEGORYint商品编号ORDERCOUNTint预定数量HANDLERnvarchar经手人RESULTint处理结果REMARKnvarchar备注图3-6 ORDERNOTE表PURVIEW表:用来记录权限信息字段名数据类型含义PURVIEWNOnvarchar权限编号PURVIEWNAMEnvarchar权限名称图3-7 PURVIEW表OUTNOTE表:用来记录出库信息字段名数据类型含义OUTNOint出库编号OUTDATEdatetime出库日期CATEGORYint商品编号OUTCOUNTint出库数量HANDLERnvarchar经手人REMARKnvarchar备注图3-8 OUTNOTE表SORT表:用来记录商品类别信息字段名数据类型含义SORTNOint类别编号SORTNAMEnvarchar类别名称REMARKnvarchar备注图3-9 SORT表STORE表:用来记录库存信息字段名数据类型含义CATEGORYNOint商品编号GOODSCOUNTint商品库存数量图3-10 STORE表USER表:用来记录用户信息字段名数据类型含义USERIDint用户IDUSERNAMEnvarchar用户名PWDnvarchar密码PURVIEWnvarchar权限图3-11 USER表第四章 应用程序设计41程序结构本应用程序由16个窗体组成,主要的分别是:主窗体,登陆窗体,入库窗体,出库窗体,订单窗体、库存盘点,查询等窗体组成。通过运行程序首先进入登陆窗体,通过输入用户明、密码,验证身份后进入主窗体,在主窗体上的各菜单项分别对应各自的功能模块窗体,包括系统,库存管理,入库管理,出库管理,盘点管理,订单管理,查询。需要哪个功能的时候就点哪个菜单,相对应的窗体会自动弹出。我此次负责的是盘点管理,以下是本人此次毕业设计负责模块的详细介绍。42程序设计首先运行该库存管理系统,弹出用户登陆窗体(如图4-1),输入用户名和密码,若用户名或密码输入错误将会弹出提示错误信息窗体(如图4-2),通过验证后将进入主窗体界面(如图4-3)。图4-1 用户登陆窗体图4-2 用户登陆错误信息提示窗体图4-3 主窗体界面在菜单选项中选择“盘点”,便进入盘点窗体(如图4-4),此界面打开时便自动在库存列表的DataGrid1控件中加在一个表,该表显示了当前库存及仓库内货物相关的所有信息(如图4-5)。在界面下方的数量总计列表中的相应文本框中则自动显示入、出库货物的数量总计以及入、出库货物的金额总计(如图4-6)。图4-4 盘点界面图4-5 仓库信息盘点 图4-6 出、入库数量盘点实现代码如下:Dim dtNew As DataTableDim SqlAda As New SqlDataAdapterDim SqlCmd1 As New SqlCommand(SELECT * FROM CATEGORY INNER JOIN STORE ON CATEGORY.CATEGORYNO=STORE.CATEGORYNO, Sample02.SqlCon)Dim ds As New DataSetTrySqlAda.SelectCommand = SqlCmd1ds.Clear()SqlAda.Fill(ds)Me.DataGrid1.DataSource = ds.Tables(0)Catch ex As ExceptionSample02.WriteErr(ex)End TryTrySample02.SqlCon.Open()Dim SqlCmd2 As New SqlCommand(SELECT SUM(INCOUNT) FROM INNOTE, Sample02.SqlCon)Dim SqlCmd3 As New SqlCommand(SELECT SUM(OUTCOUNT) FROM OUTNOTE, Sample02.SqlCon)Dim sqlcmd4 As New SqlCommand(SELECT SUM(PRICE*INCOUNT) FROM CATEGORY CROSS JOIN INNOTE WHERE CATEGORY.CATEGORYNO=INNOTE.CATEGORY, Sample02.SqlCon)Dim sqlcmd5 As New SqlCommand(SELECT SUM(PRICE*OUTCOUNT) FROM CATEGORY CROSS JOIN OUTNOTE WHERE CATEGORY.CATEGORYNO=OUTNOTE.CATEGORY, Sample02.SqlCon)TextBox1.Text = SqlCmd2.ExecuteScalar.ToStringTextBox2.Text = SqlCmd3.ExecuteScalar.ToStringTextBox3.Text = sqlcmd4.ExecuteScalarTextBox4.Text = sqlcmd5.ExecuteScalarCatch ex As ExceptionMessageBox.Show(ex.ToString)FinallySample02.SqlCon.Close()End Try在库存列表中的编号输入框中输入货物的编号,单击“查询”按钮,便可以根据货物的编号查询并在对应的文本框中显示出该货物当前的库存数量、入库数量、出库数量以及入、出库金额,并在DataGrid1控件中重新加载一个表,该表包含了库存中该货物当前的所有信息(如图4-7)。若单击“还愿”按钮,则在DataGrid1控件中重新载入当前仓库中货物的所有信息。若货物编号输入有误则会弹出异常。图4-7 货物查询盘点结果实现代码如下:If pro_num.Text = String.Empty ThenMessageBox.Show(不能为空)ElseDim dtNew As DataTableDim SqlAda As New SqlDataAdapterDim SqlCmd As New SqlCommand(SELECT * FROM CATEGORY INNER JOIN STORE ON CATEGORY.CATEGORYNO=STORE.CATEGORYNO WHERE CATEGORY.CATEGORYNO= & CType(pro_num.Text.Trim, Integer), Sample02.SqlCon)Dim ds As New DataSetTrySqlAda.SelectCommand = SqlCmdds.Clear()SqlAda.Fill(ds)ds.Tables(0).TableName.Trim()Me.DataGrid1.DataSource = ds.Tables(0)Catch ex As ExceptionSample02.WriteErr(ex)End TryTrySample02.SqlCon.Open()Dim SqlCmd1 As New SqlCommand(SELECT GOODSCOUNT FROM STORE where CATEGORYNO= & CType(pro_num.Text.Trim, Integer), Sample02.SqlCon)Dim sqlcmd2 As New SqlCommand(SELECT INCOUNT FROM INNOTE CROSS JOIN CATEGORY WHERE INNOTE.CATEGORY=CATEGORY.CATEGORYNO, Sample02.SqlCon)Dim sqlcmd3 As New SqlCommand(SELECT OUTCOUNT FROM OUTNOTE CROSS JOIN CATEGORY WHERE OUTNOTE.CATEGORY=CATEGORY.CATEGORYNO, Sample02.SqlCon)Dim sqlcmd4 As New SqlCommand(SELECT PRICE*INCOUNT FROM INNOTE CROSS JOIN CATEGORY WHERE INNOTE.CATEGORY=CATEGORY.CATEGORYNO, Sample02.SqlCon)Dim sqlcmd5 As New SqlCommand(SELECT PRICE*OUTCOUNT FROM OUTNOTE CROSS JOIN CATEGORY WHERE OUTNOTE.CATEGORY=CATEGORY.CATEGORYNO, Sample02.SqlCon)count.Text = SqlCmd1.ExecuteScalar.ToStringtxtin.Text = sqlcmd2.ExecuteScalar.ToStringtxtout.Text = sqlcmd3.ExecuteScalar.ToStringtxtinmon.Text = sqlcmd4.ExecuteScalar.ToStringtxtoutmon.Text = sqlcmd5.ExecuteScalar.ToStringCatch ex As ExceptionMessageBox.Show(ex.ToString)FinallySample02.SqlCon.Close()End TryEnd If在订单列表中单击“所有订单”按钮会在DataGrid2控件中显示当前所有订单信息(如图4-8)图4-8 订单信息盘点实现代码如下:Dim dtNew As DataTableDim SqlAda As New SqlDataAdapterDim SqlCmd1 As New SqlCommand(SELECT * FROM ORDERNOTE , Sample02.SqlCon)Dim ds As New DataSetTrySqlAda.SelectCommand = SqlCmd1ds.Clear()SqlAda.Fill(ds)Me.DataGrid2.DataSource = ds.Tables(0)Catch ex As ExceptionSample02.WriteErr(ex)End Try在订单列表的编号输入框中输入要查询的订单编号,单击“查询”按钮,则会在相应的文本框中显示所查询订单的日期和数量,并在DataGrid2控件中显示该订单的所有信息(如图4-9)。若订单编号输入有误则弹出异常。图4-9 订单查询盘点结果部分实现代码如下:If TextBox5.Text = String.Empty ThenMessageBox.Show(不能为空)ElseDim dtNew As DataTableDim SqlAda As New SqlDataAdapterDim SqlCmd As New SqlCommand(SELECT * FROM ORDERNOTE WHERE ORDERNO= & CType(TextBox5.Text.Trim, Integer), Sample02.SqlCon)Dim ds As New DataSetTrySqlAd

温馨提示

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

评论

0/150

提交评论