SDE137:软件详细设计最佳实践

开班计划时间:18 小时
  • 具体开课时间请咨询课程顾问
预约试听 马上咨询
课程介绍
适用对象:软件设计人员与开发人员
学习收获:掌握软件架构设计的策略与方法,能够使用工具完成软件架构设计 、学会撰写软件架构文档 、理解大型复杂项目软件架构设计过程
详细大纲
1 理解需求与概要设计
1.1 全局审视所有的业务逻辑功能 --发现关联性、相似性、重叠性、变化性、矛盾性、关键性
1.2 从哪些角度理解业务逻辑-内四外八12角度理解
1.3 理解业务逻辑被隐藏的非功能性逻辑
1.4 如何快速理解概要设计的内涵
1.5 概要设计指导详细设计的技术切割的方法
1.6 实践案例:从技术视角分析指定案例的业务逻辑
2 详细设计概述
2.1 什么是好的软件详细设计和衡量的手段
2.2 过度详细设计(Over-engineering)问题和注意事项
2.3 设计不足(Under-engineering)问题和注意事项
2.4 讨论:现实项目中,随需求的变化,曾自以为豪的设计,会逐渐变烂,变成纠缠不清的代码浆糊.
2.5 详细设计的角度-设计视图(Design View)
2.6 详细设计的最佳实践路线图
2.7 不使用UML的详细设计实践策略
2.8 讨论:源代码就是设计,使用逆向工程获得详细设计,这样做的问题是什么?
3 结构切分的最佳实践
3.1 描述功能从前到后实现的技术路径
3.2 技术视线路径的关键对象
3.3 定义对象行为
3.4 对象行为的分配与职责分析
3.5 大对象切割成效对象-职责清晰
3.6 数据对象的值域变化-状态描述
4 结构弹性的设计思路
4.1 对象调用解耦-引入第三个对象
4.2 改变对象的关联类型-依赖解耦
4.3 模板、抽象类、泛型的设计
4.4 Key-Value思维与Script思维
4.5 软件组成元素的替换法-零部件物理更换
4.6 软件结构变化散落分析-影响的波及面
4.7 对象结构原子化-API函数式编程
4.8 案例研究:此时无声胜有声-软件可以做到无逻辑吗?
5 结构可靠的设计思路
5.1 理解可靠性概念的内涵
5.2 可靠性的功能分解-非功能性转化为功能性
5.3 隐喻方法-设计可靠性分解的功能
5.4 方案优选-从多种设计方案中选择最佳方案
5.5 归纳总结可靠性设计中16种战术
5.6 案例实践:独立完成性能的分解与设计
6 演化式设计
6.1 案例研究:1903年莱特兄弟的第一架飞机到现代飞机的启示
6.2 反思性设计(Reflective Design) -重构带来了一种新的构设计方法
6.3 分析已有代码的设计并改善它-代码嗅觉(code smells)
6.4 代码不完善的实现,进化你的代码
6.5 单元测试代码的不得完善-基于测试代码完成详细设计TDD
6.6 案例:根据真实案例的源代码,进行重构合理的设计
7 复用设计
7.1 分析发现相似的设计结构,提取并转化为设计模板
7.2 设计模板的参数化与角色化
7.3 描述设计模板使用的场景
7.4 管理设计模板的策略
7.5 对比设计模式与设计模板
7.6 案例:根据真实案例的设计结构,发现设计模板
8 软件通用机制的设计与实现
8.1 异常的机制设计与实现
8.2 系统的配置管理机制的设计与实现
8.3 系统的Cache缓存机制的设计与实现
8.4 异步消息和通知机制的设计与实现
8.5 认证授权以及安全/加解密的机制设计与实现
8.6 事务管理机制的设计与实现
8.7 定时触发的机制设计与实现
8.8 后台批处理机制设计与实现
8.9 校验机制设计与实现
8.10 通信机制设计与实现
9 框架(framework)设计
9.1 案例分析:Google云计算的框架思维
9.2 框架vs.类库的不同
9.3 从现有设计结构提取框架结构
9.4 框架结构的设计与使用
9.5 案例分析:Salesforce.com的Force.com API
10 详细设计文档撰写
10.1 依据详细设计视图结构定义详细设计的文档大纲
10.2 详细设计结果的文字表述技巧
10.3 将难于理解的文字描述转化为图形表达
10.4 从阅读者的视角撰写详细设计文档
10.5 使用大纲工具撰写详细设计文档
10.6 设计文档的评审与基线
10.7 设计文档的版本管理
10.8 设计文档的变更控制略
课程评价

课程评价({{EvaluationTotal}})

课程满意度

评价

您还没有给课程评分哦

满意度

    追加评价:

课程咨询
内容:

您还没有填写内容!

暂无问答,赶紧去提问吧
{{item.AnswerState==1?"已解决":"未解决"}}
{{item.Content}}
{{item.StudentAskTime}}
{{itemanswer.UserName}}
{{itemanswer.Content}}
{{itemanswer.StudentAskTime}}
同类课程推荐 more
嘉为大讲堂 more
原创文章 more