|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《软件架构设计:实用方法及实践》
@, p) Q3 M, q& N2 Ajava电子书推荐理由:系统阐述软件架构设计实用方法及最佳实践,包含大量现实案例,本书介绍了架构的设计过程及设计方法:属性驱动设计(ADD)。书中通过介绍ADD的概念和应用实例,展示了如何执行架构设计,如何重新设计概念,可帮助读者从“入门到精通”掌握软件架构设计。, F8 w6 j- g+ Y6 l; C/ k
作者:Humberto Cervantes,Rick Kazman
+ O1 |' h* r/ M& U出版社:机械工业出版社出版社
3 `6 e+ {2 V" k& c" ^6 C出版时间:2017年08月
" {; u, o) s8 B$ C
, B" b. q! A) r) e" @' F
8 B4 k, \; b6 R# g% w
. Q6 K/ c* A: l3 y0 Z) X0 |7 b2 F/ c
java电子书目录:
4 D7 h6 i" W5 F* F9 ~9 c2 l4 N5 E0 u' N, H5 Y
第1章 引言 1
+ u6 L" L6 z$ Y+ r$ E, e. M, Y, V& n+ h1.1 写作动机 1* D5 y- B. d a; U. u/ T& X
1.2 软件架构 29 e/ r" z( e4 E6 G
1.2.1 软件架构的重要性 2 ^7 D2 u: u' m; e
1.2.2 生命周期活动 3
1 @7 f& l! q. \2 w9 L( p1.3 架构师的角色 5 r6 D+ ?9 w! ^$ X/ X7 f
1.4 ADD发展史 6; r2 j! u, q. z+ A
1.5 小结 7
" }' c5 d+ f s1 p8 D# }1 x! ]1.6 扩展阅读 80 |. o6 x; ^" u, v4 @& q3 g: S
第2章 架构设计 9, \* k9 M/ T' x2 u5 U' W
2.1 通用设计 9
! e2 g9 Y1 t; N: s2.2 软件架构中的设计 10
Z4 E# s" @1 E$ r8 K# Q" c. o2.2.1 架构设计 11
# }' ~, j0 g( _' L/ K$ Q2.2.2 元素交互设计 11
2 J1 B+ S+ t4 z# k" @2 Z# a1 h3 f2.2.3 元素内部设计 12
: c$ H h& ]; ~' t$ g2.3 为什么架构设计如此重要 13% d% P4 L( h/ i& j/ U
2.4 架构驱动因子 13
! i+ V( W% V3 r2.4.1 设计目的 14- W% M7 \/ T; d$ v/ ]
2.4.2 质量属性 15
0 z/ o) u5 x9 A& G5 T; s( d2.4.3 主要功能 19
: ~" t5 @4 T! o# ?! n+ L6 f2.4.4 架构关注点 206 X/ l! Y k9 \; }
2.4.5 约束条件 21
9 U7 i7 \! Z# F; w! c; c2.5 设计概念:用于创建结构的构建块 222 I6 b+ s7 {( O# }" o! K$ T
2.5.1 参考架构 22# s0 x2 y1 {. T! _; F( l6 v
2.5.2 架构的设计模式 249 F6 p+ i2 a1 e4 C& _' A
2.5.3 部署模式 25
* f+ H& a+ m6 b- A( x2.5.4 策略 26) ?% a% D* Z2 J a
2.5.5 外部开发组件 27
0 P) @9 ]. e) ^* B2.6 架构设计决策 30% u3 r0 J3 O3 q) o- R2 A8 r
2.7 小结 31( \9 f; }) M/ M9 C; p4 s% k
2.8 扩展阅读 32
/ X/ M7 h4 ^/ w5 E( s) e$ T第3章 架构设计过程 34
9 I7 h: f# U6 k* Y3.1 原理性方法的必要性 34
& ^) v" C, B" V; M- U3.2 属性驱动设计 3.0 34& c. C3 y' f5 k( k2 h: r. T
3.2.1 步骤1:评审输入 35
) C# \% u9 B% X8 P3.2.2 步骤2:通过选择驱动因子建立迭代目标 36
& G" D/ @- N* j% E- ]3.2.3 步骤3:选择一个或多个系统元素来细化 37
) E% k3 D6 [2 w w3.2.4 步骤4:选择一个或多个设计概念以满足选中的驱动因子 37
, I5 _$ I, B- q' C3.2.5 步骤5:实例化架构元素、分配职责和定义接口 37
/ v& ]$ u$ G: o# e# c) A" q' \. y9 b2 l9 O3.2.6 步骤6:草拟视图和记录设计决策 384 K+ Z5 u* Q3 G' X- o }
3.2.7 步骤7:分析当前设计、评审迭代目标、实现设计目的 388 A5 J! M) U6 q* p0 e% ^8 t
3.2.8 按需迭代 39
) D W1 a1 z2 E3.3 根据系统类型遵循设计路线图 39' t" L6 E# X& s# s
3.3.1 成熟领域的绿地系统设计 39
( d' D( h! l4 d0 [3.3.2 新兴领域的绿地系统设计 41: r, e) {8 n" [9 m8 m$ w0 O
3.3.3 现存系统的设计(棕地) 42
# Q' V+ b$ B' Y& z M; L/ i3.4 识别和选择设计概念 42
2 y8 m; w, Y o# V+ Q# z9 e3.4.1 识别设计概念 42
; F/ v5 u1 a( b5 a& E. Y; \3.4.2 选择设计概念 43' Z" U0 R2 q/ i! j
3.5 结构生成 46
: F% j9 A5 R$ [# I3 e; j7 \9 A7 d3 V3.5.1 元素实例化 47
9 u% W$ f7 j4 k/ l3.5.2 划分职责和识别属性 47
6 \; j/ w$ x' U4 ]3.5.3 建立元素间的关系 48
! g% z W+ |" X% O3.6 定义接口 48( Z* ?( H: q" M% i: ^5 }
3.6.1 外部接口 48
% W/ R1 \4 i) Y9 T# q( f3.6.2 内部接口 48
" z$ j6 d& z/ I) [3.7 在设计中创建概要文档 51
8 i2 i- T4 k( a8 b3.7.1 记录视图的草图 51. b0 Q% |, r: m6 v/ q
3.7.2 记录设计决策 53
1 k, ~8 S8 J. L3.8 追踪设计进度 55! r' F* X' g& T* C
3.8.1 使用架构待办事项清单 55
' \4 ~% q5 L. x" n3.8.2 使用设计看板 55& y2 O. R1 Q0 J8 Q5 d
3.9 小结 571 q: l+ P8 O- B* L3 n
3.10 扩展阅读 57, W- q7 v! `$ G7 @7 P! g
第4章 案例研究:FCAPS系统 59
+ v3 I9 a$ l& u4.1 商用案例 59
9 ]' I1 j7 D z' u5 i# M# ]4.2 系统需求 60* B, Q5 ?6 Q* O, X% C5 J7 @
4.2.1 用例模型 60
( X4 e( J- ^! b! n8 n6 V* O7 U4.2.2 质量属性场景 62
: V/ y" m% ]' q% N4.2.3 约束条件 62
U! T. J" O( z1 o1 w8 m4.2.4 架构关注点 62, o! L6 o8 \! v1 I+ M. @" o
4.3 设计过程 63" N C+ B# s( j. D" T
4.3.1 ADD 步骤1:评审输入 63- K( z$ \; k/ @; f: I {" q
4.3.2 迭代1:建立一个完整的系统架构 63
" U% X6 K0 O4 O# H5 z; P4.3.3 迭代2:识别支持基本功能的架构 707 V6 O4 s1 y1 {# U: q6 V
4.3.4 迭代3:解决质量属性场景的驱动因子(质量属性-3) 77
8 [9 E$ s2 N! ]$ ]( G: Z4.4 小结 80; |6 }+ f" Y1 J- o2 }1 x, Y6 \
4.5 扩展阅读 815 Y0 l4 l6 l/ }3 l$ M
第5章 案例研究:大数据系统 82& l& j _5 f0 W* p2 q! I J+ ]
5.1 商用案例 82& X6 `, p/ f/ X' n/ b* {
5.2 系统需求 83
7 G4 }1 |4 e9 B. n% C5.2.1 用例模型 83
" |1 u8 ^6 L' ~7 s) [5.2.2 质量属性场景 83/ V3 S! l* @6 W* u: |3 K
5.2.3 约束条件 847 A5 n# l+ B. U8 o- [& O
5.2.4 架构关注点 84
- J8 Q0 T! t( R8 q5.3 设计过程 845 }& \% @7 X5 c! m W
5.3.1 ADD方法的步骤1:评审输入 85- T; g3 R% X; x+ R/ g
5.3.2 迭代1:参考架构和系统整体结构 85
6 D! n! n) T! H' f$ j3 J3 D% o8 _# C( e5.3.3 迭代2:技术选择 91
7 H8 G2 L& a$ o( l1 E5.3.4 迭代3:数据流元素的细化 99# p1 ?- u0 K) p7 X
5.3.5 迭代4:服务层的细化 104* i# F" u5 ?& L7 F' Q6 S
5.4 小结 1078 I4 b( Q. `! g A; k/ C
5.5 扩展阅读 107: w8 t( V# a: ]2 `
第6章 案例研究:银行系统 109 E7 S8 I5 J+ F7 e
6.1 商用案例 109
* I9 i ^ I8 {6.1.1 用例模型 110
& o6 t: Q$ K k0 ^6.1.2 质量属性场景 111
& B @2 b' S6 E- y4 H6.1.3 约束条件 1116 ~) D j* F: m; N: ?: ^% O' M+ E
6.1.4 架构关注点 111
) r7 c6 v" E: d' z ~! `& t6 `# N6.2 现有的架构文档 112
( f, ?. S2 |5 N$ m6.2.1 模块视图 112( v: d- }( Y' H+ I# E
6.2.2 分配视图 1136 A# y$ S9 l' ]: F4 Y/ s
6.3 设计过程 114/ w% h A2 H9 \# ]6 W/ h: S
6.3.1 ADD方法的步骤1:评审输入 114
- F" Y* u- a( O. h2 v) B {+ i6.3.2 迭代1:支持新的驱动因子 114
* D6 J I8 J% s8 \) |; r6.4 小结 118' h: \6 V; L% k+ v3 u
6.5 扩展阅读 119
- ~! X* |0 t/ ^" f! P第7章 其他设计方法 120' k: s3 e0 l0 l6 z; E* S8 D9 W
7.1 一种软件架构设计的通用模型 120' q# [. |. q1 i; H1 d( S( H1 J
7.2 以架构为中心的设计方法 121, v4 U. [2 q; M3 g: @
7.3 RUP中的架构活动 123) z; v2 T' S- L" g
7.4 软件架构设计的过程 124: ~3 p/ D" P+ j9 G% H( k
7.5 一种实现架构与设计的方法 126
/ y! }6 J/ H% z' F7 ^2 a7.6 视点与视角方法 127# A* [$ k' H1 J
7.7 小结 129
5 P6 f8 [# g4 T8 [( E. z: e9 b7.8 扩展阅读 129
" X. Z3 E9 m6 i2 F# y- l7 m T第8章 设计过程中的分析 131! k, r. |. N! p
8.1 分析和设计 131
1 \6 ~ K( s1 y9 `8 \/ Q) _8.2 为何分析 133) T; u: Y9 H- W) F6 F j8 o
8.3 分析方法 134
% J2 @6 f& R3 y9 b5 o4 G8.4 基于策略的分析 135/ p* i, I) L* v- Y# n7 ~7 a
8.5 值得反思的问题 137, d1 R' r' y5 |% B; \9 o$ D
8.6 基于场景的设计评审 138
# \ ~0 |! U/ t" r* m7 e8.7 架构描述语言 141
0 w9 E% O7 S* l$ t6 L8.8 小结 142
- ~9 i) ~0 P' g5 F' g F; C8 D4 I6 ]8.9 扩展阅读 142
! v! r2 J- @. S: z" x7 x第9章 组织中的架构设计过程 144, y; G; ^7 E/ s1 a8 m; w
9.1 架构设计与开发生命周期 144
6 E: v7 ~" ~8 _( B. q9.1.1 售前阶段的架构设计 1450 t$ J2 T, c0 G2 f
9.1.2 开发运维阶段的架构设计 146- x! E& l! P6 g2 f
9.2 组织方面的问题 150' _. B& _/ f5 }" b0 G0 x
9.2.1 个人设计还是团队设计 150
: A* Z; L9 U) F7 B. V8 o! l9.2.2 在组织中应用一套设计概念目录 151
! `8 M* b+ I7 r1 F, v5 c9.3 小结 152
* a- v( @6 [1 I& Y& q1 U9.4 扩展阅读 152( ~ [2 x" X0 x8 E" v
第10章 结束语 154
4 g+ \" e7 t+ W' d10.1 方法的必要性 154
/ w# {3 ]6 t: G% i10.2 下一步 155
0 ?( g8 H/ O4 l2 Y& b# K- w) F. |10.3 扩展阅读 156
" j+ G' \7 }6 U
- U9 k8 X, U' r: r, ^5 H4 a. ]百度网盘下载地址链接(百度云)检索地址:【地址回帖可见】
" z8 q# e! T* B* e% G* p! ]8 j
$ }0 H# j% ^" F# W! Z2 A
0 B$ \: R9 y- h l o! Z5 M# ^8 r* t9 }9 J' T- V4 K. C
+ S1 s! ]8 R; A9 T
9 h, o2 h g( H7 o V; j8 d
6 F: N0 l' j( J0 K$ z; u7 r
p x+ i4 r9 _0 [ A& {3 h2 g% v. X( n
|
|