1. 系统分析员的位置
2. MDA开发程序
MDA(Model-Driven Architecture)分为以下三个阶段:
3. 基金模拟项目案例
开源工具:StarUML
1) CIM-1:定义业务流程(业务用例图)
输入:业务需求(访谈业务人员)
输出:(1)业务用例图;(2)业务用例简述
图1 银行用例图
2) CIM-2:分析业务流程(活动图)
输入:CIM-1业务用例模型中每一个业务用例
输出:用例工作流程的活动图
图2 一般流程的活动图
图3 首购流程的活动图
图4 定期定额流程的活动图
3) CIM-3:定义系统范围(系统用例图)
输入:CIM-1和CIM-2的生成文件
u CIM-2活动图中的每一个动作,都可能称为CIM-3的系统用例
u CIM-1中的业务执行者,以及CIM-2中的动作负责人。都可能成为CIM-3的系统执行者
输出:(1)系统用例图;(2)系统用例简述。
按角色归并:为管理大量的系统用例,依启动者设置多个“包”(Package),并将该启动着负责启动的系统用例归于同名包中。
图5 CIM-3:定义系统范围包含的“包”
图6 投资人包下的系统用例图
图7 理财专员包下的系统用例图
图8 主管包下的系统用例图
图9 定时启动者包下的系统用例图
此阶段完成后,项目经理和其他相关决策人士从CIM-3中挑选出一批系统用例,作为首期发布的系统用例。
4) PIM-1:分析系统流程(系统用例叙述)
输入:CIM-3生成的系统用例
输出:系统用例叙述文档
针对每一个系统用例,系统分析员访谈业务人员,分析其内部细节,并编写成系统用例叙述。
挑选适用的系统用例叙述格式
1. 用例基本数据
2. 执行流程
3. 条件及规则
4. 相关文档
5. 其他事项
挑选其中一组系统用例,形成系统用例叙述文档
图10 第一组系统用例
5) PIM-2:分析业务规则(状态图)
输入:PIM-1
输出:记录刺激/反应业务规则的状态图
Odell在《Advanced Object-Oriented Analysis and Design Using UML》将业务规则分为两类:(1)约束规则;(2)衍生规则。
1. 刺激/反应规则:当外界事件发生时,而且对象如果恰好处于某种状态下时,对象就会做出某种事先约好的行为。 WHEN 事件发生 IF 处于某种状态 THEN 执行动作
2. 操作规则:保证操作会正确执行,分为“操作前规则”和“操作后规则” Execute 操作名 ONLY IF 条件1 and 条件2…
3. 结构规则:约束对象种类或关联关系(类图)
1. 推论规则:事实为真时,结论被推出 IF…THEN…
2. 计算规则:计算公式 *** IS COMPUTED AS FOLLOW
动作:(1)对象进入状态后,执行状态内部指定的动作(do活动);(2)对象在转换状态的瞬间,执行一项不可中断的动作,标示在斜线(/)之后;(3)“入口动作”(Entry Action);(4)“出口动作”(Exit Action)
图11 定期定额申购状态图
6) PIM-3:定义静态结构(类图)
输入:PIM-2生成的状态图
输出:约束对象种类或关联关系的类图
类之间的关联关系:(1)关联关系;(2)泛化关系;(3)聚合关系;(4)组合关系
寻找操作优于寻找属性
图12 基金模拟项目类图
7) PIM-4:定义操作及方法(序列图)
输入:PIM-1的系统用例描述和PIM-3的类图
输出:序列图
原则和建议:
程序员最关切的设计图:(1)类图;(2)序列图
图13 主要流程的序列图
参考文献
[1] 邱郁惠. 系统分析师UML实务手册. 北京: 机械工业出版社, 2008,4.