第9章面向对象系统建模UML和RUP

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9.2 UML
9.2.2图
UML的模型主要是通过一系列相关的图来表达,在UML中 共定义了9种图,它们分别从不同的侧面来描述系统。 UML中的图可分为静态图和动态图两大类。静态图包括用 例图、类图、对象图、组件图和配置图,动态图包括序列图、 状态图、协作图和活动图。 用例图(Use case diagram) 用例图描述系统的功能,由系统、用例和角色(Actor)三 种元素组成。用例是系统对外提供功能的描述,是角色和系统 在一次交互过程中执行的相关事务的序列。角色是与系统、子 系统或类交互的外部人员、进程或事物。用例之间存在扩展、 使用和组合三种关系。角色之间可以用通用化关系将某些角色 的共同行为抽象为通用行为。用例图是用例视图的重要组成部 分。
9.1 面向对象的软件开发
9.1.2 系统模型
模型是抓住现实系统的重要方面(主要方面)而忽略次要 方面的一种抽象,是对现实系统的一种简化,是理解、分析、 开发或改造现实系统的一种常用手段。
现实系统
模型和现实系 统之间的关系
抽象 系统的模型
确认
软件开发人员在开发一个复杂系统之前,应先建立系统模 型。 建模可以使设计者从全局上把握系统及其内部的联系。软 件系统模型提供一个系统的蓝图。
9.2 UML
②面向对象 UML吸取了面向对象技术领域中其他流派的长处。UML符 号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、 多余的和极少使用的符号,也添加了一些新符号。 ③可视化、表示能力强 系统的逻辑模型或实现模型都能用UML模型清晰的表示, 可用于复杂软件系统的建模。 ④独立于过程 UML是系统建模语言,独立于开发过程。 ⑤易掌握、使用 UML概念明确,建模表示法简洁明了,图形结构清晰。
过程 工具
9.2 UML
UML是一种定义良好、易于表达、功能较强、通用的建模语 言,适用于系统开发过程中从需求规约描述到系统完成后测试的 不同阶段。 UML作为一种可视化的建模语言,提供了丰富的基于面向对 象概念的模型元素及其图形表示元素。
9.2.1UML概述
(1) UML的形成 90年代中,面向对象方法已经成为软件分析和设计方法的 主流。 1994年10月James Rumbaugh和Grady Booch共同合作把他们 的 OMT 和 Booch 方 法 统 一 起 来 , 到 1995 年 成 为 “ 统 一 方 法 ” (Unified Method)版本0.8。随后,Ivar Jacobson加入,并采用 他的用例(User case)思想,到1996年,成为“统一建模语言”版本 0.9。
9.1 面向对象的软件开发
面向对象的编程(OOI —Object Oriented Implementation) 面向对象的测试(OOT —Object Oriented Testing) 面向对象的维护(OOSM —Object Oriented Software Maintenance) 面向对象方法继承了软件生命周期法总结的软件设计准则 ,有利于解决上述这些软件系统的分析与设计所面临的问题。 面向对象方法的优点: (1)按照人类的自然思维方式,面对客观世界建立软件系统 模型,有利于对问题领域和系统责任的理解,有利于人员交流 。 (2)对需求变化的适应性。 (3)支持软件复用。 (4)可维护性好。
状态,活动,完成转换,分叉,结合
交互,对象,消息,激活 协作,交互,协作角色,消息 包,子系统,模型
模型管理 模型管理视图
9.2 UML
9.2.4 模型元素(Model elements)
可以在图中使用的概念统称为模型元素。模型元素用语 义、元素的正式定义或确定的语句的准确含义来定义。模型 元素在图中用相应的符号表示,即视图元素。一个模型元素 可以用在多个不同的图中,但总是用相同的含义和符号表示, 并且出现的方式应符合一定的规则。 除了类、对象、消息等概念外,模型元素之间的连接关 系如关联、依赖、通用化也是模型元素。另外,模型元素也 包括消息、动作和版型等。 9.2.5 通用机制(general mechanism) 通用机制用于为图附加一些无法用基本的模型元素表示 的信息,如注释(note)、修饰(adornment)和规格说明 (specification)等。另外,为了适应用户的需求,它还提供 了扩展机制。
9.2 UML
状态图(Statechart diagram) 状态图主要用来描述对象、子系统、系统的生命周期。通 过状态图可以了解一个对象可能具有的所有状态、导致对象状 态改变的事件、以及状态转移引发的动作。状态是对象操作的 前一次活动的结果,通常由对象的属性值来决定。事件指的是 发生的且引起某些动作执行的事情。状态的变化称做转移,与 转移相连的动作指明状态转移时应做的事情。状态图是对类描 述的事物的补充说明,用在设计视图中描述类的行为。
强调数据抽象、易 扩充性和代码复用 面向对象 等软件工程原则, 支持数据抽象、封 程序设计 装和继承等面向对 象的概念。 大型、复杂 软件系统的 生成
9.1 面向对象的软件开发
对象 对象
函数 和过程
对象
数据
对象
(a)结构化程序
(b)面向对象程序
面向对象=对象+类+继承+通信 面向对象的软件开发方法涉及以下阶段: 面向对象的分析(OOA —Object Oriented Analysis) 面向对象的设计(OOD —Object Oriented Design)
9.2 UML
1997年1月,UML版本1.0被提交给 OMG组织,作为软件建 模语言标准的候选。其后的半年多时间里,一些重要的软件开 发商和系统集成商都成为“UML伙伴”,如IBM,Mircrosoft,HP 等。1997年11月7日被正式采纳作为业界标准。
UML语言的产生、 融合与演化的过程
9.2 UML
9.2 UML
类图
9.2 UML
对象图(Object diagram) 对象图是类图的示例,类图表示类和类与类之间的关系, 对象图则表示在某一时刻这些类的具体实例以及这些实例之间 的具体连接关系,可以帮助人们理解比较复杂的类图。对象图 也可以用于显示类图中的对象在某一点的连接关系。对象图常 用于用例视图和设计视图中。
Design View 描
系统的外部特性、 述系统设计特征, 系统功能等。 包括结构模型视 图和行为模型视 图,前者描述系 统的静态结构(类 设计视图 实现视图 图、对象图),后 Use case 者描述系统的动 视图 态行为(交互图、 配置视图 状态图、活动图)。 过程视图
Use case View描述
分析、抽取
领域问题
概念模型
提取
分析、设计
系统需求
解决方案
9.1 面向对象的软件开发
软件系统进行建模的目的: 1.理解应用领域中的知识,捕获用户的需求。 2.与用户沟通。 3.进行系统设计。 4.使实现细节和需求分开。 5.设计出有用的实际产品. 6.通过模型可以建立系统的文档。 7.利于我们理解复杂系统。 表示法 表示法、过程和工具是成功 建模的三要素,三者缺一不可。
9.2 UML
9.2.3视图
一个系统应从不同的角度进行描述 ,从一个角度观察到的 系统称为一个视图( view)。视图由多个图( Diagrams )构 成,它不是一个图表(Graph),而是在某一个抽象层上,对系 统的抽象表示。 如果要为系统建立一个完整的模型图,需定义一定数量 的视图,每个视图表示系统的一个特殊的方面。另外,视图 还把建模语言和系统开发时选择的方法或过程连接起来。
9.面向对象 系统建模 UML和Байду номын сангаасUP
9. 面向对象系统建模UML和RUP
UML(Unified Modeling Language)是一种优秀 的建模语言,它使用面向对象的概念来分析、描述软 件系统并构造系统模型;而RUP(Rational Unified Process)是应用UML的软件开发过程。
9.2 UML
(3) UML的主要构成 UML 是一种标准化的图形建模语言,它是面向对象分析 与设计的一种标准表示。 UML主要由以下几部分构成 : 视图(views) 图(Diagrams) 模型元素(Model elements) 通用机制(general mechanism) (4) UML的特点 ①统一标准 UML统一了Booch、OMT和OOSE等方法中的基本概念, 已成为OMG的正式标准,提供了标准的面向对象的模型元素 的定义和表示。
9.2 UML
用例图
9.2 UML
类图(Class diagram) 类图用来表示系统中的类以及类与类之间的关系,描述 系统的静态结构,用于逻辑视图中。类是对象的抽象描述。 所谓对象就是可以控制和操作的实体,类是具有共同结构、 行为、关系、语义的一组对象的抽象。 类的行为和结构特征分别通过操作和属性表示。类与类 之间有多种关系。如关联、依赖、通用化、聚合等。关系提 供了对象之间的通信方式。关联关系用于描述类与类之间的 连接,通常是双向的。通用化又称继承,是通用元素和具体 元素之间的一种分类关系,具体元素完全拥有通用元素的信 息,并且还可以附加其他信息。聚合关系具有较强的耦合性, 描述整体与部分的关系。依赖关系描述两个模型元素之间语 义上的连接关系,其中一个元素是独立的,另一个元素依赖 于独立的模型元素,独立元素的变化将影响到依赖元素。
电梯的状态图
9.2 UML
序列图(Sequence diagram) 面向对象系统中对象之间的交互表现为消息的发送和接 收。序列图反映若干个对象之间的动态协作关系,即随着时 间的流逝,消息是如何在对象之间发送和接收的。序列图表 现为二维的形式,其中的纵坐标轴显示时间,横坐标轴显示 对象。序列图中重点反映对象之间发送消息的先后次序,常 用在设计视图中。
主要的域 视图 静态视图 结构 用例视图 图 类图 用例图 主要概念 类,关联,泛化,依赖关系,实现,接口 用例,参与者,关联,扩展,包含,泛化
实现视图
配置视图 状态机视图
构件图
配置图
构件,接口,依赖关系,实现
节点,构件,依赖关系,位置
状态视图 状态,事件,转换,动作
动态
活动视图
交互视图
活动图
顺序图 协作图 类图
9.2 UML
协作图(Collaboration diagram) 协作图主要描述协作对象之间的交互和链接。协作图和 序列图同样反映对象间的动态协作,也可以表达消息序列, 但重点描述交换消息的对象之间的关系,强调的是空间关系 而非时间顺序。
9.2 UML
活动图(Activity diagram) 活动图显示动作及其结果,着重描述操作实现中所完成 的工作以及用例实例或对象中的活动。活动图中反映了一个 连续的活动流,常用于描述一个操作执行过程中所完成的工 作。
(2) UML的主要内容 UML的定义包括UML语义和UML表示法两个部分。 UML语义 描述基于UML的精确元模型(meta-model)定 义。元模型为UML的所有元素在语法和语义上提供了简单、一 致、通用的定义性说明,使开发者能在语义上取得一致,消除了 因人而异的表达方法所造成的影响。此外UML还支持对元模型 的扩展定义。 UML支持各种类型的语义。如布尔、表达式、列表、阶、 名字、坐标、字符串和时间等,还允许用户自定义类型。 UML表示法 定义UML符号的表示法,为开发者或开发 工具使用这些图形符号和文本语法为系统建模提供了标准.。这 些图形符号和文字所表达的是应用级的模型,在语义上它是UML 元模型的实例。
9.2 UML
组件图(Component diagram) 组件图用来反映代码的物理结构。组件可以是源代码、 二进制文件或可执行文件,包含逻辑类的实现信息。实现视 图由组件图够成。
9.2 UML
配置图(Deployment diagram) 配置图用来显示系统中软件和硬件的物理架构。图中通 常显示实际的计算机和设备及它们之间的关系。配置图用来 构成配置视图,描述系统的实际物理结构。
UML常用视图
Implementation View 表示系统
的实现特征,常 用构件图表示。
Process View 表示系统内
部的控制机制。常用类图描 述过程结构,用交互图描述 过程行为。
Deployment View 配置
视图描述系统的物理配置 特征。用配置图表示。
9.2 UML
UML中定义的视图与图等的关系表
9. 面向对象系统建模UML和RUP
9.1 面向对象开发的软件开发 9.2 UML
9.3 RUP
9.1 面向对象的软件开发
9.1.1 面向对象开发与面向过程开发的比较
方法 特点 缺点 适用情况 以功能分析为基础, 模块独立性较差, 面向过程 强调自顶向下的功 模块间的耦合度 传统的程序 能分解,操作与数 较高,系统的理 设计方法 据相分离。 解和维护存在一 程序设计 定难度。
相关文档
最新文档