配色: 字号:
第7章 UML建模语言
2022-09-23 | 阅:  转:  |  分享 
  
第7章UML统一建模语言UML的发展面向对象的基本概念UML视图UML的图和模型元素UML关系UML的通用机制基于UML的软件过程7.1
UML的发展统一建模语言(UnifiedModelingLanguage,UML)是通过图形化的表示机制进行面向对象分析和设
计,并提供了统一的、标准化的视图、图、模型元素和通用机制来刻画面向对象方法。UML的产生7.1UML的发展统一建模语言(Un
ifiedModelingLanguage,UML)是通过图形化的表示机制进行面向对象分析和设计,并提供了统一的、标准化的视图
、图、模型元素和通用机制来刻画面向对象方法。UML的构成视图图模型元素通用机制7.1UML的发展UML的特点UML不同于传统
的软件建模方法,它提供了从问题定义、需求分析到系统设计的一致的、连续的、标准化的图形、元素和通用机制的描述,具有自身显著特点:统一
标准实现与过程的独立性可视化易学易用性面向对象特征可编程性7.2面向对象的基本概念对象对象(Object)也被称为实例(Ins
tance),它用于描述在客观世界中存在的实体,如汽车、书籍、空气等。在信息领域中,与要解决问题的任何有关事物都可以作为对象。
信息域中的对象,有着与客观世界对象不同的特点:逻辑性。信息领域的对象,是在对客观世界认识的基础上,转化为信息世界的表示,是对客观实
体的逻辑描述,是对问题域进行处理的逻辑主体。数据是基础。对象都是以数据为基础进行各种操作。数据包括问题域的各类表格、文字等基本数据
信息,图片、声音、视频等媒体信息以及控制信号等。对数据的封装。数据是一个有机整体,在谈及数据时,实际上还包括对数据操作、数据变换、
数据与外部的信息交换等动态行为。7.2面向对象的基本概念类类是指具有相同属性和方法的对象的集合,也被称为抽象数据类型。当类中的
属性对应一组值时,类就被实例化为一个对象,类中的方法体现该对象的具体行为。7.2面向对象的基本概念属性属性是类中定义的一组数据
特征的集合,它是对客观世界实体所具有的性质的抽象描述,反映的是类与对象的静态特性。7.2面向对象的基本概念属性7.2面向对象
的基本概念方法方法是类提供的一组操作,也称为服务,它体现的是类的动态特性。方法可以看作传统软件设计中的模块,它是最小的设计单元。
方法体现了类的两方面特点:⑴类内部功能⑵类外部关系7.2面向对象的基本概念封装性封装性是指通过类的定义,将与类有
关的属性和方法集中在一起,并统一通过类提供的外部接口访问类的机制。大多数面向对象程序设计语言都提供了类的定义,都能通过定义以下访
问权限实现封装性特性:私有部分(private)。私有部分用于定义类的属性和内部方法,它不能为类的外部访问,也不能被继承的派生类所
访问,这样确保类中属性的安全性和操作的一致性。公有部分(public)。公有部分定义外部(通常是对象)访问类内部的开放接口,它提供
了类对外的所有方法,体现类的功能。受保护部分(protected)。受保护部分用于继承的环境中,派生类的成员函数能够直接访问基类的
受保护部分,而基类对象和派生类对象不能访问受保护部分,从而保护基类信息既能向下传递,同时也不破坏对类的封装性。7.2面向对象的基
本概念继承性继承性是指一个类自动具有其它类的属性和方法的机制。继承把单个类按照层次结构组织成一个类家族,称为类库。7.2面向
对象的基本概念继承性继承性是面向对象方法中重要的特性之一,这些特性体现在:⑴软件的重用性。⑵类间的组织关系。类的继承方式分
为单继承和多继承。⑶面向对象的多项特征,如封装性中类的受保护部分就需要继承的支持、多态性机制也必须存在于继承的环境中。c
lass:Circle+Draw()class:Triangle+Draw()class:Shape+Draw()
7.2面向对象的基本概念多态性多态性是指类的一个接口对应多种实现的机制,它通过在基类和派生类之间的虚方法(也称虚函数)来实现,
因此它必须在类的继承性中得以体现。7.2面向对象的基本概念重载重载是指对同名的方法,通过它们接口定义的不同分别有不同的实现过
程。重载通过对具有不同实现过程的方法,定义相同的方法名称。这样减少了方法名称在记忆上的负担,并增加程序的可理解性。7.2面向对
象的基本概念消息消息是指对象执行某个类中所定义的方法时所传递的数据规格说明。消息通常包括:消息名称、发送消息的对象、接收消息的对
象、消息参数等部分。对boolDraw(Shape&G){G.Draw();}中,Draw是消息名称,G是消息的发送
者,也是消息接收者。当G中保存的是Circle对象时,G.Draw()消息发送给自身,即Circle类,由Circle类绘画图形G
。当G中保存的是Triangle对象时,G.Draw()消息发送给自身,即Triangle类,由Triangle类绘画图形G。
面向对象=对象+类+继承+消息实现视图设计视图用例视图配置视图过程视图7.3UML视图UML视图是从某个角度看待系统,它反映
的是系统的不同侧面。理想情况下,希望仅通过单一视图就能准确描述系统。但在实际建模过程中,单一视图难以包含系统功能、性能等所有的需
求信息,更难以描述整个软件系统的结构和流程。软件系统需要从多个类型的视图出发,每个类型的视图表示系统的某个特殊的方面,或系统的某
方面特征,多个类型视图共同建立一个完整的系统模型。实现视图设计视图用例视图配置视图过程视图7.3UML视图7.3UML视图实
现视图设计视图用例视图配置视图过程视图7.3UML视图实现视图设计视图用例视图配置视图过程视图7.3UML视图实现视图设计视图
用例视图配置视图过程视图7.3UML视图7.4UML的图和模型元素UML图用来具体地描述视图内容,它是构成视图的元素,不同的
视图用不同的图的组合来刻画。UML图描述包括系统静态结构和动态行为在内的系统功能、性能、结构和控制。模型元素是构成图的基本元素,
它不仅能表示面向对象中的类、对象、接口、消息和组件等概念,体现面向对象的封装性、继承性和多态性机制,而且还能表示这些概念间的彼此关
系,如关联关系、依赖关系、泛化关系和实现关系等。这样,通过模型元素,UML图就能将系统涉及的所有事物关系联系在一起,形成更具丰富语
义的视图。7.4UML的图和模型元素用例图用例图(UseCaseDiagram)是由参与者(Actor)、用例(Use
Case)和它们间关系(Relationship)共同构成的、用于描述系统功能的图。它是用例建模的模型元素,描述用例模型中的关系。
用例图是从系统外部描述系统的功能及功能间关系,它主要用于子系统、包、类等事物的功能行为描述。用例图不描述功能实现的细节和性能的约
束。7.4UML的图和模型元素用例图的图形元素:1.参与者2.用例3.系统边界4.关系7.4UML的图和模型
元素类图类图用于描述类的属性、方法和类间关系。属性和方法是类的内部结构,关系是类间的关联,它们用于定义UML的静态模型。类的
内部结构涉及类名、类内部事物的属性、方法及其它们的可见性,它包括:⑴类名⑵可见性⑶属性⑷方法7.4UML的图和模型
元素类图⑴类名⑵可见性⑶属性⑷方法7.4UML的图和模型元素包图包图是对UML中用例图、类图、UML关系等模型元
素的封装,它用于描述具有相似功能的模型元素的组合,或组织软件系统结构的层次,或展现整个系统的物理部署。通过包图,能对语义上相关的图
形元素进行分组,简化系统结构描述,提高系统设计和实现的模块化程度,同时降低各子系统间的耦合度。包图包括包的名称和包。⑴包用矩形
框表示,它可以包含类、对象、其它包以及UML关系等模型元素。⑵名称要准确描述包的语义,以增强包图的可理解性。⑶包之间具有UML
的依赖和泛化关系。7.4UML的图和模型元素包图7.4UML的图和模型元素包图7.4UML的图和模型元素状态图状态图用于描
述一个对象在生存周期内的所有可能的状态,以及引起状态改变的事件或条件。状态图的目的是通过描述某个对象的状态和引起状态转换的事件或条
件,来描述对象的行为。状态图由一系列状态、事件、条件和状态间转换共同构成。7.4UML的图和模型元素状态图7.4UML的图和
模型元素活动图活动图用于描述用例或场景的活动顺序,或描述一个活动到另一个活动的控制流。活动图所描述的内容可以是类内部的处理流程,
也可以是整个软件系统的操作流程。活动图反映在系统功能逻辑中参与的对象,以及每个对象的各自的行为活动。活动图用于以下目的:(1)描述
用例或场景的活动顺序。(2)描述一个活动到另一个活动的控制流。(3)描述类内部的工作和处理流程。(4)反映活动所影响到的对象。(5
)每个对象各自的行为活动。7.4UML的图和模型元素活动图7.4UML的图和模型元素顺序图顺序图也称为序列图,它用于描述对象
间的动态协作关系,并着重表现在时间先后顺序上,多个对象是如何进行交互的。顺序图的图形元素包括以下几个主要的组成部分:⑴参与者:
包括用户、外部系统等。⑵对象:对象用下划线修饰。⑶对象的生命线:用矩形条和虚线相叠加,表示对象的生存期。⑷消息:对象间相互传
递的消息分为三类:简单消息、同步消息和异步消息,简单消息同步消息异步消息7.4UML的图和模型元素顺序图7.4UML的图和模
型元素协作图协作图用于描述类和类间关系,反映的是通过一组类的共同合作来完成系统功能,因而也称为合作图。由于需要了解类的属性、方
法和类间关系,协作图主要用于面向对象的设计阶段。协作图的图形元素包括以下几个主要的组成部分:⑴对象:对象用下划线修饰。⑵链接:
用于表示对象间的关系,与类图中定义的类间关系一致。⑶消息:消息包括简单消息、同步消息和异步消息。7.4UML的图和模型元素协作
图协作图的图形元素包括以下几个主要的组成部分:⑴对象:对象用下划线修饰。⑵链接:用于表示对象间的关系,与类图中定义的类间关系
一致。⑶消息:消息包括简单消息、同步消息和异步消息。7.4UML的图和模型元素构件图构件图用于描述软件系统代码的物理组织结构
,该结构用代码组件表示,因而也称为组件图。代码组件可以是源代码、二进制文件、目标文件、动态连接库、COM组件或可执行文件、数据和
相关文档等。构件图反映了软件组件间的依赖关系,显示了软件系统的逻辑组成结构。7.4UML的图和模型元素构件图7.4UML的
图和模型元素配置图配置图用于描述软件系统在硬件系统中的部署,反映系统硬件的物理拓扑结构,以及部署在此结构上的软构件分布。因此,配
置图也被称为部署图。配置图的图形元素包括以下几个主要的组成部分:⑴节点:节点代表一个物理设备,以及在此节点上运行的软件或软件构件
。节点的图形元素用立方体表示,并定义节点名称。⑵连接:连接表示节点间交互的通信链路和联系。⑶构件:构件是可执行程序或软件的逻辑
单元,它被分布在节点中。它用带有两个小矩形框的矩形框表示。7.4UML的图和模型元素配置图实现关系关联关系泛化关系共享聚合复合
聚合依赖关系7.5UML的关系问题域到信息域的关系映射,是通过定义模型元素间的关系来体现。模型元素间的关系仍然是UML的模型元
素。在UML中,常见的关系有关联关系(包括复合关联和聚合关联)、依赖关系、泛化关系和实现关系。7.5UML的关系一、关联关系关
联关系用于描述类与类之间的关系构成,是有关类之间的较抽象和宽泛的关系表示。对象是类的实例,对象与对象之间的关系称为链(Link),
它是关联的实例。关联关系通常是双向的,关联的多个类之间彼此都能相互通信,即多个类之间,如果彼此能相互通信,则这些类之间就存在关联
关系。关联主要用来组织系统模型。对于建立复杂的系统模型,用关联关系分析从需求中得到的类及类间关系是很重要的。关联关系主要分为普通关
联、限定关联、关联类、递归关联、聚合关联和复合关联。7.5UML的关系1.普通关联7.5UML的关系2.限定关联7.5UML
的关系3.关联类7.5UML的关系4.递归关联关联关系用于描述类与类之间的关系构成,是有关类之间的较抽象和宽泛的关系表示。对象
是类的实例,对象与对象之间的关系称为链(Link),它是关联的实例。7.5UML的关系5.聚合关联7.5UML的关系二、泛化
关系泛化关系用于描述一个类自动具有另一个类的属性和方法的机制,常被称为继承关系。通过继承机制,派生类不仅具有基类的属性和方法
,还能够定义自身的属性和方法,成为基类的特殊类。泛化关系分为普通泛化和受限泛化。7.5UML的关系1.普通泛化普通泛化关系
是指一般意义上的基类和派生类之间的关系。(1)泛化关系中的访问权限7.5UML的关系1.普通泛化(2)单继承和多继承7.5U
ML的关系1.普通泛化(3)抽象类7.5UML的关系三、依赖关系依赖用于描述有较强关联的、多个事物间的关系。一个事物是非独
立的,它必须依附于另一个独立事物而存在,一个事物的改变会导致另一个事物发生变化。依赖关系更多地关注不同事物间,一个事物对另一个事物
数据的访问。7.5UML的关系三、依赖关系依赖关系用虚线箭头表示,虚线箭头上用双尖括号括起关键字说明具体依赖关系的语义信息。
7.5UML的关系三、依赖关系7.5UML的关系四、实现关系实现用于描述同一模型的不同细化过程,体现的是类间的语义关联。实现
关系的实现方式有两类:一类是通过继承体现,实现纯虚函数或接口的过程。一类是通过对模型的不断精化过程来体现,7.5UML的关系四
、实现关系一类是通过继承体现,实现纯虚函数或接口的过程。一类是通过对模型的不断精化过程来体现,7.6UML的通用机制软件系统
建模信息量大,过程复杂,因而难以仅用基本的UML图和模型元素准确、详细描述不同领域的需求,一些辅助方法和增加图形的语义信息是对UM
L图是有益的补充。常用的通用机制包括修饰(Adornment)、注释(Note)和规格说明(Specification)。通过通
用机制对UML的补充,能更准确、详细的描述模型的内容和语义,增进用户、分析员和设计员间的交流,丰富模型元素的语义,增强模型元素的信
息表示,保证了软件质量。7.6UML的通用机制修饰修饰用于增加模型元素的语义。7.6UML的通用机制扩展机制----构造型
7.6UML的通用机制扩展机制----标签值7.6UML的通用机制扩展机制----约束7.7基于UML的软件过程基于UML
的软件工程过程是以面向对象思想为指导,以用例为驱动、以类为基础、以体系结构为中心的迭代式增量开发的过程。1.用例驱动在用面向对
象技术分析大型项目时,典型的方法是从获取用户需求开始。通过用例获取和分析用户需求,是面向对象需求获取技术的基本方法。7.7基于
UML的软件过程2.以类为基础的体系结构UML的过程是以类为基础、以体系结构为中心的过程。软件系统并不是各模型要素的简单堆叠,而
是需要准确的规则、连贯的结构和条理的组织。基于UML的体系结构由构成模型的视图来描述,不同的视图用于表示体系结构的某个特殊的方面,或系统的某方面特征,多个视图才能建立完整的软件体系结构。7.7基于UML的软件过程3.迭代式增量开发基于UML的软件过程体现的是迭代式增量开发。软件系统不是整体开发,而是有步骤地、增量式开发方式。软件过程各阶段的转换是平滑过渡,没有严格的阶段界线。增量式地集成软件系统,能及早发现问题,降低项目风险。提高重用性。迭代过程是不断往复分析和设计的过程,结构重用和代码重用都能在迭代式增量开发过程中发挥重要作用。7.7基于UML的软件过程3.迭代式增量开发第7章统一建模语言UML小结一、统一建模语言UML二、面向对象的基本概念:对象、类、继承、消息等三、UML视图:用例、设计、实现、过程、配置四、UML的图:9种五、UML关系:关联、依赖、泛化、实现六、UML的通用机制:修饰、注释、规格说明、扩展机制七、基于UML的软件过程
献花(0)
+1
(本文系太好学原创)