|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《软件架构设计:实用方法及实践》3 k: W9 J4 \4 v! }) r' g' n- G- N7 Z
java电子书推荐理由:系统阐述软件架构设计实用方法及最佳实践,包含大量现实案例,本书介绍了架构的设计过程及设计方法:属性驱动设计(ADD)。书中通过介绍ADD的概念和应用实例,展示了如何执行架构设计,如何重新设计概念,可帮助读者从“入门到精通”掌握软件架构设计。2 g" B* J6 f, z% L0 c
作者:Humberto Cervantes,Rick Kazman
6 L- t4 r% T+ B出版社:机械工业出版社出版社
/ h8 C* s/ Z+ I- R出版时间:2017年08月 ! B# v$ y; f" g( j) D# v
3 ?& ]' s+ }9 }9 b, A W
6 `. `; x/ p/ Q3 P% B% @) f0 s" r! u' I
java电子书目录:
, V3 n4 o5 J: e# T. l( w' {+ U. n2 ?6 }! h
第1章 引言 1- c+ ~+ }" b. W/ l. z' Q
1.1 写作动机 10 ]/ @2 A; \1 i9 Y# S
1.2 软件架构 2
b# _6 k. R0 X) W8 R# O+ Y1.2.1 软件架构的重要性 2
6 `; ?" T* K* h1 u. ~0 _; X( Q& s1.2.2 生命周期活动 3 ?* f, `0 z8 F1 u1 W) G
1.3 架构师的角色 5
' Z; I2 Z7 |0 f7 B, w1.4 ADD发展史 60 k5 f/ b$ `; `) W
1.5 小结 7
; I4 b1 f- E. p: y# B1.6 扩展阅读 84 y2 l$ M( P- Z; @! @# a( e. k9 z
第2章 架构设计 97 |7 R* x/ [( _1 G* v) ~
2.1 通用设计 9, A: w! f# T) o/ a0 y
2.2 软件架构中的设计 102 B& t6 {2 M7 b& L* T: N: h, G
2.2.1 架构设计 11
8 M z4 w. n. T* u5 f2.2.2 元素交互设计 115 E' ]- @) N: |$ X. a" B3 l$ f4 u; J
2.2.3 元素内部设计 127 r1 L/ a1 U! O
2.3 为什么架构设计如此重要 13: ]$ G; Q1 g/ u7 S: |! e, V
2.4 架构驱动因子 13* W+ b, I) q8 Y* P1 X
2.4.1 设计目的 14: f. u% ^' y7 E# z6 N1 V
2.4.2 质量属性 155 B) g, e6 j1 q' d! c/ o
2.4.3 主要功能 19# q! p1 b; q: L: R& w8 `$ E0 k6 E
2.4.4 架构关注点 200 Y$ j! E& v" @( N& \" f$ d
2.4.5 约束条件 21. ?- h/ h/ F+ Z7 G$ T
2.5 设计概念:用于创建结构的构建块 224 k) @) K) D" @& f `
2.5.1 参考架构 22
1 S, Y! l$ X& y0 y% Y2.5.2 架构的设计模式 24: ]" i5 a. Y# i
2.5.3 部署模式 259 o# m+ L' B% E, j; [0 i/ _
2.5.4 策略 26
) y* V. L) W3 a" T7 e3 i* F7 t2.5.5 外部开发组件 27
# n1 V/ l& v5 V2.6 架构设计决策 30
9 Z- ~' f7 _5 ]! E' {: w2.7 小结 31
+ ?" M5 _* h/ ?% A/ m& o2.8 扩展阅读 32
; J8 ~5 h3 z! t- G第3章 架构设计过程 34
% A! C5 ~+ Z0 W6 k' C. n3.1 原理性方法的必要性 34) `: o6 j* ?3 F' i5 \
3.2 属性驱动设计 3.0 34( O) G- d+ R( f) Y
3.2.1 步骤1:评审输入 35
. n. R; ~; j8 o3.2.2 步骤2:通过选择驱动因子建立迭代目标 36
+ Z4 c5 Y9 C7 y4 p' l7 W, Z3.2.3 步骤3:选择一个或多个系统元素来细化 37
0 M4 [8 N4 g# \8 o3.2.4 步骤4:选择一个或多个设计概念以满足选中的驱动因子 37
0 k9 x2 c4 H) [" O, H3.2.5 步骤5:实例化架构元素、分配职责和定义接口 37; {7 W% n3 V+ D2 S4 E2 k
3.2.6 步骤6:草拟视图和记录设计决策 38& {1 p) G" O( D0 G
3.2.7 步骤7:分析当前设计、评审迭代目标、实现设计目的 38% O1 T v" B2 N# w
3.2.8 按需迭代 39
$ C4 `. i% w7 `$ \' y7 w9 s& N7 Z7 S3.3 根据系统类型遵循设计路线图 391 S/ A4 I5 A4 ]; U6 t8 G
3.3.1 成熟领域的绿地系统设计 396 z% {$ D! I1 @& h3 P' \
3.3.2 新兴领域的绿地系统设计 415 ^6 Y! ]5 P/ g9 l% h/ R/ y& ` _
3.3.3 现存系统的设计(棕地) 423 D% r) Z8 ]6 K2 M8 M
3.4 识别和选择设计概念 42- G8 m3 L% }6 D# D
3.4.1 识别设计概念 42
1 ^7 c* m) z( }1 _( |3.4.2 选择设计概念 43
% u S# M4 t4 S" q6 `3.5 结构生成 468 A! L' m M. t- Z/ L9 G( m
3.5.1 元素实例化 47
$ ~" g, w& W; I; w8 u5 }3 J, i/ {5 H3.5.2 划分职责和识别属性 47
" o! Q* i3 g, s1 o$ l6 p% R3.5.3 建立元素间的关系 48
1 i) t4 t i/ R. ^' \& T* U: k3.6 定义接口 48
2 F Y- s8 I0 d3.6.1 外部接口 48
. R' _& J" ~, ^$ T3.6.2 内部接口 48! W8 u, p a: A" y
3.7 在设计中创建概要文档 51; a( K! f+ I8 f! r# \/ B
3.7.1 记录视图的草图 51
- b) P3 S# h$ E& E3.7.2 记录设计决策 53+ z2 V& A* z2 T9 R
3.8 追踪设计进度 550 @2 P# P, c: }, _+ }3 N
3.8.1 使用架构待办事项清单 55, e5 }. x1 u- j9 @; X. ?" m
3.8.2 使用设计看板 55% z( e; W9 N# `' k$ \
3.9 小结 57' B- w" i: h' c& n1 j
3.10 扩展阅读 57, T' J8 ]0 F( u
第4章 案例研究:FCAPS系统 595 K+ ~: j7 J! S* {& x. o9 H
4.1 商用案例 59
2 f' T* k' w7 k- Y# X& @7 c0 ^4.2 系统需求 60 Z! }# n; a6 X+ E5 G E
4.2.1 用例模型 60
/ c* ~) P, W9 H4 m8 ^0 |* J, c4.2.2 质量属性场景 62
. `6 ]" x" u% {6 {# `4.2.3 约束条件 620 Q; Q- v$ Y+ @" S; [; ^! m- Q. R# t
4.2.4 架构关注点 62, e' a& b( D7 R+ K9 k' g
4.3 设计过程 63) ] ?5 d- `" W% G
4.3.1 ADD 步骤1:评审输入 63+ e( ]& `9 Q/ F% v
4.3.2 迭代1:建立一个完整的系统架构 63
* v% o2 e& L$ S- d% o6 V% \4.3.3 迭代2:识别支持基本功能的架构 70
. m$ i3 y8 N8 X0 t% {; x; w6 D4.3.4 迭代3:解决质量属性场景的驱动因子(质量属性-3) 77; G& \2 Q+ F+ O
4.4 小结 80+ C9 r% V1 @! W8 U
4.5 扩展阅读 81
0 d% w2 |& z2 d) @第5章 案例研究:大数据系统 827 O! X1 _. b9 Q5 f
5.1 商用案例 82
8 U" ]% q" y3 d0 \' \0 Z0 o5.2 系统需求 83. x/ w. Z" N+ n3 o
5.2.1 用例模型 83) b% K6 t0 _: H+ N3 @
5.2.2 质量属性场景 83
1 z3 |% {5 {" Q+ K/ Z5.2.3 约束条件 84 z X2 K; S3 Y$ p; S' k
5.2.4 架构关注点 84
2 q: g' G. o( O+ [1 |5.3 设计过程 84$ a) g8 W; C5 W
5.3.1 ADD方法的步骤1:评审输入 85
: A8 x6 Y. ?- F* U5 p3 j1 ]0 m5.3.2 迭代1:参考架构和系统整体结构 85
, z/ G9 t% R" m ?) {2 C5.3.3 迭代2:技术选择 91 P5 Y/ b$ g4 S
5.3.4 迭代3:数据流元素的细化 99* q1 W; m1 h/ s: j& F; }" F. J
5.3.5 迭代4:服务层的细化 104
8 n2 d' }+ f# `2 W) n5 j; q/ u5.4 小结 107; N7 Q5 R3 F& S3 {0 q, I3 ^
5.5 扩展阅读 107
! Q6 a1 P* P9 B* ?4 [第6章 案例研究:银行系统 109
; h! B. d8 e. D% N9 ~# |; ]. E9 R6.1 商用案例 109
1 O- l$ x1 r+ i# `/ g2 T6.1.1 用例模型 110- i* f0 Z4 \1 h2 h% i! M
6.1.2 质量属性场景 1114 m+ [/ J- M. u' X$ e
6.1.3 约束条件 111
" l; z# I, o" v# u5 z, B2 s6.1.4 架构关注点 111
4 ?0 ^5 \( }% |0 \6.2 现有的架构文档 112: J* a- Z) p: c+ y/ ?% N
6.2.1 模块视图 112
, N4 N: p+ D; }' @+ P) o. G6.2.2 分配视图 113
' K! f. Z- R0 F) ?+ x6.3 设计过程 1142 B* S& @6 x$ @3 @- t- c7 T
6.3.1 ADD方法的步骤1:评审输入 114 Y1 ?$ W+ a( Z2 T( m- R
6.3.2 迭代1:支持新的驱动因子 114' o: p. Q6 o. G
6.4 小结 118! n6 a- @+ Z; [( m4 x
6.5 扩展阅读 119) t; \# s4 N" T8 n7 Y* m7 X8 u
第7章 其他设计方法 1208 E5 J) P7 ?- P! R
7.1 一种软件架构设计的通用模型 120: L9 y X9 A4 m: P4 n
7.2 以架构为中心的设计方法 121
f+ l, {0 {4 ^! R: O7.3 RUP中的架构活动 123; Z: {5 E5 j. V2 D6 H& H/ R
7.4 软件架构设计的过程 124
; K6 b+ z5 [) U1 z+ A" B7.5 一种实现架构与设计的方法 126
8 [/ R7 P+ L! N3 N4 @+ |) V7.6 视点与视角方法 127
. }8 ~. ?# F8 k- b( |7.7 小结 129
+ r9 r$ R f P$ Q+ U. S7.8 扩展阅读 129
8 `% {7 g4 C! {! \4 G第8章 设计过程中的分析 131' i/ d* `5 A F7 ^# b
8.1 分析和设计 131
$ a$ C& Q; D& ]8.2 为何分析 133
+ E$ q" F/ s* V4 s0 `. E8.3 分析方法 134' g& S3 o$ D1 T" m5 Q; q5 M T3 z
8.4 基于策略的分析 135: F" ?& m6 ?) A* _% i! y4 I3 K
8.5 值得反思的问题 137+ K$ M3 _3 Z! R U. x" j
8.6 基于场景的设计评审 138% {/ ]. ^; ?% d$ a
8.7 架构描述语言 141; H8 l( c9 h' H1 @: Z+ x
8.8 小结 142! n- U. G9 }, n( z/ L; a2 c1 [
8.9 扩展阅读 142
" B% `6 y9 a2 j: E4 A1 b第9章 组织中的架构设计过程 144
9 N; z! t- J7 X( \/ O, N& I1 [1 x; K9.1 架构设计与开发生命周期 144" x& `$ Z0 \& L% C+ q
9.1.1 售前阶段的架构设计 145
8 X! N: J' e$ _# e" q9.1.2 开发运维阶段的架构设计 1461 b F' C1 P: T9 ?
9.2 组织方面的问题 150
% W. G, w7 E/ ^9.2.1 个人设计还是团队设计 150. q5 i0 I* r) |4 m- ]) w) v& I
9.2.2 在组织中应用一套设计概念目录 151; d: s# ], F9 G5 g3 {( o
9.3 小结 152- H/ F+ w! O) Y& j7 x k
9.4 扩展阅读 1526 b7 P8 I' F2 K5 o! a
第10章 结束语 154
$ c h7 `. B( ~# W$ f# Y) u10.1 方法的必要性 154
, ]! F# F0 f6 g$ Q. r* E10.2 下一步 155
8 X7 y" X9 A$ y3 v5 r) L10.3 扩展阅读 1569 s6 D( `: R2 `; U3 `$ b: g
( X3 p" f0 ^$ _5 R, j5 ~$ K$ q
百度网盘下载地址链接(百度云)检索地址:【地址回帖可见】
8 a& S" Y% K6 ?; b9 }# o+ s% I0 b& [
& k2 L: h( b, u' l
( u) a! S, C* W0 _+ t" R4 \3 `- |9 [; ~, x% e/ I: g
2 [: j$ O% E9 T& I" S8 S( b G
% l# s L' S) j& K% u# ~" l1 |* t! r- A; p9 F0 o! c% l
* l, {+ F) Y& Q3 v, i! M
|
|