UML用例建模技巧

2010-3-12    来源:UML软件工程组织   作者:Scott W. Ambler    我要评论
   | |

导读:本文介绍了UML用例建模中的各种技巧。

关键词:UML 用例建模

 
正在加载数据...

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

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

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

  用例只记载行为需求。

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

  不要忘记用户界面。

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

  创建用例模板。

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

  始终如一地组织用例图。

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

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

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

  备选行动过程非常重要。

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

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

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

  让用例带动用户文档。

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

  让用例带动演示。

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


UML统一建模语言
 UML文档瞄准DoDAF、MODAF、SOA和系统(上)
 UML文档瞄准DoDAF、MODAF、SOA和系统(下)
 UML基础(下)
 UML基础(上)
 业务过程重建如何使用UML
 用UML进行W3C XML Schema设计
 UML用例建模技巧
 从UML模型衍生出Web服务
 为什么现在SOA成功的关键是数据建模?

原文出处:http://www.uml.org.cn/oobject/UsecaseModelSkill.htm
 
 
 
 
 
 

SOA开发

 
云端早期用例主要为存储所左右,ScaleOut软件创始人兼CEO William Bain表示。访问云端数据存储却出现了挑战。
 
八月份SOA网站最受欢迎的文章有哪些?您有没有看过?如何追踪海上集装箱?潜在REST开发者有哪些可用的RESTful资源?如何进行业务流程管理和个人授权?
 
目前的一种技术趋势是“大数据”,而且在很多组织机构中,这就是一种赌博,一些CEO已经再向CIO寻求一份大数据简报了。这个通知一直延续到CTO、总架构师等人那里。
 
在因特尔成为一种力量之前,确切地说是云基础架构显现出来之前,面向服务架构(SOA)背后的主体就已经确立了。
 
在IT部门有时候牛顿定律也会发力。软件开发中每一项行动似乎都在创建相同的反应。这种想法始于今年夏天,我们同ITKO的CEO Shridar Mittal进行了对话之后。

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

ESB(Enterprise Service Bus,企业服务总线)是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录