软件需求工程论文系统工程论文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件需求工程论文系统工程论文

基于六西格玛设计的软件需求工程过程模型

摘要:从产品质量角度出发,以顾客需求为核心,提出基于六西格玛设计的软件需求工程过程模型,对模型各个阶段的功能进行了详细说明。该方法可以有效解决软件需求分析存在的问题,为需求工程的展开提供借鉴。

关键词:需求工程;六西格玛设计;IDDOV流程;质量功能展开

需求工程作为软件工程生命周期的起点,是软件开发后继阶段的基础。需求工程过程的质量直接影响着软件开发的进度和成本。目前大部分软件需求工程中用于需求分析的框架和方法,如Zachman框架[1]、Volere需求过程模型[2]、实体/关系观点[1]及以用例为中心的需求分析方法[3]等均是从技术角度进行总结的。但这些方法均没有充分意识到软件质量即顾客满意度这个重要的衡量指标。而六西格玛设计(design for six sigma,DFSS)是以产品质量为中心而展开的设计。其通过重新设计产品开发流程,使产品充分满足顾客要求,从而达到较高的顾客满意度。因此,本文将六西格玛设计的思想引入软件需求工程中,从质量管理的角度,以充分满足顾客需求为核心,针对需求工程过程中存在的问题给出相应的模型及方法。

1六西格玛设计流程

六西格玛设计是质量管理在设计阶段的延伸。与六西格玛管理相比,两者的最大区别在于六西格玛管理着眼于对现有系统或流程的改进,通常当改进使流程达到约四点八西格玛水平时,就再难以突破,这就是人们常说的五西格玛墙[4]。为了超越五西格玛墙,实现真正意义上的六西格玛质量,必须从源头开始提高设计质量,开展六西格玛设计。DFSS还体现了激发创新能力、加快创新速度、预防为主等思想理念。

DFSS强调质量是在整个过程中形成的,而非测试得来[5]。DFSS 的IDDOV流程[5],即识别(identify)、定义(define)、展开(develop)、优化(optimize)和验证(verify),是一整套不同于常规设计的方法,它以顾客需求为导向,以质量功能展开(QFD)为纽带,深入分析和展开顾客需求,综合应用系统设计(包括TRIZ)、FMEA、实验设计、参数设计、容差设计以及面向X的设计等设计分析技术,从而大跨度地提高产品的固有质量,更好地满足顾客的需求[4]。

2基于DFSS的需求工程过程模型

简言之需求工程就是回答“做什么”的问题,是对用户的需求进行去粗取精、去伪存真、正确地理解,然后将它用软件工程开发语言表达出来(即需求规格说明书)的过程。目前,很少有组织具备明确

定义的、标准化的需求工程过程,他们只是简单地定义了过程的结果,即需求文档。

针对目前需求分析中存在的问题,本文提出了基于DFSS的需求工程过程模型。该模型以IDDOV流程为基础,以实现顾客需求为中心,运用DFSS的工具,分阶段逐步细化,最终将用户需求转换为需求文档,为软件开发的后续阶段提供可靠的依据。该模型如图1所示。

2.1识别并说明机会( identify)

在项目开展之前,首先使团队成员明确软件质量即顾客满意度,强调需求工程阶段的质量对软件项目成败的重要性,确定项目的六西格玛质量等级。识别目标顾客,对外部顾客和内部顾客[5]给予同样的重视。清楚说明待开发的软件系统要实现的目标、范围、将要用到的资源及成本预算;还要明确哪些是项目的关键可交付成果及其交付时间;最后形成项目计划。

2.2详细说明要求(define)

首先对顾客群进行分类,确定各类顾客的重要度。倾听各类顾客的声音(voice of customer,VOC),发现并了解顾客对现实和未来系统的真正要求,整理搜集到的VOC,形成VOC清单。

将VOC清单中的原始信息分类整理,用KJ法(亲和图法)和卡诺模型整理语言信息,将用户需求分类成功能性需求和非功能性需求。

以VOC为基础排列需求的优先次序,DFSS着眼于相对级别高、技术难度大的地方来达到系统目标。另外,还可以将VOC清单转换为具有可操作性的技术要求,如质量特性规格,为以后验证设计是否达到了顾客要求提 供标准。

为了使用户需求准确、完全转换为系统需求,质量功能展开(quality function deployment,QFD)技术再适合不过了。QFD是DFSS必须应用的最重要的方法之一。其基本思想是产品开发的所有活动均是由客户的需求、偏好和期望驱动的,通过质量屋矩阵将用户需求转换为相应的设计要求,即系统需求。图2是典型的质量屋[6]。图中左墙whats输入项矩阵,即“想要的”,屋顶hows矩阵,即“如何做”通过关系矩阵进行交换,将用户语言转换为技术术语;右墙为评价矩阵,是从用户角度评价产品市场竞争力,地下室为hows输出项矩阵,从技术角度评价需求的重要程度。QFD质量屋通过量化打分,对需求和技术要求进行排序,产生关键质量特性(critical to quality,CTQ),可以作为下一个QFD图的输入项继续分解。

可以有序地使用若干个QFD图将顾客的主观要求(VOC)转换为客观的、可计量的技术要求,即系统需求,如图3所示。

2.3进行构想(develop)

由QFD图得出系统需求的CTQs后,要进行系统建模。目前,成熟的系统建模方法很多,可以根据具体情况选择合适的建模方法;也

可以尝试用TRIZ(创造性问题解决理论)寻找最佳设计构想。DFSS 强调的是质量的形成过程,因此,任何一个潜在构想展开之前就要对其潜在问题进行评估。失效模式与效应分析(failure mode effects analysis,FMEA)就是用来寻找潜在失效情况,分析与这些失效有关的风险,并将其用一种合理的方法组织起来以采取相应措施的方法。QFD为FMEA过程提供了许多关键信息输出[5,7]。FMEA工作表格如表1所示。

运用FMEA表格对系统模型进行分析,有利于找出系统模型中的潜在缺陷,挖掘用户隐性需求,及时采取措施修改完善系统模型,为后续的软件开发工作降低风险、提高效率、节约时间和成本。

2.4优化设计(optimize)

需求工程过程的输出结果是需求文档,即软件需求规格说明书,是对用户需求和系统需求的详细陈述,是软件开发人员系统设计的起点。因此,需求文档的编写应该有一个标准的组织形式。编写文档的标准格式时应当注意需求的可跟踪性的体现,有利于在需求出现变更时进行检索和调整输出信息。可运用稳健设计的思想,优化文档格式,减少信息表述的差异性。用FMEA分析文档中存在的缺陷。

2.5验证设计(verify)

相关文档
最新文档