软件系统建模与UML(一):UML概述 -- 期末重点

1、UML 是什么?

在这里插入图片描述

UML (统一建模语言,Unified Modeling Language) 是一种建模语言。
可能有小伙伴和我一样,不太理解建模是什么意思?想一下,让你去修建一个 house,你不能上来就干吧,总得先构想一下,在计算机里面也是同样的道理,当我们开始一个项目的时候,需要先搭建一个基础的模型,有一个大概的框架,如果上来就敲代码,那么各敲各的,项目是搭建不起来的。 当搭建框架的时候,不能空手来搭建,就像我们写项目时需要用到 Java 或者其他语言一样,软件建模也需要语言: UML 建模语言。

2、UML 的特点:

UML的应用贯穿在系统开发的五个阶段:

(1)需求分析—— 用例建模(传统建模:功能分解);
(2)系统分析——逻辑视图(类图)、动态视图(协作图、顺序图、活动图和状态图);
(3)系统设计——把分析阶段的结果扩展成技术解决方案,并加入的新的类来提供技术的 基础结构(接口、数据库);
(4)构造——(实现 )把设计阶段的结果转换成某种语言的代码;
(5)测试——分为单元测试、集成测试、系统测试和接受测试几个不同的级别,不同测试小组使用不同的UML图作为测试工作的基础。

3、UML 的结构:

UML 作为一种建模语言,主要由三部分构成:

在这里插入图片描述
在这里插入图片描述

4、UML 的事物:

UML 中的事物主要分为 结构事物、行为事物、分组事物、注释事物。

4.1 结构事物:

  1. 类(Class):类是指具有相同属性、方法、关系和语义的对象的集合。
  2. 接口(Interface):接口是指类或组件所提供的服务(操作),描述了类或组件对外可见的动作。
  3. 协作(Collaboration):协作描述合作完成某个特定任务的一组类及其关联的集合,用于对使用情形的实现建模。
  4. 用例(Use Case):用例定义了参与者(在系统外部与系统交互的人或系统)和被考虑的系统之间的交互来实现的一个业务目标。
  5. 活动类(Active Class):活动类的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的。
  6. 组件(Component):组件是物理的、可替换的部分,包含接口的集合,例如COM+ 、JavaBean等。
  7. 结点(Node):结点是系统在运行时存在的物理元素,代表一个可计算的资源,通常占用一些内存和具有处理能力。

4.2 行为事物:

行为事物指的是UML模型中的动态部分,代表语句里的“动词”,表示模型里随着时空不断变化的部分,包含两类:

  1. 交互(Interaction):交互是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作。
  2. 状态机(State Machine):状态机由一系列对象的状态组成。

4.3 分组事物:

可以把分组事物看成是一个“盒子”,模型可以在其中被分解。目前只有一种分组事物,即包(Package)。结构事物、动作事物甚至分组事物都有可能放在一个包中。包纯粹是概念上的,只存在于开发阶段。

4.4 注释事物:

注释事物是UML模型的解释部分。

5、UML 中的关系:

UML 主要定义了 四种 关系: 依赖关系、关联关系、泛化关系、实现关系。

5.1 依赖关系:

两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。例如人和食物的关系。People --------------------> Food

在这里插入图片描述

5.2 关联关系:

一种描述一组对象之间连接的结构关系,如聚合关系就描述了整体和部分间的结构关系。

在这里插入图片描述

5.3 泛化关系:

一种一般化和特殊化的关系。(继承)

在这里插入图片描述

5.4 实现关系:

类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约

在这里插入图片描述
在这里插入图片描述

6、UML 中的图:

UML中的图(Diagram)由图片(Graph)组成,图片是模型元素的符号化。把这些符号有机地组织起来形成的图表示了系统的一个特殊部分或某个方面。

6.1 UML 中的图与图的符号表示:

在这里插入图片描述

6.2 用例图:

用例图用于显示若干角色(actor)以及这些角色与系统提供的用例之间的连接关系 。 (用例就是系统提供的功能)

在这里插入图片描述

6.3 类图:

类图用来表示系统中的类以及类与类之间的关系,它是对系统静态结构的描述

在这里插入图片描述

6.4 对象图:

对象图是类图的变体。两者之间的差别在于对象图表示的是类的对象实例,而不是真实的类。对象图是类图的一个范例,它及时具体地反映了系统执行到某处时,系统的工作状况。

6.5 状态图:

状态图是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件 。

在这里插入图片描述

6.7 活动图:

活动图反映一个连续的活动流,活动图常用于描述某个操作执行时的活动状况

在这里插入图片描述

6.8 顺序图:

顺序图用来反映若干个对象之间的动态协作关系,也就是随着时间的流逝,对象之间是如何交互的 。

在这里插入图片描述

6.9 协作图:

协作图和顺序图的作用一样,反映的也是动态协作。除了显示消息变化(称为交互)外,协作图还显示了对象和它们之间的关系(称为上下文有关)

在这里插入图片描述

6.10 组件图:

组件图用来反映代码的物理结构。代码的物理结构用代码组件表示。组件可以是源代码、二进制文件或可执行文件组件。

在这里插入图片描述

6.11 部署图:

部署图用来显示系统中软件和硬件的物理架构。通常部署图中显示实际的计算机和设备(用结点表示),以及各个结点之间的关系(还可以显示关系的类型)。每个结点内部显示的可执行的组件和对象清晰地反映出哪个软件运行在哪个结点上。组件之间的依赖关系也可以显示在部署图中。

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘小蓝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值