关键字:UML 建模技巧
从参与者的角度并以主动语态编写用例。
应该以主动语态:“学生表明参加研习班意向”,而不是被动语态“研习班意向被学生表明”来编写用例。而且,应该从参与者的角度来编写用例。毕竟,用例的目的是理解用户如何对系统进行操作。
编写方案文本,而非功能需求。
用例描述的是对参与者来说有价值的一系列行动,而不是特性集。例如,“招收研习班的学生”用例描述的是学生如何与系统交互来参加研习班。它没有描述用户界面看上去是什么样子,或者它是如何工作的。有一些其它的模型来描述这些重要的信息,例如用户界面模型和增补规范。面向对象分析非常复杂,因此需要对它使用几种模型,并且应该适当地应用每一种模型。
用例只记载行为需求。
用例既不是类规范,也不是数据规范。这是应该由概念性模型捕捉的一种信息,在对象世界中,它是通过 UML类模型建模的。您往往会引用概念性模型中描述的类,例如,“参加研习班”用例包括了“研习班”和“学生”等概念,它们都将由概念性模型描述。
不要忘记用户界面。
系统用例经常引用主用户界面 (UI)元素,这些元素常常称为“边界”或“用户界面”项,例如 HTML页面和报表。用例有时也引用一些次要的 UI元素,例如按钮或数据输入字段,但这种级别的细节并不太常见。
创建用例模板。
用例包含了相当数量的信息,这些信息可以轻易地以常见格式记载。您应该考虑开发自己的模板(请参阅技巧“ 记载用例”)。
始终如一地组织用例图。
一般的做法是垂直地绘制继承 (inheritance) 和扩展 (extend)关联,在父/基本用例下面绘制继承/扩展用例。同样,通常水平绘制包含(include) 关联。请注意,这些是简单的经验法则 --只要始终遵循这些法则,产生的图将很容易理解。
不要忘记系统对参与者行动的响应。
用例既应该描述参与者是如何与系统交互的,也应该描述系统如何响应这些交互。例如,在“参加研习班”用例中,如果系统在学生表明他们希望参加研习班时没有做出响应,学生就会很沮丧地离开。