|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《软件架构设计:实用方法及实践》
( K' x* {% r: W# K8 i. Pjava电子书推荐理由:系统阐述软件架构设计实用方法及最佳实践,包含大量现实案例,本书介绍了架构的设计过程及设计方法:属性驱动设计(ADD)。书中通过介绍ADD的概念和应用实例,展示了如何执行架构设计,如何重新设计概念,可帮助读者从“入门到精通”掌握软件架构设计。: O% I5 N2 p: M8 k4 N7 @9 l
作者:Humberto Cervantes,Rick Kazman
, p9 H: m. z7 j2 x" y7 ^出版社:机械工业出版社出版社
0 k1 O. b9 k/ [ d% ?出版时间:2017年08月 ( N( F4 u0 E! R" C# v/ @: z" U
, K4 x: W+ w+ v) {0 O( f1 o+ e! U" H
# G( Y' G! @5 X; h
; r! o5 k; P% A6 t( b' O% J* a6 z
java电子书目录:
, G2 w6 k. c9 d; F
) ~. \1 _( \5 R4 e* u第1章 引言 1
$ ?' ]9 `7 ?' N* F& B1.1 写作动机 1: O# T5 ?2 i1 Z2 D9 d& \
1.2 软件架构 2
1 d& n% `7 r4 ^: Y& j( j- y1.2.1 软件架构的重要性 2" O* H! P+ Z/ f1 N) E
1.2.2 生命周期活动 36 P X; t' ?: y s" f
1.3 架构师的角色 5
0 p; l% C, ~1 u8 Y; p, n Y" ~( a1.4 ADD发展史 6
+ c% `" g% t/ Q; c1.5 小结 7
* d3 k3 U' N9 r! e# m: x1.6 扩展阅读 8
: I; D5 T, T9 O' w) `" \第2章 架构设计 9" B d& s* d% {
2.1 通用设计 96 s( A4 Z) t, B, q b
2.2 软件架构中的设计 10" B/ E4 p8 x' ]4 P
2.2.1 架构设计 111 X: D4 S. z/ d' D- ~, t) ~
2.2.2 元素交互设计 115 r# g1 ^! h9 L, d4 J3 E; q
2.2.3 元素内部设计 12
/ w: Y/ e' p+ u' Y* z; N2.3 为什么架构设计如此重要 134 o* t/ T, a1 I' D6 ?- M
2.4 架构驱动因子 135 T! Q& k3 E1 K& c6 L
2.4.1 设计目的 14
4 w- m& F: a% t3 {" g2.4.2 质量属性 15! A( ^! b8 x) Q
2.4.3 主要功能 19
* f( V/ W0 @$ O2.4.4 架构关注点 20: h- W# K* G# R+ Y
2.4.5 约束条件 21
$ u) D( b8 i* F3 L; y. Y2.5 设计概念:用于创建结构的构建块 222 ~8 \' b$ R8 |! z5 f: s
2.5.1 参考架构 228 z b4 l, H9 u; G( E
2.5.2 架构的设计模式 245 T! ?( u2 G! p4 X
2.5.3 部署模式 25 E/ ~, v# Q/ R+ p
2.5.4 策略 262 S% ~% Z! m F. X* Z
2.5.5 外部开发组件 276 K# H# X1 q7 ?. f9 `8 d
2.6 架构设计决策 30
5 f& b* n/ _8 z, g+ O% g% o2.7 小结 31" O/ A" h- B- r( o* a2 x, W
2.8 扩展阅读 323 s! }5 z. D) p' r }; T
第3章 架构设计过程 34
: v" \! ?. d# A3.1 原理性方法的必要性 34% O* I5 \* [" n2 j# }+ f
3.2 属性驱动设计 3.0 34
) [/ I. y. I2 ~ ?% g) q9 o3.2.1 步骤1:评审输入 35
$ f: j/ P( i9 l- g0 ~8 ?9 [- F3.2.2 步骤2:通过选择驱动因子建立迭代目标 36) H# D/ \# ?' \* v
3.2.3 步骤3:选择一个或多个系统元素来细化 37
$ m6 R2 L6 g+ v" w& a: m3.2.4 步骤4:选择一个或多个设计概念以满足选中的驱动因子 370 J6 Z$ ~6 E9 k- g; P: c! K
3.2.5 步骤5:实例化架构元素、分配职责和定义接口 37# K" `" G' p$ R; X' I7 ~/ x9 v4 Q
3.2.6 步骤6:草拟视图和记录设计决策 388 l* N9 P0 r7 j: x
3.2.7 步骤7:分析当前设计、评审迭代目标、实现设计目的 38, F0 \2 f K4 O! V1 m2 Y% Q& \( D
3.2.8 按需迭代 39& `9 h7 r/ x+ d) K. h# L
3.3 根据系统类型遵循设计路线图 39" k# p6 a# m0 M7 S
3.3.1 成熟领域的绿地系统设计 39& q8 x( E7 f/ F6 q: H
3.3.2 新兴领域的绿地系统设计 41( t( A( \3 d% R' j( w) E& Q: Q
3.3.3 现存系统的设计(棕地) 42- A/ z$ Q; r, V
3.4 识别和选择设计概念 42
T7 I$ a/ R* ]% |3.4.1 识别设计概念 42/ e1 z# ~1 W( \( i5 L
3.4.2 选择设计概念 43/ h$ B1 T8 J2 }( ~3 H. ]( R, s. p6 @
3.5 结构生成 460 G3 J* n4 V( E7 y8 U; \
3.5.1 元素实例化 47
3 _# L& P5 E: s- n: @7 w* N4 w3.5.2 划分职责和识别属性 47
/ f; y/ e9 ~/ L2 d- A3.5.3 建立元素间的关系 488 d% _/ `) v, U1 z! u8 C7 o
3.6 定义接口 48' b+ A( n1 s4 }! B& R, k: g
3.6.1 外部接口 48; k- V) y* B- P
3.6.2 内部接口 485 m( ~5 L% q: `. d
3.7 在设计中创建概要文档 51
, O: q! _. I W/ I/ u4 `6 f3.7.1 记录视图的草图 51: ^( L+ F+ K2 O: n6 h. n
3.7.2 记录设计决策 53/ W2 f1 d" _. Q' A$ Y: l
3.8 追踪设计进度 55. }6 c* y+ ], A% K2 n9 X
3.8.1 使用架构待办事项清单 55
& f* e1 c2 X1 G/ T3.8.2 使用设计看板 55, ]7 P5 @7 f4 @; {" F. _6 m# W
3.9 小结 57
2 r' r- E x7 R5 |8 M3.10 扩展阅读 57
1 z/ R( J2 o4 T' O第4章 案例研究:FCAPS系统 59$ {( [, a; Z; t; D. _: Z0 p
4.1 商用案例 59
' _: K" R" R2 y4 K% p4.2 系统需求 60
3 V* [6 R& }4 r0 z! M4.2.1 用例模型 60
! G$ m% F2 l& v7 l% a& J8 O- S6 s2 s4.2.2 质量属性场景 621 r0 S. O3 x5 t* B
4.2.3 约束条件 62 i+ N. q& K1 {+ {% J/ t' u
4.2.4 架构关注点 62
5 }1 A( |2 w, c& s: `4.3 设计过程 63 R q8 F7 Z. ~9 d, U4 O9 t/ a0 g
4.3.1 ADD 步骤1:评审输入 631 c! Q o3 Z! r4 L$ Y
4.3.2 迭代1:建立一个完整的系统架构 63% p# s+ q; Y$ v, Q. i
4.3.3 迭代2:识别支持基本功能的架构 70
% o/ W& H% J, @0 p0 |4.3.4 迭代3:解决质量属性场景的驱动因子(质量属性-3) 771 q: f" {, p8 L3 k# ]4 f, J
4.4 小结 80
! N- i* |& u1 t. t4.5 扩展阅读 81! U. \" n) w8 n
第5章 案例研究:大数据系统 82
' ^9 j& T L0 l8 O5.1 商用案例 82
- I$ p7 D0 P. G- q5.2 系统需求 837 u# l- k- S" O2 n8 B/ h
5.2.1 用例模型 83* q5 k1 c+ U8 i8 R
5.2.2 质量属性场景 83
, i( R3 |2 \; V& N% n2 p3 B5.2.3 约束条件 84; c; B9 B" a/ a; h
5.2.4 架构关注点 84) b1 f# Z$ W' I2 r" m# H2 r1 m
5.3 设计过程 84
. {1 p2 c/ J+ _+ U9 |5.3.1 ADD方法的步骤1:评审输入 85
7 N' A" J+ J3 \/ }, V! M3 c5.3.2 迭代1:参考架构和系统整体结构 850 S& S; }3 N3 l% s. g) O/ J
5.3.3 迭代2:技术选择 91
: o7 t, H2 r y$ B9 ?5.3.4 迭代3:数据流元素的细化 99" a: ]* I. d4 V
5.3.5 迭代4:服务层的细化 104$ Z O- \; v4 D1 \. F, l3 ?
5.4 小结 107) S/ x/ t8 I; Y- u6 ~4 {
5.5 扩展阅读 1072 I' t' U% q, i+ m
第6章 案例研究:银行系统 109
! T% ~& s5 @3 ^/ J- v* K# h6.1 商用案例 109& e7 C3 s- W' s; v3 ~0 r# E# u9 ~/ p2 n
6.1.1 用例模型 110
4 R* S7 ~ _! E# G* Y- G6.1.2 质量属性场景 111
, j5 b4 m: R- C: q0 h c6.1.3 约束条件 111
3 F; }! b: p- ?; I- Z6.1.4 架构关注点 111
; I! _% K* H+ [% [' c6.2 现有的架构文档 112
4 U/ U, R w& L2 ^- G! _ w$ X6.2.1 模块视图 112
! \7 @# W4 i& X% u6.2.2 分配视图 1132 n9 I6 |9 a8 ^% \) E
6.3 设计过程 114; l" `' J$ H& [
6.3.1 ADD方法的步骤1:评审输入 114
, F1 e4 q+ B6 m9 v8 o6.3.2 迭代1:支持新的驱动因子 1146 u& o1 p4 \8 M$ s5 m4 }0 m* M; G
6.4 小结 118
7 _0 x/ e% B0 Z5 L4 A6.5 扩展阅读 119
/ J9 `9 Y7 x, a/ ] L# {! P第7章 其他设计方法 120# I' v/ w( G F! ?. I6 F$ u
7.1 一种软件架构设计的通用模型 1200 f2 ~/ y! g+ ?; R( i
7.2 以架构为中心的设计方法 121! a, G' v2 Z6 X8 C, F
7.3 RUP中的架构活动 1231 u3 ?4 p2 j* D0 [3 h) j
7.4 软件架构设计的过程 124
1 n$ p% X) ]% E4 K# Z+ H7.5 一种实现架构与设计的方法 126
3 Z4 v& W) x( F' I$ g v$ @7.6 视点与视角方法 1277 F; p7 b0 L. M( Q. S5 d$ b
7.7 小结 129" V# N0 a* k7 w9 I" h* K Z
7.8 扩展阅读 129
8 U4 V( U1 e) ~: Y4 m- _* k3 {第8章 设计过程中的分析 131
5 o) i* G* x# I7 R; \' y. `8.1 分析和设计 131. ]3 Z+ n. P2 d( Z( v6 }7 l }+ z
8.2 为何分析 133
6 W* B5 M7 w& C% |8.3 分析方法 134
$ Q6 A& P# R" h" I$ x8.4 基于策略的分析 1352 ^& e5 k9 d2 Q/ b
8.5 值得反思的问题 137
4 }5 a& X y2 e. n7 A( ^; ~( G% i- k8.6 基于场景的设计评审 138
s1 g9 B! X3 F$ O; B2 U4 Q8.7 架构描述语言 141, t1 l& M3 |3 H
8.8 小结 142
" i" [4 Y4 }& N% Q6 ]( S. d% X& w8.9 扩展阅读 142
+ P4 V4 V) o3 n0 V6 w% B第9章 组织中的架构设计过程 144
. _( _' D. \. Y2 b j. V9.1 架构设计与开发生命周期 1442 |4 Z+ E& k" ?4 {
9.1.1 售前阶段的架构设计 1458 k9 |4 U7 z8 H u( M6 q
9.1.2 开发运维阶段的架构设计 146
! `. v T4 \. ~9.2 组织方面的问题 1505 K+ _% v+ m6 S5 u
9.2.1 个人设计还是团队设计 150! k! s: o2 p$ N! ?5 H
9.2.2 在组织中应用一套设计概念目录 151
P. X: i3 E: E3 {0 L9.3 小结 1529 r) s1 T( w! K1 A( |2 R: \" f: q
9.4 扩展阅读 1525 P6 r; ~( j" F* k( U5 R, Q
第10章 结束语 154- u. d& e: }6 l: S
10.1 方法的必要性 154
/ H# R6 A9 J K; n6 O10.2 下一步 155
/ F' K* L4 G( L; c7 m10.3 扩展阅读 156
$ l0 q/ [% \6 N
8 [" g2 f3 a5 G" \# S' U百度网盘下载地址链接(百度云)检索地址:【地址回帖可见】
; r) _5 V: e9 @# p
# m$ G% V% o7 O: A9 h, `' t/ w5 e y( S
0 z* Z8 x8 @- d) x; f
6 e6 y/ M# v m" p9 \+ V, {% x% Q( ^ e. D: M( F3 v8 m
$ a$ v) ?: |- |
' q. b6 l9 V- B$ b' T( y
# J6 p- O$ L: h5 U
|
|