《SysML精粹》学习记录--第十一章


第十一章:需求图

需求图简介

  需求图是SysML中的主要媒介,可用于向利益相关者传达建模者设计各个方面的信息。基于文字的需求(以包含它们的需求说明书)在传统上是系统工程中的重要产品。越来越被广泛使用的技术是创建用例(以及相关案例叙述)来替代基于文字的功能性需求,创建约束表达式来替换基于文字的非功能性需求。需求图可以帮助看图者确定从需求到系统模型中依赖于它的元素的可跟踪性。系统模型依赖的最常见的类型包括模块、用例、测试案例和其他需求。
  向模型增加新的元素时,会创建一种从那些元素指回驱动创建它们的需求关系,在此过程中可能需要创建需求图,同时以该方式确立需求的可跟踪性是贯穿设计和开发的活动。

需求图元素

  需求图的图类型缩写是req。图外框所代表的模型元素类型可能是:package(包)、model(模型)、modelLibrary(模型库)、view(视图)、requirement(需求)。图的头部提到的模型元素是显示在内容区域中元素的默认命名空间。命名空间只是一种模型元素,可以包含其他已命名的元素。命名空间可以在模型层级关系中有已命名的元素嵌套在其之下。因此,命名空间只有在系统模型中才有意义,在系统的实例中是没有意义的。
  需求的标识法是一个矩形,在名称之前有元类型<<requirement>>。需求有两种属性:id和 text,这两种属性的类型都是String。那些字符串完全是由用户定义的,SysML对它们的样子没有任何约束。SysML没有精确地指定需求代表什么。模型中的单一需求代表一个原子需求、一个复合需求或者一整个需求说明都是合法的。可以指定预定义的<<requirement>>元类型来定义你的自定义元类型,并且增加团队需要的任何附加属性。

需求关系

  SysML定义了七种需求关系:包含、跟踪、继承需求、改善满足、验证和复制,其中复制关系比较少用到。
  1)包是一种命名空间;它可以包含模型层级关系中的其他已命名的元素。需求也是一种命名空间,它也可以包含模型层级关系中的其他已命名元素。但它要比包多了一种约束:需求只能包含其他需求。第十章还介绍了可以用来表达命名空间包含关系的三种标识法:十字准线标识法、嵌套标识法和限定名称字符串标识法。
  2)跟踪关系是一种依赖关系,跟踪关系的标识法为带有开口箭头的虚线,只是在上面有<<trace>>元类型。跟踪关系是一种弱关系,它只是表达了一种基本的依赖关系:对提供方元素(位于箭头端)的修改可能会导致对客户端元素(位于尾端)修改的需要。尽管如此,跟踪依赖关系还是很有用,因为建模工具可以导航到那种关系,然后自动生成RTVM,或者执行自动的下游影响分析。建议可以使用后面几种需求关系中的一种来替代它。
  3)继承需求关系是另一种依赖关系,其标识法和依赖关系的一样,但它拥有<<deriveReqt>>元类型。这种关系必须在客户端和提供方端都有需求继承需求关系表示客户端的需求继承了提供方的需求。拥有多级继承关系完全是合法的,并且依赖关系是可传递的。因此,如果基本的需求发生变更,那么下游的影响会贯穿整个继承需求关系链。继承的需求不需要包含在与提供方相同的命名空间中;它可能嵌套在模型层级关系的其他位置。
  4)改善关系是另一种依赖关系,其标识法和依赖关系的相同,但会带有<<refine>>元类型。改善关系表示客户端的元素要比提供方端的元素更加具体。对于改善关系的任意一端所能够显示的元素种类,SysML没有施加任何限制。然而,一般使用用例对文本的功能性需求进行改善。用例更精确,并且还带有说明:会提供文本需求所无法表达的细节和清晰度。
  5)满足关系是另一种依赖关系,其标识法和依赖关系的相同,但会带有<<satisfy>>元类型,这种关系在提供方端必须有一个需求。SysML没有对客户端所能够出现的元素种类施加限制。然而,客户端元素通常是模块。满足关系只是一种向结构分配需求的机制。那种满足关系的验证来自测试案例。
  6)验证关系是另一种依赖关系,其标识法和依赖关系的相同,但会带有<<verify>>元类型。和满足关系一样,验证关系必须在提供方端有一个需求。SysML没有对客户端所能够出现的元素种类施加限制。然而,客户端元素通常是测试案例。测试案例只是可以在模型中某处定义的一种行为:为了触发特定结构的功能而创建,从而验证它是否可以满足需求分配给的一个或多个需求。测试案例可以是以下三种行为中的任一种:活动、交互或状态机。测试案例最常见的情况下被创建为交互模型(并显示在一幅序列图上)。

需求关系标识法

  SysML提供了多种标识法显示需求关系:直接标识法、分隔框标识法、插图标识法、矩阵和表格。每种标识法都有其自身的优缺点,需要根据需求和限制选择合适的标识法。这些标识法只对于基于依赖的需求关系可用:跟踪、继承需求、改善、满足和验证。
  1)直接标识法指的就是依赖关系标识法本身:带有开口箭头的虚线,带有表示特殊关系的元类型。优势:它把关系本身作为图的关注点;缺点:耗费图的大量空间。
  2)所有可以显示分隔框的元素(例如:模块、需求、测试案例)都可以使用分隔框标识法来显示需求关系。每种关系都会显示在单独的分隔框中。分隔框名称会指定关系的类型,以及根据另一端元素所确定的方向。优势:它比直接标识法和插图标识法更紧凑。它可以显示多个需求关系,所有关系都在一个元素的边界之内,而且每个分隔框都能够列举多个元素,只要它们都参与到分隔框中命名的关系类型中。简言之,可以突出元素的特性;缺点:它仅能用于可以显示分隔框的元素类型。并且,即便它比直接标识法和插图标识法更紧凑,但还是要比矩阵和表格消耗更多的空间。
  3)插图标识法指的是连接在一个元素上的注释。插图标识法的内容和分隔框标识法的内容相同:它指定关系的类型,以及根据另一端元素所决定的方向。然后它会指定位于另一端的元素的类型和名称。和单独的分隔框一样,单独的插图可以列举多个元素,只要它们都参与到同一种关系中。优点:具有多功能性,它可以附着在任意类型图中的任意类型元素上;缺点:其最浪费空间。
  4)矩阵在系统工程文档中非常常用,但矩阵并不是一种图形标识法(而大多数SysML标识法都是图形标识)。然而,SysML支持矩阵标识法,因为它是在最少空间中表示多种关系的最佳机制(优点)。缺点:它不会显示元素的特性,止于它们之间的关系。矩阵在打印文档中的时候,不易于阅读。
  5)SysML支持表格,其优点为:表格节省空间,也没有矩阵那么紧凑,同时表格既可以显示元素的属性,也可以显示元素之间的关系。缺点是:打印文档中不易阅读。
  在SysML模型中,基本原理会被记录为一种特殊的注释。注释的标识是一个笔记符号:一个带有右上角折角的矩形。基本原理元素的标识法是在注释体前面带有元类型<<rationale>>的笔记符号。把基本原理附着给任何类型元素以及两个元素之间的任何类型的关系都是合法的。

小结

  需求图是SysML中用于沟通以文字形式记录的系统需求的一种主要媒介。建模者通常会创建需求图来表示需求之间的可跟踪性,以及从需求到系统结构和行为的可跟踪性。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zszyejing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值