UML是一种对软件系统进行规约、构造、可视化和文档化的,具有广泛适用性的建模语言。
(一)视图
UML通过模型来描述系统的结构、静态特征、动态特征(行为),从不同视角为系统的架构建模形成系统的不同视图。其中的视图主要包括静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图、模型管理视图。
(1)静态视图
静态视图是对在应用领域中的各种概念和系统实现相关的内部概念进行的建模。它不设计与时间有关的行为,是静态的。静态视图中的元素代表现实系统中有意义的概念。静态视图描绘的是客观世界的基本认知元素,是建立系统所需要的概念的集合。
(2)用例视图
用例视图用于描述系统的参与者与系统进行交互的功能,是系统功能的模型图。用例视图用于捕获系统、子系统和用户执行的行为,将系统描述为参与者对系统的功能需求,其中的需求功能就是用例。
(3)交互视图
交互视图描述了执行系统功能的各个角色之间互相传递消息的顺序关系,是描绘角色或功能交互的模型。表达对象之间协作完成一个功能的叫协作图;执行系统的和个角色之间相互传递消息的顺序关系叫序列图。
(4)状态机视图
状态机视图通过对象的各种状态建立模型来描述对象随时间变化的动态行为。
(5)活动视图
用于描述执行算法的工作流程中设计的活动。
(6)物理视图
物理视图对应自身的实现结构建模,提供了将系统中的类映射为物理构件和节点的机制。包括实现视图和部署视图。
(7)模型管理视图
对模型自身组织进行的建模。
(二)图
作为一种可视化的建模语言,主要的表现形式就是将模型进行图形化表示。UML规范定义了各种模型元素符号,还包括这些元素的抽象语法和语义。每种UML视图都包括一种或多种图,常用的UML图包括:用例图、类图、序列图、活动图、构件图、部署图、状态图。
(1)用例图
用例图描述了系统的一个功能单元。用于帮助以可视化的方式理解系统功能。
构成:椭圆+椭圆中心或下方的用例名称+角色+关系
(2)类图
显示系统的静态结构,用于表示人、事物、数据之间如何相互关联的。
构成:矩形(上中下三部分)或类之间的关系(依赖、泛化和关联)
(3)序列图
显示流程中各对象之间的调用关系。它有两个维度:时间(垂直)和消息发送(水平)。
略
(4)状态图
表示类所处的不同状态及类在这些状态中的转换过程。
构成:起点+状态+终点,还包括状态之间的转换,判断点。
略
(5)活动图
表示两个或更多对象之间在处理某个活动时的过程控制流程。
构成:起点+活动+终点+泳道,还包括判断点
略。
(6)构件图
构件图提供系统的物理视图,显示系统代码的整个物理结构。
(7)部署图
显示在系统中的不同构件的物理运行位置及之间的通信。对系统的物理运行情况进行建模,使系统的生产人员利用部署图进行部署实际的系统。
(三)关系
UML中的关系主要包括四种:依赖、关联、泛化、实现。
(1)依赖关系
两个事物之间的一种语义关系,其中一个事物A发生变化就会影响到事物B。其中A叫做独立事物,B叫做依赖事物。
(2)关联关系
事物之间的结构关系。
(3)泛化关系
继承。
(4)实现关系
元素之间的一种语义关系,描述了一组操作的规约和一组对操作的具体实现之间的语义关系。