您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 第6章 UML统一建模语言
UML统一建模语言第六章软件工程领域在1995年至1997年取得了前所未有的进展,其成果超过软件工程领域1995年之前15年的成就总和。其中最重要的、具有划时代重大意义的成果之一就是统一建模语言—UML(UnifiedModelingLanguage)的出现。在世界范围内,至少在近10年内,UML将是面向对象技术领域内占主导地位的标准建模语言。概述6.1UML概述UML(UnifiedModelingLanguage)是软件界第一个统一的建模语言,该方法结合了Booch,OMT,和OOSE方法的优点,统一了符号体系,并从其它的方法和工程实践中吸收了许多经过实际检验的概念和技术。它是一种标准的表示,已成为国际软件界广泛承认的标准。是一种基于面向对象的可视化的通用(General)建模语言。为不同领域的用户提供了统一的交流标准—UML图。UML应用领域很广泛,可用于软件开发建模的各个阶段,商业建模(BusinessModeling),也可用于其它类型的系统。模型是对系统的完整的抽象表示,建模是在不同层次上对系统的描述。面向对象建模的基本概念1.什么是模型?人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴涵在模型中。通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。2.为什么要建模?领域问题概念模型分析、抽取系统需求解决方案分析、设计提取UML作为一种可视化的建模语言,提供了丰富的基于面向对象概念的模型元素及其图形表示元素。鉴于软件系统的复杂性和规模的不断增大,需要建立不同的模型对系统的各个层次进行描述。软件模型包括:数学模型、描述模型和图形模型。便于开发人员与用户的交流。模型为以后的系统维护和升级提供了文档。建模过程:九十年代中,面向对象方法已经成为软件分析和设计方法的主流。1994年10月JimRumbaugh和GradyBooch共同合作把他们的OMT和Booch方法统一起来,到1995年成为“统一方法”(UnifiedMethod)版本0.8。随后,IvarJacobson加入,并采用他的用例(Usercase)思想,到1996年,成为“统一建模语言”版本0.9。1997年1月,UML版本1.0被提交给OMG(ObjectManagementGroup)组织,作为软件建模语言标准的候选。其后的半年多时间里,一些重要的软件开发商和系统集成商都成为“UML伙伴”,如IBM,Mircrosoft,HP等.1997年11月7日被正式采纳作为业界标准。6.1.1UML的形成documentsUML2.0documentsUML1.2documentsUML1.1documentsUML1.0documentsUML0.9documentsUnifiedMethod0.8documentsUML1.3documentsUML1.41995文档版类1996精华相关1997年1月最初提交给OMG1997年9月最后提交给OMG199819992000年(计划的较小修订)2001年计划的重要修订文字上的修改没有显著的技术变化UML形成6.1.2UML的主要内容UML的定义包括UML语义和UML表示法两个部分。(1)UML语义描述基于UML的精确元模型(meta-model)定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的表达方法所造成的影响。此外UML还支持对元模型的扩展定义。UML支持各种类型的语义。如布尔、表达式、列表、阶、名字、坐标、字符串和时间等,还允许用户自定义类型。(2)UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。UML是一种标准化的图形建模语言,它是面向对象分析与设计的一种标准表示。由:视图(views),图(Diagrams),模型元素(Modelelements)通用机制(generalmechanism)等几个部分构成。UML的主要构成UML的主要内容一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图(view)。视图由多个图(Diagrams)构成,它不是一个图表(Graph),而是在某一个抽象层上,对系统的抽象表示。如果要为系统建立一个完整的模型图,需定义一定数量的视图,每个视图表示系统的一个特殊的方面。另外,视图还把建模语言和系统开发时选择的方法或过程连接起来。视图(views)设计视图实现视图配置视图过程视图Usecase视图UsecaseView描述系统的外部特性、系统功能等。ImplementationView表示系统的实现特征,常用构件图表示。DesignView描述系统设计特征,包括结构模型视图和行为模型视图,前者描述系统的静态结构(类图、对象图),后者描述系统的动态行为(交互图、状态图、活动图)。ProcessView表示系统内部的控制机制。常用类图描述过程结构,用交互图描述过程行为。DeploymentView配置视图描述系统的物理配置特征。用配置图表示。UML常用视图UML语言定义了五种类型,9种不同的图,把它们有机的结合起来就可以描述系统的所有视图。用例图(Usecasediagram)从用户角度描述系统功能,并指出各功能的操作者。静态图(Staticdiagram),表示系统的静态结构。包括类图、对象图、包图。行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。包括状态图、活动图。交互图(Interactivediagram),描述对象间的交互关系。包括顺序图、合作图。实现图(Implementationdiagram)用于描述系统的物理实现。包括构件图、部件图。图(Diagrams)图通用机制(generalmechanism)用于表示其他信息,比如注释,模型元素的语义等。另外,为了适应用户的需求,它还提供了扩展机制(Extensibilitymechanisms),包括构造型(Stereotype)、标记值(Taggedvalue)和约束(Constraint).使用UML语言能够适应一个特殊的方法(或过程),或扩充至一个组织或用户。模型元素(Modelelements)代表面向对象中的类,对象,关系和消息等概念,是构成图的最基本的常用的元素。一个模型元素可以用于多个不同的图中。(1)统一标准UML统一了Booch、OMT和OOSE等方法中的基本概念,已成为OMG的正式标准,提供了标准的面向对象的模型元素的定义和表示。(2)面向对象UML还吸取了面向对象技术领域中其它流派的精华。删除了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。(3)可视化、表示能力强系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于复杂软件系统的建模。(4)易掌握、易用UML的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。6.1.3UML的特点6.2通用模型元素模型元素是UML构造系统的各种元素,是UML构建模型的基本单位。分为以下两类:1.基元素是由UML定义的模型元素。如:类、结点、构件、注释、关联、依赖和泛化等。2.构造型元素在基元素的基础上增加了新的定义而构造的新的模型元素。如扩展基元素的语义(不能扩展语法结构),也允许用户自定义。构造型元素用括在双尖括号中的字符串表示。目前UML提供了40多个预定义的构造型元素。如包含include、扩展Extend。6.2.1常用模型元素常用的模型元素可以在图中使用的概念统称为模型元素。模型元素在图中用其相应的视图元素(符号)表示,图中给出了常用的元素符号:类、对象、结点、包和组件等。用例包结点状态组件属性类操作对象属性操作接口注释模型元素关联:连接(connect)模型元素及链接(link)实例。依赖:表示一个元素以某种方式依赖于另一种元素。泛化:表示一般与特殊的关系,即“一般”元素是“特殊”关系的泛化。聚合:表示整体与部分的关系。连接关系关联组合聚合依赖细化泛化(继承)模型元素与模型元素之间的连接关系也是模型元素,常见的关系有关联(association)、泛化(generalization)、依赖(dependency)和聚合(aggregation),其中聚合是关联的一种特殊形式。这些关系的图示符号如图所示。关联(association)是两个或多个类之间的一个关系。链(link)是关联的具体体现。6.2.2关联和链关联的表示关联分为二元关联(binary)、三元关联(ternary)、多元关联(higherorder)。关联(a)二元关联人员公司雇用二元关联的例(人员)张涛(公司)通大雇用链的例子(b)三元关联项目语言◆人三元关联的例(项目)CAD系统(语言)C++◆(人)李波链的例子5.2.3关联的表示关联的重数重数(multiplicity)表示多少个对象与对方对象相连接,常用的重数符号有:“0..1”表示零或1“0..*”或“*”表示零或多个“1..*”表示1或多个“1,3,7”表示1或3或7(枚举型)重数的默认值为1。PersonHobby1*CommitteePersonYear◆0..21..43..5Post带有多重性关联有序关联与导航(导引)在关联的多端标注{ordered}指明这些对象是有序的。关联可以用箭头,表示该关联使用的方向(单向或双向),称为导引或导航(navigation)。有序关联与导航(a)指定链接之间有明确的顺序0..*1..*{ordered}保险合同个人PolygonPoint14..*{ordered}(b)单向关联受限关联(qualifiedassociation)使用限定词对该关联的另一端的对象进行明确的标识和鉴别,如图。如果对关联的含义作出某种限制,称为受限关联。受限关联类A类B限定词目录文件文件名受限关联的表示受限关联的例6.2.4约束UML中提供了一种简便、统一和一致的约束(constraint),是各种模型元素的一种语义条件或限制。一条约束只能应用于同一类的元素。约束的表示如果约束应用于一种具有相应视图元素的模型元素,它可以出现在它所约束元素视图元素的旁边。通常一个约束由一对花括号括起来({constraint}),花括号中为约束内容,如图。如果一条约束涉及同一种类的多个元素,则要用虚线把所有受约束的元素框起来,并把该约束显示在旁边(如或约束)。PolygonPoint14..*{ordered}约束0..*1..*{ordered}保险合同个人约束对泛化的约束的两种表示方法约束可分为:对泛化的约束、关联的约束对泛化的约束应用于泛化的约束,显示在大括号里,若有多个约束,用逗号隔开。如果没有共享,则用一条虚线通过所有继承线,并在虚线的旁边显示约束,如图所示的两种表示法是等价的。{constraint1,constraint2}ClassAClassBClassCClassD{constraint1,constraint2}ClassAClassCClassBClassD对泛化有以下常用的约束:1.complete:说明泛化中所有子元素都已在模型中说明,不允许再增加其它子元素。2.disjoint:父类对象不能有多于一个型的子对象。3.incomplete:说明不是泛化中所有子元素都已说明,允许再增加其它子元素。4.overlapping:给定父类对象可有多于一个型的子对象,表示重载。返回对消息,链接角色和对象的约束自定义约束帐号人单位{xor}对象类的xor关联关联的约束对关联有以下常用的约束:1.implicit:该关联只是概念性的,在对模型进行精化时不再用。2.ordered:具有多重性的关联一端的对象是有序的。3.changeable:关联对象之间的链(Link)是可变的(添加、修改、删除)
本文标题:第6章 UML统一建模语言
链接地址:https://www.777doc.com/doc-3404590 .html