课程设计
本课程模拟再现真实软件设计过程中的各种场景和可能问题,有针对性地对从需求、概要设计等过程中的软件建模进行实战训练,阐述设计思维和模式,使学员达到:
熟悉需求开发和管理的相关理论和最佳实践;
能够根据项目类型和特点,正确的选择、阅读、使用各种需求模型;
掌握软件设计基本原理、设计流程和国内外主流方法论;
熟悉架构设计的流程、模型和方法,学会从思维的高度领略架构之美;
掌握“高并发、高性能、高安全”分布式和微服务实战解决方案应用要点;
了解前沿技术的特点和趋势,并能同步进化架构设计;等等……
整个课程由几个实际案例贯串始终,通过案例阐述在实际项目中的架构模式和方法,提升学员的实际应用能力,并在模拟公司、分组讨论、团队竞赛中增强学员的团队意识和学习能力。
课程特点
提供架构知识一览图,使学员全面了解中外主流架构模型、方法和业内最佳实践;
通过全过程案例讲解,使学员全面经历架构设计各阶段的常见痛点和难点,在边做边学中增强其解决实际问题的能力;
对学员提出的实际项目进行咨询指导,帮助单位完善平台架构,定制符合自己特点的架构设计方法和规范;
为学员课后答疑和持续学习提供网站资源,帮助其掌握硅谷推崇的自学方法,提升其自学的意愿和能力。
课程对象
产品经理;
希望了解设计过程提升需求准确性的需求人员;
中高级程序员、系统分析员、构架设计师、产品市场技术人员;
希望加强软件架构理论和实践能力的软件开发人员;
需要了解软件设计全过程的项目经理。
课程大纲
模块 | 内容 | 案例实践与练习 |
综述从“做项目” 向“做产品” 转型要点
| 通过V公司从“做项目”向“做产品”转型过程中遇到的问题及应对措施(真实案例),介绍向产品转型过程中的五大转型要点: 1. 构建产品市场管理和需求管理框架 2. 明确公司资源在产品组合上的分配原则和方法 3. 形成公共产品平台和技术规划体系 4. 选择、建立和优化两类产品的管理流程 5. 建立与产品匹配的产品管理组织结构 架构是其中比较关键的一个要点。 | 客户问题诊断与研讨: 近年来,很多企业的To B/To G项目都遇到了以下问题: 1. 需求方面:同一类项目,不同的客户会提出大量五花八门的定制化需求,定制开发成本高; 2. 开发方面:随着各类定制版本的增多,项目代码迅速膨胀,代码混乱,越来越难维护; 3. 管理方面:销售只管卖,不考虑成本;研发只管开发,不考虑用户;研发和销售脱节; 4. 产品方面:产品缺乏规划,只顾满足用户维护性需求,没有资源和精力考虑产品长远发展; |
第一部分
从需求到设计 实操演练
| 1. 五维三级需求法应用要点和评审方法 2. 业务级需求评审与业务建模 3. 软件级需求评审与功能建模 4. 非功能需求对架构的影响 5. 用户故事地图——快速需求验证 6. Minimal Viable Product(最小可用产品) 7. 质量属性描述与Planguage法表示 8. 架构关注点:关键功能、质量场景、约束条件 | 案例练习:改变传统以功能实现和新技术为驱动的策略,从关键功能、质量属性场景、约束条件等方面选择架构关注点。 沙盘演练实战: Ø 《用户需求分析说明书》评审 Ø 《需求规格说明书》评审 Ø 从架构角度(关键功能、质量属性场景、约束条件)评估软件需求文档 |
第二部分 架构设计思想与原理
| 1. 什么是架构设计?企业架构、软件架构、系统架构、业务架构、数据架构,等等,这些架构的概念层出不穷,到底有什么区别? 2. 如何根据不同的软件过程(瀑布、敏捷;新建、重构),选择不同的架构模式; 3. 软件架构设计流程规范与应用实践要点 4. 架构设计方法与常见误区 5. 三类架构(企业架构、大型系统、中小型系统)设计的方法、产物要点与最佳实践 6. 架构师的主要职责和发展路径 7. 软件架构文档结构。通过多个项目,分析不同类型系统架构文档包含的内容差异。 | 案例练习:6~8人一组成立项目小组,分别扮演项目经理、需求师、架构师、程序员、测试员等多个角色,体会架构师与各个角色的交互要点。
案例剖析与实战: 软件架构视图案例剖析与实战:逻辑视图、开发视图、部署视图、运行视图、场景视图,数据视图 ,实现视图 如何绘制软件架构视图 ,以及UML建模工具在架构视图的应用 |
第三部分 概要设计 案例剖析与实战演练
| 1. 逻辑架构视图设计边干边学 Ø 大型软件系统的划分子系统原则 Ø 子系统功能模块的分解 2. 物理架构视图设计边干边学 3. 运行架构视图设计边干边学 4. 数据视图设计边干边学 5. 非功能需求对架构的影响 6. 架构设计的文档编写与ATAM评审法 | 概要设计文档编写与实践研讨: Ø 软件系统边界和外部系统接口如何定义 Ø 子系统间的通信接口如何设计 Ø 如何应对系统内部紧耦合、高内聚 Ø 软件架构各层的架构策略(针对企业应用分层,每层的架构策略) Ø 数据架构(数据模型/数据分布/数据存取,以及核心数据流) |
第四部分 其他各类系统架构设计案例剖析
| 1. 电商平台架构设计变迁与性能调优思路案例 2. 微服务架构设计模型、流程与方法 3. 数据、服务中台架构设计案例 4. 公共平台框架(从项目向产品转型)架构设计 5. Docker、Android、REST架构剖析 6.车联网通讯系统架构要点 7.手机APP应用框架剖析与启示 案例小结与架构模式思维 | 实战演练: Ø 框架的开发过程和开发技术(通用点vs.扩展点) Ø 软件架构通用机制的分析(如何处理基础设施扩展和具体有什么方法做基础设施扩展, 掌握如何分离这些基础设施用例) Ø 学员单位框架设计分析与咨询
|