软件设计人员,包括采用面向对象技术的开发与设计人员,采用结构化技术的开发与设计人员。
| 课程编号 | 开课日期 | 地点 | 培训天数 | 选择报名 |
软件设计人员,包括采用面向对象技术的开发与设计人员,采用结构化技术的开发与设计人员。
时间地点:2013年7月13-14日深圳
课程费用:5000元/人,详见 公开课学习手册
培训对象:软件设计人员,包括采用面向对象技术的开发与设计人员,采用结构化技术的开发与设计人员。
学员基础:具有一定的开发经验的软件编程人员
课程背景:
本课程面向软件设计人员,从设计的基本原理,到设计的高级应用技巧,系统讲解设计的理论与实践经验,课程将从基本的程序结构开始,讲解如何构建面向问题的设计结构,同时,您也将关注行为设计,您将学习如何基于行为分析方法进行程序的行为设计,在这里,您将学习到经过实践应用总结的、“独创的”更为微观的模式,您将具备深层次的能力,而不是“copy and paste”。
本课程由资深技术专家主讲,“加速学习曲线,领会书本不容易学习到的经验”。
培训目标:
加强学员的程序设计开发思想
理解软件设计的基本原理
了解各种设计方法及其基本应用
理解模式的本质含义,以及模式的 “蓝图”
学习设计的基本原则,面向对象设计原则
学习系统化设计的范围和方法
能够在以后的实际工作中,自己构造出有效的设计
学习应用设计的关键问题:扩展,复用,性能,可靠,可测试性
学习运用对现有代码进行逆向,设计进行重构
授课方式: 小班授课 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容: 2天
课程大纲:
分析设计问题的引入 一个案例中的设计问题
思考
为什么设计
设计什么
如何描述设计-采用UML建模
展望后续的路线图
软件组成原理 软件架构的基本结构
层次框架
功能子系统
模块划分
集成单元
不同设计粒度的贯穿思考:从程序到架构
通用设计原则
需求分析 基于用例的捕获功能需求
识别Actor和用例
正确书写用例文档
识别用例的关系
确定非功能需求:
性能
可靠性
可维护性
可扩展性
案例实践:利用UML图对需求进行建模
领域分析 什么是领域类
如何识别领域类
领域类在软件中处于什么层次,
领域类的粒度如何把握
建立领域类,属性,关系
软件设计策略 可扩展性设计策略
可靠性设计策略
性能设计策略
可维护性设计策略
易用性设计策略
通过案例,思考设计策略如何应用
设计原则在设计中的应用 单一职责原则
开放封闭原则
依赖倒置原则
接口分离原则
里氏替换原则
如何进行职责划分?如何识别变化?
并防止过度设计
子系统与模块设计 软件系统边界和外部系统接口的定义
划分子系统原则
子系统功能模块的分解
子系统间的通信接口的设计
如何应对系统内部紧耦合、高内聚
案例实践:子系统与模块设计
层次设计 典型的层次模式
各个层次划分方法的适应性
层次之间的依赖关系
案例实践:层次设计
类设计与建模 识别类,
确定类的属性和方法
设计类之间的泛化
设计类之间的关联(聚合、组合、连接)
类设计的常见问题于解决方法
类的职责划分与对象交互设计
案例实践:类设计与建模
程序处理流程设计 处理流程的组成
采用活动图建模流程
理解处理过程的组成:活动、状态、转移
案例实践:处理流程设计与建模
状态分析、设计与建模 理解状态图组成:活动、状态、决策点、同步
针对需求识别状态
为状态建模
把状态转化为设计
案例:状态分析、设计与建模
详细设计转化为代码 详细设计转化代码结构
详细设计与代码的同步方式
结构设计与代码关系
交互设计与代码关系
设计评审与归档 设计文档撰写
设计文档的评审与基线
设计文档的版本管理
设计文档的变更控制
分析代码,对详细设计进行重构,优化设计 分析并初步重构一个案例
重构准备
理解重构原则
学习重构名录
构筑测试体系
选择重构工具
分析代码
把握优秀程序结构的风格
把握如何观察代码
发现代码的坏味道
重构设计和代码
重新组织函数与属性
重新组织对象关系
简化表达式
组织继承体系
让重构成为习惯
案例:基于现有系统进行代码重构实战
课程特点:
1、理论与实践相结合,解决你的实际问题。
2、真实案例的剖析,深入浅出的讲解,使你能学以致用。