需求用例分析之二:级别设置

在《编写有效用例》(阿莱斯特-科伯恩著,以下用科伯恩用例来指代)一书中,赋予了用例不同的级别,科伯恩形象的设定了如下级别:海平面、云朵、风筝、蛤等等。 

科伯恩建议用例级别分为多个个目标层次:概要、用户目标、子功能,书写需求用例时,只能选择其一,下面对其具体说明:

  • 概要:包括多个用户目标,它有“显示相关目标的生命周期顺序”和“为低层用例提供一个目录表”的功能,概要用例通常需要执行几个小时、几天、几个星期、几个月、甚至几年。
  • 用户目标:它是主执行者努力使工作得以完成的目标,或是用户使用系统的目标,通常情况下指系统为用户提供的界面操作。
  • 子功能:指那些在实现用户目标时可能会被用到的目标,一般是指系统内部执行,而用户看不到界面的用例。

在雅各布森用例分析方法(UML统一建模语言、RUP瑞理统一过程之父Ivar Jacobson伊瓦·雅各布森在OOSE、RUP和UML中阐述的用例分析方法)中,充分利用了UML中包来组织子系统、模块和用例。雅各布森用例方法与UMLRUP三者之间有着天然的紧密联系,除了可以用RUP的格式文本描述用例外,还推荐适当地选择利用UML用例图、活动图、包图和状态图等等图示从各个角度来描述和组织用例,可谓手段充足、武器齐备。

级别与静态展现

两者其实没有本质区别,雅各布森用例分析方法更加注重在RUPUML下协同发挥作用。从现在工具的情况来看,用包来包含用例是UML的标准做法,毕竟以用例来包含用例显得有些怪异,目前没有看到有工具支持用例包含用例。从静态而言,包解决了多级别用例的问题。

级别与动态变化

但是这里其实还有一个时间动态的问题:即是海平面级用例一般而言是早于云朵风筝级用例出现的,而蛤级用例是最后出现的。在RUP中强调迭代演进来处理包和用例分解重组等等,事实上最后将淹没曾经出现的海平面级用例,这对于追溯用户最初的需求而言是不利的。当然RUP配套有业务用例分析,业务用例将收集用户起初的业务需要,但这显得过于累赘。但实际采用中,很少见到严格按照RUP先分析业务用例,再分析用例,往往的直接分析用例。

改良的级别设置方法

所以在雅各布森用例分析方法中采用原始需求列表来替代业务用例分析,是既能追溯最初的需求,又能节约大量业务用例分析的工作量,这样就能从时间动态和结构静态两方面融合了两种方法的优势。

对应在科伯恩用例分析方法,相当于将首批海平面级用例(用户直接表达的目标)专册收集后续跟踪,而利用包来替代云朵和风筝,后来的海平面(经分析后的海平面)级用例仍然是实质性的用例。

改良的级别处理方式能融合两大流派在这方面的各自考虑,综合发挥优势,规避劣势。


参考资料

  1. RUP
  2. 编写有效用例
  3. 统一用例分析 作者:张恂   http://www.uml.org.cn/oobject/200606013.htm 


你可能感兴趣的:(case,UML,use,RUP,用例)