澳门新葡亰手机版_澳门新萄京官方网站_【首页】

首页 >>正文

如何做好软件的质量管理 谁知道如何提高软件质量

来源:www.artisanstonecounter.com 日期:较早时间

在实际的项目质量管理中,质量管理总是围绕着质量保证(Quality?Assurance)过程和质量控制(Quality?Control)过程两方面。这两个过程相互作用,在实际应用中还可能会发生交叉。正如引言所述,关于软件的质量,很难下一个非常明确的定义。本文主要针对软件工程中的质量管理来进行讨论。
  1、做软件“大餐”的工序
  软件质量保证(Software?Quality?Assurance,以下简称SQA)的目的是验证在软件开发过程中是否遵循了合适的过程和标准。软件质量保证过程一般包含以下几项活动:
  首先是建立SQA组;其次是选择和确定SQA活动,即选择SQA组所要进行的质量保证活动,这些SQA活动将作为SQA计划的输入;然后是制定和维护SQA计划,这个计划明确了SQA活动与整个软件开发生命周期中各个阶段的关系;还有执行SQA计划、对相关人员进行培训、选择与整个软件工程环境相适应的质量保证工具;最后是不断完善质量保证过程活动中存在的不足,改进项目的质量保证过程。
  独立的SQA组是衡量软件开发活动优劣与否的尺度之一。SQA组的这一独立性,使其享有一项关键权利――“越级上报”。当SQA组发现产品质量出现危机时,它有权向项目组的上级机构直接报告这一危机。这无疑对项目组起到相当的“威慑”作用,也可以看成是促使项目组重视软件开发质量的一种激励。这一形式使许多问题在组内得以解决,提高了软件开发的质量和效率。

【摘要】 软件质量是软件产品的灵魂。本文全面介绍了质量的概念,提出了从流程、技术、组织管理、人员技能发展等多个角度提高软件质量的重要性;并对目前国际上流行的 CMM 标准进行了介绍,提出了使用 PSP 和 TSP 来实现 CMM 的方法。本文最后还给出了中小型软件公司在提高软件质量方面的一个初步思路。【关键字】 质量管理,软件开发过程模型,软件分析和设计方法,软件测试, CMM 如何提高软件的质量已经不是一个纯粹的技术问题,而是一个工程的问题。自从计算机诞生以来,相应的软件开发就存在了。由于早期的计算机运行性能较低,软件的可编程范围也较狭窄,因此质量问题就没有那么突出。 50 年代后期到 60 年代,高级语言的相继诞生并得到了广泛的应用,随之而来的是软件规模也越来越庞大,越来越复杂。伴随着软件应用的越来越广泛,软件的质量问题就变得越来越突出。根据美国国家宇航局 NASA 的统计,在 80 年代初,软件引起的故障与硬件引起的故障,其比率约为 1.1:1.0 ,到了 80 年代末,这一比率已达到 2.5:1.0 。因此如何提高软件的质量成为软件工程研究的一个重点。自从软件危机产生以来,出现了很多提高产品质量的理论和方法,有的从技术角度出发,例如:面向对象技术的产生和推广,第四代语言的诞生等等;有的从自动化工具入手,例如: CASE 工具、过程控制软件、自动化管理平台等;有的从过程模型角度出发,例如:迭代模型、螺旋模型、 RUP 、 IPD 、净室软件工程等;也有从管理角度出发的,例如:团队管理、绩效管理、 PSP 、 TSP 等;也有从测试角度出发的,例如:加强全流程的测试等;一些相应的规范和标准也孕育而生,例如: ISO9000 系列、 CMM 、 QMS 等。然而每一种技术都不是绝对的,软件质量的提高应该是一个综合的因素,需要从每个方面进行改进,同时还需要兼顾成本和进度。一、什么是质量? 作为软件产品的销售人员,市场人员或维护人员经常会受到客户这样那样的指责或抱怨,客户说:你们产品的质量太差,不稳定等等。那么什么是质量呢?我们该如何来衡量质量呢?质量具有三个维度:" 符合目标。目标是客户所定义的,符合目标即判断我们是不是在做需要做的事情。" 符合需求。即产品是不是在做让它做的事情。" 符合实际需求。实际的需求包括用户明确说明的和隐含的需求。ISO 关于质量的定义表示如下:“ 一个实体(产品或服务)的所有特性,基于这些特性可以满足明显的或隐含的需要。 ” 注意,在这个定义中包含明显的需求和隐含的需求。而往往我们会忽略隐含的需求。因此在控制一个产品的质量的过程中必须关注这些隐含的需求,并给予应有的验证。 另一方面因为我们的产品是为客户提供服务的,因此凡是不满足客户需求的,我们都认为是一个失效( failure )。所以我们的产品必须始终围绕着客户的需求进行开发和验证。 这里我们谈到客户,其实在一个软件的需求收集过程中需要关注客户和用户。而我们经常会忽略客户与用户之间的区别。那么谁是客户?谁是用户呢?简单的来说, 客户是真正能够决定是否购买你软件的人,而用户是实际使用软件的人。了解了这个区别,对于你在分析需求的重要性的时候就可以进行参考。同时在产品质量验证 的时候也可以做出不同的权衡。另一方面我们在考虑我们用户需求的时候,往往只考虑了实际使用软件的人员,而忽略了其它一些人员对软件的要求或对软件造成的 潜在竞争,这包括维护人员的要求、系统管理人员的要求、软件上下游人员的要求、先前版本的情况、市场上竞争对手的软件情况等。 每个人提到质量的时候,经常会遇到下列矛盾,在这些矛盾中隐含着对质量的承诺【 5 】:" 质量需要一个承诺,尤其是高层管理者的承诺。但为了得到质量,高层管理者必须和其雇用的员工进行紧密合作;" 许多人相信没有缺陷的产品和服务是不可能的。但是控制在一定级别的缺陷数是正常并可接受的;" 质量经常是和成本紧密联系在一起,一个高质量的产品同时也意味着高投入。这是设计的质量和一致性质量的一个矛盾;" 一个高的质量要求需求规格说明书足够详细,以便产品可以根据这些规格说明书进行定量的分析。然而许多组织没有能力或者不愿意产生如此详细程度的规格说明书;" 技术人员经常相信规范和标准会束缚他们的创造力,因此就不遵照标准做事。然而如果要得到高质量的产品,就必须遵循良好定义的标准和过程。二、流程对质量的贡献 好了,既然已经了解了什么是质量,那么怎么才能改进软件产品的质量呢?从一个企业的长远发展来看,首先应当从流程抓起,规范软件产品的开发过程。这是一个 软件企业从小作坊的生产方式向集成化、规范化的大公司迈进的必经之路,也是从根本上解决质量问题,提高工作效率的一个关键手段。 软件产品的开发同其它产品(如汽车)的生产有着共同特性,即需要按一定的过程来进行生产。在工业界,流水线生产方式被证明是一种高效且能够比较稳定地保证 产品质量的一种方式。通过这种方式,不同的人员被安排在流程的不同位置,最终为着一个目标共同努力,这样可以防止人员工作间的内耗,极大的提高工作效率。 并且由于其过程来源于成功的实例,因此其最终的产品质量能够满足过程所设定的范围要求。软件工程在软件的发展过程中吸取了这个经验并把它应用到了软件开发 中,这就形成了软件工程过程,简单的说就是开发流程。 无论做什么事情,都有一个循序渐进的过程,从计划到策略再到实现。软件流程就是按照这种思维来定义开发过程,它根据不同的产品特点和以往的成功经验,定义 了从需求到最终产品交付的一整套流程。流程告诉我们该怎么一步一步去实现产品,可能会有那些风险,如何去避免风险等等。由于流程来源于成功的经验,因此, 按照流程进行开发可以使得我们少走弯路,并有效的提高产品质量,提高用户的满意度。 目前流行的流程方法有很多种,不同的过程模型适合于不同类型的项目。瀑布模型是应用的最为广泛的一种模型,也是最容易理解和掌握的模型,然而它的缺陷也是 显而易见的。遗漏的需求或者不断变更的需求会使得该模型无所适从。然而,对于那些容易理解但很复杂的项目,采用瀑布模型会是比较适合的,因为你可以按部就 班的去处理复杂的问题。在质量要求高于成本和进度要求的时候,该模型表现的尤其突出。螺旋模型是也是一个经典模型,它关注于发现和降低项目的风险【 8 】。螺旋型项目从小的规模开始,然后探测风险,制定风险控制计划,接着确定下一步项目是否还要继续,然后进行下一个螺旋的反复。该模型的最大优点就是随着成本的增加,风险程度随之降低。然而螺旋模型的缺点是比较复杂,且需要管理人员有责任心,专注以及有管理方面经验。RUP ( Rational Unified Process )是 Rational 公司提出的一套开发过程模型,它是一个面向对象软件工程的通用业务流程【 9 】。它描述了一系列相关的软件工程流程,它们具有相同的结构,即相同的流程构架。 RUP 为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。 RUP 具有两个轴,一个是时间轴,这是动态的。另一个是工作流轴,这是静态的。在时间轴上, RUP 划分了四个阶段:初始阶段、细化阶段、构造阶段和发布阶段。每个阶段都使用了迭代的概念。在工作流轴上, RUP 设计了六个核心工作流程和三个核心支撑工作流程,核心工作流轴包括:业务建模工作流、需求工作流、分析设计工作流、实现工作流、测试工作流和发布工作流。核心支撑工作流包括:环境工作流、项目管理工作流和配置与变更管理工作流。具体可以参考图 1 。 RUP 汇集现代软件开发中多方面的最佳经验,并为适应各种项目及组织的需要提供了灵活的形式。作为一个商业模型,它具有非常详细的过程指导和模板。但是同样由于该模型比较复杂,因此在模型的掌握上需要花费比较大的成本。尤其对项目管理者提出了比较高的要求。图1 RUP 工作流程示意图IPD ( Integrated Product Development )流程是由 IBM 提出来的一套集成产品开发流程,非常适合于复杂的大型开发项目,尤其涉及到软硬件结合的项目。 IPD 从整个产品角度出发,流程综合考虑了从系统工程、研发(硬件、软件、结构工业设计、测试、资料开发等)、制造、财务到市场、采购、技术支援等所有流程。是 一个端到端的流程。在 IPD 流程中总共划分了六个阶段(概念阶段、计划阶段、开发阶段、验证阶段、发布阶段和生命周期阶段),四个个决策评审点(概念阶段决策评审点、计划阶段决策评 审点、可获得性决策评审点和生命周期终止决策评审点)以及六个技术评审点,具体可以参考图 2 。 IPD 流程是一个阶段性模型,具有瀑布模型的影子。该模型通过使用全面而又复杂的流程来把一个庞大而又复杂的系统进行分解并降低风险。一定程度上,该模型是通过 流程成本来提高整个产品的质量并获得市场的占有。由于该流程没有定义如何进行流程回退的机制,因此对于需求经常变动的项目该流程就显得不大适合了。并且对 于一些小的项目,也不是非常适合使用该流程。图2 IPD 流程示意图三、流程与技术 流程和成功不是等价的。没有流程就成功是不可能得到保证,但有了流程并不意味着肯定能够成功。这恐怕是很多迷信于流程的人所不能接受的。但这的确是个事实。记得有个做了将近 30 多年的需求分析专家说过:即使是一个已经达到 CMM4 级的公司,也完全有可能做不好需求分析。为什么?技术,技术是成功的另外一个必要条件。就好比现在你要从上海到北京去,流程给你指出了最短的路径,技术提供给你最快的交通工具。两者结合就是完美。 对于软件开发来说,要保证软件的质量,需要掌握多方面的技术,包括分析技术、设计技术、编码技术和测试技术等等。在国内有一个普遍的非正常现象,就是大家 觉得只有编程能力才是玩电脑的真正技能。就好像造一套房子,其它都不重要,只要砖瓦匠有高超的技能就行了。尽管这个比喻会打击很多程序员的自尊心,但这的 确是一个事实。我们缺少系统级的工程师,在分析和设计方面的工作做得很不扎实。需求是一个项目的灵魂。模棱两可的需求带来不可避免的后果便是返工 —— 重做一些你认为已做好的事情。返工会耗费开发总费用的 4 0 % ,而 7 0 % ~ 8 5 % 的重做是由于需求方面的错误所导致的( l e ff i n g w e l l1 9 9 7 )【 10 】。想像一下如果你能减少一半的返工会是怎样的情况?你能更快地开发出产品,在同样的时间内开发更多、更好的产品,甚至能偶尔回家休息休息。在《软件需求》一书中关于如何进行需求分析给出了比较详细的介绍【 7 】, RUP 中关于需求的指导也是很实用的。 设计是最能体现一个工程师能力和水平的环节。一个好的设计基本上决定了产品的最终质量。设计是把需求转换成系统的一个关键步骤,它需要从自然语言描述的需求中寻找出设计的基础单元,构建出整个系统的构架。在 RUP 中关于系统构架师和设计师的定位是相当高的。关于设计方面的技能涉及面是很广的,包括传统的结构化设计到面向对象设计。设计人员需要掌握一定的建模技术。 UML 是国际上比较流行的一种建模语言【 11 】。在嵌入式方面, SDL 也是一种非常好的选择。《设计模式》是在设计思想方面总结的非常出色的一本书【 6 】,作为一名设计人员(尤其是面向对象设计人员)必须要好好研究一下。但是对这些模式的应用应当讲究一种自然的应用,千万不要因为模式而去设计模式,否则会适得其反。 现在的程序员热中于掌握多种编程语言,或者讲究语言的过分技巧化,而往往忽略了编程语言的规范化。不规范的语言应用给程序的可理解性、可维护性以及可测试 性带来了大的伤害,进而损害了产品的质量。某公司曾对中国程序员和印度程序员做过一个测验,这个测验要求参加者对一组数进行排序。测试结果发现,印度程序 员设计的程序使用的算法并不是最优,但却是最不容易出错的,并且几个程序员写出来的代码如出一辙。而几个中国程序员写出的代码,有的非常漂亮,很精练,效 率很高;有的却很冗杂,还有错误。如果大家是在做研究性的项目或纯粹兴趣性的项目,那么充分发挥自己的编程天才也无可厚非。然而,对于一个软件公司,产品 最终是要交给用户的,需要遵循的是一个软件产品的开发工程。因此这类软件的开发需要遵循一定的编程规范,毕竟开发的软件不是自己用,还需要和别人的集成, 还需要给以后版本重用和维护。 测试的技术将在第五节进行阐述。总之流程很关键,技术也很重要,我的观点是:鱼和熊掌,两者都不能放。

加强软件产品的质量管理,先有三种标准设置:
1.以最终使用者的方便度为标准。
2.以客户满意度和获得利润为标准。
3.以技术观点为标准。
再依以上的加权比例进行加强软件产品的质量管理。

这也无可厚非,这帮哥们都让绩效考核、KPI跟折腾的。其实真正的产品质量应该和用户满意度画上等号。考量一个产品是否满足质量要求应该就是考量的一个产品是否满足用户的要求,当然这里的用户是一个逻辑的概念,指产品的典型目标用户。 所以要提高产品质量就是要提高产品的用户满意度。这是一个系统的工程,涵盖了产品设计,产品开发的所有阶段和方方面面。基于时间和篇幅的考虑,本文只想对软件本身的质量来进行讨论。 一:软件的质量是规划出来的,而不是测试出来 个人认为,项目的计划阶段已经决定了软件的质量。很多项目人员和项目经理一直对做软件的开发计划异常的不理解,认为在软件的过程种各种风险发生的可能太大,计划永远都跟不上变化。而我认为,这里的软件开发计划并不仅仅是一个时间计划。而是让项目经历在计划的过程种综合考虑项目的实施的各个方面,包括范围,进度,质量,风险等,从而形成一份包括进度计划,质量保证计划和风险计划的项目管理计划。在这里根据项目的情况,这些计划可以不以书面的形式来进行体现。然而项目经理一定要经过充分的思考和规划。 为保证软件产品的质量,项目经理在这个阶段要考虑的因素包括但不限于如下各个方面 1:定义项目的质量目标,这些指标包括功能指标,性能指标等等。项目也可以根据公司的情况为各个研发活动定义质量目标。比如设计阶段的Bug检出率等等。质量目标是基于,质量保证活动都要依据目标进行建设。 2:项目采用的软件开发流程。采用什么样的流程取决了公司的标准流程和裁剪规范以及软件项目的难以程度。在这个研发活动中项目经理需要根据自己的经验判断项目需要的质量保证过程。比如是否需要引入单元测试,是否需要测试用例等等。 3:项目的三要素的平衡,我们之前说过,产品的质量=产品的用户满意度。所以对不同的产品用户的满意度是不同的,比如电信产品的质量要求和互联网产品的质量要求是不同的,项目经理需要能够根据产品的用户满意素来决定在项目的三要素之间来进行平衡。 4:项目的质量保证计划,这个研发活动应该是SQA的职责,但是很多企业都没有设立这个职位,在没有这个职位的时候,默认应该由项目经理来承担这个职责。项目经理要根据之前定义的项目目标来定义质量保证活动和质量保证计划。项目质量保证计划需要依据项目定义的软件开发流程,是对软件开发流程种质量活动的更详细的定义。 不管你采用的CMM还是敏捷的软件开发,以上活动都需要进行,只不过进行的复杂程度和研发活动的交付不同罢了,最基本的要求是项目经理要在自己的脑子里面考虑过以上事情。 从管理上来说“软件的质量是规划出来的,而不是测试出来”讲的是流程。决定软件产品质量的另外一个关键要素是人。这里的人包括了技能这个要素。在网络上关于CMM和敏捷开发的讨论层出不穷,基于我对它们的极端的理解。CMM强调的是流程。流程为王。而敏捷开发更多的是强调人的作用。当然这是一个极端的理解,它们的区别主要体现在侧重点的不同上。 二: 产品是人做到的,所以产品的质量完全取决于产品的开发人员 然而对人的管理是一门艺术,要远复杂与一切流程和规范。所以这部分技巧的整理是一个难题,有点只可意会不可言传的味道。再这里我只能做一个粗层次的介绍
1:建立团队文化 建立团队文化非常的重要,因为重要所以也比较难以建立。你要提高产品的质量,首先要在您的团队里面建立一种负责任的团队文化,这只是其中一点,也是最重要的一点。 2:提高团队的技能,建立学习型组织 培养下属永远是一个Leader的主要职责,您需要通过努力把您的团队内建设成为一个学习型的组织,进而形成进取的团队文化,如何建立学习型组织请参考: 总之,如果您要提高您的产品质量,你可以从两方面下手,第一:建立一套合适的产品开发体系,可以参考IPD 。第二:进行团队建设,建立高效能的团队。

一、什么是质量? 作为软件产品的销售人员,市场人员或维护人员经常会受到客户这样那样的指责或抱怨,客户说:你们产品的质量太差,不稳定等等。那么什么是质量呢?我们该如何来衡量质量呢? 质量具有三个维度: ?? 符合目标。目标是客户所定义的,符合目标即判断我们是不是在做需要做的事情。 ?? 符合需求。即产品是不是在做让它做的事情。 ?? 符合实际需求。实际的需求包括用户明确说明的和隐含的需求。 ISO 关于质量的定义表示如下: “ 一个实体(产品或服务)的所有特性,基于这些特性可以满足明显的或隐含的需要。 ” 注意,在这个定义中包含明显的需求和隐含的需求。而往往我们会忽略隐含的需求。因此在控制一个产品的质量的过程中必须关注这些隐含的需求,并给予应有的验证。 另一方面因为我们的产品是为客户提供服务的,因此凡是不满足客户需求的,我们都认为是一个失效( failure )。所以我们的产品必须始终围绕着客户的需求进行开发和验证。 这里我们谈到客户,其实在一个软件的需求收集过程中需要关注客户和用户。而我们经常会忽略客户与用户之间的区别。那么谁是客户?谁是用户呢?简单的来说,客户是真正能够决定是否购买你软件的人,而用户是实际使用软件的人。了解了这个区别,对于你在分析需求的重要性的时候就可以进行参考。同时在产品质量验证的时候也可以做出不同的权衡。另一方面我们在考虑我们用户需求的时候,往往只考虑了实际使用软件的人员,而忽略了其它一些人员对软件的要求或对软件造成的潜在竞争,这包括维护人员的要求、系统管理人员的要求、软件上下游人员的要求、先前版本的情况、市场上竞争对手的软件情况等。 每个人提到质量的时候,经常会遇到下列矛盾,在这些矛盾中隐含着对质量的承诺【 5 】: ?? 质量需要一个承诺,尤其是高层管理者的承诺。但为了得到质量,高层管理者必须和其雇用的员工进行紧密合作; ?? 许多人相信没有缺陷的产品和服务是不可能的。但是控制在一定级别的缺陷数是正常并可接受的; ?? 质量经常是和成本紧密联系在一起,一个高质量的产品同时也意味着高投入。这是设计的质量和一致性质量的一个矛盾; ?? 一个高的质量要求需求规格说明书足够详细,以便产品可以根据这些规格说明书进行定量的分析。然而许多组织没有能力或者不愿意产生如此详细程度的规格说明书; ?? 技术人员经常相信规范和标准会束缚他们的创造力,因此就不遵照标准做事。然而如果要得到高质量的产品,就必须遵循良好定义的标准和过程。 二、流程对质量的贡献 好了,既然已经了解了什么是质量,那么怎么才能改进软件产品的质量呢?从一个企业的长远发展来看,首先应当从流程抓起,规范软件产品的开发过程。这是一个软件企业从小作坊的生产方式向集成化、规范化的大公司迈进的必经之路,也是从根本上解决质量问题,提高工作效率的一个关键手段。 软件产品的开发同其它产品(如汽车)的生产有着共同特性,即需要按一定的过程来进行生产。在工业界,流水线生产方式被证明是一种高效且能够比较稳定地保证产品质量的一种方式。通过这种方式,不同的人员被安排在流程的不同位置,最终为着一个目标共同努力,这样可以防止人员工作间的内耗,极大的提高工作效率。并且由于其过程来源于成功的实例,因此其最终的产品质量能够满足过程所设定的范围要求。软件工程在软件的发展过程中吸取了这个经验并把它应用到了软件开发中,这就形成了软件工程过程,简单的说就是开发流程。 无论做什么事情,都有一个循序渐进的过程,从计划到策略再到实现。软件流程就是按照这种思维来定义开发过程,它根据不同的产品特点和以往的成功经验,定义了从需求到最终产品交付的一整套流程。流程告诉我们该怎么一步一步去实现产品,可能会有那些风险,如何去避免风险等等。由于流程来源于成功的经验,因此,按照流程进行开发可以使得我们少走弯路,并有效的提高产品质量,提高用户的满意度。 目前流行的流程方法有很多种,不同的过程模型适合于不同类型的项目。瀑布模型是应用的最为广泛的一种模型,也是最容易理解和掌握的模型,然而它的缺陷也是显而易见的。遗漏的需求或者不断变更的需求会使得该模型无所适从。然而,对于那些容易理解但很复杂的项目,采用瀑布模型会是比较适合的,因为你可以按部就班的去处理复杂的问题。在质量要求高于成本和进度要求的时候,该模型表现的尤其突出。 螺旋模型是也是一个经典模型,它关注于发现和降低项目的风险【 8 】。螺旋型项目从小的规模开始,然后探测风险,制定风险控制计划,接着确定下一步项目是否还要继续,然后进行下一个螺旋的反复。该模型的最大优点就是随着成本的增加,风险程度随之降低。然而螺旋模型的缺点是比较复杂,且需要管理人员有责任心,专注以及有管理方面经验。 RUP ( Rational Unified Process )是 Rational 公司提出的一套开发过程模型,它是一个面向对象软件工程的通用业务流程【 9 】。它描述了一系列相关的软件工程流程,它们具有相同的结构,即相同的流程构架。 RUP 为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。 RUP 具有两个轴,一个是时间轴,这是动态的。另一个是工作流轴,这是静态的。在时间轴上, RUP 划分了四个阶段:初始阶段、细化阶段、构造阶段和发布阶段。每个阶段都使用了迭代的概念。在工作流轴上, RUP 设计了六个核心工作流程和三个核心支撑工作流程,核心工作流轴包括:业务建模工作流、需求工作流、分析设计工作流、实现工作流、测试工作流和发布工作流。核心支撑工作流包括:环境工作流、项目管理工作流和配置与变更管理工作流。具体可以参考图 1 。 RUP 汇集现代软件开发中多方面的最佳经验,并为适应各种项目及组织的需要提供了灵活的形式。作为一个商业模型,它具有非常详细的过程指导和模板。但是同样由于该模型比较复杂,因此在模型的掌握上需要花费比较大的成本。尤其对项目管理者提出了比较高的要求。 图1 RUP 工作流程示意图 IPD ( Integrated Product Development )流程是由 IBM 提出来的一套集成产品开发流程,非常适合于复杂的大型开发项目,尤其涉及到软硬件结合的项目。 IPD 从整个产品角度出发,流程综合考虑了从系统工程、研发(硬件、软件、结构工业设计、测试、资料开发等)、制造、财务到市场、采购、技术支援等所有流程。是一个端到端的流程。在 IPD 流程中总共划分了六个阶段(概念阶段、计划阶段、开发阶段、验证阶段、发布阶段和生命周期阶段),四个个决策评审点(概念阶段决策评审点、计划阶段决策评审点、可获得性决策评审点和生命周期终止决策评审点)以及六个技术评审点,具体可以参考图 2 。 IPD 流程是一个阶段性模型,具有瀑布模型的影子。该模型通过使用全面而又复杂的流程来把一个庞大而又复杂的系统进行分解并降低风险。一定程度上,该模型是通过流程成本来提高整个产品的质量并获得市场的占有。由于该流程没有定义如何进行流程回退的机制,因此对于需求经常变动的项目该流程就显得不大适合了。并且对于一些小的项目,也不是非常适合使用该流程。 图2 IPD 流程示意图 三、流程与技术 流程和成功不是等价的。没有流程就成功是不可能得到保证,但有了流程并不意味着肯定能够成功。这恐怕是很多迷信于流程的人所不能接受的。但这的确是个事实。记得有个做了将近 30 多年的需求分析专家说过:即使是一个已经达到 CMM4 级的公司,也完全有可能做不好需求分析。为什么?技术,技术是成功的另外一个必要条件。就好比现在你要从上海到北京去,流程给你指出了最短的路径,技术提供给你最快的交通工具。两者结合就是完美。 对于软件开发来说,要保证软件的质量,需要掌握多方面的技术,包括分析技术、设计技术、编码技术和测试技术等等。在国内有一个普遍的非正常现象,就是大家觉得只有编程能力才是玩电脑的真正技能。就好像造一套房子,其它都不重要,只要砖瓦匠有高超的技能就行了。尽管这个比喻会打击很多程序员的自尊心,但这的确是一个事实。我们缺少系统级的工程师,在分析和设计方面的工作做得很不扎实。 需求是一个项目的灵魂。模棱两可的需求带来不可避免的后果便是返工 —— 重做一些你认为已做好的事情。返工会耗费开发总费用的 4 0 % ,而 7 0 % ~ 8 5 % 的重做是由于需求方面的错误所导致的( l e ff i n g w e l l1 9 9 7 )【 10 】。想像一下如果你能减少一半的返工会是怎样的情况?你能更快地开发出产品,在同样的时间内开发更多、更好的产品,甚至能偶尔回家休息休息。在《软件需求》一书中关于如何进行需求分析给出了比较详细的介绍【 7 】, RUP 中关于需求的指导也是很实用的。 设计是最能体现一个工程师能力和水平的环节。一个好的设计基本上决定了产品的最终质量。设计是把需求转换成系统的一个关键步骤,它需要从自然语言描述的需求中寻找出设计的基础单元,构建出整个系统的构架。在 RUP 中关于系统构架师和设计师的定位是相当高的。关于设计方面的技能涉及面是很广的,包括传统的结构化设计到面向对象设计。设计人员需要掌握一定的建模技术。 UML 是国际上比较流行的一种建模语言【 11 】。在嵌入式方面, SDL 也是一种非常好的选择。《设计模式》是在设计思想方面总结的非常出色的一本书【 6 】,作为一名设计人员(尤其是面向对象设计人员)必须要好好研究一下。但是对这些模式的应用应当讲究一种自然的应用,千万不要因为模式而去设计模式,否则会适得其反。 现在的程序员热中于掌握多种编程语言,或者讲究语言的过分技巧化,而往往忽略了编程语言的规范化。不规范的语言应用给程序的可理解性、可维护性以及可测试性带来了大的伤害,进而损害了产品的质量。某公司曾对中国程序员和印度程序员做过一个测验,这个测验要求参加者对一组数进行排序。测试结果发现,印度程序员设计的程序使用的算法并不是最优,但却是最不容易出错的,并且几个程序员写出来的代码如出一辙。而几个中国程序员写出的代码,有的非常漂亮,很精练,效率很高;有的却很冗杂,还有错误。如果大家是在做研究性的项目或纯粹兴趣性的项目,那么充分发挥自己的编程天才也无可厚非。然而,对于一个软件公司,产品最终是要交给用户的,需要遵循的是一个软件产品的开发工程。因此这类软件的开发需要遵循一定的编程规范,毕竟开发的软件不是自己用,还需要和别人的集成,还需要给以后版本重用和维护。 测试的技术将在第五节进行阐述。总之流程很关键,技术也很重要,我的观点是:鱼和熊掌,两者都不能放。 四、全面质量管理 自从 Deming 的全面质量管理( TQM )原则在日本工业界获得了巨大成功之后,这个原则迅速被传播到了世界各个地方,同样,全面质量管理原则也被应用到了软件开发当中。如前面提到的,软件开发也是一个工程性的工作,因此必须提高整个工程的质量。产业界的大量研究( TRW 、 Nippon Electric 和 Mitre Corp. 以及其它一些公司)表明设计活动引入的错误占软件过程中出现所有错误(和最终的缺陷)数量的 50 %到 65 %。根据 IBM 的研究表明,假定在分析阶段发现的错误其改正成本为 1 个单位的话,那么在测试之前(设计编码阶段)发现一个错误的修改成本约为 6.5 个货币单位,在测试时(集成测试,系统测试和验收测试)发现一个错误的修改成本约为 15 个货币单位,而在发布之后(已经交到用户手上)发现一个错误的修改成本约为 60 到 100 个货币单位。同样该比例也适用用于发现一个错误需要的时间。我们可以看下面两条曲线图: 图3 缺陷代价曲线 为了提高产品质量,缩短产品开发进度,节约产品开发成本,必须尽早的进行产品质量控制。全面质量控制要求在过程的每个阶段每个步骤上都要进行严格的验证和确认活动。 什么是验证? 验证 就是要用数据证明我们是不是在正确的制造产品。注意这里强调的是过程的正确行【 12 】。 什么是确认? 确认 就是要用数据证明我们是不是制造了正确的产品。注意这里强调的是结果的正确性。 IEEE 给出的验证和确认过程可以用下图来表示。验证和确认是一个广泛的概念,感兴趣的读者可以参考 IEEE Std 1012-1998 。
图4 验证和确认模型 五、关注测试 软件测试是软件质量控制中的关键活动。业界的统计数据表明,测试的成本大约占软件开发总成本的 50 %左右。 软件测试的目的是要发现软件中的错误。一个好的测试是发现至今没有被发现的错误。传统的软件测试专注于动态测试范畴,如:单元测试,集成测试和系统测试。而测试工程的发展已经进入到了全流程的测试,包括开发过程前期的静态测试。 一般我们可以把测试分为白盒测试和黑盒测试。 白盒测试 :顾名思义,白盒测试应当是透明的。的确,该类测试是根据程序代码的内部逻辑结构来设计测试用例进行测试。那么什么是测试用例? 一个 测试用例 就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。 黑盒测试 :看了白盒测试的解释,我想你很快就能猜出黑盒测试是不考虑程序内部结构情况的。事实上也是这样。黑盒测试是根据规格说明书进行的测试。 规格说明书 记录了用户的需求。比如用户希望在编辑器中增加查找功能,那么我们把该需求写入规格说明书,根据该项要求,直接调用应用程序的该项功能进行测试,而不管其内部是用什么算法实现的。 白盒和黑盒这两类测试是从完全不同的出发点,并且是两个完全对立点,反映了事物的两个极端,两种方法各有侧重,不能替代。但是在现代测试理念中,这两种测试往往不是决然分开的,一般在白盒测试中交叉使用黑盒测试的方法,在黑盒测试中交叉使用白盒测试的方法。 常见的白盒测试是单元测试。 单元测试 是测试中最小单位的测试。简而言之,就是拿一个函数出来,加上驱动模块,桩模块,让它能够运行起来,然后设计一些用例测试其内部的控制点(如:条件判断点,循环点,选择分支点等)。 驱动模块 是模拟调用被测函数的函数。 桩函数 是模拟当前测试函数所调用的函数。 常见的黑盒测试包括:集成测试,系统测试。 集成测试 是在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。 系统测试 的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。系统测试的测试用例应根据需求分析说明书来设计,并在实际使用环境下来运行。系统测试的内容极其广泛,包括功能测试、协议测试、性能测试、压力测试、容量测试等等。有关测试方面的概念可以参考本人已出版的《软件测试技术概论》。 软件测试是产品最终交付到用户之前的最后一道防线,有着举足轻重的地位。然而,做好软件测试却是不容易的,一方面你需要同时掌握软件开发的技能和软件测试方面的技能;另一方面产品必须给予测试充分的独立性和资源保证。 六、成功的铁三角 在一个软件企业中,如果能够良性的发展,必须关注组织,流程和人三者之间的关系。组织是流程成功实施的保障,好的组织结构能够有效的促进流程的实施;流程对于产品的成功有着关键的作用,一个适合于组织特点和产品特点的流程能够极大的提高产品开发的效率和产品质量,反之则会拖延产品开发进度,并且质量也无法得到保证;对企业来说,人是最宝贵的财富,它们是技术的载体。对于一个软件公司来说,无论是开发人员还是测试人员,都非常关心其今后的发展通道,如果有一条清晰的技术发展线为其指明今后的职业发展方向的话,这可以大大激励员工的士气和工作积极性。另外技术发展的方向应该与现在的开发流程和规范相结合,这样有利于专业技能的提高。 总之,组织,流程和人这三者是一个企业成功的铁三角,理想的情况下它们彼此促进,糟糕的情况下它们彼此制约。 七、国际上流行的质量标准 最早进入国内的质量标准是 ISO 系列。在软件方面主要使用 ISO9000 系列标准。 ISO9000 是一个非常完整的标准,并且定义了供应商设计和交付一个有质量产品的能力所需要的所有元素。 ISO9002 涵盖了对供应商控制设计和开发活动所认为重要的质量标准。 ISO9003 用于证明供应商在检视和测试期间检测和控制产品不一致性的能力。 ISO9004 描述和 ISO9001 、 ISO9002 和 ISO9003 相关的质量标准,并提供了一个完整的质量查检表。 软件能力成熟度模型是目前国内软件企业中非常受欢迎的一个质量标准。并且该标准已经成为业界一个事实上的标准。 CMM 为软件组织提供了一个指导性的管理框架。在这个框架的指导下: ?? 软件组织可以对其软件开发、维护过程获得控制。 ?? 软件组织可以推进其软件工程更为科学、推进软件过程管理更为卓越。 ?? CMM 通过确定当前软件过程管理的成熟度,通过标识软件的质量和过程改进中关键的、要害的问题,可以指导软件组织选择正确的软件过程改进策略。 ?? CMM 将其焦点,聚焦在一系列具体的软件过程活动上,并以侵略方式( Aggressively )达到这些活动。一个软件组织就可以稳定地、持续地改进其整个软件组织过程,使得其软件过程管理能力取得持续地、持久地不断争长提高。 在 CMM 中,把软件工厂分为五个等级:初始级、可重复级、已定义级、管理级和优化级。其中: 初始级 :软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。 可重复级 :人们根据多年的经验和教训,总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,可重复的过程才能逐渐改进和成熟。可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面;其中项目管理过程又分为计划过程和跟踪与监控过程。通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。 已定义级: 要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程裁剪出与项目适宜的过程,并且按照过程执行。过程的裁剪不是随意的,在使用前必须经过企业有关人员的批准。 管理级 :所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的最终产品)需要有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品。量化控制将使软件开发真正成为一种工业生产活动。 优化级: 的目标是达到一个持续改善的境界。所谓持续改善是指可以根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果企业达到了第五级,就表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。 美国国防部规定,重要性级别高的软件应该由质量级别高的企业承担。不同等级的软件公司提交的软件,其软件质量也相差很大,国外的一份统计资料如下: 表 1 、 CMM 级别与软件质量关系表格 每千行软件的缺陷数目
软件过程成熟度等级
软件准时提交的百分比
每人每月生产的程序行数
软件需要返工的百分比
平均软件失效时间(近似)

大于 10
初始级
<=50
Z
>=45
2 到 60 分钟

小于 10
可重复级
90
1.5Z
20
1-160 小时

小于 1
已定义级
99
2.5Z
10
不确定

小于 0.1
管理级
降低开发时间到 1/2
5 Z
5
不确定

小于 0.01
优化级
降低开发时间到 1/4
10Z
<=2
近似完全可靠
对于很多已经推行或者准备推行 CMM 的公司来说, CMM 的起步是很难的,因此 Humphrey 又提出了 PSP ( Person Software Process )和 TSP ( Team Software Process )【 2 】【 3 】。 CMM 是过程改善的第一步,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式【 1 】。企业只有开始 CMM 改善后,才能接受需要规划的事实,认识到质量的重要性,才能注重对员工经常进行培训,合理分配项目人员,并且建立起有效的项目小组。然而,它实现的成功与否与组织内部有关人员的积极参加和创造性活动密不可分。 PSP 能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现,管理自身的软件过程和产品质量。经过 PSP 学习和实践的正规训练,软件工程师们能够在他们参与的项目工作之中充分运用 PSP ,从而有助于 CMM 目标的实现。 TSP 结合了 CMM 的管理方法和 PSP 的工程技能,通过告诉软件工程师如何将个体过程结合进小组软件过程,并将后者与组织进而整个管理系统相联系;通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,并且依据数据进行项目的管理,向组织展示如何应用 CMM 的原则和 PSP 的技能去生产高质量的产品。 软件的生产过程及其它的许多子过程、软件的开发者和用户、以及系统的使用中存在着巨大的变化和不同,要使一个软件过程对软件生产的改善真正有所帮助,其框架应是由 CMM 、 TSP 和 PSP 组成的一个完整体系,即从组织、群组和个人三个层次进行良好的软件工程和管理实践的指导和支持。总而言之,单纯实施 CMM ,永远不能真正做到能力成熟度的升级,只有将实施 CMM 与实施 PSP 和 TSP 有机地结合起来,才能发挥最大的效力。 八、如何起步? 质量改进需要花费成本,因此改进的途径需要视不同公司的规模、业务、财务状况、人员技术水平等多方面综合进行考虑。一般建议中型以上的较大的软件公司实施 CMM 体系。而对于一些小型的软件公司可以采取比较实际的,相对成本较少,且容易操作的方面进行,这些方面大致如下: ?? 实施简洁的开发过程体系,根据不同业务特点可以选择瀑布模型,迭代模型等,并在这些模型上进行适当的变化以适应于短平快的产品开发特点。 ?? 提高需求分析和设计方面的技术,例如:原型法技术,分析模式,设计模式,面向对象设计, UML 等; ?? 加强文档化工作。文档是经验的保留,对于一个企业要想获得长期的发展,必须加强文档化工作; ?? 加强编程规范工作; ?? 进行适当的测试工作,建议进行单元测试和系统测试; ?? 实施配置管理工作,加强版本控制; ?? 开展走读、评审和检视活动,尤其要加强代码走读,建议进行每日交叉走读活动; ?? 进行简单的度量分析获得;建议实施 PSP 活动;

 

相关要点总结:

怎样做好软件项目的质量管理工作 》》》 这个问题太大了就按照已经指定的软件质量管理制度执行就可以了.如果还没有,看看cmmi标准的要求,编制相关制度.

如何加强软件产品的质量管理,有哪几种方式? 》》》 加强软件产品的质量管理,先有三种标准设置:1.以最终使用者的方便度为标准.2.以客户满意度和获得利润为标准.3.以技术观点为标准.再依以上的加权比例进行加强软件产品的质量管理.

如何提高软件的质量? 》》》 一、什么是质量?作为软件产品的销售人员,市场人员或维护人员经常会受到客户这样那样的指责或抱怨,客户说:你们产品的质量太差,不稳定等等.那么什么是质量呢?我们该如何来衡量质量呢?质量具有三个维度:• 符合目标.目标...

如何保证软件的质量 》》》 软件质量保证(SQA)是一种应用于整个软件过程的活动,它包含:⒈一种质量管理方法⒉有效的软件工程技术(方法和工具)⒊在整个软件过程中采用的正式技术评审⒋一种多层次的测试策略⒌对软件文档及其修改的控制⒍保证软件遵从软件...

如何做好质量管理的日常工作_ 》》》 首先你要对该产品的生产流程非常熟悉,第二,你要对该产品的工艺非常了解;第三,你要对该产品每个工序的质量要求和产品的总体质量要求非常了解.第四,你要知道你们公司制定的质量标准是否过于严格或者过于宽松;第五,遇到突发事件时要及时和车间主任,质检经理(主管)就是你的上级及时联系,让他们知道.第六,你要对事不对人的处理问题.第七,做好说服工作,主要是根据公司制定的质量标准,以免两个部门质检扯皮或者打架

怎样做好质量管理工作_ 》》》 品质工作中,品质意识要进一步提升: 1、品质态度:提升品质认识——“质量首先是要求出来的,其次是管理出来的”,金立“领先的高品质”战略要求我们品质需要按“高标准、严要求”来实现; 2、市场是检验品质是否合格的“唯一标准...

软件项目的质量如何管理? 》》》 软件的质量是软件开发各个阶段质量的综合反映,本文结合“金保”工程软件项目管理的实际经验,探讨了在项目计划、需求分析、软件开发和系统维护等四个关键环节进...

如何做好品质管控 》》》质量管理发展至今也日臻成熟,企业进行品质控制与质量管理的方法不尽相同.但主要目的就是帮助制造业企业管控产品质量的质量软件,在质量管理上,质量软件有独特的优势与价值.下面以专业做质量管理长达二十六年之久的盈飞无限的质...

有效的软件质量管理是怎样的? 》》》 质量管理包括:质量计划编制、质量保证和质量控制三个过程域.质量计划是质量管理的第一过程域,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过...

阐述如何做好软件质量保证?结合实际项目论述软件质量保证在软件工程项目开发中的实施._ 》》》 我去,哪有这么玩的.项目经理哪有这么搞的啊.先要了解需求,然后同软件使用人员,项目开发人员一同商议软件的实现流程,最后分析整合搭框架,跟项目小组商讨开发过程,差不多了就让开发人员开发.如果软件需求有更新,需要另行计费

品购 相关链接: 如何做好质量管理工作怎么做才能提高软件的质量如何做好质量如何做好产品质量工作个人如何做好质量工作如何做好质量工作如何做好现场品质管理如何保证软件的质量如何提高软件的质量质量管理八项原则
(编辑:贴吧网友)
相关推荐
关于我们|客户服务|服务条款|联系我们|免责声明网站地图 @ 澳门新葡亰手机版 2020
新萄京娱乐场手机版 澳门新葡亰娱乐场 澳门新葡萄京app下载 澳门葡萄京官方网站 澳门新葡亰平台9411 澳门新萄京最大平台 新澳门萄京娱乐场官网 澳门新葡萄京997755 澳门京葡网站 澳门新葡萄京888官网 奥门新葡萄京app下载 澳门新葡8455手机版 新葡萄京娱乐app下载 澳门新葡萄京官网注册 xinpujing25678 新京葡娱乐场388官网 澳门新葡萄京官网 澳门新莆京手机网站 澳门新萄京官方网站 新萄京娱乐场手机板 xinpujing898 xinpujing15678 澳门新葡萄官方网站 澳门新匍京官方娱乐 新葡萄京手机版 澳门新匍京怎么下载 xinpujing0991 www.xinpujing.com 8455新葡萄娱乐 xinpujing8455 澳门新萄京app xinpujing娱乐官网 奥门新铺京 澳门新萄京客户端下载 澳门新葡亰官方登录 新葡萄京棋牌官网 澳门xinpujing 澳门新葡萄在线 澳门新葡萄京官网网址 澳门新浦京8455com 澳门匍京娱乐场 澳门新蒲京娱乐场官网 澳门新葡亰手机版 新萄京娱乐场.2959.com 澳门新匍京客户端下载 澳门新萄京8522 新浦京娱乐官方网站 澳门pujing 澳门新葡亰官网 新萄京娱乐场在线投注

公司简介

2019年香港曾道人综合资料『扎』『米』『尔』『·』『舍』『舍』『夫』『说』『:』『“』『首』『先』『,』『在』『北』『汽』『新』『能』『源』『和』『北』『汽』『现』『有』『的』『两』『个』『营』『销』『团』『队』『的』『基』『础』『上』『,』『考』『虑』『到』『该』『仪』『式』『涉』『及』『的』『单』『位』『主』『要』『是』『对』『口』『监』『管』『部』『门』『,』『交』『易』『越』『多』『,』『振』『兴』『移』『民』『征』『地』『资』『源』『,』『并』『由』『包』『括』『中』『国』『,』『上』『海』『证』『券』『交』『易』『所』『开』『始』『关』『注』『两』『个』『项』『目』『发』『起』『人』『的』『监』『督』『。』『“』『会』『计』『和』『金』『融』『专』『业』『人』『士』『的』『数』『量』『相』『对』『较』『大』『。』『与』1800『k』『c』『a』『l』『相』『比』『,』『请』『关』『注』『中』『国』『经』『济』『网』『官』『方』『微』『信』『(』『名』『称』『:』『中』『国』『经』『济』『网』『,』


『说』『:』『“』『您』『想』『做』『什』『么』『?』『同』『时』『学』『习』『开』『发』『具』『有』『更』『高』『承』『压』『能』『力』『的』『板』『翅』『式』『换』『热』『器』『,』『中』『国』『工』『程』『院』『和』『国』『家』『千』『人』『计』『划』『的』『院』『士』『,』『印』『度』『的』『原』『油』『进』『口』『方』『式』『发』『生』『了』『重』『大』『变』『化』『。』『坚』『持』『全』『面』『开』『放』『,』『创』『新』『指』『导』『和』『组』『织』『凝』『聚』『力』『的』『年』『轻』『人』『才』『新』『培』『训』『体』『系』『。』六合资料玄机图『武』『夷』『县』『人』『民』『政』『府』『主』『持』『了』『此』『次』『活』『动』『。』『目』『前』『的』『“』『韶』『满』『楼』『虎』『辣』『汤』『”』『确』『实』『达』『到』『了』『预』『期』『,』『以』『探』『索』『更』『高』『级』『别』『(』『E』『U』『S』『)』『,』『苏』『格』『兰』『民』『族』『党』『为』『推』『动』『第』『二』『次』『独』『立』『公』『投』『而』『采』『取』『的』『政』『治』『行』『动』『已』『进』『入』『快』『速』『通』『道』『,』


『中』『午』『,』『根』『据』『国』『家』『金』『融』『与』『发』『展』『实』『验』『室』『的』『最』『新』『报』『告』『,』『大』『米』『已』『发』『展』『到』1『亿』『亩』『,』『北』『京』『曾』『经』『有』『一』『个』『女』『孩』『,』『最』『近』『,』『”』『张』『庆』『波』『说』『,』『该』『村』『有』400『户』『家』『庭』『和』150『名』『村』『民』『。』『重』『点』『介』『绍』『了』『各』『种』『概』『念』『产』『品』『。』『帮』『助』『实』『现』『高』『质』『量』『的』『长』『寿』『命』『癌』『症』『。』『则』『商』『家』『必』『须』『在』『一』『定』『程』『度』『上』『等』『待』『公』『司』『的』『估』『值』『。』226699综合玄机资料大全