西安财经学院函授UML

院校:新疆大学研究生培训 发布时间:2020-01-28 10:30:03

UML

UML突破了以往编程语言在编辑器中逐行写代码的模式,提出面向接口设计、图形化开发界面的新方法。Jacobson于1994年提出了OOSE方法,其最大特点是面向用例(use-case),并在用例的描述中引入了外部角色的概念。用例的概念是精确描述需求的重要武器,用例贯穿于整个开发过程,包括对系统的测试和验证。OOSE比较适合支持商业工程和需求分析。

Booch、Rumbaugh和Jacobson于1996年6月和10月共同发布了两个新的版本,即UML0.9和UML0.91,并将UM重新命名为UML(unified modeling language)。UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言,它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。

1.UML的内容

UML的重要内容可以由下列5类图(共9种图形)来定义。

(1)第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。

(2)第二类是静态图(static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包图由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。

(3)第三类是行为图(behavior diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
(4)第四类是交互图(interactive diagram),描述对象间的交互关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。

(5)第五类是实现图(implementation diagram)。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点与可执行软件单元的对应关系。从应用的角度看,当采用面向对象技术设计系统时,第一步是描述需求;第二步是根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图5个图形,是标准建模语言(UML)的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图4个图形,是标准建模语言的动态建模机制。因此,标准建模语言的主要内容也可以归纳为静态建模机制和动态建模机制两大类。

2.UML的应用领域

U ML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。

此外,UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段,在需求分析阶段,可以用用例来捕获用户需求,通过用例建模描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。在分析设计阶段,需要从需求中识别出类以及它们相互间的关系,并用UML类图来描述,还将考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通信和并行性等问题的类),为编程(构造)阶段提供更详细的规格说明。编程(构造)是一个独立的阶段,其任务是用面向对象编程语言将来自设计阶段的类转换成实际的代码。UML模型还可作为测试阶段的依据,系统通常需要经过单元测试、集成测试、系统测试和验收测试,不同的测试小组使用不同的UML图作为测试依据:单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的行为,验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需求。