UML统一建模基础教程

UML统一建模基础教程
作 者: 刘小松
出版社: 机械工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 计算机与互联网 软件工程及软件方法学
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《UML统一建模基础教程》作者简介

内容简介

UML是以面向对象的方式来描述任何类型的系统,应用领域非常广泛,其中最常用的是建立软件系统的模型,本书依据统一建模语言 UML与面向对象编程语言,结合实际案例,深入全面地讲解了 UML的基本概念和建模方法。本书共 14章,前 4章介绍了建模基础知识、面向对象技术、建模工具 Rational Rose和 UML的一些基本理论和概念;第 5~13章详尽介绍了 UML中的用例图、类图、对象图、包图、序列图、协作图、活动图、状态图、构件图、部署图、 Rational Rose统一过程的概念以及在实际中的应用;第 14章通过一个建模的综合案例——学籍管理系统对使用 Rational Rose进行 UML建模的全过程进行深入剖析。此外,章后配有适量的扩展练习,并在附录中提供 5个综合的建模案例,以加深读者的理解。本书既可以作为各大院校计算机软件工程专业学生学习 UML和面向对象技术的教材,也可作为广大软件开发人员和系统架构设计人员自学 UML的参考和指导用书。

图书目录

目 录

前言

第 1章建模基础知识 ···················· 1

1.1 软件工程概述 ·····························1

1.1.1 软件工程的产生 ··············1

1.1.2 软件工程的内容和基本原理 ······················3

1.1.3 现代软件工程 ··················4

1.2 建模概述 ·························4

1.2.1 什么是模型 ······················4

1.2.2 建模的原理 ······················5

1.2.3 为什么要建模 ··················6

1.2.4 建模的目标和原则 ··········7

1.3 UML概述···································7

1.3.1 UML的起源和发展 ········8

1.3.2 UML的主要特点 ············9

1.3.3 UML的应用领域 ············9

1.3.4 UML的模型种类 ··········10

1.4 扩展练习 ························15

第 2章面向对象技术 ·················· 16

2.1 面向对象的基本知识 ···············16

2.1.1 类的含义 ························17

2.1.2 消息和事件 ····················17

2.1.3 面向过程 ························18

2.2 面向对象的特征 ·······················19

2.2.1 抽象 ·······························19

2.2.2 封装 ·······························20

2.2.3 继承 ·······························21

2.2.4 多态 ·······························22

2.3 面向对象的开发 ·······················22

2.3.1 系统调查和需求分析 ····23

2.3.2 面向对象分析 ················23

2.3.3 面向对象设计 ················26

2.3.4 面向对象实现 ················27

2.4 基于 UML的面向对象建模 ·····29

2.5 扩展练习 ···································29

第 3章建模工具 Rational Rose ·· 30

3.1 Rational Rose的基础知识 ········30

3.2 Rational Rose的安装 ················32

3.3 Rational Rose的使用 ················34

3.3.1 Rational Rose的启动界面 ····························34

3.3.2 Rational Rose的主界面 ·36

3.3.3 Rational Rose的常用操作 ····························41

3.4 Rational Rose的 4种视图模型 50

3.4.1 用例视图 ························51

3.4.2 逻辑视图 ························55

3.4.3 部署视图 ························60

3.4.4 构件视图 ························61

3.5 利用 Rational Rose生成代码 ···63

3.5.1 生成代码的方法 ············63

3.5.2 逆向工程 ························68

3.6 扩展练习 ···································69

第 4章初识 UML ························ 71

4.1 UML的构成 ·····························71

4.1.1 视图 ·······························71

4.1.2 图 ···································72

4.2 模型元素 ···································74

4.2.1 事物 ·······························74

4.2.2 关系 ·······························78

4.3 通用机制 ···································79

4.3.1 规格说明 ························79

4.3.2 UML的修饰 ··················79

4.3.3 通用划分 ························80

4.4 UML中的扩展机制 ·················80

4.4.1 体系结构 ························81

4.4.2 构造型 ····························85

4.4.3 标记值 ····························88

4.4.4 约束 ·······························89

4.5 对象约束语言 ···························91

4.5.1 OCL概述·······················91

4.5.2 OCL的标准类型 ···········92

4.5.3 OCL的表达式···············97

4.5.4 OCL的应用···················98

4.6 扩展练习 ···································99

第 5章用例图 ··························· 100

5.1 用例图的概念 ·························100

5.1.1 参与者 ··························100

5.1.2 用例 ·····························102

5.2 参与者之间的关系 ·················103

5.3 用例的确定 ·····························104

5.3.1 识别用例 ······················104

5.3.2 用例粒度 ······················105

5.3.3 用例规约 ······················105

5.3.4 用例间的关系类型 ······106

5.4 系统边界 ·································109

5.5 绘制用例图 ·····························110

5.5.1 创建用例图 ·················· 111

5.5.2 绘制参与者 ··················112

5.5.3 绘制用例 ······················114

5.5.4 绘制用例和参与者的关系 ··························115

5.5.5 绘制用例间的关系 ······116

5.6 用例图建模实例——图书管理系统用例图 ············117

5.6.1 需求分析 ······················117

5.6.2 识别参与者 ··················117

5.6.3 识别用例 ······················118

5.6.4 构建用例模型 ··············119

5.7 扩展练习 ·································120

第 6章类图和对象图 ················ 122

6.1 类图 ········································122

6.1.1 类图的概念 ··················122

6.1.2 类的组成 ······················123

6.1.3 类的类型 ······················128

6.1.4 类的构造型 ··················128

6.2 类图中的关系 ·························130

6.3 类图到数据库的转换 ·············134

6.3.1 基本映射转换 ··············134

6.3.2 类到表的转换 ··············136

6.3.3 关系的转换 ··················139

6.3.4 完整性与约束验证 ······140

6.3.5 父表的约束 ··················140

6.3.6 子表的约束 ··················141

6.4 对象图 ·····································141

6.4.1 对象图的概念 ··············141

6.4.2 对象图中的对象 ··········142

6.4.3 对象图中的链 ··············143

6.5 绘制类图 ·································143

6.5.1 类图和类的绘制 ··········143

6.5.2 类关系的绘制 ··············152

6.6 绘制对象图 ·····························154

6.7 类图和对象图的建模实例——图书管理系统 ·················155

6.7.1 确定系统中的类 ··········155

6.7.2 确定类的属性和操作 ··156

6.7.3 确定类的关系 ··············157

6.7.4 根据类图绘制对象图 ··158

6.8 扩展练习 ·································158

第 7章包图······························· 160

7.1 包图的概念 ·····························160

7.1.1 模型的组织结构 ··········160

7.1.2 包和包图 ······················161

7.2 包的构成 ·································162

7.2.1 包的名称 ······················163

7.2.2 包的元素 ······················163

7.2.3 包的可见性 ··················163

7.2.4 包的构造型 ··················164

7.2.5 包的子系统 ··················165

7.3 包图中的关系 ·························166

7.3.1 依赖关系 ······················166

7.3.2 泛化关系 ······················168

7.4 包的嵌套 ·································168

7.5 绘制包图 ·································169

7.5.1 包的创建 ······················169

7.5.2 包中类的添加 ··············171

7.5.3 绘制包的关系 ··············172

7.6 包图的建模实例——图书管理系统包图 ··············172

7.6.1 确定包的分类 ··············172

7.6.2 确定包的关系 ··············173

7.7 扩展练习 ·································173

第 8章序列图 ··························· 174

8.1 序列图的概念 ·························174

8.2 序列图的组成 ·························175

8.2.1 对象 ·····························175

8.2.2 生命线 ··························176

8.2.3 激活 ·····························177

8.2.4 消息 ·····························177

8.3 序列图的对象行为 ·················179

8.3.1 创建与销毁对象 ··········179

8.3.2 分支与从属流 ··············180

8.4 绘制序列图 ·····························180

8.4.1 创建序列图 ··················181

8.4.2 创建对象 ······················182

8.4.3 绘制和设置消息 ··········184

8.4.4 绘制生命线 ··················186

8.4.5 销毁对象 ······················188

8.5 序列图的建模实例——系统管理员添加图书序列图 ·················188

8.5.1 需求分析 ······················188

8.5.2 确定序列对象 ··············189

8.5.3 完成序列建模 ··············190

8.6 扩展练习 ·································190

第 9章协作图 ··························· 193

9.1 协作图的概念 ·························193

9.2 协作图的组成 ·························195

9.2.1 对象 ·····························195

9.2.2 消息 ·····························195

9.2.3 链 ·································196

9.3 绘制协作图 ·····························196

9.3.1 协作图的创建 ··············197

9.3.2 对象的创建 ··················198

9.3.3 链和消息的创建 ··········200

9.3.4 序列图和协作图的转换 ·····························201

9.4 协作图的建模实例——系统管理员添加图书协作图 ···················201

9.4.1 创建协作图的步骤 ······202

9.4.2 需求分析 ······················202

9.4.3 确定协作图元素 ··········202

9.4.4 确定元素之间的关系 ··203

9.4.5 创建完整的协作图 ······203

9.5 扩展练习 ·································204

第 10章活动图 ························· 206

10.1活动图的概念 ·······················206

10.2活动图的组成元素 ···············208

10.2.1 动作状态 ····················208

10.2.2 活动状态 ····················208

10.2.3 组合状态 ····················209

10.2.4 分支与合并 ················209

10.2.5 分叉与结合 ················210

10.2.6 泳道 ···························211

10.2.7 对象流 ························211

10.3活动图的绘制 ·······················213

10.3.1 创建活动图 ················214

10.3.2 绘制初始和终止状态 215

10.3.3 绘制动作状态 ············215

10.3.4 绘制活动状态 ············216

10.3.5 绘制泳道 ····················218

10.3.6 绘制转换 ····················219

10.3.7 绘制分支 ····················220

10.4活动图的建模实例——借阅者借书活动图 ····················221

10.4.1 确定需求分析 ············221

10.4.2 确定用例路径 ············222

10.4.3 完成活动图创建 ········223

10.5扩展练习 ·······························223

第 11章状态图 ························· 225

11.1状态图的概念 ·······················225

11.1.1状态机························225

11.1.2状态图························226

11.2状态图的组成 ·······················228

11.2.1状态····························228

11.2.2转换····························231

11.2.3判定····························234

11.2.4同步····························235

11.2.5事件····························236

11.2.6初始状态和终止状态 ·237

11.3状态图的绘制 ·······················237

11.3.1创建状态图 ················238

11.3.2绘制初始和终止状态 ·239

11.3.3绘制状态 ····················239

11.3.4绘制转换 ····················240

11.3.5绘制事件 ····················241

11.3.6绘制动作 ····················241

11.3.7绘制监护条件 ············242

11.4状态图的建模实例——图书状态图 ····················243

11.4.1确定状态间的实体 ····243

11.4.2确定状态图中实体的状态 ························243

11.4.3确定相关事件 ············244

11.5扩展练习 ·······························244

第 12章构件图和部署图 ··········· 246

12.1构件图的概念 ·······················246

12.1.1 构件 ···························246

12.1.2 接口 ···························249

12.1.3 关系 ···························250

12.2构件图的绘制 ·························251

12.2.1 创建构件图 ················251

12.2.2 创建构件 ····················253

12.2.3 绘制构建关系 ············254

12.3部署图的概念 ·······················254

12.4部署图的组成 ·······················255

12.4.1 节点 ···························255

12.4.2 连接 ···························256

12.4.3 设备 ···························256

12.5部署图的绘制 ·······················257

12.5.1 绘制节点 ····················257

12.5.2 设置节点 ····················258

12.5.3 绘制连接 ····················260

12.6构件图和部署图的建模实例——图书管理系统 ···············261

12.6.1 确定系统构件图 ········261

12.6.2 确定系统部署图 ········262

12.7扩展练习 ·······························264

第 13章 Rational统一过程········ 265

13.1软件开发过程的概念 ···········265

13.2 Rational统一过程的概念 ·····266

13.3 Rational统一过程的结构 ·····268

13.3.1 核心工作流 ················269

13.3.2 迭代开发模式 ············270

13.4 Rational统一过程的最佳实现 ···························271

13.4.1 软件变更控制 ············271

13.4.2 软件质量验证 ············271

13.4.3 建立可视化的软件模型 ··························272

13.4.4 基于构件的架构应用 272

13.4.5 需求管理 ····················273

13.4.6 迭代式软件开发 ········274

13.5 Rational统一过程的开发模型 ····························275

13.5.1 动态开发 ····················275

13.5.2 静态开发 ····················280

13.5.3 面向架构的过程 ········281

13.6 Rational统一过程的配置和实现 ························283

13.6.1 Rational统一过程的配置 ···················284

13.6.2 Rational统一过程的实现 ························284

13.7扩展练习 ·······························285

第 14章学籍管理系统 ·············· 286

14.1系统需求分析 ·······················286

14.2系统建模 ·······························288

14.2.1 创建系统用例模型 ····289

14.2.2 创建系统静态模型 ····291

14.2.3 创建系统动态模型 ····294

14.2.4 创建系统部署模型 ····305

附录 A 新闻发布系统 ················· 308

A.1 需求分析 ································308

A.2 系统建模 ································308

A.3 创建系统动态模型 ················310

A.4 创建系统部署模型 ················313

附录 B 网上教学系统 ················· 315

B.1 需求分析 ································315

B.2 系统建模 ································315

B.3 创建系统动态模型 ·················318

B.4 创建系统部署模型 ·················320

附录 C 网上购物商店 ················· 321

C.1 需求分析 ································321

C.2 系统建模 ································322

C.3 创建系统动态模型 ·················324

C.4 创建系统部署模型 ·················326

附录 D 汽车租赁系统 ················· 328

D.1 需求分析 ································328

D.2 系统建模 ································328

D.3 创建系统动态模型 ················330

D.4 创建系统部署模型 ················333

附录 E 超市管理系统 ················· 335

E.1 需求分析 ································335

E.2 系统建模 ································335

E.3 创建系统动态模型 ·················338

E.4 创建系统部署模型 ·················34