四、Alistair Cockburn眼中的用例分析技术
在使用用例分析技术时,很多人都觉得如何确定用例的粒度是一个难点,而且感觉到用例没有什么规则遵从,甚至有无所适从的感觉。正如Cockburn先生提出的学习用例分析技术的"守、破、离"的三个阶段:
1)守:练习基本功夫,遵循规则,照章行事;
2)破:能突破传统,因地制宜地灵活应用;
3)离:超脱任何招式与规则,达到无招胜有招的境界。
但用例分析技术却让第一阶段的初学者感到无法很快地掌握。而其所著"编写有效用例"则想为用例分析技术补充规则,让大家能够更好地掌握。
Cockburn先生在Ivar Jacobson的基础上,做了一些补充:
1)用例是契约,是系统与涉众之间达成的契约。也就是将用例朝着形式化的方向发展;
2) 将用例分成三级:
◆ 概要级:包括多个用户目标(显示用户目标运行的语境,显示相关目标的生命周期、为低层用例提供一个目录表);
◆ 用户目标级
◆ 子功能级不过,对于Cockburn先生的贡献,用例始祖Ivar大师并未做出任何反应。本人在实践中认为,Cockburn先生的思路与理念对于初学用例分析技术的人来说,十分有价值,使得用例分析技术更具操作性,当其同时也有点画地为牢的感觉,也许Cockburn先生也意识到这点,因此第三阶段就是"离",没有规则,按需灵活使用。
五、如何在开发过程中应用用例分析技术用例分析技术在需求过程中的地位如下图所示:
对于用例分析技术理解上的两个最大的误区是:
1)用例分析技术包括了整个需求过程:它只是一个需求分析技术,是在传统的需求捕获技术的基础上使用的,并无法替代这些技术;
2)用例分析技术是分解技术:其实用例分析技术是一种合成技术,将在需求捕获中收集而来的零散的特性合成为用例:
5.1 用例分析前的工作
在用例分析之前,应该完成以下工作:
1)确定涉众(Stakeholder)和用户类型(命名、简要描述、涉众代表、特征、能力);
2)确定涉众代表(命名、简要描述、责任、参与);
3)在项目中加入涉众代表(访谈、问卷、顾问、评审、角色扮演);
4)创建共同的构想(问题定义、系统范围、用户目标、非功能需求à前景文档);
5)采用传统的需求捕获技术捕获需求;6)组建用例分析队伍(少量、有问题域知识)。
5.2 用例分析过程中的注意事项用例分析的过程如下图所示:
在使用中要注意:
1)用例源于涉众,请不要自己杜撰出用例;
2)用例的事件流的编写过程中,应充分加入团队的参与;
3)虽然用例源于涉众,但不要企图向他们直接问"你还有什么用例?这样的问题。