• 1.44 MB
  • 2022-04-22 11:40:59 发布

企业进销存管理信息系统的设计与开发毕业论文.doc

  • 57页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'毕业论文企业进销存管理信息系统的设计与开发 本科毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学生签名:时间:年月日  关于论文(设计)使用授权的说明本人完全了解广东金融学院关于收集、保存、使用学位论文的规定,即:1.按照学校要求提交学位论文的印刷本和电子版本;2.学校有权保存学位论文的印刷本和电子版,并提供目录检索与阅览服务,在校园网上提供服务;3.学校可以采用影印、缩印、数字化或其它复制手段保存论文;本人同意上述规定。学生签名:时间:年月日 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发50--广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发目录摘要IVABSTRACTV1.绪论11.1课题背景和意义11.2国内外研究状况及发展趋势12.主要技术的选择22.1选择C/S模式22.2选择ADO技术来访问数据库32.3后台数据库33.系统分析33.1可行性分析33.1.1经济上的可行性33.1.2技术上的可行性33.1.3操作上的可行性43.2系统业务流程分析43.3系统数据流分析53.4部分数据字典94.系统概要设计114.1设计目标114.2系统功能结构设计1150-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发4.3对功能模块的描述124.4系统流程分析164.5数据库分析与设计174.5.1系统E-R图174.5.2数据库表逻辑结构195.系统详细设计与实现215.1添加数据库访问类215.2为表添加类215.3登录模块设计与实现225.3.1登录模块的功能简述225.3.2登录模块的功能实现235.4商品管理模块程序设计与实现265.4.1商品管理模块程序的功能简述265.4.2商品管理模块程序的功能实现265.5报表管理的设计与实现295.5.1报表管理的功能简述295.5.2报表管理的功能实现296.系统测试326.1系统测试举例326.2系统部分运行、测试效果图337.总结与展望377.1系统总结3750-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发7.2未来展望37参考文献39致谢40附录一数据库表结构41附录二部分系统程序段4650-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发摘要企业进销存管理是企业经营管理中的重要环节,也是一个企业能够取得效益的关键,如果能够做到合理采购,及时销售,库存量最小,减少积压,那么企业就能取得最佳的效益。由此可见,进销存管理决策的正确与否直接影响了企业的效益,可靠、准确、快速和实用的管理信息系统已成为现代企业的一种实际需要。企业进销存管理信息系统能够有效地将企业的采购、库存和销售信息进行高效率的管理,从而提高企业的效率和效益。本系统采用结构化系统开发方法对企业进销存流程的数据流进行分析研究,并在此基础上设计出了系统的数据库。在对系统进行功能设计时,论文采用模块化设计方法,对系统的每个子模块具体的功能模块进行分析设计,从而完成整个系统的功能设计。本系统采用基于C/S模式的共享式多用户方案开发“企业进销存管理信息系统”,以VisualC++作为前台开发工具,以SQLServer2000作为后台数据库。[关键词]:管理信息系统;进销存;C/S结构50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发AbstractPurchase-Sales-Inventorymanagementisnotonlyanimportantpartofoperationmanagementofanenterprisebutalsoakeytogaineconomicbenefit.Anenterprisecanachievebesteconomicbenefitbyreasonablepurchase,in-timesale,minimuminventoryandreducingoverstock.ThusiscanbeseenthattheeconomicbenefitofanenterpriseisdirectlyinfluencedbydecisionofPurchase-Sales-Inventorymanagement.ManagementInformationSystemwhichisreliable,veracious,rapidandappliedhasbeenbecominganactualrequirementofmodernenterprise.Purchase-Sales-InventoryManagementInformationSystemcanmanagethedataofpurchasing,inventoryanddistributioneffectivelysothatimprovingefficiencyandbenefitofanenterprise.ThisSystemusesStructureSystemAnalysisandDesignMethodtoanalysisdataflowofPurchase-Sales-Inventory.Andonthebaseofanalysis,thedatabaseofthesystemisdesigned.Whenitcomestothesystemfunctiondesignment,thepaperdesignedfunctionmoduleofeverychildmoduleofthesystem,andfinishedallthefunctiondesignmentintheend.TheClient/Server(C/S)structuresharingtypemultiuserpatternisadoptedtodevelopPurchase-Sales-InventoryManagementInformationSystemofEnterprise.IttakesVisualC++6.0asthefrontdevelopmentkitandSQLServer2000asthebackgrounddatabase.[KeyWords]:MIS;Purchase-Sales-Inventory;C/SStructure50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发企业进销存管理信息系统的设计与开发1.绪论1.1课题背景和意义随着计算机科学与技术的飞速发展,计算机的应用己经渗透到国民经济与人们生活的各个角落,正在日益改变着传统的人类工作方式和生活方式。企业要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,企业管理的全面自动化、信息化则是其中极其重要的部分。“信息化是我国加快实现工业化和现代化的必然选择,坚持以信息化带动工业化,以工业化促进信息化”。企业实现信息化,将计算机这一信息处理利器应用于企业管理己是势必所然,而且这也将为企业管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速发展提供无限潜力。管理信息系统(ManagementInformationSystem,MIS)是一个由人、计算机等组成的能进行信息收集、传递、存储、加工、维护和使用的系统。采用计算机管理信息系统已成为企业管理科学化和现代化的重要标志,它给企业管理带来了明显的经济效益和社会效益。企业进销存管理信息管理系统可以帮助企业快速有效地管理进货、销售、库存、应收、应付款等各项业务。合理控制进销存各个环节,提高资金的利用率和结算速度,实现管理的高效率、实时性、安全性、科学化、现代化、智能化。1.2国内外研究状况及发展趋势从国内外研究现状看,产业界对进销存管理系统的研究主要分两类:一类是产品有明确行业定位的软件厂商,该类厂商通过对特定行业的管理需求及行业特色的不断提炼,以提供日益成熟的行业解决方案产品,在此基础上通过行业细分或向类似行业进行渗透,实现产品线的扩展;另一类是原来提供通用解决方案的软件厂商,在长期的ERP实施过程中积累了众多行业的管理经验,为了降低通用产品的规模及复杂度,提高产品的行业针对性,通过对原有通用ERP产品的裁剪来提供分行业的解决方案及软件产品。国内学术界对ERP中进销存50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发的行业化也进行了积极的探索,这方面的研究成果通常建立在对具体企业实施ERP的经验教训进行总结、对不同行业的ERP需求特点进行提炼、以及针对行业特点对ERP功能模块、基础数据、关键问题等进行探讨并提出相应解决方案的基础上。可见,对ERP中进销存等相关领域还需要做大量的研究工作。虽然目前国内外成熟的ERP软件拥有强大的功能,但是价格却是相对昂贵,仅仅适用于大中型规模化的生产企业。对于中小型企业,特别是商业企业来说,不仅费用昂贵,而且其中很多关于生产制造管理模块对自身来说却是毫无用处的,形成了浪费。为了解决这个问题,目前迫切需要开发出一种企业进销存管理信息系统软件来适用于企业的采购、销售和仓库部门,对企业采购、销售及仓库的业务全过程进行有效控制和跟踪,可有效减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度,增加企业收入,全面提高了企业的管理水平和效益提升企业市场竞争力。2.主要技术的选择本系统采用基于C/S模式的共享式多用户方案开发“企业进销存管理信息系统”,以VisualC++作为前台开发工具,以SQLServer2000作为后台数据库,采用目前比较流行的ADO数据访问技术,将每个数据库表的字段和操作封装到类中,使应用程序的各个窗体都能够共享对表的操作,无需重复编码,使程序更易于维护,从而成功将面向对象的程序设计思想应用到数据库应用程序设计中,这也是本系统的特色和优势。下面对主要技术的选择作个说明:2.1选择C/S模式目前现代企业MIS系统平台模式主要考虑客户机/服务器模式(Client/Server,简称C/S)和Web浏览器/服务器模式(Browser/Server,简称B/S)。这两种模式各有所长。C/S模式其优点体现在:①可靠的数据完整性和安全性控制。由于C/S是配对的点对点的结构模式,采用适用于局域网、安全性比较好的网络协议,安全性可以得到较好的保证。②高效的联机事务处理性能。在C/S中,客户端有一套完整的应用程序,出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。③很好的开放性和易扩充性。④高效的应用程序开发。50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发由于本系统主要用于中小型企业内部使用,用户群小,不存在维护难度大和通用性等问题。而本系统对数据安全性要求较高,处理数据量大,这正好是C/S结构的优点。因此本系统采用C/S结构无疑是最佳选择。2.2选择ADO技术来访问数据库在VisualC++中,可以通过以下方式访问数据库:①.ActiveX数据对象(ADO);②.远程数据对象(RDO);③.数据访问对象(DAO);④.ODBC直接连接到数据库。其中ADO是最新的数据库访问技术,它是使用更加简单,更加灵活的对象模型,并且提供了像ADOData控件,DataGrid控件等数据库访问控件,具有比较友好的用户界面,只需要简单配置就可以使用,使访问数据库更加简单。所以,本系统选择ADO作为数据访问接口。2.3后台数据库SQLServer2000是一种关系型数据库,具有使用方便、可伸缩性好、与相关软件集成程度高等优点,满足本系统软件的开发需求,所以选择SQLServer2000作为后台数据库。3.系统分析3.1可行性分析在系统调查的基础上,对本系统的开发从经济、技术、操作的方面进行可行性分析和研究,以避免投资失误,保证本系统的开发成功。该系统的可行性分析包括以下几个方面的内容。3.1.1经济上的可行性由于本系统作为一个毕业设计,无需投入太大的开发经费,并且本系统实施后可以显著提高工作效率,有助于企业管理完全实现信息化管理。所以本系统在经济上是可行的。3.1.2技术上的可行性该管理系统采用当前C++可视化集成开发工具之一Visual50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发C++进行开发。Client/Server(客户机/服务器)结构把数据库内容放在服务器上,而在客户机上安装相应软件。C/S软件一般采用两层结构,它由两部分构成:前端是客户机,即用户界面(Client)结合了表示与业务逻辑,接受用户的请求,并向数据库服务提出请求,通常是一个PC机;后端是服务器,即数据管理(server)将数据提交给客户端,客户端将数据进行计算并将结果呈现给用户。满足了本系统对数据安全性要求较高,处理数据量大的要求,而且又紧密的结合了计算机网络技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用MicrosoftSQLServer2000数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。3.1.3操作上的可行性本系统开发完成后,管理人员可以在软件开发人员的简单指导下,利用C/S结构来进行操作,用SQLSever2000作为数据库管理,实质上使用本系统只是一些简单的数据录入和查询,所以操作容易,只要有一定计算机操作知识都是能够操作,只要按照一定的操作步骤都可以使用本系统。综上所述,通过以上科学、合理的可行性分析,得出的结论是企业进销存管理信息系统的开发在经济上,技术上,操作上都是可行的,不仅有巨大的经济效益,而且有更大的社会效益,从而使该系统开发具有价值,也节省了大量资源,所以,我认为开发此系统的条件已经具备,可以开始进行开发。3.2系统业务流程分析本系统的业务流程分析的主要任务是调查系统中各环节的管理业务活动,掌握管理业务的内容、作用及信息的输入、输出,数据存储和信息的处理方法及过程等,为建立企业进销存管理信息系统的数据模型和逻辑打下基础。本系统的业务流程简述如下:客户根据需求,与销售部门产生销售订单,销售部门查询库存,如果缺货就登记缺料单,转交给采购部门,如果不缺货就向仓库部门发出销售出库单,仓库部门发货同时提交销售出库单给财务部门,财务部门生成销售收款单,通知客户。50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发采购部门根据缺料单进行与供应商下达采购订单,供应商按订单来料,仓库部门根据来料产生采购入库单,安排检验,合格后办理入库业务,入库单据提交财务部门,并根据发票形成应付款,通知供应商。本系统业务流程图如图3.1所示:采购部门采购订单供应商客户采购入库单仓库部门销售收款单财务部门销售出库单采购付款单销售部门销售订单缺料单收款通知图3.1企业进销存管理信息系统业务流程图付款通知3.3系统数据流分析本系统业务流程分析中绘制的业务流程图虽然形象地表达了管理过程中信息的流动和存储过程,但这其中包括一些物质要素。为了用计算机进行信息管理,必须进一步舍去物质要素,绘制系统的数据流图,对系统进行数据流程分析。数据流图(DataFlowDiagram,DFD),是描述数据输入、数据输出、数据存储及数据处理之间关系的一种强有力的工具,也是与用户进行紧密配合的有效媒介。其主要成分有四种:数据流、数据存储、加工处理、外部实体。对于复杂系统,一张数据流图难以描述和难以理解,往往采用分层数据流图。本50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发系统顶层数据流图,如图3.2所示:图3.2企业进销存管理信息系统顶层数据流图销售出库单采购入库单各类表单各类表单各类报表供应商客户操作人员查询人员企业进销存管理信息系统进销存信息系统数据库采购订单销售订单系统顶层数据流图虽然从概况上描述了整个系统的内外接口情况,但它并不能很清楚地表达数据处理过程的数据加工情况,因此需要进一步的细化。进销存管理信息系统的数据处理,按照功能包括4个子系统:基础信息管理系统、采购管理模块系统、库存管理系统、销售管理系统。因此,就可以画出表示这4个子系统的加工及其相关的数据流。这是本进销存管理系统的一级图,一级图由外部实体、处理和数据存贮结点组成。它表示1个系统的主要功能或者是一个大型系统的主要的组成子系统。本系统一层数据流图如图3.3所示:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发操作要求销售出货单采购入库单采购订单基础信息客户P2销售管理P1采购管理供应商系统管理人员P4基础信息管理数据库P3库存管理销售订单图3.3企业进销存管理信息系统一层数据流图由于各个子系统比较复杂,为了更清晰地表达数据加工过程,可以进一步对它进行细化,从而得到各个模块的二级图。本系统根据实际功能将整个系统细化后,得到基础信息管理系统、采购管理模块系统、库存管理系统、销售管理系统的二级图。二级图由外部实体、处理和数据存贮结点组成,其组成与一级图组成类似。下面以销售和采购为例进行细化。销售子系统二级数据流图和采购子系统二级数据流图分别如图3.4,图3.5所示:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发F1订购信息客户S1P1.1需求录入D1商品表P1.2添加新商品P1.3添加新客户P1.4制定订单D3销售订单表D4销售出库表P1.5登记出库P1.7收款处理D5销售应收款表P1.6出库修改库存D6商品库存表D2客户表P1.8库存查询D7缺料表图3.4销售子系统数据流图50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发供应商P2.2添加新供应商P2.1制定订单D9采购订单表D10采购入库表P2.3登记入库P2.5付款处理D11销售应付款表P2.4入库修改库存D6商品库存表D8供应商表D7缺料表图3.5采购子系统数据流图3.4部分数据字典为了定义本系统数据流图中各个成分的具体含义的,以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述,需要数据字典来辅助分析,它和数据流图共同构成了本系统的逻辑模型。数据字典有以下四类条目:数据流、数据项、数据存储、处理逻辑。由于篇幅关系,不能一一对本系统数据字典进行描述,下面仅各举一例为代表进行描述。如表3.1~表3.4所示:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发表3.1数据流的描述数据流编号F1数据流名称订购信息简述说明客户订购的基本信息数据流来源客户数据流去向订单处理模块数据流组成商品基本信息+客户信息+数量+价格+……数据流的流通量100/天表3.2处理逻辑的描述处理逻辑编号P1.4处理逻辑名称制定订单简述根据客户订购信息制定订单输入数据流订购信息输出数据流订单信息处理描述根据客户订购信息(包括客户信息,商品信息)制定订单表3.3数据存储的描述数据存储编号D1数据存储名称商品信息表简述存放的是每种商品的基本信息输入数据商品基本信息数据存储组成名称+类型+规格型号+产地+库存上限+库存下限+……存储方式按商品编号的先后顺序排列表3.4外部实体的描述外部实体编号S1外部实体名称客户简述购买商品的人输入数据流无输出数据流客户基本信息和订单信息50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发4.系统概要设计4.1设计目标(1)功能实用。面向中小型企业,紧紧围绕进销存业务,不盲目追求功能的大而全。设置一些对企业具有较大实用价值的功能,比如:商品库存上、下限存量报警,基础信息和业务信息查询统计,将数据导出到Excel表等。(2)运行可靠。好的软件首先是一个正确、可靠的软件。不追求新技术的采用,而要确保系统计算正确无误,运行稳定可靠。(3)界面友好,操作简单。操作界面布局得当,主次分明,信息量丰富,相关信息实现关联查询,操作简单,易于学习和掌握。(4)安全保密。系统通过操作权限划分、技术加密手段,确保商业数据的安全,让合法用户方便使用,同时拒绝非法使用。(5)易于扩充。市场多变,系统要易于扩充,以适应不断变化的业务要求,延长系统的使用寿命。4.2系统功能结构设计本系统划分为七大模块,包括系统管理模块,基本信息管理模块,采购管理模块,销售管理模块,库存管理模块,报表管理模块和帮助模块。具体模块划分如图4.1所示:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发企业进销存管理信息系统系统管理基本信息管理采购管理销售管理库存管理报表管理帮助用户管理修改密码供应商管理客户管理商品管理库房管理部门管理员工管理采购订单管理采购入库管理采购付款管理销售订单管理销售出库管理销售收款管理库存盘点管理库存警示管理库存信息查询系统备份采购订单查询统计采购订单查询统计采购订单查询统计采购订单查询统计关于系统辅助工具其它资料管理图4.1企业进销存管理信息系统功能模块示意图4.3对功能模块的描述(1)在系统管理方面包括系统登录,用户管理,密码修改,系统备份。系统登录:用来验证登录的系统用户的合法性,只有合法的系统用户才能登录系统并且使用系统功能。用户管理:实现对用户的添加,修改和删除,并设置用户的类型,不同用户类型具有不同的操作权限。50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发密码修改:用来修改登录系统用户的密码,长时间地使用一个密码可能会使密码不安全,导致整个系统的不安全,因此用户有必要定期修改密码。数据备份:提供对系统整个数据库的备份处理。数据备份工作应当定期进行,以保证在系统出现任何故障时能快速恢复。备份的数据文件应存放在安全的地方。(2)在基本信息管理方面:供应商管理:用于对在进销存系统中涉及到的供应商的基本信息进行管理。只有在供应商资料中存在的供应商才可以参与进销存系统中涉及到的业务。因此,当订单中要求的供应商不在供应商资料中的时候,需要在供应商资料管理功能模块中添加该供应商;当企业决定不再与某个供应商有业务往来的时候,需要在供应商资料管理功能模块中删除该供应商;当某个供应商的基本信息发生变动时,需要在供应商资料管理功能模块中对该供应商信息进行修改。供应商信息包括供应商编号、供应商全称、简称、地址、邮政编码、固定电话、传真、联系人、手机、开户银行、银行账号、E-mail、备注等基本信息。客户管理:用于对在进销存系统中涉及到的客户的基本信息进行管理。只有在客户资料中存在的客户才可以参与进销存系统中涉及到的业务。因此,当下订单中的客户不在客户资料中的时候,需要在客户资料管理功能模块中添加该客户;当企业决定不再与某个客户有业务往来的时候,需要在客户资料管理功能模块中删除该客户;当某个客户的基本信息发生变动时,需要在客户资料管理功能模块中对该客户信息进行修改。客户信息包括客户编号、客户全称、简称、地址、邮政编码、固定电话、传真、联系人、手机、开户银行、银行账号、E-mail、客户信用限度、备注等基本信息。商品管理:用于进销存系统中的商品的添加,删除以及修改。只有在商品列表中存在的商品才能在进销存系统中流通,因此,当业务员接受的订单在商品列表中不存在时,就需要在商品管理功能模块中对商品信息进行添加;而当某些商品在企业内不再使用时,需要在商品管理模块中对商品信息进行删除;当某些商品的基本信息有所变动时,需要在商品管理模块中对商品信息进行修改。“商品管理”是系统管理员对系统进行管理的一个窗口。商品信息包括:商品编号、商品名称、商品类别、规格型号、计量单位、产地、库存上限、库存下限、备注等基本信息。50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发库房管理:用于对企业用来存放商品的库房进行管理。包括库房的添加、删除以及基本信息的修改。部门管理:用于对企业部门的管理。包括部门的添加、删除以及基本信息的修改。员工管理:用于对进销存系统中涉及到的员工的基本信息进行管理。包括对系统中的员工的添加、删除以及基本信息的修改。在进行添加员工之前必须先设置所属部门的信息。员工信息包括:员工编号、员工姓名、性别、出生日期、相片、联系电话、住址、备注等基本信息。(3)在采购管理方面:采购管理是对系统中涉及到采购的部分进行统一的管理,采购管理在本系统划分为采购订单管理、采购入库管理、采购付款管理三个子模块。采购订单管理:包括采购订单的添加、删除以及基本信息的修改。采购订单的编制以缺料为依据,可以根据商品库存警示信息查询出需要编制采购订单的缺料,采购订单的一部分信息可以直接从缺料单中获取。编制采购订单时,赋予每一条需求一个唯一的订单编号作为需求在系统内的唯一标识。采购订单信息包括:单据编号、订单日期、收货日期、业务员、供应商名称、商品名称、数量、单价、折扣率、金额、备注、制单人、制单日期等信息。采购入库管理:包括采购入库单添加、修改、删除以及审核。用于登记采购以后准备入库的商品,入库登记时产生一份入库单,赋予每一份入库单一个唯一的入库单号,入库登记以采购收货为依据,入库单中与采购订单相关的信息可直接从中获取。系统用户可以在这里对己经提交但是没有被审核的入库单进行修改,入库单一经审核确认就不能再做任何改动,经过审核入库成功必须同时修改商品库存信息。采购入库单信息包括:单据编号、订货日期、库房名称、经手人、供应商名称、商品名称、入库数量、单价、金额、备注、原始单号、制单人、制单日期、审核人、审核日期等信息。采购付款管理:用于采购过程中涉及到与供应商的付款信息进行管理,包括采购付款单的添加、删除以及基本信息的修改。(4)在销售管理方面:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发销售管理是进销存系统中重要的一个环节,它将外界的需求引入系统,然后让需求在系统内按照系统的业务流程进行流通。销售管理在实际操作中从客户提出需求开始,到发货到客户为止,整个过程涉及到缺料运算、采购管理、库存管理等多个系统子模块。销售管理在本系统划分为销售订单管理、销售出库管理、销售收款管理三个子模块。销售订单管理:包括销售订单的添加、删除以及基本信息的修改。用于将客户的需求录入进销存系统,形成订单。录入时,能够从客户资料中获取客户和所需要商品的基本信息,如果录入时客户或者商品在系统中暂时不存在则需要先进行添加然后才能进行需求录入。需求录入时赋予每一条需求一个唯一的订单编号作为需求在系统内的唯一标识。销售订单信息包括:单据编号、订单日期、交货日期、业务员、客户名称、商品名称、数量、单价、折扣率、金额、备注、制单人、制单日期等信息。销售出库管理:包括销售出库单添加、修改、删除以及审核。用于登记销售以后准备出库的商品,出库登记时产生一份出库单,赋予每一份出库单一个唯一的出库单号,出库登记以客户需求为依据,出库单中与销售订单相关的信息可直接从中获取。系统用户可以在这里对己经提交但是没有被审核的出库单进行修改,出库单一经审核确认就不能再做任何改动,经过审核出库成功必须同时修改商品库存信息。销售出库单信息包括:单据编号、订货日期、库房名称、经手人、客户名称、商品名称、出库数量、单价、金额、备注、原始单号、制单人、制单日期、审核人、审核日期等信息。销售收款管理:用于销售过程中涉及到与客户的收款信息进行管理,包括销售收款的添加、删除以及基本信息的修改。(5)在库存管理方面:库存管理用于管理企业内商品的库存信息,库存信息与采购管理、销售管理等子模块密切相关,库存管理物资数量、金额的变化除正常库存损耗外,都是企业销售与采购的结果。库存管理在本系统划分为库存盘点管理、库存警示管理、库存信息查询三个子模块。库存盘点管理:对库存产品进行整理,纠正不准确的库存数据。由于人为操作等原因,系统中的库存数据与实际数据之间可能会存在误差。所以每隔一段时间就需要对库存进行盘点,从而保证库存数据的准确性。50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发库存警示管理:对库存中接近或超过临界值的产品进行报警。产品数量小于合理数量的下限称为短线;产品数量大于合理数量的上限称为超储。产品出现短线、超储时都需要报警。库存信息查询:用于根据库房和商品条件查询各库房商品的库存信息。(6)在报表管理方面采购订单查询统计:用于根据一定时间段,按商品,按业务员,按供应商对采购订单进行组合查询统计,同时也能将查询结果输出到Excel报表。采购入库查询统计:用于根据一定时间段,按商品,按业务员,按供应商,按库房,按审核状态对采购入库单进行组合查询统计,同时也能将查询结果输出到Excel报表。销售订单查询统计:用于根据一定时间段,按商品,按业务员,按客户对采购订单进行组合查询统计,同时也能将查询结果输出到Excel报表。销售出库查询统计:用于根据一定时间段,按商品,按业务员,按客户,按库房,按审核状态对销售出库单进行组合查询统计,同时也能将查询结果输出到Excel报表。(7)在系统帮助方面:关于系统:用来显示系统版本、版权。辅助工具:计算器,记事本。4.4系统流程分析所谓系统流程就是用户在使用系统时的工作过程。对于多类型用户的管理系统来说,不同用户类型具有不同的操作权限,每一类用户的工作流程都是不相同的。多用户系统的工作流程都是从用户登录模块开始,对用户的身份进行认证。身份认证可以分为以下两个过程:第一、确认用户是否有效的系统用户;第二、确定用户的类型。第一个过程决定用户能否进入系统,第二个过程根据用户的类型决定用户的操作权限,从而决定用户的工作界面。本系统流程图如图4.2所示:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发进销存管理模块用户管理模块普通用户管理员失败开始用户登录失败超过3次结束读取用户类型1.管理自己的用户信息2.管理普通用户的信息管理自己的用户信息基本信息管理采购管理销售管理库存管理报表管理重试是否图4.2企业进销存管理信息系统流程分析图成功帮助4.5数据库分析与设计数据库分析是整个数据库应用系统开发过程中的一个重要环节,其具体可划分为两个部分:(1)概念模型的分析,即E-R(实体关系,Entity-Relation)图的分析;(2)逻辑模型的分析,即表与字段的分析。:4.5.1系统E-R图E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是可以从用户的工作环境中标识出的事物,是用户想要跟踪的某个事物。实体在E-R图中,用矩形表示,矩形框内写明实体名。实体具有属性,有时也称作性质,是用来描述实体的特征的。在E-50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发R图中,属性用椭圆形表示,并用无向边将其与相应的实体连接起来。实体可以通过联系相互关联。在一般的联系中,使用二元联系居多,二元联系主要有三种类型,l:l,l:n,m:n。在E-R图中,联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或者m:n)。在本系统中,采购入库单与采购付款单是一对一关系,销售出库单与销售收款单也是一对一关系;商品与仓库是多对多关系,即一种商品可存放到不同的仓库,一个仓库也能存放多种商品。本系统的E-R图如图4.3所示:mnmmnnmnmnnnnn111n1供应商操作员制定采购订单销售订单采购入库单销售出库单商品来源仓库客户供应订购存储供应订购采购付款单销售收款单付款收款1mmnn图4.3企业进销存管理信息系统E-R图由于上图的篇幅所限,没有将各实体的属性列出,现以商品为例给出该实体的实体-属性图。如图4.4所示:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发商品名称商品类别规格型号产地库存上限库存下限商品名称备注商品编号商品图4.4商品实体-属性图4.5.2数据库表逻辑结构本系统数据库采用SQLServer2000,数据库名称为EnterpriseManage.下面仅列出几个数据表的结构设计为代表,其余数据表结构参考附录一。(1).商品信息表(Product)用来保存商品的基本信息。如表4.1所示:表4.1商品信息表字段名描述数据类型数据长度NULLPrimaryKeyProId编号Int4NYProName名称Varchar50YNTypeId类型Int4NNProStyle规格Varchar50YNUnitId单位Int4NNPlace产地Varchar50YNLow库存下限Int4YNHigh库存上限Int4YNRemark备注Varchar50YN(2).采购入库表(BuyIn)用来保存采购入库操作的基本信息。如表4.2所示:表4.2采购入库表字段名描述数据类型数据长度NULLPrimarykeyBId编号Int4NYBuyInNo单据编号Varchar20NNOpenDate订货日期Varchar20YNEmpId员工编号Int4NN50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发SupId供应商编号Int4NNWId库房编号Int4NNProId商品编号Int4NNNum数量Int4YNPrice单价Float8YNAmount金额Float8YNId订单编号int4NNRemark备注Varchar200YNMakeMan操作人Varchar20YNMakeDate操作时间Varchar20YNAuditMan审核人Varchar20YNAuditDate审核时间Varchar20YNState审核状态Varchar20YN(3).销售出库表(SaleOut)用来保存销售出库操作的基本信息。如表4.3所示:表4.3销售出库表字段名描述数据类型数据长度NULLPrimarykeySId编号Int4NYSaleOutNo出库单编号Varchar20NNOpenDate订货日期Varchar20YNEmpId员工编号Int4NNClientId客户编号Int4NNWId库房编号Int4NNProId商品编号Int4NNNum数量Int4YNPrice单价Float8YNAmount金额Float8YNRemark备注Varchar200YNId订单编号int4NNMakeMan操作人Varchar20YNMakeDate操作时间Varchar20YNAuditMan审核人Varchar20YNAuditDate审核时间Varchar20YNState审核状态Varchar20YN(4).库存信息表(Stock)用来保存库存的基本信息。如表4.4所示:表4.4库存信息表字段名描述数据类型数据长度NULLPrimaryKeySId编号Int4NYProId商品编号Int4NNWId库房编号Int4NN50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发Num数量Int4YN(5).用户信息表(UserInfo)用来保存用户的基本信息。如表4.5所示:表4.5用户信息表字段名描述数据类型数据长度NULLPrimaryKeyUserName用户名Varchar50NYPasswd密码Varchar50YNUserType类型Tinyint1YN5.系统详细设计与实现在概要设计阶段,对管理系统进行了分解,将管理系统进行了模块的划分,并设计和确定了模块之间的联系,同时还确定了每个模块应该完成的功能。本章根据概要设计,将对每个模块的定义进行设计,以实现指定的功能、算法。5.1添加数据库访问类为了方便访问数据库,从代码复用角度出发,将访问数据库表的操作封装成ADOConn类,从而更符合面向对象开发思想,下面仅介绍ADOConn类中的成员函数的基本功能,如表5.1所示,具体代码实现请参照附录二的程序段1或本系统的源程序。表5.1ADOConn类的成员函数函数声明具体说明voidOnInitADOConn();用来初始化与数据库的连接_RecordsetPtr&GetRecordSet(_bstr_tbstrSQL);用来执行SQL查询语句BOOLExecuteSQL(_bstr_tbstrSQL);用来执行Insert,Update等SQL语句voidExitConnect();用来断开与数据库的连接由于在默认情况下,VisualC++不支持ADO对象,要在程序中使用ADO对象,需要使用#import命令将ADO库文件导入工程中,代码如下:#import"C:ProgramFilesCommonFilesSystemadomsado15.dll"no_namespacerename("EOF","adoEOF")rename("BOF","adoBOF")5.2为表添加类50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发本系统中为数据库的每个表都创建一个类,类的成员变量对应表的列,类的成员函数是对成员变量和表的操作,这种封装的方法比较符合VisualC++的程序设计思想。将每个数据库表的字段和操作封装到类中,使应用程序的各个窗体都能够共享对表的操作,无需重复编码,使程序更易于维护,从而成功将面向对象的程序设计思想应用到数据库应用程序设计中,这也是本系统的特色和优势。下面仅以用户表为例,CUserInfo类用来管理表UserInfo的数据库操作,表5.2仅介绍CUserInfo类中的成员函数的基本功能,并不对所有的成员函数进行具体的代码分析,具体代码参照系统源程序。表5.2CUserInfo类的成员函数函数声明具体说明CUserInfo()初始化成员变量boolIsExistUser(CStringparaUser)判断指定的用户名是否己存在数据库中voidGetInfo(CStringparaUser)读取指定的记录voidSqlInsert()插入新的用户记录VoidSqlUpdate(CStringparaUser)修改用户密码。参数表示要修改的用户名voidSqlDelete(CStringparaUser)删除指定的用户记录。参数表示要删除的用户名5.3登录模块设计与实现用户要使用本系统,首先必须通过系统的身份认证,这个过程叫做登录。5.3.1登录模块的功能简述当用户运行本系统,输入用户名和密码进行身份认证,如果成功就进入系统的主界面,如果失败就提示用户再次输入,为了防止恶意用户暴力破解密码的目的,本系统用户连续三次登录不成功便自动结束程序。登录模块的输入输出分析如图5.1所示:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发用户名密码密码加密查询数据库用户验证密码验证识别用户类型记录操作次数如果成功进入企业进销存管理信息系统主界面;如果失败清空用户和密码编辑框输入输出图5.1登录窗体模块IPO图5.3.2登录模块的功能实现1.在应用程序工程中新建一个对话框,类名为:CLoginDlg。2.根据5.3.1简述的功能设计该登录模块的界面,如图5.2所示。图5.2登录模块界面设计图3.登录模块的逻辑流程分析,如图5.3所示:50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发开始输入用户名和密码密码加密验证通过?结束查询数据库企业进销存管理信息系统主界面YNYN图5.2系统登录模块逻辑流程图数据库大于3次?4.下面将针对上述流程的实现来介绍其中的一些关键函数。★boolCUserInfo::IsExistUser(CStringparaUser)描述:判断是否存在此用户。参数:paraUser,输入的用户名。返回值:bool,布尔类型,如果用户存在则返回TRUE,不存在则返回FALSE。实现分析:连接-初始数据库,设置SELECT查询语句,执行SELECT查询语句,将结果存放到记录集,判断记录集。其具体方法实现如下://判断是否存在此用户boolCUserInfo::IsExistUser(CStringparaUser){//连接数据库ADOConnm_AdoConn;m_AdoConn.OnInitADOConn();//设置Select语句_bstr_tvSQL;50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发vSQL="SELECT*FROMUserInfoWHEREUserName=""+paraUser+""";//执行SQL语句_RecordsetPtrm_pRecordSet;m_pRecordSet=m_AdoConn.GetRecordSet(vSQL);//判断是否存在此用户if(m_pRecordSet->adoEOF){returnFALSE;}else{returnTRUE;}}★CStringCCrypt::Encrypt(CStringS)描述:对输入密码进行加密。参数:S,要加密的密码。返回值:CString,字符串类型,加密后的返回的密码字符串。说明:用于将用户密码进行加密后再与根据用户名查询数据库结果进行比较验证。实现分析:初始化结果字符串,依次对要加密的密码字符串中各字符进行操作,对加密结果进行转换,将字符转换为两个字母保存,返回加密后的密码字符串。其具体方法实现如下:CStringCCrypt::Encrypt(CStringS)//加密函数{CStringResult,str;inti,j;intikey=0;BYTEbM;Result=S;//初始化结果字符串for(i=0;i255)bM-=256;Result.SetAt(i,bM);ikey++;if(ikey>=4)ikey=0;}S=Result;//保存结果Result.Empty();//清除结果50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发for(i=0;iOpen(strConnect,"","",adModeUnknown);}//捕捉异常catch(_com_errore){//显示错误信息AfxMessageBox(e.Description());}}//执行查询_RecordsetPtr&ADOConn::GetRecordSet(_bstr_tbstrSQL){try{//连接数据库,如果Connection对象为空,则重新连接数据库if(m_pConnection==NULL)OnInitADOConn();//创建记录集对象m_pRecordset.CreateInstance(__uuidof(Recordset));//取得表中的记录m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发}//捕捉异常catch(_com_errore){//显示错误信息AfxMessageBox(e.Description());}//返回记录集returnm_pRecordset;}//执行SQL语句,InsertUpdate_variant_tBOOLADOConn::ExecuteSQL(_bstr_tbstrSQL){//_variant_tRecordsAffected;try{//是否已经连接数据库if(m_pConnection==NULL)OnInitADOConn();//Connection对象的Execute方法:(_bstr_tCommandText,//VARIANT*RecordsAffected,longOptions)//其中CommandText是命令字串,通常是SQL命令。//参数RecordsAffected是操作完成后所影响的行数,//参数Options表示CommandText的类型:adCmdText-文本命令;adCmdTable-表名//adCmdProc-存储过程;adCmdUnknown-未知m_pConnection->Execute(bstrSQL,NULL,adCmdText);returntrue;}catch(_com_errore){AfxMessageBox(e.Description());returnfalse;}}//断开连接voidADOConn::ExitConnect(){//关闭记录集和连接if(m_pRecordset!=NULL)m_pRecordset->Close();m_pConnection->Close();//释放环境50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发::CoUninitialize();}程序段2当用户单击“确定”按钮时触发CLoginDlg::OnOkButton(),对应代码如下:voidCLoginDlg::OnOkButton(){//TODO:Addyourcontrolnotificationhandlercodehere//将对话框中编辑框的数据读取到成员变量中UpdateData(TRUE);//没有输入用户名if(m_User==""){MessageBox("请输入用户名","信息提示");GetDlgItem(IDC_USER_EDIT)->SetFocus();return;}//定义用户信息表变量CUserInfoUser;CCryptcry;//判断用户是否存在if(!User.IsExistUser(m_User)){count++;if(count<3){MessageBox("用户名不存在,请重新输入!","用户名错误",MB_ICONINFORMATION);m_User="";m_Pwd="";UpdateData(FALSE);GetDlgItem(IDC_USER_EDIT)->SetFocus();return;}else{MessageBox("重试次数已到,不能再输入用户名和密码,即将退出系统!","用户名错误",MB_ICONEXCLAMATION);exit(0);return;}}//判断密码是否正确User.GetInfo(m_User);50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发if(User.Passwd!=cry.Encrypt(m_Pwd)){count++;if(count<3){MessageBox("用户名或密码错误,请重新输入!","用户名或密码错误",MB_ICONINFORMATION);m_User="";m_Pwd="";UpdateData(FALSE);GetDlgItem(IDC_USER_EDIT)->SetFocus();return;}else{MessageBox("重试次数已到,不能再输入用户名和密码,即将退出系统!","用户名或密码错误",MB_ICONEXCLAMATION);exit(0);return;}}//关闭对话框CDialog::OnOK();}50-- 广东金融学院本科毕业论文——企业进销存管理信息系统的设计与开发毕业论文(设计)成绩评定及评语表系(部):计算机科学与技术系统班级:051411姓名郑仪财学号55最终成绩论文(设计)题目企业进销存管理信息系统的设计与开发指导教师评语与答辩资格推荐意见推荐意见:签名:年月日答辩小组评语推荐成绩等级:组长签名:年月日系(部)答辩委员会(或学术委员)审定意见最终成绩等级:委员会主任签名:年月日备注⑴论文(设计)成绩按五级制(优秀、良好、中等、及格、不及格)评定。⑵论文(设计)成绩评定时,指导教师提出推荐意见,同意或不同意;答辩小组提出推荐成绩等级,最终成绩等级由系(部)答辩委员会(或学术委员会)根据比例确定。⑶未答辩的学生,推荐成绩等级注明“未安排答辩”。50--'