“程序猿”如何画UML类图?
原创

“程序猿”如何画UML类图?

好文
试试语音读文章

热门回答:

谢谢邀请。

一、UML简介1.什么是UML?

UML是面向对象分析与设计时的行业标准。全称为Unified Modeling Language(“同一建模语言”)。其主要内容是针对面向对象的分析和设计。UML是由OMG(Object Management Group)于1997年发表的图标式软件设计语言。它是一个支持模型化和软件系统开发的图形化语言。为软件开发的所有阶段提供模型化和可视化支持。从需求规格描述到系统完成后的测试和维护。是一种定义良好、易于表达、功能强大且普遍适用的建模语言。

OMG是一个国际化的、开放成员的、非盈利性的计算机行业标准协会。成立于1989年。(不是LOL的战队哈!)

UML具有以下重要的功能:

可视化功能(Visualizing)

说明功能(Specifying)

建造和建立文档的功能(Documenting)

2.为什么要建模?

模型就是对现实的一种简化。模型提供了系统的一个蓝图。其中包括了详细的计划。也包括了从高层次考虑的总体设计。建模就是为了能够更好地理解正在开发的系统。通过建模可以达到如下的目的:

模型有助于按照实际情况或按照所需要的样式对系统进行可视化。

模型能够规约系统的结构或行为。

模型给出了指导构造系统的模板。

模型对做出的决策进行文档化。

3.UML由什么组成?

UML由图和元模型组成。图是语法。元模型是语义。UML主要包括三个基本构造块:

事物(Things)

关系(Relationships)

图(Diagrams)

1)事物

事物是实体抽象化的最终结果。是模型中的基本成员。

(1)结构事物(Structural Things)是模型中的静态部分。主要用来呈现概念或实体的表现元素。分为以下7种:

类(Class):指具有相同属性、方法、关系和语义的对象的集合。

接口(Interface):指类或组件所提供的的服务。描述了类或组件对外可见的动作。

协作(Collaboration):描述合作完成某个特定任务的一组类及其关联的集合。用于对使用情形的实现建模。

用例(Use Case):定义了执行者和被考虑的系统之间的交互来实现一个业务目标。

活动类(Active Class):活动类的对象有一个或多个进程或线程。活动类和类很像。只是它的对象所代表的元素的行为和其他的元素是同时存在的。

组件(Component):是物理的、可替换的部分。包含接口的集合。

结点(Node):是系统在运行时存在的物理元素代表一个可计算的资源。通常占用一些内存和具有处理能力。

(2)行为事物(Behavioral Things)指的是UML模型中的动态部分。代表语句里的“动词”。表示模型里随着时空不断变化的部分。包括如下两类:

交互(Ineraction):交互是由一组对象之间在特定上、下文中。为了达到特定的目的而进行的一系列消息交换而组成的动作。

状态机(State Machine):状态机由一系列对象的状态组成。

(3)分组事物(Grouping Things)可以看成是一个“盒子”。模型可以在其中被分解。目前只有一种分组事物——包(Package)。结构事物、动作事物甚至分组事物都可能放在一个包中。包只存在于开发阶段。而组件在运行时存在。

(4)注释事物(Annotational Things)是UML模型的解释部分。

2)关系

关系是将事物联系在一起的方式。UML中有如下四种关系:

依赖(Dependencies):两个事物之间的语义关系。其中一个事物发生变化会影响另一个事物的语义。

关联(Association):一种描述一组对象之间连接的结构关系。

泛化(Generalization):一种一般化——特殊化的关系。

实现(Realization):类之间的语义关系。其中一个类指定了由另一个类保证执行的契约。

3)图

图是事物集合的分类。主要包含以下几种:

类图(Class Diagram):描述系统所包含的类、类内部结构及类之间的关系。

对象图(Object Diagram):是类图的一个具体实例。

组件图(Compoment Diagram):描述代码部件的物理结构以及各部件之间的依赖关系。

部署图(Deployment Diagram):定义系统中软、硬件的物理体系结构。

用例图(Usecase Diagram):从用户的角度出发描述系统的功能、需求。展示系统外部的各类角色与系统内部的各种用例之间的关系。

时序图(Sequence Diagram):表示对象之间动态合作的关系。

协作图(Collaboration Diagram):描述对象之间的协作关系。

状态图(Statechart Diagram):描述一类对象的所有可能的状态及事件发生时状态的转移条件。

活动图(Activity Diagram):描述系统中各种活动的执行顺序

统一的标准;

面向对象。UML是支持面向对象软件开发的建模语言。

可视化、表现能力强。

独立于过程。UML不依赖于特定的软件开发过程。

概念明确。建模表示法简洁。图形结构清晰。容易掌握和使用。

二、UML图1.UML用例图

UML用例图用于表示用户与系统交互的场景。其中用例用椭圆表示。

具体步骤如下所示:

启动StarUML软件。

建立一个空白的Use Case Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Use Case Diagram”;创建了一个空的用例图之后可以看到“Toolbox”中有“Actor”和“UseCase”等供用户选择使用。)

绘制UML用例图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML用例图如下:

UML类图用于表现类的特征。类图描述了多个类、接口的特征。以及对象之间的协作和交互。类图用一个或者多个矩形区域构成。每个类图的内容包括:

类型。即类名;

属性。是可选的;

方法。是可选的。

具体步骤如下所示:

启动StarUML软件。

建立一个空的Class Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Class Diagram”;创建了一个空的类图之后可以看到“Toolbox”中有“Class”和“Interface”等供用户选择使用。)

绘制UML类图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML类图如下:

3.UML对象图

UML对象图用于表现对象的特征。它能够展现对象的特征及对象之间的交互关系。

具体步骤如下:

启动StarUML软件。

建立一个空的Class Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Class Diagram”;创建了一个空的类图之后可以看到“Toolbox”中有“Object”等供用户选择使用。)

绘制UML对象图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML对象图如下:

UML组件图用于表现组件之间的关系。

具体步骤如下:

启动StarUML软件。

建立一个空的Component Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Component Diagram”;创建了一个空的类图之后可以看到“Toolbox”中有“Component”等供用户选择使用。)

绘制UML组件图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML组件图如下:

UML部署图用于表现软件部署的物理设备信息。

具体步骤如下:

启动StarUML软件。

建立一个空的Component Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Deployment Diagram”;创建了一个空的类图之后可以看到“Toolbox”中有“Node”等供用户选择使用。)

绘制UML部署图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML部署图如下:

UML时序图用于表现一段时间内多个对象之间的交互信息。时序图强调消息交互的时间顺序。

具体步骤如下:

启动StarUML软件。

建立一个空的Sequence Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Sequence Diagram”;创建了一个空的类图之后可以看到“Toolbox”中有“Object”等供用户选择使用。)

绘制UML时序图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML时序图如下:

UML协作图用于表现一定范围内对象之间协作的信息。强调参与信息交流的对象之间的组织结构。

具体步骤如下:

启动StarUML软件。

建立一个空的Collaboration Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Collaboration Diagram”;创建了一个空的类图之后可以看到“Toolbox”中有“Object”、“ForwardSrimulus”、“ReverseStimulus”等供用户选择使用。)

绘制UML协作图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML协作图如下:

UML状态图重点强调对象在不同事件触发时。其内部状态的变化过程。

具体步骤如下所示:

启动StarUML软件。

建立一个空的Statechart Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Statechart Diagram”;创建了一个空的类图之后可以看到“Toolbox”中有“State”、“InitialState”、“FinalState”、“Transition”等供用户选择使用。)

绘制UML状态图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML状态图如下:

UML活动图用于描述活动的流程。

具体步骤如下:

启动StarUML软件。

建立一个空的Activity Diagram。(选中右上角的“Model Explorer”中的“Use Case Model”;右键单击“Use Case Model”并选中弹出菜单“Add Diagram”中的“Activity Diagram”;创建了一个空的类图之后可以看到“Toolbox”中有“InitialState”、“FinalState”、“Decision”、“ActionState”、“Transition”等供用户选择使用。)

绘制UML活动图。

保存。(可以保存为一个UML文件。也可以保存为一张图片。)

UML活动图如下:

1、类与继承泛化(Generalization)泛化关系:是一种继承关系。表示一般与特殊的关系。它指定了特化父类的所有特征和行为。箭头指向:带三角箭头的实线。指向父类。代码表现:extends

图示如下:

2、接口与实现(Realization)实现关系:是一种类与接口的关系。表示类是接口所有特征和行为的实现。箭头指向:带三角箭头的虚线。箭头指向接口或者是直线连接圆圈。代码表现:implements

图示如下:

3、依赖(Dependency)依赖关系:是一种使用的关系。即一个类的实现需要另一个类的协助。所以要尽量不适用双向的相互依赖。箭头指向:带箭头的虚线。箭头指向需要协助的类。代码表现:import。

图示如下:

4、关联(Association)关联关系:是一种拥有的关系。它使一个类知道另一个类的属性和方法;双向的关联可以有两个箭头或者没有箭头。单向的关联有一个箭头。箭头指向:带普通箭头的实心线。指向被拥有者。代码体现:成员变量

图示如下:

5、聚合(Aggregation)聚合关系:是整体与部分的关系。且部分可以离开整体而单独存在。箭头指向:带空心菱形的实心线。菱形指向整体。代码体现:成员变量

图示如下:

6、组合(Composition)组合关系:是整体与部分的关系。但部分不能离开整体而单独存在。箭头指向:带实心菱形的实线。菱形指向整体。代码体现:成员变量

图示如下:

我是一名架构师。欢迎关注交流。探讨技术的那点事儿

您还感兴趣的文章推荐

以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

发表评论

您的电子邮箱地址不会被公开。

评论(2)

  • 长空夕醉 永久VIP 2022年12月27日 22:57:56

    关系,对象,箭头,保存为,中有,模型,事物,右键,弹出,可以看到

  • 公主抱 永久VIP 2022年12月27日 22:57:56

    没想到大家都对“程序猿”如何画UML类图?感兴趣,不过这这篇解答确实也是太好了

  • 小新卖蜡笔 永久VIP 2022年12月27日 22:57:56

    谢谢邀请。一、UML简介1.什么是UML?UML是面向对象分析与设计时的行业标准。全称为Unified Model