全套建材管理销售系统需求分析一、系统功能分析 1)基本信息的维护商品类型的建立与维护,包括商品类型的新建、修改和删除等。
商品基本信息管理:包括商品基本信息的新建、修改和删除等。
供货商信息管理:包括供货商信息的新建、修改和删除等。
管理员信息管理:系统管理员的添加、删除和修改密码等。
2)进货管理商品进货信息管理:商品进货信息包括商品进货数量、单价、供货商等。
商品进货管理功能完成进货信息登记、修改和删除等。
分类查看:可以根据商品类型来查看某种商品的进货情况。
更新库存:进货信息的变动直接关系到库存的变化。
进货分析:列出当前进货量最多的前几项商品和进货量最少的前几项商品。
库存分析:列出当前库存量最多的前几项商品和库存量最少的前几项商品。
3)销售管理商品销售信息管理:商品销售信息包括商品销售数量、单价、统计日期等。
商品销售管理功能完成销售信息登记、修改和删除等。
分类查看:可以根据商品类型来查看某种商品的销售情况。
更新库存:销售信息的变动直接关系到库存的变化。
销售分析:列出当前销售量最多的前几项商品和销售量最少的前几项商品。
4)报损管理商品报损信息管理:商品报损信息包括商品报损数量、报损原因等。
商品报损管理功能完成报损信息登记、修改和删除等。
分类查看:可以根据商品类型来查看某种商品的报损情况。
更新库存:报损信息的变动同样直接关系到库存的变化。
报损分析:列出当前报损量最多的前几项商品和报损量最少的前几项商品。
二、系统性能分析 1)多层结构设计严格意义上的三层结构设计,其程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。
本系统采用的上有三层结构进一步扩展而成的多层结构。
2)面向对象设计在系统中将商品类型、商品等都封装成相应的类,同时每个类都有自己对应的集合类和操作类,从而再次提高了对数据库操作的安全性和程序的可扩展性。
3)指导经营的功能进销存管理系统并不仅仅能代替传统的书面操作,更重要的是它提供了信息分析的功能,只要单击一个按钮就可以查到目前销售最好的商品或是库存最多的商品,从而起到指导经营的作用。
三、系统功能模块设计按结构化程序设计思想,分析得出如下系统功能模块图:系统功能模块图数据库设计 1、数据库需求分析 1)针对建材管理销售系统管理系统,分别对采购部门、销售部门和库存保管部门进行详细的调研和分析,总结出如下的需求信息:商品按类管理,所以需要有一商品类型信息。
商品必须属于一个商品类型。
如果一个商品类型存在商品,或存在下级商品类型,则该类型不可删除。
需要记录供应商品信息。
在涉及商品数量的地方,要给出相应的单位。
商品销售信息单中要包含登记商品销售数量、单价等信息。
在进货信息中要包含商品供应商等信息。
商品报损要有报损原因。
进货、销售、报损操作要有相应操作员信息。
只有管理员登录之后才可以使用系统。
默认的管理员不可以删除。
进货、销售、库存、报损信息都要可以添加、修改、删除、分类查找。
当进行进货、销售和报损操作后,能相应更新库存。
需要对进货、销售、库存、报损进行分析,总结热门商品。
2)经上述系统功能分析和需求总结,考虑到将来功能的扩展,设计如下的数据项和数据结构:商品类型信息,包括数据项有:商品类型编号、商品类型名称等。
商品信息,包括的数据项有:商品编号、商品名称、商品介绍、库存量等。
商品单位信息,包括单位编号、单位名称等。
供应商信息,包括供应商名称、介绍等。
进货信息,包括进货商品、数量、单位、单价、进货时间经手人等。
销售信息,包括销售商品、数量、单位、单价、登记时间等。
报损信息,包括报损商品、数量、单位、原因、登记时间等。
管理员信息,包括管理员账号、密码、是否是默认账号等。
2、数据库概念结构设计本系统根据以上的设计规划出的实体有:商品类型信息实体、商品信息实体、商品单位信息实体、供应商信息实体、进货信息实体、销售信息实体、报损信息实体和管理员信息实体。
各个实体具体的描述E-R图如下模块软件设计一、开发业务逻辑处理组件进销存业务处理组件用来处理进销存管理系统中的业务逻辑,既负责与界面进行数据传递,同时也要将界面端的请求应用业务逻辑之后对数据库进行操作。
它包含以下功能:λ商品类型信息管理,对应clsMType类和clsMTypes类。
λ商品信息管理,对应clsMerchandise类和clsMerchandises类。
λ供应商信息管理,对应ClsProvider类和ClsProviders类。
λ进货信息管理,对应clsBuy类和clsBuys类。
λ销售信息管理,对应clsSell类和clsSells类。
λ报损信息管理,对应clsDispose类和clsDisposes类。
λ管理员信息管理,对应clsAdmini类和clsAdminis类。
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表示失败。
(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 更新数据 Delete gxcDelete 删除数据 DeleteEx 无gxcDelete 删除数据然后再新建一个集合类clsDBbase,作为集合类的模板类,集合组成选clsDBbase,如下表所示。
名称参数返回值说明 AddNew Obj As clsDBbase 无以对象为单位添加元素 Clear 无清空集合Find Optional lngID As Long=-1 Optional lngTypeId AsLong=0 clsDBbase 查找数据(3)使用模板类模板类的使用很简单,在用类生成器新建类时,只要在“基于”下拉列表框中选择所需要的模板类即可。
3、商品类型信息管理模块商品类型信息管理模块的功能需要由clsMType和clsMTypes两个类来实现,它的主要功能是:λ添加商品类型信息。
λ修改商品类型信息。
λ删除商品类型信息。
λ查找商品类型信息。
λ其他与商品类型相关的常用操作。
1)、商品类型信息管理类clsMType (1)创建clsMType类并添加属性商品类型信息类clsMType用来处理单个商品类型的信息,实现商品类型操作的基本功能,如添加、修改、删除等。
选择菜单[工程]—[添加类模块]命令,打开“添加类模块”对话框,选择“VB类生成器”,使用类生成器向工程中添加clsMType类,基于下拉列表框中选择clsDBbase。
如下表所示。
属性名称数据类型属性声明ID Long Get/Let SuperID Long Get/Let TypeName String Get/Let 属性添加完毕并应用后,可以看到在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中方法的定义。