描述
开 本: 16开纸 张: 胶版纸包 装: 精装是否套装: 否国际标准书号ISBN: 9787111662808
本书主要内容包括现代汽车软件的发展历史、软件的主要架构视图与架构风格及其在汽车软件中的应用、汽车软件开发过程、汽车软件中的重要架构AUTOSAR、汽车软件的详细设计过程、软件架构的定位分析(ATAM法)与定量(软件变量)分析方法、汽车功能安全以及未来趋势。本书适合汽车软件专业人员以及软件工程或相关领域的学生阅读使用。
译者的话
前言
译者简介
第 1章 概述 !!!!!!!!!!! 1
1.1 软件与现代汽车 !!!!!!!! 1
1.2 汽车软件的历史 !!!!!!!! 2
1.3 汽车软件的当前趋势 !!!!!! 5
1.4 汽车软件系统的构建 !!!!!! 7
1.5 架构———作为一门学科 !!!!! 8
1.5.1 架构与项目管理的对比 !!! 9
1.5.2 软件架构开发与软件设计的
对比 !!!!!!!!!! 10
1.6 本书内容提要 !!!!!!!! 11
1.6.1 第 2章:软件架构 !!!! 11
1.6.2 第 3章:汽车软件开发 !! 12
1.6.3 第 4章:AUTOSAR标准 !! 12
1.6.4 第 5章:汽车软件的详细
设计 !!!!!!!!!! 12
1.6.5 第 6章:汽车软件架构的
评估 !!!!!!!!!! 12
1.6.6 第 7章:软件设计和架构的
度量 !!!!!!!!!! 12
1.6.7 第 8章:汽车软件功能
安全 !!!!!!!!!! 13
1.6.8 第 9章:汽车软件架构的当前
趋势 !!!!!!!!!! 13
1.6.9 本书中使用的案例 !!!! 13
1.7 先修知识建议 !!!!!!!! 13
1.8 后续学习建议 !!!!!!!! 14
参考文献 !!!!!!!!!!!!! 14
第 2章 软件架构:视图和文档!! 16
2.1 概述 !!!!!!!!!!!! 16
2.2 架构一般视图和汽车行业的架构
视图 !!!!!!!!!!!! 16
2.3 定义 !!!!!!!!!!!! 19
2.4 高层结构 !!!!!!!!!! 19
2.5 架构设计原则 !!!!!!!! 20
2.6 开发过程中的架构设计 !!!! 21
2.7 架构视图 !!!!!!!!!! 21
2.7.1 功能视图 !!!!!!!! 22
2.7.2 物理系统视图 !!!!!! 23
2.7.3 逻辑视图 !!!!!!!! 24
2.7.4 汽车软件视图与 “4+1”视
图模型的关系 !!!!!! 26
2.8 架构风格 !!!!!!!!!! 27
2.8.1 分层架构 !!!!!!!! 27
2.8.2 基于组件 !!!!!!!! 28
2.8.3 单体 !!!!!!!!!! 30
2.8.4 微内核 !!!!!!!!! 30
2.8.5 管道与过滤器 !!!!!! 31
2.8.6 客户端 -服务器 !!!!! 32
2.8.7 发布者 -订阅者 !!!!! 33
2.8.8 事件驱动 !!!!!!!! 33
2.8.9 中间件 !!!!!!!!! 34
2.8.10 面向服务 !!!!!!!! 35
2.9 架构的描述 !!!!!!!!! 36
2.9.1 系统建模语言 !!!!!! 37
2.9.2 EASTADL!!!!!!!! 38
2.10 下一步工作 !!!!!!!!! 40
2.11 拓展阅读 !!!!!!!!!! 40
2.12 总结 !!!!!!!!!!!! 40
参考文献 !!!!!!!!!!!!! 41
第 3章 汽车软件开发 !!!!!! 44
3.1 概述 !!!!!!!!!!!! 44
3.2 需求 !!!!!!!!!!!! 45
3.3 变体管理 !!!!!!!!!! 51
3.3.1 配置 !!!!!!!!!! 52
3.3.2 编译 !!!!!!!!!! 52
3.3.3 可变性管理的实践 !!!! 53
3.4 软件开发中的集成阶段 !!!! 53
3.5 测试策略 !!!!!!!!!! 54
3.5.1 单元测试 !!!!!!!! 54
3.5.2 组件测试 !!!!!!!! 56
3.5.3 系统测试 !!!!!!!! 57
3.5.4 功能测试 !!!!!!!! 58
3.5.5 大型软件系统测试的实用
方法:迭代测试 !!!!! 59
3.6 建构数据库及其在汽车软件工程
中的角色 !!!!!!!!!! 59
3.7 拓展阅读 !!!!!!!!!! 63
3.8 总结 !!!!!!!!!!!! 66
参考文献 !!!!!!!!!!!!! 66
第 4章 AUTOSAR标准 !!!!! 70
4.1 概述 !!!!!!!!!!!! 70
4.2 AUTOSAR参考架构 !!!!!! 72
4.3 AUTOSAR开发方法论 !!!!! 73
4.4 AUTOSAR元模型 !!!!!!! 79
4.4.1 AUTOSAR元模型环境 !!! 79
4.4.2 基于 AUTOSAR元模型的
架构设计 !!!!!!!! 80
4.4.3 AUTOSAR模板规范 !!!! 85
4.5 AUTOSARECU中间件!!!!! 87
4.6 AUTOSAR的演变 !!!!!!! 89
4.6.1 AUTOSAR元模型的演变 !! 89
4.6.2 AUTOSAR需求的演变 !!! 94
4.7 AUTOSAR的未来 !!!!!!! 96
4.8 拓展阅读 !!!!!!!!!! 100
4.9 总结 !!!!!!!!!!!! 101
参考文献 !!!!!!!!!!!! 102
第 5章 汽车软件的详细设计 !! 104
5.1 概述 !!!!!!!!!!!! 104
5.2 Simulink建模 !!!!!!!! 105
5.2.1 Simulink基础知识 !!!! 106
5.2.2 建模实例:信号数字化 !! 109
5.2.3 将物理过程转译为 Simulink
模型 !!!!!!!!!! 113
5.2.4 车内加热器模型 !!!!! 116
5.3 Simulink和 SysML/UML语言建模
的对比 !!!!!!!!!!! 122
5.4 嵌入式安全关键系统编程
准则 !!!!!!!!!!!! 123
5.5 MISRA标准 !!!!!!!!! 124
5.6 NASA十条安全关键编程准则 ! 126
5.7 非安全关键功能的详细设计 !! 127
5.8 安全关键软件的质量保证 !!! 128
5.8.1 形式方法 !!!!!!!! 129
5.8.2 静态分析 !!!!!!!! 129
5.8.3 测试 !!!!!!!!!! 131
5.9 拓展阅读 !!!!!!!!!! 131
5.10 总结 !!!!!!!!!!! 132
参考文献 !!!!!!!!!!!! 133
第 6章 汽车软件架构的评估 !! 135
6.1 概述 !!!!!!!!!!!! 135
6.2 ISO/IEC25000质量特性 !!! 136
6.2.1 可靠性 !!!!!!!!! 136
6.2.2 容错性 !!!!!!!!! 139
6.2.3 软件可靠性和容错性的保证
机制 !!!!!!!!!! 140
6.3 架构评估方法 !!!!!!!! 141
6.4 架构权衡分析方法 !!!!!! 142
6.4.1 ATAM的评估步骤 !!!! 143
6.4.2 汽车软件在 ATAM中应用的
场景 !!!!!!!!!! 144
6.4.3 ATAM的评估模板 !!!! 146
6.5 ATAM在汽车软件中的应用
示例 !!!!!!!!!!!! 147
6.5.1 描述业务动机 !!!!!! 148
6.5.2 描述架构 !!!!!!!! 148
6.5.3 确定架构方法 !!!!!! 149
6.5.4 生成质量属性效用树和确认
场景 !!!!!!!!!! 152
6.5.5 分析架构方法和架构
决策 !!!!!!!!!! 153
6.5.6 案例总结 !!!!!!!! 154
6.6 拓展阅读 !!!!!!!!!! 155
6.7 总结 !!!!!!!!!!!! 156
参考文献 !!!!!!!!!!!! 156
第 7章 软件设计和架构的度量 ! 158
7.1 概述 !!!!!!!!!!!! 158
7.2 软件工程中的测量标准:
ISO/IEC15939 !!!!!!! 159
7.3 ISO/IEC25000中的可用测度 ! 162
7.4 测度 !!!!!!!!!!!! 163
7.5 架构工程师的度量方法组合 !! 164
7.5.1 组别的划分 !!!!!!! 164
7.5.2 组别一:架构的度量 !!! 165
7.5.3 组别二:设计稳定性的
度量 !!!!!!!!!! 165
7.5.4 组别三:技术负债及风险的
度量 !!!!!!!!!! 168
7.6 软件设计的工业测量数据 !!! 169
7.7 拓展阅读 !!!!!!!!!! 171
7.8 总结 !!!!!!!!!!!! 172
参考文献 !!!!!!!!!!!! 173
第 8章 汽车软件功能安全 !!! 177
8.1 概述 !!!!!!!!!!!! 177
8.2 功能安全的管理和支持 !!!! 179
8.3 概念以及系统开发 !!!!!! 180
8.4 软件开发计划 !!!!!!!! 183
8.5 软件安全需求 !!!!!!!! 184
8.6 软件架构设计 !!!!!!!! 185
8.7 软件单元设计与实现 !!!!! 187
8.8 软件单元测试 !!!!!!!! 189
8.9 软件集成与测试 !!!!!!! 191
8.10 软件安全需求验证 !!!!! 192
8.11 软件设计实例 !!!!!!! 192
8.12 集成、测试、确认、评估和
发布 !!!!!!!!!!! 193
8.13 生产和运行 !!!!!!!! 194
8.14 拓展阅读 !!!!!!!!! 194
8.15 总结 !!!!!!!!!!! 195
参考文献 !!!!!!!!!!!! 195
第 9章 汽车软件架构的当前
趋势 !!!!!!!!!! 197
9.1 概述 !!!!!!!!!!!! 197
9.2 自动驾驶 !!!!!!!!!! 198
9.3 自主系统 !!!!!!!!!! 199
9.4 大数据 !!!!!!!!!!! 200
9.5 新的软件工程范式 !!!!!! 201
9.6 其他趋势 !!!!!!!!!! 202
9.7 总结 !!!!!!!!!!!! 203
参考文献 !!!!!!!!!!!! 204
第 10章 总结 !!!!!!!!!! 206
10.1 第 1章:软件架构及其在汽车
软件工业的发展概述 !!!! 206
10.2 第 2章:软件架构 !!!!! 206
10.3 第 3章:汽车软件开发 !!! 207
10.4 第 4章:AUTOSAR标准 !!! 207
10.5 第 5章:汽车软件的详细
设计 !!!!!!!!!!! 208
10.6 第 6章:汽车软件架构的
评估 !!!!!!!!!!! 208
10.7 第 7章:软件设计和架构的
度量 !!!!!!!!!!! 209
10.8 第 8章:汽车软件功能安全 ! 209
10.9 第 9章:汽车软件架构的
当前趋势 !!!!!!!!! 209
10.10 结语 !!!!!!!!!!! 210
自从学会了开车,我就成了一个狂热的汽车和驾驶爱好者。驾驶让我拥有了“去一个地方”的能力,而能够主宰带着我们去这些地方的机器也让我倍感愉悦。回忆过去,在我刚进入计算机科学和软件工程领域时,软件在车辆中的应用并不丰富。事实上,那时的汽车软件只存在于控制发动机的点火系统中。尽管如此,我已经预见了软件在汽车中应用的无限潜能。
这种无限潜能激发了我研究汽车软件架构的兴趣。2015年,出版商联系我,提议撰写一本关于这一主题的书籍。我成功地说服了我的同事们协助我一起完成书中的一些章节。他们是沃尔沃乘用车公司的Darko Durisic,AB VOLVO集团的Per Johannessen,以及爱立信公司的Wilhelm Meding。
2017年,我们完成了这本书,我们希望它能为从事汽车软件设计的读者打下坚实的基础,为设计出更美妙也更安全的汽车做贡献。我们很喜欢这本书,希望亲爱的读者们也喜欢它。
本书的主题是介绍软件架构的概念,它是现代汽车软件的基石。书中的内容是我在软件工程领域工作多年的成果,其中特别关注了安全系统和软件方法两个方面。我曾与汽车和通信领域的多家企业合作,一个有趣的现象是,随着时间的推移,这两个领域正变得越来越相似。这种相似性不仅在于软件开发过程和工具上,更体现在了软件架构中——起初非常不同,时至今日却已经在架构风格、编程范式和架构模式方面愈发趋同。
本书第1章概述了现代汽车软件的发展历程以及驱动变革中遇到的主要挑战。第2章介绍了汽车软件的主要架构风格及其应用。第3章介绍了汽车制造商进行汽车软件开发的流程。第4章介绍了AUTOSAR——一个汽车软件的重要标准。第5章中,我们不再讨论架构问题,而是进一步描述了使用Simulink工具进行汽车软件设计的详细过程,这有助于我们了解详细设计如何与高层设计相关联。第6章介绍了一种评估架构质量的方法——架构权衡分析法,并提供了一个使用案例。第7章介绍了另一种采用量化方式和指标评估架构的方法。第8章我们深入研究了第6章中提到的一个汽车软件为关键的属性——安全性,并简要解读了该领域中的一个重要标准ISO/IEC 26262。后,在第9章中,我们展望了在不久的将来重塑汽车软件行业的可能趋势。
评论
还没有评论。