仓库管理系统毕业设计(全面)(共51页).doc
精选优质文档-倾情为你奉上仓库管理信息系统 本科毕业论文(设计) 题目:仓库管理信息系统姓 名: 学 号: 专 业: 院 系: 指导老师: 实习单位: 完成时间: XX大学教务处制专心-专注-专业目 录摘 要目前,随着计算机技术的飞速发展,仓库管理系统在仓库管理中得到越来越广泛的应用。对于XX大学来说,如何采用最新的开发理论、技术及方法,开发出适合本校仓库管理部门应用的仓库管理信息系统,使仓库管理能做到决策化和科学化显得十分重要。本文是结合XX大学仓库管理的现状,采用ASP作为前台开发语言,SQL Server 2000作为后台数据库而开发出的一个小型仓库管理系统。首先描述了系统开发的背景和运行环境;其次,描述了开发仓库管理系统的计划和准备;然后,从系统的结构、功能、特点及设计思路出发,介绍了一套基于B/S模式构建的XX大学仓库管理信息系统,并重点讲述了系统功能模块的构成、设计方法和关键技术。关键词:仓库;管理信息系统;数据库;系统设计ABSTRACTCurrently, with the rapid development of computer technology, the warehouse management system has been increasingly widely adopted to warehouse management. It's fairly important for Anhui Xinhua University to develop a warehouse management information system fit for the school warehouse management applications, with the latest development theories, technology and methods, so as to reach its scientific decision-making goal.This article is a combination of the current status of Anhui Xinhua Universitys warehouse management, using ASP as the front development language, SQL Server 2000 database as the background to develop a small warehouse management system. First it describes the background of system development and the operation environment; Secondly, it describes planning and preparation of the development of warehouse management systems; Then, from the system's structures, functions, features and design ideas, this paper introduces the warehouse management information system of XX University based on B / S Mode, and focuses on the composition of the system function modules, design methods and key technology.Key words: warehouse; management information system; database; system design第一章 概 述1.1 开发背景11.1.1 仓库管理系统的目的毕业设计是本科专业学生完成教学计划,实现专业培养目标的一个重要环节,是教学计划中综合性最强的实践性环节,它对提高学生综合运用专业知识分析和解决实际问题的能力以及培养学生的严肃认真的科学态度、严谨求实的工作作风和处理问题的能力等方面具有重要的意义。通过对此课题的研究可以使本人在毕业设计过程中系统回顾和总结以前所学的各种知识,并将与毕业设计课题相关的知识融会贯通,提高综合运用的能力。在毕业设计过程中,针对课题要求,可以不断学习新的知识和方法,解决之前未曾遇到的一些实际问题,并逐步完善知识结构。同时,可以培养从理论知识到实践应用的能力,提高自己发现问题、提出问题,并以更具体、更细致的方法去解决问题的能力。1.1.2仓库管理系统的技术性意义2目前,随着计算机技术的飞速发展,仓库管理信息系统在仓库管理中得到越来越广泛的应用。作为一所应用型的高等院校,前期采用的仍是手工操作,那么面临着学校的快速发展,开始暴露出了种种缺陷和不足。同时,当前的计算机技术和Internet技术发展也更加迅速,所带来的各种服务功能越来越完善,各行各业也逐渐地使用计算机和Internet服务,将Internet的应用领域不断扩大。学校应以此为契机,加快自己的信息化进程发展步伐,加快提高自身在信息获取、处理和管理等方面的能力,实现资源的共享和利用,使工作简单化、方便化。同时,现今数据库技术和面向对象的软件开发技术也发展得比较成熟,设计和开发一个现代化的实用性、人机界面友好性的仓库管理系统是可行的。且因为XX大学的快速发展,需要一个日益成熟、快捷方便的管理系统来管理后勤仓库的物资。1.1.3 系统开发具有的优越性目前,快速、简捷、方便是互联网技术得以迅猛发展的保证。那么通过利用万维网技术,来打破信息共享的障碍,将仓库管理系统连接到Internet上,实现Web发布功能,这样工作人员便可以实现远程办公。他们只要通过域名地址,根据用户名和密码便可登陆到系统,并可以查看到自己想要的信息或直接办公,不会因地点或时间的关系而耽误工作,而且提高了系统工作的可移植性,可维护性、重用性和适应性。1.2 系统运行环境PC机一台1、硬件平台CPU:具有较好的处理速度即可;内存:512M以上。2、软件平台操作系统:Windows XP/Windows Vista或以上版本。数据库:Microsoft SQL Server 20003 数据库或以上版本。浏览器:IE6.0或以上版本。Web信息服务器:IIS5.1或以上版本。第二章 开发仓库管理系统的计划和准备2.1 系统开发的计划原型法(Prototyping)4是20世纪80年代随着计算机软件技术的发展,特别是在关系数据库系统(Relational Data Base System,RDBS)、第四代程序生成语言(4th Generation Language,4GL)和各种系统开发生成环境产生的基础上,提出的一种从设计思想、工具、手段都全新的系统开发方法。它摒弃了那种通过一步步周密细致地调查分析,然后逐步整理出文字档案,最后才能让用户看到结果的繁琐做法。快速原型法(Rapid Prototyping),通常简称为原型法,其核心是,用交互的,快速建立起来的原型取代了形式的、僵硬的(不允许更改的)大部头的规格说明,用户通过在计算机上实际运行和试用原型系统而向开发者提供真实的、具体的反馈意见。2.2 管理信息系统52.2.1 管理信息系统的概念管理信息系统(Management Information System,简称MIS)是指最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。2.2.2 管理信息系统的特性1、面向管理决策管理决策是指企业中的管理者为了实现战略决策而对企业内部管理进行有效的组织、协调,使企业的生产技术经济活动正常进行的一种决策。而管理信息系统恰恰又为企事业单位的决策提供了直接的数据和依据,以此提高了企业内部的管理效能,实现了企业内部各种资源的优化配置。2、综合性管理信息系统是一种集计算机应用,信息组织、分析与管理,以及系统运用于一体的,具有综合性的特点。3、人机交互系统管理信息系统采用面向对象技术的开发方法进行开发,使得其与用户有着良好的人机交互界面,而且在指定的操作范围内,系统都会传递出用户需要的信息和数据,有助于用户结合自身实际做出相应的战略决策。4、现代管理方法和手段相结合的系统管理信息系统在设计的过程中,结合了现代管理学的理论、系统思想和信息系统的分析方法以及信息管理等方面的重要技术,以便让管理者能通过系统的数据分析对企业单位的发展实施管理和评价,达到综合分析和解决问题。5、多学科交叉的边缘学科管理信息系统是在计算机科学与技术、管理学、软件工程、经济学等各学科的基础上经过一定的验证而成立的一门新型学科,对各行各业的发展起到了决定性的作用。2.2.3 管理信息系统的信息化平台随着现代信息技术的迅猛发展,社会的整体信息化进程也在加快,它所代表的是信息技术的高度应用,信息资源的高度共享,从而使得人的智能潜力以及社会物质资源潜力被充分发挥,个人行为、组织决策和社会运行趋于合理化的理想状态。而管理信息系统的信息化平台,则指管理信息系统在某个领域、某个区域或者某个组织,为信息化的建设、应用和发展营造了良好的环境。2.3 系统开发所用的技术准备2.3.1 编程环境的选择ASP(Active Server Pages)6的中文含义是“动态服务器页面”,是微软公司在1996年推出的一种集HTML、脚本语言(VBScript和Java script)、ActiveX控件组件于一体的新型应用程序开发框架,是一个Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序。1、ASP包含的三方面内容Active是Microsoft软件的重要基础,它采用封装对象、程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些诸如HTML标记、普通文本、脚本命令以及COM组件等基本组件和常用组件,只要在服务器上安装这些组件,通过访问组件,就可以快速、方便地建立各种web应用。Server 表示ASP运行在服务器端。这样就不必担心ASP所使用的编程语言是否受浏览器的限制。ASP自带的有两个脚本引擎:VBScript和JavaScript。在安装IIS时,这两种脚本引擎已经默认安装。因此需要在ASP页面中定义本页面所使用的脚本语言,以便服务器调用相应的脚本引擎,但在服务器端不需要考虑用户使用的浏览器类型。Pages表示ASP返回标准的HTML页面,可以在常用浏览器中正常的显示。浏览者在查看页面源文件的时候,看到的是ASP生成的HTML代码,而不是ASP程序代码。2、从技术层面看,ASP所具有的特点<1>、无需编译 ASP脚本嵌入到HTML当中,无需编译或链接即可直接解释执行。<2>、易于生成 使用常规文本编辑器(如Windows下的记事本)即可进行ASP页面的设计。<3>、独立于浏览器 用户端只要使用可解释常规HTML代码的浏览器,即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,不需要通过从服务器下载ASP页面。<4>、面向对象 在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制ActiveX服务器组件来扩充功能。<5>、与任何ActiveX脚本语言兼容 除了可使用VbScript和JavaScript进行设计外,还可通过Plug-in的方式,使用由第三方提供的其他脚本语言。<6>、源程序码不会外泄 ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证编写出来的程序代码不会外泄。3、ASP工作原理7图2.1所示为ASP的工作原理,分为访问HTML页面和访问ASP两个过程。图2.1 ASP工作原理图访问HTML页面的过程:(1)、在客户端浏览器地址栏处输入HTML文件的URL地址,通过网络发送一个网页请求。(2)、根据浏览器发送的URL找到相应的Web服务器。(3)、Web服务器收到请求,通过扩展名.html和.htm判断是否为HTML文件的请求。(4)、Web服务器将对应的HTML文件从磁盘或存储器中取出来并送回浏览器。(5)、HTML文件由用户的浏览器解释,结果在浏览器窗口中显示出来。访问ASP页面的过程:(1)、当用户请求一个*.asp页面时,该请求通过网络被发送到相应的Web服务器。(2)、Web服务器响应该HTTP请求,并根据扩展名.asp识别出ASP文件。(3)、Web服务器从硬盘或内存中获取相应的ASP文件。(4)、Web服务器将ASP文件发送到脚本引擎(asp.dll)文件中。(5)、脚本引擎(asp.dll)将ASP文件从头到尾进行解释处理,并根据ASP 文件中的脚本命令生成相应的HTML网页。(6)、若ASP文件中含有访问数据库的请求,就通过数据库连接组件与后台数据库相连。ASP脚本是在服务器端解释执行的,它依据访问数据库的结果集自动生成符合HTML语言的页面,以响应用户的请求。所有相关的工作由Web服务器负责。本系统ASP的运行平台是IIS 6.0(因特网信息服务),集成开发环境是Dreamweaver 8.08。IIS是微软公司推出的Web服务器,它是当今Windows NT平台上执行效率最高的Web服务器之一,提供了强大的Internet和Internet服务功能。Dreamweaver 是Macromedia公司开发的可视化网页设计制作工具。是当前最常用的“网页三剑客”9之一。2.3.2 关系型数据库的实现10数据库技术产生于20世纪60年代末70年代初,是现代信息科学技术的重要组成部分,是计算机数据处理与信息管理系统的核心。随着计算机科学技术与网络通信技术的不断发展,数据库技术已成为信息社会中对大量数据进行组织与管理的重要技术手段及软件技术,是网络信息化管理系统的基础。1、数据库的概念数据库(Data Base)是指长期存储在计算机内有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系型数据库(flat-file)和关系型数据库(relational)。关系型数据库中包含了多个数据表的信息,数据库中含有很多不同部分的术语,像字段、视图等。2、新建一个数据库创建任何一个数据库的第一步都是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。具体步骤如下:标识需要的数据;收集被标识的字段到表中;标识主关键字字段;绘制一个简单的数据图表;规范数据;标识指定字段的信息;创建物理表。3、修改数据库修改数据库包括增减数据文件和日志文件、修改文件属性(包括更改文件名和文件大小)、修改数据库选项等。而我们在实际的应用主要为添加、更改和删除记录,这三种操作均可使用ADO技术,与ASP结合,以建立提供数据库信息的主页内容,在主页面执行SQL命令,让用户在浏览器页面中输入,更新和删除站点服务器中的数据库信息。4、数据库之间的联系数据库之间的关系是指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在用户要求从各个相互关联的但不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的记录中有重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字(简称主键)、组合关键字和外关键字(简称外键)。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。5、存储过程存储过程(stored procedure)是一组事先编译好的Transact-SQL代码。存储过程作为一个独立的数据库对象,可以作为一个单元被用户的应用程序调用。由于存储过程是已经编译好的代码,所以执行的时候不必再次进行编译,从而提高了程序的运行效率。主要是在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用存储过程来封装数据库操作。SQL Server的存储过程类似于其他编程语言里的过程(procedure),具体体现在:(1)存储过程可以接收参数,并以输出参数的形式返回多个参数给调用存储过程的过程或批处理。(2)存储过程也可以容纳存储过程,可以在对数据进行查询、修改的编程语句中调用其他存储过程。(3)可以返回执行存储过程的状态值以反映存储过程的执行情况。使用存储过程的好处:(1)执行速度快。存储过程在创建时就经过了语法检查和性能优化,因此在执行时不必重复这些步骤。存储过程在经过第一次调用之后,就驻留在内存中,不必再经过编译和优化,所以执行速度快。在有大量批处理的Transact-SQL语句要重复执行的时候,使用存储过程可以极大地提高运行效率。(2)模块化的程序设计。存储过程经过了一次创建以后,可以被调用无数次。用户可以独立于应用程序而对存储过程进行修改。可以按照独特的功能模式设计不同的存储过程以供使用。(3)减少网络通信量。存储过程中可以包含大量的Transact-SQL语句,但存储过程作为一个独立的单元来使用。在进行调用时,只需要使用一个语句就可以实现,所以大大减少了网络上数据的传输。(4)保证系统的安全性。可以设置用户通过存储过程对某些关键数据进行访问,但不允许用户直接使用T-SQL或企业管理器对数据进行访问。6、触发器触发器是数据库应用中的重要工具,它的应用很广泛。触发器是一种特殊的存储过程,它与表格紧密相连,可以看作是表格定义的一部分,当用户修改指定表中的数据时,触发器将会自动执行。触发器基于一个表创建,但是可以针对多个表进行操作,所以触发器被用来实现复杂的商业规则。在SQL Server中一张表可以有多个触发器,用户可以针对INSERT、UPDATE或DELETE语句分别设置触发器,也可以针对一张表上的特殊操作设置多个触发器。触发器里面可以容纳非常复杂的T-SQL语句。但是,不管触发器所执行的操作有多复杂,触发器都只能作为一个独立的单元被执行,被看作是一个事务。如果在执行触发器的过程中发生了错误,则整个事务将会自动回滚。而且触发器是在服务器的特定操作(INSERT、UPDATE、DELETE)执行结束后才执行的。如果在执行特定数据操作的过程中发生了系统错误,则触发器不会被触发。7、视图视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的表中,因此视图是一个虚表。视图最终是定义在基本表之上的,因此,对视图的一切操作最终也要转换为对基本表的操作。在使用过程中视图主要表现出如下优点:(1)视图能够简化用户的操作。对于用户所关心的数据,如果不是直接来自表,则可以通过定义视图来简化用户的数据查询操作。(2)视图使用户能以多种角度看待同一数据。当许多不同种类的用户使用同一个数据库时,视图机制能使不同的用户以不同的方式看待同一数据。(3)视图对重构数据库提供了一定程度的逻辑独立性。数据库的逻辑独立性是指当数据库重构时,如增加新的关系或对原有关系增加新的字段等,用户和用户程序不会受影响。(4)视图能够对机密数据提供安全保护。对不同的用户定义不同的视图,即可保证机密数据不出现在不应看到这些数据的用户视图上。2.3.3 前台与后台的结合(ODBC)1、 ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。2、一个完整的ODBC由下列几个部件组成:1) 应用程序(Application)2) ODBC管理器(Administrator) :该程序位于Windows XP控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。3) 驱动程序管理器(Driver Manager):驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。4) ODBC API5) ODBC 驱动程序 :是一些DLL,提供了ODBC和数据库之间的接口。6) 数据源:数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。3、应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起 ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。 4、在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序, 在访问ODBC数据源时需要ODBC驱动程序的支持。ODBC各部件之间的关系如图2.2所示:图2.2 ODBC各部件之间的关系图上面主要对前台和后台如何建立有效连接中的数据源(ODBC)相关知识进行了介绍,它是一种通过建立系统DSN配置数据源访问数据库,这是系统开发过程前期准备中必不可少的部分。但在本系统中,主要考虑到系统整体的可移植性及操作方便,应用非DSN方式访问数据库不需要直接配置ODBC数据源,而是以ASP代码编写ODBC驱动程序来实现客户端与数据库之间的数据交互。第三章 系统分析和总体设计3.1 需求分析通过对XX大学仓库管理的调查,并结合自己查找的一些资料,发现仓库管理主要涉及到的是对物品基本信息的管理和库的信息管理,如图3.1所示。图3.1 仓库管理流程图 同时,要求系统具有一下功能。l 由于操作人员的计算机知识普遍较差,因此要求有良好的人机界面。l 由于该系统的使用对象多,因此要求有较好的权限管理。l 方便的数据查询,支持多条件查询。l 基础信息管理与查询(包括物品信息、部门信息、仓库信息和供应商信息)。l 通过计算机能够直接“透视”仓库存储情况。l 方便、健全的结账功能。l 对各部门的物品领用情况进行排行统计。l 数据计算自动完成,尽量减少人工干预。l 系统退出可行性分析通过计算机网络系统对学校进行全面的管理,可以满足学校现代化管理的要求。仓库管理信息系统开发的可行性主要表现在如下两个方面:l 经济性学校运营过程中信息的系统化管理和权威的数据统计,为学校的经营决策者提供了大量的、权威的科学依据(数据);强大的账单借款功能,简化了员工的日常操作,提高了工作效率,避免了人工管理过程中数据易错所带来的一系列的连锁反应,提高了学校的管理水平。l 技术性在高系统配置、高网络带宽服务的情况下,各个级别的管理员很容易通过网站对其操作范围内的系统内容信息进行操作管理,完全满足日常运营和管理的要求。为了把用户的数据清晰明确表示出来,系统分析员通常建立一个概念性的数字模型。概念性数字模型是一种面向问题的数字模型,是按照用户的观点来对数据和信息建模。最常用的表示概念性数据模型的方法是实体联系方法。这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,该方法又称E-R模型。E-R图中共用了三种符号:实体、属性和联系。通常实体用矩形来表示,属性用椭圆或圆角矩形表示,联系用菱形表示。联系又分为三种类型:一对一,一对多和多对多。1、数据库上建模经过分析可以得出以下几个实体:物品、供应商、领用部门、操作员、仓库、出入库单。它们的实体图如下:图3.2 物品实体图图3.3 供应商实体图图 3.4 部门实体图图3.5 操作员实体图图3.6 仓库实体图在找出所有实体的基础上,需要进一步分析各个实体之间的联系。经过分析两两实体之间的联系,然后进行合并,给出所有实体的联系图即E-R图,如图3.8所示: 从图3.8可以看到,物品和出入库是多对多的关系,其他的都是一对多的关系。2、关系描述的设计根据以上各个实体图和仓库管理系统的E-R图,经过转换,可以导出各个关系。(注:有下划线的为关键字。)物品信息表(物品编号、物品名称、简称、单位、单价、产地、规格、包装、批号、批准文号、备注、供应商、物品数量、库存总量);供应商信息(供应商编号、供应商名称、简称、供应商地址、邮政编码、传真、联系人、联系电话、开户银行、电子邮箱);操作员信息表(操作员编号、姓名、操作权限、密码);仓库信息表(仓库编号、类别名、仓库名、仓库地址、负责人、负责人电话、备注);部门信息表(部门编号、部门名称、部门简称、地址、邮政编码、传真、联系人、电话、E-mail);入库信息表(入库单编号、品种数、金额、实付、供应商名称、入库时间、操作员、经手人、结算方式、物品编号、单价、数量);入库退货信息表(入库退货单编号、品种数、金额、实收、供应商名称、入库退货时间、操作员、经手人、结算方式、仓库类别、物品编号、单价、数量);入库结账信息表(编号、入库单编号、供应商名称、本次结款、余额、借款日期、操作员、经手人);出库信息表(出库单编号、品种数、金额、实收、部门名称、出库时间、操作员、经手人、结算方式、仓库类别、物品编号、单价、数量);出库结算信息表(编号、出库单编号、本次结款、部门名称、余额、借款日期、操作员、经手人);库存信息表(编号、物品名称、简称、产地、规格、包装、单位、单价、库存数量)。系统设计分为总体设计和详细设计。经过系统分析阶段的工作,已经清楚系统必须完成的工作,下面工作就是决定“如何做”的问题。总体设计的目的,概括的说就是系统应该如何实现?通过该阶段的工作一方面将划分出构成系统的物理元素程序、文件、数据库、文档等。另一方面是设计软件的结构,即确定系统都由哪些模块组成及各模块之间的相互关系。1、项目规划11XX大学仓库管理系统是一个典型的数据库开发应用程序,有基础信息模块、入库管理模块、出库管理模块、库存管理模块、查询统计模块和系统设置模块等部分组成,各模块的功能如下。l 基础信息模块该模块主要管理物品信息录入、仓库信息录入、部门信息录入、供应商信息录入、物品信息查询、仓库信息查询、物品信息查询、部门信息查询和供应商信息查询。l 入库管理模块该模块主要管理物品入库信息、物品入库结账、物品入库退货、入库退货结账和入库结账查询。l 出库管理模块该模块主要管理物品出库信息、物品出库结算和出库结算查询。l 库存管理模块该模块主要管理物品库存查询和库存物品价格调整。l 查询统计模块该模块主要管理物品入库查询、物品出库查询、入库退货查询和物品领用排行。l 系统设置模块该模块主要用来添加操作员、更改操作员密码和删除操作员。因此,操作员在进入系统管理模块之前需要登录,正确进入之后方可进行所有的信息管理操作。2、通过系统的分析以及对各个功能模块的划分,可以得到该系统的功能结构图,如图3.9所示。图3.9 仓库管理系统功能结构图12在系统分析阶段已完成了系统的数据分析。该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。一般把数据库的设计分为数据库的逻辑设计和数据库的物理设计两个步骤。在此之前,首先介绍一下编码设计。1、编码设计编码设计是数据库系统开发的前提条件,是系统不可缺少的重要内容。编码是指与原来名称对应的编号,符号或记号。它是进行信息交换、处理、传输和实现信息资源共享的关键。编码也用于指定数据的处理方法、区别数据类型,指定计算机处理的内容等等。本系统为了便于操作和记忆,将系统内部信息编码采用了统一的编码方式,有如下几种情况。(1)、入库单据编号为字母RK,系统当前日期和3位数字编号的组合。例如,RK。(2)、入库退货单据编号为字母RT、系统当前日期和3位数字编号的组合。例如,RT。(3)、出库单据编号为字母CK、系统当前日期和3位数字编号的组合。例如,CK。2、数据库的逻辑设计在完成数据库的概念结构设计即E-R图后,即进入数据库的逻辑结构设计阶段。数据库的逻辑结构设计可以把得到的满足第三范式的关系转化为特定的数据库管理系统下的数据表。根据前面得到的各个关系,把它们转化成数据表。下面给出主要数据表说明:物品信息表:物品编号、物品名称、物品简称、物品产地、物品单位、物品规格、物品包装、物品批号、批准文号、备注信息、供应商名称,共十一个字段,因为物品的物品编号是不可能重复的,所以物品编号作为物品信息表的主键。供应商信息表:供应商编号、供应商名称、供应商简称、供应商地址、邮政编码、电话、传真、联系人、联系人电话、开户银行、电子邮箱共十一个字段,供应商编号是主键。操作员信息表:操作员编号、姓名、密码、操作权限共四个字段,操作员编号为主键。仓库信息表:仓库编号、仓库类别、仓库名称、仓库地址、负责人、负责人电话、备注共七个字段,仓库编号为主键。部门信息表:部门编号、部门名称、部门简称、部门地址、邮政编码、电话、传真、联系人、联系人电话、电子邮箱共十个字段,部门编号为主键。入库单信息表:入库单编号、品种数、金额、实付、供应商名称、入库时间、操作员、经手人、结算方式、物品编号、单价、数量共十二个字段,入库单编号为主键。入库退货信息表:入库退货单编号、品种数、金额、实收、供应商名称、入库退货时间、操作员、经手人、结算方式、仓库类别、物品编号、单价、数量共十三个字段,入库退货单编号为主键。入库结账信息表:入库结账编号、入库单编号、供应商名称、本次结款、余额、借款日期、操作员、经手人共八个字段,入库结账编号为主键。出库单信息表:出库单编号、品种数、金额、实付、部门名称、出库时间、操作员、经手人、结算方式、物品编号、单价、数量共十二个字段,出库单编号为主键。出库结算信息表:出库结算编号、出库单编号、本次结款、部门名称、余额、借款日期、操作员、经手人共八个字段,出库结算编号为主键库存信息表:库存编号、物品名称、物品简称、物品产地、物品规格、包装、单位、单价、库存数量共九个字段,库存编号为主键。3、 数据库的物理设计在完成数据库的逻辑结构设计后,即可进行数据库的物理结构设计。基于以上的数据库逻辑机构设计,而且考虑到程序设计的简易性和通用性,本系统采用SQL Server 2000数据库,系统数据库名称为storage。数据库storage中包含18张表。与此同时,如何有效地建立数据库的连接,即访问数据库。访问数据库可以用DSN和非DSN两种方法。应用DSN访问数据库需要配置ODBC数据源(即系统DSN),该方法的优点是比较安全;而应用非DSN访问数据库不需要配置ODBC数据源,比较方便。而对于本系统创建数据库的连接,选择使用后者。具体的将在详细设计中进行阐述,下面首先给出其中主要的且较为重要的数据表。l Tab_wpinfo(物品信息表)物品信息表主要用于保存物品的基本信息,该表结构如表3-1所示。表3-1 物品信息表l Tab_gysinfo(供应商信息表)供应商信息表主要用于保存供应商的基本信息,该表结构如表3-2所示。表3-2 供应商信息表l Tab_ruku_main(入库信息主表)入库信息主表主要用于保存物品的入库信息,该表结构如表3-3所示。表3-3 入库信息主表l Tab_ruku_detail(入库信息明细表)入库信息明细表主要用于保存物品的入库票号信息,该表结构如表3-4所示。表3-4 入库信息明细表l Tab_out_kucun(库存信息表)库存信息表主要用于保存库存物品的详细信息,该表结构如表3-5所示。表3-5 库存信息表l Tab_out_main(出库信息主表)出库信息主表主要用于保存出库物品的领用信息,该表结构如表3-6所示。表3-6 出库信息主表l Tab_out_detail(出库信息明细表)出库信息明细表主要用于保存物品的出库票号信息,该表结构如表3-7所示。表3-7 出库信息明细表l Tab_rkjz(入库结账信息表)入库结账信息表主要用于保存物品入库后的结账信息,该表结构如表3-8所示。表3-8 入库结账信息表4、数据表之间的联系从本系统的E-R图可看出,各实体之间是有联系的,联系的类型分为一对一、一对多和多对多,并且数据表与数据表之间的联系是通过各数据表中的主关键字和外关键字来实现的。5、视图使用使用视图主要可以简化用户的数据查询操作,在查询统计模块中,分别对入库信息查询、入库退货信息查询以及出库信息查询建立