学校食堂管理系统_第1页
学校食堂管理系统_第2页
学校食堂管理系统_第3页
学校食堂管理系统_第4页
学校食堂管理系统_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文) 题 目:学校食堂管理系统学校食堂管理系统 院 (系): 年 级: 专 业: 学生姓名:(其余用三号字、宋体字) 学 号: XXXXXXX 指导教师: XXXX 职 称: XXXX 题目类型:题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发 2008 年 05 月 10 日 2 目目目目 录录录录 摘 要 4 Abstract 4 1 前 言 5 2 开发工具 .6 2.1Visual Basic 编程开发工具 .6 2.1.1Visual Basic 语言概述 6 2.1.2Visual Basic 编程环境 7 2.2 使用 Access2000 实现关系型数据库 8 2.2.1 数据库的概念 8 2.2.2 实现关系型数据库的联系 8 3 需求分析 10 3.1 系统功能分析 10 3.2 系统性能分析 11 3.3 系统功能模块设计 11 3.4 数据流程图 12 4 总体方案设计 .16 5 数据库设计 .17 5.1 数据库需求分析 17 5.2 数据库概念结构设计 18 5.3 数据库逻辑结构设计 21 5.4 数据库的生成与配置 23 5.5 创建应用程序结构 23 6 详细设计 .24 6.1 开发业务逻辑处理组件 24 6.1.1 信息管理类加集合类的设计思想 24 6.1.2 创建组件的通用模块 25 本科学生毕业设计论文 - 3 - 6.1.3 食品类型信息管理模块 27 6.1.4 食品信息管理模块 29 6.1.5 供货商信息管理模块 31 6.1.6 进货信息管理模块 32 6.1.7 销售信息管理模块 34 6.1.8 报损信息管理模块 35 6.1.9 管理员信息管理模块 36 6.2 开发基本界面组件 36 6.3 界面端应用程序设计 40 6.3.1 公共模块的设计 40 6.3.2 用户登入模块的设计 .40 6.3.3 系统主界面的设计 .42 6.3.4 添加主界面模块 43 6.3.5 用户管理模块 45 6.3.6 经营分析模块 .46 7 测试分析 .48 7.1 强制变量声明 48 7.2 常见错误的避免 48 总结 .49 致谢 .50 参考文献 .51 4 摘摘 要要 学校食堂管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的 建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和 完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,容易使用等 特点。 经过分析,我使用了 Microsoft 公司的 Visual Basic 开发工具,利用其提供的 各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化 对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断 修正和改进,直到形成最后的可行系统。 关键字关键字:控件、记录、管理系统。 Abstract School canteens management system is a typical management information system (MIS), including the development of its database background to the establishment and maintenance, and front-end application development aspects. With regard to the former request to establish data consistency and integrity of strong, good for data security. For the latter request applications fully functional, easy to use and so on. After analysis, I use Microsofts Visual Basic development tools, provided by the use of its object-oriented development tools, in particular the window of this data can be convenient and simple manipulation of the intelligence database objects, first established in a short period of time Application of the prototype system, and then, the initial prototype system needs iteration, and constantly revised and improved, until the final formation of a viable system. Keyword: control, recording, management systems. 本科学生毕业设计论文 - 5 - 1 前前 言言 当今社会为信息社会,世界已进入在计算机信息管理领域中激烈竞争的时代。 信息已成为继劳动力、土地、资本之后的又一大资源,谁控制的信息越多,谁利用 信息资源的效率越高,谁就会在各方面的竞争中,占有一席之地,谁就会更有优势, 这一点已得到举世公认。随着 WTO 的加入和我国工业的迅猛发展,为了抓住机遇, 在竞争占得先机,作为生产学校食堂的一个必不可少的重要环节学校食堂进销存 管理的信息化、计算机化也就迫在眉捷了。开发学校食堂管理系统即有宏观上的意 义,那就是顺应时代信息化、现代化潮流,提高效益,促进国民经济结构优化;也 有微观上的意义,那就是可以提高管理的现代化程序,加强管理的信息化手段,提 高工作效率,增加单位效益。 学校食堂管理系统按分类、分级的模式对仓库进行全面的管理和监控,缩短 了学校食堂信息流转时间,使学校食堂的物资管理层次分明、井然有序,为采购、 销售提供依据;智能化的预警功能可自动提示存货的短缺、超储等异常状况;系统 还可进行材料学校食堂 ABC 分类汇总,减少资金积压。完善的学校食堂管理功能, 可对学校食堂的存货进行全面的控制和管理,降低学校食堂成本,增强学校食堂的 市场竞争力。 目前,无论是公司还是食堂对于货物都实行了信息化管理,以提高管理水平和 工作效率,同时也可以最大限度地减少手工操作带来的错误。于是,进销存管理信 息系统便应运而生。在学校食堂中,食品的进销存涉及产品原料的采购、库存、报 损,甚至有时涉及到销售,同时,对于产品也有相应的生产、库存、销售、和报损 等环节。在其他非生产性单位,如学校食堂、商店等,则主要涉及到进货、库存、 销售和报损4个方面。 在设计一个系统时,首先要做好需求分析。合理地运用好Visual Basic的基本方 法,建立一个适合学校食堂管理系统。 6 2 开发工具开发工具 2.1Visual Basic 编程开发工具编程开发工具 2.1.1Visual2.1.1Visual BasicBasic 语言概述语言概述 1 1VBVB 简介简介 VB 是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系 统和办公软件的垄断地位,VB 在短短的几年内风靡全球。VB 是极有特色和功能强 大的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软 件开发周期,较易维护的生成代码。 美国微软公司在 1991 年推出 VB1.0 至今已经经历了 6 个版本,VB6.0 运行在 Win9x 或 Winme,Win2000,Winxp,WindowsNT 等操作系统下,是一个 32 位的应用 程序开发工具。 2.VB2.VB 语言的基本特点及语言的基本特点及 VBVB 应用程序的基本持点应用程序的基本持点 VB 程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:可视 化设计和事件驱动编程. (1)可视化设计 同其他的一些可视化程序开发工具一样,VB 具有可视化设计的特点,微软的 Word 在刚刚进入市场时,同 WPS 竞争的一个重要的功能砝码就是“所见即所得“的字处理 功能,VB 在设计应用程序界面时也可以说是“所见即所得“.在设计时,头脑中所想象 的应用程序界面,完全可以通过键盘鼠标以及徒手画出来,而不是编制大量的代码然 后再编译生成,如果需要修改,也是利用键盘鼠标和手画,而底层的一些程序代码由 VB 自动生成或修改。 VB 为用户提供大量的界面元素(在 VB 中称为控件对象),这些控件对象对于熟 悉 Windows 应用程序的用户而言是一点也不陌生,如“窗体“、“菜单“、“命令按钮 “、“工具按钮“、“检查框“等等,用户只需要利用鼠标、键盘把这些控件对象拖动到 适当的位置,设置它们的大小、形状、属性等,就可以设计出所需的应用程序界面。 (2)事件驱动编程 本科学生毕业设计论文 - 7 - Windows 操作系统出现以来,图形化的用户界面和多任务多进程的应用程序要 求程序设计不能是单一性的,在使用 VB 设计应用程序时,必须首先确定应用程序如 何同用户进行交互.例如发生鼠标单击、键盘输入等事件时,由用户编写的代码控制 这些事件的响应,这就是所谓的事件驱动编程。 2.1.2Visual2.1.2Visual BasicBasic 编程环境编程环境 1.1.面对对象的编程面对对象的编程 Visual Basic 应用程序由一系列对象组成,包括有函数、菜单、函数、结构 和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行 编辑器等。这些对象和控件都可在许多应用中重复使用,每一个对象都具有一些特 性和行为(属性、事件和 方法) 。开发员工可以最有效利用所创建的每一个对象, 使应用程序具有可通用性,可扩展性和强有力的功能。 2.2.实现菜单选项实现菜单选项 菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序 易于使用和维护,Visual Basic 也提供了强大的创建菜单功能是程序更加标准。 我们可以使用 Visual Basic 的 Application Wizard,也可以使用 Visual Basic 的菜单编辑器建立菜单或者修改已经存在的菜单。 3.3.实现工具栏实现工具栏 Toolbar 是工具条控件,是实现工具条的主体。其中的按钮可以显示图像和标 题,并按功能分组或加入分隔符,还可以围棋设置鼠标停留在其上显示的提示字符。 Toolbar 也是一个控件容器且具有 Style 属性,并可以为其增加下拉按钮和平滑按 钮等。选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件” 选项卡列表中选择“Microsoft Windows Common Controls 6.0”后,工具箱中增 加修改控件。其属性及对象如下: 1. Align 属性定义工具条在窗体中的位置 2. ToolTipText 属性是字符串类型,定义控件的提示字符 3. Style 属性定义按钮外观。 4. ImageList 属性定义与数据条对应的 ImageList 控件名,该控件定义工 具条按钮显示的图像。 8 5. HotImangeList 属性设置一个 ImageList 控件名,该控件定义按钮获得 热点时显示的图像。 6. DisabledImageList 属性定义工具条按钮无效时显示的图像。 创建工具条包括 ImageList 和 Toolbar 控件,ImageList 用于为其他控件提供 图像库,将 ImageList 控件加入到工具箱的操作于前述 Toolbar 控件相同。 4 4 关于版本关于版本 为了是程序显得更具有专业风格,首先可以在其中加入通常的应用程序信息。 这些信息包括公司名称、版本号、修订号以及其他类似信息。Visual Basic 允许 你使用 APP 对象来保存这些信息,APP 对象是一个预定义对象,不需要在程序中创 建它。APP 对象的大多数属性被应用程序用来提供常规的信息,通过使用这些 APP 提供的属性,可以在应用程序和用户之间交流重要信息,在项目属性框中可以设置 它的属性。 2.2 使用使用 Access2000 实现关系型数据库实现关系型数据库 2.2.12.2.1 数据库的概念数据库的概念 数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表 达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关 系数据库(flat-file)和关系数据库(relational) 。关系数据库中包含了多个数据表 的信息,数据库含有各个不同部分的术语,如:记录、域等。 2.2.22.2.2 实现关系型数据库的联系实现关系型数据库的联系 Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存 储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据 表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外, Access 允许创建自定义报表用于打印或输出数据库中的信息。Access 也提供了数 据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网 络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通 用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以 本科学生毕业设计论文 - 9 - 在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 1. 创建数据库 创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻 辑的。创建一个数据库结构的过程被认为是数据模型设计。 标识需要的数据; 收集被标识的字段到表中; 标识主关键字字段; 绘制一个简单的数据图表; 规范数据; 标识指定字段的信息; 创建物理表。 2. 修改已建的数据库 数据库的修改分为:添加、编辑和删除记录。这三种操作均可由 Visual Basic 创建的程序来完成。 3. 二者的结合 数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指 一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息 时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连 接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的 记录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组 合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库 中如何与其它的库建立关系。 微软的 JET 数据库引擎提供了与数据库打交道的途径,我们是通过它以及 Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access 以及其他微 软的软件产品都是通过共用 JET 数据库引擎,从而给用户提供了丰富的数据类型。 DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起 了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪 10 个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个 dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着, 当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。DATA控 件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后, 我们还必须在该控件与要处理的数据库之间建立联系。 3 需求分析需求分析 3.1 系统功能分析系统功能分析 1)基本信息的维护 食品类型的建立与维护,包括食品类型的新建、修改和删除等。 食品基本信息管理:包括食品基本信息的新建、修改和删除等。 供货商信息管理:包括供货商信息的新建、修改和删除等。 管理员信息管理:系统管理员的添加、删除和修改密码等。 2)进货管理 食品进货信息管理:食品进货信息包括食品进货数量、单价、供货商等。食品进货管理功能完 成进货信息登记、修改和删除等。 分类查看:可以根据食品类型来查看某种食品的进货情况。 更新库存:进货信息的变动直接关系到库存的变化。 进货分析:列出当前进货量最多的前几项食品和进货量最少的前几项食品。 库存分析:列出当前库存量最多的前几项食品和库存量最少的前几项食品。 3)销售管理 食品销售信息管理:食品销售信息包括食品销售数量、单价、统计日期等。食品销售管理功能 完成销售信息登记、修改和删除等。 分类查看:可以根据食品类型来查看某种食品的销售情况。 更新库存:销售信息的变动直接关系到库存的变化。 销售分析:列出当前销售量最多的前几项食品和销售量最少的前几项食品。 4)报损管理 食品报损信息管理:食品报损信息包括食品报损数量、报损原因等。食品报损管理功能完成报 损信息登记、修改和删除等。 分类查看:可以根据食品类型来查看某种食品的报损情况。 本科学生毕业设计论文 - 11 - 更新库存:报损信息的变动同样直接关系到库存的变化。 报损分析:列出当前报损量最多的前几项食品和报损量最少的前几项食品。 3.2 系统性能分析系统性能分析 1)多层结构设计 严格意义上的三层结构设计,其程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。 本系统采用的上有三层结构进一步扩展而成的多层结构。 2)面向对象设计 在系统中将食品类型、食品等都封装成相应的类,同时每个类都有自己对应的集合类和操作类, 从而再次提高了对数据库操作的安全性和程序的可扩展性。 3)指导经营的功能 进销存管理系统并不仅仅能代替传统的书面操作,更重要的是它提供了信息分析的功能,只要 单击一个按钮就可以查到目前销售最好的食品或是库存最多的食品,从而起到指导经营的作用。 3.3 系统功能模块设计系统功能模块设计 按结构化程序设计思想,分析得出如下系统功能模块图: 系统功能模块图 3.4 数据流程图数据流程图 学校食堂管理系统 食品类型管理系统 食品管理模块 供货商管理模块 食品进货管理模块 食品销售管理模块 销售 分析 模块 用户 管理 模块 操作 员登 入模 块 添加 食品 类型 修改 食品 类型 删除 食品 类型 添加 食品 信息 修 改 商 品 信 息 删 除 商 品 信 息 登 记 进 货 信 息 修 改 进 货 信 息 删 除 进 货 信 息 添 加 供 货 商 修 改 供 货 商 删 除 供 货 商 登 记 销 售 表 修 改 销 售 记 录 删 除 销 售 信 息 食品报损管理模块 登 记 报 损 信 息 修改 报损 记录 删除 报损 记录 12 主界面 登入窗体 退出 成功 失败 食 品 类 型 管 理 食 品 管 理 食 品 进 货 管 理 食 品 销 售 管 理 食 品 报 损 管 理 供 货 商 管 理 食品类型管理 添加修改删除 本科学生毕业设计论文 - 13 - 食品信息管理 添加修改删除 食品进货管理 登记修改删除 食品销售管理 登记修改删除 14 食品报损管理 登记修改删除 供货商管理 添加修改删除 本科学生毕业设计论文 - 15 - 4 总体方案设计总体方案设计 主窗体 系统登入退出登入 成功 失败 食品类型管理食品管理食品进货管理食品销售管理食品报损管理供货商管理 添加食品类型 修改食品类型 删除食品类型 添加食品 删除食品 登记进货食品 删除进货食品 登记销售食品 修改进货食品 登记报损食品 修改报损食品 修改销售商品 添加供货商 删除供货商 删除报损食品 删除销售食品修改供货商 修改食品 一、系统设计概述 16 1)经济可行性分析 货物管理中节省人力,减轻的劳动强度。 降低成本及其他费用。 赶紧薄弱环节,提高工作效率。 提高数据处理的及时性和准确性。 2)技术可行性分析 CPU PIII 800 RAM 64MB 硬盘 3G 网络协议 TCP/IP 打印机 windows98/windowsxp/windos2000支持的各类打印机 二、代码设计 采用规划的格式和命名方式,层次分明,有条理,代码中附有程序注释,让人容易 明白,可读性强。 三、界面设计 界面设计美观,用户友好性强。 5 数据库设计数据库设计 5.1 数据库需求分析数据库需求分析 1)针对学校食堂管理系统,分别对采购部、销售部和库存保管部进行详细的调研 和分析,总结出如下的需求信息: 食品按类管理,所以需要有一食品类型信息。 食品必须属于一个食品类型。 如果一个食品类型存在食品,或存在下级食品类型,则该类型不可删除。 需要记录供应食品信息。 在涉及食品数量的地方,要给出相应的单位。 食品销售信息单中要包含登记食品销售数量、单价等信息。 本科学生毕业设计论文 - 17 - 在进货信息中要包含食品供应商等信息。 食品报损要有报损原因。 进货、销售、报损操作要有相应操作员信息。 只有管理员登录之后才可以使用系统。 默认的管理员不可以删除。 进货、销售、库存、报损信息都要可以添加、修改、删除、分类查找。 当进行进货、销售和报损操作后,能相应更新库存。 需要对进货、销售、库存、报损进行分析,总结热门食品。 2)经上述系统功能分析和需求总结,考虑到将来功能的扩展,设计如下的数据项 和数据结构: 食品类型信息,包括数据项有:食品类型编号、食品类型名称等。 食品信息,包括的数据项有:食品编号、食品名称、食品介绍、库存量等。 食品单位信息,包括单位编号、单位名称等。 供应商信息,包括供应商名称、介绍等。 进货信息,包括进货食品、数量、单位、单价、进货时间经手人等。 销售信息,包括销售食品、数量、单位、单价、登记时间等。 报损信息,包括报损食品、数量、单位、原因、登记时间等。 管理员信息,包括管理员账号、密码、是否是默认账号等。 5.2 数据库概念结构设计数据库概念结构设计 本系统根据以上的设计规划出的实体有:食品类型信息实体、食品信息实体、 食品单位信息实体、供应商信息实体、进货信息实体、销售信息实体、报损信息实 体和管理员信息实体。 各个实体具体的描述-图如下 食品类型信息实体E-R图 18 食品类型 商品类型号商品类型名备注 食品信息实体E-R图 商品 商品名称 商品编号 商品类型 ID 库存量 单位信息实体E-R图 单位 单位编号单位名称 供应商信息实体E-R图 本科学生毕业设计论文 - 19 - 供货商 供货商名称供货商介绍 备注 供货商编号 进货信息实体E-R图 进货信息 供应商 ID 商品 ID 进货单价 进货时间 销售信息实体E-R图 销售信息 商品编号 登记日期 销售数量卖出单价 报损信息实体E-R图 20 报损信息 商品编号 登记日期 报损数量报损原因 管理员信息实体E-R图 管理员 是否默认用户用户名密码 5.3 数据库逻辑结构设计数据库逻辑结构设计 首先将罪犯管理信息系统的数据库概念结构转化为Access数据库或SQL Server 2000数据库系统所支持的实际数据模型,即:数据库的逻辑结构。其各个表格的设 计结果如下 数据表:食品类型信息表(MerchandiseType) 列名数据类型字段大小必填字段默认值说明 MT_ID_N 自动编号长整型是食品类型号,递增,主键 MT_Name_S 文本 15 是食品类型名 MT_RemarkR 备注是“”备注 本科学生毕业设计论文 - 21 - 数据表:食品信息表(Merchandise) 列名数据类型字段大小必填字段默认值说明 M_Id_N 自动编号长整型是食品编号,递增,主 键 M_Name_S 文本 80 是食品名称 M_Introduce_S 文本 255 是食品介绍 M_TypeId_N 数字长整型是 1 食品类型ID M_Storage_N 数字长整型是 0 库存量 M_UnitId_N 数字长整型是 1 单位编号 M_Remark_R 备注是“”备注 数据表:食品单位信息表(Unit) 列名数据类型字段大小必填字段默认值说明 U_ID_N 自动编号长整型是单位编号,递增,主健 U_NAME_S 文本 10 是单位名称 数据表:供应商信息表(Provider) 列名数据类型字段大小必填字段默认值说明 P_Id_N 自动编号长整型是供货商编号,主健 P_Name_S 文本 50 是供货商名称 P_Introduce_S 文本 255 是“”供货商简介 P_Remark_R 备注是“”备注 数据表:进货信息表(Buy) 列名数据类型字段大小必填字段默认值说明 B_ID_N 自动编号长整型是进货ID,递增,主健 B_ProviderId_N 文本长整型是供应商ID B_MerchandiseId_N 数学长整型是食品ID B_StockDate_D 日期短日期是 Dare() 进货时间 B_Deliver_S 文本 20 是送货人姓名 B_Consignee_S 文本 20 是经手人姓名 B_Count_N 数字长整型是 0 购入量 B_StockPrice_N 数字单精度型是 0 进货单价 B_OperatorId_S 文本 20 是操作员ID B_Remark_R 备注是“”备注 数据表:销售信息表(Sell) 22 数据表:报损信息表(Dispose) 列名数据类型字段大小必填字段默认值说明 D_ID_N 自动编号长整型是报损编号,递增,主键 D_MerchandiseID_N 数字长整型是食品ID D_RegDate_D 日期短日期是Date()登记日期 D_Count_N 数字长整型是 0 报损数量 D_Reason_S 文本 255 是“”报损原因 D_Operatorld_S 文本 20 是操作员ID D_Remark_R 备注是“”备注 数据表:管理员信息实体(Admins) 列名数据类型字段大小必填字段默认值说明 A_Account_S 文本 20 是账号,主键 A_Pwd_S 文本 20 是密码 A_IsDefault_B 是/否是 False 是否是默认用户 5.4 数据库的生成与配置数据库的生成与配置 经过以上的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可 以在Access数据库或SQL Server 2000数据库中创建表了。 5.5 创建应用程序结构创建应用程序结构 1)创建用户界面端程序 VB中选择文件-新建工程,打开,选择VB应用程序向导。设置后将向导生成的模块 命名mdlMain保存与文件夹Merchandise中。 2)创建业务逻辑处理组件 列名数据类型字段大小必填字段默认值说明 S_ID_N 自动编号长整型是销售编号,递增,主键 S_MerchandiseID_D 数字长整型是食品ID S_RegDate_D 日期短日期是Date( ) 登记日期 S_Count_N 数字长整型是 0 售出数量 S_SellPrice_N 数字单精度型是 0 卖出单价 S_OperatorId_S 文本 20 是“”操作员ID S_Remark_R 备注是“”备注 本科学生毕业设计论文 - 23 - 新建ActiveX DLL工程-设置工程属性-加入对ADO的引用。 3)创建基本界面组件 新建ActiveX DLL工程-设置工程属性-加入对业务逻辑组件的引用。 4)在界面端程序中使用组件 在工程资源管理器中选中工程Merchandise,选择菜单工程-引用命令。打开引用对 话框,在可用的引用列表中选择BuySellStorageUI和BuySellStorageDB。 6 详细设计详细设计 6.1 开发业务逻辑处理组件开发业务逻辑处理组件 进销存业务处理组件用来处理进销存管理系统中的业务逻辑,既负责与界面进 行数据传递,同时也要将界面端的请求应用业务逻辑之后对数据库进行操作。它包 含以下功能: 食品类型信息管理,对应clsMType类和clsMTypes类。 食品信息管理,对应clsMerchandise类和clsMerchandises类。 供应商信息管理,对应ClsProvider类和ClsProviders类。 进货信息管理,对应clsBuy类和clsBuys类。 销售信息管理,对应clsSell类和clsSells类。 报损信息管理,对应clsDispose类和clsDisposes类。 管理员信息管理,对应clsAdmini类和clsAdminis类。 6.1.16.1.1 信息管理类加集合类的设计思想信息管理类加集合类的设计思想 在本组件中,每一个模块的设计都是由这个模块的信息管理类加与之对应的集 合类求实现的。具体完成的功能如下: 在信息管理类:实现与单个信息相关的操作,包括添加、修改和删除。 在信息管理集合类:实现与多个信息先观的操作,主要是根据不用的条件查找。 24 因此,每个模块在设计上都是独立的,除非它在逻辑上有不可分割的关系,如进货 信息的操作,与食品库存直接挂钩,将进货信息表的操作与食品表的操作放入到一 个事务中,这样来确保数据的安全性与一致性。 6.1.26.1.2 创建组件的通用模块创建组件的通用模块 这里需要给组件添加两个通用模块,他们分别是: 自定义枚举类clsPunliv:主要功能是保存一些自定义枚举类型。 公共模块mdlMain:组件初始化的函数和数据库操作的常用函数与过程。 1) 自定义枚举类 我们已经将新建工程时自动生成的类名称设为clsPublic,此类没有其他具体的意义, 主要功能是保存一些自定义枚举类型, ,这些枚举类型在以后其他各类中要经常用 到,所以这里首先介绍。 2) 组件的公共模块 在工程中添加一个模块,命名为mdlMain,此模块有两个功能: 用来连接数据库及相关的初始化操作。 存放在对数据库的操作过程中可能用到的一些公共函数。 (1)添加全局变量 (2)Sub Main()过程组件启动入口 手动加入Sub Main()过程,这个就是刚才在“工程属性”中指定的启动对象。这个 过程完成ActiveX DLL的初始化工作。在这个过程中假如对g_DBPath的默认设置, 并打开数据库连接。 在Sub Main 中的ConnectToDatabase函数,功能是用来连接到数据库。 (3)ConnectToDatabase函数与数据库建立连接 功能:根据传入参数是DBAccess还是DBSQLSever来决定连接到Access数据库还 是SPLSever数据库。 参数设计:gxDBType类型,参见clsPublic类中的枚举定义。 返回值:Boolean类型,True表示成功,False表示失败。 本科学生毕业设计论文 - 25 - (4)RealString替换字符串的单引号 (5)MaxID获取编号的最大值 MaxID函数用来获取表中当前主健的最大值,这个函数用于在数据库中添加新记录 后,立即获取刚才添加记录的主健值。 3)创建模块类 (1)设计、总结公共属性和方法 单个模型的信息管理类有以下共同的属性和方法: 属性ID 方法AddNew() 方法Update() 方法Delete(lngID As Long) 方法DeleteEx() 多个模型的集合类有以下共同的属性和方法: 方法AddEx 方法Clear 方法Find (2)创建模板类 下面,首先利用类生成器创建一个类clsDBbase,作为模板类,向其中添加一个属 性,名称为ID,类型为Long,声明为Let/Get,然后,如下表所示。 名称参数返回值说明 AddNew 无 gxcAddNew 添加数据 Update 无 gxcUpdate 更新数据 DeletegxcDelete 删除数据 DeleteEx 无 gxcDelete 删除数据 然后再新建一个集合类clsDBbase,作为集合类的模板类,集合组成选clsDBbase,如下表所示。 26 名称参数返回值说明 AddNewObj As clsDBbase 无以对象为单位添加元素 Clear 无清空集合 FindOptional lngID As Long=-1 Optional lngTypeId As Long=0 clsDBbase 查找数据 (3)使用模板类 模板类的使用很简单,在用类生成器新建类时,只要在“基于”下拉列表框中选择 所需要的模板类即可。 6.1.36.1.3 食品类型信息管理模块食品类型信息管理模块 食品类型信息管理模块的功能需要由clsMType和clsMTypes两个类来实现,它 的主要功能是: 添加食品类型信息。 修改食品类型信息。 删除食品类型信息。 查找食品类型信息。 其他与食品类型相关的常用操作。 1) 、食品类型信息管理类clsMType (1)创建clsMType类并添加属性 食品类型信息类clsMType用来处理单个食品类型的信息,实现食品类型操作的基本 功能,如添加、修改、删除等。 选择菜单工程添加类模块命令,打开“添加类模块”对话框,选择“VB类生 成器” ,使用类生成器向工程中添加clsMType类,基于下拉列表框中选择 clsDBbase。如下表所示。 属性名称数据类型属性声明 IDLongGet/Let SuperIDLongGet/Let TypeNameStringGet/Let 本科学生毕业设计论文 - 27 - 属性添加完毕并应用后,可以看到在clsMType类中已经自动添加了类的成员变量和 属性。 (2)AddNew方法 功能:添加耽搁食品类型。 参数设计:无。 返回值:gxcAddNew类型请参考clsPublic类中gxcAddNew枚举类型的定义。 (3)Update方法 功能:修改食品类型。 返回值:gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。 (4)Delete方法 功能:删除食品类型。 参数设计:可选参数lngID表示食品类型ID,默认为-1。 返回值:gxcDelete类型,请参考clsPublic类中gxcDelete枚举类型的定义。 2) 、食品类型信息管理集合类clsMTypes 食品类型信息集合类clsMTypes用来处理多个食品类型的信息,其最小的单元是 clsMType,它完成与一组食品类型信息相关的操作,比如查找功能。 选择菜单工程添加类模块命令,打开“添加类模块”对话框,选择“VB类生 成器” ,使用类生成器在工程中添加一个集合类,命名为clsMTypes类,在“基于” 下拉列表框中选择clsDBbases,在“集合组成”栏中选择clsMType类。应用设置后 系统会自动生成一个标准集合类所具有的最基本属性与方法,另外也加入了 clsDBbases中方法的定义。 (1)添加AddEx方法 (2)添加Find方法 功能:根据给定参数查找食品类型,结果以clsMTypes类型返回。 参数设计:一个可选的类型ID,默认值为-1。 返回值:clsMTypes类型,一个clsMType的集合。省略参数时,返回全部食品 类型。 28 6.1.46.1.4 食品信息管理模块食品信息管理模块 食品信息管理模块的功能需要有clsMerch和clsMerchs两个类来实现,它的主要功 能是: 添加食品信息 修改食品信息 删除食品信息 查找食品信息 其他与食品信息相关的常用操作 1) 、食品信息管理类clsMerch (1)创建clsMerch类并添加属性 属性名称数据类型说明 IDLong 食品编号 MerchNameString 食品名称 IntroduceInteger 食品介绍 TypeIdgxcSex 食品类型ID StorageLong 库存量 UnitIDString 单位编号 RemarkString 备注 TypeNameString 食品类型名称 (2)AddNew方法 功能:添加单个食品信息 参数设计:无。 返回值:gxcAddNew类型,参考clsPublic类中gxcAddNew枚举类型的定义。 (3)Update方法 功能:修改食品信息。 参数设计:无。 返回值:gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。 (4)Delete方法 功能:删除食品信息。 本科学生毕业设计论文 - 29 - 参数设计:可选参数lngID表示食品ID,默认为-1。 返回值:gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定义。 3) 食品信息管理集合类clsMerchs 食品信息集合类clsMerchs用来具体处理多个食品的信息,其最小的单元是 clsMerch,它完成与一组食品信息相关的操作,比如查找等。 选择菜单工程添加类模块命令,打开“添加类模块”对话框,选择“VB类生 成器” ,使用类生成器在工程中添加一个集合类,命名为clsMerchs类,在“基于” 下拉列表框中选择clsDBbases,在“集合组成”栏中选择clsMerch类。应用设置后 系统会自动生成一个标准集合类所具有的最基本属性与方法,下面,为clsMerchs 添加必要的方法。 (1)添加AddEx方法 (2)添加Find方法 功能:根据给定参数查找食品信息,结果以clsMerchs类型返回。 参数设计:如下表。 返回值:clsMerchs类型,一个clsMerch的集合。显然当上面两个参数都不指 定时,返回全部食品。 Find参数设计 参数名参数类型功能是否可选及默认值说明 lngIDLong 传入食品ID可选,默认值=0如果取默认值,表示不限制食品ID lngTypeIdLong 传入食品类型ID可选,默认值=0如果取默认值,表示不限制食品类 型 (3)添加FindStorage方法 功能:按库存量排序查找食品,结果以clsMerchs类型返回。 参数设计:参见下表。 返回值:clsMerchs类型,一个clsMerch的集合。 FindStorage方法参数设计 参数名参数类型功能是否可选及默认值说明 IsDescBoolean 表示是否采用降序可选,默认值=true无 nCountInteger 最多显示多少条记录可选,默认值=10无 30 6.1.56.1.5 供货商信息管理模块供货商信息管理模块 供货商信息管理模块的功能需要由clsProvider和clsProviders两个类来实现, 它的主要功能是: 添加供货商信息。 修改供货商信息 删除供货商信息 查找供货商信息 其他与供货商信息相关的常用操作。 1) 供货商信息管理类clsProvider (1) 创建clsProvider类并添加属性 供货商信息类clsProvider用来具体处理单条供货商信息,完成供货商信息的基本 操作功能,如添加、修改、删除等。 clsProvider类的属性设置 属性名称数据类型说明 IDLong 供货商编号 ProviderNameString 供货商名称 IntroduceString 供货商简介 RemarkString 备注 (2)AddNew方法 功能:添加单个供货商信息。 参数设计:无。 返回值:gxcAddNew类型,参考clsPublic类中的gxcAddNew枚举定义。 (3) pdate方法 功能:修改供货商信息。 参数设计:无。 返回值:gxcUpdate类型,参考clsPublic类中的gxUpdate枚举类型的定义。 本科学生毕业设计论文 - 31 - (4)Delete方法 功能:删除供货商信息。 参数设计:可选参数lngID表示供货商信息ID,默认为-1。 返回值:gxcDelete类型,参考clsPublic类中gxcDelete枚举类型的定义。 在删除供货商的同时,必须先删除与这个供货商相关的进货信息,而且要把这两个 操作放在一个事务里面。 2) 供货商信息管理集合类ClsProviders 供货商信息集合类clsProviders用来处理多条供货商信息,其最小的单元是 clsProvider,它完成与一组供货商信息相关的操作,比如查找等。 选择菜单工程添加类模块命令,打开“添加类模块”对话框,选择“VB类生 成器” ,使用类生成器在工程中添加一个集合类,命名为clsProviders类,在“集 合组成”栏中选择clsProvider类。应用设置后系统会自动生成一个标准集合类所 具有的最基本属性与方法,下面,为clsProviders添加必要的方法。 (1) 添加AddEx方法 (2) 添加Find方法 功能:根据给定参数查找供货商信息,结果以clsProviders类型返回。 参数设计:一个可选的类型ID,默认值为-1。 返回值:clsProviders类型,一个clsProvider的集合。省略参数是,返回全 部供货商。 6.1.66.1.6 进货信息管理模块进货信息管理模块 进货信息管理模块的功能需要由clsBuy和clsBuys两个类实现,它的主要功能 是: 添加进货信息。 修改进货信息。 删除进货信息。 32 查找进货信息。 按食品统计分析进货信息。 其他与进货信息相关的常用操作。 1) 进货信息管理类clsBuy (1)创建clsBuy类并添加属性 属性名称数据类型说明 IDLong 进货ID ProviderIdString 供应商ID ProviderNameString 供应商名称 MerchandiseIDLong 食品ID MerchNameString 食品名称 StockDateDate 进货时间 DeliverString 送货人姓名 ConsigneeString 经手人姓名 CountLong 购入量 StockPriceSingle 进货单价 OperatorIdString 操作员ID RemarkString 备注 TypeNameString 食品类型名称 StockTimesLong 进货次数 TotalPriceSingle 总进货支出 (2)AddNew方法 功能:添加单条进货信息。 参数设计:无。 返回值:gxcAddNew类型,请参考clsPublic类中的gxcAddNew枚举定义。 (3)Update方法 功能:修改进货信息。 参数设计:无。 返回值:gxcUpdate类型,请参考clsPublic类中gxcUpdate枚举类型的定 义。 (4)Delete方法 功能:删除进货信息。 本科学生毕业设计论文 - 33 - 参数设计:可选参数lngID表示供货商信息ID,默认值为-1。 返回值:gxcDelete类型,请参考clsPublic类中gxcDelete枚举类型的定 义。 2) 进货信息管理集合类clsBuys (1)添加AddEx方法

温馨提示

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

评论

0/150

提交评论