用例视图(Use Case View) : 用例视图中包括 参与者, 用例, 用例图, 时序图 和 协做图, 用例视图与代码实现无关, 该视图关注系统的高层, 不关注如何具体实现.浏览器
逻辑视图(Logical View) : 逻辑视图中包括须要的特定类, 类图 和 状态图; 逻辑视图关注如何实现用例视图中的具体功能, 将组件之间的关联, 系统如何运做的详细图形画出来.安全
组件视图(Component View) : 组件视图包括模型代码库, 可执行文件, 运行库等组件信息; 组件是代码的实际模块, 组件 和 组件图在组件视图中显示, 组件视图显示代码模块之间的关系.服务器
配置视图(Deployment View) : 配置视图 至关于 系统的实际配置, 与逻辑结构有所不一样, 系统结构是三层的, 可是对应的配置视图多是两层的.网络
四种视图之间的关系 :用例视图(Use Case View)是系统的核心, 其它的四个视图都要基于Use Case View展开;逻辑视图(Logical View)中包括静态结构和动态行为,实现视图(Implementation View)依赖逻辑视图的静态结构,进程视图(Process View)依赖逻辑视图的动态行为;配置视图依赖进程视图 与 实现视图;架构
使用者 : 设计人员, 开发人员.并发
实现需求 : 系统功能.运维
做用 : 揭示系统的内部设计和协做状况, 逻辑视图实现系统功能角度 : 静态结构 , 动态行为.布局
静态结构 : 描述 类, 对象, 关系.测试
动态行为 : 描述对象之间发动消息产生的动态协做, 一致性, 并发.spa
UML对等视图: 逻辑视图(Logical View).
使用者 : 码农
实现需求 : 系统的可扩展性, 可移植性, 可重用性, 易用性, 易测试性.
做用 : 描述软件的静态结构, 显示代码之间的组织方式, 经过系统输入输出关系的模型图 和 子系统图, 来描述实现模块之间的依赖关系.
内部需求 : 开发难易程序, 重用可能性, 通用性, 局限性等; 层次越低的组件通用性越好.
UML对等视图 : 组件视图(Component View).
使用者 : 系统集成.
实现需求 : 稳定性, 安全性, 伸缩性, 鲁棒性.
做用 : 显示系统并发性, 解决在并发系统中存在的通讯和同步问题, 该视图显示进程, 线程, 对象等运行时状态, 以及相关同步, 并发, 通讯等问题.
进程视图与实现视图关系 : 实现视图显示的是编译时的静态关系, 进程视图显示的是编译完以后运行时的对象, 线程, 进程之间的交互问题.
UML对等视图 : 并发视图(Concurrency View).
使用者 : 运维
实现需求 : 拓扑结构, 系统安装, 通讯.
做用 : 软件到硬件的映射, 目标程序及其依赖的运行库和系统软件部署到物理机器上去, 以及部署机器和网络配合软件系统的可靠性,可伸缩性等要求. 配置视图综合考虑软件系统和整个IT系统相互影响的架构视图.
配置视图与进程视图关系 : 进程视图关注程序的动态执行状况, 配置视图关注程序的静态位置.
UML对等视图 : 配置视图(Deployment View).
使用者 : 所有人员
做用 : 描述用户须要的系统功能. 用例是客户要求的系统中的一个功能单元, 至关于参与者与系统之间的一次交互. 用例模型列出系统中的用例和参与者, 显示哪一个参与者执行哪一个用例.
核心 : 用例视图是其它四种视图的核心, 其做用是驱动其它视图开发.
UML中事务是模型中首要成分的抽象,关系把事务结合在一块儿,图汇集了相关事务.
事务是UML中面向对象的基本模块, UML中事务包括 结构事务,行为事务,组织事务,辅助事务. 事务在模型中属于静态部分, 表明物理上或概念上的元素.
结构事务是模型中的 静态事务, 主要包括7种, 类 接口 用例 协做 活动类 组件 节点.
类具备相同属性, 方法, 语义, 关系的集合; 一个类能够实现一个或者多个接口, UML中, 类包括类名, 属性名, 方法;
接口是类或组件提供的能够完成特定功能的操做集合, 接口描述了类或者组件对外的可见的操做. 一个类能够实现多个接口.
用例定义了系统的一组操做, 特定的用户能够执行该操做.
协做是交互的操做, 角色和其它元素一块儿工做, 提供一些合做的动做 . 类多是协做的组成部门, 协做表明构成的系统的实现.
类对象有一个或多个进程或线程的类是活动类, 活动类与类类似, 活动类对象表明的元素的行为与其它的元素同时存在.
组件是物理上可替换的, 实现一个或多个接口的系统元素.
节点是物理元素, 运行时存在, 表明一个可计算的资源, 例如服务器, 进程等.
行为事务又叫动做事务, 与结构事务不一样, 是UML模型中的动态部分, 表明时间和空间上的动做, 结构事务是UML模型中的静态部分.
行为事务有两种 : 交互 ,状态机. 它们是UML模型中最基本的两个动态事务元素,
交互是在特定上下文中的一组对象, 这一组对象为共同完成必定的任务进行一系列消息交换所组成的动做就是交互. 交互包括消息,动做序列(消息产生的动做),对象之间的链接组成. 交互中的消息一般画成带箭头的直线.
状态机是对象一个或多个状态的集合.
组织事物又叫分组事物, 只有一种, 就是 包(Package).
组织事物是UML模型中组织部分, 至关于一个盒子, 每一个盒子中的对象关系比较复杂;盒子与盒子之间的关系相对简单.
包是一种将一系列元素分组的机制;组件也是元素分组的机制;
包与组件区别 : 包是一种概念上的东西, 仅存在与开发阶段, 组件是一种物理元素,存在于运行时.
辅助事务就是注释.
UML中的关系主要有5种 : 关联关系, 聚合关系, 依赖关系, 泛化关系, 实现关系.
关联关系是结构化关系, 指一种对象和另外一种对象有关联. 两个对象有关联就是从一个对象中能够访问到另外一个对象, 即就是在类中将另外一个类的对象声明为成员变量.
双向关联 : 若是两个类互相声明对方对象为成员变量, 那么这个关联就是双向关联;
单向关联 : 若是两个类中只有一个类声明另外一个类对象为成员变量, 那这个关联成为单向关联.
关联关系表示 : 关联关系用一条实线表示.
聚合概念 : 类之间的关系是总体与部分之间的关系, 一个表示总体的模型元素可能由多个表示部分的模型元素聚合而成, 如汽车由发动机, 轮胎聚合而成.
共享聚合 : 若是聚合中表示部分的模型还参与其它总体对象的聚合, 那么该聚合是共享聚合;
复合聚合 : 若是聚合中表示部分的模型只隶属于总体类, 那么该聚合就是复合聚合.
复合聚合表示 : 聚合关系用一端带空心菱形的直线表示, 菱形端链接表示总体事物的模型元素.
组合关系 : 组合关系是比聚合关系更紧密的耦合关系, 部分类须要总体类才能存在, 总体类被销毁, 部分类也要随之销毁.
组合关系表示 : 一端带有实心的小菱形直线表示, 小菱形端链接表示总体事物的模型元素.
依赖关系描述两个模型元素之间的语义关系 : 一个模型元素是独立的, 另外一个不是独立的, 非独立的模型元素依赖于独立模型元素, 独立模型改变将影响依赖于其的非独立模型.
关联关系与依赖关系区别 : 依赖关系的对象间表现非固定关系, 如手机与充电器, 手机不是时刻都须要充电器的, 可是没有充电器, 手机就玩不转.
泛化关系定义了通常元素和特殊元素之间的分类关系, 泛化相似于继承关系. 能够分为普通泛化 和受限泛化.
普通泛化 : 没有给泛化添加约束, 普通泛化用一条带空心箭头的实线表示.
受限泛化 : 给泛化附加约束条件, 说明泛化关系的使用方法和扩充方法. 预约义的约束有4种 : 多重, 不相交, 彻底, 不彻底.
将一种模型元素(类)与另外一种模型元素(接口)链接起来, 接口只是行为的说明, 不是结构或者实现.
两种实现关系 :接口与实现它的类之间的关系,用例和实现它的协做之间的关系.
实现关系表示 : 实现关系用一条带空心的虚线箭头表示.
UML中的图分为两类, 结构行为图 和动态行为图.
结构行为图 :类图 ,对象图 ,用例图 ,组件图 ,配置图 .
动态行为图 :状态图 ,活动图 ,时序图 ,协做图 .
每一个图中的概念
类图 : 类 , 关联 , 泛化 , 依赖关系 , 实现 , 接口 .
用例图 : 用例 , 参与者 , 关联 , 扩展 , 包括 , 用例泛化 .
组件图 : 组件 , 接口 , 依赖关系 , 实现 .
配置图 :
状态图 :
活动图 :
时序图 :
协做图 :
用例图展示了一组 用例 参与者 它们之间的关系. 能够描述系统的静态使用状况.
下面的用例图中 : 用户 和 ATM机 是参与者, 插入卡 输入密码是用例.
类图展现了 类 接口 协做 之间的关系, 一个系统有多个类图, 高层建模给出类的主要职责, 底层建模给出类的属性和操做.
下图中 人民币帐户 美圆帐户 从帐户类继承, 它们是泛化关系. 帐户与ATM机 , 用户与两种帐户是关联关系.
对象图 是 类图的变体, 对象图使用与类图类似的符号描述.
对象图与类图的区别 :
表示的概念 : 对象图显示的是类的多个对象, 而非实际的类. 对象图是类的一个例子, 显示系统执行时的一个快照, 即在某一个时间点上系统可能呈现的样子.
表示不一样 : 对象图使用带下划线的对象名称来表示对象, 显示一个关系中的全部实例.
组件图 由 组件接口 组件之间的关系组成. 组件 能够是 源码 二进制码 可执行程序. 组件图表示系统不一样的物理部件及其关系.
下图中, 组件1 和 组件3 都依赖于 组件2.
定义 : 配置图展示运行时处理节点(服务器,主机) 以及 其中组件的配置(打印机,扫描仪). 配置图能够说明系统结构的静态配置图, 即 分布 交付 安装 的物理系统.
描述硬件 : 配置图描述系统硬件的物理拓扑结构, 即网络布局和组件在网络中的位置;
描述软件 : 描述在设备上执行的软件, 即运行时软件在节点中的分布状况.
时序图含义 :
a. 动态协做 : 时序图显示多个对象间的动态协做, 主要是显示对象之间发送消息的时间顺序.
b. 时间点预测 : 时序图也显示对象之间的交互, 即在系统执行的时候,某个时间点将会发生的事情.
时序图用途 :表示用例中的行为顺序, 当执行一个用例行为的时, 时序图中每一条消息对应了一个类操做, 或状态机中引发装换的触发事件.
组织结构建模 : 协做图对交互中有意义的对象和对象之间的链接建模, 强调收发消息对象的组织结构, 按照组织结构对控制流建模.
显示关系 : 除了显示消息的交互以外, 协做图还显示对象 及对象之间的关系.
状态图定义 : 状态图显示一个对象全部可能的状态 , 以及各类事件发生而引发的状态转移.
状态图的做用 : 状态图描述了一个状态机, 用状态图说明系统的动态视图.
状态图建模 : 状态图对接口,类, 协做的行为建模很重视, 能够用来描述实例的生命周期.
开始结束分别用实心圈和带环的圈表示.
活动图是状态图的变体, 显示系统从一个活动到另外一个活动的流程, 活动图显示了一些活动, 强调是对象之间的流程控制.
UML中的通用机制, 使UML变得简单, 易于使用. 使用通用机制能够为模型元素提供额外的注释,信息或语义.
修饰表示 : UML建模时, 能够将图形修饰附加到UML图形的模型元素上. 一般修饰写在相关元素旁边, 全部对修饰的描述与它们所影响的元素的描述放在一块儿.
修饰做用 : 为图形中的元素增长语义.
修饰例子 : 当一个元素表明一个类型的时候, 名称能够用粗体来表示; 当一个元素表明一个类型的实例的时候, 名称能够用下划线表示; 当一个元素表明接口的时候, 那么其名称用斜体表示. 表示类的方法的时候 : "-"表示私有, "+"表示公有, "#"表示保护类型.
注释用一条虚线链接到其解释的元素上, 注释可使模型更加清晰.
注释使用技巧 :
a. 依赖 : 将注释放在须要注释的元素旁边, 使用依赖关系链接, 注释依赖于元素.
b. 隐藏 : 注释平时能够隐藏;
c. 嵌入 : 若是注释很长, 能够放到外部文本中, 而后嵌入到模型中.
模型元素具备许多用于维护该元素的数据值特性, 特性用名称和被称为标记值的值定义.
标记值 : 标记值是一种特定的类型, 如整型, 字符串.
名称 : UML中特性是预约义的, 如文档(Documentation), 职责(Responsibility), 永久性(Persistence), 并发性(Concurrency).
定义 : 型-实例(Type-Instance)描述了一个通用描述符与单个元素之间的对应关系. 通用描述符成为型元素, 它至关于类, 单个元素是实例元素, 至关于类的实例; 一个型元素能够对应多个实例元素.
表示 : 实例元素使用与通用描述符相同的表示图形, 可是名称的表示不一样. 实例元素名称带有下划线, 而且实例元素名称后面还要加上冒号和通用描述符.
举例 : 类 与 对象 至关于一种 型-实例划分, 数据类型 与 数据值 .
接口生命了一个规定了服务的约定, 实现负责执行接口的所有语义, 并实现该项服务.
UML扩展机制容许UML使用人员根据须要自定义一些构造型语言, 扩展机制既能够扩展UML功能, 还可使语言用户化.