软考高项-第一章:UML统一建模语言
统一建模语言 UML 定义
定义:UML是一种通用的可视化建模语言,可以用来描述、可视化、构造和文档化软件密集型系统的各种工件。UML是独立于过程的,它适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具
分解如下:
(1)UML是一种语言;
(2)是一种可视化语言
(3)是一种可用于详细描述的语言
(4)是一种构造语言
(5)是一种文档化语言
(6)不是过程,也不是方法,但允许任何一种过程和方法使用它。
(7)简单并且可扩展,具有扩展和专有化机制,便于扩展。
(8)UML 是一种标准的建模方法
(9)UML 标准并没有定义一种标准的开发过程,它可以支持现有的大部分软件开发过程
(10)较适用于迭代式开发过程
UML的构造块 :事物、关系、图
![](https://img.haomeiwen.com/i18169088/4f4b05bd1b0c9a15.png)
UML事务
(1)结构(Structural):结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,有类(Class)、接口(Interface)、协作(Collaboration)、用例(Use case)、组件(Component)、节点(Node);
- 类:表示一组具有类似职责的对象
- 接口:定义了一组操作,这些操作指定了类的职责
- 协作:定义了元素之间的交互
- 用例:表示系统位特定目标执行的一组动作
- 组件:描述系统的物理部分
- 节点:可以定义为运行时存在的物理元素
(2)行为(Behavioral):行为事物指的是 UML 模型中的动态部分,代表语句里的 “动词”,表示模型里随着时空不断变化的部分,包含两类:交互、状态机;
(3)分组(Grouping):可以把分组事物看成是一个"盒子",模型可以在其中被分解。目前只有一种分组事物,即包(package)。
(4)注释(Annotational):注释事物可以被定义为一种机制来捕捉UML模型元素的言论,说明和注释。注释是唯一一个注释事物。
UML 关系:
(1)依赖:表示类之间“uses-a”的关系,如果类A中的方法操纵另一个类B的对象,就说类A依赖于类B
(2)关联:表示类之间“has-a”的关系
(3)泛化:表示继承(Inheritance)的关系,两个类之间是“is-a”的关系,是一种表示特殊与一般的关系
(4)实现 :表示类对接口的实现
(5)聚合:关联关系中的一种特例,可以用来表示类之间“has-a”的关系,例如类A的对象包含类B的对象。
(6)组合:关联关系中的一种特例,表示整体与部分的关系,整体与部分不可分离,且有相同的生命周期,是“contains-a”的关系。
图形表示如下:
![](https://img.haomeiwen.com/i18169088/7133d160ad01f3dd.png)
![](https://img.haomeiwen.com/i18169088/3eaaae43257ab28c.png)
UML 2.0 的 14 种图
结构图 | 行为图 | 交互图 |
---|---|---|
类图 对象图 组件图 部署图 |
用例图 序列图 协作图 状态图 活动图 |
顺序图/序列图 通信图 定时图(计时图) |
(1)类图:类图描述一组类、接口、协作和它们之间的关系。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
(2)对象图:对象图描述一组对象及它们之间的关系。
(3)构件图:构件图描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。
(4)组合结构图:组合结构图描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。
(5)用例图:用例图描述一组用例、参与者及它们之间的关系。
交互图:展现一种交互,由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。
(6)顺序图(也称序列图): 顺序图是强调消息的时间次序的交互图,强调的是时序
(7)通信图:通信图也是一种交互图,强调收发消息的对象或参与者的结构组织。强调对象之间的组织结构(关系)
(8)定时图(也称计时图):定时图也是一种交互图,强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。
(9)状态图:状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。
(10)活动图:活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它强调对象间的控制流程。
(11)部署图:部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。
(12)制品图::制品图描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和构件。
(13)包图:包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。
(14)交互概览图:交互概览图是活动图和顺序图的混合物。
UML 视图:
视图定义:一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图(view)。
五种视图
(1)逻辑视图: 表示系统内部如何提供系统的功能。设计人员和开发人员 描述用例视图中提出的系统功能的实现。
(2)进程视图:进程视图显示系统的并发性,解决在并发系统中存在的通信和同步问题。进程视图体现了系统的稳定性、鲁棒性、安全性以及伸缩性。
(3)实现视图:包括组件图和部署图。组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。
(4)部署视图:描述处理器、硬件设备和软件构件在运行时的架构,它显示系统硬件的物理拓扑结构及在此结构上执行的软件。使用部署图可以显示硬件节点的拓扑结构和通信路径、节点上运行的软件构件、软件构件包含的逻辑单元(对象、类)等。
(5)用例视图:表示外部参与者看到的系统将提交的功能。用户 描述系统应具备的功能。
![](https://img.haomeiwen.com/i18169088/66d8925533a9fd50.png)
![](https://img.haomeiwen.com/i18169088/62662f897f46f060.png)
UML 的应用范围
![](https://img.haomeiwen.com/i18169088/e3fab49348c6b6e0.png)