uml知识点

发布时间 2023-12-07 19:30:38作者: 王庆园

 

 

UML:用来设计软件可视化的语言

UML概念

UML(Unified Modeling Language)是一个支持模型化和软件系统开发的图形化语言,为面向对象开发系统的产品进行说明、可视化、编制文档的一种标准语言。
UML2中一共定义14种图示,分为结构式图形和行为式图形。结构式图形分为:剖面图、类图、复合结构图、组件图、部署图、对象图、包图。行为式图形分为:活动图、交互图(交互图又分为序列图、通信图、交互概览图、时序图)、用例图和状态图。

特点:简单同意,图形化,能表达软件按设计的动态信息与静态信息。

类图:是现实了模型的静态结构,特别是模型中的类,不会显示暂时的信息,一种结构图,描述了类的集合以及类的分类以及累的竖向之间的关系,是系统分析和设计阶段的产物。

类的写法:

类和类的关系:

1.关联关系:

单向关联

双向关联

自关联

2.聚合关系:整体和部分的关系,成员可以脱离整体,就像学校和老师的关系,当学校消失但老师可以不消失

组合关系:是一种强烈的聚合关系,整体对象可以控制不分对象的生命周期,一旦整体不复存在,不分也不存在就像嘴巴和头的关系

依赖关系:临时性的关联,在一个累的方法中调用了另一个类,在司机类中调用car类这类关系的耦合性最低

继承关系:耦合性最强,子类继承父类

实现关系:类实现接口,耦合性较强,给一个接口下面给出方法名,具体实现在别的类中

用例图的构成元素

用例图主要有4个构成元素:
参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类外部实体的抽象。
建立系统的外部用户模型,并对系统边界外对象做描述
每个参与者可以参与一个或多个用例,每个用例也可以有一个或者多个参与者

系统(System)是用例图的一个组成部分,代表的是一个软/硬件或-一个活动等,并不是真正实现的软件系统。系统边界,指系统与系统之间的界限:
一般我们所说的系统都是由一系列的相互作用的元素形成的具有特定功能的整体
一个系统往往本身又可以是另一个更大系统的组成部分
因此我们需要把系统用边界区分开来,系统边界以外的系统和其他关联部分,我们称为系统环境。

用例(Use Case)用来描述系统提供给参与者的服务或功能。
用例由某个参与者来执行
用例把执行的结果反馈给参与者
用例在功能上具有完整性:从参与者接受输入,产生的结果输出给参与者
关系(Association),表示参与者和用例间的关联关系。

从图中可看出:
所有的用例都放在一个系统边界内,说明它们属于一个系统。
参与者在系统边界外面,说明参与者并不属于系统,但参与者驱动与之关联用例的执行。

用例图的特点

1.用例用以描述系统的功能,这个功能是指外部使用者看到的系统功能,不需反映功能的实现方式。
2.用例用以描述参与者提出的一些可见需求,对应具体的目标参与者。并且用例必须由参与者激活才能执行,即每个用例至少有一个参与者。
3.用例反映系统与用户的交互过程,可具有交互的信息传递。
用例图的规约

1.用例名称
需与用例图中的名称保持一致。 (也可加一个“用例ID”,如用:名称英文+编号即可,保持唯一性)
2.简要描述
简要说明用例及它的作用、目的。
3.参与者
与该用例相关的参与者,与用例图中的参与者关系保持一致。
4.相关用例
与该用例存在关系的用例,不同的用例关系采用不同表示方式,并与用例图中的用例间关系一致。
5.前置条件
指执行用例之间系统必须所处的状态。例如,前置条件是要求用户有访问的权限,或是要求某个用例必须已经执行完。
6.后置条件
指用例执行完毕后系统可能处于的一组状态。例如,要求在某个用例执行完后,必须执行另一个用例。
7.事件流
事件流包括基本流和备选流。基本流描述的是用例的基本流程,是指用例“正常”运行时的场景。备选流描述的时用例执行过程中可能发生的异常事件和分支事件。
8.补充约束
描述与该用例相关的其他约束,包括数据需求、业务规则、非功能需求、设计约束等。

 

1 时序图简介

时序图(Sequence Diagram),也叫顺序图,或序列图,是一种UML动态图。
UML具有许多不同类型的图表,包括:
静态图:用例图、类图、包图
动态图:活动图、状态图、时序图、协作图

时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的交互模式。

时序图将交互关系表示为一个二维图
纵向是时间轴,时间沿竖线向下延伸;横向轴代表了在协作中各独立对象的类元角色。
类元角色用生命线表示。当对象存在时,角色用一条虚线表示;当对象的过程处于激活状态时,生命线是一个垂直矩形。
消息用从一个对象的生命线到另一个对象生命线的箭头表示。
箭头以时间顺序在图中从上到下排列。

活动图(Activity Diagram)是描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。它对于系统的功能建模特别重要,强调对象间的控制流程,活动图在本质上是一种流程图
二、特点

-描述一个操作执行过程中所完成的工作,说明角色、工作流、组织和对象是如何工作的。

-活动图对用例描述尤其有用,它可建模用例的工作流、显示用例内部和用例之间的路径。它可以说明用例的实例是如何执行动作以及如何改变对象状态的。

-显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。

-活动图对理解业务处理过程十分有用,活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。

-描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是相似的。

 

活动图(Activity Diagram)是描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。它对于系统的功能建模特别重要,强调对象间的控制流程,活动图在本质上是一种流程图
二、特点

-描述一个操作执行过程中所完成的工作,说明角色、工作流、组织和对象是如何工作的。

-活动图对用例描述尤其有用,它可建模用例的工作流、显示用例内部和用例之间的路径。它可以说明用例的实例是如何执行动作以及如何改变对象状态的。

-显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。

-活动图对理解业务处理过程十分有用,活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。

-描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是相似的。