四.模块软件设计 1、开发业务逻辑处理组件 copyright paper51.com 进销存业务处理组件用来处理进销存管理系统中的业务逻辑,既负责与界面进行数据传递,同时也要将界面端的请求应用业务逻辑之后对数据库进行操作。它包含以下功能: copyright paper51.com l 药品类型信息管理,对应clsMType类和clsMTypes类。 http://www.paper51.com l 药品信息管理,对应clsMerchandise类和clsMerchandises类。 http://www.paper51.com l 供应商信息管理,对应ClsProvider类和ClsProviders类。 内容来自www.paper51.com
l 进货信息管理,对应clsBuy类和clsBuys类。 内容来自www.paper51.com l 销售信息管理,对应clsSell类和clsSells类。 copyright paper51.com
l 报损信息管理,对应clsDispose类和clsDisposes类。 内容来自论文无忧网 www.paper51.com
l 管理员信息管理,对应clsAdmini类和clsAdminis类。 内容来自论文无忧网 www.paper51.com 1、信息管理类加集合类的设计思想 copyright paper51.com
在本组件中,每一个模块的设计都是由这个模块的信息管理类加与之对应的集合类求实现的。具体完成的功能如下: copyright paper51.com
l 在信息管理类:实现与单个信息相关的操作,包括添加、修改和删除。 paper51.com l 在信息管理集合类:实现与多个信息先观的操作,主要是根据不用的条件查找。 http://www.paper51.com 因此,每个模块在设计上都是独立的,除非它在逻辑上有不可分割的关系,如进货信息的操作,与药品库存直接挂钩,将进货信息表的操作与药品表的操作放入到一个事务中,这样来确保数据的安全性与一致性。 http://www.paper51.com 2、创建组件的通用模块 paper51.com 这里需要给组件添加两个通用模块,他们分别是: paper51.com l 自定义枚举类clsPunliv:主要功能是保存一些自定义枚举类型。 内容来自论文无忧网 www.paper51.com l 公共模块mdlMain:组件初始化的函数和数据库操作的常用函数与过程。 http://www.paper51.com 1)自定义枚举类 内容来自论文无忧网 www.paper51.com 我们已经将新建工程时自动生成的类名称设为clsPublic,此类没有其他具体的意义,主要功能是保存一些自定义枚举类型,,这些枚举类型在以后其他各类中要经常用到,所以这里首先介绍。 http://www.paper51.com
2)组件的公共模块 内容来自www.paper51.com 在工程中添加一个模块,命名为mdlMain,此模块有两个功能: paper51.com
l 用来连接数据库及相关的初始化操作。 内容来自论文无忧网 www.paper51.com l 存放在对数据库的操作过程中可能用到的一些公共函数。 copyright paper51.com (1)添加全局变量 http://www.paper51.com
(2)Sub Main()过程——组件启动入口 http://www.paper51.com 手动加入Sub Main()过程,这个就是刚才在“工程属性”中指定的启动对象。这个过程完成ActiveX DLL的初始化工作。在这个过程中假如对g_DBPath的默认设置,并打开数据库连接。 http://www.paper51.com 在Sub Main 中的ConnectToDatabase函数,功能是用来连接到数据库。 copyright paper51.com
(3)ConnectToDatabase函数——与数据库建立连接 内容来自论文无忧网 www.paper51.com l 功能:根据传入参数是DBAccess还是DBSQLSever来决定连接到Access数据库还是SPLSever数据库。 copyright paper51.com l 参数设计:gxDBType类型,参见clsPublic类中的枚举定义。 copyright paper51.com l 返回值:Boolean类型,True表示成功,False表示失败。 内容来自论文无忧网 www.paper51.com (4)RealString——替换字符串的单引号 paper51.com (5)MaxID——获取编号的最大值 paper51.com MaxID函数用来获取表中当前主健的最大值,这个函数用于在数据库中添加新记录后,立即获取刚才添加记录的主健值。 http://www.paper51.com 3)创建模块类 copyright paper51.com (1)设计、总结公共属性和方法 http://www.paper51.com 单个模型的信息管理类有以下共同的属性和方法: http://www.paper51.com
l 属性ID copyright paper51.com l 方法AddNew() http://www.paper51.com
l 方法Update() http://www.paper51.com l 方法Delete(lngID As Long) http://www.paper51.com l 方法DeleteEx() copyright paper51.com
多个模型的集合类有以下共同的属性和方法: 内容来自论文无忧网 www.paper51.com l 方法AddEx copyright paper51.com l 方法Clear 内容来自www.paper51.com l 方法Find 内容来自论文无忧网 www.paper51.com (2)创建模板类 内容来自www.paper51.com 下面,首先利用类生成器创建一个类clsDBbase,作为模板类,向其中添加一个属性,名称为ID,类型为Long,声明为Let/Get,然后,如下表所示。 copyright paper51.com 名称 copyright paper51.com 参数 copyright paper51.com
返回值 内容来自论文无忧网 www.paper51.com 说明 内容来自www.paper51.com AddNew paper51.com 无 内容来自论文无忧网 www.paper51.com gxcAddNew 内容来自www.paper51.com 添加数据 内容来自www.paper51.com Update http://www.paper51.com 无 内容来自www.paper51.com gxcUpdate paper51.com 更新数据 内容来自www.paper51.com Delete 内容来自论文无忧网 www.paper51.com gxcDelete http://www.paper51.com 删除数据 内容来自论文无忧网 www.paper51.com DeleteEx http://www.paper51.com 无 内容来自www.paper51.com gxcDelete 内容来自论文无忧网 www.paper51.com 删除数据 http://www.paper51.com
然后再新建一个集合类clsDBbase,作为集合类的模板类,集合组成选clsDBbase,如下表所示。 copyright paper51.com 名称 copyright paper51.com
参数 copyright paper51.com 返回值 http://www.paper51.com 说明 paper51.com AddNew 内容来自www.paper51.com Obj As clsDBbase 内容来自www.paper51.com 无 paper51.com 以对象为单位添加元素 paper51.com Clear copyright paper51.com 无 paper51.com 清空集合 http://www.paper51.com Find copyright paper51.com Optional lngID As Long=-1 内容来自论文无忧网 www.paper51.com Optional lngTypeId As Long=0 内容来自www.paper51.com clsDBbase paper51.com 查找数据 内容来自论文无忧网 www.paper51.com
(3)使用模板类 paper51.com 模板类的使用很简单,在用类生成器新建类时,只要在“基于”下拉列表框中选择所需要的模板类即可。 paper51.com 3、药品类型信息管理模块 内容来自www.paper51.com 药品类型信息管理模块的功能需要由clsMType和clsMTypes两个类来实现,它的主要功能是: 内容来自论文无忧网 www.paper51.com l 添加药品类型信息。 内容来自www.paper51.com l 修改药品类型信息。 copyright paper51.com l 删除药品类型信息。 http://www.paper51.com l 查找药品类型信息。 paper51.com l 其他与药品类型相关的常用操作。 paper51.com
1)、药品类型信息管理类clsMType http://www.paper51.com (1)创建clsMType类并添加属性 内容来自论文无忧网 www.paper51.com 药品类型信息类clsMType用来处理单个药品类型的信息,实现药品类型操作的基本功能,如添加、修改、删除等。 paper51.com 选择菜单[工程]—[添加类模块]命令,打开“添加类模块”对话框,选择“VB类生成器”,使用类生成器向工程中添加clsMType类,基于下拉列表框中选择clsDBbase。如下表所示。 内容来自论文无忧网 www.paper51.com paper51.com |