第2讲 UML概述课件_第1页
第2讲 UML概述课件_第2页
第2讲 UML概述课件_第3页
第2讲 UML概述课件_第4页
第2讲 UML概述课件_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

1、2022/7/251第2讲 UML概述2022/7/252内容UML历史什么是UMLUML与软件体系结构UML构成1. UML历史2022/7/2541.1 UML产生与发展面向对象的分析与设计(OOAD)方法的发展在80年代末至90年代中出现了一个高潮.UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。2022/7/25570年代中期,公认的面向对象设计语言出现。从1989年到1994年,其数量从不到十种增加到了五十多种。Booch86,GOOD(通用面向对象的开发),HOOD(层次式

2、面向对象的设计)、OOSD(面向对象的结构设计)等一批OOD(面向对象的设计或面向对象的开发的缩写)截至1994年,公开发表并具有一定影响的OOA&D方法已达50多种。2022/7/256Rational公司的G.Booch和J.Rumbaugh决定将他们各自的方法结合起来成为一种方法。1995年10月发布了第一个版本,称作统一方法(Unified Method 0.8)OOSE的作者I. Jacobson也加入了公司,于是也加入了统一行动,发布了第二个版本UML0.9鉴于统一行动的产物是一种建模语言,而不是一种建模方法,因此称为统一建模语言在此过程中,Rational公司发起成立了UML伙伴

3、组织,开始时有12家参加,共同推出了UML1.0版,并在1997年1月提交给OMG把其他几家分头向OMG提交提案的公司纳入进来,推出了UML1.1版,在1997年11月4日被OMG采纳2. 什么是UML?2022/7/2582.1 概述UML(统一建模语言)是为软件系统的制品进行描述(specifying)、可视化(visualizing)、构造(constructing)、文档化(documenting)的一种语言。它同样适用于商业模块和其他非软件系统。在大型和复杂系统的建模中,UML成功地描述一些优秀的工程实施。2022/7/259 OOAD 最关心流程与元素 1. 描述流程(剧情) -

4、分析 2. 安排主/配角(元素)演出 - 设计2022/7/2510 OOAD 最主要的工具 UML(Unified Modeling Language) OMG 认可的世界标准 19972022/7/2511 为什么需要 UML 呢? 贝多芬作曲时使用五线谱您设计软件时使用UML2022/7/2512 Use Case 叙述 曹操举兵南下, 西蜀就拟定策略,展开部署並联络孙权,鼎力对抗曹操大军.曹操西蜀孙权西蜀 把西蜀看成黑箱 ! 准备打开西蜀黑箱2022/7/2513 Scenario 叙述 曹操赤壁之战孙权 把西蜀黑箱打开 ! 刘备关羽孔明张飞2022/7/2514 Scenario 叙

5、述 曹操赤壁之战孙权刘备关羽孔明张飞 曹操举兵南下, 刘备请孔明拟定策略. 派遣关羽和张飞防守荆州,同时请孔明联络孙权,共同对抗曹操. 孔明联合孙权,借东风,火烧曹军于赤壁.2022/7/2515 Scenario 叙述 使用UML 表示之2022/7/2516 Scenario 叙述 刘备孔明关羽求战请拟定策略张飞请防守荆州请防守荆州前线孙权曹操请联络孙权请孙权领兵相助借东风火攻火攻曹军2022/7/2517刘备的責任? 刘备求战请拟定策略请防守荆州请联络孙权我必需 迎战曹操!2022/7/2518使用UML表示 - 类图 刘备求战刘备迎战曹操迎战曹操迎战曹操迎战曹操迎战曹操迎战曹操2022

6、/7/2519使用UML表示 孔明请拟定策略请联络孙权请孙权领兵相助借东风火攻火攻曹军孔明拟定策略联合孙权借东风火攻2022/7/2520使用UML表示 关羽张飞请防守荆州请防守荆州前线关羽防守荆州张飞防守荆州前线2022/7/2521 关羽防守荆州张飞防守荆州前线刘备迎战曹操孔明拟定策略联合孙权借东风火攻UML的Class图 您已熟悉Use CaseSequence图Class 图现在准备进入OOP 阶段2022/7/25223. 认识 OOP OOP 阶段的任务 - 衔接OOAD 的工作- 从UML 到 Visual Basic- 从Visual Basic 到 COM 组件2022/7/

7、2523 使用Visual Basic 刘备迎战曹操写VB程序Class 刘备Sub 迎战曹操() End Sub2022/7/2524 孔明拟定策略联合孙权借东风火攻使用Visual Basic 写VB程序Class 孔明Function 拟定策略() End FunctionSub 联合孙权() End SubSub 借东风火攻() End Sub2022/7/2525Class 刘备Sub 迎战曹操() End Sub使用Visual BasicClass 孔明Function 拟定策略() End FunctionSub 联合孙权() End SubSub 借东风火攻() End Su

8、bClass 关羽Sub 防守荆州() End SubClass 张飞Sub 防守前线() End Sub依樣畫葫蘆准备填写 Sub內容2022/7/2526 写VB程序內容 刘备求战请拟定策略请防守荆州请联络孙权写VB程序Class 刘备Dim k As New 孔明Dim g as New 关羽Sub 迎战曹操() k.拟定策略 g.防守荆州 k.联合孙权End Sub2022/7/2527写VB程序內容 孔明请拟定策略请联络孙权请孙权领兵相助借东风火攻借东风火攻写VB程序Class 孔明Dim s As 孙权Function 拟定策略() End FunctionSub 联合孙权() s

9、.请领兵相助 s.借东风火攻End SubSub 借东风火攻() End Sub2022/7/2528 写VB代码 Class 刘备Dim k As New 孔明Dim g as New 关羽Sub 迎战曹操() k.拟定策略 g.防守荆州 k.联合孙权End SubClass 孔明Dim s As 孙权Function 拟定策略() End FunctionSub 联合孙权() s.请领兵相助 s.借东风火攻End SubSub 借东风火攻() End Sub2022/7/2529 写VB代码 把VB类编译为COM组件3. UML支持软件体系结构建模2022/7/25313.1 软件体系结构

10、为了表达不同的软件开发相关人员在软件开发周期的不同时期看待软件产品的不同侧重面, 需要对模型进行分层。UML根据软件产品的体系结构(architecture)对软件进行分层软件体系结构由一系列的决定组成, 这些决定定义了如下内容:软件系统的组织;构成软件系统的结构元素的结构及它们之间的接口;结构元素的行为及元素之间的协同(collaboration)结构元素的不断组合以构成日渐完备的子系统的过程指导软件建造过程的软件构筑风格(architectural style)静态和动态元素之间的接口、协同、构成(composition)。 2022/7/2532软件体系结构不仅仅决定软件的结构和行为,

11、而且还决定软件的:用途功能性能应变性(resilience)可重用性经济和技术方面的限制和折衷以及美学考虑(aesthetic concern) 2022/7/25333.2 体系结构的视图UML将软件的体系结构分解为五个不同的侧面,称为视图(view)。分别是:用例视图(Use case view)设计视图(design view)进程视图(process view)实现视图(implementation view)分布视图(deployment view)设计视图和进程视图又可被统一称为逻辑视图(logical view)。2022/7/2534设计视图实现视图进程视图分布视图用例视图动态

12、行为设计词汇、功能描述系统组装、配置管理性能、稳定性、吞吐率系统拓扑、分布、分发、安装2022/7/2535每个视图分别关注软件开发的某一侧面视图由一种或多种模型图(diagram)构成模型图描述了构成相应视图的基本模型元素(element)及它们之间的相互关系。2022/7/25363.3 用例视图(use case view)用例视图用来支持软件系统的需求分析,它定义系统的边界,关注的是系统的外部功能的描述。它从系统的使用者的角度,描述系统的外部的静态的功能动态行为系统的动态功能由UML以下模型图描述:交互图(interaction diagram)状态图(state-chart diag

13、ram)活动图(activity diagram)2022/7/25373.4 逻辑视图(Logical View)逻辑视图定义系统的实现逻辑, 描述为实现用例图描述的功能,在对软件系统进行设计时, 所产生的设计概念,设计概念又称为软件系统的设计词汇 (vocabulary)。逻辑视图定义了:设计词汇的逻辑结构存在于它们之间的语义联系设计词汇包括系统的类/协同/接口及其关系对逻辑视图的描述在原则上与软件系统的实现平台无关。 它相当于电子产品生产中的电原理图。逻辑视图包含的模型图有: 类图(class diagrams)对象图(object diagrams)交互图(interaction di

14、agrams)状态图(state-chart diagrams)活动图(activity diagrams) 2022/7/25383.5 实现视图(implementation view)当系统的逻辑结构在逻辑视图里被定义之后, 需要定义逻辑结构的物理实现。这包括:设计元素对应的源代码文件各物理文件之间的关系、存放路径,等等实现视图就是定义这些内容的地方,它当于电子产品的印刷电路板的布线图2022/7/2539实现视图描述组成一个软件系统的各个物理部件,这些部件以各种方式组合起来,(如: 不同的源代码经过编译,构成一个可执行系统; 或者不同的软件组件配置成为一个可执行系统;以及不同的网页文件

15、,以特定的目录结构,组成一个网站,等等) 构成了一个可实际运行的系统。实现视图包含的模型图有:部件图(Component diagram)交互图(Interaction Diagram)状态图(state-chart diagram)活动图(activity diagram)2022/7/25403.6 分布视图(Deployment View)软件产品将运行在计算机硬件系统上, 如果软件产品是面向网络的应用系统,则有可能同时运行在多个计算机上。分布视图用来描述软件产品在计算机硬件系统和网络上的安装、分发(delivery)、分布(distribution)在分布视图中,系统的静态特性用分布图

16、(deployment diagram)描述动态特性的描述用交互图(interaction diagram)状态图(state-chart diagram)活动图(activity diagram)4. UML构成2022/7/25424.1 UML基本构成从软件的体系结构出发,UML把软件模型分成了五个视图,每个视图由不同的模型图构成:模型图实际上就是UML的基本成员之一作为UML的完整的概念模型, UML的构成为:UML = UML成员 + UML建模规则2022/7/2543UML建模规则:相当于建模语言的语法 UML成员(building blocks of the UML)它是UML

17、的基本组成部分UML成员可进一步划分为UML 基本模型元素(things in UML)关系(relationship)模型图(diagram) UML成员 = UML 基本模型元素+ 关系+ 模型图 4.1.1 UML基本元素UML成员 = UML 基本模型元素+ 关系+ 模型图2022/7/2545 概述UML基本模型元素,类似于电子产品电原理图里的集成电路符号,是模型图上包含的基本符号基本模型元素可分为四类, 它们是:结构模型元素(structural things)行为模型元素(behavioral things)分组模型元素(grouping things)注解元素(annotati

18、onal things)UML基本模型元素 = 结构模型元素+行为模型元素+成组元素+注解元素 2022/7/2546 结构模型元素结构模型元素(基础包)是UML模型里的名词(noun),是模型的静态组成部分,代表软件系统的概念的, 或物理的存在。例如:类(class)是最常用的一个结构模型元素,代表一系列共享同样的属性(attributes),操作(operation),关系、语义的对象(object)。2022/7/2547结构模型元素一共有七种,它们是:类接口( interface)协同用例(use case)主动类(active class)组件(component)节点(node)在

19、这些结构元素中,最常用的包括类、用例、接口、组件等2022/7/2548 行为模型元素行为模型元素(behavioral things)(行为元素包)是UML模型的动态组成部分,它是模型的动词,代表软件系统在空间和时间上的行为行为模型元素包括两类: 交互(interaction)状态机(state machine)行为模型元素 = 交互+ 状态机2022/7/2549交互是系统内一系列的对象之间互相交换消息的行为。消息代表软件系统内两个对象中一个对象向另一个对象发出的执行某种操作的请求。交互描述了一系列的对象为完成某一项任务而联合采取的一系列的行动,其中包括这些行动在时间上的顺序,以及为执行这

20、些动作序列,对象之间所发生的语义上的联系。所以,消息是描述交互的一个重要手段。在模型图上,消息被表示为一个箭头 2022/7/2550状态机:状态机是描述一个对象的动态特性的有效手段它描述的是对象在其生命周期内,在响应外界的事件的过程中,自身的状态的变化过程。状态机包括:对象状态事件由事件引起的状态之间的变迁以及变迁发生的同时对象所执行的动作2022/7/2551 成组模型元素分治的原则:在为复杂的软件系统建模的时候,将大的问题分解为多个子问题分别描述和解决。UML提供了支持分治原则的语言成份,成组模型元素(grouping things)(模型管理包)成组模型元素只有一类,即模型包(pack

21、age)。模型包一个通用的手段, 用来组织多种语言成份,其中可包含:结构模型元素行为模型元素成组模型元素自身都可以置于模型包中。模型包是纯概念性的,只存在于软件系统的开发阶段2022/7/2552 注解模型元素注解大量存在于机械图和电子线路图中,被用来标示产品的工艺要求,等等UML中,也存在着相似的语言成分,这就是:注解元素(annotation things)注解元素只有一种,即标注(note)标注用来描述施加于一个或多个模型元素的限制,或对模型元素的语义加以说明标注的图形表示:一个折了角的长方形在长方形中写标注的内容。标注的内容可以是形式的文本, 或非形式的文本也可以是图形。4.1.2 关

22、系UML成员 = UML 基本模型元素+ 关系+ 模型图2022/7/2554结构模型元素是UML模型的静态组成部分,静态组成部分不是孤立存在的,它们被组合在一起互相协作以完成某项任务。因此,结构模型元素之间存在着某种语义上的联系。在UML中,这种联系是关系(relationship)UML中共有4种关系,它们是:关联关系(association)依赖关系(dependency)泛化关系(generalization)实现关系(realization) 4.1.3 模型图UML成员 = UML 基本模型元素+ 关系+ 模型图2022/7/2556 概述UML基本模型元素及其关系必须通过某种载体

23、表示,这种载体就是模型图(diagram)在UML中,模型图是一组UML基本模型元素的图形表示,它通常由一组节点(UML基本模型元素), 及节点之间的连线(关系)组成软件系统体系结构的5个视图的内容, 就是用模型图来表达的 一般地说,一个UML基本模型元素既可以出现在所有的模型图中,又可以出现在某些模型图中,甚至可以不在任何一个模型图上出现2022/7/25579种UML模型图。它们是:类图对象图用例图序列图协同图状态图活动图组件图分布图2022/7/2558 静态结构模型图类图包含类、接口、协同及其关系,它用来描述逻辑视图的静态属性对象图包含对象及其关系,它用来表示类图的类的对象在系统运行过

24、程中某一时刻的状态,对象也是软件系统的逻辑视图的一个组成部分 。组件图描述系统的物理实现,包括构成软件系统的各部件(运行文件)的组织和关系,类图里的类在实现时最终会映射到组件图的某个组件。一个组件可以实现多个类。组件图是软件系统实现视图的组成部分。分布图描述系统的组件在运行时在运行节点上的分布,一个节点可包含一个或多个组件。分布图是软件系统分布视图的组成部分。上述四种模型图主要用来描述软件系统的静态结构。2022/7/2559 动态特性模型图描述软件系统的动态特性的, 使用用例图序列图协同图状态图活动图2022/7/2560用例图描述系统的边界,和其上的动态行为,图中包括:用例(use cas

25、e),系统作用者(actor)及其之间的(关联)关系。用例图是用例视图的重要组成部分。序列图和协同图用来描述一组对象之间的动态交互。以用来描述系统的动态特性、外部的动态特性、内部的动态特性。状态图和活动图用于描述对象的动态特性。状态图强调对象对外部事件的响应及相应的状态变迁,活动图描述对象之间控制流的转换和同步机制。4.1.4 UML建模原则UML = UML成员 + UML建模规则2022/7/2562UML的模型图不是UML语言成份(UML成员)的简单堆砌,它必须按特定的规则有机地组合而成,从而构成一个完备的UML模型图。完备的UML模型图(well-formed UML diagram)

26、必须在语义上是一致的,并且和一切和它相关的模型和谐地组合在一起。UML建模规则包括: 名字:任何一个UML成员都必须包含一个名字作用域:UML成员所定义的内容起作用的上下文环境可见性:UML成员能被其它成员引用的方式完整性:UML成员之间互相联接的合法性和一致性。运行属性(execution):UML成员在运行时的特性。2022/7/2563完备的UML模型必须对以上的内容给出完整的解释, 当用于软件系统的建造时,UML模型是必须是完备的, 但是当模型在不同的视图中出现时, 出于不同的交流侧重点, 其表达可以是不完备的 4.2 公共机制2022/7/25654.2.1 概述在模型图上对UML成

27、员进行描绘时,存在着共同的描绘方式,它们称为:UML公共机制(UML common mechanism)使用这些公共机制,使得建模的过程易于掌握,模型易于被理解公共机制可被分解为四个方面的内容:规格说明(Specification)通用划分(Common Division)修饰(Adornment)扩展机制(Extensibility)2022/7/25664.2.2 规格说明体现了UML规则的省略性原则模型图省略某些对突出重点不重要的内容但是软件模型必须是完备的,以便于软件系统的建造,意味着此模型必须具备足够的详细信息以供软件建造之用,这些构成一个完备模型的详细信息就是模型的规格说明(spe

28、cification)所有UML模型元素都包含规格说明在模型图上被省略的内容并不代表它也不存在于模型之中,模型的完整的或完备的信息是被保存在模型的规格说明中的,而通常一个完备的模型全部内容是通过多个模型图表达出来的 2022/7/25674.2.3 通用划分在面向对象的设计中,有许多事物可以划分为抽象的描绘(class)和具体的实例UML提供了事物的这种两分法(dichotomy)表达几乎每种UML成员都有这种类/对象的两分法划分,通常对象和类使用同样的图符,在对象的名字下面加下划线以示区别。还有一种两分法是接口和实现的两分法划分,接口定义了一种协议,实现是此协议的实施。UML里这样的接口/实

29、现两分法划分包括:接口/类或部件用例和协同操作和方法2022/7/25684.2.4 修饰和扩展机制UML提供了一系列的图形化的标准建模元素,可用于描述软件系统的大多数侧面的特性但也有可能在某些情形下,由于应用领域特殊性,标准的UML建模元素, 无法完整而准确地描述软件系统的分析和设计, 这时,需要对UML的标准建模元素进行扩充, 以提高模型的表达能力UML的修饰和扩展机制就是为这个目的而设置的 2022/7/2569 标注标注是UML修饰机制的一个重要组成部分当用UML的各种建模元素为软件系统建模时,将遇到关于这些建模元素的复杂的语法、语义、原理、约束、注释等,这些内容对表达问题的某一方面很

30、重要,但又无法通过标准建模元素被完整地表达这时,可以使用标注对这些建模元素进行附加说明,例如在使用序列图来描述一组对象间的交互时,其中的消息的语义、语法无法在消息的名字字串内完整地表达,可以用标注的方法进行直观的说明。2022/7/2570对于类、模型包、部件等,也可能遇到类似的情形,因此也可以用标注的方法进行补充说明标注的手段不是软件建模独有的,在其它工业建模领域,标注也是大量存在的例如,在电子线路图上,可以通过标注对电路的电气特性进行说明。2022/7/2571标注(Note)的定义:在UML中, 标注被定义为UML的一个图形表示,它用来描述对一个或一组UML建模元素的约束或注释标注可以作

31、用于任何UML建模元素(如:类、对象、关系、消息等),用于对此建模元素的各方面的特性作补充说明、表示设计分析过程中产生的假设和决定等标注的内容对被标注的建模元素没有任何语义上的影响,它只起到增强模型的可读性的作用2022/7/2572UML对标注的内容不作任何限制,它可以是普通的文本,也可以是形式化的描述如果工具支持的话,标注还可以包含网络链接。标注的内容不宜过长。如果有很长的内容需要通过标注表达的话,可以把内容存放在一个分开的文件内,在标注内则放置对此内容的引用标注的图形化表示在UML里,标注被图形化为一个折角矩形矩形的内部放置标注的内容,标注和被标注的建模元素之间用虚线连接一个标注可以为多

32、个建模元素作标注2022/7/2573位图显示: 工作原理见 doublebuffering.docCBmpViewerView(from bmpviewer)CBmpDblBuffering(from bmpviewer)1+m_pCBmpDblBuf1+m_pCBmpDblBuf0.110.11CBmpViewerDoc(from bmpviewer)CBmpViewerData(from bmpviewer)+m_pCBmpViewerData1111位图文件, 格式参见 : http:这个类用于维护图象的当前状态简单文字对文件的引用网络连接2022/7/2574 扩展机制构造型、标记值

33、(tagged value)、约束(constraint)是UML扩展机制的组成部分2022/7/2575(1)扩展机制:构造型UML已经提供了标准的建模元素用于软件系统的建模在对软件系统进行分析和设计时,可以用这些建模元素对软件系统的动态行为和静态结构进行建模但在各种不同的应用领域,往往有可能出现用现有的建模元素无法充分表达所需内容的情况,这时需要在现有的建模元素的基础上进行扩充,产生对特定建模问题特有的建模元素,这种建模元素就是构造型2022/7/2576构造型(stereotype)的定义在UML中, 构造型(stereotype)被定义为是对UML词汇(建模元素)的扩充,用来描述和已有

34、的UML建模元素类似,但又对特定的问题领域有特殊意义的建模元素。当在UML模型现有的标准建模元素的基础上创建其构造型时,此构造型就变成了一个新的UML建模元素,这个新的建模元素除了和最初的建模元素类似之外,它可以有自己的:新的构成(用标记值表示)新的语义(可用约束表示)自己的标识符(文本的和图形化的)2022/7/2577构造型的图形表示,构造型的标识可以采取两种形式:记名的构造型(named stereotype)构造型的图标形式(stereotyped element as icon)具名构造型是在UML模型中构造型最简单的表达形式,它保留了原建模元素的图形化表示,而用构造型名来修饰原建模

35、元素的名字,以使构造型在图形化表示上区别于原建模元素。在创建一个构造型时,必须为其指定一个名字,当构造型的标识采用具名构造型的形式时,在原建模元素的图形表示的名字的上方,放置用双尖括号()括起来的构造型名。2022/7/2578构造型还可以使用自己的图标,用来代替原来的建模元素的图形化表示,这就是构造型标识的图标形式。图标形式CBmpViewerView(from bmpviewer)CBmpViewerView(from bmpviewer)具名构造型2022/7/2579(2) 扩展机制:标记值任何一个UML标准建模元素都有其基本构成例如,对于类而言,它的三个基本构成是:名字、属性、操作。

36、在特定的情形下,将有必要在建模元素的基本构成之外再增加一些构成, 此构成就是标记值(tagged value)。例如:可以在类上在增加一个名为version的标记值,用来表明词类的定义对某一特定的软件版本有效。2022/7/2580标记值的定义在UML中,标记值被定义为是对UML建模元素的构成(property)的扩充,用于为此建模元素增加新的规格说明。标记值和类的属性不同,属性定义的是被建模的事物的构成,而标记值定义的是建模元素本身的构成,就这个角度而言,标记值可以看作是UML的元数据。标记值必须是具名的,此名字应有合法的取值,如果把类的属性看作标记值的话,此标记值的名字就是“属性(attr

37、ibute)”, 而类的属性定义的集合,就是“属性”这个标记值的取值。2022/7/2581标记值的图形表示在UML里,标记值被图形化地表达为一个字符串,此字符串用花括弧括( )起来,被放置到原建模元素的名字的下方标记值的字符串由标记值的名字、取值、及分隔符组成。名字位于字符串的起始,取值位于字符串的尾部,它们之间用等号分隔。在不引起混淆的情况下,标记值的名字可以省略。2022/7/2582标记名被省略transserverOnleServerprocessors=3完整的标记值2022/7/2583(3) 扩展机制:约束和标记值对UML建模元素的构成进行扩充类似,UML提供了对UML建模元素

38、的语义进行扩充的机制,这机制被称为约束。约束的定义:在UML里,约束用来扩充UML建模元素的语义,以便增加新的规则或修改已有的规则在UML里,每一个建模元素都有明确的语义,语义规定了用建模元素为软件系统建模的规则。如果在建模时,有些特定的规则不包含在现有的UML语义内,可以用约束对建模元素的现有建模规则进行扩充。约束为对应的建模元素规定了一个条件,对于一个完备的模型而言,此建模对象必须使该条件被满足。2022/7/2584约束的图形化表示在UML里,约束被图形化为一个文本串,此文本串被括在一对花括号内,并被放置在被约束的建模元素附近例如,通常,关联关系只表示两个类之间的语义连接,而在图中,需要

39、表示用继承关系实现的多个鼠标工具的切换。这时,任何时刻,指向它们的基类的指针只和一个导出类相关连,为了表达这种情形,这些关联关系加以约束(or),以表示任意时刻,类CmainFrame的关联角色m_pCToolBase 或者和CtoolZoom关联,或者和CtoolPan关联。2022/7/2585or 约束:任何时刻只和一个导出类相关CToolPan(from bmpviewer)CToolZoom(from 图7.8 继承关系)CToolBase(from bmpviewer)CMainFrame(from bmpviewer)+m_pCToolBase+m_pCToolBase+m_pC

40、ToolBaseor鼠标工具切换机制2022/7/2586(4) 标准扩展UML的扩展机制应有节制地使用,避免产生过多的“方言”而影响UML交流功能的发挥。为此,UML提供了一些标准的扩展元素,称为标准扩展(standard elements)标准扩展可适用于大多数软件系统的建模,因此在建模时,通常应优先使用这些标准的扩展元素,其次再考虑设计自己的扩展元素2022/7/2587(4)标准扩展:文档文档(documentation)是一个标记值,可以用于所有的UML建模元素。其取值可以是对此建模元素的注释、描述或解释在一些工具里,此标记值不通过标准的标记值的图形表达法显示,而是在其用户界面上用一个标准窗口来显示。2022/7/2588标记值:文档某些工具(Rational Rose)将文档作为建模对象的规格说明窗口的一部分2022/7/2589(4)标准扩展:标准构造型UML是一个通用的建模语言,它的建模对象不仅仅局限于软件系统在用UML进行软件系统的分析设计时,需要对这些建模元素的语义进行强化,这如同在人类的自然语言在不同的专业领域有不同的专业术语一样。202

温馨提示

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

评论

0/150

提交评论