软件详细设计、建模与编档培训
软件详细设计、建模与编档 培训
培训目标:
加强学员的程序设计开发思想
理解软件设计的基本原理
了解各种设计方法及其基本应用
理解模式的本质含义,以及模式的 “蓝图”
学习设计的基本原则,面向对象设计原则
学习系统化设计的范围和方法
能够在以后的实际工作中,自己构造出有效的设计
学习应用设计的关键问题:扩展,复用,性能,可靠,可测试性
学习运用对现有代码进行逆向,设计进行重构
培训内容:
分析设计问题的引入一个案例中的设计问题
思考
为什么设计
设计什么
如何描述设计-采用UML建模
展望后续的路线图
软件组成原理软件架构的基本结构
层次框架
功能子系统
模块划分
集成单元
不同设计粒度的贯穿思考:从程序到架构
通用设计原则
需求分析基于用例的捕获功能需求
识别Actor和用例
正确书写用例文档
识别用例的关系
确定非功能需求:
性能
可靠性
可维护性
可扩展性
案例实践:利用UML图对需求进行建模
领域分析 什么是领域类
如何识别领域类
领域类在软件中处于什么层次,
领域类的粒度如何把握
建立领域类,属性,关系
软件设计策略可扩展性设计策略
可靠性设计策略
性能设计策略
可维护性设计策略
易用性设计策略
通过案例,思考设计策略如何应用
设计原则在设计中的应用单一职责原则
开放封闭原则
依赖倒置原则
接口分离原则
里氏替换原则
如何进行职责划分?如何识别变化?
并防止过度设计
子系统与模块设计软件系统边界和外部系统接口的定义
划分子系统原则
子系统功能模块的分解
子系统间的通信接口的设计
如何应对系统内部紧耦合、高内聚
案例实践:子系统与模块设计
层次设计典型的层次模式
各个层次划分方法的适应性
层次之间的依赖关系
案例实践:层次设计
类设计与建模识别类,
确定类的属性和方法
设计类之间的泛化
设计类之间的关联(聚合、组合、连接)
类设计的常见问题于解决方法
类的职责划分与对象交互设计
案例实践:类设计与建模
程序处理流程设计处理流程的组成
采用活动图建模流程
理解处理过程的组成:活动、状态、转移
案例实践:处理流程设计与建模
状态分析、设计与建模理解状态图组成:活动、状态、决策点、同步
针对需求识别状态
为状态建模
把状态转化为设计
案例:状态分析、设计与建模
详细设计转化为代码详细设计转化代码结构
详细设计与代码的同步方式
结构设计与代码关系
交互设计与代码关系
设计评审与归档设计文档撰写
设计文档的评审与基线
设计文档的版本管理
设计文档的变更控制
分析代码,对详细设计进行重构,优化设计分析并初步重构一个案例
重构准备
理解重构原则
学习重构名录
构筑测试体系
选择重构工具
分析代码
把握优秀程序结构的风格
把握如何观察代码
发现代码的坏味道
重构设计和代码
重新组织函数与属性
重新组织对象关系
简化表达式
组织继承体系
让重构成为习惯
案例:基于现有系统进行代码重构实战