3. 组织事物 (Grouping Things)
组织事物又叫分组事物, 只有一种, 就是 包(Package).
组织事物是UML模型中组织部分, 相当于一个盒子, 每个盒子中的对象关系比较复杂;盒子与盒子之间的关系相对简单.
包是一种将一系列元素分组的机制;组件也是元素分组的机制;
包与组件区别 : 包是一种概念上的东西, 仅存在与开发阶段, 组件是一种物理元素,存在于运行时.
4. 辅助事务(Annotation Things)
辅助事务就是注释.
三. UML中的关系(Relationship)
UML中的关系主要有5种 : 关联关系, 聚合关系, 依赖关系, 泛化关系, 实现关系.
(1) 关联关系(Association)
关联关系是结构化关系, 指一种对象和另一种对象有关联. 两个对象有关联就是从一个对象中可以访问到另一个对象, 即就是在类中将另一个类的对象声明为成员变量.
双向关联 : 如果两个类互相声明对方对象为成员变量, 那么这个关联就是双向关联;
单向关联 : 如果两个类中只有一个类声明另一个类对象为成员变量, 那这个关联成为单向关联.
关联关系表示 : 关联关系用一条实线表示.
(2) 聚合关系
聚合概念 : 类之间的关系是整体与部分之间的关系, 一个表示整体的模型元素可能由多个表示部分的模型元素聚合而成, 如汽车由发动机, 轮胎聚合而成.
共享聚合 : 如果聚合中表示部分的模型还参与其它整体对象的聚合, 那么该聚合是共享聚合;
复合聚合 : 如果聚合中表示部分的模型只隶属于整体类, 那么该聚合就是复合聚合.
复合聚合表示 : 聚合关系用一端带空心菱形的直线表示, 菱形端连接表示整体事物的模型元素.
组合关系 : 组合关系是比聚合关系更紧密的耦合关系, 部分类需要整体类才能存在, 整体类被销毁, 部分类也要随之销毁.
组合关系表示 : 一端带有实心的小菱形直线表示, 小菱形端连接表示整体事物的模型元素.
(3) 依赖关系 (Dependency)
依赖关系描述两个模型元素之间的语义关系 : 一个模型元素是独立的, 另一个不是独立的, 非独立的模型元素依赖于独立模型元素, 独立模型改变将影响依赖于其的非独立模型.
关联关系与依赖关系区别 : 依赖关系的对象间表现非固定关系, 如手机与充电器, 手机不是时刻都需要充电器的, 但是没有充电器, 手机就玩不转.
4. 泛化关系 (Generalization)
泛化关系定义了一般元素和特殊元素之间的分类关系, 泛化类似于继承关系. 可以分为普通泛化 和受限泛化.
普通泛化 : 没有给泛化添加约束, 普通泛化用一条带空心箭头的实线表示.
受限泛化 : 给泛化附加约束条件, 说明泛化关系的使用方法和扩充方法. 预定义的约束有4种 : 多重, 不相交, 完全, 不完全.
5. 实现关系 (Realization)
将一种模型元素(类)与另一种模型元素(接口)连接起来, 接口只是行为的说明, 不是结构或者实现.
两种实现关系 :接口与实现它的类之间的关系,用例和实现它的协作之间的关系.
实现关系表示 : 实现关系用一条带空心的虚线箭头表示.
四. UML 中的图
UML中的图分为两类, 结构行为图 和动态行为图.
结构行为图 :类图 ,对象图 ,用例图 ,组件图 ,配置图 .
动态行为图 :状态图 ,活动图 ,时序图 ,协作图 .
每个图中的概念
类图 : 类 , 关联 , 泛化 , 依赖关系 , 实现 , 接口 .
用例图 : 用例 , 参与者 , 关联 , 扩展 , 包括 , 用例泛化 .
组件图 : 组件 , 接口 , 依赖关系 , 实现 .
配置图 :
状态图 :
活动图 :
时序图 :
协作图 :
1. 用例图 (Use Case Diagram)
用例图展现了一组 用例 参与者 它们之间的关系. 可以描述系统的静态使用情况.
下面的用例图中 : 用户 和 ATM机 是参与者, 插入卡 输入密码是用例.
2. 类图 (Class Diagram)
类图展示了 类 接口 协作 之间的关系, 一个系统有多个类图, 高层建模给出类的主要职责, 底层建模给出类的属性和操作.
下图中 人民币账户 美元账户 从账户类继承, 它们是泛化关系. 账户与ATM机 , 用户与两种账户是关联关系.