课程体系 > 软件详细设计专题 > 软件详细设计

软件详细设计

【培训天数】 4 天
【培训目标】 软件详细设计细化了高层的体系结构设计,将软件结构中的主要部件划分为能独立编
码、编译和测试的软件单元,并进行软件单元的设计,是一个软件项目成功的关键保证。本课程采用
单独案例贯穿方式完成实践,让学员体验软件详细设计的完整过程,掌握软件详细设计的技术细节,
课程模拟不断的需求变化,使学员感悟可扩展性设计的快乐;不断调整案例分布状况以及访问规模变
化,使学员感悟性能设计的艰辛。
价格: 0.00

【课程内容】

软件详细设计

时间 授课内容

第一天

内容一:软件详细设计概述

1. 分析开发人员缺乏对设计的深入认识,无法将需求有效地转换为设计

2. 软件详细设计的相关角色和职责

3. 软件详细设计的流程(可操作性设计步骤)

4. 软件详细设计的交付工件和相关规范

5. 多人/多团队协作详细设计如何协作?

6. 分析开发人员设计能力不足,无法独立承担模块的开发设计任务

7. 过度详细设计(Over-engineering)问题和注意事项,

8. 设计不足(Under-engineering)问题和注意事项

9. 结合多个案例进行分析, 根据项目的不同类型,进行选择合适团队的详细设计的

方式/过程/目标以及相关交付件

内容二:什么是好的设计

什么是优秀的软件详细设计和衡量的手段

可扩展性(Extensibility)容易添加新的功能. 结合案例,通过那些手段如何实现该目标

灵活性(Flexibility)代码修改平稳地发生. 结合案例,通过那些手段如何实现该目标

可插入性(Pluggability)容易将一个类抽出去,同时将另一个有同样接口的类加入进来.结合

案例,通过那些手段如何实现该目标

分析世界级大师他们的项目,如何做的详细设计,给我们哪些启示,我们可以学习到什么

分析我们在项目之中是那些原因导致了没有实现这些目标.

内容三:软件设计原则

设计基本原则

发现和封装变化的原则

面向对象的基本原则(OCP/SRP/ DIP 等基本设计原则)

通用职责原则(GRASP)

共性和可变性分析原理

根据共性性分析,进行行为职责或者数据的抽象

根据可变性分析,进行职责的结构分析和实现

结合多个案例项目进行分析,怎样发现和封装变化,如何通过具体的手段来进行适应这些变化

内容四:L UML  建模技术在详细设计之中的应用

1. UML 建模语言概述

2. UML 在详细设计阶段的应用方式(4 种方式)

3. UML 活动图的应用

4. UML 状态图的应用

5. UML 类图和顺序图,在详细设计中,如何协作进行职责分配

6. UML 组件图的应用

7. UML 和逆向工程

8. UML 图的是否保留和废弃

9. 结合多个案例项目进行分析,如何正确应用 UML 建模,以避免过度建模以

10. 及怎样保留 UML 建模成果和代码的同步问题

第二天

内容一:软件设计模式的应用

1. 设计模式概述

2. 设计模式的本质论

3. 设计模式如何适应变化和封装

4. 设计模式在高层(组件级)和底层设计(类和对象级)之中的应用

5. 解决开发人员只停留在对设计模式的理论认识上,无法将设计模式思想有效地应用在软

件设计过程中

6. 结合项目实例,分析设计模式在软件详细设计时期的实际应用

7. 结合案例进行分析, 应用设计模式之前和应用之后的对比, 从中发现这些

内容二:应用框架( Application framework )设计

1. 应用框架概述

2. 框架 vs.类库的不同

3. 在软件详细设计时如何应用框架和设计新的框架

4. 一个经典框架的设计分析

5. 典型案例分析:结合多个项目实例,在实际项目中如何进行应用和开发框架

内容三:案例异常处理框架设计

1. 系统的异常处理策略

2. 设计一个通用异常处理子系统

3. 分析如何应用设计模式在该案例

4. 分析通过应用设计模式,带来了哪些好处(表现在软件的灵活性)

5. 分析如何转换为 Framework

6. 典型案例分析:该框架已经在多个大型项目之中应用

内容四:某电信项目案例的详细设计分析

1. 项目背景

2. 项目的详细设计

3. 分析成功和失败的地方

内容五:某社保项目案例的详细设计分析

1. 项目背景

2. 项目的详细设计

3. 分析成功和失败的地方

第三天

内容一:拙劣设计的坏症状和重构技术

1. 拙劣设计概述

2. 拙劣设计常见症状

3. 重构概述以及常见的手段

4. 重构到设计模式

5. 在详细设计之中,如何对发现问题的设计进行重构

6. 案例分析, 根据课程介绍的坏症状,进行重构合理的设计

内容二:案例某电力项目系统

1. 介绍项目需求情况,进行设计

2. 展示需求变更对设计的影响

3. 通过重构逐步实现设计的可维护, 可重用

4. 学习如何发现设计拙劣症状

5. 学习如何通过重构的手段进行改善

内容三:软件详细设计的分析通用机制

1. 在详细设计之中,分析发现共同的行为的抽象和共同的机制来实现

2. 通用服务组件的设计

内容四:软件通用机制的设计与实现

1. 系统的配置管理机制的设计与实现

2. 系统的 Cache 缓存机制的设计与实现

3. 异步消息和通知机制的设计与实现

4. 认证授权以及安全/加解密的机制设计与实现

5. 事务管理机制的设计与实现

6. 异常的机制设计与实现

7. 定时触发的机制设计与实现

8. 后台批处理机制设计与实现

9. 日志和监控机制设计与实现

10. 状态管理机制设计与实现

11. 校验机制设计与实现

12. 通信机制设计与实现

内容五:某金融项目案例的详细设计分析

1. 项目背景

2. 项目的详细设计

3. 分析通用机制的设计与实现

第四天

内容一:软件的质量属性对详细设计的影响

1. 什么是系统质量属性,如何进行定义质量属性

2. 详细设计需要考虑的质量属性

3. 可维护性、可扩展性、可靠性、互操作性,系统性能,安全性定义和如何测试,是否实现

了这些

4. 软件的可靠性设计策略

5. 软件的可修改性设计策略

6. 软件的性能设计策略

7. 软件的安全性设计策略

8. 软件的易用性设计策略

9. 系统质量属性和设计原则和模式的关系

10. 结合多个案例进行分析,通过那些手段来实现这些质量属性

内容二:案例某大型电子商务系统

1. 结合本案例进行分析,在详细设计时如何考虑,定义,以及采取那些设计

2. 策略实现质量属性.

内容三:业务实体模型设计和数据库建模

1. 范式原则应用到业务实体设计

2. 业务实体模型设计策略

3. 业务实体关联关系设计

4. 业务实体继承关系设计

5. 分析模式的应用

6. 数据库建模以及 PowerDesign 使用

7. 结合电信案例: 分析 BOSS 系统电信计费模型的设计策略


内容四 :系统界面设计

1. 用户界面设计规范

2. 制定 UI 或 UE 设计规范

3. B/S 与 C/S 统一设计策略

4. 手机应用访问界面的设计和多渠道的应用

5. Portal 系统的界面设计(结合多个大型电力行业应用进行分析)

6. 结合电信案例: 分析增值服务平台的界面设计

内容五:部署模型设计

1. 部署模型设计和部署方式

2. 运行环境的容量估算策略

3. 通信的部署考虑策略

4. 数据库的分布策略

5. 应用中间件的集群策略

6. 结合案例进行分析,系统的部署设计

内容六:详细设计的文档

1. 设计文档撰写

2. 设计文档的评审与基线

3. 设计文档的版本管理

4. 设计文档的变更控制略

5. 详细设计转化为代码

6.  结合案例进行分析详细设计文档的编写