UML统一模型语言
UML 模型图的构成:
事物(具有代表性的成分的抽象)
1. 构建事物
类
接口
协作: 一组事物间的相互作用的集合
用例: 代表一个系统或者系统的一部分行为,是一组动作序列的集合
构建: 系统中物理存在,可替换的部件
节点: 运行时存在的物理元素
×另外: 参与者信号应用文档库页表等都是上述基本事物的变体
2. 行为事物: 动态部分,描述跨越空间和实践的行为
交互: 实现某种功能的一组事物之间的消息的集合(含:消息、动作序列、链接)
状态机: 描述事物或交互在生民周期内响应时间所经历的状态序列
3. 分组事物: 组织部分,描述事物的组织结构
包: 把元素组织成祖的机制
4. 注释事物
注解: 对元素进行约束或解释的简单符号
二、 关系(联系事物)
1. 依赖: 两事物间的语义关系,一个变化另一个变化
2. 关联: 结构关系,指明一个事物的对象与梁一个事物的对象间的联系
3. 泛化: 一般/特殊 的关系,也就是继承关系。
4. 实现: 类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约
三、图(事物和关系的可视化表示)
1. 用例图
从用户角度描述系统功能,是用户所能观察到的系统功能的模型图。
(图1 用例图)
2. 类图
类图描述系统中类的静态结构,定义系统中的类,表示类间的关系,也包括类的内部结构(属性和操作)
类图以类为中心来组织,类图中的其他元素属于某个类或与某个类相关联
(图2 类图的实例: 很熟悉吧,图书馆的架构图就是类图)
3. 对象图
与类图十分相似,是类图的实例,只不过显示的是类的多个对象实例。
(图3 对象图)
4. 顺序图
显示对象之间的动态合作关系,它强调对象之间消息发送的吮吸同时显示对象之间的交互。它可以用来表示用例中的行为顺序。
(图4: 顺序图)
5. 协作图
描述对象间的协作关系,和顺序图类似,显示对象间的动态合作和对象及它们之间的关系。它可以用来表示一个类操作的实现。
6. 状态图
状态图表示一个类对象所可能经历的所有历程的图,由类对象的各个状态和连接这些状态的转换组成。
(图5 状态图:学渣的自我修养)
7. 活动图:
状态图的变体,用来描述执行算法的工作流程中涉及的活动能够。它用来描述一组顺序或并发的活动。
(图6 活动图)
8. 构件图
构件图为系统的构件模型(构件即构造应用的软件单元)还包括各个构件之间的依赖关系。
(图7 构件图)
9. 部署图:
描述位于节点实例上的运行构件实例的安排。(节点是一组运行资源如计算机、设备或储存器)它可以评估分配结果和资源分配。
四、各种UML图的关系
1.
(BD Base Design 基本设计 DD Detailed Design 详细设计 FD Functional Design 功能设计)
2. 用例中include 和 extend 的关系辨析:【引用自iwannaknowmore http://blog.csdn.net/iwannaknowmore/article/details/6260781】
扩展(extend): extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。extend的基用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。 extend关系在用例图中使用带箭头的虚线表示(在线上标注<<extend>>),箭头从子用例指向基用例。
包含(include): include为包含关系,当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。include关系在用例图中使用带箭头的虚线表示(在线上标注<<include>>),箭头从基用例指向子用例。
五、语法描述
参考:http://wenku.baidu.com/view/d07e4574a45177232f60a276.html?re=view