专题课程
【课程大纲】
第1天 |
1. 架构设计文档视图 (1)软件架构的定义 (2)架构师能力模型与能力培养 (3)基于SEI 9种架构评估的方法论 (4)源代码目录结构与设计文档的关系 (5)架构视图、架构文档与架构刘生 (6)动手实践:基于UML模型的文档视图 (7)动手实践:使用UML工具对现有系统进行反向工程 2.“业务战略与IT战略”相得益彰 (1)业务战略关注点{整合资源、创造价值、以满足顾客} (2)业务领先战略 (3)业务战略源于“业务研究与业务创新” (4)波特价值链模型与五力模型 (5)企业信息化总体战略思维(软、硬、应用、组织) (6)业务战略映射IT战略 (7)案例实践:如何分析与解读企业的业务战略 3. 业务架构规划与设计 (1)企业业务流程梳理与分析 (2)业务流程优化与再造(效率、质量、风险与成本) (3)业务流程组件化 (4)CBM模型-基于矩阵的方式组织“业务组件” (5)基于CBM模型的热区分析 (6)业务组件集成-SOA与CBM模型 (7)案例实践:基于TOC模型的BPR 4. 应用架构设计 (1)从业务流程中提取业务领域模型 (2)业务领域模型与应用划分 (3)业务组件与业务应用的映射 (4)基于业务流程的业务应用集成 (5)遗留业务应用系统的集成策略 (6)业务变化对应用体系的影响 (7)案例实践:应用集成策略实践 |
第2天 |
5. 需求分析与系统分析 (1)需求分析的层次:理解需求、分析需求与挖掘需求 (2)满足上下游的需求:产品需求与开发需求 (3)已知功能需求分析的方法:IDEF0、Use Case、ATDD与BDD (4)非功能性需求分析的方法:QFD与质量效用树 (5)需求分析的可视化方法:UML需求建模 (6)如何全面、完整、无二义性的描述需求? (7)站在系统工程视角的需求分析 (8)业务功能结构抽象分析 (9)动手实践:业务功能需求深度分析动手实践,评选典型实践成果 (10)案例分析:开源软件ERP5业务抽象设计 6. 架构决策与选型 (1)透视技术平台、框架与类库的内涵 (2)评估技术平台、框架与类库的方法 (3)产品与产品线架构决策的差异性 (4)以往架构决策经验的复用 (5)基于骨架代码的架构决策 (6)基于Delphi法的架构决策 (7)基于SEI的9种架构评估方法论 (8)案例研究:丰田的DFSS-Design For Six Sigma (9)动手实践:移动应用的架构方案决策实践,评选典型实践成果 7. 细化架构与切割 (1)技术切割范式:针对所有业务功能进行技术切割方法论 (2)技术元素的分层组织 (3)技术元素的分包组织 (4)技术元素的相似性与重叠性分析 (5)技术元素的变化性设计 (6)技术元素的性能、可靠、稳定与安全设计 (7)技术元素并行开发与开发管理组织 (8)技术元素难度复杂度与开发者能力关系 (9)动手实践:面向对象与面向方面的技术切割实践,评选典型实践成果 8. 接口设计与解耦 (1)接口设计的基本原则 (2)接口的变化性与稳定性 (3)定义技术元素间相互调用的接口 (4)定义系统外部访问集成的接口 (5)定义框架管理的接口 (6)注入变化观察技术元素的波及面-耦合性分析 (7)技术元素职责单一性与松耦合 (8)案例分析:google的MapReduce的接口设计 (9)动手实践:类库接口设计实践,评选典型实践成果 |
第3天 |
9. 数据库结构设计与大数据 (1)数据库设计的基本原则:适度使用范式原则 (2)实现数据库结构的弹性设计8种方案 (3)大数据设计:权衡SQL与NoSQL (4)数据切割:分库、分区与分布 (5)数据存储文件系统的弹性设计:MySQL与淘宝TFS (6)数据性能设计方案:对比MemCached、OceanBase与Spark (7)数据中的知识与决策 (8)动手实践:分组实现数据库弹性设计,评选典型实践成果 10. 公共组件设计 (1)公共组件结构切割 (2)公共组件接口设计 (3)公共组件的弹性设计 (4)公共组件与功能组件的动态耦合设计 (5)动手实践:Cache组件设计 (6)动手实践:现有系统反向工程的公共组件合理性分析 11. 框架平台设计 (1)UI框架设计 (2)功能逻辑组件集成管理框架设计 (3)数据访问框架设计 (4)数据存储框架设计 (5)案例分析:HADOOP框架剖析 (6)动手实践:现有系统反向工程的自定义框架的合理性分析
12. 非功能性设计 (1)各种质量属性设计的战术策略 (2)掌控“相互冲突的质量属性”设计的平衡点 (3)软件变化分析与预测 (4)软件变化设计策略 (5)基于设计模式的变化设计 (6)基于key-value的变化设计 (7)基于逻辑判断的变化设计 (8)高可靠性设计 (9)案例分析:SAP自我维护设计策略分析 (10)动手实践:现有系统反向工程的质量设计的合理性分析 |
第4天 |
13. 部署运行维护设计 (1)规划系统开发的配置库结构 (2)规划系统的编译方案 (3)规划系统源代码的版本方案 (4)规划系统物理文件的安装方案 (5)规划系统中各个技术元素部署方案 (6)系统集成构建方案 (7)注入敏捷思想-持续集成构建 (8)案例分析:微软的每日构建 (9)标注软件结构中的“运维点” (10)制定“运维点”的运行维护策略 (11)软件结构中内置免疫系统 (12)动手实践:产品源代码结构、编译计划、版本计划与部署方案,评选典型实践成果 14. 架构关键点与工程 (1)架构设计与开发效率:简化开发 (2)架构设计指导详细设计与代码编写 (3)注入敏捷的开发实践方法:TDD (4)融合ITIL与DevOps的架构设计 (5)软件架构与人力组织结构映射 (6)基于“软件工厂”的开发模式 (7)建立企业级知识库 (8)软件动态运行维护规划 (9)动手实践:现有系统反向工程的运维设计的合理性分析 15. 架构模式与设计模式 (1)模式的场景、角色、职责 (2)模式应用误区与风险 (3)设计重构中模式应用 (4)把握模式的使用尺度-过度使用模式与适度使用模式 16. 软件设计模式的应用(Design Patterns) (1)建筑模式与设计模式 (2)过度使用设计模式的问题 (3)设计模式如何适应变化和封装 (4)GRASP设计原则 (5)关于功能与逻辑的分离 (6)设计模式的组合应用方式 (7)Framework设计中设计模式 (8)结合案例进行分析,应用设计模式之前和应用之后的对比 (9)动手实践:学员依据案例进行设计模式实践 |
- 上一篇:像拍电影一样的需求分析
- 下一篇:软件架构设计