支持UML的工具课件

上传人:494895****12427 文档编号:241017985 上传时间:2024-05-24 格式:PPT 页数:88 大小:2.49MB
返回 下载 相关 举报
支持UML的工具课件_第1页
第1页 / 共88页
支持UML的工具课件_第2页
第2页 / 共88页
支持UML的工具课件_第3页
第3页 / 共88页
点击查看更多>>
资源描述
IS ArchitectureIS Architecture上节课重点上节课重点v面向对象的软件工程方法,它包括:面向对象的软件工程方法,它包括:v 面向对象的分析(面向对象的分析(OOA OOA Object Oriented Object Oriented AnalysisAnalysis)v 面向对象的设计(面向对象的设计(OOD OOD Object Oriented DesignObject Oriented Design)v 面向对象的编程(面向对象的编程(OOI OOI Object Oriented Object Oriented ImplementationImplementation)v 面向对象的测试(面向对象的测试(OOT OOT Object Oriented TestingObject Oriented Testing)v 面向对象的维护(面向对象的维护(OOSM OOSM Object Oriented Software Object Oriented Software MaintenanceMaintenance)1上节课重点面向对象的软件工程方法,它包括:1IS ArchitectureIS Architecture上节课重点上节课重点v面向对象方法的优点:面向对象方法的优点:v(1 1)按照人类的自然思维方式,面对客观世界)按照人类的自然思维方式,面对客观世界建立软件系统模型,有利于对问题领域和系统责建立软件系统模型,有利于对问题领域和系统责任的理解,有利于人员交流。任的理解,有利于人员交流。v(2 2)对需求变化的适应性。)对需求变化的适应性。v(3 3)支持软件复用。)支持软件复用。v(4 4)可维护性好。)可维护性好。2上节课重点面向对象方法的优点:2IS ArchitectureIS Architecture上节课重点上节课重点v面向对象的分析的基本过程如下:面向对象的分析的基本过程如下:v(1 1)问题领域分析)问题领域分析v(2 2)发现和定义对象与类)发现和定义对象与类v(3 3)识别对象的外部联系)识别对象的外部联系v(4 4)建立系统的静态结构模型)建立系统的静态结构模型v(5 5)建立系统的动态行为模型)建立系统的动态行为模型3上节课重点面向对象的分析的基本过程如下:3IS ArchitectureIS Architecture上节课重点上节课重点v面向对象的设计面向对象的设计 基本过程如下:基本过程如下:v(1 1)设计对象与类)设计对象与类v(2 2)设计系统结构)设计系统结构v(3 3)设计问题领域子系统)设计问题领域子系统 v(4 4)设计人机交互子系统)设计人机交互子系统v(5 5)设计数据管理子系统)设计数据管理子系统v(6 6)设计任务管理子系统)设计任务管理子系统v(7 7)设计优化,提高系统的性能)设计优化,提高系统的性能 4上节课重点面向对象的设计基本过程如下:4IS ArchitectureIS Architecture本章内容本章内容v1.1.什么是什么是UMLUMLv2.UML2.UML是一种语言是一种语言v3.UML3.UML的主要特点的主要特点v4.4.UMLUML的构成的构成v5.UML5.UML模型的体系结构模型的体系结构v6.UML6.UML语言的体系结构语言的体系结构v7.UML7.UML与面向对象建模简介与面向对象建模简介5本章内容1.什么是UML5IS ArchitectureIS Architecture基本要求基本要求v对面向对象的基本概念和技术有概括的本质的认对面向对象的基本概念和技术有概括的本质的认识识v了解面向对象的分析方法了解面向对象的分析方法v了解面向对象的设计过程了解面向对象的设计过程v了解学习了解学习UMLUML的目的、的目的、UMLUML的历史、特点与构成的历史、特点与构成,v理解理解UMLUML的应用领域、支持的应用领域、支持UMLUML的工具。的工具。v了解基于了解基于UMLUML的分析、设计过程。的分析、设计过程。6基本要求对面向对象的基本概念和技术有概括的本质的认识6IS ArchitectureIS Architecturebackgroundv软件工程领域在软件工程领域在19951995年至年至19971997年取得了前所未有年取得了前所未有的进展的进展,其成果超过软件工程领域其成果超过软件工程领域19951995年之前年之前1515年的成就总和。年的成就总和。v其中最重要的、具有划时代重大意义的成果之一其中最重要的、具有划时代重大意义的成果之一就是统一建模语言就是统一建模语言 UML(Unified Modeling UML(Unified Modeling Language)Language)的出现。在世界范围内的出现。在世界范围内,至少在近至少在近1010年年内,内,UMLUML将是面向对象技术领域内占主导地位的将是面向对象技术领域内占主导地位的标准建模语言。标准建模语言。7background软件工程领域在1995年至1997年取得IS ArchitectureIS Architecture1.什么是什么是UML?v统一建模语言(统一建模语言(Unified Modeling LanguageUnified Modeling Language)vUMLUML是一种对软件密集是一种对软件密集 (software-intensivesoftware-intensive)型)型系统的制品进行可视化(系统的制品进行可视化(VisualizingVisualizing)、详述、详述(SpecifyingSpecifying)、构造(、构造(ConstructingConstructing)、文、文档化(档化(DocumentingDocumenting)的语言。的语言。vUMLUML是一种绘制软件系统蓝图的可视化的标准建是一种绘制软件系统蓝图的可视化的标准建模语言。模语言。vUMLUML有助于表达和设计软件系统,特别是采用面有助于表达和设计软件系统,特别是采用面向对象方法构造的软件系统。支持面向对象系统向对象方法构造的软件系统。支持面向对象系统的分析、设计、实现和交付等环节。的分析、设计、实现和交付等环节。81.什么是UML?统一建模语言(UnifiedModeIS ArchitectureIS Architecture1.1UML的产生背景的产生背景v2020世纪世纪7070年代出现了面向对象的程序设计语言。年代出现了面向对象的程序设计语言。v2020世纪世纪8080年代,出现了面向对象的建模语言。年代,出现了面向对象的建模语言。v在在19891989年到年到19941994年期间年期间,面向对象的方法从不到面向对象的方法从不到十种增加到了五十多种十种增加到了五十多种 ;一些方法脱颖而出,;一些方法脱颖而出,包括包括BoochBooch方法、方法、OMT OMT和和OOSEOOSE等方法;等方法;v其他的方法还有其他的方法还有FusionFusion方法、方法、Shlaer-Mellor Shlaer-Mellor 方方法和法和Coad-YourdonCoad-Yourdon方法方法v经过经过BoochBooch、RumbaughRumbaugh和和JacobsonJacobson三人的共同努三人的共同努力力,于于19961996年发布了年发布了UML(Unified Modeling UML(Unified Modeling Language)Language)。91.1UML的产生背景20世纪70年代出现了面向对象的程IS ArchitectureIS Architecture1.2UML的标准化的标准化v19971997年年1111月月1414日,日,UML1.1UML1.1版本被版本被OMGOMG(对象管理(对象管理组织)采纳为标准,并陆续修订颁布了组织)采纳为标准,并陆续修订颁布了1.31.3、1.41.4和和1.51.5等版本。等版本。v20002000年年-2003-2003年,年,UML2.0UML2.0版本问世。版本问世。v20052005年,年,UML2.0UML2.0标准版本被标准版本被OMGOMG采纳。采纳。BoochRumbaughJacobsonBoochRumbaughJacobson101.2UML的标准化1997年11月14日,UML1.1IS ArchitectureIS Architecture1.3ThreeamigosvUMLUML的三位主要奠基人,被的三位主要奠基人,被称为称为“三友三友”(three three amigosamigos),),UnifiedUnifiedG.Booch G.Booch 布奇布奇 Booch Booch方法方法J.Rumbaugh J.Rumbaugh 兰博兰博 OMT OMT方法方法I.Jacobson I.Jacobson 雅格布森雅格布森 OOSE OOSE111.3ThreeamigosUML的三位主要奠基人,被IS ArchitectureIS Architecture1.4UML的历史的历史121.4UML的历史12IS ArchitectureIS Architecture2.UML是一种语言是一种语言vUMLUML定义了一系列的定义了一系列的图形符号图形符号来描述软件系统。它们有来描述软件系统。它们有严严格的语义格的语义和和清晰的语法清晰的语法。图形符号及其背后的语义和语。图形符号及其背后的语义和语法组成了一个法组成了一个标准标准。v作为一种建模语言作为一种建模语言,UML,UML的定义包括的定义包括UMLUML语义和语义和UMLUML表示法两表示法两个部分个部分UMLUML语义:描述基于语义:描述基于UMLUML的精确元模型定义。元模型为的精确元模型定义。元模型为UMLUML的所有的所有元素在语法和语义上提供了简单、一致、通用的定义性说明元素在语法和语义上提供了简单、一致、通用的定义性说明,使使开发者能在语义上取得一致开发者能在语义上取得一致,消除了因人而异的最佳表达方法所消除了因人而异的最佳表达方法所造成的影响。此外造成的影响。此外UMLUML还支持对元模型的扩展定义。还支持对元模型的扩展定义。UMLUML表示法:定义表示法:定义UMLUML符号的表示法符号的表示法,为开发者或开发工具使用这为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型文字所表达的是应用级的模型,在语义上它是在语义上它是UMLUML元模型的实例。元模型的实例。132.UML是一种语言UML定义了一系列的图形符号来描述软IS ArchitectureIS Architecture2.1UML是一种可视化的语言是一种可视化的语言vUMLUML的每一个符号都具有明确的语义。的每一个符号都具有明确的语义。v使用使用UMLUML语言可以构建清晰的模型。语言可以构建清晰的模型。UMLUML模型使得开发人员更好的理解系统的细节,而这是模型使得开发人员更好的理解系统的细节,而这是文字和代码做不到的。文字和代码做不到的。UMLUML模型有利于开发人员之间的交流。模型有利于开发人员之间的交流。142.1UML是一种可视化的语言UML的每一个符号都具有明IS ArchitectureIS ArchitectureUML的定义的定义vUMLUML的定义包括的定义包括UMLUML语义和语义和UMLUML表示法两个部分。表示法两个部分。(1)UML(1)UML语义语义描述基于描述基于UML的精确元模型的精确元模型(meta-model)定义。元模型为定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的的所有元素在语法和语义上提供了简单、一致、通用的定义性说明定义性说明,使开发者能在语义上取得一致使开发者能在语义上取得一致,消除了因人而异消除了因人而异的表达方法所造成的影响。此外的表达方法所造成的影响。此外UML还支持对元模型的扩展还支持对元模型的扩展定义。定义。UML支持各种类型的语义。如布尔、表达式、列表、阶、名支持各种类型的语义。如布尔、表达式、列表、阶、名字、坐标、字符串和时间等,还允许用户自定义类型。字、坐标、字符串和时间等,还允许用户自定义类型。(2)UML(2)UML表示法表示法定义定义UML符号的表示法符号的表示法,为开发者或开发工具使用这些图形符为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型这些图形符号和文字所表达的是应用级的模型,在语义上它是在语义上它是UML元模型的实例。元模型的实例。15UML的定义UML的定义包括UML语义和UML表示法两个部分IS ArchitectureIS Architecture2.2UML是一种可用于详细描述的语言是一种可用于详细描述的语言v详细描述意味着所建立的模型是精确的、无歧义详细描述意味着所建立的模型是精确的、无歧义的和完整的。的和完整的。vUMLUML贯穿软件开发的生命期,使得软件开发的所贯穿软件开发的生命期,使得软件开发的所有相关人员都能用它来对软件系统的各个侧面进有相关人员都能用它来对软件系统的各个侧面进行描述。行描述。vUMLUML对所有重要的分析、设计和实现决策进行详对所有重要的分析、设计和实现决策进行详细描述。细描述。162.2UML是一种可用于详细描述的语言详细描述意味着所建IS ArchitectureIS Architecture2.3UML是一种用于构造的语言是一种用于构造的语言vUMLUML不是可视化的编程语言,但是用不是可视化的编程语言,但是用UMLUML描述的模描述的模型可以与各种编程语言甚至数据库里的对象进行型可以与各种编程语言甚至数据库里的对象进行关联转换。关联转换。v正向工程(正向工程(forward engineeringforward engineering):):直接从系统模型生成初始软件或数据库代码。直接从系统模型生成初始软件或数据库代码。v逆向工程(逆向工程(reverse engineeringreverse engineering):):直接从软件或数据库代码生成初始的系统模型。直接从软件或数据库代码生成初始的系统模型。v双向工程:双向工程:把正向工程和逆向工程结合起来把正向工程和逆向工程结合起来172.3UML是一种用于构造的语言UML不是可视化的编程语IS ArchitectureIS Architecture2.4UML是一种文档化的语言是一种文档化的语言vUMLUML适于建立系统体系结构以及所有细节的文档。适于建立系统体系结构以及所有细节的文档。vUMLUML还提供用于表达需求和用于测试的语言。还提供用于表达需求和用于测试的语言。vUMLUML也提供对项目计划活动和发布、管理活动进也提供对项目计划活动和发布、管理活动进行建模的语言行建模的语言182.4UML是一种文档化的语言UML适于建立系统体系结构IS ArchitectureIS Architecture3.UML的主要特点的主要特点v统一的标准统一的标准UMLUML是被是被OMGOMG接受为标准,越来越多的开发人员使用接受为标准,越来越多的开发人员使用UMLUML进行软件开发,越来越多的厂商支持进行软件开发,越来越多的厂商支持UMLUML。v面向对象面向对象是支持是支持OOOO软件开发的建模语言。软件开发的建模语言。v概念明确概念明确建模表示法简洁,图形结构清晰,可视化、表示能力建模表示法简洁,图形结构清晰,可视化、表示能力强大,容易掌握和使用。强大,容易掌握和使用。v独立于过程独立于过程UMLUML不依赖于特定的软件开发过程。不依赖于特定的软件开发过程。193.UML的主要特点统一的标准19IS ArchitectureIS Architecture4.UML的构成的构成v为了理解为了理解UMLUML,需要形成该语言的概念模型,这需要形成该语言的概念模型,这要求学习语言的三个要素。要求学习语言的三个要素。UMLUML的基本构造块(的基本构造块(Building BlocksBuilding Blocks),也叫建模元),也叫建模元素。素。UMLUML的构造块包括三种的构造块包括三种事物事物(Things)关系关系(Relationships)图图(Diagrams)支配构造块如何放在一起的规则(支配构造块如何放在一起的规则(the rules the rules)UMLUML的公共机制(的公共机制(common mechanismscommon mechanisms)v掌握了这些思想,就能读懂掌握了这些思想,就能读懂UMLUML,并能构建一些,并能构建一些基本的基本的UMLUML模型。模型。vUMLUML的上述三个要素的关系如下列图示:的上述三个要素的关系如下列图示:204.UML的构成为了理解UML,需要形成该语言的概念模型IS ArchitectureIS Architecture4.1UML的构成图的构成图UML构成构成规则规则公共机制公共机制命名命名范围范围执行执行完整性完整性可见性可见性扩展机扩展机制制通用划通用划分分详述详述修饰修饰构造型构造型约束约束标记值标记值基本构造块基本构造块214.1UML的构成图UML构成规则公共机制命名范围执行完整IS ArchitectureIS Architecture4.2UML基本构造块基本构造块UML基本构造块基本构造块事物事物关系关系图图结构结构事物事物行为行为事物事物分组分组事物事物辅助辅助事物事物关联关联关系关系依赖依赖关系关系泛化泛化关系关系实现实现关系关系静态静态图图动态动态图图用用例例图图类类图图对对象象图图组组件件图图配配置置图图时时序序图图协协作作图图状状态态图图活活动动图图用用例例类类接接口口协协作作主主动动类类组组件件节节点点状态机状态机交互机交互机包包注释注释224.2UML基本构造块UML基本构造块事物关系图结构事物行IS ArchitectureIS Architecture4.3事物(事物(Thing)v事物是对模型中最具有代表性的成分的抽象。事物是对模型中最具有代表性的成分的抽象。结构事物:结构事物:UMLUML中的名词,它是模型基本物理元素。中的名词,它是模型基本物理元素。类、接口、协作(它是一个交互,它是由一组共同工作以提供某协类、接口、协作(它是一个交互,它是由一组共同工作以提供某协作行为的角色和其它元素构成的一个群体。)、用例、主动类(至作行为的角色和其它元素构成的一个群体。)、用例、主动类(至少拥有一个进程或者线程,其元素的行为可以和其它元素的行为并少拥有一个进程或者线程,其元素的行为可以和其它元素的行为并发)、构件(如发)、构件(如COM+和和JavaBean)、节点。)、节点。行为事物:行为事物:UMLUML中的动词,它是模型中的动态部分,是一种跨越中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。时间、空间的行为。交互、状态机交互、状态机(描述了一个对象或者一个交互在生命期内响应事件(描述了一个对象或者一个交互在生命期内响应事件所经历的状态序列)。所经历的状态序列)。分组事物:分组事物:UMLUML中的容器,用来组织模型,使模型更加的结构化。中的容器,用来组织模型,使模型更加的结构化。例如:包。例如:包。辅助事物:辅助事物:UMLUML中的解释部分,和代码中的注释语句一样,是用中的解释部分,和代码中的注释语句一样,是用来描述模型的。来描述模型的。例如:注释例如:注释。234.3事物(Thing)事物是对模型中最具有代表性的成分的IS ArchitectureIS Architecture结构事物结构事物(Structuralthings)v结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,共有以下七种:软件建模中最常见的元素,共有以下七种:类类(class):(class):用矩形表示,写有类的名称用矩形表示,写有类的名称,属性和操作。属性和操作。接口接口(interface)(interface)用带有名称的圆表示。用带有名称的圆表示。协作协作(collaboration)(collaboration)用含有名称的虚线椭圆表示。用含有名称的虚线椭圆表示。用例用例(Use case)(Use case)用含有名称的实线椭圆表示。用含有名称的实线椭圆表示。主动类主动类(Active class):(Active class):与类相似与类相似,不同点就是对象至少拥有一个进程或线程不同点就是对象至少拥有一个进程或线程,因此能够启动控制活动因此能够启动控制活动.外框是粗线外框是粗线,包括名称包括名称,属性和操作。属性和操作。构件构件(Component):(Component):是类是类,接口和协作的物理包接口和协作的物理包.用带有小方框的矩形表示用带有小方框的矩形表示,只写构件的名称。只写构件的名称。结点结点(node):(node):与类相似与类相似,通常用只包括名称的立方体表示通常用只包括名称的立方体表示.表示可计算的一种资源。表示可计算的一种资源。24结构事物(Structuralthings)结构事物IS ArchitectureIS Architecture结构事物部分图符结构事物部分图符25结构事物部分图符25IS ArchitectureIS Architecture结构事物部分图符结构事物部分图符26结构事物部分图符26IS ArchitectureIS Architecture行为事物行为事物(Behavioralthings)v行为事物描述跨越时间和空间的行为行为事物描述跨越时间和空间的行为.行为事物行为事物指的是指的是UMLUML模型中的动态部分,代表语句里的模型中的动态部分,代表语句里的“动词动词”,表示模型里随着时空不断变化的部分,表示模型里随着时空不断变化的部分,包含两类:包含两类:交互交互(interaction):(interaction):包括消息包括消息,动作序列和链动作序列和链.用一条有向直线表示。用一条有向直线表示。状态机状态机(state machine):(state machine):包括状态包括状态,转换转换,事件和活动事件和活动.用圆角矩形表示用圆角矩形表示.27行为事物(Behavioralthings)行为事物描述IS ArchitectureIS Architecture分组事物分组事物(Groupingthings)v分组事物可以看成是一个分组事物可以看成是一个“盒子盒子”,模型可以在,模型可以在其中被分解。目前只有一种分组事物,即包。结其中被分解。目前只有一种分组事物,即包。结构事物、动作事物甚至分组事物都有可能放在一构事物、动作事物甚至分组事物都有可能放在一个包中。个包中。包纯粹是概念上的,只存在于开发阶段,而组件在运包纯粹是概念上的,只存在于开发阶段,而组件在运行时存在。行时存在。包包(package):(package):是把元素组成组的机制是把元素组成组的机制.结构事物结构事物,行为行为事物甚至其它事物组成一个包事物甚至其它事物组成一个包.由左上角有一个小矩形由左上角有一个小矩形的大矩形来表示的大矩形来表示.28分组事物(Groupingthings)分组事物可以看成IS ArchitectureIS Architecture注释事物注释事物(Annotationalthings)v注释事物是注释事物是UMLUML模型的解释部分。模型的解释部分。v注解注解(note):(note):依附于一个元素或一组元素之上,依附于一个元素或一组元素之上,对它进行约束或解释的简单的符号。用右上角是对它进行约束或解释的简单的符号。用右上角是折角的矩形来表示。折角的矩形来表示。29注释事物(Annotationalthings)注释事物IS ArchitectureIS Architecture4.4关系(关系(Relationships)v关系是将事物联系在一起的方式,关系是将事物联系在一起的方式,UMLUML中定义了中定义了四种关系:四种关系:304.4关系(Relationships)关系是将事物联系IS ArchitectureIS Architecture关联关联(Association)v关联关联是是类之间类之间的结构关系,它描述了一组链,链的结构关系,它描述了一组链,链是对象(类的实例)之间的连接。是对象(类的实例)之间的连接。聚合与合成是特殊类型的关联,描述了整体和部分间聚合与合成是特殊类型的关联,描述了整体和部分间的结构关系。的结构关系。在图形上,把关联画成一条实线,它可能有方向,偶在图形上,把关联画成一条实线,它可能有方向,偶尔在其上还带有一个标记,而且它还经常含有诸如多尔在其上还带有一个标记,而且它还经常含有诸如多重性和端名这样的修饰,如图所示。重性和端名这样的修饰,如图所示。31关联(Association)关联是类之间的结构关系IS ArchitectureIS Architecture依赖(依赖(Dependencies)v依赖是依赖是两个模型元素间两个模型元素间的语义关系,其中一个元的语义关系,其中一个元素(独立元素)发生变化会影响另一个元素(依素(独立元素)发生变化会影响另一个元素(依赖元素)的语义。赖元素)的语义。v在图形上,把依赖画成一条可能有方向的虚线,在图形上,把依赖画成一条可能有方向的虚线,偶尔在其上还带有一个标记,如图所示:偶尔在其上还带有一个标记,如图所示:32依赖(Dependencies)依赖是两个模型元素间的语义IS ArchitectureIS Architecture泛化(泛化(Generalization)v泛化是一种泛化是一种特殊特殊/一般一般关系,在其中特殊元素关系,在其中特殊元素(子元素)基于一般元素(父元素)而建立。用(子元素)基于一般元素(父元素)而建立。用这种方法,子元素共享了父元素的结构和行为这种方法,子元素共享了父元素的结构和行为v在图形上,把泛化关系画成一条带有空心箭头的在图形上,把泛化关系画成一条带有空心箭头的实线,该实线指向父元素,如图示:实线,该实线指向父元素,如图示:33泛化(Generalization)泛化是一种特殊/一般IS ArchitectureIS Architecture实现实现(Realization)v实现(实现(realizationrealization)是)是类目之间类目之间的语义关系,的语义关系,其中的一个类目指定了由另一个类目保证执行的其中的一个类目指定了由另一个类目保证执行的合约。在两种地方会遇到实现关系:合约。在两种地方会遇到实现关系:一种是在接口和实现它们的类或构件之间;一种是在接口和实现它们的类或构件之间;另一种是在用况和实现它们的协作之间。另一种是在用况和实现它们的协作之间。v在图形上,把实现关系画成一条带有空心箭头的在图形上,把实现关系画成一条带有空心箭头的虚线,它是虚线,它是泛化泛化和和依赖依赖关系两种图形的关系两种图形的结合结合,如,如图所示。图所示。34实现(Realization)实现(realizatioIS ArchitectureIS Architecture4.5图图(Diagram)v图,又叫模型图,是事物集合的分类,图,又叫模型图,是事物集合的分类,UMLUML中包中包含多种图:含多种图:用例图用例图(Usecase Diagram)(Usecase Diagram):用例图从用户的角度出发描述系统的功能、需求,展示系统用例图从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系外部的各类角色与系统内部的各种用例之间的关系类图类图(Class Diagram)(Class Diagram):类图描述系统所包含的类、类的内部结构及类之间的关系类图描述系统所包含的类、类的内部结构及类之间的关系对象图对象图(Object Diagram)(Object Diagram):对象图是类图的一个具体实例对象图是类图的一个具体实例包图(包图(Package DiagramPackage Diagram):):包图表明包及其之间的依赖类图包图表明包及其之间的依赖类图组件图组件图(Compoment Diagram(Compoment Diagram,也称构件图,也称构件图):组件图描述代码部件的物理结构以及各部件之间的依赖关系组件图描述代码部件的物理结构以及各部件之间的依赖关系354.5图(Diagram)图,又叫模型图,是事物集合的IS ArchitectureIS Architecture4.5图图(Diagram)部署图部署图(Deployment Diagram)(Deployment Diagram):部署图定义系统中软硬件的物理体系结构部署图定义系统中软硬件的物理体系结构顺序图顺序图(Sequence Diagram)(Sequence Diagram):顺序图表示对象之间动态合作的关系顺序图表示对象之间动态合作的关系协作图协作图(Collaboration Diagram)(Collaboration Diagram):合作图描述对象之间的协作关系合作图描述对象之间的协作关系状态图状态图(Statechart Diagram)(Statechart Diagram):状态图描述一类对象的所有可能的状态以及事件发生时状态状态图描述一类对象的所有可能的状态以及事件发生时状态的转移条件的转移条件活动图活动图(Activity Diagram)(Activity Diagram):活动图描述系统中各种活动的执行顺序。活动图描述系统中各种活动的执行顺序。364.5图(Diagram)部署图(DeploymentIS ArchitectureIS Architecture用例图、类图、包图、构件和部署图用例图、类图、包图、构件和部署图37用例图、类图、包图、构件和部署图37IS ArchitectureIS Architecture时序图、状态图、协作图、活动图时序图、状态图、协作图、活动图38时序图、状态图、协作图、活动图38IS ArchitectureIS Architecture4.5图图(Diagram)v上述十种模型图可归纳为五种类型上述十种模型图可归纳为五种类型静态图:静态图:类图、对象图、包图类图、对象图、包图行为图:行为图:状态图、活动图状态图、活动图用例图:用例图:用例图用例图 交互图:交互图:顺序图、协作图顺序图、协作图 实现图:实现图:组件图、部署图组件图、部署图 394.5图(Diagram)上述十种模型图可归纳为五种类型IS ArchitectureIS Architecture4040IS ArchitectureIS Architecture上上节课重点重点结构事物结构事物类类(class):接口接口(interface)协作协作(collaboration)用例用例(Usecase)主动类主动类(Activeclass):构件构件(Component):结点结点(node):行为事物行为事物交互交互(interaction):状态机状态机(statemachine):分组事物分组事物包包(package):41上节课重点结构事物41IS ArchitectureIS Architecture上上节课重点重点v关系关系v关联关联(Association Association)v依赖(依赖(DependenciesDependencies)v泛化(泛化(GeneralizationGeneralization)v实现实现(RealizationRealization)42上节课重点关系42IS ArchitectureIS Architecture4.6规则(规则(RulesoftheUML)vUMLUML的规则描述了一个结构良好(的规则描述了一个结构良好(well-formedwell-formed)的模型看起来应该像什么。而不至于出现不太规的模型看起来应该像什么。而不至于出现不太规范的使用。范的使用。vUMLUML的有自己的语法和语义上的规则,用于:的有自己的语法和语义上的规则,用于:名字(名字(NamesNames):为事物、关系、图起的名字):为事物、关系、图起的名字范围(范围(ScopeScope):使名字具有特定含义的语境):使名字具有特定含义的语境可见性(可见性(VisibilityVisibility):如何让其他成分看到和使用):如何让其他成分看到和使用这些名字这些名字完整性(完整性(IntegrityIntegrity):事物如何正确、一致的相互联):事物如何正确、一致的相互联系系执行(执行(ExecutionExecution):运行或者模拟动态模型意味着什):运行或者模拟动态模型意味着什么么434.6规则(RulesoftheUML)UML的规IS ArchitectureIS Architecture4.7公共机制公共机制vUMLUML具有四种贯穿整个语言且一致应用的公共机具有四种贯穿整个语言且一致应用的公共机制,使得制,使得UMLUML较为简单,他们分别是:较为简单,他们分别是:详述(详述(SpecificationsSpecifications)修饰(修饰(AdornmentsAdornments)通用划分(通用划分(Common divisionsCommon divisions)扩展机制(扩展机制(Extensibility mechanismsExtensibility mechanisms)444.7公共机制UML具有四种贯穿整个语言且一致应用的公共机IS ArchitectureIS Architecture详述(详述(Specifications)v在在UMLUML中,每个模型元素的图形表示法之后都存中,每个模型元素的图形表示法之后都存在一个详述在一个详述(规范说明规范说明),它以文字的形式描述基,它以文字的形式描述基本模型元素的语法和语义。本模型元素的语法和语义。例如,在类的图符背后有一个详述,它提供了对该类例如,在类的图符背后有一个详述,它提供了对该类所拥有的属性、操作(包括完整的特征标记)和行为所拥有的属性、操作(包括完整的特征标记)和行为的全面描述;在视觉上,类的图符可能仅展示了这个的全面描述;在视觉上,类的图符可能仅展示了这个详述的一小部分。详述的一小部分。此外,可能存在着该类的另一个视图,其中提供了一此外,可能存在着该类的另一个视图,其中提供了一个完全不同的部件集合,但是它仍然与该类的基本详个完全不同的部件集合,但是它仍然与该类的基本详述相一致。述相一致。vUMLUML的图形表示法用来对系统进行可视化;的图形表示法用来对系统进行可视化;UMLUML的的详述用来说明系统的细节。详述用来说明系统的细节。45详述(Specifications)在UML中,每个模型元IS ArchitectureIS Architecture修饰(修饰(Adornments)v对类的详述可以包含其他细节,例如,它是否是对类的详述可以包含其他细节,例如,它是否是抽象类,或它的属性和操作是否可见。可以把很抽象类,或它的属性和操作是否可见。可以把很多这样的细节表示为图形或文字修饰,放到类的多这样的细节表示为图形或文字修饰,放到类的基本矩形符号上。基本矩形符号上。例如,下图是一个带有修饰的类,图中表明这个类是例如,下图是一个带有修饰的类,图中表明这个类是一个抽象类,有两个公共操作、一个受保护操作和一一个抽象类,有两个公共操作、一个受保护操作和一个私有操作。个私有操作。UMLUML表示法中的每一个元素都有表示法中的每一个元素都有 一个基本符号,可以把各种修饰一个基本符号,可以把各种修饰 细节加到这个符号上。细节加到这个符号上。46修饰(Adornments)对类的详述可以包含其他细节,例IS ArchitectureIS Architecture修饰举例修饰举例v在在UMLUML众多的修饰符中,注释是一种最重要的并众多的修饰符中,注释是一种最重要的并且能单独存在的修饰符,它是附加在模型元素或且能单独存在的修饰符,它是附加在模型元素或元素集上用来表示约束或注解信息的图形符号。元素集上用来表示约束或注解信息的图形符号。图中注释的作用是指出图中注释的作用是指出priority()priority()的算法细节在文档的算法细节在文档exe.docexe.doc中。中。47修饰举例在UML众多的修饰符中,注释是一种最重要的并且能单独IS ArchitectureIS Architecture通用划分(通用划分(Commondivisions)vUMLUML提供了事物的抽象的描绘和具体的实例两种提供了事物的抽象的描绘和具体的实例两种两分法表达,被称为公共划分。通常:两分法表达,被称为公共划分。通常:第一种方法是对类和对象的划分。第一种方法是对类和对象的划分。类是一种抽象,对象是这种抽象的一个具体表现。类是一种抽象,对象是这种抽象的一个具体表现。在在UML中,可以对类和对象建立模型,如图所示。在图形上,中,可以对类和对象建立模型,如图所示。在图形上,UML是这样辨别对象的:用与类同样的图形符号来表示对象,是这样辨别对象的:用与类同样的图形符号来表示对象,并且在对象名的下面画一道线。并且在对象名的下面画一道线。在这个图中,有一个名称为在这个图中,有一个名称为Customer的类,它有的类,它有3个个对象,分别为对象,分别为Jan(它被明确地标记为(它被明确地标记为Customer的对象),的对象),:Customer(匿名的(匿名的Customer对象)和对象)和Elyse(它在详述(它在详述中被说明为是一种中被说明为是一种Customer对象,尽管在这里没有明确地对象,尽管在这里没有明确地表示出来)。表示出来)。48通用划分(Commondivisions)UML提供了事IS ArchitectureIS Architecture通用划分(通用划分(Commondivisions)第二种方法是接口和实现的分离。第二种方法是接口和实现的分离。接口声明了一个合约,而实现则表示了对该合约的具体实施,接口声明了一个合约,而实现则表示了对该合约的具体实施,它负责如实地实现接口的完整语义。在它负责如实地实现接口的完整语义。在UML中,既可以对接中,既可以对接口建模又可以对它们的实现建模,如图所示。口建模又可以对它们的实现建模,如图所示。在这个图中,有一个名称为在这个图中,有一个名称为SpellingWizard.dll的构件,它实的构件,它实现了接口现了接口IUnknown和接口和接口ISpelling,并且还需要一个由其,并且还需要一个由其他构件提供的名为他构件提供的名为IDictionary的接口。的接口。49通用划分(Commondivisions)第二种方法是接IS ArchitectureIS Architecture通用划分(通用划分(Commondivisions)第三种方法是类型和角色的分离。第三种方法是类型和角色的分离。类型声明了实体的种类(如对象、属性或参数),角色描述类型声明了实体的种类(如对象、属性或参数),角色描述了实体在语境中的含义(如类、构件或协作等)。任何作为了实体在语境中的含义(如类、构件或协作等)。任何作为其他实体结构中的一部分的实体(例如属性)都具有两个特其他实体结构中的一部分的实体(例如属性)都具有两个特性:从它固有的类型派生出一些含义,从它在语境中的角色性:从它固有的类型派生出一些含义,从它在语境中的角色派生出一些含义。派生出一些含义。50通用划分(Commondivisions)第三种方法是类IS ArchitectureIS Architecture扩展机制扩展机制vUMLUML提供了一种绘制软件蓝图的标准语言,但是提供了一种绘制软件蓝图的标准语言,但是一种闭合的语言即使表达能力再丰富,也难以表一种闭合的语言即使表达能力再丰富,也难以表示出各种领域中的各种模型在不同时刻所有可能示出各种领域中的各种模型在不同时刻所有可能的细微差别。的细微差别。v由于这个原因,由于这个原因,UMLUML是目标开放的,使人们能够是目标开放的,使人们能够以受控的方式来扩展该语言。以受控的方式来扩展该语言。vUMLUML的扩展机制包括:的扩展机制包括:衍型(衍型(StereotypesStereotypes)标记值(标记值(Tagged valuesTagged values)约束(约束(ConstraintsConstraints)51扩展机制UML提供了一种绘制软件蓝图的标准语言,但是一种IS ArchitectureIS Architecture扩展机制扩展机制衍型衍型(构造型构造型 ):):对对UMLUML的词汇的扩展,用于创建的词汇的扩展,用于创建与已有的模型元素相似且针对特定问题的新种类与已有的模型元素相似且针对特定问题的新种类的模型元素。用的模型元素。用书名号括起来的名字书名号括起来的名字表示,其位表示,其位置在其他元素置在其他元素之上之上。标记值标记值:对对UMLUML元素的特性的扩展,用于在模型元元素的特性的扩展,用于在模型元素的规约中创建新的信息。用素的规约中创建新的信息。用花括号括起来的字花括号括起来的字符串符串表示,其位置在其他元素表示,其位置在其他元素之下之下。约束约束:对对UMLUML元素的语义的扩展,用于增加新规则元素的语义的扩展,用于增加新规则或修改已有规则。用或修改已有规则。用花括号括起来的字符串花括号括起来的字符串表示,表示,且放在所关联的元素附近或通过依赖关系连接相且放在所关联的元素附近或通过依赖关系连接相应元素。应元素。52扩展机制衍型(构造型):对UML的词汇的扩展,用于创建IS ArchitectureIS Architecture扩展机制实例扩展机制实例 衍型衍型exceptionexception使得使得OverflowOverflow成为成为一个模型元素一个模型元素EventQueueEventQueue中中版本和作者是版本和作者是标记值标记值addadd上的约束上的约束orderedordered使得使得EvenrQueueEvenrQueue中的事中的事件按序排列件按序排列53扩展机制实例衍型exception使得OverfloIS ArchitectureIS Architecture5UML模型的体系结构模型的体系结构v可视化、详述、构造和文档化一个系统,要求从可视化、详述、构造和文档化一个系统,要求从几个角度去观察系统。从一个角度观察到的系统几个角度去观察系统。从一个角度观察到的系统称为一个视图(称为一个视图(viewview)。)。vUMLUML用视图来表示被建模系统的各个方面,它是用视图来表示被建模系统的各个方面,它是在某一个抽象层次上对系统的抽象表示。系统开在某一个抽象层次上对系统的抽象表示。系统开发相关的各种人员会在不同日程、不同阶段、不发相关的各种人员会在不同日程、不同阶段、不同方式看待系统。同方式看待系统。vUMLUML用用“4+1”“4+1”视图来描述系统的体系结构:视图来描述系统的体系结构:每一个视图代表完整系统描述的投影,显示系统的一每一个视图代表完整系统描述的投影,显示系统的一个特定方面。个特定方面。每一个视图又由一种或多种模型图构成。每一个视图又由一种或多种模型图构成。545UML模型的体系结构可视化、详述、构造和文档化一个系统,IS ArchitectureIS Architecture5.1UML的的“4+1”视图视图设计设计(逻辑逻辑)视图视图实现视图实现视图部署视图部署视图交互交互(进程进程)视图视图用例用例(用户用户)视图视图性能、稳定性、吞吐率性能、稳定性、吞吐率系统拓扑、分布、安装系统拓扑、分布、安装设计词汇、功能描述设计词汇、功能描述系统组装、配置管理系统组装、配置管理555.1UML的“4+1”视图设计(逻辑)视图实现视图部署IS ArchitectureIS Architecture5.1UML的的“4+1”视图视图565.1UML的“4+1”视图56IS ArchitectureIS Architecture5.1UML的的“4+1”视图视图575.1UML的“4+1”视图57IS ArchitectureIS Architecture5.1UML的的“4+1”视图视图v用例视图(用例视图(use case viewuse case view):):从用户角度描述系统功能从用户角度描述系统功能,并指出各功能的操作者;并指出各功能的操作者;v设计视图(设计视图(Design ViewDesign View)或逻辑视图()或逻辑视图(Logical ViewLogical View)包含了类、接口和协作,它们形成了问题及其对问题解决方案的包含了类、接口和协作,它们形成了问题及其对问题解决方案的术语词汇;术语词汇;v进程视图进程视图(process view)(process view):该视图主要用于描述系统性能、可伸缩性和吞吐量的设计,包含该视图主要用于描述系统性能、可伸缩性和吞吐量的设计,包含了形成系统并发与同步机制的线程和进程;了形成系统并发与同步机制的线程和进程;v实现视图实现视图(implementation view)(implementation view):该视图用于描述系统组装和配置管理、表达软件成分的组织结构;该视图用于描述系统组装和配置管理、表达软件成分的组织结构;v部署视图部署视图(deployment view)(deployment view):该视图用于描述物理系统的部件的分布、交付和安装,包含形成该视图用于描述物理系统的部件的分布、交付和安装,包含形成系统硬件拓扑结构的节点;系统硬件拓扑结构的节点;585.1UML的“4+1”视图用例视图(usecaseIS ArchitectureIS Architecture用例视图用例视图(用户模型视图用户模型视图)v由专门描述系统行为的用例组成,是从用户角度由专门描述系统行为的用例组成,是从用户角度来描述系统所应具有的功能。来描述系统所应具有的功能。v用例视图所描述的系统功能依靠外部用户或者另用例视图所描述的系统功能依靠外部用户或者另一系统来激活,为用户或者另一系统提供服务,一系统来激活,为用户或者另一系统提供服务,从而实现用户或另一系统与糸统的交互。从而实现用户或另一系统与糸统的交互。v系统实现的最终目标是用例视图中描述的功能。系统实现的最终目标是用例视图中描述的功能。v组成:组成:用例图用例图。v使用者:使用者:客户、开发人员、测试人员客户、开发人员、测试人员。59用例视图(用户模型视图)由专门描述系统行为的用例组成,是从IS ArchitectureIS Architecture用例视图是核心用例视图是核心v它的内容它的内容驱动其他视图驱动其他视图的开发。系统的最终目标,的开发。系统的最终目标,即系统将提供的功能在用例视图中描述。同时该即系统将提供的功能在用例视图中描述。同时该视图还有其他一些非功能特性的描述,因此,用视图还有其他一些非功能特性的描述,因此,用例视图对所有其他的视图产生影响。例视图对所有其他的视图产生影响。v通过测试用例视图,可检验和最终校验系统。通过测试用例视图,可检验和最终校验系统。v测试来自:测试来自:客户客户(这是您想要的吗这是您想要的吗?)?)、已完成的已完成的系统系统(系统是按照要求的方式运作的吗系统是按照要求的方式运作的吗?)?)。60用例视图是核心它的内容驱动其他视图的开发。系统的最终目标,即IS Archi
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!