×
全国高等院校应用型创新规划教材·计算机系列UML基础与建模实用教程

全国高等院校应用型创新规划教材·计算机系列UML基础与建模实用教程

1星价 ¥41.8 (7.2折)
2星价¥41.8 定价¥58.0
暂无评论
图文详情
  • ISBN:9787302511229
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:291
  • 出版时间:2017-03-01
  • 条形码:9787302511229 ; 978-7-302-51122-9

本书特色

《UML基础与建模实用教程》以网上书店系统建模、气象监测系统建模两个大型系统建模为样板,详细演示了系统的领域建模、用例建模和动态建模的全过程,为读者讲解了建模的每个环节中用到的建模原则、建模步骤和建模经验。《UML基础与建模实用教程》配备电子课件和电子教案、教学大纲、实验指导书和习题答案等教学资源。

内容简介

《UML基础与建模实用教程》是一本关于UML语言基础和建模方法的实践教程,以真实系统的需求、分析、设计为语境,详细介绍了UML语言的体系结构、UML符号的语义、语法规则、公共机制、表示方法及UML建模方法。同时,《UML基础与建模实用教程》以网上书店系统建模、气象监测系统建模两个大型系统建模为样板,详细演示了系统的领域建模、用例建模和动态建模的全过程,为读者讲解了建模的每个环节中用到的建模原则、建模步骤和建模经验。 《UML基础与建模实用教程》理论与建模实训紧密结合,通过学习能够真正掌握建模技术。《UML基础与建模实用教程》适合作为高等院校计算机专业及其他相关专业的教材,也可以作为培训机构计算机相关专业的培训教材。

目录

第1篇 UML语言基础 第1章 UML概述 3 1.1 什么是UML 4 1.1.1 UML简史 4 1.1.2 UML定义 5 1.1.3 UML的特点 5 1.2 什么是模型 5 1.2.1 模型的用途 7 1.2.2 为什么要建模 8 1.2.3 建模原则 8 1.2.4 模型分类 9 1.3 UML工具 9 1.3.1 UML工具介绍 9 1.3.2 如何选择UML工具 10 1.4 UML语言应用 11 1.5 本章小结 11 1.6 习题 12 第2章 UML语言体系 13 2.1 UML语言组成 14 2.2 构造块:事物 15 2.2.1 结构事物 16 2.2.2 行为事物 19 2.2.3 分组事物 19 2.2.4 注释事物 20 2.3 构造块:关系 20 2.4 构造块:图 22 2.4.1 UML图 23 2.4.2 UML视图 26 2.5 UML语言中的公共机制 26 2.5.1 构造块描述机制 26 2.5.2 公共机制 27 2.6 对系统体系结构建模 29 2.7 本章小结 30 2.8 习题 30 第3章 类目 31 3.1 类目的概念 32 3.2 类目的可见性和作用域 33 3.2.1 类目的可见性 33 3.2.2 类目的作用域 34 3.3 本章小结 34 3.4 习题 34 第4章 类图 35 4.1 类的表示 36 4.2 关系 38 4.2.1 依赖关系 38 4.2.2 泛化关系 39 4.2.3 实现关系 40 4.2.4 关联关系 40 4.2.5 关联的属性 42 4.2.6 关联类 45 4.3 简单的类图 46 4.4 类图中的元素 46 4.5 常用建模技术 50 4.5.1 对系统词汇建模 50 4.5.2 对简单协作建模 51 4.5.3 对逻辑数据库模式建模 52 4.5.4 对关系网建模 53 4.6 本章小结 54 4.7 习题 54 第5章 对象图和组合结构图 55 5.1 什么是对象 56 5.1.1 对象的三要素 56 5.1.2 对象分类 57 5.2 对象的表示 58 5.3 对象间的关系 59 5.4 简单的对象图 59 5.5 类图与对象图 60 5.6 如何绘制对象图 61 5.7 组合结构图 61 5.7.1 对构件结构建模 62 5.7.2 对类结构建模 63 5.8 本章小结 63 5.9 习题 64 第6章 包图 65 6.1 什么是包 66 6.2 包的表示 66 6.2.1 包的名称 67 6.2.2 包中的元素 67 6.2.3 包的构造型 69 6.3 包间关系 71 6.3.1 依赖关系 71 6.3.2 泛化关系 73 6.4 包的传递性 73 6.5 创建包图的方法 74 6.5.1 标识候选包 74 6.5.2 调整候选包 74 6.5.3 消除包的循环依赖 75 6.6 常用建模技术 75 6.6.1 对成组元素建模 75 6.6.2 对体系结构建模 77 6.7 本章小结 78 6.8 习题 78 第7章 顺序图和协作图 79 7.1 顺序图 80 7.1.1 顺序图的组成 80 7.1.2 顺序图的表示 81 7.1.3 循环和分支 84 7.1.4 场景建模 91 7.2 协作图 93 7.2.1 协作图的组成 93 7.2.2 循环和分支 94 7.2.3 顺序图与协作图 96 7.3 本章小结 96 7.4 习题 96 第8章 活动图 97 8.1 什么是活动图 98 8.2 活动图的表示 99 8.3 活动图分类 101 8.3.1 简单活动图 101 8.3.2 展示泳道的活动图 102 8.3.3 展示对象流的活动图 102 8.3.4 展示参数的活动图 104 8.3.5 展示别针的活动图 104 8.3.6 展示中断的活动图 106 8.3.7 展示异常的活动图 107 8.3.8 展示扩展区的活动图 107 8.3.9 展示信号的活动图 108 8.3.10 展示嵌套活动图 110 8.4 常用建模技术 110 8.4.1 对工作流建模 111 8.4.2 对操作建模 112 8.5 本章小结 113 8.6 习题 113 第9章 交互概况图和定时图 115 9.1 交互概况图 116 9.1.1 交互概况图的表示 116 9.1.2 交互概况图应用 118 9.2 定时图 119 9.2.1 定时图的表示 119 9.2.2 定时图应用 119 9.3 本章小结 121 9.4 习题 121 第10章 状态机图 123 10.1 状态机 124 10.2 状态机图中元素的表示 125 10.2.1 状态的表示 125 10.2.2 外部迁移的表示 126 10.2.3 分支的表示 131 10.3 迁移分类 131 10.4 状态 133 10.4.1 简单状态 133 10.4.2 复合状态 133 10.4.3 历史状态 136 10.4.4 子状态机间异步通信 137 10.5 常用建模技术 138 10.5.1 对对象的生命周期建模 138 10.5.2 对反应型对象建模 140 10.6 本章小结 143 10.7 习题 143 第11章 构件图 145 11.1 接口、端口和构件 146 11.1.1 接口 146 11.1.2 端口 148 11.1.3 什么是构件 148 11.1.4 构件分类 150 11.2 构件的表示 151 11.2.1 隐含接口信息的构件 151 11.2.2 展示接口信息的构件 151 11.3 构件间的关系 152 11.4 什么是构件图 153 11.4.1 简单构件图 154 11.4.2 嵌套的构件图 155 11.5 制品 155 11.5.1 制品的表示 155 11.5.2 制品的构造型表示 156 11.5.3 制品的种类 156 11.5.4 制品与类的区别 156 11.6 常用建模技术 157 11.6.1 对可执行程序建模 157 11.6.2 对源代码进行建模 158 11.7 本章小结 159 11.8 习题 159 第12章 部署图 161 12.1 什么是部署图 162 12.2 部署图组成 163 12.2.1 结点 163 12.2.2 连接 164 12.3 常用建模技术 165 12.3.1 设计阶段建模 165 12.3.2 实现阶段建模 166 12.4 本章小结 166 12.5 习题 166 第13章 用例图 167 13.1 什么是用例图 168 13.2 参与者和用例 169 13.2.1 参与者 169 13.2.2 用例 170 13.3 参与者之间的关系 172 13.3.1 识别参与者 172 13.3.2 参与者间的关系 172 13.4 用例之间的关系 173 13.4.1 包含关系 173 13.4.2 扩展关系 175 13.4.3 泛化关系 176 13.5 参与者和用例之间的关系 176 13.6 组织用例 177 13.7 用例规格描述 178 13.7.1 事件流 178 13.7.2 用例模板 179 13.7.3 用例优先级 180 13.7.4 用例粒度 181 13.8 用例描述实例 182 13.9 用例与协作 184 13.10 常用建模技术 185 13.10.1 对系统语境建模 185 13.10.2 对系统需求建模 186 13.11 本章小结 186 13.12 习题 187 第2篇 UML高级技术 第14章 双向工程 191 14.1 双向工程简介 192 14.2 正向工程 192 14.3 逆向工程 195 14.4 实例应用 196 14.5 本章小结 202 14.6 习题 202 第15章 统一软件过程(RUP) 203 15.1 统一软件过程概述 204 15.1.1 RUP的4个阶段 205 15.1.2 RUP的迭代模型 207 15.2 RUP中的核心工作流 207 15.2.1 需求工作流 209 15.2.2 分析工作流 212 15.2.3 设计工作流 214 15.2.4 实现工作流 216 15.2.5 测试工作流 219 15.3 RUP裁剪 223 15.4 本章小结 223 15.5 习题 223 第3篇 系统建模实践 第16章 网上书店建模 227 16.1 领域建模 228 16.1.1 领域建模方法 228 16.1.2 领域建模过程 228 16.2 用例建模 236 16.2.1 用例建模方法 236 16.2.2 用例建模过程 237 16.3 动态建模 258 16.3.1 动态建模方法 259 16.3.2 动态建模过程 259 16.4 本章小结 267 16.5 习题 268 第17章 气象监测系统建模 269 17.1 初始阶段 270 17.1.1 气象监测站需求 270 17.1.2 定义问题的边界 271 17.1.3 系统用例 276 17.2 细化阶段 277 17.2.1 气象检测系统用例 277 17.2.2 系统架构设计 283 17.3 构造阶段 284 17.3.1 帧机制 284 17.3.2 发布计划 286 17.3.3 传感器机制 287 17.3.4 显示机制 288 17.3.5 用户界面机制 289 17.4 交付阶段 291 17.5 本章小结 291 17.6 习题 291 参考文献 292
展开全部

节选

  第2章  UML语言体系  本章要点  1. UML语言组成、事物、关系、图。  2. 采用5种视图对系统体系结构建模。  学习目标  1. 了解UML语言体系的组成和结构。  2. 理解系统体系结构建模的重要性。  2.1 UML语言组成  UML语言是一种绘制软件蓝图的设计语言。正如中文语言是由词、语法规则组成的一样,UML语言由构造块(相当于词)、规则(相当于语法规则)和公共机制3个部分构成。其结构如图2-1所示。  图2-1 UML语言的组成  1.构造块  UML构造块又细分为3种:事物、关系和图。  (1) 事物:代表系统中的简单实体(如学生、老师、教师等)。  (2) 关系:代表实体间的联系(如同学关系、同事关系等)。  (3) 图:由多个边将多个顶点连接在一起构成的事物。这里的顶点指事物,边是指关系(如五边形图形由5个顶点和5条边组成)。如图2-2所示为构造块的3种类型。  图2-2 构造块的3种类型  2.规则  规则是指每个构造块必须遵守的语法和表示法。比如,每个构造块必须有名称、范围、可见性、完整性和可执行等属性。构造块应该遵守的规则如图2-3所示。  图2-3 构造块应遵守的规则  (1) 名称:指每个构造块代表的事物应该有一个名字。  (2) 范围:每个构造块代表的事物的作用范围。  (3) 可见性:所有的构造块一定存在于某个包中,因此构造块必然存在访问权限或者级别。正如Java语言中的类、接口都存在可见性一样,UML中的构造块也存在可见性,即访问级别。  (4) 完整性:同一构造块代表的事物在不同模型中的语义必须是一致的。  (5) 可执行:构造块代表的事物在分析、设计、编码阶段都在演化,但是它代表的事物在整个演化过程中必须是合理、有效的。比如,分析阶段的类Dog,当演化到代码中的Dog时,这个Dog必须是合理、有效的。  3.公共机制  公共机制是指每个事物必须遵守的通用规则。可以将公共机制进一步细分为详述、修饰、通用划分及扩展机制。公共机制的组成如图2-4所示。  图2-4 公共机制的组成  下面几节分别对事物、关系、图的概念、表示法进行详细介绍。  2.2 构造块:事物  事物是UML语言中*基本的构造块。根据构造块的性质,可将其划分为4类:结构事物、行为事物、分组事物和注释事物。  2.2.1 结构事物  结构事物是UML语言中的名词,通常用来描述系统中的概念或者物理实体,是模型的静态部分。结构事物进一步细分为7种,分别是类(及其对象)、接口、用例、协作、构件、结点和制品。下面分别介绍7种结构事物的概念和表示法。  1.类和对象  类是对具有相同属性、相同操作及相同关系的一组对象的共同特征的抽象,即类是对一组对象共同特征的描述。类是对象的模板,而对象是类的一个实例。  1) 类的表示  在UML中,类用一个长方形框表示。图中把一般长方形框分为3栏,第1栏列出类名,第2栏列出类的属性,第3栏列出类的操作。类名不能省略,属性和操作可以不用列出。  图2-5是Flight类(航线)的UML表示法。第1栏列出类名Flight;第2栏列出类的3个属性,分别是flightNumber、departureTime和flightDuration;第3栏列出类的两个操作,分别是delayFlight()和getArrivalTime()。  图2-5 Flight类的UML符号  2) 对象的表示  对象也用一个长方形框来表示,只是用“对象名:类名”的格式表示一个对象,并且对象名和类名下面必须带下画线。表示对象时,第2栏和第3栏可以省去。例如,图2-6所示为对象“李世民”的UML表示法。  图2-6 对象“李世民”的UML符号  3) 主动类及其表示  一个对象可以是主动的也可以是被动的。主动对象可以改变自身状态,被动对象只有在接收到消息后才会改变自身的状态。例如,定时器和时钟就是主动对象,它们可以在没有外部事件触发的情况下改变它们自身状态。银行账户就是被动对象,银行账户的属性不会发生变化,除非银行账户接收到一条设置余额(一种用于更新账户余额的操作)的消息,账户才改变状态。  用主动类创建的对象就是主动对象。主动类的表示与一般类相似,只是矩形框用粗线表示而已,如主动类(时钟)的表示方法如图2-7所示。  2.接口  因为访问类、对象或构件是通过其方法来实现的,因此把类、对象、构件的方法集合称为接口。接口向外界声明了类(或构件)能提供的服务。  接口分为供给接口和需求接口两种,供给接口只能向其他类(或构件)提供服务,需求接口(本质上不存在需求接口,它只是一种形式)表示类(或构件)需要用到接口中声明的服务,这些服务由其他类(或构件)提供。比如,一个不会讲英语的人,需要“中英文翻译”接口,在形式上,就把“中英文翻译”这个由其他构件(中英文翻译机)提供的服务作为人的需求接口。本质上,人是没有“中英文翻译”接口的,它只是说明人需要能提供“中英文翻译”的构件。  上述两种接口的表示方法如图2-8所示。  图2-7 表示主动类(时钟)的符号  图2-8 表示接口的UML符号  3.用例  把为实现某个目标而执行的一系列有序操作的集合称为场景。例如,客户小刘在柜员机上取款500元的一系列操作构成一个场景;客户小王在柜员机上取款300元的一系列操作也是一个场景。无论多少个客户,他们在柜员机上取款的一系列操作是相似的,即所有客户取款的场景是相似的,只是取款时,输入的密码、取款金额不同。  用例(用例定义,参考第13章)是对一组相似场景的共同操作的抽象。例如,可以用一个动作序列来描述所有取款客户的相同操作。因此,用例的每一次的具体执行就是一个场景,即场景是用例的一个实例,是用例的一次具体执行;用例是对所有相似场景的抽象和描述。用例与场景的关系正如类与对象的关系。  在UML中,用例是用一个实线椭圆形来表示的,在椭圆中写上用例名称,如用例“取款”的表示方法如图2-9所示。  4.协作  在系统中,把一组对象之间相互发送消息和接收消息的现象称为交互。把一组对象为了完成某个任务执行的交互现象称为协作。  用例的一次具体执行就是一个场景。在场景中,多个对象之间的相互协作实现了场景,即实现了用例描述的功能。本质上说,协作就是用例的实现。  协作用一个带两个分栏的虚线椭圆形来表示。例如,协作“销售”的表示方法如图2-10所示。  图2-10 协作“销售”的表示  图2-10表示协作“销售”由6个对象相互合作完成销售功能,其主要语义如下。  (1) 生产商生产出产品并以低价售给批发商和零售商,从中获得了利润。  (2) 批发商以比生产商较高的价格出售给销售商或中介,零售商在自己的商店得到 更高利润。  (3) 顾客以较高的价格买到自己想要的商品。  5.构件  构件也称组件,它是指系统设计中的一个相对独立的软件部件,它把功能实现部分隐藏在内部,对外声明了一组接口(包括供给接口和需求接口)。因此,两个具有相同接口的构件可以相互替换。  构件是比“对象”更大的软件部件,如一个COM组件、一个DLL文件、一个JavaBeans及一个执行文件都可以是构件。构件通常采用带有两个小方框的矩形表示,将构件的名字写在方框中,如图2-11所示。  6.结点  结点是指硬件系统中的物理部件,通常具有存储空间或处理能力,如PC、打印机、服务器、显示器等都是结点。在UML中,用一个立方体表示一个结点。例如,结点“显示器”的表示方法如图2-12所示。  7.制品  制品是系统中可以替换的物理部件,包括物理信息(比特流)。制品通常代表对源码信息或者运行时信息的物理打包。一般将制品表示为一个矩形,在制品名称的上方写上关键字《artifact》。  图2-11 表示构件的UML符号  图2-12 结点“显示器”的UML符号  2.2.2 行为事物  行为事物描述了事物的动态特征,即描述事物之间的交互、交互引起的事物状态变化以及交互引起的活动执行轨迹。行为事物分3种:交互、状态、活动。  1.交互  交互用来表示对象之间的相互作用,即发送和接收消息的现象。  一般用一条有向直线来表示对象间的交互,并在有向直线上方标注消息名称即可,如图2-13所示。  2.状态  事物处于某个特定属性值时的现象称为状态(如某人年龄处在0~12岁时,认为是处于少年状态)。  在UML中,状态用一个圆角矩形表示,状态名称写在圆角矩形框中。例如,手机处在“正在通话”状态的表示方法如图2-14所示。  图2-13 表示交互的UML符号  图2-14 表示“正在通话”状态的UML符号  3.活动  活动描述了事物执行的一系列步骤,它关注的是活动执行的流程。在第8章将详细讲解活动图。  交互强调一组对象之间的接收和发送消息的现象;状态强调的是在一个时间段内对象的生命周期;活动注重的是步骤之间的活动流程,并不关心哪个对象执行了哪个步骤。  2.2.3 分组事物  分组事物是UML语言提供的分割机制,它将系统中的事物分成多个部分进行管理。就像中文语言里,通过段标记把一篇文章分成多个段落一样。在开发大型软件系统时,通常会包含大量的类、接口及用例,为了能有效地对这些类、接口和用例进行分类和管理,就需要对其进行分组。在UML中可通过“包(Package)”来实现这一目标,即通过包对事物进行分组。  表示“包(Package)”的图形符号与Windows中表示文件夹的图形很相似,包的作用与文件夹的作用也很相似。例如,Java语言中的java.awt包,用UML符号表示则如图2-15所示。  2.2.4 注释事物  注释就是对其他事物进行解释、说明。一般用文字进行注释。注释符号用一个右上角折起来的矩形表示,解释的文字就写在矩形框中,如图2-16所示。  2.3 构造块:关系  2.2节中介绍了代表事物的构造块,本节将介绍代表事物之间关系的符号。在UML中共定义了24种关系,相应的有24种关系符号,如表2-1所示。  表2-1 UML中的关系及其符号  关系 关系  细化 UML中的关系 UML符号 关系 关系  细化 UML中的关系 UML符号  抽象 派生 依赖关系 《derive》 导入 私有 依赖关系 《access》  显现 《manifest》 公有 《import》  实现 实现关系 虚线加空心三角形 信息流 《flow》  精化 依赖关系 《refine》 包含并 《merge》  跟踪 《trace》 许可 《permit》  关联 关联关系 实线 协议符合 未指定  绑定 依赖关系 《bind》  (参数表) 替换 依赖关系 《substitu-te》  部署 《deploy》 使用 调用 《call》  扩展 Extend 《extend》  (扩展点) 创建 《create》  扩展 extension 扩展关系 实线加实心三角形 实例化 《instanti-ate》  泛化 泛化关系 实线加空间三角形 职责 《responsi-bility》  包含 依赖关系 《include》 发送 《send》  上述有24种关系,在UML中,可以归纳为关联关系、泛化关系、实现关系、依赖关系和扩展关系5种,下面介绍这些关系的表示方法。  1.关联关系  只要两个类之间存在联系,就认为这两个类之间存在关联关系。关联是人们赋予事物之间的联系。实现关系、泛化关系和依赖关系统称为关联关系,只是这些关系内涵更丰富,更明确,更具体。关联关系是对关系的*高层次的抽象,在所有关系中,关联的语义*弱。  在关联关系中有两种比较特殊的关系,它们是聚合关系和组合关系。聚合关系和组合关系能通过Java语言实现,关联关系不能通过Java语言实现,所以,在设计阶段,我们必须把分析阶段的关联关系细化为更具体的关系,如细化为聚合关系、组合关系或者依赖关系等。  1) 关联关系的表示  关联关系是比较抽象的关系,它包含的语义较少;聚合关系和组合关系是更具体的关联关系,它包含的语义更具体,内涵更丰富。在UML中,使用一条实线来表示关联关系,如图2-17所示。  图2-17 表示关联关系的UML符号  2) 聚合关系  聚合(Aggregation)是整体与部分的关系,是一种特殊形式的关联。聚合关系是一种松散的对象间关系——计算机与它的外围设备就是聚合关系。一台计算机(整体)和它的外设(部分)之间松散地结合在一起,这些外设可以与其他计算机共享,即部分可以离开整体而存在。  聚合的表示方法如图2-18(a)所示。其中菱形端表示事物的整体,另一端表示事物的部分。例如,计算机就是整体,外设就是部分。  ……

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航