图书介绍
软件架构设计 程序员向架构师转型必备【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 温昱著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121170874
- 出版时间:2012
- 标注页数:246页
- 文件大小:60MB
- 文件页数:265页
- 主题词:软件设计-教材
PDF下载
下载说明
软件架构设计 程序员向架构师转型必备PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 从程序员到架构师1
1.1软件业人才结构1
1.1.1金字塔型,还是橄榄型?1
1.1.2从程序员向架构师转型2
1.2本书价值3
1.2.1阅读路径1:架构设计入门3
1.2.2阅读路径2:领会大系统架构设计4
1.2.3阅读路径3:从需求到架构的全过程5
1.2.4阅读路径4:结合工作,解决实际问题6
第1部分 基本概念篇10
第2章 解析软件架构概念10
2.1软件架构概念的分类10
2.1.1组成派11
2.1.2决策派11
2.1.3软件架构概念大观12
2.2概念思想的解析13
2.2.1软件架构关注分割与交互13
2.2.2软件架构是一系列有层次的决策14
2.2.3系统、子系统、框架都可以有架构17
2.3实际应用(1)——团队对架构看法不一怎么办18
2.3.1结合手上的实际工作来理解架构的含义18
2.3.2这样理解“架构”对吗19
2.3.3工作中找答案:先看部分设计19
2.3.4工作中找答案:反观架构概念的体现22
第3章 理解架构设计视图24
3.1软件架构为谁而设计24
3.1.1为用户而设计25
3.1.2为客户而设计26
3.1.3为开发人员而设计26
3.1.4为管理人员而设计26
3.1.5总结27
3.2理解架构设计视图28
3.2.1架构视图28
3.2.2一个直观的例子28
3.2.3多组涉众,多个视图29
3.3运用“逻辑视图+物理视图”设计架构30
3.3.1逻辑架构31
3.3.2物理架构32
3.3.3从“逻辑架构+物理架构”到设计实现32
3.4实际应用(2)——开发人员如何快速成长33
3.4.1开发人员应该多尝试设计33
3.4.2实验项目:案例背景、训练目标34
3.4.3逻辑架构设计(迭代1)35
3.4.4物理架构设计(迭代1)35
3.4.5逻辑架构设计(迭代2)36
3.4.6物理架构设计(迭代2)37
第2部分 实践过程篇40
第4章 架构设计过程40
4.1架构设计的实践脉络41
4.1.1洞察节奏:3个原则41
4.1.2掌握过程:6个步骤43
4.2架构设计的速查手册45
4.2.1需求分析45
4.2.2领域建模46
4.2.3确定关键需求47
4.2.4概念架构设计49
4.2.5细化架构设计50
4.2.6架构验证51
第5章 需求分析53
5.1需求开发(上)——愿景分析53
5.1.1从概念化阶段说起54
5.1.2愿景54
5.1.3上下文图56
5.1.4愿景分析实践要领60
5.2需求开发(下)——需求分析60
5.2.1需求捕获vs.需求分析vs.系统分析61
5.2.2需求捕获及成果63
5.2.3需求分析及成果64
5.2.4系统分析及成果65
5.3掌握的需求全不全65
5.3.1二维需求观与ADMEMS矩阵65
5.3.2功能66
5.3.3质量68
5.3.4约束71
5.4从需求向设计转化的“密码”72
5.4.1“理性设计”还是“拍脑袋”72
5.4.2功能:职责协作链73
5.4.3质量:完善驱动力74
5.4.4约束:设计并不自由74
5.5实际应用(3)——PM Suite贯穿案例之需求分析75
5.5.1 PM Suite案例背景介绍76
5.5.2第1步:明确系统目标77
5.5.3第2步:范围+Feature+上下文图77
5.5.4第3步:画用例图82
5.5.5第4步:写用例规约85
5.5.6插曲:需求启发与需求验证86
5.5.7插曲:非功能需求88
5.5.8《需求规格》与基于ADMEMS矩阵的需求评审88
第6章 用例与需求89
6.1用例技术族89
6.1.1用例图90
6.1.2用例简述、用户故事90
6.1.3用例规约91
6.1.4用例实现、鲁棒图92
6.1.5 4种技术的关系93
6.2用例技术族的应用场景94
6.2.1用例与需求分析94
6.2.2用例与需求文档95
6.2.3用例与需求变更97
6.3实际应用(4)——用例建模够不够?流程建模要不要99
6.3.1软件事业部的故事99
6.3.2小型方法:需求分析的三套实践论(上)99
6.3.3中型方法:需求分析的三套实践论(中)100
6.3.4大型方法:需求分析的三套实践论(下)101
6.3.5 PM Suite应用一幕102
第7章 领域建模105
7.1什么是领域模型106
7.1.1领域模型“是什么”106
7.1.2领域模型“什么样”106
7.1.3领域模型“为什么”107
7.2需求人员视角——促进用户沟通、解决分析瘫痪108
7.2.1领域建模与需求分析的关系108
7.2.2沟通不足109
7.2.3分析瘫痪110
7.2.4案例:多步领域建模,熟悉陌生领域111
7.3开发人员视角——破解“领域知识不足”死结113
7.3.1领域模型作为“理解领域的手段”113
7.3.2案例:从词汇表到领域模型113
7.4实际应用(5)——功能决定如何建模,模型决定功能扩展115
7.4.1案例:模型决定功能扩展116
7.4.2实践:功能决定如何建模118
7.4.3 PM Suite领域建模实录(1)——类图122
7.4.4 PM Suite领域建模实录(2)——状态图125
7.4.5 PM Suite领域建模实录(3)——可扩展性126
第8章 确定关键需求129
8.1众说纷纭——什么决定了架构129
8.1.1用例驱动论130
8.1.2质量决定论131
8.1.3经验决定论132
8.2真知灼见——关键需求决定架构132
8.2.1“目标错误”比“遗漏需求”更糟糕132
8.2.2关键需求决定架构,其余需求验证架构132
8.3付诸行动——如何确定关键需求133
8.3.1确定关键质量133
8.3.2确定关键功能135
8.4实际应用(6)——小系统与大系统的架构分水岭137
8.4.1架构师的“拿来主义”困惑137
8.4.2场景1:小型PMIS(项目型ISV背景)138
8.4.3场景2:大型PM Suite(产品型ISV背景)139
8.4.4场景3:多个自主产品组成的方案(例如IBM)140
8.4.5“拿来主义”虽好,但要合适才行141
第9章 概念架构设计143
9.1概念架构是什么144
9.1.1概念架构是直指目标的设计思想、重大选择144
9.1.2案例1:汽车电子AUTOSAR——跨平台复用145
9.1.3案例2:腾讯QQvideo架构——高性能149
9.1.4案例3:微软MFC架构——简化开发150
9.1.5总结151
9.2概念架构设计概述151
9.2.1“关键需求”进,“概念架构”出151
9.2.2概念架构≠理想化架构152
9.2.3概念架构≠细化架构152
9.3左手功能——概念架构设计(上)153
9.3.1什么样的鸿沟,架什么样的桥153
9.3.2鲁棒图“是什么”153
9.3.3鲁棒图“画什么”154
9.3.4鲁棒图“怎么画”156
9.4右手质量——概念架构设计(下)159
9.4.1再谈什么样的鸿沟,架什么样的桥159
9.4.2场景思维159
9.4.3场景思维的工具160
9.4.4目标—场景—决策表应用举例162
9.5概念架构设计实践要领163
9.5.1要领1:功能需求与质量需求并重163
9.5.2要领2:概念架构设计的1个决定、4个选择163
9.5.3要领3:备选设计165
9.6实际应用(7)——PM Suite贯穿案例之概念架构设计165
9.6.1第1步:通过初步设计,探索架构风格和高层分割165
9.6.2第2步:选择架构风格,划分顶级子系统169
9.6.3第3步:开发技术、集成技术与二次开发技术的选型171
9.6.4第4步:评审3个备选架构,敲定概念架构方案172
第10章 细化架构设计174
10.1从2视图方法到5视图方法175
10.1.1回顾:2视图方法175
10.1.2进阶:5视图方法175
10.2程序员向架构师转型的关键突破——学会系统思考176
10.2.1系统思考之“从需求到设计”177
10.2.2系统思考之“5个设计视图”179
10.3 5视图方法实践——5个视图、15个设计任务181
10.3.1逻辑架构=模块划分+接口定义+领域模型181
10.3.2开发架构=技术选型+文件划分+编译关系184
10.3.3物理架构=硬件分布+软件部署+方案优化185
10.3.4运行架构=技术选型+控制流划分+同步关系187
10.3.5数据架构=技术选型+存储格式+数据分布188
10.4实际应用(8)——PM Suite贯穿案例之细化架构设计189
10.4.1 PM Suite接下来的设计任务189
10.4.2客户端设计的相关说明191
10.4.3细化领域模型时应注意的两点192
第11章 架构验证194
11.1原型技术194
11.1.1水平原型vs.垂直原型,抛弃原型vs.演进原型195
11.1.2水平抛弃原型196
11.1.3水平演进原型197
11.1.4垂直抛弃原型197
11.1.5垂直演进原型197
11.2架构验证198
11.2.1原型法198
11.2.2框架法199
11.2.3测试运行期质量,评审开发期质量199
第3部分 模块划分专题202
第12章 粗粒度“功能模块”划分202
12.1功能树203
12.1.1什么是功能树203
12.1.2功能分解≠结构分解203
12.2借助功能树,划分粗粒度“功能模块”204
12.2.1核心原理:从“功能组”到“功能模块”205
12.2.2第1步:获得功能树207
12.2.3第2步:评审功能树211
12.2.4第3步:粗粒度“功能模块”划分212
12.3实际应用(9)——对比MailProxy案例的4种模块划分设计213
12.3.1设计213
12.3.2设计的优点、缺点213
12.4实际应用(10)——做总体,要提交啥样的“子系统划分方案”214
第13章 如何分层217
13.1分层架构218
13.1.1常见模式:展现层、业务层、数据层218
13.1.2案例一则218
13.1.3常见模式:UI层、SI层、PD层、DM层219
13.1.4案例一则220
13.2分层架构实践技巧221
13.2.1设计思想:分层架构的“封装外部交互”思想221
13.2.2实践技巧:设计分层架构,从上下文图开始221
13.3实际应用(11)——对比MailProxy案例的4种模块划分设计223
13.3.1设计223
13.3.2设计的优点、缺点224
第14章 用例驱动的模块划分过程225
14.1描述需求的序列图vs.描述设计的序列图225
14.1.1描述“内外对话”vs.描述“内部协作”226
14.1.2《用例规约》这样描述“内外对话”227
14.2用例驱动的模块划分过程228
14.2.1核心原理:从用例到类,再到模块228
14.2.2第1步:实现用例需要哪些类231
14.2.3第2步:这些类应该划归哪些模块235
14.3实际应用(12)——对比MailProxy案例的4种模块划分设计236
14.3.1设计236
14.3.2设计的优点、缺点236
第15章 模块划分的4步骤方法——运用层、模块、功能模块、用例驱动238
15.1像专家一样思考238
15.1.1自顶向下vs.自底向上,垂直切分vs.水平切分238
15.1.2横切竖割,并不矛盾239
15.2模块划分的4步骤方法——EDD方法241
15.2.1封装驱动设计的4个步骤241
15.2.2细粒度模块的划分技巧242
15.3实际应用(13)——对比MailProxy案例的4种模块划分设计245
15.3.1设计245
15.3.2设计的优点、缺点246
热门推荐
- 1706007.html
- 1325394.html
- 1199120.html
- 3702591.html
- 3291232.html
- 2099112.html
- 3661798.html
- 1194886.html
- 1644289.html
- 1420804.html
- http://www.ickdjs.cc/book_1806656.html
- http://www.ickdjs.cc/book_1341539.html
- http://www.ickdjs.cc/book_738368.html
- http://www.ickdjs.cc/book_1361980.html
- http://www.ickdjs.cc/book_3168445.html
- http://www.ickdjs.cc/book_3585471.html
- http://www.ickdjs.cc/book_2968409.html
- http://www.ickdjs.cc/book_3168818.html
- http://www.ickdjs.cc/book_184372.html
- http://www.ickdjs.cc/book_544288.html