中国软件行业协会
雅各布森软件(北京)有限公司 |
共同主办 |
|
首届中国重点软件企业软件架构培训 |
| |
附件三:
《软件架构》培训课程介绍 |
|
|
下面就"软件架构"课程做一个简单介绍。
1.课程目的
使学员了解:
* 什么是架构和如何得到一个好的架构
* 如何分析和设计不同的用例--用例涉及到功能需求、非功能需求、平台特定部分等
* 如何系统地测试系统
* 如何描述架构和评估它的优劣
* 如何有效地构建系统的其他部分
2.对学员的要求:
* 有软件研发的经验
* 经历过一些项目
* 有诸如C#, C++, VB, Java,等编程语言的知识
* 具有J2EE, .Net等知识
3.架构师的工作内容和要求
* 架构师对全局了然于胸
* 必要的话,架构师可以深入到关键细节
* 架构师能够抽象思考
* 架构师可以快速将经验从一个领域转移到另一个领域
* 架构师能够平衡研发者、项目主等项目干系人的关注点
* 架构师非常清楚团队的能力
* 架构师可以为项目经理提供建议
* 架构师确定研发的优先级
* 架构师做上面提到的所有这些,但却不涉及诸如人员招聘,分配资源等所谓管理性质的工作。
4.课程内容
课程主要分为以下十讲:
4.1 了解模型
课程目的:
* 快速复习UML使每个人了解建模概念
* 理解什么是模型和视图
* 理解普通UML关系的语义;
* 理解什么是包,类及板型
* 理解抽象和封装的概念
课程内容:
* 类、对象、接口
* 类的协作
* 包、组件、子系统
* 配置
* 应用模型
4.2 构架软件系统的原理
课程目的:
理解:
* 架构是什么
* 如何产生一个好的架构
* 架构如何驱动项目的每一个阶段
* 什么是架构基线(骨架系统)及建立架构基线的基本步骤。
课程内容:
* 什么是架构?
* 如何得到一个好的架构
* 如何建立架构基线
4.3 基于用例的模型驱动开发
课程目的:
理解:
* 用例如何驱动系统开发?
* 分析和设计的目的及两者之间的区别
* 用例如何帮助生成有效的架构
课程内容:
* 用例驱动开发
* 用例模型
* 分析模型
* 设计模型
4.4 分析和设计功能需求
课程目的:
理解:
* 如何通过用例模型分析和设计功能需求
* 如何将特定用例与领域分离
* 如何应用分层和打包
* 如何应用设计模式:适配器、转移对象
课程内容:
* 关联的应用用例
* 分析应用用例
* 设计应用用例
4.5 分析和设计平台特定部分
课程目的:
理解:
* 如何分离平台特定部分
* 如何应用分层和打包
* 理解设计模式,诸如:Front Controller, Business Delegate, Service Locator, Data Access Object, Data Access Object Factory, Session Fa?ade
课程内容:
* 剥离平台特定部分
* 将用户界面组合到边界类
* 将分布组合到控制类
* 将存储组合到实体类
4.6 如何得到一个可测试的架构
课程目的:
理解:
* 何为“测试优先设计”
* 何为“可测试性设计”
* 如何通过模拟对象来帮助测试
课程内容:
* 可测试性设计
* 测试设计
4.7 分析和设计功能扩展
课程目的:
理解:
* 理解如何通过扩展用例来分析和设计功能扩展
* 理解如何通过设计模式来获得可扩展性
* 理解如何应用设计原则:授权(Delegation)
课程内容:
* 了解扩展
* 分析扩展用例
* 设计应用扩展
4.8 分析和设计非功能需求
课程目的:
理解:
* 如何通过扩展用例分析和设计非功能需求
* 理解如何通过设计模式来获得可扩展性
* 如何应用设计模式:Filters, Strategy, Visitor
课程内容:
* 基础作为扩展
* 分析基础用例
* 设计基础用例
4.9 描述和评估架构
课程目的:
理解:
* 如何描述架构
* 如何评估架构
课程内容:
* 架构描述
* 用例模型的架构视图
* 设计模型的架构视图
* 设计模型的架构视图
* 评估架构
4.10 设计原则和设计模式
结束语:
IVAR JACOBSON INTERNATIONAL多年来致力于软件研发和管理方法的研究和知识的传播,拥有众多丰富的培训课程:
* 软件架构
* 迭代开发
* 开发管理
* 用例建模
等等。
|