【文件属性】:
文件名称:高级系统架构师培训教程
文件大小:1.94MB
文件格式:PDF
更新时间:2016-10-01 05:36:26
系统架构师 教程
目录
前言 ............... - 6 -
第一章 现代软件开发过程及架构策略 ......... - 7 -
1.1 软件架构设计师的的知识体系 ................ - 7 -
一、软件架构的定义与问题 ............. - 7 -
二、在信息技术战略规划(ITSP)中的软件架构 ............. - 8 -
1.2 从线性模型到迭代模型 ............. - 9 -
一、经典软件开发过程模型 .................... - 10 -
二、经典项目过程导致失败的原因 .............. - 10 -
三、软件开发增量模型的提出 ................... - 12 -
1.3 大型项目敏捷模型中的架构设计 ............ - 13 -
一、敏捷开发的价值观 ................ - 14 -
二、项目的敏捷开发方法 ............ - 14 -
三、在大型敏捷项目多维度扩展下的架构 ................. - 17 -
1.4 选择合适的软件工程策略 .................. - 18 -
一、软件工程策略的分类 ............ - 18 -
二、利用风险分析选择合适的工程项目策略 ................ - 21 -
小结: .................... - 22 -
第二章 从系统工程的角度构建架构 .......... - 23 -
2.1 前景文档与设计方向 .............. - 23 -
2.2 架构层面的用例方法 ............. - 25 -
一、用例的完整概念 ................. - 25 -
二、用例是规范行为的契约 .................... - 26 -
三、用例的目标层次 ................. - 29 -
2.3 架构层面的需求分析 .............. - 31 -
一、业务用例的分析 ................. - 31 -
二、产品边界的确定 ................. - 33 -
三、业务用例与产品用例 ............ - 33 -
2.4 从问题域到用例模型 .............. - 34 -
一、产品问题域与概念 ................ - 34 -
二、产品需求分析 .................. - 35 -
三、架构层次的用例文档编写 ................... - 37 -
2.5 从系统工程的角度分析与设计架构 ........... - 40 -
一、应用系统工程帮助分析问题 ............... - 40 -
二、子系统、框架与软件架构 ................... - 40 -
三、系统工程中的需求分配 .................... - 42 -
四、组织复杂软硬件系统的需求 ............... - 43 -
2.6 利用规模的估计修正子系统划分 ............ - 46 -
一、规模的估计 ...................... - 46 -
二、持续时间的估计 ................. - 48 -
2.7 迭代的建立架构基线 .............. - 48 -
一、成功的软件架构设计 ............ - 48 -
二、建立弹性软件架构 ................ - 52 -
三、建立架构基线的步骤 ............ - 53 -
四、从质量属性及其应对策略的视角优化架构 ............ - 55 -
五、从模块划分的视角优化架构 ............... - 57 -
六、从共享分层结构的视角优化架构 ............. - 58 -
七、从软件复用与构件化的视角优化架构 ................. - 61 -
2.9 软件架构设计的流程 .............. - 63 -
一、业务架构概念 .................. - 63 -
二、产品架构概念 .................. - 64 -
三、建立稳定的架构基线 ............ - 64 -
四、子系统架构的设计与实现 ................... - 65 -
五、构件与实现单元的设计 .................... - 66 -
小结: .................... - 66 -
第三章 质量属性对架构策略的影响 .......... - 67 -
3.1 质量度量模型与质量属性场景 ................ - 67 -
一、三层次软件质量度量模型 ................... - 67 -
二、软件架构质量属性的场景 ................... - 70 -
3.2 应对质量属性的架构设计过程 ................ - 71 -
一、以核心功能为主进行架构设计 .............. - 71 -
二、以质量属性为依据进行重构和优化 ......... - 72 -
三、增量式的完善架构设计 .................... - 72 -
四、以测试驱动架构设计 ............ - 73 -
3.3 可靠性质量解决方案 .............. - 73 -
一、可靠性质量属性场景 ............ - 74 -
二、健康监测 ....................... - 75 -
三、错误恢复 ....................... - 75 -
四、错误预防 ....................... - 78 -
3.4 基于高可靠性的架构设计 .................. - 78 -
一、进程间提升可靠性的方法 ................... - 78 -
二、保证可靠性的分层结构 .................... - 79 -
3.5 可维护性解决方案 ............... - 80 -
一、可维护性质量属性场景 .................... - 80 -
二、局部化修改 ...................... - 81 -
三、防止连锁反应 .................. - 81 -
四、推迟绑定时间 .................. - 83 -
3.6 基于高可集成性的架构设计 ................. - 84 -
一、问题的陈述 ...................... - 84 -
二、架构解决方案 .................. - 85 -
三、结构化模型的架构模式 .................... - 86 -
四、子系统管理部分的模块 .................... - 86 -
五、子系统应用模块 ................. - 87 -
六、系统设计中需要关注的问题 ............... - 88 -
3.7 基于质量属性的优化和重构 ................. - 89 -
一、软件重构技术的本质 ............ - 89 -
二、重构模式 ....................... - 91 -
3.8 软件架构的恢复 ................... - 96 -
一、架构恢复层面的重构技术 ................... - 96 -
二、反向工程和正向工程 ............ - 97 -
三、架构和设计恢复 ................. - 98 -
四、架构恢复阶段的设计重构 ................. - 103 -
3.9 架构评审与决策 ............... - 104 -
一、ATAM的参与人员 .............. - 104 -
二、ATAM的结果 ................... - 105 -
三、ATAM的阶段 ................... - 105 -
3.10 关于架构的重要结论 ............. - 108 -
第四章 软件架构的模型驱动与演化 ......... - 109 -
4.1 产品用例的细化分析 ............. - 109 -
一、从系统的角度研究事件及行为 ............ - 109 -
二、子事件流 ..................... - 111 -
三、用例结构化及其文档描述 ................. - 111 -
四、包含(imclude) ................. - 112 -
五、扩展(extension) ............... - 113 -
六、用例的泛化关系及场景描述 ................ - 114 -
4.2 领域模型的建立 ................. - 115 -
一、领域模型的初步建立 ............. - 116 -
二、领域模型的行为和状态 .................. - 117 -
4.3 概念性架构设计及模型 .................... - 118 -
一、概念建模: ....................... - 119 -
二、概念建模的基础案例 ............. - 120 -
三、概念类的识别 ................... - 121 -
四、概念模型的属性 ............... - 123 -
五、概念模型的关联 ............... - 123 -
六、概念模型的泛化建模 ............. - 124 -
4.4 行为模型与GRASP设计模式 ............. - 126 -
一、根据职责设计对象 .............. - 126 -
二、职责和交互图 ................... - 127 -
三、信息专家模式 ................... - 127 -
四、创建者模式 .................... - 129 -
五、低耦合模式 .................... - 129 -
六、高内聚模式 .................... - 131 -
八、产品行为问题的归纳总结 ................. - 137 -
4.5 设计模型和实现模型 ............ - 138 -
一、从概念模型到设计模型 .................. - 138 -
二、用例模型横切于模型 ............. - 138 -
4.6 关注点的分散、缠绕与合并 ............... - 141 -
一、使关注点相互分离 .............. - 141 -
二、通过叠加用例切片来构建系统 ............ - 142 -
三、合并类的扩展 ................... - 143 -
4.7 从产品模型到测试模型 .................... - 145 -
一、测试用例的概念 ............... - 146 -
二、从用例得到测试用例 ............. - 146 -
三、管理测试覆盖 ................... - 149 -
4.8 通过优先级评价发现设计重点 .............. - 149 -
一、确定能力的价值 ............... - 150 -
二、确定合意性优先级 .............. - 151 -
4.9 设计文档编写的若干建议 ................... - 153 -
一、为什么要书写文档 .............. - 153 -
二、设计文档编写的建议 ............. - 154 -
第五章 软件复用与框架技术 ............ - 156 -
5.1 利用模式重构问题域与架构 ................. - 156 -
一、对功能分解的再讨论 ............. - 156 -
二、利用模式解决划分中的困难 ................ - 156 -
三、模式的合成与分解 .............. - 157 -
四、发现需求的变化规律 ............. - 157 -
5.2 需求模式 ....................... - 158 -
一、通过业务事件发现模式 .................. - 158 -
一、事件响应上下文 ............... - 159 -
二、事件响应的处理 ............... - 159 -
三、特定领域的模式 ............... - 160 -
四、跨领域的模式 ................... - 161 -
五、设计模式 ..................... - 162 -
六、代码重构的问题与解决方案 ................ - 162 -
七、封装变化与面向接口编程 ................. - 164 -
5.3 处理类或者接口的变化 .................... - 164 -
一、外观模式(Facade) .............. - 164 -
二、适配器模式(Adapter) .................... - 165 -
5.4 封装业务单元的变化 ............ - 167 -
一、模板方法(Template Method) ............ - 167 -
二、简单工厂模式(Simpleness Factory) .............. - 170 -
三、桥接模式(Bridge) .............. - 172 -
四、装饰器模式(Decorator) ................. - 174 -
5.5 利用观察者模式处理业务单元的变化 ............... - 176 -
5.6 利用策略与工厂模式实现通用的框架 ............... - 178 -
一、应用策略模式提升层的通用性 ............ - 178 -
二、利用反射实现通用框架 .................. - 179 -
5.7 代理模式的应用 ............... - 184 -
一、代理模式简述 ................... - 184 -
二、在团队并行开发中使用代理模式 ........... - 185 -
5.8 树状结构和链形结构的对象组织 ............. - 191 -
一、树状结构:组合模式 ............. - 191 -
二、链形结构:职责链模式 .................. - 195 -
5.9 基于产品线的架构设计 .................... - 197 -
一、组织产品线的需求 .............. - 198 -
二、确定范围 ..................... - 200 -
三、确定变化点 .................... - 200 -
三、支持变化点 .................... - 200 -
5.10 产品线架构的案例 .............. - 200 -
一、开发产品线的动因 .............. - 201 -
二、组织结构的变更 ............... - 201 -
三、架构解决方案 ................... - 202 -
四、产品线架构的应用 .............. - 204 -
五、产品线架构的障碍 .............. - 205 -
第六章 业务流程敏捷性与面向服务的架构 ...... - 207 -
6.1 面向服务的架构的本质 .................... - 207 -
一、业务流程的敏捷性需求带来的挑战 .......... - 207 -
二、SOA一些概念的澄清 ............ - 208 -
6.2 面向服务的架构所牵涉到的问题 ............. - 214 -
一、面向服务的企业 ............... - 214 -
二、面向服务的开发 ............... - 215 -
三、SOA的服务抽象 ................. - 216 -
四、解读SOAP和WSDL ............. - 217 -
五、面向服务的架构 ............... - 224 -
6.3 SOA与业务流程管理 ............ - 227 -
一、业务流程管理的基本概念 ................. - 227 -
二、业务流程管理系统 .............. - 228 -
三、组合BPM、SOA与Web服务 ........ ........ - 228 -
四、编制与编排规范 ............... - 235 -
6.4 SOA的业务效益与构建 .................... - 244 -
一、SOA的业务效益 ................. - 244 -
二、如何达成SOA .................. - 245 -
第七章 软件架构设计的其它有关问题 ....... - 249 -
7.1 软件架构挖掘 ................... - 249 -
一、架构挖掘过程 ................... - 249 -
二、架构挖掘的方法学问题 .................. - 249 -
三、职责驱动的开发 ............... - 251 -
四、架构的可追踪性 ............... - 251 -
7.2 进行多维度小组的项目规划 ............... - 251 -
一、为估计建立共同基准 ............. - 252 -
二、尽早给用户描述添加细节 ................. - 252 -
三、进行前瞻规划 ................... - 253 -
四、在计划中加入馈送缓冲区 ................. - 253 -
7.3 改进的软件经济学 .............. - 254 -
7.4 时代呼唤优秀的软件架构师 ............... - 256 -
网友评论
- 好像打不开呢
- 很好,谢谢分享
- 从中发现自己不会的不知道的东西好多啊,努力学习中
- 感谢分享。
- 很基础,偏理论, 有点实践就好了
- 做程序员这么久,迷茫了好长一段时间。 总算知道自己的奋斗方向。
- 还未阅读,相信不错
- 不错的文档,支持
- 不错的资料,正在猛学中
- 太好了,最近想学习架构师,看后启发很大
- 感谢分享,努力学习中,目前觉得非常有用!
- 很好,有参考价值
- 电子扫描版,还不错
- 很基础的,,偏于理论,,,建议lz分数降低!!!
- 非常不错的文件,感谢分享
- 不错,很值得学习。
- 太好了,最近想学习架构师,看后启发很大!
- 理论性很强,谢谢。
- 不错的资料,正在猛学中
- 很不错,值得拥有
- 很不错,值得拥有
- 好书,学习看看
- 好东西,可以参考学一学哈
- 很基础的东东,和软考里面很多东西差不多
- 深入浅出,很好,中科院教程,谢谢分享。