MBSE当前的需求管理现状
MBSE(基于模型的系统工程) 的关键是实现需求跟踪与管理,而需求条目是跟踪管理的必要形式,所以,工程团队需要同时基于2种形式工作:模型和需求条目。
这就需要把模型和需求条目关联起来,这样才能实现需求跟踪,用于:
- 变更影响分析:需求条目变更会引起哪些模型,模型的变更会影响那些需求条目。
- 关联验证:基于需求验证分析设计和实现。
需求管理和建模一般都是使用完全不同的2种工具,例如:
- 需求管理用条目化的工具(例如 DOORS)
- 系统分析设计、软件分析设计采用有建模工具(例如
EA)
那么问题来了:
如何把需求管理工具中的需求条目和建模工具中的模型关联,实现需求跟踪? |
一般的解决办法是:
- 从需求管理工具把需求条目导入、关联到建模工具里的模型,实现需求的正向跟踪;
- 从建模工具把模型导入、关联到需求工具里的条目,实现需求的逆向跟踪;
例如,需求管理工具DOOS和建模工具EA的对接方式如下图所示:
这就需要开发2个工具之间的互访接口,而且这样的跟踪方式会带来一个问题,就是需求或者模型变更后需要及时进行同步更新,这就需要二次导入和关联。做过二次导入关联的同学都知道,这会存在很多挑战:
- 为了保持工作的及时性,需求条目和模型应该都可以独立修改,当进行二次同步更新的时候比对变更的不一致性是很麻烦的事情;
- 即使比对出来了不一致性,也要由人决定合并哪些变更、放弃哪些变更,这通常很麻烦,要知道实际项目的需求条目可能多达上万条、模型元素多达上万个。
对于这种需求条目和模型同时变更引起的一致性问题有什么解决方法?
最有效的方法就是从根本上消除问题产生的原因:
把需求条目和模型元素合二为一,不会出现不一致的可能;
需求条目和模型元素都是工程数据,只是2种展现形式而已;
一套工程数据,可以根据用户需要提供2种展现形式!
|
所以,更好的姿势是:把需求管理工具和建模工具都访问同一套工程数据,各自使用需要的形式,如下图所示:
为此我们专门研发了基于模型的需求管理工具Web+EA,它基于EA的模型库作为需求库,可以把模型图和元素显示为条目化列表,而且是web形式的,对团队协作非常方便。
Web+EA提供的完整的需求管理视图:
- 对象列表:可以对需求的属性进行管理;
- 跟踪表:可以列出需求、设计、测试多级跟踪关系;
- 跟踪矩阵:可以列出需求、设计、测试之间的二维关联关系。
需求管理是很多工作的基础:产品管理、项目管理、变更管理、质量管理。所以一旦需求管理好了,自然其他方面的管理也就可以水到渠成了。Web+EA不只提供需求管理功能,而是可以需求管理为基础,提供完整的研发管理功能。如下是Web+EA的功能结构图:
功能特性
|
说明 |
项目管理 |
项目范围定义、项目人员管理、工作任务分解,项目计划,进度跟踪与监控。
|
需求管理 |
提供多层次需求条目化跟踪:客户需求,系统需求,软件需求。
需求属性管理、需求状态管理、需求进度跟踪、需求关联矩阵,需求变更管理。 |
设计管理 |
提供多层次设计条目化跟踪:系统设计,软件设计,模块设计。
设计属性管理、设计状态管理、设计进度跟踪、设计关联矩阵,设计变更管理。 |
测试管理 |
管理测试需求,测试用例、bug,可以对测试用例进行状态跟踪、关联分析,可以对bug进行状态跟踪、影响分析,质量报告。
|
质量管理 |
支持质量评测和质量视图,包括:需求质量视图,设计质量视图,测试质量视图。 |
工程配置 |
可以对一个工程项目中的工作对象进行配置,包括对象配置、属性配置、状态配置。 |
工作管理 |
可以管理工作任务,创建工作计划、设定工作规则,把工作任务和需求关联。 |
问题管理 |
可以对各种工作要素提出问题,并跟踪问题的解决,积累问题知识库。 |
我的面板 |
提供个人的工作面板,可以查看自己负责的产品、项目、需求、任务和问题。提供列表和视图两种显示风格。 |
权限管理 |
可以创建角色,为角色分配权限,给人员分配角色。 |
人员管理 |
可以建立部门,人员账户,还可以对部门和人员进行管理:查询、修改。 |
如下是Web+EA的界面截图:
具体的操作步骤,可以看下面的操作视频:
http://video.uml.com.cn/video/broVideoEA.asp?vidID=3247
如果您希望进一步了解Web+EA:
下载
pdf版:《使用Web+EA实现基于模型的需求管理》
后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们。
如果您对我们的培训、咨询和工具感兴趣:
|