商业企业的购销存管理信息系统的设计与实现_第1页
商业企业的购销存管理信息系统的设计与实现_第2页
商业企业的购销存管理信息系统的设计与实现_第3页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

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

文档简介

商业企业的购销存管理信息系统的设计与实现摘要随着信息技术的发展和计算机网络的普及,越来越多的企业ERPERPERPERP够很好地契合企业的现状,所以购买决策是一种浪费。因此,根I/114II/114II/114据企业所处的产业环境和自身特点,把管理系统的核心能力抽取出来,研究并实现商业企业的购销存管理信息系统,具有重要的现实意义。本购销存管理信息系统从企业业务运营流程出发,对流程中的需求进行详细分析,利用计算机信息技术实现对各类企业基础信息的存储、查询、统计,实现企业流程核心——进货、销售和库存的一体化,以适应新的管理要求。因此,本系统目标是设计并实现一个能够完成中小企业进货、销售和库存一体化的管理系Visualbasic6.0MicrosoftSQLserver适合中小企业使用。PAGE\*ROMANPAGE\*ROMANV/114关键词:购销存管理系统,中小企业,商品basic6.0,MicrosoftserverTHEDESIGNANDIMPLEMETATIONOFPURCHASE-SELL-STOCKMANAGEMENTABSTRACTWiththedevelopmentofinformationtechnologyandthepopularityofcomputernetwork,moreandmoreenterprisesbegintoacceptandimplementtheERPsystem.AsanimportantpartoftheEPRsystem,managementsystemiscloselyrelatedtoanenterprise’survivalanddevelopment.Nowadays,informationflowhasbecomethethirdflowresourceafterphysicalsflowandcapitalsflow.Byusingtheunblockedinformationflowinascientificdesignedmanagementsystem,thesystemcanrealizethefastintegrationoflogisticsinbusinessactivitiesandthefullflowingandusingofflows,andthenfastenmaterialsflow.Andtheefficiencyofanenterprisecanimprovebetterifitcanadaptthechangingmacro-environmentandinnerenvironmentinanenterprise.Asaresult,everyenterprisepaysmuchattentiontotheconstructionofthemanagementsystem,takesitastheinstrumentandbasistogaincompetitiveadvantage.However,itisreallyabigcosttobuythewholeERPsystemforamedium-sizedandsmallenterprise.What’smore,thewholeERPsystemcanapplytotoomanyaspectsandatthesametime,itcannotconformtothesituationoftheenterpriseverywell,soit’salittlewastetobuyanwholeERPsystem.Therefore,accordingtotheprofessionenvironmentandtheexteriorenvironmentofacorporation,extractingthecorecompetenceofthemanagementsystem,thenstudyingandimplementingofthepurchase-sell-stockVIVI/114managementsysteminacommercialenterprisehaveimportantpracticalsignificance.Thispurchase-sell-stockmanagementsystembeginswithenterprisebusinessoperationprocesses,andthenanalysestherequirementintheproceduredetailedly.Atlastbytakingadvantageofthecomputerinformationtechnology,thesystemcanrealizethefunctionofstorage,searchstatisticsofbasicinformationinacorporation,bringabouttheintegrationofcoreprocess—purchasing,selling,andstocking,fitthedemandofnewmanagement.Therefore,thegoalofthisgraduationdesignistoworkoutamanagementsystemthatcancompletethetaskofmanagingthepurchasing,salesandstorageofaminorenterprise.Withtheuseofthissystem,themanagementVIIVII/114willbemoreefficient,andthebusinessflowsaregoingtobemoreeffectiveandtheworkefficiencyisboundtobeimproved.Consideringallthecharacteristicsofthissystem,thedevelopmenttoolisVisualbasic6.0,andthedatabaseisSQLserver.Thewholesystemiseasytomanipulate,anditcandealwiththerelatedworksquickly,soitisespeciallyusefulforsomemedium-sizedsmall-scaleenterprises.KEYWORDS:purchase-sell-stockmanagementSmallandMediumEnterprise,commoditysales,inventorycontrol,Visualbasic6.0,MicrosoftSQLserverPAGEPAGE3/114目录前言 1第1章系统概述 31.1系统开发背景分析 31.2系统介绍 4第2章需求分析 52.1需求分析 52.2建立用例图 62.3用例描述 92.3.1系统管理员用例描述 92.3.2销售员的用例描述 12第3章系统分析 153.1系统开发目标 153.2描述系统中的类 163.3建立类图 233.4建立交互图 24第4章系统设计 314.1系统开发工具 314.2开发运行环境 324.3系统功能模块设计 334.4人机界面设计 344.4.1主界面设计 344.4.2基础信息(商品、客户和供货商)管理页面设计 354.4.3商品入库页面设计 364.4.4销售页面设计 374.4.5销售报表页面设计 374.4.6库存管理页面设计 384.5数据库逻辑模型 39第5章系统实施 425.1数据库设计 425.2程序设计 485.2.1商品销售模块 485.2.2库存盘点 60第6章系统测试 616.1商品信息管理测试 616.2进货入库测试 626.3销售模块测试 63结 论 65参考文献 67致 谢 70PAGEPAGE7/114前言随着信息时代的到来,各行各业竞争异常激烈,传统的手工管理模式必然会被以计算机为基础的信息管理模式所取代,因为相对于手工管理而言,计算机管理有其无法超越的优越性。例如:计算机的计算、检索速度非常快,存储量大,可靠性高等。计算机技术的普及和发展,使得各行业迫切需要计算机软件来处理大量的信息,用计算机来代替人工进行的众多繁杂劳动,从而节省资源,提高工作效率。在信息流已经日渐全球化的今天,计算机作为当今重要的信息产品,正在慢慢成为企业管理和大众日常生活中必不可少的工具。对于中小企业来说,由于大部分企业处于中间环节,业务涉及范围广泛,不仅仅是销售,更需要采购和库存管理的支持,以往的手工登记商品信息太过麻烦,而采购和库存等方面反应迟缓,已不能适应时代发展的要求,因此就迫切需要计算机技术人员能够开发出一个切合实际的进销存系统,以便于企业供应链的顺畅和管理工作的顺利进行。VisualBasic6.0具有三个基本特点,提供可视化的编程工具,程序采用事件驱动的方式,面向对象程序设计,因而选定利用VisualBasic6.0 实现进销存管理中的各项功能。通过对企业进销存的需求分析,建立了数据库及数据表,创建了比较完善的购销存管理系统。本系统采用模块化的程序设计方法,能实现对数据的查询、增减、删等操作。本系统界面清晰,操作简单实用。第1章系统概述系统开发背景分析在充满机遇的21世纪,竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术、管理、人才的竞争。技术的提升和管理的升级是中小企业的竞争核心。如何在激烈的竞争中立于不败之地,成为各中小企业努力追求的目标。调查发现,目前许多中小企业在经营管理方式上,仍然采用传统的人工管理模式,这样不仅效率低,准确率低,而且浪费人力物力资源,已不适应现代先进的供应链经营模式。一方面,管理人员不能很好的掌握商品的即时进销存状态,在顾客需要某些商品时,由于供应不足而使顾客大为不满。另一方面,由于在市场上不好销售,一些商品长期积压,导致过期或外表损坏严重,给企业造成一定的经济损失。所以,如果没有一个有效的信息系统的支持,以上诸多问题将很难从根本上得以解决。和传统的经营管理方式相比较,如果本系统开发成功,一定会大大提高中小企业的经营管理效率,为降低经营成本,提高效益,减少差错,节省人力,提高顾客满意度等方面提高可靠的技术保障。由此可见,进销存管理系统对市场的发展、企业的正常运作与发展有着非常重要的意义。系统介绍本购销存管理信息系统从企业业务运营流程出发,对流程中的需求进行详细分析,利用计算机信息技术实现对各类企业基础信息的存储、查询、统计,实现企业流程核心——进货、销售和库存的一体化,以适应新的管理要求。第2章需求分析需求分析需求分析是软件生命周期中软件开发的第一个阶段,是整个系统开发过程的基础,需求获取和需求建模是这一阶段的重要任务。全面获取软件需求、准确理解业务逻辑和运用建模工具正确建立软件的逻辑模型是软件开发工作获得成功的前提和关键,直接关系到工程的成败和软件产。软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段[2]。需求分析是介于系统分析和软件设计阶段之间的重要桥梁[3]。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现测试直至维护的主要基础。良好的分析活动有助于避免或尽早发现早期的错误,从而提高软件生产率,降低开发成本,改进软件质量。建立用例图用例图是首先需要建立的模型,是由软件需求分析到最终实现的第一步,它描述了人们希望如何使用一个系统,定义了系统的主要功能和系统边界。是从系统的外部观察系统功能,并不描述系统内部的具体实现,是其它视图核心和基础。通过用例建模,描述对系统感兴趣的外部色及其对系统的功能需求。在用例图中,角色代表触发统功能的用户或其它系统,用例代表具体的功能 描述。从以上需求分析可见系统中的参与者有:系统管理员,操作员(包括采购员、销售员和仓库管理员,三者中以售员的操作最多,故以销售员为代表 。识别出参与者后,从参与者的角度就可以发现系统的用例,并绘制出系统的用例图,如图1-1和图1-2所示。PAGEPAGE8/114图1-1系统管理员操作用例图PAGEPAGE10/114图1-2销售员操作用例图用例描述基础信息管理的用例描述采用表格形式描述该用例,如表 1-1所示:表1-1基础信息管理用例称参与者前置条件件作流程作流程

基础信息管理系统管理员系统管理员已经成功登录系统,进入基础信息管理模块进入商品信息管理、客户管理或供货商管理模块选择需要管理的模块点击进入。对各类基础信息进行操作。各类基础信息的操作包括查询、添加、删除、更新等。采购管理的用例描述采用表格形式描述该用例,如表 1-2所示:表1-2采购管理用例PAGEPAGE16/114称参与者前置条件件作流程作流程

采购管理系统管理员系统管理员已经成功登录系统,进入采购管理模块采购商品入库查看需要采购商品的库存信息,判断是否需要采购;选择供货商,进行采购。查询商品入库信息。判断是否需要采购时要把现有库存与安全库存对比。销售管理的用例描述采用表格形式描述该用例,如表 1-3所示:表1-3销售管理用例称

销售管理参与者前置条件件作流程作流程

系统管理员管理员已经成功登录系统,进入销售管理模块销售过程的相关操作与处理销售查询。报表查询(包括销售日报表和销售月报表)如果精确查询中没有找到所查询的内容,则提示重新输入要查询的内容库存管理的用例描述采用表格形式描述该用例,如表 1-4所示:表1-4库存管理用例称参与者前置条件件作流程作流程

库存管理系统管理员管理员已经成功登录系统,进入库存管理模块查询在某段时间内的商品库存情况查询商品库存。对现有库存进行盘点。如果现有库存已经低于安全期,则应立即采购。系统管理的用例描述采用表格形式描述该用例,如表 1-5所示:表1-5系统管理用例称参与者前置条件件作流程作流程

系统管理系统管理员管理员已经成功登录系统,进入系统管理模块管理操作员添加操作员。删除操作员。删除时,需要提示是否真的要删除该操作员信息。销售的用例描述采用表格形式描述该用例,如表 1-7所示:表1-7销售用例称参与者前置条件件作流程作流程

销售销售员销售员已经成功登录系统,进入销售模块销售商品按照相应查询条件,查询顾客要购买的商品信息。输入销售的商品数量、单价。核对金额,结账。如果没有查询到商品信息,则给予提示并要求重新查询PAGEPAGE28/114退货处理的用例描述采用表格形式描述该用例,如表 1-9所示:表1-9退货处理用例称参与者前置条件件作流程作流程

退货处理销售员销售员已经成功登录系统,进入退货处理模块进行退货管理输入商品销售信息,说明退货原因。保存退货信息。对数据进行保存时,系统应加以提示。销售查询的用例描述采用表格形式描述该用例,如表 1-8所示:表1-8销售查询用例称参与者前置条件件

销售查询销售员销售员已经成功登录系统,进入销售查询模块查询销售记录基本操 按照相应查询条件,查询销售信息。作流程作流程

如果没有查询到商品销售信息,则给予提示并要求重新查询报表处理的用例描述采用表格形式描述该用例,如表 1-6所示:表1-6报表处理用例称参与者前置条件件作流程作流程

报表处理销售员销售员已经成功登录系统,进入报表处理模块查询打印报表输入日期,查询某一天的销售日报表。输入一个月的期限来查询某个月的销售月报表。如果没有相应记录,则应作出相应提示。第3章系统分析系统分析的主要任务是将在系统详细调查中所得到的资料集中到一起,对组织内部整体管理状况和信息处理过程进行分析[5]。它侧重于从业务全过程的角度进行分析,系统分析从系统需求入手,从用户观点出发建立系统用户模型。用户模型从概念上全方位表达系统需求及系统与用户的相互关系。系统分析在用户模型的基础上,建立适应性强的独立于系统实现环境的逻辑结构。在系统分析中,采用UML图作为主要的用户需求表达工具,类图、时序图和协作图作为辅助系统分析的工具[6]。系统开发目标本进销存系统力求做到对整个企业基本信息的管理实现系统化、规范化,标准化[7]。具体目标如下:把管理者从传统的经营管理模式中解放出来,使管理者的工作重心慢慢转移到管理上来。在此系统中,管理者不直接参与日常的经营事务,管理者通过查询本系统,便可了解到商品的基本情况,采购情况、销售情况和库存状况等,这些信息可以帮助管理者做出合理、科学的决策。有利于提高效率,增加效益。对于除了系统管理者以外的工作人员来说,系统操作应简单,易于使用。通过使用本系统,可以提高工作人员的正确性,省略了许多之前需要手工核对的工作,在一定程度上减轻了工作人员的负担。描述系统中的类通过对系统需求的分析,发现系统中的类有:系统管理员(administrator、操作员(operator、商品、销售记录、客户、供货商。除此之外,还需要增加一个数据库访问类[8]。类operator类operator用于描述系统操作员的信息。)属性:idintegernamestringstringskillstring(销售员和仓库管理员)。)操作:loginbuysearch:查询信息(各种信息)。sell:销售商品。quit:操作员退出。类administrator类administrator用于描述系统管理员的信息。)属性:administrator类已继承operator类的全部属性)操作:login:登录系统。search:查询各类信息。manage:管理商品、客户、供货商、操作员信息。quit:退出系统。类客户类客户用于描述客户的信息。)属性:idinteger。客户编号。namestringphonestringadressstring)操作:adddelete类供货商类客户用于描述供货商的信息)属性:idinteger。供货商编号。namestringstringphonenumstringsupplyinfostringmailstring)操作:addmodifydelete类销售记录销售记录类用来描述已销售信息。)属性idintegerintegercountintegerpricedoubleintegerdatedate)操作:search:查询销售记录。print:打印销售记录类商品商品类用于描述商品的信息)属性id:integer。商品编号。name:string。商品名称 supplieridinteger)操作:searchbuy类data类Data为数据库访问类,用于将相关数据从数据库中读出来,或写入数据库中。该类只有几个通用的操作。Read(sql:string):根据sql语句读出数据库中的数据。Update(sql:string):根据sql语句更新数据库中的数据。Delete(sql:string):根据sql语句删除数据库中的数据。Add(sql:string):根据sql语句添加数据库中的数据。建立类图类图用来表达系统的静态结构。通过分析问题域和初始用例,可以找出实体类,确定类之间的关系,从而建立系统初步的结构模型[9]。根据以上分析,建立如图2-1所示的类图。PAGEPAGE29/114图3-1类图建立交互图在描述对象之间的交互时,常会用到时序图和协作图,二者是类图的辅助模型。时序图用时间顺序来表示对象之间的交互,描述一个用例完成某一功能时对象之间消息发送的顺序,强调对象的消息流,通过画时序图可以发现类图中没有明确或者遗漏的关系。协作图可以看成是类图PAGEPAGE31/114和顺序图的交集,建模对象或者角色,以及他们批次之间的顺序的通信,这种通信是通过沿着关联角色和连接各个角色的链接发送消息实现的[11]。商品信息管理的时序图图3-2商品信息管理的时序图商品信息管理的协作图图3-3商品信息管理的协作图采购的时序图图3-4采购的时序图采购的协作图PAGEPAGE32/114图3-5采购的协作图销售的时序图PAGEPAGE33/114图3-6销售的时序图销售的协作图PAGEPAGE34/114图3-7销售的协作图退货的时序图图3-8退货的时序图退货的协作图PAGEPAGE35/114图3-9退货的协作图PAGEPAGE38/114第4章系统设计从系统的实现环境考虑,完善之前对系统类图的分析,并对人机界面和数据库进行设计,最终形成一个可实现的系统设计模型。系统采用人机对话方式,界面美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。由于VisualBasic采用可视化的编程工具,提供可视化的应用开发环境,因此利用 VisualBasic可以方便、快捷地开发出利用后台服务器中的数据和数据库管理系统的数库应用程序。系统开发工具MicrosoftVisualBasic(简称VB)是在Windows操作平台下设计应用程序的最迅速、最简捷的工具之一。对于开发人员说,VB提供了一整套的工具,可以使我们轻松方便地开发应用程序。VB是Microsoft的一种通用程序设计语言,包括在 MicrosoftExcel、MicrosoftAccess 众多Windows应用软件中的VBA都使用VB语言,以供用户进行二次开发。VB提供了学习版、专业版和企业版,用以满足不同的开发需要。在此次系统开发中,我采用的是visualBasic6.0VisualBasic6.0具有三个基本特点,提供可视化的编程工具,程序采用事件驱动的方式,面向对象程序设计[12]。企业版包括专业版的所有特性,它允许专业人员以小组的形式来创建强大的分布式应用程序,在系统开发过程中应遵守系统性、灵活性、可靠性等原则 [13]。开发运行环境系统开发平台:VisualBasic6.0企业版。数据库管理平台:MicrosoftSQLserver运行平台:WindowsXP/Windows2000 。系统功能模块设计系统功能模块的设计是将程序划分成若干个功能模块,每个功能模块完成了一个子功能,再把这些功能模块总起来组成一个整体,以满足所要求的整个系统的功系统用户的使用。根据上述的系统需求分析,本系统主要划分为以下几个子模块,如图4-1PAGEPAGE39/114退报品户货库品售货售表存存作信信商查入处处查处查盘员息管息管信息询库理理询理询点管理理理管理购销存管理系统基础信息购销存管理系统基础信息采购销售管库存系统人机界面设计主界面设计主界面是系统用户登录系统成功后的界面,主要功能是便于系统管理员和普通用户的操作。通过主界面的设计,使他们对系统有更加全面的认识[15]。其设计界面如图4-2所示。PAGEPAGE40/114图4-2主界面基础信息(商品、客户和供货商)管理页面设计基础信息管理页面来查询、增加、删除和更新商品、客户和供应商的信息各种操作员和系统管理员都可以登录此界面,对系统进行操作。其中,以商品信息管理为例,其设计界面如图4-3PAGEPAGE42/114图4-3商品信息管理页面商品入库页面设计商品入库页面的功能是实现采购并登记入库,其设计界面如图4-4所示。图4-4商品入库页面销售页面设计销售页面的功能是实现销售过程,另外,登记销售记录后可直接生成一个销售单。其设计界面如图4-5所示。图4-5销售页面销售报表页面设计销售报表页面包括销售日报表和销售月报表两个表的处理,是系统管理员和操作员用于查询某一天或者某一个月的销售记录,并以此为依据生成报表,便于统计分析,做出科学的决策。其设计界面如图4-64-7PAGEPAGE43/1144-6销售日报表4-7销售月报表库存管理页面设计库存管理包括库存查询页面和库存盘点页面两个页面。其中,库存查询页面用于查询现有库存,以便及时进货。库存盘点用于盘点整个仓库的商品库存情况,便于仓库进行管理。其设计界面如图4-84-9PAGEPAGE44/1144-84-9数据库逻辑模型本系统使用的是MicrosoftSQLserver 数据库工具,通过它创建了yyjxc数据库,数据库yyjxc包括系统运行时所涉及的十二个表:tb_client,tb_client_arrearagetb_goods,tb_power,tb_provider,tb_sell_detailed,PAGEPAGE46/114tb_sell_main,tb_sellth_detailed,tb_stocktb_warehouse_detailed,tb_warehouse_main和PY的是关系数据库为数据的存储对象,主要的工作是将类图转化为关系模型。由于目前面向对象数据库系统还不成熟,本系统将采用关系数据库系统存储永久对象(需要长期存储的对象),主要工作是将类图转换为关系模型。从类图可知,类adminstrator、类operator、类客户、类供货商分别与类商品、类销售记录、类退货存在关联关系。根据以上分析,得到以下关系模型。adminstrator(id,name,mail)client(id,name,phone,adress,sellerid,mail)operator(id,name,phone,address,skill)goods(id,name,commonname,pinyin,chandi,guige,danwei,youxiaoqi,pihao,shangbiaohao)tuihuo(sellrecordid,client,selldate,goodsid,quantity)provider(id,name,phone,address,goods,connectionperson)sellrecord(id,selldate,goodsid,clientid,quantity)PAGEPAGE53/114第5章系统实施数据库设计数据库应用系统的开发过程中,数据库的结构设计是一个非常重要的环节。数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生重要的影响,好的数据库结构设计会减少数据库的存储量、提高数据的完整性和一致性,使系统具有较快的响应速度,简化基于此数据库的应用程序的实现等。考虑到本系统的实际应用情况,本系统的数据库使用的是 MicrosoftSQLserver,数据库文件名称为yyjxc如图5-1所示。图5-1数据库yyjxc表tb_client该表用于储存客户信息,如图 5-2所示。5-2tb_client表结构表tb_client_arrearage该表用于储存有过销售记录的客户信息,如图 5-3所示。图5-3tb_client_arrearage 表结构表tb_medicine该表用于储存商品(以药品为例)的详细信息,如图5-4所示。图5-4tb_medicine表结构表tb_power该表用于储存操作员登陆信息,如图 5-5所示。图5-5tb_power表结构表tb_provider该表用于储存供货商基本信息,如图 5-6所示。图5-6tb_provider表结构表tb_sell_detailed该表用于销售的详细信息,如图 5-7所示。图5-7tb_sell_detailed 表结构表tb_sell_main该表用于销售的基本信息,如图 5-8所示。图5-8tb_sell_main表结构表tb_sell_th_main该表用于退货的基本信息,如图 5-9所示。图5-9tb_sell_th_main 表结构表tb_stock该表用于库存商品的基本信息,如图 5-10所示。5-10tb_stock表结构tb_warehouse_detailed该表用于仓库中所有商品的详细信息, 如图5-11所示。图5-11tb_warehouse_detailed 表结构表tb_warehouse_main该表用于仓库中所有商品的基本信息, 如图5-12所示。图5-12tb_warehouse_main 表结构程序设计本程序使用MicrosoftVisualbasic6.0 进行开发代码用Basic语言进行编程,由于篇幅限制,仅将部分关键代码展示如下,全部代码详见程序源代码。商品销售模块PrivateSubcmdRegister_Click()msgSell.Enabled=TrueDimtmpNoteAsIntegerrs1.Open"select*fromtb_sell_detailedorderby销售单据号",cnn,adOpenKeyset,adLockOptimisticPAGEPAGE66/114Ifrs1.RecordCount>0Then ' IfNotrs1.EOFThenrs1.MoveLastIfrs1.Fields("销售单据号")<>""ThentmpNote=Val(Right(Trim(rs1.Fields(" 售单据号")),4))+1txtNote.Text = Date & "xs" Format(tmpNote,"0000")EndIfElsetxtNote.Text=Date&"xs"&"0001"EndIfrs1.CloseFori=1To100'清空msgSell网格中的内容Forj=1To9msgSell.TextMatrix(i,j)=""Nextj NextitxtClient.Text=""' txtInput.Text=""txtHandle.Text=""lblBreed.Caption="0"lblCount="0"lblSum="0"txtNet="0"lblNotCharge.Caption="0"txtClient.Enabled=True' 设置控件可用或不可用状态txtClient.SetFocustxtNet.Enabled=TruecmdSave.Enabled=TruecmdCancel.Enabled=TruecmdRegister.Enabled=FalsetxtInput.Enabled=TruetxtNet.Enabled=TrueEndSubPrivateSubcmdSave_Click()Fori=1To100If msgSell.TextMatrix(i, 1) <> "" msgSell.TextMatrix(i,8)<>""Thenrs1.Open"select*fromcnn,adOpenKeyset,adLockOptimisticrs1.AddNew ' 添 加 新 记 录 到"tb_sell_detailed"表中rs1.Fields("msgSell.TextMatrix(i,1)rs1.Fields("

药 品 名 称 ") =药 品 编 号 ") =Val(msgSell.TextMatrix(i,2))rs1.Fields("批号")=msgSell.TextMatrix(i,3)rs1.Fields("规格")=msgSell.TextMatrix(i,4)rs1.Fields("产地")=msgSell.TextMatrix(i,5)rs1.Fields("单位")=msgSell.TextMatrix(i,6)rs1.Fields(" 零 售 价 ") Val(msgSell.TextMatrix(i,7))rs1.Fields(" 数 量 ") Val(msgSell.TextMatrix(i,8))rs1.Fields(" 金 额 ") Val(msgSell.TextMatrix(i,9))rs1.Fields("客户编号")=ClientNumberrs1.Fields("客户名称")=txtClient.Textrs1.Fields("销售单据号")=rs1.Updaters1.CloseDimrs3AsNewADODB.Recordsetrs3.Open"select*fromtb_stockwhere药&msgSell.TextMatrix(i,2)&"'and批号='"&msgSell.TextMatrix(i,3)&"'",cnn,adOpenKeyset,adLockOptimisticIfrs3.RecordCount>0Then ' 判断是否有记录Ifrs3.Fields("药品名称")<>""Then 有记录,更新库存数量、库存金额rs3.Fields("库存数量")=rs3.Fields("库存数量")-Trim(Val(msgSell.TextMatrix(i,8)))rs3.UpdateEndIfElseMsgBox"库存无此药品!"EndIfrs3.CloseSetrs3=NothingDimrs4AsNewADODB.Recordset ' 添加记到tb_Client_Arrearage 表中rs4.Opentb_Client_Arrearage",adLockOptimistic

"selectcnn,

* fromadOpenKeyset,Ifrs4.EOF=FalseThenrs4.MoveLastrs4.AddNewIftxtDate.Text<>""Thenrs4.Fields(" 期")=txtDate.Textrs4.Fields("时间")=TimeIftxtNote.Text<>""Thenrs4.Fields(" txtNote.TextIf msgSell.TextMatrix(i, 8)<>""Thenrs4.Fields("数量")=msgSell.TextMatrix(i,8)If msgSell.TextMatrix(i, 9)<>""rs4.Fields("金额小计")=msgSell.TextMatrix(i,9)If msgSell.TextMatrix(i, 7)<>""rs4.Fields("单价")=msgSell.TextMatrix(i,7)If msgSell.TextMatrix(i, 6)<>""rs4.Fields("单位")=msgSell.TextMatrix(i,6)IftxtClient.Text<>""Thenrs4.Fields("客户名称")=txtClient.Textrs4.Fields("客户编号")=ClientNumberIftxtClient.Text<>""Thenrs4.Fields(" 要")="销售:【"&txtClient.Text&"】的"&"【"&msgSell.TextMatrix(i, 1)&","&msgSell.TextMatrix(i,3)&"】等"rs4.Updaters4.CloseSetrs4=NothingEndIfNextiDimrs2AsNewADODB.Recordsetrs2.Open "select*fromtb_sell_main", adOpenKeyset,adLockOptimisticrs2.AddNewrs2.Fields("销售单据号")=txtNote.Textrs2.Fields("品种数")=lblBreedrs2.Fields("数量")=lblCountrs2.Fields("金额")=lblSumrs2.Fields("折扣")=txtAgio.Textrs2.Fields("税率")=Val(txtCess.Text)/100rs2.Fields("应收")=Val(lblCharge)rs2.Fields("实收")=Val(txtNet)rs2.Fields(" 未 收 ") Val(lblNotCharge.Caption)rs2.Fields("客户编号")=ClientNumberrs2.Fields("日期")=txtDate.Textrs2.Fields("收款方式")=cboPayeers2.Fields("经手人")=txtHandleIfVal(lblNotCharge.Caption)<=0Thenrs2.Fields("是否结清")=1Elsers2.Fields("是否结清")=0rs2.Updaters2.CloseSetrs2=NothingadoClientArrearage.RecordSource="select*fromtb_Client_ArrearagewheretxtClient.Text+"'"adoClientArrearage.RefreshWithadoClientArrearage.RecordsetIf.RecordCount>0ThenIf.EOF=FalseThen.MoveLast.Fields("欠款记账")=Val(lblNotCharge.Caption).Fields("累计余额")=Val(txtClientBalance.Text)+al(lblNotCharge.Caption).UpdateEndIfEndWithEndSub库存盘点PrivateSubCommand1_Click() ' 库存盘点Adodc1.RecordSource ="select*fromtb_stockwhere库存数量>0orderby库存数量"Adodc1.RefreshEndSubPrivateSubCommand2_Click()UnloadMeEndSub6系统程序设计完成后,需要对系统进行全面的测试,经过测试,要求系统各个模块运行正常,功能按预期实现,响应时间合理,同时系统的运行过程无论从总体还是局部都能符合实际工作的常理要求的各项原则。商品信息管理测试测试目的:测试系统能否对商品信息进行正确的管理 测试用例:药品名称后面选择 “果导片”。执行操作:登录系统后,点击菜单栏内的“基础信息管理”模块,并点击商品信息管理进入页面。预期结果:可直接查询出该种商品的基本信息。并可对此进行相应的操作,包括查看下一个、上一个、第一个和最后一个商品,添加商品,删除商品等。PAGEPAGE67/114图6-1商品信息管理测试结果:可以进行任何一项操作;测试结论:没有发现系统运行中的错误。进货入库测试测试用例:点击“登记”按钮。执行操作:供货商名称输入“李太药业”,经手人是“小黄”登记入库商品为“果导片”。PAGEPAGE68/114预期结果:入库单据号可以直接生成。输入供货商名称时,可直接进行选择。当输入商品名称时,也会出现该商品的基本信息。图6-2商品入库管理测试结果:进行上述操作之后,可正常登记入库商品。并且数据库中的相应数据已经进行了更新。测试结论:没有发现系统运行中的错误。销售模块测试测试目的:测试商品能否正常销售。测试用例:用户名=“admin”,密码=“2011”。PAGEPAGE76/114执行操作:登录系统后,点击 销售进行销售操作。预期结果:用户登录正确之后,点击销售按钮,进入销售界面,输入商品条码,并点击查询按钮,确认数据库里存在此商品信息后,点击购入,数据库里此商品的数量会自动减少。此时,如果顾客不想要此商品时,可以点击删除商品按钮,数据库里此商品数量会自动增加。测试结果:进行上述操作之后,数据库里的商品信息可以根据需要随时变动,商品信息及商品销售信息保存完整。测试结论:没有发现系统运行中的错误。结 论本购销存管理信息系统比较成功地开发了基本信息管理模块、采购模块、销售管理模块、库存管理模块、系统管理模块和帮助模块。这六个模块的功能比较完善,界面友好,操作简单,基本能满足中小企业的日常业务中采购、销售和库存管理等经营、管理工作的需要。在系统程序的编写过程中尽量考虑了各种可能出错的情况,界面简单大方,增强了系统的可视性和灵活性。本系统能够完成对商品信息的添加、删除、修改等基本功能,同时也能对库存商品进行预警、购入、查看库存信息等。该系统采用VisualBasic作为前台开发语言,它是一种面向对象编程语言,简单易操作。对于一些系统运行中的错误,系统可以自动地检查并给编程人员一定的提示信息。本次毕业设计使我获益匪浅。不仅能够对软件开发工具Visualbasic6.0,数据库软件MicrosoftSQLserver等开发数据库应用程序的方法和技巧有了进一步的掌握。更重要的是,发现问题、分析归纳、综合比较的逻辑分析能力、处理问题等能力也得到了提高。同时,由于我能力有限,让系统存在许多不足之处,如功能还不够完善,数据的统计分析做的也不很全面。所以本系统只适合与环境简单的中小企业使用。我想,以后还需要继续努力,每一步编程都要学好学通才能够真正融会贯通起来。参考文献刘振华.基于UML的商品销售管理系统需求分析[J].200931(161-2.周峰,孙更新.SQLServer2008经典案例设计与实现[M].北京:电子工业出版社,200333-34.董福贵,李存斌.SQLServer2008数据库简明教程[M].北京:电子工业出版社,200525-36.刘振华,石忠.基于UML的商品销售管理系统需[J].200915(315-6.蔡敏,徐慧慧,黄炳强.UML基础与Rose[M].北京:人民邮电出版社,200676-82.王晟.visualbasic数据库开发经典案例解析北京:清华大学出版社,200616-52.UML[J].20085(11:董国平,颜志军,万丽.VisualBasic数据库开发典型模块与实例精讲[M].北京:电子工业出版社,2006149-150.刁成嘉,刁奕.UML系统建模与分析设计[M].北京:机械工业出版社,20071-2.[M].第4京:高等教育出版社,2005224-225.龚沛曾,杨志强,陆慰民.VisualBasic程序设[M].北京:高等教育出版社,200858-59.蔡敏,刘海英,汪杰.VisualBasic数据库开发[M].北京:人民邮电出版社,200727-30.罗斌.VisualBasic2005管理系统开发经典案[M].北京:中国水利水电出版社, 2007,27-30.黄文劭,杨宗璟.VisualB2003实战进[M].北京:中国铁道出版社,200427-30.郭瑞军,唐邦民,谢晗昕.VisualBasic数据库开发实例精粹[M].北京:电子工业出版社,200527-30.致 谢本次的毕业设计最主要的是感谢我的指导老师蔡羽老师,她为人师表、知识渊博,和蔼可亲,这一切都将使我在以后的日子里受益。在我做毕业设计的时候,从最开始的开题报告的撰写到相关资料的查阅,中期论文的修改,后期论文格式的调整等各个环节中都给予了我悉心的指导。她告诉我应该注意的细节问题,细心地给我指出错误并提出建议。同时还在生活上给我无微不至的关怀在学业上给我莫大的建议和支持,在此谨向蔡羽致以崇高的敬意和诚挚的谢意。另外,此次毕业设计过程,也有很多同学给我提供了无私的帮助,他们牺牲自己宝贵的时间给我提供建议,帮我修改、调试程序等,在此表示衷心的感谢。最后,感谢校方给予我们这样一次机会,使我们在即将离校的最后一段时间里,能够更多学习一些实践性的应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。PAGEPAGE33/114DevelopmentProcessinUMLRationalUnifiedProcessAlthoughtheRationalUnifiedProcess(RUP)independentoftheUML,thetwoareoftentalkedabouttogether.SoIthinkit'sworthsayingafewthingsaboutithere.AlthoughRUPiscalledaprocess,itactuallyisaprocessframework,providingavocabularyandloosestructuretotalkaboutprocesses.WhenyouuseRUP,thefirstthingyouneedtodoischooseadevelopmentcase:theprocessyouaregoingtouseintheproject.Developmentcasescanvarywidely,sodon'tassumethatyourdevelopmentcasewilllookthatmuchlikeanyotherdevelopmentcase.ChoosingadevelopmentcaseneedssomeoneearlyonwhoisveryfamiliarwithRUP:someonewhocantailorRUPforaparticularproject'sneeds.Alternatively, thereisabodyofpackageddevelopmentcasestostartfrom.Whateverthedevelopmentcase,RUPisessentiallyaniterative process. Awaterfall style isn'tcompatiblewiththephilosophyofRUP,althoughsadlyit'snotuncommontorunintoprojectsthatusewaterfall-style processanddressitupinRUP'sclothes.AllRUPprojectsshouldfollowfourphases.Inceptionmakesaninitialevaluationofaproject.Typicallyininception,youdecidewhethertocommitenoughfundstodoanelaborationphase.Elaborationidentifiestheprimaryusecasesoftheprojectandbuildssoftwareiniterationsintoshakeoutthearchitectureofthesystem.Attheendofelaboration,youshouldhaveagoodsenseoftherequirementsandaskeletalworkingsystemthatactsastheseedofdevelopment.Inparticular,youshouldhavefoundandresolvedthemajorriskstotheproject.Construction continues thebuilding developingenoughfunctionalitytorelease.Transition includes various late-stageactivitiesthatyoudon'tdoiteratively.Thesemayincludedeploymentintothedatacenter,usertraining,andthelike.There'safairamount offuzzinessbetweenthephases, especially between elaboration construction.Forsome,theshifttoconstructionisthepointatwhichyoucanmoveintoapredictiveplanningmode.For others,itmerelyindicatesthepointatwhichyouhaveabroadvisionofandanarchitecturethatyouthinkisgoingtolasttherestoftheproject.Sometimes, RUPisreferredtoastheProcess(UP).ThisisusuallydonebyorganizationsthatwishtousetheterminologyandoverallstyleofRUPwithoutusingthelicensedproductsofRationalSoftware.YoucanthinkofRUPasRational'sproductofferingbasedontheUP,oryoucanthinkofRUPandUPasthesamething.Eitherway,you'llfindpeoplewhoagreewithyou.FittingtheUMLintoaProcessWhentheylookatgraphicalmodelinglanguages,peopleusuallythinkoftheminthecontextofawaterfallprocess.Awaterfallprocessusuallyhasdocumentsthatactasthehandoffsbetweenanalysis,design,andcodingphases.Graphicalmodelscanoftenformamajorpartofthesedocuments.Indeed,manyofthestructuredmethodsfromthe1970sand1980salotaboutanalysisanddesignmodelslikethis.Whetherornotyouuseawaterfallapproach,stilldotheactivitiesofanalysis,design,coding,andtesting.Youcanrunaniterativeprojectwith1-weekiterations,witheachweekaminiwaterfall.Using the UML doesn't necessarily developingdocumentsorfeedingacomplexCASEtool.ManypeopledrawUMLdiagramsonwhiteboards duringameetingtohelpcommunicatetheirideas.RequirementsAnalysisTheactivityofrequirements analysistryingtofigureoutwhattheusersandcustomersofasoftwareeffortwantthesystemtodo.AnumberofUMLtechniquescancomeinhandyhere:Usecases,whichdescribehowpeopleinteractwiththesystem.Aclass diagram drawn from the perspective,whichcanbeagoodwayofbuildinguparigorousvocabularyofthedomain.Anactivitydiagram,whichcanshowtheworkflowoftheorganization,showinghowsoftwareandhumanactivitiesinteract.Anactivitydiagramcanshowthecontextforusecasesandalsothedetailsofhowacomplicatedusecaseworks.Astatediagram,whichcanbeusefulifaconcepthasaninterestinglifecycle,withvariousstatesandeventsthatchangethatstate.Whenworkinginrequirementsanalysis,thatthemostimportantthingiscommunicationwithyourusersandcustomers.Usually,theyaresoftwarepeopleandwillbeunfamiliarwiththeUMLoranyothertechnique.Evenso,I'vehadsuccessthesetechniqueswithnontechnicalpeople.Todorememberthatit'simportanttokeepthenotationtoaminimum.Don'tintroduceanythingthatspecifictothesoftwareimplementation.BepreparedtobreaktherulesoftheUMLatanytimeifithelpsyoucommunicatebetter.ThebiggestriskwithusingtheUMLinanalysisisthatyoudrawdiagrams that the domain experts don't fullyunderstand.A diagramthatisn'tunderstoodby peoplewhoknowthedomainisworsethanuseless;allitdoesisbreedafalsesenseofconfidenceforthedevelopmentteam.DesignWhenyouaredoingdesign,youcangetmoretechnicalwithyourdiagrams.Youcanusemorenotationandbemorepreciseaboutyournotation.usefultechniquesare:Classdiagramsfromasoftwareperspective.Theseshowtheclassesinthesoftwareandhowtheyinterrelate.Sequence diagrams for common scenarios. valuableapproachistopickthemostimportantandinterestingscenariosfromtheusecasesanduseCRCcardsorsequencediagramstofigureoutwhathappensinthesoftware.Package diagrams to show the organizationofthesoftware.Statediagrams forclasseswithcomplexhistories.Deploymentdiagramstoshowthephysicallayoutofthesoftware.Manyofthesesametechniques canbeuseddocumentsoftwareonceit's beenwritten. Thismayhelppeoplefindtheirwayaroundthesoftwareiftheyhavetoworkonitandarenotfamiliarwiththecode.Withawaterfalllifecycle,youwoulddothesediagramsandactivitiesaspartofthephases.Theend-of-phasedocumentsusuallyincludetheappropriateUMLdiagramsforthatactivity.waterfallstyleusuallyimpliesthattheUMLisusedasablueprint.Inaniterativestyle,theUMLdiagramscanbeusedineitherablueprintorasketchstyle.Withblueprint,theanalysisdiagramswillusuallybebuiltintheiterationpriortotheonethatbuildsthefunctionality.Eachiterationdoesn'tstartfromscratch;rather,itmodifiestheexistingbodydocuments,highlightingthechangesinthenewiteration.Blueprintdesignsareusuallydoneearlyintheiterationandmaybedoneinpiecesfordifferentbitsoffunctionalitythataretargetedfortheiteration.Again,iterationimpliesmakingchangestoanexistingmodelratherthanbuildinganewmodeleachtime.UsingtheUMLinsketchmodeimpliesamorefluidprocess.Oneapproachistospendacoupleofdaysatthebeginning ofaniteration, sketching outdesignforthatiteration.Youcanalsodoshortdesignsessionsatanypointduringtheiteration,settingupaquickmeetingforhalfanhourwhenever developerstartstotackleanontrivialfunction.With a blueprint, you expect the implementationtofollowthediagrams.Achangefromtheblueprintisadeviationthatneedsreviewfromthedesignerswhodidthebl

温馨提示

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

评论

0/150

提交评论