进销存管理系统设计与实现_第1页
进销存管理系统设计与实现_第2页
进销存管理系统设计与实现_第3页
进销存管理系统设计与实现_第4页
进销存管理系统设计与实现_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

年4月19日进销存管理系统设计与实现文档仅供参考,不当之处,请联系改正。赣西科技职业学院毕业论文(设计)题目进销存管理系统院-系:赣西科技职业学院专业:计算机应用技术年级:12级计算机班学生姓名:高飞学号:导师及职称:胡洪云10月10日基于B/S模式的进销存管理系统设计与实现摘要:基于B/S模式的进销存管理系统是一个典型的管理信息系统,它能够为企业形成一个准确反映企业状况的规范的管理体系。系统不但整合了企业内部的物流、业务流、资金流、还整合了企业外部的供应商和客户。进销存管理系统作为一种企业管理软件,针对企业应用的信息化管理整体解决方案,集多种管理一体化,致力于帮助企业快速有效地管理进货、销售、库存和应收/应付款等各项业务,帮助企业建立起一个简捷、高效的实时运营管理平台,实现物流、资金流、信息流的在线动态监控和管理,实现信息的全面把握、传递和电脑全程记录,方便了企业的进销存管理,降低了实施的成本和风险,加快了实施的进度,增加了投资的回报,为企业决策提供数据和速度,确保企业在庞大范围内健康地运行。此管理系统以.NET平台开发,客户、供应商等企业外部人员经过B/S模式结构来实现分销经过互联网对公司数据库中数据的访问、使用等操作;同时在企业内部网络中,公司的授权员工能对数据库进行相应的操作,来完成整个业务流程;管理决策者能够利用数据分析进行辅助决策过程。关键字:进销存管理系统,.NET开发平台,B/S,业务流程

BasedOnB/SModelDesignAndImplementationOfInventoryManagementSystemAbstract:BasedonB/Smodeinventorymanagementsystemisatypicalmanagementinformationsystem,itcanbeforenterprisestoaccuratelyreflectthebusinessconditionstoformamanagementsystemspecification.Systemnotonlylogisticsenterpriseintegration,businessflow,capitalflow,butalsooutsidetheenterpriseintegrationofsuppliersandcustomers.Inventorymanagementsystemasanenterprisemanagementsoftwareapplicationsforenterpriseinformationmanagementsolution,setavarietyofmanagementintegration,iscommittedtohelpingcompaniesquicklyandeffectivelymanagethepurchase,sales,inventoryandreceivables/payablesThebusinesstohelpcompaniesbuildasimple,efficientreal-timeoperationsmanagementplatform,logistics,capitalflow,informationflowlinedynamicmonitoringandmanagement,toachieveacomprehensivegraspoftheinformation,theentiretransmissionandcomputerrecords,tofacilitatetheprogressoftheenterpriseSalesinventorymanagementandreducetheimplementationcostandrisk,acceleratetheprogressoftheimplementation,increasingthereturnoninvestmentforenterprisedataandspeeddecision-makingtoensurethehealthofbusinesswithinthehugerun.Thismanagementsystem.NETplatform,customers,suppliersandotherpersonsoutsidethebusinessthroughtheB/SmodelstructuretoachievedistributionthroughtheInternettoaccessdataincorporatedatabases,theuseofotheroperations;thesametimewithintheenterprisenetwork,thecompanyAuthorizedemployeestooperatethedatabasecorrespondingtocompletetheentirebusinessprocess;managementdecision-makerscanmakeuseofsecondarydataanalysisfordecision-makingprocess.Keywords:InventoryManagementSystem,.NETDevelopmentPlatform,B/S,BusinessProcess目录第1章 引言 11.1 项目研究背景 11.2 论文结构 1第2章 相关技术介绍 32.1 系统环境 32.1.1 VisualStudio简介 32.1.2 SQLSERVER简介 32.1.3 三层架构 42.1.4 JQUERY-AJAX 42.1.5 B/S结构介绍 5第3章 需求分析 63.1 基础设置 63.2 系统管理 73.3 人力资源 73.4 客户管理 73.5 销售管理 73.6 采购管理 83.7 库存管理 9第4章 系统设计 104.1 功能模块设计 104.2 数据库设计 124.2.1 概念模型设计 124.2.2 物理模型设计 14第5章 系统实现 185.1 数据库操作实现 185.2 实现方法 21第6章 软件测试 226.1 测试方法 226.2 系统测试 23总结 26致谢 27参考文献 28引言项目研究背景随着全球经济一体化和国内经济改革的逐年深化,国内中小型商贸企业都面临着巨大的挑战,管理体制的不完善不能和集团性质的大公司相竞争,成为中小型商贸企业发展需要解决的首要问题。即使企业具有了一定先进的技术,但由于管理体制中种种问题的制约,也不能使企业在激烈的竞争中占有一席之地。计算机技术的全面普及,给中小企业带来新鲜的血液。利用计算机对企业进行管理,解决了传统管理方式中的管理效率低下、管理不全面,数据信息不能得到统计等问题。管理方式的转变,提高整个企业的工作效率,在某种意义上讲,给中小企业提供了新的有利条件,增强了企业的核心竞争力,成为企业管理的必备工具。针对当前企业公司企业内部的现状,联系实际情况,我们设计开发了此系统“基于B/S模式的进销存管理系统”。进销存管理系统是一个典型的管理信息系统,它能够为企业形成一个准确反映企业状况的规范的管理体系。系统不但整合了企业内部的物流、业务流、资金流、还整合了企业外部的供应商和客户。进销存管理系统作为一种企业管理软件,针对企业应用的信息化管理整体解决方案,集多种管理一体化,致力于帮助企业快速有效地管理进货、销售、库存和应收/应付款等各项业务,帮助企业建立起一个简捷、高效的实时运营管理平台,实现物流、资金流、信息流的在线动态监控和管理,实现信息的全面把握、传递和电脑全程记录,方便了企业的进销存管理,降低了实施的成本和风险,加快了实施的进度,增加了投资的回报,为企业决策提供数据和速度,确保企业在庞大范围内健康地运行。本项目采用B/S体系架构,对所开发的系各个功能模块进行了设计,并借助于Visua1Studio开发环境的.NET平台,运用C#语言、ASP.NET技术、三层架构、JQUREY-AJAX和ADO.NET数据库等技术。论文结构本文共分六章,各章的内容安排如下:第1章,根据研究背景和研究内容,提出了相应的研究思路和研究技术。第2章,介绍系统的开发平台以及开发语言,并对B/S体系结构、项目运用的主要技术进行了阐述。第3章,对本系统的需求和可行性进行了分析。第4章,对系统的功能模块和数据库结构进行了详细的设计。第5章,介绍系统各模块的详细实现。于B/S模式的进销存管理系统的设计与实现第6章,对系统进行了全面的测试。

相关技术介绍系统环境VisualStudio简介VisualStudio支持快速开发应用程序,在VisualStudio中,开发人员工作效率的提高不是终止于代码编辑器和向导。经过提供新的工具和框架来简化新应用程序体系结构和平VisualStudio台的开发人员、设计人员和数据库专业人员的任务,VisualStudio不但提供了高效的开发工具,而且使开发人员能够在减少创立解决方案的总成本的同时解决新的业务问题。VisualStudio能够进行有效的团队协作。VisualStudio增加了VisualStudioTeamSystem的基于角色的覆盖率,提高了整个软件开发生命周期中的可跟踪性,从而增加了它的端对端价值。经过在软件生命周期中的角色和TeamFoundationServer之间进行深度集成,TeamSystem使客户能够增强其团队的影响,提高软件质量。【1】实现前所未有的用户体验。因为用户总是在寻找新的方式来理解和保留信息,因此开发人员依然必须设法保证基本的桌面和应用程序安全。VisualStudio、WindowsVista和Officesystem使开发人员能够在任何类型的应用程序中提供安全、可靠且富有吸引力的用户体验。这些基本改进使客户能够快速创立连接的应用程序,无论项目的复杂性多大,组织的规模如何,这些应用程序都能够提供最高的质量和丰富的用户体验。【2】SQLSERVER简介SQLServer作为微软的新一代的关系型数据库管理产品,它是建立在前一版本SQLServer的基础之上,其在性能、稳定性、易用性方面进行了相当大的改进。SQLServer是一个安全的、高效的、智能的数据平台。它提供了保护数据库、减少服务器管理时间、增加应用程序稳定性、系统效能最佳化与预测功能【3】。SQLServer能够方便地构建、部署和管理企业应用程序;让应用程序更加安全、伸缩和可靠,降低开发和支持数据库应用程序的复杂性,提高IT生产力;能够在多个平台、多个应用程序和多个设备之间共享数据【4】。三层架构三层数据库架构的主要目的是让每个数据库的用户视图与数据库物理存储或描述的方法隔离。三层数据库架构的优点如下:每个用户能访问相同数据但有她们自己所需要的、经过定制的不同数据视图。每个用户可改变自己查看数据的方式而且这种改变不会影响相同数据库的其它用户。用户不用关心物理数据存储细节。用户与数据库之间的交互独立于物理数据存储组织。物理存储组织的改变(例如转到新的存储设备)不影响数据库的内部结构。数据库管理员(DBA)能改变数据库的存储结构而不会影响用户视图。DBA能改变数据库的概念结构而不会影响所有用户【5】。JQUERY-AJAXjQuery由JohnResig创立于年初,对于任何使用JavaScript代码的程序员来说,它是一个非常有用的JavaScript库。无论您是刚刚接触JavaScript语言,而且希望获得一个能解决文档对象模型(DocumentObjectModel,DOM)脚本和Ajax开发中一些复杂问题的库,还是作为一个厌倦了DOM脚本和Ajax开发中无聊的重复工作的资深JavaScript专家,jQuery都会是首选。jQuery能保证代码简洁易读。不必编写大堆重复的循环代码和DOM脚本库调用了。使用jQuery,能够把握问题的要点,并使用尽可能最少的代码实现想要的功能【6】。使用jQuery将使Ajax变得及其简单。jQuery提供有一些函数,能够使简单的工作变得更加简单,复杂的工作变得不再复杂。Ajax最常见的用法就是把一块HTML代码加载到页面的某个区域中去。为此,只需简单地选择所需的元素,然后使用load()函数即可。如果需要编写一些复杂的Ajax脚本,那么需要用到$.ajax()函数。能够指定xml、script、html或者json,jQuery将自动为回调函数准备合适的结果,这样您便能够立即使用该结果。还能够指定beforeSend、error、success或者complete回调函数,向用户提供更多有关Ajax体验的反馈。另外,还有一些其它的参数可供使用,您能够使用它们设置Ajax请求的超时,也能够设置页面“最近一次修改”的状态【7】。B/S结构介绍B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是经过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,可是主要事务逻辑在服务器端(server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以当前的技术看,局域网建立B/S结构的网络应用,并经过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库:它能有效地保护数据平台和管理访问权限,服务器数据库也很安全【8】。B/S结构最大特点是:用户能够经过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又能够经过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业能够在此结构的基础上建立自己的Intranet【9】。B/S结构的优点。(l)具有分布性特点,能够随时随地进行查询、浏览等业务处理。(2)业务扩展简单方便,经过增加网页即可增加服务器功能。(3)维护简单方便,只需要改变网页,即可实现所有用户的同步更新。(4)开发简单,共享性强【10】。

需求分析基础设置基础设置对现金银行、商品分类、商品档案、仓库档案、期初设置、计量单位、收支原因等基础信息的设置。现金银行业务规格:账户名称、开户行类别、开户行名、户名、账号必输项验证,如果选择类型为现金,控制只能输入账户名称,银行,其它字段都控制输入,银行账号为16或19位数字。商品分类是对商品进行分类化管理提供必备的基本信息。商品档案能够实现新增品名、分配类别、分配计量单位、品名启用、品名停用、批量删除等功能。期初设置包括库存期初余额设置和现金银行账户期初余额设置两个功能,库存期初余额设置指的是您使用进销存服务前一日各仓库各货品库存的结存数量,以及各货品的结存成本价(单位成本)。现金银行账户期初余额是指在使用系统之前对当前银行账户进行期初余额录入操作。计量单位是货品必不可少的属性,在设置货品档案时需要先设置好该货品的计量单位。本系统支持同一个货品在采购、销售、储运的不同业务时采用不同的计量单位(用户能够设置基本计量单位和换算计量单位)。仓库档案是库存管理的核心基础数据,只有设置了仓库档案才能录入各类库存单据(如采购入库单,销售出库单)以及针对仓库查询各种库存账表。收支原因仅用于进销存服务与记账平台服务合用的情况(单独使用进销存服务无此项功能),而且在收付款单据需要生成自动凭证时必须先进行收支原因设置。收支原因是公司发生收入和支出的用途说明,是现金银行账户资金发生变动的原因。每个收支原因需要指定对应会计科目(系统提供了科目的默认值),以便收付款单能自动生成记账凭证。收支原因档案资料能够在“基础档案”的“收支原因档案”功能中录入,也能够在做付款单据或收款单据时实时添加。单据编号规则:单据拼音缩写+日期+三位流水号。单据拼音缩写:采购订单(CD)、采购入库(CR)、采购退货(CT)、付款录单(FL)、付款核销单(FH)、库存调拨(KD)商品盘点(SP)、销售订单(SD)、销售出库(SC)、销售退货(ST)、收款款录单(SL)、收款核销(SX)、客户档案(HD)等。系统管理系统管理主要是对于权限的管理。其中包括登录用户名管理、角色管理、用户与员工对应设置、用户与角色关联设置、角色权限设置等。人力资源人力资源是一个企业最基础的信息,人力资源涵盖了企业的组织结构、人事档案两大信息模块。为整个系统的权限以及操作员提供了基础信息。组织管理包括组织机构设置和岗位设置两个功能。人力档案包括在职人员管理、人才储备管理、离职人员管理等功能。基本设置中主要对岗位分类、岗位级别、国家地区、职称、宗教信仰、婚姻状况、政治面貌、民族、学历、专业、外语种类等信息进行预设。客户管理客户管理,从客户档案、客户联系人、客户联络、客户洽谈、客户关怀、客户服务、客户投诉等多个角度和层次提供了支持。客户关系是公司的最宝贵的资产之一。公司80%的业务来源于公司20%的客户。保持良好的客户关系,追求多产品销售、客户重复购买和规模销售。建立稳定的良好的市场销售环境,追求市场占有率、覆盖率和增长率。维护好客户关系,一点带面,人脉网路营销【11】。销售管理销售订单。主表“销售订单”的内容包括单据编号、客户(弹窗选择)、业务员、签单日期(默认取当前日期)、交货日期(默认取当前日期)、备注、优惠、优惠后金额、单据状态、扩展属性、制单人、制单日期、数量合计、金额合计。销售出库单包括销售单及销售出库单两个功能。内容包括单据编号、客户(弹窗选择)、业务员(下拉列表)、仓库(下拉列表)、联系人、联系人电话、发票类型、销售类型(下拉列表)、销售日期、来源销售订单、收货地址、单据状态、备注、优惠、优惠后金额、扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。销售退货单,内容包括单据编号、客户(弹窗选择)、业务员(弹窗选择、默认当前用户)、仓库、退货日期、来源销售出库单、备注、扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。收款录单记录销售业务所带来的向客户收取货款的业务,或者采购退货所带来的供应商退回货款的业务。收款录单能够直接手工录入(多用于预收款、赊销款),也能够在销售出库单或采购退货单录入保存后录入(主要用于现收款)。收款录单完成后,能够经过收款核销功能建立收款与销售出库或采购退货的对应关系,以明确收款对应的是哪笔销售出货或采购退货业务,实现对往来款项的精细化管理。收款核销单经过收款核销功能建立收款与销售出库或采购退货的对应关系,以明确收款对应的是哪笔销售出货或采购退货业务,实现对往来款项的精细化管理【12】。采购管理采购订单内容包括单据编号、供应商(弹窗选择)、业务员(弹窗选择、默认当前用户)、签单日期、优惠、优惠后金额、单据状态、备注、扩展属性、制单人、制单日期、数量合计、金额合计。采购入库单内容包括单据编号、供应商(弹窗控件)、仓库(下拉列表)、业务员(弹窗控件,默认为当前用户)、批次、联系人、联系人电话、采购日期、来源采购订单、送货地址、备注、优惠、优惠后金额、扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。采购退货单内容包括单据编号、供应商、业务员、退货日期(默认取当前日期)、备注、单据扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。付款录单记录采购业务所带来的向供应商支付货款的业务,或者销售退货所带来的向客户退回货款的业务。付款录单能够直接手工录入(多用于预付款、赊购款),也能够在采购入库单或销售退货单录入保存后录入(主要用于现付款)。付款录单完成后,能够经过付经过付款核销功能建立付款与销售出库或采购退货的对应关系,以明确付款对应的是哪笔采购进货或销售退货业务,实现对往来款项的精细化管理。付款核销单经过付款核销功能建立付款与采购入库或销售退货的对应关系,以明确付款对应的是哪笔采购进货或销售退货业务,实现对往来款项的精细化管理。库存管理库存管理包含库存调拨和库存盘点两大功能。库存调拨内容包括单据编号、移出仓库(下拉列表)、移入仓库(下拉列表)、业务员(弹窗选择,默认当前用户)、调拨时间(默认为当前日期)、状态、备注、单据扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。库存盘点存货因为数量较多、收发频繁、计量误差、管理不善、自然损耗等原因,有可能导致库存数量与账面数量不符。为了避免账实不符的现象出现,就要定期进行存货清查,从而查明原因并调整账面数量,使账实相符。用户能够使用[期末盘点]来完成仓库存货的清查、调整工作,经过该单据您能够了解到每项存货的盈亏数量及盈亏金额,及时掌握盈亏情况。

系统设计功能模块设计经过需求分析得出本系统主要功能结构图如图4-1至图4-8所示。图4-1总体功能结构图图4-2基本设置功能结构图图4-3系统设置功能结构图图4-4人力资源功能结构图图4-5客户管理功能结构图图4-6采购管理功能结构图图4-7销售管理功能结构图图4-8库存管理功能结构图数据库设计数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。概念模型设计概念模型不依赖于具体的计算机系统,她是纯粹反映信息需求的概念结构。建模是在需求分析结果的基础上展开,常常要对数据进行抽象处理。常见的数据抽象方法是‘聚集’和‘概括’。E-R方法是设计概念模型时常见的方法。因篇幅限定,在此只列举主要模块的实体E-R图。图4-9商品档案实体图图4-10客户档案实体图图4-11采购订单实体图图4-12付款单实体图图4-8采购业务实体图物理模型设计用SQLServer转换以上实体图。商品档案表商品档案表结构如表4-1所示。表4-1商品档案表字段名字段类型缺省值是否可空PK说明IDIntidentityNotnullPKID,自动生成ProductNameVarchar(50)商品名称ProductNoVarchar(50)商品编号UnitIDInt计量单位mnemCodeVarchar(50)助记码SpecificationVarchar(50)规格ImgUrlvarchar(200)产品图片SafeStockNumnumeric(10,2)安全库存量MaxStockNumnumeric(10,2)最高库存量UsedStatuschar(1)状态(0停用,1启用)Sellnumeric(10,2)零售价TypeIDint商品分类ID客户档案表客户档案表结构如表4-2所示。表4-2客户档案表字段名字段类型缺省值是否可空PK说明IDIntidentitynotnullPK客户ID,自动生成CustClassint客户分类(往来单位表)CustNovarchar(50)客户编号CustNamevarchar(100)客户名称CustNamvarchar(50)客户简称CustNotevarchar(1024)客户简介HotHowchar(1)热度MeritGradechar(1)价值评估RelaGradechar(1)关系等级Relationvarchar(200)关系描述CompanyTypeChar(1)单位性质Tradevarchar(50)行业Telvarchar(50)公司电话ReceiveAddressvarchar(100)通讯地址OpenBankvarchar(100)开户行AccountManvarchar(100)户名AccountNumvarchar(50)账号Remarkvarchar(200)备注UsedStatuschar(1)状态(0停用,1启用)采购订单表采购订单表结构如表4-3所示。表4-3采购订单表字段名字段类型缺省值是否可空PK说明IDintidentityNotnullPKID,自动生成OrderNoVarchar(50)订单编号ProviderIDInt供应商IDSalesManInt业务员IDOrderDateDatetime签单日期TotalCountNumeric(10,2)数量合计BillStatusChar(1)状态RemarkVarchar(800)备注CreatorInt制单人CreateDateDatetime制单日期采购订单明细表采购订单明细表结构如表4-4所示。表4-4采购订单明细表字段名字段类型缺省值是否可空PK说明IDintidentityNotnullPKID,自动生成OrderNoVarchar(50)订单编号ProductIDInt商品IDOrderCountNumeric(10,2)数量OrderPriceNumeric(10,2)单价DetailTtotalPriceNumeric(20,2)金额付款单表付款单表结构如表4-5所示。表4-5付款单表字段名字段类型缺省值是否可空PK说明IDintidentitynotnullPK自动生成PayNoVarchar(50)付款单号ContactUnitint付款单位PayCauseInt付款原因PayDatedateTime付款日期CustIDInt客户IDCashBankIDInt现金银行账户PayPricenumeric(20,2)付款金额SalesmanInt业务员CreatorInt制单人CreateDateDateTime制单日期RemarkVarchar(100)备注付款核销单表付款核销单表结构如表4-6所示。表4-6付款核销单表字段名字段类型缺省值是否可空PK说明IDintidentitynotnullPK自动生成PayIDInt付款单IDFKBlendDateDatetime核销日期BillTypeChar(1)销售退货采购入库SourceIDint源单IDSourceDTVarchar(50)源单表名goodsPricenumeric(20,2)货款金额BlendPricenumeric(20,2)核销金额

系统实现数据库操作实现在本系统中,我们使用了三层架构进行开发的。三层架构在逻辑上将应用功能分为三层:表示层、业务逻辑层、数据访问层【13】。在数据访问层中,我们使用ADO.NET技术对数据库进行操作。SqlHelper类是专门的数据库操作类,任何对数据库操作的类都要调用这个类。在SqlHelper类中,主要构造了一下几个方法:直接获得数据库连接串的方法publicstaticStringGetConnection(){returnConfigurationManager.ConnectionStrings["ConnectionString"].ToString());}执行一个sql命令,仅仅返回数据库受影响行数///<paramname="Sql">sql语句</param>///<paramname="cmdParms">参数</param>///<returns></returns>publicstaticintExecuteNonQuery(stringSql,paramsSqlParameter[]cmdParms){//CreateanewSqlcommandSqlCommandcmd=newSqlCommand();//Createaconnectionusing(SqlConnectionconn=newSqlConnection(_connectionString)){//PreparethecommandPrepareCommand(cmd,conn,null,CommandType.Text,Sql,cmdParms);//Executethecommandintval=cmd.ExecuteNonQuery();cmd.Parameters.Clear();returnval;}}执行SQL语句,查询的结果集publicstaticDataTableExecuteSearch(SqlCommandcomm){//获得返回集实例SqlParameter[]p=null;if(comm.Parameters!=null&&comm.Parameters.Count>0){p=newSqlParameter[comm.Parameters.Count];for(inti=0;i<comm.Parameters.Count;i++){p[i]=(SqlParameter)comm.Parameters[i];}}comm.Parameters.Clear();DataTableresult=Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset

(_connectionString,comm.CommandType,comm.CommandText,p).Tables[0];if(p!=null){for(inti=0;i<p.Length;i++){comm.Parameters.Add(p[i]);}}returnresult;}带分页数据查询publicstaticDataTablePagerWithCommand(SqlCommandcmd,intPageIndex,intPageSize,stringOrderBy,refintTotalCount){//变量定义StringBuildersbSql=newStringBuilder();//第一页时if(PageIndex==1)sbSql.Append("SELECTTOP"+PageSize+"*FROM");elsesbSql.Append("SELECT*FROM");sbSql.Append("(SELECTROW_NUMBER()OVER(ORDERBY"+OrderBy+")asRowNumber,tempTable.*");sbSql.Append("FROM("+cmd.CommandText+")AStempTable)AStmp");if(PageIndex!=1)sbSql.Append("WHERERowNumberBETWEENCONVERT(varchar,(@Page

Index-1)*@PageSize+1)ANDCONVERT(varchar,(@PageIndex-1)*@PageSiz

e+@PageSize)");sbSql.Append(";SELECT@TotalRecord=count(*)FROM("+cmd.CommandText+")tempTable");//重新设置命令SQL语句cmd.CommandText=sbSql.ToString();/*将分页参数追加至SqlParameter*///当前页SqlParameterparam=newSqlParameter("@PageIndex",SqlDbType.Int);param.Value=PageIndex;cmd.Parameters.Add(param);//每页显示数param=newSqlParameter("@PageSize",SqlDbType.Int);param.Value=PageSize;cmd.Parameters.Add(param);//总数param=newSqlParameter("@TotalRecord",SqlDbType.Int);param.Direction=ParameterDirection.Output;cmd.Parameters.Add(param);DataTabledtTemp=ExecuteSearch(cmd);TotalCount=(int)cmd.Parameters["@TotalRecord"].Value;returndtTemp;}实现方法本项目采用B/S体系架构,对所开发的系各个功能模块进行了设计,并借助于Visua1Studio开发环境的.NET平台,运用C#语言、ASP.NET技术、三层架构、JQUREY-AJAX和ADO.NET数据库等技术。本项目利用销售订单功能设计举例阐述运用上述技术的思路及过程。销售功能模块实现步骤当用户输入所有内容后,点击保存按钮时,事件发生的顺序如下:首先经过SellOrderAdd.js中JQUERY-AJAX方法将页面值传递到SellOrderAdd.ashx文件中等待处理;SellOrderAdd.ashx中调用业务处理层的SellOrderBus.cs类中InsertSellOrder()方法;在InsertSellOrder方法中再调用数据访问层的SellOrderDBHelper.cs类中InsertSellOrder()方法;SellOrderDBHelper.cs类中的InsertSellOrder()方法,则调用SqlHelper类中的ExecuteTransSql()方法,返回新纪录的ID号。回到SellOrderAdd.ashx页中将返回的数据进行JSON序列化。JSON是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式。最后回到JS中。

软件测试测试是软件开发的重要环节之一,是保证软件质量的重要方法。测试方法一般来说,软件测试就测试模式而言,可分为两种:白盒测试和黑盒测试,如图6-1所示。图6-1白盒测试和黑盒测试白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可经过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了依然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,经过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测基于C/S、B/S混合结构的机房管理系统的设计与实现试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,而且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因一果图、错误推测等,主要用于软件确认测试。因果图、错误推测等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不但要测试所有合法的输入,而且还要对那些不合法可是可能的输入进行测试【14】。系统测试过程会经历单元测试、集成测试、系统测试、验收测试4个主要阶段。单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其它部分相隔离的情况下进行测试。集成测试也叫组装测试或联合测试,在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。系统测试是将已经确认的软件、硬件、外设、网络等其它元素结合在一起,进行系统的各种组装测试和确认测试。验收测试是相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收【15】。系统测试根据以上测试方法对本系统进行了全面测试,以下列举出登陆模块单测试用例及结果如表6-1所示。表4-1登陆模块测试用例及结果项目/软件基于B/S模式进销存管理系统程序版本1.0.0功能模块名Login编制人钱锋用例编号TC-JXCM_Login_1编制时间.3.12相关的用例无功能特性用户身份验证测试目的验证是否输入合法的信息,允许合法登陆,阻止非法登陆预置条件无特殊规程说明如数据库访问权限参考信息需求说明中关于“登陆”的说明测试数据用户名=admin001密码=88888888步骤操作描述数据期望结果预期结果实际结果测试状态1输入用户名称,按“登陆”按钮。用户名=admin001,密码为空显示警告信息“请输入密码!”显示警告信息“请输入密码!”显示警告

温馨提示

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

评论

0/150

提交评论