系统分析与设计——统一建模语言UML.ppt_第1页
系统分析与设计——统一建模语言UML.ppt_第2页
系统分析与设计——统一建模语言UML.ppt_第3页
系统分析与设计——统一建模语言UML.ppt_第4页
系统分析与设计——统一建模语言UML.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,北京理工珠海学院,统一建模语言,UML,6.1 统一建模语言概念 6.2 UML中的图 6.3统一建模语言 6.4统一建模语言 6.5统一建模语言,第6章 统一建模语言UML,北京理工珠海学院,6.1统一建模语言概念,unified modeling language;UML是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义实现对系统进行面向对象的描述和建模。 支持模型化和系统开发的图形化语言,为系统开发的所有阶段提供模型化和可视化支持,包括由需求分析到构造和配置.,北京理工珠海学院,6.1.1 UML的发展,面向对象建模语言出现于70年代中期。从1989年到1993年,其数量从不

2、到十种增加到了五十多种面向对象建模语言出现于70年代中期。从1989年到1994年,其数量从不到十种增加到了五十多种. 到了二十世纪九十年代中期,出现了第二代面向对象方法,著名的有Booch93、OOSE、OMT-2等。 2. Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。这种方法用对象模型、动态模型、功能模型和用例模型,共同完成对整个系统的建模. 3. Jacobson于1994年提出了OOSE方法,其最大特点是面向用例(Use-Case),并在用例的描述中引入了外部角色的概念 4.1996年,UML作为第三代用来为对面向对象

3、开发系统的产品,进行可视化开发的图形化工具.,北京理工珠海学院,6.1.2UML主要内容,UML融合了Booch、OMT和OOSE方法中的基本概念 . UML的定义包括UML语义和UML表示法两个部分. (1) UML语义 描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响.此外UML还支持对原模型的扩展定义.,北京理工珠海学院,(2) UML表示法,定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用

4、级的模型,在语义上它是UML元模型的实例。 标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:,北京理工珠海学院,五类图,第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者 . 第二类是静态图 ,包括类图、对象图和包图 . 第三类是行为图,描述系统的动态模型和组成对象间的交互关系。行为图包括:状态图、活动图、顺序图和协作图 第四类是交互图,描述对象间的交互关系。(顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,显示对象间的动态合作关系和对象以及它们之间的关系)。如果强调(时间和顺序,则使用顺序图);如

5、果强调(上下级关系,则选择合作图)。这两种图合称为交互图. 第五类是实现图 ,其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。构件图有助于分析和理解部件之间的相互影响程度。,北京理工珠海学院,6.1.2统一建模语言特点,(1)面向对象:支持面向对象技术的主要概念,提供 了一批基本的模型元素表示图形和方法,简明表 达面向对象的各种概念. (2)可视化:通过UML的模型图清晰表示系统的逻辑 模型和实现模型,还用于各种复杂系统的建模. (3)独立于过程:独立于开发过程. (4)独立于程序设计语言:

6、建好的系统模型可用任何 面向对象的语言来实现. (5)易于掌握和使用:结构清晰,建模简明易于掌握,北京理工珠海学院,6.1.3 UML应用领域,UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域. UML适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的关系,并用UML类图来描述。为实现用例,类之间需要协作,这可以用UML动态模型来描述。在分析阶段,只对问题

7、域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性等问题的类)。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。,北京理工珠海学院,6.1.4 UML组成,UML支持从需求分析到开发设计过程,UML通过三类图形建立系统模型; 用例图 静态结构图(对象类图,对象图,组件图,配置图) 动态行为图(顺序图,协作图,状态图,活动图) UML组成-由图,元模型组成; 其中:图语法; 元模型语义; UML包括三个基本构造快(事物,关系,图),北京理工珠海学院,1. 事物,事物是实体抽象化的最终结果,是模型中的基本成员,UML包

8、含有: 构件事物 行为事物 分组事物 注释事物 (1)构件事物是模型中的静态部分,描述概念 或实体的表现元素,是系统建模的(2),共有(7)种;类,接口.协作,用例,活动类,组件, 节点等.,北京理工珠海学院,构件事物实体常见元素,类具有相同属性,方法,关系和语义的对象集合 接口指类或组件所提供的服务(操作),描述类或组件对外可见的动作; 协作描述合作完成某个特定任务的一组类及关联的集合,用于使用情形的实现建模; 用例定义执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互来实现的一个业务目标. 活动类它的对象是一个或多个进程或线程.和类相似,只是它的对象代表的元素的行为和其他的元素是同

9、时存在的 组件是物理的可替换的部分,包含接口的集合,如:JAVA等 节点系统在运行时存在的物理元素,它代表一个计算的资源,通常占用一些内存和具有处理能力.,北京理工珠海学院,UML中各种事物的图示法,北京理工珠海学院,(2)行为事物,指的是UML模型的动态部分,它代表语句里的”动词”,表示模型里随着时空不断变化的部分,包括2类: 交互一组特定对象在特定目的进行的 一系列消息交换而组成的动作; 状态机由一系列状态组成的;,北京理工珠海学院,(3)分组事物,分组事物称为“包” 包括(构件事物,动作事物),将它看作一个盒子,模型在其中被分解,包只存在于开发阶段. 注释事物是UML模型的解释部分.,北

10、京理工珠海学院,图形描述UML组成,北京理工珠海学院,Booch面向对象设计方法,Booch所采用的对象模型要素是:封装、模块化、层次类型、并发。 包括类图、对象图、状态转换图、交互图、模块图和进程图等六种图示; 重要的概念模型是类和对象、类和对象的特征、类和对象之间的关系。使用的图形文档有六种 ;,北京理工珠海学院,2.UML中的关系,关系能把建模语言中的事物组合联系在一起,在UML中有四种关系: 1. 依赖;-两个事物之间的语义关系,一个事物发生变化影响另一个事物的语义; 2. 关联:-是一种描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系) 3. 泛化:-一种一般

11、化到特殊化的关系 4. 实现:-是类之间的语义关系,其中的一个类指定 了由另一个类保证执行的契约.,北京理工珠海学院,6.2 UML中的图,用例图(use case diagram) ; 类图(class diagram); 对象图(object diagram); 包图(package diagram) ; 交互图(interaction diagram) :交互图包括顺序图和协作图两种; 状态图(statechart diagram) ;,北京理工珠海学院,用例图1,用例建模是UML建模的一部分,它也是UML里最基础的部分。用例建模的最主要功能就是用来表达系统的功能性需求或行为。 用例建模

12、可分为用例图和用例描述。 (1)用例图由参与者(Actor)、用例(Use Case)、系统 边界、箭头组成,用画图的方法来完成。 (2)用例描述用来详细描述用例图中每个用例,用文本文 档来完成。 参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。 还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。,北京理工珠海学院,例1:,如小明是图书馆的管理员,他参与图书馆管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的

13、参与者。参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。,北京理工珠海学院,用例图2,用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。这是 UML对用例的正式定义。 用例是参与者想要系统做的事情。对于对用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。,北京理工珠海学院,例2:用例描述,北京理工珠海学院,参与者,UseCaseName,AssociationName,(From Use Case View),(From Use Case View),图6-5

14、 UML用例图,用例图包括 三个部分; 用例( Use Case ) 参与者(Actor) 关系 参与者活动者,角色; 用例系统行为动态描述 关系包含、扩展、类属 关系;,例3:图书借阅系统中图书管理员用例图描述如下:,北京理工珠海学院,借书管理,还书管理,(From Use Case View),(From Use Case View),(From Use Case View),(From Use Case View),图书借阅者,图书管理员,图6-6图书借阅系统中图书管理员用例图,(1)关系描述(包含),北京理工珠海学院,包含关系封装一组相似动作,为多个基用例复用 基用例用来控制与包含用例

15、的关系,以及被包含 用例的事件流是否会插入到基用例的事件 流中; 例如:一个系统总是存在维护某某信息的功能,如 果将它作为一个用例,那么新建、编辑、修 改都要在用例详述中描述,这就过于复杂 了; 如果分成新建用例、编辑用例和删除用例, 则划分太细。这时,可以用包含关系来理 清关系,如图6-7所示;,例4:用例包含关系,北京理工珠海学院,Actor,维护*,修改*,删除*,添加*,图6-7 用例包含关系,include,include,include,包含关系用例的订单输入子系统,北京理工珠海学院,扩展关系指将基用例中一段相对独立并可选的动作,用扩展用例加以封装,再让它从基用例中声明的扩展点上进

16、行扩展,从而使基用例行为更简练和目标更集中。 扩展用例为基用例添加新的行为; 例如,(2)关系描述(扩展),北京理工珠海学院,例5:用例扩展关系,系统允许用户对查询的结果进行导出、打印操作 导入、打印和查询是相对独立的,而且为查询添加了新行为,用扩展关系描述如下:,北京理工珠海学院,图书借阅信息查询,打印查询结果,(From Use Case View),(From Use Case View),图书管理员,(From Use Case View),导出查询结果,(From Use Case View),include,include,案例:泛化、扩展关系,下面左图给出了一个扩展关系的例子,在

17、还书的过程中,只有在例外条件(读者遗失书籍)的情况下,才会执行赔偿遗失书籍的分支流。 泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。如在右图中,订票是电话订票和网上订票的抽象。,北京理工珠海学院,继承、包含、扩展的综合,北京理工珠海学院,(3)类属关系,用例间的类属关系如同类间的类属关系,子用例继承父用例的行为和含义,但可以表现出更特别的行为。 子用例可以使用父用例的一段行为,也可以重载它,父用例通常是“抽象的”。 例6:在OA系统中,可能存在许多需要部门领导审批的事情,但是领导审批的流程是相似的,这时,可以用类属关系来表示,如

18、图6-8。,北京理工珠海学院,北京理工珠海学院,审批,请假审批,公文审批,领导,图6-8 用例类属关系图,5.用例描述,用例图只是简单地用图描述了一下系统,但对于每个用例,我们还需要有详细的说明,这时我们就需要写用例描述。 对于用例描述的内容,必须将重要的内容写进用例描述里面。 用例描述一般包括: 简要描述(说明) 其他事件流 前置(前提)条件 异常事件流 基本事件流 后置(事后)条件,北京理工珠海学院,用例描述,简要描述:对用例的角色、目的的简要描述; 前置条件:执行用例之前系统必须要处于的状态,或者要满足的条件; 基本事件流:描述该用例的基本流程,指每个流程都“正常”运作时所发生的事情,没

19、有任何备选流和异常流,而只有最有可能发生的事件流; 其他事件流:表示这个行为或流程是可选的或备选的,并不是总要总要执行它们; 异常事件流:表示发生了某些非正常的事情所要执行的流程; 后置条件:用例一旦执行后系统所处的状态;,北京理工珠海学院,6.2.4 类图与对象图,1.类图:-是面向对象模型的最基本 模型元素,用来描述对象 模型的静态结构。表达类 集、接口集、协作及它们 之间的关系,是定义其他 图形的基础。,北京理工珠海学院,类图组成:,类 接口 协作 依赖,北京理工珠海学院,类图通过三种方式来构建; (1)对系统的词汇建模 (找名词) (2)对简单的协作建模 (找接口) (3)对逻辑数据库

20、模式建模 (面向对象数据库的方式),类图的表示,在UML中,类用长方形表示,垂直地分为3个区; 顶部区域类的名字 中部区域类的属性 底部区域类的操作;如图6-9;,北京理工珠海学院,学生,学号:int 姓名:char 性别:char 专业:char,注册( ) 姓名( ),类,图6-9 类,图6-10 类图,Class2,Class4,Class1,Class3,类属,关联,依赖,聚合,关联,1包含3,2. 对象图,北京理工珠海学院,对象图(Object Diagram)描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。 在UML中,对象图使用的是与

21、类图相同的符号和关系,因为对象就是类的实例 下图显示了对象图的模型。其中节点可以是对象也可以是类,连线表示对象之间的关系:,objece1,objece2,图 6-11 对象图,类图和对象图的区别,北京理工珠海学院,对象图,对象图的表示法,对象名:由于对象是一个类的实例,因此其名称的格式是“对象名:类名”,这两个部分是可选的,但如果是包含了类名,则必须加上“:”,另外为了和类名区分,还必须加上下划线。 属性:由于对象是一个具体的事物,因此所有的属性值都已经确定,因此通常会在属性的后面列出其值。 阅读对象图 首先找出所有的类,即在“:”之后的名称 整理完之后,就可以通过对象的名字来了解其含义 按

22、类来归纳属性,然后再通过关联来确定含义.,北京理工珠海学院,绘制对象图的过程,先找出类和对象,通常类在关键字之后,而对象名则通常是在类名之后的 然后对其进行细化的关联分析,绘制出相应的对象图.,北京理工珠海学院,北京理工珠海学院,类图和对象图的区别,5.2.5交互作用图,表示对象之间的交互; 是描述一组对象如何合作完成每一个行为的模型化工具; 主要用于对用例中的控制流的建模 一个交互图表达一个用例的行为,表示该用例中若干个实例对象和对象之间所传递的消息; UML中交互图有两种,顺序图和协作图,其中协作图也叫通信图,并增加了交互概观图和计时图。,1.顺序图,它完成每一个行为的对象类和这些对象类之

23、间所传递的消息的时间顺序。 顺序图将交互关系表示为二维图; 纵向是时间轴,时间沿竖线向下延伸; 横向轴代表协作中各独立对象的类元角色 类元角色用生命线表示; 当对象存在时,角色用一条虚线表示; 当对象的过程处于激活状态时,生命线用一个双道线表示;如图P88:,用于显示组件及其交互关系的空间组织结构; 用途: (1)通过描述对象之间消息的移动情况来反映具体 脚本; (2)显示对象及其交互关系的空间组织结构,而非 交互的顺序; 例如:描述工资管理系统“打印工资单”用例的协作图,2.协作图,Print Client,:Printerlnterface,Print Servicet,:Paycheck,:PaycheckPrinterlmage,:EmPloyee,Printer,1;Print(Paycheckstring),2:create(paycheck),7:buildPrintImage(),9:print(),8:Print(theImage),3:getEmployec(),6:getAmout(),4:getEmployecName(),5:getEmployecID,协作图,5.2.6 活动图,是动态建模的5个视图之一,是一个流图,用于描述活动到活动的控制流; 它记录了单个操作或方法的逻辑;单个用户案例,或单个业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论