|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《软件架构设计:实用方法及实践》
( A/ Q0 k- u4 S* [6 D# L8 o5 ~java电子书推荐理由:系统阐述软件架构设计实用方法及最佳实践,包含大量现实案例,本书介绍了架构的设计过程及设计方法:属性驱动设计(ADD)。书中通过介绍ADD的概念和应用实例,展示了如何执行架构设计,如何重新设计概念,可帮助读者从“入门到精通”掌握软件架构设计。
" N" ~9 o/ S/ O/ C" G作者:Humberto Cervantes,Rick Kazman
5 v) s6 S- v0 q/ m3 ^, g1 D出版社:机械工业出版社出版社- O( M7 ^6 Q. Z0 A7 N- q# \- r
出版时间:2017年08月
$ H) s6 G: [7 F3 Q' v% Q2 Q+ Z0 {
& z0 P, B4 G+ J* Z2 K4 _4 P2 _- o
java电子书目录:5 N! L- v% G6 ]7 [5 {' h7 s$ \
J9 A4 D, j6 d+ F
第1章 引言 1
% ?) _6 V: q, |9 K1.1 写作动机 1
5 h. N7 S4 n/ w% B1.2 软件架构 2
7 W! c3 H* X5 z( `" k8 E. f1.2.1 软件架构的重要性 2
6 _7 `- P# A) E) x7 _3 k* {! v' s1.2.2 生命周期活动 30 M% F0 z2 x. ]% {
1.3 架构师的角色 57 | o# p2 G0 R! m0 v$ h
1.4 ADD发展史 6# B, a( k: u& z# j/ B3 t& K
1.5 小结 76 ]: |6 k% S' s7 D$ h
1.6 扩展阅读 8
6 q+ w. D0 a$ T0 N! g2 r第2章 架构设计 9
# ^% Z7 n! y6 f1 R U: d7 I2.1 通用设计 9
! A% y$ ^" H9 R) h2.2 软件架构中的设计 10
$ J3 U2 \8 I3 r$ F2.2.1 架构设计 11! U# G. E# [' J) Q) F" {
2.2.2 元素交互设计 119 P' p; T2 x' {& T
2.2.3 元素内部设计 12( G* l5 j- J6 p: @, {: a M
2.3 为什么架构设计如此重要 13
) [4 n& x8 o/ n2.4 架构驱动因子 13
0 {- J- _# F% a" ~" H# d2.4.1 设计目的 14) F& e$ R& a2 R! v3 x4 @+ D
2.4.2 质量属性 15% E+ @, P3 x7 [
2.4.3 主要功能 19" L( _5 e/ x- V6 A0 {
2.4.4 架构关注点 20
9 \7 p% |# n6 q! P e3 c( Y2.4.5 约束条件 214 y% M" f, h4 C2 Q2 r( {
2.5 设计概念:用于创建结构的构建块 22# }1 P( t6 x5 p: K1 i
2.5.1 参考架构 22$ W9 q8 P) p# [; i9 O P& i
2.5.2 架构的设计模式 24
: L# b) j) t( \4 J1 \& |2.5.3 部署模式 25
' T' K. L( Q% A% I0 S& a2.5.4 策略 26
. b; K8 U8 k8 ~% U2.5.5 外部开发组件 27
0 w5 s% @" A; a& o6 b2.6 架构设计决策 30
3 R; H$ m3 V8 ~# E T2.7 小结 31
& W: D9 {% [& g2.8 扩展阅读 325 D5 y) c3 q7 r
第3章 架构设计过程 34
: k1 p& D8 W/ }" C3.1 原理性方法的必要性 342 T# `$ v L0 S- c7 H; E) k' G; ]
3.2 属性驱动设计 3.0 348 m) h9 v T q& r" j! I
3.2.1 步骤1:评审输入 35) k" _7 R r8 }0 o0 f" }9 g2 k5 B
3.2.2 步骤2:通过选择驱动因子建立迭代目标 36
5 F& D8 _3 D; E2 g3 _' B3.2.3 步骤3:选择一个或多个系统元素来细化 37
; T3 [1 F# \9 V. U3.2.4 步骤4:选择一个或多个设计概念以满足选中的驱动因子 37, T2 A9 n3 e1 q' v. G* i4 P
3.2.5 步骤5:实例化架构元素、分配职责和定义接口 37
; L' z# f# F7 z3.2.6 步骤6:草拟视图和记录设计决策 38
& j/ @. j# V# o* N6 `3.2.7 步骤7:分析当前设计、评审迭代目标、实现设计目的 38' o) v) A) X3 ^' ~
3.2.8 按需迭代 39! K+ w% m$ H: n; G
3.3 根据系统类型遵循设计路线图 39
: W: C" {) z: e# E0 p& G# d3.3.1 成熟领域的绿地系统设计 39
. Q$ E0 w4 {" ` Q3.3.2 新兴领域的绿地系统设计 41 k* C2 N) h1 q, {; ]
3.3.3 现存系统的设计(棕地) 42
$ i( c7 I# a) R! r) A. u3.4 识别和选择设计概念 42
; E8 |% j7 b3 Y- [4 v I+ x; m3.4.1 识别设计概念 42
5 R5 R1 P H. P3.4.2 选择设计概念 43
) N* B& I) b% W F3.5 结构生成 46
. | l ~# C5 u2 D3.5.1 元素实例化 47$ R) V& _+ A; P1 I5 {7 X! k6 `
3.5.2 划分职责和识别属性 47
; H' l/ T- D% o6 C h3.5.3 建立元素间的关系 48
5 `# X. a7 {' Z4 B0 O- G: B3.6 定义接口 48' u& b1 D5 f# N7 `
3.6.1 外部接口 48
. d. P0 N$ @3 t2 O3.6.2 内部接口 48* W, I3 ?/ m, R7 l
3.7 在设计中创建概要文档 51
3 F9 p$ B4 W1 F3.7.1 记录视图的草图 51
& y4 ]* F+ ~$ ^! t; x3.7.2 记录设计决策 53
1 w5 D( e$ \; o3.8 追踪设计进度 55
8 y t& i8 a0 }/ M% \+ h/ q3.8.1 使用架构待办事项清单 555 T; W: I4 q# H4 q5 K2 i& g
3.8.2 使用设计看板 556 ?/ F- o. s, r' b. C6 z
3.9 小结 57) V# S' j; t- I
3.10 扩展阅读 57
- E) [( v7 t/ T' C( x( @6 \! r第4章 案例研究:FCAPS系统 59) c! `! H- n; M
4.1 商用案例 59
/ l) R& W6 v5 ?8 I8 b, ^0 b0 W4.2 系统需求 60- I( T7 j o; {! F
4.2.1 用例模型 60
8 [+ @5 v d9 o* t4.2.2 质量属性场景 62 J" X* K" l! O6 Q* S5 f4 c
4.2.3 约束条件 62
5 k) N# g* R/ @. }9 N7 ^0 ^: A' u% g4 N4.2.4 架构关注点 62
. Q+ \6 u9 @0 V0 @% U, v, s; N+ g. v4.3 设计过程 63, `# v& u' o( u: Z8 n4 X
4.3.1 ADD 步骤1:评审输入 63
' U- K: C& D% m' c6 r% G" A4.3.2 迭代1:建立一个完整的系统架构 63
/ i: h: ]4 a4 G3 e4.3.3 迭代2:识别支持基本功能的架构 70
. f5 `& u" G6 Y! T4 g0 T o, ]0 D4.3.4 迭代3:解决质量属性场景的驱动因子(质量属性-3) 77
4 {" A: U, Y1 [! b5 z" {4.4 小结 80
4 [; Y) o! Z1 M; A4.5 扩展阅读 816 O9 m" u4 N. |
第5章 案例研究:大数据系统 82
' O. t( `5 Z5 Z0 J. `5.1 商用案例 82
3 \2 w$ E( r0 u' R* b5.2 系统需求 83
2 ?7 A( p' `' T8 v3 w/ ~5.2.1 用例模型 83# p4 @8 _! ^# h( R
5.2.2 质量属性场景 83/ t) m Q6 U) m" y6 l# i1 q
5.2.3 约束条件 84
& W8 @" r k, t- u6 T0 I6 z5.2.4 架构关注点 84; g" }" Y% k' \5 y6 C1 V
5.3 设计过程 84
- R! B5 u6 t' R5.3.1 ADD方法的步骤1:评审输入 850 `* e1 J5 {5 D. y
5.3.2 迭代1:参考架构和系统整体结构 85- n# s' p3 q5 |- H5 _
5.3.3 迭代2:技术选择 91
5 W5 l/ j( [) _( `1 j; C+ x5.3.4 迭代3:数据流元素的细化 99
+ {6 g9 `; ]! ^* H5 m5.3.5 迭代4:服务层的细化 1045 n9 H2 @& ?" R0 j0 a7 Q) K' Q
5.4 小结 1078 A k2 A# I# Q" f. z$ y3 a' \ P
5.5 扩展阅读 107* b1 A E, q5 k7 r1 m) C0 k
第6章 案例研究:银行系统 109
0 g3 f3 j F3 C2 l2 Q6.1 商用案例 109' P7 l" `; ~) U- g8 [" W
6.1.1 用例模型 110
1 V8 q% L( v: W6.1.2 质量属性场景 111. }& u2 E$ Z4 j( v
6.1.3 约束条件 111) y, x+ v" j9 y
6.1.4 架构关注点 111! P0 u6 A# w+ x& }! }7 K
6.2 现有的架构文档 112
. `. f9 F! j& S' a% w. Y6 H. P: D) j6.2.1 模块视图 1123 l: ^$ T% x! z* y. J- @3 \
6.2.2 分配视图 113
5 o. h1 j& {5 _# x+ R) x t' Z6.3 设计过程 114
4 n% k% b3 g. L( C* N9 Y; S2 o. R6.3.1 ADD方法的步骤1:评审输入 1145 H! g( c. R) W
6.3.2 迭代1:支持新的驱动因子 114
3 [6 l: |* g" Y- y+ K3 V5 `0 ^6.4 小结 118
7 q$ I5 R+ \- |5 }; N8 U/ l6.5 扩展阅读 119
9 Z5 _0 U" U' ~( y& a第7章 其他设计方法 120: c$ i$ r+ h6 V6 s, t
7.1 一种软件架构设计的通用模型 120
2 e) W9 N/ ~. N- q9 f7.2 以架构为中心的设计方法 1213 r+ H# `2 j, R7 B3 s! C
7.3 RUP中的架构活动 1235 \6 ]4 {2 w$ P& ^
7.4 软件架构设计的过程 1249 j) L+ f+ y' ]9 n# M' R O
7.5 一种实现架构与设计的方法 126
9 W, w5 s" f& E; M7.6 视点与视角方法 127
5 I) b+ B) p4 R+ [7.7 小结 129
, \ ~& q& j E+ z) Z7.8 扩展阅读 1293 e: Y+ V, x2 O4 L' C6 V
第8章 设计过程中的分析 131
5 _) U/ T3 `/ r5 _9 U# s7 T8.1 分析和设计 1310 M! X$ t; W( x1 }* X
8.2 为何分析 133
; R" B6 b+ E( u# Y1 T' @8.3 分析方法 134
4 P2 d, S9 ]! y$ D1 g8.4 基于策略的分析 135
, G' b9 L; u1 {4 C( b8.5 值得反思的问题 137
6 A, P' L. L3 p& ~" x8.6 基于场景的设计评审 138- U5 D1 T/ k9 A' D3 y" t; p
8.7 架构描述语言 141( ~, P) C2 U `( x* g' k: ~
8.8 小结 142
. h6 J. ]( V' s* _/ K1 B8 g8.9 扩展阅读 1429 W2 {8 _7 {# d" C4 u9 m
第9章 组织中的架构设计过程 144, o9 x# {# _. @, @6 F+ c1 ]
9.1 架构设计与开发生命周期 1445 d, z- {1 {4 j$ b5 q$ I2 c9 }" R9 {
9.1.1 售前阶段的架构设计 145
5 G+ q$ s! X8 N! ?* n0 M) i9.1.2 开发运维阶段的架构设计 146& `0 h$ W% a- q9 k
9.2 组织方面的问题 150
! N% s0 A+ v3 E9.2.1 个人设计还是团队设计 1508 v& g* F, H( [/ ^ D/ @
9.2.2 在组织中应用一套设计概念目录 151
% V# C' n. J8 Z1 H+ t; F9.3 小结 152' K3 |& k# `9 J$ p6 V g% z- r
9.4 扩展阅读 152
# S8 q5 T, i9 j5 b0 ]. m' n+ k第10章 结束语 154
# A/ Y# m, q4 a/ z! d$ o10.1 方法的必要性 154' Y3 _/ c; {2 K+ Q0 ?/ r' k, L
10.2 下一步 155- c$ b/ c% l0 i( B' |5 L+ C) J
10.3 扩展阅读 156! F: ^4 V; B y- v. K
: q- |( z: s N. o' s( w3 z. b百度网盘下载地址链接(百度云)检索地址:【地址回帖可见】, m. v3 C4 w/ u% Y) e
2 |7 S: Y. d2 [. y7 c$ {& Z1 h& C. v1 x( S" B3 I
9 {* x/ e( F* ^$ ~5 _, k, Z) o) h( G5 d# o* W8 ~7 C
w J! N4 l' S H6 g. ?: m
+ ]' k r" A, z& ~+ ]4 I4 m! L
0 K T, `: k: ?+ ^& p
6 ]/ O7 g( [) |# P( ^- x |
|