毕业设计(定稿).doc_第1页
毕业设计(定稿).doc_第2页
毕业设计(定稿).doc_第3页
毕业设计(定稿).doc_第4页
毕业设计(定稿).doc_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

仓库管理系统的设计与开发 目录 1 系统概述.1 1.1 绪论1 1.1.1 系统开发的目的与意义.1 1.1.2 系统开发背景.1 1.1.3 系统任务概述.1 1.1.4 系统实现的方法与目标.2 2 可行性研究与需求分析.3 2.1 可行性研究3 2.1.1 技术可行性.3 2.1.2 经济可行性.3 2.1.3 操作可行性.3 2.1.4 可行性研究结论.3 2.2 需求分析 3 2.2.1 系统的目的.3 2.2.2 系统功能及用户需求分析.4 2.2.3 系统流程图.4 2.2.4 数据描述.6 2.2.5 安全性、完整性需求.11 3 设计原理与主要技术12 3.1 项目设计的基本原理12 3.2 设计方法与技术13 3.2.1 项目设计采用的主要方法.13 3.2.2 项目设计采用的主要技术13 4 总体设计.18 4.1 总体设计原理18 4.2 系统功能模块设计18 4.2.1 系统需要实现的功能.18 4.2.2 功能实现.19 4.3 系统流程图21 4.4 软硬件环境22 4.4.1 硬件环境22 仓库管理系统的设计与开发 4.4.2 软件环境.22 4.5 运行设计22 4.5.1 运行模块的设计.22 4.6 出错处理22 4.6.1 出错输出信息.22 4.6.2 出错处理对策.23 5 详细设计.24 5.1 数据库的概念设计24 5.1.1 数据抽象.24 5.1.2 系统概念数据模型.27 5.1.3 系统物理数据模型.28 5.2 程序描述28 5.2.1 身份验证系统.28 5.2.2 入库系统.29 5.2.3 出库系统.29 5.2.4 借出系统.30 5.3 程序流程图31 6 系统的实现与调试.34 6.1 仓库数据库的建立34 6.2 系统具体设计.36 6.2.1 登录界面.36 6.2.2.主界面37 6.2.3 供应商信息界面.39 6.2.4 购货商信息界面.42 6.2.5 货物信息界面.44 6.2.6 库存操作界面.45 6.2.7 出库界面.47 6.2.8 库存信息界面48 7 测试与运行记录49 7.1 测试目的49 7.2 测试目标49 7.3 测试计划49 7.3.1 测试方案.49 7.3.2 测试项目.49 7.3.3 测试准备.50 7.4 测试与运行记录50 7.4.1 用户登录操作.51 7.4.2 供货商信息查询操作.51 7.4.3 指定供货商信息查询操作.51 仓库管理系统的设计与开发 7.4.4 添加供货商信息操作.52 7.4.5 购货商信息查询操作.52 7.4.6 指定购货商信息查询操作.52 7.4.7 添加购货商信息操作.53 7.4.8 商品信息查询操作.53 7.4.9 指定商品信息查询操作.54 7.4.10 商品信息添加操作.54 7.4.11 查询入库信息操作.55 7.4.12 查询指定商品入库信息操作.55 7.4.13 入库信息添加.55 7.4.14 查询出库信息操作.56 7.4.15 查询指定商品出库信息操作.56 7.4.16 出库信息添加.56 7.4.17 库存信息查询操作.57 7.5 测试结论57 8 总结.58 参考文献59 致谢60 附录 主要源程序代码.61 仓库管理系统的设计与开发 第 1 页 共 71 页 1 系统概述 1.1 绪论 1.1.1 系统开发的目的与意义 随着国民经济的发展和社会进步,企业的数字化管理成为现代企业的重要组成部 分。其中数字化、信息化的产品库存管理也有了较快的发展,代表了库存管理自动化 发展的趋势。 由于信息量的增大,产品内容的丰富,继续使用手工的管理方式则显得力不从心, 因此发展产品库存管理的自动化就成为当务之急,重中之重的一件大事。用好、管理 好产品库存,更好的发挥其作用,已渐渐成为研究的一个重要课题。利用高科技,科 学合理的配置人力、物力等各种资源,进行系统的、有效的管理,是目前的研究方向。 1.1.2 系统开发背景 在我国商品经验快速发展的背景下,我们的库存管理观念正经受到当代先进的管 理理论和思想的冲击,落后的管理观念和低效的管理技术手段难以适应当前发展和企 业改革的需要。这样的情况对我们库存管理工作来说不仅是挑战,也是发展机遇,它 对我们管理工作提出了新的要求,促使我们进一步深化管理体制改革,不断采用高效 的库存管理信息手段,将库存管理过程中产生的大量信息需求,及时、动态地进行处 理,提高管理效率,逐步建立和完善面向信息网络、开放安全高效的现代库存管理信 息网络系统。 1.1.3 系统任务概述 (1) 目标 为了库存管理系统更完善; 为了库存管理人员对库内商品的管理更方便; 为了减轻产品库存管理人员的工作负担。 仓库管理系统的设计与开发 第 2 页 共 71 页 (2) 应用目标 通过本系统软件,能帮助库存管理人员利用计算机,快速方便地对现有库内 商品,入库管理,出库管理等进行高效的管理。 (3) 作用及范围 本软件适用于现代产品库存系统使用,它是比较完善的系统管理软件,可以 快速方便地对现有库内商品,入库管理,出库管理等进行高效的管理。 1.1.4 系统实现的方法与目标 我将此次设计的重点放在库存管理子系统的设计,此子系统包括入库管理、出库 管理、购货商信息查询,库存信息查询等功能,在本论文中将具体讲解此子系统各个 功能的详细实现过程。 本系统主要将采用图形界面,直接单击按钮而驱动相应的处理程序,以使系统具 友好的界面,方便操作人员的使用,减少操作失误,增强系统的容错性、使用户得到 满意的结果。 仓库管理系统的设计与开发 第 3 页 共 71 页 2 可行性研究与需求分析 2.1 可行性研究 2.1.1 技术可行性 随着信息时代的到来,越来越多的计算机和网络逐步走进了多层次的应用领域。 现代企业管理中,信息的共享性和及时性决定了企业的发展。而基于计算机的信息管 理在世界上也已取得广泛的认可。 该产品库存管理系统是基于 microsoft visual studio 技术,建立以 server 为结构模 式、以数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序 和管理维护,为提高库存管理的效率、安全、和数据的及时性、共享性而开发的系统。 2.1.2 经济可行性 经济可行性主要依据是成本/效益分析,该系统的目标是以最低的成本,最高的效 率、在最短的期限内开发出具有产品入库、产品出库、及商品查询功能的系统。 目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上 十分有限。而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。 2.1.3 操作可行性 使用本软件人员要求有一定计算机基础的人员,系统管理员要求有计算机的专业 知识,所有人员都要经过专业培训。 管理人员也需经一般培训。 经过培训人员将会熟练使用本软件。 两名系统管理员,一名审计员将进行专业培训,他们将熟练管理本系统 2.1.4 可行性研究结论 综上所述,该项目在技术、经济、操作和社会效益上是完全可行的。 仓库管理系统的设计与开发 第 4 页 共 71 页 2.2 需求分析 2.2.1 系统的目的 货物仓库管理系统主要针对于日常库存信息的管理,它针对仓库日常发生的业务, 分为了两大类,即入库和出库,用户通过相应的模块,对仓库里的物品的基本情况进 行操作,对库存数量进行查询,用户通过简单的操作即可轻松的管理仓库。 2.2.2 系统功能及用户需求分析 2.2.2.1 功能需求 该系统主要分为三大功能: 管理员功能、信息安全功能、用户功能。 (1) 管理员功能包括 :产品入库登记、确认入库信息、删除库内信息、借出信息 登记、产品分类管理、添加人员、删除人员、查询库内信息、系统配置、查看系统事 件。 (2) 信息安全功能包括:数据检测、人员权限区分、事件记录、数据警告; (3) 用户功能包括:查询库内信息、查询出库信息、查询入库信息、修改本用户密 码。 2.2.2.2 用户需求 根据用户需求,该系统应该实现以下功能: (1) 进、出库管理。对进、出库信息进行记录。 (2) 查询功能。对购货商,供货商,库存产品,进出库情况等信息进行查询。 (3) 部门资料管理与库存报表生成。资料管理包括了人员信息管理,财政支出信 息管理,以及各项业务单据的资料管理。 (4) 应用计算机管理后,由于计算机能存贮大量的数据,而且数据只要一次存入, 便可多次重复使用,所以管理数据达到完整,统一,原始记录能保证及时,准确。 (5) 应用计算机管理后,许多重复性的工作,都可由计算机去执行,从而使管理 人员从事务性工作解脱出来,真正变为从事一些信息的分析,判断,决策等创造性的 工作。 2.2.3 系统流程图 系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑 盒子形式描绘组成系统的每个部件(程序,文档,数据库等)。系统流程图表达的是 仓库管理系统的设计与开发 第 5 页 共 71 页 数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽 管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而 不是程序流程图。 (1) 系统流程图符号如图 2.1 所示: 处理输入输出联机存储 图 2.1 系统流程图符号说明 (2) 本系统使用的总的系统总体流图 2.2 所示: 仓库管理系统 存储文件 出 库 信 息 处 理 入 库 信 息 处 理 库存操作 采购货物入库 库存报表 库 存 日 报 表 库 存 月 报 表 出库信息表 入库信息 库存操作原因 供 货 商 出 入 库 定货报告 查询操作 购货商需求表 仓库管理系统的设计与开发 第 6 页 共 71 页 图 2.2 系统总体流图 2.2.4 数据描述 2.2.4.1 数据流图 数据流图(dfd)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过 程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件 中流动和被处理的逻辑过程。 (1) 本系统中使用的数据流图符号如图 2.3 所示: 数据的源点/终点 数据流 数据流 数据存储 图 2.3 数据流图符号 (2) 本系统的顶层数据流图如图 2.4 所示: 定货报告 入/出库信息 库存信息表 入库出库信息 图 2.4 顶层数据流图 (3) 细化后的数据流图如图 2.5 所示: 入库信息表 入库、出库信息及库存信息 入库信息 定货报告 出库信息 仓库管理员 仓库管理系统 供应商 管理员 管理员 货物入库信息管理 货物出库信息管理 货物库存信息管理 管理员 供应商 仓库管理系统的设计与开发 第 7 页 共 71 页 库存信息表 出库信息表 图 2.5 细化后的数据流图 2.2.4.2 数据字典 数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义 的集合。数据流图和数据字典共同构成系统的逻辑模型。 下面用数据字典来定义数据流图中各元素的确切内容: (1) 数据项定义: 表表 2-12-1 供应商表供应商表 client 字段名数据类型可否为空说明 clientidvarchar(10)not null 供应商编号(主键) clientnamevarchar(50)not null 供应商名称 addressvarchar(50)null 供应商地址 postcodevarchar(30)null 供应商邮编 telenovarchar(30)null 供应商电话 表表 2-22-2 管理员表管理员表 users 字段名数据类型可否为空说明 useridvarchar(10)not null 管理员编号(主键) usernamevarchar(10)null 管理员名 userpasswordvarchar(6)null 管理员密码 表表 2-32-3 货物信息表货物信息表 goods 字段名可否为空数据类型说明 goodsidnot nullvarchar(10) 货物号(主键) pricenulldecimal 15,2 货物价格 goodsnamenot nullvarchar(50) 货物名称 仓库管理系统的设计与开发 第 8 页 共 71 页 in_datenulldatetime 入库时间 clientidnullvarchar(10) 供应商编号 numbernullchar(10) 货物数量 buyeridnullvarchar(10) 购货商编号 表表 2-42-4 货物入库表货物入库表 goods_in 字段名数据类型可否为空说明 inidvarchar(10)not null 入库货物号(主键) in_datedatetimenot null 入库时间(主键) clientidvarchar(10)null 供应商编号 in_numberchar(10)null 入库数量 usernamevarchar(10)null 经办人 表表 2-52-5 货物出库表货物出库表 goods_out 字段名数据类型可否为空说明 out_datedatetimenot null 出库时间 outidvarchar(10)not null 出库货物号(主键) buyeridvarchar(10)null 购货商编号 usernamevarchar(10)null 经办人 out_numberchar(10)null 出库数量 表表 2-62-6 现有库存表现有库存表 goodsstore 字段名数据类型可否为空说明 storeidvarchar(10)not null 库存货物号(主键) store_numberchar(10)null 库存数量 useridvarchar(10)null 管理员编号 表表 2-62-6 购货商表购货商表 buyer 仓库管理系统的设计与开发 第 9 页 共 71 页 字段名数据类型可否为空说明 buyeridvarchar(10)not null 购货商编号(主键) buyernamevarchar(50)not null 购货商名称 needidvarchar(10)not null 需求货物号 need_numberchar(10)null 需求数量 (2) 数据流定义: (3) 数据存储定义: 名称:入库信息 描述:入库信息由仓库管理员输入到仓库管理系统中,并修改 系统原数据 定义:入库信息=货物名称+货物号+数量+入库时间+单价 位置:仓库管理员 货物入库信息管理 名称:出库信息 描述:出库信息由仓库管理员输入到仓库管理系统中,并修改 系统原数据 定义:出库信息=货物名称+货物号+数量+出库时间+单价 位置:仓库管理员 货物出库信息管理 名称:库存信息 描述:库存信息保存在仓库管理系统的存储文件中,根据入库 及出库信息修改,并且输出给工作人员,以作出采购决 策 定义:库存信息=货物名称+货物号+数量+单价 位置:库存信息管理 工作人员 名称:入库信息管理 描述:由仓库管理员将入库信息输入到入库信息管理系统中存 储 输入:入库信息 输出:入库信息表 数据结构:货物名称+货物号+数量+入库时间 仓库管理系统的设计与开发 第 10 页 共 71 页 (4) 数据处理 数据处理名称:管理员登陆管理 标志符:p1 处理定义:管理员信息增加,修改,删除 激发条件:输入各种管理员信息 输入:管理员管理信息 输出:产品入库登记、确认入库信息、删除库内信息、借出信息登记、 产品分类管理、添加人员、删除人员、查询库内信息、系统配置、查 看系统事件 数据处理名称:用户登录 标志符:p1 处理定义:登录系统 激发条件:所输入的编号和密码正确 输入:登录信息 输出:查询库内信息、查询出库信息、查询入库信息、修改本用户密 码。 数据处理名称:借出管理 标志符:p3 处理定义:借出当前库内商品 激发条件:输入商品号并查询当前库 输入:商品号 输出:商品信息及借出登记 数据处理名称:入库管理 标志符:p4 处理定义:添加当前库内商品 激发条件:商品编号 输入:商品编号或借出单号 输出:原始商品信息及当前商品信息 数据处理名称:信息安全 标志符:p2 处理定义:数据检测、人员权限区分、事件记录、数据警告 激发条件:检查信息安全 输入:检测项目 输出:待检测项目结果 名称:出库信息管理 描述:由仓库管理员将出库信息输入到出库信息管理系统中存 储 输入:出库信息 输出:出库信息表 数据结构:货物名称+货物号+数量+出库时间 名称:库存信息管理 描述:入库信息和出库信息共同存入库存信息管理系统 输入:入库信息+出库信息 输出:库存信息表 数据结构:货物名称+货物号+数量 仓库管理系统的设计与开发 第 11 页 共 71 页 2.2.5 安全性、完整性需求 (1) 数据精确度 系统处理的数据精确度是系统的重要性能之一。在系统设计和开发过程中,要充 分考虑系统当前和将来可能承受的工作量,使系统的处理数据的精确度能够满足企业 对信息处理的需求。 (2) 时间特性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充 分考虑系统的运行所需时间、处理时间和故障间断时间。数据对本系统是十分重要的。 所以要求在进行系统设计时充分考虑系统发生故障的概率和恢复时间,并进行必要的 防范。 (3) 适应性 在信息时代,面对各种各样的操作系统是十分正常的。所以要求在通用环境下, 系统可正常工作,在unlix、liux也可以正常工作。 (4) 系统的开放性和可扩展性 在实际的使用过程中,难免会出现一些问题。这就要求系统有可扩展性,能进行 程序的修补工作。同时要求系统可自动备份当前数据。 (5) 数据的完整性、准确性及安全性 拥有用户、密码模块管理用户权限。 可根据各种条件进行查询。 相应的数据项检测功能 仓库管理系统的设计与开发 第 12 页 共 71 页 3 设计原理与主要技术 3.1 项目设计的基本原理 软件工程的基本原理包括七条,如下所述: (1) 用分阶段的生命周期计划严格管理。即把软件生命周期划分成若干个阶段, 并相应地制定出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管 理。 (2) 坚持进行阶段评审。即在每个阶段都进行严格的评审,以便尽早发现在软件 开发过程中所犯的错误,是一条必须遵循的重要原则。 (3) 实行严格的产品控制。在软件开发过程中不应随意改变需求,因为改变一项 需求往往需要付出较高的代价。但是,在开发的过程中改变需求又是难免的,为了保 持软件各个配置成分的一致性,必须实行严格的产品控制,其中主要是实行基准配置 管理,绝对不能谁想修改软件就随意进行修改。 (4) 采用现代程序设计技术。采用先进的技术不仅可以提高软件开发和维护的效 率,而且可以提高软件产品的质量。 (5) 结果应能清楚地审查。软件产品不同于一般的物理产品,它是看不见摸不着 的逻辑产品。为了提高软件开发过程的可见性,更好地进行管理,应该根据软件开发 项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使所得到的结果能 够清楚地审查。 (6) 开发小组的人员应该少而精。开发小组人员的素质和数量是影响软件产品质 量和开发效率的重要因素,因此,开发小组的人员应该少而精。 (7) 承认不断改进软件实践的必要性。所以在软件开发过程中应该考虑到创新原 则,体现先进性、超前性,同时应考虑软件的使用性。 这七条原理是确保本次软件开发产品开发质量和开发效率的原理的最小集合,这 七条原理是互相独立的,其中任意六条原理的组合都不能代替另一条原理,因此,它 们是缺一不可不最小集合。 仓库管理系统的设计与开发 第 13 页 共 71 页 3.2 设计方法与技术 3.2.1 项目设计采用的主要方法 本系统的设计是采用面向对象方法学进行的。与传统方法相反,面向对象方法把 数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结 合起来的方法。 概括地说,面向对象方法学具有下述 4 个要点。 (1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。 面向对象程序是由对象组成的,程序中任何元素都是对象,复杂对象由比较简单的对 象组合而成。也就是说,用对象分解取代了传统方法的功能分解。 (2)把所有对象都划分成类(class) 。每个类都定义了一组数据和一组操作,类 是对具有相同数据和相同操作的一组相似对象的定义。数据用于表示对象的静态属性, 是对象的状态信息,而施加于数据之上的操作用于实现对象的动态行为。 (3)按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类 组成一个层次结构的系统(也称为类等级) 。在类等级中,下层派生类自动拥有上层基 类中定义的数据和操作,这种现象称为继承。 (4)对象彼此间仅能通过发送消息互相联系。对象与传统数据有本质区别,它不 是被动地等待外界对它施加操作,相反,它是数据处理的主体,必须向它发消息请求 它执行它的某个操作以处理它的数据,而不能从外界直接对它的数据进行处理。也就 是说,对象的所有私有信息都被封装在该对象内,不能从外界直接访问,这就是通常 所说的封装性。 面向对象方法学的出发点和基本原则,是尽量模拟人类习惯的思维方式,使开发 软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,从而使描述问题 的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能 一致。 3.2.2 项目设计采用的主要技术 本系统主要利用 visual basic 作前端的应用开发工具 ,利用 sql server2000 作为 后台的数据库,利用 windows xp 作为系统平台。 仓库管理系统的设计与开发 第 14 页 共 71 页 windows xp 以其友好的图形界面、易学易用的操作方法、强大的多任务功能、健 全的内在管理以及先进的程序设计方法为广大数据库软件开发人员所熟悉。对它的操 作环境的熟悉,使得我们在其上开发数据库应用程序更加方便、可靠。 (1) visual basic 语言 visual basic 是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设 计,可用于开发 windows 环境下的种类应用程序。它简单易学、效率高,且功能强大, 可以与 windows 的专业开发工具 sdk 相媲美,而且程序开发人员不必具有 c/c+编 程基础。在 visual basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工 具,使用 windows 内部的应用程序接口(api)函数,以及动态链接库(dll)、动态数据 交换(dde)、对象的链接与嵌入(ole)、开放式数据访问(odbc)等技术,可以高效、快 速地开发出 windows 环境下功能强大、图形界面丰富的应用软件系统。 总的来说,visual basic 具有以下特点: 可视化编程: 用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设 计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的 效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多 次,大大影响了软件开发效率。visual basic 提供了可视化设计工具,把 windows 界面 设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要 按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件” ,即图形对象, 并设置这些图形对象的属性。visual basic 自动产生界面设计代码,程序设计人员只需 要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。 面向对象的程序设计 4.0 版以后的 visual basic 支持面向对象的程序设计,但它与一般的面向对象的程 序设计语言(c+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和 数据组成,是抽象的概念;而 visual basic 则是应用面向对象的程序设计方法(oop), 把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实 在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画 在界面上,visual basic 自动生成对象的程序代码并封装起来。每个对象以图形方式显 仓库管理系统的设计与开发 第 15 页 共 71 页 示在界面上,都是可视的。 结构化程序设计语言 visual basic 是在 basic 语言的基础上发展起来的,具有高级程序设计语言的语句 结构,接近于自然语言和人类的逻辑思维方式。visual basic 语句简单易懂,其编辑器 支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和 编译器1。 visual basic 是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成 计算机可以识别的机器指令,并判断每个语句的语法错误。在设计 visual basic 程序的 过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件 (.exe),脱离 visual basic 环境,直接在 windows 环境下运行2。 事件驱动编程机制 visual basic 通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事 件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时, 将产生一个“单击“(click)事件,而在产生该事件时将执行一段程序,用来实现指定 的操作3。 在用 visual basic 设计大型应用软件时,不必建立具有明显开始和结束的程序,而 是编写若干个微小的子程序,即过程4。这些过程分别面向不同的对象,由用户操作引 发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指 定的操作,这样可以方便编程人员,提高效率5。 访问数据库 visual basic 提供开放式数据连接,即 odbc 功能,可通过直接访问或建立连接的 方式使用并操作后台大型网络数据库,如 sql server,oracle 等6。在应用程序中,可 以使用结构化查询语言 sql 数据标准,直接访问服务器上的数据库,并提供了简单的 面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的 sql 的编程技 术,为单机上运行的数据库提供了 sql 网络接口,以便在分布式环境中快速而有效地 实现客户/服务器(client/server)方案。 (2) 数据库技术 数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成 仓库管理系统的设计与开发 第 16 页 共 71 页 为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信 息系统也成为一个企业或组织生存和发慌的重要条件。因此,作为信息系统核心和基 础的数据库技术得到越来越广泛的应用,从小型单项事务处理到大型信息系统,从联 机事务处理到联机分析处理,从一般企业管理到计算辅助设计与制造(cad/cam) 、计 算机集成制造系统(cims) 、办公信息系统(ois) 、地理信息系统(gis)等,越来越 多新的应用领域采用数据库存储和处理他们的信息资源。对于一个国家来说,数据为 的建设规模、数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要 标志 数据库技术是应数据管理任务的需要而产生的。数据的处理是指对各种数据进行 收集、存储、加工和传播的一系列活动的总和。数据管理则是指对数据进行分类、组 织、编码、存储、检索和维护,它是数据处理的中心问题。 目前流行和成熟的数据库技术为关系数据库系统。关系数据库系统是用一种称为 “关系”的表来组织数据的。而在背后,是一个很复杂的数据结构,以保证对各种查 询的快速响应。但与以前的数据库系统不同,关系数据库系统的用户并不关心数据库 系统的存储结构,而是使查询能用很高级的语言(sql)来实现,从而大大提高了数 据库开发人员的效率。 dbms 一般采用关系型(本人所使用的 ms sql server 就是关系型的 dbms) , 因此数据库的逻辑设计过程就是把 er 图转化为关系模式的过程。由于关系模型所具 有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。 设计结果是一组关系模式的定义。 sql(structured query language,结构查询语言)是一个功能强大的数据库语言。 sql 通常使用于数据库的通讯。ansi(美国国家标准学会)声称,sql 是关系数据库 管理系统的标准语言。sql 语句通常用于完成一些数据库的操作任务,比如在数据库 中更新数据,或者从数据库中检索数据。使用 sql 的常见关系数据库管理系统有: oracle、 sybase、 microsoft sql server、 access、 ingres 等等。虽然绝大多数的数 据库系统使用 sql,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。 但是,标准的 sql 命令,比如“select“、 “insert“、 “update“、 “delete“、 “create“和 “drop“常常被用于完成绝大多数数据库的操作。ms sql server 就是用的 transact- 仓库管理系统的设计与开发 第 17 页 共 71 页 sql。 sql 语言有着非常突出的优点,主要是: 非过程化语言:sql 是一个非过程化的语言,因为它一次处理一个记录,对数 据提供自动导航。sql 允许用户在高层的数据结构上工作,而不对单个记录进行操作, 可操作记录集,所有 sql 语句接受集合作为输入,返回集合作为输出。sql 的集合特 性允许一条 sql 语句的结果作为另一条 sql 语句的输入。 sql 不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到 的结果;所有 sql 语句使用查询优化器,它是 rdbms 的一部分,由它决定对指定数 据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而 用户则从不需要知道表是否有索引、有什么类型的索引7。 统一的语言:sql 可用于所有用户的 db 活动模型,包括系统管理员、数据库 管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。 sql 为许多任务提供了命令,其中包括:查询数据;在表中插入、修改和删除记 录;建立、修改和删除数据对象;控制对数据和数据对象的存取;保证数据库一致性 和完整性。 以前的数据库管理系统为上述各类操作提供单独的语言,而 sql 将全部任务统一 在一种语言中。 是所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持 sql 语言,用户可将使用 sql 的技能从一个 rdbms(关系数据库管理系统)转到另一 个,所有用 sql 编写的程序都是可以移植的8。 仓库管理系统的设计与开发 第 18 页 共 71 页 4 总体设计 4.1 总体设计原理 在需求规格说明书中我们阐述了有关本系统的规格和部分性能指标。在本次总体 设计说明书中,我们将重点研究系统的处理流程、接口设计、数据结构等和本系统相 关的软硬件。为下一步系统的详细设计指明方向。 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。因为程 序的错误通常局限在有关的模块及它们之间的接口中,所以模块化使软件容易测试和 调试。应而有助于提高系统的可靠性。并且模块化还能够提高软件的可修改性,也有 助于软件开发工程的组织管理。因此,在进行软件结构设计时应该遵循的最主要的原 理就是模块化独立原理9。 其中,对相关术语定义如下: 前端管理员:负责与用户直接沟通,对数据库无实际管理权。可对数据库管理员 的数据更改加以审核。 数据库管理员:不和用户直接沟通,对数据库有实际管理权。负责审核前端管理 员的数据更改请求。 一级身份: 普通用户身份,不可进行数据库操作。 二级身份: 管理员身份,可对数据库进行操作。 互制性: 前端管理员和数据库管理员互相审核对方的申请。一方否决,申请即失 败10。 4.2 系统功能模块设计 4.2.1 系统需要实现的功能 主要如下:“基本信息管理” 、 “库存操作管理” 、 “统计查询管理” 、 “用户登录管 理”模块。其中前三部分模块是整个系统的核心。系统的功能模块图如下图所示: 仓库管理系统的设计与开发 第 19 页 共 71 页 图 4.1 功能模块图 4.2.2 功能实现 (1) 基本信息管理功能: 基本信息包括供货商信息、客户商信息和用户信息。在产品采购和入库时,需要 提供供应商的信息;在出库时,需要客户商的信息。管理员是指对系统操作的人员。 供应商信息包括供应商编号、供应商名称、供应商电话、供应商地址、供应商 邮编。 管理员信息包括管理员编号、管理员名、管理员密码。 购货商信息包括购货商编号、购货商名称、需求货物号、需求数量。 (2) 库存操作管理功能: 货物仓库管理系统 基本信息管理 库存操作管理 供货商信息管理 入库操作管理 出库操作管理 库存盘点管理 产品入库统计表 产品出库统计 管理员信息管理 统计查询管理 购货商信息管理 仓库管理系统的设计与开发 第 20 页 共 71 页 库存操作包括由仓库管理员执行,就是把产品放入仓库或把产品从仓库中取出的 操作,即入库和出库。库存操作管理模块可以实现以下功能: 入库操作:入库操作主要是采购入库,采购入库指将从供应商处采购的产品入 库,入库操作需要记录相关的货物号、入库时间、供货商信息、入库数量、经办人等 信息。 出库操作:出库操作主要指用料出库,用料出库指本企业部门由于需求从仓库 提出货物到生产线,出库操作需要记录相关的货物号、购货商、出库时间、经办人、 出库数量等信息。 库存盘点:库存盘点是指对库存产品进行整理,纠正不准确的库存数据。由于 人为操作等原因,系统中的库存数据与实际数据之间可能会存在误差。所以每隔一段 时间就需要对库存进行盘点,从而保证库存数据的准确性。 (3) 统计查询管理功能: 统计查询管理模块可以对库存产品进行各种类型的统计和查询,从而使用户能 够全面地了解库存状况。 统计查询管理模块可以实现以下功能: 产品入库统计; 产品出库统计。 仓库管理系统的设计与开发 第 21 页 共 71 页 4.3 系统流程图 供货商 显示相关信息 入库单 查询 入库 单信 息 入库单确认 入库单未确认 入库 更新库 内信息 记录错 误信息 入库信息录入 返回错误信息 图 4.2 入库流程图 显示相 关信息 出库单 查询出库 单信息 出库单确认出库 更新库 内信息 出库单未确认记录错 误信息 返回错误信息 图 4.3 出库流程图 购货商 出库信息录入 仓库管理系统的设计与开发 第 22 页 共 71 页 4.4 软硬件环境 4.4.1 硬件环境 机器配置:cpu:pentiumii 或更高, 内存 64m 以上,硬盘:500m 以上 显示器:vga 或更高 4.4.2 软件环境 操作系统: windows 98/windows 2000/windows xp 数据库类型 :sql server 2000 开发平台:visual basic 7.0 /power designer 4.5 运行设计 4.5.1 运行模块的设计 在一级身份时,用户只可运行身份验证系统和用户管理系统。安全系统随即启动。 安全日志进入写状态。 在二级身份时,系统的所有子系统开始运行,安全系统随即启动。安全日志进入 读写状态。 4.5.2 运行控制 在一级身份登录时,二级身份用户可进行必要的操作以阻止合法用户的非法操作。 在二级身份修改数据时,必须由其他二级身份(数据库管理员或前端管理员)审 核。 在违反系统的安全子系统时,系统自动采取必要的安全措施以保护当前数据的安 全。 4.5.3 运行时间 严格执行各级身份访问系统的时间。在非法时间的访问均进入日志记录。在非法时 间内,管理员可凭身份验证系统进入。但实时权限受到限制,不可进行数据的拷贝。 仓库管理系统的设计与开发 第 23 页 共 71 页 4.6 出错处理 4.6.1 出错输出信息 当出现系统错误时,自动记录。数据库错误由 datawindow 截获,使用通用的 错误显示控件显示错误信息,常见的错误经处理显示中文,不常见的错误显示数据库 系统本身的错误。pb 端数据校验产生的错误应当显示中文提示11。 4.6.2 出错处理对策 当错误出现时,系统应当自动备份当前数据并记录当前系统得状态,包括:系统的 进程和系统的病毒记录。同时实时向管理部门发送错误信息。 仓库管理系统的设计与开发 第 24 页 共 71 页 5 详细设计 5.1 数据库的概念设计 5.1.1 数据抽象 根据对数据流图和数据字典的分析,确定该应用中的实体、属性和实体之间的联 系,并画出下图所示的 e-r 图。 1 m n 1 p p p 1 1 1 1 m 图 5.1 e-r 图 此 e-r 图的实体属性以在下面具体介绍,所以此图只给出联系的属性。 本系统数据库的概念设计方法是使用实体联系(er 图) ,通过 er 图对本系统 的数据存储进行分析,得到:读者、借书证、罚款单、图书 、管理员五个实体。 各实体及其属于性如下图所示: 库存 购货商 货物 供应商 供应 出库 入库 管理员 操作 仓库管理系统的设计与开发 第 25 页 共 71 页 图 5.2 读者实体 图 5.3 图书实体 供货商 供货商编号供货商名称 供货商电话 供应商地址供应商邮编 货物 货物号 货物名称 货物价格货物数量 入库时间 供货商编号 出库时间 购货商编号 仓库管理系统的设计与开发 第 26 页 共 71 页 购货商编号 需求数量 现有库存 库存数量管理员编号库存货物号 图 5.4 管理员实体 图 5.5 借书证实体 购货商 购货商名称 需求货物号 仓库管理系统的设计与开发 第 27 页 共 71 页 5.1.2 系统概念数据模型(cdm) 人 人 人 人 人 入库货物号 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 i d va10 a6 va10 identifier_1 人 人 人 供应商编号 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 va10 va50 va30 va50 va30 identifier_1 人 人 人 管理员编号 人 人 人 人 人 人 人 人 人 va10 va10 va6 identifier_1 人 人 人 库存货物号 人 人 人 人 人 人 人 人 人 va10 a6 va10 identifier_1 人 人 人 人 人 货物号 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 va10 dc15,2 va50 d va10 a6 va10 identifier_1 人 人 人 人 人 出库货物号 出库时间 人 人 人 人 人 人 人 人 人 人 人 人 va10 d va10 a6 va10 identifier_1 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 va10 va50 va10 a6 图 5.6 货物仓库管理系统(cdm) 仓库管理系统的设计与开发 第 28 页 共 71 页 5.1.3 系统物理数据模型(pdm) 人 人 人 供应商编号 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 varchar(10) varchar(50) varchar(30) varchar(50) varchar(30) 人 人 人 管理员编号 人 人 人 人 人 人 人 人 人 人 人 人 人 人 varchar(10) varchar(10) varchar(10) varchar(6) 人 人 人 库存货物号 人 人 人 人 人 人 人 人 人 varchar(10) char(6) varchar(10) 人 人 人 人 人 货物号 人 人 人 人 人 2 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 varchar(10) varchar(10) varchar(10) decimal(15,2) varchar(50) datetime varchar(10) char(6) varchar(10) 人 人 人 人 人 出库货物号 出库时间 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 varchar(10) datetime varchar(10) varchar(10) char(6) varchar(10) 人 人 人 人 人 入库货物号 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 int varchar(10) datetime varchar(10) char(6) varchar(10) 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 人 varchar(10) varchar(50) varchar(10) char(6) 图 5.7 货物仓库管理系统(pdm) 5.2 程序描述 5.2.1 身份验证系统 (1) 功能: 用于检验用户的身份,并赋予相应的权限。 (2) 性能: 要求实时调用数据库并高效的核对身份文件及密码。 仓库管理系统的设计与开发 第 29 页 共 71 页 (3) 输入项目: 用户名+密码 (4) 输出项目: 进入系统 or 密码错误 (5) 接口: 采用人机交互式模式 (6) 存储分配: 采用专用的用户信息表,并采取一定的保护措施。 (7) 限制条件: 错误登录次数不可大于 5 次。 5.2.2 入库系统 (1) 功能: 用于向现有库中添加商品 (2) 性能: 要求实时调用数据库并高效的核对入库单及相关数据。 (3) 输入项目: 入库单号+商品编号+数量+单价+供货人号+时间 (4) 输出项目: 商品入库成功 or 商品入库失败 (5) 接口: 采用人机交互式模式 (6) 存储分配: 采用专用的商品信息表,并采取一定的保护措施。 (7) 限制条件: 检测入库单号、商品编号以及数量等信息。错误次数不得超出最大设定值。 5.2.3 出库系统 (1) 功能: 删除现有库内商品 仓库管理系统的设计与开发 第 30 页 共 71 页 (2) 性能: 要求实时调用数据库并高效的核对出库单及相关数据。 (3) 输入项目: 出库单号+商品编号+数量+单价+时间 (4) 输出项目: 商品出库成

温馨提示

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

评论

0/150

提交评论