采用[ICONIX] 方法实践BLOG设计之四 [健壮性分析]

     在前三章中通过(问题域)建模和用例分析之后,在许多的UML书中可能接下来就要进行时序
图和协同图的绘制了。但是问题好像还没那么简单,因为这里有一条鸿沟还没有跨过去,正如下图
所示:
                

     在我刚学开始学习 UML时,在拿到用例文本时要去画时序图总感觉有些别扭,不知如何才能将
文本中的意思完全用图的形式表达出来,总是感觉分析出来的文本中缺了一些很重要的东西, 而这
些被丢掉的对象最终可能会导致无法绘制时序图,但又找不出用例文本中到底还有什么东西被遗漏,
最终导致设计瘫痪。后来从网上搜索到的一些文章里发现了这种方法(robustness), 在看了半天之
后感觉找到了方向和窍门:)

    而本文的所说的内容在Iconix方法中的位置如下图所示(红圈标记部分):
      

      好了,说了这些题外话,那这到底是怎样一种方法呢?

      健壮性分析即Robustness,是Ivar Jacobson早在1991就发明了的,它最开始是用于解决用例
需要哪些对象这个问题,并指出参与场景的对象相互之间如何交互。这种技术本身是一种应用于分析
阶段技术(不是设计阶段)。它不是UML的核心部分,只是"三人帮"在创建UML时“发现”了它,把它
作为Objectory特定过程的扩展, 即通过使用构造型(stereotyping,一种UML技术)加以实现。同
时因为它通常不会被文档保存,只是以草图形式呈现(本文为了记录和给大家一个清晰的示例,使用
Rose图将它记录下来),所以在许多的00及 UML书中被打入“冷宫”。但该方法有着“承上启下”的作
用, 好在ICONIX方法又再次将它从“冷宫”中抬了出来,让它再次找到用武之地:)

      那么它到底能做什么呢? 请看下图:
                 

      现在引用书中的解释就是:

      1.它帮助您确保用例文本的正确性,且没有指定不合理或不可能的行为 (基于要使用的一组对
         象),从而提供了健康性检查。
      2.帮助确保用例考虑了所有必需的分支流程,从而提供了完整性和正确性检查。
      3.让您能够(持续)发现对象,因为在域建模期间可能会遗漏一些对象, 而这些对象在绘制时
         序图时不易被发现,并且很可能正是它导致无法绘制时序图。
      4.缩小分析和设计的鸿沟,从而最终完成初步设计(关于初步设计复核会在下一篇中介绍)。

   
      另外,该方法使用下面三种构造型元素:

      实体对象(entity object):
            通常是来自域模型中的对象(也就是现实世界),它常对应于数据库表和文件,这些数据表
      和文件中存储了执行用例所需的数据。有些实体对象是“临时”对象(如搜索结果),当用例
      结束后将消失。

      边界对象(boundary object):
            参与者使用它来同系统交互,这通常包含窗口,屏幕,对话框和菜单。如果有GUI原型,
      将会知道许多主要的边界对象是什么。

      控制对象(control object):
            将边界对象和实体对象关联起来(通常被称为控制器,因为它们通常不是真正的对象)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值