1.什么是需求建模
需求建模( modeling requirement ),是指将用户提出的需求,以模型图的方式进行可视化,描述需求之间的关系。在需求图中,可以对功能需求、性能需求、可靠性需求、设计约束、扩展需求等各种需求进行建模 。
EA 提供了对需求建模的功能,可以模型的形式分析需求之间的关系,对需求进行组织; EA 还提供了需求管理的功能,可以定义需求的属性(例如 需求的优先级、状态),然后对需求以列表的方式进行管理。
如下图是在 EA 中的建立的需求图和对应的需求列表:
需求图 |
需求列表 |
|
|
2.EA 中需求建模有什么用
在 EA 中进行需求建模,它可以:
1. 理清楚需求与需求之间的关系;
2. 理清楚需求的种类,哪些需求是功能需求,哪些需求是性能需求,哪些需求是扩展性需求等等;
3. 将需求细化到可追踪的粒度;
4. 明确需求的范围;
5. 确定需求的优先级别。
6. 需求变更管理,当需求发生变更 , 基于需求跟踪关系可以快速地定位到影响的其他需求、相关的设计、实现和测试。
3.EA 中需求建模有什么
在 EA 中进行需求建模,可以使用 EA 提供的工具箱,绘制需求之间的关系,那么 EA 工具箱提供哪些需求元素和需求关系呢?
3.1 需求元素工具箱
需求元素可用于建模或记录需求,可用的范围包括:从业务需求到性能需求或安全需求。
首先看一下, EA 工具箱中提供的需求元素有:
包( Package )
需求( Requirement )
特征( Feature )
风险( Risk )
对象( Object )
元素 |
说明 |
|
Package :包是容器元素,可用于将需求和其他元素分组到集合中 |
Requirement : 系统必须具备的条件或能力进行建模。 |
Feature : 特征是系统必须满足其业务需求的特征或属性。 |
Risk : 风险是一种可能导致系统中断、丢失或受损的情况,可能的风向包括技术风险和业务风险。 |
Object : 是类的实例,当进行分析时,可以从一个或多个对象派生。对象对于在需求开发研讨会或在阅读项目文档时讨论的任何实体建模很有用。 |
3.2 需求关系工具箱
在 EA 中进行需求建模,工具箱中提供了聚合、继承、关联、实现等关系
首先看一下, EA 工具箱中提供的需求元素有:
聚合( Aggregate )
继承( Inheritance )
关联( Associate )
实现( Implements )
依赖( Dependency )
信息流( InformationFlow )
跟踪( Trace )
需求关系 |
说明 |
|
聚合: 用于表明一个需求(菱形端)由另一个需求(尾端)组成。这允许创建需求层次结构。 |
继承: 用于表明一个元素(三角形端)是另一个元素(尾端)的更广义的版本。 |
关联 :用于显示两个元素之间的语义或结构关系。 |
实现: 用于表示模型元素实现需求。 |
依赖 : 用于表示一个需求(尾端)依赖于另一个元素(箭头端)。 |
信息流: 用于显示存储库中两个元素之间的数据流动。数据的类型可以表示为信息项,可以从模型的任何部分中选择。 |
跟踪 :用于显示一个元素 ( 尾部末端 ) 在模型中比箭头末端的元素更详细。因此,用户需求可以追溯到利益相关者需求或业务需求。 |
3.3 EA 中的扩展需求
在 EA 的 “ 需求 ” 工具箱中,还提供了扩展需求,他包括一些需求元素:
功能性需求( Functional )
业务需求( Business )
用户需求( User )
非功能性需求( Non-Functional )
架构需求 (Architectual)
部署需求 (Implementation)
法规监管需求 (Regulatory)
安全性需求 (Security)
需求清单 (Requirements Checklist)
需求扩展 |
说明 |
|
功能性需求: 功能性需求是业务和技术团队之间的桥梁,它定义了系统必须为用户做什么,从而满足业务目标。 |
业务需求: 业务需求描述问题域中的业务目标和范围。 |
用户需求 : 如果说业务需求描述的只是一个目标或者方向,是概括性的、抽象的,相对而言,用户需求就比较具体。用户需求表达问题域中的用户期望和结果。 |
非功能性需求: 非功能性需求则是软件需求中除了功能需求以外的,关于软件特性、特征的需求。它包括可扩展性、安全性、可靠性等需求。 |
架构需求 : 架构 设计的 需求 分析 |
部署需求: 描述系统的部署环境 , 包括网络环境、硬件环境和软件环境 |
法律法规监管需求 : 安全生产法律 法规 的需要 |
安全性需求: 只有授权的用户才能动用和修改信息系统的信息 , 而且必须防 止信息的非法、非授权的泄漏。 |
需求清单: “需求清单”可以与任何需求元素相关联,因此分析师和需求经理可以使用清单来注释需求是否满足的一组预定义检查。 |
下面使用在 EA 中进行需求建模的方式,介绍下 EA 中的扩展需求 , 包括:功能性需求、业务需求、非功能性需求和需求检查清单。
3.1.1 功能性需求
功能性需求是业务和技术团队之间的桥梁,它定义了系统必须为用户做什么,从而满足业务目标。 在 EA 的 “ 需求 ” 工具箱中,提供了功能需求元素,如下图所示 显示了来自同一个包的一组需求 。
3.1.2 业务需求 业务需求描述问题域中的业务目标和范围。客户或者用户提出开发一个软件系统的要求,都是为了解决他们在实际业务活动中遇到的问题,业务需求就是要描述清楚要解决哪些问题,要达到什么目标。在 EA 的 “ 需求 ” 工具箱中,提供了业务需求元素。
以上图显示了从业务需求(目标)到用户需求,再到功能需求的可追溯性。
3.1.3 非功能性需求
非功能性需求则是软件需求中除了功能需求以外的,关于软件特性、特征的需求。它包括可扩展性、安全性、可靠性等需求。
该图显示了一个高级性能需求如何被分解为两个或更多的需求,这些需求足够详细,可以进行测试。
3.1.4 需求检查清单
EA 提供一个方便的需求检查清单元素列表, “需求清单”可以与任何需求元素相关联,因此分析师和需求经理可以使用清单来注释需求是否满足的一组预定义检查。
需求项目列表是可以配置的,双击 RequirementsChecklist 元素将打开列表编辑器 , 进行勾选配置。
4.EA 中需求建模可以做什么
EA 提供了许多工具来跟踪流程的定义和实现,从初始需求到生成的代码或技术部署,反之亦然。
可以在 EA 中进行跟踪,包括:
在图表中可视化跟踪
使用关系矩阵跟踪
使用可追溯性窗口可视化跟踪
使用关系窗口可视化跟踪
4.1 在图表中可视化跟踪
在图表中可视化跟踪是为了跟踪元素之间的关系,如下图所示:
4.2 使用关系矩阵跟踪需求
分析需求相互之间以及模型中其他元素的关联方式。 可以在 “Design>Diagram> Matix View” 选项来访问关系矩阵。
创建矩阵时,可以通过将需求放在矩阵的一个轴上,将连接的元素放在另一个轴上来查看连接,然后矩阵的单元将指示关系的方向。
4.3 使用可追溯性窗口可视化跟踪
Traceability 窗口可以详细的追踪到需求的元素关系和依赖关系。
打开窗口,然后在 Browser 窗口中选择一个图表。 Traceability 窗口显示关系图上所有元素的信息。
如下图所示:
4.4 使用关系窗口可视化跟踪
关系窗口( Relationships ) 列出了当前在关系图或 Browser 窗口中选择的所有元素的所有关系。
关系窗口可以通过选择“ Start >All Windows > Properties > Responsibilities > Relations' 选项来访问。
5. 如何使用 EA 进行需求建模
好了,通过如上的介绍,大概了解了 EA 中的需求建模有什么,那么接下来介绍一下如何在 EA 中进行需求建模呢?
5.1首先创建一个需求:
1. 在 EA 中建立一个模型,鼠标右键选择添加视图,新建一个包
2. 新建视图,选择 Requirements-> Requirements
3. 打开工具箱,可以从工具箱中拖需求元素到图上,在工具箱中选择对应的需求关系,描述需求
此图上创建的一个需求示例,使用的是需求元素和需求关系包括:聚合、跟踪。
管理库存:描述了使用一个完整的库存管理工具来存储和跟踪在线书店的图书库存。
列出库存:列出当前的库存,并在实际检查发现不一致时手动更新库存数量。
订购书籍:图书订购设施将需要允许在线订购从主要的库存。
接收书籍:还需要一个接收和添加图书到库存的设施,将从通常的供应商批量接收,并手动记录在系统中。
存储和管理书籍:需要一个储存和管理设施
增加书籍:需要用来收图书并将其添加到存货清单中。
5.2 更改需求属性
在 EA 中建立了不同的需求属性,如: Status , Difficulty , Author 和 Phase 。双击图上的需求元素就可以看到需求属性并设置,需求的属性示例显示如下:
更改需求属性的步骤是:
1. 双击需求元素
2. 更改显示对话框中的属性
3. 点击确定按钮,执行更改,然后退出属性窗口
5.3 查看需求
5.3.1 项目浏览视图查看需求
EA 支持使用项目浏览视图( Project View )、 规格管理器( Specification Manager ) 来浏览元素,并维持项目浏览窗口中的层次结构,其次还支持使用 仪表板图和柱状图,查看需求。
步骤如下 :
1.使用 Project View (项目浏览视图)查看需求元素。在屏幕的左下角打开并显示层次结构
5.3.2 使用 规格管理器( Specification Manager )查看需求
以简单的文本格式显示需求(和其他元素类型),并帮助建模者创建、编辑和管理这些元素。
查看的步骤有:
1. 在图标上空白处右键单击,选择切换视图 -> 切换到规格视图
2.打开规格视图,可以添加新元素,还可以进行编辑的有:
构造型( Stereotype )
状态( Status )
难易度( Difficulty )
优先级( Priority )
5.3.3 仪表板图表查看需求
在 EA 中,需求可以通过多种方式进行管理,显示属性的仪表板图表,例如一组需求的状态。此图是 EA 中创建仪表板图的示例;它说明了图表中需求优先级的比率。
例如下图:
仪表板视图创建方式请参照文章: http://www.uml.org.cn/modeler/202008111.asp
5.3.4 柱状图查看需求
这个图显示了一个柱状图元素,描述了所选包中所有需求的元素状态。
6. 后记
希望您读了此文后有所收益。 如果您有经验乐于分享,欢迎投稿给我们,如果您对我们的培训、咨询、和工具感兴趣,欢迎了解。 火龙果软件提供团队协同建模环境的咨询服务,可以帮助用户搭建完整的团队建模和 MBSE 解决方案,详细信息请见 http://tool.uml.com.cn/ToolsEA/introduce.asp 希望本文对您的建模工作有帮助。更多的有关 EA 建模资料如下: 视频: http://tool.uml.com.cn/ToolsEA/jswd-ysm.asp?partname=sp 文章: http://tool.uml.com.cn/ToolsEA/docea.asp?partname=wk
如果您希望了解更多信息:
欢迎访问建模者频道 http://tool.uml.com.cn/ToolsEA/introduce.asp
也欢迎直接联系我们 zhgx@uml.net.cn , 010-62670969
|