ICONIX 过程起步

 author: 大金 05/2006

关键字: 交互建模(时序图), 健壮性分析(健壮图), 用例建模(用例文本和图), 域建模

们说: "(详细,物理)设计是解决如何(how)做, (概念设计)分析是解决做(what)什么"

我们的目标: 代码

代码之前是: 类图

  • 理由来自代码的结构:
      C++, Java
    • 基层单位: 类
    • 地区单位: 文件
    • 组织关系: 名字空间, 包
      C, PHP
    • 基层单位: 函数
    • 地区单位: 文件 (也能看成是一个对象)
    • 组织关系: 全局
  • 注意: (嵌入式脚本的) PHP 页本身也是个"大"函数, 认为是一个对象就更好
  • 所以我们可以借用 OO 的方法建: 类图; 具体的函数还能用结构化的方法画: 结构图

对象的动作行为的分配: 时序图. (如果有了对象的名称,就能)给对象分配动作行为

时序图的根据: 用例文本. 用例(类似事件),有系统参与者和系统的响应

对象的行为的设计来源: 用例文本

对象的名字的设计来源: 用例文本

  • 合理的次序是先域建模,这样用例文本就能有统一的名词可用

对象的属性呢? 名词可能是对象的名字及属性

对象的名字的猜想来源: 域模型. 从中可猜测对象

  • 域模型很像概念级类图(没有属性和行为)或概念级实体-关系图 ERD
    (概念级 ERD 中的实体也都是程序中的实体对象)

稍息

  • 用例文本和时序图是动态的; 域模型和类图是静态的.
  • 编程实现需要类图和时序图;
  • 详细设计前需要用例文本(及域模型), 还要 ... 

从用例文本到时序图(及类图)的关键一步: 健壮图. 这是从分析跨越到设计的桥梁

  • 健壮图就是用三类对象(界面,实体,控制)描述用例文本,其目的
    • 确保用例文本正确; 确保考虑了所有的分支流程
    • 发现猜测中遗漏的对象,确定大多数实体对象和界面对象
    • 跟踪健壮图上的数据流, 从而发现属性加到类(图)中
    • 改进用例文本

ICONIX 过程: 轻量级的用例驱动的 UML 对象建模过程

  • 创始于 1992 年,先于 UML, 又在 UML 后进一步发展
  • 与 RUP 类似用例驱动,基于 RUP 创始人的理论,侧重于系统分析和设计
    (而 RUP 还有很多笔墨在需求分析)
  • 但是是轻量级的,使用了简化的核心的 UML 建模方法,特色是健壮性分析

ICONIX 过程的基本阶段:

  • 原型 |-> 域建模 -> 用例建模 -> 需求复核
  •  -> 健壮性分析(及概念级类图细化) -> 初步设计复核
  •  -> 时序图(及详细类图)绘制 -> 关键设计复核 -|

参考: