软件架构理论与实践李必信廖力王璐璐孔祥龙周颖pdf下载pdf下载

软件架构理论与实践李必信廖力王璐璐孔祥龙周颖百度网盘pdf下载

作者:
简介:本篇主要提供软件架构理论与实践李必信廖力王璐璐孔祥龙周颖pdf下载
出版社:互动图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

 书名:  软件架构理论与实践|8057273
 图书定价: 99元
 图书作者: 李必信 廖力 王璐璐 孔祥龙 周颖
 出版社:  机械工业出版社
 出版日期:  2019/3/5 0:00:00
 ISBN号: 9787111620709
 开本: 16开
 页数: 514
 版次: 1-1
 内容简介
本书是一本全面介绍SA的书,从SA发展历史的过去、现在到可能的未来,从SA的基础理论方法到技术手段,从SA的设计开发实践到质量保障实践,以及从静态SA到动态SA、再到运行态SA,等等。涵盖了SA涉及到的几乎所有必要的知识点。本书包括三个篇章:其中,基础理论篇包含7章内容,详细介绍SA的基础理论方法、技术和手段;工程实践篇包含10章内容,详细介绍SA的开发实践和质量保障实践;未来主题篇包含6章内容,详细介绍SA的*新研究主题、*新业界关注点以及SA未来发展趋势分析等。
 目录

前言
教学建议
上篇 基础理论篇
第1章 软件架构概述 …… 2
1.1 软件架构产生的背景 …… 2
1.2 软件架构的主要思想和特征 …… 3
1.2.1 软件架构的主要思想 …… 3
1.2.2 软件架构的特征 …… 3
1.3 软件架构的发展阶段 …… 4
1.3.1 基础研究阶段(1968—1994) …… 4
1.3.2 概念体系和核心技术形成阶段(1991—2000) …… 6
1.3.3 理论体系完善与发展阶段(1996年至今) …… 7
1.3.4 普及应用阶段(1999年至今) …… 7
1.4 软件架构研究和应用现状 …… 7
1.4.1 软件架构理论和方法研究 …… 8
1.4.2 软件架构的应用研究 …… 11
1.5 本章小结 …… 13
思考题 …… 13
参考文献 …… 14
第2章 软件架构的概念 …… 17
2.1 引言 …… 17
2.2 组成派的主要定义 …… 18
2.3 决策派的主要定义 …… 19
2.4 其他定义 …… 20
2.5 参考定义框架 …… 20
2.6 本章小结 …… 21
思考题 …… 22
参考文献 …… 22
第3章 软件架构模型 …… 23
3.1 引言 …… 23
3.2 软件架构的可视化建模方法 …… 24
3.2.1 基于图形可视化的建模方法 …… 24
3.2.2 基于UML的建模方法 …… 25
3.3 软件架构的形式化建模方法 …… 31
3.3.1 基于形式化规格说明语言的建模方法 …… 32
3.3.2 基于UML的形式化建模方法 …… 36
3.4 其他建模方法 …… 45
3.4.1 文本语言建模方法 …… 45
3.4.2 模型驱动的架构建模方法 …… 47
3.5 软件架构建模方法的发展趋势分析 …… 49
3.5.1 第1层:文本模型 …… 50
3.5.2 第2层:图形可视化模型 …… 50
3.5.3 第3层:UML模型 …… 50
3.5.4 第4层:形式化模型 …… 51
3.5.5 第5层:未来模型 …… 52
3.6 本章小结 …… 52
思考题 …… 53
参考文献 …… 53
第4章 软件架构的风格与模式 …… 59
4.1 软件架构风格的定义 …… 59
4.2 软件架构风格的分类 …… 60
4.3 典型的软件架构风格 …… 60
4.3.1 管道-过滤器风格 …… 60
4.3.2 主程序/子程序风格 …… 62
4.3.3 面向对象风格 …… 64
4.3.4 层次化风格 …… 65
4.3.5 事件驱动风格 …… 67
4.3.6 解释器风格 …… 69
4.3.7 基于规则的系统风格 …… 71
4.3.8 仓库风格 …… 73
4.3.9 黑板系统风格 …… 75
4.3.10 C2风格 …… 77
4.3.11 客户机/服务器风格 …… 79
4.3.12 浏览器/服务器风格 …… 83
4.3.13 平台/插件风格 …… 85
4.3.14 面向Agent风格 …… 87
4.3.15 面向方面架构风格 …… 91
4.3.16 面向服务架构风格 …… 93
4.3.17 正交架构风格 …… 95
4.3.18 异构风格 …… 97
4.3.19 基于层次消息总线的架构风格 …… 99
4.3.20 模型-视图-控制器风格 …… 101
4.4 软件架构模式 …… 103
4.5 本章小结 …… 103
思考题 …… 104
参考文献 …… 104
第5章 软件架构描述语言 …… 107
5.1 引言 …… 107
5.2 ADL的核心设计元素 …… 107
5.2.1 组件 …… 108
5.2.2 连接件 …… 108
5.2.3 架构配置 …… 109
5.3 几种典型的ADL …… 109
5.3.1 Aesop …… 109
5.3.2 C2 SADL …… 110
5.3.3 UniCon …… 114
5.3.4 Wright …… 116
5.3.5 XYZ/ADL …… 117
5.3.6 ACME …… 118
5.3.7 XBA …… 118
5.3.8 ABC/ADL …… 120
5.3.9 MetaH …… 121
5.3.10 Rapide …… 121
5.3.11 Darwin …… 122
5.3.12 xADL 2.0 …… 122
5.4 本章小结 …… 123
思考题 …… 123
参考文献 …… 123
第6章 软件架构与敏捷开发 …… 125
6.1 软件开发的发展简史 …… 125
6.2 敏捷开发 …… 127
6.2.1 敏捷开发的基本理念 …… 127
6.2.2 敏捷开发实践 …… 128
6.3 敏捷开发过程中的软件架构设计 …… 130
6.3.1 需求分析 …… 130
6.3.2 初始设计 …… 130
6.3.3 迭代过程 …… 130
6.3.4 敏捷的设计思想 …… 131
6.4 两类常见的敏捷软件架构设计方法 …… 132
6.4.1 敏捷开发初始阶段设计 …… 133
6.4.2 敏捷开发迭代过程中的设计 …… 134
6.5 本章小结 …… 136
思考题 …… 137
参考文献 …… 137
中篇 工程实践篇
第7章 架构驱动的软件开发 …… 140
7.1 架构驱动的软件开发简介 …… 140
7.2 架构需求获取 …… 140
7.3 架构设计、文档化和评估 …… 144
7.3.1 架构设计、文档化和评估是一个迭代过程 …… 144
7.3.2 什么是架构的结构 …… 147
7.3.3 从架构需求出发的评估 …… 148
7.3.4 寻找ATAM中的“权衡点”和“敏感点” …… 149
7.4 架构的实现与维护 …… 151
7.4.1 架构的实现 …… 151
7.4.2 架构的维护 …… 152
7.5 本章小结 …… 152
思考题 …… 152
参考文献 …… 153
第8章 软件架构设计和实现 …… 154
8.1 从需求分析到架构设计 …… 154
8.1.1 软件架构对需求的影响 …… 155
8.1.2 基于软件需求的软件架构设计 …… 156
8.1.3 需求与架构的协同演化 …… 163
8.2 从软件架构到详细设计 …… 163
8.2.1 详细设计对软件架构的影响 …… 164
8.2.2 从软件架构映射到详细设计 …… 166
8.2.3 软件架构视图 …… 168
8.3 软件架构设计原则 …… 169
8.3.1 架构设计的一些基本原则 …… 169
8.3.2 架构设计的关键原则 …… 170
8.4 软件架构设计面临的主要威胁及对策 …… 171
8.4.1 被忽略的重要非功能需求 …… 171
8.4.2 频繁变化的需求 …… 172
8.4.3 考虑不全面的架构设计 …… 172
8.4.4 不及时的架构验证 …… 173
8.4.5 较高的创造性架构比重 …… 173
8.4.6 架构的低可执行性 …… 174
8.5 本章小结 …… 174
思考题 …… 174
参考文献 …… 174
第9章 软件架构的演化和维护 …… 178
9.1 软件架构演化和软件架构定义的关系 …… 179
9.1.1 对象演化 …… 179
9.1.2 消息演化 …… 180
9.1.3 复合片段演化 …… 184
9.1.4 约束演化 …… 186
9.2 软件架构演化方式的分类 …… 186
9.2.1 软件架构静态演化 …… 187
9.2.2 软件架构动态演化 …… 190
9.3 软件架构演化原则 …… 197
9.4 软件架构维护 …… 201
9.4.1 软件架构知识管理 …… 201
9.4.2 软件架构修改管理 …… 202
9.4.3 软件架构版本管理 …… 202
9.5 本章小结 …… 202
思考题 …… 203
参考文献 …… 203
第10章 软件架构恢复 …… 207
10.1 引言 …… 207
10.1.1 软件架构的恢复过程 …… 208
10.1.2 架构信息提取 …… 208
10.1.3 架构恢复技术 …… 209
10.2 架构信息提取 …… 212
10.2.1 相关定义 …… 212
10.2.2 从源代码提取架构信息 …… 212
10.2.3 从编译构建过程提取架构信息 …… 215
10.2.4 从目录层次提取架构信息 …… 217<...