设计模式——UML建模之精选核心知识用例图、构件图、部署图、对象图的小结(一)

引言

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。随着你职业生涯的进步,你会越来越发现原来曾经被你轻视的UML建模原来那么重要(尤其是你的公司是属于正规军,有规范严格的流程时),系列文章链接:

一、UML 的核心图概述

UML图的核心体系从变化角度来看,主要分为两大类:静态视图动态视图
在这里插入图片描述
UML是用来描述模型的,用模型来描述系统的机构或静态特征,以及行为或动态特征。从不同的视角为系统构架建模,形成系统的不同视图。

  • 用户模型视图(Use Case View)——强调从用户的角度看到的或需要的系统功能,是被称为参与者的外部用户所能观察到的系统功能的模型图。由专门描述最终用户、分析人员和测试人员看到的系统行为的用例组成,是从用户角度来描述系统应该具有的功能(不关心实现细节),系统实现的最终目标是提供用户模型视图中所描述的功能。

  • 结构模型视图(Structural Model View)————展现系统的静态或结构组成及特征,又称逻辑视图(Logical View)。

  • 行为模型视图(Behavioral Model View)——体现了系统的动态或行为特征,又称并发视图(Concurrent View)或动态视图(Dynamic View)。

  • 实现模型视图(Implementation Model View)——体现了系统实现的结构和行为特征,又称组件视图(Component View)。

  • 环境模型视图(Environment Model View)——体现了系统实现环境的结构和行为特征,又称配置视图(Deployment View)或物理视图(Physical View)。

而视图是由图组成的,UML提供9种不同的图:

  • 用例图(Use Case Diagram)——描述系统功能。

  • 类图(Class Diagram)——描述系统的静态结构。

  • 对象图(Object Diagram)——描述系统在某个时刻的静态结构。

  • 组件图(Component Diagram)——描述了实现系统的元素的组织。

  • 配置图(Deployment Diagram)——描述了环境元素的配置,并把实现系统的元素映射到配置上。

  • 状态图(State Diagram)——描述了系统元素的状态条件和响应。

  • 时序图(Sequence Diagram)——按时间顺序描述系统元素间的交互。

  • 协作图(Collaboration Diagram)——按照时间和空间顺序描述系统元素间的交互和它们之间的关系。

  • 活动图(Activity Diagram)——描述了系统元素的活动。

二、用例图

1、用例图概述

用例图主要用来描述“用户、需求、系统功能单元”之间的关系,展示了一个外部用户能够观察到的系统功能模型图,同时可以帮助开发团队以一种可视化的方式理解系统的功能需求,基本上软件系统的每一个功能模块对应一个用例。通俗来说,用例图主要考虑两个问题:

  • 使用这个软件系统时,用户的角色有哪些?
  • 软件系统向用户提供哪些功能模块?

2、用例图的核心元素

用例图的核心元素有:参与者(Actor)、用例(Use Case)、容器、用例图内的关系。
在这里插入图片描述

2.1、参与者

表示与您的应用程序或系统进行交互的用户、组织或外部系统,用一个小人表示
在这里插入图片描述

2.2、用例

用例就是外部可见的系统功能模块,对系统提供的服务进行描述,用椭圆(内部通过文字标名功能)表示。
在这里插入图片描述

2.3、容器

使用一个圆角矩形代表着一个软件(子)系统。

2.4、用例图内的关系

用例图内的关系的关系有:关联、泛化、包含、扩展

  • 关联(Association)——表示参与者与用例之间的通信,任何一方都可发送或接受消息。箭头指向指向消息接收方

  • 泛化(Inheritance)——即继承关系,子用例和父用例相似,但表现出更特别的行为,子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它(父用例通常是抽象的),箭头指向指向父用例。

  • 包含(Include)——包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤,箭头指向分解出来的功能用例

  • 扩展(Extend)——扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能,箭头指向基础用例

  • 依赖(Dependency)——以上4种关系,是UML定义的标准关系。但VS2010起的用例模型图中,添加了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例,箭头指向被依赖项。

三、组件图

组件图(构件图)是用于描述一组构件之间的组织和依赖关系,用于建模系统的静态实现视图,组件可以是可执行程序集、库、表、文件和文档等,也可以是代码的物理模块
在这里插入图片描述

四、部署图

部署图描述系统运行的硬件的物理拓扑结构以及在此结构上执行的软件,可以显示计算节点的拓扑结构和通信路径、结点上运行的软件组件、软件组件包含的逻辑单元(对象、类)等。可以帮助理解分布式系统,部署图主要用于来描述系统硬件的扩普结构。
在这里插入图片描述

五、对象图

对象图显示了在某一时刻上一组对象以及它们之间的关系的图,可以被看做是类图在系统某一时刻的实例。对象图中的建模元素主要有对象和链,其中对象是类的实例,链是类之间的关联关系的实例。对象图用于描述交互的静态部分,它由参与协作的有关对象组成,但不包括在对象之间传递的任何消息。当然在创建对象图时,建模人员并不需要用单个的对象图来描述系统中的每一个对象。因为绝大多数系统中都会包含成百上千的对象,所以用对象来描述系统的所有对象以及它们之间的关系一般是不太现实的。因此,建模人员可以选择所感兴趣的对象极其之间的关系来描述。对象图中所使用的符号和类图中使用的符号几乎完全相同,区别仅在于对象图的对象名带有下划线,而且类与类之间关系的所有的实例都要画出来。对象图的建模步骤:

  • 确定对象及对象状态(从类图中来)

  • 建立链(从类图中来)

未完待续…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章