一种基于DOORS的软件需求开发过程优化方法

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

一种基于DOORS的软件需求开发过程优化方法
肖伟
【摘要】需求过程是整个软件生存周期中非常重要的一个阶段.因为需求开发过程和需求管理过程的差异,需求开发工具和需求管理工具的选择也可能不同.由此需要将软件需求从需求文档录入至专业需求管理工具的数据库.对此,提出一种基于DOORS的软件需求开发过程优化方法,定义需求文档的编制格式,并开发基于DXL 脚本语言的转换插件,最后方便地将RTF格式的需求文档导入至DOORS数据库,能够快速有效地实现需求开发和需求管理之间的衔接.%Software requirement process is a very important stage in whole software life cycle. The selection of tools utilised for requirement development and requirement management could be different due to the difference of the processes between requirement development and requirement management. Therefore the software requirement has the need to be recorded from requirement specification to database of requirement management tool. In this paper, an optimised method for software requirement development process based on DOORS is proposed for this purpose. It defines the compilation format of requirement specification and develops the DXL script language - based transformation plug-ins, at last it easily imports the requirement specification in RTF format to DOORS database, and is able to fast and efficiently realise the cohesion of requirement development and requirement management.
【期刊名称】《计算机应用与软件》
【年(卷),期】2012(029)009
【总页数】3页(P175-177)
【关键词】需求过程;需求开发;DOORS;DXL
【作者】肖伟
【作者单位】上海飞机设计研究院上海200230
【正文语种】中文
【中图分类】TP31
0 引言
随着计算机技术的快速发展,软件规模与复杂度迅速提高,软件的质量和可靠性越来越成为关注的焦点。

在一些特殊领域如航空方面,机载软件还具有强实时性、嵌入式等特点。

为确保机载设备的安全性,航空无线电技术委员会于1992年颁布了机载系统和设备合格设定的软件考虑,即RTCA/DO-178B,作为航空电子系统中嵌入式软件开发的指导性文件[1]。

DO-178B严格规定了机载软件开发的流程。

其定义的软件开发过程包括软件需求过程、软件设计过程、软件编码过程和综合过程。

软件需求过程是软件生存周期中非常重要的一个阶段。

软件开发人员必须明确软件开发的目标,将软件功能、性能、接口和安全性的需求描述成具体的软件需求规格说明,从而奠定软件开发的基础[2]。

能力成熟度模型CMMI(Capacity Maturity Model Integration)1.2对需求的描述分为需求开发和需求管理两个过程域[3]。

需求开发指的是在项目开发中形成需
求规格说明书的工作。

需求管理指的是需求规格书形成基线后,设计、编码、综合等阶段的需求管理工作。

因为角色分工和承担职责的不同,需求开发人员与需求管理人员在需求工具使用上很可能存在差异。

需求管理包括需求评审确认、需求追踪、需求变更等主要活动,过程复杂,可靠性要求高。

往往使用专业的功能强大的需求管理工具来辅助需求管理工作,如Borland公司的CaliberRM。

这些需求管理工具采用数据库来保存需求信息,极大地提高了工作效率,并且使需求管理过程更加规范化和精确化。

需求开发工作包括需求捕获和需求分析两个阶段。

需求管理工具也具有基本的手动输入功能,但是明显不如常用文档编辑工具使用便捷,并且应用该类工具也增加了对需求开发人员的要求。

所以相对于在需求开发过程采用需求管理工具,采用文档编辑类工具如Word等,具有使用灵活、处理方便等优点。

当项目复杂时,该方式能够大大减少需求的录入时间,提高需求开发的效率。

但是如何有效准确地将需求文档输入至数据管理数据库是其中的一个难点。

1 DOORS工具介绍
Rational DOORS是一款领先的需求管理应用程序,目前在全球已有超过50000个用户和1000家公司在使用。

DOORS可以捕获、连接、跟踪、分析和管理用户需求信息以保证实施的项目与需求规格说明和标准一致[4]。

DOORS支持多用户并行工作方式,提高管理复杂项目的能力并验证系统本身的正确性及系统实施的正确性。

用户既可以使用字处理器样式界面手动输入需求,也可以通过将Word、Excel、PowerPoint、ASCII纯文本等格式的文档将需求导入至DOORS。

捕获需求后,用户可以通过使用视图、链接和可追踪性分析等功能,在项目的整个生存周期中对需求进行追踪和管理。

在DOORS数据库中,以模块为单位存储管理需求信息,使用文件夹和项目的方式组织模块。

DOORS以对象的方式管理需求,具有方便的浏览方式,可以建立不
同的用户视图,根据用户角色的需要过滤显示内容。

DOORS支持多人同时访问,提供独占、共享和只读3种访问方式,允许不同的人同时修改同一模块的不同部分。

DOORS能够记录每条需求的修改记录,并能与Dimensions、ClearQuest 等配置管理工具集成使用。

2 需求开发过程
2.1 DOORS的需求属性定义
需求文本是需求描述的主要内容。

除了文本,每条需求还有一些与之相关的附加信息,也就是属性。

需求属性为每条需求建立了一个上下文和背景资料。

对于大型复杂项目来说,丰富的属性集合尤为重要。

在DOORS中,属性分为系统属性和用户属性。

系统属性由DOORS自动创建。

用户属性由用户自定义,根据项目的不同可以灵活创建。

模块包含的系统属性有模块名称(Name)、模块前缀(Prefix)、模块描述(Description)等。

每个对象都也包含多个属性,如对象绝对号(Absolute Number)、对象标题(Object Heading)、对象内容(Object Text)等。

同一个属性也可以同时存在于模块和模块内的对象,如创建者(Created By)、创建时间(Created On)等。

除对象标题、对象内容等少数几个系统属性值可更改外,其他的都是只读。

根据软件的需求标准,需求捕获前需要在DOORS中定义一系列属性。

表1列出了软件需求中的常用到的一些用户自定义属性。

表1 用户自定义属性列表名称描述_类型存在Comments 额外的描述信息Text 对象CR Number 变更请求号 String 对象Derived Req 该对象是否为衍生需求_Enumeration 对象Maturity 需求的成熟度Enumeration 对象Module Owner 模块负责人Enumeration 模块Object Type 通过背景信息判断设计元_素的类别_Enumeration 对象Parent 需求的上一级来源(未使用链接) Text 对象Rationale
明确需求的必要性原理Text 对象Requirement 表明对象是否为需求
_Enumeration 对象Verification_Methods 定义需求的验证方法 Enumeration 对象
2.2 软件需求捕获
Word是常用的并且功能强大的文档编辑工具,特别方便于图片、表格的编辑。

此外Word还具有方便的项目符号和编号、字体颜色、格式刷、宏等功能。

对于大部分需求编写人员来说,可能因为使用不同的需求管理工具对DOORS的需求编辑输入不熟悉。

而使用Word则不存在这样的问题。

所以在机载显示软件需求开发阶段,使用Word作为需求开发工具。

为了保证需求文档能够有效地输入至DOORS数据库,在具体需求开发中定义以下需求文档格式:
1)各标题采用章标题、一级标题、二级标题等样式;
2)标题与文本、文本与文本、文本与图片/表格之间以回车符分割;
3)如果文本是需求,加入需要补充的用户自定义属性值;
4)需求属性描述采用的格式为’[‘+属性名称+’:’+属性值+’]’;
5)需求的具体内容与属性之间,以及属性与属性之间以CTRL+回车符分割;
6)添加Requirement样式,醒目地标识该文本为需求,并采用编号方式以统计需求的数量;
7)添加Commentary样式,醒目地标识该文本为注释和描述,并采用编号方式以统计其数量;
图1 Word格式的需求文档
2.3 转换插件开发
编制好的Word版本需求文档需要输入到DOORS数据库中,由DOORS进行需求管理。

这就要求DOORS客户端能够识别出RTF格式的需求文本。

DOORS具
有导入RTF格式文本的功能,但是提取出需求文本中的需求属性值需要开发专门
的转换插件。

该转换插件的开发采用DOORS提供专门的扩展开发所用的脚本语言
DXL(DOORS eXtension Language)[5]。

使用DXL可以实现众多功能,例如
计算属性数量、各种类型文档的导入和导出、影响追踪分析和模块内链接等。

DXL 也可以开发大的插件如CASE工具和项目管理工具。

对于终端用户,DXL可以开
发出与图形用户界面无缝连接的应用程序。

DXL是一种解释性语言,与C、C++的语法很类似,但在使用上更为自由和方便。

具有C/C++知识的用户可以很快熟悉DXL。

转换插件的功能主要包括以下三个方面:
1)从需求对象内容中分析出需求属性并映射填入到对应属性栏;
2)从需求对象文本中删除Requirement和Commentary样式的前缀;
3)从需求对象文本中删除需求属性内容。

转换插件的具体工作流程如图2所示。

将开发的DXL脚本文件添加到DOORS安装目录下的用户DXL插件文件内,在用户菜单下就可以看见添加成功的转换插件
子项,更加方便操作。

图2 转换插件工作流程
2.4 导入需求至DOORS库
在DOORS中新建一个正式模块用以存储软件需求。

打开该空白需求模块后,通
过新建属性或者从其他模块中导入属性的方式确定模块的用户属性。

另外还需建立Word版本需求的RTF样式与DOORS级别格式的映射表。

遵照2.2节定义的Word格式,RTF样式的章标题对应于DOORS的级别1,一至五级标题对应于DOORS的级别2至6,其他的RTF样式都对应于DOORS的对象内容,如表2
所示。

表2 RTF样式映射表RTF样式 DOORS 级别_章标题Heading Level 1一级标题Heading Level 2二级标题Heading Level 3三级标题Heading Level 4四级标
题Heading Level 5五级标题Heading Level 6 Requirement Object Text Object Text Commentary Object Text其他
在DOORS的RTF导入器选择软件RTF格式的需求文档所在的路径,并加载定义好的map映射文件,将其导入至DOORS数据库。

最后运行2.3节开发的转换插件,得到最终的需求模块。

图3的上面部分是通过导入器导入至DOORS的需求
模块,图片下面部分是运行转换插件后的需求模块。

对比可以看到,最终的需求模块成功地将需求文档中的需求文本以及需求属性相应地录入到了DOORS数据库。

图3 运行插件前后的需求模块
2.5 实践应用
本节将该方法应用到机载显示软件的项目开发中。

项目包括两个画面的显示软件的开发任务。

其中一个软件的需求开发直接用DOORS录入需求,另一个软件的采
用本文介绍的方法,先用Word捕获需求,再导入到DOORS中。

实践表明,在
软件需求数目和需求表达复杂度近似的前提下,后者大大减少了开发过程中在需求开发工具上所占用的时间。

相对于前者,后者减少了约1/5的需求开发时间。

3 结语
需求过程是软件生存周期中一个非常重要的阶段。

在需求开发过程使用文档编辑类工具具有使用灵活、操作便捷等优点。

但是使用的需求开发工具和需求管理工具的不同要求前者的需求文档能够无误地录入后者的需求数据库。

本文提出了一种基于DOORS的需求开发过程优化方法:在需求开发阶段,根据自定义的一些格式要求
编制RTF的需求文档,将其全部导入至DOORS数据库,再通过二次开发的转换
插件提取出需求中的属性描述,映射到需求模块的对应属性中。

该方法能够大大提高需求开发速度,很好地解决了需求开发与需求管理之间的输入输出衔接问题。


前该方法被成功应用于机载显示软件的项目开发中,有效地提高了软件开发的效率。

参考文献
[1]RTCA/DO-178B.Software Consideration in Airborne Systems and E-quipment Certification[S].December 1,1992.
[2]Halbwachs N.Asynchronous language at work:the story of luster[C]//Proceedings of Third ACM&IEEE International Conference on Formal Methods and Models for Co - Design(IEEEC at.No.05EX1093),2005:3-11. [3]Standard CMMI Appraisal Method for Process
Improvement(SCAMPISM)A,Version 1.2:Method Definition Document [S].CMU/SEI-2006-HB -002.
[4]IBM Corporation.Rational DOORS Help[CP/DK].IBM Corporation,2010.
[5]IBM Corporation.DXL Help[CP/DK].IBM Corporation,2010.。

相关文档
最新文档