技术开发 频道

软件项目质量管理

【IT168 分析评论】

    提起如今的IT项目,软件工程倍受关注。而软件的质量更是众人关注的焦点,因为目前还没有一套完善的评估标准。甚至有人提出,现在的软件开发根本提不上是“工程”,因为它太稚嫩了,还没有一套成熟的标准来比照;因而软件项目极易出现失败或失误。大量实践证实,软件工程项目的成败,通常是因为治理问题(协同工作的能力),而不是技术上的问题。要想做一盘“完美”的软件大餐,质量治理的作用是不言而喻的。在实际的项目质量治理中,质量治理总是围绕着质量保证(QualityAssurance)过程和质量控制(QualityControl)过程两方面。这两个过程相互作用,在实际应用中还可能会发生交叉。正如引言所述,关于软件的质量,很难下一个非常明确的定义。本文主要针对软件工程中的质量治理来进行讨论。做软件“大餐”的工序软件质量保证(SoftwareQualityAssurance,以下简称SQA)的目的是验证在软件开发过程中是否遵循了合适的过程和标准。软件质量保证过程一般包含以下几项活动:首先是建立SQA组;其次是选择和确定SQA活动,即选择SQA组所要进行的质量保证活动,这些SQA活动将作为SQA计划的输入;然后是制定和维护SQA计划,这个计划明确了SQA活动与整个软件开发生命周期中各个阶段的关系;还有执行SQA计划、对相关人员进行培训、选择与整个软件工程环境相适应的质量保证工具;最后是不断完善质量保证过程活动中存在的不足,改进项目的质量保证过程。

    独立的SQA组是衡量软件开发活动优劣与否的尺度之一。SQA组的这一独立性,使其享有一项要害权利——“越级上报”。当SQA组发现产品质量出现危机时,它有权向项目组的上级机构直接报告这一危机。这无疑对项目组起到相当的“威慑”作用,也可以看成是促使项目组重视软件开发质量的一种激励。这一形式使许多问题在组内得以解决,提高了软件开发的质量和效率。

    选择和确定SQA活动这一过程的目的是策划在整个项目开发过程中所需要进行的质量保证活动。质量保证活动应与整个项目的开发计划和配置治理计划相一致。一般把该活动分为以下五类:1)评审软件产品、工具与设施软件产品常被称为“无形”的产品。评审时难度更大。在此要注重的一点是:在评审时不能只对最终的软件代码进行评审,还要对软件开发计划、标准、过程、软件需求、软件设计、数据库、手册以及测试信息等进行评审。评估软件工具主要是为了保证项目组采用合适的技术和工具。评估项目设施的目的是保证项目组有充足设备和资源进行软件开发工作。这也为规划今后软件项目的设备购置、资源扩充、资源共享等提供依据。2)SQA活动审查的软件开发过程SQA活动审查的软件开发过程主要有:软件产品的评审过程、项目的计划和跟踪过程、软件需求分析过程、软件设计过程、软件实现和单元测试过程、集成和系统测试过程、项目交付过程、子承包商控制过程、配置治理过程。非凡要强调的是,为保证软件质量,应赋予SQA阻止交付某些不符合项目需求和标准产品的权利。3)参与技术和治理评审参与技术和治理评审的目的是为了保证此类评审满足项目要求,便于监督问题的解决。4)做SQA报告SQA活动的一个重要内容就是报告对软件产品或软件过程评估的结果,并提出改进建议。SQA应将其评估的结果文档化5)做SQA度量SQA度量是记录花费在SQA活动上时间、人力等数据。通过大量数据的积累、分析,可以使企业领导对质量治理的重要性有定量的熟悉,利于质量治理活动的进一步开展。要说明的是,并不是每个项目的质量保证过程都必须包含上述这些活动或仅限于这些活动,要根据项目的具体情况来定。

    SQA计划中必须明确定义在软件开发的各个阶段是如何进行质量保证活动的。它通常包含以下内容:质量目标;定义每个开发阶段的开始和结束边界;具体策划要进行的质量保证活动;明确质量活动的职责;SQA组的职责和权限;SQA组的资源需求,包括人员、工具和设施;定义由SQA组执行的评估;定义由SQA组负责组织的评审;SQA组进行评审和检查时所参见的项目标准和过程;需由SQA组产生的文档。

0
相关文章