885191326商品进销存管理系统设计论文数据库设计论文

上传人:仙*** 文档编号:28509121 上传时间:2021-08-29 格式:DOC 页数:60 大小:1.05MB
返回 下载 相关 举报
885191326商品进销存管理系统设计论文数据库设计论文_第1页
第1页 / 共60页
885191326商品进销存管理系统设计论文数据库设计论文_第2页
第2页 / 共60页
885191326商品进销存管理系统设计论文数据库设计论文_第3页
第3页 / 共60页
点击查看更多>>
资源描述
数据库设计论文 商品进销存管理系统 2010 年 1 月 10 日 摘 要 进销存管理系统能够及时将数据快速转化为企业信息,为管理者提供决策 依据。本系统对企业中常见的采购、库存、销售等商业活动以及相关的供应商 和客户等基本信息进行管理,自动生成采购入库单、出库单,定期盘点库存, 查询历史采购和销售记录;维护产品信息、客户信息和供应商信息等。系统设 计不具体对某一个行业或企业,具有一定的普适性。 系统开发的总体任务是实现各种信息的系统化、规范化、自动化。以进、 销、存管理为基本要求,主要功能包括:用户名和密码的管理、基本信息的输 入和修改、进货信息的管理、销售信息的管理、库存信息的管理、财务信息的 管理。设计的模块主要是实现用户名和密码的管理、基本信息的输入和修改、 进货信息的管理。 关键词:商业信息管理,数据库,SQLSever2000,Visual Basic Abstract There are some still common characteristics and questions among the retailers and chain stores in selling medium and small-scale in batches .In order to solve there problems ,we have designed the system of goods inlet ,sale and stored .This system is a multi-layer database system ,which use VB as the front developing instrument ,SQLSever2000 as backstage supporters database operating platform and ODBC to connect and visit the database. The overall task of this system developed is to put different information systemazations ,standardzation ,automazation into reality .The basic demand includes enter commodity ,sell commodity and store commodity .The management of user name and passwords input ,the basic information of input and modification ,the management of stocking information . Keywords: Business information management, Database, SQLSever2000, Visual Basic 目 录 第一章 绪论 .6 1.1 研究背景 .6 1.1.1 管理信息系统的发展历史 .6 1.1.2 国内管理信息系统发展现状 .7 1.2 开发工具简介 .7 1.2.1 Visual basic 简介 .7 1.2.2 ADO 数据库访问技术 .7 1.2.3 SQL Server 2000 .9 1.3 可行性研究 .9 1.3.1 技术可行性 .9 1.3.2 经济可行性 .10 第二章 系统的需求分析 .11 2.1 需求分析的目标 .11 2.2 需求分析的原则 .11 2.3 需求分析的一般步骤 .11 2.4 系统业务流程分析 .12 2.4.1 业务流程图使用的基本符号 .12 2.4.2 进销存管理业务流程图 .13 2.5 系统数据流图分析 .13 2.5.1 数据流程图图形符号 .13 2.6 系统功能的提出 .14 2.7 数据字典 .14 第三章 数据库设计 .16 3.1 数据库设计概述 .16 3.1.1 数据库设计的一般性原则 .16 3.1.2 数据库设计的步骤 .16 3.2 数据库概念结构设计 .17 3.2.1 概念模型 .17 3.2.2 E-R 图 .17 3.2.3 系统 E-R 图设计 .18 4 3.3 数据库与逻辑结构设计 .18 3.4 数据表结构清单 .18 3.4.1 Product 数据表结构 .19 3.4.2Supplier 数据表结构 .19 3.4.3 Customer 数据表结构 .20 3.4.4 Users 数据表结构 .20 3.4.5 Purchase 数据表结构 .21 3.4.6 Sale 数据表结构 .21 3.5 各数据表的关系 .22 第四章 系统详细设计 .23 4.1 系统功能设计 .23 4.2 系统的实现 .26 4.3 创建系统窗口 .27 4.3.1 创建登陆窗口 .27 4.3.2 创建系统主窗口 .29 4.3.3 创建菜单栏 .30 4.3.4 创建工具栏 .30 4.3.5 创建状态栏 .31 4.3.7 创建销售单 .36 4.3.9 创建产品管理窗口 .39 4.3.10 创建库存查询窗口 .42 4.3.11 创建采购查询窗口 .44 4.3.12 创建销售查询窗口 .46 4.3.13 创建供应商管理窗口 .47 4.3.14 创建客户管理窗口 .50 4.3.15 创建密码设置窗口 .52 4.3.16 创建关于窗口 .55 4.3.17 实现退出功能 .56 4.4 系统的改进与扩展 .57 第五章 结束语 .58 5.1 课题工作总结 .58 5.2 本系统在今后要完善的工作 .58 5.3 心得体会 .58 参考文献: .60 第一章 绪论 第一章 绪论 1.1 研究背景 1.1.1 管理信息系统的发展历史 管理信息系统的概念起源很早。早在 20 实际 30 年代,柏德就强调了决策 在组织中的作用。50 年代,西蒙提出了依赖信息和决策的管理概念、维纳发表 了控制论和管理的论述,以及与此同时计算机技术的飞速发展,为管理信息系 统的出现奠定了理论和技术基础。 管理信息系统的应用、发展是与计算机技术、通信技术和管理技术的应用、 发展紧密相关的。特别是随着计算机技术、信息技术的飞速发展,管理信息系 统也得到了飞跃。其发展过程大致分为如下 3 个阶段: (1)电子数据处理系统(Electronic Date Processing System,EDPS) 电子数据处理系统是数据处理的计算机化。通过计算机的高速运算和处理 提高数据处理效率。这是管理信息系统的雏形。 (2)管理信息系统(Management Information System,MIS) 计算机技术、数据库技术、网络通信技术与现代化管理技术相结合,产生 了管理信息系统,20 世纪 70 年代以来管理信息系统逐渐发展、成熟起来,表 现出高度集中、定量化科学管理两大特点。 (3)决策支持系统(Decision Support Systems,DSS) 早期的 MIS 只能提供大量的报告,其中真正对用户有用的信息很少。决策 支持系统,即通过人及交互的方式帮助决策者找到可能的答案,为管理者决策 提供必要的信息。 随着计算机技术、信息处理技术、管理技术的更新和发展,以及 MIS 和 DSS 自身的理论发展,MIS 和 DSS 又有了新的变化。总之,随着技术发展和理论 的更新,管理信息系统在未来将会有更大的进步和发展。 6 1.1.2 国内管理信息系统发展现状 企业是国民经济的基本单元,企业信息系统建设是我国企业走向现代化的必由之路。 我国目前共有各类企业 800 万家,这些企业在近 20 年来,在不同程度上都遇到了企业信息 系统的建设问题。80 年代以来,国家有关部门就一直非常重视企业信息化的推进。国家有 关部门曾重点扶持过一批国有大企业的信息化工程,并以他们为样板在全国制造业企业中 推广过 CIMS。 90 年代后,随着微型计算机、互联网等的迅速普及,计算机技术对企业的 影响越来越大,企业信息化进一步为人们所重视。1995 年以后,我国企业信息化走向了以 MIS 为主的道路,许多的人事信息管理系统被广大的企业所采用。在每一个大型的企业中 都有自己的人事信息管理系统。因为随着企业员工的不断增长,信息管理的复杂度也在明 显的增加,一些调查说明,在很多的企业在使用管理信息系统软件后,人事管理工作变得 比较简单,只要对相应的管理人员进行一些简单的培训都能实现这种操作。 1.2 开发工具简介 1.2.1 Visual basic 简介 Visual basic 是一种可视化的、面向对象和采用事件驱动方式的高级语言 程序设计工具,可用于开发 Windows 环境下的各类应用程序。它简单易学、效 率高,且功能强大。在 Visual Basic 环境下,利用事件驱动的编程机制、新颖 易学的可视化设计工具,使用 Windows 内部的应用程序接口(API)函数,以及 动态链接库(DLL) 、动态数据交换(DDE) 、对象的链接与嵌入(OLE) 、开发式 数据访问(ODBC)等技术,可以高效、快速地开发 Windows 环境下功能强大、 图形界面丰富的应用软件系统。 1.2.2 ADO 数据库访问技术 Visual Basic 使用的数据访问技术的示意图如下图所示。 7 数据 A c t i v e . e x e . D L L 数 据 源 窗体 D H T M L 报表 编码 数据访问 A D O 、 R D O 、 D A O 中间层 远端 M i c r o s o f t 可视化 数据工具 M i c r o s o f t T r a n s a c t i o n S e r v e r D C O M 远端 A D D 数据集 远端 U D T s 数据绑定 类模块 用户控件 数据环境 A D O R e c o d s e r t 对象 A D O D a t a 控件 图 1.1 数据库访问示意图。 ADO 数据模型提供执行以下操作的方法: (1)连接到数据源; (2)指定访问数据源的命令,同时可带变量参数或优化执行。通常涉及 ADO 的 Command 对象; (3)执行命令,例如一个 SELECT 脚本; (4)如果这个命令使数据按表中行的形式返回(例如 SELECT 命令),则将 这些行存储在易于检查、操作或更改的缓存中; (5)适当情况下,可以把行的更改内容写在数据库中,更新数据源; (6)提供常规方法检测错误(错误通常由建立连接或执行命令造成) ,涉 及 ADO 的 Error 对象。 ADO 编程模型由以下 8 个对象组成:连接对象,命令对象,参数对象,记 录集对象,字段对象,错误对象,属性对象和集合对象。 ADO 提供“集合” ,这是一种可方便地包含其他特殊类型对象的对象类型。 使用集合方法可按名称(文本字符串)或序号(整形数)对集合中的对象进行 检索。他主要提供 4 种类型的集合; (1)Connection 对象具有 Error 集合,包含为响应与数据源有关的单一 错误而创建的所有 Errors 对象; 8 (2)Command 对象具有 Parameters 集合,包含应用于 Command 对象的所 有 Parameter 对象; (3)Record set 对象具有 Fields 集合,包含所有定义 Record set 对象 系列的 Field 对象; (4)此外,Connection、Command、Record set 和 Field 对象都具有 Properties 集合。它包含所有属于各个包含对象的 Property 对象。 1.2.3 SQL Server 2000 SQL Server 2000 系统是一个先进的面向新世纪的关系型数据库管理系统, 它引入了大量先进的数据库技术,代表了未来数据库技术的发展趋势,可以为 各种用户提供完整的数据库应用解决方案。除了其关系型系统的内核之外,它 的分布式查询处理、强大的触发器功能、方便的数据发布等特点,使它充满着 未来数据库技术的气息。 SQL Server 2000 的特点如下: (1) 、易用性,它拥有微软产品的一贯特性,简单易用。 (2) 、可伸缩性,它使用的是动态数据库,当用户的数据超过原先申请的 大小时,数据库文件可自动扩大,直到占满整个磁盘空间。 (3) 、集成性,它已经与 Windows 2000 以上的操作系统紧密结合,能够提 供更加有效的安全性。 1.3 可行性研究 1.3.1 技术可行性 本系统所采用的软硬件平台具体要求如下: 硬件:处理器:英特尔 赛扬 D325 主板:双敏 UP4PEN Pro。 显卡、声卡:盈通 CF4MX4000,内存:256 MB DDR333 硬盘:ST40G/7200, 鼠标、键盘:三联光电套, 显示器:三星 788DF 9 软件:Microsoft SQL server 2000,Microsoft Visual Basic 6.0 Microsoft Windows 2000 professional,采用 Visual Basic 作为 开发工具。 在现有的技术条件下,软件开发人员能够熟练地使用上述开发工具进行系 统的研究与设计,并使之投入使用。技术上完全可行。 1.3.2 经济可行性 系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配 置电脑、服务器、打印机、传真机及相关网络设备,但是在整个系统投入运行 之后,因为现在计算机已经普及了,相关人员培训费可以减少很多,而同时又 减少了数据的流通环节,提高了工作效率,保证了各项数据的准确性,避免了 工作人员的流动造成的收据丢失等问题。因此,从长远的收益来看,经济上完 全可行。 基于以上分析,系统实现是可行的。 第二章 系统的需求分析 第二章 系统的需求分析 2.1 需求分析的目标 需求分析的目标:按照系统规划原则在业务系统项目范围内,具体明确系 统开发的目标和用户的信息要求。通过对现行系统的管理水平、原始数据的精 确程度、规章制度是否齐全和切实可行、各级领导对开发新的管理系统是否有 比较清楚地认识和积极的态度、部门级别中是否能够抽调出比较精通本行业管 理业务并且对本单位存在问题有深刻理解的相关人员等内容的详细调查,从而 获得软件开发的基础,确定总体设计的限制条件,确认软件测试的具体要求, 定义详细的功能模块,以求达到协助系统开发的根本目的。 2.2 需求分析的原则 需求分析的基本原则是: (1)需要能够表达和理解问题的信息域和功能域; (2)要能以层次化的方式对问题进行分解和不断细化; (3)要给出系统的逻辑视图和物理视图。 2.3 需求分析的一般步骤 需求分析分为问题分析,需求描述,需求评审等几个步骤。 首先进行问题分析。在该阶段,分析人员通过对问题以及环境的理解、分 析和综合,清除用户需求的模糊性、歧义性和不一致性,并在用户的帮助下对 互相冲突的要求进行折中,并为原始问题及其软件解建立模型。它是形成需求 规格说明、进行软件设计与实现的主要基础,例如面向数据流的分析方法、面 向对象的分析方法以及面向数据的分析方法都属于需求建模方法。接着进入需 求描述阶段,以需求模型为基础,考虑到问题的软件可解性,生成规格说明和 初步的用户手册。 总结需求分析的步骤为: (1)通过对现实化境的调查研究,获得当前系统的具体模型; 11 (2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型; (3)分析当前系统与目标系统的差别、建立了目标的逻辑模型; (4)对目标进行完善和补充,并写出完整的需求说明; (5)对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。 在本系统中需求分析的基本上步骤也是按照以上三个阶段进行的。在任何 的需求分析的一般步骤都必须遵守以上的步骤。 2.4 系统业务流程分析 2.4.1 业务流程图使用的基本符号 业务流程图的符号如下图所示。 (1)业务处理的部门或单位。它表达了某项业务参与的人或物。 (2)数据存储或文档,也是一种数据的载体,但这个数据是作为档案来保存的。 (3)业务数据流动及方向,它表达了业务数据的流动方向,这个方向用双箭头 表示。 (4)各类文档、数据,它表明了数据的载体。 (5)业务功能描述,表明了业务处理功能,一般用一个简单的祈使句表示。 业务处理单位 存档 业务数据流动 文档、数据 业务功能描述 或部门 及方向 图 2.1 业务流程图使用的符号 12 2.4.2 进销存管理业务流程图 开始 数据期初设置 及预警设置 订货单 销售开单 入库登记 入库 红冲 进货 退货 销售 红冲 销售 退货 应付款 应收款 营业日 终结算 终合查询 结束 进销存信息系统流程图 2.5 系统数据流图分析 2.5.1 数据流程图图形符号 在数据流程图所涉及到的一个主要符号用以下的图来表示。数据来源和数 据输出都可以用圆形表示。在本系统中主要是用的圆形。 13 P 0 数据处理 数据存储 S 1 E 1 数据来源 F 1 输入数据流 E 2 数据输出 F 2 输出数据流 图 2.6 数据流图相关符号表示 2.6 系统功能的提出 根据详细的需求分析,明确系统的功能如下: (1)员工基本信息管理:主要完成职工基本信息的管理,如员工基本信息的添 加、修改、删除和查询; (2)员工考勤信息的管理:主要完成职工考勤信息的管理。管理员工基本信息 的考勤添加、修改、删除和考勤信息的查询; (3)员工评价信息管理:主要完成员工评价信息的管理,管理员工基本工作信 息的添加好、修改和查询; (4)员工工资信息管理:主要完成员工工资信息的管理,主要是进行员工工资 信息的添加、修改、删除和查询; (5)数据库管理部分:主要完成数据库的管理与维护; (6)系统管理部分:主要是完成用户的添加、密码信息的修改等。 2.7 数据字典 数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后 所获得的主要成果。 数据字典通常包括一下 5 个部分: (1)数据项。数据项是不可再分的数据单位。 (2)数据结构。数据结构反映了数据之间的组合关系。一个数据结构可以 由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数 据结构混合组成。 14 (3)数据流。数据流是数据结构在系统你传输的路径。 (4)数据存储。数据存储是数据及其结构停留或保存的地方,也是数据流 的来源和去向之一。 (5)处理过程。处理过程的具体处理逻辑一般用判定表或判定树来描述。 数据字典是关于数据库中数据的描述,即对元数据的描述。数据字典是在 需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。 第三章 数据库设计 第三章 数据库设计 3.1 数据库设计概述 数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中 的核心技术,具体说,数据库设计是指对于一个非定的应用环境,构造最优的 数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种 用户的应用需求。合理的数据库结构设计可以提高数据存储的效率,保证数据 的完整和一致性。另外,合理的数据库结构将非常有利于程序的实现。 3.1.1 数据库设计的一般性原则 数据库设计的一般性原则如下所示: 第一个基本原则:对于每一个要存储其信息的实体(或事物) ,我们都应 该给他一个自己的表; 第二个处理规则:如果需要在一个列里存储多个值,那证明你的设想是有 缺陷的。 简单的数据关系:一对一;一对多;多对一;多对多。 在数据库的设计中,要做到数据规范化、完整性、数据冗余和规范实例化。 3.1.2 数据库设计的步骤 数据库设计分五个阶段: (1)规划; (2)需求分析; (3)概念结构设计; (4)逻辑结构设计; 数据库物理设计。 16 3.2 数据库概念结构设计 数据库概念设计的目标就是要产生反映企业组织信息需求的数据库概念结构,即概念 模型。 3.2.1 概念模型 概念模型是独立于数据库逻辑结构,独立与支持数据库的 DBMS,不依赖于 计算机系统的。概念模型是表达概念设计结果的工具。它应该能够真实、充分 的反映现实世界中事物和事物直接的联系;应该简洁、明晰、独立于机器,容 易理解,方便数据库设计人员和应用人员进行交流;应该易于变动,便于修改; 应该很容易向关系、层次或网状等各种数据模型转变,方便的导出与 DBMS 有关 的逻辑模型。从而使概念模型成为现实世界到机器世界的一个过度的中间层次。 概念模型有很多模型,其中最常用的方法之一是“实体联系模型” (entity relationship model),即使用 E-R 图来描述某一组织的概念模型。 3.2.2 E-R 图 E-R 模型是指直接从现实世界中抽象出实体类型及实体间联系,是一种描 述静态数据结构的概念模型。它的主要成分是实体、联系和属性。可利用 E-R 模型进行数据库概念设计。E-R 图是直观表示概念模型的工具,在图中有四个 基本成分如图: 1、矩形框:表示实体类型(考虑问题的对象) ; 2、菱形框:表示联系类型(实体间的联系) ; 3、椭圆形框:表示实体类型和联系类型的属性; 4、直线:联系类型与涉及的实体类型之间以直线连接,并在直线上标上 联系的种类(1:1,1:N,M:N) 。 具体图示如下: 17 实体 联系属性 3.2.3 系统 E-R 图设计 商品 客户 供货商 进货 销售 条码 货号 拼音编码 拼音编码 供货商号 名称 名称 拼音编号 客户编号 P Q N M 3.3 数据库与逻辑结构设计 逻辑结构设计设计的任务是把概念结构设计阶段设计完毕的基本 E-R 图 转化为与选用的具体机器上的 DBMS 产品所支持的数据模型相符的逻辑结构 (包括数据库模式和外模式) 。这些模式在功能性、完整性和一致性约束及数据 库的可扩充性等方面应满足用户的各种需求。 E-R 图型关系模型的转化要解决的问题是如何将实体和实体间的关系转化 为关系模式,如何确定这些关系模式的属性和代码。 3.4 数据表结构清单 在这个系统中,设计了一个名为 Purchaseandsale 的数据库。根据系统功 能的需要,在其中总共设计了 6 个数据表,分别如下: 18 Product 表 用于存储产品的基本信息以及相关的库存数量; Supplier 表 用于存储供应商的基本信息; Customer 表 用于存储客户的基本信息; Users 表 用于存储系统用户的基本信息; Purchase 表 用于存储采购记录的基本信息; Sale 表 用于存储销售记录的基本信息。 3.4.1 Product 数据表结构 Product 数据表主要用于存储企业的产品或原料信息,比如物品的名称、 产地、 、规格、单位等。另外,根据销售记录和采购记录计算得出的每种商品的 库存数量也存放在 Product 数据表的库存字段中。 Product 数据表的结构如下表所示。 Product 数据表结构 字段名 数据类型 长度 是否允许为空 说明 商品名称 Nvarchar 255 否 主键,唯一标识产品记录 产地 Nvarchar 40 是 规格 Nvarchar 50 是 包装 Nvarchar 50 是 单位 Nchar 19 是 库存 Int 4 是 产品的库存量,系统计算得出,默认为 0 3.4.2Supplier 数据表结构 Supplier 数据表主要用于存储企业的供应商信息,比如供应商的编号、供 应商的名称、供应商的联系地址、联系方式、开户银行和银行账号等。 Supplier 数据表的结构如下表所示。 Supplier 数据表结构 字段名 数据类型 长度 是否允许为空 说明 供应商简称 Nvarchar 10 否 主键,唯一标识供应商记录 19 供应商全称 Nvarchar 100 是 供应商单位全称 地址 Nvarchar 100 是 邮政编码 Nchar 6 是 电话 Numeric 9 是 传真 Numeric 9 是 联系人 Nvarchar 30 是 联系人电话 Numeric 9 是 开户银行 Nvarchar 10 是 银行账号 Numeric 13 是 企业网址 Nvarchar 50 是 3.4.3 Customer 数据表结构 Customer 数据表主要用于存储企业的客户信息,比如客户编号、客户的名 称、客户的地址、联系方式、开户银行和银行账号等。 Customer 数据表的结构如下表所示: Customer 数据表结构 字段名 数据类型 长度 是否允许为空 说明 客户简称 Nvarcher 10 否 主键,唯一标识客户记录 客户全称 Nvarcher 100 是 客户单位全称 地址 Nvarcher 100 是 邮政编码 Nchar 6 是 电话 Numeric 9 是 传真 Numeric 9 是 联系人 Nvarcher 30 是 联系人电话 Nvarcher 9 是 开户银行 Nvarcher 100 是 银行账号 Numeric 13 是 企业网址 Nvarcher 50 是 20 3.4.4 Users 数据表结构 Users 数据表主要用于存储本系统的用户信息,包括用户的名称和系统登 陆密码。 Users 数据表的结构如下图所示: 字段名 数据类型 长度 是否允许为空 说明 用户 Nvarchar 10 否 主键,唯一标识系统用户 密码 nvarchar 10 是 用户密码,可以为空 3.4.5 Purchase 数据表结构 Purchase 数据表主要用于存储企业的采购信息,比如采购商品的名称、价 格、供应商编号、采购数量、采购日期、经手人等。 Purchase 数据表的结构如下表所示。 Purchase 数据表结构 字段名 数据类型 长度 是否允许为空 说明 商品名称 Nvarcher 255 否 外键,对应 Product 表中商品说 明 数量 Int 4 否 每笔采购记录必须有采购数量 进价 Money 8 否 每笔采购记录必须有采购进价 金额 Money 8 是 由数量和进价计算得出 备注 Nvarcher 220 是 供应商 Nvarcher 10 否 外键,对应 Supplier 表 日期 Smalldatetime 4 否 每笔采购记录必须有采购时间 经手人 Nvarcher 10 否 外键,对应 User 表 票号 Nvarcher 50 否 每笔采购记录必须有唯一的票号 3.4.6 Sale 数据表结构 Sale 数据表主要用于存储企业的销售信息,比如销售商品的名称、价格、 21 客户编号、销售数量、销售日期、经手人等。 Sale 数据表的结构如下表所示: Sale 数据表结构 字段名 数据类型 长度 是否允许为空 说明 商品名称 Nvarcher 255 否 外键,对应 Product 表 数量 int 4 否 每笔采购记录必须有采购数量 单价 Money 8 否 每笔采购记录必须有采购进价 金额 Money 8 是 由数量和进价计算得出 备注 Nvarcher 220 是 客户 Nvarcher 10 否 外键,对应 Customer 表 日期 smalldatetime 4 否 每笔采购必须有采购时间 经手人 Nvarcher 10 否 外键,对应 User 表 票号 Nvarcher 50 否 每笔采购记录必须有唯一的票号 3.5 各数据表的关系 实际进销存业务中的一些数据是在多个业务活动中共享的,比如采购单中 的商品必须在 Product 数据表中有相关记录,所以在本案例中也对上述的 6 个 数据表设置了对应关系。 具体关系主要表现在一下几个方面: 采购单,销售单中的经手人必须是企业中的合法员工,本案例中要求经 手人必须是在 Users 数据表中有相应的记录; 采购单、销售单中的产品必须在 Product 数据表中有相关记录。如果采 购一种新商品,必须先在 Product 数据表中增加这种商品的信息; 采购单中的供应商必须是 Supplier 数据表中有相应的记录。如果采购中 发展了新的供应商,必须先在 Supplier 数据表中增加这家供应商的信息。 销售单中的客户必须是 Customer 数据表中的有相关记录。如果销售中发 现新的客户,必须先在 Customer 数据表中增加这家客户的信息。 第四章 系统详细设计 第四章 系统详细设计 4.1 系统功能设计 进销存管理系统充分发挥信息技术的优势,通过集中式的信息数据库,将 企业的进、销、存等经营业务有机地结合起来,达到数据共享、降低成本、提 高效率、改进服务的目的,进而提供企业的生产效率和管理水平。 根据需求分析,设计的进销存管理系统的模块组织结构如图所示。 进销存管理系统 日常业务 库存管理 统计查询 基础信息 系统设置 退出系统 采 购 单 销 售 单 库 存 盘 点 产 品 管 理 库 存 查 询 采 购 查 询 销 售 查 询 供 应 商 管 理 客 户 管 理 密 码 设 置 关 于 系 统 图 4 - 1 2 进销存管理系统模块组织结构图 下面对各个模块的设计功能进行说明。 采购单:日常业务中需要频繁使用的功能,主要是对每笔采购入库业务 进行记录,自动生成对应的采购凭证。采购单中的商品名称、供应商和经手人 字段分别对应 Product 数据表、Supplier 数据表和 Users 数据表中的相关字段, 所以这里需要检验用户输入的合法性。为了管理的方便和规范,每笔采购单对 应一个唯一采购单票号,某时刻运行的界面如图所示。 23 销售单:日常业务中需要频繁使用的功能,主要是对每笔销售出库业务进 行记录,自动生成对应的销售凭证。销售单中的商品名称、客户和经手人字段 分别对应 Product 数据表、Customer 数据表和 Users 数据表中的相关字段,所 以这里需要检验用户输入的合法性。为了管理的方便和规范,每笔销售单对应 一个惟一的销售单票号。 库存盘点:库存管理中的重要业务活动,主要是根据采购记录和销售记 录对库存商品盘点,更新每种商品的库存量,为制定采购计划提供依据。 产品管理:库存管理中的辅助业务,主要是当有产品或者商品按照多种 字段进行模糊查询的功能。库存查询的初始界面如图所示。 采购查询:统计查询功能中的一个模块,提供了对采购记录的多种字段 24 的符合式查询功能。 销售查询:统计查询功能中的一个模块,提供了对销售记录的多种字段 的复合式查询功能。 供应商管理:基础信息维护中的一个模块,主要用于对供应商信息进行 查询和维护。为了方便对多个供应商的管理和比较,本案例中将此功能用 Tab 的功能实现,既方便对于供应商信息的查看和编辑,又利于对供应商总体的评 价和比较。某时刻运行界面如图所示。 客户管理:基础信息维护的一个模块,主要用于对企业客户信息的查询 和维护。为了方便对多个客户的管理和比较,本案例中也将此功能用 Tab 页的 形式实现,既方便对单个客户信息的查看和编辑,又利于对客户总体的评价和 比较。 密码设置:系统设置中的一个模块,主要用于为系统中现有的用户提供 密码更改功能。 关于系统:系统设置中的一个模块,主要用于说明系统的版本和版权等 信息。为了用户使用本系统方便,该模块中还提供了计算机系统信息的显示功 能。 推出系统:用于推出本系统。为了防止用户的误操作,推出系统之前需 要用户确认推出的操作。 25 整个系统运行的流程图大致如图所示。 查询 结果 工作人员 工作人员 工作人员工作人员 客户供应商 产 品 管 理 库 存 盘 点 采 购 销 售 业 务 查 询 数据库 采购单 销售单 图 4 - 1 5 系统流程图 4.2 系统的实现 本系统采用系统开发中常见的文档结构,搭配菜单栏、工具栏、状态栏等 界面工具实现系统分析和系统设计中提出的功能。 在具体的实现各个功能模块之前,需要在 Visual Basic 6.0 中创建一个工 程,以管理系统开发中的不同资源。创建工程的步骤如下: (1) 、打开 Visual Basic 6.0 开发环境,在菜单栏中依次选择“文件” “创建工程”菜单,出现如下图所示的“新建工程”对话框。 (2) 、在列表中选择“标准 EXE”图标以指定新建应用程序的类型为标准 的 Windows 应用程序,然后单击“确定”按钮,打开系统初始界面。 (3) 、在上图所示的菜单栏中依次选择“工程”“工程 1 属性”菜单, 出现“工程 1工程属性”对话框。 (4) 、在“工程名称”文本框中将工程的名称设置为“进销存管理系统” , 然后单击“确定”按钮。 (5) 、单击工具栏上的保存按钮,保存该工程。 这样,就成功的创建了进销存管理系统工程。 下面将介绍系统中各个窗口的设计和功能的实现。 26 4.3 创建系统窗口 4.3.1 创建登陆窗口 在进入应用程序主界面之前,一般都需要登录操作,以便确认用户身份, 从而保证企业数据的安全性。 在本系统的登录中,要求用户从系统已经创建的用户中选择一个用户名, 然后输入相应的密码。程序在数据库的 Users 数据表中进行查询,如果用户的 密码正确,就可以使用该系统;如果用户的密码错误,将提示用户重新输入密 码。 登录窗口 frmLogin 如图所示。 窗口设计效果 (4) 、因为要在窗口的代码中使用 ADO 中的一些对象进行数据库的操作, 所以必须先引用相应的库。在菜单栏中一次选择“工程”“引用”菜单。 (5) 、在“可用的引用”列表中选择“Microsoft ActiveX Data Objects 2.0 Library”项,然后单击“确定”按钮即可。这样就可以在程序代码中使用 ADO 中的对象了。 (6) 、当系统运行打开 frmLogin 窗口的时候,需要从数据库的 Users 数据 表中查找当前系统中所有的用户,然后将它们添加到 cmbUserName 组合框中。 这样,当程序开始运行,加载 frmLogin 窗口的时候,就会从 PurchaseandSale 数据库的 Users 数据表中检索所有记录的用户字段,然后将 它们逐条添加到 cmbUserName 组合框的子项中。最后将组合框的第一个子项设 置为默认选项。 27 (7) 、当用户单击“确定”按钮时,程序需要从 cmbUserName 组合框中取 得用户选择的用户名,然后根据用户名对 PurchaseandSale 数据库的 Users 数 据表中进行检索,如果检索的密码和用户输入的密码一致,则卸载登录窗口, 然后打开主窗口;如果用户输入错误,则提示用户密码错误,需要重新输入, 然后将焦点转移到 cmbUserName 组合框。但是如果检测到用户已经连续 3 次输 入密码都错误,就需要提示用户无权登录本系统,并推出系统。 在界面设计窗口中双击 cmbOK 控件,进入“确定”按钮的单击事件处理代 码中,输入如下代码: Private Sub cmdOK_Click() If Trim(cmbUserName.Text) = Then 首先要求用户名不能为空 MsgBox 用户名不能为空!, vbOKOnly + vbExclamation, 警告! cmbUserName.SetFocus 将焦点转移到用户名组合框中 Exit Sub End If connstring = Provider=SQLOLEDB.1;Password=ecc;Persist Security Info=Ture;User ID=sa;Initial Catalog=PurchaseandSale;Server=(load) If conn.State 1 Then 如果数据库没有打开,则打开数据库 conn.Open (connstring) End If Set rs = conn.Excute(select * from users where 用户 = Password=ecc;Persist Security User ID=sa;Initial Catalog=PurchaseandSale;Server=(local) If conn.State 1 Then conn.Open (connstring) End If conn.Execute (strUpdate) conn.Close adoKCPD.Refresh myerr: End Sub (9) 、当用户单击“退出窗口”按钮时,需要调用窗体的卸载事件。所以 双击 Command2 控件,在其单击事件中输入如下代码: Private Sub Command2_Click() Unload Me End Sub (10) 、这样,库存盘点主要的功能就设置完成了。下面需要将 frmKCPD 窗 口和主窗口中相应的菜单绑定。单击 frmMain 窗口中的“库存盘点”菜单,进 入到菜单的单击事件中,输入如下代码: Private Sub KCPD_Click() Load frmKCPD 39 frmKCPD.Show Me.Enabled = False End Sub 这样,库存盘点的功能就全部实现了。 登录程序,登录后进入到系统的主窗口,单击菜单栏中的库存盘点,效果 如图所示。 4.3.9 创建产品管理窗口 菜单中的第 4 项是产品管理,也就是对数据库中的 Product 数据表进行维 护。在价格管理窗口中,允许用户对商品和产品的记录进行增加、删除和编辑 等操作。 创建库存盘点窗口的步骤如下: (1)按照前述方法在应用程序工程中加入一个 Windows 窗口 frmCPGL。 (2) 设置 frmCPGL 窗口的 Icon 属性为 System。ico,BorderStyle 属性为 Fixed Single,StartUpPosition 属性为屏幕中心,Caption 属性为“产品 管理” 。 (3) 利用 Adodc 控件连接到数据库。从工具箱中拖动一个 Adodc 控件到窗体 中,命名为 adoCPGL。 (4)前述方法设置 adoCPGL 控件的连接属性,使其连接到数据库 PurchaseandSale,并检索 Product 数据表。 40 (5) DataGrid 控件不但可以显示数据,还可以在其中编辑数据。从工具箱中 拖动一个 DataGrid 控件到富 frmCPGL 窗口中,命名为 dgdCPGL。设置其 DataSource 属性为 adoCPGL,AllowUpdate 属性为 False。 (6) 在 frmCPGL 窗体设置中放置 5 个命令按钮控件,设置其 Caption 为“添 加” 、 “修改” 、 “删除” 、 “保存”和“关闭” 。 这样,窗体的界面部分就设计完成了,效果如图所示。 (7)为了保护数据的安全,防止用户的误操作,adoCPGL 初始状态下是不可编 辑的。如果需要添加一条新纪录,必须先单击“添加”按钮,输入相关字段信 息后再单击“保存”按钮保存添加的记录。双击 Command1 控件,进入“添加” 按钮的单击事件,输入如下代码: Private Sub Command1_Click() On Error GoTo AddErr dgdCPGL.AllowAddNew = True dgdCPGL.AllowUpdate = True dgdCPGL.AllowDelete = False adoCPGL.Recordset.MoveLast dgdCPGL.SetFocus Exit Sub AddErr: 41 MsgBox err.Description End Sub (8)当用户需要修改记录的时候,需要先单击“修改”按钮,然后方可编辑记 录,最好单击“保存”按钮保存修改结果。双击 Command2 控件,进入单击事件 输入如下代码: Private Sub Command2_Click() On Error GoTo UpdateErr dgdCPGL.AllowAddNew = False dgdCPGL.AllowDelete = False dgdCPGL.AllowUpdate = True Exit Sub UpdateErr: MsgBox err.Description End Sub (9)当用户需要删除记录的时候,需要先单击“删除”按钮,然后经过对话框 确认后方可编辑记录。双击 Command3 控件,进入其单击事件,进入其单击事件, 输入如下代码: Private Sub Command3_Click() On Error GoTo DeleteErr dgdCPGL.AllowAddNew = False dgdCPGL.AllowDelete = False With adoCPGL.Recordset If MsgBox(删除记录将无法恢复,确实要删除?, vbYesNo + vbInformation, 提示) = vbYes Then .Delete .MoveNext If .EOF Then .MoveLast End If End With Exit Sub 42 DeleteErr: MsgBox err.Description End Sub 这样,价格管理部分的功能就设计完成了。 4.3.10 创建库存查询窗口 菜单中的库存查询主要是查询每一种库存商品的信息。 在这个窗口中,提供一个下拉表框, 、用户可以从中选择一种查询依据,然后在 文本框中输入需要查询的关键字,单击“查询”按钮就可以在 Product 数据表 中进行模糊查询。 创建数据库查询窗口的步骤如下: (1)按照前述方法在应用程序工程中加入一个 Windows 窗口 frmKCCX。 (2)设置 frmKCCX 窗口的 Icon 属性为 System。ico,Caption 属性为“库存查 询” ,BorderStyle 属性为“Fixed Single” ,StartUpPosition 属性为屏幕中心。 (3)创建一个 Adodc 控件 adoKCCX,按照前述方法设置其连接属性,使其连接 到 PurchaseandSale 数据库,检索 Product 数据表。设置其 Visible 属性为 False。 (4)从工具箱中拖动一个 DataGrid 控件到 frmKCCX 窗口中,命名为 dgdKCCX。设置其 AllowUpdate 属性为 False,DataSource 属性为 adoKCCX。 (5)在窗口放置一个 Frame 控件,设置其 Caption 属性为“请选择查询条件” 。 (6)在窗口放置一个 ComBox 控件和一个 TextBox 控件,并设置 TextBox 控件 的 Text 属性为空。 (7)在窗口上放置两个 CommButton 控件,分别设置其 Caption 属性为“查询” 和“退出” 。 (8)调整各个控件的位置,界面设置完成,效果如图所示: 43 (9)当打开该窗口的时候,需要将几种常用的查询依据添加到 Combo1 的子项 中。双击 frmKCCX,进入其加载事件,输入如下代码: Private Sub Form_Load() Combo1.AddItem (商品名称) Combo1.AddItem (产地) Combo1.AddItem (规格) Combo1.AddItem (包装) Combo1.AddItem (库存) Combo1.ListIndex = 0 End Sub (10)当用户选择了一个查询标准,并且输入了查询的关键字之后,单击“查 询”按钮就可以以模糊查询的方式查询 Product 数据表了。双击 Command1 控件, 进入其中单击事件中,输入如下代码: Private Sub Command1_Click() On Error GoTo myerr adoKCCX.CommandType = adCmdText adoKCCX.RecordSource = select*from product where & Trim(Combo1.Text) & like &trim(text.text)&% adoKCCX.Refresh myerr: 44 End Sub (11)当用户单击“退出”按钮的时候,需要卸载 frmKCCX。双击控件 command2,进入其单击事件,输入如下代码: Private Sub Command2_Click() Unload Me End Sub (12)当卸载窗体的时候,需要重新启用 frmMain 窗体,并将其显示出来。在 窗体的卸载事件中输入如下代码: Private Sub Form_Unload(Cancel As Interger) frmMain.Enabled = True End Sub 至此,库存查询的所有功能都完成了。 4.3.11 创建采购查询窗口 用户在操作中经常需要对采购入库的产品进行查询,而且可能根据不同的 标准进行查询。所以,在入库查询中,提供了综合查询方式。用户可以根据多 种条件的不同组合进行查询。 创建采购查询窗口的步骤如下: (1)按照前述方法在应用程序工程加入一个 Windows 窗口 frmKCCX。 (2)设置 frmKCCX 窗口的 Icon 属性为 System.ico,Caption 属性为“采 购查询” ,BorderStyle 属性为“Fixed Single”, StartUpPosition 属性为屏幕 中心。 (3)创建一个 Adodc 控件 adoCGCX,按照前述方法设置其连接属性,使其 连接到 PurchaseandSale 数据库,检索 Purchase 数据表。设置 Visible 属性为 False。 (4)从工具箱中拖动一个 DataGrid 控件到 frmCGCX 窗口中,命名为 dgdCGCX。设置其 AllowUpdate 属性为 Fasle,DataSource 属性为 adaCGCX。 (5)在窗口放置一个 Frame 控件,设置其 Caption 属性“请选择查询条件” 。 45 (6)在窗口上放置 5 个 ComboBox 控件和 2 个 TextBox 控件,并设置 2 个 TextBox 控件的 Text 属性为空。 (7)在窗口上放置 2 个 CommandButton 控件,分别设置其 Caption 属性为 “查询”和“退出” 。 (8)调整各个控件的位置,界面设置完成,效果如图: (9)当打开这个窗口的时候,需要 5 个 ComboBox 控件的子项中分别添加 到不同的子项中分别添加到不同的子项。双击 frmCGCX,进入其加载项,输入 如下代码: Private Sub Form_Load() Combo1.AddItem (商品名称) Combo1.AddItem (供应商) Combo1.AddItem (经手人) Combo1.AddItem (票号) Combo1.ListIndex = 0 Combo2.AddItem (=) Combo2.AddItem () Combo2.AddItem (=) Combo2.AddItem () 46 Combo2.AddItem (=) Combo2.AddItem () Combo2.ListIndex = 0 Combo3.AddItem (And) Combo3.AddItem (Or) Combo3.ListIndex = 0 Combo4.AddItem (商品名称) Combo4.AddItem (供应商) Combo4.AddItem (经手人) Combo4.AddItem (票号) Combo4.ListIndex = 0 Combo5.AddItem (=) Combo5.AddItem () Combo5.AddItem (=) Combo5.AddItem () Combo5.AddItem (=) Combo5.AddItem () Combo5.List
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!