UML简介及UML用例图

本节和大家一起学习一下UML用例图,主要包括UML简介和UML用例图两部分内容,为了便于大家理解本节使用了图解,希望通过本节的介绍大家能够掌握有关UML用例图的设计思想。

统一建模语言UML基础专题之UML简介及UML用例图

为什么要学习统一建模语言UML?

面向对象编程方法学是面向对象编程的指导思想。进行面向对象编程编程的第一步是利用对象建模技术(ObjectModelingTechnique,OMT)来分析目标问题,抽象出相关对象的共性,对它们进行分类,并分析各类之间的关系,再用类来描述同一类对象,归纳出类之间的关系。Coad和Yourdon在对象建模技术、面向对象编程和知识库系统的基础之上设计了一整套面向对象的方法,分为面向对象分析(Object-OrientedAnalysis,OOA)和面向对象设计(Object-OrientedDesign,OOD)。对象建模技术、面向对象分析和面向对象设计共同构成了系统设计的过程,如图所示。这是编写代码的基础。

UML简介及UML用例图

在进行对象建模、面向对象分析和设计的过程中,需要使用建模语言来描述分析的过程和结果。统一建模语言(UnifiedModelingLanguage,UML)是为了这个目标而设计的一种标准通用的设计语言。任何想要真正理解面向对象编程思想的人,都需要具备一定的UML知识。

在这个专题中我们会陆续介绍统一建模语言UML中的UML用例图(usecasediagram)、类图(classdiagram)、对象图(objectdiagram)、序列图(sequencediagram)、状态图(statechartdiagram)、活动图(activitydiagram)、组件图(componentdiagram)和部署图(deploymentdiagram)。

统一建模语言UML简介

UML不是一种方法学,而是一种描述语言,它提供了多种类型的模型描述图(diagram),当在某种给定的方法学中使用这些图时,人们就能更容易理解和交流设计思想。UML的图可划分为如下三种类型。

—静态图(staticdiagram):描述了那些不发生变化的软件元素的逻辑结构,描绘了类、对象、数据结构及其存在于它们之间的关系。

—动态图(dynamicdiagram):展示了在运行期间的软件实体的变化,描绘了执行流程、实体改变状态的方式。

—物理图(physicaldiagram):显示了软件实体的不变化的物理结构,描绘库文件、字节文件、数据文件等,以及存在于它们之间的关系。

下表说明了三类图中最常用的一些UML图,以及它们适用的软件开发阶段。

UML简介及UML用例图


提示MicrosoftVisio可以用来方便地绘制UML图。VisualStudio2005的类关系图也可以显示类似UML的图,但是与标准的UML稍有不同。

统一建模语言UML用例图

UML用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式来理解系统的功能需求,包括基于基本流程的“角色”之间的关系,以及系统内用例之间的关系。用例图一般用于表示用例的组织关系,要么是整个系统的全部用例,要么是完成具有功能(例如,所有安全管理相关的用例)的一组用例。

用例(usecase)指的是系统的功能,它是系统某个功能的所有执行动作的集合。用例是从一个用户的观点来描述的。这个用户告诉系统去做一些特定的事情。一个用例捕获一个事件的可视化序列,这个事件是一个系统对单个用户的激励(stimulus)的响应过程。

动作者(actor)表示系统用户能扮演的角色(role) 。这些用户可能是人,也可能是其他的计算机、一些硬件,或者甚至是其他的软件系统。对用例的唯一要求是,它们必须位于用例描述的系统部分之外,它们必须能刺激系统部分,并接收返回。

用例描述了当动作者之一给系统特定的刺激时的系统活动。这些活动用文本来描述。它描述了触发用例的刺激的本质,输入和输出到其他活动者,以及从输入到输出的活动。用例文本通常也描述每一个活动可能的错误和系统应采取的补救措施。

在UML用例图中,用椭圆来表示用例,并将用例的名称放在椭圆的中心或椭圆下面的中间位置。人形符号用来表示角色(用户)。角色和用例之间的关系使用简单的线段来描述,表示角色可以操作此用例。

在UML用例图中,用一个方框来表示系统的边界。所有系统用例都放在框内,所有动作者都位于框外。动作者和用例之间用直线相连。方框内的每一件事物都是系统的一部分,方框外的每一件事物都是系统的外部。用例图也可以表示方框内的系统用例之间的关系,最常见的是“使用关系”,用带箭头的直线来表示,箭头指向被使用的用例。还有一种关系是扩展关系,用来表示继承。


 http://developer.51cto.com/art/201006/204824.htm

 

你可能感兴趣的:(UML)