版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-4"\h\z目录 公司总经理公司总经理财务部财务科业务部公司副总经理管理部后勤部销售科采购科人事部办公室会计科2.2系统的初步调查1、系统资源系统对人、财、物进行了合理的、有序的安排,尽量减少对人员、财物的浪费,节约时间,提高员工的工作效率。系统资源的合理利用对将来的子系统的开发有重要的影响,在开发过程中,要做出开发进度的安排、人员的调配、所需设备的配置等一系列问题。2、系统的用户环境目前企业内部极为缺乏专门从事计算机工作的技术人员,这一方面要求我们所设计系统简单、明了,并易于操作,另一方面企业也要及时对工作人员进行微机培训。该企业设备先进,并且新购进了一批电脑。以上因素既为我们成功开发本系统提出了一定的基础,又为系统提供了良好的硬件设备。3、现行系统概况该企业现在还没有使用计算机进行管理。其进销存业务所产生的一些单据、档案完全靠书面形式保管,其盘点统计都要通过手工计算,其信息咨询都要通过人员传递。该企业是一个主要经营食品的企业,而食品的保质期又受时间的影响较大,因而其进销存业务不同于一般的工业企业,具有自身的一些特点。这套系统的诞生,使计算机代替了手工,提高了生产经营的效率。4、其他该企业准备采用计算机来管理企业,并且根据自身管理水平和人员素质情况,决定采用逐步完善的战略,不断提高自身管理水平,在设备上逐渐配备,人员上分类分批进行培训。通过实际调查,要求本系统具有以下功能:由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面。如果系统的使用对象较多,则要求有较好的权限管理。方便的数据查询,支持多条件查询。批量填写进货单及销售单。与代理商和供应商往来账本明细,绝不存在假账、漏账、差账等情况。图表分析月销售状况。当外界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。在相应的权限下,删除数据方便简单、数据稳定性强。数据计算自动完成,尽量减少人工干预。强大的报表打印功能。本系统后台数据库采用目前比较流行的MicrosoftSQLServer,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;前台采用Microsoft公司的作为主要的开发工具,其可与SQLServer2000数据库无缝链接。2.3系统开发的目标和思想本系统旨在为用户创造操作方便、可靠,并且具有一套高效化的软件系统支持以及完整的工程管理规范标准等良好的使用环境,实现在经营过程中对信息的收集、处理、存储、传递,并建立相应的数据库及数据库管理系统,力求功能强,具有针对性及完备性,提供信息咨询服务,对采购员、业务员、客户、供应商进行评价,为生产经营提供决策的依据,减少人工管理体制下的重复性的工作,为提高企业的经济效益服务。系统应达到的功能:1、该系统采用模块化结构,层次清楚,整个系统使用分层菜单,清晰的屏幕提示,美观大方的菜单,及时准确地反馈信息,引导用户正确使用系统,做到多而不乱。2、提示通俗易懂。当管理人员或技术人员使用该系统时,都有足够的提示信息。程序操作符合管理人员的习惯,键盘工作量小,使用方便。3、操作失误保护。无论管理者如何选取菜单或回答提问,都不会导致系统中断,在每个用户需要回答之间都设有操作失误保护机构。4、查询资料简便。在仓库管理中有许多信息包括:商品名称、商品数量、供应商等。本系统给出了简便的查询界面方便使用者查询使用。5、维护手段齐全。系统能够提供方便的文件移动、存储、清除和修改功能,并且具有资料恢复和批量资料装入等多种维护功能。6、实用性。对整个系统既要解决存储大量资料,又要响应快的矛盾问题,采用多种有效的措施,同时为资料维护提供了充分的手段和保密方式,使系统具有较好的实用性。7、编制各分模块系统功能结构图,可使整个管理一目了然,对管理者极为方便。2.4系统开发方法本系统的开发采用了快速原型法(RPPRapidPrototypePing)。即在总体设计思想的指导下,根据公司提出的基本需求,选择一些关键的子系统作为基本原型,并加以实现,然后逐步扩大原型向整个系统的其它方面延伸,最终达到系统的开发目标,以得到整个系统。这种方法强调了用户至上的原则,要求用户的高层管理人员参加,对用户现行的组织结构,管理方式及管理方法的冲突较少,而且用户逐步得到系统,易于接受,所以成功率较高。快速原型法的开发过程如下:1、确定系统的基本要求和功能。2、建造初始快速原型框架。3、运行、评价、修改快速原型框架。4、建造各子系统的快速原型,并将其连接到总体原型系统。5、补充完善原型,形成最终的管理信息系统。这种方法的主要优点在于:系统开发效益高。运用快速原型法可以使系统开发的周期短,速度快,费用低,获得较高的综合开发效益。系统的可维护性。由于用户参与了系统开发的全过程,对系统的功能容易接受和理解,使得移交工作比较顺利,而且有利于系统的运行,管理与维护。系统适用性强。由于快速原型法是以用户为中心的,系统的开发符合用户的实际需要,所以系统开发的成功率高,容易被用户接受。系统的可扩展性。由于快速原型法开始并不考虑许多细节问题,系统是在原型应用中不断修改完善的。所以系统具有较强的可扩展性,功能的增减都比较灵活方便。2.5数据流程图:数据流程图是描述系统逻辑模型的主要工具,我们采取结构化分析的方法绘制数据流程图,基本思想:自顶向下,由外向里,逐步分解。数据流程图不但能够反映现行系统中数据处理的逻辑功能,而且能用它来反映将要建立的新系统的逻辑模型,因此数据流程图是系统分析有力的工具,熟练地掌握数据流程图的画法,对系统分析员来说是至关重要的。P1系统登录P1系统登录系统用户系统用户P2基础数据管理P3P2基础数据管理P3进货管理P6系统管理P5P6系统管理P5库存管理P4销售管理2.6系统设计工具系统运行环境为Win2000操作系统,前台系统操作界面采用VisualBasic6.0开发的,后台数据库采用SQLServer2000。
SQLServer2000具有非常强大的关系数据库的创建、开发、设计及管理功能,并对Microsoft公司的其它产品及第三方产品具有良好的兼容性,能方便地实现无缝操作。此外,SQLServer2000对开发工具提供良好的支持,能为大型数据库项目提供优秀的企业解决方案。
虽说VisualBasic6.0不是现在所流行的编程工具,但是它也是一个功能强大可视化的开发工具,它具有强大的数据库管理功能、创建资料库应用的各种向导和内建的报表编辑器,并且还具有编译与打包的功能。此系统所采用的ADO数据访问接口技术,此技术访问速度快,并还可以访问诸如access、SQL等数据库。它们能够方便快捷地产生具有良好接口而且功能强大的数据库应用程序。
由于SQLServer2000和VisualBasic6.0都是微软的产品,它们的兼容性强,性能优越、界面友好。而且ADO数据访问接口技术先进,学习起来简单,便于快速开发。基于VisualBasic6.0和SQLServer2000各自的优点以及其双方相兼容的好处,选用了这两种工具来完成本次毕业设计。2.7系统设计目标1.系统运行集成化:这是ERP应用成功在技术解决方案方面最基本的表现。ERP系统是对企业物流、资金流、信息流进行一体化管理的软件系统,其核心管理思想就是实现对“供应链(SupplyChain)”的管理。软件的应用将跨越多个部门甚至多个企业。为了达到预期设定的应用目标,最基本的要求是系统能够运行起来,实现集成化应用,建立企业决策完善的数据体系和信息共享机制。2.业务流程合理化:这是ERP应用成功在改善管理效率方面的体现。ERP应用成功的前提是必须对企业实施业务流程重组,因此,ERP应用成功也即意味着企业业务处理流程趋于合理化,并实现了ERP应用的以下几个最终目标:企业竞争力得到大幅度提升;企业面对市场的响应速度大大加快;客户满意度显著改善。3、绩效监控动态化:ERP的应用,将为企业提供丰富的管理信息。如何用好这些信息并在企业管理和决策过程中真正起到作用,是衡量ERP应用成功的另一个标志。在ERP系统完全投入实际运行后,企业应根据管理需要,利用ERP系统提供的信息资源设计出一套动态监控管理绩效变化的报表体系,以期即时反馈和纠正管理中存在的问题。这项工作,一般是在ERP系统实施完成后由企业设计完成。企业如未能利用ERP系统提供的信息资源建立起自己的绩效监控系统,将意味着ERP系统应用没有完全成功。4、理改善持续化:随着ERP系统的应用和企业业务流程的合理化,企业管理水平将会明显提高。为了衡量企业管理水平的改善程度,可以依据管理咨询公司提供的企业管理评价指标体系对企业管理水平进行综合评价。评价过程本身并不是目的,为企业建立一个可以不断进行自我评价和不断改善管理的机制,才是真正目的。这也是ERP应用成功的一个经常不被人们重视的标志。2.4.2系统设计近期:1.建立基本资料信息库,规范所有资料信息。2.物料控制半自动化,加强了各个关口之间的联系。3.高库存管理的服务水平,最大限度地降低库存量,以减少在库存上的资金积压。4.集成管理职能,提高管理效率。5.达到ERP系统管理软件的部分模块功能。2.8系统的可行性分析1、技术上的可行性副食品公司的计算机配置较高,不仅可以安装Windows98和Win2000的运行环境,而且有足够的空间可以安装运行平台、数据库和各类编程工具,在编程环境上提供了可靠的支持;我们编程人员方面,可以运用以前所学的各种开发软件的计算机知识和管理知识,加上不断的学习,为系统的开发提供了必要的技术保障。由于我们的数据库不算太大,我们就应用了VISUALBASIC程序开发系统以及MICROSOFTACCESS数据库系统软件。2、经济上的可行性运用计算机来管理可以给企业带来许多方便:提高了工作效率,从而提高了企业的管理水平;节省了人力,减轻了管理人员的工作负担。本系统属于一个工具型的系统,它可以节省工作人员大量资料收集、录入、分类、整理、查询、修改等手工操作,而且迅速准确,能够极大地提高工作效率,同时促进业务的规范化、程序化,及时给企业领导提供必要决策支持。本系统开发所需的费用较低,资料由公司提供,利用现有的设备和装置,不需要其它费用。3、管理上的可行性现代化的企业依赖现代化的管理,而现代化的管理离不开成功的管理信息系统。管理信息系统的建立会提高工作效率从而提高企业的管理水平;节省了人力、减轻了有关业务人员的手工处理的工作负担;能够给企业领导提供决策信息;与此同时系统的建立还促进了业务的规范化、程序化;进一步还可促进有关管理方式的与体制的合理改革。企业内部的管理人员均具有高等学历和丰富的管理经验,并且在企业内部具有一套合理的管理体制,完善的规章制度,科学的管理方法和程序,这就使得先进的管理水平与先进的信息处理手段相互协调,进一步促进企业的发展。因此,此系统的开发受到了公司领导及员工的一致赞同。通过以上从技术、经济、管理三方面的研究与调查,我们可以确定该系统是可行的。第三章系统总体设计3.1项目规划进销存管理系统具体规划如下:进货管理模块该模块主要负责商品的进货数据录入、进货退货数据录入、进货分析、进货统计(不含退货)、与供应商往来对账。销售管理模块该模块主要负责商品的销售数据录入、销售退货数据录入、销售统计(不含退货)、月销售状况(销售分析、明细帐本)、商品销售排行、往来分析(与代理商对账)、商品销售成本表。库存管理模块库存管理模块主要负责库存状况、库存商品数量上限报警、库存商品数量下限报警、商品进销存变动表、库存盘点(自动盘赢盘亏)。基础数据管理模块基础数据管理模块主要负责对系统基本数据录入,相关基础数据为:库存商品、往来单位、内部职员。系统维护模块本单位信息、操作员设置、操作权限设置、数据备份和数据库恢复、数据清理。3.2系统功能结构图SEQ图1.\*ARABIC1系统功能结构图3.2数据库设计根据以上分析和系统规划,设计出如下的数据库表。表1库存商品信息表(tbS_Stock)字段名数据类型长度描述tradecodevarchar5商品编号fullnamevarchar20商品全称namevarchar10商品简称typevarchar10商品型号standardvarchar10商品规格unitvarchar10单位producevarchar20产地qtyfloat8库存数量pricefloat8进货时的最后一次进价averagepricefloat8加权平均价salepricefloat8销售时的最后一次销价stockcheckfloat8盘点数量upperlimitint4存货报警上限lowerlimitint4存货报警下限provideinfvarchar40商品供货信息memovarchar40备注spellvarchar20商品拼音简码表2进货表(tbS_warehouse_main)字段名数据类型长度描述billdatedatetime8录单日期billcodevarchar20单据编号unitsvarchar20供货单位handlevarchar10经手人summaryvarchar100摘要fullpaymentfloat8应付金额paymentfloat8实付金额表3进货明细表(tbS_warehouse_detailed)字段名数据类型长度描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品名称typevarchar10商品型号standardvarchar10商品规格producevarchar20产地unitvarchar4单位qtyfloat8数量pricefloat8进价tsumfloat8金额billdatedatetime8入帐日期表4销售表(tbS_sell_main)字段名数据类型长度描述billdatedatetime8录单日期billcodevarchar20单据编号unitsvarchar20购货单位handlevarchar10经手人summaryvarchar100摘要fullgatheringfloat8应收金额gatheringfloat8实收金额表5销售明细表(tbS_sell_detailed)字段名数据类型长度描述billcodevarchar20单据编号tradecodevarchar20商品编号fullnamevarchar20商品全称typevarchar10商品类型standardvarchar10商品规格producevarchar20商品产地unitvarchar4单位qtyfloat8数量pricefloat8单价tsumfloat8金额billdatedatetime8入帐日期表6往来对账明细表(tbS_currentaccount)字段名数据类型长度描述billdatedatetime8录单日期billcodevarchar20单据编号summaryvarchar100摘要addgatheringfloat8应收增加reducegatheringfloat8应收减少balancefloat8应收余额unitsvarchar20往来单位表7通讯录(tbS_address)字段名数据类型长度描述IDint姓名varchar10性别varchar10电子邮件varchar50住宅varchar50移动varchar20个人网页varchar50业务varchar20业务varchar20职务varchar12部门varchar20办公室varchar20公司名称varchar50业务网页varchar50表8员工信息表(tbS_employ)字段名数据类型长度描述employecodevarchar5员工编号fullnamevarchar10全称namevarchar20姓名sexvarchar2性别departmentvarchar20部门telvarchar20memovarchar40备注表9记事本表(tbS_notepad)字段名数据类型长度描述IDint日期datetime标题varchar50内容Text16表10系统用户表(tbS_power)字段名数据类型长度描述sysuservarchar20用户名passwordvarchar20密码stockbit库存venditionbit销售storagebit存货systembit系统basebit基本信息表11销售退货明细表(tbS_resell_detailed)字段名数据类型长度描述billcodevarchar20编号tradecodevarchar20贸易编号fullnamevarchar20商品全称standardvarchar10标准typevarchar10类型producevarchar20产品unitvarchar4单元qtyfloat数量pricefloat单价tsumfloat统计billdatedatetime入帐日期表12销售主表(tbS_resell_main)字段名数据类型长度描述billdatedatetime入帐日期billcodevarchar20帐单编号unitsvarchar20单位handlevarchar10经手人summaryvarchar100摘要fullpaymentfloat付款总额paymentfloat付款金额表13销售退货明细表(tbS_rewarehouse_detailed)字段名数据类型长度描述billcodevarchar20帐单编号tradecodevarchar20贸易编号fullnamevarchar20商品全称typevarchar10类型standardvarchar10规格producevarchar20产品unitvarchar4单位qtyfloat数量pricefloat单价tsumfloat统计数量billdatedatetime入帐日期表14销售退货主表(tbS_rewarehouse_main)字段名数据类型长度描述billdatedatetime入帐日期billcodevarchar20帐单编号unitsvarchar20单位handlevarchar10经手人summaryvarchar100摘要fullgatheringfloat收款总数gatheringfloat收款表15销售排行表(tbS_sell_DESC)字段名数据类型长度描述tradecodevarchar20贸易编号fullnamevarchar20商品全称qtyfloat数量tsumfloat统计表16临时表(tbS_temp)字段名数据类型长度描述billdatevarchar8入帐日期qtyfloat数量tsumfloat统计数量tradecodevarchar20贸易代码表17软件使用单位表(tbS_unit)字段名数据类型长度描述namevarchar30名称taxvarchar30telvarchar20linkmanvarchar10联系人addressvarchar60地址accountsvarchar80帐号表18商品单位表(tbS_units)字段名数据类型长度描述unitcodevarchar5编号fullnamevarchar20商品全称namevarchar10名称taxvarchar30telvarchar20linkmanvarchar10联系人addressvarchar60地址accountsvarchar80帐号gatheringfloat收款金额paymentfloat付款金额spellvarchar20商品简称表19进货退货明细表(tbS_warehouse_detailed)字段名数据类型长度描述billcodevarchar20帐单编号tradecodevarchar20贸易编号fullnamevarchar20商品全称typevarchar10类型standardvarchar10规格producevarchar20产品unitvarchar4单位qtyfloat数量pricefloat单价tsumfloat统计billdatedatetime入帐日期表20进货退货表(tbS_warehouse_main)字段名数据类型长度描述billdatedatetime入帐日期billcodevarchar20帐单编号unitsvarchar20单位handlevarchar10经手人summaryvarchar100摘要fullpaymentfloat付款总额paymentfloat付款金额第四章系统详细设计4.1系统登录设计系统登录主要用于对进入进销存管理系统的用户进行安全性检查,以防止非法用户进入该系统。只有合法的用户,才可以进入系统,同时根据管理员分配的权限,给予操作员相应的操作权限。验证操作员及其密码,主要通过记录集结果(RecordSet)并结合If语句判断用户选定的操作员及其输入的密码是否符合数据库中的操作员和密码,如果符合则允许登录,并给予相应的权限,否则提示用户非法登录。系统登录窗体运行结果如图1所示。图1系统登录窗体1.窗体设计(1)新建一个窗体,将窗体的“名称”属性设置为frm_login,BorderStyle属性设置为0-None,设置Picture属性,为窗体添加图片。(2)在窗体上添加Adodc控件,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框将其添加到工具箱中。添加方法为:在“工程”/“部件”对话框中勾选“MicrosoftAdoDataControls6.0(SP4)”列表项。(3)在窗体中添加2个文本框控件,分别设置“名称”属性为txtName和txtPassword,设置BorderStyle属性为0-None。(4)在窗体中添加2个Label控件,使用默认名称、设置BackStyle属性为0-Transparent”,Label3和Label4的Caption属性为“登录”和“取消”。2.代码设计在代码窗口的声明部分定义如下变量。DimtxtRSAsString在窗体装载事件中,通过ADO控件的ConnectionString属性建立数据库连接,代码如下:PrivateSubForm_Load()Adodc1.ConnectionString=PublicStr‘建立数据库连接Adodc1.RecordSource="select*fromtbS_power"‘执行SQL语句Adodc1.Refresh‘刷新数据源EndSub当鼠标移动到Form窗体范围内,将Label3和Label4中的字体颜色设置为黑色。PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,yAsSingle)Label3.ForeColor=&H80000012‘设置控件的前景色(字体颜色)Label4.ForeColor=&H80000012EndSub鼠标单击Label1控件,对进入系统的用户进行安全性检查并给予分配权限。PrivateSubLabel1_Click()Adodc1.RecordSource="select*fromtbS_power"OnErrorResumeNext‘错误处理txtRS=Adodc1.Recordset.Fields(0)‘获得用户名称IftxtRS=""Then'首先判断该系统是否有用户MsgBox"尊敬的用户,你还没有注册为本系统用户,请尽快注册为系统用户"frm_main.Show'显示主窗体frm_setOP.Show'显示指定的窗体frm_main.Enabled=FalseUnloadMe‘卸载登录窗体ExitSubEndIfAdodc1.RecordSource="select*fromtbS_powerwheresysuser='"+txtName.Text+"'andpassword='"+txtPassword.Text+"'"‘验证用户身份'管理员最高权限IfAdodc1.Recordset.Fields(2).Value=0OrAdodc1.Recordset.Fields(3).Value=0OrAdodc1.Recordset.Fields(4).Value=0OrAdodc1.Recordset.Fields(5).Value=0OrAdodc1.Recordset.Fields(6).Value=0ThenElsefrm_main.Show'窗体的Show方法显示指定的窗体UnloadMeExitSub‘结束当前过程4.2进货单的设计在商品进货过程中,如果进货的商品品种较多、数量也很大,那么使用文本框一条一条的录入数据,效率将会很低。VB提供的MSFlexGrid控件,处理数据比较灵活,虽然显示的数据是只读的,但可以通过TextBox控件向MSFlexGrid控件中输入数据,然后使用For循环逐一将表格中数据添加到数据表中。1.窗体设计(1)新建1个窗体,将窗体的“名称”属性设置为frm_stockBill,Caption属性设置为“进货单”、MaxButton属性为False。(2)在窗体上添加Adodc控件和DataGrid控件,由于这两个控件属于ActiveX控件,在使用前必须从“部件”对话框(如图2所示)将其添加到工具箱中,添加方法为:在“工程”/“部件”对话框中勾选“MicrosoftAdoDataControls6.0(SP4)”列表项(Adodc控件)和勾选“MicrosoftDataGridControls6.0(SP5)”列表项(DataGrid控件)。图2添加ActiveX控件在窗体中添加3个DataGrid控件,使用默认名称,分别设置控件的选取框样式,在DataGrid控件上单击鼠标右键,选择“属性”菜单,弹出“属性页”,选择“拆分”选项卡,将DataGrid控件的选取边框样式设置为4-dbgHighlightRowRaise,如图3所示。图3设置边框样式(3)在窗体中添加6个ADO控件,名称分别为Adodc1、Adodc2、AdoCount、AdoStock、AdoEmploy、AdoUnits,Visible属性均设置为False。(4)在窗体中添加TextBox控件、Label控件和CommandButton控件。(5)添加DTPicker控件,该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱中。添加方法为:在“工程”/“部件”对话框中勾选“”列表项,添加DTPicker控件后,其名称为默认的DTPicker1。(6)添加MSFlexGrid控件,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱,添加方法为:在“工程”/“部件”对话框中勾选“MicrosoftFlexGridControls6.0(SP3)”列表项。添加后,设置名称为“MS1”,其他属性均为默认设置。进货管理窗体的设计结果如图4所示。图4进货单窗体的设计结果2.代码设计窗体的装载过程中,主要实现以下功能:(1)建立数据库的连接,初始化ADO数据源。(2)将职员表、往来单位表、库存表通过Set语句绑定到相应的DataGrid表格中。(3)初始化MSFlexGrid表格总行数和总列数、列标题。PrivateSubForm_Load()Adodc1.ConnectionString=PublicStr‘建立数据库连接Adodc1.RecordSource="select*fromtbS_warehouse_main"‘初始化数据源Adodc2.ConnectionString=PublicStrAdodc2.RecordSource="select*fromtbS_warehouse_detailed"adoCount.ConnectionString=PublicStradoCount.RecordSource="select*fromtbS_currentaccount"AdoUnits.ConnectionString=PublicStrAdoUnits.RecordSource="selectunitcode,fullnamefromtbS_units"SetDataGrid2.DataSource=AdoUnitsAdoEmploy.ConnectionString=PublicStrAdoEmploy.RecordSource="selectemployecode,fullnamefromtbS_employ"SetDataGrid1.DataSource=AdoEmploy‘使用Set语句设置DataSource属性AdoStock.ConnectionString=PublicStrAdoStock.RecordSource="select*fromtbS_stock"SetDataGrid3.DataSource=AdoStockAdodc1.RecordSource="select*fromtbS_warehouse_mainorderbybillcode"IfAdodc1.Recordset.RecordCount>0Then‘>0查询到结果……EndSub4.3月销售状况设计月销售状况窗体下含有两个子窗体和一个商品销售状况报表,结构如图5所示。窗体分别为销售分析窗体和明细帐本窗体。笔者在此主要讲解月销售状况窗体和销售分析窗体。图5月销售状况模块结构图月销售状况主要先统计当年的所有商品销售数据信息(含销售退货)和净销售商品数据信息,然后根据分析出的基础数据,以商品为单位利用图表进行月销售分析;以商品为单位分析商品的销售明细账本和销售退货明细账本。月销售状况模块运行结果如图6所示。图6月销售状况模块运行结果1.月销售状况窗体设计(1)新建一个窗体,将窗体的“名称”属性设置为frm_saleStatus,Caption属性设置为“月销售状况”、MaxButton属性为False。(2)在窗体中添加1个DataGrid控件,使用默认名称;在窗体中添加3个Adodc控件均使用默认名称。(3)添加Toolbar控件和ImageList控件到工具箱在窗体上制作工具栏是通过Toolbar控件和ImageList控件共同来实现的。Toolbar控件和ImageList控件都属于ActiveX控件,使用时需要从“部件”对话框中添加。(4)在窗体上添加StatusBar控件,为窗体设计状态栏,在状态栏的窗格中显示合计商品销售数量和销售金额。2.月销售状况代码设计在窗体装载时统计全年的商品销售状况。主要使用SQL语句左外联接技术(左向外联接的结果集包括LEFT子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。)将销售明细表(tbS_sell_detailed)和销售退货明细表(tbS_resell_detailed)进行统计计算,并显示销售数量和销售金额及除去净销售数量和销售金额(不含退货)。代码如下:PrivateSubForm_Load()Adodc1.ConnectionString=PublicStr'共享数据库连接Adodc2.ConnectionString=PublicStrAdodc3.ConnectionString=PublicStr'ADO控件的RecordSource执行SQL语句统计销售状况Adodc1.RecordSource="selecta.tradecodeas商品编号,a.fullnameas商品名称,a.qtyas销售数量,a.priceAS销售均价,a.tsumas销售金额,a.qty-b.qty2as'销售数量【含退货】',a.tsum-b.tsum2as'销售金额【含退货】'from(SELECTtradecode,fullname,avg(price)asprice,sum(qty)ASqty,sum(tsum)astsumfromtbS_sell_detailedgroupbytradecode,fullname)aleftjoin(SELECTtradecode,fullname,sum(qty)ASqty2,sum(tsum)astsum2fromtbS_resell_detailedgroupbytradecode,fullname)bona.tradecode=b.tradecode"SetDataGrid1.DataSource=Adodc1'将数据源绑定到DataGrid控件上DataGrid1.Columns(0).Width=12*25*3'初始化DataGrid单元格的宽度DataGrid1.Columns(1).Width=12*25*7DataGrid1.Columns(2).Width=12*25*3DataGrid1.Columns(3).Width=12*25*3DataGrid1.Columns(4).Width=12*25*3DataGrid1.Columns(5).Width=12*25*6DataGrid1.Columns(6).Width=12*25*6'ADO控件的RecordSource执行SQL语句统计销售数量和销售金额Adodc2.RecordSource="SELECTSUM(qty)AS销售数量,SUM(tsum)AS销售金额FROMtbS_sell_detailed"Adodc3.RecordSource="SELECTSUM(qty)AS退货数量,SUM(tsum)AS退货金额FROMtbS_resell_detailed"SBar1.Panels(1).Alignment=sbrCenter'在状态栏的窗格中,显示文本SBar1.Panels(2).Alignment=sbrCenterSBar1.Panels(3).Alignment=sbrCenter'在状态栏的第2个窗格中显示销售数量SBar1.Panels(2).Text="销售数量:"&Adodc2.Recordset.Fields(0).Value-Adodc3.Recordset.Fields(0).ValueSBar1.Panels(3).Text="销售金额:"&Format(Adodc2.Recordset.Fields(1).Value-Adodc3.Recordset.Fields(1).Value,"#0.00")EndSub3.销售分析窗体设计利用图表来分析月营业情况。实现方法:定义一个动态二维数组,将数据表中月份字段的值和月营业额的值赋值给动态二维数组(例如:arrValues(i,1)=Adodc2.Recordset!billdate&"月份"和arrValues(i,2)=Adodc2.Recordset!qty月份营业额),将赋值的数据返回给控件MSChart的ChartData属性,便可以显示月营业分析图(例如:msChart1.ChartData=arrValues)。另外,图表的X轴和Y轴分别代表月份和月营业额。销售分析窗体设计结果如图7所示。图7销售分析窗体设计结果(1)新建1个窗体,将窗体的“名称”属性设置为frm_saleImagesss,Caption属性设置为“每月销售比较”、MaxButton属性为False。(2)在窗体上添加ToolBar控件和ImageList控件,设计二者控件的属性方法同“月销售状况窗体”的ToolBar控件和ImageList控件设计控件属性方法完全相同。(3)添加3个Adodc控件和1个Combo控件其属性均为默认。(4)在窗体上添加MSChart控件,因为该控件属于ActiveX控件,那么在使用前必须添加到工具箱中,添加方法与前面添加ActiveX控件方法相同,只是在“部件对话框”中勾选“MicrosoftChartControls6.0(SP4)”,即可将MSChart控件添加到工具箱中。设置名称为默认msChart1、ColumnCount属性为1、RowCount属性为1。(5)添加CheckBox、HScrollBar、OptionButton控件。4.销售分析代码设计在代码窗口中定义相关变量,代码如下:Privatestr1AsStringDimiAsInteger在【确定】按钮的Click事件下,主要完成利用图表分析商品的月销售状况,设计思路为:将销售商品信息(含退货)按月统计出的数据存储在tbS_temp表中,然后按月统计销售退货数据,二者做差,更新tbS_temp表。最后tbS_temp表中的数据为图表所分析数据。代码如下:PrivateSubcmdOK_Click()'删除临时表中的所有数据Callcnnstr1="deletefromtbS_temp"rs.Openstr1,cnn,adOpenDynamic,adLockOptimistic'向临时表添加数据Fori=0ToCheck1.Count-1IfCheck1(i).Value=1Thendd=Mid(Date,1,4)&"-0"&Check1(i).Index+1dd=Format(dd,"yyyy-mm")'ADO控件的RecordSource执行SQL语句销售总数量和总价格Adodc1.RecordSource="SELECTSUM(qty)AS总数量,SUM(tsum)AS总价格FROMtbS_sell_detailedWHEREyear(billdate)="+str(Year(Date))+"andmonth(billdate)="+str(Check1(i).Index+1)+"AND(tradecode='"+frm_saleStatus.Adodc1.Recordset.Fields(0)+"')"Adodc2.RecordSource="select*fromtbS_temp"……4.4库存状况的设计库存状况主要功能为查看库存商品数量、商品均价、库存商品总价以及库存上下限设置,及调用子窗体库存明细账本。库存状况模块运行结果如图8所示。图8库存状况模块运行结果1.窗体设计(1)新建1个窗体,将窗体的“名称”属性设置为frm_Stock,Caption属性设置为“库存状况”、MaxButton属性为False。(2)在窗体上添加2个Adodc控件和DataGrid控件,由于二者属于ActiveX控件(添加方法前面已经讲解过了),在此其属性均为默认设置。(3)在窗体上添加ToolBar控件和ImageList控件,设计二者控件的属性方法同“月销售状况窗体”的ToolBar控件和ImageList控件设计控件属性方法完全相同。(4)添加DataCombo控件,该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱,添加方法为:在“工程”/“部件”对话框中勾选“MicrosoftDataListControls6.0(SP5)”列表项。其属性均为默认设置。(5)添加Label控件、TextBox控件、CommandButton控件。(6)在窗体上添加StatusBar控件,该控件属于ActiveX控件,添加Toobar控件时已经将StatusBar控件添加到工具箱中了,设置StatusBar控件前面已经讲解过了,在此不做介绍。本名称属性为默认值,添加3个窗格,第一个窗格文本设置为“合计”,其他属性均为默认设置。库存状况窗体设计结果如图9所示。图9库存状况窗体设计结果2.程序代码设计保存库存上下限报警设置。在【确定】按钮的Click事件下添加代码如下:PrivateSubcmdsave_Click()'ADO控件的RecordSource执行SQL语句OnErrorResumeNextAdodc2.RecordSource="select*fromtbS_stockwheretradecode='"+Adodc1.Recordset.Fields(0)+"'"IfErr.Number>0ThenIfMsgBox("出现“数据库中无有效数据”错误,是否继续?",vbQuestion+vbYesNo,"系统提示")=vbNoThenFrame2.Visible=FalseExitSub……4.5库存盘点的设计库存盘点主要对库存商品数量进行核实,并计算盘点盈亏数量和盈亏金额及对查询盘点商品、对盘点商品进行数据打印。库存盘点模块的运行结果如图10所示。图10库存盘点模块运行结果1.窗体设计(1)新建1个窗体,将窗体的“名称”属性设置为“frm_checkStock”,Caption属性设置为“库存盘点(自动盘盈盘亏)”、MaxButton属性为False。图11库存盘点窗体设计结果(2)在窗体上添加Adodc控件和MSFlexGrid控件,设置MSFlexGrid控件名称为MS1,其他属性均为默认设置。(3)添加Textbox控件、Label控件、CommandButton控件。库存盘点窗体设计结果如图11所示。2.代码设计当库存中含有大量商品时,需将指定的商品查询结果筛选出来并通过MSFlexGrid表格显示。【查询】按钮Click事件的代码如下:PrivateSubcmdFind_Click()'ADO控件的RecordSource执行SQL语句Adodc1.RecordSource="SELECTtradecode,fullname,type,standard,produce,unit,qty,stockcheckFROMtbS_stockWHERE(tradecodeLIKE'%"&txtTradecode&"%')AND(fullnameLIKE'%"+txtFullname+"%')AND(typeLIKE'%"+txtType+"%')AND(standardLIKE'%"+txtStandard+"%')AND(produceLIKE'%"+txtProduce+"%')"CallMSF1'调用过程,初始化MSFlexGrid控件IfAdodc1.Recordset.RecordCount>0ThenFori=1ToAdodc1.Recordset.RecordCount'将控件MS1.TextMatrix(i,1)=Adodc1.Recordset.Fields(0)MS1.TextMatrix(i,2)=Adodc1.Recordset.Fields(1)MS1.TextMatrix(i,3)=Adodc1.Recordset.Fields(2)MS1.TextMatrix(i,4)=Adodc1.Recordset.Fields(3)MS1.TextMatrix(i,5)=Adodc1.Recordset.Fields(4)MS1.TextMatrix(i,6)=Adodc1.Recordset.Fields(5)MS1.TextMatrix(i,7)=Adodc1.Recordset.Fields(6)OnErrorResumeNext'可以赋值空MS1.TextMatrix(i,8)=Adodc1.Recordset.Fields(7)Adodc1.Recordset.MoveNext'将记录移动到下一条Nexti'定义MS1表的列序号MS1.TextMatrix(i,0)=iNextiElseMsgBox"无此商品"EndIfEndSub窗体的Load事件主要用于初始化数据库连接和设置MSFlexGrid表格相关属性。……第五章系统测试5.1测试概述为了保证进销存管理系统的各项功能可靠的实现,特编写了此测试计划,对所开发软件的各功能模块和事例系统进行测试。本测试计划供程序员在程序高度阶段参考,在系统测试阶段提供测试依据。本测试计划主要用于发现系统开发过程中出现和各种不妥判之处,发现软件设计中的错误,要求的测试环境是BASIC6.0测试条件是各数据库文件框架已经建立,内容为空。5.2测试计划【测试方案】测试工件为四个阶段:单元测试、组装测试、确认测试、系统测试单元测试:采用白盒法和黑盒法相结合的方法,对于逻辑结构复杂的模块采用白盒法,对于以输入、输出为主的模块采用黑盒法测试,以提高测试的效率。组装测试:自底向上的增式测试。确认测试:由用户参与按需求规格说明书验收。系统测试:采用人工测试方法。【测试项目】(1)系统环境模块测试本测试是为了检测系统环境模块,数据连接是否正确,数据能否正确,并进行仔细核对。预计测试时间:5小时(2)入库和出库、库存管理模块测试入库和出库是本系统的三个重要模块,这些模块能否正确运行关系到系统设计成败的关键,所以有必要专门对这三个个之模块进行严格的测试。以弥补设计过程中的不足。及早发现和修改问题。预计测试时间:6小时。(3)报表模块的测试所有的数据库管理软件设计的目的之一都是为了人们提供快捷方便的数据报表打印功能,报表模块设计的是否合理和正确是系统的又一关键之所在。预计测试时间:4小时。【实例测试】下面对开始对进货付款子模块进行单元测试:准备数据如下:付款单编号日期应付实付余额付款方式经手人备注00000000107-3-20现金王刚…00000000207-3-21现金王刚………测试目的:对进货付款模块中浏览、添加、修改,删除,查询等子功能模块实现情况进行测试。测试过程:当新建数据库后,jhfkb表是空的,所以第一步来测试添加功能的之模块。经过测试,系统可以正确完成添加进货付款信息。第二步:测试浏览子模块:将上面准备的数据添加到数据库后,就可以测试浏览子功能模块。测试时未发现问题。可以正确窗体中正常显示。第三步:测试修改子模块,在运行的窗体中对数据进行修改,保存。修改功能正常。第四步:修改删除子模块:删除记录测试时分别对数据记录中间,首,末等进行删除测试,并且测试结合浏览模块测试。在测试中发现当数据库记录非空时,对中间,首,末记录删除时都达到预期的效果,但是在删除最后一条记录后即当数据库空时,窗体运行出错。分析原因,是编码时忽视了当数据库为空时的考虑。经过测试,修改,再测试,再修改……,最后完成了对进货付款信息模块的单元测试。按照同样的测试步骤,在相应的测试数据的支持下,完成了所有模块的单元测试。集成测试:集成测试是组装软件的系统技术,例如,子系统测试即是在把模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题。例如:数据穿越接口时可能丢失,一个模块对另一模块可能有由于疏忽而造成有害影响。把子功能组合起来可能不产生预期的主功能,个别看来是可以接受的误差可能累积到不能接受的程度,全程数据结构可能有问题等等,不幸,可能发生的接口问题夺得不胜枚举。集成测试的方案:自顶向下结合自顶向下结合方法是一个日益为人们广泛采用的组装软件的途径,从主程序开始,沿着软件的控制层次向下移动,从而逐渐把各个模块结合起来。5.3测试结果分析因为在测试过程中大量采用了黑盒测试,且以等价类划分原则选取测试用例,所以测试不够全面,过于简单,建议在实际操作过程中应采用多条多方面的测试。测试结果表明软件的各主要的功能均能基本实现,测试中出现的一些小问题不足以影响整个系统工作,可在短期内解决。对于测试分析报告中的问题,可以在软件维护阶段加以完善。该软件基本可以投入使用。第六章毕业设计心得体会这几个月来忙碌紧张而又有条不紊的毕业设计,使我们有机会对本专业的基本理论、专业知识和基本技术有了更深入的了解和体会,使我们在四年中所学到的知识得到了系统和升华,真正达到了学以致用。不但提高了处理实际问题的动手能力,而且对理论的理解也达到了一个新的高度,同时学到了很多课堂以外的东西。随着毕业设计接近尾声,我们设计的副食品公司进销存管理信息系统也已经初具规模,尽管系统还有一些不完善之处,但是每一个模块的实现都付出了我们的全部心思。6.1对管理信息系统的体会管理信息系统是一门融管理科学、信息科学、系统科学、计算机科学与现代通信技术为一体的一门综合性边缘学科。它是运用系统的方法以计算机和现代通信技术为基本信息处理手段和工具的,能为管理决策提供信息服务的人—机系统.它可以实现数据处理功能、预测功能、计划功能、控制功能和辅助决策功能。管理信息系统的开发是一项复杂的系统工程,必须严格的按照系统规划、系统分析、系统设计、系统实施、系统运行与评价的开发步骤来进行。管理信息系统旨在为企业提供一个全面的信息加工处理进一步利用的工具,以提高企业的经营管理水平。在系统开发之前,必须了解该系统的特点、适用范围以及使用者需要一个什么样的系统,以此作为基础为开发系统准确定位,然后对使用者所需实现的功能进行分析总结,根据使用者的实际要求来给系统设计一个初步方案。系统的开发不仅是要实现对数据处理的及时与正确,而且要考虑系统是否具有控制功能,及时将数据反馈给操作者,以进行监测和协调,保证系统的正常运行;也要考虑是否具有预测功能,运用一定的数学方法利用历史的数据对未来进行预测的工作。我们在学习管理信息系统课的时候,虽然学习了书本上不少的理论知识,但到实际中运用起来却不是和想象中的那么容易。通过毕业设计,我们更清楚了信息系统的开发流程,对其有了一个全面的了解。我们需要做的是系统分析员的工作,去单位熟悉业务,向主管或熟悉业务的领导了解现行系统的概况,找出现行系统的不足,然后我们和需求方协商,共同建立更完善的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论