UML用例建模技巧

日期: 2010-03-11 作者:Scott W. Ambler 来源:TechTarget中国 英文

  从参与者的角度并以主动语态编写用例。

  应该以主动语态:“学生表明参加研习班意向”,而不是被动语态“研习班意向被学生表明”来编写用例。而且,应该从参与者的角度来编写用例。毕竟,用例的目的是理解用户如何对系统进行操作。
 
  编写方案文本,而非功能需求。

  用例描述的是对参与者来说有价值的一系列行动,而不是特性集。例如,“招收研习班的学生”用例描述的是学生如何与系统交互来参加研习班。它没有描述用户界面看上去是什么样子,或者它是如何工作的。有一些其它的模型来描述这些重要的信息,例如用户界面模型和增补规范。面向对象分析非常复杂,因此需要对它使用几种模型,并且应该适当地应用每一种模型。

  用例只记载行为需求。

  用例既不是类规范,也不是数据规范。这是应该由概念性模型捕捉的一种信息,在对象世界中,它是通过 UML 类模型建模的。您往往会引用概念性模型中描述的类,例如,“参加研习班”用例包括了“研习班”和“学生”等概念,它们都将由概念性模型描述。

  不要忘记用户界面。

  系统用例经常引用主用户界面 (UI) 元素,这些元素常常称为“边界”或“用户界面”项,例如 HTML 页面和报表。用例有时也引用一些次要的 UI 元素,例如按钮或数据输入字段,但这种级别的细节并不太常见。

  创建用例模板。

  用例包含了相当数量的信息,这些信息可以轻易地以常见格式记载。您应该考虑开发自己的模板(请参阅技巧“记载用例”)。

  始终如一地组织用例图。

  一般的做法是垂直地绘制继承 (inheritance) 和扩展 (extend) 关联,在父/基本用例下面绘制继承/扩展用例。同样,通常水平绘制包含 (include) 关联。请注意,这些是简单的经验法则 — 只要始终遵循这些法则,产生的图将很容易理解。

  不要忘记系统对参与者行动的响应。

  用例既应该描述参与者是如何与系统交互的,也应该描述系统如何响应这些交互。例如,在“参加研习班”用例中,如果系统在学生表明他们希望参加研习班时没有做出响应,学生就会很沮丧地离开。

  备选行动过程非常重要。

  如果一切顺利,使用的将是基本行动过程 — 但也不要忘记备选过程。引入备选过程是为了描述潜在的使用错误以及商业逻辑错误和异常。这些重要的信息对于驱动系统的设计来说很有必要,因此不要忘记在用例中对它们建模。

  不要被 <<include>> 和 <<extend>> 关联所困扰。

  我不是很确定到底发生了什么事,但我总是在想包含 (include) 和扩展 (extend) 关联,以及旧版本 UML 中使用 (uses) 和扩展 (extends) 关联的正确使用从来没有得到很好的描述。结果,用例建模小组往往在这些关联的正确应用上争论不休,在整个建模技术中一些有趣但次要的部分上浪费了惊人的时间。我曾在一个组织中工作,这家组织居然取缔了 <<include>> 和 <<extend>> 原型的使用,几个星期后,当意识到公司仍然需要这些概念时不得不撤消了这种极端的解决方案,而这时该组织对它们的正确使用还没有达成共识。

  让用例带动用户文档。

  用户文档的目的是描述如何使用系统。每个用例都描述了参与者通过使用系统所采取的一系列动作。简而言之,用例包含从中开始编写问党用户稳当的信息。例如,可以使用“参加研习班”用例作为基础来编写系统用户文档的“如何参加研习班”一节。

  让用例带动演示。

  软件开发过程中的一部分是向项目资金管理者通报工作成果,因此有时需要提供演示。因为用例是从用户的角度编写的,它们包含了演示中对资金管理者可能希望听到的事物的有价值的深刻见解。换句话说,用例通常包含制定演示稿所需的逻辑。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 如何建立自己的UML图库

    没有适当的沟通,想法和计划的执行就会出错,或者被遗忘。统一建模语言经常用于各种睡吧样的蓝图中,来映射出系统计划。事实上,UML已经成为许多软件开发人员选项。

  • 心态决定统一建模语言成败

    太过于追逐流行软件,对开发人员的职业生涯百害而无一利,有些专家这些说。虽然编程语言来来去去,但确实有一些技能和属性需要磨练,这可以带来一份薪水丰厚的工作。

  • 前期设计够用就好

    前期做完整设计的瀑布模型时代已经结束了吗? 本文建议前期做足够的架构设计,以便提供项目启动所需的结构,统一团队愿景以及评估可能的风险。

  • 软件架构:开发人员必知的五件事

    软件开发这一行业要么是突飞猛进,要么是深陷囹圄。一方面,我们推动它向前发展,重塑我们构建软件的方式。另一方面,我们不断忘记过去的好。