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

下载本文档

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

文档简介

1、赣西科技职业学院 毕业论文(设计)题目进销存管理系统院 系: 赣西科技职业学院 专 业: 计算机应用技术 年 级: 12级计算机班 学生姓名: 高飞 学 号: 121011004 导师及职称: 胡洪云 2014年10月10日基于B/S模式的进销存管理系统设计和实现摘 要:基于B/S模式的进销存管理系统是一个典型的管理信息系统,它可以为企业形成一个精确反映企业状况的规范的管理体系。系统不仅整合了企业内部的物流、业务流、资金流、还整合了企业外部的供应商和客户。进销存管理系统作为一种企业管理软件,针对企业应用的信息化管理整体解决方案,集多种管理一体化,致力于帮助企业快速有效地管理进货、销售、库存和应

2、收/应付款等各项业务,帮助企业建立起一个简捷、高效的实时运营管理平台,实现物流、资金流、信息流的在线动态监控和管理,实现信息的全面把握、传递和电脑全程记录,便利了企业的进销存管理,降低了实施的成本和风险,加快了实施的进度,增加了投资的回报,为企业决策供应数据和速度,确保企业在浩大范围内健康地运行。此管理系统以.NET平台开发,客户、供应商等企业外部人员通过B/S模式结构来实现分销通过互联网对公司数据库中数据的访问、运用等操作;同时在企业内部网络中,公司的授权员工能对数据库进行相应的操作,来完成整个业务流程;管理决策者可以利用数据分析进行协助决策过程。关键字:进销存管理系统,.NET开发平台,B

3、/S,业务流程Based On B /S Model Design And Implementation Of Inventory Management SystemAbstract: Based on B/S mode inventory management system is a typical management information system, it can be for enterprises to accurately reflect the business conditions to form a management system specification. Sy

4、stem not only logistics enterprise integration, business flow, capital flow, but also outside the enterprise integration of suppliers and customers. Inventory management system as an enterprise management software applications for enterprise information management solution, set a variety of manageme

5、nt integration, is committed to helping companies quickly and effectively manage the purchase, sales, inventory and receivables/ payables The business to help companies build a simple, efficient real-time operations management platform, logistics, capital flow, information flow line dynamic monitori

6、ng and management, to achieve a comprehensive grasp of the information, the entire transmission and computer records, to facilitate the progress of the enterprise Sales inventory management and reduce the implementation cost and risk, accelerate the progress of the implementation, increasing the ret

7、urn on investment for enterprise data and speed decision-making to ensure the health of business within the huge run.This management system. NET platform, customers, suppliers and other persons outside the business through the B/S model structure to achieve distribution through the Internet to acces

8、s data in corporate databases, the use of other operations; the same time within the enterprise network, the company Authorized employees to operate the database corresponding to complete the entire business process; management decision-makers can make use of secondary data analysis for decision-mak

9、ing process. Keywords: Inventory Management System,. NET Development Platform, B / S, Business Process27 / 33目 录第1章引 言11.1项目探讨背景11.2论文结构1第2章相关技术介绍32.1系统环境3Visual Studio 2008简介3SQL SERVER 2008简介3三层架构4JQUERY-AJAX4B/S结构介绍5第3章需求分析63.1基础设置63.2系统管理73.3人力资源73.4客户管理73.5销售管理73.6选购管理83.7库存管理9第4章系统设计104.1功能模块设

10、计104.2数据库设计12概念模型设计12物理模型设计14第5章系统实现185.1数据库操作实现185.2实现方法21第6章软件测试226.1测试方法226.2系统测试23总 结26致 谢27参考文献28第1章 引 言1.1 项目探讨背景随着全球经济一体化和国内经济改革的逐年深化,国内中小型商贸企业都面临着巨大的挑战,管理体制的不完善不能和集团性质的大公司相竞争,成为中小型商贸企业发展须要解决的首要问题。即使企业具有了肯定先进的技术,但由于管理体制中种种问题的制约,也不能使企业在激烈的竞争中占有一席之地。计算机技术的全面普及,给中小企业带来簇新的血液。利用计算机对企业进行管理,解决了传统管理方

11、式中的管理效率低下、管理不全面,数据信息不能得到统计等问题。管理方式的转变,提高整个企业的工作效率,在某种意义上讲,给中小企业供应了新的有利条件,增加了企业的核心竞争力,成为企业管理的必备工具。针对目前企业公司企业内部的现状,联系实际状况,我们设计开发了此系统“基于B/S模式的进销存管理系统”。进销存管理系统是一个典型的管理信息系统,它可以为企业形成一个精确反映企业状况的规范的管理体系。系统不仅整合了企业内部的物流、业务流、资金流、还整合了企业外部的供应商和客户。进销存管理系统作为一种企业管理软件,针对企业应用的信息化管理整体解决方案,集多种管理一体化,致力于帮助企业快速有效地管理进货、销售、

12、库存和应收/应付款等各项业务,帮助企业建立起一个简捷、高效的实时运营管理平台,实现物流、资金流、信息流的在线动态监控和管理,实现信息的全面把握、传递和电脑全程记录,便利了企业的进销存管理,降低了实施的成本和风险,加快了实施的进度,增加了投资的回报,为企业决策供应数据和速度,确保企业在浩大范围内健康地运行。本项目采纳B/S体系架构,对所开发的系各个功能模块进行了设计,并借助于Visua1Studio 2008开发环境的.NET平台,运用C#语言、ASP.NET技术、三层架构、JQUREY-AJAX和ADO.NET数据库等技术。1.2 论文结构本文共分六章,各章的内容支配如下:第1章,依据探讨背景

13、和探讨内容,提出了相应的探讨思路和探讨技术。第2章, 介绍系统的开发平台以及开发语言,并对B/S体系结构、项目运用的主要技术进行了阐述。第3章,对本系统的需求和可行性进行了分析。第4章,对系统的功能模块和数据库结构进行了具体的设计。第5章,介绍系统各模块的具体实现。于B/S模式的进销存管理系统的设计和实现第6章,对系统进行了全面的测试。第2章 相关技术介绍22.1 系统环境 Visual Studio 2008简介Visual Studio 2008支持快速开发应用程序,在 Visual Studio 2008 中,开发人员工作效率的提高不是终止于代码编辑器和向导。通过供应

14、新的工具和框架来简化新应用程序体系结构和平Visual Studio 2008台的开发人员、设计人员和数据库专业人员的任务,Visual Studio 2008 不仅供应了高效的开发工具,而且使开发人员能够在削减创建解决方案的总成本的同时解决新的业务问题。Visual Studio 2008能够进行有效的团队协作。Visual Studio 2008 增加了 Visual Studio Team System 的基于角色的覆盖率,提高了整个软件开发生命周期中的可跟踪性,从而增加了它的端对端价值。通过在软件生命周期中的角色和 Team Foundation Server 之间进行深度集成,Tea

15、m System 使客户能够增加其团队的影响,提高软件质量。【1】实现前所未有的用户体验。因为用户总是在找寻新的方式来理解和保留信息,所以开发人员仍旧必需设法保证基本的桌面和应用程序平安。Visual Studio、Windows Vista 和 2007 Office system 使开发人员能够在任何类型的应用程序中供应平安、牢靠且富有吸引力的用户体验。这些基本改进使客户能够快速创建连接的应用程序,无论项目的困难性多大,组织的规模如何,这些应用程序都能够供应最高的质量和丰富的用户体验。【2】2.1.2 SQL SERVER 2008简介SQL Server 2008作为微软的新一代的关系型

16、数据库管理产品,它是建立在前一版本SQL Server 2005的基础之上,其在性能、稳定性、易用性方面进行了相当大的改进。SQL Server 2008是一个平安的、高效的、智能的数据平台。它供应了爱护数据库、削减服务器管理时间、增加应用程序稳定性、系统效能最佳化和预料功能【3】。SQL Server 2008能够便利地构建、部署和管理企业应用程序;让应用程序更加平安、伸缩和牢靠,降低开发和支持数据库应用程序的困难性,提高IT生产力;能够在多个平台、多个应用程序和多个设备之间共享数据【4】。2.1.3 三层架构三层数据库架构的主要目的是让每个数据库的用户视图和数据库物理存储或描述的方法隔离。

17、三层数据库架构的优点如下: 每个用户能访问相同数据但有他们自己所须要的、经过定制的不同数据视图。每个用户可变更自己查看数据的方式并且这种变更不会影响相同数据库的其他用户。用户不用关切物理数据存储细微环节。用户和数据库之间的交互独立于物理数据存储组织。物理存储组织的变更(例如转到新的存储设备)不影响数据库的内部结构。数据库管理员(DBA)能变更数据库的存储结构而不会影响用户视图。DBA能变更数据库的概念结构而不会影响全部用户【5】。2.1.4 JQUERY-AJAXjQuery 由 John Resig 创建于 2006 年初,对于任何运用 JavaScript 代码的程序员来说,它是一个特别有

18、用的 JavaScript 库。无论您是刚刚接触 JavaScript 语言,并且希望获得一个能解决文档对象模型(Document Object Model,DOM)脚本和 Ajax 开发中一些困难问题的库,还是作为一个厌倦了 DOM 脚本和 Ajax 开发中无聊的重复工作的资深 JavaScript 专家,jQuery 都会是首选。jQuery 能保证代码简洁易读。不必编写大堆重复的循环代码和 DOM 脚本库调用了。运用 jQuery,可以把握问题的要点,并运用完可能最少的代码实现想要的功能【6】。运用 jQuery 将使 Ajax 变得及其简洁。jQuery 供应有一些函数,可以使简洁的工

19、作变得更加简洁,困难的工作变得不再困难。Ajax 最常见的用法就是把一块 HTML 代码加载到页面的某个区域中去。为此,只需简洁地选择所需的元素,然后运用 load() 函数即可。假如须要编写一些困难的 Ajax 脚本,那么须要用到 $.ajax() 函数。可以指定 xml、script、html 或者 json,jQuery 将自动为回调函数准备合适的结果,这样您便可以马上运用该结果。还可以指定 beforeSend、error、success 或者 complete 回调函数,向用户供应更多有关 Ajax 体验的反馈。此外,还有一些其它的参数可供运用,您可以运用它们设置 Ajax 恳求的超

20、时,也可以设置页面 “最近一次修改” 的状态【7】。2.1.5 B/S结构介绍B/S结构(Browser/Server结构)结构即阅读器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变更或者改进的结构。在这种结构下,用户工作界面是通过WWW阅读器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护和升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库

21、应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库:它能有效地爱护数据平台和管理访问权限,服务器数据库也很平安【8】。B/S结构最大特点是:用户可以通过WWW阅读器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许很多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式和数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW阅读器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在

22、下载过程中若遇到和数据库有关的指令,由Web服务器交给数据库服务器来说明执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许很多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet【9】。B/S结构的优点。(l)具有分布性特点,可以随时随地进行查询、阅读等业务处理。(2)业务扩展简洁便利,通过增加网页即可增加服务器功能。 (3)维护简洁便利,只须要变更网页,即可实现全部用户的同步更新。(4)开发简洁,共享性强【10】。第3章 需求分析312344.13.1 基础设置基础设置对现金银行、商品分类、商品档案、仓库档案、期初设置、

23、计量单位、收支缘由等基础信息的设置。现金银行业务规格:账户名称、开户行类别、开户行名、户名、账号必输项验证,假如选择类型为现金,限制只能输入账户名称,银行,其他字段都限制输入,银行账号为16或19位数字。商品分类是对商品进行分类化管理供应必备的基本信息。商品档案能够实现新增品名、安排类别、安排计量单位、品名启用、品名停用、批量删除等功能。期初设置包括库存期初余额设置和现金银行账户期初余额设置两个功能,库存期初余额设置指的是您运用进销存服务前一日各仓库各货品库存的结存数量,以及各货品的结存成本价(单位成本)。现金银行账户期初余额是指在运用系统之前对当前银行账户进行期初余额录入操作。计量单位是货品

24、必不行少的属性,在设置货品档案时须要先设置好该货品的计量单位。本系统支持同一个货品在选购、销售、储运的不同业务时采纳不同的计量单位(用户可以设置基本计量单位和换算计量单位)。仓库档案是库存管理的核心基础数据,只有设置了仓库档案才能录入各类库存单据(如选购入库单,销售出库单)以及针对仓库查询各种库存账表。收支缘由仅用于进销存服务和记账平台服务合用的状况(单独运用进销存服务无此项功能),而且在收付款单据须要生成自动凭证时必需先进行收支缘由设置。收支缘由是公司发生收入和支出的用途说明,是现金银行账户资金发生变动的缘由。每个收支缘由须要指定对应会计科目(系统供应了科目的默认值),以便收付款单能自动生成

25、记账凭证。收支缘由档案资料可以在“基础档案”的“收支缘由档案”功能中录入,也可以在做付款单据或收款单据时实时添加。单据编号规则:单据拼音缩写+日期+三位流水号。单据拼音缩写:选购订单(CD)、选购入库(CR)、选购退货(CT)、付款录单(FL)、付款核销单(FH)、库存调拨(KD)商品盘点(SP)、销售订单(SD)、销售出库(SC)、销售退货(ST)、收款款录单(SL)、收款核销(SX)、客户档案(HD)等。3.2 系统管理系统管理主要是对于权限的管理。其中包括登录用户名管理、角色管理、用户和员工对应设置、用户和角色关联设置、角色权限设置等。3.3 人力资源人力资源是一个企业最基础的信息,人力

26、资源涵盖了企业的组织结构、人事档案两大信息模块。为整个系统的权限以及操作员供应了基础信息。组织管理包括组织机构设置和岗位设置两个功能。人力档案包括在职人员管理、人才储备管理、离职人员管理等功能。基本设置中主要对岗位分类、岗位级别、国家地区、职称、宗教信仰、婚姻状况、政治面貌、民族、学历、专业、外语种类等信息进行预设。3.4 客户管理客户管理,从客户档案、客户联系人、客户联络、客户洽谈、客户关怀、客户服务、客户投诉等多个角度和层次供应了支持。客户关系是公司的最珍贵的资产之一。公司80%的业务来源于公司20%的客户。保持良好的客户关系,追求多产品销售、客户重复购买和规模销售。建立稳定的良好的市场销

27、售环境,追求市场占有率、覆盖率和增长率。维护好客户关系,一点带面,人脉网路营销【11】。3.5 销售管理销售订单。主表“销售订单”的内容包括单据编号、客户(弹窗选择)、业务员、签单日期(默认取当前日期)、交货日期(默认取当前日期)、备注、实惠、实惠后金额、单据状态、扩展属性、制单人、制单日期、数量合计、金额合计。销售出库单包括销售单及销售出库单两个功能。内容包括单据编号、客户(弹窗选择)、业务员(下拉列表)、仓库(下拉列表)、联系人、联系人电话、发票类型、销售类型(下拉列表)、销售日期、来源销售订单、收货地址、单据状态、备注、实惠、实惠后金额、扩展属性、制单人、制单日期、确认人、确认日期、作废

28、人、作废日期、数量合计、金额合计。销售退货单,内容包括单据编号、客户(弹窗选择)、业务员(弹窗选择、默认当前用户)、仓库、退货日期、来源销售出库单、备注、扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。收款录单记录销售业务所带来的向客户收取货款的业务,或者选购退货所带来的供应商退回货款的业务。收款录单可以干脆手工录入(多用于预收款、赊销款),也可以在销售出库单或选购退货单录入保存后录入(主要用于现收款)。收款录单完成后,可以通过收款核销功能建立收款和销售出库或选购退货的对应关系,以明确收款对应的是哪笔销售出货或选购退货业务,实现对往来款项的精细化管理。收款核

29、销单通过收款核销功能建立收款和销售出库或选购退货的对应关系,以明确收款对应的是哪笔销售出货或选购退货业务,实现对往来款项的精细化管理【12】。3.6 选购管理选购订单内容包括单据编号、供应商(弹窗选择)、业务员(弹窗选择、默认当前用户)、签单日期、实惠、实惠后金额、单据状态、备注、扩展属性、制单人、制单日期、数量合计、金额合计。选购入库单内容包括单据编号、供应商(弹窗控件)、仓库(下拉列表)、业务员(弹窗控件,默认为当前用户)、批次、联系人、联系人电话、选购日期、来源选购订单、送货地址、备注、实惠、实惠后金额、扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。

30、选购退货单内容包括单据编号、供应商、业务员、退货日期(默认取当前日期)、备注、单据扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。付款录单记录选购业务所带来的向供应商支付货款的业务,或者销售退货所带来的向客户退回货款的业务。付款录单可以干脆手工录入(多用于预付款、赊购款),也可以在选购入库单或销售退货单录入保存后录入(主要用于现付款)。付款录单完成后,可以通过付通过付款核销功能建立付款和销售出库或选购退货的对应关系,以明确付款对应的是哪笔选购进货或销售退货业务,实现对往来款项的精细化管理。付款核销单通过付款核销功能建立付款和选购入库或销售退货的对应关系,以明

31、确付款对应的是哪笔选购进货或销售退货业务,实现对往来款项的精细化管理。3.7 库存管理库存管理包含库存调拨和库存盘点两大功能。库存调拨内容包括单据编号、移出仓库(下拉列表)、移入仓库(下拉列表)、业务员(弹窗选择,默认当前用户)、调拨时间(默认为当前日期)、状态、备注、单据扩展属性、制单人、制单日期、确认人、确认日期、作废人、作废日期、数量合计、金额合计。库存盘点存货因为数量较多、收发频繁、计量误差、管理不善、自然损耗等缘由,有可能导致库存数量和账面数量不符。为了避开账实不符的现象出现,就要定期进行存货清查,从而查明缘由并调整账面数量,使账实相符。用户可以运用期末盘点来完成仓库存货的清查、调整

32、工作,通过该单据您可以了解到每项存货的盈亏数量及盈亏金额,刚好驾驭盈亏状况。第4章 系统设计344.1 功能模块设计通过需求分析得出本系统主要功能结构图如图4-1至图4-8所示。图4-1 总体功能结构图 图4-2 基本设置功能结构图 图4-3 系统设置功能结构图图4-4 人力资源功能结构图图4-5 客户管理功能结构图 图4-6 选购管理功能结构图图4-7 销售管理功能结构图图4-8 库存管理功能结构图4.2 数据库设计数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满意各种用户的应用需求(信息要求和处

33、理要求)。在数据库领域内,经常把运用数据库的各类系统统称为数据库应用系统。 概念模型设计概念模型不依靠于具体的计算机系统,他是纯粹反映信息需求的概念结构。建模是在需求分析结果的基础上绽开,经常要对数据进行抽象处理。常用的数据抽象方法是聚集和概括。 E-R方法是设计概念模型时常用的方法。因篇幅限定,在此只列举主要模块的实体E-R图。图4-9 商品档案实体图 图4-10 客户档案实体图图4-11 选购订单实体图 图4-12 付款单实体图 图4-8 选购业务实体图4.2.2 物理模型设计用SQL Server转换以上实体图。11.14.31、 商品档案表商品档案表结构如表4-1所示。

34、表4-1 商品档案表字段名字段类型缺省值是否可空PK说明ID Int identityNotnullPKID,自动生成ProductNameVarchar(50)商品名称ProductNoVarchar(50)商品编号UnitIDInt计量单位mnemCodeVarchar(50)助记码SpecificationVarchar(50)规格ImgUrlvarchar(200)产品图片SafeStockNumnumeric(10,2)平安库存量MaxStockNumnumeric(10,2)最高库存量UsedStatuschar(1)状态(0停用,1启用)Sellnumeric(10,2)零售价T

35、ypeIDint商品分类ID2、 客户档案表客户档案表结构如表4-2所示。表4-2 客户档案表字段名字段类型缺省值是否可空PK说明IDInt identitynot nullPK客户ID,自动生成CustClassint客户分类(往来单位表)CustNovarchar(50)客户编号CustNamevarchar(100)客户名称CustNamvarchar(50)客户简称CustNotevarchar(1024)客户简介HotHowchar (1)热度MeritGradechar (1)价值评估RelaGradechar (1)关系等级Relationvarchar(200)关系描述Comp

36、anyTypeChar(1)单位性质Tradevarchar(50)行业Telvarchar(50)公司电话ReceiveAddressvarchar(100)通讯地址OpenBankvarchar(100)开户行AccountManvarchar(100)户名AccountNumvarchar(50)账号Remarkvarchar(200)备注UsedStatuschar(1)状态(0停用,1启用)3、 选购订单表选购订单表结构如表4-3所示。表4-3 选购订单表字段名字段类型缺省值是否可空PK说明IDint identityNot nullPKID,自动生成OrderNoVarchar(5

37、0)订单编号ProviderIDInt供应商IDSalesManInt业务员IDOrderDateDatetime签单日期TotalCountNumeric(10,2)数量合计BillStatusChar(1)状态RemarkVarchar(800)备注CreatorInt制单人CreateDateDatetime制单日期4、 选购订单明细表选购订单明细表结构如表4-4所示。表4-4 选购订单明细表字段名字段类型缺省值是否可空PK说明IDint identityNot nullPKID,自动生成OrderNoVarchar(50)订单编号ProductIDInt商品IDOrderCountNu

38、meric(10,2)数量OrderPriceNumeric(10,2)单价DetailTtotalPriceNumeric(20,2)金额5、 付款单表 付款单表结构如表4-5所示。表4-5 付款单表字段名字段类型缺省值是否可空PK说明IDint identitynot nullPK自动生成PayNoVarchar(50)付款单号ContactUnitint付款单位PayCauseInt付款缘由PayDatedateTime付款日期CustIDInt客户IDCashBankIDInt现金银行账户PayPricenumeric(20,2)付款金额SalesmanInt业务员CreatorInt

39、制单人CreateDateDateTime制单日期RemarkVarchar(100)备注6、 付款核销单表付款核销单表结构如表4-6所示。表4-6 付款核销单表字段名字段类型缺省值是否可空PK说明IDint identitynot nullPK自动生成PayIDInt 付款单IDFKBlendDateDatetime核销日期BillTypeChar(1)1、 销售退货2、 选购入库SourceIDint源单IDSourceDTVarchar(50)源单表名goodsPricenumeric(20,2)货款金额BlendPricenumeric(20,2)核销金额第5章 系统实现55.1 数据

40、库操作实现在本系统中,我们运用了三层架构进行开发的。三层架构在逻辑上将应用功能分为三层:表示层、业务逻辑层、数据访问层【13】。在数据访问层中,我们运用ADO.NET技术对数据库进行操作。SqlHelper类是特地的数据库操作类,任何对数据库操作的类都要调用这个类。在SqlHelper类中,主要构造了一下几个方法:1、 干脆获得数据库连接串的方法public static String GetConnection()return ConfigurationManager.ConnectionStrings"ConnectionString".ToString();2、 执行

41、一个sql吩咐,仅仅返回数据库受影响行数/ <param name="Sql">sql语句</param>/ <param name="cmdParms">参数</param>/ <returns></returns>public static int ExecuteNonQuery(string Sql, params SqlParameter cmdParms)/ Create a new Sql commandSqlCommand cmd = new SqlCommand();

42、/Create a connectionusing (SqlConnection conn = new SqlConnection(_connectionString)/Prepare the commandPrepareCommand(cmd, conn, null, CommandType.Text, Sql, cmdParms);/Execute the commandint val = cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val; 3、 执行 SQL 语句,查询的结果集public static DataTable E

43、xecuteSearch(SqlCommand comm)/获得返回集实例SqlParameter p = null;if (comm.Parameters != null && comm.Parameters.Count > 0)p = new SqlParametercomm.Parameters.Count;for (int i = 0; i < comm.Parameters.Count; i+)pi = (SqlParameter)comm.Parametersi;comm.Parameters.Clear();DataTable (_connection

44、String, comm.CommandType, comm.CommandText, p).Tables0;if (p != null)for (int i = 0; i < p.Length; i+)comm.Parameters.Add(pi);return result;4、 带分页数据查询public static DataTable PagerWithCommand(SqlCommand cmd, int PageIndex, int PageSize, string OrderBy, ref int TotalCount)/变量定义StringBuilder sbSql =

45、 new StringBuilder();/第一页时if (PageIndex = 1)sbSql.Append("SELECT TOP " + PageSize + " * FROM");elsesbSql.Append("SELECT * FROM ");sbSql.Append(" ( SELECT ROW_NUMBER() OVER (ORDER BY " + OrderBy + ") as RowNumber,tempTable.*");sbSql.Append(" FROM

46、 ( " + cmd.CommandText + " ) AS tempTable ) AS tmp ");if (PageIndex != 1)sbSql.Append("WHERE RowNumber BETWEEN CONVERT(varchar,(PageIndex-1)*PageSize+1) AND CONVERT(varchar,(PageIndex-1)*PageSize+PageSize) ");sbSql.Append(" SELECT TotalRecord = count(*) FROM (" + c

47、md.CommandText + ") tempTable");/重新设置吩咐SQL语句cmd.CommandText = sbSql.ToString();/* 将分页参数追加至SqlParameter */当前页SqlParameter param = new SqlParameter("PageIndex", SqlDbType.Int);param.Value = PageIndex;cmd.Parameters.Add(param);/每页显示数param = new SqlParameter("PageSize", Sql

48、DbType.Int);param.Value = PageSize;cmd.Parameters.Add(param);/总数param = new SqlParameter("TotalRecord", SqlDbType.Int);param.Direction = ParameterDirection.Output;cmd.Parameters.Add(param);DataTable dtTemp = ExecuteSearch(cmd);TotalCount = (int)cmd.Parameters"TotalRecord".Value;r

49、eturn dtTemp;5.2 实现方法本项目采纳B/S体系架构,对所开发的系各个功能模块进行了设计,并借助于Visua1Studio 2008开发环境的.NET平台,运用C#语言、ASP.NET技术、三层架构、JQUREY-AJAX和ADO.NET数据库等技术。本项目利用销售订单功能设计举例阐述运用上述技术的思路及过程。销售功能模块实现步骤当用户输入全部内容后,点击保存按钮时,事务发生的依次如下:首先通过SellOrderAdd.js中JQUERY-AJAX方法将页面值传递到SellOrder Add.ashx文件中等待处理;SellOrderAdd.ashx中调用业务处理层的SellOr

50、derBus.cs类中InsertSellOrder()方法;在InsertSellOrder方法中再调用数据访问层的SellOrderDBHelper.cs类中InsertSellOrder()方法;SellOrderDBHelper.cs类中的InsertSellOrder ()方法,则调用SqlHelper类中的Execute TransSql ()方法,返回新纪录的ID号。回到SellOrderAdd.ashx页中将返回的数据进行JSON序列化。JSON是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集。 JSON采纳完全独立于

51、语言的文本格式。最终回到JS中。第6章 软件测试测试是软件开发的重要环节之一,是保证软件质量的重要方法。66.1 测试方法一般来说,软件测试就测试模式而言,可分为两种:白盒测试和黑盒测试,如图6-1所示。图6-1 白盒测试和黑盒测试白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否依据规格说明书的规定正常进行,依据程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对全部逻辑路径进行测试。“白盒”法是穷举路径测试。在运

52、用这一方案时,测试者必需检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍旧可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。其次,穷举路径测试不行能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发觉不了一些和数据相关的错误。黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常运用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的状况下,测基于C/S、B/S混合结构的机房管理系统的设计和实现试者在程序接口进行测试,它

53、只检查程序功能是否依据需求规格说明书的规定正常运用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因一果图、错误推想等,主要用于软件确认测试。因果图、错误推想等,主要用于软件确认测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把全部可能的输入都作为测试状况运用,才能以这种方法查出程序中全部的错误。事实上测试状况有无穷多个,人们不仅要测试全部合法的输入,而且还要对那些不合法但是可能的输入进行测试【14】。系统测试过程会经验单元测试、集成测试

54、、系统测试、验收测试4个主要阶段。单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在和程序的其他部分相隔离的状况下进行测试。集成测试也叫组装测试或联合测试,在单元测试的基础上,将全部模块依据设计要求(如依据结构图)组装成为子系统或系统,进行集成测试。系统测试是将已经确认的软件、硬件、外设、网络等其他元素结合在一起,进行系统的各种组装测试和确认测试。验收测试是相关的用户或独立测试人员依据测试支配和结果对系统进行测试和接收【15】。6.2 系统测试依据以上测试方法对本系统进行了全面测试,以下列举出登陆模块单测试用例及结果如表6-1所示。表4-1 登陆模块测试用例及结果项目/软件基于B/S模式进销存管理系统程序版本1.0.0功能模块名Login编制人钱锋用例编号T

温馨提示

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

评论

0/150

提交评论