UML建模分析与设计:基于MDA的软件开发
作者 : 杜德慧 编著
出版日期 : 2018-10-08
ISBN : 978-7-111-60959-9
适用人群 : 高校软件工程、计算机及相关专业本科生
定价 : 49.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 231
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

UML是模型驱动软件开发架构中的基石,通过构建与平台无关的UML模型,能够支持模型驱动的软件开发正向工程,帮助提高软件开发的效率和质量。本书将以“案例驱动、架构为中心、迭代开发”为指导,以UML建模语言的基本组成部分为主线,向学生讲述UML的建模技术。结合案例分析,逐步将UML的建模技术融入到软件开发过程中。此书有别于已有的UML书籍,不仅仅是讲述UML语言具有哪些建模元素,更重要的是在讲述基于UML的建模思想、技术,分析模型、构建模型的方法、步骤,结合实际案例,将UML的建模元素逐一展现,更加符合软件开发人员的思路、理解方式。

图书特色

图书前言

模型驱动式软件开发方法已经成功应用于大型、复杂软件系统的设计和开发,受到工业界和学术界的一致认可。模型驱动开发的核心是,根据系统的需求构建、设计系统的模型,并借助模型转换及代码生成技术等实现快速开发高质量的软件系统。其中,模型是整个软件开发过程中的主要制品之一,??一切工作都将围绕模型的设计、构建、模拟、验证展开。这种开发方法将快速应用到特定的领域,能够有效提高面向特定领域的软件设计、开发的效率和质量。因此,如何使用标准的建模语言构建系统的模型是软件设计者面临的一个主要问题。本书根据新的UML建模标准,重点讲述UML的基本概念及建模元素,并结合具体的案例分析,以模型驱动的方式从不同的视角构建系统的模型,包括静态模型和动态模型。
本书目标
通过阅读本书,读者可得到以下几方面的收获:
掌握模型驱动开发方法的基本思想、开发过程。
掌握UML的基本概念、模型、建模规则,学会如何使用UML。
以UML为基础建模语言,结合模型驱动开发方法进行实际案例分析、建模、开发。
本书的组织
鉴于UML在软件设计、开发过程中的重要作用,故撰写本书。本书可作为高等院校软件工程、计算机及相关专业的教材和教学参考书,也可以作为渴望掌握UML及基于UML的模型驱动式软件开发方法的软件开发者的参考书。本书共16章,其中,第1章概述模型驱动开发方法及UML在模型驱动开发方法中的重要作用,并明确指出本书将结合RUP开发过程和基于UML的模型驱动开发方法进行实际案例的设计、开发。第2章介绍UML的发展历程及其包含的主要建模元素。第3章综述UML所提供的公共机制,这些公共的建模机制将用在后续章节的各种模型的构建过程中。第4~8章遵循“用例驱动、以架构为中心、迭代增量开发”的思想,详细介绍UML用例图、类图、状态图、顺序图、活动图等,内容涵盖UML的静态结构建模及动态结构建模,充分体现了UML的多视角建模方法的有效性。其中,第4章详细介绍UML的用例图,并重点讲述使用用例图建模系统的需求。本章内容是全书的重点部分,充分体现了“用例驱动”,后续章节将逐步介绍如何围绕用例图设计系统的静态结构和动态行为模型。第5章介绍UML类图,重点介绍类图的基本概念、类之间的各种关系。第6章介绍状态机模型,重点介绍状态图的基本建模元素,并详细介绍了状态机的语义模型及各种语法表示。第7章介绍的交互模型包括两种类型:顺序图和通信图。前者强调对象之间按照时间的先后进行消息交互,后者强调对象之间的拓扑结构,对象通过消息交互实现某一功能。两种模型图在语义上是等价的。第8章介绍活动图模型并详细讨论了使用活动图模型建模系统的业务流程及操作的实现过程。活动图模型强调的是活动与活动之间的控制流程。第9章介绍接口、类型和角色的基本概念,重点介绍如何使用接口建模系统中的接缝。第10章介绍包模型,它是UML建模过程中的产物,主要用于帮助划分系统的逻辑结构,以及帮助人们更好地理解系统的组成。第11章介绍构件模型,它用于建模系统的功能模块划分,重点介绍了构件的接口表示及构件之间的关系表示。第12章介绍UML的部署图,它主要用于对如何将软件系统部署到硬件节点上建模。第13章重点介绍最新的UML扩展语言SysML和MARTE,向读者展示了如何使用UML支持的扩展机制进行建模语言的扩展,以满足特定领域的需求。第14~16章通过完整的案例分析展示了UML的各种模型的具体应用,以帮助读者进一步归纳、总结各种UML模型在实际建模过程中的应用。
本书的特色是以模型驱动式软件开发为指导,以UML的多视角建模为主线,结合案例开发全面介绍基于UML的建模方法,帮助读者掌握UML的语言构成、建模方法及具体应用。此外,每章配备相应的习题,以帮助读者掌握各章的知识点。
致教师
本书旨在提供UML的一个广泛而深入的概览,可以作为高年级本科生或者一年级研究生的UML建模课程的教材。根据授课学时、学生的背景和教师的兴趣,可以选择性地教授本书的各个章节。例如,如果想完整讲授UML的所有建模元素,可以逐章教授前13章的授课内容。若想结合具体的案例讲述各个模型的实际使用情况,可以考虑增加后面的第14~16章的内容,作为实际动手操作的案例练习。
每一章最后都给出了习题、思考题,可帮助学生更好地理解每一章的内容。有些习题可作为研究讨论课题。本书的参考文献可以帮助你查找正文中提供的概念和方法的来源、相关课题的深入讨论和可能的扩展研究文献。
致学生
我们希望本书能够帮助你了解和掌握UML所包含的基本建模元素、各种模型,并能够熟练使用UML的建模方法,以模型驱动的方式开发软件系统。特别是,你可以了解模型驱动开发的核心思想及开发理念,并结合UML,将其应用于你的具体软件开发过程。
为了更好地使用本书,你需要具备的预备知识包括:
基本的面向对象设计的知识,掌握一种面向对象开发语言。
软件开发的基本知识、软件工程的背景,了解常用的软件开发过程。
另外,需要说明的是本书中的内容是按照UML支持的各种模型组织的,为了更好地体现模型驱动开发的思想,我们将各种UML图形称为模型,这样更符合模型驱动的思想,构建系统的各种模型是整个软件开发过程中的主要工作。
在本书的组织、撰写过程中,研究生黄平、白新、管春琳、昝慧、敖义等参与了相关章节的模型图的制作、修改,以及文字的校对工作,在此特别感谢他们的辛勤付出。此外,在书稿的形成之初,我们将它用作本科专业课程的教材,在使用过程中,本科生孙雨晶、侯峂欣等对本书的第14~16章提出了中肯的修改意见。由于能力和时间有限,书稿中难免存在一些缺陷和不足之处,望读者不吝指教。

作者
2018年6月

上架指导

计算机\软件工程

封底文字

本书根据作者多年的教学和研发实践,结合UML课程建设经验编写而成。本书以便于读者理解的方式,清晰呈现UML相关的知识点及建模实践。在内容的组织上,以模型驱动式软件开发方法为指导,详细介绍如何在软件开发过程中构建多视角的UML模型,设计出系统的平台无关模型,最终实现模型到代码的自动生成。本书还针对初学者需求,介绍UML的发展历程、新的发展动态以及UML的各种模型表示方法、建模原则、建模实践等,并结合经典案例展示基于UML的模型驱动式软件开发方法。
本书特色:
案例驱动:为了完整展示各种UML模型图的实际应用,帮助读者学习和掌握建模原则和方法,本书贯彻案例驱动的编写理念,将理论与案例有机结合,特别设置了三个完整的案例,读者从中能够体会“用例驱动、以架构为中心、迭代增量开发”的思想。
内容新颖:本书除了讲解UML的基本建模元素外,还依据实际的软件开发过程介绍UML的各种模型。此外,本书遵循新的UML标准规范,并且介绍了UML的扩展语言(如MARTE和SysML)。
通俗易懂:本书面向初学者,采用简洁、通俗的语言来讲述UML的相关内容,使读者轻松理解UML系统建模以及软件开发的方法。

图书目录

前言
教学建议
第1章 概述 1
1.1 模型驱动开发方法 1
1.2 了解建模 2
1.3 建模的重要性 5
1.4 UML建模 5
1.5 UML建模工具 7
1.6 RUP软件开发方法 8
1.6.1 RUP的核心概念 8
1.6.2 RUP是迭代和增量的过程 8
1.6.3 RUP的生命周期 8
1.7 重要的面向对象思想 10
1.8 小结 14
习题 14
第2章 UML简介 15
2.1 UML发展历程 15
2.2 UML概述 17
2.2.1 UML是一种建模语言 17
2.2.2 UML是一种可视化建模语言 18
2.2.3 UML是一种用于规约的语言 18
2.2.4 UML是一种用于构造的语言 19
2.2.5 UML是一种用于文档化的语言 19
2.2.6 UML的应用领域 20
2.3 UML的基本构成 21
2.3.1 UML的构造块 21
2.3.2 UML的建模规则 26
2.3.3 基于UML的模型驱动开发 26
2.4 UML的公共机制 27
2.5 小结 28
习题 29
第3章 公共机制 30
3.1 基本概念 30
3.1.1 注解 30
3.1.2 修饰 31
3.1.3 扩展机制 32
3.1.4 扩展机制的使用 37
3.2 常用建模技术 39
3.2.1 建模注释 39
3.2.2 建模新特性 39
3.2.3 建模新的语义 40
3.3 小结 41
习题 42
第4章 用例模型 43
4.1 基本概念 43
4.1.1 用例图 43
4.1.2 用例 43
4.1.3 参与者 44
4.1.4 关联关系 47
4.1.5 用例描述 51
4.2 建模技术 52
4.2.1 构建用例模型的方法 52
4.2.2 建模系统的语境 54
4.2.3 建模系统的需求 55
4.3 小结 58
习题 58
第5章 类模型 59
5.1 基本概念 59
5.1.1 类 59
5.1.2 关系 64
5.2 建模技术 70
5.2.1 建模类图的步骤 70
5.2.2 UML类图的正向工程和逆向工程 72
5.3 小结 73
习题 73
第6章 状态机模型 75
6.1 基本概念 75
6.2 基本建模元素 76
6.2.1 状态 76
6.2.2 复合状态 79
6.2.3 迁移 83
6.2.4 事件 85
6.2.5 状态图的执行 88
6.3 建模技术 90
6.3.1 建模反应式对象 90
6.3.2 状态图的建模元素 91
6.3.3 状态机模型的正向工程和逆向工程 91
6.4 小结 92
习题 92
第7章 交互模型 93
7.1 概述 93
7.2 顺序图 95
7.2.1 交互的参与者 95
7.2.2 消息 96
7.2.3 控制焦点 98
7.2.4 语境、对象和角色 98
7.2.5 组合片段 99
7.2.6 时间约束 106
7.3 通信图 107
7.4 常用建模技术 108
7.4.1 按时间顺序对控制流建模 108
7.4.2 按组织结构对控制流建模 110
7.4.3 建模元素总结 111
7.4.4 正向工程和逆向工程 112
7.5 小结 112
习题 112
第8章 活动图模型 114
8.1 概述 114
8.2 基本概念 114
8.2.1 活动 114
8.2.2 动作 116
8.2.3 活动节点 118
8.2.4 控制流 121
8.2.5 对象流 121
8.2.6 泳道 122
8.3 建模技术 123
8.3.1 建模系统的业务流程 123
8.3.2 建模复杂的操作 124
8.4 小结 127
习题 128
第9章 接口、类型和角色 129
9.1 接口 129
9.1.1 定义 130
9.1.2 操作 130
9.1.3 接口的关系 131
9.2 类型和角色 133
9.3 常用建模技术 133
9.3.1 建模系统的接口 133
9.3.2 建模静态类型和动态类型 134
9.4 小结 135
习题 135
第10章 包模型 136
10.1 主要概念 136
10.1.1 模型包 136
10.1.2 名字 137
10.1.3 可见性 137
10.1.4 包之间的关系 138
10.1.5 包图 140
10.2 常用建模技术 141
10.2.1 建模成组的元素 141
10.2.2 建模体系结构视图 142
10.3 小结 143
习题 143
第11章 构件模型 144
11.1 主要概念 144
11.1.1 构件 144
11.1.2 接口 147
11.1.3 依赖关系 147
11.1.4 构件图分类 151
11.2 常用建模技术 152
11.2.1 建模可执行程序 152
11.2.2 建模源代码 152
11.2.3 建模API 153
11.3 小结 154
习题 154
第12章 部署模型 155
12.1 概述 155
12.1.1 概念 155
12.1.2 节点 156
12.1.3 关系 157
12.2 常用建模技术 158
12.2.1 建模处理器和设备 158
12.2.2 建模制品的分布 158
12.3 小结 159
习题 160
第13章 UML的扩展语言 161
13.1 概述 161
13.2 系统建模语言SysML 161
13.2.1 SysML的语义 161
13.2.2 SysML的图形表示 162
13.2.3 SysML的主要特点及应用领域 166
13.3 实时与嵌入式系统的建模与分析语言MARTE 167
13.3.1 MARTE与UML的关系 167
13.3.2 MARTE的组成部分 167
13.3.3 MARTE对时间与非功能属性的建模 168
13.4 小结 170
第14章 网上选课系统 171
14.1 问题描述 171
14.2 用例建模 171
14.2.1 登录系统用例描述 173
14.2.2 查询课程用例描述 173
14.2.3 选择课程用例描述 173
14.2.4 查询学生信息用例描述 174
14.2.5 删除学生信息用例描述 174
14.2.6 添加课程用例描述 175
14.3 静态建模 175
14.4 动态建模 176
14.4.1 创建交互图 176
14.4.2 创建状态图 185
14.4.3 创建活动图 185
14.5 系统的构件图 188
14.6 系统的部署图 190
第15章 ATM系统 191
15.1 问题描述 191
15.2 用例建模 191
15.3 静态建模 195
15.4 动态建模 196
15.4.1 创建顺序图 196
15.4.2 创建状态图 198
15.5 系统的构件图 201
15.6 系统的部署图 201
第16章 在线购物系统 202
16.1 问题描述 202
16.2 用例建模 202
16.2.1 浏览目录用例描述 203
16.2.2 下单请求用例描述 204
16.2.3 处理配送订单用例描述 205
16.2.4 确认配送和给客户开账单用例描述 205
16.3 静态结构建模 206
16.4 动态行为建模 206
16.4.1 创建通信图 207
16.4.2 创建活动图 212
16.5 系统的构件图 216
16.6 系统的部署图 216
参考文献 219

教学资源推荐
作者: (英)Ian Sommerville 著
作者: 窦万峰,杨坤,许敏,缪静娴,钱辰
作者: Bob Hughes;Mike Cotterell
作者: Stephen R.Schach
参考读物推荐
作者: Chris Raistrick, Paul Francis, John Wright, Colin Carter, Lan Wilkie
作者: (美)Donald G. Firesmith 著
作者: James Rumbaugh, Ivar Jacobson, Grady Booch