第2章_UML系统建模与分析设计-统一建模语言UML-36.ppt_第1页
第2章_UML系统建模与分析设计-统一建模语言UML-36.ppt_第2页
第2章_UML系统建模与分析设计-统一建模语言UML-36.ppt_第3页
第2章_UML系统建模与分析设计-统一建模语言UML-36.ppt_第4页
第2章_UML系统建模与分析设计-统一建模语言UML-36.ppt_第5页
免费预览已结束,剩余88页可下载查看

下载本文档

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

文档简介

第二章 统一建模语言uml 本章目的: l 掌握uml特点和基本图标元素的表示符 l 掌握uml软件系统体系结构的五种视图和九 种基本图 l 了解uml的用例模型、静态模型、动态模型 的简单建模方法 l 了解uml的系统体系结构模型 l 掌握uml与软件开发统一过程 date1 2.1 uml模型系统体系结构 2.1.1 uml的诞生与发展 2.1.2 uml的主要特点 2.1.3 软件系统体系结构的描述 2.1.4 uml模型元素 date2 2.1.1 uml的诞生与发展 20世纪70年代出现了面向对象的程序设计语言。 20世纪80年代,出现了面向对象的建模语言。 在1989年到1994年期间,面向对象的方法从不到十种增加 到了五十多种 ;一些方法脱颖而出,包括booch方法、 omt和oose等方法; 其他的方法还有fusion方法、shlaer-mellor 方法和 coad-yourdon方法 经过booch、rumbaugh和jacobson三人的共同努力,于 1996年发布了uml(unified modeling language)。 date3 uml的标准化 1997年11月14日,uml1.1版本被omg(对象管理组织 )采纳为标准,并陆续修订颁布了1.3、1.4和1.5等版本。 2000年-2003年,uml2.0版本问世。 2005年,uml2.0标准版本被omg采纳。 booch rumbaugh jacobson date4 uml 的形成过程 date5 2.1.2 uml的主要特点 统一的标准 uml是被omg接受为标准,越来越多的 开发人员使用uml进行软件开发,越来越多的厂 商支持uml。 面向对象 是支持oo软件开发的建模语言。 可视化、表达能力强(概念明确) 建模表示法简洁,图形结构清晰,可视化 、表示能力强大,容易掌握和使用。 独立于过程 uml不依赖于特定的软件开发过程。 date6 可视化 uml通过它的元模型和表示法,把那些通过文字或 其他表达方法很难表达清楚的、隐晦的潜台词用简 单直观的图形表达和暴露出来,准确而直观地描述 其复杂的含义。 例如:造一辆车身是红色金属漆的小轿车,装备 四个普利司通牌子的轮胎,它是一辆四门车,车门 时加厚的,并且前后门玻璃上贴黑色的膜。前后挡 风玻璃里都装有电热丝,后视镜是电动可调的。 date7 date8 uml模型系统体系结构 模型元素 uml 通用机制视图 uml构成 date9 事物 关系 结构 事物 行为 事物 分组 事物 辅助 事物 关联 关系 依赖 关系 泛化 关系 实现 关系 用 例 类 接 口 协 作 主 动 类 组 件 节 点 状态机 交互机 包 注释 模型元素 uml 聚合 关系 通用机制视图 date10 模型元素 用 例 视 图 逻 辑 视 图 进 程 视 图 构 件 视 图 配 置 视 图 时 序 图 协 作 图 状 态 图 活 动 图 uml 用 例 图 类 图 对 象 图 构 件 图 配 置 图 通用机制视图 date11 模型元素 uml 通用机制视图 修 饰 注 解 规格 说明 通用 划分 扩展 机制 date12 v描述系统的功能需求,找出用例和执行者; v客户、分析者、设计者、开发者和测试者; v描述用图:用例图和活动图; v重要性:系统的中心,它决定了其他视图的 开发,用于确认和最终验证系统。 1用例视图 2.1.3 软件系统体系结构的描述 date13 2逻辑视图 v描述如何实现系统内部的功能 ; v分析者、设计者、开发者 ; v类图和对象图、状态图、顺序图、合作图 和活动图 ; v重要性:描述了系统的静态结构和因发送 消息而出现的动态协作关系 。 静态结构:类图、对象图 动态行为:状态图、活动图、时序图、协作图 date14 v描述系统代码构件组织和实现模块,及 它们之间的依赖关系 ; v设计者、开发者 ; v构件图 ; v描述系统如何划分软件构件,如何进行 编程 。 3构件视图 date15 v描述系统的并发性,并处理这些线程间 的通信和同步 ; v开发者和系统集成者 ; v状态图、顺序图、合作图、活动图、构 件图和配置图 ; v将系统分割成并发执行的控制线程及处 理这些线程的通信和同步 。 4进程视图 date16 v描述系统的物理设备配置; v开发者、系统集成者和测试者 ; v配置图 ; v描述硬件设备的连接和哪个程序或对象 驻留在哪台计算机上执行 。 5配置视图 date17 逻辑视图构件视图 部署视图进程视图 use case 视图 date18 高级语言程序设计 2.1.4 uml模型元素 date19 事物 关系 结构 事物 行为 事物 分组 事物 辅助 事物 关联 关系 依赖 关系 泛化 关系 实现 关系 用 例 类 接 口 协 作 主 动 类 组 件 节 点 状态机 交互机 包 注释 模型元素 uml 聚合 关系 通用机制视图 date20 v1 构件事物: uml模型的静态部分,描述概念或物理元素 v 它包括以下几种: 类:具有相同属性相同操作 相同关系相同语义的 对象的描述 接口:描述元素的外部可见行为,即服务集合的 定义说明 协作:描述了一组事物间的相互作用的集合 用例:代表一个系统或系统的一部分行为,是一 组动作序列的集合 构件:系统中物理存在,可替换的部件 节点:运行时存在的物理元素 v 另外,参与者、信号应用、文档库、页表等都是上述 基本事物的变体 v2 行为事物:uml模型图的动态部分,描述跨越空间和时 间的行为 交互:实现某功能的一组构件事物之间的消息的 集合,涉及消息、动作序列、链接 状态机:描述事物或交互在生命周期内响应事件 所经历的状态序列 v3 分组事物: uml模型图的组织部分,描述事物的组织结 构 包:把元素组织成组的机制 v4 注释事物: uml模型的解释部分,用来对模型中的元素 进行说明,解释 注解:对元素进行约束或解释的简单符号 date21 l 关联:连接(connect)模型元素及链接(link )实例。 l 依赖:表示一个元素以某种方式依赖于另一种 元素。 l 泛化:表示一般与特殊的关系,即“一般”元素 是“特殊”关系的泛化。 l 聚合:表示整体与部分的关系。 date22 关系(relationships) 关系是将事物联系在一起的方式,uml中定义 了四种关系: date23 类之间的关系 - 泛化关系 在 uml 中, 泛化关系用来表示类与类, 接口与接口之 间的继承关系. 泛化关系有时也称为”is a kind of”关系 在 uml 中泛化关系用一条实线空心箭头有子类指向 父类 date24 类之间的关系 - 实现关系 在 uml 中, 实现关系用来表示类与接口之间的实现关 系. 在 uml 中实现关系用一条虚线空心箭头由子类指向 父类 date25 类之间的关系 - 依赖关系 对于两个相对独立的系统,当一个系统负责构造另一个系统的 实例,或者依赖另一个系统的服务时,这两个系统之间体现为依 赖关系. 例如生产零件的机器和零件,机器负责构造零件对象; 充电电池和充电器,充电电池通过充电器来充电;自行车bicycle 和打气筒pump,自行车通过打气筒来充气 在现时生活中,通常不会为某一辆自行车配备专门的打气筒, 而是在需要充气的时候,从附近某个修车棚里借个打气筒打气。 在程序代码中,表现为bicycle类的expand()方法有个pump类型的 参数。以下程序代码表示某辆自行车先后到两个修车棚里充气: date26 类之间的关系 - 关联关系 对于两个相对独立的系统,当一个系统的实例与另一个 系统的一些特定实例存在固定的对应关系时,这两个系统 之间为关联关系。例如客户和订单,每个订单对应特定的 客户,每个客户对应一些特定的订单;公司和员工,每个 公司对应一些特定的员工,每个员工对应一特定的公司; 自行车和主人,每辆自行车属于特定的主人,每个主人有 特定的自行车。而充电电池和充电器之间就不存在固定的 对应关系,同样自行车和打气筒之间也不存在固定的对应 关系。 person 类与 bicycle 类之间存在关联关系,这意味着 在 person 类中需要定义一个 bicycle 类型的成员变量 date27 类之间的关系 - 关联关系 在现时生活中,当骑 自行车去上班时,只要从 家里推出自己的自行车就 能上路了,不象给自行车 打气那样,在需要打气时 ,还要四处去找修车棚。 因此,在person类的 gotowork()方法中,调用 自身的bicycle对象的 run()方法。 假如gotowork()方法 采用以下的定义方式: 那就好比去上班前,还要先四处去借一辆自行车,然后才能去上班。 依赖 date28 关联关系的名称 关联关系的名称: 关联关系可以有一个名称, 用于描述该 关系的性质. 此关联名称应该是动词短语, 因为它表明源 对象正在目标对象上执行动作. date29 关联关系的角色 当一个类处于关联的某一端时, 该类就在这个关系中 扮演一个特定的角色. 具体来说, 角色就是关联关系中一 个类对另一个类所表现的职责. 角色名称是名词或名称短 语. date30 关联关系的多重性 关联关系的多重性是指有多少对象可以参与该关联, 多重性可以用来表达一个取值范围, 特定值, 无限定的范 围. date31 关联关系 - 聚合关系 聚合关联是一种特殊的关联. 它表示类间的关系是整 体与部分的关系. 简言之: 关联关系中的一个类描述了一 个较大的事物, 它由较小的事物组成. 聚合关系描述了 “has a” 的关系, 即整体对象拥有部 分对象 整体和部分之间用空心菱形箭头的连线连接, 箭头指 向整体 date32 关联关系 - 组成关系 组合关系是更强形式的聚合. 组合关系中, 整件拥有部件的生命周期, 所以整件删除 时, 部件一定会跟着删除. 而且, 多个整件不可以同时共 享同一个部件。 聚合关系中, 整件不会拥有部件的生命周期, 所以整件 删除时, 部件不会被删除. 再者, 多个整件可以共享同一 个部件. uml 中组成关系用实心的菱形实线表示 date33 关联关系 - 导航性 导航性表示可从源类的任何对象到目标类的一个或多 个对象遍历. 即: 给定源类的一个对象, 可以得到目标类 的所有对象. 可以在关联关系上加上箭头表示导航方向. 只在一个方向上可以导航的关联称为单向关联,用一个 带箭头的方向表示; 在两个方向上都可以导航的关联称为 双向关联, 用一条没有箭头的实线表示. date34 2.2 uml系统模型与建模 2.2.1 用例模型及组成成分 2.2.2 静态模型与系统体系结构建模 2.2.3 动态模型与行为控制流建模 date35 2.2 uml系统模型与建模 三大类九种图表示 v用例模型图:由用例图组成。 v静态模型图:由类图、对象图、包图、构件图 和配置图组成。 v动态模型图:由活动图、顺序图、状态图和合 作图组成。 date36 2.2.1 用例模型及组成成分 z用例模型描述的时外部执行者所理解的系统功能。 z用例模型有若干用例图组成。 z用例图从用户的角度出发描述系统的功能需求,展 示系统外部的各类角色与系统内部的各种用例之间的 关系。 z用例模型驱动需求分析之后各阶段的开发。 date37 静态模型:指对系统中对象之间相互进行的联系 构建模型,这些关系不随时间发生变化。 uml系统建模用于描述系统体系机构。 1类图(class diagram) v 类图描述系统所包含的类、类的内部结 构及类之间的关系 类图是逻辑视图的重要组成部分,用于对系统的 静态结构建模。 2.2.2静态模型与系统体系结构建模 date38 类的图符分为长式和短式。如图2.5 长式由类名、属性和操作三部分组成。 类及类型名均用英文大写字母开头; 属性和操作名为小写字母开头。 date39 2对象图diagram) v 对象图是类图的一个具体实例 v 对象图符中对象名加了下划线. v 图2.6类图与对应的对象图. date40 3包图 v 包是一组分组机制,有一组关系密切的模型元 素构成。包可以嵌套。 v 包图是维护和控制系统总体结构的重要建模工 具。 v 包的内容:构成包的模型元素。 v 包用于模型的组织管理时,称为子系统。 v 包图表明包及其之间的依赖关系。 date41 date42 4构件图 v 组件图显示代码本身的逻辑结构,它描述系统 中存在的软件构件以及各构件之间的依赖关系。 v 构件是系统体系结构中独立的物理可替换单位 。 v 构件可以看成是包与类对应的物理代码模块, 逻辑上与包和类对应,实际上是一个文件。 date43 date44 5配置图 配置图描述系统中软件和硬件的配置情况和系统 体系结构,显示系统运行时刻的结构。 配置图有结点和连接。 结点指实际的物理设备及在该结点上运行的构件 或对象。节点是一组运行期间的系统资源,如计 算机、数据库、设备或存储器。 描述一组节点及其关系,允许评估分配结果和 资源分配。 date45 date46 动态模型主要描述系统的动态行为和控制结构。 动态行为包括: v对象生存期内的状态及状态迁移; v对象之间动态合作关系,显示对象间交互过程和交互顺序; v描述为面组用例所进行的活动及活动间的约述关系。 动态模型包括:状态图、活动图、顺序图、合作图。 2.2.3 动态模型与行为控制流建模 date47 1顺序图(sequence diagram) v 用来描述对象之间动态的交互关系,着重体现对象 间消息传递的时间顺序。 v 顺序图的一个用途是用来表示用例中的行为顺序。 当执行一个用例行为时,顺序图中的每条消息对应了 一个类操作或引起状态转换的触发事件。 v 两个轴:水平轴对象;垂直轴时间; v 垂直虚线生命线,表示某段时间内对象存在。 v 箭头:消息 v 细长矩形框:表示对象的激活状态 date48 date49 2合作图 v描述对象间的协作关系,协作图跟顺序图相似,显示对象 间的动态合作关系。除显示信息交换外,协作图还显示对象 以及它们之间的连接关系. v合作图画成对象图,消息箭头表示对象间的消息流向,消 息箭头必须附加标记,说明消息发送的先后顺序。 v协作图的一个用途是表示一个类操作的实现。 date50 2合作图 date51 3状态图 状态图是对类的一种补充描述,它展示了此类对象所具 有可能的状态以及某些事件发生时其状态的转移情况。 与交互图不同,交互图对共同工作的对象群体的行为建 模,而状态图对单个对象的状态变化行为建模。 v事件 v状态迁移 v迁移动作 date52 4活动图 活动图是状态图的一个变体,用来描述执行算法的工作流 程中涉及的活动 活动图描述了一组顺序的或并发的活动 可以描述操作的行为;也可以描述用例和对象的内部工作 过程。 状态图事件触发;活动图一个活动结束自动进入下一 活动。 date53 活动图 date54 上述十种模型图可归纳为五种类型 v 用例图:用例图 v 静态图:类图、对象图、包图 v 交互图:顺序图、协作图 v 行为图:状态图、活动图 v 实现图:组件图、部署图 date55 2.3 uml系统体系结构模型 2.3.1 子系统组织的系统体系结构 2.3.2 系统模型组织的系统体系结构 2.3.3 系统体系结构模型的描述方式 date56 2.3.1 子系统组织的系统体系结构 子系统是描述系统某个行为的相对独立的抽象单 位。 每个子系统都有自己独立的接口,通过接口各个 子系统相互交换信息,协同工作。 子系统用“包”图符元素加上构造型 表示; 子系统也可以用右上角带有分支图形的“包”图符 元素表示。 date57 如果采用由子系统包描述系统的体系结构图, 其最底层(叶结点)元素必须由模型包描述。 而模型包一般用右上角带三角图形的图标元素 “包”表示。 图216不是一个完整的由子系统包组成的系 统体系结构图。 date58 2.3.2 系统模型组织的系统体系结构 uml中,系统模型一般用右上角带有三角图形的“ 包”图符元素表示,并且可以在模型名上标注构造性 date59 2.3.3 系统体系结构模型的描述方式 在uml中,一个系统体系结构层次可以用两种 描述方式: v 基于模型的系统体系结构层次 v 基于子系统的系统体系结构层次 date60 date61 在用包描述一个多层的系统体系结构时,在较高 的各层次结构中既可以用模型包作为元素,也可以 用子系统包作为模型元素。但在最底层只能用模型 包作为元素。 一般为了简便采用简单的包图(不带分支或三角图 符的包)来建立系统的体系结构。 date62 2.4 uml的扩展、调整机制 2.4.1 模型元素的分类与标记 2.4.2 模型元素的特性规格说明 2.4.3 模型元素的语义扩展与约束 date63 2.4 uml的扩展、调整机制 模型元素 uml 通用机制视图 修 饰 注 解 规格 说明 通用 划分 扩展 机制 date64 uml的公共机制 date65 date66 特性规格说明 date67 2.4 uml的扩展、调整机制 2.4.1 模型元素的分类与标记 date68 2.4.2 模型元素的特性规格说明 date69 2.4.3 模型元素的语义扩展与约束 date70 uml的建模原则 date71 小结 date72 2.5 uml与软件开发统一过程 date73 rup的特点 rup的二维开发模型 rup可以用二维坐标来描述。 v 横轴通过时间组织,是过程展开的生命周 期特征,体现开发过程的动态结构; v 纵轴以内容来组织,是自然的逻辑活动, 体现开发过程的静态结构。 date74 2.5.1 迭代、渐增式的开发过程 1开始阶段 主要确定项目的范围和目标,并进行可行性分析 。 v 理解问题领域的各种业务过程及其关系 v 考虑和分析项目成本及可能得到的效益和风险 v 明确待开发项目的意义和价值 v 确定是否要开发此项目 date75 2详细规划阶段 收集详细的系统需求,进行高层次的系统分析 和系统设计。 v 对问题领域和功能作详细分析,画用例图。 v 建立系统的基础体系结构。 v 进行风险分析,并制定对策。 v 制定开发计划 date76 制订计划包括: (1)用例分类 v 1)将用例的优先级分为三级。 v 2)体系结构方面的风险的风险。 v 3)进度风险(对实现每个用例所需工作量估算的评价) 分为三级。 (2)确定每次迭代的开发周期 v迭代周期;周期的长短;迭代次数 (3)将用例分配到各次迭代中 v高优先级,高体系结构风险和高进度风险的用例 尽早实现。 date77 4移交阶段 3系统构造阶段 渐增式开发 集成测试 测试演示 保存测试案例 date78 2.5.2 软件开发步骤及核心支持活动 1需求分析 v业务模型和用户需求分析模型 2系统设计 v高层设计:定义子系统 v详细设计:细化包的内容,规格说明。 3实现 v设计模型图和规约转换成程序代码 4测试 5配置 date79 6核心支持工作 (1)配置与变化管理 (2)项目管理 (3)环境设置 date80 2.5.3 uml软件开发过程产生的模型 与文档 1模型 (1)业务模型:建立问题领域的组织结构和业 务流程的抽象。 描述方式:需求分析规格说明书。 (2)领域模型:建立问题领域的需求分析说明。 描述方式:需求分析规格说明书。 (3)用例模型:表达系统的功能。 描述方式:用例图、活动图及需求分析规格说 明书。 date81 l 基本功能分析; l 实现功能的对象; l 对象之间的关系; 4)分析模型(任选):只有复杂的系统才需要建 立独立的分析模型。该模型包括: 描述方式:类图、对象图、包图、顺序图、合 作图、状态图和活动图。 date82 (5)设计模型:系统具体解决方案,由调整和完善 分析模型而成。 描述方式:类图、对象图、包图、顺序图、合作 图、状态图和活动图。 (6)进程模型(任选):描述系统并发和同步机制。 有多线程的并发系统才建立。 描述方式:状态图、顺序图、合作图、活 动图、构件图和配置图。 date83 (8)配置模型:描述系统软件在各个硬件上的配置

温馨提示

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

评论

0/150

提交评论