《软件架构设计 实用方法及实践 原书第2版-亨伯托 塞万提斯》[66M]百度网盘|pdf下载|亲测有效
《软件架构设计 实用方法及实践 原书第2版-亨伯托 塞万提斯》[66M]百度网盘|pdf下载|亲测有效
《软件架构设计 实用方法及实践 原书第2版-亨伯托 塞万提斯》[66M]百度网盘|pdf下载|亲测有效

软件架构设计 实用方法及实践 原书第2版-亨伯托 塞万提斯 pdf下载

isbn:9787111780274
出版社 机械工业出版社
出版年 2025-05-01
页数 390页
ISBN 9787111780274
装帧 精装
评分 9.0(豆瓣)
限时特惠 00:00:00
活动结束后恢复原价
纸质书参考价 ¥23
电子版限时价 ¥5.99 省 18 元

选择版本

不满意全额退款
发货失败双倍赔偿
邮箱即时发送

内容简介

本篇主要提供软件架构设计 实用方法及实践 原书第2版-亨伯托 塞万提斯电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com



本书阐述了如何以一种系统的、可预测的、可重复的、节约成本的方式来设计各类软件架构。书中不仅介绍了一种实用的架构设计方法,还提供了由可重用的设计知识所支撑的结构化方法,也收录了丰富的案例研究,用于展示如何使用这一实用方法。利用现实案例,你将掌握已被验证过的属性驱动设计(ADD)的全新版本,比如伴随功能需求和架构问题出现的可修改性、可用性以及可靠性。Humberto Cervantes和Rick Kazman基于他们丰富的经验,指导你通过各具特色的实用设计来支持完整的软件周期,从需求到维护,再到演化。你将学习如何成功地将设计整合在组织背景中,以及如何使用敏捷方法设计软件系统。




目  录 Contents 
译者序
前 言
致 谢
关于作者
第1章 引言1
1.1 动机1
1.2 软件架构2
1.2.1 软件架构的重要性2
1.2.2 生命周期活动3
1.3 架构师的角色5
1.4 ADD简史6
1.5 总结7
1.6 扩展阅读7
1.7 讨论问题8
第2章 架构设计9
2.1 通用设计9
2.2 软件架构中的设计10
2.2.1 架构设计11
2.2.2 元素交互设计12
2.2.3 元素内部设计12
2.2.4 决策和设计级别12
2.3 为什么架构设计如此重要13
2.4 架构驱动因素14
2.4.1 设计目标14
2.4.2 质量属性15
2.4.3 主要功能20
2.4.4 架构关注点21
2.4.5 约束条件22
2.5 总结22
2.6 扩展阅读22
2.7 讨论问题23
第3章 制定设计决策25
3.1 制定设计决策概述25
3.2 设计理念:创建软件结构的基石28
3.2.1 参考架构29
3.2.2 模式30
3.2.3 策略30
3.2.4 外部开发的组件32
3.3 支持性能的设计理念33
3.3.1 性能策略33
3.3.2 性能模式34
3.4 支持可用性的设计理念35
3.4.1 可用性策略35
3.4.2 可用性模式37
3.5 支持可修改性的设计概念39
3.5.1 可修改性策略40
3.5.2 可修改性模式41
3.6 支持安全性的设计理念42
3.6.1 安全策略42
3.6.2 安全模式44
3.7 支持可集成性的设计理念45
3.7.1 可集成性策略45
3.7.2 集成模式47
3.8 总结48
3.9 扩展阅读48
3.10 讨论问题49
第4章 架构设计过程50
4.1 对具备原则性的方法的需求50
4.2 属性驱动设计3.0版本51
4.2.1 步骤1:审查输入51
4.2.2 步骤2:通过选择驱动因素
   建立迭代目标52
4.2.3 步骤3:选择系统元素进行细化53
4.2.4 步骤4:选择满足选定驱动
   因素的设计概念53
4.2.5 步骤5:实例化架构元素、分配
   职责并定义接口53
4.2.6 步骤6:绘制视图草图并记录
   设计决策54
4.2.7 步骤7:执行当前设计分析,
   并审查迭代目标和设计目标
   的实现情况54
4.2.8 必要时进行迭代54
4.3 在不同的系统环境中应用属性
   驱动设计55
4.3.1 面向成熟领域的全新系统设计55
4.3.2 面向新兴领域的全新系统设计57
4.3.3 面向现有系统的变更设计57
4.3.4 替换遗留应用程序的设计58
4.4 识别和选择设计概念58
4.4.1 设计概念的识别58
4.4.2 设计概念的选择59
4.5 生成结构61
4.5.1 实例化元素62
4.5.2 分配功能并识别属性63
4.5.3 建立元素间的关系63
4.6 定义接口63
4.6.1 外部接口63
4.6.2 内部接口63
4.7 在设计过程中创建初步文档67
4.7.1 记录视图草图67
4.7.2 记录设计决策69
4.8 跟踪设计进度70
4.8.1 使用架构待办事项列表70
4.8.2 设计看板的使用71
4.9 总结72
4.10 扩展阅读72
4.11 讨论问题73
第5章 以API为中心的设计74
5.1 业务敏捷性74
5.1.1 从项目转向产品75
5.1.2 业务敏捷性的驱动因素75
5.2 以API为中心的设计关注点76
5.2.1 API和可组合性76
5.2.2 API优先设计77
5.2.3 以API为中心的设计概念82
5.2.4 API管理85
5.3 以API为中心的设计和ADD87
5.3.1 ADD和API规范设计87
5.3.2 在以API为中心的设计的其他
   领域使用ADD88
5.4 总结89
5.5 扩展阅读89
5.6 讨论问题90
第6章 可部署性设计91
6.1 可部署性原则和架构设计91
6.1.1 可部署性的定义91
6.1.2 持续集成、部署和交付93
6.1.3 可部署性设计的探讨94
6.2 支持可部署性的设计决策95
6.2.1 可部署性策略96
6.2.2 可部署性模式97
6.3 可部署性和ADD102
6.4 总结104
6.5 扩展阅读104
6.6 讨论问题105
第7章 设计基于云的解决方案106
7.1 云计算概述106
7.1.1 什么是云计算106
7.1.2 服务模型107
7.1.3 托管资源108
7.2 驱动因素和云108
7.2.1 质量属性108
7.2.2 约束条件109
7.3 基于云的设计概念111
7.3.1 外部开发组件:云功能111
7.3.2 策略114
7.3.3 模式115
7.4 云解决方案中的ADD117
7.5 总结118
7.6 扩展阅读118
7.7 讨论问题118
第8章 案例研究:酒店定价系统120
8.1 商业案例120
8.2 系统需求121
8.2.1 主要功能121
8.2.2 质量属性场景122
8.2.3 约束条件123
8.2.4 架构关注点123
8.3 开发和运营需求124
8.3.1 质量属性场景124
8.3.2 约束条件124
8.3.3 架构关注点125
8.4 软件设计过程125
8.4.1 ADD步骤1:审查输入125
8.4.2 迭代1:建立整体系统结构126
8.4.3 迭代2:识别支持主要功能的
   结构131
8.4.4 迭代3:处理可靠性和可用性
   质量属性142
8.4.5 迭代4:满足开发和运维需求146
8.5 总结149
8.6 扩展阅读150
8.7 讨论问题150
第9章 案例研究:数字孪生平台151
9.1 商业案例151
9.2 系统需求152
9.2.1 用例模型153
9.2.2 质量属性场景153
9.2.3 约束条件154
9.3 设计过程154
9.3.1 ADD步骤1:审查输入154
9.3.2 迭代1:参考架构和整体
   系统结构155
9.3.3 迭代 2:工业物联网要素的
   细化160
9.3.4 迭代3:大数据和AI元素的
   细化166
9.4 总结174
9.5 扩展阅读175
9.6 讨论问题176
第10章 架构设计中的技术债务177
10.1 技术债务177
10.2 设计中技术债务的根源178
10.3 重构和重新设计181
10.4 技术债务和 ADD182
10.5 总结184
10.6 扩展阅读184
10.7 讨论问题185
第11章 设计过程中的分析186
11.1 分析和设计186
11.2 为什么要进行分析188
11.3 分析技术189
11.4 基于策略的分析190
11.5 反思问题191
11.6 基于场景的设计评审192
11.7 总结195
11.8 扩展阅读195
11.9 讨论问题196
第12章 组织中的架构设计流程197
12.1 架构设计与开发生命周期197
12.1.1 支持估算的设计197
12.1.2 支持敏捷开发的设计199
12.1.3 支持顺序开发的设计202
12.1.4 架构设计与测试策略203
12.2 架构设计与组织结构204
12.2.1 个人设计或团队设计204
12.2.2 架构师的多重角色205
12.2.3 组织的架构指南207
12.2.4 架构团队208
12.3 总结209
12.4 扩展阅读209
12.5 讨论问题210
第13章 结束语212
13.1 方法的必要性212
13.2 未来方向214
13.3 下一步214
13.4 扩展阅读215
13.5 讨论问题215
附录 基于策略的问卷调查216