软件架构和设计培训
课程长度:
2 天/12 小时
认证描述:
课程概述:软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件体系结构是构建计算机软件实践的基础。
授课对象:
1、企业信息化部门负责人;软件开发部门负责人、技术骨干、软件设计全过程的项目经理;
2、软件开发企业的需求分析师、系统架构师、需求分析资深开发人员。
课程内容:
第一章:
一、以构架为中心的开发过程——UP 统一软件过程
◆全面说明 UP 统一软件过程的内容,包括角色,工件,和活动(业务、需求等九大科目)
◆讲解软件开发所经历的从业务建模(领域建模)、到需求建模(用例建模)、进而到架构建模、 行为(应用)建模、数据建模,最后到测试建模的整个过程
◆阐述迭代模型,详细讲解 RUP 的先启阶段和精化阶段的迭代内容
二、软件构架导论
◆阐述软件构架是什么,讲解为什么需要软件构架,阐述构架基线的概念
◆介绍迭代开发各个阶段需要解决的各类关键风险,并分析构架基线是如何规避项目开发风险的
◆回顾 RUP 的分析设计过程,说明构架分析、设计在其中的关键位置
◆介绍构架设计的相关理论(元模型体系),以及业界主流的构架体系模型
三、构架风格与模式
◆阐述构架风格的概念,介绍常见的相关构架风格
◆讲解构架模式和框架,以及如何应用构架模式与框架来创建健壮的构架
◆重点讲述层次模式,深入探讨应用层次模式来帮助开发系统初始的构架层
四、软件构架分析
- 分析关键的抽象概念在构架分析中的核心作用;介绍如何使用分析模式、GRASP 模式来精化实体模型
◆讲解如何开发系统的界面导航图来框定系统的主体功能行为
◆阐述构架机制的概念,深入说明分析机制,讲解如何使用分析机制来修饰分析类之设计约束
◆介绍最新的代码注释技术,讲解如何使用 ejb3.0 的 annotation 来修饰设计约束(分析机制特征),并利用已有框架直接进入实现
第二章:
五、软件构架(逻辑)设计
◆阐述软件构架设计所面临的挑战,说明构架设计的质量目标:可维护性、可扩展性、可重用性、互操作性等;讲解构架设计相关的一些原则
◆选择构架级技术方案的指南,讲解如何针对系统特征来确定构架级技术方案
◆介绍 SEI-ATAM 构架折衷分析方法;并讲解构架设计如何反作用于系统行为
◆阐述设计模型的组织结构,说明如何进行构架级的分包,以及划分子系统、定义接口等AOP 面向方面的软件开发技术;讲解如何使用 AOP 来实现最为灵活的设计机制
六、面向对象设计原则与模式
◆讲解面向对象设计中的最重要的原则,包括类的设计原则和包的设计原则
-
-
- 结合实例阐述在实际设计,特别是构架设计中,应用设计原则的方法、途径; 说明如何平台相关的细节和应用的分离, 如何应用封装, 抽象(abstraction)的原则等
-
◆阐述软件构造中的冗余,说明在构架设计中如何识别和利用复用机会;
七、J2EE/Java Lite 与 dot.Net 构架框架、以及基于服务的构架 SOA
◆系统地阐述业务密集型软件系统的主流分层构架设计途径:从表示层设计、应用控制逻辑设计、到业务逻辑层的工作流设计、以及业务服务构件设计, 最终到数据访问层设计介绍当前业务软件主流构架应用框架以及中间件体系
◆J2EE 重量级方案(以 J2EE 核心构架模式为主)
- ◆Java Lite 轻量级方案(围绕 Struts+Spring+Hibernate)
◆阐述 SOA 构架设计方案,说明 SOA 是一种独立性强、依赖性弱,具有更优可复用性的基于构件 CBD 的构架开发方案;介绍实现 SOA 的常用技术:Web
Services;介绍,基于 SOA 的 JBoss 构架实例
第三章:
八、软件构架(物理)设计
- ◆阐述源码的并行开发管理,进而讲解构件视图(实施模型)的概念
- ◆阐述软件系统中的并发需求,进而讲解进程视图的概念(即通常说的物理设计视图)
九、软件构架(数据)设计与对象持久化
- ◆讲解对业务密集系统意义重大的数据库设计与数据建模
- ◆阐述对象持久化的概念,描述持久化机制,包括对应的分析、设计和实施等机制
- ◆阐述Object-Relationship Mapping 对象关系映射的概念,结合实例说明实现对象关
十、软件构架文档与构架质量评估
- ◆进一步深入阐述4+1 视图的概念,讲解RUP 的软件构架文档
- ◆说明软件构架文档的内容,并给出编写软件构架文档,和用它来指导目标系统开发指南
十一、项目开发目录结构与配置管理
◆讲解如何定义项目开发目录结构,以支持团队的协作开发
◆讲解如何使用配置管理工具来支持项目开发目录结构的共享使用