UML之面向对象处理
名词解释
RUP(Rational Unifined Process)统一过程。
XP(Extreme programming)极限编程
UML 是 语言;类比于音乐理论
RUP 是 方法;类比于五线谱
RUP<->XP
面向对象处理
不要决定通盘去考虑,而是找出问题领域包含的抽象角度。
建模基础
建模:抽象角度很重要
具体讲:
1、做需求时,首要目标:是业务有多少参与者,每个参与者目标是什么(抽象角度)?->用例!
不是弄清楚业务是如何一步步完成的。
2、目标确立后,找出能够满足这个目标的事物。有趣的问题:我们找这些事物的过程不是面向对象的,而是过程化的。
这是因为要达到一个目标,肯定是有 动作 附加在 静态事物 上,并产生了一定的 效果。(过程化)故我们要知道是 谁 发出了 动
作,作用于什么 事物,产生了怎样的 后果。
最终目的:找出场景当中贡献于场景目标的 事物,以及它们是如何贡献于这个场景的。
总结:
一个由抽象角度确定了的目标需要由静态事物加上特定的条件下产生的一个特定的场景来完成,
即:
静态的事物(物) + 特定的条件(规则) + 特定的动作(参与者的驱动) = 特定的场景(事件)
建模公式:
问题领域 = ∑ (抽象角度)
抽象角度 = 问题领域边界之外的参与者的业务目标 = 业务用例
业务用例 = ∑ (特定场景)
特定场景 = 静态的事物 + 特定的条件 + 特定的动作 or
特定的事 = 特定的事物 + 特定的规则 + 特定的人的行为
用例驱动
逻辑视图:
system只有一个逻辑视图,以图形方式说明关键的用例实现、子系统、包和类。
简言之,建模公式中的"人"、"事"、"物"、"规则"是如何 分类组织 的。
进程(分析设计)视图:
system只有一个进程视图,以图形方式说明系统中进程的详细组织结构,包括类和子系统到进程和线程的映射。
简言之,建模公式中的那些”人”、”事”、”物”、”规则”是如何 交互 的。
部署视图:
system只有一个部署视图,以图形方式说明了处理活动在系统中各节点的分布,包括进程和线程的物理分布。
简言之,建模公式中的那些”人”、”事”、”物”、”规则”是如何部署在物理(主机、网络环境)节点上的。
实施视图:
$列举实施模型中的所有子系统;
$描述子系统如何组织为层次和分层结构的构件图;
$描述子系统间导入依赖关系的图解。
简言之,建模公式中的那些"人"、"事"、"物"、"规则"是如何构成系统的“零部件”,我们如何组织人力生产和组装这些零部件。
参考资料:《Thinking in UML》(大象书)