技术开发 频道

巧用Rational RequisitePro

用例

    技术2 (将用例与需求连接起来)覆盖了这个项目的下一个阶段。只要业务需要被确定,这个业务构架师或者分析师就会开发用例来对它们进行说明。尤其对于大的或者复杂的项目,业务分析师经常会遇到这样两个问题:

    需求存在于文档中(除非您使用技术1),用例位于模型中,比如 Rational Rose? Enterprise (Rose)。

    由于需求(和用例)的数量逐渐增长,拆分也变得越来越难于管理。

    业务需求与用例是如何连接起来的?用例捕获用户的视角,他们说明了用户的行为和系统的回应。但是业务需求远远超越了作为一个服务于用例的数据源。当规定了属性或者限制时,它们就变成了用例的属性(或者备用信息流)。我们应该能够记录业务需求和一个用例之间正常的连接,并用它做一些有意义的事情,比如跟踪或者分析。

    建模用例时需要大量的资料。在资源部分中的文章都是很好的起点。查看这些案例属于这篇文章以外的范围,但是我们将介绍一个应用于这个技术实现的命名习惯。

    用例的命名原则

    为什么用例的名字非常重要?回忆一下我们介绍过定义需求时主谓一致的结构。这个概念在这里得到延伸。主语由这个用例模型中的施动者来代表。我们的用例命名原则规定,用例应该以现在时态或者动词的动名词形式(ing)。在有些情况下,它有助于包括被动词修饰的宾语的名称。

    技术 2. 连接用例与需求

    现在是定义用例并把它们与需求连接起来的时候了。这个技术的目的是维持定义用例的明确性,使它们与需求保持连接(可跟踪的),可以采用下面的步骤:

    如果您的 RequisitePro 项目不包含用例的包或者用例的需求类型,那么就创建一个。

    利用Associate Model to RequisitePro project对话框将 Rose 模型和 RequisitePro 项目联系起来。Default Requirement Type被设置为Use Case。

    现在您可以在 Rose 中创建您的模型。对于每个用例,首先根据命名原则创建一个Use Case类型的 RequisitePro 需求,如图 3所示。在Requirement Text中输入这个名字。

图3. 用例命名原则

    在 Rose 中创建这个用例。右键点击这个用例获取 Associate Requirement to Use Case 的对话框。 选择Use Case in RequisitePro然后点击OK。这将产生 Resolve Use Case Name 对话框,这个对话框非常重要因为它利用动词连接着用例和需求,如图 4所示。

图4. 连接用例和需求

    您现在可以看到 Requirement Properties 的对话框。选择Traceability键,用例就回到了BUS需求。

    这个技术已经完成。您可以通过对 RequisitePro 中的用例命名来开始,它能够让您完全在 Rose 中进行定义、细化,并跟踪这个用例。这突出了 Rational 中的一个重大的优点:需求、建模和设计的整合。

    跟踪性

    为什么可跟踪性如此重要?可跟踪性就是对需求的生命周期从它的开始到各种转化,前前后后的跟随。随着企业的发展,也会对支持他们的系统(和他们的需求)进行跟踪。可跟踪性是联合需求的过去、现在和将来关键的连接。可跟踪性可以提供一些数据,项目的各种分析,比如成本,覆盖范围以及影响力都可以根据这些数据来执行。

    在实际中跟踪是很难做到的。主要的问题是可跟踪性被看作需求工程的一个附属的方面。这些需求被规定在文档和构建在 Rose 中的模型中。可跟踪性通常是建模工作完成之后,手工记录在电子表格中的。维护这些电子表格非常麻烦而且容易出错。但是对项目影响更大的是,电子表格本身充当了跟踪报告从而逃避了详细审查。

    我们的下一个技术解决了这个问题。这个技术的第 1 部分是,当需求被创建时归纳出跟踪需求的原则。 (我们利用用例在前面的技术中已经证明的这一点。)这个思想是在需求的整个生命周期和测试中都要维持原则。第 2 部分是生成覆盖和附属报告。这个附属报告是影响分析的第一个层次。中心思想是,这些自动生成的报告在检查中需要详细审查。

    覆盖,正如其名字所示,确保同一个层次的每个需求在下一个层次都被覆盖(或者更进一步的规定)到。例如,每个用例都必须被测试用例覆盖到。附属需求就是那些在无意中悄悄混进这一层次的需求,它们在之前一个层次中并不存在。在生命周期的早期把它们都捕获是十分重要的,因为在这个阶段的警告比系统交付后的错误报告更容易处理。使这些功能自动化操作同样十分重要。

    技术3. 跟踪覆盖和附属需求

    这个技巧显示了如何构建 Coverage and Dangler 视图来业务需求和用例之间的差距。这些视图符合标准的 RequisitePro 视图框架。采用下面的步骤。

    从业务需求包的Coverage中,选择一个新的View,这里的View Type是一个跟踪性矩阵,Row Requirement Type是 BUS,Column Requirement Type是 UC。注意如何从技术1重新利用 BUS 包。

    在View Properties框中,在行需求中创建一个名为Business Requirements CoverageQuery。现在为这个Query增加一个Traced-from属性。

    这将产生 Query Requirements 对话框。如图 5所示,选择Not Traced并选中Direct links only。

图5. 跟踪覆盖

    刷新这个View。您将可以看到这个没有相关用例的业务需求。您可以省略步骤2和3创建一个完整报告View。

    Dangler视图是通过在这个技术中反向Query标准来创建的。我们以列需求类型(用例)开始,并选择Traced-toBUS 需求。这个视图显示了所有的附属用例。

    这个技术已经完成。您可以跟踪用例到最初的业务需求,并可以排除虚假的用例和不完善的业务需求。您的项目现在可以安全地进入解决方案领域了。

    总结

    在这篇文章中,您研究了需求工程的基本原理并介绍了三个管理构架需求的新技术。回顾了需求的基本原则,描述了三个管理业务需求,用例和跟踪性的技术。

    然而,我们仍然处于问题领域中。在本系列文章的第 2 部分,我我们将进入解决方案领域和解决方案开发的各个阶段(从架构的角度),并且探索管理解决方案交付的新技术。
 

0
相关文章