在《编写有效用例》(阿莱斯特-科伯恩著,下面用科伯恩用例来指代)一书中,赋予了用例不同的级别,科伯恩形象的设定了例如以下级别:海平面、云朵、风筝、蛤等等。
科伯恩建议用例级别分为多个个目标层次:概要、用户目标、子功能,书写需求用例时,仅仅能选择其一,以下对其详细说明:
- 概要:包含多个用户目标,它有“显示相关目标的生命周期顺序”和“为低层用例提供一个文件夹表”的功能,概要用例通常须要运行几个小时、几天、几个星期、几个月、甚至几年。
- 用户目标:它是主运行者努力使工作得以完毕的目标,或是用户使用系统的目标,通常情况下指系统为用户提供的界面操作。
- 子功能:指那些在实现用户目标时可能会被用到的目标,通常是指系统内部运行,而用户看不到界面的用例。
在雅各布森用例分析方法(UML统一建模语言、RUP瑞理统一过程之父Ivar Jacobson伊瓦·雅各布森在OOSE、RUP和UML中阐述的用例分析方法)中,充分利用了UML中包来组织子系统、模块和用例。雅各布森用例方法与UML、RUP三者之间有着天然的紧密联系,除了能够用RUP的格式文本描写叙述用例外,还推荐适当地选择利用UML用例图、活动图、包图和状态图等等图示从各个角度来描写叙述和组织用例,可谓手段充足、武器齐备。
级别与静态展现
两者事实上没有本质差别,雅各布森用例分析方法更加注重在RUP和UML下协同发挥作用。从如今工具的情况来看,用包来包括用例是UML的标准做法,毕竟以用例来包括用例显得有些怪异,眼下没有看到有工具支持用例包括用例。从静态而言,包攻克了多级别用例的问题。
级别与动态变化
可是这里其实另一个时间动态的问题:即是海平面级用例一般而言是早于云朵风筝级用例出现的,而蛤级用例是最后出现的。在RUP中强调迭代演进来处理包和用例分解重组等等,其实最后将淹没以前出现的海平面级用例,这对于追溯用户最初的需求而言是不利的。当然RUP配套有业务用例分析,业务用例将收集用户起初的业务须要,但这显得过于累赘。但实际採用中,非常少见到严格依照RUP先分析业务用例,再分析用例,往往的直接分析用例。
改良的级别设置方法
所以在雅各布森用例分析方法中採用原始需求列表来替代业务用例分析,是既能追溯最初的需求,又能节约大量业务用例分析的工作量,这样就能从时间动态和结构静态双方面融合了两种方法的优势。
相应在科伯恩用例分析方法,相当于将首批海平面级用例(用户直接表达的目标)专冊收集兴许跟踪,而利用包来替代云朵和风筝,后来的海平面(经分析后的海平面)级用例仍然是实质性的用例。
改良的级别处理方式能融合两大流派在这方面的各自考虑,综合发挥优势,规避劣势。
參考资料
- RUP
- 编写有效用例
- 统一用例分析 作者:张恂
http://www.uml.org.cn/oobject/200606013.htm
需求用例分析之二:级别设置