码迷,mamicode.com
首页 > 其他好文 > 详细

牛腩新闻发布系统——用例图知识,温故知新

时间:2016-04-29 19:42:35      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

引言

  牛腩新闻发布系统看起来很有feel,一条线的感觉,毕竟,这是一个系统实现的教程,包含了各种细节,虽然只是看了10集左右,但是深深的被牛腩老师的讲解思路带进去了,尤其是一些以前学习的过程中忽略的细节,米老师说过,眼下学习的知识,后续的学习中还会遇到。真的是这样,学习就是一个圈,循环这个特性专门用来对我们以往的学习效果给出评定,并给出我们查漏补缺的机会。

正文

  牛腩视频开篇老师就带领我们画了这个系统的用例图,于是趁这个机会,我又复习了一遍用例图中的几种关系:
  关联(association)
  包含(include) 
  扩展(extend)
  泛化(generalization)

  关联关系


技术分享
  描述参与者和用例之间的关系。
  用单向箭头,表示谁启动用例。
  每个用例都有角色启动,除了包含和扩展用例。


  包含关系

  是指两个用例之间的关系。其中一个用例(基本用例,base use case)的行为包含了另一个用例(包含用例,inclusion use case)的行为。
  如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一个用例中,其他用力拉可以和这个用例建立包含关系。
 
技术分享

  上面的例子就是说查询、提款和转账三个用例都有一个一致的功能,所以将这个功能提取出来为一个用例。且这三个用例和提取出的这个用例之间是包含的关系。

  执行基本用例的时候也可以执行被包含的用例,被包含的用例也可以单独执行。

技术分享

 

  如果一个用例的功能太多时,可以用包含关系建模成两个或多个小用例。

技术分享

 

  扩展关系

  也是指两个用例之间的关系。一个用例可以被定义为基础用例的增量的扩展,称作为扩展关系。扩展关系是把新的行为插入到已有的用例中方法。基础用例即使没有扩展用例的执行不会涉及扩展用例,只有在特定的条件发生,扩展用例才被执行。

技术分享

 

  泛化(继承)关系

  一个用例和其几种情形的用例间构成泛化关系。往往父用例表示为抽象用例。

  任何父用例出现的地方子用例也可出现。

技术分享

 

真题练习


【典型题1-2-2】  (2005上半年试题2、3)
● 在用例建模的过程中,若几个用例执行了同样的功能步骤,这时可以把这些公共步骤提取成独立的用例。这种用例称为 (1);在UML的用例图上,将用例之间的这种关系标记为(2)。
(1) A.扩展用例      B.抽象用例   C.公共用例      D.参与用例
(2) A.association     B.extends   C.uses       D.inheritances
要点解析:
用例(use case)描述了一个与系统参与者进行交互、并由系统执行的动作序列。UML规范提供了用例之间包含(include)、扩展(extend)和泛化(generalization)等3种相关性的关系,各种关系功能及区别见下表:

  用例图各种关系说明表

技术分享

  由以上分析可知,抽象用例是从几个执行相同功能步骤的用例中,将公共步骤提取而成的独立用例。可见抽象用例代表某种形式的“复用”,它是降低用例之间冗余的一种工具。例如,在一个“订单输入子系统”中,创建新订单和更新订单都需要核查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“核查客户帐号”之间是一种包含(include)关系。
  对于选项A的“关联(Association)”是两个或多个特定类之间的关系,它描述了这些类元的实例的联系。选项D的“继承(inheritances)”描述了子用例与父用例之间的一般关系。
  解答此类试题的一般思路是识记用例的3种关系。
  参考答案:(1)B;(2)C。

结束

  相信大家在进行机房重构或是合作的时候,电脑上都装了EA,我在学习的时候有点钻牛角尖,看用Rational Rose画的某些线时,有的线带箭头,就觉得每个软件表达同样的关系时都是一样的,所以用Rational Rose画完图后,不太习惯EA中的那些线(自己掌握的不牢固也是一方见面),所以便认真重温了一遍用例图相关知识。接下来就让我们看一下用EA画的用例图是什么样子吧:

技术分享




牛腩新闻发布系统——用例图知识,温故知新

标签:

原文地址:http://blog.csdn.net/sun15732621550/article/details/51223452

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!