论软件项目质量管理及其应用软件工程的目标是生产出高质量的软件。ANSI/IEEE Std 729—1983对软件质量的定义是“与软件产品满足规定的和隐含的需求能力有关的特征或特性的全体”,实际上反映了三方面的问题:(1) 软件需求是度量软件质量的基础。(2) 只满足明确定义的需求,而没有满足应有的隐含需求,软件质量也无法保证。(3) 不遵循各种标准定义的开发规则,软件质量就得不到保证。软件质量管理贯穿于软件生命周期,极为重要。软件质量管理过程包括软件项目质量计划、软件质量保证和软件质量控制。质量管理的关键是预防重于检查,应事前计划好质量,而不只是事后检查,这有助于降低软件质量管理成本。请围绕“软件项目质量管理及其应用”论题,依次从以下三个方面进行论述。1. 概要叙述你参与管理和开发的软件项目以及你在其中担任的主要工作。2. 详细论述在该项目中进行质量保证和质量控制时所实施的活动,并论述二者之间的关系。3. 分析并讨论你所参与的项目中的质量管理成本,并给出评价。
写作要点一、概要叙述你参与管理和开发的软件项目以及你在其中担任的主要工作。二、详细论述在该项目中进行质量保证和质量控制时所实施的活动,并论述二者的关系。质量保证是为了使项目将会达到有关质量标准而开展的有计划、有组织的工作活动。软件质量保证的目的是验证在软件开发过程中是否遵循了合适的过程和标准,其主要职责是保证软件透明开发的主要环节,它贯穿于整个项目的始终。质量保证的主要活动是项目产品审计和项目执行过程审计。项目产品审计是根据质量保证计划对项目过程中的工作产品进行质量审查的过程;项目执行过程审计(有时也称为质量审查)是对项目质量管理活动的结构性复查,是对项目的执行过程进行检查,以确保所有活动都遵循规程进行。质量控制可以确定项目结果是否与质量标准相符,同时确定消除不符的原因和方法,控制产品的质量,及时纠正缺陷。质量控制的关键是所有的工作产品都具有良好定义的、可度量的规约,而反馈循环的引入对于把产生的缺陷减少到最低程度至关重要。质量控制的主要活动是技术评审(包括同行技术评审)、代码走查、代码评审、单元测试、集成测试、压力测试、系统测试、验收测试和缺陷追踪等。技术评审是通过正式的评审会议,对工作产品进行评审,以尽早发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。代码走查是以小组(3~4人)为单位进行代码阅读,互相帮助来检查代码中存在的错误,这是一种不太正式的代码检查,可以看成是开发人员的个人质量行为。代码评审是由一组人通过阅读、讨论和争议来对程序进行静态分析的过程,往往采用比较正式的会议形式,是比代码走查更高一层的质量控制。测试也是质量控制的基本活动。单元测试检验单个模块是否按其详细设计说明运行,测试的是程序逻辑;集成测试是测试系统各个部分的接口以及在实际环境中的性能级别;系统测试是检验系统作为一个整体是否按其需求规格说明正确运行,验证系统整体的运行情况;压力测试是测试系统在特殊条件下的限制和性能,测试系统在大数据量、低资源条件下的健壮性、系统恢复能力等;验收测试是在客户的参与下检验系统是否满足客户的所有需求,尤其是在功能和使用方便性方面。质量保证与质量控制的关系:? 质量保证的焦点在于过程,而质量控制的焦点在于交付产品(包括阶段性产品)前的质量把关。? 质量保证是一种通过采取组织、程序、方法和资源等各种手段的保证来得到高质量软件的过程,属于管理职能;质量控制是直接对项目工作结果的质量进行把关的过程,属于检查职能。? 质量保证的关键点是确保正确地做;质量控制的关键点是检查做得是否正确。? 质量保证和质量控制有共同的目标,有一组既可用于质量保证,也可用于质量控制的方法、技术和工具。考生应该对自己在项目中采用的质量保证和质量控制的具体活动进行论述,并对取得的效果进行说明,同时论述质量保证和质量控制的关系。三、分析并讨论在该项目中的质量管理成本,并给出评价。与任何管理活动一样,质量管理也有成本。质量成本是为了取得产品或服务的质量而付出的所有努力的总成本。质量成本包括预防成本和缺陷修复成本。预防成本是为了确保项目质量而进行预防工作所耗费的费用,缺陷修复成本是为确保项目质量而进行修复缺陷工作所耗费的费用。一般而言预防成本应大于缺陷修复成本。预防成本包括评估费用和预防费用。评估费用是使项目符合所提要求检测缺陷所衍生的成本,例如质量审计、测试、V&V等;预防费用是使项目符合所提要求预防失败所衍生的成本,例如用户满意确定、过程评审、改进等。缺陷修复成本包括内部费用和外部费用。内部费用是对于不能符合所提要求、尚未发行的软件(返工)所衍生的费用,例如缺陷标记、返工、重新测试等;外部费用是对于已经发布但是不符合要求的软件所衍生的费用,例如技术支持、问题估计、修正、索赔等。考生应该对项目质量活动中的成本进行论述,对成本组成予以评价。