UML——系统分析师UML实务手册读书笔记

二次信任 提交于 2020-02-07 08:47:51

1. 系统分析员的位置

clip_image002

 

2. MDA开发程序

MDA(Model-Driven Architecture)分为以下三个阶段:

  • CIM(Computation Independent Model)——聚焦于系统环境及需求,但不涉及系统内部的结构与运作细节。
  • PIM(Platform Independent Model)——聚焦于系统内部细节,但不涉及实现系统的具体平台。
  • PSM(Platform Specific Model)——聚焦于系统落实于特定具体平台的细节。

 

3. 基金模拟项目案例

开源工具:StarUML

1) CIM-1:定义业务流程(业务用例图)

输入:业务需求(访谈业务人员)

输出:(1)业务用例图;(2)业务用例简述

clip_image004

图1 银行用例图

 

2) CIM-2:分析业务流程(活动图)

输入:CIM-1业务用例模型中每一个业务用例

输出:用例工作流程的活动图

clip_image006

图2 一般流程的活动图

 

clip_image008

图3 首购流程的活动图

 

clip_image010

图4 定期定额流程的活动图

 

3) CIM-3:定义系统范围(系统用例图)

输入:CIM-1和CIM-2的生成文件

u CIM-2活动图中的每一个动作,都可能称为CIM-3的系统用例

u CIM-1中的业务执行者,以及CIM-2中的动作负责人。都可能成为CIM-3的系统执行者

输出:(1)系统用例图;(2)系统用例简述。

 

按角色归并:为管理大量的系统用例,依启动者设置多个“”(Package),并将该启动着负责启动的系统用例归于同名包中。

clip_image012

图5 CIM-3:定义系统范围包含的“包”

 

clip_image014

图6 投资人包下的系统用例图

 

clip_image016

图7 理财专员包下的系统用例图

 

clip_image018

图8 主管包下的系统用例图

 

clip_image020

图9 定时启动者包下的系统用例图

 

此阶段完成后,项目经理和其他相关决策人士从CIM-3中挑选出一批系统用例,作为首期发布的系统用例。

 

4) PIM-1:分析系统流程(系统用例叙述)

输入:CIM-3生成的系统用例

输出:系统用例叙述文档

针对每一个系统用例,系统分析员访谈业务人员,分析其内部细节,并编写成系统用例叙述。

挑选适用的系统用例叙述格式

1. 用例基本数据

  • 用例名称
  • 用例编号
  • 用例简述
  • 系统
  • 执行者
  • 相关用例

2. 执行流程

  • 替代流程
  • 例外流程

3. 条件及规则

  • 启动事件
  • 前置条件
  • 后置条件
  • 失败时状态
  • 业务规则

4. 相关文档

  • 用例叙述的历史版本
  • UML图
  • 参考画面
  • 其他非UML文档

5. 其他事项

  • 优先性
  • 迭代等级
  • 待解决问题
  • 基本假设
  • 相关人员
  • 特殊需求

挑选其中一组系统用例,形成系统用例叙述文档

clip_image022

图10 第一组系统用例

 

5) PIM-2:分析业务规则(状态图)

输入:PIM-1

输出:记录刺激/反应业务规则的状态图

Odell在《Advanced Object-Oriented Analysis and Design Using UML》将业务规则分为两类:(1)约束规则;(2)衍生规则

  • l约束规则

1. 刺激/反应规则:当外界事件发生时,而且对象如果恰好处于某种状态下时,对象就会做出某种事先约好的行为。 WHEN 事件发生 IF 处于某种状态 THEN 执行动作

2. 操作规则:保证操作会正确执行,分为“操作前规则”和“操作后规则” Execute 操作名 ONLY IF 条件1 and 条件2…

3. 结构规则:约束对象种类或关联关系(类图)

  • l衍生规则

1. 推论规则:事实为真时,结论被推出 IF…THEN…

2. 计算规则:计算公式 *** IS COMPUTED AS FOLLOW

 

动作:(1)对象进入状态后,执行状态内部指定的动作(do活动);(2)对象在转换状态的瞬间,执行一项不可中断的动作,标示在斜线(/)之后;(3)“入口动作”(Entry Action);(4)“出口动作”(Exit Action)

clip_image024

图11 定期定额申购状态图

 

6) PIM-3:定义静态结构(类图)

输入:PIM-2生成的状态图

输出:约束对象种类或关联关系的类图

类之间的关联关系:(1)关联关系;(2)泛化关系;(3)聚合关系;(4)组合关系

寻找操作优于寻找属性

clip_image026

图12 基金模拟项目类图

 

7) PIM-4:定义操作及方法(序列图)

输入:PIM-1的系统用例描述和PIM-3的类图

输出:序列图

 

原则和建议:

  • 主要流程与其他流程分置于不同的序列图中;
  • 启动者对象放置于序列图最左方,支持者对象放置于最右方;
  • 自由消息可以引发接收对象自身的公开操作或私有操作,一般消息只能引发公开操作,不能引发私有操作;
  • 对象之间优先通过静态关系传送消息,否则可于操作中建立暂时性的关系。

程序员最关切的设计图:(1)类图;(2)序列图

clip_image028

图13 主要流程的序列图

 

参考文献

[1] 邱郁惠. 系统分析师UML实务手册. 北京: 机械工业出版社, 2008,4.

 

附:基金模拟项目UML文件

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!