uml10种基本图(uml5类10图-编程之家

在制定项目设计方案时,在了解需求后,我们将制定技术设计方案。 此时,需要使用UML建模。 与UML的常见图形和工具绘制有关。 以下详细介绍了UML图形和我个人推荐的UML建模工具。

UML是统一模型语言,是建模语言,也是标准建模语言。 在软件开发中,当系统规模复杂时,需要用图形抽象地表达复杂的概念,使整个软件设计更具可读性、可理解性,及早发现软件设计时存在的潜在问题,降低开发风险。 此外,业务人员与开发人员的沟通也非常方便。

UML常用建模图

UML标准建模语言中的5种主要类型图:

uml10种基本图(uml5类10图-编程之家

1、用例图:要从用户的角度描述系统的功能,指出各个功能的操作者。

2、静态图像:包含类图和对象图。 类图是静态模型类型,用于表示类之间的关系、类的属性和操作,在系统的整个生命周期中有效。 对象图是类图的一个示例,使用与类图几乎相同的id,但其生命周期有限,只能存在于系统中的某个时间段。

3、相互作用图:包含时序图和协调图,用于描述对象之间的相互关系。 时序图中强调的是对象间的消息发送顺序,是对象间的动态伙伴关系。 协作图用于说明对象之间的协作关系,它既显示对象之间的动态协作关系,也显示对象与其之间的关系。 时序图用于强调时间和顺序,协作图用于强调上下关系。

4、行为图:包含活动图和状态图,用于描述系统动态模型的构成对象之间的相互关系。 活动图描述了为满足用例要求而进行的活动和活动之间的约束关系,可以容易地识别和进行活动。 状态图是对类的补充,是描述类的对象的所有可能状态和事件发生时的状态的转移条件。

5、实现图:包括配置图和组件图。 部署图用于表示建模系统的物理部署。 组件图用于表示建模软件的组织和相互关系。

UML建模时常见的9种图:

uml10种基本图(uml5类10图-编程之家

1、用例图:

用例图是需求分析的产物,主要用于说明用户如何使用系统,是用户可以观察和使用的系统功能的模型图。

2、类图:

UML类图用于描述系统中的类和类之间的关系。 系统有多个类图,一个类图只代表系统的一个方面。 类图有助于在正确编写代码之前充分了解系统。 这是建模中最常见的类型图。

3、对象图:

对象图表示一组对象之间的关系,而不是类之间的关系。 虽然是类图的一个变体,但是对象显示的不是实际的类,而是类的多个对象。

4、活动图:

UML活动图实际上是一种UML动态模型,对系统的功能建模尤为重要。 描述为满足用例要求而进行的活动和活动之间的约束关系,有助于识别并行活动。 简单地说,它表示在处理某个活动时两个或多个对象之间的流程控制流。

5、状态图:

UML状态图。 表示状态机(对象可能位于的状态)和状态之间的转变。 使用状态图建模,开发人员可以帮助分析复杂对象的各种状态的转变以及对象何时执行何种操作。

6、时序图:

UML时序图(也称为序列图或序列图)描述了对象之间消息传输的时间顺序,并描述了用例中的行为顺序。

七、合作图:

UML协作图(也称为通信图)是一种交互图,它强调了发送和接收消息的对象之间的组织结构,说明了对象之间如何交互以执行特征用例或用例中的特征部分行为。

8、装配图:

UML组件图(也称为组件图)是用于描述用于在软件系统中遵循和实现一系列接口的物资的可替换软件模块。 这代表了系统的静态实现结构,有助于开发人员对系统配置达成一致的认识。

9、配置图:

UML部署图是说明系统的硬件配置和部署以及软件组件和模块分布在不同节点上的模型图。 这有助于系统相关人员了解系统中的各个组件部署在哪个硬件上,以及硬件之间的相互关系。

UML中的图差异:

1、各有各的重点:比如用例图侧重于描述用户的需求,类图侧重于描述系统的具体实现。

2、记述的侧面各不相同。 例如,类图用于描述系统的结构,序列图用于描述系统的行为。

3、抽象的层面也不同。 例如,头视图是用于描述系统的模块接合

构,抽象层次比较高,而对象图则用来描述具体的模块实现,抽象层次就比较低。

UML工具

uml10种基本图(uml5类10图-编程之家

Visio

Visio 原来仅仅是一种画图工具,能够用来描述各种图形(从电路图到房屋结构图),也是到VISIO2000才开始引进软件分析设计功能到代码生成的全部功能,它可以说是目前最能够用图形方式来表达各种商业图形用途的工具。

Rational Rose

ROSE是直接从UML发展而诞生的设计工具,它的出现就是为了对UML建模的支持,ROSE一开始没有对数据库花痴的唇膏的支持,但是在现在的版本中已经加入数据库建模的功能。ROSE主要是在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,主要体现在能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗(但是它的结构仅仅对那些对掌握UML的开发人员,也就是说对客户了解系统的功能和流程等并不一定很有效),对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。

PowerDesign

PowerDesigner原来是对数据库建模而发展起来的一种数据库建模工具。直到7.0版才开始对面向对象的开发的支持,后来又引入了对UML的支持。但是由于PowerDesigner侧重不一样,所以它对数据库建模的支持很好,支持了能够看到的90%左右的数据库,对UML的建模使用到的各种图的支持比较滞后。但是在最近得到加强。

Enterprise Architect(EA)

Enterprise Architect是一个全功能的、基于UML的visual CASE工具,主要用于设计、编写、构建并管理以目标为导向的软件系统。它支持用户案例、商务流程模式以及动态的图表、分类、界面、协作、结构以及物理模型。此外,它还支持C++、Java、Visual Basic、Delphi、C#以及VB.Net。

这个是我用过的最好的UML工具之一,个人推荐使用。

Umlet

开源的免费UML工具,这个软件实际上是用JAVA写的,还有有一套简化的语言,提供用编码的方式画时序图等各种图,也可以用code的方式自定义页面元素。

最后,UML建模除了画图本身以外,最重要的是理清整个设计方案思路,这一点才UML画图的精髓所在。


没钱没人脉也能轻松入门,让你每年多赚10万!

uml10种基本图(uml5类10图-编程之家